summaryrefslogtreecommitdiff
path: root/localrepo/racket-mode-1.0.20240319.160226.tar
blob: 77413768a066867c376ff1ae3aa256505e7093cc (plain)
ofshex dumpascii
0000 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 36 34 36 00 20 35 00 00 00 0000000.00000000000.013646..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
0220 72 61 63 6b 65 74 2d 65 6c 64 6f 63 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-eldoc.el.................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 30 33 31 34 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 35 33 30 00 20 30 00 00 00 0003145.00000000000.016530..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 3b 3b 3b 20 72 61 63 6b 65 74 2d 65 6c 64 6f 63 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d ;;;.racket-eldoc.el.-*-.lexical-
0420 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 binding:.t.-*-..;;.Copyright.(c)
0440 20 32 30 31 33 2d 32 30 32 30 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a .2013-2020.by.Greg.Hendershott..
0460 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d 31 ;;.Portions.Copyright.(C).1985-1
0480 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 986,.1999-2013.Free.Software.Fou
04a0 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 ndation,.Inc...;;.Author:.Greg.H
04c0 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 endershott.;;.URL:.https://githu
04e0 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 b.com/greghendershott/racket-mod
0500 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 e..;;.SPDX-License-Identifier:.G
0520 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 PL-3.0-or-later..(require.'racke
0540 74 2d 63 6d 64 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 t-cmd).(require.'racket-back-end
0560 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 6f 2d 65 6c 64 6f 63 20 28 68 6f 77 20 )..(defun.racket--do-eldoc.(how.
0580 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 28 61 6e 64 20 28 72 61 63 6b 65 74 2d repl-session-id)...(and.(racket-
05a0 2d 63 6d 64 2d 6f 70 65 6e 2d 70 29 0a 20 20 20 20 20 20 20 28 3e 20 28 70 6f 69 6e 74 29 20 28 -cmd-open-p)........(>.(point).(
05c0 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 point-min))........(save-excursi
05e0 6f 6e 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 on..........(condition-case._...
0600 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 63 68 61 72 2d 62 65 66 6f 72 65 20 61 6e ...........;;.The.char-before.an
0620 64 20 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 70 20 63 68 65 63 6b 73 20 62 65 6c 6f 77 20 61 72 65 20 d.looking-at-p.checks.below.are.
0640 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 6b 69 70 20 77 68 65 6e 20 74 68 65 to..............;;.skip.when.the
0660 20 73 65 78 70 20 69 73 20 71 75 6f 74 65 64 20 6f 72 20 77 68 65 6e 20 69 74 73 20 66 69 72 73 .sexp.is.quoted.or.when.its.firs
0680 74 20 65 6c 65 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 6f 75 6c 64 6e 27 74 20 t.elem..............;;.couldn't.
06a0 62 65 20 61 20 52 61 63 6b 65 74 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 2e 0a 20 20 20 20 20 be.a.Racket.function.name.......
06c0 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 62 65 67 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 ........(let*.((beg.(progn......
06e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d ......................(backward-
0700 75 70 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 up-list)........................
0720 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 28 6d 65 6d 71 20 28 63 68 61 72 2d 62 65 66 6f 72 65 ....(and.(not.(memq.(char-before
0740 29 20 27 28 3f 60 20 3f 27 20 3f 2c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).'(?`.?'.?,))).................
0760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 28 66 6f 72 77 61 72 64 2d ................(progn.(forward-
0780 63 68 61 72 20 31 29 20 28 70 6f 69 6e 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 char.1).(point))))).............
07a0 20 20 20 20 20 20 20 20 28 62 65 67 20 28 61 6e 64 20 62 65 67 20 28 6c 6f 6f 6b 69 6e 67 2d 61 ........(beg.(and.beg.(looking-a
07c0 74 2d 70 20 22 5b 5e 30 2d 39 23 27 60 2c 5c 22 5d 22 29 20 62 65 67 29 29 0a 20 20 20 20 20 20 t-p."[^0-9#'`,\"]").beg)).......
07e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 61 6e 64 20 62 65 67 20 28 70 72 6f ..............(end.(and.beg.(pro
0800 67 6e 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 29 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 gn.(forward-sexp).(point))))....
0820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 61 6e 64 20 65 6e 64 0a 20 .................(end.(and.end..
0840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 .............................(ch
0860 61 72 2d 61 66 74 65 72 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ar-after.(point))...............
0880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 3f 5c 73 20 28 63 68 61 72 2d 73 79 ................(eq.?\s.(char-sy
08a0 6e 74 61 78 20 28 63 68 61 72 2d 61 66 74 65 72 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 ntax.(char-after.(point)))).....
08c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 29 29 0a ..........................end)).
08e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 20 28 61 6e 64 20 62 65 ....................(sym.(and.be
0900 67 20 65 6e 64 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 g.end.(buffer-substring-no-prope
0920 72 74 69 65 73 20 62 65 67 20 65 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rties.beg.end)))................
0940 20 20 20 20 20 28 68 6f 77 20 28 72 61 63 6b 65 74 2d 68 6f 77 2d 66 72 6f 6e 74 2d 74 6f 2d 62 .....(how.(racket-how-front-to-b
0960 61 63 6b 20 68 6f 77 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 ack.how)).....................(s
0980 74 72 20 28 61 6e 64 20 73 79 6d 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 77 61 69 74 20 72 tr.(and.sym.(racket--cmd/await.r
09a0 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 epl-session-id..................
09c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
09e0 20 20 20 20 60 28 74 79 70 65 20 2c 68 6f 77 20 2c 73 79 6d 29 29 29 29 29 0a 20 20 20 20 20 20 ....`(type.,how.,sym))))).......
0a00 20 20 20 20 20 20 20 20 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 63 61 6e 2d 65 .........str)............(scan-e
0a20 72 72 6f 72 20 6e 69 6c 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d rror.nil)))))..(provide.'racket-
0a40 65 6c 64 6f 63 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 65 6c 64 6f 63 2e 65 6c 20 65 6e 64 73 20 eldoc)..;;.racket-eldoc.el.ends.
0a60 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 here............................
0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
0c20 52 45 41 44 4d 45 2e 6f 72 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 README.org......................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0c80 30 30 30 32 33 34 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 33 32 32 00 20 30 00 00 00 0002347.00000000000.015322..0...
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 2a 20 52 61 63 6b 65 74 20 6d 6f 64 65 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 73 0a 0a 5b 5b 68 *.Racket.mode.for.GNU.Emacs..[[h
0e20 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 ttps://github.com/greghendershot
0e40 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2f 61 63 74 69 6f 6e 73 5d 5b 68 74 74 70 73 3a 2f 2f 67 t/racket-mode/actions][https://g
0e60 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 ithub.com/greghendershott/racket
0e80 2d 6d 6f 64 65 2f 77 6f 72 6b 66 6c 6f 77 73 2f 43 49 2f 62 61 64 67 65 2e 73 76 67 5d 5d 0a 5b -mode/workflows/CI/badge.svg]].[
0ea0 5b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 [https://melpa.org/#/racket-mode
0ec0 5d 5b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 72 61 63 ][https://melpa.org/packages/rac
0ee0 6b 65 74 2d 6d 6f 64 65 2d 62 61 64 67 65 2e 73 76 67 5d 5d 0a 5b 5b 68 74 74 70 73 3a 2f 2f 65 ket-mode-badge.svg]].[[https://e
0f00 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6e 6f 6e 67 6e 75 2f 72 61 63 6b 65 74 2d 6d 6f 64 lpa.nongnu.org/nongnu/racket-mod
0f20 65 2e 68 74 6d 6c 5d 5b 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f e.html][https://elpa.nongnu.org/
0f40 6e 6f 6e 67 6e 75 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 73 76 67 5d 5d 0a 5b 5b 68 74 74 70 73 nongnu/racket-mode.svg]].[[https
0f60 3a 2f 2f 77 77 77 2e 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 63 6f 6d 2f 5d 5b 68 74 74 70 73 3a 2f ://www.racket-mode.com/][https:/
0f80 2f 69 6d 67 2e 73 68 69 65 6c 64 73 2e 69 6f 2f 62 61 64 67 65 2f 44 6f 63 73 2d 44 6f 63 75 6d /img.shields.io/badge/Docs-Docum
0fa0 65 6e 74 61 74 69 6f 6e 2d 62 6c 75 65 2e 73 76 67 5d 5d 0a 0a 41 20 76 61 72 69 65 74 79 20 6f entation-blue.svg]]..A.variety.o
0fc0 66 20 45 6d 61 63 73 20 6d 61 6a 6f 72 20 61 6e 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 73 20 66 6f f.Emacs.major.and.minor.modes.fo
0fe0 72 20 5b 5b 68 74 74 70 73 3a 2f 2f 77 77 77 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f r.[[https://www.racket-lang.org/
1000 5d 5b 52 61 63 6b 65 74 5d 5d 3a 20 65 64 69 74 2c 20 52 45 50 4c 2c 0a 63 68 65 63 6b 2d 73 79 ][Racket]]:.edit,.REPL,.check-sy
1020 6e 74 61 78 2c 20 64 65 62 75 67 2c 20 70 72 6f 66 69 6c 65 2c 20 6c 6f 67 67 69 6e 67 2c 20 61 ntax,.debug,.profile,.logging,.a
1040 6e 64 20 6d 6f 72 65 2e 20 54 68 65 20 65 64 69 74 2f 72 75 6e 0a 65 78 70 65 72 69 65 6e 63 65 nd.more..The.edit/run.experience
1060 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 5b 5b 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 .is.similar.to.[[https://docs.ra
1080 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 64 72 72 61 63 6b 65 74 2f 5d 5b 44 72 52 61 63 6b 65 cket-lang.org/drracket/][DrRacke
10a0 74 5d 5d 2e 0a 0a 43 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 2a 45 6d 61 63 73 20 32 35 2e t]]...Compatible.with.*Emacs.25.
10c0 31 2b 2a 20 61 6e 64 20 2a 52 61 63 6b 65 74 20 36 2e 31 32 2b 2a 2e 0a 0a 2a 2a 20 44 6f 63 75 1+*.and.*Racket.6.12+*...**.Docu
10e0 6d 65 6e 74 61 74 69 6f 6e 0a 0a 53 65 65 20 74 68 65 20 5b 5b 68 74 74 70 73 3a 2f 2f 77 77 77 mentation..See.the.[[https://www
1100 2e 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 63 6f 6d 2f 5d 5b 47 75 69 64 65 20 61 6e 64 20 52 65 66 .racket-mode.com/][Guide.and.Ref
1120 65 72 65 6e 63 65 5d 5d 2e 0a 0a 2a 2a 20 43 6f 6e 74 72 69 62 75 74 69 6e 67 0a 0a 50 75 6c 6c erence]]...**.Contributing..Pull
1140 20 72 65 71 75 65 73 74 73 20 61 72 65 20 77 65 6c 63 6f 6d 65 3b 20 70 6c 65 61 73 65 20 73 65 .requests.are.welcome;.please.se
1160 65 20 5b 5b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 e.[[https://github.com/greghende
1180 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f 43 rshott/racket-mode/blob/master/C
11a0 4f 4e 54 52 49 42 55 54 49 4e 47 2e 6f 72 67 5d 5b 43 4f 4e 54 52 49 42 55 54 49 4e 47 2e 6f 72 ONTRIBUTING.org][CONTRIBUTING.or
11c0 67 5d 5d 2e 0a 0a 2a 2a 20 41 63 6b 6e 6f 77 6c 65 64 67 6d 65 6e 74 73 0a 0a 5b 5b 68 74 74 70 g]]...**.Acknowledgments..[[http
11e0 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 s://github.com/greghendershott/r
1200 61 63 6b 65 74 2d 6d 6f 64 65 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f 54 48 41 4e 4b 53 2e 6f 72 acket-mode/blob/master/THANKS.or
1220 67 5d 5b 54 48 41 4e 4b 53 2e 6f 72 67 5d 5d 2e 0a 0a 2a 2a 20 41 6c 74 65 72 6e 61 74 69 76 65 g][THANKS.org]]...**.Alternative
1240 73 0a 0a 2d 20 45 6d 61 63 73 27 20 62 75 69 6c 74 2d 69 6e 20 60 73 63 68 65 6d 65 2d 6d 6f 64 s..-.Emacs'.built-in.`scheme-mod
1260 65 60 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 70 6c 75 73 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 e`.major.mode.plus.the.minor.mod
1280 65 73 20 20 5b 5b 68 74 74 70 73 3a 2f 2f 77 77 77 2e 6e 65 69 6c 76 61 6e 64 79 6b 65 2e 6f 72 es..[[https://www.neilvandyke.or
12a0 67 2f 71 75 61 63 6b 2f 5d 5b 51 75 61 63 6b 5d 5d 0a 20 20 61 6e 64 2f 6f 72 20 5b 5b 68 74 74 g/quack/][Quack]]...and/or.[[htt
12c0 70 73 3a 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 67 65 69 73 65 72 2f 5d 5b 47 65 69 ps://www.nongnu.org/geiser/][Gei
12e0 73 65 72 5d 5d 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ser]]...........................
1300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1400 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
1420 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-stepper.el...............
1440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1480 30 30 32 31 34 37 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 31 33 34 00 20 30 00 00 00 0021477.00000000000.017134..0...
14a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1600 3b 3b 3b 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 ;;;.racket-stepper.el.-*-.lexica
1620 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 l-binding:.t;.-*-..;;.Copyright.
1640 28 63 29 20 32 30 31 38 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 (c).2018-2022.by.Greg.Hendershot
1660 74 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 t..;;.Portions.Copyright.(C).198
1680 35 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 5-1986,.1999-2013.Free.Software.
16a0 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 Foundation,.Inc...;;.Author:.Gre
16c0 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 g.Hendershott.;;.URL:.https://gi
16e0 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d thub.com/greghendershott/racket-
1700 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 mode..;;.SPDX-License-Identifier
1720 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 65 61 :.GPL-3.0-or-later..(require.'ea
1740 73 79 6d 65 6e 75 29 0a 28 72 65 71 75 69 72 65 20 27 72 78 29 0a 28 72 65 71 75 69 72 65 20 27 symenu).(require.'rx).(require.'
1760 72 61 63 6b 65 74 2d 63 6d 64 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 75 73 racket-cmd).(require.'racket-cus
1780 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 28 72 65 71 tom).(require.'racket-repl).(req
17a0 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 uire.'racket-util).(require.'rac
17c0 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 0a 0a 3b 3b 20 4e 65 65 64 20 74 6f 20 64 65 66 69 6e 65 ket-back-end)..;;.Need.to.define
17e0 20 74 68 69 73 20 62 65 66 6f 72 65 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 .this.before.racket-stepper-mode
1800 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 2d 6d 61 70 .(defvar.racket-stepper-mode-map
1820 0a 20 20 28 72 61 63 6b 65 74 2d 2d 65 61 73 79 2d 6b 65 79 6d 61 70 2d 64 65 66 69 6e 65 0a 20 ...(racket--easy-keymap-define..
1840 20 20 60 28 28 28 22 43 2d 6d 22 29 20 20 20 2c 23 27 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 ..`((("C-m")...,#'racket-stepper
1860 2d 73 74 65 70 29 0a 20 20 20 20 20 28 28 22 6e 22 20 22 6a 22 29 20 2c 23 27 72 61 63 6b 65 74 -step)......(("n"."j").,#'racket
1880 2d 73 74 65 70 70 65 72 2d 6e 65 78 74 2d 69 74 65 6d 29 0a 20 20 20 20 20 28 28 22 70 22 20 22 -stepper-next-item)......(("p"."
18a0 6b 22 29 20 2c 23 27 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 70 72 65 76 69 6f 75 73 2d 69 k").,#'racket-stepper-previous-i
18c0 74 65 6d 29 0a 20 20 20 20 20 28 22 67 22 20 20 20 20 20 20 20 2c 23 27 72 61 63 6b 65 74 2d 73 tem)......("g".......,#'racket-s
18e0 74 65 70 70 65 72 2d 72 65 66 72 65 73 68 29 29 29 29 0a 0a 28 65 61 73 79 2d 6d 65 6e 75 2d 64 tepper-refresh))))..(easy-menu-d
1900 65 66 69 6e 65 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 2d 6d 65 6e 75 20 72 efine.racket-stepper-mode-menu.r
1920 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 22 4d 65 6e 75 20 66 acket-stepper-mode-map..."Menu.f
1940 6f 72 20 52 61 63 6b 65 74 20 73 74 65 70 70 65 72 20 6d 6f 64 65 2e 22 0a 20 20 60 28 22 52 61 or.Racket.stepper.mode."...`("Ra
1960 63 6b 65 74 22 0a 20 20 20 20 5b 22 53 74 65 70 22 20 20 20 20 20 2c 23 27 72 61 63 6b 65 74 2d cket".....["Step".....,#'racket-
1980 73 74 65 70 70 65 72 2d 73 74 65 70 5d 0a 20 20 20 20 5b 22 4e 65 78 74 22 20 20 20 20 20 2c 23 stepper-step].....["Next".....,#
19a0 27 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6e 65 78 74 2d 69 74 65 6d 5d 0a 20 20 20 20 5b 'racket-stepper-next-item].....[
19c0 22 50 72 65 76 69 6f 75 73 22 20 2c 23 27 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 70 72 65 "Previous".,#'racket-stepper-pre
19e0 76 69 6f 75 73 2d 69 74 65 6d 5d 0a 20 20 20 20 5b 22 52 65 66 72 65 73 68 22 20 20 2c 23 27 72 vious-item].....["Refresh"..,#'r
1a00 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 72 65 66 72 65 73 68 5d 29 29 0a 0a 28 64 65 66 63 6f acket-stepper-refresh]))..(defco
1a20 6e 73 74 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 nst.racket-stepper-font-lock-key
1a40 77 6f 72 64 73 0a 20 20 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 20 20 60 words...(eval-when-compile.....`
1a60 28 28 2c 28 72 78 20 62 6f 6c 20 22 21 20 22 20 28 7a 65 72 6f 2d 6f 72 2d 6d 6f 72 65 20 61 6e ((,(rx.bol."!.".(zero-or-more.an
1a80 79 29 20 65 6f 6c 29 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 77 61 72 6e 69 6e 67 2d 66 61 63 65 y).eol)...font-lock-warning-face
1aa0 29 0a 20 20 20 20 20 20 28 2c 28 72 78 20 62 6f 6c 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 28 ).......(,(rx.bol.alphanumeric.(
1ac0 7a 65 72 6f 2d 6f 72 2d 6d 6f 72 65 20 61 6e 79 29 20 65 6f 6c 29 20 2e 20 66 6f 6e 74 2d 6c 6f zero-or-more.any).eol)...font-lo
1ae0 63 6b 2d 66 75 6e 63 74 69 6f 6e 2d 6e 61 6d 65 2d 66 61 63 65 29 0a 20 20 20 20 20 20 28 2c 28 ck-function-name-face).......(,(
1b00 72 78 20 62 6f 6c 20 22 40 40 22 20 28 7a 65 72 6f 2d 6f 72 2d 6d 6f 72 65 20 61 6e 79 29 20 22 rx.bol."@@".(zero-or-more.any)."
1b20 40 40 22 20 65 6f 6c 29 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 @@".eol)...font-lock-comment-fac
1b40 65 29 0a 20 20 20 20 20 20 28 2c 28 72 78 20 62 6f 6c 20 22 2d 22 20 28 7a 65 72 6f 2d 6f 72 2d e).......(,(rx.bol."-".(zero-or-
1b60 6d 6f 72 65 20 61 6e 79 29 20 65 6f 6c 29 20 2e 20 27 64 69 66 66 2d 72 65 6d 6f 76 65 64 29 0a more.any).eol)...'diff-removed).
1b80 20 20 20 20 20 20 28 2c 28 72 78 20 62 6f 6c 20 22 2b 22 20 28 7a 65 72 6f 2d 6f 72 2d 6d 6f 72 ......(,(rx.bol."+".(zero-or-mor
1ba0 65 20 61 6e 79 29 20 65 6f 6c 29 20 2e 20 27 64 69 66 66 2d 61 64 64 65 64 29 29 29 29 0a 0a 28 e.any).eol)...'diff-added))))..(
1bc0 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 20 72 61 63 6b 65 74 2d 73 74 65 70 70 define-derived-mode.racket-stepp
1be0 65 72 2d 6d 6f 64 65 20 73 70 65 63 69 61 6c 2d 6d 6f 64 65 20 22 52 61 63 6b 65 74 2d 53 74 65 er-mode.special-mode."Racket-Ste
1c00 70 70 65 72 22 0a 20 20 22 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 52 61 63 6b 65 74 20 73 pper"..."Major.mode.for.Racket.s
1c20 74 65 70 70 65 72 20 6f 75 74 70 75 74 2e 0a 5c 5c 3c 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 tepper.output..\\<racket-stepper
1c40 2d 6d 6f 64 65 2d 6d 61 70 3e 0a 0a 55 73 65 64 20 62 79 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 -mode-map>..Used.by.the.commands
1c60 20 60 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 27 2c 0a 60 72 61 63 6b 65 74 2d 65 .`racket-expand-file',.`racket-e
1c80 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 27 2c 20 60 72 61 63 6b 65 74 2d 65 78 70 61 6e xpand-definition',.`racket-expan
1ca0 64 2d 72 65 67 69 6f 6e 27 2c 20 61 6e 64 0a 60 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 d-region',.and.`racket-expand-la
1cc0 73 74 2d 73 65 78 70 27 2e 0a 0a 5c 5c 7b 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 st-sexp'...\\{racket-stepper-mod
1ce0 65 2d 6d 61 70 7d 0a 22 0a 20 20 28 73 65 74 71 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 e-map}."...(setq.header-line-for
1d00 6d 61 74 0a 20 20 20 20 20 20 20 20 22 50 72 65 73 73 20 52 45 54 20 74 6f 20 73 74 65 70 2e 20 mat........."Press.RET.to.step..
1d20 43 2d 75 20 52 45 54 20 74 6f 20 73 74 65 70 20 61 6c 6c 2e 20 43 2d 68 20 6d 20 74 6f 20 73 65 C-u.RET.to.step.all..C-h.m.to.se
1d40 65 20 68 65 6c 70 2e 22 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 66 6f 6e 74 2d 6c 6f 63 e.help.")...(setq-local.font-loc
1d60 6b 2d 64 65 66 61 75 6c 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 72 k-defaults...............(list.r
1d80 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 acket-stepper-font-lock-keywords
1da0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 29 29 20 20 20 20 20 20 20 .....................t))).......
1dc0 20 3b 6b 65 79 77 6f 72 64 73 20 6f 6e 6c 79 20 2d 2d 20 6e 6f 74 20 73 74 72 69 6e 67 73 2f 63 .;keywords.only.--.not.strings/c
1de0 6f 6d 6d 65 6e 74 73 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 74 65 70 70 65 72 2d omments..(defun.racket--stepper-
1e00 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 29 0a 20 20 28 66 6f 72 6d 61 74 20 22 2a 52 61 63 6b 65 buffer-name.()...(format."*Racke
1e20 74 20 53 74 65 70 70 65 72 20 3c 25 73 3e 2a 22 20 28 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e t.Stepper.<%s>*".(racket-back-en
1e40 64 2d 6e 61 6d 65 29 29 29 0a 0a 3b 3b 3b 20 63 6f 6d 6d 61 6e 64 73 0a 0a 28 64 65 66 75 6e 20 d-name)))..;;;.commands..(defun.
1e60 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 6f racket-expand-file.(&optional.no
1e80 2d 68 69 64 69 6e 67 29 0a 20 20 22 45 78 70 61 6e 64 20 74 68 65 20 60 72 61 63 6b 65 74 2d 6d -hiding)..."Expand.the.`racket-m
1ea0 6f 64 65 27 20 62 75 66 66 65 72 27 73 20 66 69 6c 65 20 69 6e 20 60 72 61 63 6b 65 74 2d 73 74 ode'.buffer's.file.in.`racket-st
1ec0 65 70 70 65 72 2d 6d 6f 64 65 27 2e 0a 0a 55 73 65 73 20 74 68 65 20 60 6d 61 63 72 6f 2d 64 65 epper-mode'...Uses.the.`macro-de
1ee0 62 75 67 67 65 72 60 20 70 61 63 6b 61 67 65 20 74 6f 20 64 6f 20 74 68 65 20 65 78 70 61 6e 73 bugger`.package.to.do.the.expans
1f00 69 6f 6e 2e 0a 0a 59 6f 75 20 64 6f 20 5f 6e 6f 74 5f 20 6e 65 65 64 20 74 6f 20 60 72 61 63 6b ion...You.do._not_.need.to.`rack
1f20 65 74 2d 72 75 6e 27 20 74 68 65 20 66 69 6c 65 20 66 69 72 73 74 3b 20 74 68 65 20 6e 61 6d 65 et-run'.the.file.first;.the.name
1f40 73 70 61 63 65 0a 61 63 74 69 76 65 20 69 6e 20 74 68 65 20 52 45 50 4c 20 69 73 20 6e 6f 74 20 space.active.in.the.REPL.is.not.
1f60 75 73 65 64 2e 0a 0a 49 66 20 74 68 65 20 66 69 6c 65 20 69 73 20 6e 6f 6e 2d 74 72 69 76 69 61 used...If.the.file.is.non-trivia
1f80 6c 20 61 6e 64 2f 6f 72 20 69 73 20 6e 6f 74 20 63 6f 6d 70 69 6c 65 64 20 74 6f 20 61 20 2e 7a l.and/or.is.not.compiled.to.a..z
1fa0 6f 0a 62 79 74 65 63 6f 64 65 20 66 69 6c 65 2c 20 74 68 65 6e 20 69 74 20 6d 69 67 68 74 20 74 o.bytecode.file,.then.it.might.t
1fc0 61 6b 65 20 6d 61 6e 79 20 73 65 63 6f 6e 64 73 20 62 65 66 6f 72 65 20 74 68 65 0a 6f 72 69 67 ake.many.seconds.before.the.orig
1fe0 69 6e 61 6c 20 66 6f 72 6d 20 69 73 20 64 69 73 70 6c 61 79 65 64 20 61 6e 64 20 79 6f 75 20 63 inal.form.is.displayed.and.you.c
2000 61 6e 20 73 74 61 72 74 20 73 74 65 70 70 69 6e 67 2e 0a 0a 57 69 74 68 20 5c 5c 5b 75 6e 69 76 an.start.stepping...With.\\[univ
2020 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 62 65 68 61 76 65 73 20 61 73 20 69 66 20 60 72 ersal-argument].behaves.as.if.`r
2040 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 27 0a 77 65 72 65 20 5c 5c 3d 27 64 69 acket-expand-hiding'.were.\\='di
2060 73 61 62 6c 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 sabled."...(interactive."P")...(
2080 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 65 64 69 74 2d 6d 6f 64 65 29 0a 20 20 28 72 61 63 racket--assert-edit-mode)...(rac
20a0 6b 65 74 2d 2d 73 61 76 65 2d 69 66 2d 63 68 61 6e 67 65 64 29 0a 20 20 28 72 61 63 6b 65 74 2d ket--save-if-changed)...(racket-
20c0 73 74 65 70 70 65 72 2d 2d 73 74 61 72 74 20 6e 69 6c 20 6e 6f 2d 68 69 64 69 6e 67 29 29 0a 0a stepper--start.nil.no-hiding))..
20e0 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 20 28 26 6f 70 (defun.racket-expand-region.(&op
2100 74 69 6f 6e 61 6c 20 6e 6f 2d 68 69 64 69 6e 67 29 0a 20 20 22 45 78 70 61 6e 64 20 74 68 65 20 tional.no-hiding)..."Expand.the.
2120 61 63 74 69 76 65 20 72 65 67 69 6f 6e 20 75 73 69 6e 67 20 60 72 61 63 6b 65 74 2d 73 74 65 70 active.region.using.`racket-step
2140 70 65 72 2d 6d 6f 64 65 27 2e 0a 0a 55 73 65 73 20 74 68 65 20 60 6d 61 63 72 6f 2d 64 65 62 75 per-mode'...Uses.the.`macro-debu
2160 67 67 65 72 60 20 70 61 63 6b 61 67 65 20 74 6f 20 64 6f 20 74 68 65 20 65 78 70 61 6e 73 69 6f gger`.package.to.do.the.expansio
2180 6e 2e 0a 0a 57 69 74 68 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 n...With.\\[universal-argument].
21a0 62 65 68 61 76 65 73 20 61 73 20 69 66 20 60 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 behaves.as.if.`racket-expand-hid
21c0 69 6e 67 27 0a 77 65 72 65 20 5c 5c 3d 27 64 69 73 61 62 6c 65 64 2e 22 0a 20 20 28 69 6e 74 65 ing'.were.\\='disabled."...(inte
21e0 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 72 65 67 69 6f 6e 2d 61 ractive."P")...(unless.(region-a
2200 63 74 69 76 65 2d 70 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 72 65 67 ctive-p).....(user-error."No.reg
2220 69 6f 6e 22 29 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 65 64 69 74 2d 6d 6f ion"))...(racket--assert-edit-mo
2240 64 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 2d 65 78 70 61 6e 64 2d 74 65 de)...(racket-stepper--expand-te
2260 78 74 20 6e 6f 2d 68 69 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xt.no-hiding....................
2280 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 ............(lambda.()..........
22a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 72 ........................(cons.(r
22c0 65 67 69 6f 6e 2d 62 65 67 69 6e 6e 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 egion-beginning)................
22e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 67 69 6f 6e 2d ........................(region-
2300 65 6e 64 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 end)))))..(defun.racket-expand-d
2320 65 66 69 6e 69 74 69 6f 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 6f 2d 68 69 64 69 6e 67 29 0a efinition.(&optional.no-hiding).
2340 20 20 22 45 78 70 61 6e 64 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 61 72 6f 75 6e 64 20 .."Expand.the.definition.around.
2360 70 6f 69 6e 74 20 75 73 69 6e 67 20 60 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 point.using.`racket-stepper-mode
2380 27 2e 0a 0a 55 73 65 73 20 74 68 65 20 60 6d 61 63 72 6f 2d 64 65 62 75 67 67 65 72 60 20 70 61 '...Uses.the.`macro-debugger`.pa
23a0 63 6b 61 67 65 20 74 6f 20 64 6f 20 74 68 65 20 65 78 70 61 6e 73 69 6f 6e 2e 0a 0a 57 69 74 68 ckage.to.do.the.expansion...With
23c0 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 62 65 68 61 76 65 73 20 .\\[universal-argument].behaves.
23e0 61 73 20 69 66 20 60 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 27 0a 77 65 72 as.if.`racket-expand-hiding'.wer
2400 65 20 5c 5c 3d 27 64 69 73 61 62 6c 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 e.\\='disabled."...(interactive.
2420 22 50 22 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 73 65 78 70 2d 65 64 69 74 "P")...(racket--assert-sexp-edit
2440 2d 6d 6f 64 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 2d 65 78 70 61 6e 64 -mode)...(racket-stepper--expand
2460 2d 74 65 78 74 20 6e 6f 2d 68 69 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -text.no-hiding.................
2480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 ...............(lambda.().......
24a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 ...........................(save
24c0 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -excursion......................
24e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 70 72 6f 67 6e 20 28 62 65 67 69 ..............(cons.(progn.(begi
2500 6e 6e 69 6e 67 2d 6f 66 2d 64 65 66 75 6e 29 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 nning-of-defun).(point))........
2520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2540 20 20 28 70 72 6f 67 6e 20 28 65 6e 64 2d 6f 66 2d 64 65 66 75 6e 29 20 20 20 20 20 20 20 28 70 ..(progn.(end-of-defun).......(p
2560 6f 69 6e 74 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 65 78 70 61 6e oint)))))))..(defun.racket-expan
2580 64 2d 6c 61 73 74 2d 73 65 78 70 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 6f 2d 68 69 64 69 6e 67 d-last-sexp.(&optional.no-hiding
25a0 29 0a 20 20 22 45 78 70 61 6e 64 20 74 68 65 20 73 65 78 70 20 62 65 66 6f 72 65 20 70 6f 69 6e )..."Expand.the.sexp.before.poin
25c0 74 20 75 73 69 6e 67 20 60 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 27 2e 0a 0a t.using.`racket-stepper-mode'...
25e0 55 73 65 73 20 74 68 65 20 60 6d 61 63 72 6f 2d 64 65 62 75 67 67 65 72 60 20 70 61 63 6b 61 67 Uses.the.`macro-debugger`.packag
2600 65 20 74 6f 20 64 6f 20 74 68 65 20 65 78 70 61 6e 73 69 6f 6e 2e 0a 0a 57 69 74 68 20 5c 5c 5b e.to.do.the.expansion...With.\\[
2620 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 62 65 68 61 76 65 73 20 61 73 20 69 universal-argument].behaves.as.i
2640 66 20 60 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 27 0a 77 65 72 65 20 5c 5c f.`racket-expand-hiding'.were.\\
2660 3d 27 64 69 73 61 62 6c 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 ='disabled."...(interactive."P")
2680 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 73 65 78 70 2d 65 64 69 74 2d 6d 6f 64 ...(racket--assert-sexp-edit-mod
26a0 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 2d 65 78 70 61 6e 64 2d 74 65 78 e)...(racket-stepper--expand-tex
26c0 74 20 6e 6f 2d 68 69 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.no-hiding.....................
26e0 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 ...........(lambda.()...........
2700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 .......................(save-exc
2720 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ursion..........................
2740 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 70 72 6f 67 6e 20 28 62 61 63 6b 77 61 72 64 ..........(cons.(progn.(backward
2760 2d 73 65 78 70 29 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -sexp).(point)).................
2780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 .........................(progn.
27a0 28 66 6f 72 77 61 72 64 2d 73 65 78 70 29 20 20 28 70 6f 69 6e 74 29 29 29 29 29 29 29 0a 0a 28 (forward-sexp)..(point)))))))..(
27c0 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 2d 65 78 70 61 6e 64 2d 74 65 78 defun.racket-stepper--expand-tex
27e0 74 20 28 6e 6f 2d 68 69 64 69 6e 67 20 67 65 74 2d 72 65 67 69 6f 6e 29 0a 20 20 28 70 63 61 73 t.(no-hiding.get-region)...(pcas
2800 65 20 28 66 75 6e 63 61 6c 6c 20 67 65 74 2d 72 65 67 69 6f 6e 29 0a 20 20 20 20 28 60 28 2c 62 e.(funcall.get-region).....(`(,b
2820 65 67 20 2e 20 2c 65 6e 64 29 0a 20 20 20 20 20 28 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d eg...,end)......(racket-stepper-
2840 2d 73 74 61 72 74 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 -start.(buffer-substring-no-prop
2860 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erties.beg.end).................
2880 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 2d 68 69 64 69 6e 67 29 29 29 29 0a 0a 3b 3b 20 57 68 ............no-hiding))))..;;.Wh
28a0 65 6e 20 73 74 61 72 74 69 6e 67 2c 20 73 61 76 65 20 74 68 65 20 65 73 73 65 6e 74 69 61 6c 20 en.starting,.save.the.essential.
28c0 70 61 72 61 6d 65 74 65 72 73 20 69 6e 20 74 68 65 73 65 20 76 61 72 73 2c 20 74 6f 0a 3b 3b 20 parameters.in.these.vars,.to.;;.
28e0 73 75 70 70 6f 72 74 20 61 20 72 65 66 72 65 73 68 20 63 6f 6d 6d 61 6e 64 2e 0a 28 64 65 66 76 support.a.refresh.command..(defv
2900 61 72 20 72 61 63 6b 65 74 2d 2d 73 74 65 70 70 65 72 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d ar.racket--stepper-repl-session-
2920 69 64 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 73 74 65 70 70 65 72 2d id.nil).(defvar.racket--stepper-
2940 70 61 74 68 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 73 74 65 70 70 65 path.nil).(defvar.racket--steppe
2960 72 2d 65 78 70 72 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 73 74 65 70 r-expr.nil).(defvar.racket--step
2980 70 65 72 2d 6e 6f 2d 68 69 64 69 6e 67 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 per-no-hiding.nil)..(defun.racke
29a0 74 2d 73 74 65 70 70 65 72 2d 2d 73 74 61 72 74 20 28 65 78 70 72 65 73 73 69 6f 6e 2d 73 74 72 t-stepper--start.(expression-str
29c0 20 6e 6f 2d 68 69 64 69 6e 67 29 0a 20 20 22 45 6e 73 75 72 65 20 62 75 66 66 65 72 20 61 6e 64 .no-hiding)..."Ensure.buffer.and
29e0 20 69 73 73 75 65 20 69 6e 69 74 69 61 6c 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 53 54 52 20 73 68 6f .issue.initial.command...STR.sho
2a00 75 6c 64 20 62 65 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 72 20 6e 69 6c 20 66 6f 72 uld.be.the.expression.or.nil.for
2a20 20 66 69 6c 65 20 65 78 70 61 6e 73 69 6f 6e 2e 22 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 .file.expansion."...(racket--ass
2a40 65 72 74 2d 65 64 69 74 2d 6d 6f 64 65 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 73 ert-edit-mode)...(setq.racket--s
2a60 74 65 70 70 65 72 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 20 28 72 61 63 6b 65 74 2d 2d tepper-repl-session-id.(racket--
2a80 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 repl-session-id))...(unless.(or.
2aa0 28 6e 6f 74 20 65 78 70 72 65 73 73 69 6f 6e 2d 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 (not.expression-str)............
2ac0 20 20 20 72 61 63 6b 65 74 2d 2d 73 74 65 70 70 65 72 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d ...racket--stepper-repl-session-
2ae0 69 64 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 45 78 70 72 65 73 73 69 6f 6e 20 65 78 70 61 6e id).....(error."Expression.expan
2b00 73 69 6f 6e 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 65 20 65 64 69 74 20 62 75 sion.only.works.when.the.edit.bu
2b20 66 66 65 72 20 68 61 73 20 61 20 52 45 50 4c 20 62 75 66 66 65 72 2c 20 61 6e 64 2c 20 79 6f 75 ffer.has.a.REPL.buffer,.and,.you
2b40 20 61 6c 72 65 61 64 79 20 64 69 64 20 61 20 72 61 63 6b 65 74 2d 72 75 6e 22 29 29 0a 20 20 28 .already.did.a.racket-run"))...(
2b60 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 73 74 65 70 70 65 72 2d 70 61 74 68 20 28 72 61 63 6b 65 setq.racket--stepper-path.(racke
2b80 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 66 72 6f 6e 74 2d 74 6f 2d 62 61 63 6b 20 28 72 61 63 6b 65 t-file-name-front-to-back.(racke
2ba0 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20 28 73 65 74 71 20 72 t--buffer-file-name)))...(setq.r
2bc0 61 63 6b 65 74 2d 2d 73 74 65 70 70 65 72 2d 65 78 70 72 20 65 78 70 72 65 73 73 69 6f 6e 2d 73 acket--stepper-expr.expression-s
2be0 74 72 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 73 74 65 70 70 65 72 2d 6e 6f 2d 68 tr)...(setq.racket--stepper-no-h
2c00 69 64 69 6e 67 20 6e 6f 2d 68 69 64 69 6e 67 29 0a 20 20 3b 3b 20 43 72 65 61 74 65 20 62 75 66 iding.no-hiding)...;;.Create.buf
2c20 66 65 72 20 69 66 20 6e 65 63 65 73 73 61 72 79 0a 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 fer.if.necessary...(let.((name.(
2c40 72 61 63 6b 65 74 2d 2d 73 74 65 70 70 65 72 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 29 0a 20 racket--stepper-buffer-name)))..
2c60 20 20 20 28 75 6e 6c 65 73 73 20 28 67 65 74 2d 62 75 66 66 65 72 20 6e 61 6d 65 29 0a 20 20 20 ...(unless.(get-buffer.name)....
2c80 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 ...(with-current-buffer.(get-buf
2ca0 66 65 72 2d 63 72 65 61 74 65 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 fer-create.name).........(racket
2cc0 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 29 29 29 0a 20 20 20 20 3b 3b 20 47 69 76 65 20 69 74 20 -stepper-mode))).....;;.Give.it.
2ce0 61 20 77 69 6e 64 6f 77 20 69 66 20 6e 65 63 65 73 73 61 72 79 0a 20 20 20 20 28 75 6e 6c 65 73 a.window.if.necessary.....(unles
2d00 73 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 6e 61 6d 65 29 0a 20 20 20 20 20 s.(get-buffer-window.name)......
2d20 20 28 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 6e 61 6d 65 .(pop-to-buffer.(get-buffer.name
2d40 29 29 29 0a 20 20 20 20 3b 3b 20 53 65 6c 65 63 74 20 74 68 65 20 73 74 65 70 70 65 72 20 77 69 ))).....;;.Select.the.stepper.wi
2d60 6e 64 6f 77 20 61 6e 64 20 73 74 61 72 74 2e 0a 20 20 20 20 28 73 65 6c 65 63 74 2d 77 69 6e 64 ndow.and.start......(select-wind
2d80 6f 77 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 6e 61 6d 65 29 29 0a 20 20 20 ow.(get-buffer-window.name))....
2da0 20 28 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 72 65 66 72 65 73 68 29 29 29 0a 0a 28 64 65 .(racket-stepper-refresh)))..(de
2dc0 66 75 6e 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 72 65 66 72 65 73 68 20 28 29 0a 20 20 fun.racket-stepper-refresh.()...
2de0 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 72 (interactive)...(let.((inhibit-r
2e00 65 61 64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 ead-only.t)).....(delete-region.
2e20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 28 69 6e (point-min).(point-max)).....(in
2e40 73 65 72 74 20 22 53 74 61 72 74 69 6e 67 20 6d 61 63 72 6f 20 65 78 70 61 6e 73 69 6f 6e 20 73 sert."Starting.macro.expansion.s
2e60 74 65 70 70 65 72 2e 2e 2e 20 70 6c 65 61 73 65 20 77 61 69 74 2e 2e 2e 5c 6e 22 29 29 0a 20 20 tepper....please.wait...\n"))...
2e80 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 20 72 61 63 6b 65 74 2d 2d 73 74 65 70 70 (racket--cmd/async.racket--stepp
2ea0 65 72 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 er-repl-session-id..............
2ec0 20 20 20 20 20 20 20 20 60 28 6d 61 63 72 6f 2d 73 74 65 70 70 65 72 20 2c 72 61 63 6b 65 74 2d ........`(macro-stepper.,racket-
2ee0 2d 73 74 65 70 70 65 72 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -stepper-path...................
2f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 72 61 63 6b 65 74 2d 2d 73 74 65 70 ...................,racket--step
2f20 70 65 72 2d 65 78 70 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 per-expr........................
2f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 69 66 20 72 61 63 6b 65 74 2d 2d 73 74 65 70 70 ..............,(if.racket--stepp
2f60 65 72 2d 6e 6f 2d 68 69 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er-no-hiding....................
2f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 64 69 73 61 62 6c 65 0a .......................'disable.
2fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2fc0 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 29 29 0a 20 ........racket-expand-hiding))..
2fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 73 74 65 ....................#'racket-ste
3000 70 70 65 72 2d 2d 69 6e 73 65 72 74 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 73 74 pper--insert))..(defun.racket-st
3020 65 70 70 65 72 2d 2d 69 6e 73 65 72 74 20 28 73 74 65 70 73 29 0a 20 20 28 69 66 20 28 6e 75 6c epper--insert.(steps)...(if.(nul
3040 6c 20 73 74 65 70 73 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4e 6f 74 68 69 6e 67 l.steps).......(message."Nothing
3060 20 74 6f 20 65 78 70 61 6e 64 22 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 .to.expand").....(with-current-b
3080 75 66 66 65 72 20 28 72 61 63 6b 65 74 2d 2d 73 74 65 70 70 65 72 2d 62 75 66 66 65 72 2d 6e 61 uffer.(racket--stepper-buffer-na
30a0 6d 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e me).......(let.((inhibit-read-on
30c0 6c 79 20 74 29 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 ly.t)).........(goto-char.(point
30e0 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 73 74 65 70 20 73 74 65 -max)).........(dolist.(step.ste
3100 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 73 74 65 70 0a 20 20 20 20 20 20 ps)...........(pcase.step.......
3120 20 20 20 20 20 20 28 60 28 6f 72 69 67 69 6e 61 6c 20 2e 20 2c 74 65 78 74 29 0a 20 20 20 20 20 ......(`(original...,text)......
3140 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 ........(delete-region.(point-mi
3160 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 n).(point-max))..............(if
3180 20 72 61 63 6b 65 74 2d 2d 73 74 65 70 70 65 72 2d 6e 6f 2d 68 69 64 69 6e 67 0a 20 20 20 20 20 .racket--stepper-no-hiding......
31a0 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 6d 61 63 72 6f 20 68 69 64 69 6e ............(insert."macro.hidin
31c0 67 20 64 69 73 61 62 6c 65 64 20 62 79 20 63 6f 6d 6d 61 6e 64 20 70 72 65 66 69 78 22 29 0a 20 g.disabled.by.command.prefix")..
31e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 74 65 78 74 2d 62 75 74 74 6f ..............(insert-text-butto
3200 6e 20 22 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 22 0a 20 20 20 20 20 20 20 n."racket-expand-hiding"........
3220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 61 63 74 ............................'act
3240 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 63 75 73 74 6f 6d 69 7a 65 2d 68 ion.#'racket-stepper-customize-h
3260 69 64 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 3a iding)................(insert.":
3280 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 28 69 66 20 72 61 .")................(princ.(if.ra
32a0 63 6b 65 74 2d 2d 73 74 65 70 70 65 72 2d 6e 6f 2d 68 69 64 69 6e 67 20 27 64 69 73 61 62 6c 65 cket--stepper-no-hiding.'disable
32c0 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 .racket-expand-hiding)..........
32e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a .............(current-buffer))).
3300 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 5c 6e 22 29 0a 20 20 20 .............(insert."\n\n")....
3320 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 4f 72 69 67 69 6e 61 6c 5c 6e 22 20 74 ..........(insert."Original\n".t
3340 65 78 74 20 22 5c 6e 22 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 66 ext."\n"."\n")).............(`(f
3360 69 6e 61 6c 20 20 2e 20 2c 74 65 78 74 29 20 28 69 6e 73 65 72 74 20 22 46 69 6e 61 6c 5c 6e 22 inal....,text).(insert."Final\n"
3380 20 74 65 78 74 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 6c 61 62 .text."\n")).............(`(,lab
33a0 65 6c 20 2e 20 2c 64 69 66 66 29 20 28 69 6e 73 65 72 74 20 6c 61 62 65 6c 20 22 5c 6e 22 20 64 el...,diff).(insert.label."\n".d
33c0 69 66 66 20 22 5c 6e 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 73 74 65 iff."\n")))).........(racket-ste
33e0 70 70 65 72 2d 70 72 65 76 69 6f 75 73 2d 69 74 65 6d 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 pper-previous-item).........(whe
3400 6e 20 28 65 71 75 61 6c 20 28 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 29 20 28 67 65 74 2d n.(equal.(selected-window).(get-
3420 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 buffer-window.(current-buffer)))
3440 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 63 65 6e 74 65 72 29 29 29 29 29 29 0a 0a 28 64 65 66 ...........(recenter))))))..(def
3460 75 6e 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 63 75 73 74 6f 6d 69 7a 65 2d 68 69 64 69 un.racket-stepper-customize-hidi
3480 6e 67 20 28 5f 62 74 6e 29 0a 20 20 28 63 75 73 74 6f 6d 69 7a 65 2d 76 61 72 69 61 62 6c 65 20 ng.(_btn)...(customize-variable.
34a0 27 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 29 29 0a 0a 28 64 65 66 75 6e 20 'racket-expand-hiding))..(defun.
34c0 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 73 74 65 70 20 28 70 72 65 66 69 78 29 0a 20 20 28 racket-stepper-step.(prefix)...(
34e0 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f interactive."P")...(racket--cmd/
3500 61 73 79 6e 63 20 72 61 63 6b 65 74 2d 2d 73 74 65 70 70 65 72 2d 72 65 70 6c 2d 73 65 73 73 69 async.racket--stepper-repl-sessi
3520 6f 6e 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 6d 61 63 on-id......................`(mac
3540 72 6f 2d 73 74 65 70 70 65 72 2f 6e 65 78 74 20 2c 28 69 66 20 70 72 65 66 69 78 20 27 61 6c 6c ro-stepper/next.,(if.prefix.'all
3560 20 27 6e 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 .'next))......................#'
3580 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 2d 69 6e 73 65 72 74 29 29 0a 0a 28 64 65 66 63 6f racket-stepper--insert))..(defco
35a0 6e 73 74 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 2d 69 74 65 6d 2d 72 78 0a 20 20 28 72 nst.racket-stepper--item-rx...(r
35c0 78 20 62 6f 6c 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 28 7a 65 72 6f 2d 6f 72 2d 6d 6f 72 65 x.bol.alphanumeric.(zero-or-more
35e0 20 61 6e 79 29 20 65 6f 6c 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 73 74 65 70 70 .any).eol))..(defun.racket-stepp
3600 65 72 2d 6e 65 78 74 2d 69 74 65 6d 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 75 6e 74 29 0a 20 er-next-item.(&optional.count)..
3620 20 22 4d 6f 76 65 20 70 6f 69 6e 74 20 4e 20 69 74 65 6d 73 20 66 6f 72 77 61 72 64 2e 0a 0a 41 ."Move.point.N.items.forward...A
3640 6e 20 5c 22 69 74 65 6d 5c 22 20 69 73 20 61 20 6c 69 6e 65 20 73 74 61 72 74 69 6e 67 20 77 69 n.\"item\".is.a.line.starting.wi
3660 74 68 20 61 20 6c 6f 67 20 6c 65 76 65 6c 20 69 6e 20 62 72 61 63 6b 65 74 73 2e 0a 0a 49 6e 74 th.a.log.level.in.brackets...Int
3680 65 72 61 63 74 69 76 65 6c 79 2c 20 4e 20 69 73 20 74 68 65 20 6e 75 6d 65 72 69 63 20 5c 5c 5b eractively,.N.is.the.numeric.\\[
36a0 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 63 6f 6d 6d 61 6e 64 0a 70 72 65 66 universal-argument].command.pref
36c0 69 78 20 61 72 67 75 6d 65 6e 74 2e 20 49 66 20 4e 20 69 73 20 6f 6d 69 74 74 65 64 20 6f 72 20 ix.argument..If.N.is.omitted.or.
36e0 6e 69 6c 2c 20 6d 6f 76 65 20 70 6f 69 6e 74 20 31 20 69 74 65 6d 0a 66 6f 72 77 61 72 64 2e 22 nil,.move.point.1.item.forward."
3700 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 66 6f 72 77 61 72 64 2d ...(interactive."P")...(forward-
3720 63 68 61 72 20 31 29 0a 20 20 28 69 66 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 char.1)...(if.(re-search-forward
3740 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 2d 69 74 65 6d 2d 72 78 20 6e 69 6c 20 74 20 63 .racket-stepper--item-rx.nil.t.c
3760 6f 75 6e 74 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a ount).......(beginning-of-line).
3780 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 63 68 61 72 20 31 29 29 29 0a 0a 28 64 65 66 75 6e 20 ....(backward-char.1)))..(defun.
37a0 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 70 72 65 76 69 6f 75 73 2d 69 74 65 6d 20 28 26 6f racket-stepper-previous-item.(&o
37c0 70 74 69 6f 6e 61 6c 20 63 6f 75 6e 74 29 0a 20 20 22 4d 6f 76 65 20 70 6f 69 6e 74 20 4e 20 69 ptional.count)..."Move.point.N.i
37e0 74 65 6d 73 20 62 61 63 6b 77 61 72 64 2e 0a 0a 41 6e 20 5c 22 69 74 65 6d 5c 22 20 69 73 20 61 tems.backward...An.\"item\".is.a
3800 20 6c 69 6e 65 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 61 20 6c 6f 67 20 6c 65 76 65 6c 20 .line.starting.with.a.log.level.
3820 69 6e 20 62 72 61 63 6b 65 74 73 2e 0a 0a 49 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 4e 20 69 in.brackets...Interactively,.N.i
3840 73 20 74 68 65 20 6e 75 6d 65 72 69 63 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d s.the.numeric.\\[universal-argum
3860 65 6e 74 5d 20 63 6f 6d 6d 61 6e 64 0a 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 2e 20 49 66 ent].command.prefix.argument..If
3880 20 4e 20 69 73 20 6f 6d 69 74 74 65 64 20 6f 72 20 6e 69 6c 2c 20 6d 6f 76 65 20 70 6f 69 6e 74 .N.is.omitted.or.nil,.move.point
38a0 20 31 20 69 74 65 6d 0a 62 61 63 6b 77 61 72 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 .1.item.backward."...(interactiv
38c0 65 20 22 50 22 29 0a 20 20 28 72 65 2d 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 20 72 61 63 e."P")...(re-search-backward.rac
38e0 6b 65 74 2d 73 74 65 70 70 65 72 2d 2d 69 74 65 6d 2d 72 78 20 6e 69 6c 20 74 20 63 6f 75 6e 74 ket-stepper--item-rx.nil.t.count
3900 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 29 0a 0a 3b ))..(provide.'racket-stepper)..;
3920 3b 3b 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 ;;.racket-stepper.el.ends.here..
3940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
3a20 72 61 63 6b 65 74 2d 69 6d 65 6e 75 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-imenu.el.................
3a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3a80 30 30 30 35 33 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 35 35 32 00 20 30 00 00 00 0005300.00000000000.016552..0...
3aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
3b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c00 3b 3b 3b 20 72 61 63 6b 65 74 2d 69 6d 65 6e 75 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d ;;;.racket-imenu.el.-*-.lexical-
3c20 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 binding:.t;.-*-..;;.Copyright.(c
3c40 29 20 32 30 31 33 2d 32 30 32 31 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e ).2013-2021.by.Greg.Hendershott.
3c60 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d .;;.Portions.Copyright.(C).1985-
3c80 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 1986,.1999-2013.Free.Software.Fo
3ca0 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 undation,.Inc...;;.Author:.Greg.
3cc0 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 Hendershott.;;.URL:.https://gith
3ce0 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f ub.com/greghendershott/racket-mo
3d00 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 de..;;.SPDX-License-Identifier:.
3d20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c GPL-3.0-or-later..(require.'cl-l
3d40 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 69 6d 65 6e 75 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 ib).(require.'imenu)..(defun.rac
3d60 6b 65 74 2d 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 2d 66 75 6e 63 74 69 6f 6e 20 ket-imenu-create-index-function.
3d80 28 29 0a 20 20 22 41 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c ()..."A.function.for.the.variabl
3da0 65 20 60 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 2d 66 75 6e 63 74 69 6f 6e 27 2e e.`imenu-create-index-function'.
3dc0 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 "...(save-excursion.....(goto-ch
3de0 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 69 6d 65 ar.(point-min)).....(racket--ime
3e00 6e 75 2d 67 6f 74 6f 2d 73 74 61 72 74 2d 6f 66 2d 63 75 72 72 65 6e 74 2d 73 65 78 70 29 0a 20 nu-goto-start-of-current-sexp)..
3e20 20 20 20 28 72 61 63 6b 65 74 2d 2d 69 6d 65 6e 75 2d 77 61 6c 6b 29 29 29 0a 0a 28 64 65 66 75 ...(racket--imenu-walk)))..(defu
3e40 6e 20 72 61 63 6b 65 74 2d 2d 69 6d 65 6e 75 2d 77 61 6c 6b 20 28 29 0a 20 20 22 57 69 74 68 20 n.racket--imenu-walk.()..."With.
3e60 70 6f 69 6e 74 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 61 20 73 65 78 70 2c 20 77 61 point.at.the.start.of.a.sexp,.wa
3e80 6c 6b 20 61 6c 6c 20 74 68 65 20 73 65 70 78 73 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 60 72 61 lk.all.the.sepxs...Note.that.`ra
3ea0 63 6b 65 74 2d 2d 69 6d 65 6e 75 2d 69 74 65 6d 27 20 77 69 6c 6c 20 77 61 6c 6b 20 69 6e 74 6f cket--imenu-item'.will.walk.into
3ec0 20 52 61 63 6b 65 74 20 6d 6f 64 75 6c 65 20 66 6f 72 6d 73 0a 61 6e 64 20 63 61 6c 6c 20 75 73 .Racket.module.forms.and.call.us
3ee0 20 72 65 63 75 72 73 69 76 65 6c 79 2e 22 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 61 70 70 65 6e 64 .recursively."...(cl-loop.append
3f00 20 28 72 61 63 6b 65 74 2d 2d 69 6d 65 6e 75 2d 69 74 65 6d 29 20 69 6e 74 6f 20 78 73 0a 20 20 .(racket--imenu-item).into.xs...
3f20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 72 61 63 6b 65 74 2d 2d 69 6d 65 6e 75 2d 67 6f .........while.(racket--imenu-go
3f40 74 6f 2d 73 74 61 72 74 2d 6f 66 2d 66 6f 6c 6c 6f 77 69 6e 67 2d 73 65 78 70 29 0a 20 20 20 20 to-start-of-following-sexp).....
3f60 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 72 65 74 75 72 6e 20 78 73 29 29 0a 0a 28 64 65 66 .......finally.return.xs))..(def
3f80 75 6e 20 72 61 63 6b 65 74 2d 2d 69 6d 65 6e 75 2d 69 74 65 6d 20 28 29 0a 20 20 22 52 65 74 75 un.racket--imenu-item.()..."Retu
3fa0 72 6e 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 66 6f 72 20 74 68 65 20 73 65 78 70 20 61 rn.the.identifier.for.the.sexp.a
3fc0 74 20 70 6f 69 6e 74 20 69 66 20 61 6e 79 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 49 66 20 73 65 t.point.if.any,.else.nil...If.se
3fe0 78 70 20 61 74 20 70 6f 69 6e 74 20 69 73 20 61 20 52 61 63 6b 65 74 20 6d 6f 64 75 6c 65 20 66 xp.at.point.is.a.Racket.module.f
4000 6f 72 6d 20 63 72 65 61 74 65 20 61 20 73 75 62 6d 65 6e 75 2e 22 0a 20 20 28 73 61 76 65 2d 6d orm.create.a.submenu."...(save-m
4020 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6c 6f 6f 6b 69 6e 67 2d 61 74 atch-data.....(cond.((looking-at
4040 20 28 72 78 20 22 28 64 65 66 69 6e 65 22 20 28 2a 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f .(rx."(define".(*.(or.(syntax.wo
4060 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rd).............................
4080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 0a ................(syntax.symbol).
40a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
40c0 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 ............(syntax.punctuation)
40e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b ))............................(+
4100 20 28 73 79 6e 74 61 78 20 77 68 69 74 65 73 70 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(syntax.whitespace))...........
4120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 3f 5c 28 29 0a 20 20 20 20 20 20 20 .................(*.?\()........
4140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 20 28 2b 20 28 6f ....................(group.(+.(o
4160 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.(syntax.word).................
4180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 .........................(syntax
41a0 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .symbol)........................
41c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 20 70 75 6e 63 74 75 ..................(syntax.punctu
41e0 61 74 69 6f 6e 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 6f ation))))))............(list.(co
4200 6e 73 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 31 ns.(match-string-no-properties.1
4220 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 69 6d 65 )........................(if.ime
4240 6e 75 2d 75 73 65 2d 6d 61 72 6b 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nu-use-markers..................
4260 20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d 6d 61 72 6b 65 72 20 28 6d 61 74 63 68 2d 62 65 ..........(copy-marker.(match-be
4280 67 69 6e 6e 69 6e 67 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ginning.1)).....................
42a0 20 20 20 20 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 31 29 29 29 29 29 0a 20 20 20 .....(match-beginning.1)))))....
42c0 20 20 20 20 20 20 20 28 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 28 72 78 20 22 28 6d 6f 64 75 6c 65 .......((looking-at.(rx."(module
42e0 22 20 28 3f 20 28 61 6e 79 20 3f 2b 20 3f 2a 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ".(?.(any.?+.?*))...............
4300 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 73 79 6e 74 61 78 20 77 68 69 74 65 73 70 61 .............(+.(syntax.whitespa
4320 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce))............................
4340 28 67 72 6f 75 70 20 28 2b 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 0a 20 20 20 20 (group.(+.(or.(syntax.word).....
4360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4380 20 20 20 20 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 .....(syntax.symbol)............
43a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 ..............................(s
43c0 79 6e 74 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 yntax.punctuation)))))).........
43e0 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(save-excursion..............
4400 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 74 63 68 2d 65 6e 64 20 31 29 29 0a 20 20 20 20 20 20 (goto-char.(match-end.1)).......
4420 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 69 6d 65 6e 75 2d 67 6f 74 6f 2d 73 74 61 72 74 .......(racket--imenu-goto-start
4440 2d 6f 66 2d 63 75 72 72 65 6e 74 2d 73 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 -of-current-sexp)..............(
4460 6c 69 73 74 20 28 63 6f 6e 73 20 28 63 6f 6e 63 61 74 20 22 4d 6f 64 75 6c 65 3a 20 22 20 28 6d list.(cons.(concat."Module:.".(m
4480 61 74 63 68 2d 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 31 29 29 0a 20 20 atch-string-no-properties.1))...
44a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d .......................(racket--
44c0 69 6d 65 6e 75 2d 77 61 6c 6b 20 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 6e 69 imenu-walk.)))))...........(t.ni
44e0 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 69 6d 65 6e 75 2d 67 6f 74 6f l))))..(defun.racket--imenu-goto
4500 2d 73 74 61 72 74 2d 6f 66 2d 63 75 72 72 65 6e 74 2d 73 65 78 70 20 28 29 0a 20 20 28 69 67 6e -start-of-current-sexp.()...(ign
4520 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 31 29 0a ore-errors.....(forward-sexp.1).
4540 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 2d 31 29 29 29 0a 0a 28 64 65 66 75 6e 20 ....(forward-sexp.-1)))..(defun.
4560 72 61 63 6b 65 74 2d 2d 69 6d 65 6e 75 2d 67 6f 74 6f 2d 73 74 61 72 74 2d 6f 66 2d 66 6f 6c 6c racket--imenu-goto-start-of-foll
4580 6f 77 69 6e 67 2d 73 65 78 70 20 28 29 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 owing-sexp.()...(condition-case.
45a0 5f 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d _.......(progn.........(forward-
45c0 73 65 78 70 20 31 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 72 69 67 20 28 70 6f 69 sexp.1).........(let.((orig.(poi
45e0 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 31 29 nt)))...........(forward-sexp.1)
4600 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 65 6f 62 70 29 20 28 65 71 75 61 6c ...........(if.(or.(eobp).(equal
4620 20 6f 72 69 67 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 .orig.(point)))...............ni
4640 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 2d 31 29 0a l.............(forward-sexp.-1).
4660 20 20 20 20 20 20 20 20 20 20 20 20 74 29 29 29 0a 20 20 20 20 28 73 63 61 6e 2d 65 72 72 6f 72 ............t))).....(scan-error
4680 20 6e 69 6c 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 69 6d 65 6e 75 29 .nil)))..(provide.'racket-imenu)
46a0 0a 0a 3b 3b 3b 20 72 61 63 6b 65 74 2d 69 6d 65 6e 75 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a ..;;;.racket-imenu.el.ends.here.
46c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4800 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
4820 72 61 63 6b 65 74 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/.........................
4840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4860 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
4880 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 31 31 37 00 20 35 00 00 00 0000000.00000000000.015117..5...
48a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
4920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
4940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
4a20 72 61 63 6b 65 74 2f 69 6e 74 65 72 61 63 74 69 6f 6e 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 racket/interaction.rkt..........
4a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
4a80 30 30 30 36 31 36 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 30 31 37 30 00 20 30 00 00 00 0006165.00000000000.020170..0...
4aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
4b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
4b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 33 20 62 79 20 47 72 ;;.Copyright.(c).2013-2023.by.Gr
4c20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
4c40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
4c60 61 6e 67 20 61 74 2d 65 78 70 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 ang.at-exp.racket/base..(require
4c80 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 67 .racket/format..........racket/g
4ca0 75 69 2f 64 79 6e 61 6d 69 63 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 73 65 74 0a 20 ui/dynamic..........racket/set..
4cc0 20 20 20 20 20 20 20 20 22 67 75 69 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 72 65 70 6c ........"gui.rkt".........."repl
4ce0 2d 6f 75 74 70 75 74 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 72 65 70 6c 2d 73 65 73 73 -output.rkt".........."repl-sess
4d00 69 6f 6e 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 73 74 61 63 6b 2d 63 68 65 63 6b 70 6f ion.rkt".........."stack-checkpo
4d20 69 6e 74 2e 72 6b 74 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 67 65 74 2d 69 6e 74 65 72 61 63 74 int.rkt")..(provide.get-interact
4d40 69 6f 6e 29 0a 0a 3b 3b 20 54 68 69 73 20 69 6e 70 75 74 20 70 6f 72 74 20 68 6f 6c 64 73 20 74 ion)..;;.This.input.port.holds.t
4d60 68 65 20 75 6e 72 65 61 64 20 72 65 6d 61 69 6e 64 65 72 20 6f 66 20 74 68 65 20 6d 6f 73 74 2d he.unread.remainder.of.the.most-
4d80 72 65 63 65 6e 74 0a 3b 3b 20 73 75 62 6d 69 73 73 69 6f 6e 20 73 74 72 69 6e 67 20 66 72 6f 6d recent.;;.submission.string.from
4da0 20 74 68 65 20 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 73 69 6f 6e 73 20 63 68 61 6e 6e 65 6c .the.current-submissions.channel
4dc0 2e 20 28 41 6c 74 68 6f 75 67 68 0a 3b 3b 20 63 6f 6d 6d 6f 6e 6c 79 20 65 61 63 68 20 73 75 62 ..(Although.;;.commonly.each.sub
4de0 6d 69 73 73 69 6f 6e 20 69 73 20 6f 6e 65 20 72 65 61 64 2d 61 62 6c 65 20 76 61 6c 75 65 2c 20 mission.is.one.read-able.value,.
4e00 6c 69 6b 65 20 22 31 5c 6e 22 2c 20 69 74 0a 3b 3b 20 6d 69 67 68 74 20 63 6f 6e 74 61 69 6e 20 like."1\n",.it.;;.might.contain.
4e20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 72 65 61 64 2d 61 62 6c 65 20 76 61 6c 75 65 2c 20 65 more.than.one.read-able.value,.e
4e40 2e 67 2e 20 74 68 65 20 75 73 65 72 20 73 75 62 6d 69 74 73 0a 3b 3b 20 22 31 20 32 20 33 5c 6e .g..the.user.submits.;;."1.2.3\n
4e60 22 2e 20 49 6e 20 74 68 61 74 20 63 61 73 65 20 77 65 20 77 61 6e 74 20 74 6f 20 70 72 69 6e 74 "..In.that.case.we.want.to.print
4e80 20 65 61 63 68 20 72 65 73 75 6c 74 20 6f 6e 20 69 74 73 20 6f 77 6e 0a 3b 3b 20 6c 69 6e 65 2c .each.result.on.its.own.;;.line,
4ea0 20 77 69 74 68 6f 75 74 20 65 78 63 65 73 73 20 70 72 6f 6d 70 74 73 2e 29 0a 28 64 65 66 69 6e .without.excess.prompts.).(defin
4ec0 65 20 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 73 69 6f 6e 2d 69 6e 70 75 74 2d 70 6f 72 74 20 e.current-submission-input-port.
4ee0 28 6d 61 6b 65 2d 70 61 72 61 6d 65 74 65 72 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 69 (make-parameter.(open-input-stri
4f00 6e 67 20 22 22 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 67 65 74 2d 69 6e 74 65 72 61 63 74 69 ng."")))..(define.(get-interacti
4f20 6f 6e 20 70 72 6f 6d 70 74 29 0a 20 20 28 6d 61 79 62 65 2d 77 61 72 6e 2d 66 6f 72 2d 73 65 73 on.prompt)...(maybe-warn-for-ses
4f40 73 69 6f 6e 29 0a 20 20 28 64 65 66 69 6e 65 20 28 67 65 74 29 0a 20 20 20 20 28 77 69 74 68 2d sion)...(define.(get).....(with-
4f60 68 61 6e 64 6c 65 72 73 20 28 5b 65 78 6e 3a 66 61 69 6c 3a 72 65 61 64 3f 0a 20 20 20 20 20 20 handlers.([exn:fail:read?.......
4f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 65 78 6e 29 0a 20 20 20 20 20 20 20 ...............(...(exn)........
4fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 44 69 73 63 61 72 64 20 72 65 6d 61 69 ................;;.Discard.remai
4fc0 6e 64 65 72 20 61 66 74 65 72 20 74 68 69 73 20 72 65 61 64 20 65 72 72 6f 72 2e 0a 20 20 20 20 nder.after.this.read.error......
4fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 73 75 62 6d ...................(current-subm
5000 69 73 73 69 6f 6e 2d 69 6e 70 75 74 2d 70 6f 72 74 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 ission-input-port.(open-input-st
5020 72 69 6e 67 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ring."")).......................
5040 20 28 72 61 69 73 65 20 65 78 6e 29 29 5d 29 0a 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 67 .(raise.exn))]).......(current-g
5060 65 74 2d 69 6e 74 65 72 61 63 74 69 6f 6e 2d 69 6e 70 75 74 2d 70 6f 72 74 20 28 ce bb 20 28 29 et-interaction-input-port.(...()
5080 20 28 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 73 69 6f 6e 2d 69 6e 70 75 74 2d 70 6f 72 74 29 .(current-submission-input-port)
50a0 29 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 73 74 61 63 6b 2d 63 68 65 63 6b 70 6f 69 6e 74 0a )).......(with-stack-checkpoint.
50c0 20 20 20 20 20 20 20 20 28 28 63 75 72 72 65 6e 74 2d 72 65 61 64 2d 69 6e 74 65 72 61 63 74 69 ........((current-read-interacti
50e0 6f 6e 29 20 27 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 72 65 70 6c 20 28 63 75 72 72 65 6e 74 2d 73 on).'racket-mode-repl.(current-s
5100 75 62 6d 69 73 73 69 6f 6e 2d 69 6e 70 75 74 2d 70 6f 72 74 29 29 29 29 29 0a 20 20 28 64 65 66 ubmission-input-port)))))...(def
5120 69 6e 65 20 76 20 28 67 65 74 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 20 5b 28 65 6f 66 2d 6f ine.v.(get))...(cond.....[(eof-o
5140 62 6a 65 63 74 3f 20 76 29 0a 20 20 20 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 70 72 6f 6d bject?.v)......(repl-output-prom
5160 70 74 20 28 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 20 70 72 6f 6d 70 74 20 22 3e 22 29 29 0a 20 pt.(string-append.prompt.">"))..
5180 20 20 20 20 28 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 73 69 6f 6e 2d 69 6e 70 75 74 2d 70 6f ....(current-submission-input-po
51a0 72 74 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 69 6e 67 20 28 67 65 74 2d 73 75 62 6d 69 rt.(open-input-string.(get-submi
51c0 73 73 69 6f 6e 29 29 29 0a 20 20 20 20 20 28 70 6f 72 74 2d 63 6f 75 6e 74 2d 6c 69 6e 65 73 21 ssion)))......(port-count-lines!
51e0 20 28 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 73 69 6f 6e 2d 69 6e 70 75 74 2d 70 6f 72 74 29 .(current-submission-input-port)
5200 29 0a 20 20 20 20 20 28 67 65 74 29 5d 0a 20 20 20 20 5b 65 6c 73 65 20 76 5d 29 29 0a 0a 28 64 )......(get)].....[else.v]))..(d
5220 65 66 69 6e 65 20 63 75 72 72 65 6e 74 2d 67 65 74 2d 69 6e 74 65 72 61 63 74 69 6f 6e 2d 65 76 efine.current-get-interaction-ev
5240 74 0a 20 20 28 64 79 6e 61 6d 69 63 2d 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2f 62 61 73 t...(dynamic-require.'racket/bas
5260 65 20 27 63 75 72 72 65 6e 74 2d 67 65 74 2d 69 6e 74 65 72 61 63 74 69 6f 6e 2d 65 76 74 20 28 e.'current-get-interaction-evt.(
5280 ce bb 20 28 29 20 23 66 29 29 29 0a 0a 3b 3b 20 47 65 74 20 61 20 73 74 72 69 6e 67 20 66 72 6f ...().#f)))..;;.Get.a.string.fro
52a0 6d 20 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 73 69 6f 6e 73 20 63 68 61 6e 6e 65 6c 20 69 6e m.current-submissions.channel.in
52c0 20 74 68 65 20 62 65 73 74 20 6d 61 6e 6e 65 72 0a 3b 3b 20 61 76 61 69 6c 61 62 6c 65 20 67 69 .the.best.manner.;;.available.gi
52e0 76 65 6e 20 74 68 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 52 61 63 6b 65 74 2e 20 41 76 6f 69 64 ven.the.version.of.Racket..Avoid
5300 73 20 68 61 72 64 20 64 65 70 65 6e 64 65 6e 63 79 20 6f 6e 0a 3b 3b 20 52 61 63 6b 65 74 20 38 s.hard.dependency.on.;;.Racket.8
5320 2e 34 2b 2e 0a 28 64 65 66 69 6e 65 20 28 67 65 74 2d 73 75 62 6d 69 73 73 69 6f 6e 29 0a 20 20 .4+..(define.(get-submission)...
5340 28 63 6f 6e 64 0a 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 67 65 74 2d 69 6e 74 65 72 61 63 74 69 (cond.....[current-get-interacti
5360 6f 6e 2d 65 76 74 0a 20 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 29 0a 20 20 20 20 20 20 20 on-evt......(let.loop.()........
5380 28 73 79 6e 63 0a 20 20 20 20 20 20 20 20 28 68 61 6e 64 6c 65 2d 65 76 74 20 28 28 63 75 72 72 (sync.........(handle-evt.((curr
53a0 65 6e 74 2d 67 65 74 2d 69 6e 74 65 72 61 63 74 69 6f 6e 2d 65 76 74 29 29 20 3b 61 6c 6c 6f 77 ent-get-interaction-evt)).;allow
53c0 20 47 55 49 20 79 69 65 6c 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .GUI.yield.....................(
53e0 ce bb 20 28 74 68 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...(thk).......................(
5400 74 68 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 thk).......................(loop
5420 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 73 69 6f 6e 73 ))).........(current-submissions
5440 29 29 29 5d 0a 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 28 28 74 78 74 2f 67 75 69 20 73 79 )))].....[else......((txt/gui.sy
5460 6e 63 20 79 69 65 6c 64 29 20 28 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 73 69 6f 6e 73 29 29 nc.yield).(current-submissions))
5480 5d 29 29 0a 0a 3b 3b 20 4e 6f 74 65 3a 20 57 65 20 74 72 79 20 74 6f 20 65 61 67 65 72 6c 79 20 ]))..;;.Note:.We.try.to.eagerly.
54a0 6c 6f 61 64 20 72 61 63 6b 65 74 2f 67 75 69 2f 62 61 73 65 20 69 6e 20 67 75 69 2e 72 6b 74 2e load.racket/gui/base.in.gui.rkt.
54c0 20 53 65 65 0a 3b 3b 20 63 6f 6d 6d 65 6e 74 73 20 74 68 65 72 65 2c 20 65 78 70 6c 61 69 6e 69 .See.;;.comments.there,.explaini
54e0 6e 67 20 77 68 79 2e 0a 3b 3b 0a 3b 3b 20 41 73 20 61 20 72 65 73 75 6c 74 2c 20 67 75 69 2d 61 ng.why..;;.;;.As.a.result,.gui-a
5500 76 61 69 6c 61 62 6c 65 3f 20 68 65 72 65 20 6d 65 72 65 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 vailable?.here.merely.means.that
5520 20 61 20 75 73 65 72 20 70 72 6f 67 72 61 6d 0a 3b 3b 20 5f 63 6f 75 6c 64 5f 20 75 73 65 20 69 .a.user.program.;;._could_.use.i
5540 74 20 28 65 2e 67 2e 20 67 75 69 2d 6c 69 62 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 61 6e 64 t.(e.g..gui-lib.is.installed.and
5560 20 72 75 6e 6e 69 6e 67 20 6f 6e 20 61 0a 3b 3b 20 6e 6f 6e 2d 68 65 61 64 6c 65 73 73 20 73 79 .running.on.a.;;.non-headless.sy
5580 73 74 65 6d 20 77 68 65 72 65 20 47 74 6b 20 63 61 6e 20 69 6e 69 74 69 61 6c 69 7a 65 29 2e 0a stem.where.Gtk.can.initialize)..
55a0 3b 3b 0a 3b 3b 20 41 73 20 61 20 72 65 73 75 6c 74 2c 20 61 20 75 73 65 72 20 6f 6e 20 61 20 47 ;;.;;.As.a.result,.a.user.on.a.G
55c0 55 49 2d 63 61 70 61 62 6c 65 20 52 61 63 6b 65 74 20 69 6e 73 74 61 6c 6c 20 77 69 6c 6c 20 73 UI-capable.Racket.install.will.s
55e0 65 65 20 74 68 65 0a 3b 3b 20 77 61 72 6e 69 6e 67 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6f ee.the.;;.warning.at.the.start.o
5600 66 20 5f 65 76 65 72 79 5f 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 2d 2d 20 6e 6f 74 20 6a 75 f._every_.REPL.session.--.not.ju
5620 73 74 20 77 68 65 6e 20 66 69 72 73 74 0a 3b 3b 20 72 75 6e 6e 69 6e 67 20 61 20 47 55 49 20 70 st.when.first.;;.running.a.GUI.p
5640 72 6f 67 72 61 6d 20 28 77 68 69 63 68 20 77 6f 75 6c 64 20 62 65 20 6d 6f 72 65 20 64 65 73 69 rogram.(which.would.be.more.desi
5660 72 61 62 6c 65 2c 20 62 75 74 20 49 20 64 6f 6e 27 74 0a 3b 3b 20 69 6d 6d 65 64 69 61 74 65 6c rable,.but.I.don't.;;.immediatel
5680 79 20 73 65 65 20 68 6f 77 20 74 6f 20 64 6f 20 74 68 61 74 29 2e 0a 28 64 65 66 69 6e 65 20 77 y.see.how.to.do.that)..(define.w
56a0 61 72 6e 65 64 2d 73 65 73 73 69 6f 6e 73 20 28 6d 75 74 61 62 6c 65 2d 73 65 74 29 29 0a 28 64 arned-sessions.(mutable-set)).(d
56c0 65 66 69 6e 65 20 28 6d 61 79 62 65 2d 77 61 72 6e 2d 66 6f 72 2d 73 65 73 73 69 6f 6e 29 0a 20 efine.(maybe-warn-for-session)..
56e0 20 28 75 6e 6c 65 73 73 20 63 75 72 72 65 6e 74 2d 67 65 74 2d 69 6e 74 65 72 61 63 74 69 6f 6e .(unless.current-get-interaction
5700 2d 65 76 74 0a 20 20 20 20 28 77 68 65 6e 20 28 67 75 69 2d 61 76 61 69 6c 61 62 6c 65 3f 29 0a -evt.....(when.(gui-available?).
5720 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 73 65 74 2d 6d 65 6d 62 65 72 3f 20 77 61 72 6e 65 ......(unless.(set-member?.warne
5740 64 2d 73 65 73 73 69 6f 6e 73 20 28 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 69 64 29 29 d-sessions.(current-session-id))
5760 0a 20 20 20 20 20 20 20 20 28 73 65 74 2d 61 64 64 21 20 77 61 72 6e 65 64 2d 73 65 73 73 69 6f .........(set-add!.warned-sessio
5780 6e 73 20 28 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 69 64 29 29 0a 20 20 20 20 20 20 20 ns.(current-session-id))........
57a0 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 40 .(repl-output-message..........@
57c0 7e 61 7b 57 61 72 6e 69 6e 67 3a 20 47 55 49 20 70 72 6f 67 72 61 6d 73 20 6d 69 67 68 74 20 6e ~a{Warning:.GUI.programs.might.n
57e0 6f 74 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79 20 62 65 63 61 75 73 65 0a 20 20 20 20 20 20 ot.work.correctly.because.......
5800 20 20 20 20 20 20 20 79 6f 75 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 52 61 63 6b 65 74 20 6c 61 .......your.version.of.Racket.la
5820 63 6b 73 20 60 63 75 72 72 65 6e 74 2d 67 65 74 2d 69 6e 74 65 72 61 63 74 69 6f 6e 2d 65 76 74 cks.`current-get-interaction-evt
5840 60 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 77 61 73 20 61 64 64 65 64 20 `,..............which.was.added.
5860 69 6e 20 52 61 63 6b 65 74 20 38 2e 34 2e 7d 29 29 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 in.Racket.8.4.})))))............
5880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
5a20 72 61 63 6b 65 74 2f 69 6e 73 74 72 75 6d 65 6e 74 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 racket/instrument.rkt...........
5a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
5a80 30 30 32 32 34 35 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 30 30 36 33 00 20 30 00 00 00 0022457.00000000000.020063..0...
5aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
5b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
5b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
5c20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
5c40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
5c60 61 6e 67 20 61 74 2d 65 78 70 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 ang.at-exp.racket/base..(require
5c80 20 64 61 74 61 2f 69 6e 74 65 72 76 61 6c 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c .data/interval-map..........(onl
5ca0 79 2d 69 6e 20 65 72 72 6f 72 74 72 61 63 65 2f 65 72 72 6f 72 74 72 61 63 65 2d 6b 65 79 0a 20 y-in.errortrace/errortrace-key..
5cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 74 72 61 63 65 2d 6b 65 79 29 .................errortrace-key)
5ce0 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 65 72 72 6f 72 74 72 61 63 65 2f 65 72 ..........(only-in.errortrace/er
5d00 72 6f 72 74 72 61 63 65 2d 6c 69 62 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 rortrace-lib...................p
5d20 72 69 6e 74 2d 65 72 72 6f 72 2d 74 72 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rint-error-trace................
5d40 20 20 20 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 2d 64 69 73 70 6c 61 79 2d 64 65 70 74 68 29 0a ...error-context-display-depth).
5d60 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 65 72 72 6f 72 74 72 61 63 65 2f 73 74 61 .........(only-in.errortrace/sta
5d80 63 6b 74 72 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 63 6b 74 cktrace...................stackt
5da0 72 61 63 65 5e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 63 6b 74 72 61 race^...................stacktra
5dc0 63 65 40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 63 6b 74 72 61 63 65 ce@...................stacktrace
5de0 2d 69 6d 70 6f 72 74 73 5e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 69 67 -imports^...................orig
5e00 69 6e 61 6c 2d 73 74 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 61 6e inal-stx...................expan
5e20 64 65 64 2d 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 0a ded-stx)..........racket/format.
5e40 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 72 .........racket/match..........r
5e60 61 63 6b 65 74 2f 73 65 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 75 6e 69 74 0a 20 acket/set..........racket/unit..
5e80 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 2f 70 61 72 73 65 0a 20 20 20 20 20 20 20 20 20 22 72 ........syntax/parse.........."r
5ea0 65 70 6c 2d 6f 75 74 70 75 74 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 72 65 70 6c 2d 73 epl-output.rkt".........."repl-s
5ec0 65 73 73 69 6f 6e 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 75 74 69 6c 2e 72 6b 74 22 29 ession.rkt".........."util.rkt")
5ee0 0a 0a 28 70 72 6f 76 69 64 65 20 6d 61 6b 65 2d 69 6e 73 74 72 75 6d 65 6e 74 65 64 2d 65 76 61 ..(provide.make-instrumented-eva
5f00 6c 2d 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 l-handler..........error-context
5f20 2d 64 69 73 70 6c 61 79 2d 64 65 70 74 68 0a 20 20 20 20 20 20 20 20 20 67 65 74 2d 65 72 72 6f -display-depth..........get-erro
5f40 72 2d 74 72 61 63 65 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 72 75 6d 65 6e 74 69 6e 67 2d 65 r-trace..........instrumenting-e
5f60 6e 61 62 6c 65 64 0a 20 20 20 20 20 20 20 20 20 74 65 73 74 2d 63 6f 76 65 72 61 67 65 2d 65 6e nabled..........test-coverage-en
5f80 61 62 6c 65 64 0a 20 20 20 20 20 20 20 20 20 63 6c 65 61 72 2d 74 65 73 74 2d 63 6f 76 65 72 61 abled..........clear-test-covera
5fa0 67 65 2d 69 6e 66 6f 21 0a 20 20 20 20 20 20 20 20 20 67 65 74 2d 75 6e 63 6f 76 65 72 65 64 0a ge-info!..........get-uncovered.
5fc0 20 20 20 20 20 20 20 20 20 70 72 6f 66 69 6c 69 6e 67 2d 65 6e 61 62 6c 65 64 0a 20 20 20 20 20 .........profiling-enabled......
5fe0 20 20 20 20 63 6c 65 61 72 2d 70 72 6f 66 69 6c 65 2d 69 6e 66 6f 21 0a 20 20 20 20 20 20 20 20 ....clear-profile-info!.........
6000 20 67 65 74 2d 70 72 6f 66 69 6c 65 29 0a 0a 3b 3b 3b 20 43 6f 72 65 20 69 6e 73 74 72 75 6d 65 .get-profile)..;;;.Core.instrume
6020 6e 74 69 6e 67 0a 0a 28 64 65 66 69 6e 65 20 69 6e 73 74 72 75 6d 65 6e 74 69 6e 67 2d 65 6e 61 nting..(define.instrumenting-ena
6040 62 6c 65 64 20 28 6d 61 6b 65 2d 70 61 72 61 6d 65 74 65 72 20 23 66 29 29 0a 0a 28 64 65 66 69 bled.(make-parameter.#f))..(defi
6060 6e 65 20 28 28 6d 61 6b 65 2d 69 6e 73 74 72 75 6d 65 6e 74 65 64 2d 65 76 61 6c 2d 68 61 6e 64 ne.((make-instrumented-eval-hand
6080 6c 65 72 20 5b 6f 72 69 67 2d 65 76 61 6c 20 28 63 75 72 72 65 6e 74 2d 65 76 61 6c 29 5d 29 20 ler.[orig-eval.(current-eval)]).
60a0 6f 72 69 67 2d 65 78 70 29 0a 20 20 3b 3b 20 54 68 69 73 20 69 73 20 6d 6f 64 65 6c 65 64 20 61 orig-exp)...;;.This.is.modeled.a
60c0 66 74 65 72 20 74 68 65 20 6f 6e 65 20 69 6e 20 44 72 52 61 63 6b 65 74 2e 0a 20 20 28 63 6f 6e fter.the.one.in.DrRacket....(con
60e0 64 0a 20 20 20 20 5b 28 6f 72 20 28 6e 6f 74 20 28 69 6e 73 74 72 75 6d 65 6e 74 69 6e 67 2d 65 d.....[(or.(not.(instrumenting-e
6100 6e 61 62 6c 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 69 6c 65 64 2d 65 78 70 72 nabled))..........(compiled-expr
6120 65 73 73 69 6f 6e 3f 20 28 73 79 6e 74 61 78 2d 6f 72 2d 73 65 78 70 72 2d 3e 73 65 78 70 72 20 ession?.(syntax-or-sexpr->sexpr.
6140 6f 72 69 67 2d 65 78 70 29 29 29 0a 20 20 20 20 20 28 6f 72 69 67 2d 65 76 61 6c 20 6f 72 69 67 orig-exp)))......(orig-eval.orig
6160 2d 65 78 70 29 5d 0a 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 20 -exp)].....[else......(let.loop.
6180 28 5b 65 78 70 20 28 73 79 6e 74 61 78 2d 6f 72 2d 73 65 78 70 72 2d 3e 73 79 6e 74 61 78 20 6f ([exp.(syntax-or-sexpr->syntax.o
61a0 72 69 67 2d 65 78 70 29 5d 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 74 6f 70 2d 65 20 28 rig-exp)])........(let.([top-e.(
61c0 65 78 70 61 6e 64 2d 73 79 6e 74 61 78 2d 74 6f 2d 74 6f 70 2d 66 6f 72 6d 20 65 78 70 29 5d 29 expand-syntax-to-top-form.exp)])
61e0 0a 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 63 61 73 65 20 74 6f 70 2d 65 20 28 62 65 ..........(syntax-case.top-e.(be
6200 67 69 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 5b 28 62 65 67 69 6e 20 65 78 70 72 20 2e 2e 2e gin)............[(begin.expr....
6220 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 6f 75 6e 64 20 61 20 60 62 65 67 69 6e 27 ).............;;.Found.a.`begin'
6240 2c 20 73 6f 20 65 78 70 61 6e 64 2f 65 76 61 6c 20 65 61 63 68 20 63 6f 6e 74 61 69 6e 65 64 0a ,.so.expand/eval.each.contained.
6260 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 6e 65 20 61 74 ............;;.expression.one.at
6280 20 61 20 74 69 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 69 2d 6c 6f 6f 70 20 .a.time.............(let.i-loop.
62a0 28 5b 65 78 70 72 73 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 23 27 28 65 78 70 72 20 2e 2e ([exprs.(syntax->list.#'(expr...
62c0 2e 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6c .))]..........................[l
62e0 61 73 74 2d 6f 6e 65 20 28 6c 69 73 74 20 28 76 6f 69 64 29 29 5d 29 0a 20 20 20 20 20 20 20 20 ast-one.(list.(void))]).........
6300 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6e 75 ......(cond.................[(nu
6320 6c 6c 3f 20 65 78 70 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 ll?.exprs)..................(app
6340 6c 79 20 76 61 6c 75 65 73 20 6c 61 73 74 2d 6f 6e 65 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 ly.values.last-one)]............
6360 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 2d 6c .....[else..................(i-l
6380 6f 6f 70 20 28 63 64 72 20 65 78 70 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oop.(cdr.exprs).................
63a0 20 20 20 20 20 20 20 20 20 28 63 61 6c 6c 2d 77 69 74 68 2d 76 61 6c 75 65 73 0a 20 20 20 20 20 .........(call-with-values......
63c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 29 0a 20 20 20 20 .....................(...().....
63e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 6c 2d 77 69 ........................(call-wi
6400 74 68 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 70 72 6f 6d 70 74 0a 20 20 20 20 20 20 20 20 20 th-continuation-prompt..........
6420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 29 20 28 6c 6f 6f 70 ....................(...().(loop
6440 20 28 63 61 72 20 65 78 70 72 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(car.exprs)))..................
6460 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 61 75 6c 74 2d 63 6f 6e 74 69 6e 75 61 74 69 6f ............(default-continuatio
6480 6e 2d 70 72 6f 6d 70 74 2d 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n-prompt-tag)...................
64a0 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 61 72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........(...args.............
64c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 0a 20 20 20 20 20 20 ...................(apply.......
64e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 62 6f 72 74 2d ..........................abort-
6500 63 75 72 72 65 6e 74 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 current-continuation............
6520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 61 75 6c 74 2d 63 6f .....................(default-co
6540 6e 74 69 6e 75 61 74 69 6f 6e 2d 70 72 6f 6d 70 74 2d 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 ntinuation-prompt-tag)..........
6560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 67 73 29 29 29 29 0a .......................args)))).
6580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 ..........................list))
65a0 5d 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b 5f 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 ]))]............[_else..........
65c0 20 20 20 3b 3b 20 4e 6f 74 20 60 62 65 67 69 6e 27 2c 20 73 6f 20 70 72 6f 63 65 65 64 20 77 69 ...;;.Not.`begin',.so.proceed.wi
65e0 74 68 20 6e 6f 72 6d 61 6c 20 65 78 70 61 6e 64 20 61 6e 64 20 65 76 61 6c 0a 20 20 20 20 20 20 th.normal.expand.and.eval.......
6600 20 20 20 20 20 20 28 6c 65 74 2a 20 28 5b 65 78 70 61 6e 64 65 64 2d 65 20 28 65 78 70 61 6e 64 ......(let*.([expanded-e.(expand
6620 2d 73 79 6e 74 61 78 20 74 6f 70 2d 65 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -syntax.top-e)].................
6640 20 20 20 3b 3b 20 46 6f 72 20 6d 61 6b 65 2d 73 74 2d 6d 61 72 6b 20 74 6f 20 77 6f 72 6b 20 63 ...;;.For.make-st-mark.to.work.c
6660 6f 72 72 65 63 74 6c 79 20 77 65 20 6e 65 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 orrectly.we.need.to.............
6680 20 20 20 20 20 20 20 3b 3b 20 70 61 72 61 6d 65 74 65 72 69 7a 65 20 6f 72 69 67 69 6e 61 6c 2d .......;;.parameterize.original-
66a0 73 74 78 20 61 6e 64 20 65 78 70 61 6e 64 65 64 2d 73 74 78 2e 0a 20 20 20 20 20 20 20 20 20 20 stx.and.expanded-stx............
66c0 20 20 20 20 20 20 20 20 20 5b 61 6e 6e 6f 74 61 74 65 64 20 28 70 61 72 61 6d 65 74 65 72 69 7a .........[annotated.(parameteriz
66e0 65 20 28 5b 6f 72 69 67 69 6e 61 6c 2d 73 74 78 20 74 6f 70 2d 65 5d 0a 20 20 20 20 20 20 20 20 e.([original-stx.top-e].........
6700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6720 20 20 20 20 20 5b 65 78 70 61 6e 64 65 64 2d 73 74 78 20 65 78 70 61 6e 64 65 64 2d 65 5d 29 0a .....[expanded-stx.expanded-e]).
6740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6760 28 61 6e 6e 6f 74 61 74 65 2d 74 6f 70 20 65 78 70 61 6e 64 65 64 2d 65 0a 20 20 20 20 20 20 20 (annotate-top.expanded-e........
6780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
67a0 20 20 20 20 20 20 20 28 6e 61 6d 65 73 70 61 63 65 2d 62 61 73 65 2d 70 68 61 73 65 29 29 29 5d .......(namespace-base-phase)))]
67c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 61 72 6e 2d 61 62 6f 75 74 2d 74 69 6d 65 )...............(warn-about-time
67e0 2d 61 70 70 6c 79 20 65 78 70 61 6e 64 65 64 2d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -apply.expanded-e)..............
6800 20 28 6f 72 69 67 2d 65 76 61 6c 20 61 6e 6e 6f 74 61 74 65 64 29 29 5d 29 29 29 5d 29 29 0a 0a .(orig-eval.annotated))])))]))..
6820 28 64 65 66 69 6e 65 20 77 61 72 6e 65 64 2d 73 65 73 73 69 6f 6e 73 20 28 6d 75 74 61 62 6c 65 (define.warned-sessions.(mutable
6840 2d 73 65 74 29 29 0a 28 64 65 66 69 6e 65 20 28 77 61 72 6e 2d 61 62 6f 75 74 2d 74 69 6d 65 2d -set)).(define.(warn-about-time-
6860 61 70 70 6c 79 20 73 74 78 29 0a 20 20 28 73 79 6e 74 61 78 2d 70 61 72 73 65 20 73 74 78 0a 20 apply.stx)...(syntax-parse.stx..
6880 20 20 20 23 3a 64 61 74 75 6d 2d 6c 69 74 65 72 61 6c 73 20 28 23 25 61 70 70 20 74 69 6d 65 2d ...#:datum-literals.(#%app.time-
68a0 61 70 70 6c 79 29 0a 20 20 20 20 5b 28 23 25 61 70 70 20 74 69 6d 65 2d 61 70 70 6c 79 20 2e 20 apply).....[(#%app.time-apply...
68c0 5f 29 0a 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 73 65 74 2d 6d 65 6d 62 65 72 3f 20 77 61 72 _)......(unless.(set-member?.war
68e0 6e 65 64 2d 73 65 73 73 69 6f 6e 73 20 28 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 69 64 ned-sessions.(current-session-id
6900 29 29 0a 20 20 20 20 20 20 20 28 73 65 74 2d 61 64 64 21 20 77 61 72 6e 65 64 2d 73 65 73 73 69 ))........(set-add!.warned-sessi
6920 6f 6e 73 20 28 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 69 64 29 29 0a 20 20 20 20 20 20 ons.(current-session-id)).......
6940 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 40 7e .(repl-output-message.........@~
6960 61 7b 57 61 72 6e 69 6e 67 3a 20 74 69 6d 65 20 6f 72 20 74 69 6d 65 2d 61 70 70 6c 79 20 75 73 a{Warning:.time.or.time-apply.us
6980 65 64 20 69 6e 20 65 72 72 6f 72 74 72 61 63 65 20 61 6e 6e 6f 74 61 74 65 64 20 63 6f 64 65 2e ed.in.errortrace.annotated.code.
69a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 73 74 65 61 64 20 75 73 65 20 63 6f 6d 6d 61 6e 64 .............Instead.use.command
69c0 2d 6c 69 6e 65 20 72 61 63 6b 65 74 20 66 6f 72 20 6d 6f 72 65 2d 61 63 63 75 72 61 74 65 20 6d -line.racket.for.more-accurate.m
69e0 65 61 73 75 72 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 57 69 6c 6c 20 6e easurements..............(Will.n
6a00 6f 74 20 77 61 72 6e 20 61 67 61 69 6e 20 66 6f 72 20 74 68 69 73 20 52 45 50 4c 20 73 65 73 73 ot.warn.again.for.this.REPL.sess
6a20 69 6f 6e 2e 29 7d 29 29 0a 20 20 20 20 20 20 20 23 74 5d 0a 20 20 20 20 5b 28 73 73 20 2e 2e 2e ion.)}))........#t].....[(ss....
6a40 29 20 28 66 6f 72 2f 6f 72 20 28 5b 73 74 78 20 28 69 6e 2d 6c 69 73 74 20 28 73 79 6e 74 61 78 ).(for/or.([stx.(in-list.(syntax
6a60 2d 3e 6c 69 73 74 20 23 27 28 73 73 20 2e 2e 2e 29 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 ->list.#'(ss....)))])...........
6a80 20 20 20 20 20 20 20 20 28 77 61 72 6e 2d 61 62 6f 75 74 2d 74 69 6d 65 2d 61 70 70 6c 79 20 73 ........(warn-about-time-apply.s
6aa0 74 78 29 29 5d 0a 20 20 20 20 5b 5f 20 23 66 5d 29 29 0a 0a 0a 3b 3b 3b 20 42 65 74 74 65 72 20 tx))].....[_.#f]))...;;;.Better.
6ac0 73 74 61 63 6b 20 74 72 61 63 65 73 20 28 22 62 61 73 69 63 20 65 72 72 6f 72 74 72 61 63 65 22 stack.traces.("basic.errortrace"
6ae0 29 0a 0a 28 64 65 66 69 6e 65 20 62 61 73 65 2d 70 68 61 73 65 0a 20 20 28 76 61 72 69 61 62 6c )..(define.base-phase...(variabl
6b00 65 2d 72 65 66 65 72 65 6e 63 65 2d 3e 6d 6f 64 75 6c 65 2d 62 61 73 65 2d 70 68 61 73 65 20 28 e-reference->module-base-phase.(
6b20 23 25 76 61 72 69 61 62 6c 65 2d 72 65 66 65 72 65 6e 63 65 29 29 29 0a 0a 28 64 65 66 69 6e 65 #%variable-reference)))..(define
6b40 20 28 77 69 74 68 2d 6d 61 72 6b 20 6d 61 72 6b 20 65 78 70 72 20 70 68 61 73 65 29 0a 20 20 3b .(with-mark.mark.expr.phase)...;
6b60 3b 20 54 68 69 73 20 69 73 20 6d 6f 64 65 6c 65 64 20 61 66 74 65 72 20 74 68 65 20 6f 6e 65 20 ;.This.is.modeled.after.the.one.
6b80 69 6e 20 65 72 72 6f 72 74 72 61 63 65 2d 6c 69 62 2e 20 53 70 65 63 69 66 69 63 61 6c 6c 79 2c in.errortrace-lib..Specifically,
6ba0 0a 20 20 3b 3b 20 75 73 65 20 60 6d 61 6b 65 2d 73 74 2d 6d 61 72 6b 27 20 66 6f 72 20 69 74 73 ...;;.use.`make-st-mark'.for.its
6bc0 20 63 61 70 74 75 72 65 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 73 79 6e 74 61 78 20 .capture.of.the.original.syntax.
6be0 74 6f 20 73 68 6f 77 0a 20 20 3b 3b 20 69 6e 20 74 68 65 20 73 74 61 63 6b 20 74 72 61 63 65 20 to.show...;;.in.the.stack.trace.
6c00 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 0a 20 20 28 6d 61 74 63 68 20 28 6d 61 6b 65 2d 73 74 error.message....(match.(make-st
6c20 2d 6d 61 72 6b 20 6d 61 72 6b 20 70 68 61 73 65 29 0a 20 20 20 20 5b 23 66 20 20 65 78 70 72 5d -mark.mark.phase).....[#f..expr]
6c40 0a 20 20 20 20 5b 6c 6f 63 20 28 64 65 66 69 6e 65 20 70 68 61 73 65 2d 73 68 69 66 74 20 28 2d .....[loc.(define.phase-shift.(-
6c60 20 70 68 61 73 65 20 62 61 73 65 2d 70 68 61 73 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 69 .phase.base-phase))..........(wi
6c80 74 68 2d 73 79 6e 74 61 78 20 28 5b 65 78 70 72 20 65 78 70 72 5d 0a 20 20 20 20 20 20 20 20 20 th-syntax.([expr.expr]..........
6ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6c 6f 63 20 6c 6f 63 5d 0a 20 20 20 20 20 20 20 20 ..............[loc.loc].........
6cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 72 72 6f 72 74 72 61 63 65 2d 6b 65 79 20 65 ...............[errortrace-key.e
6ce0 72 72 6f 72 74 72 61 63 65 2d 6b 65 79 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rrortrace-key]..................
6d00 20 20 20 20 20 20 5b 71 74 65 20 28 73 79 6e 74 61 78 2d 73 68 69 66 74 2d 70 68 61 73 65 2d 6c ......[qte.(syntax-shift-phase-l
6d20 65 76 65 6c 20 23 27 71 75 6f 74 65 20 70 68 61 73 65 2d 73 68 69 66 74 29 5d 0a 20 20 20 20 20 evel.#'quote.phase-shift)]......
6d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 77 63 6d 20 28 73 79 6e 74 61 78 2d 73 ..................[wcm.(syntax-s
6d60 68 69 66 74 2d 70 68 61 73 65 2d 6c 65 76 65 6c 20 23 27 77 69 74 68 2d 63 6f 6e 74 69 6e 75 61 hift-phase-level.#'with-continua
6d80 74 69 6f 6e 2d 6d 61 72 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion-mark.......................
6da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6dc0 70 68 61 73 65 2d 73 68 69 66 74 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 phase-shift)])............(synta
6de0 78 20 28 77 63 6d 20 28 71 74 65 20 65 72 72 6f 72 74 72 61 63 65 2d 6b 65 79 29 0a 20 20 20 20 x.(wcm.(qte.errortrace-key).....
6e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63 0a 20 20 20 20 20 20 20 20 ....................loc.........
6e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 72 29 29 29 5d 29 29 0a 0a 3b 3b 20 46 ................expr)))]))..;;.F
6e40 75 6e 63 74 69 6f 6e 61 6c 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 70 72 69 6e 74 2d 65 unctional.alternative.to.print-e
6e60 72 72 6f 72 2d 74 72 61 63 65 2e 0a 28 64 65 66 69 6e 65 20 28 67 65 74 2d 65 72 72 6f 72 2d 74 rror-trace..(define.(get-error-t
6e80 72 61 63 65 20 65 29 0a 20 20 28 66 6f 72 2f 6c 69 73 74 20 28 5b 5f 20 28 65 72 72 6f 72 2d 63 race.e)...(for/list.([_.(error-c
6ea0 6f 6e 74 65 78 74 2d 64 69 73 70 6c 61 79 2d 64 65 70 74 68 29 5d 0a 20 20 20 20 20 20 20 20 20 ontext-display-depth)]..........
6ec0 20 20 20 20 5b 73 74 78 20 28 69 6e 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....[stx.(in-list...............
6ee0 20 20 20 20 20 28 6d 61 70 20 73 74 2d 6d 61 72 6b 2d 73 6f 75 72 63 65 0a 20 20 20 20 20 20 20 .....(map.st-mark-source........
6f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d .................(continuation-m
6f20 61 72 6b 2d 73 65 74 2d 3e 6c 69 73 74 20 28 65 78 6e 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d ark-set->list.(exn-continuation-
6f40 6d 61 72 6b 73 20 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 marks.e)........................
6f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 ..............................er
6f80 72 6f 72 74 72 61 63 65 2d 6b 65 79 29 29 29 5d 29 0a 20 20 20 20 28 63 6f 6e 73 20 28 73 79 6e rortrace-key)))]).....(cons.(syn
6fa0 74 61 78 2d 3e 64 61 74 75 6d 20 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 72 63 6c 6f tax->datum.stx)...........(srclo
6fc0 63 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 c.(syntax-source.stx)...........
6fe0 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 6c 69 6e 65 20 73 74 78 29 0a 20 20 20 20 20 20 ........(syntax-line.stx).......
7000 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 63 6f 6c 75 6d 6e 20 73 74 78 29 0a ............(syntax-column.stx).
7020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 70 6f 73 69 74 69 ..................(syntax-positi
7040 6f 6e 20 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 on.stx)...................(synta
7060 78 2d 73 70 61 6e 20 73 74 78 29 29 29 29 29 0a 0a 3b 3b 3b 20 54 65 73 74 20 63 6f 76 65 72 61 x-span.stx)))))..;;;.Test.covera
7080 67 65 0a 0a 28 64 65 66 69 6e 65 20 74 65 73 74 2d 63 6f 76 65 72 61 67 65 2d 65 6e 61 62 6c 65 ge..(define.test-coverage-enable
70a0 64 20 28 6d 61 6b 65 2d 70 61 72 61 6d 65 74 65 72 20 23 66 29 29 20 3b 73 74 61 63 6b 74 72 61 d.(make-parameter.#f)).;stacktra
70c0 63 65 2d 69 6d 70 6f 72 74 73 5e 0a 0a 28 64 65 66 69 6e 65 20 74 65 73 74 2d 63 6f 76 65 72 61 ce-imports^..(define.test-covera
70e0 67 65 2d 69 6e 66 6f 20 28 6d 61 6b 65 2d 68 61 73 68 65 71 29 29 20 3b 28 68 61 73 68 2f 63 20 ge-info.(make-hasheq)).;(hash/c.
7100 73 79 6e 74 61 78 3f 20 6d 70 61 69 72 3f 29 2e 0a 3b 3b 20 54 68 69 73 20 61 70 70 72 6f 61 63 syntax?.mpair?)..;;.This.approac
7120 68 20 74 61 6b 65 6e 20 66 72 6f 6d 20 44 72 52 2e 20 50 72 65 73 75 6d 61 62 6c 79 20 73 65 74 h.taken.from.DrR..Presumably.set
7140 2d 6d 63 61 72 21 20 69 73 20 66 61 73 74 65 72 20 74 68 61 6e 20 61 0a 3b 3b 20 62 6f 78 2c 20 -mcar!.is.faster.than.a.;;.box,.
7160 77 68 69 63 68 20 69 6e 20 74 75 72 6e 20 69 73 20 66 61 73 74 65 72 20 74 68 61 6e 20 68 61 73 which.in.turn.is.faster.than.has
7180 68 2d 73 65 74 21 2e 20 54 68 65 20 63 64 72 20 63 65 6c 6c 20 69 73 0a 3b 3b 20 69 67 6e 6f 72 h-set!..The.cdr.cell.is.;;.ignor
71a0 65 64 2e 0a 0a 28 64 65 66 69 6e 65 20 28 63 6c 65 61 72 2d 74 65 73 74 2d 63 6f 76 65 72 61 67 ed...(define.(clear-test-coverag
71c0 65 2d 69 6e 66 6f 21 29 0a 20 20 28 68 61 73 68 2d 63 6c 65 61 72 21 20 74 65 73 74 2d 63 6f 76 e-info!)...(hash-clear!.test-cov
71e0 65 72 61 67 65 2d 69 6e 66 6f 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 69 6e 69 74 69 61 6c 69 7a erage-info))..(define.(initializ
7200 65 2d 74 65 73 74 2d 63 6f 76 65 72 61 67 65 2d 70 6f 69 6e 74 20 65 78 70 72 29 20 3b 73 74 61 e-test-coverage-point.expr).;sta
7220 63 6b 74 72 61 63 65 2d 69 6d 70 6f 72 74 73 5e 0a 20 20 28 68 61 73 68 2d 73 65 74 21 20 74 65 cktrace-imports^...(hash-set!.te
7240 73 74 2d 63 6f 76 65 72 61 67 65 2d 69 6e 66 6f 20 65 78 70 72 20 28 6d 63 6f 6e 73 20 23 66 20 st-coverage-info.expr.(mcons.#f.
7260 23 66 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 74 65 73 74 2d 63 6f 76 65 72 65 64 20 65 78 70 #f)))..(define.(test-covered.exp
7280 72 29 20 3b 73 74 61 63 6b 74 72 61 63 65 2d 69 6d 70 6f 72 74 73 5e 0a 20 20 28 64 65 66 69 6e r).;stacktrace-imports^...(defin
72a0 65 20 76 20 28 68 61 73 68 2d 72 65 66 20 74 65 73 74 2d 63 6f 76 65 72 61 67 65 2d 69 6e 66 6f e.v.(hash-ref.test-coverage-info
72c0 20 65 78 70 72 20 23 66 29 29 0a 20 20 28 61 6e 64 20 76 20 28 77 69 74 68 2d 73 79 6e 74 61 78 .expr.#f))...(and.v.(with-syntax
72e0 20 28 5b 76 20 76 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 23 27 28 23 25 70 6c 61 69 6e 2d 61 .([v.v])............#'(#%plain-a
7300 70 70 20 73 65 74 2d 6d 63 61 72 21 20 76 20 23 74 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 pp.set-mcar!.v.#t))))..(define.(
7320 67 65 74 2d 75 6e 63 6f 76 65 72 65 64 20 73 6f 75 72 63 65 29 0a 20 20 28 66 6f 72 2f 73 65 74 get-uncovered.source)...(for/set
7340 20 28 5b 73 74 78 20 28 69 6e 2d 6c 69 73 74 20 28 67 65 74 2d 75 6e 63 6f 76 65 72 65 64 2d 65 .([stx.(in-list.(get-uncovered-e
7360 78 70 72 65 73 73 69 6f 6e 73 20 73 6f 75 72 63 65 29 29 5d 29 0a 20 20 20 20 28 64 65 66 69 6e xpressions.source))]).....(defin
7380 65 20 62 65 67 20 28 73 79 6e 74 61 78 2d 70 6f 73 69 74 69 6f 6e 20 73 74 78 29 29 0a 20 20 20 e.beg.(syntax-position.stx))....
73a0 20 28 64 65 66 69 6e 65 20 65 6e 64 20 28 2b 20 62 65 67 20 28 73 79 6e 74 61 78 2d 73 70 61 6e .(define.end.(+.beg.(syntax-span
73c0 20 73 74 78 29 29 29 0a 20 20 20 20 28 63 6f 6e 73 20 62 65 67 20 65 6e 64 29 29 29 0a 0a 3b 3b .stx))).....(cons.beg.end)))..;;
73e0 20 66 72 6f 6d 20 73 61 6e 64 62 6f 78 2d 6c 69 62 0a 28 64 65 66 69 6e 65 20 28 67 65 74 2d 75 .from.sandbox-lib.(define.(get-u
7400 6e 63 6f 76 65 72 65 64 2d 65 78 70 72 65 73 73 69 6f 6e 73 20 73 6f 75 72 63 65 29 0a 20 20 28 ncovered-expressions.source)...(
7420 6c 65 74 2a 20 28 5b 78 73 20 28 68 61 73 68 2d 6d 61 70 20 74 65 73 74 2d 63 6f 76 65 72 61 67 let*.([xs.(hash-map.test-coverag
7440 65 2d 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c e-info........................(l
7460 61 6d 62 64 61 20 28 6b 20 76 29 20 28 63 6f 6e 73 20 6b 20 28 6d 63 61 72 20 76 29 29 29 29 5d ambda.(k.v).(cons.k.(mcar.v))))]
7480 0a 20 20 20 20 20 20 20 20 20 5b 78 73 20 28 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 78 ..........[xs.(filter.(lambda.(x
74a0 29 20 28 61 6e 64 20 28 73 79 6e 74 61 78 2d 70 6f 73 69 74 69 6f 6e 20 28 63 61 72 20 78 29 29 ).(and.(syntax-position.(car.x))
74c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
74e0 20 20 20 20 20 20 20 28 65 71 75 61 6c 3f 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 28 63 .......(equal?.(syntax-source.(c
7500 61 72 20 78 29 29 20 73 6f 75 72 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ar.x)).source)))................
7520 20 20 20 20 20 20 78 73 29 5d 0a 20 20 20 20 20 20 20 20 20 5b 78 73 20 28 73 6f 72 74 20 78 73 ......xs)]..........[xs.(sort.xs
7540 20 28 6c 61 6d 62 64 61 20 28 78 31 20 78 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(lambda.(x1.x2)................
7560 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 70 31 20 28 73 79 6e 74 61 78 2d 70 6f 73 69 74 .........(let.([p1.(syntax-posit
7580 69 6f 6e 20 28 63 61 72 20 78 31 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion.(car.x1))]..................
75a0 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 70 32 20 28 73 79 6e 74 61 78 2d 70 6f 73 69 74 69 6f .............[p2.(syntax-positio
75c0 6e 20 28 63 61 72 20 78 32 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.(car.x2))])...................
75e0 20 20 20 20 20 20 20 20 28 6f 72 20 28 3c 20 70 31 20 70 32 29 20 3b 20 65 61 72 6c 69 65 72 20 ........(or.(<.p1.p2).;.earlier.
7600 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 first...........................
7620 20 20 20 20 28 61 6e 64 20 28 3d 20 70 31 20 70 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(and.(=.p1.p2)..............
7640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 73 79 6e 74 61 78 ......................(>.(syntax
7660 2d 73 70 61 6e 20 28 63 61 72 20 78 31 29 29 20 3b 20 77 69 64 65 72 20 66 69 72 73 74 0a 20 20 -span.(car.x1)).;.wider.first...
7680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
76a0 20 20 20 20 28 73 79 6e 74 61 78 2d 73 70 61 6e 20 28 63 61 72 20 78 32 29 29 29 29 29 29 29 29 ....(syntax-span.(car.x2))))))))
76c0 5d 0a 20 20 20 20 20 20 20 20 20 5b 78 73 20 28 72 65 76 65 72 73 65 20 78 73 29 5d 29 0a 20 20 ]..........[xs.(reverse.xs)])...
76e0 20 20 28 69 66 20 28 6e 75 6c 6c 3f 20 78 73 29 0a 20 20 20 20 20 20 78 73 0a 20 20 20 20 20 20 ..(if.(null?.xs).......xs.......
7700 28 6c 65 74 20 6c 6f 6f 70 20 28 5b 78 73 20 28 63 64 72 20 78 73 29 5d 20 5b 72 20 28 6c 69 73 (let.loop.([xs.(cdr.xs)].[r.(lis
7720 74 20 28 63 61 72 20 78 73 29 29 5d 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 3f t.(car.xs))]).........(if.(null?
7740 20 78 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 20 63 61 72 20 28 66 69 6c 74 65 72 20 .xs)...........(map.car.(filter.
7760 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6e 6f 74 20 28 63 64 72 20 78 29 29 29 20 72 29 29 0a 20 (lambda.(x).(not.(cdr.x))).r))..
7780 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 28 63 64 72 20 78 73 29 0a 20 20 20 20 20 20 20 20 .........(loop.(cdr.xs).........
77a0 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 5b 28 6e 6f 74 20 28 61 6e 64 20 28 3d 20 28 73 79 6e ........(cond.[(not.(and.(=.(syn
77c0 74 61 78 2d 70 6f 73 69 74 69 6f 6e 20 28 63 61 61 72 20 78 73 29 29 0a 20 20 20 20 20 20 20 20 tax-position.(caar.xs)).........
77e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e ............................(syn
7800 74 61 78 2d 70 6f 73 69 74 69 6f 6e 20 28 63 61 61 72 20 72 29 29 29 0a 20 20 20 20 20 20 20 20 tax-position.(caar.r))).........
7820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 73 79 6e .........................(=.(syn
7840 74 61 78 2d 73 70 61 6e 20 28 63 61 61 72 20 78 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 tax-span.(caar.xs)).............
7860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d ........................(syntax-
7880 73 70 61 6e 20 28 63 61 61 72 20 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 span.(caar.r)))))...............
78a0 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63 61 72 20 78 73 29 20 72 29 5d 0a 20 20 20 20 .........(cons.(car.xs).r)].....
78c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 63 64 61 72 20 72 29 20 72 5d 0a 20 ..................[(cdar.r).r]..
78e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 28 63 6f 6e 73 .....................[else.(cons
7900 20 28 63 61 72 20 78 73 29 20 28 63 64 72 20 72 29 29 5d 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 .(car.xs).(cdr.r))])))))))..;;;.
7920 50 72 6f 66 69 6c 69 6e 67 0a 0a 28 64 65 66 69 6e 65 20 70 72 6f 66 69 6c 65 2d 6b 65 79 20 28 Profiling..(define.profile-key.(
7940 67 65 6e 73 79 6d 29 29 20 3b 73 74 61 63 6b 74 72 61 63 65 2d 69 6d 70 6f 72 74 73 5e 0a 0a 28 gensym)).;stacktrace-imports^..(
7960 64 65 66 69 6e 65 20 70 72 6f 66 69 6c 69 6e 67 2d 65 6e 61 62 6c 65 64 20 28 6d 61 6b 65 2d 70 define.profiling-enabled.(make-p
7980 61 72 61 6d 65 74 65 72 20 23 66 29 29 20 3b 73 74 61 63 6b 74 72 61 63 65 2d 69 6d 70 6f 72 74 arameter.#f)).;stacktrace-import
79a0 73 5e 0a 0a 28 64 65 66 69 6e 65 20 70 72 6f 66 69 6c 65 2d 69 6e 66 6f 20 28 6d 61 6b 65 2d 68 s^..(define.profile-info.(make-h
79c0 61 73 68 65 71 29 29 20 3b 28 68 61 73 68 2f 63 20 61 6e 79 2f 63 20 70 72 6f 66 3f 29 0a 0a 28 asheq)).;(hash/c.any/c.prof?)..(
79e0 64 65 66 69 6e 65 20 28 63 6c 65 61 72 2d 70 72 6f 66 69 6c 65 2d 69 6e 66 6f 21 29 0a 20 20 28 define.(clear-profile-info!)...(
7a00 68 61 73 68 2d 63 6c 65 61 72 21 20 70 72 6f 66 69 6c 65 2d 69 6e 66 6f 29 29 0a 0a 28 73 74 72 hash-clear!.profile-info))..(str
7a20 75 63 74 20 70 72 6f 66 0a 20 20 28 6e 65 73 74 3f 20 3b 67 75 61 72 64 20 6e 65 73 74 65 64 20 uct.prof...(nest?.;guard.nested.
7a40 63 61 6c 6c 73 0a 20 20 20 6e 75 6d 20 20 20 3b 65 78 61 63 74 2d 6e 6f 6e 6e 65 67 61 74 69 76 calls....num...;exact-nonnegativ
7a60 65 2d 69 6e 74 65 67 65 72 3f 0a 20 20 20 74 69 6d 65 20 20 3b 65 78 61 63 74 2d 6e 6f 6e 6e 65 e-integer?....time..;exact-nonne
7a80 67 61 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 0a 20 20 20 6e 61 6d 65 20 20 3b 28 6f 72 2f 63 20 gative-integer?....name..;(or/c.
7aa0 23 66 20 73 79 6d 62 6f 6c 3f 29 0a 20 20 20 65 78 70 72 29 20 3b 73 79 6e 74 61 78 3f 0a 20 20 #f.symbol?)....expr).;syntax?...
7ac0 23 3a 6d 75 74 61 62 6c 65 0a 20 20 23 3a 74 72 61 6e 73 70 61 72 65 6e 74 29 0a 0a 28 64 65 66 #:mutable...#:transparent)..(def
7ae0 69 6e 65 20 28 69 6e 69 74 69 61 6c 69 7a 65 2d 70 72 6f 66 69 6c 65 2d 70 6f 69 6e 74 20 6b 65 ine.(initialize-profile-point.ke
7b00 79 20 6e 61 6d 65 20 65 78 70 72 29 20 3b 73 74 61 63 6b 74 72 61 63 65 2d 69 6d 70 6f 72 74 73 y.name.expr).;stacktrace-imports
7b20 5e 0a 20 20 28 68 61 73 68 2d 73 65 74 21 20 70 72 6f 66 69 6c 65 2d 69 6e 66 6f 0a 20 20 20 20 ^...(hash-set!.profile-info.....
7b40 20 20 20 20 20 20 20 20 20 6b 65 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 66 20 .........key..............(prof.
7b60 23 66 20 30 20 30 20 28 61 6e 64 20 28 73 79 6e 74 61 78 3f 20 6e 61 6d 65 29 20 28 73 79 6e 74 #f.0.0.(and.(syntax?.name).(synt
7b80 61 78 2d 65 20 6e 61 6d 65 29 29 20 65 78 70 72 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 72 65 ax-e.name)).expr)))..(define.(re
7ba0 67 69 73 74 65 72 2d 70 72 6f 66 69 6c 65 2d 73 74 61 72 74 20 6b 65 79 29 20 3b 73 74 61 63 6b gister-profile-start.key).;stack
7bc0 74 72 61 63 65 2d 69 6d 70 6f 72 74 73 5e 0a 20 20 28 64 65 66 69 6e 65 20 70 20 28 68 61 73 68 trace-imports^...(define.p.(hash
7be0 2d 72 65 66 20 70 72 6f 66 69 6c 65 2d 69 6e 66 6f 20 6b 65 79 29 29 0a 20 20 28 73 65 74 2d 70 -ref.profile-info.key))...(set-p
7c00 72 6f 66 2d 6e 75 6d 21 20 70 20 28 61 64 64 31 20 28 70 72 6f 66 2d 6e 75 6d 20 70 29 29 29 0a rof-num!.p.(add1.(prof-num.p))).
7c20 20 20 28 63 6f 6e 64 20 5b 28 70 72 6f 66 2d 6e 65 73 74 3f 20 70 29 20 23 66 5d 0a 20 20 20 20 ..(cond.[(prof-nest?.p).#f].....
7c40 20 20 20 20 5b 65 6c 73 65 20 28 73 65 74 2d 70 72 6f 66 2d 6e 65 73 74 3f 21 20 70 20 23 74 29 ....[else.(set-prof-nest?!.p.#t)
7c60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 70 72 6f 63 65 73 73 2d ...............(current-process-
7c80 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 72 65 67 69 73 milliseconds)]))..(define.(regis
7ca0 74 65 72 2d 70 72 6f 66 69 6c 65 2d 64 6f 6e 65 20 6b 65 79 20 73 74 61 72 74 29 20 3b 73 74 61 ter-profile-done.key.start).;sta
7cc0 63 6b 74 72 61 63 65 2d 69 6d 70 6f 72 74 73 5e 0a 20 20 28 76 6f 69 64 0a 20 20 20 28 77 68 65 cktrace-imports^...(void....(whe
7ce0 6e 20 73 74 61 72 74 0a 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 20 28 68 61 73 68 2d 72 65 66 n.start......(define.p.(hash-ref
7d00 20 70 72 6f 66 69 6c 65 2d 69 6e 66 6f 20 6b 65 79 29 29 0a 20 20 20 20 20 28 73 65 74 2d 70 72 .profile-info.key))......(set-pr
7d20 6f 66 2d 6e 65 73 74 3f 21 20 70 20 23 66 29 0a 20 20 20 20 20 28 73 65 74 2d 70 72 6f 66 2d 74 of-nest?!.p.#f)......(set-prof-t
7d40 69 6d 65 21 20 70 20 28 2b 20 28 2d 20 28 63 75 72 72 65 6e 74 2d 70 72 6f 63 65 73 73 2d 6d 69 ime!.p.(+.(-.(current-process-mi
7d60 6c 6c 69 73 65 63 6f 6e 64 73 29 20 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 lliseconds).start)..............
7d80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 66 2d 74 69 6d 65 20 70 29 29 29 29 29 29 0a .............(prof-time.p)))))).
7da0 0a 28 64 65 66 69 6e 65 20 28 67 65 74 2d 70 72 6f 66 69 6c 65 29 0a 20 20 28 66 6f 72 2f 6c 69 .(define.(get-profile)...(for/li
7dc0 73 74 20 28 5b 78 20 28 69 6e 2d 6c 69 73 74 20 28 68 61 73 68 2d 76 61 6c 75 65 73 20 70 72 6f st.([x.(in-list.(hash-values.pro
7de0 66 69 6c 65 2d 69 6e 66 6f 29 29 5d 29 0a 20 20 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 20 file-info))]).....(match-define.
7e00 28 70 72 6f 66 20 5f 6e 65 73 74 3f 20 63 6f 75 6e 74 20 6d 73 65 63 20 6e 61 6d 65 20 73 74 78 (prof._nest?.count.msec.name.stx
7e20 29 20 78 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 73 72 63 20 28 73 79 6e 74 61 78 2d 73 6f 75 ).x).....(define.src.(syntax-sou
7e40 72 63 65 20 73 74 78 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 62 65 67 20 28 73 79 6e 74 61 rce.stx)).....(define.beg.(synta
7e60 78 2d 70 6f 73 69 74 69 6f 6e 20 73 74 78 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 65 6e 64 x-position.stx)).....(define.end
7e80 20 28 61 6e 64 20 62 65 67 20 28 2b 20 62 65 67 20 28 73 79 6e 74 61 78 2d 73 70 61 6e 20 73 74 .(and.beg.(+.beg.(syntax-span.st
7ea0 78 29 29 29 29 0a 20 20 20 20 28 6c 69 73 74 20 63 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 x)))).....(list.count...........
7ec0 6d 73 65 63 0a 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 6e 61 6d 65 20 28 73 79 6d 62 6f 6c msec...........(and.name.(symbol
7ee0 2d 3e 73 74 72 69 6e 67 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 73 ->string.name))...........(and.s
7f00 72 63 20 28 70 61 74 68 3f 20 73 72 63 29 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 73 72 63 rc.(path?.src).(path->string.src
7f20 29 29 0a 20 20 20 20 20 20 20 20 20 20 62 65 67 0a 20 20 20 20 20 20 20 20 20 20 65 6e 64 29 29 ))...........beg...........end))
7f40 29 0a 0a 0a 3b 3b 3b 20 46 69 6e 61 6c 6c 79 2c 20 69 6e 76 6f 6b 65 20 74 68 65 20 75 6e 69 74 )...;;;.Finally,.invoke.the.unit
7f60 0a 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 2f 69 6e 76 6f 6b 65 2d 75 6e 69 74 2f 69 6e 66 65 .(define-values/invoke-unit/infe
7f80 72 20 73 74 61 63 6b 74 72 61 63 65 40 29 0a 0a 0a 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b r.stacktrace@)...;;;;;;;;;;;;;;;
7fa0 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7fc0 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 0a ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.
7fe0 3b 3b 3b 20 65 78 61 6d 70 6c 65 0a 0a 3b 3b 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b ;;;.example..;;.(parameterize.([
8000 69 6e 73 74 72 75 6d 65 6e 74 69 6e 67 2d 65 6e 61 62 6c 65 64 20 23 74 5d 0a 3b 3b 20 20 20 20 instrumenting-enabled.#t].;;....
8020 20 20 20 20 20 20 20 20 20 20 20 20 5b 74 65 73 74 2d 63 6f 76 65 72 61 67 65 2d 65 6e 61 62 6c ............[test-coverage-enabl
8040 65 64 20 23 74 5d 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 70 72 6f 66 69 6c ed.#t].;;................[profil
8060 69 6e 67 2d 65 6e 61 62 6c 65 64 20 23 66 5d 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ing-enabled.#f].;;..............
8080 20 20 5b 63 75 72 72 65 6e 74 2d 65 76 61 6c 20 28 6d 61 6b 65 2d 69 6e 73 74 72 75 6d 65 6e 74 ..[current-eval.(make-instrument
80a0 65 64 2d 65 76 61 6c 2d 68 61 6e 64 6c 65 72 20 28 63 75 72 72 65 6e 74 2d 65 76 61 6c 29 29 5d ed-eval-handler.(current-eval))]
80c0 29 0a 3b 3b 20 20 20 28 6e 61 6d 65 73 70 61 63 65 2d 72 65 71 75 69 72 65 20 28 73 74 72 69 6e ).;;...(namespace-require.(strin
80e0 67 2d 3e 70 61 74 68 20 22 2f 74 6d 70 2f 73 69 6d 70 6c 65 2e 72 6b 74 22 29 29 29 0a 3b 3b 20 g->path."/tmp/simple.rkt"))).;;.
8100 28 67 65 74 2d 74 65 73 74 2d 63 6f 76 65 72 61 67 65 2d 69 6e 66 6f 29 0a 3b 3b 20 28 67 65 74 (get-test-coverage-info).;;.(get
8120 2d 70 72 6f 66 69 6c 65 2d 69 6e 66 6f 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -profile-info)..................
8140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8200 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
8220 72 61 63 6b 65 74 2f 69 64 65 6e 74 69 66 69 65 72 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 racket/identifier.rkt...........
8240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
8280 30 30 32 30 34 32 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 37 36 35 00 20 30 00 00 00 0020424.00000000000.017765..0...
82a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
8320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
8340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
83a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
83c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
83e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8400 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
8420 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
8440 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
8460 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
8480 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 /contract..........racket/format
84a0 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 ..........racket/match..........
84c0 22 73 79 6e 74 61 78 2e 72 6b 74 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 68 6f 77 2f 63 0a 20 20 "syntax.rkt")..(provide.how/c...
84e0 20 20 20 20 20 20 20 2d 3e 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 20 20 20 2d 3e 69 .......->identifier..........->i
8500 64 65 6e 74 69 66 69 65 72 2d 72 65 73 6f 6c 76 65 64 2d 62 69 6e 64 69 6e 67 2d 69 6e 66 6f 29 dentifier-resolved-binding-info)
8520 0a 0a 3b 3b 3b 20 43 72 65 61 74 69 6e 67 20 69 64 65 6e 74 69 66 69 65 72 73 20 66 72 6f 6d 20 ..;;;.Creating.identifiers.from.
8540 73 79 6d 62 6f 6c 73 20 6f 72 20 73 74 72 69 6e 67 73 0a 0a 3b 3b 20 41 20 73 69 6d 70 6c 69 66 symbols.or.strings..;;.A.simplif
8560 79 69 6e 67 20 68 65 6c 70 65 72 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 77 61 ying.helper.for.commands.that.wa
8580 6e 74 20 74 6f 20 77 6f 72 6b 20 62 6f 74 68 20 77 61 79 73 2c 20 61 6e 64 0a 3b 3b 20 61 63 63 nt.to.work.both.ways,.and.;;.acc
85a0 65 70 74 20 61 20 66 69 72 73 74 20 22 68 6f 77 22 20 6f 72 20 22 63 6f 6e 74 65 78 74 22 20 61 ept.a.first."how".or."context".a
85c0 72 67 75 6d 65 6e 74 20 74 68 61 74 20 69 73 20 65 69 74 68 65 72 0a 3b 3b 20 27 6e 61 6d 65 73 rgument.that.is.either.;;.'names
85e0 70 61 63 65 20 6f 72 20 61 20 70 61 74 68 2d 73 74 72 69 6e 67 2e 0a 28 64 65 66 69 6e 65 20 68 pace.or.a.path-string..(define.h
8600 6f 77 2f 63 20 28 6f 72 2f 63 20 27 6e 61 6d 65 73 70 61 63 65 20 70 61 74 68 2d 73 74 72 69 6e ow/c.(or/c.'namespace.path-strin
8620 67 3f 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 2d 3e 69 64 65 6e 74 69 g?))..(define/contract.(->identi
8640 66 69 65 72 20 68 6f 77 20 76 20 6b 29 0a 20 20 28 2d 3e 20 68 6f 77 2f 63 20 28 6f 72 2f 63 20 fier.how.v.k)...(->.how/c.(or/c.
8660 73 79 6d 62 6f 6c 3f 20 73 74 72 69 6e 67 3f 29 20 28 2d 3e 20 73 79 6e 74 61 78 3f 20 61 6e 79 symbol?.string?).(->.syntax?.any
8680 29 20 61 6e 79 29 0a 20 20 28 6d 61 74 63 68 20 68 6f 77 0a 20 20 20 20 5b 27 6e 61 6d 65 73 70 ).any)...(match.how.....['namesp
86a0 61 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 3e 69 64 65 ace.......................(->ide
86c0 6e 74 69 66 69 65 72 2f 6e 61 6d 65 73 70 61 63 65 20 20 20 76 20 6b 29 5d 0a 20 20 20 20 5b 28 ntifier/namespace...v.k)].....[(
86e0 3f 20 28 61 6e 64 20 73 74 72 69 6e 67 3f 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 29 20 70 29 20 ?.(and.string?.path-string?).p).
8700 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 2f 65 78 70 61 6e 73 69 6f 6e 20 70 20 76 20 6b 29 5d 29 (->identifier/expansion.p.v.k)])
8720 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 2d 3e 69 64 65 6e 74 69 66 69 65 )..(define/contract.(->identifie
8740 72 2f 6e 61 6d 65 73 70 61 63 65 20 76 20 6b 29 0a 20 20 28 2d 3e 20 28 6f 72 2f 63 20 73 79 6d r/namespace.v.k)...(->.(or/c.sym
8760 62 6f 6c 3f 20 73 74 72 69 6e 67 3f 29 20 28 2d 3e 20 69 64 65 6e 74 69 66 69 65 72 3f 20 61 6e bol?.string?).(->.identifier?.an
8780 79 2f 63 29 20 61 6e 79 2f 63 29 0a 20 20 28 64 65 66 69 6e 65 20 73 79 6d 2d 3e 69 64 20 6e 61 y/c).any/c)...(define.sym->id.na
87a0 6d 65 73 70 61 63 65 2d 73 79 6d 62 6f 6c 2d 3e 69 64 65 6e 74 69 66 69 65 72 29 0a 20 20 28 6b mespace-symbol->identifier)...(k
87c0 20 28 63 6f 6e 64 20 5b 28 73 74 72 69 6e 67 3f 20 76 29 20 28 73 79 6d 2d 3e 69 64 20 28 73 74 .(cond.[(string?.v).(sym->id.(st
87e0 72 69 6e 67 2d 3e 73 79 6d 62 6f 6c 20 76 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b 28 73 ring->symbol.v))]............[(s
8800 79 6d 62 6f 6c 3f 20 76 29 20 28 73 79 6d 2d 3e 69 64 20 76 29 5d 29 29 29 0a 0a 3b 3b 20 57 65 ymbol?.v).(sym->id.v)])))..;;.We
8820 20 75 73 65 20 70 61 74 68 2d 73 74 72 20 74 6f 20 67 65 74 20 65 78 70 61 6e 64 65 64 20 6d 6f .use.path-str.to.get.expanded.mo
8840 64 75 6c 65 20 73 79 6e 74 61 78 20 66 72 6f 6d 20 74 68 65 20 63 61 63 68 65 20 76 69 61 0a 3b dule.syntax.from.the.cache.via.;
8860 3b 20 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 ;.path->existing-expanded-syntax
8880 2c 20 61 6e 64 20 75 73 65 20 74 68 65 20 27 6d 6f 64 75 6c 65 2d 62 6f 64 79 2d 63 6f 6e 74 65 ,.and.use.the.'module-body-conte
88a0 78 74 0a 3b 3b 20 73 79 6e 74 61 78 20 70 72 6f 70 65 72 74 79 20 2d 2d 20 73 74 61 72 74 69 6e xt.;;.syntax.property.--.startin
88c0 67 20 69 6e 20 52 61 63 6b 65 74 20 36 2e 35 20 2d 2d 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 g.in.Racket.6.5.--.which.can.be.
88e0 75 73 65 64 20 61 73 0a 3b 3b 20 6c 65 78 69 63 61 6c 20 63 6f 6e 74 65 78 74 20 74 6f 20 6d 61 used.as.;;.lexical.context.to.ma
8900 6b 65 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 2e 20 54 68 69 73 20 6c 65 74 73 20 69 64 65 6e ke.an.identifier..This.lets.iden
8920 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 0a 3b 3b 20 77 6f 72 6b 20 66 6f 72 20 69 64 65 6e 74 tifier-binding.;;.work.for.ident
8940 69 66 69 65 72 73 20 61 73 20 69 66 20 74 68 65 79 20 77 65 72 65 20 69 6e 20 74 68 61 74 20 62 ifiers.as.if.they.were.in.that.b
8960 6f 64 79 27 73 20 6c 65 78 69 63 61 6c 20 63 6f 6e 74 65 78 74 0a 3b 3b 20 2d 2d 20 69 6e 63 6c ody's.lexical.context.;;.--.incl
8980 75 64 69 6e 67 20 69 6d 70 6f 72 74 65 64 20 69 64 65 6e 74 69 66 69 65 72 73 20 74 68 61 74 20 uding.imported.identifiers.that.
89a0 61 72 65 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 75 73 65 64 20 61 73 0a 3b 3b 20 62 69 6e 64 69 aren't.actually.used.as.;;.bindi
89c0 6e 67 73 20 69 6e 20 74 68 65 20 6d 6f 64 75 6c 65 20 62 6f 64 79 2e 0a 28 64 65 66 69 6e 65 2f ngs.in.the.module.body..(define/
89e0 63 6f 6e 74 72 61 63 74 20 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 2f 65 78 70 61 6e 73 69 6f 6e contract.(->identifier/expansion
8a00 20 70 61 74 68 2d 73 74 72 20 76 20 6b 29 0a 20 20 28 2d 3e 20 70 61 74 68 2d 73 74 72 69 6e 67 .path-str.v.k)...(->.path-string
8a20 3f 0a 20 20 20 20 20 20 28 6f 72 2f 63 20 73 79 6d 62 6f 6c 3f 20 73 74 72 69 6e 67 3f 29 0a 20 ?.......(or/c.symbol?.string?)..
8a40 20 20 20 20 20 28 2d 3e 20 69 64 65 6e 74 69 66 69 65 72 3f 20 61 6e 79 2f 63 29 0a 20 20 20 20 .....(->.identifier?.any/c).....
8a60 20 20 61 6e 79 2f 63 29 0a 20 20 28 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 65 78 70 61 6e ..any/c)...(path->existing-expan
8a80 64 65 64 2d 73 79 6e 74 61 78 0a 20 20 20 70 61 74 68 2d 73 74 72 0a 20 20 20 28 ce bb 20 28 73 ded-syntax....path-str....(...(s
8aa0 74 78 29 0a 20 20 20 20 20 28 64 65 66 69 6e 65 20 28 73 79 6d 2d 3e 69 64 20 76 29 0a 20 20 20 tx)......(define.(sym->id.v)....
8ac0 20 20 20 20 28 65 78 70 61 6e 64 65 64 2d 6d 6f 64 75 6c 65 2b 73 79 6d 62 6f 6c 2d 3e 69 64 65 ....(expanded-module+symbol->ide
8ae0 6e 74 69 66 69 65 72 20 70 61 74 68 2d 73 74 72 20 73 74 78 20 76 29 29 0a 20 20 20 20 20 28 6b ntifier.path-str.stx.v))......(k
8b00 20 28 63 6f 6e 64 20 5b 28 73 74 72 69 6e 67 3f 20 76 29 20 28 73 79 6d 2d 3e 69 64 20 28 73 74 .(cond.[(string?.v).(sym->id.(st
8b20 72 69 6e 67 2d 3e 73 79 6d 62 6f 6c 20 76 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ring->symbol.v))]...............
8b40 5b 28 73 79 6d 62 6f 6c 3f 20 76 29 20 28 73 79 6d 2d 3e 69 64 20 76 29 5d 29 29 29 29 29 0a 0a [(symbol?.v).(sym->id.v)])))))..
8b60 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 65 78 70 61 6e 64 65 64 2d 6d 6f 64 75 6c (define/contract.(expanded-modul
8b80 65 2b 73 79 6d 62 6f 6c 2d 3e 69 64 65 6e 74 69 66 69 65 72 20 70 61 74 68 2d 73 74 72 20 65 78 e+symbol->identifier.path-str.ex
8ba0 70 2d 6d 6f 64 2d 73 74 78 20 73 79 6d 29 0a 20 20 28 2d 3e 20 70 61 74 68 2d 73 74 72 69 6e 67 p-mod-stx.sym)...(->.path-string
8bc0 3f 20 73 79 6e 74 61 78 3f 20 73 79 6d 62 6f 6c 3f 20 69 64 65 6e 74 69 66 69 65 72 3f 29 0a 20 ?.syntax?.symbol?.identifier?)..
8be0 20 3b 3b 20 46 6f 72 20 69 6d 70 6f 72 74 65 64 20 62 69 6e 64 69 6e 67 73 2c 20 74 68 69 73 20 .;;.For.imported.bindings,.this.
8c00 63 72 65 61 74 65 73 20 73 79 6e 74 61 78 20 77 68 65 72 65 0a 20 20 3b 3b 20 69 64 65 6e 74 69 creates.syntax.where...;;.identi
8c20 66 69 65 72 2d 62 69 6e 64 69 6e 67 20 77 69 6c 6c 20 72 65 70 6f 72 74 20 61 20 6d 6f 64 75 6c fier-binding.will.report.a.modul
8c40 65 2d 70 61 74 68 2d 69 6e 64 65 78 20 74 68 61 74 20 63 61 6e 20 62 65 0a 20 20 3b 3b 20 72 65 e-path-index.that.can.be...;;.re
8c60 73 6f 6c 76 65 64 20 74 6f 20 61 20 70 61 74 68 20 74 68 61 74 20 65 78 69 73 74 73 2e 20 47 72 solved.to.a.path.that.exists..Gr
8c80 65 61 74 21 0a 20 20 3b 3b 0a 20 20 3b 3b 20 46 6f 72 20 6d 6f 64 75 6c 65 20 62 69 6e 64 69 6e eat!...;;...;;.For.module.bindin
8ca0 67 73 2c 20 69 64 65 6e 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 20 77 69 6c 6c 20 73 61 79 20 gs,.identifier-binding.will.say.
8cc0 74 68 61 74 20 74 68 65 20 62 69 6e 64 69 6e 67 0a 20 20 3b 3b 20 65 78 69 73 74 73 2e 20 47 6f that.the.binding...;;.exists..Go
8ce0 6f 64 21 20 42 75 74 2e 20 55 6e 74 69 6c 20 61 20 6d 6f 64 75 6c 65 20 64 65 63 6c 61 72 61 74 od!.But..Until.a.module.declarat
8d00 69 6f 6e 20 69 73 20 65 76 61 6c 75 61 74 65 64 2c 20 74 68 65 0a 20 20 3b 3b 20 6d 6f 64 75 6c ion.is.evaluated,.the...;;.modul
8d20 65 20 68 61 73 20 6e 6f 20 6e 61 6d 65 2e 20 41 73 20 61 20 72 65 73 75 6c 74 2c 20 74 68 65 20 e.has.no.name..As.a.result,.the.
8d40 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 20 69 73 0a 20 20 3b 3b 20 72 65 70 6f 72 74 module-path-index.is...;;.report
8d60 65 64 20 61 73 20 23 3c 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 3d 27 7c 65 78 70 61 ed.as.#<module-path-index='|expa
8d80 6e 64 65 64 20 6d 6f 64 75 6c 65 7c 3e 2e 20 54 68 61 74 20 77 6f 75 6c 64 0a 20 20 3b 3b 20 72 nded.module|>..That.would...;;.r
8da0 65 73 6f 6c 76 65 20 74 6f 20 3c 70 61 74 68 3a 22 2f 70 61 74 68 2f 74 6f 2f 65 78 70 61 6e 64 esolve.to.<path:"/path/to/expand
8dc0 65 64 20 6d 6f 64 75 6c 65 2e 72 6b 74 22 3e 20 2d 2d 20 77 72 6f 6e 67 2e 0a 20 20 3b 3b 0a 20 ed.module.rkt">.--.wrong....;;..
8de0 20 3b 3b 20 57 6f 72 6b 2d 61 72 6f 75 6e 64 3a 20 4c 65 74 27 73 20 72 65 63 6f 72 64 20 74 68 .;;.Work-around:.Let's.record.th
8e00 65 20 70 61 74 68 20 69 6e 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 27 73 0a 20 20 3b 3b 20 e.path.in.the.identifier's...;;.
8e20 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 2e 20 44 6f 69 6e 67 20 73 6f 20 77 6f 6e 27 74 20 63 68 syntax-source..Doing.so.won't.ch
8e40 61 6e 67 65 20 77 68 61 74 20 69 64 65 6e 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 0a 20 20 3b ange.what.identifier-binding...;
8e60 3b 20 72 65 70 6f 72 74 73 2c 20 62 75 74 20 69 74 20 6d 65 61 6e 73 20 6d 70 69 2d 3e 70 61 74 ;.reports,.but.it.means.mpi->pat
8e80 68 20 63 61 6e 20 68 61 6e 64 6c 65 20 73 75 63 68 20 61 20 6d 6f 64 75 6c 65 20 70 61 74 68 0a h.can.handle.such.a.module.path.
8ea0 20 20 3b 3b 20 69 6e 64 65 78 20 62 79 20 69 6e 73 74 65 61 64 20 75 73 69 6e 67 20 74 68 65 20 ..;;.index.by.instead.using.the.
8ec0 70 61 74 68 20 66 72 6f 6d 20 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 2e 0a 20 20 28 64 61 74 75 path.from.syntax-source....(datu
8ee0 6d 2d 3e 73 79 6e 74 61 78 20 28 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 79 20 65 78 70 2d 6d m->syntax.(syntax-property.exp-m
8f00 6f 64 2d 73 74 78 20 27 6d 6f 64 75 6c 65 2d 62 6f 64 79 2d 63 6f 6e 74 65 78 74 29 0a 20 20 20 od-stx.'module-body-context)....
8f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 79 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............sym...............
8f40 20 20 20 28 6c 69 73 74 20 28 73 74 72 69 6e 67 2d 3e 70 61 74 68 20 70 61 74 68 2d 73 74 72 29 ...(list.(string->path.path-str)
8f60 20 23 66 20 23 66 20 23 66 20 23 66 29 29 29 0a 0a 0a 3b 3b 3b 20 4d 61 73 73 61 67 69 6e 67 20 .#f.#f.#f.#f)))...;;;.Massaging.
8f80 76 61 6c 75 65 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 69 64 65 6e 74 69 66 69 65 72 2d 62 69 values.returned.by.identifier-bi
8fa0 6e 64 69 6e 67 0a 0a 20 3b 3b 20 41 20 63 6f 6d 70 6f 73 69 74 69 6f 6e 20 74 68 61 74 20 64 6f nding...;;.A.composition.that.do
8fc0 65 73 20 74 68 65 20 72 69 67 68 74 20 74 68 69 6e 67 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 68 es.the.right.thing,.including.wh
8fe0 65 6e 20 6d 61 6b 69 6e 67 20 61 6e 0a 3b 3b 20 69 64 65 6e 74 69 66 69 65 72 20 74 68 61 74 20 en.making.an.;;.identifier.that.
9000 69 73 20 61 20 6d 6f 64 75 6c 65 20 62 69 6e 64 69 6e 67 2e 0a 28 64 65 66 69 6e 65 20 28 2d 3e is.a.module.binding..(define.(->
9020 69 64 65 6e 74 69 66 69 65 72 2d 72 65 73 6f 6c 76 65 64 2d 62 69 6e 64 69 6e 67 2d 69 6e 66 6f identifier-resolved-binding-info
9040 20 68 6f 77 20 76 20 6b 29 0a 20 20 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 20 68 6f 77 20 76 0a .how.v.k)...(->identifier.how.v.
9060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 69 64 29 0a 20 20 20 20 20 20 20 ................(...(id)........
9080 20 20 20 20 20 20 20 20 20 20 20 28 6b 20 28 72 65 73 6f 6c 76 65 2d 69 64 65 6e 74 69 66 69 65 ...........(k.(resolve-identifie
90a0 72 2d 62 69 6e 64 69 6e 67 2d 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r-binding-info..................
90c0 20 20 20 20 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 .....id.......................(i
90e0 64 65 6e 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 20 69 64 29 29 29 29 29 29 0a 0a 3b 3b 20 47 dentifier-binding.id))))))..;;.G
9100 69 76 65 6e 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c iven.an.identifier.and.the.resul
9120 74 20 66 72 6f 6d 20 69 64 65 6e 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 2c 20 72 65 74 75 72 t.from.identifier-binding,.retur
9140 6e 73 0a 3b 3b 20 61 20 73 75 62 73 65 74 20 6f 66 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f ns.;;.a.subset.of.the.informatio
9160 6e 2c 20 77 68 65 72 65 20 74 68 65 20 6d 6f 64 75 6c 65 20 70 61 74 68 20 69 6e 64 65 78 65 73 n,.where.the.module.path.indexes
9180 20 61 72 65 0a 3b 3b 20 72 65 73 6f 6c 76 65 64 20 74 6f 20 61 63 74 75 61 6c 20 70 61 74 68 73 .are.;;.resolved.to.actual.paths
91a0 2c 20 61 6e 64 20 77 68 65 72 65 20 74 68 65 20 27 6c 65 78 69 63 61 6c 20 76 61 6c 75 65 20 69 ,.and.where.the.'lexical.value.i
91c0 73 20 74 72 65 61 74 65 64 0a 3b 3b 20 61 73 20 23 66 2e 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 s.treated.;;.as.#f..(define/cont
91e0 72 61 63 74 20 28 72 65 73 6f 6c 76 65 2d 69 64 65 6e 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 ract.(resolve-identifier-binding
9200 2d 69 6e 66 6f 20 69 64 20 62 69 6e 64 69 6e 67 2d 69 6e 66 6f 29 0a 20 20 28 2d 3e 20 69 64 65 -info.id.binding-info)...(->.ide
9220 6e 74 69 66 69 65 72 3f 0a 20 20 20 20 20 20 28 6f 72 2f 63 20 27 6c 65 78 69 63 61 6c 0a 20 20 ntifier?.......(or/c.'lexical...
9240 20 20 20 20 20 20 20 20 20 20 23 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 2f 63 ..........#f.............(list/c
9260 20 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 .module-path-index?.............
9280 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........symbol?.................
92a0 20 20 20 20 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 3f 0a 20 20 20 20 20 20 20 20 20 ....module-path-index?..........
92c0 20 20 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........symbol?..............
92e0 20 20 20 20 20 20 20 65 78 61 63 74 2d 6e 6f 6e 6e 65 67 61 74 69 76 65 2d 69 6e 74 65 67 65 72 .......exact-nonnegative-integer
9300 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 2f 63 20 65 78 61 63 ?.....................(or/c.exac
9320 74 2d 69 6e 74 65 67 65 72 3f 20 23 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-integer?.#f)..................
9340 20 20 20 28 6f 72 2f 63 20 65 78 61 63 74 2d 69 6e 74 65 67 65 72 3f 20 23 66 29 29 0a 20 20 20 ...(or/c.exact-integer?.#f))....
9360 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 2f 63 20 73 79 6d 62 6f 6c 3f 29 29 0a 20 20 20 20 20 .........(list/c.symbol?))......
9380 20 28 6f 72 2f 63 20 23 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 6f 66 20 28 .(or/c.#f..............(listof.(
93a0 63 6f 6e 73 2f 63 20 73 79 6d 62 6f 6c 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cons/c.symbol?..................
93c0 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 2f 63 20 27 6b 65 72 6e 65 6c 0a 20 20 20 20 20 20 ............(or/c.'kernel.......
93e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f .............................(co
9400 6e 73 2f 63 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 28 6c 69 73 74 6f 66 20 73 79 6d 62 6f 6c ns/c.path-string?.(listof.symbol
9420 3f 29 29 29 29 29 29 29 0a 20 20 28 6d 61 74 63 68 20 62 69 6e 64 69 6e 67 2d 69 6e 66 6f 0a 20 ?)))))))...(match.binding-info..
9440 20 20 20 20 5b 28 6c 69 73 74 20 73 6f 75 72 63 65 2d 6d 70 69 20 20 20 20 20 20 20 20 20 73 6f ....[(list.source-mpi.........so
9460 75 72 63 65 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 6d 69 6e 61 6c 2d 73 6f 75 72 urce-id.............nominal-sour
9480 63 65 2d 6d 70 69 20 6e 6f 6d 69 6e 61 6c 2d 73 6f 75 72 63 65 2d 69 64 0a 20 20 20 20 20 20 20 ce-mpi.nominal-source-id........
94a0 20 20 20 20 20 73 6f 75 72 63 65 2d 70 68 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6d .....source-phase.............im
94c0 70 6f 72 74 2d 70 68 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 6d 69 6e 61 6c 2d 65 port-phase.............nominal-e
94e0 78 70 6f 72 74 2d 70 68 61 73 65 29 0a 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 73 xport-phase).......(list.(cons.s
9500 6f 75 72 63 65 2d 69 64 20 20 20 20 20 20 20 20 20 28 69 64 2b 6d 70 69 2d 3e 70 61 74 68 20 69 ource-id.........(id+mpi->path.i
9520 64 20 73 6f 75 72 63 65 2d 6d 70 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 d.source-mpi)).............(cons
9540 20 6e 6f 6d 69 6e 61 6c 2d 73 6f 75 72 63 65 2d 69 64 20 28 69 64 2b 6d 70 69 2d 3e 70 61 74 68 .nominal-source-id.(id+mpi->path
9560 20 69 64 20 6e 6f 6d 69 6e 61 6c 2d 73 6f 75 72 63 65 2d 6d 70 69 29 29 29 5d 0a 20 20 20 20 20 .id.nominal-source-mpi)))]......
9580 5b 5f 20 23 66 5d 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 69 64 2b 6d [_.#f]))..(define/contract.(id+m
95a0 70 69 2d 3e 70 61 74 68 20 69 64 20 6d 70 69 29 0a 20 20 28 2d 3e 20 69 64 65 6e 74 69 66 69 65 pi->path.id.mpi)...(->.identifie
95c0 72 3f 0a 20 20 20 20 20 20 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 3f 0a 20 20 20 20 r?.......module-path-index?.....
95e0 20 20 28 6f 72 2f 63 20 27 6b 65 72 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e ..(or/c.'kernel.............(con
9600 73 2f 63 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 28 6c 69 73 74 6f 66 20 73 79 6d 62 6f 6c 3f s/c.path-string?.(listof.symbol?
9620 29 29 29 29 0a 20 20 28 63 6f 6e 64 20 5b 3b 3b 20 57 65 20 63 6f 75 6c 64 20 63 68 65 63 6b 20 ))))...(cond.[;;.We.could.check.
9640 62 65 6c 6f 77 20 66 6f 72 20 74 68 65 20 69 6e 74 65 72 6e 65 64 20 2d 2d 20 6f 72 20 6e 6f 74 below.for.the.interned.--.or.not
9660 20 69 6e 20 6f 6c 64 65 72 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 52 61 63 6b 65 74 73 20 2d 2d .in.older..........;;.Rackets.--
9680 20 73 79 6d 62 6f 6c 20 27 7c 65 78 70 61 6e 64 65 64 20 6d 6f 64 75 6c 65 7c 2e 20 54 68 61 74 .symbol.'|expanded.module|..That
96a0 20 73 65 65 6d 73 20 73 6d 65 6c 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 73 74 65 .seems.smelly...........;;.Inste
96c0 61 64 20 69 66 20 77 65 27 72 65 20 61 20 22 73 65 6c 66 22 20 6d 6f 64 75 6c 65 2c 20 61 6e 64 ad.if.we're.a."self".module,.and
96e0 20 69 66 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 68 .if.the.identifier..........;;.h
9700 61 73 20 61 20 6c 6f 63 61 74 69 6f 6e 20 2d 2d 20 70 72 6f 62 61 62 6c 79 20 73 75 70 70 6c 69 as.a.location.--.probably.suppli
9720 65 64 20 61 62 6f 76 65 20 62 79 20 6f 75 72 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 65 78 70 61 ed.above.by.our..........;;.expa
9740 6e 64 65 64 2d 6d 6f 64 75 6c 65 2b 73 79 6d 62 6f 6c 2d 3e 69 64 65 6e 74 69 66 69 65 72 20 2d nded-module+symbol->identifier.-
9760 2d 20 75 73 65 20 74 68 61 74 20 73 6f 75 72 63 65 2e 0a 20 20 20 20 20 20 20 20 20 28 61 6e 64 -.use.that.source...........(and
9780 20 28 73 65 6c 66 2d 6d 6f 64 75 6c 65 3f 20 6d 70 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(self-module?.mpi).............
97a0 20 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 ..(syntax-source.id))..........(
97c0 6c 69 73 74 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 69 64 29 29 5d 0a 20 20 20 20 20 20 list.(syntax-source.id))].......
97e0 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 72 65 73 6f 6c 76 65 ..[else..........(match.(resolve
9800 64 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 d-module-path-name..............
9820 20 20 20 20 28 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 2d 72 65 73 6f 6c 76 65 20 6d ....(module-path-index-resolve.m
9840 70 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 68 61 73 68 2d 70 65 72 63 65 6e 74 pi))............[(?.hash-percent
9860 2d 73 79 6d 62 6f 6c 29 20 27 6b 65 72 6e 65 6c 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f -symbol).'kernel]............[(?
9880 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 70 61 74 68 29 20 20 20 28 6c 69 73 74 20 70 61 74 68 .path-string?.path)...(list.path
98a0 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 73 79 6d 62 6f 6c 3f 20 73 79 6d 29 0a 20 )]............[(?.symbol?.sym)..
98c0 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 62 75 69 6c 64 2d 70 61 74 68 20 28 63 75 ...........(list.(build-path.(cu
98e0 72 72 65 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 rrent-load-relative-directory)..
9900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 7e 61 .............................(~a
9920 20 73 79 6d 20 22 2e 72 6b 74 22 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c 69 73 .sym.".rkt")))]............[(lis
9940 74 20 28 3f 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 70 61 74 68 29 20 28 3f 20 73 79 6d 62 6f t.(?.path-string?.path).(?.symbo
9960 6c 3f 20 73 75 62 73 29 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 2a l?.subs)....).............(list*
9980 20 70 61 74 68 20 73 75 62 73 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 27 76 65 20 .path.subs)]............;;.I've.
99a0 73 65 65 6e 20 74 68 69 73 20 6f 64 64 20 63 61 73 65 20 6f 63 63 75 72 20 6f 6e 6c 79 20 77 68 seen.this.odd.case.occur.only.wh
99c0 65 6e 20 72 75 6e 6e 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 65 73 74 2f 66 69 en.running............;;.test/fi
99e0 6e 64 2e 72 6b 74 2e 20 54 68 65 20 6d 6f 64 75 6c 65 20 70 61 74 68 20 69 6e 64 65 78 20 69 73 nd.rkt..The.module.path.index.is
9a00 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 23 3c 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 ............;;.#<module-path-ind
9a20 65 78 3a 28 73 75 62 6d 6f 64 20 22 2e 22 20 6d 29 20 2b 20 27 7c 65 78 70 61 6e 64 65 64 0a 20 ex:(submod.".".m).+.'|expanded..
9a40 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6d 6f 64 75 6c 65 7c 3e 2c 20 61 6e 64 20 72 65 73 6f 6c ..........;;.module|>,.and.resol
9a60 76 69 6e 67 20 74 68 61 74 20 69 73 20 28 66 69 6e 64 2d 65 78 61 6d 70 6c 65 73 20 6d 29 20 77 ving.that.is.(find-examples.m).w
9a80 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 27 hen............;;.it.should.be.'
9aa0 28 23 3c 2f 70 61 74 68 2f 74 6f 2f 66 69 6e 64 2d 65 78 61 6d 70 6c 65 2e 72 6b 74 3e 20 6d 29 (#</path/to/find-example.rkt>.m)
9ac0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c 69 73 74 20 28 3f 20 73 79 6d 62 6f 6c 3f 29 20 .............[(list.(?.symbol?).
9ae0 28 3f 20 73 79 6d 62 6f 6c 3f 20 73 75 62 73 29 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 20 (?.symbol?.subs)....)...........
9b00 20 20 28 6c 69 73 74 2a 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 69 64 29 20 73 75 62 73 ..(list*.(syntax-source.id).subs
9b20 29 5d 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 73 65 6c 66 2d 6d 6f 64 75 6c 65 3f 20 6d 70 )])]))..(define.(self-module?.mp
9b40 69 29 0a 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 61 20 62 29 20 28 6d 6f 64 75 6c i)...(define-values.(a.b).(modul
9b60 65 2d 70 61 74 68 2d 69 6e 64 65 78 2d 73 70 6c 69 74 20 6d 70 69 29 29 0a 20 20 28 61 6e 64 20 e-path-index-split.mpi))...(and.
9b80 28 6e 6f 74 20 61 29 20 28 6e 6f 74 20 62 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 68 61 73 68 (not.a).(not.b)))..(define.(hash
9ba0 2d 70 65 72 63 65 6e 74 2d 73 79 6d 62 6f 6c 20 76 29 0a 20 20 28 61 6e 64 20 28 73 79 6d 62 6f -percent-symbol.v)...(and.(symbo
9bc0 6c 3f 20 76 29 0a 20 20 20 20 20 20 20 28 72 65 67 65 78 70 2d 6d 61 74 63 68 3f 20 23 70 78 22 l?.v)........(regexp-match?.#px"
9be0 5e 23 25 22 20 28 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e 67 20 76 29 29 29 29 0a 0a 28 6d 6f 64 ^#%".(symbol->string.v))))..(mod
9c00 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 0a 20 20 ule+.test...(require.rackunit...
9c20 20 20 20 20 20 20 20 20 20 22 73 79 6e 74 61 78 2e 72 6b 74 22 29 0a 20 20 3b 3b 20 43 68 65 63 ........."syntax.rkt")...;;.Chec
9c40 6b 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 69 6e 20 74 68 65 20 6e 61 6d 65 73 k.something.that.is.in.the.names
9c60 70 61 63 65 20 72 65 73 75 6c 74 69 6e 67 20 66 72 6f 6d 0a 20 20 3b 3b 20 6d 6f 64 75 6c 65 2d pace.resulting.from...;;.module-
9c80 3e 6e 61 6d 65 73 70 61 63 65 20 6f 6e 2c 20 73 61 79 2c 20 74 68 69 73 20 73 6f 75 72 63 65 20 >namespace.on,.say,.this.source.
9ca0 66 69 6c 65 2e 0a 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d file....(parameterize.([current-
9cc0 6e 61 6d 65 73 70 61 63 65 20 28 6d 6f 64 75 6c 65 2d 3e 6e 61 6d 65 73 70 61 63 65 20 28 73 79 namespace.(module->namespace.(sy
9ce0 6e 74 61 78 2d 73 6f 75 72 63 65 20 23 27 68 65 72 65 29 29 5d 29 0a 20 20 20 20 28 63 68 65 63 ntax-source.#'here))]).....(chec
9d00 6b 2d 6e 6f 74 2d 66 61 6c 73 65 20 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 2d 72 65 73 6f 6c 76 k-not-false.(->identifier-resolv
9d20 65 64 2d 62 69 6e 64 69 6e 67 2d 69 6e 66 6f 20 27 6e 61 6d 65 73 70 61 63 65 20 27 6d 61 74 63 ed-binding-info.'namespace.'matc
9d40 68 20 76 61 6c 75 65 73 29 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 6e 6f 74 2d 66 61 6c 73 65 20 h.values)).....(check-not-false.
9d60 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 2d 72 65 73 6f 6c 76 65 64 2d 62 69 6e 64 69 6e 67 2d 69 (->identifier-resolved-binding-i
9d80 6e 66 6f 20 27 6e 61 6d 65 73 70 61 63 65 20 22 6d 61 74 63 68 22 20 76 61 6c 75 65 73 29 29 29 nfo.'namespace."match".values)))
9da0 0a 0a 20 20 3b 3b 20 43 68 65 63 6b 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e ....;;.Check.something.that.is.n
9dc0 6f 74 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e 61 6d 65 73 70 61 63 65 2c 20 62 75 74 ot.in.the.current.namespace,.but
9de0 20 69 73 20 61 6e 0a 20 20 3b 3b 20 69 64 65 6e 74 69 66 69 65 72 20 69 6e 20 74 68 65 20 6c 65 .is.an...;;.identifier.in.the.le
9e00 78 69 63 61 6c 20 63 6f 6e 74 65 78 74 20 6f 66 20 61 6e 20 65 78 70 61 6e 64 65 64 20 6d 6f 64 xical.context.of.an.expanded.mod
9e20 75 6c 65 20 66 6f 72 6d 20 2d 2d 0a 20 20 3b 3b 20 69 6e 63 6c 75 64 69 6e 67 20 69 6d 70 6f 72 ule.form.--...;;.including.impor
9e40 74 65 64 20 69 64 65 6e 74 69 66 69 65 72 73 20 2d 2d 20 66 72 6f 6d 20 74 68 65 20 65 78 70 61 ted.identifiers.--.from.the.expa
9e60 6e 64 65 64 20 73 79 6e 74 61 78 0a 20 20 3b 3b 20 63 61 63 68 65 2e 0a 20 20 28 64 65 66 69 6e nded.syntax...;;.cache....(defin
9e80 65 20 74 6f 70 20 28 63 61 73 65 20 28 73 79 73 74 65 6d 2d 74 79 70 65 29 20 5b 28 77 69 6e 64 e.top.(case.(system-type).[(wind
9ea0 6f 77 73 29 20 22 43 3a 5c 5c 22 5d 20 5b 28 75 6e 69 78 20 6d 61 63 6f 73 78 29 20 22 2f 22 5d ows)."C:\\"].[(unix.macosx)."/"]
9ec0 29 29 0a 20 20 28 64 65 66 69 6e 65 20 70 61 74 68 2d 73 74 72 20 28 70 61 74 68 2d 3e 73 74 72 ))...(define.path-str.(path->str
9ee0 69 6e 67 20 28 62 75 69 6c 64 2d 70 61 74 68 20 74 6f 70 20 22 70 61 74 68 22 20 22 74 6f 22 20 ing.(build-path.top."path"."to".
9f00 22 66 6f 6f 62 61 72 2e 72 6b 74 22 29 29 29 0a 20 20 28 64 65 66 69 6e 65 20 63 6f 64 65 2d 73 "foobar.rkt")))...(define.code-s
9f20 74 72 20 28 7e 61 20 27 28 6d 6f 64 75 6c 65 20 66 6f 6f 62 61 72 20 72 61 63 6b 65 74 2f 62 61 tr.(~a.'(module.foobar.racket/ba
9f40 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 se..........................(req
9f60 75 69 72 65 20 6e 65 74 2f 75 72 6c 20 72 61 63 6b 65 74 2f 73 65 74 29 0a 20 20 20 20 20 20 20 uire.net/url.racket/set)........
9f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 61 2d 6c 65 78 69 63 ..................(let.([a-lexic
9fa0 61 6c 2d 62 69 6e 64 69 6e 67 20 34 32 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 al-binding.42]).................
9fc0 20 20 20 20 20 20 20 20 20 20 61 2d 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 29 0a 20 20 20 ..........a-lexical-binding)....
9fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 61 2d ......................(define.a-
a000 6d 6f 64 75 6c 65 2d 62 69 6e 64 69 6e 67 20 34 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 module-binding.42)..............
a020 20 20 20 20 20 20 20 20 20 20 20 20 61 2d 6d 6f 64 75 6c 65 2d 62 69 6e 64 69 6e 67 29 29 29 0a ............a-module-binding))).
a040 20 20 3b 3b 20 47 65 74 20 74 68 65 20 65 78 70 61 6e 64 65 64 20 73 79 6e 74 61 78 20 69 6e 20 ..;;.Get.the.expanded.syntax.in.
a060 6f 75 72 20 63 61 63 68 65 0a 20 20 28 73 74 72 69 6e 67 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 our.cache...(string->expanded-sy
a080 6e 74 61 78 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 74 72 20 76 6f 69 64 29 0a 20 20 3b ntax.path-str.code-str.void)...;
a0a0 3b 20 53 69 6d 70 6c 65 20 69 6d 70 6f 72 74 65 64 20 62 69 6e 64 69 6e 67 0a 20 20 28 63 68 65 ;.Simple.imported.binding...(che
a0c0 63 6b 2d 6e 6f 74 2d 66 61 6c 73 65 20 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 2d 72 65 73 6f 6c ck-not-false.(->identifier-resol
a0e0 76 65 64 2d 62 69 6e 64 69 6e 67 2d 69 6e 66 6f 20 70 61 74 68 2d 73 74 72 20 27 73 65 74 3f 20 ved-binding-info.path-str.'set?.
a100 76 61 6c 75 65 73 29 29 0a 20 20 28 63 68 65 63 6b 2d 6e 6f 74 2d 66 61 6c 73 65 20 28 2d 3e 69 values))...(check-not-false.(->i
a120 64 65 6e 74 69 66 69 65 72 2d 72 65 73 6f 6c 76 65 64 2d 62 69 6e 64 69 6e 67 2d 69 6e 66 6f 20 dentifier-resolved-binding-info.
a140 70 61 74 68 2d 73 74 72 20 22 73 65 74 3f 22 20 76 61 6c 75 65 73 29 29 0a 20 20 3b 3b 20 49 6d path-str."set?".values))...;;.Im
a160 70 6f 72 74 20 77 68 65 72 65 20 72 65 6e 61 6d 69 6e 67 2f 63 6f 6e 74 72 61 63 74 69 6e 67 20 port.where.renaming/contracting.
a180 69 73 20 69 6e 76 6f 6c 76 65 64 0a 20 20 28 63 68 65 63 6b 2d 6e 6f 74 2d 66 61 6c 73 65 20 28 is.involved...(check-not-false.(
a1a0 2d 3e 69 64 65 6e 74 69 66 69 65 72 2d 72 65 73 6f 6c 76 65 64 2d 62 69 6e 64 69 6e 67 2d 69 6e ->identifier-resolved-binding-in
a1c0 66 6f 20 70 61 74 68 2d 73 74 72 20 27 67 65 74 2d 70 75 72 65 2d 70 6f 72 74 20 76 61 6c 75 65 fo.path-str.'get-pure-port.value
a1e0 73 29 29 0a 20 20 28 63 68 65 63 6b 2d 6e 6f 74 2d 66 61 6c 73 65 20 28 2d 3e 69 64 65 6e 74 69 s))...(check-not-false.(->identi
a200 66 69 65 72 2d 72 65 73 6f 6c 76 65 64 2d 62 69 6e 64 69 6e 67 2d 69 6e 66 6f 20 70 61 74 68 2d fier-resolved-binding-info.path-
a220 73 74 72 20 22 67 65 74 2d 70 75 72 65 2d 70 6f 72 74 22 20 76 61 6c 75 65 73 29 29 0a 20 20 3b str."get-pure-port".values))...;
a240 3b 20 47 65 74 20 61 20 6d 6f 64 75 6c 65 20 62 69 6e 64 69 6e 67 0a 20 20 28 63 68 65 63 6b 2d ;.Get.a.module.binding...(check-
a260 65 71 75 61 6c 3f 20 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 2d 72 65 73 6f 6c 76 65 64 2d 62 69 equal?.(->identifier-resolved-bi
a280 6e 64 69 6e 67 2d 69 6e 66 6f 20 70 61 74 68 2d 73 74 72 20 22 61 2d 6d 6f 64 75 6c 65 2d 62 69 nding-info.path-str."a-module-bi
a2a0 6e 64 69 6e 67 22 20 76 61 6c 75 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 nding".values).................(
a2c0 6c 65 74 20 28 5b 70 61 74 68 20 28 73 74 72 69 6e 67 2d 3e 70 61 74 68 20 70 61 74 68 2d 73 74 let.([path.(string->path.path-st
a2e0 72 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 61 2d 6d 6f 64 75 r)])...................`((a-modu
a300 6c 65 2d 62 69 6e 64 69 6e 67 20 2c 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le-binding.,path)...............
a320 20 20 20 20 20 20 28 61 2d 6d 6f 64 75 6c 65 2d 62 69 6e 64 69 6e 67 20 2c 70 61 74 68 29 29 29 ......(a-module-binding.,path)))
a340 29 0a 20 20 3b 3b 20 47 65 74 20 61 20 6c 65 78 69 63 61 6c 20 62 69 6e 64 69 6e 67 3a 20 53 68 )...;;.Get.a.lexical.binding:.Sh
a360 6f 75 6c 64 20 72 65 74 75 72 6e 20 66 61 6c 73 65 0a 20 20 28 63 68 65 63 6b 2d 66 61 6c 73 65 ould.return.false...(check-false
a380 20 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 2d 72 65 73 6f 6c 76 65 64 2d 62 69 6e 64 69 6e 67 2d .(->identifier-resolved-binding-
a3a0 69 6e 66 6f 20 70 61 74 68 2d 73 74 72 20 22 61 2d 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 info.path-str."a-lexical-binding
a3c0 22 20 76 61 6c 75 65 73 29 29 0a 20 20 3b 3b 20 47 65 74 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 ".values))...;;.Get.something.th
a3e0 61 74 27 73 20 6e 6f 74 20 61 20 62 69 6e 64 69 6e 67 20 69 6e 20 61 74 20 61 6c 6c 3a 20 53 68 at's.not.a.binding.in.at.all:.Sh
a400 6f 75 6c 64 20 72 65 74 75 72 6e 20 66 61 6c 73 65 0a 20 20 28 63 68 65 63 6b 2d 66 61 6c 73 65 ould.return.false...(check-false
a420 20 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 2d 72 65 73 6f 6c 76 65 64 2d 62 69 6e 64 69 6e 67 2d .(->identifier-resolved-binding-
a440 69 6e 66 6f 20 70 61 74 68 2d 73 74 72 20 22 41 53 44 46 41 53 44 46 44 53 22 20 76 61 6c 75 65 info.path-str."ASDFASDFDS".value
a460 73 29 29 0a 20 20 3b 3b 20 47 65 74 20 77 68 61 74 65 76 65 72 20 69 6e 20 73 6f 6d 65 20 66 69 s))...;;.Get.whatever.in.some.fi
a480 6c 65 20 6e 6f 74 20 69 6e 20 65 78 70 61 6e 64 65 64 20 73 79 6e 74 61 78 20 63 61 63 68 65 3a le.not.in.expanded.syntax.cache:
a4a0 20 53 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 66 61 6c 73 65 0a 20 20 28 63 68 65 63 6b 2d 66 61 .Should.return.false...(check-fa
a4c0 6c 73 65 20 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 2d 72 65 73 6f 6c 76 65 64 2d 62 69 6e 64 69 lse.(->identifier-resolved-bindi
a4e0 6e 67 2d 69 6e 66 6f 20 22 6e 6f 74 2f 79 65 74 2f 65 78 70 61 6e 64 65 64 2e 72 6b 74 22 20 22 ng-info."not/yet/expanded.rkt"."
a500 77 68 61 74 65 76 65 72 22 20 76 61 6c 75 65 73 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 whatever".values))).............
a520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a600 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
a620 72 61 63 6b 65 74 2f 6c 6f 67 67 65 72 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/logger.rkt...............
a640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
a680 30 30 30 36 32 30 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 31 31 37 00 20 30 00 00 00 0006201.00000000000.017117..0...
a6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
a720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
a740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a800 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
a820 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
a840 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
a860 61 6e 67 20 61 74 2d 65 78 70 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 ang.at-exp.racket/base..(require
a880 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f .racket/match..........racket/fo
a8a0 72 6d 61 74 29 0a 0a 28 70 72 6f 76 69 64 65 20 28 72 65 6e 61 6d 65 2d 6f 75 74 20 5b 63 6f 6d rmat)..(provide.(rename-out.[com
a8c0 6d 61 6e 64 2d 63 68 61 6e 6e 65 6c 20 6c 6f 67 67 65 72 2d 63 6f 6d 6d 61 6e 64 2d 63 68 61 6e mand-channel.logger-command-chan
a8e0 6e 65 6c 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6e 6f 74 69 66 nel]......................[notif
a900 79 2d 63 68 61 6e 6e 65 6c 20 6c 6f 67 67 65 72 2d 6e 6f 74 69 66 79 2d 63 68 61 6e 6e 65 6c 5d y-channel.logger-notify-channel]
a920 29 29 0a 0a 3b 3b 20 22 4f 6e 20 73 74 61 72 74 2d 75 70 2c 20 52 61 63 6b 65 74 20 63 72 65 61 ))..;;."On.start-up,.Racket.crea
a940 74 65 73 20 61 6e 20 69 6e 69 74 69 61 6c 20 6c 6f 67 67 65 72 20 74 68 61 74 20 69 73 20 75 73 tes.an.initial.logger.that.is.us
a960 65 64 20 74 6f 0a 3b 3b 20 72 65 63 6f 72 64 20 65 76 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 ed.to.;;.record.events.from.the.
a980 63 6f 72 65 20 72 75 6e 2d 74 69 6d 65 20 73 79 73 74 65 6d 2e 20 46 6f 72 20 65 78 61 6d 70 6c core.run-time.system..For.exampl
a9a0 65 2c 20 61 6e 20 27 64 65 62 75 67 0a 3b 3b 20 65 76 65 6e 74 20 69 73 20 72 65 70 6f 72 74 65 e,.an.'debug.;;.event.is.reporte
a9c0 64 20 66 6f 72 20 65 61 63 68 20 67 61 72 62 61 67 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 28 73 d.for.each.garbage.collection.(s
a9e0 65 65 20 47 61 72 62 61 67 65 0a 3b 3b 20 43 6f 6c 6c 65 63 74 69 6f 6e 29 2e 22 20 55 73 65 20 ee.Garbage.;;.Collection).".Use.
aa00 74 68 61 74 3b 20 64 6f 6e 27 74 20 63 72 65 61 74 65 20 6e 65 77 20 6f 6e 65 2e 20 53 65 65 20 that;.don't.create.new.one..See.
aa20 69 73 73 75 65 20 23 33 32 35 2e 0a 28 64 65 66 69 6e 65 20 67 6c 6f 62 61 6c 2d 6c 6f 67 67 65 issue.#325..(define.global-logge
aa40 72 20 28 63 75 72 72 65 6e 74 2d 6c 6f 67 67 65 72 29 29 0a 0a 28 64 65 66 69 6e 65 20 63 6f 6d r.(current-logger))..(define.com
aa60 6d 61 6e 64 2d 63 68 61 6e 6e 65 6c 20 28 6d 61 6b 65 2d 63 68 61 6e 6e 65 6c 29 29 0a 28 64 65 mand-channel.(make-channel)).(de
aa80 66 69 6e 65 20 6e 6f 74 69 66 79 2d 63 68 61 6e 6e 65 6c 20 28 6d 61 6b 65 2d 63 68 61 6e 6e 65 fine.notify-channel.(make-channe
aaa0 6c 29 29 0a 0a 3b 3b 20 47 6f 20 61 68 65 61 64 20 61 6e 64 20 73 74 61 72 74 20 6f 75 72 20 6c l))..;;.Go.ahead.and.start.our.l
aac0 6f 67 20 72 65 63 65 69 76 65 72 20 74 68 72 65 61 64 20 65 61 72 6c 79 20 73 6f 20 77 65 20 63 og.receiver.thread.early.so.we.c
aae0 61 6e 20 73 65 65 20 6f 75 72 0a 3b 3b 20 6f 77 6e 20 72 61 63 6b 65 74 2d 6d 6f 64 65 20 74 6f an.see.our.;;.own.racket-mode.to
ab00 70 69 63 27 73 20 27 64 65 62 75 67 20 6c 65 76 65 6c 20 6f 75 70 75 74 20 69 6e 20 74 68 65 20 pic's.'debug.level.ouput.in.the.
ab20 66 72 6f 6e 74 20 65 6e 64 2e 0a 3b 3b 0a 3b 3b 20 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 front.end..;;.;;.On.the.other.ha
ab40 6e 64 20 28 73 65 65 20 23 36 33 31 29 20 73 65 74 20 61 6c 6c 20 6f 74 68 65 72 20 74 6f 70 69 nd.(see.#631).set.all.other.topi
ab60 63 73 20 74 6f 20 74 68 65 20 27 66 61 74 61 6c 0a 3b 3b 20 6c 65 76 65 6c 20 28 6c 65 61 73 74 cs.to.the.'fatal.;;.level.(least
ab80 20 6e 6f 69 73 79 29 2e 20 54 68 69 73 20 61 76 6f 69 64 73 20 73 65 6e 64 69 6e 67 20 65 78 63 .noisy)..This.avoids.sending.exc
aba0 65 73 73 69 76 65 20 6c 6f 67 67 65 72 0a 3b 3b 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 73 20 74 essive.logger.;;.notifications.t
abc0 6f 20 74 68 65 20 66 72 6f 6e 74 20 65 6e 64 2c 20 75 6e 74 69 6c 2f 75 6e 6c 65 73 73 20 69 74 o.the.front.end,.until/unless.it
abe0 20 67 69 76 65 73 20 75 73 20 74 68 65 20 75 73 65 72 27 73 0a 3b 3b 20 6c 6f 67 67 65 72 20 63 .gives.us.the.user's.;;.logger.c
ac00 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2c 20 77 69 74 68 20 77 68 61 74 65 76 65 72 20 76 65 72 62 onfiguration,.with.whatever.verb
ac20 6f 73 69 74 79 20 74 68 65 79 20 64 65 73 69 72 65 2e 0a 28 64 65 66 69 6e 65 20 28 72 61 63 6b osity.they.desire..(define.(rack
ac40 65 74 2d 6d 6f 64 65 2d 6c 6f 67 2d 72 65 63 65 69 76 65 72 2d 74 68 72 65 61 64 29 0a 20 20 28 et-mode-log-receiver-thread)...(
ac60 6c 65 74 20 77 61 69 74 20 28 5b 72 65 63 65 69 76 65 72 20 28 6d 61 6b 65 2d 72 65 63 65 69 76 let.wait.([receiver.(make-receiv
ac80 65 72 20 27 28 28 72 61 63 6b 65 74 2d 6d 6f 64 65 20 2e 20 64 65 62 75 67 29 0a 20 20 20 20 20 er.'((racket-mode...debug)......
aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
acc0 20 20 20 28 2a 20 20 20 20 20 20 20 20 20 20 20 2e 20 66 61 74 61 6c 29 29 29 5d 29 0a 20 20 20 ...(*.............fatal)))])....
ace0 20 28 73 79 6e 63 0a 20 20 20 20 20 28 68 61 6e 64 6c 65 2d 65 76 74 20 63 6f 6d 6d 61 6e 64 2d .(sync......(handle-evt.command-
ad00 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 76 29 channel..................(...(v)
ad20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 61 69 74 20 28 6d 61 6b 65 2d ....................(wait.(make-
ad40 72 65 63 65 69 76 65 72 20 76 29 29 29 29 0a 20 20 20 20 20 28 68 61 6e 64 6c 65 2d 65 76 74 20 receiver.v))))......(handle-evt.
ad60 72 65 63 65 69 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 receiver..................(match
ad80 2d 6c 61 6d 62 64 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 76 65 63 -lambda....................[(vec
ada0 74 6f 72 20 6c 65 76 65 6c 20 6d 65 73 73 61 67 65 20 5f 76 20 74 6f 70 69 63 29 0a 20 20 20 20 tor.level.message._v.topic).....
adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 61 6e 6e 65 6c 2d 70 75 74 20 6e 6f 74 ................(channel-put.not
ade0 69 66 79 2d 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ify-channel.....................
ae00 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 6c 6f 67 67 65 72 0a 20 20 20 20 20 20 20 20 20 20 .............`(logger...........
ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 7e 61 20 28 6c .........................,(~a.(l
ae40 61 62 65 6c 20 6c 65 76 65 6c 29 20 22 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 abel.level).".".................
ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 73 75 72 65 2d ........................(ensure-
ae80 74 6f 70 69 63 2d 69 6e 2d 6d 65 73 73 61 67 65 20 74 6f 70 69 63 20 6d 65 73 73 61 67 65 29 0a topic-in-message.topic.message).
aea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
aec0 20 20 20 20 20 20 20 20 22 5c 6e 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"\n"))).................
aee0 20 20 20 20 28 77 61 69 74 20 72 65 63 65 69 76 65 72 29 5d 29 29 29 29 29 0a 28 76 6f 69 64 20 ....(wait.receiver)]))))).(void.
af00 28 74 68 72 65 61 64 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 6c 6f 67 2d 72 65 63 65 69 76 65 72 (thread.racket-mode-log-receiver
af20 2d 74 68 72 65 61 64 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 65 6e 73 75 72 65 2d 74 6f 70 69 63 -thread))..(define.(ensure-topic
af40 2d 69 6e 2d 6d 65 73 73 61 67 65 20 74 6f 70 69 63 20 6d 65 73 73 61 67 65 29 0a 20 20 28 6d 61 -in-message.topic.message)...(ma
af60 74 63 68 20 6d 65 73 73 61 67 65 0a 20 20 20 20 5b 28 70 72 65 67 65 78 70 20 28 66 6f 72 6d 61 tch.message.....[(pregexp.(forma
af80 74 20 22 5e 7e 61 3a 20 22 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 28 7e 61 20 74 6f 70 69 t."^~a:.".(regexp-quote.(~a.topi
afa0 63 29 29 29 29 0a 20 20 20 20 20 6d 65 73 73 61 67 65 5d 0a 20 20 20 20 5b 6d 65 73 73 61 67 65 c))))......message].....[message
afc0 2d 77 69 74 68 6f 75 74 2d 74 6f 70 69 63 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 7e 61 3a -without-topic......(format."~a:
afe0 20 7e 61 22 20 28 6f 72 20 74 6f 70 69 63 20 22 2a 22 29 20 6d 65 73 73 61 67 65 2d 77 69 74 68 .~a".(or.topic."*").message-with
b000 6f 75 74 2d 74 6f 70 69 63 29 5d 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 out-topic)]))..(module+.test...(
b020 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 29 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c require.rackunit)...(check-equal
b040 3f 20 28 65 6e 73 75 72 65 2d 74 6f 70 69 63 2d 69 6e 2d 6d 65 73 73 61 67 65 20 27 74 6f 70 69 ?.(ensure-topic-in-message.'topi
b060 63 20 22 74 6f 70 69 63 3a 20 6d 65 73 73 61 67 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 c."topic:.message").............
b080 20 20 20 20 22 74 6f 70 69 63 3a 20 6d 65 73 73 61 67 65 22 29 0a 20 20 28 63 68 65 63 6b 2d 65 ...."topic:.message")...(check-e
b0a0 71 75 61 6c 3f 20 28 65 6e 73 75 72 65 2d 74 6f 70 69 63 2d 69 6e 2d 6d 65 73 73 61 67 65 20 27 qual?.(ensure-topic-in-message.'
b0c0 74 6f 70 69 63 20 22 6d 65 73 73 61 67 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 topic."message")................
b0e0 20 22 74 6f 70 69 63 3a 20 6d 65 73 73 61 67 65 22 29 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 ."topic:.message")...(check-equa
b100 6c 3f 20 28 65 6e 73 75 72 65 2d 74 6f 70 69 63 2d 69 6e 2d 6d 65 73 73 61 67 65 20 23 66 20 22 l?.(ensure-topic-in-message.#f."
b120 6d 65 73 73 61 67 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2a 3a 20 6d 65 message")................."*:.me
b140 73 73 61 67 65 22 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 6c 61 62 65 6c 20 6c 65 76 65 6c 29 0a ssage"))..(define.(label.level).
b160 20 20 3b 3b 20 6a 75 73 74 69 66 79 0a 20 20 28 63 61 73 65 20 6c 65 76 65 6c 0a 20 20 20 20 5b ..;;.justify...(case.level.....[
b180 28 64 65 62 75 67 29 20 20 20 22 5b 20 20 64 65 62 75 67 5d 22 5d 0a 20 20 20 20 5b 28 69 6e 66 (debug)..."[..debug]"].....[(inf
b1a0 6f 29 20 20 20 20 22 5b 20 20 20 69 6e 66 6f 5d 22 5d 0a 20 20 20 20 5b 28 77 61 72 6e 69 6e 67 o)...."[...info]"].....[(warning
b1c0 29 20 22 5b 77 61 72 6e 69 6e 67 5d 22 5d 0a 20 20 20 20 5b 28 65 72 72 6f 72 29 20 20 20 22 5b )."[warning]"].....[(error)..."[
b1e0 20 20 65 72 72 6f 72 5d 22 5d 0a 20 20 20 20 5b 28 66 61 74 61 6c 29 20 20 20 22 5b 20 20 66 61 ..error]"].....[(fatal)..."[..fa
b200 74 61 6c 5d 22 5d 0a 20 20 20 20 5b 65 6c 73 65 20 20 20 20 20 20 40 7e 61 7b 5b 6c 65 76 65 6c tal]"].....[else......@~a{[level
b220 5d 7d 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 72 65 63 65 69 76 65 72 20 61 6c ]}]))..(define.(make-receiver.al
b240 69 73 74 29 0a 20 20 28 61 70 70 6c 79 20 6d 61 6b 65 2d 6c 6f 67 2d 72 65 63 65 69 76 65 72 20 ist)...(apply.make-log-receiver.
b260 28 6c 69 73 74 2a 20 67 6c 6f 62 61 6c 2d 6c 6f 67 67 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 (list*.global-logger............
b280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6c 69 73 74 2d 3e 73 .......................(alist->s
b2a0 70 65 63 20 61 6c 69 73 74 29 29 29 29 0a 0a 3b 3b 20 43 6f 6e 76 65 72 74 20 66 72 6f 6d 20 28 pec.alist))))..;;.Convert.from.(
b2c0 5b 6c 6f 67 67 65 72 20 2e 20 6c 65 76 65 6c 5d 20 2e 2e 2e 29 20 61 6c 69 73 74 20 74 6f 20 74 [logger...level]....).alist.to.t
b2e0 68 65 20 66 6f 72 6d 61 74 20 75 73 65 64 20 62 79 0a 3b 3b 20 6d 61 6b 65 2d 6c 6f 67 2d 72 65 he.format.used.by.;;.make-log-re
b300 63 65 69 76 65 72 3a 20 28 6c 65 76 65 6c 20 6c 6f 67 67 65 72 20 2e 2e 2e 20 2e 2e 2e 20 64 65 ceiver:.(level.logger.........de
b320 66 61 75 6c 74 2d 6c 65 76 65 6c 29 2e 20 49 6e 20 74 68 65 0a 3b 3b 20 61 6c 69 73 74 2c 20 74 fault-level)..In.the.;;.alist,.t
b340 72 65 61 74 20 74 68 65 20 6c 6f 67 67 65 72 20 27 2a 20 61 73 20 74 68 65 20 64 65 66 61 75 6c reat.the.logger.'*.as.the.defaul
b360 74 20 6c 65 76 65 6c 2e 0a 28 64 65 66 69 6e 65 20 28 61 6c 69 73 74 2d 3e 73 70 65 63 20 78 73 t.level..(define.(alist->spec.xs
b380 29 20 3b 28 4c 69 73 74 6f 66 20 28 50 61 69 72 6f 66 20 53 79 6d 62 6f 6c 20 53 79 6d 62 6f 6c ).;(Listof.(Pairof.Symbol.Symbol
b3a0 29 29 20 2d 3e 20 28 4c 69 73 74 6f 66 20 53 79 6d 62 6f 6c 29 0a 20 20 28 66 6f 72 2f 66 6f 6c )).->.(Listof.Symbol)...(for/fol
b3c0 64 20 28 5b 73 70 65 63 20 27 28 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 78 20 28 d.([spec.'()]).............([x.(
b3e0 69 6e 2d 6c 69 73 74 20 78 73 29 5d 29 0a 20 20 20 20 28 61 70 70 65 6e 64 20 73 70 65 63 0a 20 in-list.xs)]).....(append.spec..
b400 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........(match.x.............
b420 20 20 5b 28 63 6f 6e 73 20 27 2a 20 20 20 20 20 6c 65 76 65 6c 29 20 28 6c 69 73 74 20 6c 65 76 ..[(cons.'*.....level).(list.lev
b440 65 6c 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 63 6f 6e 73 20 6c 6f 67 67 65 72 el)]...............[(cons.logger
b460 20 6c 65 76 65 6c 29 20 28 6c 69 73 74 20 6c 65 76 65 6c 20 6c 6f 67 67 65 72 29 5d 29 29 29 29 .level).(list.level.logger)]))))
b480 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b600 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
b620 72 61 63 6b 65 74 2f 69 6d 61 67 65 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/image.rkt................
b640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
b680 30 30 30 33 33 37 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 37 32 36 00 20 30 00 00 00 0003370.00000000000.016726..0...
b6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
b720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
b740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b800 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
b820 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
b840 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
b860 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 3b 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f ang.racket/base..;;;.Portions.Co
b880 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 32 20 4a 6f 73 65 20 41 6e 74 6f 6e 69 6f 20 4f 72 pyright.(C).2012.Jose.Antonio.Or
b8a0 74 65 67 61 20 52 75 69 7a 2e 0a 0a 28 72 65 71 75 69 72 65 20 66 69 6c 65 2f 63 6f 6e 76 65 72 tega.Ruiz...(require.file/conver
b8c0 74 69 62 6c 65 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 69 6c 65 0a 20 20 20 20 20 tible..........racket/file......
b8e0 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 ....racket/format..........racke
b900 74 2f 6d 61 74 63 68 29 0a 0a 28 70 72 6f 76 69 64 65 20 73 65 74 2d 75 73 65 2d 73 76 67 3f 21 t/match)..(provide.set-use-svg?!
b920 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 76 65 72 74 2d 69 6d 61 67 65 29 0a 0a 3b 3b 20 45 6d 61 ..........convert-image)..;;.Ema
b940 63 73 20 66 72 6f 6e 74 20 65 6e 64 20 74 65 6c 6c 73 20 75 73 20 77 68 65 74 68 65 72 20 53 56 cs.front.end.tells.us.whether.SV
b960 47 20 69 73 20 61 6e 20 69 6d 61 67 65 20 66 69 6c 65 20 74 79 70 65 20 45 6d 61 63 73 0a 3b 3b G.is.an.image.file.type.Emacs.;;
b980 20 63 61 6e 20 72 65 6e 64 65 72 2e 20 54 68 69 73 20 63 6f 6d 65 73 20 76 69 61 20 61 20 63 6f .can.render..This.comes.via.a.co
b9a0 6d 6d 61 6e 64 20 6c 69 6e 65 20 66 6c 61 67 20 77 68 65 6e 20 77 65 20 73 74 61 72 74 20 75 70 mmand.line.flag.when.we.start.up
b9c0 2e 0a 28 64 65 66 69 6e 65 20 75 73 65 2d 73 76 67 3f 20 23 74 29 0a 28 64 65 66 69 6e 65 20 28 ..(define.use-svg?.#t).(define.(
b9e0 73 65 74 2d 75 73 65 2d 73 76 67 3f 21 20 76 29 20 28 73 65 74 21 20 75 73 65 2d 73 76 67 3f 20 set-use-svg?!.v).(set!.use-svg?.
ba00 76 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 63 6f 6e 76 65 72 74 2d 69 6d 61 67 65 20 76 29 0a 20 v))..(define.(convert-image.v)..
ba20 20 28 61 6e 64 20 28 63 6f 6e 76 65 72 74 69 62 6c 65 3f 20 76 29 0a 20 20 20 20 20 20 20 3b 3b .(and.(convertible?.v)........;;
ba40 20 52 61 74 69 6f 6e 61 6c 65 20 66 6f 72 20 74 68 65 20 6f 72 64 65 72 20 68 65 72 65 3a 0a 20 .Rationale.for.the.order.here:..
ba60 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 3b 3b 20 2d 20 54 72 79 20 62 6f 75 6e 64 65 64 ......;;........;;.-.Try.bounded
ba80 20 62 65 66 6f 72 65 20 75 6e 62 6f 75 6e 64 65 64 20 66 6c 61 76 6f 72 73 2e 20 42 65 63 61 75 .before.unbounded.flavors..Becau
baa0 73 65 20 77 65 20 77 61 6e 74 0a 20 20 20 20 20 20 20 3b 3b 20 20 20 61 63 63 75 72 61 74 65 20 se.we.want........;;...accurate.
bac0 69 6d 61 67 65 20 77 69 64 74 68 2c 20 69 66 20 61 76 61 69 6c 61 62 6c 65 2c 20 66 6f 72 20 70 image.width,.if.available,.for.p
bae0 72 65 74 74 79 2d 70 72 69 6e 74 69 6e 67 2e 0a 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 retty-printing.........;;.......
bb00 20 3b 3b 20 2d 20 57 69 74 68 69 6e 20 65 61 63 68 20 66 6c 61 76 6f 72 3a 20 54 72 79 20 73 76 .;;.-.Within.each.flavor:.Try.sv
bb20 67 20 28 69 66 20 74 68 69 73 20 45 6d 61 63 73 20 63 61 6e 20 75 73 65 20 69 74 29 0a 20 20 20 g.(if.this.Emacs.can.use.it)....
bb40 20 20 20 20 3b 3b 20 20 20 62 65 66 6f 72 65 20 70 6e 67 2e 20 42 65 63 61 75 73 65 20 73 70 61 ....;;...before.png..Because.spa
bb60 63 65 2e 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 66 6d 74 73 2f 65 78 74 73 20 28 69 66 20 ce.........(let.([fmts/exts.(if.
bb80 75 73 65 2d 73 76 67 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 use-svg?........................
bba0 20 20 20 20 20 27 28 28 73 76 67 2d 62 79 74 65 73 2b 62 6f 75 6e 64 73 20 22 73 76 67 22 29 0a .....'((svg-bytes+bounds."svg").
bbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 ..............................(p
bbe0 6e 67 2d 62 79 74 65 73 2b 62 6f 75 6e 64 73 20 22 70 6e 67 22 29 0a 20 20 20 20 20 20 20 20 20 ng-bytes+bounds."png")..........
bc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 76 67 2d 62 79 74 65 73 20 .....................(svg-bytes.
bc20 20 20 20 20 20 20 20 22 73 76 67 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......."svg")...................
bc40 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6e 67 2d 62 79 74 65 73 20 20 20 20 20 20 20 20 22 70 ............(png-bytes........"p
bc60 6e 67 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng"))...........................
bc80 20 20 27 28 28 70 6e 67 2d 62 79 74 65 73 2b 62 6f 75 6e 64 73 20 22 70 6e 67 22 29 0a 20 20 20 ..'((png-bytes+bounds."png")....
bca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6e 67 2d ...........................(png-
bcc0 62 79 74 65 73 20 20 20 20 20 20 20 20 22 70 6e 67 22 29 29 29 5d 29 0a 20 20 20 20 20 20 20 20 bytes........"png")))]).........
bce0 20 28 66 6f 72 2f 6f 72 20 28 5b 66 6d 74 2f 65 78 74 20 28 69 6e 2d 6c 69 73 74 20 66 6d 74 73 .(for/or.([fmt/ext.(in-list.fmts
bd00 2f 65 78 74 73 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 63 6f 6e 76 65 /exts)])............(apply.conve
bd20 72 74 2d 61 6e 64 2d 73 61 76 65 20 76 20 66 6d 74 2f 65 78 74 29 29 29 29 29 0a 0a 28 64 65 66 rt-and-save.v.fmt/ext)))))..(def
bd40 69 6e 65 20 28 63 6f 6e 76 65 72 74 2d 61 6e 64 2d 73 61 76 65 20 76 20 66 6d 74 20 65 78 74 29 ine.(convert-and-save.v.fmt.ext)
bd60 0a 20 20 28 64 65 66 69 6e 65 20 28 64 65 66 61 75 6c 74 2d 77 69 64 74 68 20 5f 29 20 34 30 39 ...(define.(default-width._).409
bd80 36 29 0a 20 20 28 6d 61 74 63 68 20 28 63 6f 6e 76 65 72 74 20 76 20 66 6d 74 20 23 66 29 0a 20 6)...(match.(convert.v.fmt.#f)..
bda0 20 20 20 5b 28 6f 72 20 28 6c 69 73 74 2a 20 28 3f 20 62 79 74 65 73 3f 20 62 73 74 72 29 20 77 ...[(or.(list*.(?.bytes?.bstr).w
bdc0 69 64 74 68 20 5f 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 62 79 74 65 73 2b idth._)..................;bytes+
bde0 62 6f 75 6e 64 73 0a 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 3f 20 62 79 74 65 73 3f 20 62 bounds..........(and.(?.bytes?.b
be00 73 74 72 29 20 28 61 70 70 20 64 65 66 61 75 6c 74 2d 77 69 64 74 68 20 77 69 64 74 68 29 29 29 str).(app.default-width.width)))
be20 20 3b 62 79 74 65 73 0a 20 20 20 20 20 28 64 65 66 69 6e 65 20 66 69 6c 65 6e 61 6d 65 20 28 6d .;bytes......(define.filename.(m
be40 61 6b 65 2d 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 20 28 7e 61 20 22 72 61 63 6b 65 74 2d 69 ake-temporary-file.(~a."racket-i
be60 6d 61 67 65 2d 7e 61 2e 22 20 65 78 74 29 29 29 0a 20 20 20 20 20 28 77 69 74 68 2d 6f 75 74 70 mage-~a.".ext)))......(with-outp
be80 75 74 2d 74 6f 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 23 3a 65 78 69 73 74 73 20 27 74 72 ut-to-file.filename.#:exists.'tr
bea0 75 6e 63 61 74 65 20 28 ce bb 20 28 29 20 28 64 69 73 70 6c 61 79 20 62 73 74 72 29 29 29 0a 20 uncate.(...().(display.bstr)))..
bec0 20 20 20 20 28 63 6f 6e 73 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 66 69 6c 65 6e 61 6d 65 ....(cons.(path->string.filename
bee0 29 20 77 69 64 74 68 29 5d 0a 20 20 20 20 5b 23 66 20 23 66 5d 29 29 0a 00 00 00 00 00 00 00 00 ).width)].....[#f.#f])).........
bf00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c000 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
c020 72 61 63 6b 65 74 2f 75 74 69 6c 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/util.rkt.................
c040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
c080 30 30 30 35 37 37 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 36 33 34 00 20 30 00 00 00 0005775.00000000000.016634..0...
c0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
c120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
c140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c200 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
c220 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
c240 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
c260 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 28 66 6f 72 2d 73 ang.racket/base..(require.(for-s
c280 79 6e 74 61 78 20 72 61 63 6b 65 74 2f 62 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 73 79 6e 74 yntax.racket/base)..........synt
c2a0 61 78 2f 73 74 78 0a 20 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 2f 70 61 72 73 65 2f 64 65 66 ax/stx..........syntax/parse/def
c2c0 69 6e 65 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 0a 20 20 20 20 20 ine..........racket/format......
c2e0 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 72 61 63 6b 65 74 2f 70 61 74 68 0a 20 20 20 20 20 20 20 ....(only-in.racket/path........
c300 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 0a 20 20 ...........filename-extension...
c320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 6d 65 2d 73 79 73 74 65 6d 2d 70 61 74 68 ................some-system-path
c340 2d 3e 73 74 72 69 6e 67 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 73 74 72 69 6e 67 2d 3e 6e 61 6d ->string))..(provide.string->nam
c360 65 73 70 61 63 65 2d 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 2d 6f 72 espace-syntax..........syntax-or
c380 2d 73 65 78 70 72 2d 3e 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 2d 6f -sexpr->syntax..........syntax-o
c3a0 72 2d 73 65 78 70 72 2d 3e 73 65 78 70 72 0a 20 20 20 20 20 20 20 20 20 6e 61 74 2f 63 0a 20 20 r-sexpr->sexpr..........nat/c...
c3c0 20 20 20 20 20 20 20 70 6f 73 2f 63 0a 20 20 20 20 20 20 20 20 20 6d 65 6d 71 3f 0a 20 20 20 20 .......pos/c..........memq?.....
c3e0 20 20 20 20 20 69 6e 2d 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 20 6c 6f 67 2d 72 61 63 6b .....in-syntax..........log-rack
c400 65 74 2d 6d 6f 64 65 2d 64 65 62 75 67 0a 20 20 20 20 20 20 20 20 20 6c 6f 67 2d 72 61 63 6b 65 et-mode-debug..........log-racke
c420 74 2d 6d 6f 64 65 2d 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 20 6c 6f 67 2d 72 61 63 6b 65 74 2d t-mode-info..........log-racket-
c440 6d 6f 64 65 2d 77 61 72 6e 69 6e 67 0a 20 20 20 20 20 20 20 20 20 6c 6f 67 2d 72 61 63 6b 65 74 mode-warning..........log-racket
c460 2d 6d 6f 64 65 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 6c 6f 67 2d 72 61 63 6b 65 74 2d -mode-error..........log-racket-
c480 6d 6f 64 65 2d 66 61 74 61 6c 0a 20 20 20 20 20 20 20 20 20 74 69 6d 65 2d 61 70 70 6c 79 2f 6c mode-fatal..........time-apply/l
c4a0 6f 67 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 2d 74 69 6d 65 2f 6c 6f 67 0a 20 20 20 20 20 20 og..........with-time/log.......
c4c0 20 20 20 64 65 66 69 6e 65 2d 70 6f 6c 79 66 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 61 74 68 ...define-polyfill..........path
c4e0 2d 68 61 73 2d 65 78 74 65 6e 73 69 6f 6e 3f 0a 20 20 20 20 20 20 20 20 20 70 61 74 68 2d 72 65 -has-extension?..........path-re
c500 70 6c 61 63 65 2d 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 73 6f 6d 65 2d 73 79 place-extension..........some-sy
c520 73 74 65 6d 2d 70 61 74 68 2d 3e 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 69 6e 65 20 28 73 74 72 stem-path->string)..(define.(str
c540 69 6e 67 2d 3e 6e 61 6d 65 73 70 61 63 65 2d 73 79 6e 74 61 78 20 73 74 72 29 0a 20 20 28 6e 61 ing->namespace-syntax.str)...(na
c560 6d 65 73 70 61 63 65 2d 73 79 6e 74 61 78 2d 69 6e 74 72 6f 64 75 63 65 0a 20 20 20 28 72 65 61 mespace-syntax-introduce....(rea
c580 64 2d 73 79 6e 74 61 78 20 23 66 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 69 6e 67 20 73 d-syntax.#f.(open-input-string.s
c5a0 74 72 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 73 79 6e 74 61 78 2d 6f 72 2d 73 65 78 70 72 tr))))..(define.(syntax-or-sexpr
c5c0 2d 3e 73 79 6e 74 61 78 20 76 29 0a 20 20 28 69 66 20 28 73 79 6e 74 61 78 3f 20 76 29 0a 20 20 ->syntax.v)...(if.(syntax?.v)...
c5e0 20 20 20 20 76 0a 20 20 20 20 20 20 28 6e 61 6d 65 73 70 61 63 65 2d 73 79 6e 74 61 78 2d 69 6e ....v.......(namespace-syntax-in
c600 74 72 6f 64 75 63 65 20 28 64 61 74 75 6d 2d 3e 73 79 6e 74 61 78 20 23 66 20 76 29 29 29 29 0a troduce.(datum->syntax.#f.v)))).
c620 0a 28 64 65 66 69 6e 65 20 28 73 79 6e 74 61 78 2d 6f 72 2d 73 65 78 70 72 2d 3e 73 65 78 70 72 .(define.(syntax-or-sexpr->sexpr
c640 20 76 29 0a 20 20 28 69 66 20 28 73 79 6e 74 61 78 3f 20 76 29 0a 20 20 20 20 20 20 28 73 79 6e .v)...(if.(syntax?.v).......(syn
c660 74 61 78 2d 65 20 76 29 0a 20 20 20 20 20 20 76 29 29 0a 0a 28 64 65 66 69 6e 65 20 6e 61 74 2f tax-e.v).......v))..(define.nat/
c680 63 20 65 78 61 63 74 2d 6e 6f 6e 6e 65 67 61 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 29 0a 28 64 c.exact-nonnegative-integer?).(d
c6a0 65 66 69 6e 65 20 70 6f 73 2f 63 20 65 78 61 63 74 2d 70 6f 73 69 74 69 76 65 2d 69 6e 74 65 67 efine.pos/c.exact-positive-integ
c6c0 65 72 3f 29 0a 0a 28 64 65 66 69 6e 65 20 28 6d 65 6d 71 3f 20 78 20 78 73 29 0a 20 20 28 61 6e er?)..(define.(memq?.x.xs)...(an
c6e0 64 20 28 6d 65 6d 71 20 78 20 78 73 29 20 23 74 29 29 0a 0a 3b 3b 3b 20 69 6e 2d 73 79 6e 74 61 d.(memq.x.xs).#t))..;;;.in-synta
c700 78 3a 20 4e 6f 74 20 64 65 66 69 6e 65 64 20 75 6e 74 69 6c 20 52 61 63 6b 65 74 20 36 2e 33 0a x:.Not.defined.until.Racket.6.3.
c720 0a 28 64 65 66 69 6e 65 2d 73 65 71 75 65 6e 63 65 2d 73 79 6e 74 61 78 20 69 6e 2d 73 79 6e 74 .(define-sequence-syntax.in-synt
c740 61 78 0a 20 20 28 ce bb 20 28 29 20 23 27 69 6e 2d 73 79 6e 74 61 78 2f 70 72 6f 63 29 0a 20 20 ax...(...().#'in-syntax/proc)...
c760 28 ce bb 20 28 73 74 78 29 0a 20 20 20 20 28 73 79 6e 74 61 78 2d 63 61 73 65 20 73 74 78 20 28 (...(stx).....(syntax-case.stx.(
c780 29 0a 20 20 20 20 20 20 5b 5b 28 69 64 29 20 28 5f 20 61 72 67 29 5d 0a 20 20 20 20 20 20 20 23 ).......[[(id).(_.arg)]........#
c7a0 27 5b 28 69 64 29 20 28 69 6e 2d 6c 69 73 74 20 28 69 6e 2d 73 79 6e 74 61 78 2f 70 72 6f 63 20 '[(id).(in-list.(in-syntax/proc.
c7c0 61 72 67 29 29 5d 5d 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 69 6e 2d 73 79 6e 74 61 78 2f 70 arg))]])))..(define.(in-syntax/p
c7e0 72 6f 63 20 73 74 78 29 0a 20 20 28 6f 72 20 28 73 74 78 2d 3e 6c 69 73 74 20 73 74 78 29 0a 20 roc.stx)...(or.(stx->list.stx)..
c800 20 20 20 20 20 28 72 61 69 73 65 2d 74 79 70 65 2d 65 72 72 6f 72 20 27 69 6e 2d 73 79 6e 74 61 .....(raise-type-error.'in-synta
c820 78 20 22 73 74 78 2d 6c 69 73 74 22 20 73 74 78 29 29 29 0a 0a 3b 3b 3b 20 6c 6f 67 67 65 72 20 x."stx-list".stx)))..;;;.logger.
c840 2f 20 74 69 6d 69 6e 67 0a 0a 28 64 65 66 69 6e 65 2d 6c 6f 67 67 65 72 20 72 61 63 6b 65 74 2d /.timing..(define-logger.racket-
c860 6d 6f 64 65 29 0a 0a 28 64 65 66 69 6e 65 20 28 74 69 6d 65 2d 61 70 70 6c 79 2f 6c 6f 67 20 77 mode)..(define.(time-apply/log.w
c880 68 61 74 20 70 72 6f 63 20 61 72 67 73 29 0a 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 hat.proc.args)...(define-values.
c8a0 28 76 73 20 63 70 75 20 72 65 61 6c 20 67 63 29 20 28 74 69 6d 65 2d 61 70 70 6c 79 20 70 72 6f (vs.cpu.real.gc).(time-apply.pro
c8c0 63 20 61 72 67 73 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28 66 6d 74 20 6e 29 20 28 7e 76 20 23 c.args))...(define.(fmt.n).(~v.#
c8e0 3a 61 6c 69 67 6e 20 27 72 69 67 68 74 20 23 3a 6d 69 6e 2d 77 69 64 74 68 20 34 20 6e 29 29 0a :align.'right.#:min-width.4.n)).
c900 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 64 65 62 75 67 20 22 7e 61 20 63 70 75 ..(log-racket-mode-debug."~a.cpu
c920 20 7c 20 7e 61 20 72 65 61 6c 20 7c 20 7e 61 20 67 63 20 3a 3a 20 7e 61 22 0a 20 20 20 20 20 20 .|.~a.real.|.~a.gc.::.~a".......
c940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6d 74 20 63 70 75 29 20 28 66 6d ...................(fmt.cpu).(fm
c960 74 20 72 65 61 6c 29 20 28 66 6d 74 20 67 63 29 20 77 68 61 74 29 0a 20 20 28 61 70 70 6c 79 20 t.real).(fmt.gc).what)...(apply.
c980 76 61 6c 75 65 73 20 76 73 29 29 0a 0a 28 64 65 66 69 6e 65 2d 73 69 6d 70 6c 65 2d 6d 61 63 72 values.vs))..(define-simple-macr
c9a0 6f 20 28 77 69 74 68 2d 74 69 6d 65 2f 6c 6f 67 20 77 68 61 74 20 65 20 2e 2e 2e 2b 29 0a 20 20 o.(with-time/log.what.e....+)...
c9c0 28 74 69 6d 65 2d 61 70 70 6c 79 2f 6c 6f 67 20 77 68 61 74 20 28 ce bb 20 28 29 20 65 20 2e 2e (time-apply/log.what.(...().e...
c9e0 2e 29 20 27 28 29 29 29 0a 0a 3b 3b 3b 20 50 61 74 68 20 65 78 74 65 6e 73 69 6f 6e 20 66 6f 72 .).'()))..;;;.Path.extension.for
ca00 20 52 61 63 6b 65 74 20 76 65 72 73 69 6f 6e 73 20 3c 20 36 2e 36 0a 0a 28 64 65 66 69 6e 65 2d .Racket.versions.<.6.6..(define-
ca20 73 69 6d 70 6c 65 2d 6d 61 63 72 6f 20 28 64 65 66 69 6e 65 2d 70 6f 6c 79 66 69 6c 6c 20 28 69 simple-macro.(define-polyfill.(i
ca40 64 3a 69 64 20 61 72 67 3a 65 78 70 72 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 d:id.arg:expr....)..............
ca60 20 20 20 20 20 20 20 20 20 20 23 3a 6d 6f 64 75 6c 65 20 6d 6f 64 3a 69 64 0a 20 20 20 20 20 20 ..........#:module.mod:id.......
ca80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 3a 65 78 70 72 20 2e 2e 2e 2b 29 .................body:expr....+)
caa0 0a 20 20 28 64 65 66 69 6e 65 20 69 64 0a 20 20 20 20 28 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 ...(define.id.....(with-handlers
cac0 20 28 5b 65 78 6e 3a 66 61 69 6c 3f 20 28 ce bb 20 28 5f 65 78 6e 29 0a 20 20 20 20 20 20 20 20 .([exn:fail?.(...(_exn).........
cae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 61 72 .........................(...(ar
cb00 67 20 2e 2e 2e 29 20 62 6f 64 79 20 2e 2e 2e 29 29 5d 29 0a 20 20 20 20 20 20 28 64 79 6e 61 6d g....).body....))]).......(dynam
cb20 69 63 2d 72 65 71 75 69 72 65 20 27 6d 6f 64 20 27 69 64 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 ic-require.'mod.'id))))..(define
cb40 2d 70 6f 6c 79 66 69 6c 6c 20 28 70 61 74 68 2d 68 61 73 2d 65 78 74 65 6e 73 69 6f 6e 3f 20 70 -polyfill.(path-has-extension?.p
cb60 61 74 68 20 65 78 74 29 0a 20 20 23 3a 6d 6f 64 75 6c 65 20 72 61 63 6b 65 74 2f 70 61 74 68 0a ath.ext)...#:module.racket/path.
cb80 20 20 28 6c 65 74 20 28 5b 65 78 74 20 28 69 66 20 28 73 74 72 69 6e 67 3f 20 65 78 74 29 20 28 ..(let.([ext.(if.(string?.ext).(
cba0 73 74 72 69 6e 67 2d 3e 62 79 74 65 73 2f 75 74 66 2d 38 20 65 78 74 29 20 65 78 74 29 5d 29 0a string->bytes/utf-8.ext).ext)]).
cbc0 20 20 20 20 28 65 71 75 61 6c 3f 20 28 66 69 6c 65 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 ....(equal?.(filename-extension.
cbe0 70 61 74 68 29 20 65 78 74 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 70 6f 6c 79 66 69 6c 6c 20 28 path).ext)))..(define-polyfill.(
cc00 70 61 74 68 2d 72 65 70 6c 61 63 65 2d 65 78 74 65 6e 73 69 6f 6e 20 70 61 74 68 20 65 78 74 29 path-replace-extension.path.ext)
cc20 0a 20 20 23 3a 6d 6f 64 75 6c 65 20 72 61 63 6b 65 74 2f 70 61 74 68 0a 20 20 28 70 61 74 68 2d ...#:module.racket/path...(path-
cc40 72 65 70 6c 61 63 65 2d 73 75 66 66 69 78 20 70 61 74 68 20 65 78 74 29 29 0a 0a 28 6d 6f 64 75 replace-suffix.path.ext))..(modu
cc60 6c 65 2b 20 74 65 73 74 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 29 0a 20 20 le+.test...(require.rackunit)...
cc80 28 63 68 65 63 6b 2d 74 72 75 65 20 28 70 61 74 68 2d 68 61 73 2d 65 78 74 65 6e 73 69 6f 6e 3f (check-true.(path-has-extension?
cca0 20 22 2f 70 61 74 68 2f 74 6f 2f 66 6f 6f 2e 45 58 54 22 20 22 45 58 54 22 29 29 0a 20 20 28 63 ."/path/to/foo.EXT"."EXT"))...(c
ccc0 68 65 63 6b 2d 74 72 75 65 20 28 70 61 74 68 2d 68 61 73 2d 65 78 74 65 6e 73 69 6f 6e 3f 20 28 heck-true.(path-has-extension?.(
cce0 62 75 69 6c 64 2d 70 61 74 68 20 22 2f 70 61 74 68 2f 74 6f 2f 66 6f 6f 2e 45 58 54 22 29 20 22 build-path."/path/to/foo.EXT")."
cd00 45 58 54 22 29 29 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 70 61 74 68 2d 72 65 70 EXT"))...(check-equal?.(path-rep
cd20 6c 61 63 65 2d 65 78 74 65 6e 73 69 6f 6e 20 22 2f 70 61 74 68 2f 74 6f 2f 66 6f 6f 2e 4f 4c 44 lace-extension."/path/to/foo.OLD
cd40 22 20 22 2e 4e 45 57 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 69 6c 64 ".".NEW").................(build
cd60 2d 70 61 74 68 20 22 2f 70 61 74 68 2f 74 6f 2f 66 6f 6f 2e 4e 45 57 22 29 29 0a 20 20 28 63 68 -path."/path/to/foo.NEW"))...(ch
cd80 65 63 6b 2d 65 71 75 61 6c 3f 20 28 70 61 74 68 2d 72 65 70 6c 61 63 65 2d 65 78 74 65 6e 73 69 eck-equal?.(path-replace-extensi
cda0 6f 6e 20 28 62 75 69 6c 64 2d 70 61 74 68 20 22 2f 70 61 74 68 2f 74 6f 2f 66 6f 6f 2e 4f 4c 44 on.(build-path."/path/to/foo.OLD
cdc0 22 29 20 22 2e 4e 45 57 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 69 6c ").".NEW").................(buil
cde0 64 2d 70 61 74 68 20 22 2f 70 61 74 68 2f 74 6f 2f 66 6f 6f 2e 4e 45 57 22 29 29 29 0a 00 00 00 d-path."/path/to/foo.NEW")))....
ce00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
ce20 72 61 63 6b 65 74 2f 66 69 6e 64 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/find.rkt.................
ce40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ce60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
ce80 30 30 33 35 34 33 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 35 37 34 00 20 30 00 00 00 0035436.00000000000.016574..0...
cea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cf00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
cf20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
cf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d000 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
d020 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
d040 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
d060 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
d080 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 72 61 63 6b /contract..........(only-in.rack
d0a0 65 74 2f 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 79 29 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b et/function.curry)..........rack
d0c0 65 74 2f 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 et/list..........racket/match...
d0e0 20 20 20 20 20 20 20 22 69 64 65 6e 74 69 66 69 65 72 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 ......."identifier.rkt".........
d100 20 22 73 79 6e 74 61 78 2e 72 6b 74 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 66 69 6e 64 2d 64 65 ."syntax.rkt")..(provide.find-de
d120 66 69 6e 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f finition..........find-definitio
d140 6e 2f 64 72 72 61 63 6b 65 74 2d 6a 75 6d 70 0a 20 20 20 20 20 20 20 20 20 66 69 6e 64 2d 73 69 n/drracket-jump..........find-si
d160 67 6e 61 74 75 72 65 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 72 65 71 75 69 gnature)..(module+.test...(requi
d180 72 65 20 72 61 63 6b 75 6e 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f re.rackunit............racket/fo
d1a0 72 6d 61 74 29 29 0a 0a 3b 3b 20 4e 6f 74 65 3a 20 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20 69 rmat))..;;.Note:.Unfortunately.i
d1c0 64 65 6e 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 20 63 61 6e 27 74 20 72 65 70 6f 72 74 20 74 dentifier-binding.can't.report.t
d1e0 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 0a 3b 3b 20 69 64 20 69 6e 20 74 68 65 20 63 61 73 65 20 he.definition.;;.id.in.the.case.
d200 6f 66 20 61 20 63 6f 6e 74 72 61 63 74 2d 6f 75 74 20 61 6e 64 20 61 20 72 65 6e 61 6d 65 2d 6f of.a.contract-out.and.a.rename-o
d220 75 74 2c 20 62 6f 74 68 2e 20 46 6f 72 0a 3b 3b 20 60 28 70 72 6f 76 69 64 65 20 28 63 6f 6e 74 ut,.both..For.;;.`(provide.(cont
d240 72 61 63 74 2d 6f 75 74 20 5b 72 65 6e 61 6d 65 20 6f 72 69 67 20 6e 65 77 20 63 6f 6e 74 72 61 ract-out.[rename.orig.new.contra
d260 63 74 5d 29 29 60 0a 3b 3b 20 69 64 65 6e 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 20 72 65 70 ct]))`.;;.identifier-binding.rep
d280 6f 72 74 73 20 28 31 29 20 74 68 65 20 63 6f 6e 74 72 61 63 74 20 77 72 61 70 70 65 72 20 61 73 orts.(1).the.contract.wrapper.as
d2a0 20 74 68 65 20 69 64 2c 20 61 6e 64 0a 3b 3b 20 28 32 29 20 60 6e 65 77 60 20 61 73 20 74 68 65 .the.id,.and.;;.(2).`new`.as.the
d2c0 20 6e 6f 6d 69 6e 61 6c 2d 69 64 20 2d 2d 20 62 75 74 20 4e 4f 54 20 28 33 29 20 60 6f 72 69 67 .nominal-id.--.but.NOT.(3).`orig
d2e0 60 2e 20 57 65 20 68 61 6e 64 6c 65 20 73 75 63 68 0a 3b 3b 20 63 61 73 65 73 3b 20 73 65 65 20 `..We.handle.such.;;.cases;.see.
d300 60 66 69 6e 64 2d 64 65 66 2d 69 6e 2d 66 69 6c 65 60 20 61 6e 64 20 69 74 73 20 75 73 65 20 6f `find-def-in-file`.and.its.use.o
d320 66 20 60 24 72 65 6e 61 6d 69 6e 67 2d 70 72 6f 76 64 65 60 2c 0a 3b 3b 20 62 65 6c 6f 77 2e 0a f.`$renaming-provde`,.;;.below..
d340 3b 3b 0a 3b 3b 20 41 6e 6f 74 68 65 72 20 74 72 69 63 6b 79 20 63 61 73 65 3a 20 22 66 6f 6f 22 ;;.;;.Another.tricky.case:."foo"
d360 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 64 65 66 2e 72 6b 74 2e 20 72 65 70 72 6f 2e 72 6b .is.defined.in.def.rkt..repro.rk
d380 74 0a 3b 3b 20 72 65 71 75 69 72 65 73 20 64 65 66 2e 72 6b 74 20 61 6e 64 20 72 65 2d 70 72 6f t.;;.requires.def.rkt.and.re-pro
d3a0 76 69 64 65 73 20 22 66 6f 6f 22 20 75 73 69 6e 67 20 63 6f 6e 74 72 61 63 74 2d 6f 75 74 2e 20 vides."foo".using.contract-out..
d3c0 57 68 65 6e 0a 3b 3b 20 75 73 65 72 2e 72 6b 74 20 72 65 71 75 69 72 65 73 20 72 65 70 72 6f 2e When.;;.user.rkt.requires.repro.
d3e0 72 6b 74 2c 20 69 64 65 6e 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 20 77 69 6c 6c 20 72 65 70 rkt,.identifier-binding.will.rep
d400 6f 72 74 20 22 66 6f 6f 22 0a 3b 3b 20 74 68 65 20 69 64 20 28 79 61 79 21 29 20 62 75 74 20 72 ort."foo".;;.the.id.(yay!).but.r
d420 65 70 6f 72 74 20 74 68 65 20 64 65 66 69 6e 69 6e 67 20 66 69 6c 65 20 69 73 20 72 65 70 72 6f eport.the.defining.file.is.repro
d440 2e 72 6b 74 20 2d 2d 20 6e 6f 74 0a 3b 3b 20 64 65 66 2e 72 6b 74 20 28 62 6f 6f 21 29 2e 20 57 .rkt.--.not.;;.def.rkt.(boo!)..W
d460 65 20 68 61 6e 64 6c 65 20 73 75 63 68 20 63 61 73 65 73 2e 0a 0a 28 64 65 66 69 6e 65 20 6c 6f e.handle.such.cases...(define.lo
d480 63 61 74 69 6f 6e 2f 63 20 28 6c 69 73 74 2f 63 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 6e 61 cation/c.(list/c.path-string?.na
d4a0 74 75 72 61 6c 2d 6e 75 6d 62 65 72 2f 63 20 6e 61 74 75 72 61 6c 2d 6e 75 6d 62 65 72 2f 63 29 tural-number/c.natural-number/c)
d4c0 29 0a 0a 3b 3b 20 54 72 79 20 74 6f 20 66 69 6e 64 20 61 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 )..;;.Try.to.find.a.definition,.
d4e0 75 73 69 6e 67 20 61 73 20 61 20 68 65 61 64 20 73 74 61 72 74 20 69 6e 66 6f 72 6d 61 74 69 6f using.as.a.head.start.informatio
d500 6e 0a 3b 3b 20 73 75 70 70 6c 69 65 64 20 62 79 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d n.;;.supplied.by.drracket/check-
d520 73 79 6e 74 61 78 2e 20 49 74 20 64 69 64 20 74 68 65 20 22 66 61 73 74 22 20 77 6f 72 6b 20 66 syntax..It.did.the."fast".work.f
d540 6f 72 20 61 6c 6c 0a 3b 3b 20 75 73 65 73 20 28 63 61 6c 6c 69 6e 67 20 69 64 65 6e 74 69 66 69 or.all.;;.uses.(calling.identifi
d560 65 72 2d 62 69 6e 64 69 6e 67 29 20 61 6e 64 20 77 65 20 72 65 63 6f 72 64 65 64 20 74 68 61 74 er-binding).and.we.recorded.that
d580 20 61 6e 73 77 65 72 20 74 6f 0a 3b 3b 20 67 69 76 65 20 74 68 65 20 66 72 6f 6e 74 20 65 6e 64 .answer.to.;;.give.the.front.end
d5a0 2e 20 49 66 20 74 68 65 20 75 73 65 72 20 77 61 6e 74 73 20 74 6f 20 76 69 73 69 74 20 61 6e 79 ..If.the.user.wants.to.visit.any
d5c0 20 6f 66 20 74 68 6f 73 65 2c 20 74 68 65 0a 3b 3b 20 66 72 6f 6e 74 20 65 6e 64 20 67 69 76 65 .of.those,.the.;;.front.end.give
d5e0 73 20 75 73 20 74 68 61 74 20 69 6e 66 6f 2c 20 61 6e 64 20 77 65 20 64 6f 20 74 68 65 20 22 73 s.us.that.info,.and.we.do.the."s
d600 6c 6f 77 22 20 77 6f 72 6b 2e 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 66 69 6e low".work..(define/contract.(fin
d620 64 2d 64 65 66 69 6e 69 74 69 6f 6e 2f 64 72 72 61 63 6b 65 74 2d 6a 75 6d 70 20 68 6f 77 2d 70 d-definition/drracket-jump.how-p
d640 61 74 68 20 73 72 63 2d 70 61 74 68 20 73 75 62 6d 6f 64 73 20 69 64 2d 73 74 72 73 29 0a 20 20 ath.src-path.submods.id-strs)...
d660 28 2d 3e 20 28 61 6e 64 2f 63 20 68 6f 77 2f 63 20 28 6e 6f 74 2f 63 20 27 6e 61 6d 65 73 70 61 (->.(and/c.how/c.(not/c.'namespa
d680 63 65 29 29 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 28 6c 69 73 74 6f 66 20 73 79 6d 62 6f 6c ce)).path-string?.(listof.symbol
d6a0 3f 29 20 28 6c 69 73 74 6f 66 20 73 74 72 69 6e 67 3f 29 0a 20 20 20 20 20 20 28 6f 72 2f 63 20 ?).(listof.string?).......(or/c.
d6c0 23 66 20 27 6b 65 72 6e 65 6c 20 6c 6f 63 61 74 69 6f 6e 2f 63 29 29 0a 20 20 28 6f 72 20 28 66 #f.'kernel.location/c))...(or.(f
d6e0 6f 72 2f 6f 72 20 28 5b 69 64 2d 73 74 72 20 28 69 6e 2d 6c 69 73 74 20 69 64 2d 73 74 72 73 29 or/or.([id-str.(in-list.id-strs)
d700 5d 29 0a 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 66 69 6e 64 2d 64 65 66 2d 69 6e 2d 66 ]).........(match.(find-def-in-f
d720 69 6c 65 20 28 73 74 72 69 6e 67 2d 3e 73 79 6d 62 6f 6c 20 69 64 2d 73 74 72 29 20 68 6f 77 2d ile.(string->symbol.id-str).how-
d740 70 61 74 68 20 73 72 63 2d 70 61 74 68 20 73 75 62 6d 6f 64 73 29 0a 20 20 20 20 20 20 20 20 20 path.src-path.submods)..........
d760 20 5b 28 6c 69 73 74 20 73 74 78 20 70 61 74 68 20 5f 73 75 62 6d 6f 64 73 29 0a 20 20 20 20 20 .[(list.stx.path._submods)......
d780 20 20 20 20 20 20 28 6c 69 73 74 20 28 2d 3e 70 61 74 68 2d 73 74 72 69 6e 67 20 28 6f 72 20 28 ......(list.(->path-string.(or.(
d7a0 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 73 74 78 29 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 syntax-source.stx).path)).......
d7c0 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 73 79 6e 74 61 78 2d 6c 69 6e 65 20 73 74 78 29 ...........(or.(syntax-line.stx)
d7e0 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 73 79 6e 74 61 78 .1)..................(or.(syntax
d800 2d 63 6f 6c 75 6d 6e 20 73 74 78 29 20 30 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 76 20 76 -column.stx).0))]...........[v.v
d820 5d 29 29 0a 20 20 20 20 20 20 3b 3b 20 48 61 6e 64 6c 65 20 70 6f 73 73 69 62 6c 65 20 72 65 2d ])).......;;.Handle.possible.re-
d840 70 72 6f 76 69 64 65 20 77 69 74 68 20 61 20 63 6f 6e 74 72 61 63 74 3a 20 54 72 79 20 61 67 61 provide.with.a.contract:.Try.aga
d860 69 6e 0a 20 20 20 20 20 20 3b 3b 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 74 68 61 74 20 6f in.......;;.starting.with.that.o
d880 74 68 65 72 20 73 72 63 2d 70 61 74 68 2e 20 69 2e 65 2e 20 44 6f 20 61 75 74 6f 6d 61 74 69 63 ther.src-path..i.e..Do.automatic
d8a0 61 6c 6c 79 20 77 68 61 74 0a 20 20 20 20 20 20 3b 3b 20 74 68 65 20 75 73 65 72 20 63 6f 75 6c ally.what.......;;.the.user.coul
d8c0 64 3a 20 4f 70 65 6e 20 74 68 61 74 20 66 69 6c 65 2c 20 61 6e 64 20 74 72 79 20 76 69 73 69 74 d:.Open.that.file,.and.try.visit
d8e0 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 20 20 20 20 20 20 3b 3b 20 61 67 61 69 6e 2c 20 74 68 65 72 -definition.......;;.again,.ther
d900 65 2e 20 66 72 6f 6d 20 74 68 61 74 2e 0a 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 28 70 e..from.that........(and.(not.(p
d920 61 74 68 2d 73 74 72 69 6e 67 2d 65 71 75 61 6c 3f 20 68 6f 77 2d 70 61 74 68 20 73 72 63 2d 70 ath-string-equal?.how-path.src-p
d940 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2f 6f 72 20 28 5b 69 64 2d 73 74 ath))............(for/or.([id-st
d960 72 20 28 69 6e 2d 6c 69 73 74 20 69 64 2d 73 74 72 73 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 r.(in-list.id-strs)])...........
d980 20 20 20 28 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 20 73 72 63 2d 70 61 74 68 20 69 64 2d ...(find-definition.src-path.id-
d9a0 73 74 72 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 41 73 20 61 20 66 69 6e 61 6c 20 66 61 6c 6c 62 str))).......;;.As.a.final.fallb
d9c0 61 63 6b 2c 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 70 6f 72 74 65 64 20 66 69 6c 65 3a 31 3a ack,.return.the.reported.file:1:
d9e0 30 2e 20 41 74 20 6c 65 61 73 74 0a 20 20 20 20 20 20 3b 3b 20 67 69 76 65 20 75 73 65 72 20 61 0..At.least.......;;.give.user.a
da00 20 68 65 61 64 20 73 74 61 72 74 2e 0a 20 20 20 20 20 20 28 6c 69 73 74 20 73 72 63 2d 70 61 74 .head.start........(list.src-pat
da20 68 20 31 20 30 29 29 29 0a 0a 3b 3b 20 54 72 79 20 74 6f 20 66 69 6e 64 20 61 20 64 65 66 69 6e h.1.0)))..;;.Try.to.find.a.defin
da40 69 74 69 6f 6e 2e 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 66 69 6e 64 2d 64 65 ition..(define/contract.(find-de
da60 66 69 6e 69 74 69 6f 6e 20 68 6f 77 20 73 74 72 29 0a 20 20 28 2d 3e 20 68 6f 77 2f 63 20 73 74 finition.how.str)...(->.how/c.st
da80 72 69 6e 67 3f 0a 20 20 20 20 20 20 28 6f 72 2f 63 20 23 66 20 27 6b 65 72 6e 65 6c 20 6c 6f 63 ring?.......(or/c.#f.'kernel.loc
daa0 61 74 69 6f 6e 2f 63 29 29 0a 20 20 28 6d 61 74 63 68 20 28 66 69 6e 64 2d 64 65 66 20 68 6f 77 ation/c))...(match.(find-def.how
dac0 20 73 74 72 29 0a 20 20 20 20 5b 28 6c 69 73 74 20 73 74 78 20 70 61 74 68 20 5f 73 75 62 6d 6f .str).....[(list.stx.path._submo
dae0 64 73 29 0a 20 20 20 20 20 28 6c 69 73 74 20 28 2d 3e 70 61 74 68 2d 73 74 72 69 6e 67 20 28 6f ds)......(list.(->path-string.(o
db00 72 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 73 74 78 29 20 70 61 74 68 29 29 0a 20 20 20 r.(syntax-source.stx).path))....
db20 20 20 20 20 20 20 20 20 28 6f 72 20 28 73 79 6e 74 61 78 2d 6c 69 6e 65 20 73 74 78 29 20 31 29 ........(or.(syntax-line.stx).1)
db40 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 73 79 6e 74 61 78 2d 63 6f 6c 75 6d 6e 20 73 ............(or.(syntax-column.s
db60 74 78 29 20 30 29 29 5d 0a 20 20 20 20 5b 76 20 76 5d 29 29 0a 0a 3b 3b 20 54 72 79 20 74 6f 20 tx).0))].....[v.v]))..;;.Try.to.
db80 66 69 6e 64 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 60 73 74 72 60 2c 20 72 65 find.the.definition.of.`str`,.re
dba0 74 75 72 6e 69 6e 67 20 69 74 73 20 73 69 67 6e 61 74 75 72 65 20 6f 72 20 23 66 2e 0a 3b 3b 20 turning.its.signature.or.#f..;;.
dbc0 57 68 65 6e 20 64 65 66 69 6e 65 64 20 69 6e 20 27 6b 65 72 6e 65 6c 2c 20 72 65 74 75 72 6e 73 When.defined.in.'kernel,.returns
dbe0 20 61 20 66 6f 72 6d 20 73 61 79 69 6e 67 20 73 6f 2c 20 6e 6f 74 20 23 66 2e 0a 28 64 65 66 69 .a.form.saying.so,.not.#f..(defi
dc00 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 66 69 6e 64 2d 73 69 67 6e 61 74 75 72 65 20 68 6f 77 20 ne/contract.(find-signature.how.
dc20 73 74 72 29 0a 20 20 28 2d 3e 20 68 6f 77 2f 63 20 73 74 72 69 6e 67 3f 0a 20 20 20 20 20 20 28 str)...(->.how/c.string?.......(
dc40 6f 72 2f 63 20 23 66 20 70 61 69 72 3f 29 29 0a 20 20 28 6d 61 74 63 68 20 28 66 69 6e 64 2d 64 or/c.#f.pair?))...(match.(find-d
dc60 65 66 20 68 6f 77 20 73 74 72 29 0a 20 20 20 20 5b 27 6b 65 72 6e 65 6c 20 27 28 22 64 65 66 69 ef.how.str).....['kernel.'("defi
dc80 6e 65 64 20 69 6e 20 23 25 6b 65 72 6e 65 6c 2c 20 73 69 67 6e 61 74 75 72 65 20 75 6e 61 76 61 ned.in.#%kernel,.signature.unava
dca0 69 6c 61 62 6c 65 22 29 5d 0a 20 20 20 20 5b 28 6c 69 73 74 20 69 64 2d 73 74 78 20 70 61 74 68 ilable")].....[(list.id-stx.path
dcc0 20 73 75 62 6d 6f 64 73 29 0a 20 20 20 20 20 28 67 65 74 2d 73 79 6e 74 61 78 20 68 6f 77 20 70 .submods)......(get-syntax.how.p
dce0 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 6d 6f 64 2d 73 74 ath..................(...(mod-st
dd00 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 24 73 x)....................(match.($s
dd20 69 67 6e 61 74 75 72 65 20 28 73 79 6e 74 61 78 2d 65 20 69 64 2d 73 74 78 29 0a 20 20 20 20 20 ignature.(syntax-e.id-stx)......
dd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
dd60 20 28 73 75 62 6d 6f 64 75 6c 65 2d 73 79 6e 74 61 78 20 73 75 62 6d 6f 64 73 20 6d 6f 64 2d 73 .(submodule-syntax.submods.mod-s
dd80 74 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 73 79 tx))......................[(?.sy
dda0 6e 74 61 78 3f 20 73 74 78 29 20 28 73 79 6e 74 61 78 2d 3e 64 61 74 75 6d 20 73 74 78 29 5d 0a ntax?.stx).(syntax->datum.stx)].
ddc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5f 20 23 66 5d 29 29 29 5d 0a .....................[_.#f])))].
dde0 20 20 20 20 5b 76 20 76 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 73 74 78 2b 70 61 74 68 2b 6d 6f ....[v.v]))..(define.stx+path+mo
de00 64 73 2f 63 20 28 6c 69 73 74 2f 63 20 73 79 6e 74 61 78 3f 20 70 61 74 68 2d 73 74 72 69 6e 67 ds/c.(list/c.syntax?.path-string
de20 3f 20 28 6c 69 73 74 6f 66 20 73 79 6d 62 6f 6c 3f 29 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f ?.(listof.symbol?)))..(define/co
de40 6e 74 72 61 63 74 20 28 66 69 6e 64 2d 64 65 66 20 68 6f 77 20 73 74 72 29 0a 20 20 28 2d 3e 20 ntract.(find-def.how.str)...(->.
de60 68 6f 77 2f 63 20 73 74 72 69 6e 67 3f 0a 20 20 20 20 20 20 28 6f 72 2f 63 20 23 66 20 27 6b 65 how/c.string?.......(or/c.#f.'ke
de80 72 6e 65 6c 20 73 74 78 2b 70 61 74 68 2b 6d 6f 64 73 2f 63 29 29 0a 20 20 28 2d 3e 69 64 65 6e rnel.stx+path+mods/c))...(->iden
dea0 74 69 66 69 65 72 2d 72 65 73 6f 6c 76 65 64 2d 62 69 6e 64 69 6e 67 2d 69 6e 66 6f 0a 20 20 20 tifier-resolved-binding-info....
dec0 68 6f 77 20 73 74 72 0a 20 20 20 28 ce bb 20 28 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 28 6d how.str....(...(results)......(m
dee0 61 74 63 68 20 72 65 73 75 6c 74 73 0a 20 20 20 20 20 20 20 5b 28 3f 20 6c 69 73 74 3f 20 62 69 atch.results........[(?.list?.bi
df00 6e 64 69 6e 67 73 29 0a 20 20 20 20 20 20 20 20 28 6f 72 20 28 66 6f 72 2f 6f 72 20 28 5b 78 20 ndings).........(or.(for/or.([x.
df20 28 69 6e 2d 6c 69 73 74 20 28 72 65 6d 6f 76 65 2d 64 75 70 6c 69 63 61 74 65 73 20 62 69 6e 64 (in-list.(remove-duplicates.bind
df40 69 6e 67 73 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 78 0a ings))])...............(match.x.
df60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 63 6f 6e 73 20 5f 69 64 20 27 6b 65 72 6e ................[(cons._id.'kern
df80 65 6c 29 20 27 6b 65 72 6e 65 6c 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c el).'kernel].................[(l
dfa0 69 73 74 2a 20 69 64 20 70 61 74 68 20 73 75 62 6d 6f 64 73 29 20 28 66 69 6e 64 2d 64 65 66 2d ist*.id.path.submods).(find-def-
dfc0 69 6e 2d 66 69 6c 65 20 69 64 20 68 6f 77 20 70 61 74 68 20 73 75 62 6d 6f 64 73 29 5d 29 29 0a in-file.id.how.path.submods)])).
dfe0 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 48 61 6e 64 6c 65 20 70 6f 73 73 69 62 6c 65 20 72 ............;;.Handle.possible.r
e000 65 2d 70 72 6f 76 69 64 65 20 77 69 74 68 20 61 20 63 6f 6e 74 72 61 63 74 3a 20 54 72 79 20 61 e-provide.with.a.contract:.Try.a
e020 67 61 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 74 61 72 74 69 6e 67 20 77 69 74 gain.............;;.starting.wit
e040 68 20 74 68 61 74 20 6f 74 68 65 72 20 73 72 63 2d 70 61 74 68 2e 20 69 2e 65 2e 20 41 75 74 6f h.that.other.src-path..i.e..Auto
e060 6d 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 6f 20 77 68 61 74 matically.............;;.do.what
e080 20 74 68 65 20 75 73 65 72 20 63 6f 75 6c 64 3a 20 4f 70 65 6e 20 74 68 61 74 20 66 69 6c 65 2c .the.user.could:.Open.that.file,
e0a0 20 61 6e 64 20 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 76 69 73 69 74 2d 64 65 .and.try.............;;.visit-de
e0c0 66 69 6e 69 74 69 6f 6e 20 61 67 61 69 6e 2c 20 74 68 65 72 65 2e 0a 20 20 20 20 20 20 20 20 20 finition.again,.there...........
e0e0 20 20 20 28 6d 61 74 63 68 20 72 65 73 75 6c 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(match.results...............
e100 5b 28 6c 69 73 74 20 28 6c 69 73 74 2a 20 73 72 63 2d 69 64 20 73 72 63 2d 70 61 74 68 20 73 72 [(list.(list*.src-id.src-path.sr
e120 63 2d 73 75 62 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 c-subs)......................(li
e140 73 74 2a 20 6e 6f 6d 2d 69 64 20 5f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f st*.nom-id._))................(o
e160 72 20 28 61 6e 64 20 28 6f 72 20 28 65 71 75 61 6c 3f 20 68 6f 77 20 27 6e 61 6d 65 73 70 61 63 r.(and.(or.(equal?.how.'namespac
e180 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 e).............................(
e1a0 6e 6f 74 20 28 70 61 74 68 2d 73 74 72 69 6e 67 2d 65 71 75 61 6c 3f 20 68 6f 77 20 73 72 63 2d not.(path-string-equal?.how.src-
e1c0 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 path))).........................
e1e0 28 66 6f 72 2f 6f 72 20 28 5b 69 64 20 28 69 6e 2d 6c 69 73 74 20 28 6c 69 73 74 20 73 72 63 2d (for/or.([id.(in-list.(list.src-
e200 69 64 20 6e 6f 6d 2d 69 64 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 id.nom-id))])...................
e220 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 64 65 66 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 ........(find-def.(path->string.
e240 73 72 63 2d 70 61 74 68 29 20 28 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e 67 20 69 64 29 29 29 29 src-path).(symbol->string.id))))
e260 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 73 20 61 20 66 69 6e 61 ....................;;.As.a.fina
e280 6c 20 66 61 6c 6c 62 61 63 6b 2c 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 70 6f 72 74 65 64 0a l.fallback,.return.the.reported.
e2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 69 6c 65 3a 31 3a 30 2e 20 ...................;;.file:1:0..
e2c0 41 74 20 6c 65 61 73 74 20 67 69 76 65 20 75 73 65 72 20 61 20 68 65 61 64 20 73 74 61 72 74 2e At.least.give.user.a.head.start.
e2e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 64 61 74 75 6d ....................(list.(datum
e300 2d 3e 73 79 6e 74 61 78 20 23 66 20 73 72 63 2d 69 64 20 28 6c 69 73 74 20 73 72 63 2d 70 61 74 ->syntax.#f.src-id.(list.src-pat
e320 68 20 31 20 30 20 23 66 20 23 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h.1.0.#f.#f))...................
e340 20 20 20 20 20 20 20 73 72 63 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......src-path.................
e360 20 20 20 20 20 20 20 20 20 27 28 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5f .........'()))]...............[_
e380 20 23 66 5d 29 29 5d 0a 20 20 20 20 20 20 20 5b 5f 20 23 66 5d 29 29 29 29 0a 0a 28 64 65 66 69 .#f]))]........[_.#f]))))..(defi
e3a0 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 66 69 6e 64 2d 64 65 66 2d 69 6e 2d 66 69 6c 65 20 69 64 ne/contract.(find-def-in-file.id
e3c0 2d 73 79 6d 20 68 6f 77 20 70 61 74 68 20 73 75 62 6d 6f 64 73 29 0a 20 20 28 2d 3e 20 73 79 6d -sym.how.path.submods)...(->.sym
e3e0 62 6f 6c 3f 20 68 6f 77 2f 63 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 28 6c 69 73 74 6f 66 20 bol?.how/c.path-string?.(listof.
e400 73 79 6d 62 6f 6c 3f 29 0a 20 20 20 20 20 20 28 6f 72 2f 63 20 23 66 20 73 74 78 2b 70 61 74 68 symbol?).......(or/c.#f.stx+path
e420 2b 6d 6f 64 73 2f 63 29 29 0a 20 20 28 64 65 66 69 6e 65 20 73 75 62 73 20 28 63 75 72 72 79 20 +mods/c))...(define.subs.(curry.
e440 73 75 62 6d 6f 64 75 6c 65 2d 73 79 6e 74 61 78 20 73 75 62 6d 6f 64 73 29 29 0a 20 20 28 6d 61 submodule-syntax.submods))...(ma
e460 74 63 68 20 28 6f 72 20 28 67 65 74 2d 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 0a 20 20 20 tch.(or.(get-expanded-syntax....
e480 20 20 20 20 20 20 20 20 20 20 20 68 6f 77 20 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........how.path.............
e4a0 20 20 28 ce bb 20 28 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 64 65 ..(...(stx).................($de
e4c0 66 69 6e 69 74 69 6f 6e 20 69 64 2d 73 79 6d 20 28 73 75 62 73 20 73 74 78 29 29 29 29 0a 20 20 finition.id-sym.(subs.stx))))...
e4e0 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 20 ...........(get-syntax..........
e500 20 20 20 20 20 68 6f 77 20 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 .....how.path...............(...
e520 28 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 24 72 (stx).................(match.($r
e540 65 6e 61 6d 69 6e 67 2d 70 72 6f 76 69 64 65 20 69 64 2d 73 79 6d 20 28 73 75 62 73 20 73 74 78 enaming-provide.id-sym.(subs.stx
e560 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 69 64 65 6e 74 69 66 ))...................[(?.identif
e580 69 65 72 3f 20 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 ier?.id)....................(def
e5a0 69 6e 65 20 69 64 2d 73 79 6d 20 28 73 79 6e 74 61 78 2d 65 20 69 64 29 29 0a 20 20 20 20 20 20 ine.id-sym.(syntax-e.id)).......
e5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 .............(get-expanded-synta
e5e0 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 77 20 70 61 74 68 0a 20 x.....................how.path..
e600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 73 74 78 29 0a 20 20 20 ...................(...(stx)....
e620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 20 ...................($definition.
e640 69 64 2d 73 79 6d 20 28 73 75 62 73 20 73 74 78 29 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 id-sym.(subs.stx))))]...........
e660 20 20 20 20 20 20 20 20 5b 5f 20 23 66 5d 29 29 29 29 0a 20 20 20 20 5b 28 3f 20 73 79 6e 74 61 ........[_.#f])))).....[(?.synta
e680 78 3f 20 73 74 78 29 20 28 6c 69 73 74 20 73 74 78 20 70 61 74 68 20 73 75 62 6d 6f 64 73 29 5d x?.stx).(list.stx.path.submods)]
e6a0 0a 20 20 20 20 5b 5f 20 20 23 66 5d 29 29 0a 0a 3b 3b 20 47 69 76 65 6e 20 61 20 73 75 62 6d 6f .....[_..#f]))..;;.Given.a.submo
e6c0 64 75 6c 65 20 70 61 74 68 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 73 79 6d 62 6f 6c 73 2c 20 dule.path.as.a.list.of.symbols,.
e6e0 61 6e 64 20 74 68 65 20 73 79 6e 74 61 78 20 66 6f 72 20 61 0a 3b 3b 20 66 69 6c 65 27 73 20 65 and.the.syntax.for.a.;;.file's.e
e700 6e 74 69 72 65 20 6d 6f 64 75 6c 65 20 66 6f 72 6d 3a 20 52 65 74 75 72 6e 20 74 68 65 20 28 73 ntire.module.form:.Return.the.(s
e720 75 62 29 6d 6f 64 75 6c 65 20 63 6f 6e 74 65 6e 74 73 20 61 73 0a 3b 3b 20 23 27 28 62 65 67 69 ub)module.contents.as.;;.#'(begi
e740 6e 20 2e 20 63 6f 6e 74 65 6e 74 73 29 2e 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 n...contents)..(define/contract.
e760 28 73 75 62 6d 6f 64 75 6c 65 2d 73 79 6e 74 61 78 20 73 75 62 2d 6d 6f 64 2d 73 79 6d 73 20 73 (submodule-syntax.sub-mod-syms.s
e780 74 78 29 0a 20 20 28 2d 3e 20 28 6c 69 73 74 6f 66 20 73 79 6d 62 6f 6c 3f 29 20 73 79 6e 74 61 tx)...(->.(listof.symbol?).synta
e7a0 78 3f 20 28 6f 72 2f 63 20 23 66 20 73 79 6e 74 61 78 3f 29 29 0a 20 20 3b 3b 20 50 72 65 70 65 x?.(or/c.#f.syntax?))...;;.Prepe
e7c0 6e 64 20 23 66 20 61 73 20 74 68 65 20 6f 75 74 65 72 6d 6f 73 74 20 6d 6f 64 75 6c 65 20 6e 61 nd.#f.as.the.outermost.module.na
e7e0 6d 65 20 74 6f 20 6d 61 74 63 68 2c 20 6d 65 61 6e 69 6e 67 20 22 61 6e 79 22 2e 0a 20 20 28 73 me.to.match,.meaning."any"....(s
e800 75 62 2d 73 74 78 20 28 63 6f 6e 73 20 23 66 20 73 75 62 2d 6d 6f 64 2d 73 79 6d 73 29 20 73 74 ub-stx.(cons.#f.sub-mod-syms).st
e820 78 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 73 75 62 2d 73 74 78 20 6d 6f 64 73 20 73 74 78 29 0a x))..(define.(sub-stx.mods.stx).
e840 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 20 28 63 6f 6e 73 20 74 68 69 73 20 6d 6f 72 65 29 ..(match-define.(cons.this.more)
e860 20 6d 6f 64 73 29 0a 20 20 28 64 65 66 69 6e 65 20 28 73 75 62 73 20 73 74 78 73 29 0a 20 20 20 .mods)...(define.(subs.stxs)....
e880 20 28 69 66 20 28 65 6d 70 74 79 3f 20 6d 6f 72 65 29 0a 20 20 20 20 20 20 20 20 23 60 28 62 65 .(if.(empty?.more).........#`(be
e8a0 67 69 6e 20 2e 20 23 2c 73 74 78 73 29 0a 20 20 20 20 20 20 20 20 20 28 6f 72 6d 61 70 20 28 ce gin...#,stxs)..........(ormap.(.
e8c0 bb 20 28 73 74 78 29 20 28 73 75 62 2d 73 74 78 20 6d 6f 72 65 20 73 74 78 29 29 0a 20 20 20 20 ..(stx).(sub-stx.more.stx)).....
e8e0 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 73 74 78 73 29 29 ............(syntax->list.stxs))
e900 29 29 0a 20 20 28 73 79 6e 74 61 78 2d 63 61 73 65 2a 20 73 74 78 20 28 6d 6f 64 75 6c 65 20 23 ))...(syntax-case*.stx.(module.#
e920 25 6d 6f 64 75 6c 65 2d 62 65 67 69 6e 29 20 73 79 6e 74 61 78 2d 65 2d 65 71 3f 0a 20 20 20 20 %module-begin).syntax-e-eq?.....
e940 5b 28 6d 6f 64 75 6c 65 20 6e 61 6d 65 20 5f 20 28 23 25 6d 6f 64 75 6c 65 2d 62 65 67 69 6e 20 [(module.name._.(#%module-begin.
e960 2e 20 73 74 78 73 29 29 0a 20 20 20 20 20 28 6f 72 20 28 6e 6f 74 20 74 68 69 73 29 20 28 65 71 ..stxs))......(or.(not.this).(eq
e980 3f 20 74 68 69 73 20 28 73 79 6e 74 61 78 2d 65 20 23 27 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 ?.this.(syntax-e.#'name)))......
e9a0 28 73 75 62 73 20 23 27 73 74 78 73 29 5d 0a 20 20 20 20 5b 28 6d 6f 64 75 6c 65 20 6e 61 6d 65 (subs.#'stxs)].....[(module.name
e9c0 20 5f 20 2e 20 73 74 78 73 29 0a 20 20 20 20 20 28 6f 72 20 28 6e 6f 74 20 74 68 69 73 29 20 28 ._...stxs)......(or.(not.this).(
e9e0 65 71 3f 20 74 68 69 73 20 28 73 79 6e 74 61 78 2d 65 20 23 27 6e 61 6d 65 29 29 29 0a 20 20 20 eq?.this.(syntax-e.#'name)))....
ea00 20 20 28 73 75 62 73 20 23 27 73 74 78 73 29 5d 0a 20 20 20 20 5b 5f 20 23 66 5d 29 29 0a 0a 28 ..(subs.#'stxs)].....[_.#f]))..(
ea20 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 73 79 module+.test...(check-equal?.(sy
ea40 6e 74 61 78 2d 3e 64 61 74 75 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 ntax->datum..................(su
ea60 62 6d 6f 64 75 6c 65 2d 73 79 6e 74 61 78 20 27 28 61 20 62 20 63 29 0a 20 20 20 20 20 20 20 20 bmodule-syntax.'(a.b.c).........
ea80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 28 6d 6f ...........................#'(mo
eaa0 64 75 6c 65 20 66 69 6c 65 20 72 61 63 6b 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dule.file.racket................
eac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 20 ........................(module.
eae0 61 20 72 61 63 6b 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a.racket........................
eb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 20 6e 6f 74 2d 62 20 ..................(module.not-b.
eb20 72 61 63 6b 65 74 20 23 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 racket.#f)......................
eb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 20 62 20 72 61 ....................(module.b.ra
eb60 63 6b 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cket............................
eb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 20 6e 6f 74 2d 63 20 72 61 ................(module.not-c.ra
eba0 63 6b 65 74 20 23 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cket.#f)........................
ebc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 20 63 20 72 61 ....................(module.c.ra
ebe0 63 6b 65 74 20 22 62 69 6e 67 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cket."bingo")...................
ec00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 .........................(module
ec20 20 6e 6f 74 2d 63 20 72 61 63 6b 65 74 20 23 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .not-c.racket.#f))..............
ec40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 ............................(mod
ec60 75 6c 65 20 6e 6f 74 2d 62 20 72 61 63 6b 65 74 20 23 66 29 29 29 29 29 0a 20 20 20 20 20 20 20 ule.not-b.racket.#f)))))........
ec80 20 20 20 20 20 20 20 20 20 27 28 62 65 67 69 6e 20 22 62 69 6e 67 6f 22 29 29 29 0a 0a 3b 3b 20 .........'(begin."bingo")))..;;.
eca0 47 69 76 65 6e 20 61 20 73 79 6d 62 6f 6c 20 61 6e 64 20 73 79 6e 74 61 78 2c 20 72 65 74 75 72 Given.a.symbol.and.syntax,.retur
ecc0 6e 20 73 79 6e 74 61 78 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 0a 3b 3b n.syntax.corresponding.to.the.;;
ece0 20 64 65 66 69 6e 69 74 69 6f 6e 2e 20 49 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79 20 64 6f 65 73 20 .definition..Intentionally.does.
ed00 4e 4f 54 20 77 61 6c 6b 20 69 6e 74 6f 20 6d 6f 64 75 6c 65 20 66 6f 72 6d 73 2c 20 73 6f 2c 20 NOT.walk.into.module.forms,.so,.
ed20 67 69 76 65 0a 3b 3b 20 75 73 20 74 68 65 20 6d 6f 64 75 6c 65 20 62 6f 64 69 65 73 20 77 72 61 give.;;.us.the.module.bodies.wra
ed40 70 70 65 64 20 69 6e 20 62 65 67 69 6e 2e 0a 3b 3b 0a 3b 3b 20 49 66 20 60 73 74 78 60 20 69 73 pped.in.begin..;;.;;.If.`stx`.is
ed60 20 65 78 70 61 6e 64 65 64 20 77 65 20 63 61 6e 20 66 69 6e 64 20 74 68 69 6e 67 73 20 64 65 66 .expanded.we.can.find.things.def
ed80 69 6e 65 64 20 76 69 61 20 64 65 66 69 6e 65 72 0a 3b 3b 20 6d 61 63 72 6f 73 2e 0a 3b 3b 0a 3b ined.via.definer.;;.macros..;;.;
eda0 3b 20 49 66 20 60 73 74 78 60 20 69 73 20 6e 6f 74 20 65 78 70 61 6e 64 65 64 2c 20 77 65 20 77 ;.If.`stx`.is.not.expanded,.we.w
edc0 69 6c 6c 20 6d 69 73 73 20 73 6f 6d 65 20 74 68 69 6e 67 73 2c 20 68 6f 77 65 76 65 72 20 74 68 ill.miss.some.things,.however.th
ede0 65 0a 3b 3b 20 73 79 6e 74 61 78 20 77 69 6c 6c 20 62 65 20 63 6c 6f 73 65 72 20 74 6f 20 77 68 e.;;.syntax.will.be.closer.to.wh
ee00 61 74 20 61 20 68 75 6d 61 6e 20 65 78 70 65 63 74 73 20 2d 2d 20 65 2e 67 2e 20 60 28 64 65 66 at.a.human.expects.--.e.g..`(def
ee20 69 6e 65 20 28 66 0a 3b 3b 20 78 29 20 78 29 60 20 69 6e 73 74 65 61 64 20 6f 66 20 60 28 64 65 ine.(f.;;.x).x)`.instead.of.`(de
ee40 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 66 29 20 28 6c 61 6d 62 64 61 20 28 78 29 20 78 29 29 60 fine-values.(f).(lambda.(x).x))`
ee60 2e 0a 28 64 65 66 69 6e 65 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 20 73 79 6d 20 73 74 78 29 20 ..(define.($definition.sym.stx).
ee80 3b 3b 73 79 6d 62 6f 6c 3f 20 73 79 6e 74 61 78 3f 20 2d 3e 20 73 79 6e 74 61 78 3f 0a 20 20 28 ;;symbol?.syntax?.->.syntax?...(
eea0 64 65 66 69 6e 65 20 65 71 2d 73 79 6d 3f 20 28 6d 61 6b 65 2d 65 71 2d 73 79 6d 3f 20 73 79 6d define.eq-sym?.(make-eq-sym?.sym
eec0 29 29 0a 20 20 3b 3b 20 54 68 69 73 20 69 73 20 61 20 68 61 63 6b 20 74 6f 20 68 61 6e 64 6c 65 ))...;;.This.is.a.hack.to.handle
eee0 20 64 65 66 69 6e 65 72 20 6d 61 63 72 6f 73 20 74 68 61 74 20 6e 65 67 6c 65 63 74 20 74 6f 20 .definer.macros.that.neglect.to.
ef00 73 65 74 0a 20 20 3b 3b 20 73 72 63 6c 6f 63 20 70 72 6f 70 65 72 6c 79 20 75 73 69 6e 67 20 73 set...;;.srcloc.properly.using.s
ef20 79 6e 74 61 78 2f 6c 6f 63 20 6f 72 20 28 66 6f 72 6d 61 74 2d 69 64 20 5f 5f 5f 20 23 3a 73 6f yntax/loc.or.(format-id.___.#:so
ef40 75 72 63 65 20 5f 5f 29 3a 0a 20 20 3b 3b 20 49 66 20 74 68 65 20 73 74 78 20 6c 61 63 6b 73 20 urce.__):...;;.If.the.stx.lacks.
ef60 73 72 63 6c 6f 63 20 61 6e 64 20 69 74 73 20 70 61 72 65 6e 74 20 73 74 78 20 68 61 73 20 73 72 srcloc.and.its.parent.stx.has.sr
ef80 63 6c 6f 63 2c 20 72 65 74 75 72 6e 20 74 68 65 0a 20 20 3b 3b 20 70 61 72 65 6e 74 20 73 74 78 cloc,.return.the...;;.parent.stx
efa0 20 69 6e 73 74 65 61 64 2e 20 43 61 76 65 61 74 73 3a 20 31 2e 20 41 73 73 75 6d 65 73 20 63 61 .instead..Caveats:.1..Assumes.ca
efc0 6c 6c 65 72 20 6f 6e 6c 79 20 63 61 72 65 73 20 61 62 6f 75 74 0a 20 20 3b 3b 20 74 68 65 20 73 ller.only.cares.about...;;.the.s
efe0 72 63 6c 6f 63 2e 20 32 2e 20 57 65 20 6f 6e 6c 79 20 63 68 65 63 6b 20 69 6d 6d 65 64 69 61 74 rcloc..2..We.only.check.immediat
f000 65 20 70 61 72 65 6e 74 2e 20 33 2e 20 57 65 20 6f 6e 6c 79 20 75 73 65 0a 20 20 3b 3b 20 74 68 e.parent..3..We.only.use...;;.th
f020 69 73 20 66 6f 72 20 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 61 6e 64 20 64 65 66 69 6e 65 2d is.for.define-values.and.define-
f040 73 79 6e 74 61 78 65 73 2c 20 62 65 6c 6f 77 2c 20 6f 6e 20 74 68 65 0a 20 20 3b 3b 20 61 73 73 syntaxes,.below,.on.the...;;.ass
f060 75 6d 70 74 69 6f 6e 20 74 68 61 74 20 74 68 69 73 20 6f 6e 6c 79 20 6d 61 74 74 65 72 73 20 66 umption.that.this.only.matters.f
f080 6f 72 20 66 75 6c 6c 79 2d 65 78 70 61 6e 64 65 64 20 73 79 6e 74 61 78 2e 0a 20 20 28 64 65 66 or.fully-expanded.syntax....(def
f0a0 69 6e 65 20 28 6c 6f 63 20 73 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 6e 6f 74 20 28 73 ine.(loc.s).....(if.(and.(not.(s
f0c0 79 6e 74 61 78 2d 6c 69 6e 65 20 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e yntax-line.s))..............(syn
f0e0 74 61 78 2d 6c 69 6e 65 20 73 74 78 29 29 0a 20 20 20 20 20 20 20 20 73 74 78 0a 20 20 20 20 20 tax-line.stx)).........stx......
f100 20 20 20 73 29 29 0a 20 20 28 73 79 6e 74 61 78 2d 63 61 73 65 2a 20 73 74 78 0a 20 20 20 20 20 ...s))...(syntax-case*.stx......
f120 20 28 62 65 67 69 6e 20 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 64 65 66 69 6e 65 2d 73 79 6e .(begin.define-values.define-syn
f140 74 61 78 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 20 64 65 66 69 6e 65 taxes..............define.define
f160 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 2d 73 79 /contract..............define-sy
f180 6e 74 61 78 20 73 74 72 75 63 74 20 64 65 66 69 6e 65 2d 73 74 72 75 63 74 29 0a 20 20 20 20 20 ntax.struct.define-struct)......
f1a0 20 73 79 6e 74 61 78 2d 65 2d 65 71 3f 0a 20 20 20 20 5b 28 62 65 67 69 6e 20 2e 20 73 74 78 73 .syntax-e-eq?.....[(begin...stxs
f1c0 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 6d 61 70 20 28 ce bb 20 28 73 74 ).................(ormap.(...(st
f1e0 78 29 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 20 73 79 6d 20 73 74 78 29 29 0a 20 20 20 20 20 20 x).($definition.sym.stx)).......
f200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f220 20 20 20 20 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 23 27 73 74 78 73 29 29 5d 0a 20 20 20 .....(syntax->list.#'stxs))]....
f240 20 5b 28 64 65 66 69 6e 65 20 20 20 20 20 20 20 20 20 20 28 73 20 2e 20 5f 29 20 2e 20 5f 29 20 .[(define..........(s..._)..._).
f260 20 28 65 71 2d 73 79 6d 3f 20 23 27 73 29 20 73 74 78 5d 0a 20 20 20 20 5b 28 64 65 66 69 6e 65 .(eq-sym?.#'s).stx].....[(define
f280 2f 63 6f 6e 74 72 61 63 74 20 28 73 20 2e 20 5f 29 20 2e 20 5f 29 20 20 28 65 71 2d 73 79 6d 3f /contract.(s..._)..._)..(eq-sym?
f2a0 20 23 27 73 29 20 73 74 78 5d 0a 20 20 20 20 5b 28 64 65 66 69 6e 65 20 73 20 2e 20 5f 29 20 20 .#'s).stx].....[(define.s..._)..
f2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 2d 73 79 6d 3f 20 23 27 73 29 20 73 74 78 ...............(eq-sym?.#'s).stx
f2e0 5d 0a 20 20 20 20 5b 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 73 73 20 2e 2e 2e 29 20 2e ].....[(define-values.(ss....)..
f300 20 5f 29 20 20 20 28 6f 72 6d 61 70 20 65 71 2d 73 79 6d 3f 20 28 73 79 6e 74 61 78 2d 3e 6c 69 ._)...(ormap.eq-sym?.(syntax->li
f320 73 74 20 23 27 28 73 73 20 2e 2e 2e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st.#'(ss....))).................
f340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 63 20 28 6f 72 6d 61 70 20 ....................(loc.(ormap.
f360 65 71 2d 73 79 6d 3f 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 23 27 28 73 73 20 2e 2e 2e 29 eq-sym?.(syntax->list.#'(ss....)
f380 29 29 29 5d 0a 20 20 20 20 5b 28 64 65 66 69 6e 65 2d 73 79 6e 74 61 78 20 28 73 20 2e 20 20 5f )))].....[(define-syntax.(s...._
f3a0 29 20 2e 20 5f 29 20 20 20 28 65 71 2d 73 79 6d 3f 20 23 27 73 29 20 73 74 78 5d 0a 20 20 20 20 )..._)...(eq-sym?.#'s).stx].....
f3c0 5b 28 64 65 66 69 6e 65 2d 73 79 6e 74 61 78 20 73 20 2e 20 5f 29 20 20 20 20 20 20 20 20 20 20 [(define-syntax.s..._)..........
f3e0 28 65 71 2d 73 79 6d 3f 20 23 27 73 29 20 73 74 78 5d 0a 20 20 20 20 5b 28 64 65 66 69 6e 65 2d (eq-sym?.#'s).stx].....[(define-
f400 73 79 6e 74 61 78 65 73 20 28 73 73 20 2e 2e 2e 29 20 2e 20 5f 29 20 28 6f 72 6d 61 70 20 65 71 syntaxes.(ss....)..._).(ormap.eq
f420 2d 73 79 6d 3f 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 23 27 28 73 73 20 2e 2e 2e 29 29 29 -sym?.(syntax->list.#'(ss....)))
f440 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f460 20 20 20 20 20 28 6c 6f 63 20 28 6f 72 6d 61 70 20 65 71 2d 73 79 6d 3f 20 28 73 79 6e 74 61 78 .....(loc.(ormap.eq-sym?.(syntax
f480 2d 3e 6c 69 73 74 20 23 27 28 73 73 20 2e 2e 2e 29 29 29 29 5d 0a 20 20 20 20 5b 28 64 65 66 69 ->list.#'(ss....))))].....[(defi
f4a0 6e 65 2d 73 74 72 75 63 74 20 73 20 2e 20 5f 29 20 20 20 20 20 20 20 20 20 20 28 65 71 2d 73 79 ne-struct.s..._)..........(eq-sy
f4c0 6d 3f 20 23 27 73 29 20 73 74 78 5d 0a 20 20 20 20 5b 28 64 65 66 69 6e 65 2d 73 74 72 75 63 74 m?.#'s).stx].....[(define-struct
f4e0 20 28 73 20 5f 29 20 2e 20 5f 29 20 20 20 20 20 20 28 65 71 2d 73 79 6d 3f 20 23 27 73 29 20 73 .(s._)..._)......(eq-sym?.#'s).s
f500 74 78 5d 0a 20 20 20 20 5b 28 73 74 72 75 63 74 20 73 20 2e 20 5f 29 20 20 20 20 20 20 20 20 20 tx].....[(struct.s..._).........
f520 20 20 20 20 20 20 20 20 28 65 71 2d 73 79 6d 3f 20 23 27 73 29 20 73 74 78 5d 0a 20 20 20 20 5b ........(eq-sym?.#'s).stx].....[
f540 28 73 74 72 75 63 74 20 28 73 20 5f 29 20 2e 20 5f 29 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (struct.(s._)..._).............(
f560 65 71 2d 73 79 6d 3f 20 23 27 73 29 20 73 74 78 5d 0a 20 20 20 20 5b 5f 20 20 20 20 20 20 20 20 eq-sym?.#'s).stx].....[_........
f580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 66 5d 29 29 0a 0a 3b 3b 20 ......................#f]))..;;.
f5a0 47 69 76 65 6e 20 61 20 73 79 6d 62 6f 6c 20 61 6e 64 20 73 79 6e 74 61 78 2c 20 72 65 74 75 72 Given.a.symbol.and.syntax,.retur
f5c0 6e 20 73 79 6e 74 61 78 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 0a 3b 3b n.syntax.corresponding.to.the.;;
f5e0 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 20 73 69 67 6e 61 74 75 72 65 2e 20 .function.definition.signature..
f600 54 68 65 20 69 6e 70 75 74 20 73 79 6e 74 61 78 20 73 68 6f 75 6c 64 20 4e 4f 54 20 62 65 0a 3b The.input.syntax.should.NOT.be.;
f620 3b 20 60 65 78 70 61 6e 64 60 65 64 2e 20 54 68 69 73 20 69 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79 ;.`expand`ed..This.intentionally
f640 20 64 6f 65 73 20 4e 4f 54 20 77 61 6c 6b 20 69 6e 74 6f 20 6d 6f 64 75 6c 65 20 66 6f 72 6d 73 .does.NOT.walk.into.module.forms
f660 2c 20 73 6f 2c 0a 3b 3b 20 67 69 76 65 20 75 73 20 74 68 65 20 6d 6f 64 75 6c 65 20 62 6f 64 69 ,.so,.;;.give.us.the.module.bodi
f680 65 73 20 77 72 61 70 70 65 64 20 69 6e 20 62 65 67 69 6e 2e 0a 28 64 65 66 69 6e 65 20 28 24 73 es.wrapped.in.begin..(define.($s
f6a0 69 67 6e 61 74 75 72 65 20 73 79 6d 20 73 74 78 29 20 3b 3b 73 79 6d 62 6f 6c 3f 20 73 79 6e 74 ignature.sym.stx).;;symbol?.synt
f6c0 61 78 3f 20 2d 3e 20 28 6f 72 2f 63 20 23 66 20 6c 69 73 74 3f 29 0a 20 20 28 64 65 66 69 6e 65 ax?.->.(or/c.#f.list?)...(define
f6e0 20 65 71 2d 73 79 6d 3f 20 28 6d 61 6b 65 2d 65 71 2d 73 79 6d 3f 20 73 79 6d 29 29 0a 20 20 28 .eq-sym?.(make-eq-sym?.sym))...(
f700 73 79 6e 74 61 78 2d 63 61 73 65 2a 20 73 74 78 20 28 62 65 67 69 6e 20 64 65 66 69 6e 65 20 64 syntax-case*.stx.(begin.define.d
f720 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 63 61 73 65 2d 6c 61 6d 62 64 61 29 20 73 79 6e 74 efine/contract.case-lambda).synt
f740 61 78 2d 65 2d 65 71 3f 0a 20 20 20 20 5b 28 62 65 67 69 6e 20 2e 20 73 74 78 73 29 20 20 20 20 ax-e-eq?.....[(begin...stxs)....
f760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 6d 61 ...........................(orma
f780 70 20 28 ce bb 20 28 73 74 78 29 20 28 24 73 69 67 6e 61 74 75 72 65 20 73 79 6d 20 73 74 78 29 p.(...(stx).($signature.sym.stx)
f7a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
f7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 ...........................(synt
f7e0 61 78 2d 3e 6c 69 73 74 20 23 27 73 74 78 73 29 29 5d 0a 20 20 20 20 5b 28 64 65 66 69 6e 65 20 ax->list.#'stxs))].....[(define.
f800 20 20 20 20 20 20 20 20 20 28 73 20 2e 20 61 73 29 20 2e 20 5f 29 20 20 20 20 20 20 20 20 20 20 .........(s...as)..._)..........
f820 20 20 20 20 20 28 65 71 2d 73 79 6d 3f 20 23 27 73 29 20 23 27 28 73 20 2e 20 61 73 29 5d 0a 20 .....(eq-sym?.#'s).#'(s...as)]..
f840 20 20 20 5b 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 73 20 2e 20 61 73 29 20 2e 20 ...[(define/contract.(s...as)...
f860 5f 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 2d 73 79 6d 3f 20 23 27 73 29 20 23 _)...............(eq-sym?.#'s).#
f880 27 28 73 20 2e 20 61 73 29 5d 0a 20 20 20 20 5b 28 64 65 66 69 6e 65 20 73 20 28 63 61 73 65 2d '(s...as)].....[(define.s.(case-
f8a0 6c 61 6d 62 64 61 20 5b 28 61 73 73 20 2e 2e 2e 29 20 2e 20 5f 5d 20 2e 2e 2e 29 29 20 28 65 71 lambda.[(ass....)..._]....)).(eq
f8c0 2d 73 79 6d 3f 20 23 27 73 29 20 23 27 28 28 73 20 61 73 73 20 2e 2e 2e 29 20 2e 2e 2e 29 5d 0a -sym?.#'s).#'((s.ass....)....)].
f8e0 20 20 20 20 5b 5f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....[_..........................
f900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 66 5d 29 29 0a 0a 3b 3b 20 46 69 6e 64 ..................#f]))..;;.Find
f920 20 73 79 6d 20 69 6e 20 61 20 63 6f 6e 74 72 61 63 74 69 6e 67 20 61 6e 64 2f 6f 72 20 72 65 6e .sym.in.a.contracting.and/or.ren
f940 61 6d 69 6e 67 20 70 72 6f 76 69 64 65 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 0a 3b 3b aming.provide,.and.return.the.;;
f960 20 73 79 6e 74 61 78 20 66 6f 72 20 74 68 65 20 4f 52 49 47 49 4e 41 4c 20 69 64 65 6e 74 69 66 .syntax.for.the.ORIGINAL.identif
f980 69 65 72 20 28 62 65 66 6f 72 65 20 62 65 69 6e 67 20 63 6f 6e 74 72 61 63 74 65 64 20 61 6e 64 ier.(before.being.contracted.and
f9a0 2f 6f 72 0a 3b 3b 20 72 65 6e 61 6d 65 64 29 2e 20 54 68 65 20 69 6e 70 75 74 20 73 79 6e 74 61 /or.;;.renamed)..The.input.synta
f9c0 78 20 73 68 6f 75 6c 64 20 4e 4f 54 20 62 65 20 65 78 70 61 6e 64 65 64 2e 0a 28 64 65 66 69 6e x.should.NOT.be.expanded..(defin
f9e0 65 20 28 24 72 65 6e 61 6d 69 6e 67 2d 70 72 6f 76 69 64 65 20 73 79 6d 20 73 74 78 29 20 3b 3b e.($renaming-provide.sym.stx).;;
fa00 73 79 6d 62 6f 6c 3f 20 73 79 6e 74 61 78 3f 20 2d 3e 20 73 79 6e 74 61 78 3f 0a 20 20 28 64 65 symbol?.syntax?.->.syntax?...(de
fa20 66 69 6e 65 20 65 71 2d 73 79 6d 3f 20 28 6d 61 6b 65 2d 65 71 2d 73 79 6d 3f 20 73 79 6d 29 29 fine.eq-sym?.(make-eq-sym?.sym))
fa40 0a 20 20 28 73 79 6e 74 61 78 2d 63 61 73 65 2a 20 73 74 78 20 28 62 65 67 69 6e 20 70 72 6f 76 ...(syntax-case*.stx.(begin.prov
fa60 69 64 65 20 70 72 6f 76 69 64 65 2f 63 6f 6e 74 72 61 63 74 29 20 73 79 6e 74 61 78 2d 65 2d 65 ide.provide/contract).syntax-e-e
fa80 71 3f 0a 20 20 20 20 5b 28 62 65 67 69 6e 20 2e 20 73 74 78 73 29 0a 20 20 20 20 20 28 6f 72 6d q?.....[(begin...stxs)......(orm
faa0 61 70 20 28 ce bb 20 28 73 74 78 29 20 28 24 72 65 6e 61 6d 69 6e 67 2d 70 72 6f 76 69 64 65 20 ap.(...(stx).($renaming-provide.
fac0 73 79 6d 20 73 74 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 3e 6c sym.stx)).............(syntax->l
fae0 69 73 74 20 23 27 73 74 78 73 29 29 5d 0a 20 20 20 20 5b 28 70 72 6f 76 69 64 65 2f 63 6f 6e 74 ist.#'stxs))].....[(provide/cont
fb00 72 61 63 74 20 2e 20 73 74 78 73 29 0a 20 20 20 20 20 28 66 6f 72 2f 6f 72 20 28 5b 73 74 78 20 ract...stxs)......(for/or.([stx.
fb20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 23 27 73 74 78 73 29 5d 29 0a 20 20 20 20 20 20 20 28 (syntax->list.#'stxs)])........(
fb40 73 79 6e 74 61 78 2d 63 61 73 65 20 73 74 78 20 28 29 0a 20 20 20 20 20 20 20 20 20 5b 28 73 20 syntax-case.stx.()..........[(s.
fb60 5f 29 20 28 65 71 2d 73 79 6d 3f 20 23 27 73 29 5d 0a 20 20 20 20 20 20 20 20 20 5b 5f 20 20 20 _).(eq-sym?.#'s)]..........[_...
fb80 20 20 23 66 5d 29 29 5d 0a 20 20 20 20 5b 28 70 72 6f 76 69 64 65 20 2e 20 73 74 78 73 29 0a 20 ..#f]))].....[(provide...stxs)..
fba0 20 20 20 20 28 66 6f 72 2f 6f 72 20 28 5b 73 74 78 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 ....(for/or.([stx.(syntax->list.
fbc0 23 27 73 74 78 73 29 5d 29 0a 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 63 61 73 65 2a 20 73 #'stxs)])........(syntax-case*.s
fbe0 74 78 20 28 63 6f 6e 74 72 61 63 74 2d 6f 75 74 20 72 65 6e 61 6d 65 2d 6f 75 74 29 20 73 79 6e tx.(contract-out.rename-out).syn
fc00 74 61 78 2d 65 2d 65 71 3f 0a 20 20 20 20 20 20 20 20 20 5b 28 63 6f 6e 74 72 61 63 74 2d 6f 75 tax-e-eq?..........[(contract-ou
fc20 74 20 2e 20 73 74 78 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2f 6f 72 20 28 5b 73 74 t...stxs)...........(for/or.([st
fc40 78 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 23 27 73 74 78 73 29 5d 29 0a 20 20 20 20 20 20 x.(syntax->list.#'stxs)]).......
fc60 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 63 61 73 65 2a 20 73 74 78 20 28 72 65 6e 61 6d 65 29 ......(syntax-case*.stx.(rename)
fc80 20 73 79 6e 74 61 78 2d 65 2d 65 71 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 72 65 .syntax-e-eq?...............[(re
fca0 6e 61 6d 65 20 6f 72 69 67 20 73 20 5f 29 20 28 65 71 2d 73 79 6d 3f 20 23 27 73 29 20 23 27 6f name.orig.s._).(eq-sym?.#'s).#'o
fcc0 72 69 67 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 73 20 5f 29 20 20 20 20 20 20 20 rig]...............[(s._).......
fce0 20 20 20 20 20 20 28 65 71 2d 73 79 6d 3f 20 23 27 73 29 20 23 27 73 5d 0a 20 20 20 20 20 20 20 ......(eq-sym?.#'s).#'s]........
fd00 20 20 20 20 20 20 20 5b 5f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 66 5d 29 29 5d .......[_.................#f]))]
fd20 0a 20 20 20 20 20 20 20 20 20 5b 28 72 65 6e 61 6d 65 2d 6f 75 74 20 2e 20 73 74 78 73 29 0a 20 ..........[(rename-out...stxs)..
fd40 20 20 20 20 20 20 20 20 20 28 66 6f 72 2f 6f 72 20 28 5b 73 74 78 20 28 73 79 6e 74 61 78 2d 3e .........(for/or.([stx.(syntax->
fd60 6c 69 73 74 20 23 27 73 74 78 73 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 list.#'stxs)]).............(synt
fd80 61 78 2d 63 61 73 65 2a 20 73 74 78 20 28 29 20 73 79 6e 74 61 78 2d 65 2d 65 71 3f 0a 20 20 20 ax-case*.stx.().syntax-e-eq?....
fda0 20 20 20 20 20 20 20 20 20 20 20 5b 28 6f 72 69 67 20 73 29 20 28 65 71 2d 73 79 6d 3f 20 23 27 ...........[(orig.s).(eq-sym?.#'
fdc0 73 29 20 23 27 6f 72 69 67 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5f 20 20 20 20 20 s).#'orig]...............[_.....
fde0 20 20 20 23 66 5d 29 29 5d 0a 20 20 20 20 20 20 20 20 20 5b 5f 20 23 66 5d 29 29 5d 0a 20 20 20 ...#f]))]..........[_.#f]))]....
fe00 20 5b 5f 20 23 66 5d 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 3b 3b 20 4a 75 .[_.#f]))..(module+.test...;;.Ju
fe20 73 74 20 61 20 71 75 69 63 6b 20 73 6d 6f 6b 65 20 74 65 73 74 2e 20 53 65 65 20 74 65 73 74 2f st.a.quick.smoke.test..See.test/
fe40 66 69 6e 64 2e 72 6b 74 20 66 6f 72 20 6d 61 6e 79 20 6d 6f 72 65 20 74 65 73 74 73 2e 0a 20 20 find.rkt.for.many.more.tests....
fe60 3b 3b 0a 20 20 3b 3b 20 45 78 65 72 63 69 73 65 20 77 68 65 72 65 20 74 68 65 20 22 68 6f 77 22 ;;...;;.Exercise.where.the."how"
fe80 20 69 73 20 61 20 70 61 74 68 2d 73 74 72 69 6e 67 2c 20 6d 65 61 6e 69 6e 67 20 6c 6f 6f 6b 20 .is.a.path-string,.meaning.look.
fea0 75 70 20 74 68 61 74 0a 20 20 3b 3b 20 70 61 74 68 20 66 72 6f 6d 20 6f 75 72 20 63 61 63 68 65 up.that...;;.path.from.our.cache
fec0 2c 20 6e 6f 74 20 6f 6e 20 64 69 73 6b 2e 0a 20 20 28 6c 65 74 20 28 5b 70 61 74 68 2d 73 74 72 ,.not.on.disk....(let.([path-str
fee0 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 28 62 75 69 6c 64 2d 70 61 74 68 20 28 66 69 6e 64 .(path->string.(build-path.(find
ff00 2d 73 79 73 74 65 6d 2d 70 61 74 68 20 27 74 65 6d 70 2d 64 69 72 29 20 22 78 2e 72 6b 74 22 29 -system-path.'temp-dir)."x.rkt")
ff20 29 5d 0a 20 20 20 20 20 20 20 20 5b 63 6f 64 65 2d 73 74 72 20 28 7e 61 20 60 28 6d 6f 64 75 6c )].........[code-str.(~a.`(modul
ff40 65 20 78 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.x.racket/base.................
ff60 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 28 6d 6f 64 75 6c 65 2d 66 75 6e 63 74 69 6f 6e ........(define.(module-function
ff80 2d 62 69 6e 64 69 6e 67 20 78 20 79 20 7a 29 20 28 2b 20 31 20 78 29 29 0a 20 20 20 20 20 20 20 -binding.x.y.z).(+.1.x))........
ffa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6d 6f 64 75 6c 65 2d .................(define.module-
ffc0 76 61 72 69 61 62 6c 65 2d 62 69 6e 64 69 6e 67 20 34 32 29 29 29 5d 29 0a 20 20 20 20 28 73 74 variable-binding.42)))]).....(st
ffe0 72 69 6e 67 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 70 61 74 68 2d 73 74 72 20 63 ring->expanded-syntax.path-str.c
10000 6f 64 65 2d 73 74 72 20 76 6f 69 64 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 ode-str.void).....(check-equal?.
10020 28 66 69 6e 64 2d 73 69 67 6e 61 74 75 72 65 20 70 61 74 68 2d 73 74 72 20 22 6d 6f 64 75 6c 65 (find-signature.path-str."module
10040 2d 66 75 6e 63 74 69 6f 6e 2d 62 69 6e 64 69 6e 67 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 -function-binding").............
10060 20 20 20 20 20 20 27 28 6d 6f 64 75 6c 65 2d 66 75 6e 63 74 69 6f 6e 2d 62 69 6e 64 69 6e 67 20 ......'(module-function-binding.
10080 78 20 79 20 7a 29 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 66 69 6e 64 2d x.y.z)).....(check-equal?.(find-
100a0 64 65 66 69 6e 69 74 69 6f 6e 20 70 61 74 68 2d 73 74 72 20 22 6d 6f 64 75 6c 65 2d 66 75 6e 63 definition.path-str."module-func
100c0 74 69 6f 6e 2d 62 69 6e 64 69 6e 67 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion-binding")..................
100e0 20 60 28 2c 70 61 74 68 2d 73 74 72 20 31 20 33 31 29 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 65 .`(,path-str.1.31)).....(check-e
10100 71 75 61 6c 3f 20 28 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 20 70 61 74 68 2d 73 74 72 20 qual?.(find-definition.path-str.
10120 22 6d 6f 64 75 6c 65 2d 76 61 72 69 61 62 6c 65 2d 62 69 6e 64 69 6e 67 22 29 0a 20 20 20 20 20 "module-variable-binding")......
10140 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 2c 70 61 74 68 2d 73 74 72 20 31 20 37 39 29 29 29 .............`(,path-str.1.79)))
10160 0a 20 20 3b 3b 20 45 78 65 72 63 69 73 65 20 74 68 65 20 22 6d 61 6b 65 2d 74 72 61 76 65 72 73 ...;;.Exercise.the."make-travers
10180 61 6c 22 20 73 63 65 6e 61 72 69 6f 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 63 6f 6d 6d 65 6e al".scenario.described.in.commen
101a0 74 73 0a 20 20 3b 3b 20 61 62 6f 76 65 2e 0a 20 20 28 6c 65 74 20 28 5b 70 61 74 68 2d 73 74 72 ts...;;.above....(let.([path-str
101c0 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 28 62 75 69 6c 64 2d 70 61 74 68 20 28 66 69 6e 64 .(path->string.(build-path.(find
101e0 2d 73 79 73 74 65 6d 2d 70 61 74 68 20 27 74 65 6d 70 2d 64 69 72 29 20 22 78 2e 72 6b 74 22 29 -system-path.'temp-dir)."x.rkt")
10200 29 5d 0a 20 20 20 20 20 20 20 20 5b 63 6f 64 65 2d 73 74 72 20 28 7e 61 20 60 28 6d 6f 64 75 6c )].........[code-str.(~a.`(modul
10220 65 20 78 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.x.racket/base.................
10240 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d ........(require.drracket/check-
10260 73 79 6e 74 61 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 syntax).........................
10280 22 6d 61 6b 65 2d 74 72 61 76 65 72 73 61 6c 22 29 29 5d 29 0a 20 20 20 20 28 73 74 72 69 6e 67 "make-traversal"))]).....(string
102a0 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 2d ->expanded-syntax.path-str.code-
102c0 73 74 72 20 76 6f 69 64 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 6d 61 74 63 68 20 28 66 69 6e 64 str.void).....(check-match.(find
102e0 2d 64 65 66 69 6e 69 74 69 6f 6e 20 70 61 74 68 2d 73 74 72 20 22 6d 61 6b 65 2d 74 72 61 76 65 -definition.path-str."make-trave
10300 72 73 61 6c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 3f rsal")..................(list.(?
10320 20 28 70 61 74 68 2d 65 6e 64 73 2d 69 6e 3f 20 22 64 72 72 61 63 6b 65 74 22 20 22 70 72 69 76 .(path-ends-in?."drracket"."priv
10340 61 74 65 22 20 22 73 79 6e 63 68 65 63 6b 22 20 22 74 72 61 76 65 72 73 61 6c 73 2e 72 6b 74 22 ate"."syncheck"."traversals.rkt"
10360 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 20 5f 29 29 29 ))........................_._)))
10380 29 0a 0a 28 64 65 66 69 6e 65 20 28 28 70 61 74 68 2d 65 6e 64 73 2d 69 6e 3f 20 2e 20 78 73 29 )..(define.((path-ends-in?...xs)
103a0 20 70 73 29 0a 20 20 28 6c 69 73 74 2d 70 72 65 66 69 78 3f 20 28 72 65 76 65 72 73 65 20 28 6d .ps)...(list-prefix?.(reverse.(m
103c0 61 70 20 73 74 72 69 6e 67 2d 3e 70 61 74 68 20 78 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ap.string->path.xs))............
103e0 20 20 20 20 20 28 72 65 76 65 72 73 65 20 28 65 78 70 6c 6f 64 65 2d 70 61 74 68 20 70 73 29 29 .....(reverse.(explode-path.ps))
10400 29 29 0a 0a 3b 3b 20 54 68 65 73 65 20 60 67 65 74 2d 73 79 6e 74 61 78 60 20 61 6e 64 20 60 67 ))..;;.These.`get-syntax`.and.`g
10420 65 74 2d 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 60 20 66 75 6e 63 74 69 6f 6e 73 20 68 61 et-expanded-syntax`.functions.ha
10440 6e 64 6c 65 20 77 68 65 72 65 0a 3b 3b 20 77 65 20 67 65 74 20 74 68 65 20 73 79 6e 74 61 78 2e ndle.where.;;.we.get.the.syntax.
10460 0a 3b 3b 0a 3b 3b 20 54 68 65 20 73 70 65 63 69 61 6c 20 63 61 73 65 20 69 73 20 77 68 65 6e 20 .;;.;;.The.special.case.is.when.
10480 60 68 6f 77 60 20 69 73 20 61 20 70 61 74 68 2d 73 74 72 69 6e 67 2e 20 54 68 61 74 20 70 61 74 `how`.is.a.path-string..That.pat
104a0 68 20 64 6f 65 73 6e 27 74 0a 3b 3b 20 6e 65 63 65 73 73 61 72 69 6c 79 20 65 78 69 73 74 20 61 h.doesn't.;;.necessarily.exist.a
104c0 73 20 61 20 66 69 6c 65 2c 20 6f 72 20 74 68 65 20 66 69 6c 65 20 6d 61 79 20 62 65 20 6f 75 74 s.a.file,.or.the.file.may.be.out
104e0 64 61 74 65 64 2e 20 54 68 65 20 70 61 74 68 0a 3b 3b 20 6d 61 79 20 73 69 6d 70 6c 79 20 62 65 dated..The.path.;;.may.simply.be
10500 20 74 68 65 20 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 66 6f 72 20 61 20 73 74 72 69 6e 67 20 .the.syntax-source.for.a.string.
10520 66 72 6f 6d 20 61 6e 20 75 6e 73 61 76 65 64 20 45 6d 61 63 73 0a 3b 3b 20 62 75 66 66 65 72 2e from.an.unsaved.Emacs.;;.buffer.
10540 20 53 6f 20 77 68 65 6e 20 77 65 20 6e 65 65 64 20 74 6f 20 67 65 74 20 73 79 6e 74 61 78 20 66 .So.when.we.need.to.get.syntax.f
10560 6f 72 20 73 75 63 68 20 61 20 70 61 74 68 2c 20 77 65 20 6e 65 65 64 20 74 6f 0a 3b 3b 20 67 65 or.such.a.path,.we.need.to.;;.ge
10580 74 20 69 74 20 66 72 6f 6d 20 6f 75 72 20 63 61 63 68 65 20 2d 2d 20 4e 4f 54 20 66 72 6f 6d 20 t.it.from.our.cache.--.NOT.from.
105a0 61 20 66 69 6c 65 2e 20 28 48 6f 77 20 69 74 20 67 6f 74 20 69 6e 20 74 68 65 20 63 61 63 68 65 a.file..(How.it.got.in.the.cache
105c0 0a 3b 3b 20 70 72 65 76 69 6f 75 73 6c 79 20 77 61 73 20 66 72 6f 6d 20 73 6f 6d 65 20 63 68 65 .;;.previously.was.from.some.che
105e0 63 6b 2d 73 79 6e 74 61 78 2e 29 0a 3b 3b 0a 3b 3b 20 54 68 69 6e 67 73 20 6c 69 6b 65 20 69 64 ck-syntax.).;;.;;.Things.like.id
10600 65 6e 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 20 6d 61 79 20 74 65 6c 6c 20 75 73 20 74 6f 20 entifier-binding.may.tell.us.to.
10620 6c 6f 6f 6b 20 61 74 20 73 75 63 68 20 61 20 70 61 74 68 2c 0a 3b 3b 20 6f 72 20 61 74 20 61 20 look.at.such.a.path,.;;.or.at.a.
10640 70 61 74 68 20 66 6f 72 20 61 20 72 65 61 6c 20 65 78 69 73 74 69 6e 67 2f 75 70 64 61 74 65 64 path.for.a.real.existing/updated
10660 20 66 69 6c 65 2e 20 54 68 69 73 20 68 65 6c 70 73 20 73 6f 72 74 20 6f 75 74 0a 3b 3b 20 74 68 .file..This.helps.sort.out.;;.th
10680 65 20 76 61 72 69 6f 75 73 20 63 61 73 65 73 2e 0a 0a 28 64 65 66 69 6e 65 20 28 67 65 74 2d 73 e.various.cases...(define.(get-s
106a0 79 6e 74 61 78 20 68 6f 77 20 70 61 74 68 2d 73 74 72 20 6b 29 0a 20 20 28 6d 61 74 63 68 20 68 yntax.how.path-str.k)...(match.h
106c0 6f 77 0a 20 20 20 20 5b 27 6e 61 6d 65 73 70 61 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ow.....['namespace..............
106e0 20 20 28 66 69 6c 65 2d 3e 73 79 6e 74 61 78 20 70 61 74 68 2d 73 74 72 20 6b 29 5d 0a 20 20 20 ..(file->syntax.path-str.k)]....
10700 20 5b 28 3f 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 68 6f 77 2d 70 61 74 68 29 20 28 69 66 20 .[(?.path-string?.how-path).(if.
10720 28 70 61 74 68 2d 73 74 72 69 6e 67 2d 65 71 75 61 6c 3f 20 70 61 74 68 2d 73 74 72 20 68 6f 77 (path-string-equal?.path-str.how
10740 2d 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -path)..........................
10760 20 20 20 20 20 20 20 20 20 20 28 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 73 79 6e 74 61 78 ..........(path->existing-syntax
10780 20 70 61 74 68 2d 73 74 72 20 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .path-str.k)....................
107a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 3e 73 79 6e 74 61 78 20 20 20 ................(file->syntax...
107c0 20 20 20 20 20 20 20 70 61 74 68 2d 73 74 72 20 6b 29 29 5d 29 29 0a 0a 3b 3b 20 46 6f 72 20 77 .......path-str.k))]))..;;.For.w
107e0 68 65 6e 20 77 65 20 75 73 65 20 73 79 6e 74 61 78 2d 63 61 73 65 2a 20 73 69 6d 70 6c 79 20 66 hen.we.use.syntax-case*.simply.f
10800 6f 72 20 73 79 6e 74 61 78 2d 65 20 65 71 75 61 6c 69 74 79 2e 0a 28 64 65 66 69 6e 65 20 28 73 or.syntax-e.equality..(define.(s
10820 79 6e 74 61 78 2d 65 2d 65 71 3f 20 61 20 62 29 0a 20 20 28 65 71 3f 20 28 73 79 6e 74 61 78 2d yntax-e-eq?.a.b)...(eq?.(syntax-
10840 65 20 61 29 20 28 73 79 6e 74 61 78 2d 65 20 62 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 28 6d e.a).(syntax-e.b)))..(define.((m
10860 61 6b 65 2d 65 71 2d 73 79 6d 3f 20 73 79 6d 29 20 73 74 78 29 0a 20 20 28 61 6e 64 20 28 65 71 ake-eq-sym?.sym).stx)...(and.(eq
10880 3f 20 73 79 6d 20 28 73 79 6e 74 61 78 2d 65 20 73 74 78 29 29 20 73 74 78 29 29 0a 0a 28 64 65 ?.sym.(syntax-e.stx)).stx))..(de
108a0 66 69 6e 65 20 28 67 65 74 2d 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 68 6f 77 20 70 61 fine.(get-expanded-syntax.how.pa
108c0 74 68 2d 73 74 72 20 6b 29 0a 20 20 28 6d 61 74 63 68 20 68 6f 77 0a 20 20 20 20 5b 27 6e 61 6d th-str.k)...(match.how.....['nam
108e0 65 73 70 61 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 3e 65 78 70 espace................(file->exp
10900 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 70 61 74 68 2d 73 74 72 20 6b 29 5d 0a 20 20 20 20 5b 28 anded-syntax.path-str.k)].....[(
10920 3f 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 68 6f 77 2d 70 61 74 68 29 20 28 69 66 20 28 70 61 ?.path-string?.how-path).(if.(pa
10940 74 68 2d 73 74 72 69 6e 67 2d 65 71 75 61 6c 3f 20 70 61 74 68 2d 73 74 72 20 68 6f 77 2d 70 61 th-string-equal?.path-str.how-pa
10960 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 th).............................
10980 20 20 20 20 20 20 20 28 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 65 78 70 61 6e 64 65 64 2d .......(path->existing-expanded-
109a0 73 79 6e 74 61 78 20 70 61 74 68 2d 73 74 72 20 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 syntax.path-str.k)..............
109c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 3e 65 78 70 ......................(file->exp
109e0 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 20 20 20 20 20 20 20 20 20 70 61 74 68 2d 73 74 72 20 6b anded-syntax..........path-str.k
10a00 29 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 70 61 74 68 2d 73 74 72 69 6e 67 2d 65 71 75 61 ))]))..(define.(path-string-equa
10a20 6c 3f 20 61 20 62 29 0a 20 20 28 65 71 75 61 6c 3f 20 28 2d 3e 70 61 74 68 2d 73 74 72 69 6e 67 l?.a.b)...(equal?.(->path-string
10a40 20 61 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 70 61 74 68 2d 73 74 72 69 6e 67 20 62 29 29 .a)...........(->path-string.b))
10a60 29 0a 0a 28 64 65 66 69 6e 65 20 28 2d 3e 70 61 74 68 2d 73 74 72 69 6e 67 20 76 29 0a 20 20 28 )..(define.(->path-string.v)...(
10a80 63 6f 6e 64 20 5b 28 70 61 74 68 3f 20 76 29 20 20 20 20 20 20 20 20 28 70 61 74 68 2d 3e 73 74 cond.[(path?.v)........(path->st
10aa0 72 69 6e 67 20 76 29 5d 0a 20 20 20 20 20 20 20 20 5b 28 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 ring.v)].........[(path-string?.
10ac0 76 29 20 76 5d 0a 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 20 20 20 20 20 20 20 20 20 20 20 20 v).v].........[else.............
10ae0 28 65 72 72 6f 72 20 27 70 61 74 68 2d 73 74 72 69 6e 67 2d 65 71 75 61 6c 3f 20 22 6e 6f 74 20 (error.'path-string-equal?."not.
10b00 61 20 70 61 74 68 20 6f 72 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 22 20 76 29 5d 29 29 0a 00 00 a.path.or.path-string?".v)]))...
10b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
10c20 72 61 63 6b 65 74 2f 68 61 73 68 2d 6c 61 6e 67 2d 62 72 69 64 67 65 2e 72 6b 74 00 00 00 00 00 racket/hash-lang-bridge.rkt.....
10c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
10c80 30 30 31 35 37 30 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 30 37 34 37 00 20 30 00 00 00 0015707.00000000000.020747..0...
10ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
10d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
10d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 32 30 2d 32 30 32 33 20 62 79 20 47 72 ;;.Copyright.(c).2020-2023.by.Gr
10e20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
10e40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
10e60 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
10e80 2f 61 73 79 6e 63 2d 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 63 /async-channel..........racket/c
10ea0 6c 61 73 73 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 lass..........racket/match......
10ec0 20 20 20 20 72 61 63 6b 65 74 2f 72 75 6e 74 69 6d 65 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 ....racket/runtime-path.........
10ee0 20 22 65 6c 69 73 70 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 6c 61 6e 67 2d 69 6e 66 6f ."elisp.rkt".........."lang-info
10f00 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 75 74 69 6c 2e 72 6b 74 22 29 0a 0a 28 70 72 6f .rkt".........."util.rkt")..(pro
10f20 76 69 64 65 20 68 61 73 68 2d 6c 61 6e 67 0a 20 20 20 20 20 20 20 20 20 68 61 73 68 2d 6c 61 6e vide.hash-lang..........hash-lan
10f40 67 2d 6e 6f 74 69 66 79 2d 63 68 61 6e 6e 65 6c 29 0a 0a 3b 3b 20 42 72 69 64 67 65 20 66 6f 72 g-notify-channel)..;;.Bridge.for
10f60 20 45 6d 61 63 73 20 66 72 6f 6e 74 20 65 6e 64 20 74 6f 20 75 73 65 20 68 61 73 68 2d 6c 61 6e .Emacs.front.end.to.use.hash-lan
10f80 67 25 0a 3b 3b 0a 3b 3b 20 2d 20 52 65 66 65 72 65 6e 63 65 20 68 61 73 68 2d 6c 61 6e 67 25 20 g%.;;.;;.-.Reference.hash-lang%.
10fa0 6f 62 6a 65 63 74 73 20 62 79 20 61 20 73 65 72 69 61 6c 69 7a 61 62 6c 65 20 49 44 20 73 75 70 objects.by.a.serializable.ID.sup
10fc0 70 6c 69 65 64 20 62 79 20 74 68 65 0a 3b 3b 20 20 20 66 72 6f 6e 74 20 65 6e 64 2e 0a 3b 3b 0a plied.by.the.;;...front.end..;;.
10fe0 3b 3b 20 2d 20 41 64 6a 75 73 74 20 45 6d 61 63 73 20 31 2d 62 61 73 65 64 20 70 6f 73 69 74 69 ;;.-.Adjust.Emacs.1-based.positi
11000 6f 6e 73 20 74 6f 2f 66 72 6f 6d 20 68 61 73 68 2d 6c 61 6e 67 25 20 30 2d 62 61 73 65 64 2e 0a ons.to/from.hash-lang%.0-based..
11020 3b 3b 0a 3b 3b 20 2d 20 48 61 6e 64 6c 65 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 73 20 61 62 6f ;;.;;.-.Handle.notifications.abo
11040 75 74 20 63 68 61 6e 67 65 64 20 6c 61 6e 67 75 61 67 65 73 20 61 6e 64 20 74 6f 6b 65 6e 73 2c ut.changed.languages.and.tokens,
11060 20 62 79 0a 3b 3b 20 20 20 70 75 74 74 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 61 6e 20 61 73 .by.;;...putting.values.to.an.as
11080 79 6e 63 20 63 68 61 6e 6e 65 6c 20 74 68 61 74 20 69 73 20 68 61 6e 64 6c 65 64 20 69 6e 0a 3b ync.channel.that.is.handled.in.;
110a0 3b 20 20 20 63 6f 6d 6d 61 6e 64 2d 73 65 72 76 65 72 2e 72 6b 74 2c 20 61 6e 64 20 74 68 65 6e ;...command-server.rkt,.and.then
110c0 20 61 6e 64 20 75 70 20 69 6e 20 45 6d 61 63 73 2c 20 73 69 6d 69 6c 61 72 20 74 6f 0a 3b 3b 20 .and.up.in.Emacs,.similar.to.;;.
110e0 20 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 6c 6f 67 67 69 6e 67 ..notifications.used.for.logging
11100 20 61 6e 64 20 64 65 62 75 67 67 69 6e 67 2e 0a 0a 28 64 65 66 69 6e 65 2d 72 75 6e 74 69 6d 65 .and.debugging...(define-runtime
11120 2d 70 61 74 68 20 68 61 73 68 2d 6c 61 6e 67 2e 72 6b 74 20 22 68 61 73 68 2d 6c 61 6e 67 2e 72 -path.hash-lang.rkt."hash-lang.r
11140 6b 74 22 29 0a 0a 28 64 65 66 69 6e 65 20 68 61 73 68 2d 6c 61 6e 67 2d 63 6c 61 73 73 2d 6f 72 kt")..(define.hash-lang-class-or
11160 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 0a 20 20 28 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 20 -error-message...(with-handlers.
11180 28 5b 65 78 6e 3a 66 61 69 6c 3f 20 65 78 6e 2d 6d 65 73 73 61 67 65 5d 29 0a 20 20 20 20 28 64 ([exn:fail?.exn-message]).....(d
111a0 79 6e 61 6d 69 63 2d 72 65 71 75 69 72 65 20 68 61 73 68 2d 6c 61 6e 67 2e 72 6b 74 20 27 68 61 ynamic-require.hash-lang.rkt.'ha
111c0 73 68 2d 6c 61 6e 67 25 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 6f 75 72 2d 68 61 73 68 2d 6c 61 sh-lang%)))..(define.our-hash-la
111e0 6e 67 25 0a 20 20 28 77 68 65 6e 20 28 63 6c 61 73 73 3f 20 68 61 73 68 2d 6c 61 6e 67 2d 63 6c ng%...(when.(class?.hash-lang-cl
11200 61 73 73 2d 6f 72 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 29 0a 20 20 20 20 28 63 6c 61 73 73 ass-or-error-message).....(class
11220 20 68 61 73 68 2d 6c 61 6e 67 2d 63 6c 61 73 73 2d 6f 72 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 .hash-lang-class-or-error-messag
11240 65 0a 20 20 20 20 20 20 28 73 75 70 65 72 2d 6e 65 77 29 0a 20 20 20 20 20 20 28 69 6e 69 74 2d e.......(super-new).......(init-
11260 66 69 65 6c 64 20 69 64 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2f 6f 76 65 72 72 69 64 65 field.id).......(define/override
11280 20 28 6f 6e 2d 63 68 61 6e 67 65 64 2d 6c 61 6e 67 2d 69 6e 66 6f 20 5f 67 65 6e 20 6c 69 29 0a .(on-changed-lang-info._gen.li).
112a0 20 20 20 20 20 20 20 20 28 61 73 79 6e 63 2d 63 68 61 6e 6e 65 6c 2d 70 75 74 0a 20 20 20 20 20 ........(async-channel-put......
112c0 20 20 20 20 68 61 73 68 2d 6c 61 6e 67 2d 6e 6f 74 69 66 79 2d 63 68 61 6e 6e 65 6c 0a 20 20 20 ....hash-lang-notify-channel....
112e0 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 27 68 61 73 68 2d 6c 61 6e 67 ......(list...........'hash-lang
11300 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 27 6c 61 6e 67 0a 20 20 20 20 20 20 20 20 20 20 27 6d .id...........'lang...........'m
11320 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 20 20 20 20 28 6c 61 6e 67 2d 69 6e 66 6f 2d 6d 6f 64 odule-language....(lang-info-mod
11340 75 6c 65 2d 6c 61 6e 67 75 61 67 65 20 6c 69 29 0a 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b ule-language.li)...........'rack
11360 65 74 2d 67 72 6f 75 70 69 6e 67 20 20 20 20 28 6c 61 6e 67 2d 69 6e 66 6f 2d 67 72 6f 75 70 69 et-grouping....(lang-info-groupi
11380 6e 67 2d 70 6f 73 69 74 69 6f 6e 2d 69 73 2d 72 61 63 6b 65 74 3f 20 6c 69 29 0a 20 20 20 20 20 ng-position-is-racket?.li)......
113a0 20 20 20 20 20 27 72 61 6e 67 65 2d 69 6e 64 65 6e 74 65 72 20 20 20 20 20 28 61 6e 64 20 28 6c .....'range-indenter.....(and.(l
113c0 61 6e 67 2d 69 6e 66 6f 2d 72 61 6e 67 65 2d 69 6e 64 65 6e 74 65 72 20 6c 69 29 20 23 74 29 0a ang-info-range-indenter.li).#t).
113e0 20 20 20 20 20 20 20 20 20 20 27 73 75 62 6d 69 74 2d 70 72 65 64 69 63 61 74 65 20 20 20 28 61 ..........'submit-predicate...(a
11400 6e 64 20 28 6c 61 6e 67 2d 69 6e 66 6f 2d 73 75 62 6d 69 74 2d 70 72 65 64 69 63 61 74 65 20 6c nd.(lang-info-submit-predicate.l
11420 69 29 20 23 74 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 74 72 69 6e 67 2d 69 7a 65 20 70 i).#t)...........;;.String-ize.p
11440 61 72 65 6e 2d 6d 61 74 63 68 65 73 20 61 6e 64 20 71 75 6f 74 65 73 2d 6d 61 74 63 68 65 73 20 aren-matches.and.quotes-matches.
11460 64 61 74 61 20 74 6f 20 61 76 6f 69 64 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 69 73 63 72 data.to.avoid...........;;.discr
11480 65 70 61 6e 63 69 65 73 20 77 69 74 68 20 45 6d 61 63 73 20 4c 69 73 70 20 61 6c 6c 6f 77 65 64 epancies.with.Emacs.Lisp.allowed
114a0 20 73 79 6d 62 6f 6c 73 20 61 6e 64 20 63 68 61 72 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 .symbols.and.char...........;;.r
114c0 65 61 64 65 72 20 73 79 6e 74 61 78 2e 0a 20 20 20 20 20 20 20 20 20 20 27 70 61 72 65 6e 2d 6d eader.syntax............'paren-m
114e0 61 74 63 68 65 73 20 20 20 20 20 20 28 66 6f 72 2f 6c 69 73 74 20 28 5b 6f 2f 63 20 28 69 6e 2d atches......(for/list.([o/c.(in-
11500 6c 69 73 74 20 28 6c 61 6e 67 2d 69 6e 66 6f 2d 70 61 72 65 6e 2d 6d 61 74 63 68 65 73 20 6c 69 list.(lang-info-paren-matches.li
11520 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))])............................
11540 20 20 20 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 20 28 6c 69 73 74 20 6f 20 63 29 20 6f 2f .....(match-define.(list.o.c).o/
11560 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c)..............................
11580 20 20 20 28 63 6f 6e 73 20 28 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e 67 20 6f 29 20 28 73 79 6d ...(cons.(symbol->string.o).(sym
115a0 62 6f 6c 2d 3e 73 74 72 69 6e 67 20 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 27 71 75 6f 74 bol->string.c)))...........'quot
115c0 65 2d 6d 61 74 63 68 65 73 20 20 20 20 20 20 28 66 6f 72 2f 6c 69 73 74 20 28 5b 63 20 28 69 6e e-matches......(for/list.([c.(in
115e0 2d 6c 69 73 74 20 28 6c 61 6e 67 2d 69 6e 66 6f 2d 71 75 6f 74 65 2d 6d 61 74 63 68 65 73 20 6c -list.(lang-info-quote-matches.l
11600 69 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 i))])...........................
11620 20 20 20 20 20 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 31 20 63 29 29 0a 20 20 20 20 20 20 20 ......(make-string.1.c))........
11640 20 20 20 27 63 6f 6d 6d 65 6e 74 2d 64 65 6c 69 6d 69 74 65 72 73 20 28 6c 61 6e 67 2d 69 6e 66 ...'comment-delimiters.(lang-inf
11660 6f 2d 63 6f 6d 6d 65 6e 74 2d 64 65 6c 69 6d 69 74 65 72 73 20 6c 69 29 29 29 29 0a 20 20 20 20 o-comment-delimiters.li)))).....
11680 20 20 28 64 65 66 69 6e 65 2f 6f 76 65 72 72 69 64 65 20 28 6f 6e 2d 63 68 61 6e 67 65 64 2d 74 ..(define/override.(on-changed-t
116a0 6f 6b 65 6e 73 20 67 65 6e 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e okens.gen.beg.end).........(when
116c0 20 28 3c 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 73 79 6e 63 2d 63 68 .(<.beg.end)...........(async-ch
116e0 61 6e 6e 65 6c 2d 70 75 74 20 68 61 73 68 2d 6c 61 6e 67 2d 6e 6f 74 69 66 79 2d 63 68 61 6e 6e annel-put.hash-lang-notify-chann
11700 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 el..............................
11720 28 6c 69 73 74 20 27 68 61 73 68 2d 6c 61 6e 67 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 (list.'hash-lang.id.............
11740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 75 70 64 61 74 65 0a 20 .......................'update..
11760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11780 20 20 67 65 6e 20 28 61 64 64 31 20 62 65 67 29 20 28 61 64 64 31 20 65 6e 64 29 29 29 29 29 29 ..gen.(add1.beg).(add1.end))))))
117a0 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 68 61 73 68 2d 6c 61 6e 67 20 2e 20 61 72 67 73 29 0a 20 ))..(define.(hash-lang...args)..
117c0 20 28 63 6f 6e 64 0a 20 20 20 20 5b 28 63 6c 61 73 73 3f 20 68 61 73 68 2d 6c 61 6e 67 2d 63 6c .(cond.....[(class?.hash-lang-cl
117e0 61 73 73 2d 6f 72 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 29 20 28 61 70 70 6c 79 20 68 61 73 ass-or-error-message).(apply.has
11800 68 2d 6c 61 6e 67 2a 20 61 72 67 73 29 5d 0a 20 20 20 20 5b 28 65 71 3f 20 27 63 72 65 61 74 65 h-lang*.args)].....[(eq?.'create
11820 20 28 63 61 72 20 61 72 67 73 29 29 20 23 66 5d 0a 20 20 20 20 5b 65 6c 73 65 20 28 65 72 72 6f .(car.args)).#f].....[else.(erro
11840 72 20 27 68 61 73 68 2d 6c 61 6e 67 20 68 61 73 68 2d 6c 61 6e 67 2d 63 6c 61 73 73 2d 6f 72 2d r.'hash-lang.hash-lang-class-or-
11860 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 68 61 73 68 error-message)]))..(define.(hash
11880 2d 6c 61 6e 67 2a 20 2e 20 61 72 67 73 29 0a 20 20 28 6d 61 74 63 68 20 61 72 67 73 0a 20 20 20 -lang*...args)...(match.args....
118a0 20 5b 60 28 63 72 65 61 74 65 20 2c 69 64 20 2c 6f 6c 73 20 2c 73 74 72 29 20 20 20 20 20 20 20 .[`(create.,id.,ols.,str).......
118c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 72 65 61 74 65 20 69 64 20 6f 6c 73 20 73 ................(create.id.ols.s
118e0 74 72 29 5d 0a 20 20 20 20 5b 60 28 64 65 6c 65 74 65 20 2c 69 64 29 20 20 20 20 20 20 20 20 20 tr)].....[`(delete.,id).........
11900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 20 ........................(delete.
11920 69 64 29 5d 0a 20 20 20 20 5b 60 28 75 70 64 61 74 65 20 2c 69 64 20 2c 67 65 6e 20 2c 70 6f 73 id)].....[`(update.,id.,gen.,pos
11940 20 2c 6f 6c 64 2d 6c 65 6e 20 2c 73 74 72 29 20 20 20 20 20 20 20 20 20 28 75 70 64 61 74 65 20 .,old-len.,str).........(update.
11960 69 64 20 67 65 6e 20 70 6f 73 20 6f 6c 64 2d 6c 65 6e 20 73 74 72 29 5d 0a 20 20 20 20 5b 60 28 id.gen.pos.old-len.str)].....[`(
11980 69 6e 64 65 6e 74 2d 61 6d 6f 75 6e 74 20 2c 69 64 20 2c 67 65 6e 20 2c 70 6f 73 29 20 20 20 20 indent-amount.,id.,gen.,pos)....
119a0 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 2d 61 6d 6f 75 6e 74 20 69 64 20 67 65 ............(indent-amount.id.ge
119c0 6e 20 70 6f 73 29 5d 0a 20 20 20 20 5b 60 28 69 6e 64 65 6e 74 2d 72 65 67 69 6f 6e 2d 61 6d 6f n.pos)].....[`(indent-region-amo
119e0 75 6e 74 73 20 2c 69 64 20 2c 67 65 6e 20 2c 66 72 6f 6d 20 2c 75 70 74 6f 29 20 28 69 6e 64 65 unts.,id.,gen.,from.,upto).(inde
11a00 6e 74 2d 72 65 67 69 6f 6e 2d 61 6d 6f 75 6e 74 73 20 69 64 20 67 65 6e 20 66 72 6f 6d 20 75 70 nt-region-amounts.id.gen.from.up
11a20 74 6f 29 5d 0a 20 20 20 20 5b 60 28 63 6c 61 73 73 69 66 79 20 2c 69 64 20 2c 67 65 6e 20 2c 70 to)].....[`(classify.,id.,gen.,p
11a40 6f 73 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 61 73 73 69 66 os).....................(classif
11a60 79 20 69 64 20 67 65 6e 20 70 6f 73 29 5d 0a 20 20 20 20 5b 60 28 67 72 6f 75 70 69 6e 67 20 2c y.id.gen.pos)].....[`(grouping.,
11a80 69 64 20 2c 67 65 6e 20 2c 70 6f 73 20 2c 64 69 72 20 2c 6c 69 6d 69 74 20 2c 63 6f 75 6e 74 29 id.,gen.,pos.,dir.,limit.,count)
11aa0 20 20 28 67 72 6f 75 70 69 6e 67 20 69 64 20 67 65 6e 20 70 6f 73 20 64 69 72 20 6c 69 6d 69 74 ..(grouping.id.gen.pos.dir.limit
11ac0 20 63 6f 75 6e 74 29 5d 0a 20 20 20 20 5b 60 28 67 65 74 2d 74 6f 6b 65 6e 73 20 2c 69 64 20 2c .count)].....[`(get-tokens.,id.,
11ae0 67 65 6e 20 2c 66 72 6f 6d 20 2c 75 70 74 6f 29 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 gen.,from.,upto)............(get
11b00 2d 74 6f 6b 65 6e 73 20 69 64 20 67 65 6e 20 66 72 6f 6d 20 75 70 74 6f 29 5d 0a 20 20 20 20 5b -tokens.id.gen.from.upto)].....[
11b20 60 28 73 75 62 6d 69 74 2d 70 72 65 64 69 63 61 74 65 20 2c 69 64 20 2c 73 74 72 20 2c 65 6f 73 `(submit-predicate.,id.,str.,eos
11b40 3f 29 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 6d 69 74 2d 70 72 65 64 69 63 61 74 65 20 ?)............(submit-predicate.
11b60 69 64 20 73 74 72 20 65 6f 73 3f 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 68 61 73 68 2d 6c 61 id.str.eos?)]))..(define.hash-la
11b80 6e 67 2d 6e 6f 74 69 66 79 2d 63 68 61 6e 6e 65 6c 20 28 6d 61 6b 65 2d 61 73 79 6e 63 2d 63 68 ng-notify-channel.(make-async-ch
11ba0 61 6e 6e 65 6c 29 29 0a 0a 28 64 65 66 69 6e 65 20 68 74 20 28 6d 61 6b 65 2d 68 61 73 68 29 29 annel))..(define.ht.(make-hash))
11bc0 20 3b 69 64 20 3d 3e 20 68 61 73 68 2d 6c 61 6e 67 25 0a 28 64 65 66 69 6e 65 20 28 67 65 74 2d .;id.=>.hash-lang%.(define.(get-
11be0 6f 62 6a 65 63 74 20 69 64 29 0a 20 20 28 68 61 73 68 2d 72 65 66 20 68 74 20 69 64 0a 20 20 20 object.id)...(hash-ref.ht.id....
11c00 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 29 20 28 65 72 72 6f 72 20 27 68 61 73 68 2d 6c 61 6e .........(...().(error.'hash-lan
11c20 67 2d 62 72 69 64 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g-bridge........................
11c40 20 20 22 4e 6f 20 68 61 73 68 2d 6c 61 6e 67 20 65 78 69 73 74 73 20 77 69 74 68 20 49 44 20 7e .."No.hash-lang.exists.with.ID.~
11c60 76 22 20 69 64 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 63 72 65 61 74 65 20 69 64 20 6f 6c v".id))))..(define.(create.id.ol
11c80 73 20 73 74 72 29 20 3b 61 6e 79 2f 63 20 28 6f 72 2f 63 20 23 66 20 73 74 72 69 6e 67 3f 29 20 s.str).;any/c.(or/c.#f.string?).
11ca0 73 74 72 69 6e 67 3f 20 2d 3e 20 76 6f 69 64 0a 20 20 28 64 65 66 69 6e 65 20 6f 62 6a 20 28 6e string?.->.void...(define.obj.(n
11cc0 65 77 20 6f 75 72 2d 68 61 73 68 2d 6c 61 6e 67 25 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ew.our-hash-lang%...............
11ce0 20 20 20 20 20 5b 69 64 20 69 64 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....[id.id]....................
11d00 5b 6f 74 68 65 72 2d 6c 61 6e 67 2d 73 6f 75 72 63 65 20 28 61 6e 64 20 6f 6c 73 20 28 6e 6f 74 [other-lang-source.(and.ols.(not
11d20 20 28 6e 75 6c 6c 3f 20 6f 6c 73 29 29 20 6f 6c 73 29 5d 29 29 0a 20 20 28 68 61 73 68 2d 73 65 .(null?.ols)).ols)]))...(hash-se
11d40 74 21 20 68 74 20 69 64 20 6f 62 6a 29 0a 20 20 28 73 65 6e 64 20 6f 62 6a 20 75 70 64 61 74 65 t!.ht.id.obj)...(send.obj.update
11d60 21 20 31 20 30 20 30 20 73 74 72 29 0a 20 20 69 64 29 0a 0a 28 64 65 66 69 6e 65 20 28 64 65 6c !.1.0.0.str)...id)..(define.(del
11d80 65 74 65 20 69 64 29 0a 20 20 28 68 61 73 68 2d 72 65 6d 6f 76 65 21 20 68 74 20 69 64 29 29 0a ete.id)...(hash-remove!.ht.id)).
11da0 0a 28 64 65 66 69 6e 65 20 28 75 70 64 61 74 65 20 69 64 20 67 65 6e 20 70 6f 73 20 6f 6c 64 2d .(define.(update.id.gen.pos.old-
11dc0 6c 65 6e 20 73 74 72 29 0a 20 20 28 73 65 6e 64 20 28 67 65 74 2d 6f 62 6a 65 63 74 20 69 64 29 len.str)...(send.(get-object.id)
11de0 20 75 70 64 61 74 65 21 20 67 65 6e 20 28 73 75 62 31 20 70 6f 73 29 20 6f 6c 64 2d 6c 65 6e 20 .update!.gen.(sub1.pos).old-len.
11e00 73 74 72 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 69 6e 64 65 6e 74 2d 61 6d 6f 75 6e 74 20 69 64 str))..(define.(indent-amount.id
11e20 20 67 65 6e 20 70 6f 73 29 0a 20 20 28 77 69 74 68 2d 74 69 6d 65 2f 6c 6f 67 20 22 68 61 73 68 .gen.pos)...(with-time/log."hash
11e40 2d 6c 61 6e 67 20 69 6e 64 65 6e 74 2d 61 6d 6f 75 6e 74 22 0a 20 20 20 20 28 73 65 6e 64 20 28 -lang.indent-amount".....(send.(
11e60 67 65 74 2d 6f 62 6a 65 63 74 20 69 64 29 20 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 61 6d 6f 75 6e get-object.id).indent-line-amoun
11e80 74 20 67 65 6e 20 28 73 75 62 31 20 70 6f 73 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 69 6e t.gen.(sub1.pos))))..(define.(in
11ea0 64 65 6e 74 2d 72 65 67 69 6f 6e 2d 61 6d 6f 75 6e 74 73 20 69 64 20 67 65 6e 20 66 72 6f 6d 20 dent-region-amounts.id.gen.from.
11ec0 75 70 74 6f 29 0a 20 20 28 77 69 74 68 2d 74 69 6d 65 2f 6c 6f 67 20 22 68 61 73 68 2d 6c 61 6e upto)...(with-time/log."hash-lan
11ee0 67 20 69 6e 64 65 6e 74 2d 72 65 67 69 6f 6e 2d 61 6d 6f 75 6e 74 73 22 0a 20 20 20 20 28 6d 61 g.indent-region-amounts".....(ma
11f00 74 63 68 20 28 73 65 6e 64 20 28 67 65 74 2d 6f 62 6a 65 63 74 20 69 64 29 20 69 6e 64 65 6e 74 tch.(send.(get-object.id).indent
11f20 2d 72 61 6e 67 65 2d 61 6d 6f 75 6e 74 73 20 67 65 6e 20 28 73 75 62 31 20 66 72 6f 6d 29 20 28 -range-amounts.gen.(sub1.from).(
11f40 73 75 62 31 20 75 70 74 6f 29 29 0a 20 20 20 20 20 20 5b 23 66 20 27 66 61 6c 73 65 5d 20 3b 61 sub1.upto)).......[#f.'false].;a
11f60 76 6f 69 64 20 45 6c 69 73 70 20 6e 69 6c 2f 60 28 29 20 70 75 6e 6e 69 6e 67 20 70 72 6f 62 6c void.Elisp.nil/`().punning.probl
11f80 65 6d 0a 20 20 20 20 20 20 5b 76 20 76 5d 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 63 6c 61 73 em.......[v.v])))..(define.(clas
11fa0 73 69 66 79 20 69 64 20 67 65 6e 20 70 6f 73 29 0a 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 sify.id.gen.pos)...(match-define
11fc0 20 28 6c 69 73 74 20 62 65 67 20 65 6e 64 20 61 74 74 72 69 62 73 29 20 28 73 65 6e 64 20 28 67 .(list.beg.end.attribs).(send.(g
11fe0 65 74 2d 6f 62 6a 65 63 74 20 69 64 29 20 63 6c 61 73 73 69 66 79 20 67 65 6e 20 28 73 75 62 31 et-object.id).classify.gen.(sub1
12000 20 70 6f 73 29 29 29 0a 20 20 28 6c 69 73 74 20 28 61 64 64 31 20 62 65 67 29 20 28 61 64 64 31 .pos)))...(list.(add1.beg).(add1
12020 20 65 6e 64 29 20 28 61 74 74 72 69 62 73 2d 3e 74 79 70 65 73 20 61 74 74 72 69 62 73 29 29 29 .end).(attribs->types.attribs)))
12040 0a 0a 28 64 65 66 69 6e 65 20 28 67 72 6f 75 70 69 6e 67 20 69 64 20 67 65 6e 20 70 6f 73 20 64 ..(define.(grouping.id.gen.pos.d
12060 69 72 20 6c 69 6d 69 74 20 63 6f 75 6e 74 29 0a 20 20 28 6d 61 74 63 68 20 28 73 65 6e 64 20 28 ir.limit.count)...(match.(send.(
12080 67 65 74 2d 6f 62 6a 65 63 74 20 69 64 29 20 67 72 6f 75 70 69 6e 67 20 67 65 6e 20 28 73 75 62 get-object.id).grouping.gen.(sub
120a0 31 20 70 6f 73 29 20 64 69 72 20 6c 69 6d 69 74 20 63 6f 75 6e 74 29 0a 20 20 20 20 5b 28 3f 20 1.pos).dir.limit.count).....[(?.
120c0 6e 75 6d 62 65 72 3f 20 6e 29 20 28 61 64 64 31 20 6e 29 5d 0a 20 20 20 20 5b 76 20 76 5d 29 29 number?.n).(add1.n)].....[v.v]))
120e0 0a 0a 28 64 65 66 69 6e 65 20 28 67 65 74 2d 74 6f 6b 65 6e 73 20 69 64 20 67 65 6e 20 66 72 6f ..(define.(get-tokens.id.gen.fro
12100 6d 20 75 70 74 6f 29 0a 20 20 28 66 6f 72 2f 6c 69 73 74 20 28 5b 74 6f 6b 20 28 69 6e 2d 6c 69 m.upto)...(for/list.([tok.(in-li
12120 73 74 20 28 73 65 6e 64 20 28 67 65 74 2d 6f 62 6a 65 63 74 20 69 64 29 20 67 65 74 2d 74 6f 6b st.(send.(get-object.id).get-tok
12140 65 6e 73 20 67 65 6e 20 28 73 75 62 31 20 66 72 6f 6d 29 20 28 73 75 62 31 20 75 70 74 6f 29 29 ens.gen.(sub1.from).(sub1.upto))
12160 29 5d 29 0a 20 20 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 20 28 6c 69 73 74 20 28 61 70 70 )]).....(match-define.(list.(app
12180 20 61 64 64 31 20 62 65 67 29 20 28 61 70 70 20 61 64 64 31 20 65 6e 64 29 20 28 61 70 70 20 61 .add1.beg).(app.add1.end).(app.a
121a0 74 74 72 69 62 73 2d 3e 74 79 70 65 73 20 74 79 70 65 73 29 29 20 74 6f 6b 29 0a 20 20 20 20 28 ttribs->types.types)).tok).....(
121c0 6c 69 73 74 20 62 65 67 20 65 6e 64 20 74 79 70 65 73 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 list.beg.end.types)))..(define.(
121e0 61 74 74 72 69 62 73 2d 3e 74 79 70 65 73 20 61 74 74 72 69 62 73 29 0a 20 20 28 6d 61 74 63 68 attribs->types.attribs)...(match
12200 20 61 74 74 72 69 62 73 0a 20 20 20 20 5b 28 3f 20 73 79 6d 62 6f 6c 3f 20 73 29 20 28 6c 69 73 .attribs.....[(?.symbol?.s).(lis
12220 74 20 73 29 5d 0a 20 20 20 20 5b 28 3f 20 68 61 73 68 3f 20 68 74 29 20 20 28 63 6f 6e 73 20 28 t.s)].....[(?.hash?.ht)..(cons.(
12240 68 61 73 68 2d 72 65 66 20 68 74 20 27 74 79 70 65 20 27 75 6e 6b 6e 6f 77 6e 29 0a 20 20 20 20 hash-ref.ht.'type.'unknown).....
12260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 68 61 73 68 2d 72 .....................(if.(hash-r
12280 65 66 20 68 74 20 27 63 6f 6d 6d 65 6e 74 3f 20 23 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ef.ht.'comment?.#f).............
122a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d .................'(sexp-comment-
122c0 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 body)...........................
122e0 20 20 20 6e 75 6c 6c 29 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 73 75 62 6d 69 74 2d 70 72 ...null))]))..(define.(submit-pr
12300 65 64 69 63 61 74 65 20 69 64 20 73 74 72 20 2d 65 6f 73 3f 29 0a 20 20 28 64 65 66 69 6e 65 20 edicate.id.str.-eos?)...(define.
12320 69 6e 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 69 6e 67 20 73 74 72 29 29 0a 20 20 28 64 in.(open-input-string.str))...(d
12340 65 66 69 6e 65 20 65 6f 73 20 28 61 73 2d 72 61 63 6b 65 74 2d 62 6f 6f 6c 20 2d 65 6f 73 3f 29 efine.eos.(as-racket-bool.-eos?)
12360 29 0a 20 20 28 73 65 6e 64 20 28 67 65 74 2d 6f 62 6a 65 63 74 20 69 64 29 20 73 75 62 6d 69 74 )...(send.(get-object.id).submit
12380 2d 70 72 65 64 69 63 61 74 65 20 69 6e 20 65 6f 73 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 65 78 -predicate.in.eos))..(module+.ex
123a0 61 6d 70 6c 65 2d 30 0a 20 20 28 64 65 66 69 6e 65 20 69 64 20 30 29 0a 20 20 28 64 65 66 69 6e ample-0...(define.id.0)...(defin
123c0 65 20 73 74 72 20 22 23 6c 61 6e 67 20 72 61 63 6b 65 74 5c 6e 34 32 20 28 70 72 69 6e 74 20 5c e.str."#lang.racket\n42.(print.\
123e0 22 68 65 6c 6c 6f 5c 22 29 20 40 70 72 69 6e 74 7b 48 65 6c 6c 6f 7d 20 27 66 6f 6f 20 23 3a 62 "hello\").@print{Hello}.'foo.#:b
12400 61 72 22 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 63 72 65 61 74 65 20 69 64 20 73 74 72 ar")...(hash-lang.'create.id.str
12420 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 75 70 64 61 74 65 20 69 64 20 32 20 31 34 20 32 )...(hash-lang.'update.id.2.14.2
12440 20 22 39 39 39 39 22 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 63 6c 61 73 73 69 66 79 20 ."9999")...(hash-lang.'classify.
12460 69 64 20 32 20 31 34 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 75 70 64 61 74 65 20 69 64 id.2.14)...(hash-lang.'update.id
12480 20 33 20 31 34 20 34 20 22 22 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 63 6c 61 73 73 69 .3.14.4."")...(hash-lang.'classi
124a0 66 79 20 69 64 20 33 20 31 34 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 63 6c 61 73 73 69 fy.id.3.14)...(hash-lang.'classi
124c0 66 79 20 69 64 20 33 20 31 35 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 67 72 6f 75 70 69 fy.id.3.15)...(hash-lang.'groupi
124e0 6e 67 20 69 64 20 33 20 31 35 20 27 66 6f 72 77 61 72 64 20 30 20 31 29 29 0a 0a 28 6d 6f 64 75 ng.id.3.15.'forward.0.1))..(modu
12500 6c 65 2b 20 65 78 61 6d 70 6c 65 2d 31 0a 20 20 28 64 65 66 69 6e 65 20 69 64 20 30 29 0a 20 20 le+.example-1...(define.id.0)...
12520 28 64 65 66 69 6e 65 20 73 74 72 20 22 23 6c 61 6e 67 20 61 74 2d 65 78 70 20 72 61 63 6b 65 74 (define.str."#lang.at-exp.racket
12540 5c 6e 34 32 20 28 70 72 69 6e 74 20 5c 22 68 65 6c 6c 6f 5c 22 29 20 40 70 72 69 6e 74 7b 48 65 \n42.(print.\"hello\").@print{He
12560 6c 6c 6f 20 28 74 68 65 72 65 29 7d 20 27 66 6f 6f 20 23 3a 62 61 72 22 29 0a 20 20 28 68 61 73 llo.(there)}.'foo.#:bar")...(has
12580 68 2d 6c 61 6e 67 20 27 63 72 65 61 74 65 20 69 64 20 73 74 72 29 0a 20 20 28 68 61 73 68 2d 6c h-lang.'create.id.str)...(hash-l
125a0 61 6e 67 20 27 63 6c 61 73 73 69 66 79 20 69 64 20 31 20 28 73 75 62 31 20 28 73 74 72 69 6e 67 ang.'classify.id.1.(sub1.(string
125c0 2d 6c 65 6e 67 74 68 20 73 74 72 29 29 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 65 78 61 6d 70 6c -length.str))))..(module+.exampl
125e0 65 2d 31 2e 35 0a 20 20 28 64 65 66 69 6e 65 20 69 64 20 30 29 0a 20 20 28 64 65 66 69 6e 65 20 e-1.5...(define.id.0)...(define.
12600 73 74 72 20 22 23 6c 61 6e 67 20 73 63 72 69 62 62 6c 65 2f 6d 61 6e 75 61 6c 5c 6e 28 70 72 69 str."#lang.scribble/manual\n(pri
12620 6e 74 20 5c 22 68 65 6c 6c 6f 5c 22 29 5c 6e 40 70 72 69 6e 74 5b 23 3a 6b 77 20 31 32 5d 7b 48 nt.\"hello\")\n@print[#:kw.12]{H
12640 65 6c 6c 6f 20 28 74 68 65 72 65 29 20 23 3a 6e 6f 74 2d 61 2d 6b 65 79 77 6f 72 64 7d 5c 6e 22 ello.(there).#:not-a-keyword}\n"
12660 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 63 72 65 61 74 65 20 69 64 20 73 74 72 29 29 0a )...(hash-lang.'create.id.str)).
12680 0a 28 6d 6f 64 75 6c 65 2b 20 65 78 61 6d 70 6c 65 2d 32 0a 20 20 28 64 65 66 69 6e 65 20 69 64 .(module+.example-2...(define.id
126a0 20 30 29 0a 20 20 28 64 65 66 69 6e 65 20 73 74 72 20 22 23 6c 61 6e 67 20 73 63 72 69 62 62 6c .0)...(define.str."#lang.scribbl
126c0 65 2f 74 65 78 74 5c 6e 48 65 6c 6c 6f 20 40 28 70 72 69 6e 74 20 5c 22 68 65 6c 6c 6f 5c 22 29 e/text\nHello.@(print.\"hello\")
126e0 20 40 70 72 69 6e 74 7b 48 65 6c 6c 6f 20 28 74 68 65 72 65 29 7d 20 23 3a 6e 6f 74 2d 61 2d 6b .@print{Hello.(there)}.#:not-a-k
12700 65 79 77 6f 72 64 22 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 63 72 65 61 74 65 20 69 64 eyword")...(hash-lang.'create.id
12720 20 73 74 72 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 63 6c 61 73 73 69 66 79 20 69 64 20 .str)...(hash-lang.'classify.id.
12740 28 73 75 62 31 20 28 73 74 72 69 6e 67 2d 6c 65 6e 67 74 68 20 73 74 72 29 29 29 29 0a 0a 28 6d (sub1.(string-length.str))))..(m
12760 6f 64 75 6c 65 2b 20 65 78 61 6d 70 6c 65 2d 33 0a 20 20 28 64 65 66 69 6e 65 20 69 64 20 30 29 odule+.example-3...(define.id.0)
12780 0a 20 20 28 64 65 66 69 6e 65 20 73 74 72 20 22 23 6c 61 6e 67 20 72 61 63 6b 65 74 5c 6e 28 ce ...(define.str."#lang.racket\n(.
127a0 bb 20 28 29 20 23 74 29 22 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 63 72 65 61 74 65 20 ..().#t)")...(hash-lang.'create.
127c0 69 64 20 73 74 72 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 63 6c 61 73 73 69 66 79 20 69 id.str)...(hash-lang.'classify.i
127e0 64 20 31 20 31 34 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 63 6c 61 73 73 69 66 79 20 69 d.1.14)...(hash-lang.'classify.i
12800 64 20 31 20 28 73 75 62 31 20 28 73 74 72 69 6e 67 2d 6c 65 6e 67 74 68 20 73 74 72 29 29 29 29 d.1.(sub1.(string-length.str))))
12820 0a 0a 28 6d 6f 64 75 6c 65 2b 20 65 78 61 6d 70 6c 65 2d 34 0a 20 20 28 64 65 66 69 6e 65 20 69 ..(module+.example-4...(define.i
12840 64 20 30 29 0a 20 20 28 64 65 66 69 6e 65 20 73 74 72 20 22 23 6c 61 6e 67 20 72 61 63 6b 65 74 d.0)...(define.str."#lang.racket
12860 5c 6e 23 72 78 5c 22 31 32 33 34 5c 22 5c 6e 23 28 31 20 32 20 33 29 5c 6e 23 27 28 31 20 32 20 \n#rx\"1234\"\n#(1.2.3)\n#'(1.2.
12880 33 29 22 29 0a 20 20 28 68 61 73 68 2d 6c 61 6e 67 20 27 63 72 65 61 74 65 20 69 64 20 73 74 72 3)")...(hash-lang.'create.id.str
128a0 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 65 78 61 6d 70 6c 65 2d 35 0a 20 20 28 64 65 66 69 6e 65 ))..(module+.example-5...(define
128c0 20 69 64 20 30 29 0a 20 20 28 64 65 66 69 6e 65 20 73 74 72 20 22 23 6c 61 6e 67 20 72 61 63 6b .id.0)...(define.str."#lang.rack
128e0 65 74 5c 6e 31 32 33 5c 6e 28 70 72 69 6e 74 20 31 32 33 29 5c 6e 22 29 0a 20 20 3b 3b 20 20 20 et\n123\n(print.123)\n")...;;...
12900 20 20 20 20 20 20 20 20 31 32 33 34 35 36 37 38 39 30 31 32 33 20 34 35 36 37 20 38 39 30 31 32 ........1234567890123.4567.89012
12920 33 34 35 36 37 38 39 20 30 0a 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3456789.0...;;..................
12940 20 20 31 20 20 20 20 20 20 20 20 20 20 20 32 20 20 20 20 20 20 20 20 20 20 33 0a 20 20 28 68 61 ..1...........2..........3...(ha
12960 73 68 2d 6c 61 6e 67 20 27 63 72 65 61 74 65 20 69 64 20 73 74 72 29 0a 20 20 28 69 6e 64 65 6e sh-lang.'create.id.str)...(inden
12980 74 2d 61 6d 6f 75 6e 74 20 69 64 20 31 20 31 38 29 0a 20 20 28 75 70 64 61 74 65 20 69 64 20 32 t-amount.id.1.18)...(update.id.2
129a0 20 32 38 20 30 20 22 5c 6e 22 29 0a 20 20 28 69 6e 64 65 6e 74 2d 61 6d 6f 75 6e 74 20 69 64 20 .28.0."\n")...(indent-amount.id.
129c0 32 20 32 39 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2.29))..........................
129e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
12a20 72 61 63 6b 65 74 2f 65 6c 69 73 70 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/elisp.rkt................
12a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
12a80 30 30 30 35 35 34 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 37 36 32 00 20 30 00 00 00 0005541.00000000000.016762..0...
12aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
12b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
12b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12c00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
12c20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
12c40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
12c60 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
12c80 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a /contract..........racket/match.
12ca0 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 72 61 .........racket/port..........ra
12cc0 63 6b 65 74 2f 73 65 74 0a 20 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 2f 70 61 72 73 65 2f 64 cket/set..........syntax/parse/d
12ce0 65 66 69 6e 65 29 0a 0a 28 70 72 6f 76 69 64 65 20 65 6c 69 73 70 2d 72 65 61 64 0a 20 20 20 20 efine)..(provide.elisp-read.....
12d00 20 20 20 20 20 65 6c 69 73 70 2d 62 6f 6f 6c 2f 63 0a 20 20 20 20 20 20 20 20 20 61 73 2d 72 61 .....elisp-bool/c..........as-ra
12d20 63 6b 65 74 2d 62 6f 6f 6c 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 2d 70 61 72 65 6e 73 0a 20 cket-bool..........with-parens..
12d40 20 20 20 20 20 20 20 20 65 6c 69 73 70 2d 77 72 69 74 65 0a 20 20 20 20 20 20 20 20 20 65 6c 69 ........elisp-write..........eli
12d60 73 70 2d 77 72 69 74 65 6c 6e 29 0a 0a 3b 3b 3b 20 52 65 61 64 20 61 20 73 75 62 73 65 74 20 6f sp-writeln)..;;;.Read.a.subset.o
12d80 66 20 45 6d 61 63 73 20 4c 69 73 70 20 76 61 6c 75 65 73 20 61 73 20 52 61 63 6b 65 74 20 76 61 f.Emacs.Lisp.values.as.Racket.va
12da0 6c 75 65 73 0a 0a 28 64 65 66 69 6e 65 20 28 65 6c 69 73 70 2d 72 65 61 64 20 69 6e 29 0a 20 20 lues..(define.(elisp-read.in)...
12dc0 28 65 6c 69 73 70 2d 3e 72 61 63 6b 65 74 20 28 72 65 61 64 20 69 6e 29 29 29 0a 0a 28 64 65 66 (elisp->racket.(read.in)))..(def
12de0 69 6e 65 20 28 65 6c 69 73 70 2d 3e 72 61 63 6b 65 74 20 76 29 0a 20 20 28 6d 61 74 63 68 20 76 ine.(elisp->racket.v)...(match.v
12e00 0a 20 20 20 20 5b 27 6e 69 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 29 5d 20 3b 6e 6f 74 .....['nil.............'()].;not
12e20 20 23 66 20 2d 2d 20 73 65 65 20 61 73 2d 72 61 63 6b 65 74 2d 62 6f 6f 6c 0a 20 20 20 20 5b 27 .#f.--.see.as-racket-bool.....['
12e40 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 74 5d 0a 20 20 20 20 5b 28 3f 20 6c 69 73 74 t...............#t].....[(?.list
12e60 3f 20 78 73 29 20 20 20 20 20 28 6d 61 70 20 65 6c 69 73 70 2d 3e 72 61 63 6b 65 74 20 78 73 29 ?.xs).....(map.elisp->racket.xs)
12e80 5d 0a 20 20 20 20 5b 28 63 6f 6e 73 20 78 20 79 29 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 65 ].....[(cons.x.y).......(cons.(e
12ea0 6c 69 73 70 2d 3e 72 61 63 6b 65 74 20 78 29 20 28 65 6c 69 73 70 2d 3e 72 61 63 6b 65 74 20 79 lisp->racket.x).(elisp->racket.y
12ec0 29 29 5d 0a 20 20 20 20 5b 28 76 65 63 74 6f 72 20 73 20 5f 20 2e 2e 2e 29 20 73 5d 20 3b 45 6d ))].....[(vector.s._....).s].;Em
12ee0 61 63 73 20 73 74 72 69 6e 67 73 20 63 61 6e 20 62 65 20 23 28 22 73 74 72 69 6e 67 22 20 2e 20 acs.strings.can.be.#("string"...
12f00 70 72 6f 70 65 72 74 69 65 73 29 0a 20 20 20 20 5b 76 20 20 20 20 20 20 20 20 20 20 20 20 20 20 properties).....[v..............
12f20 20 20 76 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 65 6c 69 73 70 2d 62 6f 6f 6c 2f 63 20 28 6f 72 ..v]))..(define.elisp-bool/c.(or
12f40 2f 63 20 23 74 20 27 28 29 29 29 0a 28 64 65 66 69 6e 65 20 28 61 73 2d 72 61 63 6b 65 74 2d 62 /c.#t.'())).(define.(as-racket-b
12f60 6f 6f 6c 20 76 29 0a 20 20 3b 3b 20 65 6c 69 73 70 2d 3e 72 61 63 6b 65 74 20 22 64 65 2d 70 75 ool.v)...;;.elisp->racket."de-pu
12f80 6e 73 22 20 27 6e 69 6c 20 61 73 20 27 28 29 20 2d 2d 20 6e 6f 74 20 23 66 2e 20 55 73 65 20 74 ns".'nil.as.'().--.not.#f..Use.t
12fa0 68 69 73 20 68 65 6c 70 65 72 20 77 68 65 6e 0a 20 20 3b 3b 20 69 6e 73 74 65 61 64 20 79 6f 75 his.helper.when...;;.instead.you
12fc0 20 77 61 6e 74 20 74 6f 20 74 72 65 61 74 20 69 74 20 61 73 20 61 20 62 6f 6f 6c 65 61 6e 20 61 .want.to.treat.it.as.a.boolean.a
12fe0 6e 64 20 67 65 74 20 23 66 2e 0a 20 20 28 61 6e 64 20 76 20 28 6e 6f 74 20 28 6e 75 6c 6c 3f 20 nd.get.#f....(and.v.(not.(null?.
13000 76 29 29 29 29 0a 0a 3b 3b 3b 20 57 72 69 74 65 20 61 20 73 75 62 73 65 74 20 6f 66 20 52 61 63 v))))..;;;.Write.a.subset.of.Rac
13020 6b 65 74 20 76 61 6c 75 65 73 20 61 73 20 45 6d 61 63 73 20 4c 69 73 70 20 76 61 6c 75 65 73 0a ket.values.as.Emacs.Lisp.values.
13040 0a 28 64 65 66 69 6e 65 20 28 65 6c 69 73 70 2d 77 72 69 74 65 6c 6e 20 76 29 0a 20 20 28 65 6c .(define.(elisp-writeln.v)...(el
13060 69 73 70 2d 77 72 69 74 65 20 76 29 0a 20 20 28 6e 65 77 6c 69 6e 65 29 29 0a 0a 28 64 65 66 69 isp-write.v)...(newline))..(defi
13080 6e 65 2d 73 69 6d 70 6c 65 2d 6d 61 63 72 6f 20 28 77 69 74 68 2d 70 61 72 65 6e 73 20 65 3a 65 ne-simple-macro.(with-parens.e:e
130a0 78 70 72 20 2e 2e 2e 2b 29 0a 20 20 28 62 65 67 69 6e 20 28 64 69 73 70 6c 61 79 20 22 28 22 29 xpr....+)...(begin.(display."(")
130c0 0a 20 20 20 20 20 20 20 20 20 65 20 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 28 64 69 73 70 6c 61 ..........e..............(displa
130e0 79 20 22 29 22 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 65 6c 69 73 70 2d 77 72 69 74 65 20 76 y.")")))..(define.(elisp-write.v
13100 29 0a 20 20 28 6d 61 74 63 68 20 76 0a 20 20 20 20 5b 28 6f 72 20 23 66 20 28 6c 69 73 74 29 29 )...(match.v.....[(or.#f.(list))
13120 20 20 20 20 20 28 77 72 69 74 65 20 27 6e 69 6c 29 5d 0a 20 20 20 20 5b 23 74 20 20 20 20 20 20 .....(write.'nil)].....[#t......
13140 20 20 20 20 20 20 20 20 20 20 20 28 77 72 69 74 65 20 27 74 29 5d 0a 20 20 20 20 5b 28 3f 20 6c ...........(write.'t)].....[(?.l
13160 69 73 74 3f 20 78 73 29 20 20 20 20 20 20 20 28 77 69 74 68 2d 70 61 72 65 6e 73 0a 20 20 20 20 ist?.xs).......(with-parens.....
13180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d 65 61 63 68 20 ......................(for-each.
131a0 28 ce bb 20 28 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (...(v).........................
131c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 77 72 69 74 65 20 76 29 0a 20 20 ..............(elisp-write.v)...
131e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
13200 20 20 20 20 28 64 69 73 70 6c 61 79 20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(display."."))..............
13220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 73 29 29 5d 0a 20 20 20 .......................xs))]....
13240 20 5b 28 63 6f 6e 73 20 78 20 79 29 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 70 61 72 65 6e .[(cons.x.y).........(with-paren
13260 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 s...........................(eli
13280 73 70 2d 77 72 69 74 65 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sp-write.x).....................
132a0 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 20 22 20 2e 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 ......(display."...")...........
132c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 77 72 69 74 65 20 79 29 29 ................(elisp-write.y))
132e0 5d 0a 20 20 20 20 5b 28 3f 20 70 61 74 68 3f 20 76 29 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 ].....[(?.path?.v)........(elisp
13300 2d 77 72 69 74 65 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 76 29 29 5d 0a 20 20 20 20 5b 28 -write.(path->string.v))].....[(
13320 3f 20 68 61 73 68 3f 20 76 29 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 70 61 72 65 6e 73 0a 20 ?.hash?.v)........(with-parens..
13340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 61 73 68 2d 66 .........................(hash-f
13360 6f 72 2d 65 61 63 68 20 76 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 or-each.v.......................
13380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 6b 20 76 29 0a 20 20 20 ...................(...(k.v)....
133a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
133c0 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 77 72 69 74 65 20 28 63 6f 6e 73 20 6b 20 76 29 29 ........(elisp-write.(cons.k.v))
133e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
13400 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 20 22 20 22 29 29 29 29 5d 0a 20 20 ............(display."."))))]...
13420 20 20 5b 28 3f 20 67 65 6e 65 72 69 63 2d 73 65 74 3f 20 76 29 20 28 77 69 74 68 2d 70 61 72 65 ..[(?.generic-set?.v).(with-pare
13440 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 ns...........................(se
13460 74 2d 66 6f 72 2d 65 61 63 68 20 76 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-for-each.v....................
13480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 76 29 0a 20 20 20 .....................(...(v)....
134a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
134c0 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 77 72 69 74 65 20 76 29 0a 20 20 20 20 20 20 20 20 20 .......(elisp-write.v)..........
134e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
13500 20 28 64 69 73 70 6c 61 79 20 22 20 22 29 29 29 29 5d 0a 20 20 20 20 5b 28 3f 20 76 6f 69 64 3f .(display."."))))].....[(?.void?
13520 29 20 20 20 20 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 20 22 76 6f 69 64 22 29 5d 20 3b 61 76 )..........(display."void")].;av
13540 6f 69 64 20 45 6c 69 73 70 2d 75 6e 72 65 61 64 61 62 6c 65 20 22 23 3c 76 6f 69 64 3e 22 0a 20 oid.Elisp-unreadable."#<void>"..
13560 20 20 20 5b 28 3f 20 70 72 6f 63 65 64 75 72 65 3f 20 77 29 20 20 20 28 77 29 5d 0a 20 20 20 20 ...[(?.procedure?.w)...(w)].....
13580 5b 28 6f 72 20 28 3f 20 6e 75 6d 62 65 72 3f 20 76 29 0a 20 20 20 20 20 20 20 20 20 28 3f 20 73 [(or.(?.number?.v)..........(?.s
135a0 79 6d 62 6f 6c 3f 20 76 29 0a 20 20 20 20 20 20 20 20 20 28 3f 20 73 74 72 69 6e 67 3f 20 76 29 ymbol?.v)..........(?.string?.v)
135c0 29 20 28 77 72 69 74 65 20 76 29 5d 0a 20 20 20 20 5b 28 3f 20 62 79 74 65 73 3f 20 62 73 74 72 ).(write.v)].....[(?.bytes?.bstr
135e0 29 20 20 20 20 28 77 72 69 74 65 20 28 62 79 74 65 73 2d 3e 73 74 72 69 6e 67 2f 75 74 66 2d 38 )....(write.(bytes->string/utf-8
13600 20 62 73 74 72 29 29 5d 20 3b 20 3f 3f 3f 0a 20 20 20 20 5b 76 20 20 20 20 20 20 20 20 20 20 20 .bstr))].;.???.....[v...........
13620 20 20 20 20 20 20 20 28 65 70 72 69 6e 74 66 20 22 65 6c 69 73 70 2d 77 72 69 74 65 20 63 61 6e .......(eprintf."elisp-write.can
13640 27 74 20 77 72 69 74 65 20 52 61 63 6b 65 74 20 76 61 6c 75 65 20 7e 76 5c 6e 22 20 76 29 0a 20 't.write.Racket.value.~v\n".v)..
13660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 6f 69 64 29 5d 29 29 .......................(void)]))
13680 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 ..(module+.test...(require.racku
136a0 6e 69 74 29 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 77 69 74 68 2d 6f 75 74 70 75 nit)...(check-equal?.(with-outpu
136c0 74 2d 74 6f 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce t-to-string...................(.
136e0 bb 20 28 29 20 28 65 6c 69 73 70 2d 77 72 69 74 65 20 27 28 31 20 23 74 20 6e 69 6c 20 28 29 20 ..().(elisp-write.'(1.#t.nil.().
13700 28 61 20 2e 20 62 29 20 23 68 61 73 68 28 28 31 20 2e 20 32 29 20 28 33 20 2e 20 34 29 29 29 29 (a...b).#hash((1...2).(3...4))))
13720 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 28 31 20 74 20 6e 69 6c 20 6e 69 6c ))................."(1.t.nil.nil
13740 20 28 61 20 2e 20 62 29 20 28 28 31 20 2e 20 32 29 20 28 33 20 2e 20 34 29 20 29 20 29 22 29 29 .(a...b).((1...2).(3...4).).)"))
13760 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
137a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
137c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
137e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13800 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
13820 72 61 63 6b 65 74 2f 66 69 6e 64 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 63 6f 6d 70 6c 65 74 69 racket/find-module-path-completi
13840 6f 6e 73 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ons.rkt.........................
13860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
13880 30 30 30 33 33 31 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 33 33 33 31 00 20 30 00 00 00 0003314.00000000000.023331..0...
138a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
138c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
138e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
13920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
13940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
139a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
139c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
139e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13a00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
13a20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
13a40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
13a60 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 3b 3b 3b 20 60 72 61 63 6b 65 74 2d 6f 70 65 ang.racket/base..;;;.`racket-ope
13a80 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 27 20 75 73 65 73 20 60 74 71 27 20 74 6f 20 72 75 6e n-require-path'.uses.`tq'.to.run
13aa0 20 75 73 2e 20 57 65 20 72 65 70 65 61 74 65 64 6c 79 0a 3b 3b 3b 20 72 65 61 64 2d 6c 69 6e 65 .us..We.repeatedly.;;;.read-line
13ac0 20 61 20 71 75 65 72 79 20 61 6e 64 20 64 69 73 70 6c 61 79 20 74 68 65 20 61 6e 73 77 65 72 20 .a.query.and.display.the.answer.
13ae0 61 73 20 6c 69 6e 65 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 61 0a 3b 3b 3b 20 62 6c 61 as.lines.terminated.by.a.;;;.bla
13b00 6e 6b 20 6c 69 6e 65 2e 0a 3b 3b 3b 0a 3b 3b 3b 20 54 68 69 73 20 77 61 73 20 63 72 65 61 74 65 nk.line..;;;.;;;.This.was.create
13b20 64 20 62 65 63 61 75 73 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 61 74 74 65 6d 70 74 2c 20 d.because.the.original.attempt,.
13b40 75 73 69 6e 67 0a 3b 3b 3b 20 60 72 61 63 6b 65 74 2d 2d 65 76 61 6c 2f 73 65 78 70 72 27 2c 20 using.;;;.`racket--eval/sexpr',.
13b60 63 6f 75 6c 64 6e 27 74 20 6b 65 65 70 20 75 70 20 77 69 74 68 20 66 61 73 74 20 74 79 70 69 6e couldn't.keep.up.with.fast.typin
13b80 67 2e 20 54 68 69 73 20 6e 65 77 0a 3b 3b 3b 20 61 70 70 72 6f 61 63 68 20 69 73 20 6d 6f 72 65 g..This.new.;;;.approach.is.more
13ba0 20 64 69 72 65 63 74 20 28 65 2e 67 2e 20 6e 6f 20 63 6f 6e 76 65 72 74 69 6e 67 20 74 6f 2f 66 .direct.(e.g..no.converting.to/f
13bc0 72 6f 6d 20 73 65 78 70 72 73 29 20 61 6e 64 0a 3b 3b 3b 20 66 61 73 74 20 65 6e 6f 75 67 68 2e rom.sexprs).and.;;;.fast.enough.
13be0 20 55 73 69 6e 67 20 60 74 71 27 20 70 72 6f 76 69 64 65 73 20 61 20 22 74 79 70 65 2d 61 68 65 .Using.`tq'.provides.a."type-ahe
13c00 61 64 20 62 75 66 66 65 72 22 20 28 69 6e 20 6c 69 65 75 20 6f 66 0a 3b 3b 3b 20 74 68 65 20 6f ad.buffer".(in.lieu.of.;;;.the.o
13c20 6c 64 20 61 70 70 72 6f 61 63 68 27 73 20 75 73 65 20 6f 66 20 60 72 75 6e 2d 77 69 74 68 2d 74 ld.approach's.use.of.`run-with-t
13c40 69 6d 65 72 27 29 20 65 76 65 6e 20 74 68 6f 75 67 68 20 69 6e 20 6d 79 0a 3b 3b 3b 20 74 65 73 imer').even.though.in.my.;;;.tes
13c60 74 69 6e 67 20 73 6f 20 66 61 72 20 69 74 27 73 20 72 61 72 65 6c 79 20 6e 65 65 64 65 64 2e 0a ting.so.far.it's.rarely.needed..
13c80 3b 3b 3b 0a 3b 3b 3b 20 54 68 65 20 63 61 73 65 20 77 68 65 72 65 20 60 66 69 6e 64 2d 6d 6f 64 ;;;.;;;.The.case.where.`find-mod
13ca0 75 6c 65 2d 70 61 74 68 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 27 20 69 73 6e 27 74 20 61 76 61 69 ule-path-completions'.isn't.avai
13cc0 6c 61 62 6c 65 3a 20 57 65 0a 3b 3b 3b 20 64 6f 6e 27 74 20 65 72 72 6f 72 2c 20 77 65 20 73 69 lable:.We.;;;.don't.error,.we.si
13ce0 6d 70 6c 79 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 65 6d 70 74 79 20 6d 61 74 63 68 65 73 mply.always.return.empty.matches
13d00 2e 20 28 54 68 69 73 20 6d 69 67 68 74 0a 3b 3b 3b 20 6e 6f 74 20 62 65 20 69 64 65 61 6c 20 62 ..(This.might.;;;.not.be.ideal.b
13d20 75 74 20 49 20 69 6e 69 74 69 61 6c 6c 79 20 68 61 64 20 74 72 6f 75 62 6c 65 20 6d 61 6b 69 6e ut.I.initially.had.trouble.makin
13d40 67 20 60 74 71 27 20 72 65 63 6f 67 6e 69 7a 65 0a 3b 3b 3b 20 65 2e 67 2e 20 61 6e 20 28 65 78 g.`tq'.recognize.;;;.e.g..an.(ex
13d60 69 74 20 31 29 20 68 65 72 65 20 61 6e 64 20 68 61 6e 64 6c 65 20 69 74 20 73 6d 6f 6f 74 68 6c it.1).here.and.handle.it.smoothl
13d80 79 2e 20 4d 61 79 62 65 20 69 74 20 77 6f 75 6c 64 20 77 6f 72 6b 0a 3b 3b 3b 20 74 6f 20 63 68 y..Maybe.it.would.work.;;;.to.ch
13da0 61 6e 67 65 20 6f 75 72 20 22 70 72 6f 74 6f 63 6f 6c 22 20 74 6f 20 68 61 76 65 20 61 6e 20 69 ange.our."protocol".to.have.an.i
13dc0 6e 69 74 69 61 6c 20 71 75 65 73 74 69 6f 6e 20 61 6e 64 20 61 6e 73 77 65 72 0a 3b 3b 3b 20 64 nitial.question.and.answer.;;;.d
13de0 65 76 6f 74 65 64 20 74 6f 20 74 68 69 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 22 48 45 4c evoted.to.this..For.example."HEL
13e00 4c 4f 3f 5c 6e 22 20 3d 3e 20 22 4f 4b 5c 6e 5c 6e 22 20 2f 20 22 45 52 52 4f 52 5c 6e 5c 6e 22 LO?\n".=>."OK\n\n"./."ERROR\n\n"
13e20 2e 0a 3b 3b 3b 20 54 68 65 72 65 61 66 74 65 72 20 74 68 65 20 73 74 61 74 75 73 20 71 75 6f 20 ..;;;.Thereafter.the.status.quo.
13e40 6c 6f 6f 70 2e 29 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 loop.)..(require.racket/match...
13e60 20 20 20 20 20 20 20 22 75 74 69 6c 2e 72 6b 74 22 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 6d 61 69 ......."util.rkt")..(module+.mai
13e80 6e 0a 20 20 28 64 65 66 69 6e 65 20 64 69 72 20 28 63 75 72 72 65 6e 74 2d 64 69 72 65 63 74 6f n...(define.dir.(current-directo
13ea0 72 79 29 29 20 3b 46 49 58 4d 45 3a 20 47 65 74 20 66 72 6f 6d 20 63 6f 6d 6d 61 6e 64 2d 6c 69 ry)).;FIXME:.Get.from.command-li
13ec0 6e 65 0a 20 20 28 64 65 66 69 6e 65 20 64 69 73 70 6c 61 79 2d 63 68 6f 69 63 65 73 20 28 69 6e ne...(define.display-choices.(in
13ee0 69 74 20 64 69 72 29 29 0a 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 29 0a 20 20 20 20 28 64 65 66 it.dir))...(let.loop.().....(def
13f00 69 6e 65 20 73 74 72 20 28 72 65 61 64 2d 6c 69 6e 65 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 ine.str.(read-line)).....(unless
13f20 20 28 73 74 72 69 6e 67 3d 3f 20 22 22 20 73 74 72 29 0a 20 20 20 20 20 20 28 64 69 73 70 6c 61 .(string=?."".str).......(displa
13f40 79 2d 63 68 6f 69 63 65 73 20 73 74 72 29 0a 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 6c 6e 20 y-choices.str).......(displayln.
13f60 22 22 29 20 3b 3b 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 62 6c 61 6e 6b 20 6c 69 6e 65 0a 20 20 "").;;.terminating.blank.line...
13f80 20 20 20 20 28 66 6c 75 73 68 2d 6f 75 74 70 75 74 29 0a 20 20 20 20 20 20 28 6c 6f 6f 70 29 29 ....(flush-output).......(loop))
13fa0 29 0a 20 20 28 65 78 69 74 20 30 29 29 0a 0a 28 64 65 66 69 6e 65 2d 70 6f 6c 79 66 69 6c 6c 20 )...(exit.0))..(define-polyfill.
13fc0 28 66 69 6e 64 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 64 69 (find-module-path-completions.di
13fe0 72 29 0a 20 20 23 3a 6d 6f 64 75 6c 65 20 64 72 72 61 63 6b 65 74 2f 66 69 6e 64 2d 6d 6f 64 75 r)...#:module.drracket/find-modu
14000 6c 65 2d 70 61 74 68 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 0a 20 20 28 ce bb 20 28 5f 73 74 72 29 le-path-completions...(...(_str)
14020 20 28 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 69 6e 69 74 20 64 69 72 29 0a 20 20 .(list)))..(define.(init.dir)...
14040 28 64 65 66 69 6e 65 20 67 65 74 20 28 66 69 6e 64 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 63 6f (define.get.(find-module-path-co
14060 6d 70 6c 65 74 69 6f 6e 73 20 64 69 72 29 29 0a 20 20 28 ce bb 20 28 73 74 72 29 0a 20 20 20 20 mpletions.dir))...(...(str).....
14080 28 66 6f 72 20 28 5b 78 20 28 69 6e 2d 6c 69 73 74 20 28 67 65 74 20 73 74 72 29 29 5d 29 0a 20 (for.([x.(in-list.(get.str))])..
140a0 20 20 20 20 20 28 64 69 73 70 6c 61 79 6c 6e 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 28 63 .....(displayln.(path->string.(c
140c0 61 64 72 20 78 29 29 29 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 adr.x)))))).....................
140e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
141a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
141c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
141e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14200 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
14220 72 61 63 6b 65 74 2f 6d 61 69 6e 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/main.rkt.................
14240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
14280 30 30 30 32 35 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 35 36 32 00 20 30 00 00 00 0002500.00000000000.016562..0...
142a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
142c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
142e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
14320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
14340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
143a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
143c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
143e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14400 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
14420 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
14440 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 2e 0a 0a 23 Identifier:.GPL-3.0-or-later...#
14460 6c 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 lang.racket/base..(require.racke
14480 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 70 6f 72 74 0a 20 20 20 t/match..........racket/port....
144a0 20 20 20 20 20 20 76 65 72 73 69 6f 6e 2f 75 74 69 6c 73 0a 20 20 20 20 20 20 20 20 20 22 63 6f ......version/utils.........."co
144c0 6d 6d 61 6e 64 2d 73 65 72 76 65 72 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 mmand-server.rkt"..........(only
144e0 2d 69 6e 20 22 69 6d 61 67 65 2e 72 6b 74 22 20 73 65 74 2d 75 73 65 2d 73 76 67 3f 21 29 29 0a -in."image.rkt".set-use-svg?!)).
14500 0a 28 6d 6f 64 75 6c 65 2b 20 6d 61 69 6e 0a 20 20 3b 3b 20 41 73 73 65 72 74 20 52 61 63 6b 65 .(module+.main...;;.Assert.Racke
14520 74 20 6d 69 6e 69 6d 75 6d 20 76 65 72 73 69 6f 6e 0a 20 20 28 64 65 66 69 6e 65 20 6d 69 6e 69 t.minimum.version...(define.mini
14540 6d 75 6d 2d 76 65 72 73 69 6f 6e 20 22 36 2e 31 32 22 29 0a 20 20 28 64 65 66 69 6e 65 20 61 63 mum-version."6.12")...(define.ac
14560 74 75 61 6c 2d 76 65 72 73 69 6f 6e 20 28 76 65 72 73 69 6f 6e 29 29 0a 20 20 28 75 6e 6c 65 73 tual-version.(version))...(unles
14580 73 20 28 76 65 72 73 69 6f 6e 3c 3d 3f 20 6d 69 6e 69 6d 75 6d 2d 76 65 72 73 69 6f 6e 20 61 63 s.(version<=?.minimum-version.ac
145a0 74 75 61 6c 2d 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 28 65 72 72 6f 72 20 27 7c 52 61 63 6b 65 tual-version).....(error.'|Racke
145c0 74 20 4d 6f 64 65 20 62 61 63 6b 20 65 6e 64 7c 20 22 4e 65 65 64 20 52 61 63 6b 65 74 20 7e 61 t.Mode.back.end|."Need.Racket.~a
145e0 20 6f 72 20 6e 65 77 65 72 20 62 75 74 20 7e 61 20 69 73 20 7e 61 22 0a 20 20 20 20 20 20 20 20 .or.newer.but.~a.is.~a".........
14600 20 20 20 6d 69 6e 69 6d 75 6d 2d 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 ...minimum-version............(f
14620 69 6e 64 2d 65 78 65 63 75 74 61 62 6c 65 2d 70 61 74 68 20 28 66 69 6e 64 2d 73 79 73 74 65 6d ind-executable-path.(find-system
14640 2d 70 61 74 68 20 27 65 78 65 63 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 61 63 -path.'exec-file))............ac
14660 74 75 61 6c 2d 76 65 72 73 69 6f 6e 29 29 0a 0a 20 20 3b 3b 20 43 6f 6d 6d 61 6e 64 2d 6c 69 6e tual-version))....;;.Command-lin
14680 65 20 66 6c 61 67 73 20 28 66 72 6f 6d 20 45 6d 61 63 73 20 66 72 6f 6e 74 20 65 6e 64 20 69 6e e.flags.(from.Emacs.front.end.in
146a0 76 6f 6b 69 6e 67 20 75 73 29 0a 20 20 28 6d 61 74 63 68 20 28 63 75 72 72 65 6e 74 2d 63 6f 6d voking.us)...(match.(current-com
146c0 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 29 0a 20 20 20 20 5b 28 76 65 63 74 6f mand-line-arguments).....[(vecto
146e0 72 20 22 2d 2d 75 73 65 2d 73 76 67 22 20 29 20 20 20 20 20 20 20 28 73 65 74 2d 75 73 65 2d 73 r."--use-svg".).......(set-use-s
14700 76 67 3f 21 20 23 74 29 5d 0a 20 20 20 20 5b 28 76 65 63 74 6f 72 20 22 2d 2d 64 6f 2d 6e 6f 74 vg?!.#t)].....[(vector."--do-not
14720 2d 75 73 65 2d 73 76 67 22 29 20 28 73 65 74 2d 75 73 65 2d 73 76 67 3f 21 20 23 66 29 5d 0a 20 -use-svg").(set-use-svg?!.#f)]..
14740 20 20 20 5b 76 0a 20 20 20 20 20 28 65 72 72 6f 72 20 27 7c 52 61 63 6b 65 74 20 4d 6f 64 65 20 ...[v......(error.'|Racket.Mode.
14760 62 61 63 6b 20 65 6e 64 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 42 61 64 20 63 6f 6d 6d 61 back.end|............."Bad.comma
14780 6e 64 2d 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 3a 5c 6e 7e 76 5c 6e 22 20 76 29 5d 29 0a 0a nd-line.arguments:\n~v\n".v)])..
147a0 20 20 3b 3b 20 53 61 76 65 20 6f 72 69 67 69 6e 61 6c 20 63 75 72 72 65 6e 74 2d 7b 69 6e 70 75 ..;;.Save.original.current-{inpu
147c0 74 20 6f 75 74 70 75 74 7d 2d 70 6f 72 74 20 74 6f 20 67 69 76 65 20 74 6f 0a 20 20 3b 3b 20 63 t.output}-port.to.give.to...;;.c
147e0 6f 6d 6d 61 6e 64 2d 73 65 72 76 65 72 2d 6c 6f 6f 70 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 20 49 ommand-server-loop.for.command.I
14800 2f 4f 2e 0a 20 20 28 6c 65 74 20 28 5b 73 74 64 69 6e 20 20 28 63 75 72 72 65 6e 74 2d 69 6e 70 /O....(let.([stdin..(current-inp
14820 75 74 2d 70 6f 72 74 29 5d 0a 20 20 20 20 20 20 20 20 5b 73 74 64 6f 75 74 20 28 63 75 72 72 65 ut-port)].........[stdout.(curre
14840 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 74 29 5d 29 0a 20 20 20 20 3b 3b 20 53 65 74 20 6e 6f 2d nt-output-port)]).....;;.Set.no-
14860 6f 70 73 20 73 6f 20 65 2e 67 2e 20 72 61 6e 64 6f 20 70 72 69 6e 74 20 63 61 6e 27 74 20 62 6f ops.so.e.g..rando.print.can't.bo
14880 72 6b 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 49 2f 4f 2e 0a 20 20 20 20 28 70 61 72 61 6d 65 74 rk.the.command.I/O......(paramet
148a0 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 69 6e 70 75 74 2d 70 6f 72 74 20 20 28 6f 70 65 erize.([current-input-port..(ope
148c0 6e 2d 69 6e 70 75 74 2d 62 79 74 65 73 20 23 22 22 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 n-input-bytes.#"")].............
148e0 20 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 74 20 28 6f 70 65 .......[current-output-port.(ope
14900 6e 2d 6f 75 74 70 75 74 2d 6e 6f 77 68 65 72 65 29 5d 29 0a 20 20 20 20 20 20 28 63 6f 6d 6d 61 n-output-nowhere)]).......(comma
14920 6e 64 2d 73 65 72 76 65 72 2d 6c 6f 6f 70 20 73 74 64 69 6e 20 73 74 64 6f 75 74 29 29 29 29 0a nd-server-loop.stdin.stdout)))).
14940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
14a20 72 61 63 6b 65 74 2f 6b 65 79 77 6f 72 64 73 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/keywords.rkt.............
14a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
14a80 30 30 30 36 37 37 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 35 32 32 00 20 30 00 00 00 0006770.00000000000.017522..0...
14aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
14b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
14b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
14c20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
14c40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
14c60 61 6e 67 20 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 6e 6f 2d 63 68 65 63 6b 0a 0a 3b 3b 20 47 65 ang.typed/racket/no-check..;;.Ge
14c80 6e 65 72 61 74 65 20 6c 69 73 74 73 20 66 6f 72 20 52 61 63 6b 65 74 20 6b 65 79 77 6f 72 64 73 nerate.lists.for.Racket.keywords
14ca0 2c 20 62 75 69 6c 74 69 6e 73 2c 20 61 6e 64 20 74 79 70 65 73 2e 0a 3b 3b 0a 3b 3b 20 54 68 65 ,.builtins,.and.types..;;.;;.The
14cc0 20 71 75 65 73 74 69 6f 6e 20 6f 66 20 77 68 61 74 20 69 73 20 61 20 22 6b 65 79 77 6f 72 64 22 .question.of.what.is.a."keyword"
14ce0 20 61 6e 64 20 61 20 22 62 75 69 6c 74 69 6e 22 20 69 73 20 6e 6f 74 20 73 6f 0a 3b 3b 20 73 69 .and.a."builtin".is.not.so.;;.si
14d00 6d 70 6c 65 20 69 6e 20 52 61 63 6b 65 74 3a 0a 3b 3b 0a 3b 3b 20 31 2e 20 54 68 65 20 64 69 73 mple.in.Racket:.;;.;;.1..The.dis
14d20 74 69 6e 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20 74 77 6f 20 69 73 20 73 71 75 69 tinction.between.the.two.is.squi
14d40 73 68 79 2c 20 61 6e 64 20 66 72 6f 6d 20 6f 6e 65 20 70 6f 69 6e 74 0a 3b 3b 20 6f 66 20 76 69 shy,.and.from.one.point.;;.of.vi
14d60 65 77 20 52 61 63 6b 65 74 20 68 61 73 20 31 34 30 30 2b 20 22 70 72 69 6d 69 74 69 76 65 73 22 ew.Racket.has.1400+."primitives"
14d80 20 28 21 29 2e 0a 3b 3b 0a 3b 3b 20 32 2e 20 41 73 20 66 6f 72 20 22 62 75 69 6c 74 69 6e 73 22 .(!)..;;.;;.2..As.for."builtins"
14da0 2c 20 74 68 65 72 65 20 61 72 65 20 6d 61 6e 79 2c 20 6d 61 6e 79 20 22 62 61 74 74 65 72 69 65 ,.there.are.many,.many."batterie
14dc0 73 20 69 6e 63 6c 75 64 65 64 22 0a 3b 3b 20 6c 69 62 72 61 72 69 65 73 20 69 6e 20 74 68 65 20 s.included".;;.libraries.in.the.
14de0 6d 61 69 6e 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 20 57 68 65 72 65 20 74 6f 20 64 72 61 77 main.distribution..Where.to.draw
14e00 20 74 68 65 20 6c 69 6e 65 3f 0a 3b 3b 0a 3b 3b 20 33 2e 20 4d 6f 72 65 20 66 75 6e 64 61 6d 65 .the.line?.;;.;;.3..More.fundame
14e20 6e 74 61 6c 6c 79 2c 20 52 61 63 6b 65 74 20 69 73 20 61 20 6c 61 6e 67 75 61 67 65 20 66 6f 72 ntally,.Racket.is.a.language.for
14e40 20 6d 61 6b 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 2e 0a 3b 3b 20 55 6c 74 69 6d 61 74 65 6c 79 .making.languages..;;.Ultimately
14e60 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 20 74 6f 20 62 65 20 31 30 30 25 20 63 6f 72 72 65 63 74 .the.only.way.to.be.100%.correct
14e80 20 69 73 20 74 6f 20 64 6f 20 73 6f 6d 65 74 68 69 6e 67 0a 3b 3b 20 22 6c 69 76 65 22 20 77 69 .is.to.do.something.;;."live".wi
14ea0 74 68 20 6e 61 6d 65 73 70 61 63 65 2d 6d 61 70 70 65 64 2d 73 79 6d 62 6f 6c 73 2e 20 42 75 74 th.namespace-mapped-symbols..But
14ec0 20 49 20 64 6f 6e 27 74 20 73 65 65 20 74 68 61 74 20 61 73 0a 3b 3b 20 70 65 72 66 6f 72 6d 61 .I.don't.see.that.as.;;.performa
14ee0 6e 74 20 66 6f 72 20 45 6d 61 63 73 20 66 6f 6e 74 2d 6c 6f 63 6b 2e 0a 3b 3b 0a 3b 3b 20 48 65 nt.for.Emacs.font-lock..;;.;;.He
14f00 72 65 20 49 27 6d 20 73 61 79 69 6e 67 20 74 68 61 74 3a 0a 3b 3b 0a 3b 3b 20 28 61 29 20 22 6b re.I'm.saying.that:.;;.;;.(a)."k
14f20 65 79 77 6f 72 64 73 22 20 61 72 65 20 73 79 6e 74 61 78 20 28 6f 6e 6c 79 29 20 66 72 6f 6d 20 eywords".are.syntax.(only).from.
14f40 72 61 63 6b 65 74 2f 62 61 73 65 0a 3b 3b 0a 3b 3b 20 28 62 29 20 22 62 75 69 6c 74 69 6e 73 22 racket/base.;;.;;.(b)."builtins"
14f60 20 61 72 65 20 65 76 65 72 79 74 68 69 6e 67 20 65 6c 73 65 20 70 72 6f 76 69 64 65 64 20 62 79 .are.everything.else.provided.by
14f80 20 23 6c 61 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 0a 3b 3b 20 23 6c 61 6e 67 20 74 79 70 65 64 .#lang.racket.and.;;.#lang.typed
14fa0 2f 72 61 63 6b 65 74 20 28 65 78 63 65 70 74 20 74 68 65 20 63 61 70 69 74 61 6c 69 7a 65 64 20 /racket.(except.the.capitalized.
14fc0 54 79 70 65 73 20 66 72 6f 6d 20 74 79 70 65 64 2f 72 61 63 6b 65 74 0a 3b 3b 20 67 6f 20 69 6e Types.from.typed/racket.;;.go.in
14fe0 74 6f 20 74 68 65 69 72 20 6f 77 6e 20 6c 69 73 74 29 2e 20 50 6c 75 73 20 66 6f 72 20 6d 6f 64 to.their.own.list)..Plus.for.mod
15000 65 72 6e 20 6d 61 63 72 6f 73 2c 20 72 61 63 6b 65 74 2f 73 79 6e 74 61 78 20 61 6e 64 0a 3b 3b ern.macros,.racket/syntax.and.;;
15020 20 61 20 66 65 77 20 69 74 65 6d 73 20 66 72 6f 6d 20 73 79 6e 74 61 78 2f 70 61 72 73 65 20 28 .a.few.items.from.syntax/parse.(
15040 62 75 74 20 6e 6f 74 20 69 74 73 20 73 79 6e 74 61 78 20 63 6c 61 73 73 65 73 2c 20 62 65 63 61 but.not.its.syntax.classes,.beca
15060 75 73 65 0a 3b 3b 20 60 69 64 60 20 61 6e 64 20 60 73 74 72 60 20 61 72 65 20 74 6f 6f 20 22 67 use.;;.`id`.and.`str`.are.too."g
15080 65 6e 65 72 69 63 22 20 61 6e 64 20 74 6f 6f 20 6c 69 6b 65 6c 79 20 74 6f 20 62 65 20 75 73 65 eneric".and.too.likely.to.be.use
150a0 72 20 70 72 6f 67 72 61 6d 0a 3b 3b 20 69 64 65 6e 74 69 66 69 65 72 73 29 2e 0a 3b 3b 0a 3b 3b r.program.;;.identifiers)..;;.;;
150c0 20 49 73 20 74 68 61 74 20 73 6f 6d 65 77 68 61 74 20 61 72 62 69 74 72 61 72 79 3f 20 48 65 6c .Is.that.somewhat.arbitrary?.Hel
150e0 6c 20 79 65 73 2e 20 49 74 27 73 20 6d 79 20 6c 65 61 73 74 2d 77 6f 72 73 74 2c 0a 3b 3b 20 70 l.yes..It's.my.least-worst,.;;.p
15100 72 61 63 74 69 63 61 6c 20 69 64 65 61 20 66 6f 72 20 6e 6f 77 2e 20 41 6c 73 6f 2c 20 49 4d 48 ractical.idea.for.now..Also,.IMH
15120 4f 20 69 74 27 73 20 61 6e 20 69 6d 70 72 6f 76 65 6d 65 6e 74 20 6f 76 65 72 20 67 65 74 74 69 O.it's.an.improvement.over.getti
15140 6e 67 0a 3b 3b 20 70 75 6c 6c 20 72 65 71 75 65 73 74 73 20 74 6f 20 61 64 64 20 70 65 6f 70 6c ng.;;.pull.requests.to.add.peopl
15160 65 27 73 20 66 61 76 6f 72 69 74 65 73 2c 20 61 20 66 65 77 20 61 74 20 61 20 74 69 6d 65 2e 20 e's.favorites,.a.few.at.a.time..
15180 41 74 20 6c 65 61 73 74 0a 3b 3b 20 74 68 69 73 20 77 61 79 20 69 73 20 63 6f 6e 73 69 73 74 65 At.least.;;.this.way.is.consiste
151a0 6e 74 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 72 65 67 65 6e 65 72 61 74 65 64 20 70 72 6f 67 72 nt,.and.can.be.regenerated.progr
151c0 61 6d 61 74 69 63 61 6c 6c 79 20 61 73 0a 3b 3b 20 52 61 63 6b 65 74 20 65 76 6f 6c 76 65 73 2e amatically.as.;;.Racket.evolves.
151e0 0a 0a 28 64 65 66 69 6e 65 20 28 73 79 6d 62 6f 6c 3c 3d 3f 20 61 20 62 29 0a 20 20 28 73 74 72 ..(define.(symbol<=?.a.b)...(str
15200 69 6e 67 3c 3d 3f 20 28 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e 67 20 61 29 20 28 73 79 6d 62 6f ing<=?.(symbol->string.a).(symbo
15220 6c 2d 3e 73 74 72 69 6e 67 20 62 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 65 78 70 6f 72 74 73 l->string.b)))..(define.(exports
15240 20 6d 6f 64 20 23 3a 6f 6e 6c 79 2d 73 74 78 3f 20 5b 6f 6e 6c 79 2d 73 74 78 3f 20 23 66 5d 29 .mod.#:only-stx?.[only-stx?.#f])
15260 0a 20 20 28 64 65 66 69 6e 65 20 28 69 64 73 20 70 68 61 73 65 73 29 0a 20 20 20 20 28 66 6f 72 ...(define.(ids.phases).....(for
15280 2a 2f 6c 69 73 74 20 28 5b 70 68 61 73 65 20 70 68 61 73 65 73 5d 0a 20 20 20 20 20 20 20 20 20 */list.([phase.phases]..........
152a0 20 20 20 20 20 20 20 5b 69 74 65 6d 20 28 63 64 72 20 70 68 61 73 65 29 5d 29 0a 20 20 20 20 20 .......[item.(cdr.phase)])......
152c0 20 28 63 61 72 20 69 74 65 6d 29 29 29 0a 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 .(car.item)))...(define-values.(
152e0 76 61 72 73 20 73 74 78 73 29 20 28 6d 6f 64 75 6c 65 2d 3e 65 78 70 6f 72 74 73 20 6d 6f 64 29 vars.stxs).(module->exports.mod)
15300 29 0a 20 20 28 73 6f 72 74 20 28 72 65 6d 6f 76 65 2d 64 75 70 6c 69 63 61 74 65 73 20 28 61 70 )...(sort.(remove-duplicates.(ap
15320 70 65 6e 64 20 28 69 64 73 20 73 74 78 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pend.(ids.stxs).................
15340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6f 6e 6c 79 2d 73 74 78 3f ...................(if.only-stx?
15360 20 27 28 29 20 28 69 64 73 20 76 61 72 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .'().(ids.vars)))...............
15380 20 20 20 20 20 20 20 20 20 20 20 20 20 65 71 3f 29 0a 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c .............eq?).........symbol
153a0 3c 3d 3f 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 73 75 62 74 72 61 63 74 20 78 73 20 79 73 29 0a <=?))..(define.(subtract.xs.ys).
153c0 20 20 28 66 6f 72 2a 2f 6c 69 73 74 20 28 5b 78 20 78 73 5d 20 23 3a 77 68 65 6e 20 28 6e 6f 74 ..(for*/list.([x.xs].#:when.(not
153e0 20 28 6d 65 6d 71 20 78 20 79 73 29 29 29 20 78 29 29 0a 0a 28 64 65 66 69 6e 65 20 62 61 73 65 .(memq.x.ys))).x))..(define.base
15400 2d 73 74 78 20 28 65 78 70 6f 72 74 73 20 27 72 61 63 6b 65 74 2f 62 61 73 65 20 23 3a 6f 6e 6c -stx.(exports.'racket/base.#:onl
15420 79 2d 73 74 78 3f 20 23 74 29 29 0a 0a 28 64 65 66 69 6e 65 20 72 6b 74 20 20 20 20 20 20 28 61 y-stx?.#t))..(define.rkt......(a
15440 70 70 65 6e 64 20 28 65 78 70 6f 72 74 73 20 27 72 61 63 6b 65 74 29 0a 20 20 20 20 20 20 20 20 ppend.(exports.'racket).........
15460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 6f 72 74 73 20 27 72 61 63 6b 65 .................(exports.'racke
15480 74 2f 73 79 6e 74 61 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t/syntax).......................
154a0 20 20 20 27 28 73 79 6e 74 61 78 2d 70 61 72 73 65 20 73 79 6e 74 61 78 2d 70 61 72 73 65 72 20 ...'(syntax-parse.syntax-parser.
154c0 64 65 66 69 6e 65 2d 73 69 6d 70 6c 65 2d 6d 61 63 72 6f 29 29 29 0a 28 64 65 66 69 6e 65 20 72 define-simple-macro))).(define.r
154e0 6b 74 2b 20 20 20 20 20 28 73 75 62 74 72 61 63 74 20 72 6b 74 20 62 61 73 65 2d 73 74 78 29 29 kt+.....(subtract.rkt.base-stx))
15500 0a 0a 28 64 65 66 69 6e 65 20 74 72 20 20 20 20 20 20 20 28 65 78 70 6f 72 74 73 20 27 74 79 70 ..(define.tr.......(exports.'typ
15520 65 64 2f 72 61 63 6b 65 74 29 29 0a 28 64 65 66 69 6e 65 20 74 72 2b 20 20 20 20 20 20 28 73 75 ed/racket)).(define.tr+......(su
15540 62 74 72 61 63 74 20 74 72 20 72 6b 74 29 29 20 3b 54 68 69 73 20 69 6e 63 6c 75 64 65 73 20 54 btract.tr.rkt)).;This.includes.T
15560 79 70 65 73 2c 20 74 6f 6f 0a 0a 28 64 65 66 69 6e 65 20 54 79 70 65 73 20 20 20 20 28 66 6f 72 ypes,.too..(define.Types....(for
15580 2f 6c 69 73 74 20 28 5b 78 20 74 72 2b 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /list.([x.tr+]..................
155a0 20 20 20 20 20 20 20 20 20 20 20 23 3a 77 68 65 6e 20 28 63 68 61 72 2d 75 70 70 65 72 2d 63 61 ...........#:when.(char-upper-ca
155c0 73 65 3f 20 28 73 74 72 69 6e 67 2d 72 65 66 20 28 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e 67 20 se?.(string-ref.(symbol->string.
155e0 78 29 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 29 29 0a 0a x).0)))....................x))..
15600 3b 3b 3b 20 54 68 65 20 66 69 6e 61 6c 20 6c 69 73 74 73 0a 0a 28 64 65 66 69 6e 65 20 6b 65 79 ;;;.The.final.lists..(define.key
15620 77 6f 72 64 73 20 62 61 73 65 2d 73 74 78 29 0a 0a 28 64 65 66 69 6e 65 20 62 75 69 6c 74 69 6e words.base-stx)..(define.builtin
15640 73 0a 20 20 28 73 6f 72 74 20 28 73 75 62 74 72 61 63 74 20 28 72 65 6d 6f 76 65 2d 64 75 70 6c s...(sort.(subtract.(remove-dupl
15660 69 63 61 74 65 73 20 28 61 70 70 65 6e 64 20 72 6b 74 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 icates.(append.rkt+.............
15680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
156a0 20 28 73 75 62 74 72 61 63 74 20 74 72 2b 20 54 79 70 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 .(subtract.tr+.Types))..........
156c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 71 3f 29 ............................eq?)
156e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65 2d 73 74 78 29 0a 20 20 20 ...................base-stx)....
15700 20 20 20 20 20 73 79 6d 62 6f 6c 3c 3d 3f 29 29 0a 0a 3b 3b 20 53 6f 20 6d 61 6e 79 20 62 75 69 .....symbol<=?))..;;.So.many.bui
15720 6c 74 69 6e 73 2c 20 45 6d 61 63 73 20 67 69 76 65 73 20 22 72 65 67 65 78 70 20 74 6f 6f 20 6c ltins,.Emacs.gives."regexp.too.l
15740 6f 6e 67 22 20 65 72 72 6f 72 2c 20 73 6f 20 73 70 6c 69 74 20 69 6e 74 6f 20 74 77 6f 3a 0a 28 ong".error,.so.split.into.two:.(
15760 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 62 75 69 6c 74 69 6e 73 31 20 62 75 69 6c 74 69 6e define-values.(builtins1.builtin
15780 73 32 29 0a 20 20 28 6c 65 74 20 28 5b 6d 69 64 20 28 2f 20 28 6c 65 6e 67 74 68 20 62 75 69 6c s2)...(let.([mid.(/.(length.buil
157a0 74 69 6e 73 29 20 32 29 5d 29 0a 20 20 20 20 28 66 6f 72 2f 66 6f 6c 64 20 28 5b 78 73 20 27 28 tins).2)]).....(for/fold.([xs.'(
157c0 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 79 73 20 27 28 29 5d 29 0a 20 20 20 20 )]................[ys.'()]).....
157e0 20 20 20 20 20 20 20 20 20 20 28 5b 78 20 62 75 69 6c 74 69 6e 73 5d 0a 20 20 20 20 20 20 20 20 ..........([x.builtins].........
15800 20 20 20 20 20 20 20 5b 69 20 28 69 6e 2d 6e 61 74 75 72 61 6c 73 29 5d 29 0a 20 20 20 20 20 20 .......[i.(in-naturals)]).......
15820 28 63 6f 6e 64 20 5b 28 3c 20 69 20 6d 69 64 29 20 28 76 61 6c 75 65 73 20 28 63 6f 6e 73 20 78 (cond.[(<.i.mid).(values.(cons.x
15840 20 78 73 29 20 79 73 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 20 20 20 20 .xs).ys)].............[else.....
15860 20 28 76 61 6c 75 65 73 20 78 73 20 28 63 6f 6e 73 20 78 20 79 73 29 29 5d 29 29 29 29 0a 0a 28 .(values.xs.(cons.x.ys))]))))..(
15880 64 65 66 69 6e 65 20 74 79 70 65 73 20 54 79 70 65 73 29 0a 0a 3b 3b 3b 20 50 72 69 6e 74 0a 0a define.types.Types)..;;;.Print..
158a0 28 64 65 66 69 6e 65 20 28 70 72 6e 20 78 73 29 0a 20 20 28 70 72 65 74 74 79 2d 70 72 69 6e 74 (define.(prn.xs)...(pretty-print
158c0 20 28 6d 61 70 20 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e 67 20 28 73 6f 72 74 20 78 73 20 73 79 .(map.symbol->string.(sort.xs.sy
158e0 6d 62 6f 6c 3c 3d 3f 29 29 29 29 0a 0a 3b 3b 20 45 6e 74 65 72 20 65 61 63 68 20 73 75 62 6d 6f mbol<=?))))..;;.Enter.each.submo
15900 64 75 6c 65 20 74 6f 20 70 72 69 6e 74 20 61 20 71 75 6f 74 65 64 20 6c 69 73 74 20 6f 66 20 73 dule.to.print.a.quoted.list.of.s
15920 79 6d 62 6f 6c 73 2c 20 74 68 65 6e 20 63 6f 70 79 0a 3b 3b 20 61 6e 64 20 70 61 73 74 65 20 65 ymbols,.then.copy.;;.and.paste.e
15940 61 63 68 20 6c 69 73 74 20 69 6e 74 6f 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 73 2d 61 6e ach.list.into.racket-keywords-an
15960 64 2d 62 75 69 6c 74 69 6e 73 2e 65 6c 2e 0a 28 6d 6f 64 75 6c 65 2b 20 74 79 70 65 73 20 20 20 d-builtins.el..(module+.types...
15980 20 28 70 72 6e 20 74 79 70 65 73 29 29 0a 28 6d 6f 64 75 6c 65 2b 20 6b 65 79 77 6f 72 64 73 20 .(prn.types)).(module+.keywords.
159a0 28 70 72 6e 20 6b 65 79 77 6f 72 64 73 29 29 0a 28 6d 6f 64 75 6c 65 2b 20 62 75 69 6c 74 69 6e (prn.keywords)).(module+.builtin
159c0 73 31 20 28 70 72 6e 20 62 75 69 6c 74 69 6e 73 31 29 29 0a 28 6d 6f 64 75 6c 65 2b 20 62 75 69 s1.(prn.builtins1)).(module+.bui
159e0 6c 74 69 6e 73 32 20 28 70 72 6e 20 62 75 69 6c 74 69 6e 73 32 29 29 0a 00 00 00 00 00 00 00 00 ltins2.(prn.builtins2)).........
15a00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
15a20 72 61 63 6b 65 74 2f 73 63 72 69 62 62 6c 65 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/scribble.rkt.............
15a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
15a80 30 30 31 36 34 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 34 33 35 00 20 30 00 00 00 0016406.00000000000.017435..0...
15aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
15b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
15b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
15c20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
15c40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
15c60 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
15c80 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 /contract..........racket/format
15ca0 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 ..........racket/match..........
15cc0 72 61 63 6b 65 74 2f 70 72 6f 6d 69 73 65 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 73 racket/promise..........racket/s
15ce0 65 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 73 74 72 69 6e 67 0a 20 20 20 20 20 20 et..........racket/string.......
15d00 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 73 63 72 69 62 62 6c 65 2f 63 6f 72 65 0a 20 20 20 20 20 20 ...(only-in.scribble/core.......
15d20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 67 3f 29 0a 20 20 20 20 20 20 20 20 20 73 63 72 69 62 ............tag?)..........scrib
15d40 62 6c 65 2f 62 6c 75 65 62 6f 78 65 73 0a 20 20 20 20 20 20 20 20 20 73 63 72 69 62 62 6c 65 2f ble/blueboxes..........scribble/
15d60 6d 61 6e 75 61 6c 2d 73 74 72 75 63 74 0a 20 20 20 20 20 20 20 20 20 73 63 72 69 62 62 6c 65 2f manual-struct..........scribble/
15d80 78 72 65 66 0a 20 20 20 20 20 20 20 20 20 73 63 72 69 62 62 6c 65 2f 74 61 67 0a 20 20 20 20 20 xref..........scribble/tag......
15da0 20 20 20 20 73 65 74 75 70 2f 78 72 65 66 0a 20 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 2f 70 ....setup/xref..........syntax/p
15dc0 61 72 73 65 2f 64 65 66 69 6e 65 0a 20 20 20 20 20 20 20 20 20 22 65 6c 69 73 70 2e 72 6b 74 22 arse/define.........."elisp.rkt"
15de0 29 0a 0a 28 70 72 6f 76 69 64 65 20 62 69 6e 64 69 6e 67 2d 3e 70 61 74 68 2b 61 6e 63 68 6f 72 )..(provide.binding->path+anchor
15e00 0a 20 20 20 20 20 20 20 20 20 69 64 65 6e 74 69 66 69 65 72 2d 3e 62 6c 75 65 62 6f 78 0a 20 20 ..........identifier->bluebox...
15e20 20 20 20 20 20 20 20 64 6f 63 2d 69 6e 64 65 78 2d 6e 61 6d 65 73 0a 20 20 20 20 20 20 20 20 20 .......doc-index-names..........
15e40 64 6f 63 2d 69 6e 64 65 78 2d 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 20 20 20 20 6c 69 62 73 2d 65 doc-index-lookup..........libs-e
15e60 78 70 6f 72 74 69 6e 67 2d 64 6f 63 75 6d 65 6e 74 65 64 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 xporting-documented)..(module+.t
15e80 65 73 74 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 29 29 0a 0a 28 64 65 66 69 est...(require.rackunit))..(defi
15ea0 6e 65 20 78 72 65 66 2d 70 72 6f 6d 69 73 65 20 28 64 65 6c 61 79 2f 74 68 72 65 61 64 20 28 6c ne.xref-promise.(delay/thread.(l
15ec0 6f 61 64 2d 63 6f 6c 6c 65 63 74 69 6f 6e 73 2d 78 72 65 66 29 29 29 0a 0a 3b 3b 20 57 68 65 6e oad-collections-xref)))..;;.When
15ee0 20 72 75 6e 6e 69 6e 67 20 6f 6e 20 61 20 6d 61 63 68 69 6e 65 20 77 69 74 68 20 6c 69 74 74 6c .running.on.a.machine.with.littl
15f00 65 20 6d 65 6d 6f 72 79 2c 20 73 75 63 68 20 61 73 20 61 20 73 6d 61 6c 6c 20 56 50 53 0a 3b 3b e.memory,.such.as.a.small.VPS.;;
15f20 20 6f 72 20 41 57 53 20 69 6e 73 74 61 6e 63 65 2c 20 49 20 68 61 76 65 20 73 65 65 6e 20 74 68 .or.AWS.instance,.I.have.seen.th
15f40 65 20 6f 6f 6d 2d 6b 69 6c 6c 65 72 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 20 70 72 6f 63 65 e.oom-killer.terminate.the.proce
15f60 73 73 0a 3b 3b 20 61 66 74 65 72 20 77 65 20 74 72 79 20 74 6f 20 68 61 6e 64 6c 65 20 61 20 62 ss.;;.after.we.try.to.handle.a.b
15f80 61 63 6b 20 65 6e 64 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20 64 6f 65 73 20 73 6f 6d 65 20 6f ack.end.command.that.does.some.o
15fa0 66 20 74 68 65 73 65 0a 3b 3b 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6f 70 65 72 61 74 69 f.these.;;.documentation.operati
15fc0 6f 6e 73 2e 20 50 72 65 73 75 6d 61 62 6c 79 20 74 68 65 79 20 75 73 65 20 65 6e 6f 75 67 68 20 ons..Presumably.they.use.enough.
15fe0 6d 65 6d 6f 72 79 20 74 68 61 74 0a 3b 3b 20 52 61 63 6b 65 74 20 61 73 6b 73 20 74 68 65 20 4f memory.that.;;.Racket.asks.the.O
16000 53 20 66 6f 72 20 6d 6f 72 65 3f 20 54 6f 20 6d 61 6b 65 20 74 68 61 74 20 6c 65 73 73 20 6c 69 S.for.more?.To.make.that.less.li
16020 6b 65 6c 79 2c 20 64 6f 20 61 20 6d 61 6a 6f 72 0a 3b 3b 20 47 43 20 62 65 66 6f 72 65 2f 61 66 kely,.do.a.major.;;.GC.before/af
16040 74 65 72 2e 20 53 6f 20 66 61 72 20 74 68 69 73 20 73 65 65 6d 73 20 74 6f 20 62 65 20 61 20 73 ter..So.far.this.seems.to.be.a.s
16060 75 63 63 65 73 73 66 75 6c 20 6d 69 74 69 67 61 74 69 6f 6e 2c 0a 3b 3b 20 61 6c 74 68 6f 75 67 uccessful.mitigation,.;;.althoug
16080 68 20 69 74 20 61 6c 73 6f 20 73 65 65 6d 73 20 6c 69 6b 65 20 61 20 6b 6c 75 64 67 65 2e 0a 28 h.it.also.seems.like.a.kludge..(
160a0 64 65 66 69 6e 65 20 28 63 61 6c 6c 2d 61 76 6f 69 64 69 6e 67 2d 6f 6f 6d 2d 6b 69 6c 6c 65 72 define.(call-avoiding-oom-killer
160c0 20 74 68 75 6e 6b 29 0a 20 20 28 63 6f 6c 6c 65 63 74 2d 67 61 72 62 61 67 65 20 27 6d 61 6a 6f .thunk)...(collect-garbage.'majo
160e0 72 29 0a 20 20 28 62 65 67 69 6e 30 20 28 74 68 75 6e 6b 29 0a 20 20 20 20 28 63 6f 6c 6c 65 63 r)...(begin0.(thunk).....(collec
16100 74 2d 67 61 72 62 61 67 65 20 27 6d 61 6a 6f 72 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 73 69 6d t-garbage.'major)))..(define-sim
16120 70 6c 65 2d 6d 61 63 72 6f 20 28 77 69 74 68 2d 6c 65 73 73 2d 6d 65 6d 6f 72 79 2d 70 72 65 73 ple-macro.(with-less-memory-pres
16140 73 75 72 65 20 65 3a 65 78 70 72 20 2e 2e 2e 2b 29 0a 20 20 28 63 61 6c 6c 2d 61 76 6f 69 64 69 sure.e:expr....+)...(call-avoidi
16160 6e 67 2d 6f 6f 6d 2d 6b 69 6c 6c 65 72 20 28 ce bb 20 28 29 20 65 20 2e 2e 2e 29 29 29 0a 0a 28 ng-oom-killer.(...().e....)))..(
16180 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 62 69 6e 64 69 6e 67 2d 3e 70 61 74 68 2b 61 define/contract.(binding->path+a
161a0 6e 63 68 6f 72 20 73 74 78 29 0a 20 20 28 2d 3e 20 69 64 65 6e 74 69 66 69 65 72 3f 20 28 6f 72 nchor.stx)...(->.identifier?.(or
161c0 2f 63 20 23 66 20 28 63 6f 6e 73 2f 63 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 28 6f 72 2f 63 /c.#f.(cons/c.path-string?.(or/c
161e0 20 23 66 20 73 74 72 69 6e 67 3f 29 29 29 29 0a 20 20 28 77 69 74 68 2d 6c 65 73 73 2d 6d 65 6d .#f.string?))))...(with-less-mem
16200 6f 72 79 2d 70 72 65 73 73 75 72 65 0a 20 20 20 20 28 6c 65 74 2a 20 28 5b 78 72 65 66 20 28 66 ory-pressure.....(let*.([xref.(f
16220 6f 72 63 65 20 78 72 65 66 2d 70 72 6f 6d 69 73 65 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b orce.xref-promise)]............[
16240 74 61 67 20 20 28 78 72 65 66 2d 62 69 6e 64 69 6e 67 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 74 tag..(xref-binding->definition-t
16260 61 67 20 78 72 65 66 20 73 74 78 20 30 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b 70 2b 61 20 ag.xref.stx.0)]............[p+a.
16280 20 28 61 6e 64 20 74 61 67 20 28 74 61 67 2d 3e 70 61 74 68 2b 61 6e 63 68 6f 72 20 78 72 65 66 .(and.tag.(tag->path+anchor.xref
162a0 20 74 61 67 29 29 5d 29 0a 20 20 20 20 20 20 70 2b 61 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 .tag))]).......p+a)))..(define.(
162c0 74 61 67 2d 3e 70 61 74 68 2b 61 6e 63 68 6f 72 20 78 72 65 66 20 74 61 67 29 0a 20 20 28 64 65 tag->path+anchor.xref.tag)...(de
162e0 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 70 61 74 68 20 61 6e 63 68 6f 72 29 20 28 78 72 65 66 2d fine-values.(path.anchor).(xref-
16300 74 61 67 2d 3e 70 61 74 68 2b 61 6e 63 68 6f 72 20 78 72 65 66 20 74 61 67 29 29 0a 20 20 28 61 tag->path+anchor.xref.tag))...(a
16320 6e 64 20 70 61 74 68 20 61 6e 63 68 6f 72 20 28 63 6f 6e 73 20 70 61 74 68 20 61 6e 63 68 6f 72 nd.path.anchor.(cons.path.anchor
16340 29 29 29 0a 0a 3b 3b 3b 20 42 6c 75 65 62 6f 78 65 73 0a 0a 28 64 65 66 69 6e 65 20 72 61 63 6b )))..;;;.Blueboxes..(define.rack
16360 65 74 2d 76 65 72 73 69 6f 6e 2d 36 2e 31 30 3f 20 28 65 71 75 61 6c 3f 20 28 76 65 72 73 69 6f et-version-6.10?.(equal?.(versio
16380 6e 29 20 22 36 2e 31 30 22 29 29 0a 0a 28 64 65 66 69 6e 65 20 62 6c 75 65 62 6f 78 2d 63 61 63 n)."6.10"))..(define.bluebox-cac
163a0 68 65 20 28 64 65 6c 61 79 20 28 6d 61 6b 65 2d 62 6c 75 65 62 6f 78 65 73 2d 63 61 63 68 65 20 he.(delay.(make-blueboxes-cache.
163c0 23 74 29 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 69 64 65 6e 74 69 66 #t)))..(define/contract.(identif
163e0 69 65 72 2d 3e 62 6c 75 65 62 6f 78 20 73 74 78 29 0a 20 20 28 2d 3e 20 69 64 65 6e 74 69 66 69 ier->bluebox.stx)...(->.identifi
16400 65 72 3f 20 28 6f 72 2f 63 20 23 66 20 73 74 72 69 6e 67 3f 29 29 0a 20 20 28 6d 61 74 63 68 20 er?.(or/c.#f.string?))...(match.
16420 28 61 6e 64 20 28 6e 6f 74 20 72 61 63 6b 65 74 2d 76 65 72 73 69 6f 6e 2d 36 2e 31 30 3f 29 0a (and.(not.racket-version-6.10?).
16440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 72 65 66 2d 62 69 6e 64 69 6e 67 2d 3e 64 65 66 ..............(xref-binding->def
16460 69 6e 69 74 69 6f 6e 2d 74 61 67 20 28 66 6f 72 63 65 20 78 72 65 66 2d 70 72 6f 6d 69 73 65 29 inition-tag.(force.xref-promise)
16480 20 73 74 78 20 30 29 29 0a 20 20 20 20 5b 28 3f 20 74 61 67 3f 20 74 61 67 29 0a 20 20 20 20 20 .stx.0)).....[(?.tag?.tag)......
164a0 28 6d 61 74 63 68 20 28 66 65 74 63 68 2d 62 6c 75 65 62 6f 78 65 73 2d 73 74 72 73 20 74 61 67 (match.(fetch-blueboxes-strs.tag
164c0 20 23 3a 62 6c 75 65 62 6f 78 65 73 2d 63 61 63 68 65 20 28 66 6f 72 63 65 20 62 6c 75 65 62 6f .#:blueboxes-cache.(force.bluebo
164e0 78 2d 63 61 63 68 65 29 29 0a 20 20 20 20 20 20 20 5b 28 6c 69 73 74 2a 20 5f 6b 69 6e 64 20 73 x-cache))........[(list*._kind.s
16500 74 72 73 29 0a 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 20 28 73 74 trs).........(string-replace.(st
16520 72 69 6e 67 2d 6a 6f 69 6e 20 73 74 72 73 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 ring-join.strs."\n")............
16540 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 75 30 30 41 30 22 0a 20 20 20 20 20 20 20 20 20 20 ............."\u00A0"...........
16560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 22 29 5d 0a 20 20 20 20 20 20 20 5b 5f 20 23 66 ..............".")]........[_.#f
16580 5d 29 5d 0a 20 20 20 20 5b 5f 20 23 66 5d 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a ])].....[_.#f]))..(module+.test.
165a0 20 20 3b 3b 20 54 68 69 73 20 74 65 73 74 20 73 75 63 63 65 65 64 73 20 6f 6e 20 61 6c 6c 20 52 ..;;.This.test.succeeds.on.all.R
165c0 61 63 6b 65 74 20 76 65 72 73 69 6f 6e 73 20 62 65 66 6f 72 65 20 61 6e 64 20 61 66 74 65 72 20 acket.versions.before.and.after.
165e0 36 2e 31 30 2e 0a 20 20 3b 3b 20 49 20 73 70 65 6e 74 20 61 6e 20 68 6f 75 72 20 69 6e 73 74 61 6.10....;;.I.spent.an.hour.insta
16600 6c 6c 69 6e 67 20 36 2e 31 30 20 6c 6f 63 61 6c 6c 79 20 61 6e 64 20 65 78 70 6c 6f 72 69 6e 67 lling.6.10.locally.and.exploring
16620 20 74 68 65 20 70 72 6f 62 6c 65 6d 0a 20 20 3b 3b 20 62 75 74 20 73 6f 20 66 61 72 20 68 61 76 .the.problem...;;.but.so.far.hav
16640 65 20 6e 6f 20 63 6c 75 65 2e 20 41 73 20 6e 65 69 74 68 65 72 20 36 2e 31 30 20 6e 6f 72 20 49 e.no.clue..As.neither.6.10.nor.I
16660 20 61 72 65 20 67 65 74 74 69 6e 67 20 61 6e 79 0a 20 20 3b 3b 20 79 6f 75 6e 67 65 72 2c 20 49 .are.getting.any...;;.younger,.I
16680 20 61 6d 20 63 68 6f 6f 73 69 6e 67 20 74 6f 20 69 67 6e 6f 72 65 20 74 68 69 73 2c 20 66 6f 72 .am.choosing.to.ignore.this,.for
166a0 20 6e 6f 77 2e 0a 20 20 3b 3b 0a 20 20 3b 3b 20 50 72 6f 62 61 62 6c 79 20 68 74 74 70 73 3a 2f .now....;;...;;.Probably.https:/
166c0 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 61 63 6b 65 74 2f 64 72 72 61 63 6b 65 74 2f 69 73 73 75 /github.com/racket/drracket/issu
166e0 65 73 2f 31 31 38 0a 20 20 28 75 6e 6c 65 73 73 20 72 61 63 6b 65 74 2d 76 65 72 73 69 6f 6e 2d es/118...(unless.racket-version-
16700 36 2e 31 30 3f 0a 20 20 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 69 64 65 6e 74 69 66 6.10?.....(check-equal?.(identif
16720 69 65 72 2d 3e 62 6c 75 65 62 6f 78 20 23 27 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 ier->bluebox.#'list)............
16740 20 20 20 20 20 20 20 22 28 6c 69 73 74 20 76 20 2e 2e 2e 29 20 2d 3e 20 6c 69 73 74 3f 5c 6e 20 ......."(list.v....).->.list?\n.
16760 20 76 20 3a 20 61 6e 79 2f 63 22 29 29 0a 20 20 28 63 68 65 63 6b 2d 66 61 6c 73 65 20 28 69 64 .v.:.any/c"))...(check-false.(id
16780 65 6e 74 69 66 69 65 72 2d 3e 62 6c 75 65 62 6f 78 20 28 64 61 74 75 6d 2d 3e 73 79 6e 74 61 78 entifier->bluebox.(datum->syntax
167a0 20 23 66 20 28 67 65 6e 73 79 6d 29 29 29 29 29 0a 0a 3b 3b 3b 20 44 6f 63 75 6d 65 6e 74 61 74 .#f.(gensym)))))..;;;.Documentat
167c0 69 6f 6e 20 69 6e 64 65 78 0a 0a 3b 3b 20 4e 6f 74 65 20 74 68 61 74 20 60 78 72 65 66 2d 69 6e ion.index..;;.Note.that.`xref-in
167e0 64 65 78 60 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 33 30 4b 2b 20 60 65 6e 74 dex`.returns.a.list.of.30K+.`ent
16800 72 79 60 20 73 74 72 75 63 74 73 2e 20 57 65 0a 3b 3b 20 63 61 6e 27 74 20 61 76 6f 69 64 20 74 ry`.structs..We.;;.can't.avoid.t
16820 68 61 74 20 77 69 74 68 20 74 68 65 20 6f 66 66 69 63 69 61 6c 20 41 50 49 2e 20 54 68 61 74 20 hat.with.the.official.API..That.
16840 77 69 6c 6c 20 62 75 6d 70 20 70 65 61 6b 20 6d 65 6d 6f 72 79 0a 3b 3b 20 75 73 65 2e 20 3a 28 will.bump.peak.memory.;;.use..:(
16860 20 42 65 73 74 20 77 65 20 63 61 6e 20 64 6f 20 69 73 20 73 61 6e 64 77 69 63 68 20 69 74 20 69 .Best.we.can.do.is.sandwich.it.i
16880 6e 20 6d 61 6a 6f 72 20 47 43 73 2c 20 74 6f 20 61 76 6f 69 64 20 74 68 65 0a 3b 3b 20 70 65 61 n.major.GCs,.to.avoid.the.;;.pea
168a0 6b 20 67 6f 69 6e 67 20 65 76 65 6e 20 68 69 67 68 65 72 2e 20 46 75 72 74 68 65 72 6d 6f 72 65 k.going.even.higher..Furthermore
168c0 20 69 6e 20 64 6f 63 2d 69 6e 64 65 78 2d 6e 61 6d 65 73 20 77 65 20 61 76 6f 69 64 0a 3b 3b 20 .in.doc-index-names.we.avoid.;;.
168e0 6d 61 6b 69 6e 67 20 5f 61 6e 6f 74 68 65 72 5f 20 33 30 4b 2b 20 6c 69 73 74 2c 20 62 79 20 72 making._another_.30K+.list,.by.r
16900 65 74 75 72 6e 69 6e 67 20 61 20 74 68 75 6e 6b 20 66 6f 72 20 65 6c 69 73 70 2d 77 72 69 74 65 eturning.a.thunk.for.elisp-write
16920 0a 3b 3b 20 74 6f 20 63 61 6c 6c 2c 20 74 6f 20 64 6f 20 22 73 74 72 65 61 6d 69 6e 67 22 20 77 .;;.to.call,.to.do."streaming".w
16940 72 69 74 65 73 2e 0a 0a 28 64 65 66 69 6e 65 20 28 28 64 6f 63 2d 69 6e 64 65 78 2d 6e 61 6d 65 rites...(define.((doc-index-name
16960 73 29 29 0a 20 20 28 77 69 74 68 2d 6c 65 73 73 2d 6d 65 6d 6f 72 79 2d 70 72 65 73 73 75 72 65 s))...(with-less-memory-pressure
16980 0a 20 20 20 20 28 77 69 74 68 2d 70 61 72 65 6e 73 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 .....(with-parens.......(define.
169a0 78 72 65 66 20 28 66 6f 72 63 65 20 78 72 65 66 2d 70 72 6f 6d 69 73 65 29 29 0a 20 20 20 20 20 xref.(force.xref-promise))......
169c0 20 28 66 6f 72 2a 20 28 5b 65 6e 74 72 79 20 28 69 6e 2d 6c 69 73 74 20 28 78 72 65 66 2d 69 6e .(for*.([entry.(in-list.(xref-in
169e0 64 65 78 20 78 72 65 66 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 64 65 73 63 20 28 dex.xref))]..............[desc.(
16a00 69 6e 2d 76 61 6c 75 65 20 28 65 6e 74 72 79 2d 64 65 73 63 20 65 6e 74 72 79 29 29 5d 0a 20 20 in-value.(entry-desc.entry))]...
16a20 20 20 20 20 20 20 20 20 20 20 20 23 3a 77 68 65 6e 20 28 6e 6f 74 20 28 63 6f 6e 73 74 72 75 63 ...........#:when.(not.(construc
16a40 74 6f 72 2d 69 6e 64 65 78 2d 64 65 73 63 3f 20 64 65 73 63 29 29 0a 20 20 20 20 20 20 20 20 20 tor-index-desc?.desc))..........
16a60 20 20 20 20 5b 74 65 72 6d 20 28 69 6e 2d 76 61 6c 75 65 20 28 63 61 72 20 28 65 6e 74 72 79 2d ....[term.(in-value.(car.(entry-
16a80 77 6f 72 64 73 20 65 6e 74 72 79 29 29 29 5d 29 0a 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d words.entry)))]).........(elisp-
16aa0 77 72 69 74 65 20 74 65 72 6d 29 29 0a 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 29 29 29 0a write.term)).......(newline)))).
16ac0 0a 28 64 65 66 69 6e 65 20 28 64 6f 63 2d 69 6e 64 65 78 2d 6c 6f 6f 6b 75 70 20 73 74 72 29 0a .(define.(doc-index-lookup.str).
16ae0 20 20 28 77 69 74 68 2d 6c 65 73 73 2d 6d 65 6d 6f 72 79 2d 70 72 65 73 73 75 72 65 0a 20 20 20 ..(with-less-memory-pressure....
16b00 20 28 64 65 66 69 6e 65 20 78 72 65 66 20 28 66 6f 72 63 65 20 78 72 65 66 2d 70 72 6f 6d 69 73 .(define.xref.(force.xref-promis
16b20 65 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 72 65 73 75 6c 74 73 0a 20 20 20 20 20 20 28 66 e)).....(define.results.......(f
16b40 6f 72 2a 2f 73 65 74 20 28 5b 65 6e 74 72 79 20 28 69 6e 2d 6c 69 73 74 20 28 78 72 65 66 2d 69 or*/set.([entry.(in-list.(xref-i
16b60 6e 64 65 78 20 78 72 65 66 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 64 ndex.xref))]..................[d
16b80 65 73 63 20 28 69 6e 2d 76 61 6c 75 65 20 28 65 6e 74 72 79 2d 64 65 73 63 20 65 6e 74 72 79 29 esc.(in-value.(entry-desc.entry)
16ba0 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 77 68 65 6e 20 28 6e 6f 74 20 )]..................#:when.(not.
16bc0 28 63 6f 6e 73 74 72 75 63 74 6f 72 2d 69 6e 64 65 78 2d 64 65 73 63 3f 20 64 65 73 63 29 29 0a (constructor-index-desc?.desc)).
16be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 74 65 72 6d 20 28 69 6e 2d 76 61 6c 75 65 .................[term.(in-value
16c00 20 28 63 61 72 20 28 65 6e 74 72 79 2d 77 6f 72 64 73 20 65 6e 74 72 79 29 29 29 5d 0a 20 20 20 .(car.(entry-words.entry)))]....
16c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 77 68 65 6e 20 28 65 71 75 61 6c 3f 20 73 74 72 ..............#:when.(equal?.str
16c40 20 74 65 72 6d 29 29 0a 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 74 61 67 20 28 65 6e 74 .term)).........(define.tag.(ent
16c60 72 79 2d 74 61 67 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 ry-tag.entry)).........(define-v
16c80 61 6c 75 65 73 20 28 70 61 74 68 20 61 6e 63 68 6f 72 29 20 28 78 72 65 66 2d 74 61 67 2d 3e 70 alues.(path.anchor).(xref-tag->p
16ca0 61 74 68 2b 61 6e 63 68 6f 72 20 78 72 65 66 20 74 61 67 29 29 0a 20 20 20 20 20 20 20 20 28 64 ath+anchor.xref.tag)).........(d
16cc0 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 77 68 61 74 20 66 72 6f 6d 29 0a 20 20 20 20 20 20 20 efine-values.(what.from)........
16ce0 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6d 6f 64 75 6c 65 2d 70 61 ...(cond.............[(module-pa
16d00 74 68 2d 69 6e 64 65 78 2d 64 65 73 63 3f 20 64 65 73 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 th-index-desc?.desc)............
16d20 20 20 28 76 61 6c 75 65 73 20 27 6d 6f 64 75 6c 65 20 6e 75 6c 6c 29 5d 0a 20 20 20 20 20 20 20 ..(values.'module.null)]........
16d40 20 20 20 20 20 5b 28 65 78 70 6f 72 74 65 64 2d 69 6e 64 65 78 2d 64 65 73 63 3f 20 64 65 73 63 .....[(exported-index-desc?.desc
16d60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6b 69 6e 64 0a 20 20 20 20 )..............(define.kind.....
16d80 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 64 65 73 63 0a 20 20 20 20 20 20 20 20 20 ...........(match.desc..........
16da0 20 20 20 20 20 20 20 20 5b 28 3f 20 6c 61 6e 67 75 61 67 65 2d 69 6e 64 65 78 2d 64 65 73 63 3f ........[(?.language-index-desc?
16dc0 29 20 20 27 6c 61 6e 67 75 61 67 65 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b )..'language]..................[
16de0 28 3f 20 72 65 61 64 65 72 2d 69 6e 64 65 78 2d 64 65 73 63 3f 29 20 20 20 20 27 72 65 61 64 65 (?.reader-index-desc?)....'reade
16e00 72 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 66 6f 72 6d 2d 69 6e 64 r]..................[(?.form-ind
16e20 65 78 2d 64 65 73 63 3f 29 20 20 20 20 20 20 27 73 79 6e 74 61 78 5d 0a 20 20 20 20 20 20 20 20 ex-desc?)......'syntax].........
16e40 20 20 20 20 20 20 20 20 20 5b 28 3f 20 70 72 6f 63 65 64 75 72 65 2d 69 6e 64 65 78 2d 64 65 73 .........[(?.procedure-index-des
16e60 63 3f 29 20 27 70 72 6f 63 65 64 75 72 65 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c?).'procedure].................
16e80 20 5b 28 3f 20 74 68 69 6e 67 2d 69 6e 64 65 78 2d 64 65 73 63 3f 29 20 20 20 20 20 27 76 61 6c .[(?.thing-index-desc?).....'val
16ea0 75 65 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 73 74 72 75 63 74 2d ue]..................[(?.struct-
16ec0 69 6e 64 65 78 2d 64 65 73 63 3f 29 20 20 20 20 27 73 74 72 75 63 74 75 72 65 5d 0a 20 20 20 20 index-desc?)....'structure].....
16ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 63 6c 61 73 73 2d 69 6e 64 65 78 2d 64 65 73 .............[(?.class-index-des
16f00 63 3f 29 20 20 20 20 20 27 63 6c 61 73 73 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c?).....'class].................
16f20 20 5b 28 3f 20 69 6e 74 65 72 66 61 63 65 2d 69 6e 64 65 78 2d 64 65 73 63 3f 29 20 27 69 6e 74 .[(?.interface-index-desc?).'int
16f40 65 72 66 61 63 65 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 6d 69 78 erface]..................[(?.mix
16f60 69 6e 2d 69 6e 64 65 78 2d 64 65 73 63 3f 29 20 20 20 20 20 27 6d 69 78 69 6e 5d 0a 20 20 20 20 in-index-desc?).....'mixin].....
16f80 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 6d 65 74 68 6f 64 2d 69 6e 64 65 78 2d 64 65 .............[(?.method-index-de
16fa0 73 63 3f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 sc?)...................(cond....
16fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6d 65 74 68 6f 64 2d 74 61 67 3f 20 74 .................[(method-tag?.t
16fe0 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 ag)......................(define
17000 2d 76 61 6c 75 65 73 20 28 63 2f 69 20 5f 6d 29 20 28 67 65 74 2d 63 6c 61 73 73 2f 69 6e 74 65 -values.(c/i._m).(get-class/inte
17020 72 66 61 63 65 2d 61 6e 64 2d 6d 65 74 68 6f 64 20 74 61 67 29 29 0a 20 20 20 20 20 20 20 20 20 rface-and-method.tag))..........
17040 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 6d 65 74 68 6f 64 20 63 2f 69 29 5d 0a ............(cons.'method.c/i)].
17060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 27 6d 65 74 68 6f ....................[else.'metho
17080 64 5d 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5f 20 22 22 5d 29 29 0a 20 d])]..................[_.""]))..
170a0 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6c 69 62 73 20 28 65 78 70 6f 72 74 ............(define.libs.(export
170c0 65 64 2d 69 6e 64 65 78 2d 64 65 73 63 2d 66 72 6f 6d 2d 6c 69 62 73 20 64 65 73 63 29 29 0a 20 ed-index-desc-from-libs.desc))..
170e0 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 6b 69 6e 64 20 6c 69 62 73 29 5d 0a ............(values.kind.libs)].
17100 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ............[else..............(
17120 70 72 69 6e 74 6c 6e 20 28 72 65 76 65 72 73 65 20 28 65 78 70 6c 6f 64 65 2d 70 61 74 68 20 70 println.(reverse.(explode-path.p
17140 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 27 64 6f 63 ath)))..............(values.'doc
17160 75 6d 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 umentation......................
17180 28 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 (list.......................(mat
171a0 63 68 20 28 72 65 76 65 72 73 65 20 28 65 78 70 6c 6f 64 65 2d 70 61 74 68 20 70 61 74 68 29 29 ch.(reverse.(explode-path.path))
171c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c 69 73 74 2a .........................[(list*
171e0 20 5f 20 76 20 5f 29 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 76 29 5d 0a 20 20 20 20 20 20 ._.v._).(path->string.v)].......
17200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5f 20 20 20 20 20 20 20 20 20 20 20 20 ..................[_............
17220 20 28 7e 61 20 74 61 67 29 5d 29 29 29 5d 29 29 0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 74 .(~a.tag)])))])).........(list.t
17240 65 72 6d 20 77 68 61 74 20 66 72 6f 6d 20 70 61 74 68 20 61 6e 63 68 6f 72 29 29 29 0a 20 20 20 erm.what.from.path.anchor)))....
17260 20 28 73 6f 72 74 20 28 73 65 74 2d 3e 6c 69 73 74 20 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 .(sort.(set->list.results)......
17280 20 20 20 20 20 73 74 72 69 6e 67 3c 3f 0a 20 20 20 20 20 20 20 20 20 20 23 3a 63 61 63 68 65 2d .....string<?...........#:cache-
172a0 6b 65 79 73 3f 20 23 74 0a 20 20 20 20 20 20 20 20 20 20 23 3a 6b 65 79 0a 20 20 20 20 20 20 20 keys?.#t...........#:key........
172c0 20 20 20 28 6d 61 74 63 68 2d 6c 61 6d 62 64 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c ...(match-lambda.............[(l
172e0 69 73 74 2a 20 5f 74 65 72 6d 20 5f 77 68 61 74 20 28 63 6f 6e 73 20 66 72 6f 6d 20 5f 29 20 5f ist*._term._what.(cons.from._)._
17300 70 61 74 68 20 5f 61 6e 63 68 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 path._anchor)..............(matc
17320 68 20 28 7e 61 20 66 72 6f 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 61 6e 64 h.(~a.from)................[(and
17340 20 28 70 72 65 67 65 78 70 20 22 5e 72 61 63 6b 65 74 2f 22 29 20 76 29 0a 20 20 20 20 20 20 20 .(pregexp."^racket/").v)........
17360 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 20 22 30 5f 22 20 76 29 5d .........(string-append."0_".v)]
17380 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 61 6e 64 20 28 70 72 65 67 65 78 70 20 22 ................[(and.(pregexp."
173a0 5e 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 22 29 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ^typed/racket/").v).............
173c0 20 20 20 20 28 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 20 22 31 5f 22 20 76 29 5d 0a 20 20 20 20 ....(string-append."1_".v)].....
173e0 20 20 20 20 20 20 20 20 20 20 20 5b 76 20 76 5d 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b ...........[v.v])].............[
17400 28 63 6f 6e 73 20 74 65 72 6d 20 5f 29 20 74 65 72 6d 5d 29 29 29 29 0a 0a 3b 3b 3b 20 54 68 69 (cons.term._).term]))))..;;;.Thi
17420 73 20 69 73 20 66 6f 72 20 74 68 65 20 72 65 71 75 69 72 65 73 2f 66 69 6e 64 20 63 6f 6d 6d 61 s.is.for.the.requires/find.comma
17440 6e 64 0a 0a 3b 3b 20 47 69 76 65 6e 20 73 6f 6d 65 20 73 79 6d 62 6f 6c 20 61 73 20 61 20 73 74 nd..;;.Given.some.symbol.as.a.st
17460 72 69 6e 67 2c 20 72 65 74 75 72 6e 20 74 68 65 20 6d 6f 64 75 6c 65 73 20 70 72 6f 76 69 64 69 ring,.return.the.modules.providi
17480 6e 67 20 69 74 2c 0a 3b 3b 20 73 6f 72 74 65 64 20 62 79 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 ng.it,.;;.sorted.by.most.likely.
174a0 74 6f 20 62 65 20 64 65 73 69 72 65 64 2e 0a 28 64 65 66 69 6e 65 20 28 6c 69 62 73 2d 65 78 70 to.be.desired..(define.(libs-exp
174c0 6f 72 74 69 6e 67 2d 64 6f 63 75 6d 65 6e 74 65 64 20 73 79 6d 2d 61 73 2d 73 74 72 29 0a 20 20 orting-documented.sym-as-str)...
174e0 28 77 69 74 68 2d 6c 65 73 73 2d 6d 65 6d 6f 72 79 2d 70 72 65 73 73 75 72 65 0a 20 20 20 20 28 (with-less-memory-pressure.....(
17500 64 65 66 69 6e 65 20 78 72 65 66 20 28 66 6f 72 63 65 20 78 72 65 66 2d 70 72 6f 6d 69 73 65 29 define.xref.(force.xref-promise)
17520 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 72 65 73 75 6c 74 73 0a 20 20 20 20 20 20 28 66 6f 72 ).....(define.results.......(for
17540 2a 2f 73 65 74 20 28 5b 65 6e 74 72 79 20 28 69 6e 2d 6c 69 73 74 20 28 78 72 65 66 2d 69 6e 64 */set.([entry.(in-list.(xref-ind
17560 65 78 20 78 72 65 66 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 64 65 73 ex.xref))]..................[des
17580 63 20 28 69 6e 2d 76 61 6c 75 65 20 28 65 6e 74 72 79 2d 64 65 73 63 20 65 6e 74 72 79 29 29 5d c.(in-value.(entry-desc.entry))]
175a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 77 68 65 6e 20 28 65 78 70 6f 72 74 ..................#:when.(export
175c0 65 64 2d 69 6e 64 65 78 2d 64 65 73 63 3f 20 64 65 73 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 ed-index-desc?.desc)............
175e0 20 20 20 20 20 20 5b 6e 61 6d 65 20 28 69 6e 2d 76 61 6c 75 65 20 28 73 79 6d 62 6f 6c 2d 3e 73 ......[name.(in-value.(symbol->s
17600 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tring...........................
17620 20 20 20 20 20 20 20 20 28 65 78 70 6f 72 74 65 64 2d 69 6e 64 65 78 2d 64 65 73 63 2d 6e 61 6d ........(exported-index-desc-nam
17640 65 20 64 65 73 63 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 77 68 e.desc)))]..................#:wh
17660 65 6e 20 28 65 71 75 61 6c 3f 20 6e 61 6d 65 20 73 79 6d 2d 61 73 2d 73 74 72 29 0a 20 20 20 20 en.(equal?.name.sym-as-str).....
17680 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6c 69 62 73 20 28 69 6e 2d 76 61 6c 75 65 20 28 6d 61 .............[libs.(in-value.(ma
176a0 70 20 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.symbol->string................
176c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 6f 72 74 65 64 .......................(exported
176e0 2d 69 6e 64 65 78 2d 64 65 73 63 2d 66 72 6f 6d 2d 6c 69 62 73 20 64 65 73 63 29 29 29 5d 0a 20 -index-desc-from-libs.desc)))]..
17700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 77 68 65 6e 20 28 6e 6f 74 20 28 6e 75 6c ................#:when.(not.(nul
17720 6c 3f 20 6c 69 62 73 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 54 61 6b 65 20 6a 75 73 74 20 l?.libs))).........;;.Take.just.
17740 74 68 65 20 66 69 72 73 74 20 6c 69 62 2e 20 54 68 69 73 20 75 73 75 61 6c 6c 79 20 73 65 65 6d the.first.lib..This.usually.seem
17760 73 20 74 6f 20 62 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 3b 3b 20 6d 6f 73 74 2d 73 70 65 63 s.to.be.the.........;;.most-spec
17780 69 66 69 63 2c 20 65 2e 67 2e 20 28 72 61 63 6b 65 74 2f 62 61 73 65 20 72 61 63 6b 65 74 29 2e ific,.e.g..(racket/base.racket).
177a0 0a 20 20 20 20 20 20 20 20 28 63 61 72 20 6c 69 62 73 29 29 29 0a 20 20 20 20 28 73 6f 72 74 20 .........(car.libs))).....(sort.
177c0 28 73 65 74 2d 3e 6c 69 73 74 20 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 73 74 (set->list.results)...........st
177e0 72 69 6e 67 3c 3f 0a 20 20 20 20 20 20 20 20 20 20 23 3a 63 61 63 68 65 2d 6b 65 79 73 3f 20 23 ring<?...........#:cache-keys?.#
17800 74 0a 20 20 20 20 20 20 20 20 20 20 23 3a 6b 65 79 0a 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d t...........#:key...........(lam
17820 62 64 61 20 28 6c 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 6c 69 62 bda.(lib).............(match.lib
17840 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 61 6e 64 20 28 70 72 65 67 65 78 70 20 22 5e ...............[(and.(pregexp."^
17860 72 61 63 6b 65 74 2f 22 29 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 racket/").v)................(str
17880 69 6e 67 2d 61 70 70 65 6e 64 20 22 30 5f 22 20 76 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ing-append."0_".v)].............
178a0 20 20 5b 28 61 6e 64 20 28 70 72 65 67 65 78 70 20 22 5e 74 79 70 65 64 2f 72 61 63 6b 65 74 2f ..[(and.(pregexp."^typed/racket/
178c0 22 29 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 61 70 70 ").v)................(string-app
178e0 65 6e 64 20 22 31 5f 22 20 76 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 76 20 76 5d end."1_".v)]...............[v.v]
17900 29 29 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 )))))...........................
17920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
179a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
179c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
179e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17a00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
17a20 72 61 63 6b 65 74 2f 72 65 70 6c 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/repl.rkt.................
17a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
17a80 30 30 33 36 34 34 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 36 32 30 00 20 30 00 00 00 0036446.00000000000.016620..0...
17aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
17b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
17b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17c00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
17c20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
17c40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
17c60 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 3b 3b 20 44 6f 20 4e 4f 54 20 75 73 65 20 60 61 ang.racket/base.;;.Do.NOT.use.`a
17c80 74 2d 65 78 70 60 20 69 6e 20 74 68 69 73 20 66 69 6c 65 21 20 53 65 65 20 69 73 73 75 65 20 23 t-exp`.in.this.file!.See.issue.#
17ca0 32 39 30 2e 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 2f 63 6f 6e 74 72 61 63 74 0a 20 290...(require.racket/contract..
17cc0 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 72 ........racket/format..........r
17ce0 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 72 61 acket/match..........(only-in.ra
17d00 63 6b 65 74 2f 70 61 74 68 20 70 61 74 68 2d 6f 6e 6c 79 20 66 69 6c 65 2d 6e 61 6d 65 2d 66 72 cket/path.path-only.file-name-fr
17d20 6f 6d 2d 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 73 65 74 0a 20 20 20 om-path)..........racket/set....
17d40 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 72 61 63 6b 65 74 2f 73 74 72 69 6e 67 20 73 74 72 ......(only-in.racket/string.str
17d60 69 6e 67 2d 6a 6f 69 6e 29 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 22 64 65 62 ing-join)..........(only-in."deb
17d80 75 67 2e 72 6b 74 22 20 6d 61 6b 65 2d 64 65 62 75 67 2d 65 76 61 6c 2d 68 61 6e 64 6c 65 72 20 ug.rkt".make-debug-eval-handler.
17da0 6e 65 78 74 2d 62 72 65 61 6b 29 0a 20 20 20 20 20 20 20 20 20 22 65 6c 69 73 70 2e 72 6b 74 22 next-break).........."elisp.rkt"
17dc0 0a 20 20 20 20 20 20 20 20 20 22 65 72 72 6f 72 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 .........."error.rkt".........."
17de0 67 75 69 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 69 6e 74 65 72 61 63 74 69 6f 6e 2e 72 gui.rkt".........."interaction.r
17e00 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 69 6e 73 74 72 75 6d 65 6e 74 2e 72 6b 74 22 0a 20 20 kt".........."instrument.rkt"...
17e20 20 20 20 20 20 20 20 22 70 72 69 6e 74 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 72 65 70 ......."print.rkt".........."rep
17e40 6c 2d 6f 75 74 70 75 74 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 72 65 70 6c 2d 73 65 73 l-output.rkt".........."repl-ses
17e60 73 69 6f 6e 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 73 74 61 63 6b 2d 63 68 65 63 6b 70 sion.rkt".........."stack-checkp
17e80 6f 69 6e 74 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 22 73 79 6e oint.rkt"..........(only-in."syn
17ea0 74 61 78 2e 72 6b 74 22 20 6d 61 6b 65 2d 63 61 63 68 69 6e 67 2d 6c 6f 61 64 2f 75 73 65 2d 63 tax.rkt".make-caching-load/use-c
17ec0 6f 6d 70 69 6c 65 64 2d 68 61 6e 64 6c 65 72 29 0a 20 20 20 20 20 20 20 20 20 22 75 74 69 6c 2e ompiled-handler).........."util.
17ee0 72 6b 74 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 72 65 70 6c 2d 73 74 61 72 74 0a 20 20 20 20 20 rkt")..(provide.repl-start......
17f00 20 20 20 20 72 65 70 6c 2d 65 78 69 74 0a 20 20 20 20 20 20 20 20 20 72 75 6e 0a 20 20 20 20 20 ....repl-exit..........run......
17f20 20 20 20 20 72 65 70 6c 2d 62 72 65 61 6b 0a 20 20 20 20 20 20 20 20 20 72 65 70 6c 2d 73 75 62 ....repl-break..........repl-sub
17f40 6d 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 70 6c 2d 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 mit..........repl-input.........
17f60 20 6d 61 79 62 65 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 3e 66 69 6c 65 29 0a 0a 3b 3b 3b 20 4d .maybe-module-path->file)..;;;.M
17f80 65 73 73 61 67 65 73 20 74 6f 20 65 61 63 68 20 72 65 70 6c 20 6d 61 6e 61 67 65 72 20 74 68 72 essages.to.each.repl.manager.thr
17fa0 65 61 64 0a 0a 3b 3b 20 44 65 66 69 6e 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 6e 74 65 78 74 2d ead..;;.Definitions.for.context-
17fc0 6c 65 76 65 6c 20 6d 65 6d 62 65 72 20 6f 66 20 72 75 6e 2d 63 6f 6e 66 69 67 20 73 74 72 75 63 level.member.of.run-config.struc
17fe0 74 0a 0a 28 64 65 66 69 6e 65 20 70 72 6f 66 69 6c 65 2f 63 6f 76 65 72 61 67 65 2d 6c 65 76 65 t..(define.profile/coverage-leve
18000 6c 73 0a 20 20 3b 3b 20 22 73 69 62 6c 69 6e 67 22 20 6c 65 76 65 6c 73 20 74 68 61 74 20 6e 65 ls...;;."sibling".levels.that.ne
18020 65 64 20 69 6e 73 74 72 75 6d 65 6e 74 20 70 6c 75 73 2e 2e 2e 0a 20 20 27 28 70 72 6f 66 69 6c ed.instrument.plus......'(profil
18040 65 20 20 20 20 3b 70 72 6f 66 69 6c 69 6e 67 2d 65 6e 61 62 6c 65 64 0a 20 20 20 20 63 6f 76 65 e....;profiling-enabled.....cove
18060 72 61 67 65 29 29 20 3b 65 78 65 63 75 74 65 2d 63 6f 75 6e 74 73 2d 65 6e 61 62 6c 65 64 0a 0a rage)).;execute-counts-enabled..
18080 28 64 65 66 69 6e 65 20 69 6e 73 74 72 75 6d 65 6e 74 2d 6c 65 76 65 6c 73 0a 20 20 60 28 68 69 (define.instrument-levels...`(hi
180a0 67 68 20 20 20 20 20 3b 63 6f 6d 70 69 6c 65 2d 63 6f 6e 74 65 78 74 2d 70 72 65 73 65 72 76 61 gh.....;compile-context-preserva
180c0 74 69 6f 6e 2d 65 6e 61 62 6c 65 64 20 23 74 20 2b 20 69 6e 73 74 72 75 6d 65 6e 74 0a 20 20 20 tion-enabled.#t.+.instrument....
180e0 20 2c 40 70 72 6f 66 69 6c 65 2f 63 6f 76 65 72 61 67 65 2d 6c 65 76 65 6c 73 29 29 0a 0a 28 64 .,@profile/coverage-levels))..(d
18100 65 66 69 6e 65 20 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c 73 0a 20 20 60 28 6c 6f 77 20 20 20 20 efine.context-levels...`(low....
18120 20 20 3b 63 6f 6d 70 69 6c 65 2d 63 6f 6e 74 65 78 74 2d 70 72 65 73 65 72 76 61 74 69 6f 6e 2d ..;compile-context-preservation-
18140 65 6e 61 62 6c 65 64 20 23 66 0a 20 20 20 20 6d 65 64 69 75 6d 20 20 20 3b 63 6f 6d 70 69 6c 65 enabled.#f.....medium...;compile
18160 2d 63 6f 6e 74 65 78 74 2d 70 72 65 73 65 72 76 61 74 69 6f 6e 2d 65 6e 61 62 6c 65 64 20 23 74 -context-preservation-enabled.#t
18180 0a 20 20 20 20 2c 40 69 6e 73 74 72 75 6d 65 6e 74 2d 6c 65 76 65 6c 73 0a 20 20 20 20 64 65 62 .....,@instrument-levels.....deb
181a0 75 67 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c 3f 20 76 29 ug))..(define.(context-level?.v)
181c0 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 71 3f 20 76 20 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c ..........(memq?.v.context-level
181e0 73 29 29 0a 28 64 65 66 69 6e 65 20 28 69 6e 73 74 72 75 6d 65 6e 74 2d 6c 65 76 65 6c 3f 20 76 s)).(define.(instrument-level?.v
18200 29 20 20 20 20 20 20 20 28 6d 65 6d 71 3f 20 76 20 69 6e 73 74 72 75 6d 65 6e 74 2d 6c 65 76 65 ).......(memq?.v.instrument-leve
18220 6c 73 29 29 0a 28 64 65 66 69 6e 65 20 28 70 72 6f 66 69 6c 65 2f 63 6f 76 65 72 61 67 65 2d 6c ls)).(define.(profile/coverage-l
18240 65 76 65 6c 3f 20 76 29 20 28 6d 65 6d 71 3f 20 76 20 70 72 6f 66 69 6c 65 2f 63 6f 76 65 72 61 evel?.v).(memq?.v.profile/covera
18260 67 65 2d 6c 65 76 65 6c 73 29 29 0a 28 64 65 66 69 6e 65 20 28 64 65 62 75 67 2d 6c 65 76 65 6c ge-levels)).(define.(debug-level
18280 3f 20 76 29 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 3f 20 76 20 27 64 65 62 75 67 29 29 0a ?.v)............(eq?.v.'debug)).
182a0 0a 3b 3b 20 41 74 74 72 69 62 75 74 65 73 20 74 68 61 74 20 6d 61 79 20 76 61 72 79 20 66 6f 72 .;;.Attributes.that.may.vary.for
182c0 20 65 61 63 68 20 72 75 6e 2e 0a 28 64 65 66 69 6e 65 2d 73 74 72 75 63 74 2f 63 6f 6e 74 72 61 .each.run..(define-struct/contra
182e0 63 74 20 72 75 6e 2d 63 6f 6e 66 69 67 0a 20 20 28 5b 6d 61 79 62 65 2d 6d 6f 64 20 20 20 20 20 ct.run-config...([maybe-mod.....
18300 20 20 28 6f 72 2f 63 20 23 66 20 6d 6f 64 75 6c 65 2d 70 61 74 68 3f 29 5d 0a 20 20 20 5b 65 78 ..(or/c.#f.module-path?)]....[ex
18320 74 72 61 2d 73 75 62 6d 6f 64 73 20 20 20 28 6c 69 73 74 6f 66 20 28 6c 69 73 74 6f 66 20 73 79 tra-submods...(listof.(listof.sy
18340 6d 62 6f 6c 3f 29 29 5d 0a 20 20 20 5b 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 20 20 20 20 65 78 61 mbol?))]....[memory-limit....exa
18360 63 74 2d 6e 6f 6e 6e 65 67 61 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 5d 20 3b 30 20 3d 20 6e 6f ct-nonnegative-integer?].;0.=.no
18380 20 6c 69 6d 69 74 0a 20 20 20 5b 70 72 65 74 74 79 2d 70 72 69 6e 74 3f 20 20 20 62 6f 6f 6c 65 .limit....[pretty-print?...boole
183a0 61 6e 3f 5d 0a 20 20 20 5b 63 6f 6c 75 6d 6e 73 20 20 20 20 20 20 20 20 20 65 78 61 63 74 2d 70 an?]....[columns.........exact-p
183c0 6f 73 69 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 5d 0a 20 20 20 5b 70 69 78 65 6c 73 2f 63 68 61 ositive-integer?]....[pixels/cha
183e0 72 20 20 20 20 20 65 78 61 63 74 2d 70 6f 73 69 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 5d 0a 20 r.....exact-positive-integer?]..
18400 20 20 5b 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c 20 20 20 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c ..[context-level...context-level
18420 3f 5d 0a 20 20 20 5b 63 6d 64 2d 6c 69 6e 65 2d 61 72 67 73 20 20 20 28 76 65 63 74 6f 72 6f 66 ?]....[cmd-line-args...(vectorof
18440 20 73 74 72 69 6e 67 3f 29 5d 0a 20 20 20 5b 64 65 62 75 67 2d 66 69 6c 65 73 20 20 20 20 20 28 .string?)]....[debug-files.....(
18460 73 65 74 2f 63 20 70 61 74 68 3f 29 5d 0a 20 20 20 5b 72 65 61 64 79 2d 74 68 75 6e 6b 20 20 20 set/c.path?)]....[ready-thunk...
18480 20 20 28 2d 3e 20 61 6e 79 2f 63 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 69 6e 69 74 69 61 ..(->.any/c)]))..(define.(initia
184a0 6c 2d 72 75 6e 2d 63 6f 6e 66 69 67 20 72 65 61 64 79 2d 74 68 75 6e 6b 29 0a 20 20 28 72 75 6e l-run-config.ready-thunk)...(run
184c0 2d 63 6f 6e 66 69 67 20 23 66 20 20 20 20 3b 6d 61 79 62 65 2d 6d 6f 64 0a 20 20 20 20 20 20 20 -config.#f....;maybe-mod........
184e0 20 20 20 20 20 20 20 27 28 29 20 20 20 3b 65 78 74 72 61 2d 73 75 62 6d 6f 64 73 0a 20 20 20 20 .......'()...;extra-submods.....
18500 20 20 20 20 20 20 20 20 20 20 30 20 20 20 20 20 3b 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 0a 20 20 ..........0.....;memory-limit...
18520 20 20 20 20 20 20 20 20 20 20 20 20 23 66 20 20 20 20 3b 70 72 65 74 74 79 2d 70 72 69 6e 74 3f ............#f....;pretty-print?
18540 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37 39 20 20 20 20 3b 63 6f 6c 75 6d 6e 73 0a 20 20 ...............79....;columns...
18560 20 20 20 20 20 20 20 20 20 20 20 20 31 32 20 20 20 20 3b 70 69 78 65 6c 73 2f 63 68 61 72 0a 20 ............12....;pixels/char..
18580 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 6f 77 20 20 3b 63 6f 6e 74 65 78 74 2d 6c 65 76 65 .............'low..;context-leve
185a0 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 28 29 20 20 20 3b 63 6d 64 2d 6c 69 6e 65 2d l...............#()...;cmd-line-
185c0 61 72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 29 20 3b 64 65 62 75 67 2d args...............(set).;debug-
185e0 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 64 79 2d 74 68 75 6e 6b 29 files...............ready-thunk)
18600 29 0a 0a 3b 3b 20 43 6f 6d 6d 61 6e 64 2e 20 43 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 63 6f 6d )..;;.Command..Called.from.a.com
18620 6d 61 6e 64 2d 73 65 72 76 65 72 20 74 68 72 65 61 64 0a 28 64 65 66 69 6e 65 20 28 72 65 70 6c mand-server.thread.(define.(repl
18640 2d 73 74 61 72 74 20 73 69 64 29 0a 20 20 28 77 68 65 6e 20 28 67 65 74 2d 73 65 73 73 69 6f 6e -start.sid)...(when.(get-session
18660 20 73 69 64 29 0a 20 20 20 20 28 65 72 72 6f 72 20 27 72 65 70 6c 2d 73 74 61 72 74 20 22 73 65 .sid).....(error.'repl-start."se
18680 73 73 69 6f 6e 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 20 77 69 74 68 20 69 64 20 7e 61 22 ssion.already.exists.with.id.~a"
186a0 20 73 69 64 29 29 0a 20 20 28 64 65 66 69 6e 65 20 72 65 61 64 79 2d 63 68 20 28 6d 61 6b 65 2d .sid))...(define.ready-ch.(make-
186c0 63 68 61 6e 6e 65 6c 29 29 0a 20 20 28 74 68 72 65 61 64 20 28 72 65 70 6c 2d 6d 61 6e 61 67 65 channel))...(thread.(repl-manage
186e0 72 2d 74 68 72 65 61 64 2d 74 68 75 6e 6b 20 73 69 64 20 72 65 61 64 79 2d 63 68 29 29 0a 20 20 r-thread-thunk.sid.ready-ch))...
18700 28 73 79 6e 63 20 72 65 61 64 79 2d 63 68 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 72 65 70 6c 2d (sync.ready-ch))..(define.(repl-
18720 65 78 69 74 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6d 73 exit)...(unless.(current-repl-ms
18740 67 2d 63 68 61 6e 29 0a 20 20 20 20 28 65 72 72 6f 72 20 27 72 65 70 6c 2d 65 78 69 74 20 22 4e g-chan).....(error.'repl-exit."N
18760 6f 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 74 6f 20 65 78 69 74 22 29 29 0a 20 20 28 63 68 61 o.REPL.session.to.exit"))...(cha
18780 6e 6e 65 6c 2d 70 75 74 20 28 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6d 73 67 2d 63 68 61 6e 29 nnel-put.(current-repl-msg-chan)
187a0 20 27 65 78 69 74 29 29 0a 0a 3b 3b 20 43 6f 6d 6d 61 6e 64 2e 20 43 61 6c 6c 65 64 20 66 72 6f .'exit))..;;.Command..Called.fro
187c0 6d 20 61 20 63 6f 6d 6d 61 6e 64 2d 73 65 72 76 65 72 20 74 68 72 65 61 64 0a 28 64 65 66 69 6e m.a.command-server.thread.(defin
187e0 65 20 28 72 65 70 6c 2d 62 72 65 61 6b 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 63 75 72 72 65 6e e.(repl-break)...(unless.(curren
18800 74 2d 72 65 70 6c 2d 6d 73 67 2d 63 68 61 6e 29 0a 20 20 20 20 28 65 72 72 6f 72 20 27 72 65 70 t-repl-msg-chan).....(error.'rep
18820 6c 2d 62 72 65 61 6b 20 22 4e 6f 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 74 6f 20 62 72 65 61 l-break."No.REPL.session.to.brea
18840 6b 22 29 29 0a 20 20 28 63 68 61 6e 6e 65 6c 2d 70 75 74 20 28 63 75 72 72 65 6e 74 2d 72 65 70 k"))...(channel-put.(current-rep
18860 6c 2d 6d 73 67 2d 63 68 61 6e 29 20 27 62 72 65 61 6b 29 29 0a 0a 3b 3b 20 43 6f 6d 6d 61 6e 64 l-msg-chan).'break))..;;.Command
18880 2e 20 43 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 63 6f 6d 6d 61 6e 64 2d 73 65 72 76 65 72 20 74 ..Called.from.a.command-server.t
188a0 68 72 65 61 64 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 72 65 70 6c 2d 73 75 62 hread.(define/contract.(repl-sub
188c0 6d 69 74 20 73 74 72 29 0a 20 20 28 2d 3e 20 73 74 72 69 6e 67 3f 20 61 6e 79 29 0a 20 20 28 75 mit.str)...(->.string?.any)...(u
188e0 6e 6c 65 73 73 20 28 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 73 69 6f 6e 73 29 0a 20 20 20 20 nless.(current-submissions).....
18900 28 65 72 72 6f 72 20 27 72 65 70 6c 2d 73 75 62 6d 69 74 20 22 4e 6f 20 52 45 50 4c 20 73 65 73 (error.'repl-submit."No.REPL.ses
18920 73 69 6f 6e 20 66 6f 72 20 73 75 62 6d 69 74 22 29 29 0a 20 20 28 63 68 61 6e 6e 65 6c 2d 70 75 sion.for.submit"))...(channel-pu
18940 74 20 28 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 73 69 6f 6e 73 29 20 73 74 72 29 29 0a 0a 3b t.(current-submissions).str))..;
18960 3b 20 43 6f 6d 6d 61 6e 64 2e 20 43 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 63 6f 6d 6d 61 6e 64 ;.Command..Called.from.a.command
18980 2d 73 65 72 76 65 72 20 74 68 72 65 61 64 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 -server.thread.(define/contract.
189a0 28 72 65 70 6c 2d 69 6e 70 75 74 20 73 74 72 29 0a 20 20 28 2d 3e 20 73 74 72 69 6e 67 3f 20 61 (repl-input.str)...(->.string?.a
189c0 6e 79 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6d 73 67 2d ny)...(unless.(current-repl-msg-
189e0 63 68 61 6e 29 0a 20 20 20 20 28 65 72 72 6f 72 20 27 72 65 70 6c 2d 69 6e 70 75 74 20 22 4e 6f chan).....(error.'repl-input."No
18a00 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 66 6f 72 20 69 6e 70 75 74 22 29 29 0a 20 20 28 63 68 .REPL.session.for.input"))...(ch
18a20 61 6e 6e 65 6c 2d 70 75 74 20 28 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6d 73 67 2d 63 68 61 6e annel-put.(current-repl-msg-chan
18a40 29 20 60 28 69 6e 70 75 74 20 2c 28 73 74 72 69 6e 67 2d 3e 62 79 74 65 73 2f 75 74 66 2d 38 20 ).`(input.,(string->bytes/utf-8.
18a60 73 74 72 29 29 29 29 0a 0a 3b 3b 20 43 6f 6d 6d 61 6e 64 2e 20 43 61 6c 6c 65 64 20 66 72 6f 6d str))))..;;.Command..Called.from
18a80 20 61 20 63 6f 6d 6d 61 6e 64 2d 73 65 72 76 65 72 20 74 68 72 65 61 64 0a 28 64 65 66 69 6e 65 .a.command-server.thread.(define
18aa0 2f 63 6f 6e 74 72 61 63 74 20 28 72 75 6e 20 77 68 61 74 20 73 75 62 73 20 6d 65 6d 20 70 70 20 /contract.(run.what.subs.mem.pp.
18ac0 63 6f 6c 73 20 70 69 78 2f 63 68 61 72 20 63 74 78 20 61 72 67 73 20 64 62 67 73 29 0a 20 20 28 cols.pix/char.ctx.args.dbgs)...(
18ae0 2d 3e 20 6c 69 73 74 3f 20 28 6c 69 73 74 6f 66 20 28 6c 69 73 74 6f 66 20 73 79 6d 62 6f 6c 3f ->.list?.(listof.(listof.symbol?
18b00 29 29 20 6e 75 6d 62 65 72 3f 20 65 6c 69 73 70 2d 62 6f 6f 6c 2f 63 20 6e 75 6d 62 65 72 3f 20 )).number?.elisp-bool/c.number?.
18b20 6e 75 6d 62 65 72 3f 20 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c 3f 20 6c 69 73 74 3f 20 28 6c 69 number?.context-level?.list?.(li
18b40 73 74 6f 66 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 29 0a 20 20 20 20 20 20 6c 69 73 74 3f 29 0a stof.path-string?).......list?).
18b60 20 20 28 75 6e 6c 65 73 73 20 28 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6d 73 67 2d 63 68 61 6e ..(unless.(current-repl-msg-chan
18b80 29 0a 20 20 20 20 28 65 72 72 6f 72 20 27 72 75 6e 20 22 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d ).....(error.'run."current-repl-
18ba0 6d 73 67 2d 63 68 61 6e 20 77 61 73 20 23 66 3b 20 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e msg-chan.was.#f;.current-session
18bc0 2d 69 64 3d 7e 76 22 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 73 65 73 73 -id=~v"............(current-sess
18be0 69 6f 6e 2d 69 64 29 29 29 0a 20 20 28 64 65 66 69 6e 65 20 6d 6f 64 2d 70 61 74 68 0a 20 20 20 ion-id)))...(define.mod-path....
18c00 20 28 6d 61 74 63 68 20 77 68 61 74 0a 20 20 20 20 20 20 5b 28 63 6f 6e 73 20 28 3f 20 63 6f 6d .(match.what.......[(cons.(?.com
18c20 70 6c 65 74 65 2d 70 61 74 68 3f 20 70 61 74 68 2d 73 74 72 69 6e 67 29 20 73 75 62 6d 6f 64 73 plete-path?.path-string).submods
18c40 29 0a 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 61 74 68 20 28 73 69 6d 70 6c 69 66 79 2d )........(define.path.(simplify-
18c60 70 61 74 68 20 28 73 74 72 69 6e 67 2d 3e 70 61 74 68 20 70 61 74 68 2d 73 74 72 69 6e 67 29 29 path.(string->path.path-string))
18c80 29 0a 20 20 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 3f 20 73 75 62 6d 6f 64 73 29 0a 20 20 20 )........(if.(null?.submods)....
18ca0 20 20 20 20 20 20 20 20 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 2a 20 27 ........path............(list*.'
18cc0 73 75 62 6d 6f 64 20 70 61 74 68 20 73 75 62 6d 6f 64 73 29 29 5d 29 29 0a 20 20 28 64 65 66 69 submod.path.submods))]))...(defi
18ce0 6e 65 20 72 65 61 64 79 2d 63 68 61 6e 6e 65 6c 20 28 6d 61 6b 65 2d 63 68 61 6e 6e 65 6c 29 29 ne.ready-channel.(make-channel))
18d00 0a 20 20 28 63 68 61 6e 6e 65 6c 2d 70 75 74 20 28 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6d 73 ...(channel-put.(current-repl-ms
18d20 67 2d 63 68 61 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 75 6e 2d 63 6f 6e 66 g-chan)................(run-conf
18d40 69 67 20 6d 6f 64 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ig.mod-path.....................
18d60 20 20 20 20 20 20 20 73 75 62 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......subs.....................
18d80 20 20 20 20 20 20 20 6d 65 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......mem......................
18da0 20 20 20 20 20 20 28 61 73 2d 72 61 63 6b 65 74 2d 62 6f 6f 6c 20 70 70 29 0a 20 20 20 20 20 20 ......(as-racket-bool.pp).......
18dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 73 0a 20 20 20 20 20 20 .....................cols.......
18de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 69 78 2f 63 68 61 72 0a 20 20 .....................pix/char...
18e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 74 78 0a 20 20 20 .........................ctx....
18e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 2d 3e 76 ........................(list->v
18e40 65 63 74 6f 72 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ector.args).....................
18e60 20 20 20 20 20 20 20 28 6c 69 73 74 2d 3e 73 65 74 20 28 6d 61 70 20 73 74 72 69 6e 67 2d 3e 70 .......(list->set.(map.string->p
18e80 61 74 68 20 64 62 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ath.dbgs))......................
18ea0 20 20 20 20 20 20 28 ce bb 20 28 29 20 28 63 68 61 6e 6e 65 6c 2d 70 75 74 20 72 65 61 64 79 2d ......(...().(channel-put.ready-
18ec0 63 68 61 6e 6e 65 6c 20 77 68 61 74 29 29 29 29 0a 20 20 3b 3b 20 57 61 69 74 69 6e 67 20 66 6f channel.what))))...;;.Waiting.fo
18ee0 72 20 74 68 69 73 20 61 6c 6c 6f 77 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 73 70 6f 6e r.this.allows.the.command.respon
18f00 73 65 20 74 6f 20 62 65 20 75 73 65 64 20 61 73 20 74 68 65 0a 20 20 3b 3b 20 61 6c 6c 2d 63 6c se.to.be.used.as.the...;;.all-cl
18f20 65 61 72 20 66 6f 72 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 ear.for.additional.commands.that
18f40 20 6e 65 65 64 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 6f 61 64 20 74 6f 20 62 65 0a 20 20 3b 3b .need.the.module.load.to.be...;;
18f60 20 64 6f 6e 65 20 61 6e 64 20 65 6e 74 65 72 69 6e 67 20 61 20 52 45 50 4c 20 66 6f 72 20 74 68 .done.and.entering.a.REPL.for.th
18f80 61 74 20 6d 6f 64 75 6c 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 63 6f 6d 70 6f at.module..For.example,.to.compo
18fa0 73 65 0a 20 20 3b 3b 20 72 75 6e 20 77 69 74 68 20 67 65 74 2d 70 72 6f 66 69 6c 65 20 6f 72 20 se...;;.run.with.get-profile.or.
18fc0 67 65 74 2d 75 6e 63 6f 76 65 72 65 64 2e 0a 20 20 28 73 79 6e 63 20 72 65 61 64 79 2d 63 68 61 get-uncovered....(sync.ready-cha
18fe0 6e 6e 65 6c 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 6d 61 79 62 65 2d nnel))..(define/contract.(maybe-
19000 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 3e 66 69 6c 65 20 6d 29 0a 20 20 28 2d 3e 20 28 6f 72 2f 63 module-path->file.m)...(->.(or/c
19020 20 23 66 20 6d 6f 64 75 6c 65 2d 70 61 74 68 3f 29 20 70 61 74 68 3f 29 0a 20 20 28 6d 61 74 63 .#f.module-path?).path?)...(matc
19040 68 20 6d 0a 20 20 20 20 5b 28 3f 20 70 61 74 68 3f 20 70 29 20 20 20 20 20 20 20 20 20 20 20 20 h.m.....[(?.path?.p)............
19060 20 20 20 20 20 20 20 70 5d 0a 20 20 20 20 5b 28 6c 69 73 74 2a 20 27 73 75 62 6d 6f 64 20 28 3f .......p].....[(list*.'submod.(?
19080 20 70 61 74 68 3f 20 70 29 20 5f 29 20 70 5d 0a 20 20 20 20 5b 23 66 20 20 20 20 20 20 20 20 20 .path?.p)._).p].....[#f.........
190a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 64 69 72 65 ...................(current-dire
190c0 63 74 6f 72 79 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 6d 61 79 ctory)]))..(define/contract.(may
190e0 62 65 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 3e 70 72 6f 6d 70 74 2d 73 74 72 69 6e 67 20 6d 29 be-module-path->prompt-string.m)
19100 0a 20 20 28 2d 3e 20 28 6f 72 2f 63 20 23 66 20 6d 6f 64 75 6c 65 2d 70 61 74 68 3f 29 20 73 74 ...(->.(or/c.#f.module-path?).st
19120 72 69 6e 67 3f 29 0a 20 20 28 64 65 66 69 6e 65 20 28 6e 61 6d 65 20 70 29 0a 20 20 20 20 28 7e ring?)...(define.(name.p).....(~
19140 61 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 66 72 6f 6d 2d 70 61 74 68 20 70 29 29 29 0a 20 20 28 6d a.(file-name-from-path.p)))...(m
19160 61 74 63 68 20 6d 0a 20 20 20 20 5b 28 3f 20 70 61 74 68 3f 20 70 29 20 20 20 20 20 20 20 20 20 atch.m.....[(?.path?.p).........
19180 20 28 6e 61 6d 65 20 70 29 5d 0a 20 20 20 20 5b 28 6c 69 73 74 2a 20 27 73 75 62 6d 6f 64 20 70 .(name.p)].....[(list*.'submod.p
191a0 20 78 73 29 20 28 73 74 72 69 6e 67 2d 6a 6f 69 6e 20 28 63 6f 6e 73 20 28 6e 61 6d 65 20 70 29 .xs).(string-join.(cons.(name.p)
191c0 20 28 6d 61 70 20 7e 61 20 78 73 29 29 20 22 2f 22 29 5d 0a 20 20 20 20 5b 23 66 20 20 20 20 20 .(map.~a.xs))."/")].....[#f.....
191e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 5d 29 29 0a 0a 3b 3b 3b 20 52 45 50 4c 20 73 65 ..............""]))..;;;.REPL.se
19200 73 73 69 6f 6e 73 0a 0a 28 64 65 66 69 6e 65 20 28 28 72 65 70 6c 2d 6d 61 6e 61 67 65 72 2d 74 ssions..(define.((repl-manager-t
19220 68 72 65 61 64 2d 74 68 75 6e 6b 20 73 65 73 73 69 6f 6e 2d 69 64 20 72 65 61 64 79 2d 63 68 29 hread-thunk.session-id.ready-ch)
19240 29 0a 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 69 6e 66 6f 20 22 73 74 61 72 74 )...(log-racket-mode-info."start
19260 69 6e 67 20 72 65 70 6c 20 73 65 73 73 69 6f 6e 20 7e 76 22 20 73 65 73 73 69 6f 6e 2d 69 64 29 ing.repl.session.~v".session-id)
19280 0a 20 20 3b 3b 20 4d 61 6b 65 20 70 69 70 65 20 66 6f 72 20 75 73 65 72 20 70 72 6f 67 72 61 6d ...;;.Make.pipe.for.user.program
192a0 20 69 6e 70 75 74 20 28 61 73 20 64 69 73 74 69 6e 63 74 20 66 6f 72 6d 20 72 65 70 6c 2d 73 75 .input.(as.distinct.form.repl-su
192c0 62 6d 69 74 0a 20 20 3b 3b 20 69 6e 70 75 74 29 2e 0a 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a bmit...;;.input)....(parameteriz
192e0 65 2a 20 28 5b 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 69 64 20 20 20 20 20 20 20 20 20 e*.([current-session-id.........
19300 20 73 65 73 73 69 6f 6e 2d 69 64 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b .session-id]...................[
19320 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 6e 61 67 65 72 20 28 6d 61 6b current-repl-output-manager.(mak
19340 65 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 6e 61 67 65 72 20 73 65 73 73 69 6f 6e 2d 69 64 e-repl-output-manager.session-id
19360 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 72 65 )]...................[current-re
19380 70 6c 2d 6d 73 67 2d 63 68 61 6e 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 63 68 61 6e 6e 65 6c 29 pl-msg-chan.......(make-channel)
193a0 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 73 75 62 ]...................[current-sub
193c0 6d 69 73 73 69 6f 6e 73 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 63 68 61 6e 6e 65 6c 29 5d missions.........(make-channel)]
193e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 72 72 6f 72 2d 64 69 73 70 6c 61 ...................[error-displa
19400 79 2d 68 61 6e 64 6c 65 72 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 65 72 72 6f y-handler.......racket-mode-erro
19420 72 2d 64 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 5d 29 0a 20 20 20 20 28 73 65 74 2d 73 65 73 r-display-handler]).....(set-ses
19440 73 69 6f 6e 21 20 73 65 73 73 69 6f 6e 2d 69 64 20 23 66 29 0a 20 20 20 20 28 64 6f 2d 72 75 6e sion!.session-id.#f).....(do-run
19460 0a 20 20 20 20 20 28 69 6e 69 74 69 61 6c 2d 72 75 6e 2d 63 6f 6e 66 69 67 0a 20 20 20 20 20 20 ......(initial-run-config.......
19480 28 ce bb 20 28 29 0a 20 20 20 20 20 20 20 20 28 63 68 61 6e 6e 65 6c 2d 70 75 74 20 72 65 61 64 (...().........(channel-put.read
194a0 79 2d 63 68 20 23 74 29 0a 20 20 20 20 20 20 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 65 y-ch.#t).........(repl-output-me
194c0 73 73 61 67 65 20 28 62 61 6e 6e 65 72 29 29 29 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 64 ssage.(banner)))))))..(define.(d
194e0 6f 2d 72 75 6e 20 63 66 67 29 20 3b 72 75 6e 2d 63 6f 6e 66 69 67 3f 20 2d 3e 20 76 6f 69 64 3f o-run.cfg).;run-config?.->.void?
19500 0a 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 20 28 72 75 6e 2d 63 6f 6e 66 69 67 20 6d 61 79 ...(match-define.(run-config.may
19520 62 65 2d 6d 6f 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 be-mod..........................
19540 20 20 20 65 78 74 72 61 2d 73 75 62 6d 6f 64 73 2d 74 6f 2d 72 75 6e 0a 20 20 20 20 20 20 20 20 ...extra-submods-to-run.........
19560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 2d 6c 69 6d 69 74 0a 20 20 ....................mem-limit...
19580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 74 74 79 ..........................pretty
195a0 2d 70 72 69 6e 74 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -print?.........................
195c0 20 20 20 20 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....columns.....................
195e0 20 20 20 20 20 20 20 20 70 69 78 65 6c 73 2f 63 68 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........pixels/char.............
19600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c 0a 20 20 ................context-level...
19620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6d 64 2d 6c 69 ..........................cmd-li
19640 6e 65 2d 61 72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne-args.........................
19660 20 20 20 20 64 65 62 75 67 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....debug-files.................
19680 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 64 79 2d 74 68 75 6e 6b 29 20 20 20 63 66 67 29 0a ............ready-thunk)...cfg).
196a0 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 72 75 6e 20 28 6d 61 79 62 65 2d 6d 6f 64 75 6c 65 ..(repl-output-run.(maybe-module
196c0 2d 70 61 74 68 2d 3e 70 72 6f 6d 70 74 2d 73 74 72 69 6e 67 20 6d 61 79 62 65 2d 6d 6f 64 29 29 -path->prompt-string.maybe-mod))
196e0 0a 20 20 28 64 65 66 69 6e 65 20 66 69 6c 65 20 28 6d 61 79 62 65 2d 6d 6f 64 75 6c 65 2d 70 61 ...(define.file.(maybe-module-pa
19700 74 68 2d 3e 66 69 6c 65 20 6d 61 79 62 65 2d 6d 6f 64 29 29 0a 20 20 28 64 65 66 69 6e 65 20 64 th->file.maybe-mod))...(define.d
19720 69 72 20 28 70 61 74 68 2d 6f 6e 6c 79 20 66 69 6c 65 29 29 0a 20 20 3b 3b 20 53 65 74 20 63 75 ir.(path-only.file))...;;.Set.cu
19740 72 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 20 2d 2d 20 62 75 74 20 6e 6f 74 20 63 75 72 72 65 rrent-directory.--.but.not.curre
19760 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 6f 72 79 2c 0a 20 20 3b 3b nt-load-relative-directory,...;;
19780 20 73 65 65 20 23 34 39 32 20 2d 2d 20 74 6f 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 27 .see.#492.--.to.the.source.file'
197a0 73 20 64 69 72 65 63 74 6f 72 79 2e 0a 20 20 28 63 75 72 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 s.directory....(current-director
197c0 79 20 64 69 72 29 0a 20 20 3b 3b 20 43 75 73 74 6f 64 69 61 6e 20 66 6f 72 20 74 68 65 20 52 45 y.dir)...;;.Custodian.for.the.RE
197e0 50 4c 2e 0a 20 20 28 64 65 66 69 6e 65 20 72 65 70 6c 2d 63 75 73 74 20 28 6d 61 6b 65 2d 63 75 PL....(define.repl-cust.(make-cu
19800 73 74 6f 64 69 61 6e 29 29 0a 20 20 28 77 68 65 6e 20 28 3c 20 30 20 6d 65 6d 2d 6c 69 6d 69 74 stodian))...(when.(<.0.mem-limit
19820 29 0a 20 20 20 20 28 63 75 73 74 6f 64 69 61 6e 2d 6c 69 6d 69 74 2d 6d 65 6d 6f 72 79 20 72 65 ).....(custodian-limit-memory.re
19840 70 6c 2d 63 75 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pl-cust.........................
19860 20 20 20 20 28 69 6e 65 78 61 63 74 2d 3e 65 78 61 63 74 20 28 72 6f 75 6e 64 20 28 2a 20 31 30 ....(inexact->exact.(round.(*.10
19880 32 34 20 31 30 32 34 20 6d 65 6d 2d 6c 69 6d 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 24.1024.mem-limit)))............
198a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 6c 2d 63 75 73 74 29 29 0a 20 20 28 .................repl-cust))...(
198c0 64 65 66 69 6e 65 20 28 6f 75 72 2d 65 78 69 74 20 5b 5f 76 20 23 66 5d 29 0a 20 20 20 20 28 72 define.(our-exit.[_v.#f]).....(r
198e0 65 70 6c 2d 6f 75 74 70 75 74 2d 65 78 69 74 29 0a 20 20 20 20 28 63 75 73 74 6f 64 69 61 6e 2d epl-output-exit).....(custodian-
19900 73 68 75 74 64 6f 77 6e 2d 61 6c 6c 20 72 65 70 6c 2d 63 75 73 74 29 0a 20 20 20 20 28 72 65 6d shutdown-all.repl-cust).....(rem
19920 6f 76 65 2d 73 65 73 73 69 6f 6e 21 20 28 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 69 64 ove-session!.(current-session-id
19940 29 29 29 0a 20 20 28 65 78 69 74 2d 68 61 6e 64 6c 65 72 20 6f 75 72 2d 65 78 69 74 29 0a 0a 20 )))...(exit-handler.our-exit)...
19960 20 3b 3b 20 49 6e 70 75 74 20 66 6f 72 20 75 73 65 72 20 70 72 6f 67 72 61 6d 20 28 61 73 20 64 .;;.Input.for.user.program.(as.d
19980 69 73 74 69 6e 63 74 20 66 72 6f 6d 20 52 45 50 4c 20 73 75 62 6d 69 73 73 69 6f 6e 73 2c 20 66 istinct.from.REPL.submissions,.f
199a0 6f 72 0a 20 20 3b 3b 20 77 68 69 63 68 20 73 65 65 20 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 or...;;.which.see.current-submis
199c0 73 69 6f 6e 73 20 61 6e 64 20 67 65 74 2d 69 6e 74 65 72 61 63 74 69 6f 6e 29 2e 0a 20 20 28 64 sions.and.get-interaction)....(d
199e0 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 75 73 65 72 2d 70 69 70 65 2d 69 6e 20 75 73 65 72 2d efine-values.(user-pipe-in.user-
19a00 70 69 70 65 2d 6f 75 74 29 20 28 6d 61 6b 65 2d 70 69 70 65 20 23 66 20 27 72 65 70 6c 29 29 0a pipe-out).(make-pipe.#f.'repl)).
19a20 0a 20 20 3b 3b 20 72 65 70 6c 2d 74 68 75 6e 6b 20 6c 6f 61 64 73 20 74 68 65 20 75 73 65 72 20 ...;;.repl-thunk.loads.the.user.
19a40 70 72 6f 67 72 61 6d 20 61 6e 64 20 65 6e 74 65 72 73 20 72 65 61 64 2d 65 76 61 6c 2d 70 72 69 program.and.enters.read-eval-pri
19a60 6e 74 2d 6c 6f 6f 70 0a 20 20 28 64 65 66 69 6e 65 20 28 72 65 70 6c 2d 74 68 75 6e 6b 29 0a 20 nt-loop...(define.(repl-thunk)..
19a80 20 20 20 3b 3b 20 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 ...;;.Command.line.arguments....
19aa0 20 28 63 75 72 72 65 6e 74 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 .(current-command-line-arguments
19ac0 20 63 6d 64 2d 6c 69 6e 65 2d 61 72 67 73 29 0a 20 20 20 20 3b 3b 20 53 65 74 20 70 6f 72 74 73 .cmd-line-args).....;;.Set.ports
19ae0 2c 20 63 75 72 72 65 6e 74 2d 70 72 69 6e 74 20 68 61 6e 64 6c 65 72 2c 20 61 6e 64 20 6f 75 74 ,.current-print.handler,.and.out
19b00 70 75 74 20 68 61 6e 64 6c 65 72 73 0a 20 20 20 20 28 63 75 72 72 65 6e 74 2d 69 6e 70 75 74 2d put.handlers.....(current-input-
19b20 70 6f 72 74 20 75 73 65 72 2d 70 69 70 65 2d 69 6e 29 0a 20 20 20 20 28 63 75 72 72 65 6e 74 2d port.user-pipe-in).....(current-
19b40 6f 75 74 70 75 74 2d 70 6f 72 74 20 28 6d 61 6b 65 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 70 6f output-port.(make-repl-output-po
19b60 72 74 29 29 0a 20 20 20 20 28 63 75 72 72 65 6e 74 2d 65 72 72 6f 72 2d 70 6f 72 74 20 20 28 6d rt)).....(current-error-port..(m
19b80 61 6b 65 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 70 6f 72 74 29 29 0a 20 20 20 20 28 63 75 72 72 65 ake-repl-error-port)).....(curre
19ba0 6e 74 2d 70 72 69 6e 74 20 28 6d 61 6b 65 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 70 72 69 6e 74 nt-print.(make-racket-mode-print
19bc0 2d 68 61 6e 64 6c 65 72 20 70 72 65 74 74 79 2d 70 72 69 6e 74 3f 20 63 6f 6c 75 6d 6e 73 20 70 -handler.pretty-print?.columns.p
19be0 69 78 65 6c 73 2f 63 68 61 72 29 29 0a 20 20 20 20 28 73 65 74 2d 6f 75 74 70 75 74 2d 68 61 6e ixels/char)).....(set-output-han
19c00 64 6c 65 72 73 29 0a 20 20 20 20 3b 3b 20 52 65 63 6f 72 64 20 61 73 20 6d 75 63 68 20 69 6e 66 dlers).....;;.Record.as.much.inf
19c20 6f 20 61 62 6f 75 74 20 6f 75 72 20 73 65 73 73 69 6f 6e 20 61 73 20 77 65 20 63 61 6e 2c 20 62 o.about.our.session.as.we.can,.b
19c40 65 66 6f 72 65 0a 20 20 20 20 3b 3b 20 70 6f 73 73 69 62 6c 79 20 65 6e 74 65 72 69 6e 67 20 6d efore.....;;.possibly.entering.m
19c60 6f 64 75 6c 65 2d 3e 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 28 73 65 74 2d 73 65 73 73 69 odule->namespace......(set-sessi
19c80 6f 6e 21 20 28 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 69 64 29 20 6d 61 79 62 65 2d 6d on!.(current-session-id).maybe-m
19ca0 6f 64 29 0a 20 20 20 20 3b 3b 20 53 65 74 20 6f 75 72 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 od).....;;.Set.our.initial.value
19cc0 20 66 6f 72 20 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 2e 20 57 68 65 6e 20 6e 6f 20 .for.current-namespace..When.no.
19ce0 6d 6f 64 75 6c 65 2c 0a 20 20 20 20 3b 3b 20 74 68 69 73 20 77 69 6c 6c 20 62 65 20 74 68 65 20 module,.....;;.this.will.be.the.
19d00 6e 73 20 75 73 65 64 20 69 6e 20 74 68 65 20 52 45 50 4c 2e 20 4f 74 68 65 72 77 69 73 65 20 74 ns.used.in.the.REPL..Otherwise.t
19d20 68 69 73 20 69 73 20 73 69 6d 70 6c 79 0a 20 20 20 20 3b 3b 20 74 68 65 20 69 6e 74 69 61 6c 20 his.is.simply.....;;.the.intial.
19d40 6e 73 20 75 73 65 64 20 66 6f 72 20 6d 6f 64 75 6c 65 2d 3e 6e 61 6d 65 73 70 61 63 65 2c 20 62 ns.used.for.module->namespace,.b
19d60 65 6c 6f 77 2c 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 0a 20 20 20 20 3b 3b 20 77 68 61 74 20 elow,.which.returns.....;;.what.
19d80 77 65 20 77 69 6c 6c 20 73 65 74 20 61 73 20 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 we.will.set.as.current-namespace
19da0 20 66 6f 72 20 74 68 65 20 52 45 50 4c 2e 0a 20 20 20 20 28 63 75 72 72 65 6e 74 2d 6e 61 6d 65 .for.the.REPL......(current-name
19dc0 73 70 61 63 65 20 28 6d 61 6b 65 2d 69 6e 69 74 69 61 6c 2d 72 65 70 6c 2d 6e 61 6d 65 73 70 61 space.(make-initial-repl-namespa
19de0 63 65 29 29 0a 20 20 20 20 3b 3b 20 4e 6f 77 20 74 68 61 74 20 74 68 65 20 69 6e 69 74 69 61 6c ce)).....;;.Now.that.the.initial
19e00 20 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 69 73 20 73 65 74 2c 20 73 65 74 20 73 .current-namespace.is.set,.set.s
19e20 6f 6d 65 0a 20 20 20 20 3b 3b 20 70 61 72 61 6d 65 74 65 72 73 20 72 65 6c 61 74 65 64 20 74 6f ome.....;;.parameters.related.to
19e40 20 65 76 61 6c 75 61 74 69 6f 6e 2e 0a 20 20 20 20 28 63 6f 6d 70 69 6c 65 2d 65 6e 66 6f 72 63 .evaluation......(compile-enforc
19e60 65 2d 6d 6f 64 75 6c 65 2d 63 6f 6e 73 74 61 6e 74 73 20 28 65 71 3f 20 63 6f 6e 74 65 78 74 2d e-module-constants.(eq?.context-
19e80 6c 65 76 65 6c 20 27 6c 6f 77 29 29 0a 20 20 20 20 28 63 6f 6d 70 69 6c 65 2d 63 6f 6e 74 65 78 level.'low)).....(compile-contex
19ea0 74 2d 70 72 65 73 65 72 76 61 74 69 6f 6e 2d 65 6e 61 62 6c 65 64 20 28 6e 6f 74 20 28 65 71 3f t-preservation-enabled.(not.(eq?
19ec0 20 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c 20 27 6c 6f 77 29 29 29 0a 20 20 20 20 28 63 75 72 72 .context-level.'low))).....(curr
19ee0 65 6e 74 2d 65 76 61 6c 0a 20 20 20 20 20 5b 63 6f 6e 64 20 5b 28 64 65 62 75 67 2d 6c 65 76 65 ent-eval......[cond.[(debug-leve
19f00 6c 3f 20 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c 29 20 28 6d 61 6b 65 2d 64 65 62 75 67 2d 65 76 l?.context-level).(make-debug-ev
19f20 61 6c 2d 68 61 6e 64 6c 65 72 20 64 65 62 75 67 2d 66 69 6c 65 73 29 5d 0a 20 20 20 20 20 20 20 al-handler.debug-files)]........
19f40 20 20 20 20 5b 28 69 6e 73 74 72 75 6d 65 6e 74 2d 6c 65 76 65 6c 3f 20 63 6f 6e 74 65 78 74 2d ....[(instrument-level?.context-
19f60 6c 65 76 65 6c 29 28 6d 61 6b 65 2d 69 6e 73 74 72 75 6d 65 6e 74 65 64 2d 65 76 61 6c 2d 68 61 level)(make-instrumented-eval-ha
19f80 6e 64 6c 65 72 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 28 6c 65 74 20 28 5b ndler)]............[else.(let.([
19fa0 6f 65 20 28 63 75 72 72 65 6e 74 2d 65 76 61 6c 29 5d 29 20 28 ce bb 20 28 65 29 20 28 77 69 74 oe.(current-eval)]).(...(e).(wit
19fc0 68 2d 73 74 61 63 6b 2d 63 68 65 63 6b 70 6f 69 6e 74 20 28 6f 65 20 65 29 29 29 29 5d 5d 29 0a h-stack-checkpoint.(oe.e))))]]).
19fe0 20 20 20 20 28 69 6e 73 74 72 75 6d 65 6e 74 69 6e 67 2d 65 6e 61 62 6c 65 64 20 28 69 6e 73 74 ....(instrumenting-enabled.(inst
1a000 72 75 6d 65 6e 74 2d 6c 65 76 65 6c 3f 20 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c 29 29 0a 20 20 rument-level?.context-level))...
1a020 20 20 28 70 72 6f 66 69 6c 69 6e 67 2d 65 6e 61 62 6c 65 64 20 28 65 71 3f 20 63 6f 6e 74 65 78 ..(profiling-enabled.(eq?.contex
1a040 74 2d 6c 65 76 65 6c 20 27 70 72 6f 66 69 6c 65 29 29 0a 20 20 20 20 28 74 65 73 74 2d 63 6f 76 t-level.'profile)).....(test-cov
1a060 65 72 61 67 65 2d 65 6e 61 62 6c 65 64 20 28 65 71 3f 20 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c erage-enabled.(eq?.context-level
1a080 20 27 63 6f 76 65 72 61 67 65 29 29 0a 20 20 20 20 28 63 75 72 72 65 6e 74 2d 6c 6f 61 64 2f 75 .'coverage)).....(current-load/u
1a0a0 73 65 2d 63 6f 6d 70 69 6c 65 64 20 28 6d 61 6b 65 2d 63 61 63 68 69 6e 67 2d 6c 6f 61 64 2f 75 se-compiled.(make-caching-load/u
1a0c0 73 65 2d 63 6f 6d 70 69 6c 65 64 2d 68 61 6e 64 6c 65 72 29 29 0a 20 20 20 20 3b 3b 20 49 66 20 se-compiled-handler)).....;;.If.
1a0e0 6d 6f 64 75 6c 65 2c 20 72 65 71 75 69 72 65 20 61 6e 64 20 65 6e 74 65 72 20 69 74 73 20 6e 61 module,.require.and.enter.its.na
1a100 6d 65 73 70 61 63 65 2c 20 65 74 63 2e 0a 20 20 20 20 28 77 68 65 6e 20 6d 61 79 62 65 2d 6d 6f mespace,.etc......(when.maybe-mo
1a120 64 0a 20 20 20 20 20 20 28 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 20 28 3b 3b 20 57 68 65 6e 20 d.......(with-handlers.(;;.When.
1a140 65 78 6e 20 64 75 72 69 6e 67 20 6d 6f 64 75 6c 65 20 6c 6f 61 64 2c 20 64 69 73 70 6c 61 79 20 exn.during.module.load,.display.
1a160 69 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 73 6b it,.......................;;.ask
1a180 20 74 68 65 20 6d 61 6e 61 67 65 72 20 74 68 72 65 61 64 20 74 6f 20 72 65 2d 72 75 6e 2c 20 61 .the.manager.thread.to.re-run,.a
1a1a0 6e 64 20 77 61 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b nd.wait.......................;;
1a1c0 20 66 6f 72 20 69 74 20 74 6f 20 73 68 75 74 20 64 6f 77 6e 20 6f 75 72 20 63 75 73 74 6f 64 69 .for.it.to.shut.down.our.custodi
1a1e0 61 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 78 6e 3f 0a an........................[exn?.
1a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 65 78 6e 29 .......................(...(exn)
1a220 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 72 72 6f ..........................((erro
1a240 72 2d 64 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 29 20 28 65 78 6e 2d 6d 65 73 73 61 67 65 20 r-display-handler).(exn-message.
1a260 65 78 6e 29 20 65 78 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 exn).exn).......................
1a280 20 20 20 28 63 68 61 6e 6e 65 6c 2d 70 75 74 20 28 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6d 73 ...(channel-put.(current-repl-ms
1a2a0 67 2d 63 68 61 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g-chan).........................
1a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 75 63 74 2d 63 6f 70 79 20 72 75 6e 2d 63 ..............(struct-copy.run-c
1a2e0 6f 6e 66 69 67 20 63 66 67 20 5b 6d 61 79 62 65 2d 6d 6f 64 20 23 66 5d 29 29 0a 20 20 20 20 20 onfig.cfg.[maybe-mod.#f]))......
1a300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 63 20 6e 65 76 65 72 2d ....................(sync.never-
1a320 65 76 74 29 29 5d 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 73 74 61 63 6b 2d 63 68 65 63 evt))]).........(with-stack-chec
1a340 6b 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 66 69 67 75 72 65 2f 72 65 71 75 kpoint...........(configure/requ
1a360 69 72 65 2f 65 6e 74 65 72 20 6d 61 79 62 65 2d 6d 6f 64 20 65 78 74 72 61 2d 73 75 62 6d 6f 64 ire/enter.maybe-mod.extra-submod
1a380 73 2d 74 6f 2d 72 75 6e 20 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 2d 23 s-to-run.dir)...........(check-#
1a3a0 25 74 6f 70 2d 69 6e 74 65 72 61 63 74 69 6f 6e 29 29 29 29 0a 20 20 20 20 3b 3b 20 55 70 64 61 %top-interaction)))).....;;.Upda
1a3c0 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 6f 75 72 20 73 65 73 73 69 6f 6e te.information.about.our.session
1a3e0 20 2d 2d 20 6e 6f 77 20 74 68 61 74 0a 20 20 20 20 3b 3b 20 63 75 72 72 65 6e 74 2d 6e 61 6d 65 .--.now.that.....;;.current-name
1a400 73 70 61 63 65 20 69 73 20 70 6f 73 73 69 62 6c 79 20 75 70 64 61 74 65 64 2e 0a 20 20 20 20 28 space.is.possibly.updated......(
1a420 73 65 74 2d 73 65 73 73 69 6f 6e 21 20 28 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 69 64 set-session!.(current-session-id
1a440 29 20 6d 61 79 62 65 2d 6d 6f 64 29 0a 20 20 20 20 3b 3b 20 4e 6f 77 20 74 68 61 74 20 75 73 65 ).maybe-mod).....;;.Now.that.use
1a460 72 27 73 20 70 72 6f 67 72 61 6d 20 68 61 73 20 72 75 6e 2c 20 61 6e 64 20 60 73 65 73 73 69 6f r's.program.has.run,.and.`sessio
1a480 6e 73 60 20 69 73 20 75 70 64 61 74 65 64 2c 0a 20 20 20 20 3b 3b 20 63 61 6c 6c 20 74 68 65 20 ns`.is.updated,.....;;.call.the.
1a4a0 72 65 61 64 79 2d 74 68 75 6e 6b 3a 20 75 73 65 66 75 6c 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 ready-thunk:.useful.for.commands
1a4c0 20 74 68 61 74 20 77 61 6e 74 20 74 6f 20 72 75 6e 0a 20 20 20 20 3b 3b 20 61 66 74 65 72 20 61 .that.want.to.run.....;;.after.a
1a4e0 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 20 68 61 73 20 66 69 6e 69 73 68 65 64 2e 0a 20 20 20 20 28 .run.command.has.finished......(
1a500 72 65 61 64 79 2d 74 68 75 6e 6b 29 0a 20 20 20 20 3b 3b 20 41 6e 64 20 66 69 6e 61 6c 6c 79 2c ready-thunk).....;;.And.finally,
1a520 20 65 6e 74 65 72 20 72 65 61 64 2d 65 76 61 6c 2d 70 72 69 6e 74 2d 6c 6f 6f 70 2e 0a 20 20 20 .enter.read-eval-print-loop.....
1a540 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 70 72 6f 6d 70 74 2d .(parameterize.([current-prompt-
1a560 72 65 61 64 20 28 6d 61 6b 65 2d 70 72 6f 6d 70 74 2d 72 65 61 64 20 6d 61 79 62 65 2d 6d 6f 64 read.(make-prompt-read.maybe-mod
1a580 29 5d 29 0a 20 20 20 20 20 20 3b 3b 20 4e 6f 74 65 20 74 68 61 74 20 72 65 61 64 2d 65 76 61 6c )]).......;;.Note.that.read-eval
1a5a0 2d 70 72 69 6e 74 2d 6c 6f 6f 70 20 63 61 74 63 68 65 73 20 61 6c 6c 20 6e 6f 6e 2d 62 72 65 61 -print-loop.catches.all.non-brea
1a5c0 6b 0a 20 20 20 20 20 20 3b 3b 20 65 78 63 65 70 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 28 72 65 k.......;;.exceptions........(re
1a5e0 61 64 2d 65 76 61 6c 2d 70 72 69 6e 74 2d 6c 6f 6f 70 29 29 29 0a 0a 20 20 3b 3b 20 43 72 65 61 ad-eval-print-loop)))....;;.Crea
1a600 74 65 20 74 68 72 65 61 64 20 74 6f 20 72 75 6e 20 72 65 70 6c 2d 74 68 75 6e 6b 0a 20 20 28 64 te.thread.to.run.repl-thunk...(d
1a620 65 66 69 6e 65 20 72 65 70 6c 2d 74 68 72 65 61 64 0a 20 20 20 20 28 70 61 72 61 6d 65 74 65 72 efine.repl-thread.....(parameter
1a640 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 63 75 73 74 6f 64 69 61 6e 20 72 65 70 6c 2d 63 75 73 ize.([current-custodian.repl-cus
1a660 74 5d 29 0a 20 20 20 20 20 20 3b 3b 20 52 75 6e 20 72 65 70 6c 2d 74 68 75 6e 6b 20 6f 6e 20 61 t]).......;;.Run.repl-thunk.on.a
1a680 20 70 6c 61 69 6e 20 74 68 72 65 61 64 2c 20 6f 72 2c 20 6f 6e 20 47 55 49 20 65 76 65 6e 74 73 .plain.thread,.or,.on.GUI.events
1a6a0 70 61 63 65 0a 20 20 20 20 20 20 3b 3b 20 74 68 72 65 61 64 20 76 69 61 20 71 75 65 75 65 2d 63 pace.......;;.thread.via.queue-c
1a6c0 61 6c 6c 62 61 63 6b 2e 20 52 65 74 75 72 6e 20 74 68 65 20 74 68 72 65 61 64 2e 0a 20 20 20 20 allback..Return.the.thread......
1a6e0 20 20 28 64 65 66 69 6e 65 20 63 75 72 72 65 6e 74 2d 65 76 65 6e 74 73 70 61 63 65 20 28 74 78 ..(define.current-eventspace.(tx
1a700 74 2f 67 75 69 20 28 6d 61 6b 65 2d 70 61 72 61 6d 65 74 65 72 20 23 66 29 20 63 75 72 72 65 6e t/gui.(make-parameter.#f).curren
1a720 74 2d 65 76 65 6e 74 73 70 61 63 65 29 29 0a 20 20 20 20 20 20 28 70 61 72 61 6d 65 74 65 72 69 t-eventspace)).......(parameteri
1a740 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 65 76 65 6e 74 73 70 61 63 65 20 28 28 74 78 74 2f 67 75 ze.([current-eventspace.((txt/gu
1a760 69 20 76 6f 69 64 20 6d 61 6b 65 2d 65 76 65 6e 74 73 70 61 63 65 29 29 5d 29 0a 20 20 20 20 20 i.void.make-eventspace))])......
1a780 20 20 20 28 64 65 66 69 6e 65 20 74 2f 76 20 28 28 74 78 74 2f 67 75 69 20 74 68 72 65 61 64 20 ...(define.t/v.((txt/gui.thread.
1a7a0 20 20 20 71 75 65 75 65 2d 63 61 6c 6c 62 61 63 6b 20 20 20 20 20 20 20 20 20 20 20 29 20 72 65 ...queue-callback...........).re
1a7c0 70 6c 2d 74 68 75 6e 6b 29 29 0a 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 74 68 64 20 28 pl-thunk)).........(define.thd.(
1a7e0 28 74 78 74 2f 67 75 69 20 28 ce bb 20 5f 20 74 2f 76 29 20 65 76 65 6e 74 73 70 61 63 65 2d 68 (txt/gui.(..._.t/v).eventspace-h
1a800 61 6e 64 6c 65 72 2d 74 68 72 65 61 64 29 20 28 63 75 72 72 65 6e 74 2d 65 76 65 6e 74 73 70 61 andler-thread).(current-eventspa
1a820 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 74 68 64 29 29 29 0a 0a 20 20 3b 3b 20 57 68 69 6c 65 ce))).........thd)))....;;.While
1a840 20 74 68 65 20 72 65 70 6c 20 74 68 72 65 61 64 20 69 73 20 69 6e 20 72 65 61 64 2d 65 76 61 6c .the.repl.thread.is.in.read-eval
1a860 2d 70 72 69 6e 74 2d 6c 6f 6f 70 2c 20 68 65 72 65 20 6f 6e 20 74 68 65 0a 20 20 3b 3b 20 72 65 -print-loop,.here.on.the...;;.re
1a880 70 6c 20 73 65 73 73 69 6f 6e 20 74 68 72 65 61 64 20 77 65 20 77 61 69 74 20 66 6f 72 20 6d 65 pl.session.thread.we.wait.for.me
1a8a0 73 73 61 67 65 73 20 76 69 61 20 72 65 70 6c 2d 6d 73 67 2d 63 68 61 6e 2e 0a 20 20 28 6c 65 74 ssages.via.repl-msg-chan....(let
1a8c0 20 67 65 74 2d 6d 65 73 73 61 67 65 20 28 29 0a 20 20 20 20 28 6d 61 74 63 68 20 28 73 79 6e 63 .get-message.().....(match.(sync
1a8e0 20 28 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6d 73 67 2d 63 68 61 6e 29 29 0a 20 20 20 20 20 20 .(current-repl-msg-chan)).......
1a900 5b 28 3f 20 72 75 6e 2d 63 6f 6e 66 69 67 3f 20 63 29 20 28 63 61 73 65 20 63 6f 6e 74 65 78 74 [(?.run-config?.c).(case.context
1a920 2d 6c 65 76 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -level..........................
1a940 20 20 5b 28 70 72 6f 66 69 6c 65 29 20 20 28 63 6c 65 61 72 2d 70 72 6f 66 69 6c 65 2d 69 6e 66 ..[(profile)..(clear-profile-inf
1a960 6f 21 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 o!)]............................
1a980 5b 28 63 6f 76 65 72 61 67 65 29 20 28 63 6c 65 61 72 2d 74 65 73 74 2d 63 6f 76 65 72 61 67 65 [(coverage).(clear-test-coverage
1a9a0 2d 69 6e 66 6f 21 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -info!)]).......................
1a9c0 20 20 20 28 63 75 73 74 6f 64 69 61 6e 2d 73 68 75 74 64 6f 77 6e 2d 61 6c 6c 20 72 65 70 6c 2d ...(custodian-shutdown-all.repl-
1a9e0 63 75 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 cust)..........................(
1aa00 64 6f 2d 72 75 6e 20 63 29 5d 0a 20 20 20 20 20 20 5b 27 62 72 65 61 6b 20 20 20 20 20 20 20 20 do-run.c)].......['break........
1aa20 20 20 20 20 28 62 72 65 61 6b 2d 74 68 72 65 61 64 20 72 65 70 6c 2d 74 68 72 65 61 64 20 23 66 ....(break-thread.repl-thread.#f
1aa40 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d )..........................(get-
1aa60 6d 65 73 73 61 67 65 29 5d 0a 20 20 20 20 20 20 5b 60 28 69 6e 70 75 74 20 2c 62 73 74 72 29 20 message)].......[`(input.,bstr).
1aa80 20 20 20 28 77 72 69 74 65 2d 62 79 74 65 73 20 62 73 74 72 20 75 73 65 72 2d 70 69 70 65 2d 6f ...(write-bytes.bstr.user-pipe-o
1aaa0 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 ut)..........................(ge
1aac0 74 2d 6d 65 73 73 61 67 65 29 5d 0a 20 20 20 20 20 20 5b 27 65 78 69 74 20 20 20 20 20 20 20 20 t-message)].......['exit........
1aae0 20 20 20 20 20 28 6f 75 72 2d 65 78 69 74 29 5d 0a 20 20 20 20 20 20 5b 76 20 28 6c 6f 67 2d 72 .....(our-exit)].......[v.(log-r
1ab00 61 63 6b 65 74 2d 6d 6f 64 65 2d 77 61 72 6e 69 6e 67 20 22 69 67 6e 6f 72 69 6e 67 20 75 6e 6b acket-mode-warning."ignoring.unk
1ab20 6e 6f 77 6e 20 72 65 70 6c 2d 6d 73 67 2d 63 68 61 6e 20 6d 65 73 73 61 67 65 3a 20 7e 76 22 20 nown.repl-msg-chan.message:.~v".
1ab40 76 29 0a 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 6d 65 73 73 61 67 65 29 5d 29 29 29 0a 0a 28 v)..........(get-message)])))..(
1ab60 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 70 72 6f 6d 70 74 2d 72 65 61 64 20 6d 61 79 62 65 2d 6d define.(make-prompt-read.maybe-m
1ab80 6f 64 29 0a 20 20 28 64 65 66 69 6e 65 20 28 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 70 72 6f 6d 70 od)...(define.(racket-mode-promp
1aba0 74 2d 72 65 61 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 70 72 6f 6d 70 74 20 28 6d 61 79 62 t-read).....(define.prompt.(mayb
1abc0 65 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 3e 70 72 6f 6d 70 74 2d 73 74 72 69 6e 67 20 6d 61 79 e-module-path->prompt-string.may
1abe0 62 65 2d 6d 6f 64 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 73 74 78 20 28 67 65 74 2d 69 6e be-mod)).....(define.stx.(get-in
1ac00 74 65 72 61 63 74 69 6f 6e 20 70 72 6f 6d 70 74 29 29 0a 20 20 20 20 28 6e 65 78 74 2d 62 72 65 teraction.prompt)).....(next-bre
1ac20 61 6b 20 27 61 6c 6c 29 20 3b 6c 65 74 20 64 65 62 75 67 2d 69 6e 73 74 72 75 6d 65 6e 74 65 64 ak.'all).;let.debug-instrumented
1ac40 20 63 6f 64 65 20 62 72 65 61 6b 20 61 67 61 69 6e 0a 20 20 20 20 73 74 78 29 0a 20 20 72 61 63 .code.break.again.....stx)...rac
1ac60 6b 65 74 2d 6d 6f 64 65 2d 70 72 6f 6d 70 74 2d 72 65 61 64 29 0a 0a 3b 3b 20 43 68 61 6e 67 65 ket-mode-prompt-read)..;;.Change
1ac80 20 6f 6e 65 20 6f 66 20 6f 75 72 20 6e 6f 6e 2d 66 61 6c 73 65 20 6d 61 79 62 65 2d 6d 6f 64 20 .one.of.our.non-false.maybe-mod.
1aca0 76 61 6c 75 65 73 20 28 66 6f 72 20 77 68 69 63 68 20 77 65 20 75 73 65 20 70 61 74 68 0a 3b 3b values.(for.which.we.use.path.;;
1acc0 20 6f 62 6a 65 63 74 73 2c 20 6e 6f 74 20 70 61 74 68 2d 73 74 72 69 6e 67 73 29 20 69 6e 74 6f .objects,.not.path-strings).into
1ace0 20 61 20 6d 6f 64 75 6c 65 2d 70 61 74 68 20 61 70 70 6c 69 65 64 20 74 6f 0a 3b 3b 20 6d 6f 64 .a.module-path.applied.to.;;.mod
1ad00 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 2d 6a 6f 69 6e 2e 0a 28 64 65 66 69 6e 65 20 28 2d 3e ule-path-index-join..(define.(->
1ad20 6d 6f 64 75 6c 65 2d 70 61 74 68 20 6d 6f 64 29 0a 20 20 28 6d 61 74 63 68 20 6d 6f 64 0a 20 20 module-path.mod)...(match.mod...
1ad40 20 20 5b 28 3f 20 70 61 74 68 3f 20 70 29 0a 20 20 20 20 20 28 6d 6f 64 75 6c 65 2d 70 61 74 68 ..[(?.path?.p)......(module-path
1ad60 2d 69 6e 64 65 78 2d 6a 6f 69 6e 20 60 28 66 69 6c 65 20 2c 28 70 61 74 68 2d 3e 73 74 72 69 6e -index-join.`(file.,(path->strin
1ad80 67 20 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.p))...........................
1ada0 20 20 20 23 66 29 5d 0a 20 20 20 20 5b 28 6c 69 73 74 2a 20 27 73 75 62 6d 6f 64 20 28 3f 20 70 ...#f)].....[(list*.'submod.(?.p
1adc0 61 74 68 3f 20 70 29 20 73 75 62 73 29 0a 20 20 20 20 20 28 6d 6f 64 75 6c 65 2d 70 61 74 68 2d ath?.p).subs)......(module-path-
1ade0 69 6e 64 65 78 2d 6a 6f 69 6e 20 60 28 73 75 62 6d 6f 64 20 22 2e 22 20 2c 40 73 75 62 73 29 0a index-join.`(submod.".".,@subs).
1ae00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f .............................(mo
1ae20 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 2d 6a 6f 69 6e 20 60 28 66 69 6c 65 20 2c 28 70 61 dule-path-index-join.`(file.,(pa
1ae40 74 68 2d 3e 73 74 72 69 6e 67 20 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 th->string.p))..................
1ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1ae80 20 20 20 20 23 66 29 29 5d 0a 20 20 20 20 5b 5f 20 28 65 72 72 6f 72 20 22 63 61 6e 27 74 20 6d ....#f))].....[_.(error."can't.m
1aea0 61 6b 65 20 6d 6f 64 75 6c 65 20 70 61 74 68 20 66 72 6f 6d 22 20 6d 6f 64 29 5d 29 29 0a 0a 28 ake.module.path.from".mod)]))..(
1aec0 64 65 66 69 6e 65 20 28 63 6f 6e 66 69 67 75 72 65 2f 72 65 71 75 69 72 65 2f 65 6e 74 65 72 20 define.(configure/require/enter.
1aee0 6d 6f 64 20 65 78 74 72 61 2d 73 75 62 6d 6f 64 73 2d 74 6f 2d 72 75 6e 20 64 69 72 29 0a 20 20 mod.extra-submods-to-run.dir)...
1af00 28 64 65 66 69 6e 65 20 6d 70 20 28 2d 3e 6d 6f 64 75 6c 65 2d 70 61 74 68 20 6d 6f 64 29 29 0a (define.mp.(->module-path.mod)).
1af20 20 20 28 63 6f 6e 66 69 67 75 72 65 2d 72 75 6e 74 69 6d 65 20 6d 70 29 0a 20 20 28 6e 61 6d 65 ..(configure-runtime.mp)...(name
1af40 73 70 61 63 65 2d 72 65 71 75 69 72 65 20 6d 70 29 0a 20 20 28 66 6f 72 20 28 5b 73 75 62 6d 6f space-require.mp)...(for.([submo
1af60 64 20 28 69 6e 2d 6c 69 73 74 20 65 78 74 72 61 2d 73 75 62 6d 6f 64 73 2d 74 6f 2d 72 75 6e 29 d.(in-list.extra-submods-to-run)
1af80 5d 29 20 3b 65 2e 67 2e 20 6d 61 69 6e 2c 20 74 65 73 74 0a 20 20 20 20 28 64 65 66 69 6e 65 20 ]).;e.g..main,.test.....(define.
1afa0 73 75 62 2d 6d 70 20 28 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 2d 6a 6f 69 6e 20 60 sub-mp.(module-path-index-join.`
1afc0 28 73 75 62 6d 6f 64 20 22 2e 22 20 2c 40 73 75 62 6d 6f 64 29 20 6d 70 29 29 0a 20 20 20 20 28 (submod.".".,@submod).mp)).....(
1afe0 77 68 65 6e 20 28 6d 6f 64 75 6c 65 2d 64 65 63 6c 61 72 65 64 3f 20 73 75 62 2d 6d 70 29 0a 20 when.(module-declared?.sub-mp)..
1b000 20 20 20 20 20 28 64 79 6e 61 6d 69 63 2d 72 65 71 75 69 72 65 20 73 75 62 2d 6d 70 20 23 66 29 .....(dynamic-require.sub-mp.#f)
1b020 29 29 0a 20 20 3b 3b 20 55 73 65 72 27 73 20 70 72 6f 67 72 61 6d 20 6d 61 79 20 68 61 76 65 20 ))...;;.User's.program.may.have.
1b040 63 68 61 6e 67 65 64 20 63 75 72 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 2c 20 73 6f 0a 20 20 changed.current-directory,.so...
1b060 3b 3b 20 70 61 72 61 6d 65 74 65 72 69 7a 65 20 66 6f 72 20 6d 6f 64 75 6c 65 2d 3e 6e 61 6d 65 ;;.parameterize.for.module->name
1b080 73 70 61 63 65 2c 20 72 65 73 74 6f 72 69 6e 67 20 75 73 65 72 20 76 61 6c 75 65 20 66 6f 72 0a space,.restoring.user.value.for.
1b0a0 20 20 3b 3b 20 52 45 50 4c 2e 0a 20 20 28 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 ..;;.REPL....(current-namespace.
1b0c0 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 (parameterize.([current-director
1b0e0 79 20 64 69 72 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 y.dir])........................(
1b100 6d 6f 64 75 6c 65 2d 3e 6e 61 6d 65 73 70 61 63 65 20 6d 70 29 29 29 29 0a 0a 3b 3b 20 46 72 6f module->namespace.mp))))..;;.Fro
1b120 6d 20 72 61 63 6b 65 74 2d 6c 61 6e 67 2f 72 61 63 6b 65 74 2f 73 72 63 2f 63 73 2f 6d 61 69 6e m.racket-lang/racket/src/cs/main
1b140 2e 73 70 73 0a 28 64 65 66 69 6e 65 20 28 63 6f 6e 66 69 67 75 72 65 2d 72 75 6e 74 69 6d 65 20 .sps.(define.(configure-runtime.
1b160 6d 29 0a 20 20 3b 3b 20 4e 65 77 2d 73 74 79 6c 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 m)...;;.New-style.configuration.
1b180 74 68 72 6f 75 67 68 20 61 20 60 63 6f 6e 66 69 67 75 72 65 2d 72 75 6e 74 69 6d 65 60 20 73 75 through.a.`configure-runtime`.su
1b1a0 62 6d 6f 64 75 6c 65 3a 0a 20 20 28 6c 65 74 20 28 5b 63 6f 6e 66 69 67 2d 6d 20 28 6d 6f 64 75 bmodule:...(let.([config-m.(modu
1b1c0 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 2d 6a 6f 69 6e 20 27 28 73 75 62 6d 6f 64 20 22 2e 22 20 le-path-index-join.'(submod.".".
1b1e0 63 6f 6e 66 69 67 75 72 65 2d 72 75 6e 74 69 6d 65 29 20 6d 29 5d 29 0a 20 20 20 20 28 77 68 65 configure-runtime).m)]).....(whe
1b200 6e 20 28 6d 6f 64 75 6c 65 2d 64 65 63 6c 61 72 65 64 3f 20 63 6f 6e 66 69 67 2d 6d 20 23 74 29 n.(module-declared?.config-m.#t)
1b220 0a 20 20 20 20 20 20 28 64 79 6e 61 6d 69 63 2d 72 65 71 75 69 72 65 20 63 6f 6e 66 69 67 2d 6d .......(dynamic-require.config-m
1b240 20 23 66 29 29 29 0a 20 20 3b 3b 20 4f 6c 64 2d 73 74 79 6c 65 20 63 6f 6e 66 69 67 75 72 61 74 .#f)))...;;.Old-style.configurat
1b260 69 6f 6e 20 77 69 74 68 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 20 69 6e 66 6f 3a 0a 20 ion.with.module.language.info:..
1b280 20 28 6c 65 74 20 28 5b 69 6e 66 6f 20 28 6d 6f 64 75 6c 65 2d 3e 6c 61 6e 67 75 61 67 65 2d 69 .(let.([info.(module->language-i
1b2a0 6e 66 6f 20 6d 20 23 74 29 5d 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 76 65 63 74 nfo.m.#t)]).....(when.(and.(vect
1b2c0 6f 72 3f 20 69 6e 66 6f 29 20 28 3d 20 33 20 28 76 65 63 74 6f 72 2d 6c 65 6e 67 74 68 20 69 6e or?.info).(=.3.(vector-length.in
1b2e0 66 6f 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 5b 69 6e 66 6f 2d 6c 6f 61 64 20 28 6c fo))).......(let*.([info-load.(l
1b300 61 6d 62 64 61 20 28 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ambda.(info)....................
1b320 20 20 20 20 20 20 20 28 28 64 79 6e 61 6d 69 63 2d 72 65 71 75 69 72 65 20 28 76 65 63 74 6f 72 .......((dynamic-require.(vector
1b340 2d 72 65 66 20 69 6e 66 6f 20 30 29 20 28 76 65 63 74 6f 72 2d 72 65 66 20 69 6e 66 6f 20 31 29 -ref.info.0).(vector-ref.info.1)
1b360 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 )............................(ve
1b380 63 74 6f 72 2d 72 65 66 20 69 6e 66 6f 20 32 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ctor-ref.info.2)))].............
1b3a0 20 5b 67 65 74 20 28 69 6e 66 6f 2d 6c 6f 61 64 20 69 6e 66 6f 29 5d 0a 20 20 20 20 20 20 20 20 .[get.(info-load.info)].........
1b3c0 20 20 20 20 20 5b 69 6e 66 6f 73 20 28 67 65 74 20 27 63 6f 6e 66 69 67 75 72 65 2d 72 75 6e 74 .....[infos.(get.'configure-runt
1b3e0 69 6d 65 20 27 28 29 29 5d 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 20 ime.'())]).........(unless.(and.
1b400 28 6c 69 73 74 3f 20 69 6e 66 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (list?.infos)...................
1b420 20 20 20 28 61 6e 64 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 69 6e 66 6f 29 20 28 61 6e 64 20 28 ...(andmap.(lambda.(info).(and.(
1b440 76 65 63 74 6f 72 3f 20 69 6e 66 6f 29 20 28 3d 20 33 20 28 76 65 63 74 6f 72 2d 6c 65 6e 67 74 vector?.info).(=.3.(vector-lengt
1b460 68 20 69 6e 66 6f 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h.info))))......................
1b480 20 20 20 20 20 20 20 20 69 6e 66 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 72 61 69 73 65 ........infos))...........(raise
1b4a0 2d 61 72 67 75 6d 65 6e 74 2d 65 72 72 6f 72 20 27 72 75 6e 74 69 6d 65 2d 63 6f 6e 66 69 67 75 -argument-error.'runtime-configu
1b4c0 72 65 20 22 28 6c 69 73 74 6f 66 20 28 76 65 63 74 6f 72 20 61 6e 79 20 61 6e 79 20 61 6e 79 29 re."(listof.(vector.any.any.any)
1b4e0 29 22 20 69 6e 66 6f 73 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 2d 65 61 63 68 20 69 6e 66 )".infos)).........(for-each.inf
1b500 6f 2d 6c 6f 61 64 20 69 6e 66 6f 73 29 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 63 68 65 63 o-load.infos)))))..(define.(chec
1b520 6b 2d 23 25 74 6f 70 2d 69 6e 74 65 72 61 63 74 69 6f 6e 29 0a 20 20 3b 3b 20 43 68 65 63 6b 20 k-#%top-interaction)...;;.Check.
1b540 74 68 61 74 20 74 68 65 20 6c 61 6e 67 20 64 65 66 69 6e 65 73 20 23 25 74 6f 70 2d 69 6e 74 65 that.the.lang.defines.#%top-inte
1b560 72 61 63 74 69 6f 6e 0a 20 20 28 75 6e 6c 65 73 73 20 28 6d 65 6d 71 20 27 23 25 74 6f 70 2d 69 raction...(unless.(memq.'#%top-i
1b580 6e 74 65 72 61 63 74 69 6f 6e 20 28 6e 61 6d 65 73 70 61 63 65 2d 6d 61 70 70 65 64 2d 73 79 6d nteraction.(namespace-mapped-sym
1b5a0 62 6f 6c 73 29 29 0a 20 20 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 65 73 73 61 67 65 0a bols)).....(repl-output-message.
1b5c0 20 20 20 20 20 22 42 65 63 61 75 73 65 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 75 73 65 64 20 ....."Because.the.language.used.
1b5e0 62 79 20 74 68 69 73 20 6d 6f 64 75 6c 65 20 70 72 6f 76 69 64 65 73 20 6e 6f 20 23 25 74 6f 70 by.this.module.provides.no.#%top
1b600 2d 69 6e 74 65 72 61 63 74 69 6f 6e 5c 6e 20 79 6f 75 20 77 69 6c 6c 20 62 65 20 75 6e 61 62 6c -interaction\n.you.will.be.unabl
1b620 65 20 74 6f 20 65 76 61 6c 75 61 74 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 68 65 72 65 20 69 e.to.evaluate.expressions.here.i
1b640 6e 20 74 68 65 20 52 45 50 4c 2e 22 29 29 29 0a 0a 3b 3b 3b 20 4f 75 74 70 75 74 20 68 61 6e 64 n.the.REPL.")))..;;;.Output.hand
1b660 6c 65 72 73 3b 20 73 65 65 20 69 73 73 75 65 73 20 23 33 38 31 20 23 33 39 37 0a 0a 3b 3b 20 54 lers;.see.issues.#381.#397..;;.T
1b680 68 65 73 65 20 61 72 65 20 70 6c 61 69 6e 20 70 72 6f 63 65 64 75 72 65 73 20 6e 6f 74 20 70 61 hese.are.plain.procedures.not.pa
1b6a0 72 61 6d 65 74 65 72 73 2e 20 54 68 65 72 65 66 6f 72 65 20 74 6f 20 72 65 73 65 74 20 74 68 65 rameters..Therefore.to.reset.the
1b6c0 6d 0a 3b 3b 20 66 6f 72 20 65 61 63 68 20 75 73 65 72 20 70 72 6f 67 72 61 6d 20 72 75 6e 2c 20 m.;;.for.each.user.program.run,.
1b6e0 77 65 20 6d 75 73 74 20 63 61 6c 6c 20 74 68 65 6d 20 65 61 63 68 20 74 69 6d 65 20 77 69 74 68 we.must.call.them.each.time.with
1b700 20 74 68 65 0a 3b 3b 20 6f 72 69 67 69 6e 61 6c 20 76 61 6c 75 65 2e 20 57 68 61 74 20 6f 72 69 .the.;;.original.value..What.ori
1b720 67 69 6e 61 6c 20 76 61 6c 75 65 3f 20 49 74 20 73 75 66 66 69 63 65 73 20 74 6f 20 75 73 65 20 ginal.value?.It.suffices.to.use.
1b740 74 68 65 20 76 61 6c 75 65 0a 3b 3b 20 69 6e 20 65 66 66 65 63 74 20 77 68 65 6e 20 74 68 69 73 the.value.;;.in.effect.when.this
1b760 20 62 61 63 6b 20 65 6e 64 20 73 74 61 72 74 73 2c 20 69 2e 65 2e 20 74 68 65 20 64 65 66 61 75 .back.end.starts,.i.e..the.defau
1b780 6c 74 0a 3b 3b 20 70 6f 72 74 2d 78 78 78 2d 68 61 6e 64 6c 65 72 2e 0a 0a 28 64 65 66 69 6e 65 lt.;;.port-xxx-handler...(define
1b7a0 20 74 68 65 2d 64 65 66 61 75 6c 74 2d 6f 75 74 70 75 74 2d 68 61 6e 64 6c 65 72 73 0a 20 20 28 .the-default-output-handlers...(
1b7c0 66 6f 72 2f 68 61 73 68 20 28 5b 67 65 74 2f 73 65 74 20 28 69 6e 2d 6c 69 73 74 20 28 6c 69 73 for/hash.([get/set.(in-list.(lis
1b7e0 74 20 70 6f 72 74 2d 77 72 69 74 65 2d 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 t.port-write-handler............
1b800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 72 74 2d 64 ..........................port-d
1b820 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 isplay-handler..................
1b840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 72 74 2d 70 72 69 6e 74 2d 68 ....................port-print-h
1b860 61 6e 64 6c 65 72 29 29 5d 29 0a 20 20 20 20 28 76 61 6c 75 65 73 20 67 65 74 2f 73 65 74 20 28 andler))]).....(values.get/set.(
1b880 67 65 74 2f 73 65 74 20 28 63 75 72 72 65 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 74 29 29 29 29 get/set.(current-output-port))))
1b8a0 29 0a 0a 28 64 65 66 69 6e 65 20 28 73 65 74 2d 6f 75 74 70 75 74 2d 68 61 6e 64 6c 65 72 73 29 )..(define.(set-output-handlers)
1b8c0 0a 20 20 28 66 6f 72 20 28 5b 28 67 65 74 2f 73 65 74 20 76 29 20 28 69 6e 2d 68 61 73 68 20 74 ...(for.([(get/set.v).(in-hash.t
1b8e0 68 65 2d 64 65 66 61 75 6c 74 2d 6f 75 74 70 75 74 2d 68 61 6e 64 6c 65 72 73 29 5d 29 0a 20 20 he-default-output-handlers)])...
1b900 20 20 28 67 65 74 2f 73 65 74 20 28 63 75 72 72 65 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 74 29 ..(get/set.(current-output-port)
1b920 20 76 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .v)))...........................
1b940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ba00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
1ba20 72 61 63 6b 65 74 2f 64 65 62 75 67 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/debug.rkt................
1ba40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ba60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1ba80 30 30 34 33 30 30 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 37 33 31 00 20 30 00 00 00 0043005.00000000000.016731..0...
1baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bb00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1bb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bc00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
1bc20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
1bc40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
1bc60 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 28 66 6f 72 2d 73 ang.racket/base..(require.(for-s
1bc80 79 6e 74 61 78 20 72 61 63 6b 65 74 2f 62 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b yntax.racket/base)..........rack
1bca0 65 74 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d et/contract..........racket/form
1bcc0 61 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6c 69 73 74 0a 20 20 20 20 20 20 20 20 at..........racket/list.........
1bce0 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 .racket/match..........(only-in.
1bd00 72 61 63 6b 65 74 2f 70 61 74 68 20 70 61 74 68 2d 6f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 20 racket/path.path-only)..........
1bd20 72 61 63 6b 65 74 2f 73 65 74 0a 20 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 2f 6d 6f 64 72 65 racket/set..........syntax/modre
1bd40 61 64 0a 20 20 20 20 20 20 20 20 20 22 64 65 62 75 67 2d 61 6e 6e 6f 74 61 74 6f 72 2e 72 6b 74 ad.........."debug-annotator.rkt
1bd60 22 0a 20 20 20 20 20 20 20 20 20 22 65 6c 69 73 70 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 ".........."elisp.rkt"..........
1bd80 22 69 6e 74 65 72 61 63 74 69 6f 6e 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 72 65 70 6c "interaction.rkt".........."repl
1bda0 2d 6f 75 74 70 75 74 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 72 65 70 6c 2d 73 65 73 73 -output.rkt".........."repl-sess
1bdc0 69 6f 6e 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 75 74 69 6c 2e 72 6b 74 22 29 0a 0a 28 ion.rkt".........."util.rkt")..(
1bde0 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 module+.test...(require.rackunit
1be00 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 28 72 65 6e 61 6d 65 2d 6f 75 74 20 5b 6f 6e 2d 62 72 65 ))..(provide.(rename-out.[on-bre
1be20 61 6b 2d 63 68 61 6e 6e 65 6c 20 64 65 62 75 67 2d 6e 6f 74 69 66 79 2d 63 68 61 6e 6e 65 6c 5d ak-channel.debug-notify-channel]
1be40 29 0a 20 20 20 20 20 20 20 20 20 64 65 62 75 67 2d 72 65 73 75 6d 65 0a 20 20 20 20 20 20 20 20 )..........debug-resume.........
1be60 20 64 65 62 75 67 2d 64 69 73 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 6d 61 6b 65 2d 64 65 62 .debug-disable..........make-deb
1be80 75 67 2d 65 76 61 6c 2d 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 20 20 20 6e 65 78 74 2d 62 72 ug-eval-handler..........next-br
1bea0 65 61 6b 29 0a 0a 28 64 65 66 69 6e 65 2d 6c 6f 67 67 65 72 20 72 61 63 6b 65 74 2d 6d 6f 64 65 eak)..(define-logger.racket-mode
1bec0 2d 64 65 62 75 67 67 65 72 29 0a 0a 3b 3b 20 41 20 67 75 69 2d 64 65 62 75 67 67 65 72 2f 6d 61 -debugger)..;;.A.gui-debugger/ma
1bee0 72 6b 73 20 22 6d 61 72 6b 22 20 69 73 20 61 20 74 68 75 6e 6b 20 74 68 61 74 20 72 65 74 75 72 rks."mark".is.a.thunk.that.retur
1bf00 6e 73 20 61 0a 3b 3b 20 66 75 6c 6c 2d 6d 61 72 6b 2d 73 74 72 75 63 74 20 2d 2d 20 61 6c 74 68 ns.a.;;.full-mark-struct.--.alth
1bf20 6f 75 67 68 20 67 75 69 2d 64 65 62 75 67 67 65 72 2f 6d 61 72 6b 73 20 64 6f 65 73 6e 27 74 20 ough.gui-debugger/marks.doesn't.
1bf40 70 72 6f 76 69 64 65 0a 3b 3b 20 74 68 61 74 20 73 74 72 75 63 74 2e 20 49 6e 73 74 65 61 64 20 provide.;;.that.struct..Instead.
1bf60 74 68 65 20 74 68 75 6e 6b 20 63 61 6e 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 76 61 72 69 6f the.thunk.can.be.passed.to.vario
1bf80 75 73 20 61 63 63 65 73 73 6f 72 0a 3b 3b 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 28 64 65 66 69 6e us.accessor.;;.functions..(defin
1bfa0 65 20 6d 61 72 6b 2f 63 20 28 2d 3e 20 61 6e 79 2f 63 29 29 0a 0a 3b 3b 20 41 20 22 6d 61 72 6b e.mark/c.(->.any/c))..;;.A."mark
1bfc0 2d 62 69 6e 64 69 6e 67 22 20 69 73 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 66 69 72 73 74 20 -binding".is.a.list.whose.first.
1bfe0 65 6c 65 6d 65 6e 74 20 69 73 20 73 79 6e 74 61 78 20 6f 66 20 74 68 65 0a 3b 3b 20 69 64 65 6e element.is.syntax.of.the.;;.iden
1c000 74 69 66 69 65 72 2c 20 61 6e 64 20 77 68 6f 73 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 tifier,.and.whose.second.element
1c020 20 69 73 20 61 20 67 65 74 2f 73 65 74 21 20 70 72 6f 63 65 64 75 72 65 2e 0a 28 64 65 66 69 6e .is.a.get/set!.procedure..(defin
1c040 65 20 67 65 74 2f 73 65 74 21 2f 63 20 28 63 61 73 65 2d 3e 20 28 2d 3e 20 61 6e 79 2f 63 29 0a e.get/set!/c.(case->.(->.any/c).
1c060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 3e 20 61 ...........................(->.a
1c080 6e 79 2f 63 20 76 6f 69 64 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 62 72 65 61 6b 61 62 6c 65 2d ny/c.void)))..(define.breakable-
1c0a0 70 6f 73 69 74 69 6f 6e 73 2f 63 20 28 68 61 73 68 2f 63 20 70 61 74 68 3f 20 28 73 65 74 2f 63 positions/c.(hash/c.path?.(set/c
1c0c0 20 23 3a 63 6d 70 20 27 65 71 20 70 6f 73 2f 63 29 29 29 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 .#:cmp.'eq.pos/c))).(define/cont
1c0e0 72 61 63 74 20 62 72 65 61 6b 61 62 6c 65 2d 70 6f 73 69 74 69 6f 6e 73 20 62 72 65 61 6b 61 62 ract.breakable-positions.breakab
1c100 6c 65 2d 70 6f 73 69 74 69 6f 6e 73 2f 63 20 28 6d 61 6b 65 2d 68 61 73 68 29 29 0a 28 64 65 66 le-positions/c.(make-hash)).(def
1c120 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 62 72 65 61 6b 61 62 6c 65 2d 70 6f 73 69 74 69 6f 6e ine/contract.(breakable-position
1c140 3f 20 73 72 63 20 70 6f 73 29 0a 20 20 28 2d 3e 20 70 61 74 68 3f 20 70 6f 73 2f 63 20 62 6f 6f ?.src.pos)...(->.path?.pos/c.boo
1c160 6c 65 61 6e 3f 29 0a 20 20 28 73 65 74 2d 6d 65 6d 62 65 72 3f 20 28 68 61 73 68 2d 72 65 66 20 lean?)...(set-member?.(hash-ref.
1c180 62 72 65 61 6b 61 62 6c 65 2d 70 6f 73 69 74 69 6f 6e 73 20 73 72 63 20 28 73 65 74 65 71 29 29 breakable-positions.src.(seteq))
1c1a0 20 70 6f 73 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 61 6e 6e 6f 74 61 .pos))..(define/contract.(annota
1c1c0 74 65 20 73 74 78 20 23 3a 73 6f 75 72 63 65 20 5b 73 6f 75 72 63 65 20 28 73 79 6e 74 61 78 2d te.stx.#:source.[source.(syntax-
1c1e0 73 6f 75 72 63 65 20 73 74 78 29 5d 29 0a 20 20 28 2d 3e 2a 20 28 73 79 6e 74 61 78 3f 29 20 28 source.stx)])...(->*.(syntax?).(
1c200 23 3a 73 6f 75 72 63 65 20 70 61 74 68 3f 29 20 73 79 6e 74 61 78 3f 29 0a 20 20 28 72 65 70 6c #:source.path?).syntax?)...(repl
1c220 2d 6f 75 74 70 75 74 2d 6d 65 73 73 61 67 65 20 28 66 6f 72 6d 61 74 20 22 44 65 62 75 67 20 61 -output-message.(format."Debug.a
1c240 6e 6e 6f 74 61 74 65 20 7e 76 22 20 73 6f 75 72 63 65 29 29 0a 20 20 28 64 65 66 69 6e 65 2d 76 nnotate.~v".source))...(define-v
1c260 61 6c 75 65 73 20 28 61 6e 6e 6f 74 61 74 65 64 20 62 72 65 61 6b 61 62 6c 65 73 29 0a 20 20 20 alues.(annotated.breakables)....
1c280 20 28 61 6e 6e 6f 74 61 74 65 2d 66 6f 72 2d 73 69 6e 67 6c 65 2d 73 74 65 70 70 69 6e 67 20 73 .(annotate-for-single-stepping.s
1c2a0 74 78 20 62 72 65 61 6b 3f 20 62 72 65 61 6b 2d 62 65 66 6f 72 65 20 62 72 65 61 6b 2d 61 66 74 tx.break?.break-before.break-aft
1c2c0 65 72 29 29 0a 20 20 28 68 61 73 68 2d 75 70 64 61 74 65 21 20 62 72 65 61 6b 61 62 6c 65 2d 70 er))...(hash-update!.breakable-p
1c2e0 6f 73 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 75 72 63 65 0a ositions.................source.
1c300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 73 29 20 28 73 65 74 2d 75 6e 69 ................(...(s).(set-uni
1c320 6f 6e 20 73 20 28 6c 69 73 74 2d 3e 73 65 74 65 71 20 62 72 65 61 6b 61 62 6c 65 73 29 29 29 0a on.s.(list->seteq.breakables))).
1c340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 65 71 29 29 0a 20 20 61 6e 6e 6f 74 ................(seteq))...annot
1c360 61 74 65 64 29 0a 0a 3b 3b 20 54 68 65 73 65 20 63 6f 6e 74 72 61 63 74 73 20 61 72 65 20 73 75 ated)..;;.These.contracts.are.su
1c380 69 74 61 62 6c 65 20 66 6f 72 20 22 65 64 67 65 22 20 77 69 74 68 20 45 4c 69 73 70 2e 0a 28 64 itable.for."edge".with.ELisp..(d
1c3a0 65 66 69 6e 65 20 62 72 65 61 6b 2d 70 6f 69 6e 74 2d 65 6c 69 73 70 2f 63 20 28 6c 69 73 74 2f efine.break-point-elisp/c.(list/
1c3c0 63 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 70 6f 73 2f 63 20 73 74 72 69 6e 67 3f 20 73 74 72 c.path-string?.pos/c.string?.str
1c3e0 69 6e 67 3f 29 29 0a 28 64 65 66 69 6e 65 20 62 72 65 61 6b 2d 77 68 65 6e 2d 65 6c 69 73 70 2f ing?)).(define.break-when-elisp/
1c400 63 20 20 28 6f 72 2f 63 20 27 61 6c 6c 20 27 6e 6f 6e 65 20 28 6c 69 73 74 6f 66 20 62 72 65 61 c..(or/c.'all.'none.(listof.brea
1c420 6b 2d 70 6f 69 6e 74 2d 65 6c 69 73 70 2f 63 29 29 29 0a 0a 3b 3b 20 54 68 65 73 65 20 63 6f 6e k-point-elisp/c)))..;;.These.con
1c440 74 72 61 63 74 73 20 61 72 65 20 66 6f 72 20 61 63 74 75 61 6c 20 60 6e 65 78 74 2d 62 72 65 61 tracts.are.for.actual.`next-brea
1c460 6b 60 20 76 61 6c 75 65 2e 0a 28 64 65 66 69 6e 65 20 62 72 65 61 6b 2d 70 6f 69 6e 74 2f 63 20 k`.value..(define.break-point/c.
1c480 28 6c 69 73 74 2f 63 20 70 61 74 68 3f 20 70 6f 73 2f 63 20 61 6e 79 2f 63 20 28 6c 69 73 74 6f (list/c.path?.pos/c.any/c.(listo
1c4a0 66 20 73 79 6d 62 6f 6c 3f 29 29 29 0a 28 64 65 66 69 6e 65 20 62 72 65 61 6b 2d 77 68 65 6e 2f f.symbol?))).(define.break-when/
1c4c0 63 20 20 28 6f 72 2f 63 20 27 61 6c 6c 20 27 6e 6f 6e 65 20 28 6c 69 73 74 6f 66 20 62 72 65 61 c..(or/c.'all.'none.(listof.brea
1c4e0 6b 2d 70 6f 69 6e 74 2f 63 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 66 72 6f 6d 2d 65 6c 69 73 k-point/c)))..(define.(from-elis
1c500 70 2d 62 72 65 61 6b 2d 77 68 65 6e 20 76 29 0a 20 20 28 69 66 20 28 6c 69 73 74 3f 20 76 29 0a p-break-when.v)...(if.(list?.v).
1c520 20 20 20 20 20 20 28 6d 61 70 20 66 72 6f 6d 2d 65 6c 69 73 70 2d 62 72 65 61 6b 2d 70 6f 69 6e ......(map.from-elisp-break-poin
1c540 74 20 76 29 0a 20 20 20 20 20 20 76 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 t.v).......v))..(define/contract
1c560 20 66 72 6f 6d 2d 65 6c 69 73 70 2d 62 72 65 61 6b 2d 70 6f 69 6e 74 0a 20 20 28 2d 3e 20 62 72 .from-elisp-break-point...(->.br
1c580 65 61 6b 2d 70 6f 69 6e 74 2d 65 6c 69 73 70 2f 63 20 62 72 65 61 6b 2d 70 6f 69 6e 74 2f 63 29 eak-point-elisp/c.break-point/c)
1c5a0 0a 20 20 28 6d 61 74 63 68 2d 6c 61 6d 62 64 61 0a 20 20 20 20 5b 28 6c 69 73 74 20 70 61 74 68 ...(match-lambda.....[(list.path
1c5c0 2d 73 74 72 20 70 6f 73 20 63 6f 6e 64 69 74 69 6f 6e 20 61 63 74 69 6f 6e 73 29 0a 20 20 20 20 -str.pos.condition.actions).....
1c5e0 20 28 6c 69 73 74 20 28 73 74 72 69 6e 67 2d 3e 70 61 74 68 20 70 61 74 68 2d 73 74 72 29 0a 20 .(list.(string->path.path-str)..
1c600 20 20 20 20 20 20 20 20 20 20 70 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 20 28 ..........pos............(read.(
1c620 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 29 29 0a 20 20 open-input-string.condition))...
1c640 20 20 20 20 20 20 20 20 20 28 72 65 61 64 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 69 6e .........(read.(open-input-strin
1c660 67 20 61 63 74 69 6f 6e 73 29 29 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 g.actions)))]))..(define/contrac
1c680 74 20 6e 65 78 74 2d 62 72 65 61 6b 0a 20 20 28 63 61 73 65 2d 3e 20 28 2d 3e 20 62 72 65 61 6b t.next-break...(case->.(->.break
1c6a0 2d 77 68 65 6e 2f 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 20 62 72 65 61 6b 2d 77 68 65 -when/c)...........(->.break-whe
1c6c0 6e 2f 63 20 76 6f 69 64 29 29 0a 20 20 28 6c 65 74 20 28 5b 76 20 27 6e 6f 6e 65 5d 29 0a 20 20 n/c.void))...(let.([v.'none])...
1c6e0 20 20 28 63 61 73 65 2d 6c 61 6d 62 64 61 20 5b 28 29 20 76 5d 0a 20 20 20 20 20 20 20 20 20 20 ..(case-lambda.[().v]...........
1c700 20 20 20 20 20 20 20 5b 28 76 21 29 20 28 73 65 74 21 20 76 20 76 21 29 5d 29 29 29 0a 0a 3b 3b .......[(v!).(set!.v.v!)])))..;;
1c720 20 46 6f 6c 6c 6f 77 69 6e 67 20 61 72 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 77 65 20 .Following.are.the.functions.we.
1c740 67 69 76 65 20 60 61 6e 6e 6f 74 61 74 65 2d 66 6f 72 2d 73 69 6e 67 6c 65 2d 73 74 65 70 70 69 give.`annotate-for-single-steppi
1c760 6e 67 60 2c 0a 3b 3b 20 63 61 6c 6c 73 20 74 6f 20 77 68 69 63 68 20 69 74 20 22 77 65 61 76 65 ng`,.;;.calls.to.which.it."weave
1c780 73 20 69 6e 74 6f 22 20 74 68 65 20 61 6e 6e 6f 74 61 74 65 64 20 63 6f 64 65 2e 20 57 68 65 6e s.into".the.annotated.code..When
1c7a0 20 69 74 20 63 61 6c 6c 73 0a 3b 3b 20 60 62 72 65 61 6b 3f 60 20 61 6e 64 20 77 65 20 72 65 74 .it.calls.;;.`break?`.and.we.ret
1c7c0 75 72 6e 20 74 72 75 65 2c 20 6e 65 78 74 20 69 74 20 63 61 6c 6c 73 20 65 69 74 68 65 72 20 60 urn.true,.next.it.calls.either.`
1c7e0 62 72 65 61 6b 2d 62 65 66 6f 72 65 60 20 6f 72 0a 3b 3b 20 60 62 72 65 61 6b 2d 61 66 74 65 72 break-before`.or.;;.`break-after
1c800 60 2e 0a 0a 28 64 65 66 69 6e 65 20 28 28 62 72 65 61 6b 3f 20 73 72 63 29 20 70 6f 73 29 0a 20 `...(define.((break?.src).pos)..
1c820 20 28 6d 61 74 63 68 20 28 6e 65 78 74 2d 62 72 65 61 6b 29 0a 20 20 20 20 5b 27 6e 6f 6e 65 20 .(match.(next-break).....['none.
1c840 20 20 20 20 20 20 20 23 66 5d 0a 20 20 20 20 5b 27 61 6c 6c 20 20 20 20 20 20 20 20 20 23 74 5d .......#f].....['all.........#t]
1c860 0a 20 20 20 20 5b 28 3f 20 6c 69 73 74 3f 20 78 73 29 20 28 66 6f 72 2f 6f 72 20 28 5b 78 20 28 .....[(?.list?.xs).(for/or.([x.(
1c880 69 6e 2d 6c 69 73 74 20 78 73 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 in-list.xs)])...................
1c8a0 20 20 28 6d 61 74 63 68 20 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(match.x......................
1c8c0 20 5b 28 6c 69 73 74 20 28 3d 3d 20 73 72 63 29 20 28 3d 3d 20 70 6f 73 29 20 5f 63 6f 6e 64 69 .[(list.(==.src).(==.pos)._condi
1c8e0 74 69 6f 6e 20 5f 61 63 74 69 6f 6e 73 29 20 78 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion._actions).x]...............
1c900 20 20 20 20 20 20 20 20 5b 5f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........[_......................
1c920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 66 5d 29 29 5d 0a 20 20 20 ......................#f]))]....
1c940 20 5b 5f 20 20 20 20 20 20 20 20 20 20 20 20 23 66 5d 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f .[_............#f]))..(define/co
1c960 6e 74 72 61 63 74 20 28 62 72 65 61 6b 2d 62 65 66 6f 72 65 20 74 6f 70 2d 6d 61 72 6b 20 63 63 ntract.(break-before.top-mark.cc
1c980 6d 29 0a 20 20 28 2d 3e 20 6d 61 72 6b 2f 63 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 m)...(->.mark/c.continuation-mar
1c9a0 6b 2d 73 65 74 3f 20 28 6f 72 2f 63 20 23 66 20 28 6c 69 73 74 6f 66 20 61 6e 79 2f 63 29 29 29 k-set?.(or/c.#f.(listof.any/c)))
1c9c0 0a 20 20 28 62 72 65 61 6b 20 27 62 65 66 6f 72 65 20 74 6f 70 2d 6d 61 72 6b 20 63 63 6d 20 23 ...(break.'before.top-mark.ccm.#
1c9e0 66 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 62 72 65 61 6b 2d 61 66 74 f))..(define/contract.(break-aft
1ca00 65 72 20 74 6f 70 2d 6d 61 72 6b 20 63 63 6d 20 2e 20 76 61 6c 73 29 0a 20 20 28 2d 3e 2a 20 28 er.top-mark.ccm...vals)...(->*.(
1ca20 6d 61 72 6b 2f 63 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 73 65 74 3f 29 20 23 mark/c.continuation-mark-set?).#
1ca40 3a 72 65 73 74 20 28 6c 69 73 74 6f 66 20 61 6e 79 2f 63 29 0a 20 20 20 20 20 20 20 61 6e 79 29 :rest.(listof.any/c)........any)
1ca60 0a 20 20 28 61 70 70 6c 79 20 76 61 6c 75 65 73 20 28 62 72 65 61 6b 20 27 61 66 74 65 72 20 74 ...(apply.values.(break.'after.t
1ca80 6f 70 2d 6d 61 72 6b 20 63 63 6d 20 76 61 6c 73 29 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e op-mark.ccm.vals)))..(define/con
1caa0 74 72 61 63 74 20 28 62 72 65 61 6b 20 62 65 66 6f 72 65 2f 61 66 74 65 72 20 74 6f 70 2d 6d 61 tract.(break.before/after.top-ma
1cac0 72 6b 20 63 63 6d 20 76 61 6c 73 29 0a 20 20 28 2d 3e 20 28 6f 72 2f 63 20 27 62 65 66 6f 72 65 rk.ccm.vals)...(->.(or/c.'before
1cae0 20 27 61 66 74 65 72 29 20 6d 61 72 6b 2f 63 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 .'after).mark/c.continuation-mar
1cb00 6b 2d 73 65 74 3f 20 28 6f 72 2f 63 20 23 66 20 28 6c 69 73 74 6f 66 20 61 6e 79 2f 63 29 29 0a k-set?.(or/c.#f.(listof.any/c)).
1cb20 20 20 20 20 20 20 28 6f 72 2f 63 20 23 66 20 28 6c 69 73 74 6f 66 20 61 6e 79 2f 63 29 29 29 0a ......(or/c.#f.(listof.any/c))).
1cb40 20 20 28 64 65 66 69 6e 65 20 73 74 78 20 28 6d 61 72 6b 2d 73 6f 75 72 63 65 20 74 6f 70 2d 6d ..(define.stx.(mark-source.top-m
1cb60 61 72 6b 29 29 0a 20 20 28 64 65 66 69 6e 65 20 73 72 63 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 ark))...(define.src.(syntax-sour
1cb80 63 65 20 73 74 78 29 29 0a 20 20 28 64 65 66 69 6e 65 20 70 6f 73 20 28 63 61 73 65 20 62 65 66 ce.stx))...(define.pos.(case.bef
1cba0 6f 72 65 2f 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 62 65 66 6f ore/after.................[(befo
1cbc0 72 65 29 20 20 20 20 28 73 79 6e 74 61 78 2d 70 6f 73 69 74 69 6f 6e 20 73 74 78 29 5d 0a 20 20 re)....(syntax-position.stx)]...
1cbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 61 66 74 65 72 29 20 20 28 2b 20 28 73 79 6e 74 ..............[(after)..(+.(synt
1cc00 61 78 2d 70 6f 73 69 74 69 6f 6e 20 73 74 78 29 20 28 73 79 6e 74 61 78 2d 73 70 61 6e 20 73 74 ax-position.stx).(syntax-span.st
1cc20 78 29 20 2d 31 29 5d 29 29 0a 0a 20 20 3b 3b 20 57 68 61 74 20 74 6f 20 64 6f 20 64 65 70 65 6e x).-1)]))....;;.What.to.do.depen
1cc40 64 73 20 6f 6e 20 77 68 65 74 68 65 72 20 74 68 65 20 62 72 65 61 6b 20 69 73 20 64 75 65 20 74 ds.on.whether.the.break.is.due.t
1cc60 6f 20 61 20 75 73 65 72 0a 20 20 3b 3b 20 62 72 65 61 6b 70 6f 69 6e 74 2c 20 61 6e 64 20 69 66 o.a.user...;;.breakpoint,.and.if
1cc80 20 73 6f 2c 20 77 68 61 74 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e 64 20 61 63 74 69 6f 6e 73 20 .so,.what.condition.and.actions.
1cca0 69 74 20 73 70 65 63 69 66 69 65 73 2e 0a 20 20 28 64 65 66 69 6e 65 20 61 63 74 69 6f 6e 73 0a it.specifies....(define.actions.
1ccc0 20 20 20 20 28 6d 61 74 63 68 20 28 28 62 72 65 61 6b 3f 20 73 72 63 29 20 70 6f 73 29 0a 20 20 ....(match.((break?.src).pos)...
1cce0 20 20 20 20 5b 28 6c 69 73 74 20 5f 73 72 63 20 5f 70 6f 73 20 63 6f 6e 64 69 74 69 6f 6e 20 61 ....[(list._src._pos.condition.a
1cd00 63 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 65 71 75 61 6c 3f 20 63 ctions)........(if.(or.(equal?.c
1cd20 6f 6e 64 69 74 69 6f 6e 20 23 74 29 20 3b 73 68 6f 72 74 2d 63 75 74 0a 20 20 20 20 20 20 20 20 ondition.#t).;short-cut.........
1cd40 20 20 20 20 20 20 20 28 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 20 28 5b 76 61 6c 75 65 73 0a 20 .......(with-handlers.([values..
1cd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
1cd80 ce bb 20 28 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(e)..........................
1cda0 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 65 73 73 61 67 65 0a 20 20 .........(repl-output-message...
1cdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1cde0 20 28 66 6f 72 6d 61 74 20 22 7e 61 5c 6e 69 6e 20 64 65 62 75 67 67 65 72 20 63 6f 6e 64 69 74 .(format."~a\nin.debugger.condit
1ce00 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 3a 5c 6e 20 20 7e 76 22 0a 20 20 20 20 20 20 20 20 20 ion.expression:\n..~v"..........
1ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1ce40 20 20 28 65 78 6e 2d 6d 65 73 73 61 67 65 20 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(exn-message.e)...............
1ce60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e .............................con
1ce80 64 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dition))........................
1cea0 20 20 20 20 20 20 20 20 20 20 20 23 74 29 5d 29 20 3b 62 72 65 61 6b 20 61 6e 79 77 61 79 0a 20 ...........#t)]).;break.anyway..
1cec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 76 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 ...............(eval............
1cee0 20 20 20 20 20 20 28 63 61 6c 6c 2d 77 69 74 68 2d 73 65 73 73 69 6f 6e 2d 63 6f 6e 74 65 78 74 ......(call-with-session-context
1cf00 20 28 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 .(current-session-id)...........
1cf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1cf40 20 20 77 69 74 68 2d 6c 6f 63 61 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..with-locals...................
1cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 64 69 74 ..........................condit
1cf80 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion.............................
1cfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 72 6b 2d 62 69 6e 64 69 6e 67 73 20 74 ................(mark-bindings.t
1cfc0 6f 70 2d 6d 61 72 6b 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 73 0a op-mark)))))............actions.
1cfe0 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 29 5d 0a 20 20 20 20 20 20 3b 3b 20 4f 74 68 65 72 ...........null)].......;;.Other
1d000 77 69 73 65 2c 20 65 2e 67 2e 20 66 6f 72 20 61 20 73 69 6d 70 6c 65 20 73 74 65 70 2c 20 74 68 wise,.e.g..for.a.simple.step,.th
1d020 65 20 64 65 66 61 75 6c 74 20 61 6e 64 20 6f 6e 6c 79 0a 20 20 20 20 20 20 3b 3b 20 61 63 74 69 e.default.and.only.......;;.acti
1d040 6f 6e 20 69 73 20 74 6f 20 62 72 65 61 6b 2e 0a 20 20 20 20 20 20 5b 5f 20 27 28 62 72 65 61 6b on.is.to.break........[_.'(break
1d060 29 5d 29 29 0a 0a 20 20 28 77 68 65 6e 20 28 6d 65 6d 71 20 27 70 72 69 6e 74 20 61 63 74 69 6f )]))....(when.(memq.'print.actio
1d080 6e 73 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6e 75 6c 6c 3f 20 28 6d 61 72 6b 2d 62 69 6e ns).....(unless.(null?.(mark-bin
1d0a0 64 69 6e 67 73 20 74 6f 70 2d 6d 61 72 6b 29 29 0a 20 20 20 20 20 20 28 72 65 70 6c 2d 6f 75 74 dings.top-mark)).......(repl-out
1d0c0 70 75 74 2d 6d 65 73 73 61 67 65 20 22 44 65 62 75 67 67 65 72 20 77 61 74 63 68 70 6f 69 6e 74 put-message."Debugger.watchpoint
1d0e0 3b 20 6c 6f 63 61 6c 73 3a 22 29 0a 20 20 20 20 20 20 28 66 6f 72 2a 20 28 5b 62 69 6e 64 69 6e ;.locals:").......(for*.([bindin
1d100 67 20 20 28 69 6e 2d 6c 69 73 74 20 28 72 65 76 65 72 73 65 20 28 6d 61 72 6b 2d 62 69 6e 64 69 g..(in-list.(reverse.(mark-bindi
1d120 6e 67 73 20 74 6f 70 2d 6d 61 72 6b 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 73 ngs.top-mark)))]..............[s
1d140 74 78 20 20 20 20 20 20 28 69 6e 2d 76 61 6c 75 65 20 28 66 69 72 73 74 20 62 69 6e 64 69 6e 67 tx......(in-value.(first.binding
1d160 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 67 65 74 2f 73 65 74 21 20 28 69 6e 2d 76 ))]..............[get/set!.(in-v
1d180 61 6c 75 65 20 28 73 65 63 6f 6e 64 20 62 69 6e 64 69 6e 67 29 29 5d 0a 20 20 20 20 20 20 20 20 alue.(second.binding))].........
1d1a0 20 20 20 20 20 23 3a 77 68 65 6e 20 28 61 6e 64 20 28 73 79 6e 74 61 78 2d 6f 72 69 67 69 6e 61 .....#:when.(and.(syntax-origina
1d1c0 6c 3f 20 73 74 78 29 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 73 74 78 29 29 29 0a 20 20 l?.stx).(syntax-source.stx)))...
1d1e0 20 20 20 20 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 65 73 73 61 67 65 20 28 66 6f 72 6d ......(repl-output-message.(form
1d200 61 74 20 22 20 7e 61 20 3d 20 7e 61 22 20 73 74 78 20 28 7e 76 20 28 67 65 74 2f 73 65 74 21 29 at.".~a.=.~a".stx.(~v.(get/set!)
1d220 29 29 29 29 29 29 0a 0a 20 20 28 77 68 65 6e 20 28 6d 65 6d 71 20 27 6c 6f 67 20 61 63 74 69 6f ))))))....(when.(memq.'log.actio
1d240 6e 73 29 0a 20 20 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 64 65 62 75 67 67 65 ns).....(log-racket-mode-debugge
1d260 72 2d 69 6e 66 6f 0a 20 20 20 20 20 22 77 61 74 63 68 20 7e 61 20 7e 76 7e 61 22 0a 20 20 20 20 r-info......"watch.~a.~v~a".....
1d280 20 62 65 66 6f 72 65 2f 61 66 74 65 72 0a 20 20 20 20 20 73 74 78 0a 20 20 20 20 20 28 66 6f 72 .before/after......stx......(for
1d2a0 2a 2f 66 6f 6c 64 20 28 5b 73 74 72 20 22 22 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 */fold.([str.""])...............
1d2c0 20 20 28 5b 62 69 6e 64 69 6e 67 20 20 28 69 6e 2d 6c 69 73 74 20 28 72 65 76 65 72 73 65 20 28 ..([binding..(in-list.(reverse.(
1d2e0 6d 61 72 6b 2d 62 69 6e 64 69 6e 67 73 20 74 6f 70 2d 6d 61 72 6b 29 29 29 5d 0a 20 20 20 20 20 mark-bindings.top-mark)))]......
1d300 20 20 20 20 20 20 20 20 20 20 20 20 5b 73 74 78 20 20 20 20 20 20 28 69 6e 2d 76 61 6c 75 65 20 ............[stx......(in-value.
1d320 28 66 69 72 73 74 20 62 69 6e 64 69 6e 67 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (first.binding))]...............
1d340 20 20 20 5b 67 65 74 2f 73 65 74 21 20 28 69 6e 2d 76 61 6c 75 65 20 28 73 65 63 6f 6e 64 20 62 ...[get/set!.(in-value.(second.b
1d360 69 6e 64 69 6e 67 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 77 68 65 inding))]..................#:whe
1d380 6e 20 28 61 6e 64 20 28 73 79 6e 74 61 78 2d 6f 72 69 67 69 6e 61 6c 3f 20 73 74 78 29 20 28 73 n.(and.(syntax-original?.stx).(s
1d3a0 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 73 74 78 29 29 29 0a 20 20 20 20 20 20 20 28 73 74 72 69 yntax-source.stx)))........(stri
1d3c0 6e 67 2d 61 70 70 65 6e 64 20 73 74 72 20 28 66 6f 72 6d 61 74 20 22 5c 6e 20 7e 61 20 3d 20 7e ng-append.str.(format."\n.~a.=.~
1d3e0 61 22 20 73 74 78 20 28 7e 76 20 28 67 65 74 2f 73 65 74 21 29 29 29 29 29 29 29 0a 0a 20 20 28 a".stx.(~v.(get/set!)))))))....(
1d400 63 6f 6e 64 0a 20 20 20 20 5b 28 6d 65 6d 71 20 27 62 72 65 61 6b 20 61 63 74 69 6f 6e 73 29 0a cond.....[(memq.'break.actions).
1d420 20 20 20 20 20 3b 3b 20 53 74 61 72 74 20 61 20 64 65 62 75 67 20 72 65 70 6c 20 6f 6e 20 69 74 .....;;.Start.a.debug.repl.on.it
1d440 73 20 6f 77 6e 20 74 68 72 65 61 64 2c 20 62 65 63 61 75 73 65 20 62 65 6c 6f 77 20 77 65 27 72 s.own.thread,.because.below.we'r
1d460 65 20 67 6f 69 6e 67 20 74 6f 0a 20 20 20 20 20 3b 3b 20 62 6c 6f 63 6b 20 69 6e 64 65 66 69 6e e.going.to......;;.block.indefin
1d480 69 74 65 6c 79 20 77 69 74 68 20 28 63 68 61 6e 6e 65 6c 2d 67 65 74 20 6f 6e 2d 72 65 73 75 6d itely.with.(channel-get.on-resum
1d4a0 65 2d 63 68 61 6e 6e 65 6c 29 2c 20 77 61 69 74 69 6e 67 20 66 6f 72 0a 20 20 20 20 20 3b 3b 20 e-channel),.waiting.for......;;.
1d4c0 74 68 65 20 45 6d 61 63 73 20 66 72 6f 6e 74 20 65 6e 64 20 74 6f 20 69 73 73 75 65 20 61 20 64 the.Emacs.front.end.to.issue.a.d
1d4e0 65 62 75 67 2d 72 65 73 75 6d 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 28 64 65 66 69 6e ebug-resume.command.......(defin
1d500 65 20 72 65 70 6c 2d 74 68 72 65 61 64 20 28 74 68 72 65 61 64 20 28 72 65 70 6c 20 73 72 63 20 e.repl-thread.(thread.(repl.src.
1d520 70 6f 73 20 74 6f 70 2d 6d 61 72 6b 29 29 29 0a 20 20 20 20 20 3b 3b 20 49 66 20 69 74 20 69 73 pos.top-mark)))......;;.If.it.is
1d540 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 72 6f 75 6e 64 2d 74 72 69 70 20 73 65 72 69 .not.possible.to.round-trip.seri
1d560 61 6c 69 7a 65 2f 64 65 73 65 72 69 61 6c 69 7a 65 20 74 68 65 0a 20 20 20 20 20 3b 3b 20 76 61 alize/deserialize.the......;;.va
1d580 6c 75 65 73 2c 20 75 73 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 61 6c 75 65 73 20 77 68 lues,.use.the.original.values.wh
1d5a0 65 6e 20 73 74 65 70 70 69 6e 67 20 28 64 6f 6e 27 74 20 61 74 74 65 6d 70 74 20 74 6f 0a 20 20 en.stepping.(don't.attempt.to...
1d5c0 20 20 20 3b 3b 20 73 75 62 73 74 69 74 75 74 65 20 75 73 65 72 2d 73 75 70 70 6c 69 65 64 20 76 ...;;.substitute.user-supplied.v
1d5e0 61 6c 75 65 73 29 2e 0a 20 20 20 20 20 28 64 65 66 69 6e 65 20 28 6d 61 79 62 65 2d 73 65 72 69 alues).......(define.(maybe-seri
1d600 61 6c 69 7a 65 64 2d 76 61 6c 73 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 73 74 72 20 28 alized-vals)........(let.([str.(
1d620 7e 73 20 76 61 6c 73 29 5d 29 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 73 65 ~s.vals)])..........(if.(and.(se
1d640 72 69 61 6c 69 7a 61 62 6c 65 3f 20 76 61 6c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rializable?.vals)...............
1d660 20 20 20 20 28 3c 3d 20 28 73 74 72 69 6e 67 2d 6c 65 6e 67 74 68 20 73 74 72 29 20 6d 61 78 2d ....(<=.(string-length.str).max-
1d680 77 69 64 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 23 74 20 73 74 width))..............(cons.#t.st
1d6a0 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 23 66 20 28 7e 73 20 23 3a 6d r)..............(cons.#f.(~s.#:m
1d6c0 61 78 2d 77 69 64 74 68 20 20 20 20 6d 61 78 2d 77 69 64 74 68 0a 20 20 20 20 20 20 20 20 20 20 ax-width....max-width...........
1d6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 6c 69 6d 69 74 2d 6d 61 72 6b 65 72 20 6c ................#:limit-marker.l
1d700 69 6d 69 74 2d 6d 61 72 6b 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 imit-marker.....................
1d720 20 20 20 20 20 20 76 61 6c 73 29 29 29 29 29 0a 20 20 20 20 20 3b 3b 20 54 68 65 20 6f 6e 2d 62 ......vals)))))......;;.The.on-b
1d740 72 65 61 6b 2d 63 68 61 6e 6e 65 6c 20 69 73 20 68 6f 77 20 77 65 20 6e 6f 74 69 66 79 20 74 68 reak-channel.is.how.we.notify.th
1d760 65 20 45 6d 61 63 73 20 66 72 6f 6e 74 2d 65 6e 64 2e 20 54 68 69 73 0a 20 20 20 20 20 3b 3b 20 e.Emacs.front-end..This......;;.
1d780 69 73 20 61 20 73 79 6e 63 68 72 6f 6e 6f 75 73 20 63 68 61 6e 6e 65 6c 2d 70 75 74 20 62 75 74 is.a.synchronous.channel-put.but
1d7a0 20 69 74 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 66 61 69 72 6c 79 20 71 75 69 63 6b 6c 79 .it.should.return.fairly.quickly
1d7c0 2c 0a 20 20 20 20 20 3b 3b 20 61 73 20 73 6f 6f 6e 20 61 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 ,......;;.as.soon.as.the.command
1d7e0 20 73 65 72 76 65 72 20 67 65 74 73 20 61 6e 64 20 77 72 69 74 65 73 20 69 74 2e 20 49 6e 20 6f .server.gets.and.writes.it..In.o
1d800 74 68 65 72 20 77 6f 72 64 73 2c 0a 20 20 20 20 20 3b 3b 20 74 68 69 73 20 69 73 20 73 65 6e 74 ther.words,......;;.this.is.sent
1d820 20 61 73 20 61 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 2c 20 75 6e 6c 69 6b 65 20 61 20 63 6f 6d .as.a.notification,.unlike.a.com
1d840 6d 61 6e 64 20 72 65 73 70 6f 6e 73 65 20 61 73 20 61 0a 20 20 20 20 20 3b 3b 20 72 65 73 75 6c mand.response.as.a......;;.resul
1d860 74 20 6f 66 20 61 20 72 65 71 75 65 73 74 2e 0a 20 20 20 20 20 28 64 65 66 69 6e 65 20 74 68 69 t.of.a.request.......(define.thi
1d880 73 2d 62 72 65 61 6b 2d 69 64 20 28 6e 65 77 2d 62 72 65 61 6b 2d 69 64 29 29 0a 20 20 20 20 20 s-break-id.(new-break-id))......
1d8a0 28 64 65 66 69 6e 65 20 6d 61 78 2d 77 69 64 74 68 20 31 32 38 29 0a 20 20 20 20 20 28 64 65 66 (define.max-width.128)......(def
1d8c0 69 6e 65 20 6c 69 6d 69 74 2d 6d 61 72 6b 65 72 20 22 e2 8b af 22 29 0a 20 20 20 20 20 28 64 65 ine.limit-marker."...")......(de
1d8e0 66 69 6e 65 20 6c 6f 63 61 6c 73 0a 20 20 20 20 20 20 20 28 66 6f 72 2a 2f 6c 69 73 74 20 28 5b fine.locals........(for*/list.([
1d900 62 69 6e 64 69 6e 67 20 20 28 69 6e 2d 6c 69 73 74 20 28 6d 61 72 6b 2d 62 69 6e 64 69 6e 67 73 binding..(in-list.(mark-bindings
1d920 20 74 6f 70 2d 6d 61 72 6b 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .top-mark))]....................
1d940 5b 73 74 78 20 20 20 20 20 20 28 69 6e 2d 76 61 6c 75 65 20 28 66 69 72 73 74 20 62 69 6e 64 69 [stx......(in-value.(first.bindi
1d960 6e 67 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 67 65 74 2f 73 65 ng))]....................[get/se
1d980 74 21 20 28 69 6e 2d 76 61 6c 75 65 20 28 73 65 63 6f 6e 64 20 62 69 6e 64 69 6e 67 29 29 5d 0a t!.(in-value.(second.binding))].
1d9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 77 68 65 6e 20 28 61 6e 64 20 28 ...................#:when.(and.(
1d9c0 73 79 6e 74 61 78 2d 6f 72 69 67 69 6e 61 6c 3f 20 73 74 78 29 20 28 73 79 6e 74 61 78 2d 73 6f syntax-original?.stx).(syntax-so
1d9e0 75 72 63 65 20 73 74 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 73 79 6e 74 urce.stx)))..........(list.(synt
1da00 61 78 2d 73 6f 75 72 63 65 20 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 ax-source.stx)................(s
1da20 79 6e 74 61 78 2d 70 6f 73 69 74 69 6f 6e 20 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 yntax-position.stx).............
1da40 20 20 20 28 73 79 6e 74 61 78 2d 73 70 61 6e 20 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 ...(syntax-span.stx)............
1da60 20 20 20 20 28 73 79 6e 74 61 78 2d 3e 64 61 74 75 6d 20 73 74 78 29 0a 20 20 20 20 20 20 20 20 ....(syntax->datum.stx).........
1da80 20 20 20 20 20 20 20 28 7e 76 20 23 3a 6d 61 78 2d 77 69 64 74 68 20 20 20 20 6d 61 78 2d 77 69 .......(~v.#:max-width....max-wi
1daa0 64 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 6c 69 6d 69 74 2d 6d dth....................#:limit-m
1dac0 61 72 6b 65 72 20 6c 69 6d 69 74 2d 6d 61 72 6b 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 arker.limit-marker..............
1dae0 20 20 20 20 20 20 28 67 65 74 2f 73 65 74 21 29 29 29 29 29 0a 20 20 20 20 20 28 63 68 61 6e 6e ......(get/set!)))))......(chann
1db00 65 6c 2d 70 75 74 20 6f 6e 2d 62 72 65 61 6b 2d 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20 el-put.on-break-channel.........
1db20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 64 65 62 75 67 2d 62 72 65 61 6b 0a 20 20 20 ..........(list.'debug-break....
1db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 73 72 63 20 70 .....................(cons.src.p
1db60 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 os).........................brea
1db80 6b 61 62 6c 65 2d 70 6f 73 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 kable-positions.................
1dba0 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........locals..................
1dbc0 20 20 20 20 20 20 20 28 63 6f 6e 73 20 74 68 69 73 2d 62 72 65 61 6b 2d 69 64 0a 20 20 20 20 20 .......(cons.this-break-id......
1dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 73 65 20 62 .........................(case.b
1dc00 65 66 6f 72 65 2f 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 efore/after.....................
1dc20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 62 65 66 6f 72 65 29 20 28 6c 69 73 74 20 27 62 65 66 ............[(before).(list.'bef
1dc40 6f 72 65 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ore)]...........................
1dc60 20 20 20 20 20 20 5b 28 61 66 74 65 72 29 20 20 28 6c 69 73 74 20 27 61 66 74 65 72 20 28 6d 61 ......[(after)..(list.'after.(ma
1dc80 79 62 65 2d 73 65 72 69 61 6c 69 7a 65 64 2d 76 61 6c 73 29 29 5d 29 29 29 29 0a 20 20 20 20 20 ybe-serialized-vals))]))))......
1dca0 3b 3b 20 57 61 69 74 20 66 6f 72 20 64 65 62 75 67 2d 72 65 73 75 6d 65 20 63 6f 6d 6d 61 6e 64 ;;.Wait.for.debug-resume.command
1dcc0 20 74 6f 20 70 75 74 20 74 6f 20 6f 6e 2d 72 65 73 75 6d 65 2d 63 68 61 6e 6e 65 6c 2e 20 49 66 .to.put.to.on-resume-channel..If
1dce0 0a 20 20 20 20 20 3b 3b 20 77 72 6f 6e 67 20 62 72 65 61 6b 20 49 44 2c 20 69 67 6e 6f 72 65 20 ......;;.wrong.break.ID,.ignore.
1dd00 61 6e 64 20 77 61 69 74 20 61 67 61 69 6e 2e 0a 20 20 20 20 20 28 6c 65 74 20 77 61 69 74 20 28 and.wait.again.......(let.wait.(
1dd20 29 0a 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 63 68 61 6e 6e 65 6c 2d 67 65 74 20 6f 6e 2d )........(match.(channel-get.on-
1dd40 72 65 73 75 6d 65 2d 63 68 61 6e 6e 65 6c 29 0a 20 20 20 20 20 20 20 20 20 5b 28 6c 69 73 74 20 resume-channel)..........[(list.
1dd60 28 61 70 70 20 66 72 6f 6d 2d 65 6c 69 73 70 2d 62 72 65 61 6b 2d 77 68 65 6e 20 62 72 65 61 6b (app.from-elisp-break-when.break
1dd80 2d 77 68 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 2a 20 28 3d -when).................(list*.(=
1dda0 3d 20 74 68 69 73 2d 62 72 65 61 6b 2d 69 64 29 20 62 65 66 6f 72 65 2f 61 66 74 65 72 20 6d 6f =.this-break-id).before/after.mo
1ddc0 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 2d 62 72 65 61 6b 20 28 63 61 6c 63 re))...........(next-break.(calc
1dde0 2d 6e 65 78 74 2d 62 72 65 61 6b 20 62 72 65 61 6b 2d 77 68 65 6e 20 62 65 66 6f 72 65 2f 61 66 -next-break.break-when.before/af
1de00 74 65 72 20 74 6f 70 2d 6d 61 72 6b 20 63 63 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 62 65 ter.top-mark.ccm))...........(be
1de20 67 69 6e 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 73 74 65 70 20 61 gin0...............;;.The.step.a
1de40 6e 6e 6f 74 61 74 6f 72 20 6e 65 65 64 73 20 75 73 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 nnotator.needs.us.to.return.the.
1de60 76 61 6c 75 65 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 20 75 73 values.to...............;;.be.us
1de80 65 64 20 77 68 65 6e 20 72 65 73 75 6d 69 6e 67 20 66 72 6f 6d 20 62 65 66 6f 72 65 20 6f 72 20 ed.when.resuming.from.before.or.
1dea0 61 66 74 65 72 20 73 74 65 70 20 2d 2d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 after.step.--...............;;.e
1dec0 69 74 68 65 72 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 61 6c 75 65 73 2c 20 6f 72 20 74 68 ither.the.original.values,.or.th
1dee0 6f 73 65 20 74 68 65 20 75 73 65 72 20 61 73 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ose.the.user.asked..............
1df00 20 3b 3b 20 74 6f 20 62 65 20 73 75 62 73 74 69 74 75 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 .;;.to.be.substituted...........
1df20 20 20 20 20 20 28 6d 61 74 63 68 2a 20 5b 62 65 66 6f 72 65 2f 61 66 74 65 72 20 6d 6f 72 65 5d .....(match*.[before/after.more]
1df40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5b 27 62 65 66 6f 72 65 20 28 6c 69 73 74 .................[['before.(list
1df60 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 66 5d 0a 20 20 20 20 20 20 20 20 )]..................#f].........
1df80 20 20 20 20 20 20 20 20 5b 5b 27 62 65 66 6f 72 65 20 28 6c 69 73 74 20 6e 65 77 2d 76 61 6c 73 ........[['before.(list.new-vals
1dfa0 2d 73 74 72 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 73 74 -str)]..................(read-st
1dfc0 72 2f 64 65 66 61 75 6c 74 20 6e 65 77 2d 76 61 6c 73 2d 73 74 72 20 76 61 6c 73 29 5d 0a 20 20 r/default.new-vals-str.vals)]...
1dfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5b 27 61 66 74 65 72 20 28 6c 69 73 74 20 6e 65 77 ..............[['after.(list.new
1e000 2d 76 61 6c 73 2d 70 61 69 72 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d -vals-pair)]..................(m
1e020 61 74 63 68 20 6e 65 77 2d 76 61 6c 73 2d 70 61 69 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 atch.new-vals-pair..............
1e040 20 20 20 20 20 20 5b 28 63 6f 6e 73 20 23 74 20 20 6e 65 77 2d 76 61 6c 73 2d 73 74 72 29 20 28 ......[(cons.#t..new-vals-str).(
1e060 72 65 61 64 2d 73 74 72 2f 64 65 66 61 75 6c 74 20 6e 65 77 2d 76 61 6c 73 2d 73 74 72 20 76 61 read-str/default.new-vals-str.va
1e080 6c 73 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 63 6f 6e 73 20 27 ls)]....................[(cons.'
1e0a0 28 29 20 5f 29 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 73 5d 29 20 5d 29 0a 20 20 20 20 20 ()._)............vals]).])......
1e0c0 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 74 68 72 65 61 64 20 72 65 70 6c 2d 74 68 72 65 61 64 29 .......(kill-thread.repl-thread)
1e0e0 29 5d 0a 20 20 20 20 20 20 20 20 20 5b 5f 20 28 77 61 69 74 29 5d 29 29 5d 0a 20 20 20 20 3b 3b )]..........[_.(wait)]))].....;;
1e100 20 4f 74 68 65 72 77 69 73 65 2c 20 69 66 20 77 65 20 64 69 64 6e 27 74 20 62 72 65 61 6b 2c 20 .Otherwise,.if.we.didn't.break,.
1e120 77 65 20 73 69 6d 70 6c 79 20 6e 65 65 64 20 74 6f 20 28 61 29 20 63 61 6c 63 75 6c 61 74 65 0a we.simply.need.to.(a).calculate.
1e140 20 20 20 20 3b 3b 20 6e 65 78 74 2d 62 72 65 61 6b 20 61 6e 64 20 28 62 29 20 74 65 6c 6c 20 74 ....;;.next-break.and.(b).tell.t
1e160 68 65 20 61 6e 6e 6f 74 61 74 6f 72 20 74 6f 20 75 73 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c he.annotator.to.use.the.original
1e180 0a 20 20 20 20 3b 3b 20 76 61 6c 75 65 73 20 28 6e 6f 20 75 73 65 72 20 73 75 62 73 74 69 74 75 .....;;.values.(no.user.substitu
1e1a0 74 69 6f 6e 29 2e 0a 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 28 6e 65 78 74 2d 62 72 65 61 tion)......[else......(next-brea
1e1c0 6b 20 28 63 61 6c 63 2d 6e 65 78 74 2d 62 72 65 61 6b 20 28 6e 65 78 74 2d 62 72 65 61 6b 29 20 k.(calc-next-break.(next-break).
1e1e0 62 65 66 6f 72 65 2f 61 66 74 65 72 20 74 6f 70 2d 6d 61 72 6b 20 63 63 6d 29 29 0a 20 20 20 20 before/after.top-mark.ccm)).....
1e200 20 28 63 61 73 65 20 62 65 66 6f 72 65 2f 61 66 74 65 72 0a 20 20 20 20 20 20 20 5b 28 62 65 66 .(case.before/after........[(bef
1e220 6f 72 65 29 20 23 66 5d 0a 20 20 20 20 20 20 20 5b 28 61 66 74 65 72 29 20 20 76 61 6c 73 5d 29 ore).#f]........[(after)..vals])
1e240 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 73 65 72 69 61 6c 69 7a 61 62 6c 65 3f 20 76 29 0a 20 ]))..(define.(serializable?.v)..
1e260 20 28 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 20 28 5b 65 78 6e 3a 66 61 69 6c 3a 72 65 61 64 3f .(with-handlers.([exn:fail:read?
1e280 20 28 ce bb 20 5f 20 23 66 29 5d 29 0a 20 20 20 20 28 65 71 75 61 6c 3f 20 76 20 28 77 72 69 74 .(..._.#f)]).....(equal?.v.(writ
1e2a0 65 2f 72 65 61 64 20 76 29 29 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 63 e/read.v))))..(module+.test...(c
1e2c0 68 65 63 6b 2d 74 72 75 65 20 28 73 65 72 69 61 6c 69 7a 61 62 6c 65 3f 20 34 32 29 29 0a 20 20 heck-true.(serializable?.42))...
1e2e0 28 63 68 65 63 6b 2d 74 72 75 65 20 28 73 65 72 69 61 6c 69 7a 61 62 6c 65 3f 20 27 66 6f 6f 29 (check-true.(serializable?.'foo)
1e300 29 0a 20 20 28 63 68 65 63 6b 2d 66 61 6c 73 65 20 28 73 65 72 69 61 6c 69 7a 61 62 6c 65 3f 20 )...(check-false.(serializable?.
1e320 28 6f 70 65 6e 2d 6f 75 74 70 75 74 2d 73 74 72 69 6e 67 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 (open-output-string))))..(define
1e340 20 28 77 72 69 74 65 2f 72 65 61 64 20 76 29 0a 20 20 28 64 65 66 69 6e 65 20 6f 75 74 20 28 6f .(write/read.v)...(define.out.(o
1e360 70 65 6e 2d 6f 75 74 70 75 74 2d 73 74 72 69 6e 67 29 29 0a 20 20 28 77 72 69 74 65 20 76 20 6f pen-output-string))...(write.v.o
1e380 75 74 29 0a 20 20 28 64 65 66 69 6e 65 20 69 6e 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 ut)...(define.in.(open-input-str
1e3a0 69 6e 67 20 28 67 65 74 2d 6f 75 74 70 75 74 2d 73 74 72 69 6e 67 20 6f 75 74 29 29 29 0a 20 20 ing.(get-output-string.out)))...
1e3c0 28 72 65 61 64 20 69 6e 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 63 68 65 (read.in))..(module+.test...(che
1e3e0 63 6b 2d 65 71 75 61 6c 3f 20 28 77 72 69 74 65 2f 72 65 61 64 20 34 32 29 20 34 32 29 0a 20 20 ck-equal?.(write/read.42).42)...
1e400 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 77 72 69 74 65 2f 72 65 61 64 20 27 66 6f 6f 29 20 (check-equal?.(write/read.'foo).
1e420 27 66 6f 6f 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 72 65 61 64 2d 73 74 72 2f 64 65 66 61 75 6c 'foo))..(define.(read-str/defaul
1e440 74 20 73 74 72 20 64 65 66 61 75 6c 74 29 0a 20 20 28 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 20 t.str.default)...(with-handlers.
1e460 28 5b 65 78 6e 3a 66 61 69 6c 3a 72 65 61 64 3f 20 28 ce bb 20 5f 20 64 65 66 61 75 6c 74 29 5d ([exn:fail:read?.(..._.default)]
1e480 29 0a 20 20 20 20 28 72 65 61 64 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 69 6e 67 20 73 ).....(read.(open-input-string.s
1e4a0 74 72 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 63 61 6c 63 2d 6e tr))))..(define/contract.(calc-n
1e4c0 65 78 74 2d 62 72 65 61 6b 20 62 72 65 61 6b 2d 77 68 65 6e 20 62 65 66 6f 72 65 2f 61 66 74 65 ext-break.break-when.before/afte
1e4e0 72 20 74 6f 70 2d 6d 61 72 6b 20 63 63 6d 29 0a 20 20 28 2d 3e 20 28 6f 72 2f 63 20 62 72 65 61 r.top-mark.ccm)...(->.(or/c.brea
1e500 6b 2d 77 68 65 6e 2f 63 20 27 6f 76 65 72 20 27 6f 75 74 29 20 28 6f 72 2f 63 20 27 62 65 66 6f k-when/c.'over.'out).(or/c.'befo
1e520 72 65 20 27 61 66 74 65 72 29 20 6d 61 72 6b 2f 63 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d re.'after).mark/c.continuation-m
1e540 61 72 6b 2d 73 65 74 3f 0a 20 20 20 20 20 20 62 72 65 61 6b 2d 77 68 65 6e 2f 63 29 0a 20 20 28 ark-set?.......break-when/c)...(
1e560 64 65 66 69 6e 65 20 28 62 69 67 2d 73 74 65 70 20 66 72 61 6d 65 73 29 0a 20 20 20 20 28 64 65 define.(big-step.frames).....(de
1e580 66 69 6e 65 20 6e 75 6d 2d 6d 61 72 6b 73 20 28 6c 65 6e 67 74 68 20 28 64 65 62 75 67 2d 6d 61 fine.num-marks.(length.(debug-ma
1e5a0 72 6b 73 20 28 63 75 72 72 65 6e 74 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 73 29 rks.(current-continuation-marks)
1e5c0 29 29 29 0a 20 20 20 20 28 6f 72 20 28 66 6f 72 2f 6f 72 20 28 5b 66 72 61 6d 65 20 20 28 69 6e ))).....(or.(for/or.([frame..(in
1e5e0 2d 6c 69 73 74 20 66 72 61 6d 65 73 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -list.frames)]..................
1e600 20 5b 64 65 70 74 68 20 28 69 6e 2d 72 61 6e 67 65 20 28 6c 65 6e 67 74 68 20 66 72 61 6d 65 73 .[depth.(in-range.(length.frames
1e620 29 20 2d 31 20 2d 31 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 77 68 ).-1.-1)]...................#:wh
1e640 65 6e 20 28 3c 3d 20 6e 75 6d 2d 6d 61 72 6b 73 20 64 65 70 74 68 29 29 0a 20 20 20 20 20 20 20 en.(<=.num-marks.depth))........
1e660 20 20 20 28 6c 65 74 2a 20 28 5b 73 74 78 20 20 20 28 6d 61 72 6b 2d 73 6f 75 72 63 65 20 66 72 ...(let*.([stx...(mark-source.fr
1e680 61 6d 65 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 73 72 63 20 20 20 28 73 ame)]..................[src...(s
1e6a0 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 73 74 78 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 yntax-source.stx)]..............
1e6c0 20 20 20 20 5b 6c 65 66 74 20 20 28 73 79 6e 74 61 78 2d 70 6f 73 69 74 69 6f 6e 20 73 74 78 29 ....[left..(syntax-position.stx)
1e6e0 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 72 69 67 68 74 20 28 61 6e 64 20 6c ]..................[right.(and.l
1e700 65 66 74 20 28 2b 20 6c 65 66 74 20 28 73 79 6e 74 61 78 2d 73 70 61 6e 20 73 74 78 29 20 2d 31 eft.(+.left.(syntax-span.stx).-1
1e720 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 72 69 67 68 74 0a 20 20 20 20 ))]).............(and.right.....
1e740 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 72 65 61 6b 61 62 6c 65 2d 70 6f 73 69 74 69 6f 6e .............(breakable-position
1e760 3f 20 73 72 63 20 72 69 67 68 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c ?.src.right)..................(l
1e780 69 73 74 20 28 6c 69 73 74 20 73 72 63 20 72 69 67 68 74 20 23 74 20 27 28 62 72 65 61 6b 29 29 ist.(list.src.right.#t.'(break))
1e7a0 29 29 29 29 0a 20 20 20 20 20 20 20 20 27 61 6c 6c 29 29 0a 20 20 28 63 61 73 65 20 62 72 65 61 )))).........'all))...(case.brea
1e7c0 6b 2d 77 68 65 6e 0a 20 20 20 20 5b 28 6f 75 74 29 20 20 28 62 69 67 2d 73 74 65 70 20 28 64 65 k-when.....[(out)..(big-step.(de
1e7e0 62 75 67 2d 6d 61 72 6b 73 20 63 63 6d 29 29 5d 0a 20 20 20 20 5b 28 6f 76 65 72 29 20 28 63 61 bug-marks.ccm))].....[(over).(ca
1e800 73 65 20 62 65 66 6f 72 65 2f 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 se.before/after...............[(
1e820 62 65 66 6f 72 65 29 20 28 62 69 67 2d 73 74 65 70 20 28 63 6f 6e 73 20 74 6f 70 2d 6d 61 72 6b before).(big-step.(cons.top-mark
1e840 20 28 64 65 62 75 67 2d 6d 61 72 6b 73 20 63 63 6d 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 .(debug-marks.ccm)))]...........
1e860 20 20 20 20 5b 28 61 66 74 65 72 29 20 20 27 61 6c 6c 5d 29 5d 0a 20 20 20 20 5b 65 6c 73 65 20 ....[(after)..'all])].....[else.
1e880 62 72 65 61 6b 2d 77 68 65 6e 5d 29 29 20 3b 27 61 6c 6c 2c 20 27 6e 6f 6e 65 2c 20 6f 72 20 75 break-when])).;'all,.'none,.or.u
1e8a0 73 65 72 20 62 72 65 61 6b 70 6f 69 6e 74 73 0a 0a 28 64 65 66 69 6e 65 20 62 72 65 61 6b 2d 69 ser.breakpoints..(define.break-i
1e8c0 64 2f 63 20 6e 61 74 2f 63 29 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 6e 65 77 2d d/c.nat/c).(define/contract.new-
1e8e0 62 72 65 61 6b 2d 69 64 0a 20 20 28 2d 3e 20 62 72 65 61 6b 2d 69 64 2f 63 29 0a 20 20 28 6c 65 break-id...(->.break-id/c)...(le
1e900 74 20 28 5b 6e 20 30 5d 29 20 28 ce bb 20 28 29 20 28 62 65 67 69 6e 30 20 6e 20 28 73 65 74 21 t.([n.0]).(...().(begin0.n.(set!
1e920 20 6e 20 28 61 64 64 31 20 6e 29 29 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 .n.(add1.n))))))..(define/contra
1e940 63 74 20 28 64 65 62 75 67 2d 6d 61 72 6b 73 20 63 63 6d 29 0a 20 20 28 2d 3e 20 63 6f 6e 74 69 ct.(debug-marks.ccm)...(->.conti
1e960 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 73 65 74 3f 20 28 6c 69 73 74 6f 66 20 6d 61 72 6b 2f 63 nuation-mark-set?.(listof.mark/c
1e980 29 29 0a 20 20 28 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 73 65 74 2d 3e 6c 69 73 ))...(continuation-mark-set->lis
1e9a0 74 20 63 63 6d 20 64 65 62 75 67 2d 6b 65 79 29 29 0a 0a 3b 3b 3b 20 44 65 62 75 67 20 52 45 50 t.ccm.debug-key))..;;;.Debug.REP
1e9c0 4c 0a 0a 28 64 65 66 69 6e 65 20 28 28 72 65 70 6c 20 73 72 63 20 70 6f 73 20 74 6f 70 2d 6d 61 L..(define.((repl.src.pos.top-ma
1e9e0 72 6b 29 29 0a 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 70 rk))...(parameterize.([current-p
1ea00 72 6f 6d 70 74 2d 72 65 61 64 20 28 6d 61 6b 65 2d 70 72 6f 6d 70 74 2d 72 65 61 64 20 73 72 63 rompt-read.(make-prompt-read.src
1ea20 20 70 6f 73 20 74 6f 70 2d 6d 61 72 6b 29 5d 29 0a 20 20 20 20 28 72 65 61 64 2d 65 76 61 6c 2d .pos.top-mark)]).....(read-eval-
1ea40 70 72 69 6e 74 2d 6c 6f 6f 70 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 70 72 6f print-loop)))..(define.(make-pro
1ea60 6d 70 74 2d 72 65 61 64 20 73 72 63 20 70 6f 73 20 74 6f 70 2d 6d 61 72 6b 29 0a 20 20 28 64 65 mpt-read.src.pos.top-mark)...(de
1ea80 66 69 6e 65 20 28 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 64 65 62 75 67 2d 70 72 6f 6d 70 74 2d 72 fine.(racket-mode-debug-prompt-r
1eaa0 65 61 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 5f 62 61 73 65 20 6e ead).....(define-values.(_base.n
1eac0 61 6d 65 20 5f 64 69 72 29 20 28 73 70 6c 69 74 2d 70 61 74 68 20 73 72 63 29 29 0a 20 20 20 20 ame._dir).(split-path.src)).....
1eae0 28 64 65 66 69 6e 65 20 70 72 6f 6d 70 74 20 28 66 6f 72 6d 61 74 20 22 5b 7e 61 3a 7e 61 5d 22 (define.prompt.(format."[~a:~a]"
1eb00 20 6e 61 6d 65 20 70 6f 73 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 73 74 78 20 28 67 65 74 .name.pos)).....(define.stx.(get
1eb20 2d 69 6e 74 65 72 61 63 74 69 6f 6e 20 70 72 6f 6d 70 74 29 29 0a 20 20 20 20 28 63 61 6c 6c 2d -interaction.prompt)).....(call-
1eb40 77 69 74 68 2d 73 65 73 73 69 6f 6e 2d 63 6f 6e 74 65 78 74 20 28 63 75 72 72 65 6e 74 2d 73 65 with-session-context.(current-se
1eb60 73 73 69 6f 6e 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ssion-id).......................
1eb80 20 20 20 20 20 20 20 20 20 77 69 74 68 2d 6c 6f 63 61 6c 73 20 73 74 78 20 28 6d 61 72 6b 2d 62 .........with-locals.stx.(mark-b
1eba0 69 6e 64 69 6e 67 73 20 74 6f 70 2d 6d 61 72 6b 29 29 29 0a 20 20 72 61 63 6b 65 74 2d 6d 6f 64 indings.top-mark)))...racket-mod
1ebc0 65 2d 64 65 62 75 67 2d 70 72 6f 6d 70 74 2d 72 65 61 64 29 0a 0a 28 64 65 66 69 6e 65 20 28 77 e-debug-prompt-read)..(define.(w
1ebe0 69 74 68 2d 6c 6f 63 61 6c 73 20 73 74 78 20 62 69 6e 64 69 6e 67 73 29 0a 20 20 3b 3b 20 42 65 ith-locals.stx.bindings)...;;.Be
1ec00 66 6f 72 65 20 6f 72 20 64 75 72 69 6e 67 20 6d 6f 64 75 6c 65 2d 3e 6e 61 6d 65 73 70 61 63 65 fore.or.during.module->namespace
1ec20 20 2d 2d 20 69 2e 65 2e 20 64 75 72 69 6e 67 20 61 20 72 61 63 6b 65 74 2d 72 75 6e 20 2d 2d 0a .--.i.e..during.a.racket-run.--.
1ec40 20 20 3b 3b 20 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 77 6f 6e 27 74 20 28 63 61 ..;;.current-namespace.won't.(ca
1ec60 6e 27 74 29 20 79 65 74 20 62 65 20 61 20 6e 61 6d 65 73 70 61 63 65 20 77 69 74 68 20 6d 6f 64 n't).yet.be.a.namespace.with.mod
1ec80 75 6c 65 0a 20 20 3b 3b 20 62 6f 64 79 20 62 69 6e 64 69 6e 67 73 2e 20 49 6e 64 65 65 64 20 69 ule...;;.body.bindings..Indeed.i
1eca0 74 20 6d 69 67 68 74 20 62 65 20 66 72 6f 6d 20 6d 61 6b 65 2d 62 61 73 65 2d 65 6d 70 74 79 2d t.might.be.from.make-base-empty-
1ecc0 6e 61 6d 65 73 70 61 63 65 2c 0a 20 20 3b 3b 20 61 6e 64 20 6e 6f 74 20 65 76 65 6e 20 69 6e 63 namespace,...;;.and.not.even.inc
1ece0 6c 75 64 65 20 72 61 63 6b 65 74 2f 62 61 73 65 20 62 69 6e 64 69 6e 67 73 20 73 75 63 68 20 61 lude.racket/base.bindings.such.a
1ed00 73 20 23 25 61 70 70 2e 20 49 6e 20 74 68 61 74 0a 20 20 3b 3b 20 63 61 73 65 20 6d 61 6b 65 20 s.#%app..In.that...;;.case.make.
1ed20 74 68 65 6d 20 61 76 61 69 6c 61 62 6c 65 2e 20 54 68 61 74 20 77 61 79 20 74 68 65 20 64 65 62 them.available..That.way.the.deb
1ed40 75 67 20 52 45 50 4c 20 61 74 20 6c 65 61 73 74 20 63 61 6e 0a 20 20 3b 3b 20 68 61 6e 64 6c 65 ug.REPL.at.least.can...;;.handle
1ed60 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 6e 76 6f 6c 76 69 6e 67 20 6c 6f 63 61 6c 20 62 69 6e .expressions.involving.local.bin
1ed80 64 69 6e 67 73 2e 0a 20 20 28 75 6e 6c 65 73 73 20 28 6d 65 6d 62 65 72 20 27 23 25 61 70 70 20 dings....(unless.(member.'#%app.
1eda0 28 6e 61 6d 65 73 70 61 63 65 2d 6d 61 70 70 65 64 2d 73 79 6d 62 6f 6c 73 29 29 0a 20 20 20 20 (namespace-mapped-symbols)).....
1edc0 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 64 65 62 75 67 20 22 64 65 62 75 67 20 70 72 (log-racket-mode-debug."debug.pr
1ede0 6f 6d 70 74 2d 72 65 61 64 20 6e 61 6d 65 73 70 61 63 65 2d 72 65 71 75 69 72 65 20 72 61 63 6b ompt-read.namespace-require.rack
1ee00 65 74 2f 62 61 73 65 22 29 0a 20 20 20 20 28 6e 61 6d 65 73 70 61 63 65 2d 72 65 71 75 69 72 65 et/base").....(namespace-require
1ee20 20 27 72 61 63 6b 65 74 2f 62 61 73 65 29 29 0a 20 20 3b 3b 20 4e 6f 74 65 20 74 68 61 74 20 6d .'racket/base))...;;.Note.that.m
1ee40 61 72 6b 2d 62 69 6e 64 69 6e 67 73 20 69 73 20 6f 72 64 65 72 65 64 20 66 72 6f 6d 20 69 6e 6e ark-bindings.is.ordered.from.inn
1ee60 65 72 20 74 6f 20 6f 75 74 65 72 20 73 63 6f 70 65 73 20 2d 2d 0a 20 20 3b 3b 20 61 6e 64 20 63 er.to.outer.scopes.--...;;.and.c
1ee80 61 6e 20 69 6e 63 6c 75 64 65 20 6f 75 74 65 72 20 76 61 72 69 61 62 6c 65 73 20 73 68 61 64 6f an.include.outer.variables.shado
1eea0 77 65 64 20 62 79 20 69 6e 6e 65 72 20 6f 6e 65 73 2e 20 53 6f 20 75 73 65 0a 20 20 3b 3b 20 6f wed.by.inner.ones..So.use...;;.o
1eec0 6e 6c 79 20 74 68 65 20 66 69 72 73 74 20 6f 63 63 75 72 65 6e 63 65 20 6f 66 20 65 61 63 68 20 nly.the.first.occurence.of.each.
1eee0 69 64 65 6e 74 69 66 69 65 72 20 73 79 6d 62 6f 6c 20 77 65 20 65 6e 63 6f 75 6e 74 65 72 2e 0a identifier.symbol.we.encounter..
1ef00 20 20 3b 3b 20 65 2e 67 2e 20 69 6e 20 28 6c 65 74 20 28 5b 78 20 5f 5d 29 20 28 6c 65 74 20 28 ..;;.e.g..in.(let.([x._]).(let.(
1ef20 5b 78 20 5f 5d 29 20 5f 5f 5f 29 29 20 77 65 20 77 61 6e 74 20 6f 6e 6c 79 20 74 68 65 20 69 6e [x._]).___)).we.want.only.the.in
1ef40 6e 65 72 20 78 2e 0a 20 20 28 64 65 66 69 6e 65 20 68 74 20 28 6d 61 6b 65 2d 68 61 73 68 65 71 ner.x....(define.ht.(make-hasheq
1ef60 29 29 0a 20 20 28 66 6f 72 2a 20 28 5b 62 69 6e 64 69 6e 67 20 20 28 69 6e 2d 6c 69 73 74 20 62 ))...(for*.([binding..(in-list.b
1ef80 69 6e 64 69 6e 67 73 29 5d 0a 20 20 20 20 20 20 20 20 20 5b 73 79 6d 20 20 20 20 20 20 28 69 6e indings)]..........[sym......(in
1efa0 2d 76 61 6c 75 65 20 28 73 79 6e 74 61 78 2d 3e 64 61 74 75 6d 20 28 66 69 72 73 74 20 62 69 6e -value.(syntax->datum.(first.bin
1efc0 64 69 6e 67 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 23 3a 75 6e 6c 65 73 73 20 28 68 61 73 68 ding)))]..........#:unless.(hash
1efe0 2d 68 61 73 2d 6b 65 79 3f 20 68 74 20 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 5b 67 65 74 2f -has-key?.ht.sym)..........[get/
1f000 73 65 74 21 20 28 69 6e 2d 76 61 6c 75 65 20 28 73 65 63 6f 6e 64 20 62 69 6e 64 69 6e 67 29 29 set!.(in-value.(second.binding))
1f020 5d 29 0a 20 20 20 20 28 68 61 73 68 2d 73 65 74 21 20 68 74 20 73 79 6d 20 67 65 74 2f 73 65 74 ]).....(hash-set!.ht.sym.get/set
1f040 21 29 29 0a 20 20 28 73 79 6e 74 61 78 2d 63 61 73 65 20 73 74 78 20 28 29 0a 20 20 20 20 3b 3b !))...(syntax-case.stx.().....;;
1f060 20 49 20 63 6f 75 6c 64 6e 27 74 20 66 69 67 75 72 65 20 6f 75 74 20 68 6f 77 20 74 6f 20 67 65 .I.couldn't.figure.out.how.to.ge
1f080 74 20 61 20 73 65 74 21 20 74 72 61 6e 73 66 6f 72 6d 65 72 20 74 6f 20 77 6f 72 6b 20 66 6f 72 t.a.set!.transformer.to.work.for
1f0a0 0a 20 20 20 20 3b 3b 20 54 79 70 65 64 20 52 61 63 6b 65 74 20 2d 2d 20 68 6f 77 20 74 6f 20 61 .....;;.Typed.Racket.--.how.to.a
1f0c0 6e 6e 6f 74 61 74 65 20 6f 72 20 63 61 73 74 20 61 20 67 65 74 2f 73 65 74 21 20 61 73 20 28 2d nnotate.or.cast.a.get/set!.as.(-
1f0e0 3e 20 41 6e 79 0a 20 20 20 20 3b 3b 20 56 6f 69 64 29 2e 20 53 6f 20 69 6e 73 74 65 61 64 2c 20 >.Any.....;;.Void)..So.instead,.
1f100 6a 75 73 74 20 69 6e 74 65 72 63 65 70 74 20 28 73 65 74 21 20 69 64 20 65 29 20 61 73 20 61 20 just.intercept.(set!.id.e).as.a.
1f120 64 61 74 75 6d 20 61 6e 64 0a 20 20 20 20 3b 3b 20 65 66 66 65 63 74 69 76 65 6c 79 20 28 67 65 datum.and.....;;.effectively.(ge
1f140 74 2f 73 65 74 21 20 28 65 76 61 6c 20 65 20 64 65 62 75 67 2d 72 65 70 6c 2d 6e 73 29 29 20 68 t/set!.(eval.e.debug-repl-ns)).h
1f160 65 72 65 2e 20 49 6e 20 6f 74 68 65 72 0a 20 20 20 20 3b 3b 20 77 6f 72 64 73 20 74 72 65 61 74 ere..In.other.....;;.words.treat
1f180 20 74 68 65 20 73 74 78 20 6c 69 6b 65 20 61 20 52 45 50 4c 20 22 63 6f 6d 6d 61 6e 64 22 2e 20 .the.stx.like.a.REPL."command"..
1f1a0 4f 66 20 63 6f 75 72 73 65 20 74 68 69 73 0a 20 20 20 20 3b 3b 20 74 6f 74 61 6c 6c 79 20 62 79 Of.course.this.....;;.totally.by
1f1c0 70 61 73 73 65 73 20 74 79 70 65 2d 63 68 65 63 6b 69 6e 67 2c 20 62 75 74 20 74 68 69 73 20 69 passes.type-checking,.but.this.i
1f1e0 73 20 61 20 64 65 62 75 67 67 65 72 2e 20 59 4f 4c 4f 21 0a 20 20 20 20 5b 28 73 65 74 21 20 69 s.a.debugger..YOLO!.....[(set!.i
1f200 64 20 65 29 0a 20 20 20 20 20 28 61 6e 64 20 28 6d 6f 64 75 6c 65 2d 64 65 63 6c 61 72 65 64 3f d.e)......(and.(module-declared?
1f220 20 27 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 62 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 .'typed/racket/base)...........(
1f240 65 71 3f 20 27 73 65 74 21 20 28 73 79 6e 74 61 78 2d 3e 64 61 74 75 6d 20 23 27 73 65 74 21 29 eq?.'set!.(syntax->datum.#'set!)
1f260 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 64 65 6e 74 69 66 69 65 72 3f 20 23 27 69 64 29 0a 20 )...........(identifier?.#'id)..
1f280 20 20 20 20 20 20 20 20 20 28 68 61 73 68 2d 68 61 73 2d 6b 65 79 3f 20 68 74 20 28 73 79 6e 74 .........(hash-has-key?.ht.(synt
1f2a0 61 78 2d 3e 64 61 74 75 6d 20 23 27 69 64 29 29 29 0a 20 20 20 20 20 28 6c 65 74 20 28 5b 73 65 ax->datum.#'id)))......(let.([se
1f2c0 74 20 28 68 61 73 68 2d 72 65 66 20 68 74 20 28 73 79 6e 74 61 78 2d 3e 64 61 74 75 6d 20 23 27 t.(hash-ref.ht.(syntax->datum.#'
1f2e0 69 64 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b 76 20 20 20 28 65 76 61 6c 20 23 27 65 29 id))]............[v...(eval.#'e)
1f300 5d 29 0a 20 20 20 20 20 20 20 28 73 65 74 20 76 29 0a 20 20 20 20 20 20 20 23 60 28 76 6f 69 64 ])........(set.v)........#`(void
1f320 29 29 5d 0a 20 20 20 20 3b 3b 20 57 72 61 70 20 73 74 78 20 69 6e 20 61 20 6c 65 74 2d 73 79 6e ))].....;;.Wrap.stx.in.a.let-syn
1f340 74 61 78 20 66 6f 72 6d 20 77 69 74 68 20 61 20 6d 61 6b 65 2d 73 65 74 21 2d 74 72 61 6e 73 66 tax.form.with.a.make-set!-transf
1f360 6f 72 6d 65 72 20 66 6f 72 0a 20 20 20 20 3b 3b 20 65 76 65 72 79 20 6c 6f 63 61 6c 20 76 61 72 ormer.for.....;;.every.local.var
1f380 69 61 62 6c 65 20 69 6e 20 74 68 65 20 6d 61 72 6b 2d 62 69 6e 64 69 6e 67 73 20 72 65 73 75 6c iable.in.the.mark-bindings.resul
1f3a0 74 73 2e 0a 20 20 20 20 5b 5f 0a 20 20 20 20 20 28 6c 65 74 20 28 5b 73 79 6e 74 61 78 2d 62 69 ts......[_......(let.([syntax-bi
1f3c0 6e 64 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2f 6c 69 73 74 20 28 5b 28 ndings.............(for/list.([(
1f3e0 73 79 6d 20 67 65 74 2f 73 65 74 21 29 20 28 69 6e 2d 68 61 73 68 20 68 74 29 5d 29 0a 20 20 20 sym.get/set!).(in-hash.ht)])....
1f400 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 69 64 20 28 64 61 74 75 6d 2d 3e 73 79 ...........(define.id.(datum->sy
1f420 6e 74 61 78 20 23 66 20 73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 ntax.#f.sym))...............(def
1f440 69 6e 65 20 78 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d ine.xform.................(make-
1f460 73 65 74 21 2d 74 72 61 6e 73 66 6f 72 6d 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 set!-transformer................
1f480 20 20 28 ce bb 20 28 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ..(...(stx)....................(
1f4a0 73 79 6e 74 61 78 2d 63 61 73 65 20 73 74 78 20 28 73 65 74 21 29 0a 20 20 20 20 20 20 20 20 20 syntax-case.stx.(set!)..........
1f4c0 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 73 65 74 21 20 69 64 20 76 29 20 28 69 64 65 6e 74 69 ............[(set!.id.v).(identi
1f4e0 66 69 65 72 3f 20 23 27 69 64 29 20 23 60 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 23 2c 67 65 74 fier?.#'id).#`(#%plain-app.#,get
1f500 2f 73 65 74 21 20 76 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b /set!.v)]......................[
1f520 69 64 20 20 20 20 20 20 20 20 20 20 28 69 64 65 6e 74 69 66 69 65 72 3f 20 23 27 69 64 29 20 23 id..........(identifier?.#'id).#
1f540 60 27 23 2c 28 67 65 74 2f 73 65 74 21 29 5d 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 `'#,(get/set!)])))).............
1f560 20 20 23 60 28 23 2c 69 64 20 23 2c 78 66 6f 72 6d 29 29 5d 29 0a 20 20 20 20 20 20 20 23 60 28 ..#`(#,id.#,xform))])........#`(
1f580 6c 65 74 2d 73 79 6e 74 61 78 20 23 2c 73 79 6e 74 61 78 2d 62 69 6e 64 69 6e 67 73 0a 20 20 20 let-syntax.#,syntax-bindings....
1f5a0 20 20 20 20 20 20 20 20 23 2c 73 74 78 29 29 5d 29 29 0a 0a 0a 3b 3b 3b 20 43 6f 6d 6d 61 6e 64 ........#,stx))]))...;;;.Command
1f5c0 20 69 6e 74 65 72 66 61 63 65 0a 0a 28 64 65 66 69 6e 65 20 6c 6f 63 61 6c 73 2f 63 20 28 6c 69 .interface..(define.locals/c.(li
1f5e0 73 74 6f 66 20 28 6c 69 73 74 2f 63 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 70 6f 73 2f 63 20 stof.(list/c.path-string?.pos/c.
1f600 70 6f 73 2f 63 20 73 79 6d 62 6f 6c 3f 20 73 74 72 69 6e 67 3f 29 29 29 0a 28 64 65 66 69 6e 65 pos/c.symbol?.string?))).(define
1f620 20 62 72 65 61 6b 2d 76 61 6c 73 2f 63 20 28 63 6f 6e 73 2f 63 20 62 72 65 61 6b 2d 69 64 2f 63 .break-vals/c.(cons/c.break-id/c
1f640 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f ..............................(o
1f660 72 2f 63 20 28 6c 69 73 74 2f 63 20 27 62 65 66 6f 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 r/c.(list/c.'before)............
1f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 2f 63 20 ........................(list/c.
1f6a0 27 61 66 74 65 72 20 28 63 6f 6e 73 2f 63 20 62 6f 6f 6c 65 61 6e 3f 20 73 74 72 69 6e 67 3f 29 'after.(cons/c.boolean?.string?)
1f6c0 29 29 29 29 0a 28 64 65 66 69 6e 65 20 6f 6e 2d 62 72 65 61 6b 2f 63 20 28 6c 69 73 74 2f 63 20 )))).(define.on-break/c.(list/c.
1f6e0 27 64 65 62 75 67 2d 62 72 65 61 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 'debug-break....................
1f700 20 20 20 20 20 20 20 20 28 63 6f 6e 73 2f 63 20 70 61 74 68 3f 20 70 6f 73 2f 63 29 0a 20 20 20 ........(cons/c.path?.pos/c)....
1f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 61 62 6c ........................breakabl
1f740 65 2d 70 6f 73 69 74 69 6f 6e 73 2f 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-positions/c...................
1f760 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 73 2f 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........locals/c...............
1f780 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 2d 76 61 6c 73 2f 63 29 29 0a 28 64 65 66 .............break-vals/c)).(def
1f7a0 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 6f 6e 2d 62 72 65 61 6b 2d 63 68 61 6e 6e 65 6c 20 28 63 ine/contract.on-break-channel.(c
1f7c0 68 61 6e 6e 65 6c 2f 63 20 6f 6e 2d 62 72 65 61 6b 2f 63 29 20 28 6d 61 6b 65 2d 63 68 61 6e 6e hannel/c.on-break/c).(make-chann
1f7e0 65 6c 29 29 0a 0a 28 64 65 66 69 6e 65 20 72 65 73 75 6d 65 2d 76 61 6c 73 2f 63 20 28 63 6f 6e el))..(define.resume-vals/c.(con
1f800 73 2f 63 20 62 72 65 61 6b 2d 69 64 2f 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s/c.break-id/c..................
1f820 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 2f 63 20 28 6c 69 73 74 2f 63 20 27 62 65 66 6f .............(or/c.(list/c.'befo
1f840 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 re).............................
1f860 20 20 20 20 20 20 20 20 28 6c 69 73 74 2f 63 20 27 62 65 66 6f 72 65 20 73 74 72 69 6e 67 3f 29 ........(list/c.'before.string?)
1f880 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1f8a0 20 20 20 20 20 28 6c 69 73 74 2f 63 20 27 61 66 74 65 72 20 28 63 6f 6e 73 2f 63 20 65 6c 69 73 .....(list/c.'after.(cons/c.elis
1f8c0 70 2d 62 6f 6f 6c 2f 63 20 73 74 72 69 6e 67 3f 29 29 29 29 29 0a 28 64 65 66 69 6e 65 20 6f 6e p-bool/c.string?))))).(define.on
1f8e0 2d 72 65 73 75 6d 65 2f 63 20 28 6c 69 73 74 2f 63 20 28 6f 72 2f 63 20 62 72 65 61 6b 2d 77 68 -resume/c.(list/c.(or/c.break-wh
1f900 65 6e 2d 65 6c 69 73 70 2f 63 20 27 6f 75 74 20 27 6f 76 65 72 29 20 72 65 73 75 6d 65 2d 76 61 en-elisp/c.'out.'over).resume-va
1f920 6c 73 2f 63 29 29 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 6f 6e 2d 72 65 73 75 6d ls/c)).(define/contract.on-resum
1f940 65 2d 63 68 61 6e 6e 65 6c 20 28 63 68 61 6e 6e 65 6c 2f 63 20 6f 6e 2d 72 65 73 75 6d 65 2f 63 e-channel.(channel/c.on-resume/c
1f960 29 20 28 6d 61 6b 65 2d 63 68 61 6e 6e 65 6c 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 ).(make-channel))..(define/contr
1f980 61 63 74 20 28 64 65 62 75 67 2d 72 65 73 75 6d 65 20 72 65 73 75 6d 65 2d 69 6e 66 6f 29 0a 20 act.(debug-resume.resume-info)..
1f9a0 20 28 2d 3e 20 6f 6e 2d 72 65 73 75 6d 65 2f 63 20 23 74 29 0a 20 20 28 63 68 61 6e 6e 65 6c 2d .(->.on-resume/c.#t)...(channel-
1f9c0 70 75 74 20 6f 6e 2d 72 65 73 75 6d 65 2d 63 68 61 6e 6e 65 6c 20 72 65 73 75 6d 65 2d 69 6e 66 put.on-resume-channel.resume-inf
1f9e0 6f 29 0a 20 20 23 74 29 0a 0a 28 64 65 66 69 6e 65 20 28 64 65 62 75 67 2d 64 69 73 61 62 6c 65 o)...#t)..(define.(debug-disable
1fa00 29 0a 20 20 28 6e 65 78 74 2d 62 72 65 61 6b 20 27 6e 6f 6e 65 29 0a 20 20 28 66 6f 72 20 28 5b )...(next-break.'none)...(for.([
1fa20 6b 20 28 69 6e 2d 68 61 73 68 2d 6b 65 79 73 20 62 72 65 61 6b 61 62 6c 65 2d 70 6f 73 69 74 69 k.(in-hash-keys.breakable-positi
1fa40 6f 6e 73 29 5d 29 0a 20 20 20 20 28 68 61 73 68 2d 72 65 6d 6f 76 65 21 20 62 72 65 61 6b 61 62 ons)]).....(hash-remove!.breakab
1fa60 6c 65 2d 70 6f 73 69 74 69 6f 6e 73 20 6b 29 29 29 0a 0a 0a 3b 3b 3b 20 4d 61 6b 65 20 65 76 61 le-positions.k)))...;;;.Make.eva
1fa80 6c 20 68 61 6e 64 6c 65 72 20 74 6f 20 69 6e 73 74 72 75 6d 65 6e 74 20 65 6e 74 69 72 65 20 66 l.handler.to.instrument.entire.f
1faa0 69 6c 65 73 0a 0a 28 64 65 66 69 6e 65 20 65 76 61 6c 2d 68 61 6e 64 6c 65 72 2f 63 20 28 2d 3e iles..(define.eval-handler/c.(->
1fac0 20 61 6e 79 2f 63 20 61 6e 79 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 .any/c.any))..(define/contract.(
1fae0 28 6d 61 6b 65 2d 64 65 62 75 67 2d 65 76 61 6c 2d 68 61 6e 64 6c 65 72 20 66 69 6c 65 73 20 5b (make-debug-eval-handler.files.[
1fb00 6f 72 69 67 2d 65 76 61 6c 20 28 63 75 72 72 65 6e 74 2d 65 76 61 6c 29 5d 29 20 76 29 0a 20 20 orig-eval.(current-eval)]).v)...
1fb20 28 2d 3e 2a 20 28 28 73 65 74 2f 63 20 70 61 74 68 3f 29 29 20 28 65 76 61 6c 2d 68 61 6e 64 6c (->*.((set/c.path?)).(eval-handl
1fb40 65 72 2f 63 29 20 65 76 61 6c 2d 68 61 6e 64 6c 65 72 2f 63 29 0a 20 20 28 63 6f 6e 64 20 5b 28 er/c).eval-handler/c)...(cond.[(
1fb60 63 6f 6d 70 69 6c 65 64 2d 65 78 70 72 65 73 73 69 6f 6e 3f 20 28 73 79 6e 74 61 78 2d 6f 72 2d compiled-expression?.(syntax-or-
1fb80 73 65 78 70 72 2d 3e 73 65 78 70 72 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 72 69 67 2d sexpr->sexpr.v))..........(orig-
1fba0 65 76 61 6c 20 76 29 5d 0a 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 eval.v)].........[else..........
1fbc0 28 64 65 66 69 6e 65 20 73 74 78 20 28 73 79 6e 74 61 78 2d 6f 72 2d 73 65 78 70 72 2d 3e 73 79 (define.stx.(syntax-or-sexpr->sy
1fbe0 6e 74 61 78 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 74 6f 70 2d 73 74 ntax.v))..........(define.top-st
1fc00 78 20 28 65 78 70 61 6e 64 2d 73 79 6e 74 61 78 2d 74 6f 2d 74 6f 70 2d 66 6f 72 6d 20 73 74 78 x.(expand-syntax-to-top-form.stx
1fc20 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 5b 28 73 65 74 2d 6d 65 6d 62 65 72 3f 20 ))..........(cond.[(set-member?.
1fc40 66 69 6c 65 73 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 73 74 78 29 29 0a 20 20 20 20 20 files.(syntax-source.stx))......
1fc60 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 2d 62 72 65 61 6b 20 27 61 6c 6c 29 0a 20 20 20 ...........(next-break.'all)....
1fc80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 2a 20 28 5b 63 75 .............(parameterize*.([cu
1fca0 72 72 65 6e 74 2d 65 76 61 6c 20 6f 72 69 67 2d 65 76 61 6c 5d 0a 20 20 20 20 20 20 20 20 20 20 rrent-eval.orig-eval]...........
1fcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 6c ......................[current-l
1fce0 6f 61 64 2f 75 73 65 2d 63 6f 6d 70 69 6c 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oad/use-compiled................
1fd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 6f 72 69 67 20 28 63 ..................(let.([orig.(c
1fd20 75 72 72 65 6e 74 2d 6c 6f 61 64 2f 75 73 65 2d 63 6f 6d 70 69 6c 65 64 29 5d 29 0a 20 20 20 20 urrent-load/use-compiled)]).....
1fd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
1fd60 ce bb 20 28 66 69 6c 65 20 6d 6f 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(file.mod)...................
1fd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 5b 28 73 65 74 2d 6d ...................(cond.[(set-m
1fda0 65 6d 62 65 72 3f 20 66 69 6c 65 73 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ember?.files.file)..............
1fdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
1fde0 75 6e 6c 65 73 73 20 28 61 6e 64 20 28 70 61 69 72 3f 20 6d 6f 64 29 0a 20 20 20 20 20 20 20 20 unless.(and.(pair?.mod).........
1fe00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1fe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 69 72 3f 20 28 63 64 72 20 6d 6f 64 .................(pair?.(cdr.mod
1fe40 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
1fe60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 ............................(mod
1fe80 75 6c 65 2d 64 65 63 6c 61 72 65 64 3f 20 66 69 6c 65 20 23 66 29 29 0a 20 20 20 20 20 20 20 20 ule-declared?.file.#f)).........
1fea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1fec0 20 20 20 20 20 20 28 6c 6f 61 64 2d 6d 6f 64 75 6c 65 2f 61 6e 6e 6f 74 61 74 65 20 66 69 6c 65 ......(load-module/annotate.file
1fee0 20 6d 6f 64 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .mod))].........................
1ff00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 ...................[else........
1ff20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1ff40 20 20 20 20 20 28 6f 72 69 67 20 66 69 6c 65 20 6d 6f 64 29 5d 29 29 29 5d 29 0a 20 20 20 20 20 .....(orig.file.mod)])))])......
1ff60 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73 79 6e 74 61 78 20 28 61 6e 6e 6f 74 .............(eval-syntax.(annot
1ff80 61 74 65 20 28 65 78 70 61 6e 64 2d 73 79 6e 74 61 78 20 74 6f 70 2d 73 74 78 29 29 29 29 5d 0a ate.(expand-syntax.top-stx))))].
1ffa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 28 6f 72 69 67 2d 65 76 61 6c 20 ...............[else.(orig-eval.
1ffc0 74 6f 70 2d 73 74 78 29 5d 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 6c 6f 61 64 2d 6d 6f 64 top-stx)])]))..(define.(load-mod
1ffe0 75 6c 65 2f 61 6e 6e 6f 74 61 74 65 20 66 69 6c 65 20 6d 29 0a 20 20 28 72 65 70 6c 2d 6f 75 74 ule/annotate.file.m)...(repl-out
20000 70 75 74 2d 6d 65 73 73 61 67 65 20 28 66 6f 72 6d 61 74 20 22 7e 76 22 20 60 28 6c 6f 61 64 2d put-message.(format."~v".`(load-
20020 6d 6f 64 75 6c 65 2f 61 6e 6e 6f 74 61 74 65 20 2c 66 69 6c 65 20 2c 6d 29 29 29 0a 20 20 28 63 module/annotate.,file.,m)))...(c
20040 61 6c 6c 2d 77 69 74 68 2d 69 6e 70 75 74 2d 66 69 6c 65 2a 20 66 69 6c 65 0a 20 20 20 20 28 ce all-with-input-file*.file.....(.
20060 bb 20 28 69 6e 29 0a 20 20 20 20 20 20 28 70 6f 72 74 2d 63 6f 75 6e 74 2d 6c 69 6e 65 73 21 20 ..(in).......(port-count-lines!.
20080 69 6e 29 0a 20 20 20 20 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 72 65 61 64 2d 61 in).......(parameterize.([read-a
200a0 63 63 65 70 74 2d 63 6f 6d 70 69 6c 65 64 20 23 66 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ccept-compiled.#f]..............
200c0 20 20 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 ........[current-load-relative-d
200e0 69 72 65 63 74 6f 72 79 20 28 70 61 74 68 2d 6f 6e 6c 79 20 66 69 6c 65 29 5d 29 0a 20 20 20 20 irectory.(path-only.file)]).....
20100 20 20 20 20 28 77 69 74 68 2d 6d 6f 64 75 6c 65 2d 72 65 61 64 69 6e 67 2d 70 61 72 61 6d 65 74 ....(with-module-reading-paramet
20120 65 72 69 7a 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 29 0a 20 20 20 20 20 erization...........(...()......
20140 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 65 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 .......(define.e.(parameterize.(
20160 5b 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 28 6d 61 6b 65 2d 62 61 73 65 2d 6e 61 [current-namespace.(make-base-na
20180 6d 65 73 70 61 63 65 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mespace)])......................
201a0 20 20 20 28 65 78 70 61 6e 64 20 28 72 65 61 64 2d 73 79 6e 74 61 78 20 66 69 6c 65 20 69 6e 29 ...(expand.(read-syntax.file.in)
201c0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 76 61 6c 20 28 61 6e 6e 6f 74 61 74 65 20 ))).............(eval.(annotate.
201e0 28 63 68 65 63 6b 2d 6d 6f 64 75 6c 65 2d 66 6f 72 6d 20 65 20 6d 20 66 69 6c 65 29 29 29 29 29 (check-module-form.e.m.file)))))
20200 29 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ))))............................
20220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20400 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
20420 72 61 63 6b 65 74 2f 67 75 69 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/gui.rkt..................
20440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
20480 30 30 30 36 31 32 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 34 33 31 00 20 30 00 00 00 0006125.00000000000.016431..0...
204a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
20520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
20540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20600 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
20620 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
20640 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
20660 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 3b 3b 20 4e 6f 74 65 20 74 68 61 74 20 72 61 ang.racket/base..;;.Note.that.ra
20680 63 6b 65 74 2f 67 75 69 2f 64 79 6e 61 6d 69 63 20 69 73 20 69 6e 20 60 62 61 73 65 60 20 70 61 cket/gui/dynamic.is.in.`base`.pa
206a0 63 6b 61 67 65 20 2d 2d 2d 20 72 65 71 75 69 72 69 6e 67 20 69 74 0a 3b 3b 20 64 6f 65 73 20 4e ckage.---.requiring.it.;;.does.N
206c0 4f 54 20 63 72 65 61 74 65 20 61 20 64 65 70 65 6e 64 65 6e 63 79 20 6f 6e 20 74 68 65 20 60 67 OT.create.a.dependency.on.the.`g
206e0 75 69 2d 6c 69 62 60 20 70 61 63 6b 61 67 65 2e 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ui-lib`.package..(require.racket
20700 2f 67 75 69 2f 64 79 6e 61 6d 69 63 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 70 6f 72 /gui/dynamic..........racket/por
20720 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 73 79 73 74 65 6d 29 0a 0a 28 70 72 6f 76 t..........racket/system)..(prov
20740 69 64 65 20 74 78 74 2f 67 75 69 0a 20 20 20 20 20 20 20 20 20 6d 61 6b 65 2d 69 6e 69 74 69 61 ide.txt/gui..........make-initia
20760 6c 2d 72 65 70 6c 2d 6e 61 6d 65 73 70 61 63 65 29 0a 0a 3b 3b 20 41 74 74 65 6d 70 74 20 74 6f l-repl-namespace)..;;.Attempt.to
20780 20 6c 6f 61 64 20 72 61 63 6b 65 74 2f 67 75 69 2f 62 61 73 65 20 65 61 67 65 72 6c 79 2c 20 69 .load.racket/gui/base.eagerly,.i
207a0 6e 73 74 61 6e 74 69 61 74 69 6e 67 20 69 74 20 69 6e 20 6f 75 72 0a 3b 3b 20 6e 61 6d 65 73 70 nstantiating.it.in.our.;;.namesp
207c0 61 63 65 20 61 6e 64 20 75 6e 64 65 72 20 6f 75 72 20 6d 61 69 6e 20 63 75 73 74 6f 64 69 61 6e ace.and.under.our.main.custodian
207e0 20 28 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 74 68 6f 73 65 20 75 73 65 64 0a 3b 3b 20 66 6f .(as.opposed.to.those.used.;;.fo
20800 72 20 75 73 65 72 20 70 72 6f 67 72 61 6d 73 29 2e 20 54 68 69 73 20 69 73 20 6f 75 72 20 73 74 r.user.programs)..This.is.our.st
20820 72 61 74 65 67 79 20 74 6f 20 61 76 6f 69 64 20 22 72 61 63 6b 65 74 2f 67 75 69 2f 62 61 73 65 rategy.to.avoid."racket/gui/base
20840 0a 3b 3b 20 63 61 6e 6e 6f 74 20 62 65 20 69 6e 73 74 61 6e 74 69 61 74 65 64 20 6d 6f 72 65 20 .;;.cannot.be.instantiated.more.
20860 74 68 61 6e 20 6f 6e 63 65 20 70 65 72 20 70 72 6f 63 65 73 73 22 2e 0a 3b 3b 0a 3b 3b 20 54 68 than.once.per.process"..;;.;;.Th
20880 65 20 6f 6e 6c 79 20 73 63 65 6e 61 72 69 6f 73 20 77 68 65 72 65 20 72 61 63 6b 65 74 2f 67 75 e.only.scenarios.where.racket/gu
208a0 69 2f 62 61 73 65 20 77 6f 6e 27 74 20 62 65 20 6c 6f 61 64 65 64 20 65 61 67 65 72 6c 79 0a 3b i/base.won't.be.loaded.eagerly.;
208c0 3b 20 68 65 72 65 3a 0a 3b 3b 0a 3b 3b 20 2d 20 49 74 27 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 ;.here:.;;.;;.-.It's.not.availab
208e0 6c 65 3a 20 77 65 27 72 65 20 6f 6e 20 61 20 6d 69 6e 69 6d 61 6c 20 52 61 63 6b 65 74 20 69 6e le:.we're.on.a.minimal.Racket.in
20900 73 74 61 6c 6c 61 74 69 6f 6e 0a 3b 3b 20 20 20 77 68 65 72 65 20 67 75 69 2d 6c 69 62 20 69 73 stallation.;;...where.gui-lib.is
20920 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 3b 3b 0a 3b 3b 20 2d 20 49 74 20 63 61 6e 27 74 .not.installed..;;.;;.-.It.can't
20940 20 69 6e 69 74 69 61 6c 69 7a 65 3a 20 65 2e 67 2e 20 67 75 69 2d 6c 69 62 20 69 73 20 69 6e 73 .initialize:.e.g..gui-lib.is.ins
20960 74 61 6c 6c 65 64 20 62 75 74 20 65 72 72 6f 72 73 20 77 69 74 68 0a 3b 3b 20 20 20 27 47 74 6b talled.but.errors.with.;;...'Gtk
20980 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 61 69 6c 65 64 20 66 6f 72 20 64 69 73 70 6c .initialization.failed.for.displ
209a0 61 79 20 22 3a 30 22 27 2c 20 62 65 63 61 75 73 65 20 77 65 27 72 65 20 6f 6e 20 61 0a 3b 3b 20 ay.":0"',.because.we're.on.a.;;.
209c0 20 20 68 65 61 64 6c 65 73 73 20 73 79 73 74 65 6d 20 61 6e 64 20 6f 75 72 20 72 61 63 6b 65 74 ..headless.system.and.our.racket
209e0 20 70 72 6f 63 65 73 73 20 77 61 73 6e 27 74 20 72 75 6e 20 75 73 69 6e 67 20 78 76 66 62 2d 72 .process.wasn't.run.using.xvfb-r
20a00 75 6e 2e 0a 3b 3b 20 20 20 42 65 63 61 75 73 65 20 74 68 69 73 20 6c 65 61 76 65 73 20 67 75 69 un..;;...Because.this.leaves.gui
20a20 2d 6c 69 62 20 69 6e 20 61 20 22 73 65 6d 69 2d 69 6e 69 74 69 61 6c 69 7a 65 64 22 20 73 74 61 -lib.in.a."semi-initialized".sta
20a40 74 65 20 77 68 65 72 65 0a 3b 3b 20 20 20 60 67 75 69 2d 61 76 61 69 6c 61 62 6c 65 3f 60 20 72 te.where.;;...`gui-available?`.r
20a60 65 74 75 72 6e 73 20 74 72 75 65 20 62 75 74 20 74 68 69 6e 67 73 20 64 6f 6e 27 74 20 61 63 74 eturns.true.but.things.don't.act
20a80 75 61 6c 6c 79 20 77 6f 72 6b 2c 20 77 65 0a 3b 3b 20 20 20 72 65 61 6c 6c 79 20 77 61 6e 74 20 ually.work,.we.;;...really.want.
20aa0 74 6f 20 61 76 6f 69 64 20 74 68 69 73 2c 20 73 6f 20 77 65 20 63 68 65 63 6b 20 62 79 20 75 73 to.avoid.this,.so.we.check.by.us
20ac0 69 6e 67 20 61 6e 6f 74 68 65 72 20 72 61 63 6b 65 74 0a 3b 3b 20 20 20 70 72 6f 63 65 73 73 2e ing.another.racket.;;...process.
20ae0 0a 28 77 68 65 6e 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 65 .(when.(parameterize.([current-e
20b00 72 72 6f 72 2d 70 6f 72 74 20 28 6f 70 65 6e 2d 6f 75 74 70 75 74 2d 6e 6f 77 68 65 72 65 29 5d rror-port.(open-output-nowhere)]
20b20 29 0a 20 20 20 20 20 20 20 20 28 73 79 73 74 65 6d 2a 20 28 66 69 6e 64 2d 65 78 65 63 75 74 61 ).........(system*.(find-executa
20b40 62 6c 65 2d 70 61 74 68 20 28 66 69 6e 64 2d 73 79 73 74 65 6d 2d 70 61 74 68 20 27 65 78 65 63 ble-path.(find-system-path.'exec
20b60 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 65 22 20 22 28 -file)).................."-e"."(
20b80 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 2f 67 75 69 2f 62 61 73 65 29 22 29 29 0a 20 20 28 77 require.racket/gui/base)"))...(w
20ba0 69 74 68 2d 68 61 6e 64 6c 65 72 73 20 28 5b 65 78 6e 3a 66 61 69 6c 3f 20 76 6f 69 64 5d 29 0a ith-handlers.([exn:fail?.void]).
20bc0 20 20 20 20 28 64 79 6e 61 6d 69 63 2d 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2f 67 75 69 ....(dynamic-require.'racket/gui
20be0 2f 62 61 73 65 20 23 66 29 29 29 0a 0a 3b 3b 20 23 33 30 31 3a 20 4f 6e 20 57 69 6e 64 6f 77 73 /base.#f)))..;;.#301:.On.Windows
20c00 2c 20 73 68 6f 77 20 74 68 65 6e 20 68 69 64 65 20 61 6e 20 69 6e 69 74 69 61 6c 20 66 72 61 6d ,.show.then.hide.an.initial.fram
20c20 65 2e 0a 28 77 68 65 6e 20 28 61 6e 64 20 28 67 75 69 2d 61 76 61 69 6c 61 62 6c 65 3f 29 0a 20 e..(when.(and.(gui-available?)..
20c40 20 20 20 20 20 20 20 20 20 20 28 65 71 3f 20 28 73 79 73 74 65 6d 2d 74 79 70 65 29 20 27 77 69 ..........(eq?.(system-type).'wi
20c60 6e 64 6f 77 73 29 29 0a 20 20 28 64 65 66 69 6e 65 20 6d 61 6b 65 2d 6f 62 6a 65 63 74 20 28 64 ndows))...(define.make-object.(d
20c80 79 6e 61 6d 69 63 2d 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2f 63 6c 61 73 73 20 27 6d 61 ynamic-require.'racket/class.'ma
20ca0 6b 65 2d 6f 62 6a 65 63 74 29 29 0a 20 20 28 64 65 66 69 6e 65 20 66 72 61 6d 65 25 20 28 64 79 ke-object))...(define.frame%.(dy
20cc0 6e 61 6d 69 63 2d 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2f 67 75 69 2f 62 61 73 65 20 27 namic-require.'racket/gui/base.'
20ce0 66 72 61 6d 65 25 29 29 0a 20 20 28 64 65 66 69 6e 65 20 66 20 28 6d 61 6b 65 2d 6f 62 6a 65 63 frame%))...(define.f.(make-objec
20d00 74 20 66 72 61 6d 65 25 20 22 45 6d 61 63 73 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 69 6e 69 74 t.frame%."Emacs.Racket.Mode.init
20d20 69 61 6c 69 7a 61 74 69 6f 6e 22 20 23 66 20 31 30 30 20 31 30 30 29 29 0a 20 20 28 64 65 66 69 ialization".#f.100.100))...(defi
20d40 6e 65 20 64 79 6e 61 6d 69 63 2d 73 65 6e 64 20 28 64 79 6e 61 6d 69 63 2d 72 65 71 75 69 72 65 ne.dynamic-send.(dynamic-require
20d60 20 27 72 61 63 6b 65 74 2f 63 6c 61 73 73 20 27 64 79 6e 61 6d 69 63 2d 73 65 6e 64 29 29 0a 20 .'racket/class.'dynamic-send))..
20d80 20 28 64 79 6e 61 6d 69 63 2d 73 65 6e 64 20 66 20 27 73 68 6f 77 20 23 74 29 0a 20 20 28 64 79 .(dynamic-send.f.'show.#t)...(dy
20da0 6e 61 6d 69 63 2d 73 65 6e 64 20 66 20 27 73 68 6f 77 20 23 66 29 29 0a 0a 28 64 65 66 69 6e 65 namic-send.f.'show.#f))..(define
20dc0 2d 6e 61 6d 65 73 70 61 63 65 2d 61 6e 63 68 6f 72 20 61 6e 63 68 6f 72 29 0a 28 64 65 66 69 6e -namespace-anchor.anchor).(defin
20de0 65 20 6f 75 72 2d 6e 73 20 28 6e 61 6d 65 73 70 61 63 65 2d 61 6e 63 68 6f 72 2d 3e 65 6d 70 74 e.our-ns.(namespace-anchor->empt
20e00 79 2d 6e 61 6d 65 73 70 61 63 65 20 61 6e 63 68 6f 72 29 29 0a 28 64 65 66 69 6e 65 20 28 6d 61 y-namespace.anchor)).(define.(ma
20e20 6b 65 2d 69 6e 69 74 69 61 6c 2d 72 65 70 6c 2d 6e 61 6d 65 73 70 61 63 65 29 0a 20 20 28 64 65 ke-initial-repl-namespace)...(de
20e40 66 69 6e 65 20 6e 65 77 2d 6e 73 20 28 6d 61 6b 65 2d 62 61 73 65 2d 6e 61 6d 65 73 70 61 63 65 fine.new-ns.(make-base-namespace
20e60 29 29 0a 0a 20 20 3b 3b 20 49 66 20 77 65 20 6c 6f 61 64 65 64 20 72 61 63 6b 65 74 2f 67 75 69 ))....;;.If.we.loaded.racket/gui
20e80 2f 62 61 73 65 20 61 62 6f 76 65 2c 20 74 68 65 6e 20 69 74 20 69 73 20 69 6d 70 6f 72 74 61 6e /base.above,.then.it.is.importan
20ea0 74 20 66 6f 72 20 52 45 50 4c 0a 20 20 3b 3b 20 6e 61 6d 65 73 70 61 63 65 73 20 69 6e 69 74 69 t.for.REPL...;;.namespaces.initi
20ec0 61 6c 6c 79 20 74 6f 20 68 61 76 65 20 72 61 63 6b 65 74 2f 67 75 69 2f 62 61 73 65 20 5f 61 74 ally.to.have.racket/gui/base._at
20ee0 74 61 63 68 65 64 5f 2c 0a 20 20 3b 3b 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 tached_,...;;.regardless.of.whet
20f00 68 65 72 20 61 20 67 69 76 65 6e 20 75 73 65 72 20 70 72 6f 67 72 61 6d 20 60 72 65 71 75 69 72 her.a.given.user.program.`requir
20f20 65 60 73 20 69 74 3b 20 61 20 75 73 65 72 0a 20 20 3b 3b 20 63 6f 75 6c 64 20 60 72 65 71 75 69 e`s.it;.a.user...;;.could.`requi
20f40 72 65 60 20 69 74 20 61 74 20 61 20 52 45 50 4c 20 70 72 6f 6d 70 74 2e 20 53 65 65 20 61 6c 73 re`.it.at.a.REPL.prompt..See.als
20f60 6f 20 69 73 73 75 65 20 23 35 35 35 2e 0a 20 20 28 77 68 65 6e 20 28 67 75 69 2d 61 76 61 69 6c o.issue.#555....(when.(gui-avail
20f80 61 62 6c 65 3f 29 0a 20 20 20 20 28 6e 61 6d 65 73 70 61 63 65 2d 61 74 74 61 63 68 2d 6d 6f 64 able?).....(namespace-attach-mod
20fa0 75 6c 65 20 6f 75 72 2d 6e 73 20 27 72 61 63 6b 65 74 2f 67 75 69 2f 62 61 73 65 20 6e 65 77 2d ule.our-ns.'racket/gui/base.new-
20fc0 6e 73 29 29 0a 0a 20 20 3b 3b 20 41 76 6f 69 64 20 70 6f 74 65 6e 74 69 61 6c 20 70 72 6f 62 6c ns))....;;.Avoid.potential.probl
20fe0 65 6d 20 28 49 49 55 43 20 62 65 63 61 75 73 65 20 52 61 63 6b 65 74 20 73 74 72 75 63 74 73 20 em.(IIUC.because.Racket.structs.
21000 61 72 65 0a 20 20 3b 3b 20 67 65 6e 65 72 61 74 69 76 65 29 20 77 69 74 68 20 66 69 6c 65 2f 63 are...;;.generative).with.file/c
21020 6f 6e 76 65 72 74 69 62 6c 65 20 62 79 20 61 74 74 61 63 68 69 6e 67 20 74 68 65 20 73 61 6d 65 onvertible.by.attaching.the.same
21040 20 69 6e 73 74 61 6e 63 65 0a 20 20 3b 3b 20 74 6f 20 75 73 65 72 20 6e 61 6d 65 73 70 61 63 65 .instance...;;.to.user.namespace
21060 73 2e 0a 20 20 3b 3b 0a 20 20 3b 3b 20 41 6c 77 61 79 73 20 64 6f 20 74 68 69 73 2e 20 54 68 69 s....;;...;;.Always.do.this..Thi
21080 6e 67 73 20 6c 69 6b 65 20 70 69 63 74 2d 6c 69 62 20 77 6f 72 6b 20 77 69 74 68 6f 75 74 20 67 ngs.like.pict-lib.work.without.g
210a0 75 69 2d 6c 69 62 2c 20 61 6e 64 20 77 65 0a 20 20 3b 3b 20 63 61 6e 20 73 74 69 6c 6c 20 64 6f ui-lib,.and.we...;;.can.still.do
210c0 20 6f 75 72 20 66 65 61 74 75 72 65 20 77 68 65 72 65 20 77 65 20 22 70 72 69 6e 74 20 69 6d 61 .our.feature.where.we."print.ima
210e0 67 65 73 20 69 6e 20 74 68 65 20 52 45 50 4c 22 2e 20 54 6f 0a 20 20 3b 3b 20 73 65 65 20 68 6f ges.in.the.REPL"..To...;;.see.ho
21100 77 20 77 65 20 64 6f 20 74 68 69 73 20 75 73 69 6e 67 20 66 69 6c 65 2f 63 6f 6e 76 65 72 74 69 w.we.do.this.using.file/converti
21120 62 6c 65 2c 20 73 65 65 20 70 72 69 6e 74 2e 72 6b 74 20 61 6e 64 0a 20 20 3b 3b 20 69 6d 61 67 ble,.see.print.rkt.and...;;.imag
21140 65 2e 72 6b 74 2e 0a 20 20 28 6e 61 6d 65 73 70 61 63 65 2d 61 74 74 61 63 68 2d 6d 6f 64 75 6c e.rkt....(namespace-attach-modul
21160 65 20 6f 75 72 2d 6e 73 20 27 66 69 6c 65 2f 63 6f 6e 76 65 72 74 69 62 6c 65 20 6e 65 77 2d 6e e.our-ns.'file/convertible.new-n
21180 73 29 0a 0a 20 20 6e 65 77 2d 6e 73 29 0a 0a 3b 3b 20 4c 69 6b 65 20 6d 7a 2f 6d 72 20 66 72 6f s)....new-ns)..;;.Like.mz/mr.fro
211a0 6d 20 72 61 63 6b 65 74 2f 73 61 6e 64 62 6f 78 2e 0a 28 64 65 66 69 6e 65 2d 73 79 6e 74 61 78 m.racket/sandbox..(define-syntax
211c0 20 74 78 74 2f 67 75 69 0a 20 20 28 73 79 6e 74 61 78 2d 72 75 6c 65 73 20 28 29 0a 20 20 20 20 .txt/gui...(syntax-rules.().....
211e0 5b 28 5f 20 74 78 74 76 61 6c 20 67 75 69 73 79 6d 29 0a 20 20 20 20 20 28 69 66 20 28 67 75 69 [(_.txtval.guisym)......(if.(gui
21200 2d 61 76 61 69 6c 61 62 6c 65 3f 29 0a 20 20 20 20 20 20 20 20 20 28 64 79 6e 61 6d 69 63 2d 72 -available?)..........(dynamic-r
21220 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2f 67 75 69 2f 62 61 73 65 20 27 67 75 69 73 79 6d 29 equire.'racket/gui/base.'guisym)
21240 0a 20 20 20 20 20 20 20 20 20 74 78 74 76 61 6c 29 5d 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 ..........txtval)]))............
21260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
212a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
212c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
212e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
213a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
213c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
213e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21400 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
21420 72 61 63 6b 65 74 2f 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 2e 72 6b 74 00 00 racket/online-check-syntax.rkt..
21440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
21480 30 30 30 34 35 31 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 31 35 33 30 00 20 30 00 00 00 0004514.00000000000.021530..0...
214a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
214c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
214e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
21520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
21540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21600 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
21620 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
21640 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
21660 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
21680 2f 6c 6f 67 67 69 6e 67 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 /logging..........racket/match..
216a0 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 73 65 74 0a 20 20 20 20 20 20 20 20 20 73 79 6e 74 ........racket/set..........synt
216c0 61 78 2f 70 61 72 73 65 2f 64 65 66 69 6e 65 0a 20 20 20 20 20 20 20 20 20 22 75 74 69 6c 2e 72 ax/parse/define.........."util.r
216e0 6b 74 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 63 75 72 72 65 6e 74 2d 6f 6e 6c 69 6e 65 2d 63 68 kt")..(provide.current-online-ch
21700 65 63 6b 2d 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 2d 6f 6e 6c 69 6e 65 2d eck-syntax..........with-online-
21720 63 68 65 63 6b 2d 73 79 6e 74 61 78 29 0a 0a 3b 3b 3b 20 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d check-syntax)..;;;.online-check-
21740 73 79 6e 74 61 78 20 6c 6f 67 67 65 72 20 6d 6f 6e 69 74 6f 72 0a 0a 3b 3b 20 54 68 65 72 65 20 syntax.logger.monitor..;;.There.
21760 65 78 69 73 74 73 20 61 20 70 72 6f 74 6f 63 6f 6c 20 66 6f 72 20 6d 61 63 72 6f 73 20 74 6f 20 exists.a.protocol.for.macros.to.
21780 63 6f 6d 6d 75 6e 69 63 61 74 65 20 74 6f 6f 6c 74 69 70 73 20 74 6f 0a 3b 3b 20 44 72 52 61 63 communicate.tooltips.to.;;.DrRac
217a0 6b 65 74 20 76 69 61 20 61 20 6c 6f 67 2d 6d 65 73 73 61 67 65 20 74 6f 20 74 68 65 20 6c 6f 67 ket.via.a.log-message.to.the.log
217c0 67 65 72 20 27 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 2e 20 54 68 69 73 0a 3b ger.'online-check-syntax..This.;
217e0 3b 20 6d 69 67 68 74 20 73 65 65 6d 20 73 74 72 61 6e 67 65 2c 20 62 75 74 20 6f 6e 65 20 6d 6f ;.might.seem.strange,.but.one.mo
21800 74 69 76 61 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 20 70 72 6f 74 6f 63 6f 6c 20 69 73 20 74 68 tivation.for.this.protocol.is.th
21820 61 74 0a 3b 3b 20 65 2e 67 2e 20 61 20 74 79 70 65 2d 63 68 65 63 6b 65 72 20 6d 69 67 68 74 20 at.;;.e.g..a.type-checker.might.
21840 6c 65 61 72 6e 20 74 68 69 6e 67 73 20 64 75 72 69 6e 67 20 65 78 70 61 6e 73 69 6f 6e 20 74 68 learn.things.during.expansion.th
21860 61 74 20 69 74 0a 3b 3b 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 73 68 6f 77 20 74 68 65 20 at.it.;;.would.like.to.show.the.
21880 75 73 65 72 20 2d 2d 20 65 76 65 6e 20 69 66 20 65 78 70 61 6e 73 69 6f 6e 20 66 61 69 6c 73 2e user.--.even.if.expansion.fails.
218a0 0a 0a 28 64 65 66 69 6e 65 20 63 75 72 72 65 6e 74 2d 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d 73 ..(define.current-online-check-s
218c0 79 6e 74 61 78 20 28 6d 61 6b 65 2d 70 61 72 61 6d 65 74 65 72 20 28 6d 75 74 61 62 6c 65 2d 73 yntax.(make-parameter.(mutable-s
218e0 65 74 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 73 69 6d 70 6c 65 2d 6d 61 63 72 6f 20 28 77 69 74 et)))..(define-simple-macro.(wit
21900 68 2d 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 73 6f 75 72 63 65 3a 65 78 70 h-online-check-syntax.source:exp
21920 72 20 65 3a 65 78 70 72 20 2e 2e 2e 2b 29 0a 20 20 28 63 61 6c 6c 2d 77 69 74 68 2d 6f 6e 6c 69 r.e:expr....+)...(call-with-onli
21940 6e 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 73 6f 75 72 63 65 20 28 ce bb 20 28 29 20 65 20 ne-check-syntax.source.(...().e.
21960 2e 2e 2e 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 63 61 6c 6c 2d 77 69 74 68 2d 6f 6e 6c 69 6e ...)))..(define.(call-with-onlin
21980 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 73 6f 75 72 63 65 20 70 72 6f 63 29 0a 20 20 28 63 e-check-syntax.source.proc)...(c
219a0 75 72 72 65 6e 74 2d 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 28 6d 75 74 61 urrent-online-check-syntax.(muta
219c0 62 6c 65 2d 73 65 74 29 29 20 3b 72 65 73 65 74 0a 20 20 28 77 69 74 68 2d 69 6e 74 65 72 63 65 ble-set)).;reset...(with-interce
219e0 70 74 65 64 2d 6c 6f 67 67 69 6e 67 20 28 6d 61 6b 65 2d 69 6e 74 65 72 63 65 70 74 6f 72 20 73 pted-logging.(make-interceptor.s
21a00 6f 75 72 63 65 29 20 70 72 6f 63 0a 20 20 20 20 27 69 6e 66 6f 20 27 6f 6e 6c 69 6e 65 2d 63 68 ource).proc.....'info.'online-ch
21a20 65 63 6b 2d 73 79 6e 74 61 78 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 28 6d 61 6b 65 2d 69 6e 74 eck-syntax))..(define.((make-int
21a40 65 72 63 65 70 74 6f 72 20 73 72 63 29 20 65 76 65 6e 74 29 0a 20 20 28 6d 61 74 63 68 2d 64 65 erceptor.src).event)...(match-de
21a60 66 69 6e 65 20 28 76 65 63 74 6f 72 20 5f 6c 65 76 65 6c 20 5f 6d 65 73 73 61 67 65 20 73 74 78 fine.(vector._level._message.stx
21a80 73 20 5f 74 6f 70 69 63 29 20 65 76 65 6e 74 29 0a 20 20 28 66 6f 72 20 28 5b 73 74 78 20 28 69 s._topic).event)...(for.([stx.(i
21aa0 6e 2d 6c 69 73 74 20 73 74 78 73 29 5d 29 0a 20 20 20 20 28 6c 65 74 20 77 61 6c 6b 20 28 5b 76 n-list.stxs)]).....(let.walk.([v
21ac0 20 28 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 79 20 73 74 78 20 27 6d 6f 75 73 65 2d 6f 76 65 .(syntax-property.stx.'mouse-ove
21ae0 72 2d 74 6f 6f 6c 74 69 70 73 29 5d 29 0a 20 20 20 20 20 20 28 6d 61 74 63 68 20 76 0a 20 20 20 r-tooltips)]).......(match.v....
21b00 20 20 20 20 20 3b 3b 20 22 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 27 6d 6f 75 73 65 .....;;."The.value.of.the.'mouse
21b20 2d 6f 76 65 72 2d 74 6f 6f 6c 74 69 70 73 20 70 72 6f 70 65 72 74 79 20 69 73 0a 20 20 20 20 20 -over-tooltips.property.is......
21b40 20 20 20 3b 3b 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 74 6f 20 62 65 20 61 20 74 72 65 ...;;.expected.to.be.to.be.a.tre
21b60 65 20 6f 66 20 63 6f 6e 73 20 70 61 69 72 73 20 28 69 6e 20 61 6e 79 0a 20 20 20 20 20 20 20 20 e.of.cons.pairs.(in.any.........
21b80 3b 3b 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 2e 2e 2e 22 0a 20 20 20 20 20 20 20 20 5b 28 ;;.configuration)...".........[(
21ba0 63 6f 6e 73 20 76 20 6d 6f 72 65 29 0a 20 20 20 20 20 20 20 20 20 28 77 61 6c 6b 20 76 29 0a 20 cons.v.more)..........(walk.v)..
21bc0 20 20 20 20 20 20 20 20 28 77 61 6c 6b 20 6d 6f 72 65 29 5d 0a 20 20 20 20 20 20 20 20 3b 3b 20 ........(walk.more)].........;;.
21be0 22 2e 2e 2e 77 68 6f 73 65 20 6c 65 61 76 65 73 20 61 72 65 20 65 69 74 68 65 72 20 69 67 6e 6f "...whose.leaves.are.either.igno
21c00 72 65 64 20 6f 72 20 61 72 65 20 76 65 63 74 6f 72 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 red.or.are.vectors.of.the.......
21c20 20 20 3b 3b 20 73 68 61 70 65 3a 22 0a 20 20 20 20 20 20 20 20 5b 28 76 65 63 74 6f 72 20 28 3f ..;;.shape:".........[(vector.(?
21c40 20 73 79 6e 74 61 78 3f 20 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .syntax?.stx)..................(
21c60 3f 20 65 78 61 63 74 2d 70 6f 73 69 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 20 62 65 67 29 0a 20 ?.exact-positive-integer?.beg)..
21c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 65 78 61 63 74 2d 70 6f 73 69 74 69 76 ................(?.exact-positiv
21ca0 65 2d 69 6e 74 65 67 65 72 3f 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-integer?.end).................
21cc0 20 28 6f 72 20 28 3f 20 73 74 72 69 6e 67 3f 20 73 74 72 69 6e 67 2d 6f 72 2d 74 68 75 6e 6b 29 .(or.(?.string?.string-or-thunk)
21ce0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 70 72 6f 63 65 64 75 ......................(?.procedu
21d00 72 65 3f 20 73 74 72 69 6e 67 2d 6f 72 2d 74 68 75 6e 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 re?.string-or-thunk)))..........
21d20 28 77 68 65 6e 20 28 65 71 75 61 6c 3f 20 73 72 63 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 (when.(equal?.src.(syntax-source
21d40 20 73 74 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 6f 72 63 65 20 6e 6f 77 3b 20 .stx))............;;.Force.now;.
21d60 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 73 74 72 69 6e 67 20 77 69 6c 6c 20 6c 69 6b 65 6c 79 the.resulting.string.will.likely
21d80 20 75 73 65 20 6c 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6d 65 6d 6f 72 79 20 74 .use.less............;;.memory.t
21da0 68 61 6e 20 61 20 74 68 75 6e 6b 20 63 6c 6f 73 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 han.a.thunk.closure.............
21dc0 28 64 65 66 69 6e 65 20 28 66 6f 72 63 65 20 76 29 20 28 69 66 20 28 70 72 6f 63 65 64 75 72 65 (define.(force.v).(if.(procedure
21de0 3f 20 76 29 20 28 76 29 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 ?.v).(v).v))............(define.
21e00 73 74 72 20 28 66 6f 72 63 65 20 73 74 72 69 6e 67 2d 6f 72 2d 74 68 75 6e 6b 29 29 0a 20 20 20 str.(force.string-or-thunk))....
21e20 20 20 20 20 20 20 20 20 28 73 65 74 2d 61 64 64 21 20 28 63 75 72 72 65 6e 74 2d 6f 6e 6c 69 6e ........(set-add!.(current-onlin
21e40 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-check-syntax).................
21e60 20 20 20 20 20 28 6c 69 73 74 20 62 65 67 20 65 6e 64 20 73 74 72 29 29 29 5d 0a 20 20 20 20 20 .....(list.beg.end.str)))]......
21e80 20 20 20 3b 3b 20 45 78 70 65 63 74 65 64 3b 20 71 75 69 65 74 6c 79 20 69 67 6e 6f 72 65 0a 20 ...;;.Expected;.quietly.ignore..
21ea0 20 20 20 20 20 20 20 5b 28 6f 72 20 28 6c 69 73 74 29 20 23 66 29 20 28 76 6f 69 64 29 5d 0a 20 .......[(or.(list).#f).(void)]..
21ec0 20 20 20 20 20 20 20 3b 3b 20 55 6e 65 78 70 65 63 74 65 64 3b 20 6c 6f 67 20 77 61 72 6e 69 6e .......;;.Unexpected;.log.warnin
21ee0 67 20 61 6e 64 20 69 67 6e 6f 72 65 0a 20 20 20 20 20 20 20 20 5b 76 20 28 6c 6f 67 2d 72 61 63 g.and.ignore.........[v.(log-rac
21f00 6b 65 74 2d 6d 6f 64 65 2d 77 61 72 6e 69 6e 67 20 22 75 6e 6b 6e 6f 77 6e 20 6f 6e 6c 69 6e 65 ket-mode-warning."unknown.online
21f20 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 7e 76 22 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 -check-syntax.~v".v)............
21f40 28 76 6f 69 64 29 5d 29 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (void)])))).....................
21f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22000 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
22020 72 61 63 6b 65 74 2f 6c 61 6e 67 2d 69 6e 66 6f 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 racket/lang-info.rkt............
22040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
22080 30 30 30 31 34 36 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 35 31 37 00 20 30 00 00 00 0001463.00000000000.017517..0...
220a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
220c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
220e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
22120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
22140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
221a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
221c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
221e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22200 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 32 30 2d 32 30 32 33 20 62 79 20 47 72 ;;.Copyright.(c).2020-2023.by.Gr
22220 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
22240 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
22260 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 70 72 6f 76 69 64 65 20 28 73 74 72 75 63 ang.racket/base..(provide.(struc
22280 74 2d 6f 75 74 20 6c 61 6e 67 2d 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 20 6c 61 6e 67 2d 69 t-out.lang-info)..........lang-i
222a0 6e 66 6f 2d 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 2d 69 73 2d 72 61 63 6b 65 74 3f nfo-grouping-position-is-racket?
222c0 29 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 69 74 73 20 6f 77 6e 20 66 69 6c 65 20 72 65 61 6c 6c )..;;.This.is.its.own.file.reall
222e0 79 20 6a 75 73 74 20 73 6f 20 74 68 61 74 20 68 61 73 68 2d 6c 61 6e 67 2e 62 72 69 64 67 65 2e y.just.so.that.hash-lang.bridge.
22300 72 6b 74 20 63 61 6e 0a 3b 3b 20 72 65 71 75 69 72 65 20 69 74 20 6e 6f 72 6d 61 6c 6c 79 20 61 rkt.can.;;.require.it.normally.a
22320 6e 64 20 6e 6f 74 20 6e 65 65 64 20 74 6f 20 64 6f 20 6d 6f 72 65 20 64 79 6e 61 6d 69 63 2d 72 nd.not.need.to.do.more.dynamic-r
22340 65 71 75 69 72 65 73 2e 0a 0a 28 73 74 72 75 63 74 20 6c 61 6e 67 2d 69 6e 66 6f 0a 20 20 28 6d equires...(struct.lang-info...(m
22360 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 0a 20 20 20 6c 65 78 65 72 0a 20 20 20 70 61 72 65 6e odule-language....lexer....paren
22380 2d 6d 61 74 63 68 65 73 0a 20 20 20 71 75 6f 74 65 2d 6d 61 74 63 68 65 73 0a 20 20 20 67 72 6f -matches....quote-matches....gro
223a0 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 0a 20 20 20 6c 69 6e 65 2d 69 6e 64 65 6e 74 65 72 0a uping-position....line-indenter.
223c0 20 20 20 72 61 6e 67 65 2d 69 6e 64 65 6e 74 65 72 0a 20 20 20 73 75 62 6d 69 74 2d 70 72 65 64 ...range-indenter....submit-pred
223e0 69 63 61 74 65 0a 20 20 20 63 6f 6d 6d 65 6e 74 2d 64 65 6c 69 6d 69 74 65 72 73 29 0a 20 20 23 icate....comment-delimiters)...#
22400 3a 74 72 61 6e 73 70 61 72 65 6e 74 20 23 3a 61 75 74 68 65 6e 74 69 63 29 0a 0a 28 64 65 66 69 :transparent.#:authentic)..(defi
22420 6e 65 20 72 61 63 6b 65 74 2d 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 0a 20 20 28 77 ne.racket-grouping-position...(w
22440 69 74 68 2d 68 61 6e 64 6c 65 72 73 20 28 5b 65 78 6e 3a 66 61 69 6c 3f 20 28 ce bb 20 5f 20 23 ith-handlers.([exn:fail?.(..._.#
22460 66 29 5d 29 0a 20 20 20 20 28 64 79 6e 61 6d 69 63 2d 72 65 71 75 69 72 65 20 27 73 79 6e 74 61 f)]).....(dynamic-require.'synta
22480 78 2d 63 6f 6c 6f 72 2f 72 61 63 6b 65 74 2d 6e 61 76 69 67 61 74 69 6f 6e 20 27 72 61 63 6b 65 x-color/racket-navigation.'racke
224a0 74 2d 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 t-grouping-position)))..(define.
224c0 28 6c 61 6e 67 2d 69 6e 66 6f 2d 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 2d 69 73 2d (lang-info-grouping-position-is-
224e0 72 61 63 6b 65 74 3f 20 6c 69 29 0a 20 20 28 65 71 75 61 6c 3f 20 28 6c 61 6e 67 2d 69 6e 66 6f racket?.li)...(equal?.(lang-info
22500 2d 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 20 6c 69 29 20 72 61 63 6b 65 74 2d 67 72 -grouping-position.li).racket-gr
22520 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 ouping-position))...............
22540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
225a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
225c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
225e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22600 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
22620 72 61 63 6b 65 74 2f 74 65 78 74 2d 6c 69 6e 65 73 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 racket/text-lines.rkt...........
22640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
22680 30 30 35 37 32 34 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 37 34 35 00 20 30 00 00 00 0057240.00000000000.017745..0...
226a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
226c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
226e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
22720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
22740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
227a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
227c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
227e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22800 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 32 31 2d 32 30 32 33 20 62 79 20 47 72 ;;.Copyright.(c).2021-2023.by.Gr
22820 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
22840 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
22860 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 3b 3b 20 50 72 6f 76 65 6e 61 6e 63 65 3a 0a ang.racket/base..;;.Provenance:.
22880 3b 3b 0a 3b 3b 20 20 68 74 74 70 73 3a 2f 2f 67 69 73 74 2e 67 69 74 68 75 62 75 73 65 72 63 6f ;;.;;..https://gist.githubuserco
228a0 6e 74 65 6e 74 2e 63 6f 6d 2f 6d 66 6c 61 74 74 2f 36 61 62 37 31 66 38 32 31 34 63 35 66 64 39 ntent.com/mflatt/6ab71f8214c5fd9
228c0 38 64 61 65 39 38 63 38 35 33 31 30 35 36 66 61 32 2f 72 61 77 2f 62 34 30 37 65 38 66 66 34 31 8dae98c8531056fa2/raw/b407e8ff41
228e0 64 33 37 62 35 61 39 39 32 66 63 37 61 35 31 36 64 36 64 61 65 30 34 35 39 62 36 39 34 61 2f 74 d37b5a992fc7a516d6dae0459b694a/t
22900 65 78 74 2d 6c 69 6e 65 73 2e 72 6b 74 0a 3b 3b 0a 3b 3b 20 20 68 74 74 70 73 3a 2f 2f 67 69 74 ext-lines.rkt.;;.;;..https://git
22920 68 75 62 2e 63 6f 6d 2f 72 61 63 6b 65 74 2f 65 78 70 65 64 69 74 6f 72 2f 69 73 73 75 65 73 2f hub.com/racket/expeditor/issues/
22940 31 30 23 69 73 73 75 65 63 6f 6d 6d 65 6e 74 2d 39 37 34 31 34 36 32 39 31 2e 0a 0a 28 70 72 6f 10#issuecomment-974146291...(pro
22960 76 69 64 65 20 74 65 78 74 2d 6c 69 6e 65 73 3f 0a 20 20 20 20 20 20 20 20 20 28 72 65 6e 61 6d vide.text-lines?..........(renam
22980 65 2d 6f 75 74 20 5b 65 6d 70 74 79 20 65 6d 70 74 79 2d 74 65 78 74 2d 6c 69 6e 65 73 5d 29 0a e-out.[empty.empty-text-lines]).
229a0 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 30 20 69 73 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 62 ..........;;.0.is.the.position.b
229c0 65 66 6f 72 65 20 65 76 65 72 79 74 68 69 6e 67 2c 20 61 6e 64 20 74 68 65 20 70 6f 73 69 74 69 efore.everything,.and.the.positi
229e0 6f 6e 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 61 66 74 65 72 20 61 20 6e 65 77 6c 69 6e 65 20 69 on..........;;.after.a.newline.i
22a00 73 20 6f 6e 20 74 68 65 20 73 75 62 73 65 71 75 65 6e 74 20 6c 69 6e 65 0a 0a 20 20 20 20 20 20 s.on.the.subsequent.line........
22a20 20 20 20 74 65 78 74 2d 6c 65 6e 67 74 68 20 20 20 20 20 20 20 20 20 3b 20 74 20 2d 3e 20 70 6f ...text-length.........;.t.->.po
22a40 73 69 74 69 6f 6e 20 61 74 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 69 6e 73 65 72 74 20 20 20 sition.at.end..........insert...
22a60 20 20 20 20 20 20 20 20 20 20 20 3b 20 74 20 70 6f 73 69 74 69 6f 6e 20 73 74 72 20 2d 3e 20 74 ...........;.t.position.str.->.t
22a80 2c 20 64 65 74 65 63 74 69 6e 67 20 22 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 64 65 6c 65 74 65 ,.detecting."\n"..........delete
22aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 74 20 73 74 61 72 74 2d 70 6f 73 69 74 69 6f 6e ..............;.t.start-position
22ac0 20 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 20 2d 3e 20 74 0a 20 20 20 20 20 20 20 20 20 67 65 74 2d .end-position.->.t..........get-
22ae0 74 65 78 74 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 74 20 73 74 61 72 74 2d 70 6f 73 69 74 69 text............;.t.start-positi
22b00 6f 6e 20 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 20 2d 3e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 on.end-position.->.string.......
22b20 20 20 20 6f 70 65 6e 2d 69 6e 70 75 74 2d 74 65 78 74 20 20 20 20 20 3b 20 74 20 73 74 61 72 74 ...open-input-text.....;.t.start
22b40 2d 70 6f 73 69 74 69 6f 6e 20 2d 3e 20 69 6e 70 75 74 2d 70 6f 72 74 0a 0a 20 20 20 20 20 20 20 -position.->.input-port.........
22b60 20 20 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 20 20 20 20 3b 20 74 20 70 6f 73 69 74 69 ..position->start.....;.t.positi
22b80 6f 6e 20 2d 3e 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 6c 69 6e 65 20 73 74 61 72 74 0a 20 20 20 on.->.position.of.line.start....
22ba0 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 20 20 20 20 20 3b 20 74 20 70 6f ......position->line......;.t.po
22bc0 73 69 74 69 6f 6e 20 2d 3e 20 6c 69 6e 65 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 6c sition.->.line.number..........l
22be0 69 6e 65 2d 3e 73 74 61 72 74 20 20 20 20 20 20 20 20 20 3b 20 74 20 6c 69 6e 65 20 6e 75 6d 62 ine->start.........;.t.line.numb
22c00 65 72 20 2d 3e 20 70 6f 73 69 74 69 6f 6e 0a 0a 20 20 20 20 20 20 20 20 20 74 65 78 74 2d 6c 69 er.->.position...........text-li
22c20 6e 65 2d 63 6f 75 6e 74 29 20 20 20 20 3b 20 74 20 2d 3e 20 6f 6e 65 20 6d 6f 72 65 20 74 68 61 ne-count)....;.t.->.one.more.tha
22c40 6e 20 6c 69 6e 65 20 6e 75 6d 62 65 72 20 61 74 20 65 6e 64 0a 0a 3b 3b 20 2d 2d 2d 2d 2d 2d 2d n.line.number.at.end..;;.-------
22c60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
22c80 2d 0a 0a 28 64 65 66 69 6e 65 20 28 69 6e 73 65 72 74 20 74 20 70 6f 73 20 73 74 72 29 0a 20 20 -..(define.(insert.t.pos.str)...
22ca0 28 63 68 65 63 6b 2d 69 6e 2d 72 61 6e 67 65 20 27 69 6e 73 65 72 74 20 74 20 70 6f 73 29 0a 20 (check-in-range.'insert.t.pos)..
22cc0 20 28 6c 65 74 20 6c 6f 6f 70 20 28 5b 74 20 74 5d 20 5b 69 20 30 5d 20 5b 70 6f 73 20 70 6f 73 .(let.loop.([t.t].[i.0].[pos.pos
22ce0 5d 20 5b 61 63 63 75 6d 20 30 5d 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 5b 28 3d ].[accum.0]).....(cond.......[(=
22d00 20 69 20 28 73 74 72 69 6e 67 2d 6c 65 6e 67 74 68 20 73 74 72 29 29 0a 20 20 20 20 20 20 20 28 .i.(string-length.str))........(
22d20 69 66 20 28 7a 65 72 6f 3f 20 61 63 63 75 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 74 0a 20 20 if.(zero?.accum)............t...
22d40 20 20 20 20 20 20 20 20 20 28 61 64 6a 75 73 74 2d 77 69 74 68 69 6e 2d 6c 69 6e 65 20 74 20 70 .........(adjust-within-line.t.p
22d60 6f 73 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 20 28 2d 20 69 20 61 63 63 75 6d 29 20 69 29 os.(substring.str.(-.i.accum).i)
22d80 29 29 5d 0a 20 20 20 20 20 20 5b 28 63 68 61 72 3d 3f 20 23 5c 6e 65 77 6c 69 6e 65 20 28 73 74 ))].......[(char=?.#\newline.(st
22da0 72 69 6e 67 2d 72 65 66 20 73 74 72 20 69 29 29 0a 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 ring-ref.str.i))........(define.
22dc0 6c 65 6e 20 28 61 64 64 31 20 61 63 63 75 6d 29 29 0a 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 28 len.(add1.accum))........(loop.(
22de0 69 6e 73 65 72 74 2d 6e 65 77 6c 69 6e 65 20 74 20 70 6f 73 20 28 73 75 62 73 74 72 69 6e 67 20 insert-newline.t.pos.(substring.
22e00 73 74 72 20 28 2d 20 69 20 61 63 63 75 6d 29 20 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 str.(-.i.accum).i)).............
22e20 20 28 61 64 64 31 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 70 6f 73 20 6c 65 .(add1.i)..............(+.pos.le
22e40 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 30 29 5d 0a 20 20 20 20 20 20 5b 65 6c 73 65 20 n)..............0)].......[else.
22e60 28 6c 6f 6f 70 20 74 20 28 61 64 64 31 20 69 29 20 70 6f 73 20 28 61 64 64 31 20 61 63 63 75 6d (loop.t.(add1.i).pos.(add1.accum
22e80 29 29 5d 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 64 65 6c 65 74 65 20 74 20 70 6f 73 20 65 6e ))])))..(define.(delete.t.pos.en
22ea0 64 29 0a 20 20 28 63 68 65 63 6b 2d 69 6e 2d 72 61 6e 67 65 20 27 64 65 6c 65 74 65 20 74 20 70 d)...(check-in-range.'delete.t.p
22ec0 6f 73 29 0a 20 20 28 63 68 65 63 6b 2d 69 6e 2d 72 61 6e 67 65 20 27 64 65 6c 65 74 65 20 74 20 os)...(check-in-range.'delete.t.
22ee0 65 6e 64 29 0a 20 20 28 6c 65 74 20 64 65 6c 65 74 65 20 28 5b 74 20 74 5d 20 5b 70 6f 73 20 70 end)...(let.delete.([t.t].[pos.p
22f00 6f 73 5d 20 5b 65 6e 64 20 65 6e 64 5d 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 5b os].[end.end]).....(cond.......[
22f20 28 3d 20 70 6f 73 20 65 6e 64 29 20 74 5d 0a 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 (=.pos.end).t].......[else......
22f40 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 6c 65 66 74 2d 6c 65 6e 20 6c 65 66 74 2d ..(define-values.(left-len.left-
22f60 63 6f 75 6e 74 20 73 75 62 2d 74 29 20 28 66 69 6e 64 2d 6c 69 6e 65 20 74 20 70 6f 73 29 29 0a count.sub-t).(find-line.t.pos)).
22f80 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6c 69 6e 65 2d 73 74 61 72 74 20 28 2b 20 6c 65 66 .......(define.line-start.(+.lef
22fa0 74 2d 6c 65 6e 20 28 6e 6f 64 65 2d 6c 65 66 74 2d 6c 65 6e 20 73 75 62 2d 74 29 29 29 0a 20 20 t-len.(node-left-len.sub-t)))...
22fc0 20 20 20 20 20 28 64 65 66 69 6e 65 20 6c 69 6e 65 2d 6c 65 6e 20 28 6e 6f 64 65 2d 6c 65 6e 20 .....(define.line-len.(node-len.
22fe0 73 75 62 2d 74 29 29 0a 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6c 69 6e 65 2d 65 6e 64 20 sub-t))........(define.line-end.
23000 28 2b 20 6c 69 6e 65 2d 73 74 61 72 74 20 6c 69 6e 65 2d 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 (+.line-start.line-len))........
23020 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 5b 28 65 6e 64 20 2e 20 3c 20 2e 20 6c 69 6e 65 2d (cond..........[(end...<...line-
23040 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 64 6a 75 73 74 2d 77 69 74 68 69 6e 2d 6c 69 end)...........(adjust-within-li
23060 6e 65 20 74 20 70 6f 73 20 28 2d 20 70 6f 73 20 65 6e 64 29 29 5d 0a 20 20 20 20 20 20 20 20 20 ne.t.pos.(-.pos.end))]..........
23080 5b 28 3d 20 70 6f 73 20 6c 69 6e 65 2d 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 [(=.pos.line-start)...........(d
230a0 65 66 69 6e 65 20 6e 65 77 2d 74 20 28 64 65 6c 65 74 65 2d 6c 69 6e 65 20 74 20 6c 69 6e 65 2d efine.new-t.(delete-line.t.line-
230c0 73 74 61 72 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 20 6e 65 77 2d 74 20 start))...........(delete.new-t.
230e0 6c 69 6e 65 2d 73 74 61 72 74 20 28 2d 20 65 6e 64 20 6c 69 6e 65 2d 6c 65 6e 29 29 5d 0a 20 20 line-start.(-.end.line-len))]...
23100 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6b .......[else...........(define.k
23120 65 65 70 20 28 73 75 62 73 74 72 69 6e 67 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 73 75 62 eep.(substring.(node-content.sub
23140 2d 74 29 20 30 20 28 2d 20 70 6f 73 20 6c 69 6e 65 2d 73 74 61 72 74 29 29 29 0a 20 20 20 20 20 -t).0.(-.pos.line-start)))......
23160 20 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 74 20 28 64 65 6c 65 74 65 20 74 20 6c 69 6e .....(define.new-t.(delete.t.lin
23180 65 2d 73 74 61 72 74 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 e-start.end))...........(insert.
231a0 6e 65 77 2d 74 20 6c 69 6e 65 2d 73 74 61 72 74 20 6b 65 65 70 29 5d 29 5d 29 29 29 0a 0a 28 64 new-t.line-start.keep)])])))..(d
231c0 65 66 69 6e 65 20 28 67 65 74 2d 74 65 78 74 20 74 20 70 6f 73 20 5b 65 6e 64 20 28 74 65 78 74 efine.(get-text.t.pos.[end.(text
231e0 2d 6c 65 6e 67 74 68 20 74 29 5d 29 0a 20 20 28 63 68 65 63 6b 2d 69 6e 2d 72 61 6e 67 65 20 27 -length.t)])...(check-in-range.'
23200 67 65 74 2d 74 65 78 74 20 74 20 70 6f 73 29 0a 20 20 28 63 68 65 63 6b 2d 69 6e 2d 72 61 6e 67 get-text.t.pos)...(check-in-rang
23220 65 20 27 67 65 74 2d 74 65 78 74 20 74 20 65 6e 64 29 0a 20 20 28 64 65 66 69 6e 65 20 73 74 72 e.'get-text.t.end)...(define.str
23240 0a 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 5b 70 6f 73 20 70 6f 73 5d 20 5b 65 6e 64 20 65 .....(let.loop.([pos.pos].[end.e
23260 6e 64 5d 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 6c 65 66 74 2d nd]).......(define-values.(left-
23280 6c 65 6e 20 6c 65 66 74 2d 63 6f 75 6e 74 20 73 75 62 2d 74 29 20 28 66 69 6e 64 2d 6c 69 6e 65 len.left-count.sub-t).(find-line
232a0 20 74 20 70 6f 73 29 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6c 69 6e 65 2d 73 74 61 72 .t.pos)).......(define.line-star
232c0 74 20 28 2b 20 6c 65 66 74 2d 6c 65 6e 20 28 6e 6f 64 65 2d 6c 65 66 74 2d 6c 65 6e 20 73 75 62 t.(+.left-len.(node-left-len.sub
232e0 2d 74 29 29 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6c 69 6e 65 2d 6c 65 6e 20 28 6e 6f -t))).......(define.line-len.(no
23300 64 65 2d 6c 65 6e 20 73 75 62 2d 74 29 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6c 69 6e de-len.sub-t)).......(define.lin
23320 65 2d 65 6e 64 20 28 2b 20 6c 69 6e 65 2d 73 74 61 72 74 20 6c 69 6e 65 2d 6c 65 6e 29 29 0a 20 e-end.(+.line-start.line-len))..
23340 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 5b 28 3c 3d 20 65 6e 64 20 6c 69 6e 65 .....(cond.........[(<=.end.line
23360 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 72 65 6c 2d 70 6f 73 20 28 -end)..........(define.rel-pos.(
23380 2d 20 70 6f 73 20 6c 69 6e 65 2d 73 74 61 72 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e -.pos.line-start))..........(con
233a0 64 0a 20 20 20 20 20 20 20 20 20 20 20 5b 28 3d 20 65 6e 64 20 6c 69 6e 65 2d 65 6e 64 29 0a 20 d............[(=.end.line-end)..
233c0 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 20 28 73 75 62 73 74 ...........(string-append.(subst
233e0 72 69 6e 67 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 73 75 62 2d 74 29 20 72 65 6c 2d 70 6f ring.(node-content.sub-t).rel-po
23400 73 29 20 22 5c 6e 22 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 s)."\n")]............[else......
23420 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 72 65 6c 2d 65 6e 64 20 28 2d 20 65 6e 64 20 6c 69 .......(define.rel-end.(-.end.li
23440 6e 65 2d 73 74 61 72 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e ne-start)).............(substrin
23460 67 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 73 75 62 2d 74 29 20 72 65 6c 2d 70 6f 73 20 72 g.(node-content.sub-t).rel-pos.r
23480 65 6c 2d 65 6e 64 29 5d 29 5d 0a 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 el-end)])].........[else........
234a0 20 20 28 64 65 66 69 6e 65 20 70 72 65 2d 73 74 72 20 28 6c 6f 6f 70 20 70 6f 73 20 6c 69 6e 65 ..(define.pre-str.(loop.pos.line
234c0 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 6f 73 74 2d 73 74 72 -end))..........(define.post-str
234e0 73 20 28 6c 6f 6f 70 20 6c 69 6e 65 2d 65 6e 64 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 s.(loop.line-end.end))..........
23500 28 63 6f 6e 73 20 70 72 65 2d 73 74 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 (cons.pre-str................(if
23520 20 28 70 61 69 72 3f 20 70 6f 73 74 2d 73 74 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(pair?.post-strs)..............
23540 20 20 20 20 20 20 70 6f 73 74 2d 73 74 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......post-strs.................
23560 20 20 20 28 6c 69 73 74 20 70 6f 73 74 2d 73 74 72 73 29 29 29 5d 29 29 29 0a 20 20 28 69 66 20 ...(list.post-strs)))])))...(if.
23580 28 73 74 72 69 6e 67 3f 20 73 74 72 29 0a 20 20 20 20 20 20 73 74 72 0a 20 20 20 20 20 20 28 61 (string?.str).......str.......(a
235a0 70 70 6c 79 20 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 20 73 74 72 29 29 29 0a 0a 3b 3b 20 2d 2d pply.string-append.str)))..;;.--
235c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
235e0 2d 2d 2d 2d 2d 2d 0a 0a 3b 3b 20 61 20 6e 6f 64 65 20 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 ------..;;.a.node.represents.one
23600 20 74 65 78 74 20 6c 69 6e 65 20 74 68 61 74 20 65 6e 64 73 20 77 69 74 68 20 61 20 6e 65 77 6c .text.line.that.ends.with.a.newl
23620 69 6e 65 0a 28 73 74 72 75 63 74 20 6e 6f 64 65 20 28 63 6f 6e 74 65 6e 74 20 20 20 20 20 20 3b ine.(struct.node.(content......;
23640 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 74 68 69 73 20 6c 69 6e 65 2c 20 65 78 63 6c 75 64 .characters.in.this.line,.exclud
23660 69 6e 67 20 65 6e 64 69 6e 67 20 6e 65 77 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ing.ending.newline..............
23680 20 6c 65 66 74 2d 6c 65 6e 20 20 20 20 20 3b 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 6c 65 .left-len.....;.characters.in.le
236a0 66 74 20 73 75 62 74 72 65 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 74 61 6c 2d 6c ft.subtree...............total-l
236c0 65 6e 20 20 20 20 3b 20 74 6f 74 61 6c 20 69 6e 20 62 6f 74 68 20 73 75 62 74 72 65 65 73 0a 20 en....;.total.in.both.subtrees..
236e0 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 66 74 2d 63 6f 75 6e 74 20 20 20 3b 20 6e 75 6d 62 .............left-count...;.numb
23700 65 72 20 6f 66 20 6c 69 6e 65 73 20 69 6e 20 6c 65 66 74 20 73 75 62 74 72 65 65 0a 20 20 20 20 er.of.lines.in.left.subtree.....
23720 20 20 20 20 20 20 20 20 20 20 74 6f 74 61 6c 2d 63 6f 75 6e 74 20 20 3b 20 74 6f 74 61 6c 20 6e ..........total-count..;.total.n
23740 75 6d 62 65 72 20 6f 66 20 6c 69 6e 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 69 umber.of.lines...............hei
23760 67 68 74 20 20 20 20 20 20 20 3b 20 68 65 61 64 20 6f 66 20 74 72 65 65 20 28 66 6f 72 20 62 61 ght.......;.head.of.tree.(for.ba
23780 6c 61 6e 63 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 66 74 20 20 20 20 20 lancing)...............left.....
237a0 20 20 20 20 3b 20 6c 65 66 74 20 73 75 62 74 72 65 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....;.left.subtree..............
237c0 20 72 69 67 68 74 29 20 20 20 20 20 20 20 3b 20 72 69 67 68 74 20 73 75 62 74 72 65 65 0a 20 20 .right).......;.right.subtree...
237e0 23 3a 74 72 61 6e 73 70 61 72 65 6e 74 0a 20 20 23 3a 61 75 74 68 65 6e 74 69 63 0a 20 20 23 3a #:transparent...#:authentic...#:
23800 72 65 66 6c 65 63 74 69 6f 6e 2d 6e 61 6d 65 20 27 6c 69 6e 65 73 2d 6f 66 2d 74 65 78 74 29 0a reflection-name.'lines-of-text).
23820 0a 28 64 65 66 69 6e 65 20 28 74 65 78 74 2d 6c 69 6e 65 73 3f 20 76 29 20 28 6e 6f 64 65 3f 20 .(define.(text-lines?.v).(node?.
23840 76 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 6e 6f 64 65 2d 6c 65 6e 20 6e 29 0a 20 20 28 63 6f 6e v))..(define.(node-len.n)...(con
23860 74 65 6e 74 2d 6c 65 6e 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 6e 29 29 29 0a 0a 28 64 65 tent-len.(node-content.n)))..(de
23880 66 69 6e 65 20 28 63 6f 6e 74 65 6e 74 2d 6c 65 6e 20 63 6f 6e 74 65 6e 74 29 0a 20 20 28 61 64 fine.(content-len.content)...(ad
238a0 64 31 20 28 73 74 72 69 6e 67 2d 6c 65 6e 67 74 68 20 63 6f 6e 74 65 6e 74 29 29 29 0a 0a 28 64 d1.(string-length.content)))..(d
238c0 65 66 69 6e 65 20 28 74 65 78 74 2d 6c 65 6e 67 74 68 20 6e 29 0a 20 20 28 73 75 62 31 20 28 6e efine.(text-length.n)...(sub1.(n
238e0 6f 64 65 2d 74 6f 74 61 6c 2d 6c 65 6e 20 6e 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 74 65 78 ode-total-len.n)))..(define.(tex
23900 74 2d 6c 69 6e 65 2d 63 6f 75 6e 74 20 6e 29 0a 20 20 28 6e 6f 64 65 2d 74 6f 74 61 6c 2d 63 6f t-line-count.n)...(node-total-co
23920 75 6e 74 20 6e 29 29 0a 0a 3b 3b 20 72 65 70 72 65 73 65 6e 74 20 61 6e 20 65 64 69 74 6f 72 20 unt.n))..;;.represent.an.editor.
23940 77 69 74 68 20 61 20 73 65 6e 74 69 6e 65 6c 20 6e 65 77 6c 69 6e 65 2c 20 62 75 74 20 68 69 64 with.a.sentinel.newline,.but.hid
23960 65 0a 3b 3b 20 69 74 73 20 65 78 69 73 74 65 6e 63 65 20 74 6f 20 74 68 65 20 6f 75 74 73 69 64 e.;;.its.existence.to.the.outsid
23980 65 0a 28 64 65 66 69 6e 65 20 65 6d 70 74 79 20 28 6e 6f 64 65 20 22 22 20 30 20 31 20 30 20 31 e.(define.empty.(node."".0.1.0.1
239a0 20 30 20 23 66 20 23 66 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 63 68 65 63 6b 2d 69 6e 2d 72 61 .0.#f.#f))..(define.(check-in-ra
239c0 6e 67 65 2a 20 77 68 6f 20 74 20 70 6f 73 20 6c 69 6d 69 74 20 77 68 61 74 29 0a 20 20 28 75 6e nge*.who.t.pos.limit.what)...(un
239e0 6c 65 73 73 20 28 6e 6f 64 65 3f 20 74 29 0a 20 20 20 20 28 72 61 69 73 65 2d 61 72 67 75 6d 65 less.(node?.t).....(raise-argume
23a00 6e 74 2d 65 72 72 6f 72 20 77 68 6f 20 22 74 65 78 74 2d 6c 69 6e 65 73 3f 22 20 74 29 29 0a 20 nt-error.who."text-lines?".t))..
23a20 20 28 75 6e 6c 65 73 73 20 28 65 78 61 63 74 2d 6e 6f 6e 6e 65 67 61 74 69 76 65 2d 69 6e 74 65 .(unless.(exact-nonnegative-inte
23a40 67 65 72 3f 20 70 6f 73 29 0a 20 20 20 20 28 72 61 69 73 65 2d 61 72 67 75 6d 65 6e 74 2d 65 72 ger?.pos).....(raise-argument-er
23a60 72 6f 72 20 77 68 6f 20 22 65 78 61 63 74 2d 6e 6f 6e 6e 65 67 61 74 69 76 65 2d 69 6e 74 65 67 ror.who."exact-nonnegative-integ
23a80 65 72 3f 22 20 70 6f 73 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 70 6f 73 20 2e 20 3c 20 2e 20 er?".pos))...(unless.(pos...<...
23aa0 6c 69 6d 69 74 29 0a 20 20 20 20 28 72 61 69 73 65 2d 61 72 67 75 6d 65 6e 74 73 2d 65 72 72 6f limit).....(raise-arguments-erro
23ac0 72 20 77 68 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.who...........................
23ae0 20 28 66 6f 72 6d 61 74 20 22 7e 61 20 69 73 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 22 20 77 .(format."~a.is.out.of.bounds".w
23b00 68 61 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hat)............................
23b20 77 68 61 74 20 70 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 what.pos........................
23b40 20 20 20 20 22 75 70 70 65 72 20 6c 69 6d 69 74 22 20 28 73 75 62 31 20 6c 69 6d 69 74 29 29 29 ...."upper.limit".(sub1.limit)))
23b60 29 0a 0a 28 64 65 66 69 6e 65 20 28 63 68 65 63 6b 2d 69 6e 2d 72 61 6e 67 65 20 77 68 6f 20 74 )..(define.(check-in-range.who.t
23b80 20 70 6f 73 29 0a 20 20 28 63 68 65 63 6b 2d 69 6e 2d 72 61 6e 67 65 2a 20 77 68 6f 20 74 20 70 .pos)...(check-in-range*.who.t.p
23ba0 6f 73 20 28 6e 6f 64 65 2d 74 6f 74 61 6c 2d 6c 65 6e 20 74 29 20 22 70 6f 73 69 74 69 6f 6e 22 os.(node-total-len.t)."position"
23bc0 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 63 68 65 63 6b 2d 69 6e 2d 72 61 6e 67 65 2d 6c 69 6e 65 ))..(define.(check-in-range-line
23be0 20 77 68 6f 20 74 20 6c 69 6e 65 29 0a 20 20 28 63 68 65 63 6b 2d 69 6e 2d 72 61 6e 67 65 2a 20 .who.t.line)...(check-in-range*.
23c00 77 68 6f 20 74 20 6c 69 6e 65 20 28 61 64 64 31 20 28 6e 6f 64 65 2d 74 6f 74 61 6c 2d 63 6f 75 who.t.line.(add1.(node-total-cou
23c20 6e 74 20 74 29 29 20 22 6c 69 6e 65 22 29 29 0a 0a 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d nt.t))."line"))..;;.------------
23c40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 28 64 ----------------------------..(d
23c60 65 66 69 6e 65 20 28 74 72 65 65 2d 68 65 69 67 68 74 20 74 29 0a 20 20 28 63 6f 6e 64 0a 20 20 efine.(tree-height.t)...(cond...
23c80 20 20 5b 28 6e 6f 74 20 74 29 20 30 5d 0a 20 20 20 20 5b 65 6c 73 65 20 28 6e 6f 64 65 2d 68 65 ..[(not.t).0].....[else.(node-he
23ca0 69 67 68 74 20 74 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 74 72 65 65 2d 74 6f 74 61 6c 2d ight.t)]))..(define.(tree-total-
23cc0 6c 65 6e 20 74 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 20 5b 28 6e 6f 74 20 74 29 20 30 5d 0a 20 len.t)...(cond.....[(not.t).0]..
23ce0 20 20 20 5b 65 6c 73 65 20 28 6e 6f 64 65 2d 74 6f 74 61 6c 2d 6c 65 6e 20 74 29 5d 29 29 0a 0a ...[else.(node-total-len.t)]))..
23d00 28 64 65 66 69 6e 65 20 28 74 72 65 65 2d 74 6f 74 61 6c 2d 63 6f 75 6e 74 20 74 29 0a 20 20 28 (define.(tree-total-count.t)...(
23d20 63 6f 6e 64 0a 20 20 20 20 5b 28 6e 6f 74 20 74 29 20 30 5d 0a 20 20 20 20 5b 65 6c 73 65 20 28 cond.....[(not.t).0].....[else.(
23d40 6e 6f 64 65 2d 74 6f 74 61 6c 2d 63 6f 75 6e 74 20 74 29 5d 29 29 0a 0a 3b 3b 20 2d 2d 2d 2d 2d node-total-count.t)]))..;;.-----
23d60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
23d80 2d 2d 2d 0a 0a 28 64 65 66 69 6e 65 20 28 63 6f 6d 62 69 6e 65 20 63 6f 6e 74 65 6e 74 20 6c 65 ---..(define.(combine.content.le
23da0 66 74 20 72 69 67 68 74 29 0a 20 20 28 6e 6f 64 65 20 63 6f 6e 74 65 6e 74 0a 20 20 20 20 20 20 ft.right)...(node.content.......
23dc0 20 20 28 74 72 65 65 2d 74 6f 74 61 6c 2d 6c 65 6e 20 6c 65 66 74 29 0a 20 20 20 20 20 20 20 20 ..(tree-total-len.left).........
23de0 28 2b 20 28 63 6f 6e 74 65 6e 74 2d 6c 65 6e 20 63 6f 6e 74 65 6e 74 29 20 28 74 72 65 65 2d 74 (+.(content-len.content).(tree-t
23e00 6f 74 61 6c 2d 6c 65 6e 20 6c 65 66 74 29 20 28 74 72 65 65 2d 74 6f 74 61 6c 2d 6c 65 6e 20 72 otal-len.left).(tree-total-len.r
23e20 69 67 68 74 29 29 0a 20 20 20 20 20 20 20 20 28 74 72 65 65 2d 74 6f 74 61 6c 2d 63 6f 75 6e 74 ight)).........(tree-total-count
23e40 20 6c 65 66 74 29 0a 20 20 20 20 20 20 20 20 28 2b 20 31 20 28 74 72 65 65 2d 74 6f 74 61 6c 2d .left).........(+.1.(tree-total-
23e60 63 6f 75 6e 74 20 6c 65 66 74 29 20 28 74 72 65 65 2d 74 6f 74 61 6c 2d 63 6f 75 6e 74 20 72 69 count.left).(tree-total-count.ri
23e80 67 68 74 29 29 0a 20 20 20 20 20 20 20 20 28 2b 20 31 20 28 6d 61 78 20 28 74 72 65 65 2d 68 65 ght)).........(+.1.(max.(tree-he
23ea0 69 67 68 74 20 6c 65 66 74 29 20 28 74 72 65 65 2d 68 65 69 67 68 74 20 72 69 67 68 74 29 29 29 ight.left).(tree-height.right)))
23ec0 0a 20 20 20 20 20 20 20 20 6c 65 66 74 0a 20 20 20 20 20 20 20 20 72 69 67 68 74 29 29 0a 0a 28 .........left.........right))..(
23ee0 64 65 66 69 6e 65 20 28 72 65 76 65 72 73 65 2d 63 6f 6d 62 69 6e 65 20 63 6f 6e 74 65 6e 74 20 define.(reverse-combine.content.
23f00 72 69 67 68 74 20 6c 65 66 74 29 0a 20 20 28 63 6f 6d 62 69 6e 65 20 63 6f 6e 74 65 6e 74 20 6c right.left)...(combine.content.l
23f20 65 66 74 20 72 69 67 68 74 29 29 0a 0a 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d eft.right))..;;.----------------
23f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 28 64 65 66 69 6e ------------------------..(defin
23f60 65 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 70 6f 73 29 0a 20 20 28 63 68 65 e.(position->start.t.pos)...(che
23f80 63 6b 2d 69 6e 2d 72 61 6e 67 65 20 27 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 70 ck-in-range.'position->start.t.p
23fa0 6f 73 29 0a 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 6c 65 66 74 2d 6c 65 6e 20 6c os)...(define-values.(left-len.l
23fc0 65 66 74 2d 63 6f 75 6e 74 20 73 75 62 2d 74 29 20 28 66 69 6e 64 2d 6c 69 6e 65 20 74 20 70 6f eft-count.sub-t).(find-line.t.po
23fe0 73 29 29 0a 20 20 28 2b 20 6c 65 66 74 2d 6c 65 6e 20 28 6e 6f 64 65 2d 6c 65 66 74 2d 6c 65 6e s))...(+.left-len.(node-left-len
24000 20 73 75 62 2d 74 29 29 29 0a 0a 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .sub-t)))..;;.------------------
24020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 28 64 65 66 69 6e 65 20 ----------------------..(define.
24040 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 70 6f 73 29 0a 20 20 28 63 68 65 63 6b 2d (position->line.t.pos)...(check-
24060 69 6e 2d 72 61 6e 67 65 20 27 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 70 6f 73 29 0a in-range.'position->line.t.pos).
24080 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 6c 65 66 74 2d 6c 65 6e 20 6c 65 66 74 2d ..(define-values.(left-len.left-
240a0 63 6f 75 6e 74 20 73 75 62 2d 74 29 20 28 66 69 6e 64 2d 6c 69 6e 65 20 74 20 70 6f 73 29 29 0a count.sub-t).(find-line.t.pos)).
240c0 20 20 28 2b 20 6c 65 66 74 2d 63 6f 75 6e 74 20 28 6e 6f 64 65 2d 6c 65 66 74 2d 63 6f 75 6e 74 ..(+.left-count.(node-left-count
240e0 20 73 75 62 2d 74 29 29 29 0a 0a 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .sub-t)))..;;.------------------
24100 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 28 64 65 66 69 6e 65 20 ----------------------..(define.
24120 28 66 69 6e 64 2d 6c 69 6e 65 20 74 20 70 6f 73 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 20 5b 28 (find-line.t.pos)...(cond.....[(
24140 3c 20 70 6f 73 20 28 6e 6f 64 65 2d 6c 65 66 74 2d 6c 65 6e 20 74 29 29 0a 20 20 20 20 20 28 66 <.pos.(node-left-len.t))......(f
24160 69 6e 64 2d 6c 69 6e 65 20 28 6e 6f 64 65 2d 6c 65 66 74 20 74 29 20 70 6f 73 29 5d 0a 20 20 20 ind-line.(node-left.t).pos)]....
24180 20 5b 65 6c 73 65 0a 20 20 20 20 20 28 64 65 66 69 6e 65 20 72 69 67 68 74 2d 6c 65 66 74 2d 6c .[else......(define.right-left-l
241a0 65 6e 20 28 2b 20 28 6e 6f 64 65 2d 6c 65 6e 20 74 29 20 28 6e 6f 64 65 2d 6c 65 66 74 2d 6c 65 en.(+.(node-len.t).(node-left-le
241c0 6e 20 74 29 29 29 0a 20 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 70 6f 73 20 28 2d 20 70 n.t)))......(define.new-pos.(-.p
241e0 6f 73 20 72 69 67 68 74 2d 6c 65 66 74 2d 6c 65 6e 29 29 0a 20 20 20 20 20 28 63 6f 6e 64 0a 20 os.right-left-len))......(cond..
24200 20 20 20 20 20 20 5b 28 6e 65 77 2d 70 6f 73 20 2e 20 3c 20 2e 20 30 29 20 28 76 61 6c 75 65 73 ......[(new-pos...<...0).(values
24220 20 30 20 30 20 74 29 5d 0a 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 28 64 .0.0.t)]........[else.........(d
24240 65 66 69 6e 65 20 72 69 67 68 74 2d 6c 65 66 74 2d 63 6f 75 6e 74 20 28 2b 20 31 20 28 6e 6f 64 efine.right-left-count.(+.1.(nod
24260 65 2d 6c 65 66 74 2d 63 6f 75 6e 74 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 65 66 69 6e e-left-count.t))).........(defin
24280 65 2d 76 61 6c 75 65 73 20 28 6c 65 66 74 2d 6c 65 6e 20 6c 65 66 74 2d 63 6f 75 6e 74 20 73 75 e-values.(left-len.left-count.su
242a0 62 2d 74 29 20 28 66 69 6e 64 2d 6c 69 6e 65 20 28 6e 6f 64 65 2d 72 69 67 68 74 20 74 29 20 6e b-t).(find-line.(node-right.t).n
242c0 65 77 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 28 2b 20 6c 65 66 74 ew-pos)).........(values.(+.left
242e0 2d 6c 65 6e 20 72 69 67 68 74 2d 6c 65 66 74 2d 6c 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 -len.right-left-len)............
24300 20 20 20 20 20 28 2b 20 6c 65 66 74 2d 63 6f 75 6e 74 20 72 69 67 68 74 2d 6c 65 66 74 2d 63 6f .....(+.left-count.right-left-co
24320 75 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75 62 2d 74 29 5d 29 5d 29 29 unt).................sub-t)])]))
24340 0a 0a 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..;;.---------------------------
24360 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 28 64 65 66 69 6e 65 20 28 6c 69 6e 65 2d 3e 73 74 -------------..(define.(line->st
24380 61 72 74 20 74 20 6c 69 6e 65 29 0a 20 20 28 63 68 65 63 6b 2d 69 6e 2d 72 61 6e 67 65 2d 6c 69 art.t.line)...(check-in-range-li
243a0 6e 65 20 27 6c 69 6e 65 2d 3e 73 74 61 72 74 20 74 20 6c 69 6e 65 29 0a 20 20 28 66 69 6e 64 2d ne.'line->start.t.line)...(find-
243c0 73 74 61 72 74 20 74 20 6c 69 6e 65 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 66 69 6e 64 2d 73 74 start.t.line))..(define.(find-st
243e0 61 72 74 20 74 20 6c 69 6e 65 29 0a 20 20 28 64 65 66 69 6e 65 20 68 65 72 65 20 28 6e 6f 64 65 art.t.line)...(define.here.(node
24400 2d 6c 65 66 74 2d 63 6f 75 6e 74 20 74 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 20 5b 28 6c 69 -left-count.t))...(cond.....[(li
24420 6e 65 20 2e 20 3c 20 2e 20 68 65 72 65 29 0a 20 20 20 20 20 28 66 69 6e 64 2d 73 74 61 72 74 20 ne...<...here)......(find-start.
24440 28 6e 6f 64 65 2d 6c 65 66 74 20 74 29 20 6c 69 6e 65 29 5d 0a 20 20 20 20 5b 28 6c 69 6e 65 20 (node-left.t).line)].....[(line.
24460 2e 20 3e 20 2e 20 68 65 72 65 29 0a 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 72 65 20 28 2b 20 ..>...here)......(define.pre.(+.
24480 28 6e 6f 64 65 2d 6c 65 66 74 2d 6c 65 6e 20 74 29 20 28 6e 6f 64 65 2d 6c 65 6e 20 74 29 29 29 (node-left-len.t).(node-len.t)))
244a0 0a 20 20 20 20 20 28 2b 20 28 66 69 6e 64 2d 73 74 61 72 74 20 28 6e 6f 64 65 2d 72 69 67 68 74 ......(+.(find-start.(node-right
244c0 20 74 29 20 28 2d 20 6c 69 6e 65 20 68 65 72 65 20 31 29 29 0a 20 20 20 20 20 20 20 20 70 72 65 .t).(-.line.here.1)).........pre
244e0 29 5d 0a 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 28 6e 6f 64 65 2d 6c 65 66 74 2d 6c 65 6e )].....[else......(node-left-len
24500 20 74 29 5d 29 29 0a 0a 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .t)]))..;;.---------------------
24520 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 28 64 65 66 69 6e 65 20 28 61 64 -------------------..(define.(ad
24540 6a 75 73 74 2d 77 69 74 68 69 6e 2d 6c 69 6e 65 20 74 20 70 6f 73 20 61 6d 74 29 20 3b 20 61 6d just-within-line.t.pos.amt).;.am
24560 74 20 69 73 20 73 74 72 69 6e 67 20 6f 72 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 0a 20 t.is.string.or.negative.number..
24580 20 28 63 68 65 63 6b 2d 69 6e 2d 72 61 6e 67 65 20 27 61 64 6a 75 73 74 2d 77 69 74 68 69 6e 2d .(check-in-range.'adjust-within-
245a0 6c 69 6e 65 20 74 20 70 6f 73 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 28 73 74 72 69 6e line.t.pos)...(unless.(or.(strin
245c0 67 3f 20 61 6d 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 65 78 61 63 g?.amt)...............(and.(exac
245e0 74 2d 69 6e 74 65 67 65 72 3f 20 61 6d 74 29 20 28 6e 65 67 61 74 69 76 65 3f 20 61 6d 74 29 29 t-integer?.amt).(negative?.amt))
24600 29 0a 20 20 20 20 28 72 61 69 73 65 2d 61 72 67 75 6d 65 6e 74 2d 65 72 72 6f 72 20 27 61 64 6a ).....(raise-argument-error.'adj
24620 75 73 74 2d 77 69 74 68 69 6e 2d 6c 69 6e 65 20 22 28 6f 72 20 73 74 72 69 6e 67 3f 20 28 61 6e ust-within-line."(or.string?.(an
24640 64 2f 63 20 65 78 61 63 74 2d 69 6e 74 65 67 65 72 3f 20 6e 65 67 61 74 69 76 65 3f 29 29 22 20 d/c.exact-integer?.negative?))".
24660 61 6d 74 29 29 0a 20 20 28 77 68 65 6e 20 28 65 78 61 63 74 2d 69 6e 74 65 67 65 72 3f 20 61 6d amt))...(when.(exact-integer?.am
24680 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 6c 65 66 74 2d 6c 65 6e 20 t).....(define-values.(left-len.
246a0 6c 65 66 74 2d 63 6f 75 6e 74 20 6c 69 6e 65 2d 74 29 20 28 66 69 6e 64 2d 6c 69 6e 65 20 74 20 left-count.line-t).(find-line.t.
246c0 70 6f 73 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 28 2b 20 6c 65 66 74 2d 6c 65 6e 20 28 6e 6f pos)).....(when.((+.left-len.(no
246e0 64 65 2d 6c 65 66 74 2d 6c 65 6e 20 6c 69 6e 65 2d 74 29 20 28 6e 6f 64 65 2d 6c 65 6e 20 6c 69 de-left-len.line-t).(node-len.li
24700 6e 65 2d 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 2e 20 3c 3d 20 2e 0a 20 20 20 20 20 20 20 ne-t))..............<=..........
24720 20 20 20 20 28 2b 20 70 6f 73 20 61 6d 74 29 29 0a 20 20 20 20 20 20 28 72 61 69 73 65 2d 61 72 ....(+.pos.amt)).......(raise-ar
24740 67 75 6d 65 6e 74 73 2d 65 72 72 6f 72 20 27 61 64 6a 75 73 74 2d 77 69 74 68 69 6e 2d 6c 69 6e guments-error.'adjust-within-lin
24760 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 e.............................."
24780 73 75 62 74 72 61 63 74 69 6e 67 20 74 6f 6f 20 6d 75 63 68 22 0a 20 20 20 20 20 20 20 20 20 20 subtracting.too.much"...........
247a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 6d 6f 75 6e 74 22 20 61 6d 74 29 ..................."amount".amt)
247c0 29 29 0a 20 20 28 61 64 6a 75 73 74 20 74 20 70 6f 73 20 61 6d 74 29 29 0a 0a 28 64 65 66 69 6e ))...(adjust.t.pos.amt))..(defin
247e0 65 20 28 61 64 6a 75 73 74 20 74 20 70 6f 73 20 61 6d 74 29 0a 20 20 28 64 65 66 69 6e 65 20 72 e.(adjust.t.pos.amt)...(define.r
24800 65 6c 2d 70 6f 73 20 28 2d 20 70 6f 73 20 28 6e 6f 64 65 2d 6c 65 66 74 2d 6c 65 6e 20 74 29 29 el-pos.(-.pos.(node-left-len.t))
24820 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 20 5b 28 72 65 6c 2d 70 6f 73 20 2e 20 3c 20 2e 20 30 29 )...(cond.....[(rel-pos...<...0)
24840 0a 20 20 20 20 20 28 63 6f 6d 62 69 6e 65 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 74 29 0a ......(combine.(node-content.t).
24860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 6a 75 73 74 20 28 6e 6f 64 65 2d 6c 65 66 74 ..............(adjust.(node-left
24880 20 74 29 20 70 6f 73 20 61 6d 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 64 65 .t).pos.amt)...............(node
248a0 2d 72 69 67 68 74 20 74 29 29 5d 0a 20 20 20 20 5b 28 72 65 6c 2d 70 6f 73 20 2e 20 3e 3d 20 2e -right.t))].....[(rel-pos...>=..
248c0 20 28 6e 6f 64 65 2d 6c 65 6e 20 74 29 29 0a 20 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d .(node-len.t))......(define.new-
248e0 70 6f 73 20 28 2d 20 72 65 6c 2d 70 6f 73 20 28 6e 6f 64 65 2d 6c 65 6e 20 74 29 29 29 0a 20 20 pos.(-.rel-pos.(node-len.t)))...
24900 20 20 20 28 63 6f 6d 62 69 6e 65 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 74 29 0a 20 20 20 ...(combine.(node-content.t)....
24920 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 64 65 2d 6c 65 66 74 20 74 29 0a 20 20 20 20 20 20 20 ...........(node-left.t)........
24940 20 20 20 20 20 20 20 28 61 64 6a 75 73 74 20 28 6e 6f 64 65 2d 72 69 67 68 74 20 74 29 20 6e 65 .......(adjust.(node-right.t).ne
24960 77 2d 70 6f 73 20 61 6d 74 29 29 5d 0a 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 28 63 6f 6d w-pos.amt))].....[else......(com
24980 62 69 6e 65 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 73 74 72 bine.(cond.................[(str
249a0 69 6e 67 3f 20 61 6d 74 29 20 28 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 20 28 73 75 62 73 74 72 ing?.amt).(string-append.(substr
249c0 69 6e 67 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 74 29 20 30 20 72 65 6c 2d 70 6f 73 29 0a ing.(node-content.t).0.rel-pos).
249e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6d 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............amt...............
24a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24a40 28 73 75 62 73 74 72 69 6e 67 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 74 29 20 72 65 6c 2d (substring.(node-content.t).rel-
24a60 70 6f 73 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 28 73 74 pos))].................[else.(st
24a80 72 69 6e 67 2d 61 70 70 65 6e 64 20 28 73 75 62 73 74 72 69 6e 67 20 28 6e 6f 64 65 2d 63 6f 6e ring-append.(substring.(node-con
24aa0 74 65 6e 74 20 74 29 20 30 20 72 65 6c 2d 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 tent.t).0.rel-pos)..............
24ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 ........................(substri
24ae0 6e 67 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 74 29 20 28 2d 20 72 65 6c 2d 70 6f 73 20 61 ng.(node-content.t).(-.rel-pos.a
24b00 6d 74 29 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 64 65 2d 6c 65 66 74 mt)))])...............(node-left
24b20 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 64 65 2d 72 69 67 68 74 20 74 29 .t)...............(node-right.t)
24b40 29 5d 29 29 0a 0a 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d )]))..;;.-----------------------
24b60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 3b 3b 20 69 6e 73 65 72 74 73 20 60 6c -----------------..;;.inserts.`l
24b80 65 6e 60 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e en`.characters.that.end.with.a.n
24ba0 65 77 6c 69 6e 65 0a 28 64 65 66 69 6e 65 20 28 69 6e 73 65 72 74 2d 6e 65 77 6c 69 6e 65 20 74 ewline.(define.(insert-newline.t
24bc0 20 70 6f 73 20 63 6f 6e 74 65 6e 74 29 0a 20 20 28 63 68 65 63 6b 2d 69 6e 2d 72 61 6e 67 65 20 .pos.content)...(check-in-range.
24be0 27 69 6e 73 65 72 74 2d 6e 65 77 6c 69 6e 65 20 74 20 70 6f 73 29 0a 20 20 28 75 6e 6c 65 73 73 'insert-newline.t.pos)...(unless
24c00 20 28 73 74 72 69 6e 67 3f 20 63 6f 6e 74 65 6e 74 29 0a 20 20 20 20 28 72 61 69 73 65 2d 61 72 .(string?.content).....(raise-ar
24c20 67 75 6d 65 6e 74 2d 65 72 72 6f 72 20 27 69 6e 73 65 72 74 2d 6e 65 77 6c 69 6e 65 20 22 73 74 gument-error.'insert-newline."st
24c40 72 69 6e 67 3f 22 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 ring?".content))...(define-value
24c60 73 20 28 6c 65 66 74 2d 6c 65 6e 20 6c 65 66 74 2d 63 6f 75 6e 74 20 73 75 62 2d 74 29 20 28 66 s.(left-len.left-count.sub-t).(f
24c80 69 6e 64 2d 6c 69 6e 65 20 74 20 70 6f 73 29 29 0a 20 20 28 64 65 66 69 6e 65 20 73 74 61 72 74 ind-line.t.pos))...(define.start
24ca0 20 28 2b 20 6c 65 66 74 2d 6c 65 6e 20 28 6e 6f 64 65 2d 6c 65 66 74 2d 6c 65 6e 20 73 75 62 2d .(+.left-len.(node-left-len.sub-
24cc0 74 29 29 29 0a 20 20 28 64 65 66 69 6e 65 20 64 65 6c 74 61 20 28 2d 20 70 6f 73 20 73 74 61 72 t)))...(define.delta.(-.pos.star
24ce0 74 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 20 5b 28 7a 65 72 6f 3f 20 64 65 6c 74 61 29 0a 20 t))...(cond.....[(zero?.delta)..
24d00 20 20 20 20 3b 3b 20 69 6e 73 65 72 74 20 6e 65 77 20 6c 69 6e 65 20 62 65 66 6f 72 65 20 65 78 ....;;.insert.new.line.before.ex
24d20 69 73 74 69 6e 67 20 6f 6e 65 0a 20 20 20 20 20 28 69 6e 73 65 72 74 2d 6c 69 6e 65 20 74 20 70 isting.one......(insert-line.t.p
24d40 6f 73 20 63 6f 6e 74 65 6e 74 29 5d 0a 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 3b 3b 20 73 os.content)].....[else......;;.s
24d60 70 6c 69 74 20 6e 6f 64 65 20 62 79 20 66 69 72 73 74 20 73 68 72 69 6e 6b 69 6e 67 2c 20 74 68 plit.node.by.first.shrinking,.th
24d80 65 6e 20 69 6e 73 65 72 74 0a 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 72 65 20 28 73 75 62 73 en.insert......(define.pre.(subs
24da0 74 72 69 6e 67 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 73 75 62 2d 74 29 20 30 20 64 65 6c tring.(node-content.sub-t).0.del
24dc0 74 61 29 29 0a 20 20 20 20 20 28 69 6e 73 65 72 74 2d 6c 69 6e 65 20 28 61 64 6a 75 73 74 2d 77 ta))......(insert-line.(adjust-w
24de0 69 74 68 69 6e 2d 6c 69 6e 65 20 74 20 73 74 61 72 74 20 28 2d 20 64 65 6c 74 61 29 29 0a 20 20 ithin-line.t.start.(-.delta))...
24e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 20 ................start...........
24e20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 20 70 72 65 20 63 6f 6e 74 65 ........(string-append.pre.conte
24e40 6e 74 29 29 5d 29 29 0a 0a 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d nt))]))..;;.--------------------
24e60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 28 64 65 66 69 6e 65 20 28 64 --------------------..(define.(d
24e80 65 6c 65 74 65 2d 6c 69 6e 65 20 74 20 70 6f 73 29 0a 20 20 28 63 68 65 63 6b 2d 69 6e 2d 72 61 elete-line.t.pos)...(check-in-ra
24ea0 6e 67 65 20 27 64 65 6c 65 74 65 2d 6c 69 6e 65 20 74 20 70 6f 73 29 0a 20 20 3b 3b 20 73 61 6e nge.'delete-line.t.pos)...;;.san
24ec0 69 74 79 20 63 68 65 63 6b 3a 0a 20 20 28 64 65 66 69 6e 65 20 73 74 61 72 74 20 28 70 6f 73 69 ity.check:...(define.start.(posi
24ee0 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 70 6f 73 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 3d tion->start.t.pos))...(unless.(=
24f00 20 73 74 61 72 74 20 70 6f 73 29 0a 20 20 20 20 28 65 72 72 6f 72 20 27 64 65 6c 65 74 65 2d 6c .start.pos).....(error.'delete-l
24f20 69 6e 65 20 22 6c 69 6e 65 20 64 6f 65 73 20 6e 6f 74 20 73 74 61 72 74 20 61 74 20 70 6f 73 69 ine."line.does.not.start.at.posi
24f40 74 69 6f 6e 22 29 29 0a 20 20 28 64 65 6c 65 74 65 2d 6e 6f 64 65 20 74 20 70 6f 73 29 29 0a 0a tion"))...(delete-node.t.pos))..
24f60 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ;;.-----------------------------
24f80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 28 64 65 66 69 6e 65 20 28 69 6e 73 65 72 74 2d 6c 69 6e -----------..(define.(insert-lin
24fa0 65 20 74 20 70 6f 73 20 73 74 72 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 20 5b 28 6e 6f 74 20 74 e.t.pos.str)...(cond.....[(not.t
24fc0 29 20 28 63 6f 6d 62 69 6e 65 20 73 74 72 20 23 66 20 23 66 29 5d 0a 20 20 20 20 5b 28 3c 3d 20 ).(combine.str.#f.#f)].....[(<=.
24fe0 70 6f 73 20 28 6e 6f 64 65 2d 6c 65 66 74 2d 6c 65 6e 20 74 29 29 0a 20 20 20 20 20 28 69 6e 73 pos.(node-left-len.t))......(ins
25000 65 72 74 2d 74 6f 20 74 20 70 6f 73 20 73 74 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ert-to.t.pos.str................
25020 20 6e 6f 64 65 2d 6c 65 66 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 64 65 2d .node-left.................node-
25040 72 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 62 69 6e 65 0a 20 20 right.................combine...
25060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 74 61 74 65 2d 72 69 67 68 74 29 5d 0a 20 20 20 ..............rotate-right)]....
25080 20 5b 65 6c 73 65 0a 20 20 20 20 20 28 64 65 66 69 6e 65 20 72 69 67 68 74 2d 6c 65 66 74 2d 6c .[else......(define.right-left-l
250a0 65 6e 20 28 2b 20 28 6e 6f 64 65 2d 6c 65 6e 20 74 29 20 28 6e 6f 64 65 2d 6c 65 66 74 2d 6c 65 en.(+.(node-len.t).(node-left-le
250c0 6e 20 74 29 29 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28 70 6f 73 20 2e 20 3c 20 2e 20 72 69 67 n.t)))......(when.(pos...<...rig
250e0 68 74 2d 6c 65 66 74 2d 6c 65 6e 29 0a 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 69 6e 73 65 ht-left-len)........(error."inse
25100 72 74 2d 6c 69 6e 65 20 63 61 6e 6e 6f 74 20 69 6e 73 65 72 74 20 69 6e 74 6f 20 74 68 65 20 6d rt-line.cannot.insert.into.the.m
25120 69 64 64 6c 65 22 29 29 0a 20 20 20 20 20 28 69 6e 73 65 72 74 2d 74 6f 20 74 20 28 2d 20 70 6f iddle"))......(insert-to.t.(-.po
25140 73 20 72 69 67 68 74 2d 6c 65 66 74 2d 6c 65 6e 29 20 73 74 72 0a 20 20 20 20 20 20 20 20 20 20 s.right-left-len).str...........
25160 20 20 20 20 20 20 6e 6f 64 65 2d 72 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......node-right................
25180 20 6e 6f 64 65 2d 6c 65 66 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 76 65 72 .node-left.................rever
251a0 73 65 2d 63 6f 6d 62 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 74 61 74 se-combine.................rotat
251c0 65 2d 6c 65 66 74 29 5d 29 29 0a 0a 3b 3b 20 4c 69 6b 65 20 69 6e 73 65 72 74 2c 20 62 75 74 20 e-left)]))..;;.Like.insert,.but.
251e0 69 6e 73 65 72 74 73 20 74 6f 20 61 20 63 68 69 6c 64 2c 20 77 68 65 72 65 20 60 6e 6f 64 65 2d inserts.to.a.child,.where.`node-
25200 74 6f 27 0a 3b 3b 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 73 69 64 65 20 77 68 65 72 65 to'.;;.determines.the.side.where
25220 20 74 68 65 20 63 68 69 6c 64 20 69 73 20 61 64 64 65 64 2c 60 6e 6f 64 65 2d 6f 74 68 65 72 27 .the.child.is.added,`node-other'
25240 0a 3b 3b 20 69 73 20 74 68 65 20 6f 74 68 65 72 20 73 69 64 65 2c 20 61 6e 64 20 60 63 6f 6d 62 .;;.is.the.other.side,.and.`comb
25260 27 20 62 75 69 6c 64 73 20 74 68 65 20 6e 65 77 20 74 72 65 65 20 67 76 65 6e 20 74 68 65 0a 3b '.builds.the.new.tree.gven.the.;
25280 3b 20 74 77 6f 20 6e 65 77 20 63 68 69 6c 64 72 65 6e 2e 0a 28 64 65 66 69 6e 65 2d 73 79 6e 74 ;.two.new.children..(define-synt
252a0 61 78 2d 72 75 6c 65 20 28 69 6e 73 65 72 74 2d 74 6f 20 74 20 6e 65 77 2d 70 6f 73 20 6e 65 77 ax-rule.(insert-to.t.new-pos.new
252c0 2d 63 6f 6e 74 65 6e 74 20 6e 6f 64 65 2d 74 6f 20 6e 6f 64 65 2d 6f 74 68 65 72 20 63 6f 6d 62 -content.node-to.node-other.comb
252e0 20 72 6f 74 61 74 65 29 0a 20 20 28 62 65 67 69 6e 0a 20 20 20 20 3b 3b 20 49 6e 73 65 72 74 20 .rotate)...(begin.....;;.Insert.
25300 69 6e 74 6f 20 74 68 65 20 60 6e 6f 64 65 2d 74 6f 27 20 63 68 69 6c 64 3a 0a 20 20 20 20 28 64 into.the.`node-to'.child:.....(d
25320 65 66 69 6e 65 20 6e 65 77 2d 74 6f 20 28 69 6e 73 65 72 74 2d 6c 69 6e 65 20 28 6e 6f 64 65 2d efine.new-to.(insert-line.(node-
25340 74 6f 20 74 29 20 6e 65 77 2d 70 6f 73 20 6e 65 77 2d 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 to.t).new-pos.new-content)).....
25360 28 64 65 66 69 6e 65 20 6e 65 77 2d 6f 74 68 65 72 20 28 6e 6f 64 65 2d 6f 74 68 65 72 20 74 29 (define.new-other.(node-other.t)
25380 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 74 20 28 63 6f 6d 62 20 28 6e 6f 64 65 )......(define.new-t.(comb.(node
253a0 2d 63 6f 6e 74 65 6e 74 20 74 29 20 6e 65 77 2d 74 6f 20 6e 65 77 2d 6f 74 68 65 72 29 29 0a 0a -content.t).new-to.new-other))..
253c0 20 20 20 20 3b 3b 20 43 68 65 63 6b 20 66 6f 72 20 72 6f 74 61 74 69 6f 6e 3a 0a 20 20 20 20 28 ....;;.Check.for.rotation:.....(
253e0 64 65 66 69 6e 65 20 74 6f 2d 68 65 69 67 68 74 20 28 74 72 65 65 2d 68 65 69 67 68 74 20 6e 65 define.to-height.(tree-height.ne
25400 77 2d 74 6f 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 6f 74 68 65 72 2d 68 65 69 67 68 74 20 w-to)).....(define.other-height.
25420 28 74 72 65 65 2d 68 65 69 67 68 74 20 6e 65 77 2d 6f 74 68 65 72 29 29 0a 20 20 20 20 28 69 66 (tree-height.new-other)).....(if
25440 20 28 28 2d 20 74 6f 2d 68 65 69 67 68 74 20 6f 74 68 65 72 2d 68 65 69 67 68 74 29 20 2e 20 3d .((-.to-height.other-height)...=
25460 20 2e 20 32 29 0a 20 20 20 20 20 20 20 20 28 72 6f 74 61 74 65 20 6e 65 77 2d 74 29 0a 20 20 20 ...2).........(rotate.new-t)....
25480 20 20 20 20 20 6e 65 77 2d 74 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 64 65 6c 65 74 65 2d 6e .....new-t)))..(define.(delete-n
254a0 6f 64 65 20 74 20 70 6f 73 29 0a 20 20 28 64 65 66 69 6e 65 20 6b 65 79 20 28 6e 6f 64 65 2d 6c ode.t.pos)...(define.key.(node-l
254c0 65 66 74 2d 6c 65 6e 20 74 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 20 5b 28 70 6f 73 20 2e 20 eft-len.t))...(cond.....[(pos...
254e0 3c 20 2e 20 6b 65 79 29 0a 20 20 20 20 20 28 64 65 6c 65 74 65 2d 66 72 6f 6d 20 74 20 70 6f 73 <...key)......(delete-from.t.pos
25500 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 64 65 2d 6c 65 66 74 0a 20 20 20 ...................node-left....
25520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 64 65 2d 72 69 67 68 74 0a 20 20 20 20 20 20 ...............node-right.......
25540 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 62 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 ............combine.............
25560 20 20 20 20 20 20 72 6f 74 61 74 65 2d 6c 65 66 74 29 5d 0a 20 20 20 20 5b 28 6e 6f 74 20 28 3d ......rotate-left)].....[(not.(=
25580 20 70 6f 73 20 6b 65 79 29 29 0a 20 20 20 20 20 28 64 65 6c 65 74 65 2d 66 72 6f 6d 20 74 20 28 .pos.key))......(delete-from.t.(
255a0 2d 20 70 6f 73 20 6b 65 79 20 28 6e 6f 64 65 2d 6c 65 6e 20 74 29 29 0a 20 20 20 20 20 20 20 20 -.pos.key.(node-len.t)).........
255c0 20 20 20 20 20 20 20 20 20 20 6e 6f 64 65 2d 72 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 20 20 ..........node-right............
255e0 20 20 20 20 20 20 20 6e 6f 64 65 2d 6c 65 66 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......node-left................
25600 20 20 20 72 65 76 65 72 73 65 2d 63 6f 6d 62 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...reverse-combine..............
25620 20 20 20 20 20 72 6f 74 61 74 65 2d 72 69 67 68 74 29 5d 0a 20 20 20 20 5b 65 6c 73 65 0a 20 20 .....rotate-right)].....[else...
25640 20 20 20 28 64 65 66 69 6e 65 20 6c 20 28 6e 6f 64 65 2d 6c 65 66 74 20 74 29 29 0a 20 20 20 20 ...(define.l.(node-left.t)).....
25660 20 28 64 65 66 69 6e 65 20 72 20 28 6e 6f 64 65 2d 72 69 67 68 74 20 74 29 29 0a 20 20 20 20 20 .(define.r.(node-right.t))......
25680 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 5b 28 6e 6f 74 20 6c 29 20 72 5d 0a 20 20 20 20 20 20 20 (cond........[(not.l).r]........
256a0 5b 28 6e 6f 74 20 72 29 20 6c 5d 0a 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 [(not.r).l]........[else........
256c0 20 28 64 65 6c 65 74 65 2d 68 65 72 65 20 74 29 5d 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 2d 73 .(delete-here.t)])]))..(define-s
256e0 79 6e 74 61 78 2d 72 75 6c 65 20 28 64 65 6c 65 74 65 2d 66 72 6f 6d 20 74 20 70 6f 73 20 6e 6f yntax-rule.(delete-from.t.pos.no
25700 64 65 2d 74 6f 20 6e 6f 64 65 2d 6f 74 68 65 72 20 63 6f 6d 62 20 72 6f 74 61 74 65 29 0a 20 20 de-to.node-other.comb.rotate)...
25720 28 62 65 67 69 6e 0a 20 20 20 20 3b 3b 20 44 65 6c 65 74 65 20 66 72 6f 6d 20 74 68 65 20 60 6e (begin.....;;.Delete.from.the.`n
25740 6f 64 65 2d 74 6f 27 20 63 68 69 6c 64 3a 0a 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 74 ode-to'.child:.....(define.new-t
25760 6f 20 28 64 65 6c 65 74 65 2d 6e 6f 64 65 20 28 6e 6f 64 65 2d 74 6f 20 74 29 20 70 6f 73 29 29 o.(delete-node.(node-to.t).pos))
25780 0a 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 6f 74 68 65 72 20 28 6e 6f 64 65 2d 6f 74 68 .....(define.new-other.(node-oth
257a0 65 72 20 74 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 74 20 28 63 6f 6d 62 20 er.t))......(define.new-t.(comb.
257c0 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 74 29 20 6e 65 77 2d 74 6f 20 6e 65 77 2d 6f 74 68 65 (node-content.t).new-to.new-othe
257e0 72 29 29 0a 0a 20 20 20 20 3b 3b 20 43 68 65 63 6b 20 66 6f 72 20 72 6f 74 61 74 69 6f 6e 3a 0a r))......;;.Check.for.rotation:.
25800 20 20 20 20 28 64 65 66 69 6e 65 20 74 6f 2d 68 65 69 67 68 74 20 28 74 72 65 65 2d 68 65 69 67 ....(define.to-height.(tree-heig
25820 68 74 20 6e 65 77 2d 74 6f 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 6f 74 68 65 72 2d 68 65 ht.new-to)).....(define.other-he
25840 69 67 68 74 20 28 74 72 65 65 2d 68 65 69 67 68 74 20 6e 65 77 2d 6f 74 68 65 72 29 29 0a 20 20 ight.(tree-height.new-other))...
25860 20 20 28 69 66 20 28 28 2d 20 74 6f 2d 68 65 69 67 68 74 20 6f 74 68 65 72 2d 68 65 69 67 68 74 ..(if.((-.to-height.other-height
25880 29 20 2e 20 3d 20 2e 20 2d 32 29 0a 20 20 20 20 20 20 20 20 28 72 6f 74 61 74 65 20 6e 65 77 2d )...=...-2).........(rotate.new-
258a0 74 29 0a 20 20 20 20 20 20 20 20 6e 65 77 2d 74 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 73 79 6e t).........new-t)))..(define-syn
258c0 74 61 78 2d 72 75 6c 65 20 28 64 65 6c 65 74 65 2d 68 65 72 65 20 74 29 0a 20 20 28 62 65 67 69 tax-rule.(delete-here.t)...(begi
258e0 6e 0a 20 20 20 20 3b 3b 20 44 65 6c 65 74 65 20 62 79 20 6d 6f 76 69 6e 67 20 66 72 6f 6d 20 60 n.....;;.Delete.by.moving.from.`
25900 66 72 6f 6d 60 20 74 6f 20 60 6f 74 68 65 72 60 0a 20 20 20 20 28 64 65 66 69 6e 65 20 66 72 6f from`.to.`other`.....(define.fro
25920 6d 20 28 6e 6f 64 65 2d 6c 65 66 74 20 74 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 m.(node-left.t)).....(define.new
25940 2d 74 0a 20 20 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 5b 65 6e 64 20 66 72 6f 6d 5d 20 5b -t.......(let.loop.([end.from].[
25960 6c 65 66 74 2d 6c 65 6e 20 30 5d 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 left-len.0]).........(cond......
25980 20 20 20 20 20 5b 28 6e 6f 64 65 2d 72 69 67 68 74 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 .....[(node-right.end)..........
259a0 20 20 3d 3e 20 28 6c 61 6d 62 64 61 20 28 65 29 20 28 6c 6f 6f 70 20 65 20 28 2b 20 6c 65 66 74 ..=>.(lambda.(e).(loop.e.(+.left
259c0 2d 6c 65 6e 20 28 6e 6f 64 65 2d 6c 65 66 74 2d 6c 65 6e 20 65 6e 64 29 20 28 6e 6f 64 65 2d 6c -len.(node-left-len.end).(node-l
259e0 65 6e 20 65 6e 64 29 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 en.end))))]...........[else.....
25a00 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 6f 73 20 28 6e 6f 64 65 2d 6c 65 66 74 2d 6c 65 .......(define.pos.(node-left-le
25a20 6e 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 66 n.end))............(define.new-f
25a40 72 6f 6d 20 28 64 65 6c 65 74 65 2d 6e 6f 64 65 20 66 72 6f 6d 20 28 2b 20 70 6f 73 20 6c 65 66 rom.(delete-node.from.(+.pos.lef
25a60 74 2d 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 62 69 6e 65 20 28 6e 6f t-len)))............(combine.(no
25a80 64 65 2d 63 6f 6e 74 65 6e 74 20 65 6e 64 29 20 6e 65 77 2d 66 72 6f 6d 20 28 6e 6f 64 65 2d 72 de-content.end).new-from.(node-r
25aa0 69 67 68 74 20 74 29 29 5d 29 29 29 0a 0a 20 20 20 20 3b 3b 20 43 68 65 63 6b 20 66 6f 72 20 72 ight.t))])))......;;.Check.for.r
25ac0 6f 74 61 74 69 6f 6e 3a 0a 20 20 20 20 28 64 65 66 69 6e 65 20 66 72 6f 6d 2d 68 65 69 67 68 74 otation:.....(define.from-height
25ae0 20 28 74 72 65 65 2d 68 65 69 67 68 74 20 28 6e 6f 64 65 2d 6c 65 66 74 20 6e 65 77 2d 74 29 29 .(tree-height.(node-left.new-t))
25b00 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 6f 74 68 65 72 2d 68 65 69 67 68 74 20 28 74 72 65 65 ).....(define.other-height.(tree
25b20 2d 68 65 69 67 68 74 20 28 6e 6f 64 65 2d 72 69 67 68 74 20 6e 65 77 2d 74 29 29 29 0a 20 20 20 -height.(node-right.new-t)))....
25b40 20 28 69 66 20 28 28 2d 20 66 72 6f 6d 2d 68 65 69 67 68 74 20 6f 74 68 65 72 2d 68 65 69 67 68 .(if.((-.from-height.other-heigh
25b60 74 29 20 2e 20 3d 20 2e 20 2d 32 29 0a 20 20 20 20 20 20 20 20 28 72 6f 74 61 74 65 2d 6c 65 66 t)...=...-2).........(rotate-lef
25b80 74 20 6e 65 77 2d 74 29 0a 20 20 20 20 20 20 20 20 6e 65 77 2d 74 29 29 29 0a 0a 28 64 65 66 69 t.new-t).........new-t)))..(defi
25ba0 6e 65 2d 73 79 6e 74 61 78 2d 72 75 6c 65 20 28 64 65 66 69 6e 65 2d 72 6f 74 61 74 65 20 72 6f ne-syntax-rule.(define-rotate.ro
25bc0 74 61 74 65 20 6e 6f 64 65 2d 74 6f 20 6e 6f 64 65 2d 6f 74 68 65 72 20 63 6f 6d 62 29 0a 20 20 tate.node-to.node-other.comb)...
25be0 28 62 65 67 69 6e 0a 20 20 20 20 3b 3b 20 48 65 6c 70 65 72 20 72 6f 74 61 74 65 20 66 75 6e 63 (begin.....;;.Helper.rotate.func
25c00 74 69 6f 6e 3a 0a 20 20 20 20 28 64 65 66 69 6e 65 20 28 72 6f 74 61 74 65 20 74 29 0a 20 20 20 tion:.....(define.(rotate.t)....
25c20 20 20 20 28 64 65 66 69 6e 65 20 74 6f 20 28 6e 6f 64 65 2d 74 6f 20 74 29 29 0a 20 20 20 20 20 ...(define.to.(node-to.t))......
25c40 20 28 64 65 66 69 6e 65 20 74 6f 2d 62 61 6c 61 6e 63 65 20 28 2d 20 28 74 72 65 65 2d 68 65 69 .(define.to-balance.(-.(tree-hei
25c60 67 68 74 20 28 6e 6f 64 65 2d 74 6f 20 74 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ght.(node-to.to))...............
25c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 72 65 65 2d 68 65 69 67 68 74 20 28 6e 6f 64 65 ..............(tree-height.(node
25ca0 2d 6f 74 68 65 72 20 74 6f 29 29 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 -other.to)))).......(cond.......
25cc0 20 20 5b 28 74 6f 2d 62 61 6c 61 6e 63 65 20 2e 20 3c 20 2e 20 30 29 0a 20 20 20 20 20 20 20 20 ..[(to-balance...<...0).........
25ce0 20 28 64 6f 75 62 6c 65 2d 72 6f 74 61 74 65 20 74 29 5d 0a 20 20 20 20 20 20 20 20 5b 65 6c 73 .(double-rotate.t)].........[els
25d00 65 0a 20 20 20 20 20 20 20 20 20 28 73 69 6e 67 6c 65 2d 72 6f 74 61 74 65 20 74 29 5d 29 29 0a e..........(single-rotate.t)])).
25d20 0a 20 20 20 20 3b 3b 20 48 65 6c 70 65 72 20 64 6f 75 62 6c 65 2d 72 6f 74 61 74 65 20 66 75 6e .....;;.Helper.double-rotate.fun
25d40 63 74 69 6f 6e 3a 0a 20 20 20 20 28 64 65 66 69 6e 65 20 28 64 6f 75 62 6c 65 2d 72 6f 74 61 74 ction:.....(define.(double-rotat
25d60 65 20 74 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6f 72 61 6e 67 65 20 28 6e 6f 64 65 2d e.t).......(define.orange.(node-
25d80 74 6f 20 74 29 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 79 65 6c 6c 6f 77 20 28 6e 6f 64 to.t)).......(define.yellow.(nod
25da0 65 2d 6f 74 68 65 72 20 6f 72 61 6e 67 65 29 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 41 e-other.orange)).......(define.A
25dc0 20 28 6e 6f 64 65 2d 74 6f 20 6f 72 61 6e 67 65 29 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 .(node-to.orange)).......(define
25de0 20 42 20 28 6e 6f 64 65 2d 74 6f 20 79 65 6c 6c 6f 77 29 29 0a 20 20 20 20 20 20 28 64 65 66 69 .B.(node-to.yellow)).......(defi
25e00 6e 65 20 43 20 28 6e 6f 64 65 2d 6f 74 68 65 72 20 79 65 6c 6c 6f 77 29 29 0a 20 20 20 20 20 20 ne.C.(node-other.yellow)).......
25e20 28 64 65 66 69 6e 65 20 44 20 28 6e 6f 64 65 2d 6f 74 68 65 72 20 74 29 29 0a 20 20 20 20 20 20 (define.D.(node-other.t)).......
25e40 28 73 69 6e 67 6c 65 2d 72 6f 74 61 74 65 20 28 63 6f 6d 62 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 (single-rotate.(comb.(node-conte
25e60 6e 74 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt.t)...........................
25e80 20 28 63 6f 6d 62 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 79 65 6c 6c 6f 77 29 0a 20 20 20 .(comb.(node-content.yellow)....
25ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 ..............................(c
25ec0 6f 6d 62 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 6f 72 61 6e 67 65 29 0a 20 20 20 20 20 20 omb.(node-content.orange).......
25ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
25f00 20 41 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .A..............................
25f20 20 20 20 20 20 20 20 20 20 20 42 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........B)....................
25f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............C)................
25f60 20 20 20 20 20 20 20 20 20 20 20 20 44 29 29 29 0a 0a 20 20 20 20 3b 3b 20 48 65 6c 70 65 72 20 ............D)))......;;.Helper.
25f80 73 69 6e 67 6c 65 2d 72 6f 74 61 74 65 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 28 64 65 66 single-rotate.function:.....(def
25fa0 69 6e 65 20 28 73 69 6e 67 6c 65 2d 72 6f 74 61 74 65 20 74 29 0a 20 20 20 20 20 20 28 64 65 66 ine.(single-rotate.t).......(def
25fc0 69 6e 65 20 79 65 6c 6c 6f 77 20 28 6e 6f 64 65 2d 74 6f 20 74 29 29 0a 20 20 20 20 20 20 28 63 ine.yellow.(node-to.t)).......(c
25fe0 6f 6d 62 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 79 65 6c 6c 6f 77 29 0a 20 20 20 20 20 20 omb.(node-content.yellow).......
26000 20 20 20 20 20 20 28 6e 6f 64 65 2d 74 6f 20 79 65 6c 6c 6f 77 29 0a 20 20 20 20 20 20 20 20 20 ......(node-to.yellow)..........
26020 20 20 20 28 63 6f 6d 62 20 28 6e 6f 64 65 2d 63 6f 6e 74 65 6e 74 20 74 29 0a 20 20 20 20 20 20 ...(comb.(node-content.t).......
26040 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 64 65 2d 6f 74 68 65 72 20 79 65 6c 6c 6f 77 29 0a ............(node-other.yellow).
26060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 64 65 2d 6f 74 68 65 72 20 74 29 ..................(node-other.t)
26080 29 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 72 6f 74 61 74 65 20 72 6f 74 61 74 65 2d 72 69 67 )))))..(define-rotate.rotate-rig
260a0 68 74 20 6e 6f 64 65 2d 6c 65 66 74 20 6e 6f 64 65 2d 72 69 67 68 74 20 63 6f 6d 62 69 6e 65 29 ht.node-left.node-right.combine)
260c0 0a 28 64 65 66 69 6e 65 2d 72 6f 74 61 74 65 20 72 6f 74 61 74 65 2d 6c 65 66 74 20 6e 6f 64 65 .(define-rotate.rotate-left.node
260e0 2d 72 69 67 68 74 20 6e 6f 64 65 2d 6c 65 66 74 20 72 65 76 65 72 73 65 2d 63 6f 6d 62 69 6e 65 -right.node-left.reverse-combine
26100 29 0a 0a 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d )..;;.--------------------------
26120 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 28 6d 6f 64 75 6c 65 2b 20 6d 61 69 6e 0a 20 20 --------------..(module+.main...
26140 28 64 65 66 69 6e 65 20 28 64 6f 2d 63 68 65 63 6b 20 61 76 20 62 76 20 66 6f 72 6d 29 0a 20 20 (define.(do-check.av.bv.form)...
26160 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 3f 20 61 76 20 62 76 29 0a 20 20 20 20 20 20 28 ..(unless.(equal?.av.bv).......(
26180 65 72 72 6f 72 20 27 66 61 69 6c 20 22 7e 73 3a 20 7e 76 20 76 73 2e 20 7e 76 22 20 66 6f 72 6d error.'fail."~s:.~v.vs..~v".form
261a0 20 61 76 20 62 76 29 29 29 0a 20 20 28 64 65 66 69 6e 65 2d 73 79 6e 74 61 78 2d 72 75 6c 65 20 .av.bv)))...(define-syntax-rule.
261c0 28 63 68 65 63 6b 20 61 20 62 29 0a 20 20 20 20 28 64 6f 2d 63 68 65 63 6b 20 61 20 62 20 27 28 (check.a.b).....(do-check.a.b.'(
261e0 63 68 65 63 6b 20 61 20 62 29 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28 61 74 20 64 65 73 63 29 check.a.b)))...(define.(at.desc)
26200 20 28 70 72 69 6e 74 66 20 22 7e 61 5c 6e 22 20 64 65 73 63 29 29 0a 0a 20 20 28 61 74 20 22 65 .(printf."~a\n".desc))....(at."e
26220 6d 70 74 79 22 29 0a 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 mpty")...(check.(position->start
26240 20 65 6d 70 74 79 20 30 29 20 30 29 0a 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d .empty.0).0)...(check.(position-
26260 3e 6c 69 6e 65 20 65 6d 70 74 79 20 30 29 20 30 29 0a 20 20 28 63 68 65 63 6b 20 28 74 65 78 74 >line.empty.0).0)...(check.(text
26280 2d 6c 65 6e 67 74 68 20 65 6d 70 74 79 29 20 30 29 0a 20 20 28 63 68 65 63 6b 20 28 74 65 78 74 -length.empty).0)...(check.(text
262a0 2d 6c 69 6e 65 2d 63 6f 75 6e 74 20 65 6d 70 74 79 29 20 31 29 0a 0a 20 20 28 61 74 20 22 69 6e -line-count.empty).1)....(at."in
262c0 73 65 72 74 20 77 69 74 68 69 6e 20 6f 6e 6c 79 20 6c 69 6e 65 22 29 0a 20 20 28 6c 65 74 2a 20 sert.within.only.line")...(let*.
262e0 28 5b 74 20 28 61 64 6a 75 73 74 2d 77 69 74 68 69 6e 2d 6c 69 6e 65 20 65 6d 70 74 79 20 30 20 ([t.(adjust-within-line.empty.0.
26300 22 78 78 78 22 29 5d 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 74 20 "xxx")]).....(check.(get-text.t.
26320 30 20 33 29 20 22 78 78 78 22 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 74 65 78 74 2d 6c 65 6e 0.3)."xxx").....(check.(text-len
26340 67 74 68 20 74 29 20 33 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 74 65 78 74 2d 6c 69 6e 65 2d gth.t).3).....(check.(text-line-
26360 63 6f 75 6e 74 20 74 29 20 31 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e count.t).1).....(check.(position
26380 2d 3e 73 74 61 72 74 20 74 20 30 29 20 30 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 ->start.t.0).0).....(check.(posi
263a0 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 30 29 20 30 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 6c tion->line.t.0).0).....(check.(l
263c0 69 6e 65 2d 3e 73 74 61 72 74 20 74 20 30 29 20 30 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 70 ine->start.t.0).0).....(check.(p
263e0 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 32 29 20 30 29 0a 20 20 20 20 28 63 68 65 63 osition->start.t.2).0).....(chec
26400 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 32 29 20 30 29 0a 20 20 20 20 28 63 k.(position->line.t.2).0).....(c
26420 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 33 29 20 30 29 0a 20 20 heck.(position->start.t.3).0)...
26440 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 33 29 20 30 29 ..(check.(position->line.t.3).0)
26460 29 0a 0a 20 20 28 61 74 20 22 69 6e 73 65 72 74 20 6c 69 6e 65 20 31 22 29 0a 20 20 28 6c 65 74 )....(at."insert.line.1")...(let
26480 2a 20 28 5b 74 20 28 69 6e 73 65 72 74 2d 6e 65 77 6c 69 6e 65 20 65 6d 70 74 79 20 30 20 22 22 *.([t.(insert-newline.empty.0.""
264a0 29 5d 29 0a 20 20 20 20 3b 3b 20 22 7c 22 2c 20 77 68 65 72 65 20 22 7c 22 20 6d 65 61 6e 73 20 )]).....;;."|",.where."|".means.
264c0 6e 65 77 6c 69 6e 65 0a 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 74 20 30 newline.....(check.(get-text.t.0
264e0 20 31 29 20 22 5c 6e 22 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 74 65 78 74 2d 6c 65 6e 67 74 .1)."\n").....(check.(text-lengt
26500 68 20 74 29 20 31 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 74 65 78 74 2d 6c 69 6e 65 2d 63 6f h.t).1).....(check.(text-line-co
26520 75 6e 74 20 74 29 20 32 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e unt.t).2).....(check.(position->
26540 73 74 61 72 74 20 74 20 30 29 20 30 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 start.t.0).0).....(check.(positi
26560 6f 6e 2d 3e 6c 69 6e 65 20 74 20 30 29 20 30 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 on->line.t.0).0).....(check.(pos
26580 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 31 29 20 31 29 0a 20 20 20 20 28 63 68 65 63 6b 20 ition->start.t.1).1).....(check.
265a0 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 31 29 20 31 29 0a 20 20 20 20 28 61 74 20 (position->line.t.1).1).....(at.
265c0 22 69 6e 73 65 72 74 20 33 20 77 69 74 68 69 6e 20 6c 69 6e 65 20 30 22 29 0a 20 20 20 20 28 6c "insert.3.within.line.0").....(l
265e0 65 74 2a 20 28 5b 74 20 28 61 64 6a 75 73 74 2d 77 69 74 68 69 6e 2d 6c 69 6e 65 20 74 20 30 20 et*.([t.(adjust-within-line.t.0.
26600 22 78 78 78 22 29 5d 29 0a 20 20 20 20 20 20 3b 3b 20 22 78 78 78 7c 22 0a 20 20 20 20 20 20 28 "xxx")]).......;;."xxx|".......(
26620 63 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 74 20 30 20 34 29 20 22 78 78 78 5c 6e 22 29 0a check.(get-text.t.0.4)."xxx\n").
26640 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 ......(check.(position->start.t.
26660 30 29 20 30 29 0a 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 0).0).......(check.(position->li
26680 6e 65 20 74 20 30 29 20 30 29 0a 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f ne.t.0).0).......(check.(positio
266a0 6e 2d 3e 73 74 61 72 74 20 74 20 31 29 20 30 29 0a 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 n->start.t.1).0).......(check.(p
266c0 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 33 29 20 30 29 0a 20 20 20 20 20 20 28 63 68 osition->start.t.3).0).......(ch
266e0 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 33 29 20 30 29 0a 20 20 20 20 eck.(position->line.t.3).0).....
26700 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 34 29 20 34 ..(check.(position->start.t.4).4
26720 29 0a 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 ).......(check.(position->line.t
26740 20 34 29 20 31 29 0a 20 20 20 20 20 20 28 61 74 20 22 69 6e 73 65 72 74 20 31 20 77 69 74 68 69 .4).1).......(at."insert.1.withi
26760 6e 20 6c 69 6e 65 20 31 22 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 5b 74 20 28 61 64 6a 75 n.line.1").......(let*.([t.(adju
26780 73 74 2d 77 69 74 68 69 6e 2d 6c 69 6e 65 20 74 20 34 20 22 78 22 29 5d 29 0a 20 20 20 20 20 20 st-within-line.t.4."x")]).......
267a0 20 20 3b 3b 20 22 78 78 78 7c 78 22 0a 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 ..;;."xxx|x".........(check.(get
267c0 2d 74 65 78 74 20 74 20 30 20 35 29 20 22 78 78 78 5c 6e 78 22 29 0a 20 20 20 20 20 20 20 20 28 -text.t.0.5)."xxx\nx").........(
267e0 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 34 29 20 34 29 0a 20 check.(position->start.t.4).4)..
26800 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 .......(check.(position->line.t.
26820 34 29 20 31 29 0a 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 4).1).........(check.(position->
26840 73 74 61 72 74 20 74 20 35 29 20 34 29 0a 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f start.t.5).4).........(check.(po
26860 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 35 29 20 31 29 0a 20 20 20 20 20 20 20 20 28 61 74 sition->line.t.5).1).........(at
26880 20 22 64 65 6c 65 74 65 20 31 20 77 69 74 68 69 6e 20 6c 69 6e 65 20 30 22 29 0a 20 20 20 20 20 ."delete.1.within.line.0")......
268a0 20 20 20 28 6c 65 74 2a 20 28 5b 74 20 28 61 64 6a 75 73 74 2d 77 69 74 68 69 6e 2d 6c 69 6e 65 ...(let*.([t.(adjust-within-line
268c0 20 74 20 31 20 2d 31 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 22 78 78 7c 78 22 0a 20 .t.1.-1)])...........;;."xx|x"..
268e0 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 74 20 30 20 34 29 .........(check.(get-text.t.0.4)
26900 20 22 78 78 5c 6e 78 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 ."xx\nx")...........(check.(posi
26920 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 30 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 tion->start.t.0).0)...........(c
26940 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 30 29 20 30 29 0a 20 20 20 heck.(position->line.t.0).0)....
26960 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 .......(check.(position->start.t
26980 20 31 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f .1).0)...........(check.(positio
269a0 6e 2d 3e 73 74 61 72 74 20 74 20 32 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 n->start.t.2).0)...........(chec
269c0 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 32 29 20 30 29 0a 20 20 20 20 20 20 k.(position->line.t.2).0).......
269e0 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 33 29 ....(check.(position->start.t.3)
26a00 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e .3)...........(check.(position->
26a20 6c 69 6e 65 20 74 20 33 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 line.t.3).1)...........(check.(p
26a40 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 34 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 osition->start.t.4).3)..........
26a60 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 34 29 20 31 29 0a .(check.(position->line.t.4).1).
26a80 20 20 20 20 20 20 20 20 20 20 28 61 74 20 22 69 6e 73 65 72 74 20 62 65 66 6f 72 65 20 6c 69 6e ..........(at."insert.before.lin
26aa0 65 20 31 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 5b 74 20 28 69 6e 73 65 72 e.1")...........(let*.([t.(inser
26ac0 74 2d 6e 65 77 6c 69 6e 65 20 74 20 33 20 22 79 79 79 79 22 29 5d 29 0a 20 20 20 20 20 20 20 20 t-newline.t.3."yyyy")]).........
26ae0 20 20 20 20 3b 3b 20 22 78 78 7c 79 79 79 79 7c 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 ....;;."xx|yyyy|x".............(
26b00 63 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 74 20 30 20 39 29 20 22 78 78 5c 6e 79 79 79 79 check.(get-text.t.0.9)."xx\nyyyy
26b20 5c 6e 78 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 \nx").............(check.(positi
26b40 6f 6e 2d 3e 73 74 61 72 74 20 74 20 30 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 on->start.t.0).0).............(c
26b60 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 30 29 20 30 29 0a 20 20 20 heck.(position->line.t.0).0)....
26b80 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 .........(check.(position->start
26ba0 20 74 20 32 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 .t.2).0).............(check.(pos
26bc0 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 32 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ition->line.t.2).0).............
26be0 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 33 29 20 33 29 0a (check.(position->start.t.3).3).
26c00 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 ............(check.(position->li
26c20 6e 65 20 74 20 33 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 ne.t.3).1).............(check.(p
26c40 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 37 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 osition->start.t.7).3)..........
26c60 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 37 29 20 31 ...(check.(position->line.t.7).1
26c80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e ).............(check.(position->
26ca0 73 74 61 72 74 20 74 20 38 29 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b start.t.8).8).............(check
26cc0 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 38 29 20 32 29 0a 20 20 20 20 20 20 20 .(position->line.t.8).2)........
26ce0 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 39 .....(check.(position->start.t.9
26d00 29 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f ).8).............(check.(positio
26d20 6e 2d 3e 6c 69 6e 65 20 74 20 39 29 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 76 6f 69 n->line.t.9).2).............(voi
26d40 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 74 20 22 69 6e 73 65 72 74 20 6e 65 77 6c 69 6e d))...........(at."insert.newlin
26d60 65 20 69 6e 74 6f 20 6c 69 6e 65 20 31 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 e.into.line.1")...........(let*.
26d80 28 5b 74 20 28 69 6e 73 65 72 74 2d 6e 65 77 6c 69 6e 65 20 74 20 31 20 22 79 79 79 79 22 29 5d ([t.(insert-newline.t.1."yyyy")]
26da0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 22 78 79 79 79 79 7c 78 7c 78 22 0a 20 20 20 ).............;;."xyyyy|x|x"....
26dc0 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 74 20 30 20 39 29 .........(check.(get-text.t.0.9)
26de0 20 22 78 79 79 79 79 5c 6e 78 5c 6e 78 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 ."xyyyy\nx\nx").............(che
26e00 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 30 29 20 30 29 0a 20 20 20 20 ck.(position->start.t.0).0).....
26e20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 ........(check.(position->line.t
26e40 20 30 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 .0).0).............(check.(posit
26e60 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 31 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 ion->start.t.1).0).............(
26e80 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 31 29 20 30 29 0a 20 20 check.(position->line.t.1).0)...
26ea0 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 ..........(check.(position->star
26ec0 74 20 74 20 36 29 20 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f t.t.6).6).............(check.(po
26ee0 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 36 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 sition->line.t.6).1)............
26f00 20 28 61 74 20 22 64 65 6c 65 74 65 20 6c 69 6e 65 20 30 22 29 0a 20 20 20 20 20 20 20 20 20 20 .(at."delete.line.0")...........
26f20 20 20 28 6c 65 74 2a 20 28 5b 74 20 28 64 65 6c 65 74 65 2d 6c 69 6e 65 20 74 20 30 29 5d 29 0a ..(let*.([t.(delete-line.t.0)]).
26f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 22 78 7c 78 22 0a 20 20 20 20 20 20 20 20 20 ..............;;."x|x"..........
26f60 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 30 .....(check.(position->start.t.0
26f80 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 ).0)...............(check.(posit
26fa0 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 30 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion->line.t.0).0)...............
26fc0 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 31 29 20 30 29 0a (check.(position->start.t.1).0).
26fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e ..............(check.(position->
27000 6c 69 6e 65 20 74 20 31 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 line.t.1).0)...............(chec
27020 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 32 29 20 32 29 0a 20 20 20 20 20 k.(position->start.t.2).2)......
27040 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 .........(check.(position->line.
27060 74 20 32 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f t.2).1)...............(check.(po
27080 73 69 74 69 6f 6e 2d 3e 73 74 61 72 74 20 74 20 33 29 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 sition->start.t.3).2)...........
270a0 20 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 33 29 20 ....(check.(position->line.t.3).
270c0 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 6f 69 64 29 29 29 29 29 29 29 0a 0a 20 1)...............(void)))))))...
270e0 20 28 61 74 20 22 74 68 72 65 65 20 6c 69 6e 65 73 22 29 0a 20 20 28 6c 65 74 2a 20 28 5b 74 20 .(at."three.lines")...(let*.([t.
27100 28 69 6e 73 65 72 74 20 65 6d 70 74 79 20 30 20 22 61 62 63 5c 6e 64 65 66 5c 6e 67 68 69 22 29 (insert.empty.0."abc\ndef\nghi")
27120 5d 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 74 20 30 20 31 31 29 20 ]).....(check.(get-text.t.0.11).
27140 22 61 62 63 5c 6e 64 65 66 5c 6e 67 68 69 22 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 "abc\ndef\nghi").....(check.(get
27160 2d 74 65 78 74 20 28 69 6e 73 65 72 74 20 74 20 30 20 22 78 79 22 29 20 30 20 31 33 29 20 22 78 -text.(insert.t.0."xy").0.13)."x
27180 79 61 62 63 5c 6e 64 65 66 5c 6e 67 68 69 22 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 yabc\ndef\nghi").....(check.(get
271a0 2d 74 65 78 74 20 28 69 6e 73 65 72 74 20 74 20 31 20 22 78 79 22 29 20 30 20 31 33 29 20 22 61 -text.(insert.t.1."xy").0.13)."a
271c0 78 79 62 63 5c 6e 64 65 66 5c 6e 67 68 69 22 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 xybc\ndef\nghi").....(check.(get
271e0 2d 74 65 78 74 20 28 69 6e 73 65 72 74 20 74 20 34 20 22 78 79 22 29 20 30 20 31 33 29 20 22 61 -text.(insert.t.4."xy").0.13)."a
27200 62 63 5c 6e 78 79 64 65 66 5c 6e 67 68 69 22 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 bc\nxydef\nghi").....(check.(get
27220 2d 74 65 78 74 20 28 69 6e 73 65 72 74 20 74 20 35 20 22 78 79 22 29 20 30 20 31 33 29 20 22 61 -text.(insert.t.5."xy").0.13)."a
27240 62 63 5c 6e 64 78 79 65 66 5c 6e 67 68 69 22 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 bc\ndxyef\nghi").....(check.(get
27260 2d 74 65 78 74 20 28 69 6e 73 65 72 74 20 74 20 31 31 20 22 78 79 22 29 20 30 20 31 33 29 20 22 -text.(insert.t.11."xy").0.13)."
27280 61 62 63 5c 6e 64 65 66 5c 6e 67 68 69 78 79 22 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 abc\ndef\nghixy").....(check.(ge
272a0 74 2d 74 65 78 74 20 28 69 6e 73 65 72 74 20 74 20 30 20 22 78 5c 6e 79 22 29 20 30 20 31 34 29 t-text.(insert.t.0."x\ny").0.14)
272c0 20 22 78 5c 6e 79 61 62 63 5c 6e 64 65 66 5c 6e 67 68 69 22 29 0a 20 20 20 20 28 63 68 65 63 6b ."x\nyabc\ndef\nghi").....(check
272e0 20 28 67 65 74 2d 74 65 78 74 20 28 69 6e 73 65 72 74 20 74 20 34 20 22 78 5c 6e 79 22 29 20 30 .(get-text.(insert.t.4."x\ny").0
27300 20 31 34 29 20 22 61 62 63 5c 6e 78 5c 6e 79 64 65 66 5c 6e 67 68 69 22 29 0a 20 20 20 20 28 63 .14)."abc\nx\nydef\nghi").....(c
27320 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 28 69 6e 73 65 72 74 20 74 20 37 20 22 78 5c 6e 79 heck.(get-text.(insert.t.7."x\ny
27340 22 29 20 30 20 31 34 29 20 22 61 62 63 5c 6e 64 65 66 78 5c 6e 79 5c 6e 67 68 69 22 29 0a 20 20 ").0.14)."abc\ndefx\ny\nghi")...
27360 20 20 28 63 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 28 64 65 6c 65 74 65 20 74 20 30 20 31 ..(check.(get-text.(delete.t.0.1
27380 29 20 30 20 31 30 29 20 22 62 63 5c 6e 64 65 66 5c 6e 67 68 69 22 29 0a 20 20 20 20 28 63 68 65 ).0.10)."bc\ndef\nghi").....(che
273a0 63 6b 20 28 67 65 74 2d 74 65 78 74 20 28 64 65 6c 65 74 65 20 74 20 31 20 32 29 20 30 20 31 30 ck.(get-text.(delete.t.1.2).0.10
273c0 29 20 22 61 63 5c 6e 64 65 66 5c 6e 67 68 69 22 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 )."ac\ndef\nghi").....(check.(ge
273e0 74 2d 74 65 78 74 20 28 64 65 6c 65 74 65 20 74 20 32 20 33 29 20 30 20 31 30 29 20 22 61 62 5c t-text.(delete.t.2.3).0.10)."ab\
27400 6e 64 65 66 5c 6e 67 68 69 22 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 ndef\nghi").....(check.(get-text
27420 20 28 64 65 6c 65 74 65 20 74 20 33 20 34 29 20 30 20 31 30 29 20 22 61 62 63 64 65 66 5c 6e 67 .(delete.t.3.4).0.10)."abcdef\ng
27440 68 69 22 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 28 64 65 6c 65 74 hi").....(check.(get-text.(delet
27460 65 20 74 20 34 20 35 29 20 30 20 31 30 29 20 22 61 62 63 5c 6e 65 66 5c 6e 67 68 69 22 29 0a 20 e.t.4.5).0.10)."abc\nef\nghi")..
27480 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 28 64 65 6c 65 74 65 20 74 20 30 20 ...(check.(get-text.(delete.t.0.
274a0 34 29 20 30 20 37 29 20 22 64 65 66 5c 6e 67 68 69 22 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 4).0.7)."def\nghi").....(check.(
274c0 67 65 74 2d 74 65 78 74 20 28 64 65 6c 65 74 65 20 74 20 32 20 35 29 20 30 20 38 29 20 22 61 62 get-text.(delete.t.2.5).0.8)."ab
274e0 65 66 5c 6e 67 68 69 22 29 0a 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 28 ef\nghi").....(check.(get-text.(
27500 64 65 6c 65 74 65 20 74 20 31 20 31 30 29 20 30 20 32 29 20 22 61 69 22 29 29 0a 0a 20 20 28 61 delete.t.1.10).0.2)."ai"))....(a
27520 74 20 22 72 61 6e 64 6f 6d 20 6d 6f 64 69 66 79 22 29 0a 20 20 28 64 65 66 69 6e 65 20 28 72 61 t."random.modify")...(define.(ra
27540 6e 64 6f 6d 2d 6d 6f 64 69 66 79 2d 74 65 73 74 20 57 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 ndom-modify-test.W).....(define.
27560 4e 20 33 32 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 4d 20 38 29 0a 20 20 20 20 28 64 65 66 69 N.32).....(define.M.8).....(defi
27580 6e 65 20 28 6d 61 6b 65 2d 73 74 72 20 57 29 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 28 73 75 ne.(make-str.W).(make-string.(su
275a0 62 31 20 57 29 20 23 5c 2d 29 29 0a 20 20 20 20 3b 3b 20 69 6e 73 65 72 74 20 6c 69 6e 65 73 20 b1.W).#\-)).....;;.insert.lines.
275c0 6f 66 20 6c 65 6e 67 74 68 20 57 20 69 6e 20 61 20 72 61 6e 64 6f 6d 20 6f 72 64 65 72 0a 20 20 of.length.W.in.a.random.order...
275e0 20 20 28 64 65 66 69 6e 65 20 74 0a 20 20 20 20 20 20 28 66 6f 72 2f 66 6f 6c 64 20 28 5b 74 20 ..(define.t.......(for/fold.([t.
27600 65 6d 70 74 79 5d 29 20 28 5b 69 20 28 69 6e 2d 72 61 6e 67 65 20 4e 29 5d 29 0a 20 20 20 20 20 empty]).([i.(in-range.N)])......
27620 20 20 20 28 69 6e 73 65 72 74 2d 6e 65 77 6c 69 6e 65 20 74 20 28 2a 20 28 72 61 6e 64 6f 6d 20 ...(insert-newline.t.(*.(random.
27640 28 61 64 64 31 20 69 29 29 20 57 29 20 28 6d 61 6b 65 2d 73 74 72 20 57 29 29 29 29 0a 20 20 20 (add1.i)).W).(make-str.W))))....
27660 20 28 64 65 66 69 6e 65 20 28 63 68 65 63 6b 2d 4e 2a 57 20 74 20 4e 20 73 74 72 29 0a 20 20 20 .(define.(check-N*W.t.N.str)....
27680 20 20 20 28 64 65 66 69 6e 65 20 57 20 28 61 64 64 31 20 28 73 74 72 69 6e 67 2d 6c 65 6e 67 74 ...(define.W.(add1.(string-lengt
276a0 68 20 73 74 72 29 29 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 63 6f 6e 74 65 6e 74 20 28 h.str))).......(define.content.(
276c0 61 70 70 6c 79 20 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 apply.string-append.............
276e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2f 6c 69 73 74 20 28 5b 69 20 4e .................(for/list.([i.N
27700 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ])..............................
27720 20 20 28 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 20 73 74 72 20 22 5c 6e 22 29 29 29 29 0a 20 20 ..(string-append.str."\n"))))...
27740 20 20 20 20 28 66 6f 72 2a 20 28 5b 69 20 28 69 6e 2d 72 61 6e 67 65 20 4e 29 5d 0a 20 20 20 20 ....(for*.([i.(in-range.N)].....
27760 20 20 20 20 20 20 20 20 20 5b 6a 20 28 69 6e 2d 72 61 6e 67 65 20 57 29 5d 29 0a 20 20 20 20 20 .........[j.(in-range.W)])......
27780 20 20 20 28 63 68 65 63 6b 20 28 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 74 20 28 2b 20 28 ...(check.(position->line.t.(+.(
277a0 2a 20 69 20 57 29 20 6a 29 29 20 69 29 29 0a 20 20 20 20 20 20 28 63 68 65 63 6b 20 28 67 65 74 *.i.W).j)).i)).......(check.(get
277c0 2d 74 65 78 74 20 74 20 30 20 28 2a 20 4e 20 57 29 29 20 63 6f 6e 74 65 6e 74 29 0a 20 20 20 20 -text.t.0.(*.N.W)).content).....
277e0 20 20 28 66 6f 72 20 28 5b 69 20 28 69 6e 2d 72 61 6e 67 65 20 28 2a 20 4e 20 57 29 29 5d 0a 20 ..(for.([i.(in-range.(*.N.W))]..
27800 20 20 20 20 20 20 20 20 20 20 20 5b 6b 20 28 69 6e 2d 72 61 6e 67 65 20 35 29 5d 29 0a 20 20 20 ...........[k.(in-range.5)])....
27820 20 20 20 20 20 28 64 65 66 69 6e 65 20 6a 20 28 2b 20 69 20 28 72 61 6e 64 6f 6d 20 28 61 64 64 .....(define.j.(+.i.(random.(add
27840 31 20 28 2d 20 28 2a 20 4e 20 57 29 20 69 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 68 65 1.(-.(*.N.W).i))))).........(che
27860 63 6b 20 28 67 65 74 2d 74 65 78 74 20 74 20 69 20 6a 29 20 28 73 75 62 73 74 72 69 6e 67 20 63 ck.(get-text.t.i.j).(substring.c
27880 6f 6e 74 65 6e 74 20 69 20 6a 29 29 29 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 4e 2a 57 20 74 20 ontent.i.j)))).....(check-N*W.t.
278a0 4e 20 28 6d 61 6b 65 2d 73 74 72 20 57 29 29 0a 20 20 20 20 3b 3b 20 74 72 79 20 69 6e 73 65 72 N.(make-str.W)).....;;.try.inser
278c0 74 69 6e 67 20 74 68 65 6e 20 64 65 6c 65 74 69 6e 67 20 61 74 20 65 61 63 68 20 70 6f 69 6e 74 ting.then.deleting.at.each.point
278e0 20 77 69 74 68 69 6e 20 74 68 65 20 6c 69 6e 65 0a 20 20 20 20 28 66 6f 72 20 28 5b 6b 20 28 69 .within.the.line.....(for.([k.(i
27900 6e 2d 72 61 6e 67 65 20 57 29 5d 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 73 n-range.W)]).......(define.new-s
27920 74 72 20 28 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 20 28 73 75 62 73 74 72 69 6e 67 20 28 6d 61 tr.(string-append.(substring.(ma
27940 6b 65 2d 73 74 72 20 57 29 20 30 20 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ke-str.W).0.k)..................
27960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 21 22 0a 20 20 20 20 20 20 20 20 ...................."!".........
27980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 .............................(su
279a0 62 73 74 72 69 6e 67 20 28 6d 61 6b 65 2d 73 74 72 20 57 29 20 6b 29 29 29 0a 20 20 20 20 20 20 bstring.(make-str.W).k))).......
279c0 28 64 65 66 69 6e 65 20 74 2b 0a 20 20 20 20 20 20 20 20 28 66 6f 72 2f 66 6f 6c 64 20 28 5b 74 (define.t+.........(for/fold.([t
279e0 20 74 5d 29 20 28 5b 69 20 28 69 6e 2d 72 61 6e 67 65 20 28 73 75 62 31 20 4e 29 20 2d 31 20 2d .t]).([i.(in-range.(sub1.N).-1.-
27a00 31 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 64 6a 75 73 74 2d 77 69 74 68 69 6e 2d 6c 69 1)])...........(adjust-within-li
27a20 6e 65 20 74 20 28 2b 20 28 2a 20 69 20 57 29 20 6b 29 20 22 21 22 29 29 29 0a 20 20 20 20 20 20 ne.t.(+.(*.i.W).k)."!"))).......
27a40 28 63 68 65 63 6b 2d 4e 2a 57 20 74 2b 20 4e 20 6e 65 77 2d 73 74 72 29 0a 20 20 20 20 20 20 28 (check-N*W.t+.N.new-str).......(
27a60 64 65 66 69 6e 65 20 74 2d 0a 20 20 20 20 20 20 20 20 28 66 6f 72 2f 66 6f 6c 64 20 28 5b 74 20 define.t-.........(for/fold.([t.
27a80 74 2b 5d 29 20 28 5b 69 20 28 69 6e 2d 72 61 6e 67 65 20 30 20 4e 29 5d 29 0a 20 20 20 20 20 20 t+]).([i.(in-range.0.N)]).......
27aa0 20 20 20 20 28 61 64 6a 75 73 74 2d 77 69 74 68 69 6e 2d 6c 69 6e 65 20 74 20 28 2b 20 28 2a 20 ....(adjust-within-line.t.(+.(*.
27ac0 69 20 57 29 20 6b 29 20 2d 31 29 29 29 0a 20 20 20 20 20 20 28 63 68 65 63 6b 2d 4e 2a 57 20 74 i.W).k).-1))).......(check-N*W.t
27ae0 2d 20 4e 20 28 6d 61 6b 65 2d 73 74 72 20 57 29 29 29 0a 20 20 20 20 3b 3b 20 64 65 6c 65 74 65 -.N.(make-str.W))).....;;.delete
27b00 20 61 20 66 65 77 20 72 61 6e 64 6f 6d 20 6c 69 6e 65 73 0a 20 20 20 20 28 64 65 66 69 6e 65 20 .a.few.random.lines.....(define.
27b20 74 2d 0a 20 20 20 20 20 20 28 66 6f 72 2f 66 6f 6c 64 20 28 5b 74 20 74 5d 29 20 28 5b 69 20 28 t-.......(for/fold.([t.t]).([i.(
27b40 69 6e 2d 72 61 6e 67 65 20 28 2d 20 4e 20 4d 20 31 29 20 2d 31 20 2d 31 29 5d 29 0a 20 20 20 20 in-range.(-.N.M.1).-1.-1)]).....
27b60 20 20 20 20 28 64 65 6c 65 74 65 2d 6c 69 6e 65 20 74 20 28 2a 20 28 72 61 6e 64 6f 6d 20 28 61 ....(delete-line.t.(*.(random.(a
27b80 64 64 31 20 69 29 29 20 57 29 29 29 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 4e 2a 57 20 74 2d 20 dd1.i)).W)))).....(check-N*W.t-.
27ba0 4d 20 28 6d 61 6b 65 2d 73 74 72 20 57 29 29 29 0a 20 20 28 66 6f 72 20 28 5b 69 20 28 69 6e 2d M.(make-str.W)))...(for.([i.(in-
27bc0 72 61 6e 67 65 20 31 30 30 29 5d 29 0a 20 20 20 20 28 66 6f 72 20 28 5b 57 20 28 69 6e 2d 72 61 range.100)]).....(for.([W.(in-ra
27be0 6e 67 65 20 32 20 36 29 5d 29 0a 20 20 20 20 20 20 28 72 61 6e 64 6f 6d 2d 6d 6f 64 69 66 79 2d nge.2.6)]).......(random-modify-
27c00 74 65 73 74 20 57 29 29 29 0a 0a 20 20 28 61 74 20 22 72 61 6e 64 6f 6d 22 29 0a 20 20 28 64 65 test.W)))....(at."random")...(de
27c20 66 69 6e 65 20 28 72 61 6e 64 6f 6d 2d 63 72 65 61 74 65 2d 74 65 73 74 29 0a 20 20 20 20 28 64 fine.(random-create-test).....(d
27c40 65 66 69 6e 65 20 6e 20 28 61 64 64 31 20 28 72 61 6e 64 6f 6d 20 34 30 39 36 29 29 29 0a 20 20 efine.n.(add1.(random.4096)))...
27c60 20 20 28 64 65 66 69 6e 65 20 73 74 72 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6e 29 29 0a 20 ..(define.str.(make-string.n))..
27c80 20 20 20 28 66 6f 72 20 28 5b 69 20 28 69 6e 2d 72 61 6e 67 65 20 6e 29 5d 29 0a 20 20 20 20 20 ...(for.([i.(in-range.n)])......
27ca0 20 28 64 65 66 69 6e 65 20 63 68 20 28 72 61 6e 64 6f 6d 20 32 37 29 29 0a 20 20 20 20 20 20 28 .(define.ch.(random.27)).......(
27cc0 73 74 72 69 6e 67 2d 73 65 74 21 20 73 74 72 20 69 20 28 69 66 20 28 7a 65 72 6f 3f 20 63 68 29 string-set!.str.i.(if.(zero?.ch)
27ce0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 5c ..............................#\
27d00 6e 65 77 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 newline.........................
27d20 20 20 20 20 20 28 69 6e 74 65 67 65 72 2d 3e 63 68 61 72 20 28 2b 20 28 73 75 62 31 20 28 63 68 .....(integer->char.(+.(sub1.(ch
27d40 61 72 2d 3e 69 6e 74 65 67 65 72 20 23 5c 61 29 29 20 63 68 29 29 29 29 29 0a 20 20 20 20 28 64 ar->integer.#\a)).ch))))).....(d
27d60 65 66 69 6e 65 20 74 20 28 69 6e 73 65 72 74 20 65 6d 70 74 79 20 30 20 73 74 72 29 29 0a 20 20 efine.t.(insert.empty.0.str))...
27d80 20 20 28 63 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 74 20 30 20 6e 29 20 73 74 72 29 0a 20 ..(check.(get-text.t.0.n).str)..
27da0 20 20 20 28 66 6f 72 20 28 5b 69 20 31 5d 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 73 74 ...(for.([i.1]).......(define.st
27dc0 61 72 74 20 28 72 61 6e 64 6f 6d 20 6e 29 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6c 65 art.(random.n)).......(define.le
27de0 6e 20 28 72 61 6e 64 6f 6d 20 28 2d 20 6e 20 73 74 61 72 74 29 29 29 0a 20 20 20 20 20 20 28 63 n.(random.(-.n.start))).......(c
27e00 68 65 63 6b 20 28 67 65 74 2d 74 65 78 74 20 28 64 65 6c 65 74 65 20 74 20 73 74 61 72 74 20 28 heck.(get-text.(delete.t.start.(
27e20 2b 20 73 74 61 72 74 20 6c 65 6e 29 29 20 30 20 28 2d 20 6e 20 6c 65 6e 29 29 0a 20 20 20 20 20 +.start.len)).0.(-.n.len))......
27e40 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 20 28 73 75 62 73 74 72 69 6e ........(string-append.(substrin
27e60 67 20 73 74 72 20 30 20 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.str.0.start)..................
27e80 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 20 28 2b 20 73 74 61 ...........(substring.str.(+.sta
27ea0 72 74 20 6c 65 6e 29 29 29 29 29 29 0a 20 20 28 66 6f 72 20 28 5b 69 20 28 69 6e 2d 72 61 6e 67 rt.len))))))...(for.([i.(in-rang
27ec0 65 20 31 30 30 30 29 5d 29 0a 20 20 20 20 28 72 61 6e 64 6f 6d 2d 63 72 65 61 74 65 2d 74 65 73 e.1000)]).....(random-create-tes
27ee0 74 29 29 0a 0a 20 20 28 76 6f 69 64 29 29 0a 0a 3b 3b 20 50 72 6f 76 65 6e 61 6e 63 65 3a 20 66 t))....(void))..;;.Provenance:.f
27f00 72 61 6d 65 77 6f 72 6b 2f 6d 72 65 64 2f 70 72 69 76 61 74 65 2f 73 6e 69 70 66 69 6c 65 2e 72 ramework/mred/private/snipfile.r
27f20 6b 74 0a 28 72 65 71 75 69 72 65 20 28 6f 6e 6c 79 2d 69 6e 20 72 61 63 6b 65 74 2f 70 6f 72 74 kt.(require.(only-in.racket/port
27f40 20 6d 61 6b 65 2d 69 6e 70 75 74 2d 70 6f 72 74 2f 72 65 61 64 2d 74 6f 2d 70 65 65 6b 29 0a 20 .make-input-port/read-to-peek)..
27f60 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 20 6d 61 ........(only-in.racket/match.ma
27f80 74 63 68 29 29 0a 28 64 65 66 69 6e 65 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 74 65 78 74 20 74 tch)).(define.(open-input-text.t
27fa0 20 5b 73 74 61 72 74 20 30 5d 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 74 65 78 74 2d 6c 69 6e 65 .[start.0])...(unless.(text-line
27fc0 73 3f 20 74 29 0a 20 20 20 20 28 72 61 69 73 65 2d 61 72 67 75 6d 65 6e 74 2d 65 72 72 6f 72 20 s?.t).....(raise-argument-error.
27fe0 27 6f 70 65 6e 2d 69 6e 70 75 74 2d 74 65 78 74 20 22 74 65 78 74 2d 6c 69 6e 65 73 3f 22 20 74 'open-input-text."text-lines?".t
28000 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 65 78 61 63 74 2d 6e 6f 6e 6e 65 67 61 74 69 76 65 2d ))...(unless.(exact-nonnegative-
28020 69 6e 74 65 67 65 72 3f 20 73 74 61 72 74 29 0a 20 20 20 20 28 72 61 69 73 65 2d 61 72 67 75 6d integer?.start).....(raise-argum
28040 65 6e 74 2d 65 72 72 6f 72 20 27 6f 70 65 6e 2d 69 6e 70 75 74 2d 74 65 78 74 20 22 65 78 61 63 ent-error.'open-input-text."exac
28060 74 2d 6e 6f 6e 6e 65 67 61 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 22 20 73 74 61 72 74 29 29 0a t-nonnegative-integer?".start)).
28080 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 70 69 70 65 2d 72 20 70 69 70 65 2d 77 29 ..(define-values.(pipe-r.pipe-w)
280a0 20 28 6d 61 6b 65 2d 70 69 70 65 29 29 0a 20 20 28 64 65 66 69 6e 65 20 69 6e 20 28 6d 61 6b 65 .(make-pipe))...(define.in.(make
280c0 2d 69 6e 70 75 74 2d 70 6f 72 74 2f 72 65 61 64 2d 74 6f 2d 70 65 65 6b 0a 20 20 20 20 20 20 20 -input-port/read-to-peek........
280e0 20 20 20 20 20 20 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 61 64 2d 69 .......t...............;;.read-i
28100 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 62 65 67 20 73 74 61 72 74 n...............(let.([beg.start
28120 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 73 29 0a 20 20 20 20 20 ]).................(...(s)......
28140 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 72 65 61 64 2d 62 79 74 65 73 2d .............(match.(read-bytes-
28160 61 76 61 69 6c 21 2a 20 73 20 70 69 70 65 2d 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 avail!*.s.pipe-r)...............
28180 20 20 20 20 20 20 5b 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d ......[0......................(m
281a0 61 74 63 68 20 28 6d 69 6e 20 28 2d 20 28 74 65 78 74 2d 6c 65 6e 67 74 68 20 74 29 20 62 65 67 atch.(min.(-.(text-length.t).beg
281c0 29 20 34 30 39 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b ).4096)........................[
281e0 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 65 0.........................(close
28200 2d 6f 75 74 70 75 74 2d 70 6f 72 74 20 70 69 70 65 2d 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 -output-port.pipe-w)............
28220 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6f 66 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............eof]...............
28240 20 20 20 20 20 20 20 20 20 5b 61 6d 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........[amt...................
28260 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 65 6e 64 20 28 2b 20 62 65 67 20 61 6d 74 29 29 0a 20 ......(define.end.(+.beg.amt))..
28280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 72 69 74 65 2d 73 74 .......................(write-st
282a0 72 69 6e 67 20 28 67 65 74 2d 74 65 78 74 20 74 20 62 65 67 20 65 6e 64 29 20 70 69 70 65 2d 77 ring.(get-text.t.beg.end).pipe-w
282c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20 ).........................(set!.
282e0 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 beg.end)........................
28300 20 28 72 65 61 64 2d 62 79 74 65 73 2d 61 76 61 69 6c 21 2a 20 73 20 70 69 70 65 2d 72 29 5d 29 .(read-bytes-avail!*.s.pipe-r)])
28320 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 76 20 76 5d 29 29 29 0a 20 ].....................[v.v])))..
28340 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 61 73 74 2d 70 65 65 6b 0a 20 20 20 20 20 20 .............;;.fast-peek.......
28360 20 20 20 20 20 20 20 20 28 ce bb 20 28 73 20 73 6b 69 70 20 67 65 6e 65 72 61 6c 2d 70 65 65 6b ........(...(s.skip.general-peek
28380 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 70 65 65 6b 2d 62 ).................(match.(peek-b
283a0 79 74 65 73 2d 61 76 61 69 6c 21 2a 20 73 20 73 6b 69 70 20 23 66 20 70 69 70 65 2d 72 29 0a 20 ytes-avail!*.s.skip.#f.pipe-r)..
283c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 30 20 28 67 65 6e 65 72 61 6c 2d 70 65 65 .................[0.(general-pee
283e0 6b 20 73 20 73 6b 69 70 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 76 20 k.s.skip)]...................[v.
28400 76 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 6c 6f 73 65 0a 20 20 20 20 v]))...............;;.close.....
28420 20 20 20 20 20 20 20 20 20 20 76 6f 69 64 29 29 0a 20 20 28 70 6f 72 74 2d 63 6f 75 6e 74 2d 6c ..........void))...(port-count-l
28440 69 6e 65 73 21 20 69 6e 29 20 3b 69 6d 70 6f 72 74 61 6e 74 20 66 6f 72 20 55 6e 69 63 6f 64 65 ines!.in).;important.for.Unicode
28460 20 65 2e 67 2e 20 ce bb 0a 20 20 28 73 65 74 2d 70 6f 72 74 2d 6e 65 78 74 2d 6c 6f 63 61 74 69 .e.g.......(set-port-next-locati
28480 6f 6e 21 20 69 6e 20 31 20 30 20 28 61 64 64 31 20 73 74 61 72 74 29 29 20 3b 70 6f 72 74 20 70 on!.in.1.0.(add1.start)).;port.p
284a0 6f 73 20 69 73 20 31 2d 62 61 73 65 64 0a 20 20 69 6e 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 os.is.1-based...in)..(module+.te
284c0 73 74 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 0a 20 20 20 20 20 20 20 20 20 st...(require.rackunit..........
284e0 20 20 72 61 63 6b 65 74 2f 70 6f 72 74 29 0a 20 20 28 64 65 66 69 6e 65 20 6c 65 6e 20 32 34 30 ..racket/port)...(define.len.240
28500 30 30 30 29 0a 20 20 28 64 65 66 69 6e 65 20 28 72 61 6e 64 6f 6d 2d 63 68 61 72 20 5f 69 78 29 000)...(define.(random-char._ix)
28520 20 28 69 6e 74 65 67 65 72 2d 3e 63 68 61 72 20 28 2b 20 33 32 20 28 72 61 6e 64 6f 6d 20 32 36 .(integer->char.(+.32.(random.26
28540 29 29 29 29 0a 20 20 28 64 65 66 69 6e 65 20 73 74 72 20 28 6c 69 73 74 2d 3e 73 74 72 69 6e 67 ))))...(define.str.(list->string
28560 20 28 62 75 69 6c 64 2d 6c 69 73 74 20 6c 65 6e 20 72 61 6e 64 6f 6d 2d 63 68 61 72 29 29 29 0a .(build-list.len.random-char))).
28580 20 20 28 64 65 66 69 6e 65 20 74 65 78 74 20 28 69 6e 73 65 72 74 20 65 6d 70 74 79 20 30 20 73 ..(define.text.(insert.empty.0.s
285a0 74 72 29 29 0a 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 5b 70 6f 73 20 30 5d 29 0a 20 20 20 20 28 tr))...(let.loop.([pos.0]).....(
285c0 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 20 70 6f 73 29 check-equal?.(substring.str.pos)
285e0 20 28 67 65 74 2d 74 65 78 74 20 74 65 78 74 20 70 6f 73 29 29 0a 20 20 20 20 28 63 68 65 63 6b .(get-text.text.pos)).....(check
28600 2d 65 71 75 61 6c 3f 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 20 70 6f 73 29 20 28 70 6f 72 -equal?.(substring.str.pos).(por
28620 74 2d 3e 73 74 72 69 6e 67 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 74 65 78 74 20 74 65 78 74 20 t->string.(open-input-text.text.
28640 70 6f 73 29 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 78 74 2d 70 6f 73 20 28 2b 20 70 pos))).....(define.next-pos.(+.p
28660 6f 73 20 31 30 30 30 30 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 3c 20 20 6e 65 78 74 2d 70 6f os.10000)).....(when.(<..next-po
28680 73 20 6c 65 6e 29 0a 20 20 20 20 20 20 28 6c 6f 6f 70 20 6e 65 78 74 2d 70 6f 73 29 29 29 29 0a s.len).......(loop.next-pos)))).
286a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
286c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
286e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
287a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
287c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
287e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28800 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
28820 72 61 63 6b 65 74 2f 69 6d 70 6f 72 74 73 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/imports.rkt..............
28840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
28880 30 30 33 30 31 31 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 33 33 36 00 20 30 00 00 00 0030115.00000000000.017336..0...
288a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
288c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
288e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
28920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
28940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
289a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
289c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
289e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28a00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
28a20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
28a40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
28a60 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
28a80 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 /contract..........racket/format
28aa0 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 ..........racket/match..........
28ac0 72 61 63 6b 65 74 2f 73 65 74 0a 20 20 20 20 20 20 20 20 20 22 75 74 69 6c 2e 72 6b 74 22 29 0a racket/set.........."util.rkt").
28ae0 0a 28 70 72 6f 76 69 64 65 20 69 6d 70 6f 72 74 73 29 0a 0a 3b 3b 3b 20 46 69 6e 64 69 6e 67 20 .(provide.imports)..;;;.Finding.
28b00 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 20 66 72 6f 6d 20 69 6d 70 6f 72 completion.candidates.from.impor
28b20 74 73 0a 0a 3b 3b 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 74 65 6c ts..;;.drracket/check-syntax.tel
28b40 6c 73 20 75 73 20 61 62 6f 75 74 20 6c 6f 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 28 77 ls.us.about.local.definitions.(w
28b60 68 69 63 68 20 69 73 0a 3b 3b 20 67 72 65 61 74 21 29 2c 20 61 6e 64 2c 20 74 65 6c 6c 73 20 75 hich.is.;;.great!),.and,.tells.u
28b80 73 20 61 62 6f 75 74 20 69 6d 70 6f 72 74 65 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 2d 2d 20 s.about.imported.definitions.--.
28ba0 62 75 74 20 6f 6e 6c 79 20 74 68 6f 73 65 0a 3b 3b 20 61 6c 72 65 61 64 79 20 5f 75 73 65 64 5f but.only.those.;;.already._used_
28bc0 2e 20 4f 62 76 69 6f 75 73 6c 79 2c 20 61 20 6d 61 6a 6f 72 20 75 73 65 20 63 61 73 65 20 66 6f ..Obviously,.a.major.use.case.fo
28be0 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 69 73 0a 3b 3b 20 74 79 70 69 6e 67 20 5f 6e 65 77 5f 20 r.completion.is.;;.typing._new_.
28c00 75 73 65 73 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 2c 20 74 uses.of.available.definitions,.t
28c20 6f 6f 2e 20 65 2e 67 2e 20 22 57 68 61 74 20 69 73 20 74 68 61 74 0a 3b 3b 20 73 74 72 69 6e 67 oo..e.g.."What.is.that.;;.string
28c40 2d 78 78 78 20 66 75 6e 63 74 69 6f 6e 20 49 27 6d 20 6e 6f 74 20 79 65 74 20 75 73 69 6e 67 20 -xxx.function.I'm.not.yet.using.
28c60 69 6e 20 74 68 69 73 20 66 69 6c 65 3f 22 20 53 6f 20 77 65 20 77 61 6e 74 20 74 6f 0a 3b 3b 20 in.this.file?".So.we.want.to.;;.
28c80 73 75 70 70 6c 79 20 74 68 61 74 20 66 75 6c 6c 20 73 65 74 2e 0a 3b 3b 0a 3b 3b 20 49 66 20 79 supply.that.full.set..;;.;;.If.y
28ca0 6f 75 20 68 61 76 65 20 61 20 6e 61 6d 65 73 70 61 63 65 20 66 72 6f 6d 20 6d 6f 64 75 6c 65 2d ou.have.a.namespace.from.module-
28cc0 3e 6e 61 6d 65 73 70 61 63 65 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 0a 3b 3b 20 6e 61 6d 65 73 >namespace,.you.can.use.;;.names
28ce0 70 61 63 65 2d 6d 61 70 70 65 64 2d 73 79 6d 62 6f 6c 73 20 2d 2d 20 65 61 73 79 21 20 48 6f 77 pace-mapped-symbols.--.easy!.How
28d00 65 76 65 72 20 77 65 20 64 6f 20 4e 4f 54 20 77 61 6e 74 20 74 6f 0a 3b 3b 20 69 6e 73 74 61 6e ever.we.do.NOT.want.to.;;.instan
28d20 74 69 61 74 65 20 74 68 65 20 6d 6f 64 75 6c 65 2c 20 69 2e 65 2e 20 22 72 75 6e 20 74 68 65 20 tiate.the.module,.i.e.."run.the.
28d40 75 73 65 72 27 73 20 63 6f 64 65 22 2e 20 57 65 20 77 61 6e 74 20 74 6f 0a 3b 3b 20 73 75 70 70 user's.code"..We.want.to.;;.supp
28d60 6c 79 20 74 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 75 73 69 6e 67 20 74 68 65 20 73 61 ly.this.information.using.the.sa
28d80 6d 65 20 73 6f 72 74 20 6f 66 20 22 70 61 73 73 69 76 65 22 20 61 6e 61 6c 61 79 73 69 73 0a 3b me.sort.of."passive".analaysis.;
28da0 3b 20 64 6f 6e 65 20 62 79 20 63 68 65 63 6b 2d 73 79 6e 74 61 78 2c 20 62 65 66 6f 72 65 20 74 ;.done.by.check-syntax,.before.t
28dc0 68 65 20 75 73 65 72 20 65 76 65 6e 20 72 75 6e 73 20 74 68 65 20 66 69 6c 65 20 28 69 66 20 65 he.user.even.runs.the.file.(if.e
28de0 76 65 72 29 2e 0a 3b 3b 0a 3b 3b 20 6d 6f 64 75 6c 65 2d 3e 65 78 70 6f 72 74 73 20 69 73 20 61 ver)..;;.;;.module->exports.is.a
28e00 20 67 6f 6f 64 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e 74 2c 20 62 75 74 20 6e 6f 74 20 74 68 .good.starting.point,.but.not.th
28e20 65 20 77 68 6f 6c 65 20 61 6e 73 77 65 72 3a 0a 3b 3b 20 49 6d 70 6f 72 74 73 20 63 61 6e 20 62 e.whole.answer:.;;.Imports.can.b
28e40 65 20 66 69 6c 74 65 72 65 64 20 61 6e 64 20 72 65 6e 61 6d 65 64 20 2d 2d 20 65 2e 67 2e 20 6f e.filtered.and.renamed.--.e.g..o
28e60 6e 6c 79 2d 69 6e 2c 20 65 78 63 65 70 74 2d 69 6e 2c 0a 3b 3b 20 70 72 65 66 69 78 2d 69 6e 2c nly-in,.except-in,.;;.prefix-in,
28e80 20 72 65 6e 61 6d 65 2d 69 6e 2e 0a 3b 3b 0a 3b 3b 20 41 46 41 49 43 54 20 74 68 65 72 65 20 69 .rename-in..;;.;;.AFAICT.there.i
28ea0 73 20 6e 6f 20 67 6f 6f 64 20 77 61 79 20 74 6f 20 67 65 74 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 s.no.good.way.to.get.completions
28ec0 20 66 72 6f 6d 20 61 6c 6c 20 69 6d 70 6f 72 74 65 64 0a 3b 3b 20 69 64 65 6e 74 69 66 69 65 72 .from.all.imported.;;.identifier
28ee0 73 2c 20 65 78 63 65 70 74 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 70 61 72 73 65 20 74 68 s,.except.attempting.to.parse.th
28f00 65 20 63 6f 6d 70 6c 65 74 65 20 23 25 72 65 71 75 69 72 65 0a 3b 3b 20 67 72 61 6d 6d 61 72 20 e.complete.#%require.;;.grammar.
28f20 69 6e 63 6c 75 64 69 6e 67 20 60 70 72 65 66 69 78 60 20 61 6e 64 20 72 65 6e 61 6d 69 6e 67 20 including.`prefix`.and.renaming.
28f40 66 6f 72 6d 73 20 6c 69 6b 65 20 60 6a 75 73 74 2d 6d 65 74 61 60 2c 20 61 6e 64 0a 3b 3b 20 61 forms.like.`just-meta`,.and.;;.a
28f60 70 70 6c 79 20 74 68 61 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 6f 20 74 77 65 61 6b 20 74 pply.that.information.to.tweak.t
28f80 68 65 20 61 6e 73 77 65 72 20 66 72 6f 6d 20 6d 6f 64 75 6c 65 2d 3e 65 78 70 6f 72 74 73 2e 0a he.answer.from.module->exports..
28fa0 0a 3b 3b 20 49 74 20 69 73 20 69 6d 70 6f 72 74 61 6e 74 20 74 6f 20 72 75 6e 20 74 68 69 73 20 .;;.It.is.important.to.run.this.
28fc0 77 69 74 68 20 74 68 65 20 63 6f 72 72 65 63 74 20 70 61 72 61 6d 65 74 65 72 69 7a 61 74 69 6f with.the.correct.parameterizatio
28fe0 6e 20 6f 66 0a 3b 3b 20 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 61 6e 64 20 63 75 n.of.;;.current-namespace.and.cu
29000 72 72 65 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 6f 72 79 2e 0a 28 rrent-load-relative-directory..(
29020 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 69 6d 70 6f 72 74 73 20 73 74 78 20 5b 73 6f define/contract.(imports.stx.[so
29040 73 20 28 6d 75 74 61 62 6c 65 2d 73 65 74 29 5d 29 0a 20 20 28 2d 3e 2a 20 28 73 79 6e 74 61 78 s.(mutable-set)])...(->*.(syntax
29060 3f 29 20 28 73 65 74 2d 6d 75 74 61 62 6c 65 3f 29 20 73 65 74 2d 6d 75 74 61 62 6c 65 3f 29 0a ?).(set-mutable?).set-mutable?).
29080 0a 20 20 28 64 65 66 69 6e 65 20 28 68 61 6e 64 6c 65 2d 6d 6f 64 75 6c 65 20 73 74 78 29 0a 20 ...(define.(handle-module.stx)..
290a0 20 20 20 28 73 79 6e 74 61 78 2d 63 61 73 65 20 73 74 78 20 28 6d 6f 64 75 6c 65 20 23 25 6d 6f ...(syntax-case.stx.(module.#%mo
290c0 64 75 6c 65 2d 62 65 67 69 6e 20 23 25 70 6c 61 69 6e 2d 6d 6f 64 75 6c 65 2d 62 65 67 69 6e 29 dule-begin.#%plain-module-begin)
290e0 0a 20 20 20 20 20 20 5b 28 6d 6f 64 75 6c 65 20 69 64 20 6c 61 6e 67 20 28 23 25 6d 6f 64 75 6c .......[(module.id.lang.(#%modul
29100 65 2d 62 65 67 69 6e 20 65 20 2e 2e 2e 29 29 0a 20 20 20 20 20 20 20 28 68 61 6e 64 6c 65 2d 6d e-begin.e....))........(handle-m
29120 6f 64 75 6c 65 2d 6c 65 76 65 6c 20 23 27 69 64 20 23 27 6c 61 6e 67 20 23 27 28 65 20 2e 2e 2e odule-level.#'id.#'lang.#'(e....
29140 29 29 5d 0a 20 20 20 20 20 20 5b 28 6d 6f 64 75 6c 65 20 69 64 20 6c 61 6e 67 20 28 23 25 70 6c ))].......[(module.id.lang.(#%pl
29160 61 69 6e 2d 6d 6f 64 75 6c 65 2d 62 65 67 69 6e 20 65 20 2e 2e 2e 29 29 0a 20 20 20 20 20 20 20 ain-module-begin.e....))........
29180 28 68 61 6e 64 6c 65 2d 6d 6f 64 75 6c 65 2d 6c 65 76 65 6c 20 23 27 69 64 20 23 27 6c 61 6e 67 (handle-module-level.#'id.#'lang
291a0 20 23 27 28 65 20 2e 2e 2e 29 29 5d 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 28 68 61 6e 64 6c .#'(e....))]))....(define.(handl
291c0 65 2d 6d 6f 64 75 6c 65 2d 6c 65 76 65 6c 20 69 64 20 6c 61 6e 67 20 65 73 29 0a 20 20 20 20 28 e-module-level.id.lang.es).....(
291e0 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 3f 20 28 73 79 6e 74 61 78 2d 65 20 69 64 29 20 27 63 6f unless.(equal?.(syntax-e.id).'co
29200 6e 66 69 67 75 72 65 2d 72 75 6e 74 69 6d 65 29 0a 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 2d 65 nfigure-runtime).......(module-e
29220 78 70 6f 72 74 65 64 2d 73 74 72 69 6e 67 73 20 6c 61 6e 67 20 6c 61 6e 67 29 29 0a 20 20 20 20 xported-strings.lang.lang)).....
29240 28 66 6f 72 20 28 5b 65 20 28 69 6e 2d 73 79 6e 74 61 78 20 65 73 29 5d 29 0a 20 20 20 20 20 20 (for.([e.(in-syntax.es)]).......
29260 28 73 79 6e 74 61 78 2d 63 61 73 65 2a 20 65 20 28 23 25 72 65 71 75 69 72 65 20 6d 6f 64 75 6c (syntax-case*.e.(#%require.modul
29280 65 20 6d 6f 64 75 6c 65 2a 29 20 73 79 6d 62 6f 6c 69 63 2d 63 6f 6d 70 61 72 65 3f 0a 20 20 20 e.module*).symbolic-compare?....
292a0 20 20 20 20 20 5b 28 23 25 72 65 71 75 69 72 65 20 65 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 .....[(#%require.e....).........
292c0 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 3f 20 28 73 79 6e 74 61 78 2d 65 20 69 64 29 20 27 .(unless.(equal?.(syntax-e.id).'
292e0 63 6f 6e 66 69 67 75 72 65 2d 72 75 6e 74 69 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 configure-runtime)............(f
29300 6f 72 20 28 5b 73 70 65 63 20 28 69 6e 2d 73 79 6e 74 61 78 20 23 27 28 65 20 2e 2e 2e 29 29 5d or.([spec.(in-syntax.#'(e....))]
29320 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 61 6e 64 6c 65 2d 72 61 77 2d 72 65 71 75 69 )..............(handle-raw-requi
29340 72 65 2d 73 70 65 63 20 73 70 65 63 20 6c 61 6e 67 29 29 29 5d 0a 20 20 20 20 20 20 20 20 5b 28 re-spec.spec.lang)))].........[(
29360 6d 6f 64 75 6c 65 20 69 64 20 73 75 62 2d 6d 6f 64 2d 6c 61 6e 67 20 28 5f 6d 62 20 65 20 2e 2e module.id.sub-mod-lang.(_mb.e...
29380 2e 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 61 6e 64 6c 65 2d 6d 6f 64 75 6c 65 2d 6c 65 76 65 .))..........(handle-module-leve
293a0 6c 20 23 27 69 64 20 23 27 73 75 62 2d 6d 6f 64 2d 6c 61 6e 67 20 23 27 28 65 20 2e 2e 2e 29 29 l.#'id.#'sub-mod-lang.#'(e....))
293c0 5d 0a 20 20 20 20 20 20 20 20 5b 28 6d 6f 64 75 6c 65 2a 20 69 64 20 73 75 62 2d 6d 6f 64 2d 6c ].........[(module*.id.sub-mod-l
293e0 61 6e 67 20 28 5f 6d 62 20 65 20 2e 2e 2e 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 61 6e 64 6c ang.(_mb.e....))..........(handl
29400 65 2d 6d 6f 64 75 6c 65 2d 6c 65 76 65 6c 20 23 27 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 e-module-level.#'id.............
29420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 79 6e 74 61 78 2d 65 20 ..................(if.(syntax-e.
29440 23 27 73 75 62 2d 6d 6f 64 2d 6c 61 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 #'sub-mod-lang).................
29460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 73 75 62 2d 6d 6f 64 2d 6c 61 6e 67 ..................#'sub-mod-lang
29480 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
294a0 20 20 20 6c 61 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...lang)........................
294c0 20 20 20 20 20 20 20 23 27 28 65 20 2e 2e 2e 29 29 5d 0a 20 20 20 20 20 20 20 20 5b 20 5f 20 28 .......#'(e....))].........[._.(
294e0 76 6f 69 64 29 5d 29 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 28 68 61 6e 64 6c 65 2d 72 61 77 void)])))....(define.(handle-raw
29500 2d 72 65 71 75 69 72 65 2d 73 70 65 63 20 73 70 65 63 20 6c 61 6e 67 29 0a 20 20 20 20 28 6c 65 -require-spec.spec.lang).....(le
29520 74 20 6c 6f 6f 70 20 28 5b 73 70 65 63 20 73 70 65 63 5d 29 0a 20 20 20 20 20 20 28 73 79 6e 74 t.loop.([spec.spec]).......(synt
29540 61 78 2d 63 61 73 65 2a 20 73 70 65 63 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d 6d 65 74 ax-case*.spec...........(for-met
29560 61 20 66 6f 72 2d 73 79 6e 74 61 78 20 66 6f 72 2d 74 65 6d 70 6c 61 74 65 20 66 6f 72 2d 6c 61 a.for-syntax.for-template.for-la
29580 62 65 6c 20 6a 75 73 74 2d 6d 65 74 61 20 66 6f 72 2d 73 70 61 63 65 20 6a 75 73 74 2d 73 70 61 bel.just-meta.for-space.just-spa
295a0 63 65 20 70 6f 72 74 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 69 63 2d 63 6f ce.portal)...........symbolic-co
295c0 6d 70 61 72 65 3f 0a 20 20 20 20 20 20 20 20 5b 28 66 6f 72 2d 6d 65 74 61 20 5f 70 68 61 73 65 mpare?.........[(for-meta._phase
295e0 20 73 70 65 63 73 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 20 28 5b 73 70 65 63 .specs....)..........(for.([spec
29600 20 28 69 6e 2d 73 79 6e 74 61 78 20 23 27 28 73 70 65 63 73 20 2e 2e 2e 29 29 5d 29 0a 20 20 20 .(in-syntax.#'(specs....))])....
29620 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 73 70 65 63 29 29 5d 0a 20 20 20 20 20 20 20 20 5b 28 ........(loop.spec))].........[(
29640 66 6f 72 2d 73 79 6e 74 61 78 20 73 70 65 63 73 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 28 for-syntax.specs....)..........(
29660 66 6f 72 20 28 5b 73 70 65 63 20 28 69 6e 2d 73 79 6e 74 61 78 20 23 27 28 73 70 65 63 73 20 2e for.([spec.(in-syntax.#'(specs..
29680 2e 2e 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 73 70 65 63 29 29 5d 0a ..))])............(loop.spec))].
296a0 20 20 20 20 20 20 20 20 5b 28 66 6f 72 2d 74 65 6d 70 6c 61 74 65 20 73 70 65 63 73 20 2e 2e 2e ........[(for-template.specs....
296c0 29 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 20 28 5b 73 70 65 63 20 28 69 6e 2d 73 79 6e 74 61 )..........(for.([spec.(in-synta
296e0 78 20 23 27 28 73 70 65 63 73 20 2e 2e 2e 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c x.#'(specs....))])............(l
29700 6f 6f 70 20 73 70 65 63 29 29 5d 0a 20 20 20 20 20 20 20 20 5b 28 66 6f 72 2d 6c 61 62 65 6c 20 oop.spec))].........[(for-label.
29720 73 70 65 63 73 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 20 28 5b 73 70 65 63 20 specs....)..........(for.([spec.
29740 28 69 6e 2d 73 79 6e 74 61 78 20 23 27 28 73 70 65 63 73 20 2e 2e 2e 29 29 5d 29 0a 20 20 20 20 (in-syntax.#'(specs....))]).....
29760 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 73 70 65 63 29 29 5d 0a 20 20 20 20 20 20 20 20 5b 28 6a .......(loop.spec))].........[(j
29780 75 73 74 2d 6d 65 74 61 20 5f 70 68 61 73 65 20 73 70 65 63 73 20 2e 2e 2e 29 0a 20 20 20 20 20 ust-meta._phase.specs....)......
297a0 20 20 20 20 28 66 6f 72 20 28 5b 73 70 65 63 20 28 69 6e 2d 73 79 6e 74 61 78 20 23 27 28 73 70 ....(for.([spec.(in-syntax.#'(sp
297c0 65 63 73 20 2e 2e 2e 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 73 70 65 ecs....))])............(loop.spe
297e0 63 29 29 5d 0a 20 20 20 20 20 20 20 20 5b 28 66 6f 72 2d 73 70 61 63 65 20 5f 73 70 61 63 65 20 c))].........[(for-space._space.
29800 73 70 65 63 73 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 20 28 5b 73 70 65 63 20 specs....)..........(for.([spec.
29820 28 69 6e 2d 73 79 6e 74 61 78 20 23 27 28 73 70 65 63 73 20 2e 2e 2e 29 29 5d 29 0a 20 20 20 20 (in-syntax.#'(specs....))]).....
29840 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 73 70 65 63 29 29 5d 0a 20 20 20 20 20 20 20 20 5b 28 6a .......(loop.spec))].........[(j
29860 75 73 74 2d 73 70 61 63 65 20 5f 73 70 61 63 65 20 73 70 65 63 73 20 2e 2e 2e 29 0a 20 20 20 20 ust-space._space.specs....).....
29880 20 20 20 20 20 28 66 6f 72 20 28 5b 73 70 65 63 20 28 69 6e 2d 73 79 6e 74 61 78 20 23 27 28 73 .....(for.([spec.(in-syntax.#'(s
298a0 70 65 63 73 20 2e 2e 2e 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 73 70 pecs....))])............(loop.sp
298c0 65 63 29 29 5d 0a 20 20 20 20 20 20 20 20 5b 28 70 6f 72 74 61 6c 20 69 64 20 63 6f 6e 74 65 6e ec))].........[(portal.id.conten
298e0 74 29 20 28 76 6f 69 64 29 5d 0a 20 20 20 20 20 20 20 20 5b 72 61 77 2d 6d 6f 64 75 6c 65 2d 70 t).(void)].........[raw-module-p
29900 61 74 68 0a 20 20 20 20 20 20 20 20 20 28 68 61 6e 64 6c 65 2d 70 68 61 73 65 6c 65 73 73 2d 73 ath..........(handle-phaseless-s
29920 70 65 63 20 23 27 72 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 20 6c 61 6e 67 29 5d 29 29 29 0a pec.#'raw-module-path.lang)]))).
29940 0a 20 20 28 64 65 66 69 6e 65 20 28 68 61 6e 64 6c 65 2d 70 68 61 73 65 6c 65 73 73 2d 73 70 65 ...(define.(handle-phaseless-spe
29960 63 20 73 70 65 63 20 6c 61 6e 67 29 0a 20 20 20 20 28 73 79 6e 74 61 78 2d 63 61 73 65 2a 20 73 c.spec.lang).....(syntax-case*.s
29980 70 65 63 20 28 6f 6e 6c 79 20 70 72 65 66 69 78 20 61 6c 6c 2d 65 78 63 65 70 74 20 70 72 65 66 pec.(only.prefix.all-except.pref
299a0 69 78 2d 61 6c 6c 2d 65 78 63 65 70 74 20 72 65 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 73 79 ix-all-except.rename).........sy
299c0 6d 62 6f 6c 69 63 2d 63 6f 6d 70 61 72 65 3f 0a 20 20 20 20 20 20 5b 28 6f 6e 6c 79 20 5f 72 61 mbolic-compare?.......[(only._ra
299e0 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 20 69 64 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 28 73 65 w-module-path.id....)........(se
29a00 74 2d 75 6e 69 6f 6e 21 20 73 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-union!.sos....................
29a20 28 73 79 6e 74 61 78 2d 3e 73 74 72 69 6e 67 2d 73 65 74 20 23 27 28 69 64 20 2e 2e 2e 29 29 29 (syntax->string-set.#'(id....)))
29a40 5d 0a 20 20 20 20 20 20 5b 28 70 72 65 66 69 78 20 70 72 65 66 69 78 2d 69 64 20 72 61 77 2d 6d ].......[(prefix.prefix-id.raw-m
29a60 6f 64 75 6c 65 2d 70 61 74 68 29 0a 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 2d 65 78 70 6f 72 odule-path)........(module-expor
29a80 74 65 64 2d 73 74 72 69 6e 67 73 20 23 27 72 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 0a 20 20 ted-strings.#'raw-module-path...
29aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 ..............................la
29ac0 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng..............................
29ae0 20 20 20 23 3a 70 72 65 66 69 78 20 23 27 70 72 65 66 69 78 2d 69 64 29 5d 0a 20 20 20 20 20 20 ...#:prefix.#'prefix-id)].......
29b00 5b 28 61 6c 6c 2d 65 78 63 65 70 74 20 72 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 20 69 64 20 [(all-except.raw-module-path.id.
29b20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 2d 65 78 70 6f 72 74 65 64 2d 73 74 72 ...)........(module-exported-str
29b40 69 6e 67 73 20 23 27 72 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 ings.#'raw-module-path..........
29b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 6e 67 0a 20 20 20 20 .......................lang.....
29b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 65 78 ............................#:ex
29ba0 63 65 70 74 20 28 73 79 6e 74 61 78 2d 3e 73 74 72 69 6e 67 2d 73 65 74 20 23 27 28 69 64 20 2e cept.(syntax->string-set.#'(id..
29bc0 2e 2e 29 29 29 5d 0a 20 20 20 20 20 20 5b 28 70 72 65 66 69 78 2d 61 6c 6c 2d 65 78 63 65 70 74 ..)))].......[(prefix-all-except
29be0 20 70 72 65 66 69 78 2d 69 64 20 72 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 20 69 64 20 2e 2e .prefix-id.raw-module-path.id...
29c00 2e 29 0a 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 2d 65 78 70 6f 72 74 65 64 2d 73 74 72 69 6e .)........(module-exported-strin
29c20 67 73 20 23 27 72 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 gs.#'raw-module-path............
29c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 6e 67 0a 20 20 20 20 20 20 .....................lang.......
29c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 70 72 65 66 ..........................#:pref
29c80 69 78 20 23 27 70 72 65 66 69 78 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ix.#'prefix-id..................
29ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 65 78 63 65 70 74 20 28 73 79 6e 74 61 78 2d ...............#:except.(syntax-
29cc0 3e 73 74 72 69 6e 67 2d 73 65 74 20 23 27 28 69 64 20 2e 2e 2e 29 29 29 5d 0a 20 20 20 20 20 20 >string-set.#'(id....)))].......
29ce0 5b 28 72 65 6e 61 6d 65 20 72 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 20 6c 6f 63 61 6c 2d 69 [(rename.raw-module-path.local-i
29d00 64 20 65 78 70 6f 72 74 65 64 2d 69 64 29 0a 20 20 20 20 20 20 20 28 62 65 67 69 6e 0a 20 20 20 d.exported-id)........(begin....
29d20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 3f 20 28 73 79 6e 74 61 78 2d 65 20 23 27 72 ......(unless.(eq?.(syntax-e.#'r
29d40 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 29 20 28 73 79 6e 74 61 78 2d 65 20 6c 61 6e 67 29 29 aw-module-path).(syntax-e.lang))
29d60 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 72 65 6d 6f 76 65 21 20 73 6f 73 20 28 2d 3e ............(set-remove!.sos.(->
29d80 73 74 72 20 23 27 65 78 70 6f 72 74 65 64 2d 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 str.#'exported-id)))..........(s
29da0 65 74 2d 61 64 64 21 20 73 6f 73 20 28 2d 3e 73 74 72 20 23 27 6c 6f 63 61 6c 2d 69 64 29 29 29 et-add!.sos.(->str.#'local-id)))
29dc0 5d 0a 20 20 20 20 20 20 5b 72 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 0a 20 20 20 20 20 20 20 ].......[raw-module-path........
29de0 28 6d 6f 64 75 6c 65 2d 70 61 74 68 3f 20 28 73 79 6e 74 61 78 2d 3e 64 61 74 75 6d 20 23 27 72 (module-path?.(syntax->datum.#'r
29e00 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 2d aw-module-path))........(module-
29e20 65 78 70 6f 72 74 65 64 2d 73 74 72 69 6e 67 73 20 23 27 72 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 exported-strings.#'raw-module-pa
29e40 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 th..............................
29e60 20 20 20 6c 61 6e 67 29 5d 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 28 6d 6f 64 75 6c 65 2d 65 ...lang)]))....(define.(module-e
29e80 78 70 6f 72 74 65 64 2d 73 74 72 69 6e 67 73 20 72 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 0a xported-strings.raw-module-path.
29ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
29ec0 20 20 20 6c 61 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...lang.........................
29ee0 20 20 20 20 20 20 20 20 20 20 20 23 3a 65 78 63 65 70 74 20 5b 65 78 63 65 70 74 69 6f 6e 73 20 ...........#:except.[exceptions.
29f00 28 73 65 74 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (set)]..........................
29f20 20 20 20 20 20 20 20 20 20 20 23 3a 70 72 65 66 69 78 20 5b 70 72 65 66 69 78 20 23 27 22 22 5d ..........#:prefix.[prefix.#'""]
29f40 29 0a 20 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 49 6d 70 6f 72 74 61 6e 74 20 74 6f 20 72 75 6e 20 ).....;;.NOTE:.Important.to.run.
29f60 6d 6f 64 75 6c 65 2d 3e 65 78 70 6f 72 74 73 20 77 69 74 68 20 74 68 65 20 63 6f 72 72 65 63 74 module->exports.with.the.correct
29f80 0a 20 20 20 20 3b 3b 20 70 61 72 61 6d 65 74 65 72 69 7a 61 74 69 6f 6e 20 6f 66 20 63 75 72 72 .....;;.parameterization.of.curr
29fa0 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 61 6e 64 0a 20 20 20 20 3b 3b 20 63 75 72 72 65 6e 74 ent-namespace.and.....;;.current
29fc0 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 6f 72 79 2e 0a 20 20 20 20 3b 3b -load-relative-directory......;;
29fe0 0a 20 20 20 20 3b 3b 20 49 67 6e 6f 72 65 20 6d 6f 64 75 6c 65 20 70 61 74 68 73 20 6d 6f 64 75 .....;;.Ignore.module.paths.modu
2a000 6c 65 2d 3e 65 78 70 6f 72 74 73 20 63 61 6e 27 74 20 68 61 6e 64 6c 65 2c 20 69 6e 63 6c 75 64 le->exports.can't.handle,.includ
2a020 69 6e 67 0a 20 20 20 20 3b 3b 20 70 61 74 68 73 20 6c 69 6b 65 20 27 66 6f 6f 20 6f 72 20 28 73 ing.....;;.paths.like.'foo.or.(s
2a040 75 62 6d 6f 64 20 22 2e 22 20 5f 29 20 6f 72 20 28 73 75 62 6d 6f 64 20 22 2e 2e 22 20 5f 29 2e ubmod."."._).or.(submod.".."._).
2a060 20 57 65 20 67 65 74 0a 20 20 20 20 3b 3b 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 .We.get.....;;.completion.candid
2a080 61 74 65 73 20 66 72 6f 6d 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 ates.from.drracket/check-syntax.
2a0a0 66 6f 72 0a 20 20 20 20 3b 3b 20 6e 6f 6e 2d 69 6d 70 6f 72 74 65 64 20 62 69 6e 64 69 6e 67 73 for.....;;.non-imported.bindings
2a0c0 2e 20 4f 75 72 20 63 6f 6e 74 72 69 62 75 74 69 6f 6e 20 69 73 20 69 6d 70 6f 72 74 65 64 0a 20 ..Our.contribution.is.imported..
2a0e0 20 20 20 3b 3b 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 20 20 20 20 28 77 69 74 68 2d 68 61 6e ...;;.definitions......(with-han
2a100 64 6c 65 72 73 20 28 5b 65 78 6e 3a 66 61 69 6c 3f 20 28 ce bb 20 5f 20 73 6f 73 29 5d 29 0a 20 dlers.([exn:fail?.(..._.sos)])..
2a120 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 76 61 72 73 20 73 74 78 73 29 0a .....(define-values.(vars.stxs).
2a140 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 2d 3e 65 78 70 6f 72 74 73 20 28 73 79 6e 74 61 78 ........(module->exports.(syntax
2a160 2d 3e 64 61 74 75 6d 20 72 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 29 29 29 0a 20 20 20 20 20 ->datum.raw-module-path)))......
2a180 20 28 64 65 66 69 6e 65 20 6f 72 69 67 0a 20 20 20 20 20 20 20 20 28 66 6f 72 2a 2f 6d 75 74 61 .(define.orig.........(for*/muta
2a1a0 62 6c 65 2d 73 65 74 20 28 5b 76 61 72 73 2b 73 74 78 73 20 28 69 6e 2d 6c 69 73 74 20 28 6c 69 ble-set.([vars+stxs.(in-list.(li
2a1c0 73 74 20 76 61 72 73 20 73 74 78 73 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st.vars.stxs))].................
2a1e0 20 20 20 20 20 20 20 20 20 20 20 5b 70 68 61 73 65 73 20 20 20 20 28 69 6e 2d 6c 69 73 74 20 76 ...........[phases....(in-list.v
2a200 61 72 73 2b 73 74 78 73 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ars+stxs)]......................
2a220 20 20 20 20 20 20 5b 65 78 70 6f 72 74 20 20 20 20 28 69 6e 2d 6c 69 73 74 20 28 63 64 72 20 70 ......[export....(in-list.(cdr.p
2a240 68 61 73 65 73 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 73 74 72 20 28 63 61 72 20 hases))])...........(->str.(car.
2a260 65 78 70 6f 72 74 29 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 49 66 20 69 6d 70 6f 72 74 73 20 61 export)))).......;;.If.imports.a
2a280 72 65 20 66 72 6f 6d 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 2c 20 74 68 65 re.from.the.module.language,.the
2a2a0 6e 20 7b 65 78 63 65 70 74 20 72 65 6e 61 6d 65 0a 20 20 20 20 20 20 3b 3b 20 70 72 65 66 69 78 n.{except.rename.......;;.prefix
2a2c0 7d 2d 69 6e 20 64 6f 20 4e 4f 54 20 72 65 6d 6f 76 65 20 69 6d 70 6f 72 74 73 20 75 6e 64 65 72 }-in.do.NOT.remove.imports.under
2a2e0 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 3b 3b 20 4f 74 68 .the.original.name........;;.Oth
2a300 65 72 77 69 73 65 20 74 68 65 79 20 64 6f 2e 0a 20 20 20 20 20 20 28 69 66 20 28 65 71 3f 20 28 erwise.they.do........(if.(eq?.(
2a320 73 79 6e 74 61 78 2d 65 20 72 61 77 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 29 20 28 73 79 6e 74 61 syntax-e.raw-module-path).(synta
2a340 78 2d 65 20 6c 61 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 75 6e 69 6f 6e 21 x-e.lang))...........(set-union!
2a360 20 73 6f 73 20 6f 72 69 67 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 73 75 62 74 72 61 .sos.orig)...........(set-subtra
2a380 63 74 21 20 73 6f 73 20 6f 72 69 67 20 65 78 63 65 70 74 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 ct!.sos.orig.exceptions)).......
2a3a0 28 66 6f 72 20 28 5b 76 20 28 69 6e 2d 73 65 74 20 6f 72 69 67 29 5d 29 0a 20 20 20 20 20 20 20 (for.([v.(in-set.orig)])........
2a3c0 20 28 73 65 74 2d 61 64 64 21 20 73 6f 73 20 28 7e 61 20 28 2d 3e 73 74 72 20 70 72 65 66 69 78 .(set-add!.sos.(~a.(->str.prefix
2a3e0 29 20 76 29 29 29 29 29 0a 0a 20 20 28 68 61 6e 64 6c 65 2d 6d 6f 64 75 6c 65 20 73 74 78 29 0a ).v)))))....(handle-module.stx).
2a400 20 20 73 6f 73 29 0a 0a 28 64 65 66 69 6e 65 20 28 2d 3e 73 74 72 20 76 29 0a 20 20 28 6d 61 74 ..sos)..(define.(->str.v)...(mat
2a420 63 68 20 76 0a 20 20 20 20 5b 28 3f 20 73 79 6e 74 61 78 3f 29 20 28 2d 3e 73 74 72 20 28 73 79 ch.v.....[(?.syntax?).(->str.(sy
2a440 6e 74 61 78 2d 65 20 76 29 29 5d 0a 20 20 20 20 5b 28 3f 20 73 79 6d 62 6f 6c 3f 29 20 28 73 79 ntax-e.v))].....[(?.symbol?).(sy
2a460 6d 62 6f 6c 2d 3e 73 74 72 69 6e 67 20 76 29 5d 0a 20 20 20 20 5b 28 3f 20 73 74 72 69 6e 67 3f mbol->string.v)].....[(?.string?
2a480 29 20 76 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 73 79 6e 74 61 78 2d 3e 73 74 72 69 6e 67 2d ).v]))..(define.(syntax->string-
2a4a0 73 65 74 20 73 29 0a 20 20 28 66 6f 72 2f 6d 75 74 61 62 6c 65 2d 73 65 74 20 28 5b 73 20 28 69 set.s)...(for/mutable-set.([s.(i
2a4c0 6e 2d 73 79 6e 74 61 78 20 73 29 5d 29 0a 20 20 20 20 28 2d 3e 73 74 72 20 73 29 29 29 0a 0a 28 n-syntax.s)]).....(->str.s)))..(
2a4e0 64 65 66 69 6e 65 20 28 73 79 6d 62 6f 6c 69 63 2d 63 6f 6d 70 61 72 65 3f 20 78 20 79 29 0a 20 define.(symbolic-compare?.x.y)..
2a500 20 28 65 71 3f 20 28 73 79 6e 74 61 78 2d 65 20 78 29 20 28 73 79 6e 74 61 78 2d 65 20 79 29 29 .(eq?.(syntax-e.x).(syntax-e.y))
2a520 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 2d 65 78 61 6d 70 6c 65 0a )..(module+.completions-example.
2a540 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 ..(parameterize.([current-namesp
2a560 61 63 65 20 28 6d 61 6b 65 2d 62 61 73 65 2d 6e 61 6d 65 73 70 61 63 65 29 5d 29 0a 20 20 20 20 ace.(make-base-namespace)]).....
2a580 28 64 65 66 69 6e 65 20 73 74 78 0a 20 20 20 20 20 20 28 65 78 70 61 6e 64 0a 20 20 20 20 20 20 (define.stx.......(expand.......
2a5a0 20 23 27 28 6d 6f 64 75 6c 65 20 6d 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 20 20 20 20 20 .#'(module.m.racket/base........
2a5c0 20 20 20 20 28 6d 6f 64 75 6c 65 20 73 75 62 20 72 61 63 6b 65 74 2f 62 61 73 65 20 28 76 6f 69 ....(module.sub.racket/base.(voi
2a5e0 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 2f 72 d))............(require.racket/r
2a600 65 71 75 69 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 6d equire.....................(subm
2a620 6f 64 20 22 2e 22 20 73 75 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 od.".".sub).....................
2a640 28 70 72 65 66 69 78 2d 69 6e 20 58 58 58 3a 20 28 65 78 63 65 70 74 2d 69 6e 20 72 61 63 6b 65 (prefix-in.XXX:.(except-in.racke
2a660 74 2f 66 69 6c 65 20 6f 74 68 65 72 2d 77 72 69 74 65 2d 62 69 74 29 29 0a 20 20 20 20 20 20 20 t/file.other-write-bit))........
2a680 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6e 61 6d 65 2d 69 6e 20 72 61 63 6b 65 74 2f 70 .............(rename-in.racket/p
2a6a0 61 74 68 20 5b 70 61 74 68 2d 6f 6e 6c 79 20 50 41 54 48 2d 4f 4e 4c 59 5d 29 29 29 29 29 0a 20 ath.[path-only.PATH-ONLY])))))..
2a6c0 20 20 20 28 73 79 6e 74 61 78 2d 3e 64 61 74 75 6d 20 73 74 78 29 0a 20 20 20 20 28 69 6d 70 6f ...(syntax->datum.stx).....(impo
2a6e0 72 74 73 20 73 74 78 29 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 rts.stx)))..(module+.completions
2a700 2d 65 78 61 6d 70 6c 65 2d 32 0a 20 20 28 72 65 71 75 69 72 65 20 22 73 79 6e 74 61 78 2e 72 6b -example-2...(require."syntax.rk
2a720 74 22 29 0a 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 6e 61 t")...(parameterize.([current-na
2a740 6d 65 73 70 61 63 65 20 28 6d 61 6b 65 2d 62 61 73 65 2d 65 6d 70 74 79 2d 6e 61 6d 65 73 70 61 mespace.(make-base-empty-namespa
2a760 63 65 29 5d 29 0a 20 20 20 20 28 73 74 72 69 6e 67 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 ce)]).....(string->expanded-synt
2a780 61 78 20 22 2f 74 6d 70 2f 66 6f 6f 2e 72 6b 74 22 20 22 23 6c 61 6e 67 20 72 68 6f 6d 62 75 73 ax."/tmp/foo.rkt"."#lang.rhombus
2a7a0 5c 6e 31 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \n1"............................
2a7c0 20 20 69 6d 70 6f 72 74 73 29 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 72 ..imports)))..(module+.test...(r
2a7e0 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 76 65 72 73 69 equire.rackunit............versi
2a800 6f 6e 2f 75 74 69 6c 73 29 0a 20 20 3b 3b 20 43 6f 6d 70 61 72 65 20 74 68 65 20 72 65 73 75 6c on/utils)...;;.Compare.the.resul
2a820 74 73 20 74 6f 20 6e 61 6d 65 73 70 61 63 65 2d 6d 61 70 70 65 64 2d 73 79 6d 62 6f 6c 73 2e 0a ts.to.namespace-mapped-symbols..
2a840 20 20 28 6d 6f 64 75 6c 65 20 6d 6f 64 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 20 20 28 6d ..(module.mod.racket/base.....(m
2a860 6f 64 75 6c 65 20 73 75 62 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 20 20 20 20 28 64 65 66 odule.sub.racket/base.......(def
2a880 69 6e 65 20 70 72 6f 76 69 64 65 64 2d 62 79 2d 73 75 62 6d 6f 64 75 6c 65 20 34 32 29 0a 20 20 ine.provided-by-submodule.42)...
2a8a0 20 20 20 20 28 70 72 6f 76 69 64 65 20 70 72 6f 76 69 64 65 64 2d 62 79 2d 73 75 62 6d 6f 64 75 ....(provide.provided-by-submodu
2a8c0 6c 65 29 29 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 28 72 65 6e 61 6d 65 2d 69 6e 20 72 61 63 le)).....(require.(rename-in.rac
2a8e0 6b 65 74 2f 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ket/path........................
2a900 20 5b 70 61 74 68 2d 6f 6e 6c 79 20 50 41 54 48 2d 4f 4e 4c 59 5d 29 0a 20 20 20 20 20 20 20 20 .[path-only.PATH-ONLY]).........
2a920 20 20 20 20 20 28 65 78 63 65 70 74 2d 69 6e 20 72 61 63 6b 65 74 2f 62 61 73 65 20 70 72 69 6e .....(except-in.racket/base.prin
2a940 74 6c 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6e 61 6d 65 2d 69 6e 20 72 61 63 tln)..............(rename-in.rac
2a960 6b 65 74 2f 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ket/base........................
2a980 20 5b 64 69 73 70 6c 61 79 20 44 49 53 50 4c 41 59 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .[display.DISPLAY]).............
2a9a0 20 28 70 72 65 66 69 78 2d 69 6e 20 50 52 45 46 49 58 3a 20 28 6f 6e 6c 79 2d 69 6e 20 72 61 63 .(prefix-in.PREFIX:.(only-in.rac
2a9c0 6b 65 74 2f 62 61 73 65 20 64 69 73 70 6c 61 79 6c 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ket/base.displayln))............
2a9e0 20 20 28 66 6f 72 2d 73 79 6e 74 61 78 20 28 72 65 6e 61 6d 65 2d 69 6e 20 72 61 63 6b 65 74 2f ..(for-syntax.(rename-in.racket/
2aa00 73 79 6e 74 61 78 20 5b 66 6f 72 6d 61 74 2d 69 64 20 46 4f 52 4d 41 54 2d 49 44 5d 29 29 0a 20 syntax.[format-id.FORMAT-ID]))..
2aa20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 6d 6f 64 20 22 2e 22 20 73 75 62 29 29 0a 20 20 ............(submod.".".sub))...
2aa40 20 20 28 64 65 66 69 6e 65 2d 6e 61 6d 65 73 70 61 63 65 2d 61 6e 63 68 6f 72 20 6e 73 61 29 0a ..(define-namespace-anchor.nsa).
2aa60 20 20 20 20 28 64 65 66 69 6e 65 20 6e 73 6d 73 20 28 6d 61 70 20 73 79 6d 62 6f 6c 2d 3e 73 74 ....(define.nsms.(map.symbol->st
2aa80 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 ring.......................(name
2aaa0 73 70 61 63 65 2d 6d 61 70 70 65 64 2d 73 79 6d 62 6f 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 space-mapped-symbols............
2aac0 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 73 70 61 63 65 2d 61 6e 63 68 6f 72 2d 3e 6e ............(namespace-anchor->n
2aae0 61 6d 65 73 70 61 63 65 20 6e 73 61 29 29 29 29 0a 20 20 20 20 28 70 72 6f 76 69 64 65 20 6e 73 amespace.nsa)))).....(provide.ns
2ab00 6d 73 29 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 6d 6f 64 29 0a 20 20 28 64 65 66 69 6e 65 20 ms))...(require.'mod)...(define.
2ab20 6d 6f 64 2f 73 74 78 0a 20 20 20 20 28 65 78 70 61 6e 64 0a 20 20 20 20 20 23 60 28 6d 6f 64 75 mod/stx.....(expand......#`(modu
2ab40 6c 65 20 6d 6f 64 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 28 6d 6f 64 le.mod.racket/base..........(mod
2ab60 75 6c 65 20 73 75 62 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 ule.sub.racket/base............(
2ab80 64 65 66 69 6e 65 20 70 72 6f 76 69 64 65 64 2d 62 79 2d 73 75 62 6d 6f 64 75 6c 65 20 34 32 29 define.provided-by-submodule.42)
2aba0 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 76 69 64 65 20 70 72 6f 76 69 64 65 64 2d 62 79 ............(provide.provided-by
2abc0 2d 73 75 62 6d 6f 64 75 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 28 -submodule))..........(require.(
2abe0 72 65 6e 61 6d 65 2d 69 6e 20 72 61 63 6b 65 74 2f 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 rename-in.racket/path...........
2ac00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 70 61 74 68 2d 6f 6e 6c 79 20 50 41 ...................[path-only.PA
2ac20 54 48 2d 4f 4e 4c 59 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 63 TH-ONLY])...................(exc
2ac40 65 70 74 2d 69 6e 20 72 61 63 6b 65 74 2f 62 61 73 65 20 70 72 69 6e 74 6c 6e 29 0a 20 20 20 20 ept-in.racket/base.println).....
2ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6e 61 6d 65 2d 69 6e 20 72 61 63 6b 65 74 2f ..............(rename-in.racket/
2ac80 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 base............................
2aca0 20 20 5b 64 69 73 70 6c 61 79 20 44 49 53 50 4c 41 59 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 ..[display.DISPLAY])............
2acc0 20 20 20 20 20 20 20 28 70 72 65 66 69 78 2d 69 6e 20 50 52 45 46 49 58 3a 20 28 6f 6e 6c 79 2d .......(prefix-in.PREFIX:.(only-
2ace0 69 6e 20 72 61 63 6b 65 74 2f 62 61 73 65 20 64 69 73 70 6c 61 79 6c 6e 29 29 0a 20 20 20 20 20 in.racket/base.displayln))......
2ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d 73 79 6e 74 61 78 20 28 72 65 6e 61 6d 65 .............(for-syntax.(rename
2ad20 2d 69 6e 20 72 61 63 6b 65 74 2f 73 79 6e 74 61 78 20 5b 66 6f 72 6d 61 74 2d 69 64 20 46 4f 52 -in.racket/syntax.[format-id.FOR
2ad40 4d 41 54 2d 49 44 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 MAT-ID]))...................(sub
2ad60 6d 6f 64 20 22 2e 22 20 73 75 62 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 70 72 69 6e 74 66 20 mod.".".sub))..........(eprintf.
2ad80 22 49 20 73 68 6f 75 6c 64 20 6e 6f 74 20 70 72 69 6e 74 21 22 29 29 29 29 0a 20 20 28 6c 65 74 "I.should.not.print!"))))...(let
2ada0 20 28 3b 3b 20 54 68 65 20 77 6f 72 6c 64 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 6e 61 6d .(;;.The.world.according.to.`nam
2adc0 65 73 70 61 63 65 2d 6d 61 70 70 65 64 2d 73 79 6d 62 6f 6c 73 60 0a 20 20 20 20 20 20 20 20 5b espace-mapped-symbols`.........[
2ade0 6e 73 6d 73 20 28 6c 69 73 74 2d 3e 73 65 74 20 6e 73 6d 73 29 5d 0a 20 20 20 20 20 20 20 20 3b nsms.(list->set.nsms)].........;
2ae00 3b 20 54 68 65 20 77 6f 72 6c 64 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 6f 75 72 20 60 69 6d ;.The.world.according.to.our.`im
2ae20 70 6f 72 74 73 60 0a 20 20 20 20 20 20 20 20 5b 63 73 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 ports`.........[cs.(parameterize
2ae40 20 28 5b 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 28 6d 61 6b 65 2d 62 61 73 65 2d .([current-namespace.(make-base-
2ae60 6e 61 6d 65 73 70 61 63 65 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 namespace)])...............(defi
2ae80 6e 65 20 73 74 78 20 28 65 78 70 61 6e 64 20 6d 6f 64 2f 73 74 78 29 29 0a 20 20 20 20 20 20 20 ne.stx.(expand.mod/stx))........
2aea0 20 20 20 20 20 20 20 28 74 69 6d 65 20 28 69 6d 70 6f 72 74 73 20 73 74 78 29 29 29 5d 29 0a 20 .......(time.(imports.stx)))])..
2aec0 20 20 20 3b 3b 20 54 65 73 74 20 7b 70 72 65 66 69 78 20 72 65 6e 61 6d 65 20 65 78 63 65 70 74 ...;;.Test.{prefix.rename.except
2aee0 7d 2d 69 6e 2c 20 6b 65 65 70 69 6e 67 20 6d 69 6e 64 20 74 68 61 74 20 74 68 65 79 20 77 6f 72 }-in,.keeping.mind.that.they.wor
2af00 6b 0a 20 20 20 20 3b 3b 20 64 69 66 66 65 72 65 6e 74 6c 79 20 66 6f 72 20 72 65 71 75 69 72 65 k.....;;.differently.for.require
2af20 73 20 74 68 61 74 20 6d 6f 64 69 66 79 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 s.that.modify.the.module.languag
2af40 65 0a 20 20 20 20 3b 3b 20 69 6d 70 6f 72 74 73 2e 0a 20 20 20 20 28 63 68 65 63 6b 2d 66 61 6c e.....;;.imports......(check-fal
2af60 73 65 20 28 73 65 74 2d 6d 65 6d 62 65 72 3f 20 63 73 20 22 70 61 74 68 2d 6f 6e 6c 79 22 29 0a se.(set-member?.cs."path-only").
2af80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 6e 61 6d 65 2d 69 6e 20 6e 6f 74 20 ................."rename-in.not.
2afa0 66 72 6f 6d 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 20 68 69 64 65 73 20 6f 6c 64 20 6e from.module.language.hides.old.n
2afc0 61 6d 65 22 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 74 72 75 65 20 28 73 65 74 2d 6d 65 6d 62 65 ame").....(check-true.(set-membe
2afe0 72 3f 20 63 73 20 22 50 41 54 48 2d 4f 4e 4c 59 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 r?.cs."PATH-ONLY")..............
2b000 20 20 20 22 72 65 6e 61 6d 65 2d 69 6e 20 6e 6f 74 20 66 72 6f 6d 20 6d 6f 64 75 6c 65 20 6c 61 ..."rename-in.not.from.module.la
2b020 6e 67 75 61 67 65 20 68 61 73 20 6e 65 77 20 6e 61 6d 65 20 22 29 0a 20 20 20 20 28 63 68 65 63 nguage.has.new.name.").....(chec
2b040 6b 2d 74 72 75 65 20 28 73 65 74 2d 6d 65 6d 62 65 72 3f 20 63 73 20 22 64 69 73 70 6c 61 79 22 k-true.(set-member?.cs."display"
2b060 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 6e 61 6d 65 2d 69 6e 20 66 72 6f )................."rename-in.fro
2b080 6d 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 20 64 6f 65 73 20 6e 6f 74 20 68 69 64 65 20 m.module.language.does.not.hide.
2b0a0 6f 6c 64 20 6e 61 6d 65 22 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 74 72 75 65 20 28 73 65 74 2d old.name").....(check-true.(set-
2b0c0 6d 65 6d 62 65 72 3f 20 63 73 20 22 44 49 53 50 4c 41 59 22 29 0a 20 20 20 20 20 20 20 20 20 20 member?.cs."DISPLAY")...........
2b0e0 20 20 20 20 20 20 22 72 65 6e 61 6d 65 2d 69 6e 20 66 72 6f 6d 20 6d 6f 64 75 6c 65 20 6c 61 6e ......"rename-in.from.module.lan
2b100 67 75 61 67 65 20 68 61 73 20 6e 65 77 20 6e 61 6d 65 22 29 0a 20 20 20 20 28 63 68 65 63 6b 2d guage.has.new.name").....(check-
2b120 74 72 75 65 20 28 73 65 74 2d 6d 65 6d 62 65 72 3f 20 63 73 20 22 64 69 73 70 6c 61 79 6c 6e 22 true.(set-member?.cs."displayln"
2b140 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 66 69 78 2d 69 6e 20 66 72 6f )................."prefix-in.fro
2b160 6d 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 20 64 6f 65 73 20 6e 6f 74 20 68 69 64 65 20 m.module.language.does.not.hide.
2b180 6f 6c 64 20 6e 61 6d 65 22 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 74 72 75 65 20 28 73 65 74 2d old.name").....(check-true.(set-
2b1a0 6d 65 6d 62 65 72 3f 20 63 73 20 22 50 52 45 46 49 58 3a 64 69 73 70 6c 61 79 6c 6e 22 29 0a 20 member?.cs."PREFIX:displayln")..
2b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 66 69 78 2d 69 6e 20 66 72 6f 6d 20 6d ..............."prefix-in.from.m
2b1e0 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 odule.language.is.available.unde
2b200 72 20 6e 65 77 20 6e 61 6d 65 22 29 0a 20 20 20 20 3b 3b 20 6e 61 6d 65 73 70 61 63 65 2d 6d 61 r.new.name").....;;.namespace-ma
2b220 70 70 65 64 2d 73 79 6d 62 6f 6c 73 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 73 6f 6d 65 20 64 65 pped-symbols.will.return.some.de
2b240 66 69 6e 69 74 69 6f 6e 73 20 62 65 79 6f 6e 64 0a 20 20 20 20 3b 3b 20 74 68 6f 73 65 20 69 6d finitions.beyond.....;;.those.im
2b260 70 6f 72 74 65 64 20 2d 2d 20 69 74 20 69 6e 63 6c 75 64 65 73 20 7b 74 6f 70 20 6d 6f 64 75 6c ported.--.it.includes.{top.modul
2b280 65 7d 2d 6c 65 76 65 6c 20 62 69 6e 64 69 6e 67 73 2e 20 54 68 69 73 0a 20 20 20 20 3b 3b 20 74 e}-level.bindings..This.....;;.t
2b2a0 65 73 74 20 61 63 63 6f 75 6e 74 73 20 66 6f 72 20 74 68 61 74 20 77 69 74 68 20 61 20 64 75 6d est.accounts.for.that.with.a.dum
2b2c0 62 20 61 64 20 68 6f 63 20 6c 69 73 74 2e 20 28 4d 6f 72 65 20 6e 69 66 74 79 0a 20 20 20 20 3b b.ad.hoc.list..(More.nifty.....;
2b2e0 3b 20 77 6f 75 6c 64 20 62 65 20 74 6f 20 77 61 6c 6b 20 6f 75 72 20 74 65 73 74 20 73 74 78 20 ;.would.be.to.walk.our.test.stx.
2b300 61 6e 64 20 62 75 69 6c 64 20 74 68 61 74 20 6c 69 73 74 2e 29 0a 20 20 20 20 3b 3b 0a 20 20 20 and.build.that.list.).....;;....
2b320 20 3b 3b 20 46 49 58 4d 45 3f 20 54 72 61 76 69 73 20 43 49 20 73 61 79 73 20 74 68 69 73 20 74 .;;.FIXME?.Travis.CI.says.this.t
2b340 65 73 74 20 66 61 69 6c 73 20 70 72 69 6f 72 20 74 6f 20 52 61 63 6b 65 74 20 37 2e 30 3a 0a 20 est.fails.prior.to.Racket.7.0:..
2b360 20 20 20 3b 3b 20 6e 61 6d 65 73 70 61 63 65 2d 6d 61 70 70 65 64 2d 73 79 6d 62 6f 6c 73 20 72 ...;;.namespace-mapped-symbols.r
2b380 65 70 6f 72 74 73 20 7e 34 30 30 20 6d 6f 72 65 20 73 79 6d 62 6f 6c 73 20 2d 2d 0a 20 20 20 20 eports.~400.more.symbols.--.....
2b3a0 3b 3b 20 61 70 70 61 72 65 6e 74 6c 79 20 66 72 6f 6d 20 66 75 6c 6c 20 72 61 63 6b 65 74 20 28 ;;.apparently.from.full.racket.(
2b3c0 73 68 6f 75 6c 64 20 62 65 20 72 61 63 6b 65 74 2f 62 61 73 65 29 2e 20 48 75 68 3f 3f 0a 20 20 should.be.racket/base)..Huh??...
2b3e0 20 20 3b 3b 20 57 65 6c 6c 2c 20 5f 6f 75 72 5f 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 6f 72 ..;;.Well,._our_.results.are.cor
2b400 72 65 63 74 2e 20 46 6f 72 20 6e 6f 77 2c 20 6c 65 74 27 73 20 6a 75 73 74 20 64 6f 20 74 68 65 rect..For.now,.let's.just.do.the
2b420 0a 20 20 20 20 3b 3b 20 74 65 73 74 20 6f 6e 20 52 61 63 6b 65 74 20 37 2e 30 2b 2e 0a 20 20 20 .....;;.test.on.Racket.7.0+.....
2b440 20 28 77 68 65 6e 20 28 76 65 72 73 69 6f 6e 3c 3d 3f 20 22 37 2e 30 22 20 28 76 65 72 73 69 6f .(when.(version<=?."7.0".(versio
2b460 6e 29 29 0a 20 20 20 20 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 73 65 74 2d 73 75 62 n)).......(check-equal?.(set-sub
2b480 74 72 61 63 74 20 6e 73 6d 73 20 63 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tract.nsms.cs)..................
2b4a0 20 20 20 28 73 65 74 20 22 74 6d 70 2e 31 22 20 22 6e 73 6d 73 22 20 22 6e 73 61 22 20 22 70 72 ...(set."tmp.1"."nsms"."nsa"."pr
2b4c0 6f 76 69 64 65 64 2d 62 79 2d 73 75 62 6d 6f 64 75 6c 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 ovided-by-submodule")...........
2b4e0 20 20 20 20 20 20 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 6d 61 70 70 65 64 2d 73 79 6d 62 .........."namespace-mapped-symb
2b500 6f 6c 73 20 72 65 74 75 72 6e 73 20 6f 6e 6c 79 20 61 20 66 65 77 20 6d 6f 72 65 2c 20 6e 6f 6e ols.returns.only.a.few.more,.non
2b520 2d 69 6d 70 6f 72 74 65 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 22 29 29 29 0a 20 20 3b 3b 20 49 -imported.definitions")))...;;.I
2b540 73 73 75 65 20 34 38 31 0a 20 20 28 63 68 65 63 6b 2d 6e 6f 74 2d 65 78 6e 20 28 ce bb 20 28 29 ssue.481...(check-not-exn.(...()
2b560 20 28 69 6d 70 6f 72 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(imports.......................
2b580 20 20 28 65 78 70 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(expand.......................
2b5a0 20 20 20 23 60 28 6d 6f 64 75 6c 65 20 6d 6f 64 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 20 ...#`(module.mod.racket/base....
2b5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c ..........................(modul
2b5e0 65 20 73 75 62 31 20 72 61 63 6b 65 74 2f 62 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 e.sub1.racket/base).............
2b600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 20 73 75 62 32 20 72 61 .................(module.sub2.ra
2b620 63 6b 65 74 2f 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cket/base.......................
2b640 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 28 73 75 62 6d 6f 64 20 22 2e 2e 22 20 73 .........(require.(submod."..".s
2b660 75 62 31 29 29 29 29 29 29 29 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 73 6c 6f 77 2d 74 65 73 74 ub1)))))))))..(module+.slow-test
2b680 0a 20 20 3b 3b 20 45 78 65 72 63 69 73 65 20 6f 75 72 20 70 61 72 73 69 6e 67 20 6f 66 20 74 68 ...;;.Exercise.our.parsing.of.th
2b6a0 65 20 23 25 72 65 71 75 69 72 65 20 67 72 61 6d 6d 61 72 3a 20 54 72 79 20 64 6f 69 6e 67 0a 20 e.#%require.grammar:.Try.doing..
2b6c0 20 3b 3b 20 28 63 68 65 63 6b 2d 6e 6f 74 2d 65 78 6e 20 28 69 6d 70 6f 72 74 73 20 73 74 78 29 .;;.(check-not-exn.(imports.stx)
2b6e0 29 20 6f 6e 20 6d 61 6e 79 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 52 61 63 6b 65 74 0a 20 20 ).on.many.files.in.the.Racket...
2b700 3b 3b 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 20 47 72 61 6d 6d 61 72 20 6d 69 73 74 61 6b 65 ;;.distribution..Grammar.mistake
2b720 73 20 77 69 6c 6c 20 72 61 69 73 65 20 65 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 61 78 2e 0a 20 20 s.will.raise.exn:fail:syntax....
2b740 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 72 61 63 (require.rackunit............rac
2b760 6b 65 74 2f 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 22 73 79 6e 74 61 78 2e 72 6b 74 22 ket/path............"syntax.rkt"
2b780 29 0a 20 20 28 64 65 66 69 6e 65 20 28 63 68 65 63 6b 20 70 61 74 68 29 0a 20 20 20 20 28 70 61 )...(define.(check.path).....(pa
2b7a0 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 rameterize.([current-load-relati
2b7c0 76 65 2d 64 69 72 65 63 74 6f 72 79 20 28 70 61 74 68 2d 6f 6e 6c 79 20 70 61 74 68 29 5d 0a 20 ve-directory.(path-only.path)]..
2b7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 ..................[current-names
2b800 70 61 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 62 61 73 65 2d 6e 61 pace...............(make-base-na
2b820 6d 65 73 70 61 63 65 29 5d 29 0a 20 20 20 20 20 20 28 66 69 6c 65 2d 3e 65 78 70 61 6e 64 65 64 mespace)]).......(file->expanded
2b840 2d 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 70 61 74 68 0a 20 20 20 20 20 20 20 28 ce bb 20 28 -syntax........path........(...(
2b860 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 2d 6e 6f 74 2d 65 78 6e 20 28 ce bb stx)..........(check-not-exn.(..
2b880 20 28 29 20 28 69 6d 70 6f 72 74 73 20 73 74 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .().(imports.stx))..............
2b8a0 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 23 25 72 65 71 75 69 72 65 20 67 72 ...........(format."#%require.gr
2b8c0 61 6d 6d 61 72 20 68 61 6e 64 6c 65 73 20 7e 76 22 20 70 61 74 68 29 29 29 29 29 29 0a 20 20 28 ammar.handles.~v".path))))))...(
2b8e0 66 6f 72 2a 20 28 5b 72 6f 6f 74 73 20 28 69 6e 2d 6c 69 73 74 20 27 28 28 22 72 61 63 6b 65 74 for*.([roots.(in-list.'(("racket
2b900 2e 72 6b 74 22 20 22 74 79 70 65 64 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .rkt"."typed")..................
2b920 20 20 20 20 20 20 20 20 20 20 28 22 63 6f 72 65 2e 72 6b 74 22 20 22 74 79 70 65 64 2d 72 61 63 ..........("core.rkt"."typed-rac
2b940 6b 65 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ket")...........................
2b960 20 28 22 6d 61 69 6e 2e 72 6b 74 22 20 22 72 61 63 6b 65 74 22 29 29 29 5d 0a 20 20 20 20 20 20 .("main.rkt"."racket")))].......
2b980 20 20 20 5b 70 61 74 68 20 20 28 69 6e 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 ...[path..(in-directory.........
2b9a0 20 20 20 20 20 20 20 20 20 28 70 61 74 68 2d 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 .........(path-only.............
2b9c0 20 20 20 20 20 20 28 61 70 70 6c 79 20 63 6f 6c 6c 65 63 74 69 6f 6e 2d 66 69 6c 65 2d 70 61 74 ......(apply.collection-file-pat
2b9e0 68 20 72 6f 6f 74 73 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 23 3a 77 68 65 6e 20 28 65 71 75 h.roots)))]..........#:when.(equ
2ba00 61 6c 3f 20 23 22 72 6b 74 22 20 28 66 69 6c 65 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 70 al?.#"rkt".(filename-extension.p
2ba20 61 74 68 29 29 29 0a 20 20 20 20 28 70 72 69 6e 74 6c 6e 20 70 61 74 68 29 0a 20 20 20 20 28 63 ath))).....(println.path).....(c
2ba40 68 65 63 6b 20 70 61 74 68 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 heck.path)))....................
2ba60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ba80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bc00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
2bc20 72 61 63 6b 65 74 2f 70 72 69 6e 74 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/print.rkt................
2bc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bc60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
2bc80 30 30 30 37 36 33 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 30 30 35 00 20 30 00 00 00 0007632.00000000000.017005..0...
2bca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bd00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2bd20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2bd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2be00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
2be20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
2be40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
2be60 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
2be80 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 70 6f 72 74 0a 20 20 20 20 /match..........racket/port.....
2bea0 20 20 20 20 20 72 61 63 6b 65 74 2f 70 72 65 74 74 79 0a 20 20 20 20 20 20 20 20 20 22 69 6d 61 .....racket/pretty.........."ima
2bec0 67 65 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 72 65 70 6c 2d 6f 75 74 70 75 74 2e 72 6b ge.rkt".........."repl-output.rk
2bee0 74 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 6d 61 6b 65 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 70 t")..(provide.make-racket-mode-p
2bf00 72 69 6e 74 2d 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 2d 76 61 rint-handler..........current-va
2bf20 6c 75 65 2d 70 6f 72 74 29 0a 0a 28 64 65 66 69 6e 65 20 63 75 72 72 65 6e 74 2d 76 61 6c 75 65 lue-port)..(define.current-value
2bf40 2d 70 6f 72 74 20 28 6d 61 6b 65 2d 70 61 72 61 6d 65 74 65 72 20 23 66 29 29 0a 0a 28 64 65 66 -port.(make-parameter.#f))..(def
2bf60 69 6e 65 20 28 6d 61 6b 65 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 70 72 69 6e 74 2d 68 61 6e 64 ine.(make-racket-mode-print-hand
2bf80 6c 65 72 20 70 72 65 74 74 79 3f 20 63 6f 6c 75 6d 6e 73 20 70 69 78 65 6c 73 2f 63 68 61 72 29 ler.pretty?.columns.pixels/char)
2bfa0 0a 20 20 28 64 65 66 69 6e 65 20 28 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 70 72 69 6e 74 2d 68 61 ...(define.(racket-mode-print-ha
2bfc0 6e 64 6c 65 72 20 76 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 76 6f 69 64 3f 20 76 29 0a 20 ndler.v).....(unless.(void?.v)..
2bfe0 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 69 6e 20 6f 75 74 29 20 28 6d 61 .....(define-values.(in.out).(ma
2c000 6b 65 2d 76 61 6c 75 65 2d 70 69 70 65 29 29 0a 20 20 20 20 20 20 28 70 61 72 61 6d 65 74 65 72 ke-value-pipe)).......(parameter
2c020 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 74 20 6f 75 74 5d 0a 20 ize.([current-output-port.out]..
2c040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 70 72 69 6e 74 2d 73 79 6e 74 61 ....................[print-synta
2c060 78 2d 77 69 64 74 68 20 2b 69 6e 66 2e 30 5d 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 x-width.+inf.0]).........(cond..
2c080 20 20 20 20 20 20 20 20 20 5b 70 72 65 74 74 79 3f 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 61 .........[pretty?............(pa
2c0a0 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 63 6f 6c 75 6d 6e rameterize.([pretty-print-column
2c0c0 73 20 63 6f 6c 75 6d 6e 73 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.columns]......................
2c0e0 20 20 20 20 20 5b 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 73 69 7a 65 2d 68 6f 6f 6b 20 28 6d 61 .....[pretty-print-size-hook.(ma
2c100 6b 65 2d 70 70 2d 73 69 7a 65 2d 68 6f 6f 6b 20 70 69 78 65 6c 73 2f 63 68 61 72 29 5d 0a 20 20 ke-pp-size-hook.pixels/char)]...
2c120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 70 72 65 74 74 79 2d ........................[pretty-
2c140 70 72 69 6e 74 2d 70 72 69 6e 74 2d 68 6f 6f 6b 20 28 6d 61 6b 65 2d 70 70 2d 70 72 69 6e 74 2d print-print-hook.(make-pp-print-
2c160 68 6f 6f 6b 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 74 74 79 2d 70 72 69 hook)])..............(pretty-pri
2c180 6e 74 20 76 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 nt.v))]...........[else.........
2c1a0 20 20 20 28 6d 61 74 63 68 20 28 63 6f 6e 76 65 72 74 2d 69 6d 61 67 65 20 76 29 0a 20 20 20 20 ...(match.(convert-image.v).....
2c1c0 20 20 20 20 20 20 20 20 20 5b 28 63 6f 6e 73 20 70 61 74 68 2d 6e 61 6d 65 20 5f 70 69 78 65 6c .........[(cons.path-name._pixel
2c1e0 2d 77 69 64 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 72 69 74 65 2d 73 70 65 -width)...............(write-spe
2c200 63 69 61 6c 20 28 63 6f 6e 73 20 27 69 6d 61 67 65 20 70 61 74 68 2d 6e 61 6d 65 29 29 5d 0a 20 cial.(cons.'image.path-name))]..
2c220 20 20 20 20 20 20 20 20 20 20 20 20 5b 5f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 ............[_...............(pr
2c240 69 6e 74 20 76 29 5d 29 5d 29 29 0a 20 20 20 20 20 20 28 64 72 61 69 6e 2d 76 61 6c 75 65 2d 70 int.v)])])).......(drain-value-p
2c260 69 70 65 20 69 6e 20 6f 75 74 29 29 29 0a 20 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 70 72 69 6e ipe.in.out)))...racket-mode-prin
2c280 74 2d 68 61 6e 64 6c 65 72 29 0a 0a 3b 3b 20 42 65 63 61 75 73 65 20 70 72 65 74 74 79 2d 70 72 t-handler)..;;.Because.pretty-pr
2c2a0 69 6e 74 20 64 6f 65 73 20 61 20 70 72 69 6e 74 20 66 6f 72 20 65 61 63 68 20 76 61 6c 75 65 20 int.does.a.print.for.each.value.
2c2c0 77 69 74 68 69 6e 20 61 20 6c 69 73 74 2c 0a 3b 3b 20 70 6c 75 73 20 66 6f 72 20 65 61 63 68 20 within.a.list,.;;.plus.for.each.
2c2e0 73 70 61 63 65 20 61 6e 64 20 6e 65 77 6c 69 6e 65 2c 20 65 74 63 2e 2c 20 69 74 20 63 61 6e 20 space.and.newline,.etc.,.it.can.
2c300 72 65 73 75 6c 74 20 69 6e 20 6d 61 6e 79 20 63 61 6c 6c 73 0a 3b 3b 20 74 6f 20 72 65 70 6c 2d result.in.many.calls.;;.to.repl-
2c320 6f 75 74 70 75 74 2d 76 61 6c 75 65 20 77 69 74 68 20 73 68 6f 72 74 20 73 74 72 69 6e 67 73 2e output-value.with.short.strings.
2c340 0a 3b 3b 0a 3b 3b 20 54 6f 20 61 76 6f 69 64 20 74 68 69 73 3a 20 55 73 65 20 66 6f 72 20 63 75 .;;.;;.To.avoid.this:.Use.for.cu
2c360 72 72 65 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 74 20 61 20 70 69 70 65 20 6f 66 20 75 6e 6c 69 rrent-output-port.a.pipe.of.unli
2c380 6d 69 74 65 64 20 73 69 7a 65 0a 3b 3b 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 65 20 61 6c 6c 20 mited.size.;;.to.accumulate.all.
2c3a0 74 68 65 20 70 72 65 74 74 79 2d 70 72 69 6e 74 65 64 20 62 79 74 65 73 20 61 6e 64 20 73 70 65 the.pretty-printed.bytes.and.spe
2c3c0 63 69 61 6c 73 2e 20 46 69 6e 61 6c 6c 79 0a 3b 3b 20 64 72 61 69 6e 20 69 74 20 75 73 69 6e 67 cials..Finally.;;.drain.it.using
2c3e0 20 72 65 61 64 2d 62 79 74 65 73 2d 61 76 61 69 6c 21 20 74 6f 20 63 6f 6e 73 6f 6c 69 64 61 74 .read-bytes-avail!.to.consolidat
2c400 65 20 72 75 6e 73 20 6f 66 20 62 79 74 65 73 0a 3b 3b 20 28 69 6e 74 65 72 72 75 70 74 65 64 20 e.runs.of.bytes.;;.(interrupted.
2c420 6f 6e 6c 79 20 62 79 20 73 70 65 63 69 61 6c 73 2c 20 69 66 20 61 6e 79 29 20 75 70 20 74 6f 20 only.by.specials,.if.any).up.to.
2c440 61 20 66 69 78 65 64 20 62 75 66 66 65 72 20 73 69 7a 65 2e 0a 0a 28 64 65 66 69 6e 65 20 28 6d a.fixed.buffer.size...(define.(m
2c460 61 6b 65 2d 76 61 6c 75 65 2d 70 69 70 65 29 0a 20 20 28 6d 61 6b 65 2d 70 69 70 65 2d 77 69 74 ake-value-pipe)...(make-pipe-wit
2c480 68 2d 73 70 65 63 69 61 6c 73 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 64 72 61 69 6e 2d 76 61 6c h-specials))..(define.(drain-val
2c4a0 75 65 2d 70 69 70 65 20 69 6e 20 6f 75 74 29 0a 20 20 28 66 6c 75 73 68 2d 6f 75 74 70 75 74 20 ue-pipe.in.out)...(flush-output.
2c4c0 6f 75 74 29 0a 20 20 28 63 6c 6f 73 65 2d 6f 75 74 70 75 74 2d 70 6f 72 74 20 6f 75 74 29 0a 20 out)...(close-output-port.out)..
2c4e0 20 28 64 65 66 69 6e 65 20 62 75 66 66 65 72 20 28 6d 61 6b 65 2d 62 79 74 65 73 20 32 30 34 38 .(define.buffer.(make-bytes.2048
2c500 29 29 0a 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 29 0a 20 20 20 20 28 6d 61 74 63 68 20 28 72 65 ))...(let.loop.().....(match.(re
2c520 61 64 2d 62 79 74 65 73 2d 61 76 61 69 6c 21 20 62 75 66 66 65 72 20 69 6e 29 0a 20 20 20 20 20 ad-bytes-avail!.buffer.in)......
2c540 20 5b 28 3f 20 65 78 61 63 74 2d 6e 6f 6e 6e 65 67 61 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 20 .[(?.exact-nonnegative-integer?.
2c560 6c 65 6e 29 0a 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 76 20 28 62 79 74 65 73 2d 3e 73 74 len)........(define.v.(bytes->st
2c580 72 69 6e 67 2f 75 74 66 2d 38 20 28 73 75 62 62 79 74 65 73 20 62 75 66 66 65 72 20 30 20 6c 65 ring/utf-8.(subbytes.buffer.0.le
2c5a0 6e 29 29 29 0a 20 20 20 20 20 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 76 61 6c 75 65 20 76 n)))........(repl-output-value.v
2c5c0 29 0a 20 20 20 20 20 20 20 28 6c 6f 6f 70 29 5d 0a 20 20 20 20 20 20 5b 28 3f 20 70 72 6f 63 65 )........(loop)].......[(?.proce
2c5e0 64 75 72 65 3f 20 72 65 61 64 2d 73 70 65 63 69 61 6c 29 0a 20 20 20 20 20 20 20 3b 3b 20 6d 2d dure?.read-special)........;;.m-
2c600 70 2d 77 2d 73 70 65 63 69 61 6c 73 20 69 67 6e 6f 72 65 73 20 74 68 65 20 70 6f 73 69 74 69 6f p-w-specials.ignores.the.positio
2c620 6e 20 61 72 67 75 6d 65 6e 74 73 20 73 6f 20 6a 75 73 74 20 70 61 73 73 0a 20 20 20 20 20 20 20 n.arguments.so.just.pass........
2c640 3b 3b 20 73 6f 6d 65 74 68 69 6e 67 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 63 6f 6e 74 ;;.something.satisfying.the.cont
2c660 72 61 63 74 2e 0a 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 76 20 28 72 65 61 64 2d 73 70 65 ract.........(define.v.(read-spe
2c680 63 69 61 6c 20 23 66 20 23 66 20 23 66 20 31 29 29 0a 20 20 20 20 20 20 20 28 72 65 70 6c 2d 6f cial.#f.#f.#f.1))........(repl-o
2c6a0 75 74 70 75 74 2d 76 61 6c 75 65 2d 73 70 65 63 69 61 6c 20 76 29 0a 20 20 20 20 20 20 20 28 6c utput-value-special.v)........(l
2c6c0 6f 6f 70 29 5d 0a 20 20 20 20 20 20 5b 28 3f 20 65 6f 66 2d 6f 62 6a 65 63 74 3f 29 20 28 76 6f oop)].......[(?.eof-object?).(vo
2c6e0 69 64 29 5d 29 29 29 0a 0a 3b 3b 20 70 72 65 74 74 79 2d 70 72 69 6e 74 20 75 73 65 73 20 73 65 id)])))..;;.pretty-print.uses.se
2c700 70 61 72 61 74 65 20 73 69 7a 65 20 61 6e 64 20 70 72 69 6e 74 20 68 6f 6f 6b 73 20 2d 2d 20 61 parate.size.and.print.hooks.--.a
2c720 6e 64 20 74 68 65 20 73 69 7a 65 0a 3b 3b 20 68 6f 6f 6b 20 63 61 6e 20 65 76 65 6e 20 62 65 20 nd.the.size.;;.hook.can.even.be.
2c740 63 61 6c 6c 65 64 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 20 70 65 72 20 6f 62 6a 65 63 74 called.more.than.once.per.object
2c760 2e 20 41 76 6f 69 64 20 63 61 6c 6c 69 6e 67 0a 3b 3b 20 63 6f 6e 76 65 72 74 2d 69 6d 61 67 65 ..Avoid.calling.;;.convert-image
2c780 20 74 77 6f 20 28 6f 72 20 6d 6f 72 65 21 29 20 74 69 6d 65 73 20 70 65 72 20 6f 62 6a 65 63 74 .two.(or.more!).times.per.object
2c7a0 2e 20 54 68 61 74 20 63 6f 75 6c 64 20 62 65 20 73 6c 6f 77 0a 3b 3b 20 66 6f 72 20 6c 61 72 67 ..That.could.be.slow.;;.for.larg
2c7c0 65 20 69 6d 61 67 65 73 3b 20 66 75 72 74 68 65 72 6d 6f 72 65 20 65 61 63 68 20 63 61 6c 6c 20 e.images;.furthermore.each.call.
2c7e0 63 72 65 61 74 65 73 20 61 20 74 65 6d 70 20 66 69 6c 65 2e 0a 3b 3b 0a 3b 3b 20 49 6e 73 74 65 creates.a.temp.file..;;.;;.Inste
2c800 61 64 3a 20 43 61 6c 6c 20 63 6f 6e 76 65 72 74 2d 69 6d 61 67 65 20 6f 6e 63 65 20 69 6e 20 74 ad:.Call.convert-image.once.in.t
2c820 68 65 20 73 69 7a 65 20 68 6f 6f 6b 2c 20 73 74 6f 72 69 6e 67 20 74 68 65 0a 3b 3b 20 72 65 73 he.size.hook,.storing.the.;;.res
2c840 75 6c 74 20 69 6e 20 61 20 68 61 73 68 2d 74 61 62 6c 65 20 66 6f 72 20 75 73 65 20 61 63 72 6f ult.in.a.hash-table.for.use.acro
2c860 73 73 20 6c 61 74 65 72 20 63 61 6c 6c 73 20 74 6f 20 74 68 65 20 73 69 7a 65 0a 3b 3b 20 61 6e ss.later.calls.to.the.size.;;.an
2c880 64 2f 6f 72 20 70 72 69 6e 74 20 68 6f 6f 6b 2e 20 52 65 6d 6f 76 65 20 69 6e 20 74 68 65 20 70 d/or.print.hook..Remove.in.the.p
2c8a0 72 69 6e 74 20 68 6f 6f 6b 2e 0a 3b 3b 0a 3b 3b 20 28 4e 6f 74 65 3a 20 41 6c 74 68 6f 75 67 68 rint.hook..;;.;;.(Note:.Although
2c8c0 20 49 20 68 61 64 20 74 72 69 65 64 20 75 73 69 6e 67 20 74 68 65 20 70 72 65 2d 70 72 69 6e 74 .I.had.tried.using.the.pre-print
2c8e0 20 61 6e 64 20 70 6f 73 74 2d 70 72 69 6e 74 0a 3b 3b 20 68 6f 6f 6b 73 2c 20 74 68 65 79 20 73 .and.post-print.;;.hooks,.they.s
2c900 65 65 6d 65 64 20 74 6f 20 62 65 20 63 61 6c 6c 65 64 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74 6c eemed.to.be.called.inconsistentl
2c920 79 2e 29 0a 3b 3b 0a 3b 3b 20 41 6c 73 6f 3a 20 22 54 68 65 20 70 72 69 6e 74 2d 68 6f 6f 6b 20 y.).;;.;;.Also:."The.print-hook.
2c940 70 72 6f 63 65 64 75 72 65 20 69 73 20 61 70 70 6c 69 65 64 20 74 6f 20 61 20 76 61 6c 75 65 20 procedure.is.applied.to.a.value.
2c960 66 6f 72 20 70 72 69 6e 74 69 6e 67 0a 3b 3b 20 77 68 65 6e 20 74 68 65 20 73 69 7a 69 6e 67 20 for.printing.;;.when.the.sizing.
2c980 68 6f 6f 6b 20 28 73 65 65 20 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 73 69 7a 65 2d 68 6f 6f 6b hook.(see.pretty-print-size-hook
2c9a0 29 20 72 65 74 75 72 6e 73 20 61 6e 0a 3b 3b 20 69 6e 74 65 67 65 72 20 73 69 7a 65 20 66 6f 72 ).returns.an.;;.integer.size.for
2c9c0 20 74 68 65 20 76 61 6c 75 65 2e 22 20 69 2e 65 2e 20 42 75 74 20 6e 6f 74 20 63 61 6c 6c 65 64 .the.value.".i.e..But.not.called
2c9e0 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 28 64 65 66 69 6e 65 20 68 74 20 28 6d 61 6b 65 2d 77 65 .otherwise...(define.ht.(make-we
2ca00 61 6b 2d 68 61 73 68 65 71 29 29 20 3b 77 65 61 6b 20 62 65 63 61 75 73 65 20 23 36 32 34 0a 0a ak-hasheq)).;weak.because.#624..
2ca20 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 70 70 2d 73 69 7a 65 2d 68 6f 6f 6b 20 70 69 78 65 6c (define.(make-pp-size-hook.pixel
2ca40 73 2f 63 68 61 72 29 0a 20 20 28 64 65 66 69 6e 65 20 28 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 s/char)...(define.(racket-mode-s
2ca60 69 7a 65 2d 68 6f 6f 6b 20 76 61 6c 75 65 20 64 69 73 70 6c 61 79 3f 20 70 6f 72 74 29 0a 20 20 ize-hook.value.display?.port)...
2ca80 20 20 28 64 65 66 69 6e 65 20 28 6e 6f 74 2d 66 6f 75 6e 64 29 0a 20 20 20 20 20 20 28 6d 61 74 ..(define.(not-found).......(mat
2caa0 63 68 20 28 63 6f 6e 76 65 72 74 2d 69 6d 61 67 65 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 ch.(convert-image.value)........
2cac0 20 5b 28 63 6f 6e 73 20 70 61 74 68 2d 6e 61 6d 65 20 70 69 78 65 6c 2d 77 69 64 74 68 29 0a 20 .[(cons.path-name.pixel-width)..
2cae0 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 63 68 61 72 2d 77 69 64 74 68 20 28 69 6e 65 78 ........(define.char-width.(inex
2cb00 61 63 74 2d 3e 65 78 61 63 74 20 28 63 65 69 6c 69 6e 67 20 28 2f 20 70 69 78 65 6c 2d 77 69 64 act->exact.(ceiling.(/.pixel-wid
2cb20 74 68 20 70 69 78 65 6c 73 2f 63 68 61 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e th.pixels/char))))..........(con
2cb40 73 20 70 61 74 68 2d 6e 61 6d 65 20 63 68 61 72 2d 77 69 64 74 68 29 5d 0a 20 20 20 20 20 20 20 s.path-name.char-width)]........
2cb60 20 5b 23 66 20 23 66 5d 29 29 0a 20 20 20 20 28 6d 61 74 63 68 20 28 68 61 73 68 2d 72 65 66 21 .[#f.#f])).....(match.(hash-ref!
2cb80 20 68 74 20 76 61 6c 75 65 20 6e 6f 74 2d 66 6f 75 6e 64 29 0a 20 20 20 20 20 20 5b 28 63 6f 6e .ht.value.not-found).......[(con
2cba0 73 20 5f 70 61 74 68 2d 6e 61 6d 65 20 63 68 61 72 2d 77 69 64 74 68 29 20 63 68 61 72 2d 77 69 s._path-name.char-width).char-wi
2cbc0 64 74 68 5d 0a 20 20 20 20 20 20 5b 23 66 20 23 66 5d 29 29 0a 20 20 72 61 63 6b 65 74 2d 6d 6f dth].......[#f.#f]))...racket-mo
2cbe0 64 65 2d 73 69 7a 65 2d 68 6f 6f 6b 29 0a 0a 3b 3b 20 4f 6e 6c 79 20 63 61 6c 6c 65 64 20 69 66 de-size-hook)..;;.Only.called.if
2cc00 20 73 69 7a 65 2d 68 6f 6f 6b 20 72 65 74 75 72 6e 65 64 20 61 6e 20 69 6e 74 65 67 65 72 20 73 .size-hook.returned.an.integer.s
2cc20 69 7a 65 2e 0a 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 70 70 2d 70 72 69 6e 74 2d 68 6f 6f 6b ize..(define.(make-pp-print-hook
2cc40 29 0a 20 20 28 64 65 66 69 6e 65 20 6f 72 69 67 20 28 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 70 )...(define.orig.(pretty-print-p
2cc60 72 69 6e 74 2d 68 6f 6f 6b 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28 72 61 63 6b 65 74 2d 6d 6f rint-hook))...(define.(racket-mo
2cc80 64 65 2d 70 72 69 6e 74 2d 68 6f 6f 6b 20 76 61 6c 75 65 20 64 69 73 70 6c 61 79 3f 20 70 6f 72 de-print-hook.value.display?.por
2cca0 74 29 0a 20 20 20 20 28 6d 61 74 63 68 20 28 68 61 73 68 2d 72 65 66 20 68 74 20 76 61 6c 75 65 t).....(match.(hash-ref.ht.value
2ccc0 20 23 66 29 0a 20 20 20 20 20 20 5b 28 63 6f 6e 73 20 70 61 74 68 2d 6e 61 6d 65 20 5f 63 68 61 .#f).......[(cons.path-name._cha
2cce0 72 2d 77 69 64 74 68 29 0a 20 20 20 20 20 20 20 28 68 61 73 68 2d 72 65 6d 6f 76 65 21 20 68 74 r-width)........(hash-remove!.ht
2cd00 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 28 77 72 69 74 65 2d 73 70 65 63 69 61 6c 20 28 63 .value)........(write-special.(c
2cd20 6f 6e 73 20 27 69 6d 61 67 65 20 70 61 74 68 2d 6e 61 6d 65 29 29 5d 0a 20 20 20 20 20 20 5b 5f ons.'image.path-name))].......[_
2cd40 20 3b 73 68 6f 75 6c 64 6e 27 74 20 68 61 70 70 65 6e 2c 20 62 75 74 2e 2e 2e 0a 20 20 20 20 20 .;shouldn't.happen,.but.........
2cd60 20 20 28 6f 72 69 67 20 76 61 6c 75 65 20 64 69 73 70 6c 61 79 3f 20 70 6f 72 74 29 5d 29 29 0a ..(orig.value.display?.port)])).
2cd80 20 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 70 72 69 6e 74 2d 68 6f 6f 6b 29 0a 00 00 00 00 00 00 ..racket-mode-print-hook).......
2cda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ce00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
2ce20 72 61 63 6b 65 74 2f 65 72 72 6f 72 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/error.rkt................
2ce40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ce60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
2ce80 30 30 31 30 30 35 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 37 37 35 00 20 30 00 00 00 0010057.00000000000.016775..0...
2cea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cf00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2cf20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2cf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d000 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 33 20 62 79 20 47 72 ;;.Copyright.(c).2013-2023.by.Gr
2d020 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
2d040 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
2d060 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
2d080 2f 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 /format..........racket/match...
2d0a0 20 20 20 20 20 20 20 22 69 6e 73 74 72 75 6d 65 6e 74 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 ......."instrument.rkt".........
2d0c0 20 22 72 65 70 6c 2d 6f 75 74 70 75 74 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 73 74 61 ."repl-output.rkt".........."sta
2d0e0 63 6b 2d 63 68 65 63 6b 70 6f 69 6e 74 2e 72 6b 74 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 72 61 ck-checkpoint.rkt")..(provide.ra
2d100 63 6b 65 74 2d 6d 6f 64 65 2d 65 72 72 6f 72 2d 64 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 29 cket-mode-error-display-handler)
2d120 0a 0a 28 64 65 66 69 6e 65 20 64 65 66 61 75 6c 74 2d 65 72 72 6f 72 2d 64 69 73 70 6c 61 79 2d ..(define.default-error-display-
2d140 68 61 6e 64 6c 65 72 20 28 65 72 72 6f 72 2d 64 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 29 29 handler.(error-display-handler))
2d160 0a 0a 3b 3b 20 4f 6e 20 74 68 65 20 6f 6e 65 20 68 61 6e 64 2c 20 74 68 65 20 64 6f 63 73 20 73 ..;;.On.the.one.hand,.the.docs.s
2d180 61 79 3a 20 22 41 6e 20 65 72 72 6f 72 20 64 69 73 70 6c 61 79 20 68 61 6e 64 6c 65 72 20 63 61 ay:."An.error.display.handler.ca
2d1a0 6e 20 70 72 69 6e 74 0a 3b 3b 20 65 72 72 6f 72 73 20 69 6e 20 64 69 66 66 65 72 65 6e 74 20 77 n.print.;;.errors.in.different.w
2d1c0 61 79 73 2c 20 62 75 74 20 69 74 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 70 72 69 6e 74 20 ays,.but.it.should.always.print.
2d1e0 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 0a 3b 3b 20 65 72 72 6f 72 20 70 6f 72 74 2e 22 20 41 to.the.current.;;.error.port.".A
2d200 66 74 65 72 20 61 6c 6c 2c 20 61 20 75 73 65 72 20 70 72 6f 67 72 61 6d 20 6d 69 67 68 74 20 75 fter.all,.a.user.program.might.u
2d220 73 65 0a 3b 3b 20 65 72 72 6f 72 2d 64 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 2c 20 61 73 20 se.;;.error-display-handler,.as.
2d240 69 6e 20 23 36 37 32 2e 0a 3b 3b 0a 3b 3b 20 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 in.#672..;;.;;.On.the.other.hand
2d260 2c 20 77 65 20 72 65 61 6c 6c 79 20 77 61 6e 74 20 74 6f 20 67 69 76 65 20 6f 75 72 20 66 72 6f ,.we.really.want.to.give.our.fro
2d280 6e 74 20 65 6e 64 20 52 45 50 4c 0a 3b 3b 20 2f 73 74 72 75 63 74 75 72 65 64 2f 20 65 72 72 6f nt.end.REPL.;;./structured/.erro
2d2a0 72 20 64 61 74 61 20 76 69 61 20 6f 75 72 20 73 70 65 63 69 61 6c 20 63 68 61 6e 6e 65 6c 2c 20 r.data.via.our.special.channel,.
2d2c0 6e 6f 74 20 74 65 78 74 2e 0a 3b 3b 0a 3b 3b 20 49 20 74 68 69 6e 6b 20 74 68 65 20 73 6f 6c 75 not.text..;;.;;.I.think.the.solu
2d2e0 74 69 6f 6e 20 69 73 20 74 6f 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 63 75 72 72 65 6e 74 tion.is.to.check.whether.current
2d300 2d 65 72 72 6f 72 2d 70 6f 72 74 20 69 73 20 74 68 65 0a 3b 3b 20 73 70 65 63 69 61 6c 20 6f 6e -error-port.is.the.;;.special.on
2d320 65 20 77 65 20 75 73 65 20 66 6f 72 20 73 74 72 75 63 74 75 72 65 64 20 52 45 50 4c 20 6f 75 74 e.we.use.for.structured.REPL.out
2d340 70 75 74 2c 20 61 2e 6b 2e 61 2e 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 3b 3b 20 76 61 6c 75 put,.a.k.a..the.original.;;.valu
2d360 65 20 66 6f 72 20 74 68 65 20 75 73 65 72 20 70 72 6f 67 72 61 6d 2e 0a 0a 3b 3b 20 2d 20 49 66 e.for.the.user.program...;;.-.If
2d380 20 73 6f 20 69 74 27 73 20 66 69 6e 65 20 74 6f 20 62 65 6e 64 20 74 68 65 20 72 75 6c 65 73 20 .so.it's.fine.to.bend.the.rules.
2d3a0 61 6e 64 20 75 73 65 20 6f 75 72 20 73 70 65 63 69 61 6c 20 6f 75 74 70 75 74 0a 3b 3b 20 20 20 and.use.our.special.output.;;...
2d3c0 63 68 61 6e 6e 65 6c 20 74 6f 20 74 68 65 20 66 72 6f 6e 74 20 65 6e 64 2e 20 50 72 6f 62 61 62 channel.to.the.front.end..Probab
2d3e0 6c 79 20 77 65 27 72 65 20 74 68 65 20 6f 6e 65 20 75 73 69 6e 67 20 74 68 65 0a 3b 3b 20 20 20 ly.we're.the.one.using.the.;;...
2d400 68 61 6e 64 6c 65 72 2e 20 45 76 65 6e 20 69 66 20 74 68 65 20 75 73 65 72 20 70 72 6f 67 72 61 handler..Even.if.the.user.progra
2d420 6d 20 69 73 2c 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 69 73 20 22 75 73 65 20 69 74 0a 3b 3b 20 m.is,.the.meaning.is."use.it.;;.
2d440 20 20 66 6f 72 2d 65 66 66 65 63 74 20 74 6f 20 6f 75 74 70 75 74 20 74 6f 20 74 68 65 20 6f 72 ..for-effect.to.output.to.the.or
2d460 69 67 69 6e 61 6c 20 65 72 72 6f 72 20 70 6f 72 74 22 2c 20 77 68 69 63 68 20 69 6e 20 74 68 69 iginal.error.port",.which.in.thi
2d480 73 0a 3b 3b 20 20 20 63 61 73 65 20 6d 65 61 6e 73 20 75 6c 74 69 6d 61 74 65 6c 79 20 74 6f 20 s.;;...case.means.ultimately.to.
2d4a0 74 68 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 66 72 6f 6e 74 20 65 6e 64 20 52 45 50 4c 2e 20 the.Racket.Mode.front.end.REPL..
2d4c0 49 74 27 73 20 4f 4b 0a 3b 3b 20 20 20 61 6e 64 20 69 6e 20 66 61 63 74 20 64 65 73 69 72 61 62 It's.OK.;;...and.in.fact.desirab
2d4e0 6c 65 20 74 6f 20 67 65 74 20 74 68 65 20 73 61 6d 65 20 73 74 72 75 63 74 75 72 65 64 20 65 72 le.to.get.the.same.structured.er
2d500 72 6f 72 20 68 61 6e 64 6c 69 6e 67 2e 0a 3b 3b 0a 3b 3b 20 2d 20 4f 74 68 65 72 77 69 73 65 2c ror.handling..;;.;;.-.Otherwise,
2d520 20 77 65 27 72 65 20 72 75 6e 6e 69 6e 67 20 77 68 69 6c 65 20 74 68 65 20 75 73 65 72 20 70 72 .we're.running.while.the.user.pr
2d540 6f 67 72 61 6d 20 68 61 73 20 70 61 72 61 6d 65 74 65 72 69 7a 65 64 0a 3b 3b 20 20 20 63 75 72 ogram.has.parameterized.;;...cur
2d560 72 65 6e 74 2d 65 72 72 6f 72 2d 70 6f 72 74 2c 20 70 65 72 68 61 70 73 20 74 6f 20 61 6e 20 6f rent-error-port,.perhaps.to.an.o
2d580 75 74 70 75 74 2d 73 74 72 69 6e 67 20 74 6f 20 75 73 65 20 66 6f 72 2d 76 61 6c 75 65 2c 0a 3b utput-string.to.use.for-value,.;
2d5a0 3b 20 20 20 6f 72 20 74 6f 20 73 6f 6d 65 20 6f 74 68 65 72 20 70 6f 72 74 20 74 6f 20 75 73 65 ;...or.to.some.other.port.to.use
2d5c0 20 66 6f 72 2d 65 66 66 65 63 74 2e 20 49 6e 20 74 68 61 74 20 63 61 73 65 20 77 65 20 64 65 66 .for-effect..In.that.case.we.def
2d5e0 65 72 0a 3b 3b 20 20 20 2f 63 6f 6d 70 6c 65 74 65 6c 79 2f 20 74 6f 20 74 68 65 20 64 65 66 61 er.;;.../completely/.to.the.defa
2d600 75 6c 74 20 65 72 72 6f 72 2d 64 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 2e 20 4e 6f 74 20 6f ult.error-display-handler..Not.o
2d620 6e 6c 79 20 64 6f 65 73 0a 3b 3b 20 20 20 74 68 61 74 20 6f 75 74 70 75 74 20 74 6f 20 63 75 72 nly.does.;;...that.output.to.cur
2d640 72 65 6e 74 2d 65 72 72 6f 72 2d 70 6f 72 74 2c 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 66 6f 72 rent-error-port,.the.overall.for
2d660 6d 61 74 20 77 69 6c 6c 20 62 65 20 74 68 65 0a 3b 3b 20 20 20 73 61 6d 65 20 61 73 20 77 68 65 mat.will.be.the.;;...same.as.whe
2d680 6e 20 74 68 65 20 75 73 65 72 20 70 72 6f 67 72 61 6d 20 69 73 20 72 75 6e 20 77 69 74 68 20 63 n.the.user.program.is.run.with.c
2d6a0 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 72 61 63 6b 65 74 2e 0a 3b 3b 20 20 20 28 4f 66 20 63 6f 75 ommand-line.racket..;;...(Of.cou
2d6c0 72 73 65 20 73 6f 6d 65 20 63 6f 6e 74 65 78 74 20 69 74 65 6d 73 20 6d 61 79 20 64 69 66 66 65 rse.some.context.items.may.diffe
2d6e0 72 20 6f 6e 20 74 68 65 20 22 6f 75 74 73 69 64 65 22 20 65 64 67 65 2c 0a 3b 3b 20 20 20 73 68 r.on.the."outside".edge,.;;...sh
2d700 6f 77 69 6e 67 20 77 78 2f 71 75 65 75 65 2e 72 6b 74 2c 20 72 61 63 6b 65 74 2d 6d 6f 64 65 27 owing.wx/queue.rkt,.racket-mode'
2d720 73 20 72 65 70 6c 2e 72 6b 74 2c 20 65 74 63 2e 20 42 75 74 20 74 68 65 0a 3b 3b 20 20 20 22 69 s.repl.rkt,.etc..But.the.;;..."i
2d740 6e 6e 65 72 22 20 69 74 65 6d 73 20 61 6e 64 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 66 6f 72 6d nner".items.and.the.overall.form
2d760 61 74 20 77 69 6c 6c 20 62 65 20 74 68 65 20 73 61 6d 65 2e 29 0a 28 64 65 66 69 6e 65 20 28 72 at.will.be.the.same.).(define.(r
2d780 61 63 6b 65 74 2d 6d 6f 64 65 2d 65 72 72 6f 72 2d 64 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 acket-mode-error-display-handler
2d7a0 20 6d 73 67 20 76 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 20 5b 28 72 65 70 6c 2d 65 72 72 6f 72 .msg.v)...(cond.....[(repl-error
2d7c0 2d 70 6f 72 74 3f 20 28 63 75 72 72 65 6e 74 2d 65 72 72 6f 72 2d 70 6f 72 74 29 29 0a 20 20 20 -port?.(current-error-port))....
2d7e0 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 5b 28 65 78 6e 3f 20 76 29 0a 20 20 20 20 20 20 20 ..(cond........[(exn?.v)........
2d800 20 28 6c 65 74 20 28 5b 6d 73 67 20 28 69 66 20 28 6d 65 6d 62 65 72 20 28 65 78 6e 2d 6d 65 73 .(let.([msg.(if.(member.(exn-mes
2d820 73 61 67 65 20 76 29 20 28 6c 69 73 74 20 6d 73 67 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 sage.v).(list.msg.""))..........
2d840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............msg...............
2d860 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 20 6d 73 67 20 22 5c 6e 22 .........(string-append.msg."\n"
2d880 20 28 65 78 6e 2d 6d 65 73 73 61 67 65 20 76 29 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 28 .(exn-message.v)))])...........(
2d8a0 72 65 70 6c 2d 6f 75 74 70 75 74 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 6d 73 67 20 28 73 72 63 repl-output-error.(list.msg.(src
2d8c0 6c 6f 63 73 20 76 29 20 28 63 6f 6e 74 65 78 74 20 76 29 29 29 29 5d 0a 20 20 20 20 20 20 20 5b locs.v).(context.v))))]........[
2d8e0 65 6c 73 65 0a 20 20 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 6c 6e 20 6d 73 67 20 28 63 75 72 else.........(displayln.msg.(cur
2d900 72 65 6e 74 2d 65 72 72 6f 72 2d 70 6f 72 74 29 29 0a 20 20 20 20 20 20 20 20 28 66 6c 75 73 68 rent-error-port)).........(flush
2d920 2d 6f 75 74 70 75 74 20 28 63 75 72 72 65 6e 74 2d 65 72 72 6f 72 2d 70 6f 72 74 29 29 5d 29 5d -output.(current-error-port))])]
2d940 0a 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 28 64 65 66 61 75 6c 74 2d 65 72 72 6f 72 2d 64 .....[else......(default-error-d
2d960 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 20 6d 73 67 20 76 29 5d 29 29 0a 0a 28 64 65 66 69 6e isplay-handler.msg.v)]))..(defin
2d980 65 20 28 73 72 63 6c 6f 63 73 20 65 29 0a 20 20 28 63 6f 6e 64 20 5b 28 65 78 6e 3a 73 72 63 6c e.(srclocs.e)...(cond.[(exn:srcl
2d9a0 6f 63 73 3f 20 65 29 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 2a 2f 6c 69 73 74 20 28 5b 73 6c ocs?.e)..........(for*/list.([sl
2d9c0 20 28 69 6e 2d 6c 69 73 74 20 28 28 65 78 6e 3a 73 72 63 6c 6f 63 73 2d 61 63 63 65 73 73 6f 72 .(in-list.((exn:srclocs-accessor
2d9e0 20 65 29 20 65 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 .e).e))]......................[e
2da00 6c 76 20 28 69 6e 2d 76 61 6c 75 65 20 28 73 72 63 6c 6f 63 2d 3e 65 6c 69 73 70 2d 76 61 6c 75 lv.(in-value.(srcloc->elisp-valu
2da20 65 20 73 6c 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 77 e.sl))]......................#:w
2da40 68 65 6e 20 65 6c 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 65 6c 76 29 5d 0a 20 20 20 20 20 20 hen.elv)............elv)].......
2da60 20 20 5b 65 6c 73 65 20 6e 75 6c 6c 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 63 6f 6e 74 65 78 ..[else.null]))..(define.(contex
2da80 74 20 65 29 0a 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 6b 69 6e 64 20 70 61 69 72 t.e)...(define-values.(kind.pair
2daa0 73 29 0a 20 20 20 20 28 63 6f 6e 64 20 5b 28 69 6e 73 74 72 75 6d 65 6e 74 69 6e 67 2d 65 6e 61 s).....(cond.[(instrumenting-ena
2dac0 62 6c 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 27 65 72 72 6f 72 74 bled)............(values.'errort
2dae0 72 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 65 72 72 6f 72 race..................(get-error
2db00 2d 74 72 61 63 65 20 65 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 -trace.e))]...........[else.....
2db20 20 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 27 70 6c 61 69 6e 0a 20 20 20 20 20 20 20 20 20 20 .......(values.'plain...........
2db40 20 20 20 20 20 20 20 20 20 28 66 6f 72 2f 6c 69 73 74 20 28 5b 5f 20 28 65 72 72 6f 72 2d 70 72 .........(for/list.([_.(error-pr
2db60 69 6e 74 2d 63 6f 6e 74 65 78 74 2d 6c 65 6e 67 74 68 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 int-context-length)]............
2db80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 76 20 28 69 6e 2d 6c 69 73 74 0a 20 ...................[v.(in-list..
2dba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2dbc0 20 28 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 73 65 74 2d 3e 74 72 69 6d 6d 65 64 .(continuation-mark-set->trimmed
2dbe0 2d 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -context........................
2dc00 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 6e 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 ............(exn-continuation-ma
2dc20 72 6b 73 20 65 29 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rks.e)))])......................
2dc40 76 29 29 5d 29 29 0a 20 20 28 63 6f 6e 73 20 6b 69 6e 64 0a 20 20 20 20 20 20 20 20 28 66 6f 72 v))]))...(cons.kind.........(for
2dc60 2f 6c 69 73 74 20 28 5b 76 20 28 69 6e 2d 6c 69 73 74 20 70 61 69 72 73 29 5d 29 0a 20 20 20 20 /list.([v.(in-list.pairs)]).....
2dc80 20 20 20 20 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 20 28 63 6f 6e 73 20 6c 61 62 65 6c 20 ......(match-define.(cons.label.
2dca0 73 72 63 29 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 61 6e 64 20 6c 61 62 src).v)...........(cons.(and.lab
2dcc0 65 6c 20 28 7e 61 20 6c 61 62 65 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 el.(~a.label)).................(
2dce0 61 6e 64 20 73 72 63 20 28 73 72 63 6c 6f 63 2d 3e 65 6c 69 73 70 2d 76 61 6c 75 65 20 73 72 63 and.src.(srcloc->elisp-value.src
2dd00 29 29 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 73 72 63 6c 6f 63 2d 3e 65 6c 69 73 70 2d 76 ))))))..(define.(srcloc->elisp-v
2dd20 61 6c 75 65 20 6c 6f 63 29 0a 20 20 28 64 65 66 69 6e 65 20 73 72 63 0a 20 20 20 20 3b 3b 20 41 alue.loc)...(define.src.....;;.A
2dd40 6c 74 68 6f 75 67 68 20 49 20 77 61 6e 74 20 74 6f 20 66 69 6e 64 2f 66 69 78 20 74 68 69 73 20 lthough.I.want.to.find/fix.this.
2dd60 70 72 6f 70 65 72 6c 79 20 75 70 73 74 72 65 61 6d 20 2d 2d 20 69 73 0a 20 20 20 20 3b 3b 20 73 properly.upstream.--.is.....;;.s
2dd80 6f 6d 65 74 68 69 6e 67 20 61 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 77 68 65 6e 20 69 74 20 omething.a.path-string?.when.it.
2dda0 73 68 6f 75 6c 64 20 62 65 20 61 20 70 61 74 68 3f 20 2d 2d 20 66 6f 72 20 6e 6f 77 0a 20 20 20 should.be.a.path?.--.for.now....
2ddc0 20 3b 3b 20 6a 75 73 74 20 63 61 74 63 68 20 68 65 72 65 20 74 68 65 20 63 61 73 65 20 77 68 65 .;;.just.catch.here.the.case.whe
2dde0 72 65 20 74 68 65 20 73 6f 75 72 63 65 20 69 73 20 61 20 73 74 72 69 6e 67 20 6c 69 6b 65 0a 20 re.the.source.is.a.string.like..
2de00 20 20 20 3b 3b 20 22 5c 22 2f 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 72 6b 74 5c 22 22 20 69 2e ...;;."\"/path/to/file.rkt\"".i.
2de20 65 2e 20 74 68 65 20 73 74 72 69 6e 67 20 76 61 6c 75 65 20 68 61 73 20 71 75 6f 74 65 73 2e 0a e..the.string.value.has.quotes..
2de40 20 20 20 20 28 6d 61 74 63 68 20 28 73 72 63 6c 6f 63 2d 73 6f 75 72 63 65 20 6c 6f 63 29 0a 20 ....(match.(srcloc-source.loc)..
2de60 20 20 20 20 20 5b 28 70 72 65 67 65 78 70 20 22 5e 5c 22 28 2e 2b 29 5c 22 24 22 20 28 6c 69 73 .....[(pregexp."^\"(.+)\"$".(lis
2de80 74 20 5f 20 75 6e 71 75 6f 74 65 64 29 29 20 75 6e 71 75 6f 74 65 64 5d 0a 20 20 20 20 20 20 5b t._.unquoted)).unquoted].......[
2dea0 28 3f 20 70 61 74 68 3f 20 76 29 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 76 29 5d 0a 20 20 (?.path?.v).(path->string.v)]...
2dec0 20 20 20 20 5b 76 20 76 5d 29 29 0a 20 20 28 64 65 66 69 6e 65 20 73 74 72 20 28 6f 72 20 28 73 ....[v.v]))...(define.str.(or.(s
2dee0 72 63 6c 6f 63 2d 3e 73 74 72 69 6e 67 20 6c 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 rcloc->string.loc)..............
2df00 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 7e 61 3a 7e 61 3a 7e 61 22 20 73 72 63 20 28 73 72 63 .....(format."~a:~a:~a".src.(src
2df20 6c 6f 63 2d 6c 69 6e 65 20 6c 6f 63 29 20 28 73 72 63 6c 6f 63 2d 63 6f 6c 75 6d 6e 20 6c 6f 63 loc-line.loc).(srcloc-column.loc
2df40 29 29 29 29 0a 20 20 28 61 6e 64 20 28 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 73 72 63 29 0a 20 ))))...(and.(path-string?.src)..
2df60 20 20 20 20 20 20 28 73 72 63 6c 6f 63 2d 6c 69 6e 65 20 6c 6f 63 29 0a 20 20 20 20 20 20 20 28 ......(srcloc-line.loc)........(
2df80 73 72 63 6c 6f 63 2d 63 6f 6c 75 6d 6e 20 6c 6f 63 29 0a 20 20 20 20 20 20 20 28 73 72 63 6c 6f srcloc-column.loc)........(srclo
2dfa0 63 2d 70 6f 73 69 74 69 6f 6e 20 6c 6f 63 29 0a 20 20 20 20 20 20 20 28 73 72 63 6c 6f 63 2d 73 c-position.loc)........(srcloc-s
2dfc0 70 61 6e 20 6c 6f 63 29 0a 20 20 20 20 20 20 20 28 6c 69 73 74 20 73 74 72 20 73 72 63 20 28 73 pan.loc)........(list.str.src.(s
2dfe0 72 63 6c 6f 63 2d 6c 69 6e 65 20 6c 6f 63 29 20 28 73 72 63 6c 6f 63 2d 63 6f 6c 75 6d 6e 20 6c rcloc-line.loc).(srcloc-column.l
2e000 6f 63 29 20 28 73 72 63 6c 6f 63 2d 70 6f 73 69 74 69 6f 6e 20 6c 6f 63 29 20 28 73 72 63 6c 6f oc).(srcloc-position.loc).(srclo
2e020 63 2d 73 70 61 6e 20 6c 6f 63 29 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c-span.loc))))..................
2e040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e200 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
2e220 72 61 63 6b 65 74 2f 68 61 73 68 2d 6c 61 6e 67 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 racket/hash-lang.rkt............
2e240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
2e280 30 31 30 37 37 34 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 35 32 31 00 20 30 00 00 00 0107745.00000000000.017521..0...
2e2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2e320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2e340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e400 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 32 30 2d 32 30 32 33 20 62 79 20 47 72 ;;.Copyright.(c).2020-2023.by.Gr
2e420 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
2e440 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
2e460 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
2e480 2f 61 73 79 6e 63 2d 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 63 /async-channel..........racket/c
2e4a0 6c 61 73 73 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 63 6f 6e 74 72 61 63 74 2f 62 61 lass..........racket/contract/ba
2e4c0 73 65 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 63 6f 6e 74 72 61 63 74 2f 6f 70 74 69 se..........racket/contract/opti
2e4e0 6f 6e 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 on..........racket/format.......
2e500 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 2d ...racket/match..........syntax-
2e520 63 6f 6c 6f 72 2f 74 6f 6b 65 6e 2d 74 72 65 65 0a 20 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 color/token-tree..........syntax
2e540 2d 63 6f 6c 6f 72 2f 70 61 72 65 6e 2d 74 72 65 65 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 -color/paren-tree..........(only
2e560 2d 69 6e 20 73 79 6e 74 61 78 2d 63 6f 6c 6f 72 2f 6c 65 78 65 72 2d 63 6f 6e 74 72 61 63 74 20 -in.syntax-color/lexer-contract.
2e580 64 6f 6e 74 2d 73 74 6f 70 29 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 73 79 6e dont-stop)..........(only-in.syn
2e5a0 74 61 78 2d 63 6f 6c 6f 72 2f 63 6f 6c 6f 72 2d 74 65 78 74 6f 69 64 20 63 6f 6c 6f 72 2d 74 65 tax-color/color-textoid.color-te
2e5c0 78 74 6f 69 64 3c 25 3e 29 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 73 79 6e 74 xtoid<%>)..........(only-in.synt
2e5e0 61 78 2d 63 6f 6c 6f 72 2f 6d 6f 64 75 6c 65 2d 6c 65 78 65 72 20 6d 6f 64 75 6c 65 2d 6c 65 78 ax-color/module-lexer.module-lex
2e600 65 72 2a 29 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 73 79 6e 74 61 78 2d 63 6f er*)..........(only-in.syntax-co
2e620 6c 6f 72 2f 72 61 63 6b 65 74 2d 6c 65 78 65 72 20 72 61 63 6b 65 74 2d 6c 65 78 65 72 29 0a 20 lor/racket-lexer.racket-lexer)..
2e640 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 73 79 6e 74 61 78 2d 63 6f 6c 6f 72 2f 72 61 ........(only-in.syntax-color/ra
2e660 63 6b 65 74 2d 69 6e 64 65 6e 74 61 74 69 6f 6e 20 72 61 63 6b 65 74 2d 61 6d 6f 75 6e 74 2d 74 cket-indentation.racket-amount-t
2e680 6f 2d 69 6e 64 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 73 79 6e 74 o-indent)..........(only-in.synt
2e6a0 61 78 2d 63 6f 6c 6f 72 2f 72 61 63 6b 65 74 2d 6e 61 76 69 67 61 74 69 6f 6e 20 72 61 63 6b 65 ax-color/racket-navigation.racke
2e6c0 74 2d 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 73 79 t-grouping-position)..........sy
2e6e0 6e 74 61 78 2f 70 61 72 73 65 2f 64 65 66 69 6e 65 0a 20 20 20 20 20 20 20 20 20 22 6c 61 6e 67 ntax/parse/define.........."lang
2e700 2d 69 6e 66 6f 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 28 70 72 65 66 69 78 2d 69 6e 20 6c -info.rkt"..........(prefix-in.l
2e720 69 6e 65 73 3a 20 22 74 65 78 74 2d 6c 69 6e 65 73 2e 72 6b 74 22 29 0a 20 20 20 20 20 20 20 20 ines:."text-lines.rkt").........
2e740 20 22 75 74 69 6c 2e 72 6b 74 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 68 61 73 68 2d 6c 61 6e 67 ."util.rkt")..(provide.hash-lang
2e760 25 0a 20 20 20 20 20 20 20 20 20 67 65 6e 65 72 61 74 69 6f 6e 2f 63 0a 20 20 20 20 20 20 20 20 %..........generation/c.........
2e780 20 70 6f 73 69 74 69 6f 6e 2f 63 0a 20 20 20 20 20 20 20 20 20 6d 69 6e 2d 70 6f 73 69 74 69 6f .position/c..........min-positio
2e7a0 6e 0a 20 20 20 20 20 20 20 20 20 28 73 74 72 75 63 74 2d 6f 75 74 20 6c 61 6e 67 2d 69 6e 66 6f n..........(struct-out.lang-info
2e7c0 29 29 0a 0a 3b 3b 20 4f 76 65 72 76 69 65 77 0a 3b 3b 0a 3b 3b 20 41 6e 20 69 6e 73 74 61 6e 63 ))..;;.Overview.;;.;;.An.instanc
2e7e0 65 20 6f 66 20 61 20 68 61 73 68 2d 6c 61 6e 67 25 20 6f 62 6a 65 63 74 20 63 61 6e 20 62 65 20 e.of.a.hash-lang%.object.can.be.
2e800 75 73 65 64 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 70 72 6f 67 72 61 6d 0a 3b 3b 20 73 6f 75 used.to.represent.program.;;.sou
2e820 72 63 65 20 74 65 78 74 20 61 6e 64 20 6f 62 74 61 69 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 rce.text.and.obtain.information.
2e840 62 61 73 65 64 20 6f 6e 20 74 68 65 20 23 6c 61 6e 67 2e 0a 3b 3b 0a 3b 3b 20 54 68 65 20 68 61 based.on.the.#lang..;;.;;.The.ha
2e860 73 68 2d 6c 61 6e 67 25 20 60 75 70 64 61 74 65 21 60 20 6d 65 74 68 6f 64 20 6d 61 79 20 62 65 sh-lang%.`update!`.method.may.be
2e880 20 63 61 6c 6c 65 64 20 73 61 66 65 6c 79 20 66 72 6f 6d 20 61 6e 79 0a 3b 3b 20 74 68 72 65 61 .called.safely.from.any.;;.threa
2e8a0 64 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 70 72 6f 67 72 61 6d 20 73 6f 75 72 63 65 20 74 d.to.change.the.program.source.t
2e8c0 65 78 74 20 28 65 2e 67 2e 20 61 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 0a 3b 3b 20 ext.(e.g..as.the.result.of.a.;;.
2e8e0 68 75 6d 61 6e 20 65 64 69 74 69 6e 67 20 74 68 65 20 74 65 78 74 29 2e 20 54 68 65 20 60 75 70 human.editing.the.text)..The.`up
2e900 64 61 74 65 21 60 20 6d 65 74 68 6f 64 20 72 65 74 75 72 6e 73 20 69 6d 6d 65 64 69 61 74 65 6c date!`.method.returns.immediatel
2e920 79 3b 0a 3b 3b 20 74 68 65 20 61 63 74 75 61 6c 20 75 70 64 61 74 69 6e 67 20 77 6f 72 6b 20 69 y;.;;.the.actual.updating.work.i
2e940 73 20 68 61 6e 64 6c 65 64 20 62 79 20 61 20 64 65 64 69 63 61 74 65 64 20 74 68 72 65 61 64 2e s.handled.by.a.dedicated.thread.
2e960 0a 3b 3b 20 46 75 72 74 68 65 72 6d 6f 72 65 20 74 68 65 20 75 70 64 61 74 65 72 20 6d 69 6e 69 .;;.Furthermore.the.updater.mini
2e980 6d 69 7a 65 73 20 74 68 65 20 77 6f 72 6b 20 64 6f 6e 65 20 66 6f 72 20 61 20 63 68 61 6e 67 65 mizes.the.work.done.for.a.change
2e9a0 2e 20 41 73 20 61 0a 3b 3b 20 72 65 73 75 6c 74 20 69 74 20 69 73 20 66 69 6e 65 20 74 6f 20 63 ..As.a.;;.result.it.is.fine.to.c
2e9c0 61 6c 6c 20 60 75 70 64 61 74 65 21 60 20 66 72 65 71 75 65 6e 74 6c 79 20 66 6f 72 20 65 64 69 all.`update!`.frequently.for.edi
2e9e0 74 73 20 74 68 61 74 0a 3b 3b 20 69 6e 73 65 72 74 20 6f 72 20 64 65 6c 65 74 65 20 61 20 73 69 ts.that.;;.insert.or.delete.a.si
2ea00 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 66 6f 72 20 62 ngle.character,.as.well.as.for.b
2ea20 69 67 67 65 72 20 63 68 61 6e 67 65 73 2e 0a 3b 3b 0a 3b 3b 20 45 61 63 68 20 75 70 64 61 74 65 igger.changes..;;.;;.Each.update
2ea40 21 20 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 20 22 67 65 6e 65 72 61 74 69 6f 6e 22 2c 20 77 !.must.specify.a."generation",.w
2ea60 68 69 63 68 20 69 73 20 61 20 73 74 72 69 63 74 6c 79 0a 3b 3b 20 73 75 63 63 65 73 73 69 76 65 hich.is.a.strictly.;;.successive
2ea80 20 69 6e 63 72 65 61 73 69 6e 67 20 65 78 61 63 74 20 69 6e 74 65 67 65 72 2e 20 41 20 6e 65 77 .increasing.exact.integer..A.new
2eaa0 20 6f 62 6a 65 63 74 20 69 73 20 67 65 6e 65 72 61 74 69 6f 6e 20 30 3b 0a 3b 3b 20 74 68 65 20 .object.is.generation.0;.;;.the.
2eac0 66 69 72 73 74 20 75 70 64 61 74 65 21 20 6d 75 73 74 20 62 65 20 67 65 6e 65 72 61 74 69 6f 6e first.update!.must.be.generation
2eae0 20 31 2e 20 5b 49 74 20 69 73 20 66 69 6e 65 20 69 66 20 75 70 64 61 74 65 21 0a 3b 3b 20 63 61 .1..[It.is.fine.if.update!.;;.ca
2eb00 6c 6c 73 20 61 72 65 20 6d 61 64 65 20 66 72 6f 6d 20 6d 75 6c 74 69 70 6c 65 20 74 68 72 65 61 lls.are.made.from.multiple.threa
2eb20 64 73 20 61 6e 64 20 61 72 72 69 76 65 20 77 69 74 68 20 6f 75 74 2d 6f 66 2d 6f 72 64 65 72 0a ds.and.arrive.with.out-of-order.
2eb40 3b 3b 20 67 65 6e 65 72 61 74 69 6f 6e 20 6e 75 6d 62 65 72 73 3b 20 74 68 65 79 20 61 72 65 20 ;;.generation.numbers;.they.are.
2eb60 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 71 75 65 75 65 64 20 61 6e 64 20 68 61 6e 64 6c 65 64 automatically.queued.and.handled
2eb80 20 69 6e 0a 3b 3b 20 74 68 65 20 63 6f 72 72 65 63 74 20 6f 72 64 65 72 2e 5d 0a 3b 3b 0a 3b 3b .in.;;.the.correct.order.].;;.;;
2eba0 20 4f 74 68 65 72 20 70 75 62 6c 69 63 20 6d 65 74 68 6f 64 73 20 2d 2d 20 60 63 6c 61 73 73 69 .Other.public.methods.--.`classi
2ebc0 66 79 60 2c 20 60 67 65 74 2d 74 6f 6b 65 6e 73 60 2c 20 60 67 72 6f 75 70 69 6e 67 60 2c 0a 3b fy`,.`get-tokens`,.`grouping`,.;
2ebe0 3b 20 60 69 6e 64 65 6e 74 2d 6c 69 6e 65 60 2c 20 60 69 6e 64 65 6e 74 2d 72 61 6e 67 65 60 20 ;.`indent-line`,.`indent-range`.
2ec00 2d 2d 20 74 61 6b 65 20 62 6f 74 68 20 61 20 67 65 6e 65 72 61 74 69 6f 6e 20 61 6e 64 20 61 0a --.take.both.a.generation.and.a.
2ec20 3b 3b 20 70 6f 73 69 74 69 6f 6e 2e 20 54 68 65 79 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 ;;.position..They.automatically.
2ec40 62 6c 6f 63 6b 20 75 6e 74 69 6c 20 74 68 65 20 75 70 64 61 74 69 6e 67 20 74 68 72 65 61 64 20 block.until.the.updating.thread.
2ec60 68 61 73 0a 3b 3b 20 70 72 6f 67 72 65 73 73 65 64 20 74 68 72 6f 75 67 68 20 74 68 61 74 20 67 has.;;.progressed.through.that.g
2ec80 65 6e 65 72 61 74 69 6f 6e 20 61 6e 64 20 70 6f 73 69 74 69 6f 6e 2e 0a 3b 3b 0a 3b 3b 20 54 68 eneration.and.position..;;.;;.Th
2eca0 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 6e 75 6d 62 65 72 20 69 73 20 69 6e 74 65 6e 64 65 64 20 e.generation.number.is.intended.
2ecc0 74 6f 20 73 75 70 70 6f 72 74 20 22 64 69 73 74 72 69 62 75 74 65 64 22 20 75 73 65 0a 3b 3b 20 to.support."distributed".use.;;.
2ece0 70 61 74 74 65 72 6e 73 2c 20 77 68 65 72 65 20 74 68 65 20 65 64 69 74 6f 72 20 6d 69 67 68 74 patterns,.where.the.editor.might
2ed00 20 6c 69 76 65 20 69 6e 20 61 20 64 69 66 66 65 72 65 6e 74 20 70 72 6f 63 65 73 73 20 6f 72 0a .live.in.a.different.process.or.
2ed20 3b 3b 20 65 76 65 6e 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 6d 61 63 68 69 6e 65 2e 0a 3b 3b 0a ;;.even.on.a.remote.machine..;;.
2ed40 3b 3b 20 41 73 20 74 68 65 20 75 70 64 61 74 65 72 20 74 68 72 65 61 64 20 77 6f 72 6b 73 2c 20 ;;.As.the.updater.thread.works,.
2ed60 69 74 20 6d 61 79 20 70 72 6f 64 75 63 65 20 22 6e 6f 74 69 66 69 63 61 74 69 6f 6e 73 22 20 62 it.may.produce."notifications".b
2ed80 79 0a 3b 3b 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 60 6f 6e 2d 63 68 61 6e 67 65 64 2d 6c 61 6e y.;;.calling.the.`on-changed-lan
2eda0 67 2d 69 6e 66 6f 60 20 61 6e 64 20 60 6f 6e 2d 63 68 61 6e 67 65 64 2d 74 6f 6b 65 6e 60 20 6d g-info`.and.`on-changed-token`.m
2edc0 65 74 68 6f 64 73 2e 0a 3b 3b 20 54 68 69 73 20 68 61 70 70 65 6e 73 20 6f 6e 20 74 68 65 20 75 ethods..;;.This.happens.on.the.u
2ede0 70 64 61 74 65 72 20 74 68 72 65 61 64 3b 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 20 73 68 6f pdater.thread;.the.recipient.sho
2ee00 75 6c 64 20 6f 6e 6c 79 20 71 75 65 75 65 0a 3b 3b 20 74 68 65 73 65 20 28 65 2e 67 2e 20 69 6e uld.only.queue.;;.these.(e.g..in
2ee20 20 61 6e 20 61 73 79 6e 63 20 63 68 61 6e 6e 65 6c 29 20 74 6f 20 68 61 6e 64 6c 65 20 6c 61 74 .an.async.channel).to.handle.lat
2ee40 65 72 20 69 6e 20 73 6f 6d 65 20 6f 74 68 65 72 0a 3b 3b 20 74 68 72 65 61 64 2c 20 61 6e 64 20 er.in.some.other.;;.thread,.and.
2ee60 72 65 74 75 72 6e 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 0a 3b 3b 0a 3b 3b 20 60 6f 6e 2d 63 68 return.immediately..;;.;;.`on-ch
2ee80 61 6e 67 65 64 2d 6c 61 6e 67 2d 69 6e 66 6f 60 20 69 73 20 63 61 6c 6c 65 64 20 66 6f 72 20 74 anged-lang-info`.is.called.for.t
2eea0 68 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 31 20 75 70 64 61 74 65 2c 20 61 73 0a 3b 3b 20 77 65 he.generation.1.update,.as.;;.we
2eec0 6c 6c 20 61 73 20 66 6f 72 20 75 70 64 61 74 65 73 20 74 68 61 74 20 63 68 61 6e 67 65 20 74 68 ll.as.for.updates.that.change.th
2eee0 65 20 23 6c 61 6e 67 20 6d 65 61 6e 69 6e 67 66 75 6c 6c 79 20 28 63 68 61 6e 67 65 20 6c 61 6e e.#lang.meaningfully.(change.lan
2ef00 67 0a 3b 3b 20 69 6e 66 6f 20 76 61 6c 75 65 73 20 73 75 63 68 20 61 73 20 27 63 6f 6c 6f 72 2d g.;;.info.values.such.as.'color-
2ef20 6c 65 78 65 72 20 6f 72 20 27 64 72 72 61 63 6b 65 74 3a 69 6e 64 65 6e 74 61 74 69 6f 6e 29 2e lexer.or.'drracket:indentation).
2ef40 0a 3b 3b 0a 3b 3b 20 60 6f 6e 2d 63 68 61 6e 67 65 64 2d 74 6f 6b 65 6e 73 60 20 69 73 20 63 61 .;;.;;.`on-changed-tokens`.is.ca
2ef60 6c 6c 65 64 20 77 68 65 6e 20 61 6e 20 75 70 64 61 74 65 21 20 72 65 73 75 6c 74 73 20 69 6e 20 lled.when.an.update!.results.in.
2ef80 64 69 66 66 65 72 65 6e 74 0a 3b 3b 20 74 6f 6b 65 6e 73 20 66 6f 72 20 73 6f 6d 65 20 73 70 61 different.;;.tokens.for.some.spa
2efa0 6e 2e 20 54 68 65 20 72 65 63 69 70 69 65 6e 74 20 73 68 6f 75 6c 64 20 73 69 6d 70 6c 79 20 71 n..The.recipient.should.simply.q
2efc0 75 65 75 65 20 74 68 69 73 0a 3b 3b 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 20 61 6e 20 61 ueue.this.;;.information.in.an.a
2efe0 73 79 6e 63 20 63 68 61 6e 6e 65 6c 2e 20 57 68 61 74 20 73 68 6f 75 6c 64 20 69 74 20 64 6f 20 sync.channel..What.should.it.do.
2f000 77 68 65 6e 20 72 65 74 72 69 65 76 69 6e 67 0a 3b 3b 20 74 68 65 6d 20 6c 61 74 65 72 3f 20 49 when.retrieving.;;.them.later?.I
2f020 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 4f 6e 65 20 61 70 t.depends.on.the.program..One.ap
2f040 70 72 6f 61 63 68 20 69 73 20 74 6f 20 63 61 6c 6c 0a 3b 3b 20 60 67 65 74 2d 74 6f 6b 65 6e 73 proach.is.to.call.;;.`get-tokens
2f060 60 20 65 61 67 65 72 6c 79 20 66 6f 72 20 74 68 65 20 65 6e 74 69 72 65 20 69 6e 76 61 6c 69 64 `.eagerly.for.the.entire.invalid
2f080 20 73 70 61 6e 20 61 6e 64 20 75 73 65 20 74 68 65 20 74 6f 6b 65 6e 73 0a 3b 3b 20 74 6f 20 63 .span.and.use.the.tokens.;;.to.c
2f0a0 6f 6c 6f 72 2f 70 72 6f 70 65 72 74 69 7a 65 20 74 68 65 20 65 6e 74 69 72 65 20 73 70 61 6e 2e olor/propertize.the.entire.span.
2f0c0 20 41 6e 6f 74 68 65 72 20 61 70 70 72 6f 61 63 68 20 69 73 20 74 6f 20 72 65 63 6f 72 64 0a 3b .Another.approach.is.to.record.;
2f0e0 3b 20 74 68 65 20 69 6e 76 61 6c 69 64 20 73 70 61 6e 2c 20 62 75 74 20 6c 65 74 20 73 6f 6d 65 ;.the.invalid.span,.but.let.some
2f100 20 6f 74 68 65 72 20 6d 65 63 68 61 6e 69 73 6d 20 63 61 6c 6c 20 60 67 65 74 2d 74 6f 6b 65 6e .other.mechanism.call.`get-token
2f120 73 60 0a 3b 3b 20 6f 6e 6c 79 20 69 66 2f 61 73 2f 77 68 65 6e 20 70 6f 72 74 69 6f 6e 73 20 6f s`.;;.only.if/as/when.portions.o
2f140 66 20 74 68 65 20 69 6e 76 61 6c 69 64 20 73 70 61 6e 20 62 65 63 6f 6d 65 20 76 69 73 69 62 6c f.the.invalid.span.become.visibl
2f160 65 20 74 6f 20 74 68 65 0a 3b 3b 20 75 73 65 72 2c 20 73 75 63 68 20 61 73 20 77 68 65 6e 20 74 e.to.the.;;.user,.such.as.when.t
2f180 68 65 79 20 73 63 72 6f 6c 6c 2e 20 28 54 68 65 20 6c 61 74 74 65 72 20 61 70 70 72 6f 61 63 68 hey.scroll..(The.latter.approach
2f1a0 20 69 73 20 77 68 61 74 20 77 65 20 75 73 65 0a 3b 3b 20 69 6e 20 45 6d 61 63 73 3a 20 43 6c 65 .is.what.we.use.;;.in.Emacs:.Cle
2f1c0 61 72 20 61 20 22 66 6f 6e 74 69 66 69 65 64 22 20 70 72 6f 70 65 72 74 79 20 66 6f 72 20 74 68 ar.a."fontified".property.for.th
2f1e0 65 20 69 6e 76 61 6c 69 64 20 72 65 67 69 6f 6e 2c 20 61 6e 64 0a 3b 3b 20 6c 65 74 20 74 68 65 e.invalid.region,.and.;;.let.the
2f200 20 6e 6f 72 6d 61 6c 20 66 6f 6e 74 2d 6c 6f 63 6b 20 6d 65 63 68 61 6e 69 73 6d 20 61 73 6b 20 .normal.font-lock.mechanism.ask.
2f220 75 73 20 74 6f 20 66 6f 6e 74 69 66 79 20 76 69 73 69 62 6c 65 0a 3b 3b 20 6e 6f 6e 2d 66 6f 6e us.to.fontify.visible.;;.non-fon
2f240 74 69 66 69 65 64 20 61 72 65 61 73 2e 29 0a 3b 3b 0a 3b 3b 20 41 6c 74 68 6f 75 67 68 20 74 68 tified.areas.).;;.;;.Although.th
2f260 69 73 20 63 6c 61 73 73 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 63 6f 6c 6f 72 2d 74 65 is.class.implements.the.color-te
2f280 78 74 6f 69 64 3c 25 3e 20 69 6e 74 65 72 66 61 63 65 2c 0a 3b 3b 20 74 68 6f 73 65 20 6d 65 74 xtoid<%>.interface,.;;.those.met
2f2a0 68 6f 64 73 20 61 72 65 20 4e 4f 54 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 75 73 65 64 hods.are.NOT.intended.to.be.used
2f2c0 20 64 69 72 65 63 74 6c 79 20 62 79 20 61 20 74 6f 6f 6c 20 2d 2d 2d 0a 3b 3b 20 66 6f 72 20 73 .directly.by.a.tool.---.;;.for.s
2f2e0 70 65 65 64 20 74 68 65 79 20 61 72 65 20 69 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79 20 4e 4f 54 20 peed.they.are.intentionally.NOT.
2f300 74 68 72 65 61 64 2d 73 61 66 65 21 20 49 6e 73 74 65 61 64 20 74 68 65 0a 3b 3b 20 60 67 72 6f thread-safe!.Instead.the.;;.`gro
2f320 75 70 69 6e 67 60 20 61 6e 64 20 60 69 6e 64 65 6e 74 2d 78 60 20 6d 65 74 68 6f 64 73 20 77 6f uping`.and.`indent-x`.methods.wo
2f340 72 6b 20 62 79 20 73 75 70 70 6c 79 69 6e 67 20 74 68 65 73 65 20 6d 65 74 68 6f 64 73 0a 3b 3b rk.by.supplying.these.methods.;;
2f360 20 74 6f 20 61 20 6c 61 6e 67 20 67 72 6f 75 70 65 72 20 6f 72 20 69 6e 64 65 6e 74 65 72 2c 20 .to.a.lang.grouper.or.indenter,.
2f380 77 69 74 68 69 6e 20 61 20 73 69 6e 67 6c 65 20 64 79 6e 61 6d 69 63 20 65 78 74 65 6e 74 20 77 within.a.single.dynamic.extent.w
2f3a0 68 65 72 65 0a 3b 3b 20 69 74 20 69 73 20 74 68 72 65 61 64 2d 73 61 66 65 20 74 6f 20 63 61 6c here.;;.it.is.thread-safe.to.cal
2f3c0 6c 20 74 68 65 6d 2e 0a 3b 3b 0a 3b 3b 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 6f 72 69 67 69 6e l.them..;;.;;.;;.Portions.origin
2f3e0 61 74 65 64 20 66 72 6f 6d 0a 3b 3b 20 2f 73 72 63 2f 72 61 63 6b 65 74 2d 6c 61 6e 67 2f 72 61 ated.from.;;./src/racket-lang/ra
2f400 63 6b 65 74 2f 73 68 61 72 65 2f 70 6b 67 73 2f 67 75 69 2d 6c 69 62 2f 66 72 61 6d 65 77 6f 72 cket/share/pkgs/gui-lib/framewor
2f420 6b 2f 70 72 69 76 61 74 65 0a 0a 28 64 65 66 69 6e 65 20 67 65 6e 65 72 61 74 69 6f 6e 2f 63 20 k/private..(define.generation/c.
2f440 65 78 61 63 74 2d 6e 6f 6e 6e 65 67 61 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 29 0a 0a 3b 3b 20 exact-nonnegative-integer?)..;;.
2f460 57 65 20 75 73 65 20 30 2d 62 61 73 65 64 20 70 6f 73 69 74 69 6f 6e 73 0a 28 64 65 66 69 6e 65 We.use.0-based.positions.(define
2f480 20 6d 69 6e 2d 70 6f 73 69 74 69 6f 6e 20 30 29 0a 28 64 65 66 69 6e 65 20 6d 61 78 2d 70 6f 73 .min-position.0).(define.max-pos
2f4a0 69 74 69 6f 6e 20 28 73 75 62 31 20 28 65 78 70 74 20 32 20 36 33 29 29 29 0a 28 64 65 66 69 6e ition.(sub1.(expt.2.63))).(defin
2f4c0 65 20 70 6f 73 69 74 69 6f 6e 2f 63 20 28 69 6e 74 65 67 65 72 2d 69 6e 20 6d 69 6e 2d 70 6f 73 e.position/c.(integer-in.min-pos
2f4e0 69 74 69 6f 6e 20 6d 61 78 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 0a 3b 3b 20 4f 75 72 20 64 61 74 ition.max-position))..;;.Our.dat
2f500 61 20 66 6f 72 20 74 6f 6b 65 6e 2d 74 72 65 65 25 0a 28 73 74 72 75 63 74 20 64 61 74 61 20 28 a.for.token-tree%.(struct.data.(
2f520 61 74 74 72 69 62 73 20 62 61 63 6b 75 70 20 6d 6f 64 65 29 20 23 3a 74 72 61 6e 73 70 61 72 65 attribs.backup.mode).#:transpare
2f540 6e 74 20 23 3a 61 75 74 68 65 6e 74 69 63 29 0a 0a 28 64 65 66 69 6e 65 2d 73 69 6d 70 6c 65 2d nt.#:authentic)..(define-simple-
2f560 6d 61 63 72 6f 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 73 65 6d 61 20 65 3a 65 78 70 macro.(with-semaphore.sema.e:exp
2f580 72 20 2e 2e 2e 2b 29 0a 20 20 28 63 61 6c 6c 2d 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 73 r....+)...(call-with-semaphore.s
2f5a0 65 6d 61 20 28 ce bb 20 28 29 20 65 20 2e 2e 2e 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 68 61 73 ema.(...().e....)))..(define.has
2f5c0 68 2d 6c 61 6e 67 25 0a 20 20 28 63 6c 61 73 73 2a 20 6f 62 6a 65 63 74 25 20 28 63 6f 6c 6f 72 h-lang%...(class*.object%.(color
2f5e0 2d 74 65 78 74 6f 69 64 3c 25 3e 29 0a 20 20 20 20 28 73 75 70 65 72 2d 6e 65 77 29 0a 0a 20 20 -textoid<%>).....(super-new)....
2f600 20 20 3b 3b 20 56 69 72 74 75 61 6c 20 6d 65 74 68 6f 64 73 20 74 6f 20 6f 76 65 72 72 69 64 65 ..;;.Virtual.methods.to.override
2f620 20 66 6f 72 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 73 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 .for.notifications.....(define/p
2f640 75 62 6c 69 63 20 28 6f 6e 2d 63 68 61 6e 67 65 64 2d 6c 61 6e 67 2d 69 6e 66 6f 20 67 65 6e 20 ublic.(on-changed-lang-info.gen.
2f660 6c 69 29 20 28 76 6f 69 64 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 li).(void)).....(define/public.(
2f680 6f 6e 2d 63 68 61 6e 67 65 64 2d 74 6f 6b 65 6e 73 20 67 65 6e 20 62 65 67 20 65 6e 64 29 20 28 on-changed-tokens.gen.beg.end).(
2f6a0 76 6f 69 64 29 29 0a 0a 20 20 20 20 3b 3b 20 41 20 6e 65 77 20 6f 62 6a 65 63 74 20 68 61 73 20 void))......;;.A.new.object.has.
2f6c0 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 61 6e 64 20 69 73 20 61 74 20 75 70 64 61 74 65 an.empty.string.and.is.at.update
2f6e0 64 2d 67 65 6e 65 72 61 74 69 6f 6e 0a 20 20 20 20 3b 3b 20 30 2e 20 54 68 65 20 63 72 65 61 74 d-generation.....;;.0..The.creat
2f700 6f 72 20 73 68 6f 75 6c 64 20 74 68 65 6e 20 75 73 65 20 75 70 64 61 74 65 21 20 74 6f 20 73 65 or.should.then.use.update!.to.se
2f720 74 20 74 68 65 20 69 6e 69 74 69 61 6c 0a 20 20 20 20 3b 3b 20 73 74 72 69 6e 67 20 76 61 6c 75 t.the.initial.....;;.string.valu
2f740 65 20 61 6e 64 20 73 74 61 72 74 20 74 68 65 20 69 6e 69 74 69 61 6c 20 74 6f 6b 65 6e 69 7a 61 e.and.start.the.initial.tokeniza
2f760 74 69 6f 6e 2e 20 54 68 61 74 20 77 61 79 20 62 6f 74 68 0a 20 20 20 20 3b 3b 20 60 6e 65 77 60 tion..That.way.both.....;;.`new`
2f780 20 61 6e 64 20 60 75 70 64 61 74 65 21 60 20 72 65 74 75 72 6e 20 69 6d 6d 65 64 69 61 74 65 6c .and.`update!`.return.immediatel
2f7a0 79 2c 20 61 6e 64 20 61 6c 6c 20 74 6f 6b 65 6e 69 7a 61 74 69 6f 6e 20 69 73 0a 20 20 20 20 3b y,.and.all.tokenization.is.....;
2f7c0 3b 20 64 6f 6e 65 20 6f 6e 20 74 68 65 20 75 70 64 61 74 65 72 20 74 68 72 65 61 64 2e 0a 20 20 ;.done.on.the.updater.thread....
2f7e0 20 20 28 64 65 66 69 6e 65 20 75 70 64 61 74 65 64 2d 67 65 6e 65 72 61 74 69 6f 6e 20 20 30 29 ..(define.updated-generation..0)
2f800 0a 20 20 20 20 28 64 65 66 69 6e 65 20 75 70 64 61 74 65 64 2d 70 6f 73 69 74 69 6f 6e 20 28 73 .....(define.updated-position.(s
2f820 75 62 31 20 6d 69 6e 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 20 ub1.min-position))......(define.
2f840 63 6f 6e 74 65 6e 74 20 20 20 20 20 6c 69 6e 65 73 3a 65 6d 70 74 79 2d 74 65 78 74 2d 6c 69 6e content.....lines:empty-text-lin
2f860 65 73 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 74 6f 6b 65 6e 73 20 20 20 20 20 20 28 6e 65 77 es).....(define.tokens......(new
2f880 20 74 6f 6b 65 6e 2d 74 72 65 65 25 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 74 6f 6b 65 6e .token-tree%)).....(define.token
2f8a0 73 2d 73 65 6d 61 20 28 6d 61 6b 65 2d 73 65 6d 61 70 68 6f 72 65 20 31 29 29 0a 20 20 20 20 28 s-sema.(make-semaphore.1)).....(
2f8c0 64 65 66 69 6e 65 20 70 61 72 65 6e 73 20 20 20 20 20 20 28 6e 65 77 20 70 61 72 65 6e 2d 74 72 define.parens......(new.paren-tr
2f8e0 65 65 25 20 5b 6d 61 74 63 68 65 73 20 64 65 66 61 75 6c 74 2d 70 61 72 65 6e 2d 6d 61 74 63 68 ee%.[matches.default-paren-match
2f900 65 73 5d 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 70 61 72 65 6e 73 2d 73 65 6d 61 20 28 6d es])).....(define.parens-sema.(m
2f920 61 6b 65 2d 73 65 6d 61 70 68 6f 72 65 20 31 29 29 0a 0a 20 20 20 20 3b 3b 20 42 79 20 64 65 66 ake-semaphore.1))......;;.By.def
2f940 61 75 6c 74 20 74 68 65 20 6c 61 6e 67 20 69 73 20 72 65 61 64 20 66 72 6f 6d 20 60 63 6f 6e 74 ault.the.lang.is.read.from.`cont
2f960 65 6e 74 60 2c 20 66 6f 72 20 77 68 65 6e 20 74 68 61 74 0a 20 20 20 20 3b 3b 20 72 65 70 72 65 ent`,.for.when.that.....;;.repre
2f980 73 65 6e 74 73 20 61 20 73 6f 75 72 63 65 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 23 sents.a.source.file.containing.#
2f9a0 6c 61 6e 67 20 6f 72 20 61 20 66 69 6c 65 20 6d 6f 64 75 6c 65 2e 0a 20 20 20 20 3b 3b 20 48 6f lang.or.a.file.module......;;.Ho
2f9c0 77 65 76 65 72 20 60 6f 74 68 65 72 2d 6c 61 6e 67 2d 73 6f 75 72 63 65 60 20 6d 61 79 20 62 65 wever.`other-lang-source`.may.be
2f9e0 20 61 20 73 74 72 69 6e 67 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 74 6f 0a 20 20 20 20 3b 3b .a.string.used.instead.to.....;;
2fa00 20 72 65 61 64 20 74 68 65 20 6c 61 6e 67 75 61 67 65 2c 20 66 6f 72 20 61 20 52 45 50 4c 20 62 .read.the.language,.for.a.REPL.b
2fa20 75 66 66 65 72 20 74 68 61 74 20 73 68 6f 75 6c 64 20 75 73 65 20 74 68 65 20 6c 61 6e 67 0a 20 uffer.that.should.use.the.lang..
2fa40 20 20 20 3b 3b 20 66 72 6f 6d 20 74 68 65 20 66 69 6c 65 20 66 6f 72 20 77 68 69 63 68 20 69 74 ...;;.from.the.file.for.which.it
2fa60 20 69 73 20 61 20 52 45 50 4c 2e 0a 20 20 20 20 28 69 6e 69 74 2d 66 69 65 6c 64 20 5b 6f 74 68 .is.a.REPL......(init-field.[oth
2fa80 65 72 2d 6c 61 6e 67 2d 73 6f 75 72 63 65 20 23 66 5d 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 er-lang-source.#f]).....(define.
2faa0 6c 61 6e 67 2d 69 6e 66 6f 20 28 69 66 20 6f 74 68 65 72 2d 6c 61 6e 67 2d 73 6f 75 72 63 65 0a lang-info.(if.other-lang-source.
2fac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 6c 61 ........................(read-la
2fae0 6e 67 2d 69 6e 66 6f 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 69 6e 67 20 6f 74 68 65 72 ng-info.(open-input-string.other
2fb00 2d 6c 61 6e 67 2d 73 6f 75 72 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -lang-source))..................
2fb20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 2d 6c 61 6e 67 2d 69 6e 66 6f 29 29 0a 20 20 20 20 28 .......default-lang-info)).....(
2fb40 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 67 65 74 2d 6c 61 6e 67 2d 69 6e 66 6f 29 20 6c 61 define/public.(get-lang-info).la
2fb60 6e 67 2d 69 6e 66 6f 29 0a 0a 20 20 20 20 3b 3b 20 53 6f 6d 65 20 6d 65 74 68 6f 64 73 20 69 6e ng-info)......;;.Some.methods.in
2fb80 74 65 6e 64 65 64 20 6a 75 73 74 20 66 6f 72 20 74 65 73 74 73 0a 20 20 20 20 28 64 65 66 69 6e tended.just.for.tests.....(defin
2fba0 65 2f 70 75 62 6c 69 63 20 28 2d 67 65 74 2d 63 6f 6e 74 65 6e 74 29 20 28 6c 69 6e 65 73 3a 67 e/public.(-get-content).(lines:g
2fbc0 65 74 2d 74 65 78 74 20 63 6f 6e 74 65 6e 74 20 30 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2f et-text.content.0)).....(define/
2fbe0 70 75 62 6c 69 63 20 28 2d 67 65 74 2d 6d 6f 64 65 73 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e public.(-get-modes).......(defin
2fc00 65 20 6d 6f 64 65 73 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 e.modes.null).......(send.tokens
2fc20 20 73 65 61 72 63 68 2d 6d 69 6e 21 29 0a 20 20 20 20 20 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 .search-min!).......(send.tokens
2fc40 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 2d 65 61 63 68 0a 20 20 20 20 20 20 20 20 20 20 .............for-each...........
2fc60 20 20 28 ce bb 20 28 62 65 67 20 65 6e 64 20 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 ..(...(beg.end.data)............
2fc80 20 20 20 28 73 65 74 21 20 6d 6f 64 65 73 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 62 65 67 20 65 ...(set!.modes.(cons.(list.beg.e
2fca0 6e 64 20 28 64 61 74 61 2d 6d 6f 64 65 20 64 61 74 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 nd.(data-mode.data))............
2fcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 64 65 73 29 29 29 29 0a 20 .....................modes))))..
2fce0 20 20 20 20 20 28 72 65 76 65 72 73 65 20 6d 6f 64 65 73 29 29 0a 20 20 20 20 23 3b 0a 20 20 20 .....(reverse.modes)).....#;....
2fd00 20 28 64 65 66 69 6e 65 2f 70 72 69 76 61 74 65 20 28 2d 73 68 6f 77 2d 74 72 65 65 20 6d 73 67 .(define/private.(-show-tree.msg
2fd20 20 74 20 5b 6f 66 66 73 65 74 20 30 5d 29 0a 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 6c 6e 20 .t.[offset.0]).......(displayln.
2fd40 6d 73 67 29 0a 20 20 20 20 20 20 28 73 65 6e 64 20 74 20 66 6f 72 2d 65 61 63 68 0a 20 20 20 20 msg).......(send.t.for-each.....
2fd60 20 20 20 20 20 20 20 20 28 ce bb 20 28 2d 62 65 67 20 6c 65 6e 20 64 61 74 29 0a 20 20 20 20 20 ........(...(-beg.len.dat)......
2fd80 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 62 65 67 20 28 2b 20 2d 62 65 67 20 6f 66 66 .........(define.beg.(+.-beg.off
2fda0 73 65 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 65 6e 64 20 set))...............(define.end.
2fdc0 28 2b 20 62 65 67 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e (+.beg.len))...............(prin
2fde0 74 6c 6e 20 28 76 65 63 74 6f 72 20 62 65 67 20 65 6e 64 20 28 6c 69 6e 65 73 3a 67 65 74 2d 74 tln.(vector.beg.end.(lines:get-t
2fe00 65 78 74 20 63 6f 6e 74 65 6e 74 20 62 65 67 20 65 6e 64 29 20 64 61 74 29 29 29 29 29 0a 0a 20 ext.content.beg.end).dat)))))...
2fe20 20 20 20 3b 3b 20 70 6f 73 69 74 69 6f 6e 2f 63 20 2d 3e 20 28 6f 72 2f 63 20 23 66 20 28 6c 69 ...;;.position/c.->.(or/c.#f.(li
2fe40 73 74 2f 63 20 70 6f 73 69 74 69 6f 6e 2f 63 20 70 6f 73 69 74 69 6f 6e 2f 63 20 74 6f 6b 65 6e st/c.position/c.position/c.token
2fe60 3f 29 29 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 4e 6f 74 65 3a 20 54 6f 20 62 65 20 74 68 ?)).....;;.....;;.Note:.To.be.th
2fe80 72 65 61 64 2d 73 61 66 65 20 6d 75 73 74 20 75 73 65 20 74 6f 6b 65 6e 73 2d 73 65 6d 61 2e 0a read-safe.must.use.tokens-sema..
2fea0 20 20 20 20 28 64 65 66 69 6e 65 2f 70 72 69 76 61 74 65 20 28 74 6f 6b 65 6e 2d 72 65 66 20 70 ....(define/private.(token-ref.p
2fec0 6f 73 29 0a 20 20 20 20 20 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 73 65 61 72 63 68 21 20 70 os).......(send.tokens.search!.p
2fee0 6f 73 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 62 65 67 20 28 73 65 6e 64 20 74 6f 6b 65 os).......(define.beg.(send.toke
2ff00 6e 73 20 67 65 74 2d 72 6f 6f 74 2d 73 74 61 72 74 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 ns.get-root-start-position))....
2ff20 20 20 20 28 64 65 66 69 6e 65 20 65 6e 64 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 67 65 74 2d ...(define.end.(send.tokens.get-
2ff40 72 6f 6f 74 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 28 61 6e 64 20 28 root-end-position)).......(and.(
2ff60 3c 3d 20 62 65 67 20 70 6f 73 29 20 28 3c 20 70 6f 73 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 <=.beg.pos).(<.pos.end).........
2ff80 20 20 20 28 6c 69 73 74 20 62 65 67 20 65 6e 64 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 67 65 ...(list.beg.end.(send.tokens.ge
2ffa0 74 2d 72 6f 6f 74 2d 64 61 74 61 29 29 29 29 0a 0a 20 20 20 20 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d t-root-data))))......;;.--------
2ffc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2ffe0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 ------------------------------..
30000 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 43 6f 6f 72 64 69 6e 61 74 65 20 70 72 6f 67 72 65 73 73 ...;;.....;;.Coordinate.progress
30020 20 6f 66 20 74 6f 6b 65 6e 69 7a 69 6e 67 20 75 70 64 61 74 65 72 20 74 68 72 65 61 64 0a 0a 20 .of.tokenizing.updater.thread...
30040 20 20 20 3b 3b 20 41 6c 6c 6f 77 20 74 68 72 65 61 64 73 20 74 6f 20 77 61 69 74 20 2d 2d 20 73 ...;;.Allow.threads.to.wait.--.s
30060 61 66 65 6c 79 20 61 6e 64 20 77 69 74 68 6f 75 74 20 70 6f 6c 6c 69 6e 67 20 2d 2d 20 66 6f 72 afely.and.without.polling.--.for
30080 20 74 68 65 0a 20 20 20 20 3b 3b 20 75 70 64 61 74 65 72 20 74 68 72 65 61 64 20 74 6f 20 70 72 .the.....;;.updater.thread.to.pr
300a0 6f 67 72 65 73 73 20 74 6f 20 61 74 20 6c 65 61 73 74 20 61 20 67 69 76 65 6e 20 67 65 6e 65 72 ogress.to.at.least.a.given.gener
300c0 61 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 3b 3b 20 70 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 28 ation.and.....;;.position......(
300e0 64 65 66 69 6e 65 20 6d 6f 6e 69 74 6f 72 20 28 6d 61 6b 65 2d 6d 6f 6e 69 74 6f 72 29 29 0a 0a define.monitor.(make-monitor))..
30100 20 20 20 20 3b 3b 20 43 61 6c 6c 65 64 20 66 72 6f 6d 20 75 70 64 61 74 65 72 20 74 68 72 65 61 ....;;.Called.from.updater.threa
30120 64 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 72 69 76 61 74 65 20 28 73 65 74 2d 75 70 64 61 d......(define/private.(set-upda
30140 74 65 2d 70 72 6f 67 72 65 73 73 20 23 3a 67 65 6e 65 72 61 74 69 6f 6e 20 5b 67 20 75 70 64 61 te-progress.#:generation.[g.upda
30160 74 65 64 2d 67 65 6e 65 72 61 74 69 6f 6e 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ted-generation].................
30180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 70 6f 73 69 74 .........................#:posit
301a0 69 6f 6e 20 20 20 70 29 0a 20 20 20 20 20 20 28 70 72 6f 67 72 65 73 73 20 6d 6f 6e 69 74 6f 72 ion...p).......(progress.monitor
301c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 29 0a 20 20 20 20 20 20 20 20 .................(...().........
301e0 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20 75 70 64 61 74 65 64 2d 67 65 6e 65 72 61 74 69 ..........(set!.updated-generati
30200 6f 6e 20 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20 75 70 on.g)...................(set!.up
30220 64 61 74 65 64 2d 70 6f 73 69 74 69 6f 6e 20 70 29 29 29 29 0a 0a 20 20 20 20 3b 3b 20 43 61 6c dated-position.p))))......;;.Cal
30240 6c 65 64 20 66 72 6f 6d 20 74 68 72 65 61 64 73 20 74 68 61 74 20 6e 65 65 64 20 74 6f 20 77 61 led.from.threads.that.need.to.wa
30260 69 74 20 66 6f 72 20 75 70 64 61 74 65 20 70 72 6f 67 72 65 73 73 20 74 6f 20 61 0a 20 20 20 20 it.for.update.progress.to.a.....
30280 3b 3b 20 63 65 72 74 61 69 6e 20 67 65 6e 65 72 61 74 69 6f 6e 20 61 6e 64 20 70 6f 73 69 74 69 ;;.certain.generation.and.positi
302a0 6f 6e 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 62 6c 6f 63 6b 2d 75 6e on......(define/public.(block-un
302c0 74 69 6c 2d 75 70 64 61 74 65 64 2d 74 68 72 75 20 67 65 6e 20 5b 70 6f 73 20 6d 61 78 2d 70 6f til-updated-thru.gen.[pos.max-po
302e0 73 69 74 69 6f 6e 5d 29 0a 20 20 20 20 20 20 28 77 61 69 74 20 6d 6f 6e 69 74 6f 72 0a 20 20 20 sition]).......(wait.monitor....
30300 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 .........(...()...............(a
30320 6e 64 20 28 3c 3d 20 67 65 6e 20 75 70 64 61 74 65 64 2d 67 65 6e 65 72 61 74 69 6f 6e 29 0a 20 nd.(<=.gen.updated-generation)..
30340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 3d 20 70 6f 73 20 75 70 64 61 74 65 ..................(<=.pos.update
30360 64 2d 70 6f 73 69 74 69 6f 6e 29 29 29 29 29 0a 0a 20 20 20 20 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d d-position)))))......;;.--------
30380 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
303a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 3b 3b -------------------------.....;;
303c0 0a 20 20 20 20 3b 3b 20 54 6f 6b 65 6e 69 7a 65 72 20 75 70 64 61 74 65 72 20 74 68 72 65 61 64 .....;;.Tokenizer.updater.thread
303e0 0a 0a 20 20 20 20 3b 3b 20 45 6e 74 72 79 20 74 68 75 6e 6b 20 6f 66 20 6f 75 72 20 75 70 64 61 ......;;.Entry.thunk.of.our.upda
30400 74 65 72 20 74 68 72 65 61 64 2c 20 77 68 69 63 68 20 67 65 74 73 20 69 74 65 6d 73 20 66 72 6f ter.thread,.which.gets.items.fro
30420 6d 20 74 68 65 0a 20 20 20 20 3b 3b 20 61 73 79 6e 63 20 63 68 61 6e 6e 65 6c 20 60 75 70 64 61 m.the.....;;.async.channel.`upda
30440 74 65 2d 63 68 61 6e 60 2c 20 70 75 74 20 74 68 65 72 65 20 62 79 20 74 68 65 20 70 75 62 6c 69 te-chan`,.put.there.by.the.publi
30460 63 20 60 75 70 64 61 74 65 21 60 0a 20 20 20 20 3b 3b 20 6d 65 74 68 6f 64 2e 0a 20 20 20 20 3b c.`update!`.....;;.method......;
30480 3b 0a 20 20 20 20 3b 3b 20 54 68 65 20 6f 6e 6c 79 20 63 6f 6d 70 6c 65 78 69 74 79 20 68 65 72 ;.....;;.The.only.complexity.her
304a0 65 20 69 73 20 74 68 61 74 20 77 65 20 74 6f 6c 65 72 61 74 65 20 75 70 64 61 74 65 20 72 65 71 e.is.that.we.tolerate.update.req
304c0 75 65 73 74 73 0a 20 20 20 20 3b 3b 20 61 72 72 69 76 69 6e 67 20 77 69 74 68 20 6f 75 74 2d 6f uests.....;;.arriving.with.out-o
304e0 66 2d 6f 72 64 65 72 20 67 65 6e 65 72 61 74 69 6f 6e 20 6e 75 6d 62 65 72 73 2e 20 28 54 68 69 f-order.generation.numbers..(Thi
30500 73 20 63 6f 75 6c 64 0a 20 20 20 20 3b 3b 20 72 65 73 75 6c 74 20 66 72 6f 6d 20 75 70 64 61 74 s.could.....;;.result.from.updat
30520 65 21 20 62 65 69 6e 67 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 76 61 72 69 6f 75 73 20 74 68 72 e!.being.called.from.various.thr
30540 65 61 64 73 2e 20 46 6f 72 0a 20 20 20 20 3b 3b 20 65 78 61 6d 70 6c 65 20 52 61 63 6b 65 74 20 eads..For.....;;.example.Racket.
30560 4d 6f 64 65 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 65 61 63 68 20 68 61 6e 64 6c 65 64 20 6f Mode.commands.are.each.handled.o
30580 6e 20 74 68 65 69 72 20 6f 77 6e 0a 20 20 20 20 3b 3b 20 74 68 72 65 61 64 2c 20 6d 75 63 68 20 n.their.own.....;;.thread,.much.
305a0 6c 69 6b 65 20 61 20 77 65 62 20 73 65 72 76 65 72 2e 20 41 73 20 61 20 72 6f 75 67 68 20 61 6e like.a.web.server..As.a.rough.an
305c0 61 6c 6f 67 79 2c 20 74 68 69 73 20 69 73 0a 20 20 20 20 3b 3b 20 6c 69 6b 65 20 68 61 6e 64 6c alogy,.this.is.....;;.like.handl
305e0 69 6e 67 20 54 43 50 20 70 61 63 6b 65 74 73 20 61 72 72 69 76 69 6e 67 20 70 6f 73 73 69 62 6c ing.TCP.packets.arriving.possibl
30600 79 20 6f 75 74 20 6f 66 20 6f 72 64 65 72 2e 29 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 54 y.out.of.order.).....;;.....;;.T
30620 4f 44 4f 3a 20 44 6f 65 73 20 74 68 69 73 20 63 6f 6d 70 6c 65 78 69 74 79 20 62 65 6c 6f 6e 67 ODO:.Does.this.complexity.belong
30640 20 68 65 72 65 20 69 6e 20 74 68 69 73 20 63 6c 61 73 73 2c 20 6f 72 20 73 68 6f 75 6c 64 0a 20 .here.in.this.class,.or.should..
30660 20 20 20 3b 3b 20 69 74 20 6d 6f 76 65 20 6f 75 74 73 69 64 65 3f 20 53 74 72 69 63 74 6c 79 20 ...;;.it.move.outside?.Strictly.
30680 73 70 65 61 6b 69 6e 67 20 74 68 69 73 20 69 73 20 61 62 6f 75 74 20 63 6f 6f 72 64 69 6e 61 74 speaking.this.is.about.coordinat
306a0 69 6e 67 0a 20 20 20 20 3b 3b 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 20 63 61 6c 6c 73 20 74 6f ing.....;;.multi-thread.calls.to
306c0 20 6f 75 72 20 70 75 62 6c 69 63 20 75 70 64 61 74 65 21 20 6d 65 74 68 6f 64 20 2d 2d 20 6e 6f .our.public.update!.method.--.no
306e0 74 20 61 62 6f 75 74 0a 20 20 20 20 3b 3b 20 63 6f 6f 72 64 69 6e 61 74 69 6e 67 20 6f 75 72 20 t.about.....;;.coordinating.our.
30700 75 70 64 61 74 65 72 20 74 68 72 65 61 64 20 77 69 74 68 20 6f 74 68 65 72 20 74 68 72 65 61 64 updater.thread.with.other.thread
30720 73 2e 20 54 68 69 73 20 63 6f 75 6c 64 0a 20 20 20 20 3b 3b 20 61 73 20 65 61 73 69 6c 79 20 6c s..This.could.....;;.as.easily.l
30740 69 76 65 20 69 6e 20 65 2e 67 2e 20 68 61 73 68 2d 6c 61 6e 67 2d 62 72 69 64 67 65 2e 72 6b 74 ive.in.e.g..hash-lang-bridge.rkt
30760 20 69 6e 73 74 65 61 64 20 6f 66 20 68 65 72 65 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 20 75 70 .instead.of.here......(define.up
30780 64 61 74 65 2d 63 68 61 6e 20 28 6d 61 6b 65 2d 61 73 79 6e 63 2d 63 68 61 6e 6e 65 6c 29 29 0a date-chan.(make-async-channel)).
307a0 20 20 20 20 28 74 68 72 65 61 64 0a 20 20 20 20 20 28 ce bb 20 28 29 0a 20 20 20 20 20 20 20 28 ....(thread......(...()........(
307c0 64 65 66 69 6e 65 20 70 65 6e 64 69 6e 67 2d 75 70 64 61 74 65 73 20 28 6d 61 6b 65 2d 68 61 73 define.pending-updates.(make-has
307e0 68 29 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 67 65 74 20 28 5b 6e 65 78 74 2d 75 70 64 61 74 h))........(let.get.([next-updat
30800 65 2d 67 65 6e 20 31 5d 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 e-gen.1])..........(match-define
30820 20 28 63 6f 6e 73 20 67 65 6e 20 6d 6f 72 65 29 20 28 61 73 79 6e 63 2d 63 68 61 6e 6e 65 6c 2d .(cons.gen.more).(async-channel-
30840 67 65 74 20 75 70 64 61 74 65 2d 63 68 61 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 61 73 68 get.update-chan))..........(hash
30860 2d 73 65 74 21 20 70 65 6e 64 69 6e 67 2d 75 70 64 61 74 65 73 20 67 65 6e 20 6d 6f 72 65 29 0a -set!.pending-updates.gen.more).
30880 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 64 6f 2d 70 65 6e 64 69 6e 67 20 28 5b 6e 65 78 74 2d .........(let.do-pending.([next-
308a0 75 70 64 61 74 65 2d 67 65 6e 20 6e 65 78 74 2d 75 70 64 61 74 65 2d 67 65 6e 5d 29 0a 20 20 20 update-gen.next-update-gen])....
308c0 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 68 61 73 68 2d 72 65 66 20 70 65 6e 64 69 6e 67 ........(match.(hash-ref.pending
308e0 2d 75 70 64 61 74 65 73 20 6e 65 78 74 2d 75 70 64 61 74 65 2d 67 65 6e 20 23 66 29 0a 20 20 20 -updates.next-update-gen.#f)....
30900 20 20 20 20 20 20 20 20 20 20 5b 28 6c 69 73 74 20 70 6f 73 20 6f 6c 64 2d 6c 65 6e 20 6e 65 77 ..........[(list.pos.old-len.new
30920 2d 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 61 73 68 2d 72 65 6d 6f 76 65 -str)...............(hash-remove
30940 21 20 70 65 6e 64 69 6e 67 2d 75 70 64 61 74 65 73 20 6e 65 78 74 2d 75 70 64 61 74 65 2d 67 65 !.pending-updates.next-update-ge
30960 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 2d 75 70 64 61 74 65 21 20 6e 65 78 n)...............(do-update!.nex
30980 74 2d 75 70 64 61 74 65 2d 67 65 6e 20 70 6f 73 20 6f 6c 64 2d 6c 65 6e 20 6e 65 77 2d 73 74 72 t-update-gen.pos.old-len.new-str
309a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 2d 70 65 6e 64 69 6e 67 20 28 61 64 64 )...............(do-pending.(add
309c0 31 20 6e 65 78 74 2d 75 70 64 61 74 65 2d 67 65 6e 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 1.next-update-gen))]............
309e0 20 20 5b 23 66 20 28 67 65 74 20 6e 65 78 74 2d 75 70 64 61 74 65 2d 67 65 6e 29 5d 29 29 29 29 ..[#f.(get.next-update-gen)]))))
30a00 29 0a 0a 20 20 20 20 3b 3b 20 52 75 6e 73 20 6f 6e 20 75 70 64 61 74 65 72 20 74 68 72 65 61 64 )......;;.Runs.on.updater.thread
30a20 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 72 69 76 61 74 65 20 28 64 6f 2d 75 70 64 61 74 65 ......(define/private.(do-update
30a40 21 20 67 65 6e 20 70 6f 73 20 6f 6c 64 2d 6c 65 6e 20 6e 65 77 2d 73 74 72 29 0a 20 20 20 20 20 !.gen.pos.old-len.new-str)......
30a60 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 6c 65 6e 20 28 73 74 72 69 6e 67 2d 6c 65 6e 67 74 68 20 .(define.new-len.(string-length.
30a80 6e 65 77 2d 73 74 72 29 29 0a 20 20 20 20 20 20 3b 3b 20 49 6e 69 74 69 61 6c 20 70 72 6f 67 72 new-str)).......;;.Initial.progr
30aa0 65 73 73 20 66 6f 72 20 6f 74 68 65 72 20 74 68 72 65 61 64 73 3a 20 4e 6f 74 68 69 6e 67 20 79 ess.for.other.threads:.Nothing.y
30ac0 65 74 20 77 69 74 68 69 6e 20 74 68 69 73 0a 20 20 20 20 20 20 3b 3b 20 6e 65 77 20 67 65 6e 65 et.within.this.......;;.new.gene
30ae0 72 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 28 73 65 74 2d 75 70 64 61 74 65 2d 70 72 6f 67 72 65 ration........(set-update-progre
30b00 73 73 20 23 3a 67 65 6e 65 72 61 74 69 6f 6e 20 67 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ss.#:generation.gen.............
30b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 70 6f 73 69 74 69 6f 6e 20 20 20 28 73 75 62 ...............#:position...(sub
30b40 31 20 6d 69 6e 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 3b 3b 20 55 70 64 61 74 65 1.min-position)).......;;.Update
30b60 20 74 68 65 20 74 65 78 74 2d 6c 69 6e 65 73 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 2e 0a .the.text-lines.data.structure..
30b80 20 20 20 20 20 20 28 77 68 65 6e 20 28 3c 20 30 20 6f 6c 64 2d 6c 65 6e 29 0a 20 20 20 20 20 20 ......(when.(<.0.old-len).......
30ba0 20 20 28 73 65 74 21 20 63 6f 6e 74 65 6e 74 20 28 6c 69 6e 65 73 3a 64 65 6c 65 74 65 20 63 6f ..(set!.content.(lines:delete.co
30bc0 6e 74 65 6e 74 20 70 6f 73 20 28 2b 20 70 6f 73 20 6f 6c 64 2d 6c 65 6e 29 29 29 29 0a 20 20 20 ntent.pos.(+.pos.old-len))))....
30be0 20 20 20 28 77 68 65 6e 20 28 3c 20 30 20 6e 65 77 2d 6c 65 6e 29 0a 20 20 20 20 20 20 20 20 28 ...(when.(<.0.new-len).........(
30c00 73 65 74 21 20 63 6f 6e 74 65 6e 74 20 28 6c 69 6e 65 73 3a 69 6e 73 65 72 74 20 63 6f 6e 74 65 set!.content.(lines:insert.conte
30c20 6e 74 20 70 6f 73 20 6e 65 77 2d 73 74 72 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 55 70 64 61 74 nt.pos.new-str))).......;;.Updat
30c40 65 20 74 6f 6b 65 6e 73 20 61 6e 64 20 70 61 72 65 6e 73 20 74 72 65 65 73 2e 20 49 66 20 6c 61 e.tokens.and.parens.trees..If.la
30c60 6e 67 20 6c 65 78 65 72 20 63 68 61 6e 67 65 64 2c 20 69 74 0a 20 20 20 20 20 20 3b 3b 20 63 6f ng.lexer.changed,.it.......;;.co
30c80 75 6c 64 20 72 65 73 75 6c 74 20 69 6e 20 65 6e 74 69 72 65 6c 79 20 64 69 66 66 65 72 65 6e 74 uld.result.in.entirely.different
30ca0 20 74 6f 6b 65 6e 73 20 61 6e 64 20 70 61 72 65 6e 73 2c 20 73 6f 20 69 6e 0a 20 20 20 20 20 20 .tokens.and.parens,.so.in.......
30cc0 3b 3b 20 74 68 61 74 20 63 61 73 65 20 72 65 73 74 61 72 74 20 66 72 6f 6d 20 73 63 72 61 74 63 ;;.that.case.restart.from.scratc
30ce0 68 2e 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 5b 28 63 68 65 63 6b 2d 6c 61 6e 67 2d 69 6e 66 6f h........(cond.[(check-lang-info
30d00 2f 6c 65 78 65 72 2d 63 68 61 6e 67 65 64 3f 20 67 65 6e 20 70 6f 73 29 0a 20 20 20 20 20 20 20 /lexer-changed?.gen.pos)........
30d20 20 20 20 20 20 20 28 73 65 74 21 20 74 6f 6b 65 6e 73 20 28 6e 65 77 20 74 6f 6b 65 6e 2d 74 72 ......(set!.tokens.(new.token-tr
30d40 65 65 25 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20 70 61 72 65 6e 73 20 ee%))..............(set!.parens.
30d60 28 6e 65 77 20 70 61 72 65 6e 2d 74 72 65 65 25 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (new.paren-tree%................
30d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6d 61 74 63 68 65 73 20 28 6c 61 6e 67 2d 69 ................[matches.(lang-i
30da0 6e 66 6f 2d 70 61 72 65 6e 2d 6d 61 74 63 68 65 73 20 6c 61 6e 67 2d 69 6e 66 6f 29 5d 29 29 0a nfo-paren-matches.lang-info)])).
30dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 70 64 61 74 65 2d 74 6f 6b 65 6e 73 2d 61 6e 64 2d .............(update-tokens-and-
30de0 70 61 72 65 6e 73 20 6d 69 6e 2d 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 parens.min-position.............
30e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ...........................(line
30e20 73 3a 74 65 78 74 2d 6c 65 6e 67 74 68 20 63 6f 6e 74 65 6e 74 29 29 5d 0a 20 20 20 20 20 20 20 s:text-length.content))]........
30e40 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 70 64 61 74 65 2d .....[else..............(update-
30e60 74 6f 6b 65 6e 73 2d 61 6e 64 2d 70 61 72 65 6e 73 20 70 6f 73 0a 20 20 20 20 20 20 20 20 20 20 tokens-and-parens.pos...........
30e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 .............................(-.
30ea0 6e 65 77 2d 6c 65 6e 20 6f 6c 64 2d 6c 65 6e 29 29 5d 29 29 0a 0a 20 20 20 20 3b 3b 20 44 65 74 new-len.old-len))]))......;;.Det
30ec0 65 63 74 20 77 68 65 74 68 65 72 20 23 6c 61 6e 67 20 63 68 61 6e 67 65 64 20 41 4e 44 20 41 4c ect.whether.#lang.changed.AND.AL
30ee0 53 4f 20 28 74 6f 20 61 76 6f 69 64 20 65 78 63 65 73 73 69 76 65 0a 20 20 20 20 3b 3b 20 6e 6f SO.(to.avoid.excessive.....;;.no
30f00 74 69 66 69 63 61 74 69 6f 6e 73 20 61 6e 64 20 77 6f 72 6b 29 20 77 68 65 74 68 65 72 20 74 68 tifications.and.work).whether.th
30f20 61 74 20 63 68 61 6e 67 65 64 20 61 6e 79 20 6c 61 6e 67 20 69 6e 66 6f 0a 20 20 20 20 3b 3b 20 at.changed.any.lang.info.....;;.
30f40 76 61 6c 75 65 73 20 77 65 20 75 73 65 2e 20 4e 6f 74 69 66 79 20 69 66 20 61 6e 79 20 63 68 61 values.we.use..Notify.if.any.cha
30f60 6e 67 65 64 2c 20 6f 72 20 69 66 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 0a 20 20 nged,.or.if.this.is.the.first...
30f80 20 20 3b 3b 20 67 65 6e 65 72 61 74 69 6f 6e 2e 20 52 65 74 75 72 6e 20 74 72 75 65 20 49 46 46 ..;;.generation..Return.true.IFF
30fa0 20 74 68 65 20 6c 65 78 65 72 20 63 68 61 6e 67 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 .the.lexer.changed..For.example.
30fc0 74 68 69 73 0a 20 20 20 20 3b 3b 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 66 61 6c 73 65 20 66 6f this.....;;.will.return.false.fo
30fe0 72 20 61 20 63 68 61 6e 67 65 20 66 72 6f 6d 20 23 6c 61 6e 67 20 72 61 63 6b 65 74 20 74 6f 0a r.a.change.from.#lang.racket.to.
31000 20 20 20 20 3b 3b 20 72 61 63 6b 65 74 2f 62 61 73 65 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 20 ....;;.racket/base......(define.
31020 6c 61 73 74 2d 6c 61 6e 67 2d 65 6e 64 2d 70 6f 73 20 28 61 64 64 31 20 6d 69 6e 2d 70 6f 73 69 last-lang-end-pos.(add1.min-posi
31040 74 69 6f 6e 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 72 69 76 61 74 65 20 28 63 68 65 63 tion)).....(define/private.(chec
31060 6b 2d 6c 61 6e 67 2d 69 6e 66 6f 2f 6c 65 78 65 72 2d 63 68 61 6e 67 65 64 3f 20 67 65 6e 20 70 k-lang-info/lexer-changed?.gen.p
31080 6f 73 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 6c 61 6e 67 2d 69 6e 66 6f 0a os).......(define.new-lang-info.
310a0 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 5b 6f 74 68 65 72 2d 6c ........(cond...........[other-l
310c0 61 6e 67 2d 73 6f 75 72 63 65 20 6c 61 6e 67 2d 69 6e 66 6f 5d 0a 20 20 20 20 20 20 20 20 20 20 ang-source.lang-info]...........
310e0 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 [else............(cond..........
31100 20 20 20 20 5b 28 3c 20 70 6f 73 20 6c 61 73 74 2d 6c 61 6e 67 2d 65 6e 64 2d 70 6f 73 29 0a 20 ....[(<.pos.last-lang-end-pos)..
31120 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 69 6e 20 28 6c 69 6e 65 73 3a 6f .............(define.in.(lines:o
31140 70 65 6e 2d 69 6e 70 75 74 2d 74 65 78 74 20 63 6f 6e 74 65 6e 74 20 30 29 29 0a 20 20 20 20 20 pen-input-text.content.0))......
31160 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 6e 65 77 2d 6c 61 6e .........(define-values.(new-lan
31180 67 2d 69 6e 66 6f 20 65 6e 64 2d 70 6f 73 29 20 28 72 65 61 64 2d 6c 61 6e 67 2d 69 6e 66 6f 2a g-info.end-pos).(read-lang-info*
311a0 20 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20 6c 61 73 74 2d 6c .in))...............(set!.last-l
311c0 61 6e 67 2d 65 6e 64 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 29 20 3b 66 6f 72 20 63 68 65 63 6b 69 ang-end-pos.end-pos).;for.checki
311e0 6e 67 20 6e 65 78 74 20 74 69 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 2d 6c ng.next.time...............new-l
31200 61 6e 67 2d 69 6e 66 6f 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 6c 61 6e ang-info]..............[else.lan
31220 67 2d 69 6e 66 6f 5d 29 5d 29 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 61 6e 79 2d 63 68 g-info])])).......(define.any-ch
31240 61 6e 67 65 64 3f 20 28 6e 6f 74 20 28 65 71 75 61 6c 3f 20 6c 61 6e 67 2d 69 6e 66 6f 0a 20 20 anged?.(not.(equal?.lang-info...
31260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
31280 20 20 20 20 20 20 6e 65 77 2d 6c 61 6e 67 2d 69 6e 66 6f 29 29 29 0a 20 20 20 20 20 20 28 64 65 ......new-lang-info))).......(de
312a0 66 69 6e 65 20 6c 65 78 65 72 2d 63 68 61 6e 67 65 64 3f 20 28 6e 6f 74 20 28 65 71 75 61 6c 3f fine.lexer-changed?.(not.(equal?
312c0 20 28 6c 61 6e 67 2d 69 6e 66 6f 2d 6c 65 78 65 72 20 6c 61 6e 67 2d 69 6e 66 6f 29 0a 20 20 20 .(lang-info-lexer.lang-info)....
312e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
31300 20 20 20 20 20 20 20 28 6c 61 6e 67 2d 69 6e 66 6f 2d 6c 65 78 65 72 20 6e 65 77 2d 6c 61 6e 67 .......(lang-info-lexer.new-lang
31320 2d 69 6e 66 6f 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 21 20 6c 61 6e 67 2d 69 6e 66 6f 20 -info)))).......(set!.lang-info.
31340 6e 65 77 2d 6c 61 6e 67 2d 69 6e 66 6f 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 61 new-lang-info).......(when.(or.a
31360 6e 79 2d 63 68 61 6e 67 65 64 3f 20 28 3d 20 67 65 6e 20 31 29 29 0a 20 20 20 20 20 20 20 20 28 ny-changed?.(=.gen.1)).........(
31380 6f 6e 2d 63 68 61 6e 67 65 64 2d 6c 61 6e 67 2d 69 6e 66 6f 20 67 65 6e 20 6e 65 77 2d 6c 61 6e on-changed-lang-info.gen.new-lan
313a0 67 2d 69 6e 66 6f 29 29 0a 20 20 20 20 20 20 6c 65 78 65 72 2d 63 68 61 6e 67 65 64 3f 29 0a 0a g-info)).......lexer-changed?)..
313c0 20 20 20 20 28 64 65 66 69 6e 65 2f 70 72 69 76 61 74 65 20 28 75 70 64 61 74 65 2d 74 6f 6b 65 ....(define/private.(update-toke
313e0 6e 73 2d 61 6e 64 2d 70 61 72 65 6e 73 20 65 64 69 74 2d 70 6f 73 20 64 69 66 66 29 0a 20 20 20 ns-and-parens.edit-pos.diff)....
31400 20 20 20 28 64 65 66 69 6e 65 20 72 61 77 2d 6c 65 78 65 72 20 28 69 66 20 6f 74 68 65 72 2d 6c ...(define.raw-lexer.(if.other-l
31420 61 6e 67 2d 73 6f 75 72 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ang-source......................
31440 20 20 20 20 20 20 20 28 6c 61 6e 67 2d 69 6e 66 6f 2d 6c 65 78 65 72 20 6c 61 6e 67 2d 69 6e 66 .......(lang-info-lexer.lang-inf
31460 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 o).............................(
31480 77 61 69 76 65 2d 6f 70 74 69 6f 6e 20 6d 6f 64 75 6c 65 2d 6c 65 78 65 72 2a 29 29 29 0a 20 20 waive-option.module-lexer*)))...
314a0 20 20 20 20 3b 3b 20 44 65 74 65 72 6d 69 6e 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 66 72 ....;;.Determine.the.position.fr
314c0 6f 6d 20 77 68 69 63 68 20 77 65 20 6e 65 65 64 20 74 6f 20 73 74 61 72 74 0a 20 20 20 20 20 20 om.which.we.need.to.start.......
314e0 3b 3b 20 72 65 2d 74 6f 6b 65 6e 69 7a 69 6e 67 20 28 74 68 69 73 20 77 69 6c 6c 20 62 65 20 6c ;;.re-tokenizing.(this.will.be.l
31500 65 73 73 20 74 68 61 6e 20 74 68 65 20 65 64 69 74 20 70 6f 73 69 74 69 6f 6e 29 20 61 6e 64 0a ess.than.the.edit.position).and.
31520 20 20 20 20 20 20 3b 3b 20 74 68 65 20 69 6e 69 74 69 61 6c 20 6c 65 78 65 72 20 6d 6f 64 65 2e ......;;.the.initial.lexer.mode.
31540 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 69 6e 69 74 69 61 6c 2d 70 .......(define-values.(initial-p
31560 6f 73 20 69 6e 69 74 69 61 6c 2d 6d 6f 64 65 20 65 66 66 65 63 74 69 76 65 2d 6c 65 78 65 72 29 os.initial-mode.effective-lexer)
31580 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 5b 28 70 72 6f 63 65 .........(cond...........[(proce
315a0 64 75 72 65 2d 61 72 69 74 79 2d 69 6e 63 6c 75 64 65 73 3f 20 72 61 77 2d 6c 65 78 65 72 20 33 dure-arity-includes?.raw-lexer.3
315c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 74 6f 6b )............(with-semaphore.tok
315e0 65 6e 73 2d 73 65 6d 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 69 6e 64 20 62 65 ens-sema..............;;.Find.be
31600 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 74 6f 6b 65 6e 2c 20 69 66 20 61 6e 79 2c 20 63 6f ginning.of.the.token,.if.any,.co
31620 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 rresponding.to.the..............
31640 3b 3b 20 65 64 69 74 20 70 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b ;;.edit.position...............;
31660 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 6e 20 75 70 64 61 74 65 20 61 74 20 74 ;..............;;.An.update.at.t
31680 68 65 20 65 6e 64 20 63 61 6e 20 72 65 73 75 6c 74 20 69 6e 20 74 6f 6b 65 6e 2d 72 65 66 20 72 he.end.can.result.in.token-ref.r
316a0 65 74 75 72 6e 69 6e 67 20 23 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 6f 20 6d eturning.#f..............;;.so.m
316c0 61 6b 65 20 61 6e 20 69 6e 69 74 69 61 6c 20 61 64 6a 75 73 74 6d 65 6e 74 20 6f 66 20 65 64 69 ake.an.initial.adjustment.of.edi
316e0 74 2d 70 6f 73 20 74 6f 20 67 69 76 65 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b t-pos.to.give.to..............;;
31700 20 74 6f 6b 65 6e 2d 72 65 66 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 6e 64 20 74 .token-ref...............(send.t
31720 6f 6b 65 6e 73 20 73 65 61 72 63 68 21 20 65 64 69 74 2d 70 6f 73 29 0a 20 20 20 20 20 20 20 20 okens.search!.edit-pos).........
31740 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 6f 73 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 67 65 .....(define.pos.(send.tokens.ge
31760 74 2d 72 6f 6f 74 2d 73 74 61 72 74 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 t-root-start-position)).........
31780 20 20 20 20 20 28 6d 61 74 63 68 20 28 74 6f 6b 65 6e 2d 72 65 66 20 70 6f 73 29 0a 20 20 20 20 .....(match.(token-ref.pos).....
317a0 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c 69 73 74 20 62 65 67 20 5f 65 6e 64 20 28 73 74 72 75 ...........[(list.beg._end.(stru
317c0 63 74 2a 20 64 61 74 61 20 28 5b 62 61 63 6b 75 70 20 62 61 63 6b 75 70 5d 29 29 29 0a 20 20 20 ct*.data.([backup.backup])))....
317e0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 69 74 69 61 6c 6c 79 20 62 61 63 6b 20 75 .............;;.Initially.back.u
31800 70 20 62 79 20 61 74 20 6c 65 61 73 74 20 31 20 28 69 2e 65 2e 20 74 6f 20 74 68 65 20 70 72 65 p.by.at.least.1.(i.e..to.the.pre
31820 76 69 6f 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 6f 6b 65 6e 29 20 vious.................;;.token).
31840 6f 72 20 62 79 20 74 68 69 73 20 74 6f 6b 65 6e 27 73 20 60 62 61 63 6b 75 70 60 20 61 6d 6f 75 or.by.this.token's.`backup`.amou
31860 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 5b nt..................(let.loop.([
31880 70 6f 73 20 28 2d 20 62 65 67 20 28 6d 61 78 20 31 20 62 61 63 6b 75 70 29 29 5d 29 0a 20 20 20 pos.(-.beg.(max.1.backup))])....
318a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 74 6f 6b 65 6e 2d 72 65 66 ...............(match.(token-ref
318c0 20 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c 69 73 74 .pos).....................[(list
318e0 20 62 65 67 20 5f 65 6e 64 20 28 73 74 72 75 63 74 2a 20 64 61 74 61 20 28 5b 62 61 63 6b 75 70 .beg._end.(struct*.data.([backup
31900 20 62 61 63 6b 75 70 5d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .backup]))).....................
31920 20 28 69 66 20 28 3c 20 30 20 62 61 63 6b 75 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(if.(<.0.backup)...............
31940 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 28 2d 20 62 65 67 20 62 61 63 6b 75 70 29 29 ...........(loop.(-.beg.backup))
31960 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 69 6e ..........................;;.Fin
31980 61 6c 6c 79 2c 20 62 61 63 6b 20 75 70 20 6f 6e 65 20 6d 6f 72 65 20 74 6f 20 67 65 74 20 74 68 ally,.back.up.one.more.to.get.th
319a0 65 20 69 6e 69 74 69 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.initial.......................
319c0 20 20 20 3b 3b 20 6c 65 78 65 72 20 6d 6f 64 65 2c 20 69 66 20 61 6e 79 2e 20 28 57 68 79 3a 20 ...;;.lexer.mode,.if.any..(Why:.
319e0 54 68 65 20 6d 6f 64 65 20 73 74 6f 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 The.mode.stored.................
31a00 20 20 20 20 20 20 20 20 20 3b 3b 20 77 69 74 68 20 61 20 74 6f 6b 65 6e 20 69 73 20 73 74 61 74 .........;;.with.a.token.is.stat
31a20 65 20 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 72 65 61 64 20 74 68 65 0a 20 20 20 20 20 20 20 e.with.which.to.read.the........
31a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 5f 6e 65 78 74 5f 20 74 6f 6b 65 ..................;;._next_.toke
31a60 6e 2e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 n.)..........................(ma
31a80 74 63 68 20 28 74 6f 6b 65 6e 2d 72 65 66 20 28 73 75 62 31 20 62 65 67 29 29 0a 20 20 20 20 20 tch.(token-ref.(sub1.beg))......
31aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c 69 73 74 20 5f 62 65 ......................[(list._be
31ac0 67 20 5f 65 6e 64 20 28 73 74 72 75 63 74 2a 20 64 61 74 61 20 28 5b 6d 6f 64 65 20 6d 6f 64 65 g._end.(struct*.data.([mode.mode
31ae0 5d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ])))............................
31b00 20 28 76 61 6c 75 65 73 20 62 65 67 20 6d 6f 64 65 20 72 61 77 2d 6c 65 78 65 72 29 5d 0a 20 20 .(values.beg.mode.raw-lexer)]...
31b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 23 66 20 28 76 61 .........................[#f.(va
31b40 6c 75 65 73 20 62 65 67 20 23 66 20 72 61 77 2d 6c 65 78 65 72 29 5d 29 29 5d 0a 20 20 20 20 20 lues.beg.#f.raw-lexer)]))]......
31b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 23 66 20 28 76 61 6c 75 65 73 20 6d 69 6e 2d 70 ...............[#f.(values.min-p
31b80 6f 73 69 74 69 6f 6e 20 23 66 20 72 61 77 2d 6c 65 78 65 72 29 5d 29 29 5d 0a 20 20 20 20 20 20 osition.#f.raw-lexer)]))].......
31ba0 20 20 20 20 20 20 20 20 20 5b 23 66 20 28 76 61 6c 75 65 73 20 6d 69 6e 2d 70 6f 73 69 74 69 6f .........[#f.(values.min-positio
31bc0 6e 20 23 66 20 72 61 77 2d 6c 65 78 65 72 29 5d 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 28 n.#f.raw-lexer)]))]...........[(
31be0 70 72 6f 63 65 64 75 72 65 2d 61 72 69 74 79 2d 69 6e 63 6c 75 64 65 73 3f 20 72 61 77 2d 6c 65 procedure-arity-includes?.raw-le
31c00 78 65 72 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 6d 69 6e 2d 70 6f xer.1)............(values.min-po
31c20 73 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 64 75 6d 6d 79 sition....................'dummy
31c40 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 70 6f -mode....................(...(po
31c60 72 74 20 5f 70 6f 73 20 5f 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rt._pos._mode)..................
31c80 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 6c 65 78 65 6d 65 20 61 74 74 72 69 ....(define-values.(lexeme.attri
31ca0 62 73 20 70 61 72 65 6e 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bs.paren.beg.end)...............
31cc0 20 20 20 20 20 20 20 20 20 28 72 61 77 2d 6c 65 78 65 72 20 70 6f 72 74 29 29 0a 20 20 20 20 20 .........(raw-lexer.port))......
31ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 6c 65 78 65 6d 65 20 61 ................(values.lexeme.a
31d00 74 74 72 69 62 73 20 70 61 72 65 6e 20 62 65 67 20 65 6e 64 20 62 65 67 20 27 64 75 6d 6d 79 2d ttribs.paren.beg.end.beg.'dummy-
31d20 6d 6f 64 65 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 mode)))]...........[else........
31d40 20 20 20 20 28 65 72 72 6f 72 20 27 75 70 64 61 74 65 2d 74 6f 6b 65 6e 73 2d 61 6e 64 2d 70 61 ....(error.'update-tokens-and-pa
31d60 72 65 6e 73 20 22 55 6e 6b 6e 6f 77 6e 20 6c 65 78 65 72 20 61 72 69 74 79 22 29 5d 29 29 0a 20 rens."Unknown.lexer.arity")]))..
31d80 20 20 20 20 20 3b 3b 20 45 76 65 72 79 74 68 69 6e 67 20 62 65 66 6f 72 65 20 74 68 69 73 20 69 .....;;.Everything.before.this.i
31da0 73 20 76 61 6c 69 64 3b 20 61 6c 6c 6f 77 20 6f 74 68 65 72 20 74 68 72 65 61 64 73 20 74 6f 0a s.valid;.allow.other.threads.to.
31dc0 20 20 20 20 20 20 3b 3b 20 70 72 6f 67 72 65 73 73 20 74 68 72 75 20 74 68 61 74 20 70 6f 73 69 ......;;.progress.thru.that.posi
31de0 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 67 65 6e 65 72 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 28 tion.of.this.generation........(
31e00 73 65 74 2d 75 70 64 61 74 65 2d 70 72 6f 67 72 65 73 73 20 23 3a 70 6f 73 69 74 69 6f 6e 20 28 set-update-progress.#:position.(
31e20 73 75 62 31 20 69 6e 69 74 69 61 6c 2d 70 6f 73 29 29 0a 0a 20 20 20 20 20 20 3b 3b 20 53 70 6c sub1.initial-pos))........;;.Spl
31e40 69 74 20 74 68 65 20 74 6f 6b 65 6e 20 61 6e 64 20 70 61 72 65 6e 20 74 72 65 65 73 2e 0a 20 20 it.the.token.and.paren.trees....
31e60 20 20 20 20 28 64 65 66 69 6e 65 20 6f 6c 64 2d 74 6f 6b 65 6e 73 20 28 77 69 74 68 2d 73 65 6d ....(define.old-tokens.(with-sem
31e80 61 70 68 6f 72 65 20 74 6f 6b 65 6e 73 2d 73 65 6d 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 aphore.tokens-sema..............
31ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 73 65 61 72 63 ..............(send.tokens.searc
31ec0 68 21 20 69 6e 69 74 69 61 6c 2d 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h!.initial-pos).................
31ee0 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 74 31 20 74 32 ...........(define-values.(t1.t2
31f00 29 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 73 70 6c 69 74 2d 62 65 66 6f 72 65 29 29 0a 20 20 ).(send.tokens.split-before))...
31f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20 74 .........................(set!.t
31f40 6f 6b 65 6e 73 20 74 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 okens.t1).......................
31f60 20 20 20 20 20 74 32 29 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 .....t2)).......(with-semaphore.
31f80 70 61 72 65 6e 73 2d 73 65 6d 61 0a 20 20 20 20 20 20 20 20 28 73 65 6e 64 20 70 61 72 65 6e 73 parens-sema.........(send.parens
31fa0 20 73 70 6c 69 74 2d 74 72 65 65 20 69 6e 69 74 69 61 6c 2d 70 6f 73 29 29 0a 0a 20 20 20 20 20 .split-tree.initial-pos)).......
31fc0 20 3b 3b 20 52 75 6e 20 74 68 65 20 6c 65 78 65 72 20 75 6e 74 69 6c 20 69 74 20 70 72 6f 64 75 .;;.Run.the.lexer.until.it.produ
31fe0 63 65 73 20 73 75 66 66 69 63 69 65 6e 74 20 75 6e 63 68 61 6e 67 65 64 20 74 6f 6b 65 6e 73 2e ces.sufficient.unchanged.tokens.
32000 0a 20 20 20 20 20 20 3b 3b 20 55 70 64 61 74 65 20 74 6f 6b 65 6e 2d 74 72 65 65 20 61 6e 64 20 .......;;.Update.token-tree.and.
32020 70 61 72 65 6e 2d 74 72 65 65 2e 20 54 72 61 63 6b 20 62 6f 75 6e 64 73 20 6f 66 20 76 69 73 69 paren-tree..Track.bounds.of.visi
32040 62 6c 65 0a 20 20 20 20 20 20 3b 3b 20 63 68 61 6e 67 65 73 20 74 6f 20 6e 6f 74 69 66 79 20 76 ble.......;;.changes.to.notify.v
32060 69 61 20 6f 6e 2d 63 68 61 6e 67 65 64 2d 74 6f 6b 65 6e 73 2e 0a 20 20 20 20 20 20 28 64 65 66 ia.on-changed-tokens........(def
32080 69 6e 65 20 69 6e 20 28 6c 69 6e 65 73 3a 6f 70 65 6e 2d 69 6e 70 75 74 2d 74 65 78 74 20 63 6f ine.in.(lines:open-input-text.co
320a0 6e 74 65 6e 74 20 69 6e 69 74 69 61 6c 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e ntent.initial-pos)).......(defin
320c0 65 2d 76 61 6c 75 65 73 20 28 6d 69 6e 2d 63 68 61 6e 67 65 64 2d 70 6f 73 20 6d 61 78 2d 63 68 e-values.(min-changed-pos.max-ch
320e0 61 6e 67 65 64 2d 70 6f 73 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 74 6f 6b 65 6e 69 7a 65 anged-pos).........(let.tokenize
32100 20 28 5b 70 6f 73 20 69 6e 69 74 69 61 6c 2d 70 6f 73 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 .([pos.initial-pos].............
32120 20 20 20 20 20 20 20 20 20 20 20 5b 6d 6f 64 65 20 69 6e 69 74 69 61 6c 2d 6d 6f 64 65 5d 0a 20 ...........[mode.initial-mode]..
32140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 70 72 65 76 69 6f 75 73 2d ......................[previous-
32160 73 61 6d 65 3f 20 23 66 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 same?.#f].......................
32180 20 5b 63 6f 6e 74 69 67 2d 73 61 6d 65 2d 63 6f 75 6e 74 20 30 5d 0a 20 20 20 20 20 20 20 20 20 .[contig-same-count.0]..........
321a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6d 69 6e 2d 63 68 61 6e 67 65 64 2d 70 6f 73 20 6d ..............[min-changed-pos.m
321c0 61 78 2d 70 6f 73 69 74 69 6f 6e 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ax-position]....................
321e0 20 20 20 20 5b 6d 61 78 2d 63 68 61 6e 67 65 64 2d 70 6f 73 20 6d 69 6e 2d 70 6f 73 69 74 69 6f ....[max-changed-pos.min-positio
32200 6e 5d 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 6f 73 2f 70 6f 72 74 20 28 n])...........(define.pos/port.(
32220 61 64 64 31 20 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c add1.pos))...........(define-val
32240 75 65 73 20 28 6c 65 78 65 6d 65 20 61 74 74 72 69 62 73 20 70 61 72 65 6e 20 62 65 67 2f 70 6f ues.(lexeme.attribs.paren.beg/po
32260 72 74 20 65 6e 64 2f 70 6f 72 74 20 62 61 63 6b 75 70 20 6e 65 77 2d 6d 6f 64 65 2f 64 73 29 0a rt.end/port.backup.new-mode/ds).
32280 20 20 20 20 20 20 20 20 20 20 20 20 28 65 66 66 65 63 74 69 76 65 2d 6c 65 78 65 72 20 69 6e 20 ............(effective-lexer.in.
322a0 70 6f 73 2f 70 6f 72 74 20 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e pos/port.mode))...........(defin
322c0 65 2d 76 61 6c 75 65 73 20 28 6e 65 77 2d 6d 6f 64 65 20 6d 61 79 2d 73 74 6f 70 3f 29 0a 20 20 e-values.(new-mode.may-stop?)...
322e0 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 6e 65 77 2d 6d 6f 64 65 2f 64 73 0a 20 20 20 ..........(match.new-mode/ds....
32300 20 20 20 20 20 20 20 20 20 20 20 5b 28 73 74 72 75 63 74 2a 20 64 6f 6e 74 2d 73 74 6f 70 20 28 ...........[(struct*.dont-stop.(
32320 5b 76 61 6c 20 76 5d 29 29 20 28 76 61 6c 75 65 73 20 76 20 23 66 29 5d 0a 20 20 20 20 20 20 20 [val.v])).(values.v.#f)]........
32340 20 20 20 20 20 20 20 5b 76 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......[v.......................
32360 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 76 20 23 74 29 5d 29 29 0a 20 20 20 20 20 20 20 20 20 ......(values.v.#t)]))..........
32380 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 65 6f 66 2d 6f 62 6a 65 63 74 3f .(cond.............[(eof-object?
323a0 20 6c 65 78 65 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 6d 69 .lexeme)..............(values.mi
323c0 6e 2d 63 68 61 6e 67 65 64 2d 70 6f 73 20 6d 61 78 2d 63 68 61 6e 67 65 64 2d 70 6f 73 29 5d 0a n-changed-pos.max-changed-pos)].
323e0 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ............[else..............(
32400 64 65 66 69 6e 65 20 6e 65 77 2d 62 65 67 20 28 73 75 62 31 20 62 65 67 2f 70 6f 72 74 29 29 0a define.new-beg.(sub1.beg/port)).
32420 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 65 6e 64 20 28 73 75 .............(define.new-end.(su
32440 62 31 20 65 6e 64 2f 70 6f 72 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 b1.end/port))..............(defi
32460 6e 65 20 6e 65 77 2d 73 70 61 6e 20 28 2d 20 6e 65 77 2d 65 6e 64 20 6e 65 77 2d 62 65 67 29 29 ne.new-span.(-.new-end.new-beg))
32480 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 74 6f 6b 20 28 64 ..............(define.new-tok.(d
324a0 61 74 61 20 61 74 74 72 69 62 73 20 62 61 63 6b 75 70 20 6e 65 77 2d 6d 6f 64 65 29 29 0a 20 20 ata.attribs.backup.new-mode))...
324c0 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 74 6f 6b 65 6e ...........(with-semaphore.token
324e0 73 2d 73 65 6d 61 20 28 69 6e 73 65 72 74 2d 6c 61 73 74 2d 73 70 65 63 21 20 74 6f 6b 65 6e 73 s-sema.(insert-last-spec!.tokens
32500 20 6e 65 77 2d 73 70 61 6e 20 6e 65 77 2d 74 6f 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .new-span.new-tok)).............
32520 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 70 61 72 65 6e 73 2d 73 65 6d 61 20 28 73 65 .(with-semaphore.parens-sema.(se
32540 6e 64 20 70 61 72 65 6e 73 20 61 64 64 2d 74 6f 6b 65 6e 20 70 61 72 65 6e 20 6e 65 77 2d 73 70 nd.parens.add-token.paren.new-sp
32560 61 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 75 70 64 61 74 65 2d 70 72 an))..............(set-update-pr
32580 6f 67 72 65 73 73 20 23 3a 70 6f 73 69 74 69 6f 6e 20 28 73 75 62 31 20 6e 65 77 2d 65 6e 64 29 ogress.#:position.(sub1.new-end)
325a0 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 44 65 74 65 63 74 20 77 68 65 74 68 65 )...............;;.Detect.whethe
325c0 72 20 73 61 6d 65 20 61 73 20 62 65 66 6f 72 65 20 28 6a 75 73 74 20 73 68 69 66 74 65 64 20 62 r.same.as.before.(just.shifted.b
325e0 79 20 60 64 69 66 66 60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 6e 64 20 6f 6c 64 y.`diff`)..............(send.old
32600 2d 74 6f 6b 65 6e 73 20 73 65 61 72 63 68 21 20 28 2d 20 6e 65 77 2d 62 65 67 20 69 6e 69 74 69 -tokens.search!.(-.new-beg.initi
32620 61 6c 2d 70 6f 73 20 64 69 66 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 al-pos.diff))..............(defi
32640 6e 65 20 6f 6c 64 2d 62 65 67 20 28 73 65 6e 64 20 6f 6c 64 2d 74 6f 6b 65 6e 73 20 67 65 74 2d ne.old-beg.(send.old-tokens.get-
32660 72 6f 6f 74 2d 73 74 61 72 74 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 root-start-position))...........
32680 20 20 20 28 64 65 66 69 6e 65 20 6f 6c 64 2d 65 6e 64 20 28 73 65 6e 64 20 6f 6c 64 2d 74 6f 6b ...(define.old-end.(send.old-tok
326a0 65 6e 73 20 67 65 74 2d 72 6f 6f 74 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 ens.get-root-end-position)).....
326c0 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6f 6c 64 2d 73 70 61 6e 20 28 2d 20 6f 6c 64 .........(define.old-span.(-.old
326e0 2d 65 6e 64 20 6f 6c 64 2d 62 65 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 -end.old-beg))..............(def
32700 69 6e 65 20 6f 6c 64 2d 74 6f 6b 20 28 73 65 6e 64 20 6f 6c 64 2d 74 6f 6b 65 6e 73 20 67 65 74 ine.old-tok.(send.old-tokens.get
32720 2d 72 6f 6f 74 2d 64 61 74 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e -root-data))..............(defin
32740 65 20 73 61 6d 65 3f 20 28 61 6e 64 20 28 65 71 75 61 6c 3f 20 6e 65 77 2d 73 70 61 6e 20 6f 6c e.same?.(and.(equal?.new-span.ol
32760 64 2d 73 70 61 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-span).........................
32780 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 3f 20 6e 65 77 2d 74 6f 6b 20 6f 6c 64 2d 74 6f 6b 29 ........(equal?.new-tok.old-tok)
327a0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 63 6f 6e 74 ))..............(define.new-cont
327c0 69 67 2d 73 61 6d 65 2d 63 6f 75 6e 74 20 28 69 66 20 28 61 6e 64 20 70 72 65 76 69 6f 75 73 2d ig-same-count.(if.(and.previous-
327e0 73 61 6d 65 3f 20 73 61 6d 65 3f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 same?.same?)....................
32800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 ............................(add
32820 31 20 63 6f 6e 74 69 67 2d 73 61 6d 65 2d 63 6f 75 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 1.contig-same-count)............
32840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
32860 20 20 20 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 ....0))..............(cond......
32880 20 20 20 20 20 20 20 20 20 20 5b 28 61 6e 64 20 6d 61 79 2d 73 74 6f 70 3f 0a 20 20 20 20 20 20 ..........[(and.may-stop?.......
328a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 65 6e 6f 75 67 68 20 73 61 6d 65 ...............;;.If.enough.same
328c0 20 74 6f 6b 65 6e 73 20 69 6e 20 61 20 72 6f 77 2c 20 61 73 73 75 6d 65 0a 20 20 20 20 20 20 20 .tokens.in.a.row,.assume........
328e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 6f 6b 65 6e 69 7a 61 74 69 6f 6e 20 68 61 ..............;;.tokenization.ha
32900 73 20 22 63 6f 6e 76 65 72 67 65 64 22 20 77 69 74 68 20 6f 6c 64 20 6f 6e 65 20 61 6e 64 0a 20 s."converged".with.old.one.and..
32920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 72 65 20 69 73 20 ....................;;.there.is.
32940 6e 6f 20 6e 65 65 64 20 74 6f 20 63 6f 6e 74 69 6e 75 65 2e 20 48 65 72 65 20 22 33 22 20 69 73 no.need.to.continue..Here."3".is
32960 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 41 47 2e 20 .a......................;;.WAG..
32980 5b 49 49 55 43 20 74 68 65 20 66 72 61 6d 65 77 6f 72 6b 20 63 6f 6c 6f 72 65 72 20 66 65 65 6c [IIUC.the.framework.colorer.feel
329a0 73 20 22 31 22 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b s."1".is......................;;
329c0 20 65 6e 6f 75 67 68 20 61 6e 64 20 72 65 6c 69 65 73 20 6f 6e 20 6c 65 78 65 72 20 64 6f 6e 74 .enough.and.relies.on.lexer.dont
329e0 2d 73 74 6f 70 2e 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 3d -stop.]......................(>=
32a00 20 6e 65 77 2d 63 6f 6e 74 69 67 2d 73 61 6d 65 2d 63 6f 75 6e 74 20 33 29 29 0a 20 20 20 20 20 .new-contig-same-count.3))......
32a20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 6e 64 20 6f 6c 64 2d 74 6f 6b 65 6e 73 20 73 65 61 72 ...........(send.old-tokens.sear
32a40 63 68 21 20 6f 6c 64 2d 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 ch!.old-beg).................(de
32a60 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 5f 20 6b 65 65 70 29 20 28 73 65 6e 64 20 6f 6c 64 2d 74 fine-values.(_.keep).(send.old-t
32a80 6f 6b 65 6e 73 20 73 70 6c 69 74 2d 61 66 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 okens.split-after)).............
32aa0 20 20 20 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 74 6f 6b 65 6e 73 2d 73 65 6d 61 20 ....(with-semaphore.tokens-sema.
32ac0 28 69 6e 73 65 72 74 2d 6c 61 73 74 21 20 74 6f 6b 65 6e 73 20 6b 65 65 70 29 29 0a 20 20 20 20 (insert-last!.tokens.keep)).....
32ae0 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 61 72 65 6e 2d 6b 65 65 70 2d 73 ............(define.paren-keep-s
32b00 70 61 6e 20 28 2d 20 28 6c 61 73 74 2d 70 6f 73 69 74 69 6f 6e 29 20 6e 65 77 2d 65 6e 64 29 29 pan.(-.(last-position).new-end))
32b20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 .................(with-semaphore
32b40 20 70 61 72 65 6e 73 2d 73 65 6d 61 20 28 73 65 6e 64 20 70 61 72 65 6e 73 20 6d 65 72 67 65 2d .parens-sema.(send.parens.merge-
32b60 74 72 65 65 20 70 61 72 65 6e 2d 6b 65 65 70 2d 73 70 61 6e 29 29 0a 20 20 20 20 20 20 20 20 20 tree.paren-keep-span))..........
32b80 20 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 6d 69 6e 2d 63 68 61 6e 67 65 64 2d 70 6f 73 20 6d .......(values.min-changed-pos.m
32ba0 61 78 2d 63 68 61 6e 67 65 64 2d 70 6f 73 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ax-changed-pos)]................
32bc0 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 6f 72 20 70 75 72 [else.................;;.For.pur
32be0 70 6f 73 65 73 20 6f 66 20 6e 6f 74 69 66 79 69 6e 67 20 63 6c 69 65 6e 74 73 20 74 6f 20 72 65 poses.of.notifying.clients.to.re
32c00 2d 63 6f 6c 6f 72 20 77 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 75 73 65 -color.we.................;;.use
32c20 20 61 20 73 74 72 69 63 74 65 72 20 73 65 6e 73 65 20 6f 66 20 22 73 61 6d 65 22 20 74 68 61 6e .a.stricter.sense.of."same".than
32c40 20 77 65 20 64 6f 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 65 .we.do.for.................;;.de
32c60 63 69 64 69 6e 67 20 77 68 65 74 68 65 72 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 6c 65 78 69 6e ciding.whether.to.continue.lexin
32c80 67 2e 20 48 65 72 65 20 77 65 20 63 61 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g..Here.we.care.................
32ca0 3b 3b 20 6f 6e 6c 79 20 77 68 65 74 68 65 72 20 74 68 65 20 73 70 61 6e 20 61 6e 64 20 61 74 74 ;;.only.whether.the.span.and.att
32cc0 72 69 62 75 74 65 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 ributes.are.the.same............
32ce0 20 20 20 20 20 3b 3b 20 28 6e 6f 74 20 77 68 65 74 68 65 72 20 62 61 63 6b 75 70 20 6f 72 20 6d .....;;.(not.whether.backup.or.m
32d00 6f 64 65 20 63 68 61 6e 67 65 64 3b 20 74 68 6f 73 65 20 61 72 65 20 4e 2f 41 0a 20 20 20 20 20 ode.changed;.those.are.N/A......
32d20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 6f 72 20 76 69 73 69 62 6c 65 20 63 6f 6c 6f 72 69 ...........;;.for.visible.colori
32d40 6e 67 20 63 68 61 6e 67 65 73 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 ng.changes)..................(de
32d60 66 69 6e 65 20 73 61 6d 65 2d 73 70 61 6e 2f 61 74 74 72 69 62 73 3f 0a 20 20 20 20 20 20 20 20 fine.same-span/attribs?.........
32d80 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 65 71 75 61 6c 3f 20 6e 65 77 2d 73 70 61 6e 20 ..........(and.(equal?.new-span.
32da0 6f 6c 64 2d 73 70 61 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 old-span).......................
32dc0 20 28 65 71 75 61 6c 3f 20 28 64 61 74 61 2d 61 74 74 72 69 62 73 20 6e 65 77 2d 74 6f 6b 29 20 .(equal?.(data-attribs.new-tok).
32de0 28 64 61 74 61 2d 61 74 74 72 69 62 73 20 6f 6c 64 2d 74 6f 6b 29 29 29 29 0a 20 20 20 20 20 20 (data-attribs.old-tok)))).......
32e00 20 20 20 20 20 20 20 20 20 20 28 74 6f 6b 65 6e 69 7a 65 20 6e 65 77 2d 65 6e 64 0a 20 20 20 20 ..........(tokenize.new-end.....
32e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 2d 6d 6f 64 65 0a 20 ......................new-mode..
32e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 61 6d 65 3f 0a 20 .........................same?..
32e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 2d 63 6f 6e .........................new-con
32e80 74 69 67 2d 73 61 6d 65 2d 63 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tig-same-count..................
32ea0 20 20 20 20 20 20 20 20 20 28 69 66 20 73 61 6d 65 2d 73 70 61 6e 2f 61 74 74 72 69 62 73 3f 0a .........(if.same-span/attribs?.
32ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 69 ..............................mi
32ee0 6e 2d 63 68 61 6e 67 65 64 2d 70 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n-changed-pos...................
32f00 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 69 6e 20 6d 69 6e 2d 63 68 61 6e 67 65 64 2d 70 6f 73 ............(min.min-changed-pos
32f20 20 6e 65 77 2d 62 65 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .new-beg))......................
32f40 20 20 20 20 20 28 69 66 20 73 61 6d 65 2d 73 70 61 6e 2f 61 74 74 72 69 62 73 3f 0a 20 20 20 20 .....(if.same-span/attribs?.....
32f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 78 2d 63 68 ..........................max-ch
32f80 61 6e 67 65 64 2d 70 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 anged-pos.......................
32fa0 20 20 20 20 20 20 20 20 28 6d 61 78 20 6d 61 78 2d 63 68 61 6e 67 65 64 2d 70 6f 73 20 6e 65 77 ........(max.max-changed-pos.new
32fc0 2d 65 6e 64 29 29 29 5d 29 5d 29 29 29 0a 20 20 20 20 20 20 28 6f 6e 2d 63 68 61 6e 67 65 64 2d -end)))])]))).......(on-changed-
32fe0 74 6f 6b 65 6e 73 20 75 70 64 61 74 65 64 2d 67 65 6e 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 tokens.updated-generation.......
33000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 69 6e 2d 63 68 61 6e 67 65 64 2d 70 ...................min-changed-p
33020 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 78 2d os..........................max-
33040 63 68 61 6e 67 65 64 2d 70 6f 73 29 0a 20 20 20 20 20 20 28 73 65 74 2d 75 70 64 61 74 65 2d 70 changed-pos).......(set-update-p
33060 72 6f 67 72 65 73 73 20 23 3a 70 6f 73 69 74 69 6f 6e 20 6d 61 78 2d 70 6f 73 69 74 69 6f 6e 29 rogress.#:position.max-position)
33080 29 0a 0a 20 20 20 20 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d )......;;.----------------------
330a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
330c0 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 50 75 62 6c 69 63 20 6d 65 74 68 ------.....;;.....;;.Public.meth
330e0 6f 64 73 20 66 6f 72 20 45 6d 61 63 73 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 20 20 20 20 3b 3b 20 ods.for.Emacs.commands.......;;.
33100 54 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 73 61 66 65 20 74 6f 20 63 61 6c 6c 20 66 72 6f 6d This.method.is.safe.to.call.from
33120 20 76 61 72 69 6f 75 73 20 74 68 72 65 61 64 73 2e 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 .various.threads......;;.....;;.
33140 54 68 65 20 6d 65 74 68 6f 64 20 73 69 67 6e 61 74 75 72 65 20 68 65 72 65 20 69 73 20 73 69 6d The.method.signature.here.is.sim
33160 69 6c 61 72 20 74 6f 20 74 68 61 74 20 6f 66 20 45 6d 61 63 73 27 0a 20 20 20 20 3b 3b 20 61 66 ilar.to.that.of.Emacs'.....;;.af
33180 74 65 72 2d 63 68 61 6e 67 65 20 66 75 6e 63 74 69 6f 6e 73 3a 20 53 6f 6d 65 74 68 69 6e 67 20 ter-change.functions:.Something.
331a0 63 68 61 6e 67 65 64 20 73 74 61 72 74 69 6e 67 20 61 74 20 50 4f 53 2e 20 54 68 65 0a 20 20 20 changed.starting.at.POS..The....
331c0 20 3b 3b 20 74 65 78 74 20 74 68 65 72 65 20 75 73 65 64 20 74 6f 20 62 65 20 4f 4c 44 2d 4c 45 .;;.text.there.used.to.be.OLD-LE
331e0 4e 20 63 68 61 72 73 20 6c 6f 6e 67 2c 20 62 75 74 20 69 73 20 6e 6f 77 20 4e 45 57 2d 53 54 52 N.chars.long,.but.is.now.NEW-STR
33200 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 75 70 64 61 74 65 21 20 67 65 ......(define/public.(update!.ge
33220 6e 20 70 6f 73 20 6f 6c 64 2d 6c 65 6e 20 6e 65 77 2d 73 74 72 29 0a 20 20 20 20 20 20 3b 3b 28 n.pos.old-len.new-str).......;;(
33240 2d 3e 20 67 65 6e 65 72 61 74 69 6f 6e 2f 63 20 70 6f 73 69 74 69 6f 6e 2f 63 20 65 78 61 63 74 ->.generation/c.position/c.exact
33260 2d 6e 6f 6e 6e 65 67 61 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 20 73 74 72 69 6e 67 3f 20 61 6e -nonnegative-integer?.string?.an
33280 79 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 3c 20 75 70 64 61 74 65 64 2d 67 65 6e 65 y).......(unless.(<.updated-gene
332a0 72 61 74 69 6f 6e 20 67 65 6e 29 0a 20 20 20 20 20 20 20 20 28 72 61 69 73 65 2d 61 72 67 75 6d ration.gen).........(raise-argum
332c0 65 6e 74 2d 65 72 72 6f 72 20 27 75 70 64 61 74 65 21 20 22 76 61 6c 69 64 20 67 65 6e 65 72 61 ent-error.'update!."valid.genera
332e0 74 69 6f 6e 22 20 30 20 67 65 6e 20 70 6f 73 20 6f 6c 64 2d 6c 65 6e 20 6e 65 77 2d 73 74 72 29 tion".0.gen.pos.old-len.new-str)
33300 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 3c 3d 20 6d 69 6e 2d 70 6f 73 69 74 69 6f 6e ).......(unless.(<=.min-position
33320 20 70 6f 73 29 0a 20 20 20 20 20 20 20 20 28 72 61 69 73 65 2d 61 72 67 75 6d 65 6e 74 2d 65 72 .pos).........(raise-argument-er
33340 72 6f 72 20 27 75 70 64 61 74 65 21 20 22 76 61 6c 69 64 20 70 6f 73 69 74 69 6f 6e 22 20 31 20 ror.'update!."valid.position".1.
33360 67 65 6e 20 70 6f 73 20 6f 6c 64 2d 6c 65 6e 20 6e 65 77 2d 73 74 72 29 29 0a 20 20 20 20 20 20 gen.pos.old-len.new-str)).......
33380 28 61 73 79 6e 63 2d 63 68 61 6e 6e 65 6c 2d 70 75 74 20 75 70 64 61 74 65 2d 63 68 61 6e 0a 20 (async-channel-put.update-chan..
333a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 67 65 ........................(list.ge
333c0 6e 20 70 6f 73 20 6f 6c 64 2d 6c 65 6e 20 6e 65 77 2d 73 74 72 29 29 29 0a 0a 20 20 20 20 3b 3b n.pos.old-len.new-str)))......;;
333e0 20 43 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 6f 6e 20 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 74 68 .Can.be.called.on.any.command.th
33400 72 65 61 64 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 63 6c 61 73 73 69 read......(define/public.(classi
33420 66 79 20 67 65 6e 20 70 6f 73 29 0a 20 20 20 20 20 20 3b 3b 20 28 2d 3e 20 67 65 6e 65 72 61 74 fy.gen.pos).......;;.(->.generat
33440 69 6f 6e 2f 63 20 70 6f 73 69 74 69 6f 6e 2f 63 20 28 6f 72 2f 63 20 23 66 20 28 6c 69 73 74 2f ion/c.position/c.(or/c.#f.(list/
33460 63 20 70 6f 73 69 74 69 6f 6e 2f 63 20 70 6f 73 69 74 69 6f 6e 2f 63 20 28 6f 72 2f 63 20 73 79 c.position/c.position/c.(or/c.sy
33480 6d 62 6f 6c 3f 20 68 61 73 68 2d 65 71 3f 29 29 0a 20 20 20 20 20 20 28 62 6c 6f 63 6b 2d 75 6e mbol?.hash-eq?)).......(block-un
334a0 74 69 6c 2d 75 70 64 61 74 65 64 2d 74 68 72 75 20 67 65 6e 20 70 6f 73 29 0a 20 20 20 20 20 20 til-updated-thru.gen.pos).......
334c0 28 6d 61 74 63 68 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 74 6f 6b 65 6e 73 2d 73 65 (match.(with-semaphore.tokens-se
334e0 6d 61 20 28 74 6f 6b 65 6e 2d 72 65 66 20 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 5b 28 6c 69 ma.(token-ref.pos)).........[(li
33500 73 74 20 62 65 67 20 65 6e 64 20 28 73 74 72 75 63 74 2a 20 64 61 74 61 20 28 5b 61 74 74 72 69 st.beg.end.(struct*.data.([attri
33520 62 73 20 61 74 74 72 69 62 73 5d 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 62 65 bs.attribs])))..........(list.be
33540 67 20 65 6e 64 20 61 74 74 72 69 62 73 29 5d 0a 20 20 20 20 20 20 20 20 5b 23 66 20 23 66 5d 29 g.end.attribs)].........[#f.#f])
33560 29 0a 0a 20 20 20 20 3b 3b 20 43 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 6f 6e 20 61 6e 79 20 63 )......;;.Can.be.called.on.any.c
33580 6f 6d 6d 61 6e 64 20 74 68 72 65 61 64 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 ommand.thread......(define/publi
335a0 63 20 28 67 65 74 2d 74 6f 6b 65 6e 73 20 67 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c.(get-tokens.gen...............
335c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 66 72 6f 6d 20 6d 69 6e 2d 70 6f 73 69 74 .................[from.min-posit
335e0 69 6f 6e 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion]............................
33600 20 20 20 20 5b 75 70 74 6f 20 6d 61 78 2d 70 6f 73 69 74 69 6f 6e 5d 29 0a 20 20 20 20 20 20 28 ....[upto.max-position]).......(
33620 62 6c 6f 63 6b 2d 75 6e 74 69 6c 2d 75 70 64 61 74 65 64 2d 74 68 72 75 20 67 65 6e 20 75 70 74 block-until-updated-thru.gen.upt
33640 6f 29 0a 20 20 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 5b 70 6f 73 20 66 72 6f 6d 5d 29 0a o).......(let.loop.([pos.from]).
33660 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 74 ........(match.(with-semaphore.t
33680 6f 6b 65 6e 73 2d 73 65 6d 61 20 28 74 6f 6b 65 6e 2d 72 65 66 20 70 6f 73 29 29 0a 20 20 20 20 okens-sema.(token-ref.pos)).....
336a0 20 20 20 20 20 20 5b 28 6c 69 73 74 20 62 65 67 20 65 6e 64 20 28 73 74 72 75 63 74 2a 20 64 61 ......[(list.beg.end.(struct*.da
336c0 74 61 20 28 5b 61 74 74 72 69 62 73 20 61 74 74 72 69 62 73 5d 29 29 29 0a 20 20 20 20 20 20 20 ta.([attribs.attribs])))........
336e0 20 20 20 20 28 69 66 20 28 3c 3d 20 65 6e 64 20 75 70 74 6f 29 0a 20 20 20 20 20 20 20 20 20 20 ....(if.(<=.end.upto)...........
33700 20 20 20 20 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 62 65 67 20 65 6e 64 20 61 74 74 72 69 62 73 .....(cons.(list.beg.end.attribs
33720 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 65 6e 64 )......................(loop.end
33740 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 29 5d 0a 20 20 20 20 20 20 20 ))................null)]........
33760 20 20 20 5b 23 66 20 6e 75 6c 6c 5d 29 29 29 0a 0a 20 20 20 20 3b 3b 20 4d 65 74 68 6f 64 73 20 ...[#f.null])))......;;.Methods.
33780 66 6f 72 20 45 6d 61 63 73 20 6e 61 76 69 67 61 74 69 6f 6e 20 61 6e 64 20 69 6e 64 65 6e 74 20 for.Emacs.navigation.and.indent.
337a0 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 54 68 65 73 65 20 63 6f commands......;;.....;;.These.co
337c0 6d 6d 61 6e 64 20 6d 65 74 68 6f 64 73 20 77 6f 72 6b 20 62 79 20 63 61 6c 6c 69 6e 67 20 76 61 mmand.methods.work.by.calling.va
337e0 72 69 6f 75 73 20 64 72 72 61 63 6b 65 74 3a 78 79 7a 0a 20 20 20 20 3b 3b 20 66 75 6e 63 74 69 rious.drracket:xyz.....;;.functi
33800 6f 6e 73 2c 20 73 75 70 70 6c 79 69 6e 67 20 60 74 68 69 73 60 20 61 73 20 74 68 65 20 63 6f 6c ons,.supplying.`this`.as.the.col
33820 6f 72 2d 74 65 78 74 6f 69 64 3c 25 3e 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 3b 3b 20 49 or-textoid<%>.argument......;;.I
33840 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 74 68 6f 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 77 n.other.words,.those.functions.w
33860 69 6c 6c 20 22 63 61 6c 6c 20 62 61 63 6b 22 20 75 73 65 20 74 68 65 0a 20 20 20 20 3b 3b 20 74 ill."call.back".use.the.....;;.t
33880 65 78 74 6f 69 64 20 6d 65 74 68 6f 64 73 2e 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 54 68 extoid.methods......;;.....;;.Th
338a0 65 73 65 20 63 6f 6d 6d 61 6e 64 20 6d 65 74 68 6f 64 73 20 63 61 6c 6c 20 62 6c 6f 63 6b 2d 75 ese.command.methods.call.block-u
338c0 6e 74 69 6c 2d 75 70 64 61 74 65 64 2d 74 68 72 75 2c 20 74 6f 20 77 61 69 74 0a 20 20 20 20 3b ntil-updated-thru,.to.wait.....;
338e0 3b 20 75 6e 74 69 6c 20 74 68 65 20 75 70 64 61 74 65 72 20 74 68 72 65 61 64 20 68 61 73 20 70 ;.until.the.updater.thread.has.p
33900 72 6f 67 72 65 73 73 65 64 20 66 61 72 20 65 6e 6f 75 67 68 20 74 6f 20 73 75 70 70 6f 72 74 0a rogressed.far.enough.to.support.
33920 20 20 20 20 3b 3b 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b ....;;.the.command......;;.....;
33940 3b 20 54 68 65 73 65 20 63 6f 6d 6d 61 6e 64 20 6d 65 74 68 6f 64 73 20 74 61 6b 65 20 74 68 65 ;.These.command.methods.take.the
33960 20 74 6f 6b 65 6e 73 20 61 6e 64 20 70 61 72 65 6e 73 20 73 65 6d 61 70 68 6f 72 65 73 20 66 6f .tokens.and.parens.semaphores.fo
33980 72 0a 20 20 20 20 3b 3b 20 74 68 65 20 64 79 6e 61 6d 69 63 20 65 78 74 65 6e 74 20 74 68 65 20 r.....;;.the.dynamic.extent.the.
339a0 63 61 6c 6c 20 74 6f 20 74 68 65 20 64 72 72 61 63 6b 65 74 3a 78 79 7a 20 66 75 6e 63 74 69 6f call.to.the.drracket:xyz.functio
339c0 6e 2e 20 41 73 20 61 20 72 65 73 75 6c 74 0a 20 20 20 20 3b 3b 20 74 68 65 20 74 65 78 74 6f 69 n..As.a.result.....;;.the.textoi
339e0 64 20 6d 65 74 68 6f 64 73 20 6e 65 65 64 20 6e 6f 74 2e 20 54 68 69 73 20 69 73 20 73 69 67 6e d.methods.need.not..This.is.sign
33a00 66 69 63 61 6e 74 6c 79 20 66 61 73 74 65 72 20 28 65 2e 67 2e 20 32 58 29 2e 0a 20 20 20 20 3b ficantly.faster.(e.g..2X)......;
33a20 3b 0a 0a 20 20 20 20 3b 3b 20 43 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 6f 6e 20 61 6e 79 20 63 ;......;;.Can.be.called.on.any.c
33a40 6f 6d 6d 61 6e 64 20 74 68 72 65 61 64 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 ommand.thread......(define/publi
33a60 63 20 28 67 72 6f 75 70 69 6e 67 20 67 65 6e 20 70 6f 73 20 64 69 72 20 6c 69 6d 69 74 20 63 6f c.(grouping.gen.pos.dir.limit.co
33a80 75 6e 74 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 5b 28 3c 3d 20 63 6f unt).......(cond.........[(<=.co
33aa0 75 6e 74 20 30 29 20 70 6f 73 5d 0a 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 unt.0).pos].........[else.......
33ac0 20 20 20 28 62 6c 6f 63 6b 2d 75 6e 74 69 6c 2d 75 70 64 61 74 65 64 2d 74 68 72 75 20 67 65 6e ...(block-until-updated-thru.gen
33ae0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
33b00 20 20 20 20 28 63 61 73 65 20 64 69 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(case.dir...................
33b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 75 70 20 62 61 63 6b 77 61 72 64 ...................[(up.backward
33b40 29 20 6d 69 6e 2d 70 6f 73 69 74 69 6f 6e 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).min-position].................
33b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 64 6f 77 6e 20 66 6f 72 77 .....................[(down.forw
33b80 61 72 64 29 20 6d 61 78 2d 70 6f 73 69 74 69 6f 6e 5d 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 ard).max-position]))..........(d
33ba0 65 66 69 6e 65 20 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 20 28 6c 61 6e 67 2d 69 6e efine.grouping-position.(lang-in
33bc0 66 6f 2d 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 20 6c 61 6e 67 2d 69 6e 66 6f 29 29 fo-grouping-position.lang-info))
33be0 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 5b 70 6f 73 20 70 6f 73 5d 0a 20 ..........(let.loop.([pos.pos]..
33c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 63 6f 75 6e 74 20 63 6f 75 6e 74 5d ...................[count.count]
33c20 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 77 69 74 68 2d 73 65 6d 61 70 68 )............(match.(with-semaph
33c40 6f 72 65 20 74 6f 6b 65 6e 73 2d 73 65 6d 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ore.tokens-sema.................
33c60 20 20 20 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 70 61 72 65 6e 73 2d 73 65 6d 61 0a ....(with-semaphore.parens-sema.
33c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 67 72 ......................(match.(gr
33ca0 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 20 74 68 69 73 20 70 6f 73 20 6c 69 6d 69 74 20 64 ouping-position.this.pos.limit.d
33cc0 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 48 ir).........................;;.H
33ce0 61 6e 64 6c 65 20 63 61 73 65 20 77 68 65 72 65 20 69 74 20 72 65 74 75 72 6e 73 20 23 74 2c 20 andle.case.where.it.returns.#t,.
33d00 6d 65 61 6e 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 meaning.........................
33d20 3b 3b 20 22 75 73 65 20 64 65 66 61 75 6c 74 20 73 2d 65 78 70 72 20 67 72 6f 75 70 69 6e 67 22 ;;."use.default.s-expr.grouping"
33d40 2e 20 54 68 61 74 20 73 70 65 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..That.spec.....................
33d60 20 20 20 20 3b 3b 20 73 6c 69 67 68 74 6c 79 20 70 72 65 64 61 74 65 73 20 74 68 65 20 61 64 64 ....;;.slightly.predates.the.add
33d80 69 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ition.of........................
33da0 20 3b 3b 20 73 79 6e 74 61 78 2d 63 6f 6c 6f 72 2f 72 61 63 6b 65 74 2d 6e 61 76 69 67 61 74 69 .;;.syntax-color/racket-navigati
33dc0 6f 6e 20 2d 2d 2d 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on.---.the......................
33de0 20 20 20 3b 3b 20 61 76 61 69 6c 61 62 69 6c 69 74 79 20 6f 66 20 77 68 69 63 68 20 70 72 6f 62 ...;;.availability.of.which.prob
33e00 61 62 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ably.means.that.................
33e20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 69 73 20 23 74 20 76 61 6c 75 65 20 73 68 6f 75 6c 64 20 ........;;.this.#t.value.should.
33e40 6e 6f 20 6c 6f 6e 67 65 72 20 62 65 20 72 65 74 75 72 6e 65 64 3f 0a 20 20 20 20 20 20 20 20 20 no.longer.be.returned?..........
33e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 ...............;;.In.other.words
33e80 2c 20 69 66 20 61 20 6c 61 6e 67 20 77 61 6e 74 73 20 73 2d 65 78 70 72 20 6e 61 76 2c 0a 20 20 ,.if.a.lang.wants.s-expr.nav,...
33ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 74 73 20 6c 61 6e ......................;;.its.lan
33ec0 67 20 69 6e 66 6f 20 73 68 6f 75 6c 64 20 65 69 74 68 65 72 20 6e 6f 74 20 73 75 70 70 6c 79 20 g.info.should.either.not.supply.
33ee0 61 6e 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 any.........................;;.d
33f00 72 72 61 63 6b 65 74 3a 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 20 61 74 20 61 6c 6c rracket:grouping-position.at.all
33f20 2c 20 6f 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b ,.or,.........................;;
33f40 20 73 75 70 70 6c 79 20 72 61 63 6b 65 74 2d 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e .supply.racket-grouping-position
33f60 20 61 73 20 74 68 61 74 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .as.that?.......................
33f80 20 20 5b 23 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ..[#t..........................(
33fa0 77 68 65 6e 20 28 65 71 75 61 6c 3f 20 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 20 72 when.(equal?.grouping-position.r
33fc0 61 63 6b 65 74 2d 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 acket-grouping-position)........
33fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 27 67 72 6f 75 ....................(error.'grou
34000 70 69 6e 67 20 22 72 61 63 6b 65 74 2d 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 20 72 ping."racket-grouping-position.r
34020 65 74 75 72 6e 65 64 20 23 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eturned.#t"))...................
34040 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e .......(racket-grouping-position
34060 20 74 68 69 73 20 70 6f 73 20 6c 69 6d 69 74 20 64 69 72 29 5d 0a 20 20 20 20 20 20 20 20 20 20 .this.pos.limit.dir)]...........
34080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 76 20 76 5d 29 29 29 0a 20 20 20 20 20 20 20 20 20 ..............[v.v])))..........
340a0 20 20 20 20 5b 23 66 20 23 66 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 6e 75 6d ....[#f.#f]..............[(?.num
340c0 62 65 72 3f 20 6e 65 77 2d 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e ber?.new-pos)...............(con
340e0 64 20 5b 28 3c 20 31 20 63 6f 75 6e 74 29 20 28 6c 6f 6f 70 20 6e 65 77 2d 70 6f 73 20 28 73 75 d.[(<.1.count).(loop.new-pos.(su
34100 62 31 20 63 6f 75 6e 74 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 b1.count))].....................
34120 5b 28 3d 20 6e 65 77 2d 70 6f 73 20 70 6f 73 29 20 23 66 5d 0a 20 20 20 20 20 20 20 20 20 20 20 [(=.new-pos.pos).#f]............
34140 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 6e 65 77 2d 70 6f 73 5d 29 5d 29 29 5d 29 29 0a 0a .........[else.new-pos])]))]))..
34160 20 20 20 20 3b 3b 20 43 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 6f 6e 20 61 6e 79 20 63 6f 6d 6d ....;;.Can.be.called.on.any.comm
34180 61 6e 64 20 74 68 72 65 61 64 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 and.thread......(define/public.(
341a0 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 61 6d 6f 75 6e 74 20 67 65 6e 20 70 6f 73 29 0a 20 20 20 20 indent-line-amount.gen.pos).....
341c0 20 20 28 62 6c 6f 63 6b 2d 75 6e 74 69 6c 2d 75 70 64 61 74 65 64 2d 74 68 72 75 20 67 65 6e 20 ..(block-until-updated-thru.gen.
341e0 70 6f 73 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 74 6f 6b 65 6e pos).......(with-semaphore.token
34200 73 2d 73 65 6d 61 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 70 s-sema.........(with-semaphore.p
34220 61 72 65 6e 73 2d 73 65 6d 61 0a 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 28 6c 61 6e 67 2d arens-sema...........(or.((lang-
34240 69 6e 66 6f 2d 6c 69 6e 65 2d 69 6e 64 65 6e 74 65 72 20 6c 61 6e 67 2d 69 6e 66 6f 29 20 74 68 info-line-indenter.lang-info).th
34260 69 73 20 70 6f 73 29 20 3b 6d 61 79 20 72 65 74 75 72 6e 20 23 66 20 6d 65 61 6e 69 6e 67 2e 2e is.pos).;may.return.#f.meaning..
34280 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 61 6d 6f 75 6e 74 2d 74 ................(racket-amount-t
342a0 6f 2d 69 6e 64 65 6e 74 20 74 68 69 73 20 70 6f 73 29 29 29 29 29 0a 0a 20 20 20 20 3b 3b 20 43 o-indent.this.pos)))))......;;.C
342c0 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 6f 6e 20 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 74 68 72 65 an.be.called.on.any.command.thre
342e0 61 64 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 69 6e 64 65 6e 74 2d 72 ad......(define/public.(indent-r
34300 61 6e 67 65 2d 61 6d 6f 75 6e 74 73 20 67 65 6e 20 66 72 6f 6d 20 75 70 74 6f 29 0a 20 20 20 20 ange-amounts.gen.from.upto).....
34320 20 20 28 64 65 66 69 6e 65 20 72 61 6e 67 65 2d 69 6e 64 65 6e 74 65 72 20 28 6c 61 6e 67 2d 69 ..(define.range-indenter.(lang-i
34340 6e 66 6f 2d 72 61 6e 67 65 2d 69 6e 64 65 6e 74 65 72 20 6c 61 6e 67 2d 69 6e 66 6f 29 29 0a 20 nfo-range-indenter.lang-info))..
34360 20 20 20 20 20 28 63 6f 6e 64 20 5b 28 6e 6f 74 20 72 61 6e 67 65 2d 69 6e 64 65 6e 74 65 72 29 .....(cond.[(not.range-indenter)
34380 20 23 66 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 .#f].............[else..........
343a0 20 20 20 20 28 62 6c 6f 63 6b 2d 75 6e 74 69 6c 2d 75 70 64 61 74 65 64 2d 74 68 72 75 20 67 65 ....(block-until-updated-thru.ge
343c0 6e 20 75 70 74 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 73 65 6d 61 70 n.upto)..............(with-semap
343e0 68 6f 72 65 20 74 6f 6b 65 6e 73 2d 73 65 6d 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hore.tokens-sema................
34400 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 70 61 72 65 6e 73 2d 73 65 6d 61 0a 20 20 20 20 (with-semaphore.parens-sema.....
34420 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 6e 67 65 2d 69 6e 64 65 6e 74 65 72 20 74 68 69 .............(range-indenter.thi
34440 73 20 66 72 6f 6d 20 75 70 74 6f 29 29 29 5d 29 29 0a 0a 20 20 20 20 3b 3b 20 43 61 6e 20 62 65 s.from.upto)))]))......;;.Can.be
34460 20 63 61 6c 6c 65 64 20 6f 6e 20 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 74 68 72 65 61 64 2e 0a 20 .called.on.any.command.thread...
34480 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 73 75 62 6d 69 74 2d 70 72 65 64 69 63 ...(define/public.(submit-predic
344a0 61 74 65 20 69 6e 20 65 6f 73 3f 29 0a 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 6c 61 6e 67 2d ate.in.eos?).......(match.(lang-
344c0 69 6e 66 6f 2d 73 75 62 6d 69 74 2d 70 72 65 64 69 63 61 74 65 20 6c 61 6e 67 2d 69 6e 66 6f 29 info-submit-predicate.lang-info)
344e0 0a 20 20 20 20 20 20 20 20 5b 28 3f 20 70 72 6f 63 65 64 75 72 65 3f 20 70 29 20 28 70 20 69 6e .........[(?.procedure?.p).(p.in
34500 20 65 6f 73 3f 29 5d 0a 20 20 20 20 20 20 20 20 5b 5f 20 23 66 5d 29 29 0a 0a 20 20 20 20 3b 3b .eos?)].........[_.#f]))......;;
34520 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .-------------------------------
34540 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
34560 2d 2d 0a 20 20 20 20 3b 3b 20 63 6f 6c 6f 72 2d 74 65 78 74 6f 69 64 3c 25 3e 20 6d 65 74 68 6f --.....;;.color-textoid<%>.metho
34580 64 73 2e 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 57 61 72 6e 69 6e 67 3a 20 41 73 20 64 69 ds......;;.....;;.Warning:.As.di
345a0 73 63 75 73 73 65 64 20 61 62 6f 76 65 2c 20 74 68 65 73 65 20 61 72 65 20 74 68 72 65 61 64 2d scussed.above,.these.are.thread-
345c0 73 61 66 65 20 74 6f 20 63 61 6c 6c 20 6f 6e 6c 79 0a 20 20 20 20 3b 3b 20 66 72 6f 6d 20 74 68 safe.to.call.only.....;;.from.th
345e0 65 20 64 79 61 6e 61 6d 69 63 20 65 78 74 65 6e 74 20 6f 66 20 74 68 65 20 60 67 72 6f 75 70 69 e.dyanamic.extent.of.the.`groupi
34600 6e 67 60 2c 0a 20 20 20 20 3b 3b 20 60 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 61 6d 6f 75 6e 74 60 ng`,.....;;.`indent-line-amount`
34620 2c 20 6f 72 20 60 69 6e 64 65 6e 74 2d 72 61 6e 67 65 2d 61 6d 6f 75 6e 74 73 60 20 6d 65 74 68 ,.or.`indent-range-amounts`.meth
34640 6f 64 73 2e 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 6c 61 73 74 2d 70 ods.......(define/public.(last-p
34660 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 6c 69 6e 65 73 3a 74 65 78 74 2d 6c 65 6e 67 74 osition).......(lines:text-lengt
34680 68 20 63 6f 6e 74 65 6e 74 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 h.content))......(define/public.
346a0 28 67 65 74 2d 63 68 61 72 61 63 74 65 72 20 70 6f 73 29 0a 20 20 20 20 20 20 28 69 66 20 28 3c (get-character.pos).......(if.(<
346c0 20 70 6f 73 20 28 6c 69 6e 65 73 3a 74 65 78 74 2d 6c 65 6e 67 74 68 20 63 6f 6e 74 65 6e 74 29 .pos.(lines:text-length.content)
346e0 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 72 65 66 20 28 6c 69 6e 65 73 3a 67 )...........(string-ref.(lines:g
34700 65 74 2d 74 65 78 74 20 63 6f 6e 74 65 6e 74 20 70 6f 73 20 28 61 64 64 31 20 70 6f 73 29 29 20 et-text.content.pos.(add1.pos)).
34720 30 29 0a 20 20 20 20 20 20 20 20 20 20 23 5c 6e 75 6c 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 0)...........#\nul))......(defin
34740 65 2f 70 75 62 6c 69 63 20 28 67 65 74 2d 74 65 78 74 20 66 72 6f 6d 20 75 70 74 6f 29 0a 20 20 e/public.(get-text.from.upto)...
34760 20 20 20 20 28 6c 69 6e 65 73 3a 67 65 74 2d 74 65 78 74 20 63 6f 6e 74 65 6e 74 20 66 72 6f 6d ....(lines:get-text.content.from
34780 20 28 69 66 20 28 65 71 3f 20 75 70 74 6f 20 27 65 6f 66 29 20 28 6c 61 73 74 2d 70 6f 73 69 74 .(if.(eq?.upto.'eof).(last-posit
347a0 69 6f 6e 29 20 75 70 74 6f 29 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 ion).upto)))......(define/public
347c0 20 28 70 6f 73 69 74 69 6f 6e 2d 70 61 72 61 67 72 61 70 68 20 70 6f 73 20 5b 65 6f 6c 3f 20 23 .(position-paragraph.pos.[eol?.#
347e0 66 5d 29 0a 20 20 20 20 20 20 28 6c 69 6e 65 73 3a 70 6f 73 69 74 69 6f 6e 2d 3e 6c 69 6e 65 20 f]).......(lines:position->line.
34800 63 6f 6e 74 65 6e 74 20 28 6d 69 6e 20 70 6f 73 20 28 6c 61 73 74 2d 70 6f 73 69 74 69 6f 6e 29 content.(min.pos.(last-position)
34820 29 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 70 61 72 61 67 72 61 )))......(define/public.(paragra
34840 70 68 2d 73 74 61 72 74 2d 70 6f 73 69 74 69 6f 6e 20 70 61 72 61 29 0a 20 20 20 20 20 20 28 6c ph-start-position.para).......(l
34860 69 6e 65 73 3a 6c 69 6e 65 2d 3e 73 74 61 72 74 20 63 6f 6e 74 65 6e 74 20 28 6d 61 78 20 30 20 ines:line->start.content.(max.0.
34880 28 6d 69 6e 20 70 61 72 61 20 28 6c 69 6e 65 73 3a 74 65 78 74 2d 6c 69 6e 65 2d 63 6f 75 6e 74 (min.para.(lines:text-line-count
348a0 20 63 6f 6e 74 65 6e 74 29 29 29 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 .content)))))......(define/publi
348c0 63 20 28 70 61 72 61 67 72 61 70 68 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 20 70 61 72 61 29 0a c.(paragraph-end-position.para).
348e0 20 20 20 20 20 20 28 63 6f 6e 64 20 5b 28 3c 3d 20 28 6c 69 6e 65 73 3a 74 65 78 74 2d 6c 69 6e ......(cond.[(<=.(lines:text-lin
34900 65 2d 63 6f 75 6e 74 20 63 6f 6e 74 65 6e 74 29 20 28 61 64 64 31 20 70 61 72 61 29 29 0a 20 20 e-count.content).(add1.para))...
34920 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 73 3a 74 65 78 74 2d 6c 65 6e 67 74 68 20 63 6f ...........(lines:text-length.co
34940 6e 74 65 6e 74 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 ntent)].............[else.......
34960 20 20 20 20 20 20 20 28 73 75 62 31 20 28 6c 69 6e 65 73 3a 6c 69 6e 65 2d 3e 73 74 61 72 74 20 .......(sub1.(lines:line->start.
34980 63 6f 6e 74 65 6e 74 20 28 61 64 64 31 20 70 61 72 61 29 29 29 5d 29 29 0a 0a 20 20 20 20 28 64 content.(add1.para)))]))......(d
349a0 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 63 6c 61 73 73 69 66 79 2d 70 6f 73 69 74 69 6f 6e 2a efine/public.(classify-position*
349c0 20 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 73 65 .position).......(send.tokens.se
349e0 61 72 63 68 21 20 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 73 65 arch!.position).......(match.(se
34a00 6e 64 20 74 6f 6b 65 6e 73 20 67 65 74 2d 72 6f 6f 74 2d 64 61 74 61 29 0a 20 20 20 20 20 20 20 nd.tokens.get-root-data)........
34a20 20 5b 28 73 74 72 75 63 74 2a 20 64 61 74 61 20 28 5b 61 74 74 72 69 62 73 20 28 61 70 70 20 61 .[(struct*.data.([attribs.(app.a
34a40 74 74 72 69 62 73 2d 3e 74 61 62 6c 65 20 74 61 62 6c 65 29 5d 29 29 20 74 61 62 6c 65 5d 0a 20 ttribs->table.table)])).table]..
34a60 20 20 20 20 20 20 20 5b 23 66 20 23 66 5d 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 .......[#f.#f]))......(define/pu
34a80 62 6c 69 63 20 28 63 6c 61 73 73 69 66 79 2d 70 6f 73 69 74 69 6f 6e 20 70 6f 73 69 74 69 6f 6e blic.(classify-position.position
34aa0 29 0a 20 20 20 20 20 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 73 65 61 72 63 68 21 20 70 6f 73 ).......(send.tokens.search!.pos
34ac0 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 ition).......(match.(send.tokens
34ae0 20 67 65 74 2d 72 6f 6f 74 2d 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 5b 28 73 74 72 75 63 74 .get-root-data).........[(struct
34b00 2a 20 64 61 74 61 20 28 5b 61 74 74 72 69 62 73 20 28 61 70 70 20 61 74 74 72 69 62 73 2d 3e 74 *.data.([attribs.(app.attribs->t
34b20 79 70 65 20 74 79 70 65 29 5d 29 29 20 74 79 70 65 5d 0a 20 20 20 20 20 20 20 20 5b 23 66 20 23 ype.type)])).type].........[#f.#
34b40 66 5d 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 67 65 74 2d 74 6f f]))......(define/public.(get-to
34b60 6b 65 6e 2d 72 61 6e 67 65 20 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 73 65 6e 64 20 ken-range.position).......(send.
34b80 74 6f 6b 65 6e 73 20 73 65 61 72 63 68 21 20 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 tokens.search!.position).......(
34ba0 76 61 6c 75 65 73 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 67 65 74 2d 72 6f 6f 74 2d 73 74 61 values.(send.tokens.get-root-sta
34bc0 72 74 2d 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 6e 64 rt-position)...............(send
34be0 20 74 6f 6b 65 6e 73 20 67 65 74 2d 72 6f 6f 74 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 29 .tokens.get-root-end-position)))
34c00 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 67 65 74 2d 62 61 63 6b 77 61 ......(define/public.(get-backwa
34c20 72 64 2d 6e 61 76 69 67 61 74 69 6f 6e 2d 6c 69 6d 69 74 20 70 6f 73 29 0a 20 20 20 20 20 20 30 rd-navigation-limit.pos).......0
34c40 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 62 61 63 6b 77 61 72 64 2d )......(define/public.(backward-
34c60 6d 61 74 63 68 20 70 6f 73 69 74 69 6f 6e 20 63 75 74 6f 66 66 29 0a 20 20 20 20 20 20 28 6c 65 match.position.cutoff).......(le
34c80 74 20 28 5b 78 20 28 69 6e 74 65 72 6e 61 6c 2d 62 61 63 6b 77 61 72 64 2d 6d 61 74 63 68 20 70 t.([x.(internal-backward-match.p
34ca0 6f 73 69 74 69 6f 6e 20 63 75 74 6f 66 66 29 5d 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a osition.cutoff)]).........(cond.
34cc0 20 20 20 20 20 20 20 20 20 20 5b 28 6f 72 20 28 65 71 3f 20 78 20 27 6f 70 65 6e 29 20 28 65 71 ..........[(or.(eq?.x.'open).(eq
34ce0 3f 20 78 20 27 62 65 67 69 6e 6e 69 6e 67 29 29 20 23 66 5d 0a 20 20 20 20 20 20 20 20 20 20 5b ?.x.'beginning)).#f]...........[
34d00 65 6c 73 65 20 78 5d 29 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 72 69 76 61 74 65 20 else.x])))......(define/private.
34d20 28 69 6e 74 65 72 6e 61 6c 2d 62 61 63 6b 77 61 72 64 2d 6d 61 74 63 68 20 70 6f 73 69 74 69 6f (internal-backward-match.positio
34d40 6e 20 63 75 74 6f 66 66 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 5b 70 6f 73 69 74 69 6f 6e 20 n.cutoff).......(let.([position.
34d60 28 73 6b 69 70 2d 77 68 69 74 65 73 70 61 63 65 20 70 6f 73 69 74 69 6f 6e 20 27 62 61 63 6b 77 (skip-whitespace.position.'backw
34d80 61 72 64 20 23 74 29 5d 29 0a 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 ard.#t)]).........(define-values
34da0 20 28 73 74 61 72 74 20 65 6e 64 20 65 72 72 6f 72 29 20 28 73 65 6e 64 20 70 61 72 65 6e 73 20 .(start.end.error).(send.parens.
34dc0 6d 61 74 63 68 2d 62 61 63 6b 77 61 72 64 20 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 match-backward.position)).......
34de0 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 5b 28 61 6e 64 20 73 74 61 72 74 20 65 6e ..(cond...........[(and.start.en
34e00 64 20 28 6e 6f 74 20 65 72 72 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 d.(not.error))............(let.(
34e20 28 6d 61 74 63 68 2d 70 6f 73 20 73 74 61 72 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (match-pos.start))..............
34e40 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3e 3d 20 6d 61 74 63 68 2d (cond................((>=.match-
34e60 70 6f 73 20 63 75 74 6f 66 66 29 20 6d 61 74 63 68 2d 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 pos.cutoff).match-pos)..........
34e80 20 20 20 20 20 20 28 65 6c 73 65 20 23 66 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 28 61 ......(else.#f)))]...........[(a
34ea0 6e 64 20 73 74 61 72 74 20 65 6e 64 20 65 72 72 6f 72 29 20 23 66 5d 0a 20 20 20 20 20 20 20 20 nd.start.end.error).#f].........
34ec0 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 ..[else............(send.tokens.
34ee0 73 65 61 72 63 68 21 20 28 73 75 62 31 20 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 search!.(sub1.position))........
34f00 20 20 20 20 28 64 65 66 69 6e 65 20 74 6f 6b 2d 73 74 61 72 74 20 28 73 65 6e 64 20 74 6f 6b 65 ....(define.tok-start.(send.toke
34f20 6e 73 20 67 65 74 2d 72 6f 6f 74 2d 73 74 61 72 74 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 ns.get-root-start-position))....
34f40 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 73 65 6e ........(cond..............[(sen
34f60 64 20 70 61 72 65 6e 73 20 69 73 2d 6f 70 65 6e 2d 70 6f 73 3f 20 74 6f 6b 2d 73 74 61 72 74 29 d.parens.is-open-pos?.tok-start)
34f80 20 27 6f 70 65 6e 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3d 20 74 6f 6b 2d 73 74 61 .'open]..............[(=.tok-sta
34fa0 72 74 20 70 6f 73 69 74 69 6f 6e 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 62 65 67 69 rt.position)...............'begi
34fc0 6e 6e 69 6e 67 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 20 20 20 20 20 20 nning]..............[else.......
34fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 6b 2d 73 74 ..........................tok-st
35000 61 72 74 5d 29 5d 29 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 62 art])])))......(define/public.(b
35020 61 63 6b 77 61 72 64 2d 63 6f 6e 74 61 69 6e 69 6e 67 2d 73 65 78 70 20 70 6f 73 69 74 69 6f 6e ackward-containing-sexp.position
35040 20 63 75 74 6f 66 66 29 0a 20 20 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 5b 63 75 72 2d 70 .cutoff).......(let.loop.([cur-p
35060 6f 73 20 70 6f 73 69 74 69 6f 6e 5d 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 70 20 28 os.position]).........(let.([p.(
35080 69 6e 74 65 72 6e 61 6c 2d 62 61 63 6b 77 61 72 64 2d 6d 61 74 63 68 20 63 75 72 2d 70 6f 73 20 internal-backward-match.cur-pos.
350a0 63 75 74 6f 66 66 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 cutoff)])...........(cond.......
350c0 20 20 20 20 20 20 5b 28 65 71 3f 20 27 6f 70 65 6e 20 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 ......[(eq?.'open.p)............
350e0 20 20 3b 3b 20 5b 43 6f 6d 6d 65 6e 74 20 66 72 6f 6d 20 63 6f 6c 6f 72 2e 72 6b 74 3a 20 22 53 ..;;.[Comment.from.color.rkt:."S
35100 68 6f 75 6c 64 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 6b 69 70 0a 20 20 20 20 20 20 20 hould.this.function.skip........
35120 20 20 20 20 20 20 3b 3b 20 62 61 63 6b 77 61 72 64 73 20 70 61 73 74 20 77 68 69 74 65 73 70 61 ......;;.backwards.past.whitespa
35140 63 65 3f 20 74 68 65 20 64 6f 63 73 20 73 65 65 6d 20 74 6f 20 69 6e 64 69 63 61 74 65 0a 20 20 ce?.the.docs.seem.to.indicate...
35160 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 74 20 64 6f 65 73 2c 20 62 75 74 20 69 74 20 64 6f ...........;;.it.does,.but.it.do
35180 65 73 6e 27 74 20 72 65 61 6c 6c 79 2e 22 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 esn't.really."]..............cur
351a0 2d 70 6f 73 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 65 71 3f 20 27 62 65 67 69 6e 6e 69 -pos].............[(eq?.'beginni
351c0 6e 67 20 70 29 20 23 66 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6e 6f 74 20 70 29 20 23 ng.p).#f].............[(not.p).#
351e0 66 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 73 65 20 28 6c 6f 6f 70 20 70 29 29 29 29 f].............(else.(loop.p))))
35200 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 66 6f 72 77 61 72 64 2d ))......(define/public.(forward-
35220 6d 61 74 63 68 20 70 6f 73 69 74 69 6f 6e 20 63 75 74 6f 66 66 29 0a 20 20 20 20 20 20 28 64 6f match.position.cutoff).......(do
35240 2d 66 6f 72 77 61 72 64 2d 6d 61 74 63 68 20 70 6f 73 69 74 69 6f 6e 20 63 75 74 6f 66 66 20 23 -forward-match.position.cutoff.#
35260 74 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 72 69 76 61 74 65 20 28 64 6f 2d 66 6f 72 t))......(define/private.(do-for
35280 77 61 72 64 2d 6d 61 74 63 68 20 70 6f 73 69 74 69 6f 6e 20 63 75 74 6f 66 66 20 73 6b 69 70 2d ward-match.position.cutoff.skip-
352a0 77 68 69 74 65 73 70 61 63 65 3f 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 5b 70 6f 73 69 74 69 whitespace?).......(let.([positi
352c0 6f 6e 20 28 69 66 20 73 6b 69 70 2d 77 68 69 74 65 73 70 61 63 65 3f 0a 20 20 20 20 20 20 20 20 on.(if.skip-whitespace?.........
352e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 6b 69 70 2d 77 68 69 74 65 73 70 61 ..................(skip-whitespa
35300 63 65 20 70 6f 73 69 74 69 6f 6e 20 27 66 6f 72 77 61 72 64 20 23 74 29 0a 20 20 20 20 20 20 20 ce.position.'forward.#t)........
35320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 29 5d 29 0a 20 ...................position)])..
35340 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 73 74 61 72 74 20 65 6e 64 .......(define-values.(start.end
35360 20 65 72 72 6f 72 29 20 28 73 65 6e 64 20 70 61 72 65 6e 73 20 6d 61 74 63 68 2d 66 6f 72 77 61 .error).(send.parens.match-forwa
35380 72 64 20 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 rd.position)).........(cond.....
353a0 20 20 20 20 20 20 5b 28 61 6e 64 20 73 74 61 72 74 20 65 6e 64 20 28 6e 6f 74 20 65 72 72 6f 72 ......[(and.start.end.(not.error
353c0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 ))............(cond.............
353e0 20 5b 28 3c 3d 20 65 6e 64 20 63 75 74 6f 66 66 29 20 65 6e 64 5d 0a 20 20 20 20 20 20 20 20 20 .[(<=.end.cutoff).end]..........
35400 20 20 20 20 5b 65 6c 73 65 20 23 66 5d 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 28 61 6e 64 20 ....[else.#f])]...........[(and.
35420 73 74 61 72 74 20 65 6e 64 20 65 72 72 6f 72 29 20 23 66 5d 0a 20 20 20 20 20 20 20 20 20 20 5b start.end.error).#f]...........[
35440 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 6b 69 70 2d 70 61 73 74 2d 74 6f 6b 65 6e else............(skip-past-token
35460 20 70 6f 73 69 74 69 6f 6e 29 5d 29 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 72 69 76 .position)])))......(define/priv
35480 61 74 65 20 28 73 6b 69 70 2d 70 61 73 74 2d 74 6f 6b 65 6e 20 70 6f 73 69 74 69 6f 6e 29 0a 20 ate.(skip-past-token.position)..
354a0 20 20 20 20 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 73 65 61 72 63 68 21 20 70 6f 73 69 74 69 .....(send.tokens.search!.positi
354c0 6f 6e 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 73 74 61 72 74 20 28 73 65 6e 64 20 74 6f on).......(define.start.(send.to
354e0 6b 65 6e 73 20 67 65 74 2d 72 6f 6f 74 2d 73 74 61 72 74 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 kens.get-root-start-position))..
35500 20 20 20 20 20 28 64 65 66 69 6e 65 20 65 6e 64 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 67 65 .....(define.end.(send.tokens.ge
35520 74 2d 72 6f 6f 74 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 28 63 6f 6e t-root-end-position)).......(con
35540 64 0a 20 20 20 20 20 20 20 20 5b 28 6f 72 20 28 73 65 6e 64 20 70 61 72 65 6e 73 20 69 73 2d 63 d.........[(or.(send.parens.is-c
35560 6c 6f 73 65 2d 70 6f 73 3f 20 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3d lose-pos?.start)..............(=
35580 20 65 6e 64 20 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 23 66 5d 0a 20 20 20 .end.position))..........#f]....
355a0 20 20 20 20 20 5b 65 6c 73 65 20 65 6e 64 5d 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 .....[else.end]))......(define/p
355c0 75 62 6c 69 63 20 28 73 6b 69 70 2d 77 68 69 74 65 73 70 61 63 65 20 70 6f 73 69 74 69 6f 6e 20 ublic.(skip-whitespace.position.
355e0 64 69 72 65 63 74 69 6f 6e 20 63 6f 6d 6d 65 6e 74 73 3f 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 direction.comments?).......(cond
35600 0a 20 20 20 20 20 20 20 20 5b 28 61 6e 64 20 28 65 71 3f 20 64 69 72 65 63 74 69 6f 6e 20 27 66 .........[(and.(eq?.direction.'f
35620 6f 72 77 61 72 64 29 20 28 3e 3d 20 70 6f 73 69 74 69 6f 6e 20 28 6c 61 73 74 2d 70 6f 73 69 74 orward).(>=.position.(last-posit
35640 69 6f 6e 29 29 29 20 70 6f 73 69 74 69 6f 6e 5d 0a 20 20 20 20 20 20 20 20 5b 28 61 6e 64 20 28 ion))).position].........[(and.(
35660 65 71 3f 20 64 69 72 65 63 74 69 6f 6e 20 27 62 61 63 6b 77 61 72 64 29 20 28 3c 3d 20 70 6f 73 eq?.direction.'backward).(<=.pos
35680 69 74 69 6f 6e 20 30 29 29 20 70 6f 73 69 74 69 6f 6e 5d 0a 20 20 20 20 20 20 20 20 5b 65 6c 73 ition.0)).position].........[els
356a0 65 0a 20 20 20 20 20 20 20 20 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 73 65 61 72 63 68 21 20 e..........(send.tokens.search!.
356c0 28 69 66 20 28 65 71 3f 20 64 69 72 65 63 74 69 6f 6e 20 27 62 61 63 6b 77 61 72 64 29 0a 20 20 (if.(eq?.direction.'backward)...
356e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
35700 28 73 75 62 31 20 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (sub1.position).................
35720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 ..................position))....
35740 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 67 65 74 2d 72 6f ......(match.(send.tokens.get-ro
35760 6f 74 2d 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 5b 28 73 74 72 75 63 74 2a 20 64 61 ot-data)............[(struct*.da
35780 74 61 20 28 5b 61 74 74 72 69 62 73 20 28 61 70 70 20 61 74 74 72 69 62 73 2d 3e 74 79 70 65 20 ta.([attribs.(app.attribs->type.
357a0 74 79 70 65 29 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 type)])).............(cond......
357c0 20 20 20 20 20 20 20 20 20 5b 28 6f 72 20 28 65 71 3f 20 27 77 68 69 74 65 2d 73 70 61 63 65 20 .........[(or.(eq?.'white-space.
357e0 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 63 6f type)....................(and.co
35800 6d 6d 65 6e 74 73 3f 20 28 65 71 3f 20 27 63 6f 6d 6d 65 6e 74 20 74 79 70 65 29 29 29 0a 20 20 mments?.(eq?.'comment.type)))...
35820 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 6b 69 70 2d 77 68 69 74 65 73 70 61 63 65 20 28 69 .............(skip-whitespace.(i
35840 66 20 28 65 71 3f 20 64 69 72 65 63 74 69 6f 6e 20 27 66 6f 72 77 61 72 64 29 0a 20 20 20 20 20 f.(eq?.direction.'forward)......
35860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
35880 73 65 6e 64 20 74 6f 6b 65 6e 73 20 67 65 74 2d 72 6f 6f 74 2d 65 6e 64 2d 70 6f 73 69 74 69 6f send.tokens.get-root-end-positio
358a0 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n)..............................
358c0 20 20 20 20 20 20 20 28 73 65 6e 64 20 74 6f 6b 65 6e 73 20 67 65 74 2d 72 6f 6f 74 2d 73 74 61 .......(send.tokens.get-root-sta
358e0 72 74 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rt-position))...................
35900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 ..............direction.........
35920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 65 6e 74 73 ........................comments
35940 3f 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 70 6f 73 69 74 69 6f 6e ?)]...............[else.position
35960 5d 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b 23 66 20 70 6f 73 69 74 69 6f 6e 5d 29 5d 29 29 ])]............[#f.position])]))
35980 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 67 65 74 2d 72 65 67 69 6f 6e ......(define/public.(get-region
359a0 73 29 0a 20 20 20 20 20 20 27 28 28 30 20 65 6e 64 29 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 s).......'((0.end)))))..(define.
359c0 64 65 66 61 75 6c 74 2d 6c 65 78 65 72 20 72 61 63 6b 65 74 2d 6c 65 78 65 72 29 0a 28 64 65 66 default-lexer.racket-lexer).(def
359e0 69 6e 65 20 64 65 66 61 75 6c 74 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 20 23 66 29 0a ine.default-module-language.#f).
35a00 28 64 65 66 69 6e 65 20 64 65 66 61 75 6c 74 2d 70 61 72 65 6e 2d 6d 61 74 63 68 65 73 20 27 28 (define.default-paren-matches.'(
35a20 28 5c 28 20 5c 29 29 20 28 5c 5b 20 5c 5d 29 20 28 5c 7b 20 5c 7d 29 29 29 0a 28 64 65 66 69 6e (\(.\)).(\[.\]).(\{.\}))).(defin
35a40 65 20 64 65 66 61 75 6c 74 2d 71 75 6f 74 65 2d 6d 61 74 63 68 65 73 20 27 28 23 5c 22 20 23 5c e.default-quote-matches.'(#\".#\
35a60 7c 29 29 0a 0a 28 64 65 66 69 6e 65 20 64 65 66 61 75 6c 74 2d 6c 61 6e 67 2d 69 6e 66 6f 0a 20 |))..(define.default-lang-info..
35a80 20 28 6c 61 6e 67 2d 69 6e 66 6f 20 64 65 66 61 75 6c 74 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 .(lang-info.default-module-langu
35aa0 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 2d 6c 65 78 65 72 0a 20 age..............default-lexer..
35ac0 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 2d 70 61 72 65 6e 2d 6d 61 74 63 68 65 ............default-paren-matche
35ae0 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 2d 71 75 6f 74 65 2d 6d 61 74 s..............default-quote-mat
35b00 63 68 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 67 72 6f 75 70 69 6e ches..............racket-groupin
35b20 67 2d 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 61 g-position..............racket-a
35b40 6d 6f 75 6e 74 2d 74 6f 2d 69 6e 64 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 23 66 0a mount-to-indent..............#f.
35b60 20 20 20 20 20 20 20 20 20 20 20 20 20 23 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 23 66 29 .............#f..............#f)
35b80 29 0a 0a 28 64 65 66 69 6e 65 20 28 72 65 61 64 2d 6c 61 6e 67 2d 69 6e 66 6f 2a 20 69 6e 29 0a )..(define.(read-lang-info*.in).
35ba0 20 20 28 64 65 66 69 6e 65 20 69 6e 66 6f 20 28 6f 72 20 28 77 69 74 68 2d 68 61 6e 64 6c 65 72 ..(define.info.(or.(with-handler
35bc0 73 20 28 5b 76 61 6c 75 65 73 20 28 ce bb 20 5f 20 23 66 29 5d 29 0a 20 20 20 20 20 20 20 20 20 s.([values.(..._.#f)])..........
35be0 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 6c 61 6e 67 75 61 67 65 20 69 6e 20 28 ce ............(read-language.in.(.
35c00 bb 20 5f 20 23 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb .._.#f)))....................(..
35c20 20 28 5f 6b 65 79 20 64 65 66 61 75 6c 74 29 20 64 65 66 61 75 6c 74 29 29 29 0a 20 20 28 64 65 .(_key.default).default)))...(de
35c40 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 5f 6c 69 6e 65 20 5f 63 6f 6c 20 65 6e 64 2d 70 6f 73 29 fine-values.(_line._col.end-pos)
35c60 20 28 70 6f 72 74 2d 6e 65 78 74 2d 6c 6f 63 61 74 69 6f 6e 20 69 6e 29 29 0a 20 20 28 64 65 66 .(port-next-location.in))...(def
35c80 69 6e 65 20 6d 6f 64 2d 6c 61 6e 67 20 28 73 61 66 65 2d 69 6e 66 6f 2d 6d 6f 64 75 6c 65 2d 6c ine.mod-lang.(safe-info-module-l
35ca0 61 6e 67 75 61 67 65 20 69 6e 66 6f 29 29 0a 20 20 28 76 61 6c 75 65 73 20 28 6c 61 6e 67 2d 69 anguage.info))...(values.(lang-i
35cc0 6e 66 6f 20 6d 6f 64 2d 6c 61 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nfo.mod-lang....................
35ce0 20 20 28 69 6e 66 6f 20 27 63 6f 6c 6f 72 2d 6c 65 78 65 72 20 64 65 66 61 75 6c 74 2d 6c 65 78 ..(info.'color-lexer.default-lex
35d00 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 66 6f 20 27 er)......................(info.'
35d20 64 72 72 61 63 6b 65 74 3a 70 61 72 65 6e 2d 6d 61 74 63 68 65 73 20 64 65 66 61 75 6c 74 2d 70 drracket:paren-matches.default-p
35d40 61 72 65 6e 2d 6d 61 74 63 68 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 aren-matches)...................
35d60 20 20 20 28 69 6e 66 6f 20 27 64 72 72 61 63 6b 65 74 3a 71 75 6f 74 65 2d 6d 61 74 63 68 65 73 ...(info.'drracket:quote-matches
35d80 20 64 65 66 61 75 6c 74 2d 71 75 6f 74 65 2d 6d 61 74 63 68 65 73 29 0a 20 20 20 20 20 20 20 20 .default-quote-matches).........
35da0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 66 6f 20 27 64 72 72 61 63 6b 65 74 3a 67 72 6f .............(info.'drracket:gro
35dc0 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 20 72 61 63 6b 65 74 2d 67 72 6f 75 70 69 6e 67 2d 70 uping-position.racket-grouping-p
35de0 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 osition)......................(i
35e00 6e 66 6f 20 27 64 72 72 61 63 6b 65 74 3a 69 6e 64 65 6e 74 61 74 69 6f 6e 20 72 61 63 6b 65 74 nfo.'drracket:indentation.racket
35e20 2d 61 6d 6f 75 6e 74 2d 74 6f 2d 69 6e 64 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -amount-to-indent)..............
35e40 20 20 20 20 20 20 20 20 28 69 6e 66 6f 20 27 64 72 72 61 63 6b 65 74 3a 72 61 6e 67 65 2d 69 6e ........(info.'drracket:range-in
35e60 64 65 6e 74 61 74 69 6f 6e 20 23 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dentation.#f)...................
35e80 20 20 20 28 69 6e 66 6f 20 27 64 72 72 61 63 6b 65 74 3a 73 75 62 6d 69 74 2d 70 72 65 64 69 63 ...(info.'drracket:submit-predic
35ea0 61 74 65 20 23 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f ate.#f)......................(co
35ec0 6d 6d 65 6e 74 2d 64 65 6c 69 6d 69 74 65 72 73 20 69 6e 66 6f 20 6d 6f 64 2d 6c 61 6e 67 29 29 mment-delimiters.info.mod-lang))
35ee0 0a 20 20 20 20 20 20 20 20 20 20 65 6e 64 2d 70 6f 73 29 29 0a 0a 3b 3b 20 48 61 6e 64 6c 65 20 ...........end-pos))..;;.Handle.
35f00 74 68 65 20 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 20 6c 61 6e 67 20 69 6e 66 6f 20 6b 65 the.module-language.lang.info.ke
35f20 79 2c 20 61 73 20 64 6f 63 75 6d 65 6e 74 65 64 20 61 74 0a 3b 3b 20 3c 68 74 74 70 73 3a 2f 2f y,.as.documented.at.;;.<https://
35f40 64 6f 63 73 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 73 79 6e 74 61 78 2f 72 65 61 64 docs.racket-lang.org/syntax/read
35f60 65 72 2d 68 65 6c 70 65 72 73 2e 68 74 6d 6c 23 25 32 38 6d 6f 64 2d 70 61 74 68 2e 5f 73 79 6e er-helpers.html#%28mod-path._syn
35f80 74 61 78 25 32 46 6d 6f 64 75 6c 65 2d 72 65 61 64 65 72 25 32 39 3e 2e 0a 3b 3b 20 28 69 6e 66 tax%2Fmodule-reader%29>..;;.(inf
35fa0 6f 2d 70 72 6f 63 20 2d 3e 20 28 6f 72 2f 63 20 23 66 20 73 74 72 69 6e 67 3f 29 0a 28 64 65 66 o-proc.->.(or/c.#f.string?).(def
35fc0 69 6e 65 20 28 73 61 66 65 2d 69 6e 66 6f 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 20 69 ine.(safe-info-module-language.i
35fe0 6e 66 6f 29 0a 20 20 28 64 65 66 69 6e 65 20 28 68 61 6e 64 6c 65 20 76 29 0a 20 20 20 20 28 6d nfo)...(define.(handle.v).....(m
36000 61 74 63 68 20 76 0a 20 20 20 20 20 20 5b 28 3d 3d 20 64 65 66 61 75 6c 74 2d 6d 6f 64 75 6c 65 atch.v.......[(==.default-module
36020 2d 6c 61 6e 67 75 61 67 65 29 20 64 65 66 61 75 6c 74 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 -language).default-module-langua
36040 67 65 5d 0a 20 20 20 20 20 20 5b 28 3f 20 6d 6f 64 75 6c 65 2d 70 61 74 68 3f 20 6d 70 29 0a 20 ge].......[(?.module-path?.mp)..
36060 20 20 20 20 20 20 28 7e 61 20 6d 70 29 5d 0a 20 20 20 20 20 20 5b 28 3f 20 73 79 6e 74 61 78 3f ......(~a.mp)].......[(?.syntax?
36080 20 73 74 78 29 0a 20 20 20 20 20 20 20 23 3a 77 68 65 6e 20 28 6d 6f 64 75 6c 65 2d 70 61 74 68 .stx)........#:when.(module-path
360a0 3f 20 28 73 79 6e 74 61 78 2d 3e 64 61 74 75 6d 20 73 74 78 29 29 0a 20 20 20 20 20 20 20 28 7e ?.(syntax->datum.stx))........(~
360c0 61 20 28 73 79 6e 74 61 78 2d 3e 64 61 74 75 6d 20 73 74 78 29 29 5d 0a 20 20 20 20 20 20 5b 28 a.(syntax->datum.stx))].......[(
360e0 3f 20 70 72 6f 63 65 64 75 72 65 3f 20 70 29 0a 20 20 20 20 20 20 20 28 68 61 6e 64 6c 65 20 76 ?.procedure?.p)........(handle.v
36100 29 5d 0a 20 20 20 20 20 20 5b 68 6f 70 65 6c 65 73 73 0a 20 20 20 20 20 20 20 28 6c 6f 67 2d 72 )].......[hopeless........(log-r
36120 61 63 6b 65 74 2d 6d 6f 64 65 2d 64 65 62 75 67 20 22 49 67 6e 6f 72 69 6e 67 20 76 61 6c 75 65 acket-mode-debug."Ignoring.value
36140 20 72 65 74 75 72 6e 65 64 20 66 6f 72 20 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 20 6b 65 .returned.for.module-language.ke
36160 79 3a 20 7e 76 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y:.~v"..........................
36180 20 20 20 20 20 69 6e 66 6f 20 68 6f 70 65 6c 65 73 73 29 0a 20 20 20 20 20 20 20 64 65 66 61 75 .....info.hopeless)........defau
361a0 6c 74 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 5d 29 29 0a 20 20 28 68 61 6e 64 6c 65 20 lt-module-language]))...(handle.
361c0 28 69 6e 66 6f 20 27 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 20 64 65 66 61 75 6c 74 2d 6d (info.'module-language.default-m
361e0 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 29 29 29 0a 0a 3b 3b 20 52 65 74 75 72 6e 20 28 6c 69 odule-language)))..;;.Return.(li
36200 73 74 20 73 74 61 72 74 20 63 6f 6e 74 69 6e 75 65 20 65 6e 64 20 70 61 64 64 69 6e 67 29 0a 28 st.start.continue.end.padding).(
36220 64 65 66 69 6e 65 20 28 63 6f 6d 6d 65 6e 74 2d 64 65 6c 69 6d 69 74 65 72 73 20 69 6e 66 6f 20 define.(comment-delimiters.info.
36240 6d 6f 64 2d 6c 61 6e 67 29 0a 20 20 28 64 65 66 69 6e 65 20 28 66 61 6c 6c 62 61 63 6b 29 0a 20 mod-lang)...(define.(fallback)..
36260 20 20 20 3b 3b 20 46 61 6c 6c 62 61 63 6b 20 77 68 65 6e 20 6c 61 6e 67 73 20 64 6f 6e 27 74 20 ...;;.Fallback.when.langs.don't.
36280 73 75 70 70 6f 72 74 20 74 68 65 20 69 6e 66 6f 20 6b 65 79 2c 20 6f 72 20 74 68 65 20 76 61 6c support.the.info.key,.or.the.val
362a0 75 65 0a 20 20 20 20 3b 3b 20 69 73 6e 27 74 20 61 73 20 65 78 70 65 63 74 65 64 2e 0a 20 20 20 ue.....;;.isn't.as.expected.....
362c0 20 28 64 65 66 69 6e 65 20 28 72 6f 6f 74 20 6d 70 2d 73 74 72 29 20 3b 65 2e 67 2e 20 27 72 61 .(define.(root.mp-str).;e.g..'ra
362e0 63 6b 65 74 20 61 6e 64 20 27 72 61 63 6b 65 74 2f 62 61 73 65 20 3d 3e 20 27 72 61 63 6b 65 74 cket.and.'racket/base.=>.'racket
36300 0a 20 20 20 20 20 20 28 6d 61 74 63 68 20 6d 70 2d 73 74 72 0a 20 20 20 20 20 20 20 20 5b 28 70 .......(match.mp-str.........[(p
36320 72 65 67 65 78 70 20 22 5e 28 5b 5e 2f 5d 2b 29 22 20 28 6c 69 73 74 20 5f 20 73 74 72 29 29 0a regexp."^([^/]+)".(list._.str)).
36340 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 3e 73 79 6d 62 6f 6c 20 73 74 72 29 5d 0a 20 .........(string->symbol.str)]..
36360 20 20 20 20 20 20 20 5b 5f 20 23 66 5d 29 29 0a 20 20 20 20 28 6d 61 74 63 68 20 28 72 6f 6f 74 .......[_.#f])).....(match.(root
36380 20 6d 6f 64 2d 6c 61 6e 67 29 0a 20 20 20 20 20 20 5b 22 73 63 72 69 62 62 6c 65 22 20 27 28 22 .mod-lang).......["scribble".'("
363a0 40 3b 22 20 22 40 3b 22 20 22 22 20 22 20 22 29 5d 0a 20 20 20 20 20 20 5b 22 72 68 6f 6d 62 75 @;"."@;"."".".")].......["rhombu
363c0 73 22 20 20 27 28 22 2f 2f 22 20 22 2f 2f 22 20 22 22 20 22 20 22 29 5d 0a 20 20 20 20 20 20 5b s"..'("//"."//"."".".")].......[
363e0 5f 20 20 20 20 20 20 20 20 20 20 27 28 22 3b 3b 22 20 22 3b 3b 22 20 22 22 20 22 20 22 29 5d 29 _..........'(";;".";;"."".".")])
36400 29 0a 20 20 28 6d 61 74 63 68 20 28 69 6e 66 6f 20 27 64 72 72 61 63 6b 65 74 3a 63 6f 6d 6d 65 )...(match.(info.'drracket:comme
36420 6e 74 2d 64 65 6c 69 6d 69 74 65 72 73 20 23 66 29 0a 20 20 20 20 5b 23 66 20 28 66 61 6c 6c 62 nt-delimiters.#f).....[#f.(fallb
36440 61 63 6b 29 5d 0a 20 20 20 20 5b 28 6c 69 73 74 2a 20 28 6c 69 73 74 20 27 6c 69 6e 65 20 28 3f ack)].....[(list*.(list.'line.(?
36460 20 73 74 72 69 6e 67 3f 20 73 74 61 72 74 29 20 28 3f 20 73 74 72 69 6e 67 3f 20 70 61 64 64 69 .string?.start).(?.string?.paddi
36480 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 5f 6f 74 68 65 72 2d 73 74 79 6c 65 73 29 0a ng))............._other-styles).
364a0 20 20 20 20 20 28 6c 69 73 74 20 73 74 61 72 74 20 73 74 61 72 74 20 22 22 20 70 61 64 64 69 6e .....(list.start.start."".paddin
364c0 67 29 5d 0a 20 20 20 20 5b 28 6c 69 73 74 2a 20 28 6c 69 73 74 20 27 72 65 67 69 6f 6e 20 28 3f g)].....[(list*.(list.'region.(?
364e0 20 73 74 72 69 6e 67 3f 20 73 74 61 72 74 29 20 28 3f 20 73 74 72 69 6e 67 3f 20 63 6f 6e 74 69 .string?.start).(?.string?.conti
36500 6e 75 65 29 20 28 3f 20 73 74 72 69 6e 67 3f 20 65 6e 64 29 20 28 3f 20 73 74 72 69 6e 67 3f 20 nue).(?.string?.end).(?.string?.
36520 70 61 64 64 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 5f 6f 74 68 65 72 2d 73 74 79 padding))............._other-sty
36540 6c 65 73 29 0a 20 20 20 20 20 28 6c 69 73 74 20 73 74 61 72 74 20 63 6f 6e 74 69 6e 75 65 20 65 les)......(list.start.continue.e
36560 6e 64 20 70 61 64 64 69 6e 67 29 5d 0a 20 20 20 20 5b 75 6e 65 78 70 65 63 74 65 64 0a 20 20 20 nd.padding)].....[unexpected....
36580 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 77 61 72 6e 69 6e 67 0a 20 20 20 20 20 ..(log-racket-mode-warning......
365a0 20 22 64 72 72 61 63 6b 65 74 3a 63 6f 6d 6d 65 6e 74 2d 64 65 6c 69 6d 69 74 65 72 73 20 66 72 ."drracket:comment-delimiters.fr
365c0 6f 6d 20 6d 6f 64 2d 6c 61 6e 67 20 7e 76 5c 6e 20 20 75 6e 65 78 70 65 63 74 65 64 20 76 61 6c om.mod-lang.~v\n..unexpected.val
365e0 75 65 3a 20 7e 76 22 0a 20 20 20 20 20 20 6d 6f 64 2d 6c 61 6e 67 0a 20 20 20 20 20 20 75 6e 65 ue:.~v".......mod-lang.......une
36600 78 70 65 63 74 65 64 29 0a 20 20 20 20 20 28 66 61 6c 6c 62 61 63 6b 29 5d 29 29 0a 0a 28 64 65 xpected)......(fallback)]))..(de
36620 66 69 6e 65 20 28 72 65 61 64 2d 6c 61 6e 67 2d 69 6e 66 6f 20 69 6e 29 0a 20 20 28 64 65 66 69 fine.(read-lang-info.in)...(defi
36640 6e 65 2d 76 61 6c 75 65 73 20 28 76 20 5f 70 6f 73 29 20 28 72 65 61 64 2d 6c 61 6e 67 2d 69 6e ne-values.(v._pos).(read-lang-in
36660 66 6f 2a 20 69 6e 29 29 0a 20 20 76 29 0a 0a 28 64 65 66 69 6e 65 20 28 61 74 74 72 69 62 73 2d fo*.in))...v)..(define.(attribs-
36680 3e 74 79 70 65 20 61 74 74 72 69 62 73 29 0a 20 20 28 6d 61 74 63 68 20 61 74 74 72 69 62 73 0a >type.attribs)...(match.attribs.
366a0 20 20 20 20 5b 28 3f 20 73 79 6d 62 6f 6c 3f 20 73 29 20 73 5d 0a 20 20 20 20 5b 28 3f 20 68 61 ....[(?.symbol?.s).s].....[(?.ha
366c0 73 68 3f 20 68 74 29 20 28 68 61 73 68 2d 72 65 66 20 68 74 20 27 74 79 70 65 20 27 75 6e 6b 6e sh?.ht).(hash-ref.ht.'type.'unkn
366e0 6f 77 6e 29 5d 0a 20 20 20 20 5b 5f 20 27 75 6e 6b 6e 6f 77 6e 5d 29 29 0a 0a 28 64 65 66 69 6e own)].....[_.'unknown]))..(defin
36700 65 20 28 61 74 74 72 69 62 73 2d 3e 74 61 62 6c 65 20 61 74 74 72 69 62 73 29 0a 20 20 28 69 66 e.(attribs->table.attribs)...(if
36720 20 28 73 79 6d 62 6f 6c 3f 20 61 74 74 72 69 62 73 29 0a 20 20 20 20 20 20 28 68 61 73 68 65 71 .(symbol?.attribs).......(hasheq
36740 20 27 74 79 70 65 20 61 74 74 72 69 62 73 29 0a 20 20 20 20 20 20 61 74 74 72 69 62 73 29 29 0a .'type.attribs).......attribs)).
36760 0a 3b 3b 20 54 68 69 73 20 63 6f 75 6c 64 20 62 65 20 6d 6f 76 65 64 20 74 6f 20 69 74 73 20 6f .;;.This.could.be.moved.to.its.o
36780 77 6e 20 66 69 6c 65 2e 0a 28 6d 6f 64 75 6c 65 20 6d 6f 6e 69 74 6f 72 20 72 61 63 6b 65 74 2f wn.file..(module.monitor.racket/
367a0 62 61 73 65 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 base...(require.racket/match....
367c0 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 2f 70 61 72 73 65 2f 64 65 66 69 6e 65 29 0a 0a 20 20 ........syntax/parse/define)....
367e0 28 70 72 6f 76 69 64 65 20 6d 61 6b 65 2d 6d 6f 6e 69 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 (provide.make-monitor...........
36800 20 6d 6f 6e 69 74 6f 72 3f 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 65 73 73 0a 20 20 .monitor?............progress...
36820 20 20 20 20 20 20 20 20 20 77 61 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 77 61 69 74 2d 65 76 .........wait............wait-ev
36840 74 29 0a 0a 20 20 28 73 74 72 75 63 74 20 6d 6f 6e 69 74 6f 72 20 28 5b 77 61 69 74 65 72 73 20 t)....(struct.monitor.([waiters.
36860 23 3a 6d 75 74 61 62 6c 65 5d 20 73 65 6d 61 29 20 23 3a 61 75 74 68 65 6e 74 69 63 29 0a 0a 20 #:mutable].sema).#:authentic)...
36880 20 28 73 74 72 75 63 74 20 77 61 69 74 65 72 20 28 70 72 65 64 20 73 65 6d 61 29 20 23 3a 74 72 .(struct.waiter.(pred.sema).#:tr
368a0 61 6e 73 70 61 72 65 6e 74 20 23 3a 61 75 74 68 65 6e 74 69 63 29 0a 0a 20 20 28 64 65 66 69 6e ansparent.#:authentic)....(defin
368c0 65 20 28 6d 61 6b 65 2d 6d 6f 6e 69 74 6f 72 29 0a 20 20 20 20 28 6d 6f 6e 69 74 6f 72 20 6e 75 e.(make-monitor).....(monitor.nu
368e0 6c 6c 20 28 6d 61 6b 65 2d 73 65 6d 61 70 68 6f 72 65 20 31 29 29 29 0a 0a 20 20 28 64 65 66 69 ll.(make-semaphore.1)))....(defi
36900 6e 65 2d 73 69 6d 70 6c 65 2d 6d 61 63 72 6f 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 ne-simple-macro.(with-semaphore.
36920 73 65 6d 61 20 65 3a 65 78 70 72 20 2e 2e 2e 2b 29 0a 20 20 20 20 28 63 61 6c 6c 2d 77 69 74 68 sema.e:expr....+).....(call-with
36940 2d 73 65 6d 61 70 68 6f 72 65 20 73 65 6d 61 20 28 ce bb 20 28 29 20 65 20 2e 2e 2e 29 29 29 0a -semaphore.sema.(...().e....))).
36960 0a 20 20 3b 3b 20 54 6f 20 62 65 20 63 61 6c 6c 65 64 20 62 79 20 61 20 77 6f 72 6b 65 72 20 74 ...;;.To.be.called.by.a.worker.t
36980 68 72 65 61 64 2c 20 74 6f 20 6d 61 6b 65 20 70 72 6f 67 72 65 73 73 20 74 68 61 74 20 6d 69 67 hread,.to.make.progress.that.mig
369a0 68 74 20 63 61 75 73 65 0a 20 20 3b 3b 20 73 6f 6d 65 20 77 61 69 74 65 72 27 73 20 70 72 65 64 ht.cause...;;.some.waiter's.pred
369c0 69 63 61 74 65 20 74 6f 20 62 65 63 6f 6d 65 20 74 72 75 65 2e 20 54 68 65 20 74 68 75 6e 6b 20 icate.to.become.true..The.thunk.
369e0 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 69 6e 0a 20 20 3b 3b 20 74 68 65 20 6d 6f 6e 69 74 6f is.called.within...;;.the.monito
36a00 72 27 73 20 73 65 6d 61 70 68 6f 72 65 2c 20 73 6f 20 69 74 20 69 73 20 73 61 66 65 20 66 6f 72 r's.semaphore,.so.it.is.safe.for
36a20 20 69 74 20 74 6f 20 65 2e 67 2e 20 73 65 74 21 20 6d 75 6c 74 69 70 6c 65 0a 20 20 3b 3b 20 76 .it.to.e.g..set!.multiple...;;.v
36a40 61 72 69 61 62 6c 65 73 2e 0a 20 20 28 64 65 66 69 6e 65 20 28 70 72 6f 67 72 65 73 73 20 6d 20 ariables....(define.(progress.m.
36a60 74 68 75 6e 6b 29 0a 20 20 20 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 28 6d 6f 6e 69 thunk).....(with-semaphore.(moni
36a80 74 6f 72 2d 73 65 6d 61 20 6d 29 0a 20 20 20 20 20 20 28 74 68 75 6e 6b 29 0a 20 20 20 20 20 20 tor-sema.m).......(thunk).......
36aa0 28 73 65 74 2d 6d 6f 6e 69 74 6f 72 2d 77 61 69 74 65 72 73 21 0a 20 20 20 20 20 20 20 6d 0a 20 (set-monitor-waiters!........m..
36ac0 20 20 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 5b 77 61 69 74 65 72 73 20 28 6d 6f 6e 69 74 ......(let.loop.([waiters.(monit
36ae0 6f 72 2d 77 61 69 74 65 72 73 20 6d 29 5d 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 or-waiters.m)])..........(match.
36b00 77 61 69 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c 69 73 74 29 20 28 6c 69 73 74 waiters............[(list).(list
36b20 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b 28 63 6f 6e 73 20 77 20 6d 6f 72 65 29 0a 20 20 20 )]............[(cons.w.more)....
36b40 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 5b 28 28 77 61 69 74 65 72 2d 70 72 65 64 20 77 29 .........(cond.[((waiter-pred.w)
36b60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 6d 61 70 68 6f 72 65 2d )....................(semaphore-
36b80 70 6f 73 74 20 28 77 61 69 74 65 72 2d 73 65 6d 61 20 77 29 29 0a 20 20 20 20 20 20 20 20 20 20 post.(waiter-sema.w))...........
36ba0 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 6d 6f 72 65 29 5d 20 3b 72 65 6d 6f 76 65 0a 20 20 .........(loop.more)].;remove...
36bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 3b 6b 65 65 70 0a 20 20 20 20 ................[else.;keep.....
36be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 77 20 28 6c 6f 6f 70 20 6d 6f 72 ...............(cons.w.(loop.mor
36c00 65 29 29 5d 29 5d 29 29 29 29 29 0a 0a 20 20 3b 3b 20 54 6f 20 62 65 20 63 61 6c 6c 65 64 20 62 e))])])))))....;;.To.be.called.b
36c20 79 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 6f 62 73 65 72 76 65 72 20 74 68 72 65 61 64 73 y.any.number.of.observer.threads
36c40 2c 20 74 6f 20 77 61 69 74 20 75 6e 74 69 6c 20 61 0a 20 20 3b 3b 20 70 72 65 64 69 63 61 74 65 ,.to.wait.until.a...;;.predicate
36c60 20 62 65 63 6f 6d 65 73 20 74 72 75 65 2e 20 54 68 65 20 70 72 65 64 69 63 61 74 65 20 69 73 20 .becomes.true..The.predicate.is.
36c80 63 68 65 63 6b 65 64 20 69 6e 69 74 69 61 6c 6c 79 20 69 6e 20 63 61 73 65 0a 20 20 3b 3b 20 69 checked.initially.in.case...;;.i
36ca0 74 20 69 73 20 61 6c 72 65 61 64 79 20 74 72 75 65 2c 20 62 75 74 20 74 68 65 72 65 61 66 74 65 t.is.already.true,.but.thereafte
36cc0 72 20 6f 6e 6c 79 20 77 68 65 6e 65 76 65 72 20 61 20 77 6f 72 6b 65 72 20 74 68 72 65 61 64 0a r.only.whenever.a.worker.thread.
36ce0 20 20 3b 3b 20 63 61 6c 6c 73 20 60 70 72 6f 67 72 65 73 73 60 2e 20 54 68 65 20 70 72 65 64 69 ..;;.calls.`progress`..The.predi
36d00 63 61 74 65 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 69 6e 20 74 68 65 20 6d 6f 6e 69 74 6f cate.is.called.within.the.monito
36d20 72 27 73 0a 20 20 3b 3b 20 73 65 6d 61 70 68 6f 72 65 20 28 69 66 20 74 68 65 20 60 70 72 6f 67 r's...;;.semaphore.(if.the.`prog
36d40 72 65 73 73 60 20 74 68 75 6e 6b 20 73 65 74 21 73 20 6d 75 6c 74 69 70 6c 65 20 76 61 72 73 2c ress`.thunk.set!s.multiple.vars,
36d60 20 69 74 27 73 20 73 61 66 65 0a 20 20 3b 3b 20 66 6f 72 20 74 68 65 20 70 72 65 64 20 74 6f 20 .it's.safe...;;.for.the.pred.to.
36d80 63 68 65 63 6b 20 74 68 65 6d 29 2e 0a 20 20 28 64 65 66 69 6e 65 20 28 77 61 69 74 20 6d 20 70 check.them)....(define.(wait.m.p
36da0 72 65 64 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 63 61 6c 6c 2d 77 69 74 68 2d 73 65 6d 61 red).....(unless.(call-with-sema
36dc0 70 68 6f 72 65 20 28 6d 6f 6e 69 74 6f 72 2d 73 65 6d 61 20 6d 29 20 70 72 65 64 29 20 3b 66 61 phore.(monitor-sema.m).pred).;fa
36de0 73 74 20 70 61 74 68 0a 20 20 20 20 20 20 28 73 65 6d 61 70 68 6f 72 65 2d 77 61 69 74 20 28 77 st.path.......(semaphore-wait.(w
36e00 61 69 74 2d 65 76 74 20 6d 20 70 72 65 64 29 29 29 29 0a 0a 20 20 3b 3b 20 4c 69 6b 65 20 60 77 ait-evt.m.pred))))....;;.Like.`w
36e20 61 69 74 60 20 62 75 74 20 72 65 74 75 72 6e 73 20 61 20 73 79 6e 63 68 72 6f 6e 69 7a 61 62 6c ait`.but.returns.a.synchronizabl
36e40 65 20 65 76 65 6e 74 2e 0a 20 20 28 64 65 66 69 6e 65 20 28 77 61 69 74 2d 65 76 74 20 6d 20 70 e.event....(define.(wait-evt.m.p
36e60 72 65 64 29 0a 20 20 20 20 28 63 6f 6e 64 20 5b 28 63 61 6c 6c 2d 77 69 74 68 2d 73 65 6d 61 70 red).....(cond.[(call-with-semap
36e80 68 6f 72 65 20 28 6d 6f 6e 69 74 6f 72 2d 73 65 6d 61 20 6d 29 20 70 72 65 64 29 20 3b 66 61 73 hore.(monitor-sema.m).pred).;fas
36ea0 74 20 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 61 6c 77 61 79 73 2d 65 76 74 5d 0a 20 20 t.path............always-evt]...
36ec0 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 ........[else............(define
36ee0 20 70 72 65 64 2d 73 65 6d 61 20 28 6d 61 6b 65 2d 73 65 6d 61 70 68 6f 72 65 20 30 29 29 0a 20 .pred-sema.(make-semaphore.0))..
36f00 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 20 28 6d 6f 6e 69 74 ..........(with-semaphore.(monit
36f20 6f 72 2d 73 65 6d 61 20 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 6d 6f 6e or-sema.m)..............(set-mon
36f40 69 74 6f 72 2d 77 61 69 74 65 72 73 21 20 6d 20 28 63 6f 6e 73 20 28 77 61 69 74 65 72 20 70 72 itor-waiters!.m.(cons.(waiter.pr
36f60 65 64 20 70 72 65 64 2d 73 65 6d 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed.pred-sema)...................
36f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 6e 69 74 6f .........................(monito
36fa0 72 2d 77 61 69 74 65 72 73 20 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 65 64 2d r-waiters.m))))............pred-
36fc0 73 65 6d 61 5d 29 29 0a 0a 20 20 28 6d 6f 64 75 6c 65 2b 20 65 78 61 6d 70 6c 65 0a 20 20 20 20 sema]))....(module+.example.....
36fe0 3b 3b 20 53 6f 6d 65 20 76 61 72 69 61 62 6c 65 73 20 74 68 61 74 20 61 20 77 6f 72 6b 65 72 20 ;;.Some.variables.that.a.worker.
37000 74 68 72 65 61 64 20 77 69 6c 6c 20 69 6e 63 72 65 61 73 65 20 6d 6f 6e 6f 74 6f 6e 69 63 61 6c thread.will.increase.monotonical
37020 6c 79 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 20 69 20 30 29 0a 20 20 20 20 28 64 65 66 69 6e 65 ly......(define.i.0).....(define
37040 20 6a 20 30 29 0a 20 20 20 20 3b 3b 20 41 20 6d 6f 6e 69 74 6f 72 20 6f 62 6a 65 63 74 0a 20 20 .j.0).....;;.A.monitor.object...
37060 20 20 28 64 65 66 69 6e 65 20 6d 20 28 6d 61 6b 65 2d 6d 6f 6e 69 74 6f 72 29 29 0a 20 20 20 20 ..(define.m.(make-monitor)).....
37080 3b 3b 20 53 6f 6d 65 20 74 68 72 65 61 64 73 20 74 68 61 74 20 77 61 6e 74 20 74 6f 20 77 61 69 ;;.Some.threads.that.want.to.wai
370a0 74 20 66 6f 72 20 63 65 72 74 61 69 6e 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 28 76 6f 69 64 20 t.for.certain.values......(void.
370c0 28 74 68 72 65 61 64 20 28 ce bb 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (thread.(...()..................
370e0 20 20 20 28 64 65 66 69 6e 65 20 28 70 72 65 64 2d 30 29 20 28 61 6e 64 20 28 3c 3d 20 30 20 69 ...(define.(pred-0).(and.(<=.0.i
37100 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 61 69 74 20 6d 20 ))).....................(wait.m.
37120 70 72 65 64 2d 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 73 pred-0).....................(dis
37140 70 6c 61 79 6c 6e 20 22 70 72 65 64 2d 30 20 62 65 63 61 6d 65 20 74 72 75 65 20 28 66 61 73 74 playln."pred-0.became.true.(fast
37160 20 70 61 74 68 29 22 29 29 29 29 0a 20 20 20 20 28 76 6f 69 64 20 28 74 68 72 65 61 64 20 28 ce .path)")))).....(void.(thread.(.
37180 bb 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 ..().....................(define
371a0 20 28 70 72 65 64 2d 69 2d 33 2d 6a 2d 36 29 20 28 61 6e 64 20 28 3c 3d 20 33 20 69 29 20 28 3c .(pred-i-3-j-6).(and.(<=.3.i).(<
371c0 3d 20 36 20 6a 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 61 =.6.j))).....................(wa
371e0 69 74 20 6d 20 70 72 65 64 2d 69 2d 33 2d 6a 2d 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 it.m.pred-i-3-j-6)..............
37200 20 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 6c 6e 20 22 70 72 65 64 2d 69 2d 33 2d 6a 2d 36 20 .......(displayln."pred-i-3-j-6.
37220 62 65 63 61 6d 65 20 74 72 75 65 22 29 29 29 29 0a 20 20 20 20 28 76 6f 69 64 20 28 74 68 72 65 became.true")))).....(void.(thre
37240 61 64 20 28 ce bb 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 ad.(...().....................(d
37260 65 66 69 6e 65 20 28 70 72 65 64 2d 69 2d 35 29 20 28 3c 3d 20 35 20 69 29 29 0a 20 20 20 20 20 efine.(pred-i-5).(<=.5.i))......
37280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 61 69 74 20 6d 20 70 72 65 64 2d 69 2d 35 29 ...............(wait.m.pred-i-5)
372a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 6c 6e 20 .....................(displayln.
372c0 22 70 72 65 64 2d 69 2d 35 20 62 65 63 61 6d 65 20 74 72 75 65 22 29 29 29 29 0a 20 20 20 20 3b "pred-i-5.became.true")))).....;
372e0 3b 20 41 20 77 6f 72 6b 65 72 20 74 68 72 65 61 64 2e 0a 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 ;.A.worker.thread......(let.loop
37300 20 28 29 0a 20 20 20 20 20 20 28 70 72 6f 67 72 65 73 73 20 6d 20 28 ce bb 20 28 29 0a 20 20 20 .().......(progress.m.(...()....
37320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20 69 20 28 61 64 64 31 20 69 .................(set!.i.(add1.i
37340 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20 6a 20 28 )).....................(set!.j.(
37360 61 64 64 31 20 6a 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 add1.j)).....................(di
37380 73 70 6c 61 79 6c 6e 20 28 6c 69 73 74 20 69 20 6a 29 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 splayln.(list.i.j)))).......(whe
373a0 6e 20 28 3c 20 69 20 31 30 29 0a 20 20 20 20 20 20 20 20 28 73 6c 65 65 70 20 30 2e 35 29 0a 20 n.(<.i.10).........(sleep.0.5)..
373c0 20 20 20 20 20 20 20 28 6c 6f 6f 70 29 29 29 29 29 0a 28 72 65 71 75 69 72 65 20 27 6d 6f 6e 69 .......(loop))))).(require.'moni
373e0 74 6f 72 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 tor)............................
37400 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
37420 72 61 63 6b 65 74 2f 63 6f 6d 6d 61 6e 64 2d 73 65 72 76 65 72 2e 72 6b 74 00 00 00 00 00 00 00 racket/command-server.rkt.......
37440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
37480 30 30 32 30 32 35 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 30 35 36 32 00 20 30 00 00 00 0020250.00000000000.020562..0...
374a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
374c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
374e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
37520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
37540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
375a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
375c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
375e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37600 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
37620 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
37640 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
37660 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
37680 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 /contract..........racket/format
376a0 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6c 61 7a 79 2d 72 65 71 75 69 72 65 0a 20 20 ..........racket/lazy-require...
376c0 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 22 64 65 .......racket/match.........."de
376e0 62 75 67 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 65 6c 69 73 70 2e 72 6b 74 22 0a 20 20 bug.rkt".........."elisp.rkt"...
37700 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 22 69 6e 73 74 72 75 6d 65 6e 74 2e 72 6b 74 22 .......(only-in."instrument.rkt"
37720 20 67 65 74 2d 75 6e 63 6f 76 65 72 65 64 20 67 65 74 2d 70 72 6f 66 69 6c 65 29 0a 20 20 20 20 .get-uncovered.get-profile).....
37740 20 20 20 20 20 22 68 61 73 68 2d 6c 61 6e 67 2d 62 72 69 64 67 65 2e 72 6b 74 22 0a 20 20 20 20 ....."hash-lang-bridge.rkt".....
37760 20 20 20 20 20 22 6c 6f 67 67 65 72 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 72 65 70 6c ....."logger.rkt".........."repl
37780 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 72 65 70 6c 2d 6f 75 74 70 75 74 2e 72 6b 74 22 .rkt".........."repl-output.rkt"
377a0 0a 20 20 20 20 20 20 20 20 20 22 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2e 72 6b 74 22 0a 20 20 20 .........."repl-session.rkt"....
377c0 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 22 73 63 72 69 62 62 6c 65 2e 72 6b 74 22 0a 20 20 ......(only-in."scribble.rkt"...
377e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 63 2d 69 6e 64 65 78 2d 6e 61 6d 65 73 0a ................doc-index-names.
37800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 63 2d 69 6e 64 65 78 2d 6c 6f 6f 6b ..................doc-index-look
37820 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 62 73 2d 65 78 70 6f 72 74 up...................libs-export
37840 69 6e 67 2d 64 6f 63 75 6d 65 6e 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 22 75 74 69 6c 2e 72 ing-documented).........."util.r
37860 6b 74 22 29 0a 0a 28 6c 61 7a 79 2d 72 65 71 75 69 72 65 0a 20 5b 22 63 6f 6d 6d 61 6e 64 73 2f kt")..(lazy-require..["commands/
37880 63 68 65 63 6b 2d 73 79 6e 74 61 78 2e 72 6b 74 22 20 28 63 68 65 63 6b 2d 73 79 6e 74 61 78 29 check-syntax.rkt".(check-syntax)
378a0 5d 0a 20 5b 22 63 6f 6d 6d 61 6e 64 73 2f 64 65 73 63 72 69 62 65 2e 72 6b 74 22 20 20 20 20 20 ]..["commands/describe.rkt".....
378c0 28 64 65 73 63 72 69 62 65 20 74 79 70 65 29 5d 0a 20 5b 22 63 6f 6d 6d 61 6e 64 73 2f 66 69 6e (describe.type)]..["commands/fin
378e0 64 2d 6d 6f 64 75 6c 65 2e 72 6b 74 22 20 20 28 66 69 6e 64 2d 6d 6f 64 75 6c 65 29 5d 0a 20 5b d-module.rkt"..(find-module)]..[
37900 22 63 6f 6d 6d 61 6e 64 73 2f 68 65 6c 70 2e 72 6b 74 22 20 20 20 20 20 20 20 20 20 28 64 6f 63 "commands/help.rkt".........(doc
37920 29 5d 0a 20 5b 22 63 6f 6d 6d 61 6e 64 73 2f 6d 61 63 72 6f 2e 72 6b 74 22 20 20 20 20 20 20 20 )]..["commands/macro.rkt".......
37940 20 28 6d 61 63 72 6f 2d 73 74 65 70 70 65 72 20 6d 61 63 72 6f 2d 73 74 65 70 70 65 72 2f 6e 65 .(macro-stepper.macro-stepper/ne
37960 78 74 29 5d 0a 20 5b 22 63 6f 6d 6d 61 6e 64 73 2f 72 65 71 75 69 72 65 73 2e 72 6b 74 22 20 20 xt)]..["commands/requires.rkt"..
37980 20 20 20 28 72 65 71 75 69 72 65 73 2f 74 69 64 79 20 72 65 71 75 69 72 65 73 2f 74 72 69 6d 20 ...(requires/tidy.requires/trim.
379a0 72 65 71 75 69 72 65 73 2f 62 61 73 65 29 5d 0a 20 5b 22 63 6f 6d 6d 61 6e 64 73 2f 6d 6f 64 75 requires/base)]..["commands/modu
379c0 6c 65 2d 6e 61 6d 65 73 2e 72 6b 74 22 20 28 6d 6f 64 75 6c 65 2d 6e 61 6d 65 73 29 5d 0a 20 5b le-names.rkt".(module-names)]..[
379e0 22 66 69 6e 64 2e 72 6b 74 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6e "find.rkt"..................(fin
37a00 64 2d 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 2f 64 72 72 d-definition.find-definition/drr
37a20 61 63 6b 65 74 2d 6a 75 6d 70 29 5d 29 0a 0a 28 70 72 6f 76 69 64 65 20 63 6f 6d 6d 61 6e 64 2d acket-jump)])..(provide.command-
37a40 73 65 72 76 65 72 2d 6c 6f 6f 70 29 0a 0a 3b 3b 20 43 6f 6d 6d 61 6e 64 20 72 65 71 75 65 73 74 server-loop)..;;.Command.request
37a60 73 20 61 6e 64 20 72 65 73 70 6f 6e 73 65 73 20 61 72 65 20 61 20 73 75 62 73 65 74 20 6f 66 20 s.and.responses.are.a.subset.of.
37a80 76 61 6c 69 64 20 45 6d 61 63 73 20 4c 69 73 70 0a 3b 3b 20 73 2d 65 78 70 72 65 73 73 69 6f 6e valid.Emacs.Lisp.;;.s-expression
37aa0 73 3a 20 53 65 65 20 65 6c 69 73 70 2d 72 65 61 64 20 61 6e 64 20 65 6c 69 73 70 2d 77 72 69 74 s:.See.elisp-read.and.elisp-writ
37ac0 65 2e 0a 3b 3b 0a 3b 3b 20 43 6f 6d 6d 61 6e 64 20 72 65 71 75 65 73 74 73 20 61 72 65 20 28 6e e..;;.;;.Command.requests.are.(n
37ae0 6f 6e 63 65 20 73 65 73 73 69 6f 6e 2d 69 64 20 63 6f 6d 6d 61 6e 64 20 70 61 72 61 6d 20 2e 2e once.session-id.command.param...
37b00 2e 29 2e 0a 3b 3b 0a 3b 3b 20 60 73 65 73 73 69 6f 6e 2d 69 64 60 20 73 68 6f 75 6c 64 20 62 65 .)..;;.;;.`session-id`.should.be
37b20 20 61 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 49 44 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d .a.REPL.session.ID.returned.from
37b40 20 6f 70 65 6e 69 6e 67 20 61 0a 3b 3b 20 6e 65 77 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 .opening.a.;;.new.connection.to.
37b60 74 68 65 20 52 45 50 4c 20 73 65 72 76 65 72 2c 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 74 68 the.REPL.server,.for.commands.th
37b80 61 74 20 6e 65 65 64 20 74 6f 20 62 65 0a 3b 3b 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 at.need.to.be.;;.associated.with
37ba0 20 61 20 73 70 65 63 69 66 69 63 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 2e 20 28 46 6f 72 20 6f .a.specific.REPL.session..(For.o
37bc0 74 68 65 72 20 63 6f 6d 6d 61 6e 64 73 2c 20 74 68 69 73 0a 3b 3b 20 6d 61 79 20 62 65 20 6e 69 ther.commands,.this.;;.may.be.ni
37be0 6c 20 61 2e 6b 2e 61 2e 20 23 66 29 2e 0a 3b 3b 0a 3b 3b 20 41 20 74 68 72 65 61 64 20 69 73 20 l.a.k.a..#f)..;;.;;.A.thread.is.
37c00 73 70 75 6e 20 6f 66 66 20 74 6f 20 68 61 6e 64 6c 65 20 65 61 63 68 20 72 65 71 75 65 73 74 2c spun.off.to.handle.each.request,
37c20 20 73 6f 20 74 68 61 74 20 61 20 6c 6f 6e 67 2d 72 75 6e 6e 69 6e 67 0a 3b 3b 20 63 6f 6d 6d 61 .so.that.a.long-running.;;.comma
37c40 6e 64 20 77 6f 6e 27 74 20 62 6c 6f 63 6b 20 6f 74 68 65 72 73 2e 20 54 68 65 20 6e 6f 6e 63 65 nd.won't.block.others..The.nonce
37c60 20 73 75 70 70 6c 69 65 64 20 77 69 74 68 20 74 68 65 20 72 65 71 75 65 73 74 20 69 73 0a 3b 3b .supplied.with.the.request.is.;;
37c80 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 74 68 65 20 72 65 73 70 6f 6e 73 65 2c 20 73 6f 20 .returned.with.the.response,.so.
37ca0 74 68 61 74 20 74 68 65 20 63 6c 69 65 6e 74 20 63 61 6e 20 6d 61 74 63 68 20 74 68 65 0a 3b 3b that.the.client.can.match.the.;;
37cc0 20 72 65 73 70 6f 6e 73 65 20 77 69 74 68 20 74 68 65 20 72 65 71 75 65 73 74 2e 20 54 68 65 20 .response.with.the.request..The.
37ce0 6e 6f 6e 63 65 20 6e 65 65 64 6e 27 74 20 62 65 20 72 61 6e 64 6f 6d 2c 20 6a 75 73 74 0a 3b 3b nonce.needn't.be.random,.just.;;
37d00 20 75 6e 69 71 75 65 3b 20 61 6e 20 69 6e 63 72 65 61 73 69 6e 67 20 69 6e 74 65 67 65 72 20 69 .unique;.an.increasing.integer.i
37d20 73 20 66 69 6e 65 2e 0a 3b 3b 0a 3b 3b 20 43 6f 6d 6d 61 6e 64 20 72 65 73 70 6f 6e 73 65 73 20 s.fine..;;.;;.Command.responses.
37d40 61 72 65 20 28 6e 6f 6e 63 65 20 27 6f 6b 20 73 65 78 70 20 2e 2e 2e 2b 29 20 6f 72 20 28 6e 6f are.(nonce.'ok.sexp....+).or.(no
37d60 6e 63 65 20 27 65 72 72 6f 72 0a 3b 3b 20 22 6d 65 73 73 61 67 65 22 29 20 6f 72 20 28 6e 6f 6e nce.'error.;;."message").or.(non
37d80 63 65 20 27 62 72 65 61 6b 29 2e 20 54 68 65 20 27 65 72 72 6f 72 20 72 65 73 70 6f 6e 73 65 20 ce.'break)..The.'error.response.
37da0 6e 6f 72 6d 61 6c 6c 79 20 63 61 6e 20 61 6e 64 0a 3b 3b 20 73 68 6f 75 6c 64 20 62 65 20 64 69 normally.can.and.;;.should.be.di
37dc0 73 70 6c 61 79 65 64 20 74 6f 20 74 68 65 20 75 73 65 72 20 69 6e 20 45 6d 61 63 73 20 76 69 61 splayed.to.the.user.in.Emacs.via
37de0 20 65 72 72 6f 72 20 6f 72 20 6d 65 73 73 61 67 65 2e 20 57 65 0a 3b 3b 20 68 61 6e 64 6c 65 20 .error.or.message..We.;;.handle.
37e00 65 78 6e 3a 66 61 69 6c 3f 20 75 70 20 68 65 72 65 3b 20 67 65 6e 65 72 61 6c 6c 79 20 77 65 27 exn:fail?.up.here;.generally.we'
37e20 72 65 20 66 69 6e 65 20 6c 65 74 74 69 6e 67 20 52 61 63 6b 65 74 0a 3b 3b 20 65 78 63 65 70 74 re.fine.letting.Racket.;;.except
37e40 69 6f 6e 73 20 70 65 72 63 6f 6c 61 74 65 20 75 70 20 61 6e 64 20 62 65 20 73 68 6f 77 6e 20 74 ions.percolate.up.and.be.shown.t
37e60 6f 20 74 68 65 20 75 73 65 72 2e 20 54 68 65 20 27 62 72 65 61 6b 0a 3b 3b 20 72 65 73 70 6f 6e o.the.user..The.'break.;;.respon
37e80 73 65 20 69 73 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 61 se.is.for.commands.that.can.be.a
37ea0 62 6f 72 74 65 64 20 62 79 20 6f 74 68 65 72 20 63 6f 6d 6d 61 6e 64 73 2e 0a 3b 3b 20 54 79 70 borted.by.other.commands..;;.Typ
37ec0 69 63 61 6c 6c 79 20 6f 75 72 20 45 6d 61 63 73 20 63 6f 64 65 20 77 69 6c 6c 20 73 69 6c 65 6e ically.our.Emacs.code.will.silen
37ee0 74 6c 79 20 69 67 6e 6f 72 65 20 74 68 65 73 65 3b 20 74 68 65 0a 3b 3b 20 61 66 66 69 72 6d 61 tly.ignore.these;.the.;;.affirma
37f00 74 69 76 65 20 62 72 65 61 6b 20 72 65 73 70 6f 6e 73 65 20 61 6c 6c 6f 77 73 20 74 68 65 20 63 tive.break.response.allows.the.c
37f20 6f 6d 6d 61 6e 64 20 63 61 6c 6c 62 61 63 6b 20 74 6f 20 62 65 0a 3b 3b 20 63 6c 65 61 6e 65 64 ommand.callback.to.be.;;.cleaned
37f40 20 75 70 2e 0a 0a 28 64 65 66 69 6e 65 20 28 63 6f 6d 6d 61 6e 64 2d 73 65 72 76 65 72 2d 6c 6f .up...(define.(command-server-lo
37f60 6f 70 20 69 6e 20 6f 75 74 29 0a 20 20 3b 3b 20 42 65 63 61 75 73 65 20 77 65 20 68 61 76 65 20 op.in.out)...;;.Because.we.have.
37f80 6d 75 6c 74 69 70 6c 65 20 63 6f 6d 6d 61 6e 64 20 74 68 72 65 61 64 73 20 72 75 6e 6e 69 6e 67 multiple.command.threads.running
37fa0 2c 20 77 65 20 73 68 6f 75 6c 64 0a 20 20 3b 3b 20 73 79 6e 63 68 72 6f 6e 69 7a 65 20 77 72 69 ,.we.should...;;.synchronize.wri
37fc0 74 69 6e 67 20 72 65 73 70 6f 6e 73 65 73 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 70 6f 72 ting.responses.to.the.output.por
37fe0 74 2e 20 54 6f 20 64 6f 20 73 6f 2c 20 77 65 0a 20 20 3b 3b 20 75 73 65 20 61 20 63 68 61 6e 6e t..To.do.so,.we...;;.use.a.chann
38000 65 6c 2e 20 54 68 72 65 61 64 73 20 72 75 6e 6e 69 6e 67 20 60 64 6f 2d 63 6f 6d 6d 61 6e 64 2f el..Threads.running.`do-command/
38020 71 75 65 75 65 2d 72 65 73 70 6f 6e 73 65 60 20 70 75 74 20 74 6f 0a 20 20 3b 3b 20 74 68 65 20 queue-response`.put.to...;;.the.
38040 63 68 61 6e 6e 65 6c 2e 20 54 68 65 20 60 77 72 69 74 65 2d 72 65 70 6f 6e 73 65 73 2d 66 6f 72 channel..The.`write-reponses-for
38060 65 76 65 72 60 20 74 68 72 65 61 64 20 65 6d 70 74 69 65 73 20 69 74 2e 0a 20 20 28 64 65 66 69 ever`.thread.empties.it....(defi
38080 6e 65 20 72 65 73 70 6f 6e 73 65 2d 63 68 61 6e 6e 65 6c 20 28 6d 61 6b 65 2d 63 68 61 6e 6e 65 ne.response-channel.(make-channe
380a0 6c 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 28 64 6f 2d 63 6f 6d 6d 61 6e 64 2f 71 75 65 75 65 l))....(define.(do-command/queue
380c0 2d 72 65 73 70 6f 6e 73 65 20 6e 6f 6e 63 65 20 73 69 64 20 73 65 78 70 29 0a 20 20 20 20 3b 3b -response.nonce.sid.sexp).....;;
380e0 20 4d 61 6b 65 20 22 6c 61 62 65 6c 22 20 66 6f 72 20 6c 6f 67 67 69 6e 67 2e 20 41 20 74 68 72 .Make."label".for.logging..A.thr
38100 65 61 64 20 6e 61 6d 65 20 63 6f 6d 65 73 20 66 72 6f 6d 20 69 74 73 20 74 68 75 6e 6b 20 e2 88 ead.name.comes.from.its.thunk...
38120 b4 0a 20 20 20 20 3b 3b 20 72 65 6e 61 6d 69 6e 67 20 74 68 65 20 74 68 75 6e 6b 20 6c 65 74 73 ......;;.renaming.the.thunk.lets
38140 20 75 73 20 6c 6f 67 20 74 68 65 20 74 68 72 65 61 64 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 .us.log.the.thread.more.informat
38160 69 76 65 6c 79 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 20 6c 61 62 65 6c 20 28 63 6f 6d 6d 61 6e ively......(define.label.(comman
38180 64 2d 69 6e 76 6f 63 61 74 69 6f 6e 2d 6c 61 62 65 6c 20 6e 6f 6e 63 65 20 73 69 64 20 73 65 78 d-invocation-label.nonce.sid.sex
381a0 70 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 28 74 68 6b 29 0a 20 20 20 20 20 20 28 63 68 61 p)).....(define.(thk).......(cha
381c0 6e 6e 65 6c 2d 70 75 74 0a 20 20 20 20 20 20 20 72 65 73 70 6f 6e 73 65 2d 63 68 61 6e 6e 65 6c nnel-put........response-channel
381e0 0a 20 20 20 20 20 20 20 28 63 6f 6e 73 0a 20 20 20 20 20 20 20 20 6e 6f 6e 63 65 0a 20 20 20 20 ........(cons.........nonce.....
38200 20 20 20 20 28 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 20 28 5b 65 78 6e 3a 66 61 69 6c 3f 20 20 ....(with-handlers.([exn:fail?..
38220 28 ce bb 20 28 65 29 20 60 28 65 72 72 6f 72 20 2c 28 65 78 6e 2d 6d 65 73 73 61 67 65 20 65 29 (...(e).`(error.,(exn-message.e)
38240 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 78 6e ))].........................[exn
38260 3a 62 72 65 61 6b 3f 20 28 ce bb 20 28 65 29 20 60 28 62 72 65 61 6b 29 29 5d 29 0a 20 20 20 20 :break?.(...(e).`(break))]).....
38280 20 20 20 20 20 20 28 77 69 74 68 2d 74 69 6d 65 2f 6c 6f 67 20 6c 61 62 65 6c 0a 20 20 20 20 20 ......(with-time/log.label......
382a0 20 20 20 20 20 20 60 28 6f 6b 20 2c 28 63 61 6c 6c 2d 77 69 74 68 2d 73 65 73 73 69 6f 6e 2d 63 ......`(ok.,(call-with-session-c
382c0 6f 6e 74 65 78 74 20 73 69 64 20 63 6f 6d 6d 61 6e 64 20 73 65 78 70 29 29 29 29 29 29 29 0a 20 ontext.sid.command.sexp)))))))..
382e0 20 20 20 28 70 72 6f 63 65 64 75 72 65 2d 72 65 6e 61 6d 65 20 74 68 6b 20 28 73 74 72 69 6e 67 ...(procedure-rename.thk.(string
38300 2d 3e 73 79 6d 62 6f 6c 20 6c 61 62 65 6c 29 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 28 77 72 ->symbol.label)))....(define.(wr
38320 69 74 65 2d 72 65 73 70 6f 6e 73 65 73 2d 61 6e 64 2d 6e 6f 74 69 66 69 63 61 74 69 6f 6e 73 29 ite-responses-and-notifications)
38340 0a 20 20 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 6f 75 74 .....(parameterize.([current-out
38360 70 75 74 2d 70 6f 72 74 20 6f 75 74 5d 29 0a 20 20 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 put-port.out]).......(let.loop.(
38380 29 0a 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 77 72 69 74 65 6c 6e 20 28 73 79 6e 63 20 72 ).........(elisp-writeln.(sync.r
383a0 65 73 70 6f 6e 73 65 2d 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 esponse-channel.................
383c0 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 6c 2d 6f 75 74 70 75 74 2d 63 68 61 6e 6e 65 6c .............repl-output-channel
383e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f ..............................lo
38400 67 67 65 72 2d 6e 6f 74 69 66 79 2d 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 gger-notify-channel.............
38420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 62 75 67 2d 6e 6f 74 69 66 79 2d 63 68 .................debug-notify-ch
38440 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 annel...........................
38460 20 20 20 68 61 73 68 2d 6c 61 6e 67 2d 6e 6f 74 69 66 79 2d 63 68 61 6e 6e 65 6c 29 29 0a 20 20 ...hash-lang-notify-channel))...
38480 20 20 20 20 20 20 28 66 6c 75 73 68 2d 6f 75 74 70 75 74 29 0a 20 20 20 20 20 20 20 20 28 6c 6f ......(flush-output).........(lo
384a0 6f 70 29 29 29 29 0a 0a 20 20 3b 3b 20 57 69 74 68 20 61 6c 6c 20 74 68 65 20 70 69 65 63 65 73 op))))....;;.With.all.the.pieces
384c0 20 64 65 66 69 6e 65 64 2c 20 6c 65 74 27 73 20 67 6f 3a 0a 20 20 28 74 68 72 65 61 64 20 77 72 .defined,.let's.go:...(thread.wr
384e0 69 74 65 2d 72 65 73 70 6f 6e 73 65 73 2d 61 6e 64 2d 6e 6f 74 69 66 69 63 61 74 69 6f 6e 73 29 ite-responses-and-notifications)
38500 0a 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 6f 75 74 70 75 ...(parameterize.([current-outpu
38520 74 2d 70 6f 72 74 20 6f 75 74 5d 29 0a 20 20 20 20 28 65 6c 69 73 70 2d 77 72 69 74 65 6c 6e 20 t-port.out]).....(elisp-writeln.
38540 60 28 72 65 61 64 79 29 29 29 0a 20 20 28 6c 65 74 20 72 65 61 64 2d 61 2d 63 6f 6d 6d 61 6e 64 `(ready)))...(let.read-a-command
38560 20 28 29 0a 20 20 20 20 28 6d 61 74 63 68 20 28 65 6c 69 73 70 2d 72 65 61 64 20 69 6e 29 0a 20 .().....(match.(elisp-read.in)..
38580 20 20 20 20 20 5b 28 6c 69 73 74 2a 20 6e 6f 6e 63 65 20 73 69 64 20 73 65 78 70 29 20 28 74 68 .....[(list*.nonce.sid.sexp).(th
385a0 72 65 61 64 20 28 64 6f 2d 63 6f 6d 6d 61 6e 64 2f 71 75 65 75 65 2d 72 65 73 70 6f 6e 73 65 20 read.(do-command/queue-response.
385c0 6e 6f 6e 63 65 20 73 69 64 20 73 65 78 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nonce.sid.sexp))................
385e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 61 2d 63 6f 6d 6d 61 6e 64 29 5d ...............(read-a-command)]
38600 0a 20 20 20 20 20 20 5b 28 3f 20 65 6f 66 2d 6f 62 6a 65 63 74 3f 29 20 20 20 20 20 20 20 20 28 .......[(?.eof-object?)........(
38620 76 6f 69 64 29 5d 29 29 20 20 29 0a 0a 28 64 65 66 69 6e 65 20 28 63 6f 6d 6d 61 6e 64 2d 69 6e void)]))..)..(define.(command-in
38640 76 6f 63 61 74 69 6f 6e 2d 6c 61 62 65 6c 20 6e 6f 6e 63 65 20 73 69 64 20 73 65 78 70 29 0a 20 vocation-label.nonce.sid.sexp)..
38660 20 28 7e 76 0a 20 20 20 28 6c 69 73 74 20 6e 6f 6e 63 65 0a 20 20 20 20 20 20 20 20 20 28 69 66 .(~v....(list.nonce..........(if
38680 20 28 6e 75 6c 6c 3f 20 73 69 64 29 20 22 2a 22 20 73 69 64 29 0a 20 20 20 20 20 20 20 20 20 28 .(null?.sid)."*".sid)..........(
386a0 6c 65 74 20 6c 69 6d 69 74 2d 73 74 72 69 6e 67 73 20 28 5b 76 20 73 65 78 70 5d 29 0a 20 20 20 let.limit-strings.([v.sexp])....
386c0 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 5b 28 6c 69 73 74 3f 20 76 29 20 20 20 28 6d 61 70 20 ........(cond.[(list?.v)...(map.
386e0 6c 69 6d 69 74 2d 73 74 72 69 6e 67 73 20 76 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 limit-strings.v)]...............
38700 20 20 20 5b 28 73 74 72 69 6e 67 3f 20 76 29 20 28 7e 61 20 23 3a 6d 61 78 2d 77 69 64 74 68 20 ...[(string?.v).(~a.#:max-width.
38720 38 30 20 23 3a 6c 69 6d 69 74 2d 6d 61 72 6b 65 72 20 22 e2 8b af 22 20 76 29 5d 0a 20 20 20 20 80.#:limit-marker."...".v)].....
38740 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 20 20 20 20 20 20 20 76 5d 29 29 29 29 .............[else........v]))))
38760 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 63 6f 6d 6d 61 6e 64 20 73 65 78 )..(define/contract.(command.sex
38780 70 72 29 0a 20 20 28 2d 3e 20 70 61 69 72 3f 20 61 6e 79 2f 63 29 0a 20 20 28 64 65 66 69 6e 65 pr)...(->.pair?.any/c)...(define
387a0 20 66 69 6c 65 20 28 6d 61 79 62 65 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 3e 66 69 6c 65 20 28 .file.(maybe-module-path->file.(
387c0 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 6d 61 79 62 65 2d 6d 6f 64 29 29 29 0a 20 20 3b current-session-maybe-mod)))...;
387e0 3b 20 4e 6f 74 65 3a 20 49 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79 20 6e 6f 20 22 65 6c 73 65 22 20 ;.Note:.Intentionally.no."else".
38800 6d 61 74 63 68 20 63 6c 61 75 73 65 20 2d 2d 20 6c 65 74 20 63 61 6c 6c 65 72 20 68 61 6e 64 6c match.clause.--.let.caller.handl
38820 65 0a 20 20 3b 3b 20 65 78 6e 20 61 6e 64 20 73 75 70 70 6c 79 20 61 20 63 6f 6e 73 69 73 74 65 e...;;.exn.and.supply.a.consiste
38840 6e 74 20 65 78 6e 20 72 65 73 70 6f 6e 73 65 20 66 6f 72 6d 61 74 2e 0a 20 20 28 6d 61 74 63 68 nt.exn.response.format....(match
38860 20 73 65 78 70 72 0a 20 20 20 20 3b 3b 20 43 75 72 72 65 6e 74 6c 79 2c 20 77 65 27 72 65 20 63 .sexpr.....;;.Currently,.we're.c
38880 61 6c 6c 65 64 20 66 72 6f 6d 20 60 63 61 6c 6c 2d 77 69 74 68 2d 73 65 73 73 69 6f 6e 2d 63 6f alled.from.`call-with-session-co
388a0 6e 74 65 78 74 60 20 77 68 69 63 68 0a 20 20 20 20 3b 3b 20 75 73 65 73 20 74 68 65 20 70 6f 73 ntext`.which.....;;.uses.the.pos
388c0 73 69 62 6c 79 20 6e 6f 6e 2d 6e 69 6c 20 73 65 73 73 69 6f 6e 20 69 64 20 74 6f 20 6c 6f 6f 6b sibly.non-nil.session.id.to.look
388e0 20 75 70 20 74 68 65 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 3b 3b 20 52 45 50 4c 20 73 65 73 .up.the.possible.....;;.REPL.ses
38900 73 69 6f 6e 2c 20 61 6e 64 20 73 65 74 20 73 6f 6d 65 20 70 61 72 61 6d 65 74 65 72 73 2e 20 54 sion,.and.set.some.parameters..T
38920 68 61 74 27 73 20 62 65 63 61 75 73 65 20 49 20 63 68 6f 73 65 0a 20 20 20 20 3b 3b 20 74 6f 20 hat's.because.I.chose.....;;.to.
38940 6d 61 6b 65 20 74 68 65 20 73 65 73 73 69 6f 6e 20 49 44 20 61 6e 20 61 64 64 69 74 69 6f 6e 61 make.the.session.ID.an.additiona
38960 6c 20 22 70 72 65 66 69 78 22 20 70 61 72 61 6d 65 74 65 72 20 66 6f 72 20 41 4c 4c 0a 20 20 20 l."prefix".parameter.for.ALL....
38980 20 3b 3b 20 63 6f 6d 6d 61 6e 64 73 2c 20 6c 69 6b 65 20 74 68 65 20 6e 6f 6e 63 65 2c 20 61 6e .;;.commands,.like.the.nonce,.an
389a0 64 20 6a 75 73 74 20 61 66 74 65 72 20 74 68 65 20 6e 6f 6e 63 65 20 28 73 65 65 20 61 62 6f 76 d.just.after.the.nonce.(see.abov
389c0 65 29 2e 0a 20 20 20 20 3b 3b 20 54 68 61 74 20 77 61 73 20 63 6f 6e 76 65 6e 69 65 6e 74 20 74 e)......;;.That.was.convenient.t
389e0 6f 20 6c 65 74 20 63 61 6c 6c 2d 77 69 74 68 2d 73 65 73 73 69 6f 6e 2d 63 6f 6e 74 65 78 74 20 o.let.call-with-session-context.
38a00 77 72 61 70 0a 20 20 20 20 3b 3b 20 65 76 65 72 79 74 68 69 6e 67 2c 20 61 6e 64 20 6e 6f 74 20 wrap.....;;.everything,.and.not.
38a20 66 69 64 64 6c 65 20 77 69 74 68 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 6d 6d 61 6e 64 73 2e fiddle.with.individual.commands.
38a40 20 48 6f 77 65 76 65 72 2e 0a 20 20 20 20 3b 3b 20 4f 6e 6c 79 20 5f 73 6f 6d 65 5f 20 63 6f 6d .However......;;.Only._some_.com
38a60 6d 61 6e 64 73 20 6e 65 65 64 20 61 20 76 61 6c 69 64 20 73 65 73 73 69 6f 6e 20 49 44 2e 20 49 mands.need.a.valid.session.ID..I
38a80 74 20 6d 69 67 68 74 20 62 65 0a 20 20 20 20 3b 3b 20 63 6c 65 61 72 65 72 20 28 69 66 20 6d 6f t.might.be.....;;.clearer.(if.mo
38aa0 72 65 20 74 65 64 69 6f 75 73 29 20 74 6f 20 6d 61 6b 65 20 74 68 61 74 20 62 65 20 61 6e 20 65 re.tedious).to.make.that.be.an.e
38ac0 78 70 6c 69 63 69 74 20 6e 65 77 0a 20 20 20 20 3b 3b 20 61 72 67 75 6d 65 6e 74 20 66 6f 72 20 xplicit.new.....;;.argument.for.
38ae0 6f 6e 6c 79 20 73 75 63 68 20 63 6f 6d 6d 61 6e 64 73 2e 20 41 6e 64 20 66 6f 72 20 74 68 6f 73 only.such.commands..And.for.thos
38b00 65 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 0a 20 20 20 20 3b 3b 20 61 6c 72 65 61 64 79 20 68 e.commands.that.....;;.already.h
38b20 61 76 65 20 61 20 22 68 6f 77 22 20 61 72 67 75 6d 65 6e 74 2c 20 69 6e 73 74 65 61 64 20 6f 66 ave.a."how".argument,.instead.of
38b40 20 73 75 70 70 6c 79 69 6e 67 20 27 6e 61 6d 65 73 70 61 63 65 2c 0a 20 20 20 20 3b 3b 20 74 68 .supplying.'namespace,.....;;.th
38b60 65 79 20 77 6f 75 6c 64 20 73 75 70 70 6c 79 20 74 68 65 20 73 65 73 73 69 6f 6e 20 49 44 2e 20 ey.would.supply.the.session.ID..
38b80 4a 75 73 74 20 69 6e 20 63 61 73 65 20 49 20 64 6f 20 74 68 61 74 2c 0a 20 20 20 20 3b 3b 20 73 Just.in.case.I.do.that,.....;;.s
38ba0 6f 6d 65 64 61 79 2c 20 49 27 6d 20 67 72 6f 75 70 69 6e 67 20 74 68 65 20 63 6f 6d 6d 61 6e 64 omeday,.I'm.grouping.the.command
38bc0 73 20 69 6e 20 74 68 65 73 65 20 74 68 72 65 65 20 63 61 74 65 67 6f 72 69 65 73 2c 0a 20 20 20 s.in.these.three.categories,....
38be0 20 3b 3b 20 62 65 6c 6f 77 2e 0a 0a 20 20 20 20 3b 3b 20 43 6f 6d 6d 61 6e 64 73 20 74 68 61 74 .;;.below.......;;.Commands.that
38c00 20 64 6f 20 4e 4f 54 20 6e 65 65 64 20 61 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 0a 20 20 20 20 .do.NOT.need.a.REPL.session.....
38c20 5b 60 28 6e 6f 2d 6f 70 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 [`(no-op).......................
38c40 20 20 20 23 74 5d 0a 20 20 20 20 5b 60 28 6c 6f 67 67 65 72 20 2c 76 29 20 20 20 20 20 20 20 20 ...#t].....[`(logger.,v)........
38c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 61 6e 6e 65 6c 2d 70 75 74 20 6c 6f 67 67 65 ..............(channel-put.logge
38c80 72 2d 63 6f 6d 6d 61 6e 64 2d 63 68 61 6e 6e 65 6c 20 76 29 5d 0a 20 20 20 20 5b 60 28 63 68 65 r-command-channel.v)].....[`(che
38ca0 63 6b 2d 73 79 6e 74 61 78 20 2c 70 61 74 68 2d 73 74 72 20 2c 63 6f 64 65 29 20 20 20 28 63 68 ck-syntax.,path-str.,code)...(ch
38cc0 65 63 6b 2d 73 79 6e 74 61 78 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 29 5d 0a 20 20 20 20 5b eck-syntax.path-str.code)].....[
38ce0 60 28 6d 61 63 72 6f 2d 73 74 65 70 70 65 72 20 2c 70 61 74 68 20 2c 73 74 72 20 2c 70 6f 6c 29 `(macro-stepper.,path.,str.,pol)
38d00 20 20 28 6d 61 63 72 6f 2d 73 74 65 70 70 65 72 20 70 61 74 68 20 73 74 72 20 70 6f 6c 29 5d 0a ..(macro-stepper.path.str.pol)].
38d20 20 20 20 20 5b 60 28 6d 61 63 72 6f 2d 73 74 65 70 70 65 72 2f 6e 65 78 74 20 2c 77 68 61 74 29 ....[`(macro-stepper/next.,what)
38d40 20 20 20 20 20 20 20 28 6d 61 63 72 6f 2d 73 74 65 70 70 65 72 2f 6e 65 78 74 20 77 68 61 74 29 .......(macro-stepper/next.what)
38d60 5d 0a 20 20 20 20 5b 60 28 6d 6f 64 75 6c 65 2d 6e 61 6d 65 73 29 20 20 20 20 20 20 20 20 20 20 ].....[`(module-names)..........
38d80 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 2d 6e 61 6d 65 73 29 5d 0a 20 20 20 20 5b 60 28 .........(module-names)].....[`(
38da0 72 65 71 75 69 72 65 73 2f 74 69 64 79 20 2c 72 65 71 73 29 20 20 20 20 20 20 20 20 20 20 20 20 requires/tidy.,reqs)............
38dc0 28 72 65 71 75 69 72 65 73 2f 74 69 64 79 20 72 65 71 73 29 5d 0a 20 20 20 20 5b 60 28 72 65 71 (requires/tidy.reqs)].....[`(req
38de0 75 69 72 65 73 2f 74 72 69 6d 20 2c 70 61 74 68 2d 73 74 72 20 2c 72 65 71 73 29 20 20 28 72 65 uires/trim.,path-str.,reqs)..(re
38e00 71 75 69 72 65 73 2f 74 72 69 6d 20 70 61 74 68 2d 73 74 72 20 72 65 71 73 29 5d 0a 20 20 20 20 quires/trim.path-str.reqs)].....
38e20 5b 60 28 72 65 71 75 69 72 65 73 2f 62 61 73 65 20 2c 70 61 74 68 2d 73 74 72 20 2c 72 65 71 73 [`(requires/base.,path-str.,reqs
38e40 29 20 20 28 72 65 71 75 69 72 65 73 2f 62 61 73 65 20 70 61 74 68 2d 73 74 72 20 72 65 71 73 29 )..(requires/base.path-str.reqs)
38e60 5d 0a 20 20 20 20 5b 60 28 72 65 71 75 69 72 65 73 2f 66 69 6e 64 20 2c 73 74 72 29 20 20 20 20 ].....[`(requires/find.,str)....
38e80 20 20 20 20 20 20 20 20 20 28 6c 69 62 73 2d 65 78 70 6f 72 74 69 6e 67 2d 64 6f 63 75 6d 65 6e .........(libs-exporting-documen
38ea0 74 65 64 20 73 74 72 29 5d 0a 20 20 20 20 5b 60 28 64 6f 63 2d 69 6e 64 65 78 2d 6e 61 6d 65 73 ted.str)].....[`(doc-index-names
38ec0 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 63 2d 69 6e 64 65 78 2d 6e 61 6d 65 )................(doc-index-name
38ee0 73 29 5d 0a 20 20 20 20 5b 60 28 64 6f 63 2d 69 6e 64 65 78 2d 6c 6f 6f 6b 75 70 20 2c 73 74 72 s)].....[`(doc-index-lookup.,str
38f00 29 20 20 20 20 20 20 20 20 20 20 28 64 6f 63 2d 69 6e 64 65 78 2d 6c 6f 6f 6b 75 70 20 73 74 72 )..........(doc-index-lookup.str
38f20 29 5d 0a 20 20 20 20 5b 60 28 68 61 73 68 2d 6c 61 6e 67 20 2e 20 2c 6d 6f 72 65 29 20 20 20 20 )].....[`(hash-lang...,more)....
38f40 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 68 61 73 68 2d 6c 61 6e 67 20 6d 6f 72 65 29 ..........(apply.hash-lang.more)
38f60 5d 0a 0a 20 20 20 20 3b 3b 20 43 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 4d 49 47 48 54 20 6e 65 ]......;;.Commands.that.MIGHT.ne
38f80 65 64 20 61 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 66 6f 72 20 63 6f 6e 74 65 78 74 20 28 65 ed.a.REPL.session.for.context.(e
38fa0 2e 67 2e 20 69 74 73 0a 20 20 20 20 3b 3b 20 6e 61 6d 65 73 70 61 63 65 29 2c 20 69 66 20 74 68 .g..its.....;;.namespace),.if.th
38fc0 65 69 72 20 66 69 72 73 74 20 22 68 6f 77 22 20 61 72 67 75 6d 65 6e 74 20 69 73 20 27 6e 61 6d eir.first."how".argument.is.'nam
38fe0 65 73 70 61 63 65 2e 0a 20 20 20 20 5b 60 28 64 65 66 20 2c 68 6f 77 20 2c 73 74 72 29 20 20 20 espace......[`(def.,how.,str)...
39000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 20 ...............(find-definition.
39020 68 6f 77 20 73 74 72 29 5d 0a 20 20 20 20 5b 60 28 64 65 66 2f 64 72 72 20 2c 68 6f 77 20 2c 70 how.str)].....[`(def/drr.,how.,p
39040 61 74 68 20 2c 73 75 62 73 20 2c 69 64 73 29 20 20 28 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f ath.,subs.,ids)..(find-definitio
39060 6e 2f 64 72 72 61 63 6b 65 74 2d 6a 75 6d 70 20 68 6f 77 20 70 61 74 68 20 73 75 62 73 20 69 64 n/drracket-jump.how.path.subs.id
39080 73 29 5d 0a 20 20 20 20 5b 60 28 64 65 73 63 72 69 62 65 20 2c 68 6f 77 20 2c 73 74 72 29 20 20 s)].....[`(describe.,how.,str)..
390a0 20 20 20 20 20 20 20 20 20 20 20 28 64 65 73 63 72 69 62 65 20 68 6f 77 20 73 74 72 29 5d 0a 20 ...........(describe.how.str)]..
390c0 20 20 20 5b 60 28 64 6f 63 20 2c 68 6f 77 20 2c 73 74 72 29 20 20 20 20 20 20 20 20 20 20 20 20 ...[`(doc.,how.,str)............
390e0 20 20 20 20 20 20 28 64 6f 63 20 68 6f 77 20 73 74 72 29 5d 0a 20 20 20 20 5b 60 28 74 79 70 65 ......(doc.how.str)].....[`(type
39100 20 2c 68 6f 77 20 2c 76 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 79 70 .,how.,v)...................(typ
39120 65 20 68 6f 77 20 76 29 5d 0a 20 20 20 20 5b 60 28 72 65 70 6c 2d 73 74 61 72 74 2c 20 73 69 64 e.how.v)].....[`(repl-start,.sid
39140 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 2d 73 74 61 72 74 20 73 69 64 )................(repl-start.sid
39160 29 5d 0a 0a 20 20 20 20 3b 3b 20 43 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 44 45 46 49 4e 49 54 )]......;;.Commands.that.DEFINIT
39180 45 4c 59 20 44 4f 20 6e 65 65 64 20 61 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 66 6f 72 20 63 ELY.DO.need.a.REPL.session.for.c
391a0 6f 6e 74 65 78 74 2c 0a 20 20 20 20 3b 3b 20 65 2e 67 2e 20 69 74 73 20 6e 61 6d 65 73 70 61 63 ontext,.....;;.e.g..its.namespac
391c0 65 2e 20 53 68 6f 75 6c 64 20 74 68 65 79 20 70 61 73 73 20 61 20 73 65 73 73 69 6f 6e 2d 69 64 e..Should.they.pass.a.session-id
391e0 20 65 78 70 6c 69 63 69 74 6c 79 2c 0a 20 20 20 20 3b 3b 20 6e 6f 77 3f 0a 20 20 20 20 5b 60 28 .explicitly,.....;;.now?.....[`(
39200 72 75 6e 20 2c 77 68 61 74 20 2c 73 75 62 73 20 2c 6d 65 6d 20 2c 70 70 3f 20 2c 63 6f 6c 73 20 run.,what.,subs.,mem.,pp?.,cols.
39220 2c 70 69 78 2f 63 68 61 72 20 2c 63 74 78 20 2c 61 72 67 73 20 2c 64 62 67 29 0a 20 20 20 20 20 ,pix/char.,ctx.,args.,dbg)......
39240 28 72 75 6e 20 77 68 61 74 20 73 75 62 73 20 6d 65 6d 20 70 70 3f 20 63 6f 6c 73 20 70 69 78 2f (run.what.subs.mem.pp?.cols.pix/
39260 63 68 61 72 20 63 74 78 20 61 72 67 73 20 64 62 67 29 5d 0a 20 20 20 20 5b 60 28 70 61 74 68 29 char.ctx.args.dbg)].....[`(path)
39280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 66 ...........................(or.f
392a0 69 6c 65 20 27 74 6f 70 29 5d 0a 20 20 20 20 5b 60 28 73 79 6d 73 29 20 20 20 20 20 20 20 20 20 ile.'top)].....[`(syms).........
392c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 73 29 5d 0a 20 20 20 20 5b 60 ..................(syms)].....[`
392e0 28 6d 6f 64 20 2c 73 79 6d 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (mod.,sym)......................
39300 20 28 66 69 6e 64 2d 6d 6f 64 75 6c 65 20 73 79 6d 20 28 63 75 72 72 65 6e 74 2d 73 65 73 73 69 .(find-module.sym.(current-sessi
39320 6f 6e 2d 6d 61 79 62 65 2d 6d 6f 64 29 29 5d 0a 20 20 20 20 5b 60 28 67 65 74 2d 70 72 6f 66 69 on-maybe-mod))].....[`(get-profi
39340 6c 65 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 70 72 6f 66 le)....................(get-prof
39360 69 6c 65 29 5d 0a 20 20 20 20 5b 60 28 67 65 74 2d 75 6e 63 6f 76 65 72 65 64 29 20 20 20 20 20 ile)].....[`(get-uncovered).....
39380 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 75 6e 63 6f 76 65 72 65 64 20 66 69 6c 65 .............(get-uncovered.file
393a0 29 5d 0a 20 20 20 20 5b 60 28 65 76 61 6c 20 2c 76 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )].....[`(eval.,v)..............
393c0 20 20 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 63 6f 6d 6d 61 6e 64 20 76 29 5d 0a 20 20 20 20 ..........(eval-command.v)].....
393e0 5b 60 28 64 65 62 75 67 2d 72 65 73 75 6d 65 20 2c 76 29 20 20 20 20 20 20 20 20 20 20 20 20 20 [`(debug-resume.,v).............
39400 20 20 20 28 64 65 62 75 67 2d 72 65 73 75 6d 65 20 76 29 5d 0a 20 20 20 20 5b 60 28 64 65 62 75 ...(debug-resume.v)].....[`(debu
39420 67 2d 64 69 73 61 62 6c 65 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 62 g-disable)..................(deb
39440 75 67 2d 64 69 73 61 62 6c 65 29 5d 0a 20 20 20 20 5b 60 28 72 65 70 6c 2d 69 6e 70 75 74 20 2c ug-disable)].....[`(repl-input.,
39460 73 74 72 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 2d 69 6e 70 75 74 20 str)................(repl-input.
39480 73 74 72 29 5d 0a 20 20 20 20 5b 60 28 72 65 70 6c 2d 73 75 62 6d 69 74 20 2c 73 74 72 29 20 20 str)].....[`(repl-submit.,str)..
394a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 2d 73 75 62 6d 69 74 20 73 74 72 29 5d 0a .............(repl-submit.str)].
394c0 20 20 20 20 5b 60 28 72 65 70 6c 2d 62 72 65 61 6b 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....[`(repl-break)..............
394e0 20 20 20 20 20 20 20 28 72 65 70 6c 2d 62 72 65 61 6b 29 5d 0a 20 20 20 20 5b 60 28 72 65 70 6c .......(repl-break)].....[`(repl
39500 2d 65 78 69 74 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 -exit)......................(rep
39520 6c 2d 65 78 69 74 29 5d 29 29 0a 0a 3b 3b 3b 20 53 6f 6d 65 20 74 72 69 76 69 61 6c 20 63 6f 6d l-exit)]))..;;;.Some.trivial.com
39540 6d 61 6e 64 73 20 64 65 66 69 6e 65 64 20 68 65 72 65 0a 0a 28 64 65 66 69 6e 65 20 28 73 79 6d mands.defined.here..(define.(sym
39560 73 29 0a 20 20 28 73 6f 72 74 20 28 6d 61 70 20 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e 67 20 28 s)...(sort.(map.symbol->string.(
39580 6e 61 6d 65 73 70 61 63 65 2d 6d 61 70 70 65 64 2d 73 79 6d 62 6f 6c 73 29 29 0a 20 20 20 20 20 namespace-mapped-symbols))......
395a0 20 20 20 73 74 72 69 6e 67 3c 3f 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 ...string<?))..(define/contract.
395c0 28 65 76 61 6c 2d 63 6f 6d 6d 61 6e 64 20 73 74 72 29 0a 20 20 28 2d 3e 20 73 74 72 69 6e 67 3f (eval-command.str)...(->.string?
395e0 20 73 74 72 69 6e 67 3f 29 0a 20 20 28 63 61 6c 6c 2d 77 69 74 68 2d 76 61 6c 75 65 73 20 28 ce .string?)...(call-with-values.(.
39600 bb 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 63 75 72 ..().......................((cur
39620 72 65 6e 74 2d 65 76 61 6c 29 20 28 73 74 72 69 6e 67 2d 3e 6e 61 6d 65 73 70 61 63 65 2d 73 79 rent-eval).(string->namespace-sy
39640 6e 74 61 78 20 73 74 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntax.str))).....................
39660 28 ce bb 20 76 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 (...vs.......................(ap
39680 70 6c 79 20 7e 61 20 23 3a 73 65 70 61 72 61 74 6f 72 20 22 5c 6e 22 20 28 6d 61 70 20 7e 76 20 ply.~a.#:separator."\n".(map.~v.
396a0 76 73 29 29 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 vs))))).........................
396c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
396e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
397a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
397c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
397e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39800 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
39820 72 61 63 6b 65 74 2f 64 65 62 75 67 2d 61 6e 6e 6f 74 61 74 6f 72 2e 72 6b 74 00 00 00 00 00 00 racket/debug-annotator.rkt......
39840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
39880 30 30 34 31 33 37 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 30 37 34 32 00 20 30 00 00 00 0041373.00000000000.020742..0...
398a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
398c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
398e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
39920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
39940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
399a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
399c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
399e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39a00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
39a20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
39a40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
39a60 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 28 66 6f 72 2d 73 ang.racket/base..(require.(for-s
39a80 79 6e 74 61 78 20 72 61 63 6b 65 74 2f 62 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c yntax.racket/base)..........(onl
39aa0 79 2d 69 6e 20 72 61 63 6b 65 74 2f 62 61 73 65 20 5b 61 70 70 6c 79 20 70 6c 61 69 6e 2d 61 70 y-in.racket/base.[apply.plain-ap
39ac0 70 6c 79 5d 29 20 3b 3b 3f 3f 3f 0a 20 20 20 20 20 20 20 20 20 28 70 72 65 66 69 78 2d 69 6e 20 ply]).;;???..........(prefix-in.
39ae0 6b 65 72 6e 65 6c 3a 20 73 79 6e 74 61 78 2f 6b 65 72 6e 63 61 73 65 29 29 0a 0a 3b 3b 20 54 68 kernel:.syntax/kerncase))..;;.Th
39b00 69 73 20 69 73 20 6c 69 6b 65 20 67 75 69 2d 64 65 62 75 67 67 65 72 2f 61 6e 6e 6f 74 61 74 65 is.is.like.gui-debugger/annotate
39b20 20 65 78 63 65 70 74 3a 0a 3b 3b 0a 3b 3b 20 30 2e 20 4f 75 72 20 61 6e 6e 6f 74 61 74 65 2d 73 .except:.;;.;;.0..Our.annotate-s
39b40 74 78 20 64 6f 65 73 20 4e 4f 54 20 61 64 64 20 62 72 65 61 6b 73 20 74 6f 20 73 79 6e 74 61 78 tx.does.NOT.add.breaks.to.syntax
39b60 20 73 6f 75 72 63 65 73 20 6e 6f 74 0a 3b 3b 20 20 20 20 6d 61 74 63 68 69 6e 67 20 74 68 65 20 .sources.not.;;....matching.the.
39b80 73 79 6e 74 61 78 20 69 74 20 69 73 20 67 69 76 65 6e 2e 20 53 65 65 0a 3b 3b 20 20 20 20 68 74 syntax.it.is.given..See.;;....ht
39ba0 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 61 63 6b 65 74 2f 64 72 72 61 63 6b 65 74 tps://github.com/racket/drracket
39bc0 2f 69 73 73 75 65 73 2f 32 33 30 20 61 6e 64 20 62 65 6c 6f 77 2e 0a 3b 3b 0a 3b 3b 20 31 2e 20 /issues/230.and.below..;;.;;.1..
39be0 22 4d 6f 64 65 72 6e 69 7a 65 22 3a 20 55 73 65 20 72 61 63 6b 65 74 2f 62 61 73 65 20 6e 6f 74 "Modernize":.Use.racket/base.not
39c00 20 72 61 63 6b 65 74 2f 73 63 68 65 6d 65 2e 20 44 6f 6e 27 74 20 6e 65 65 64 0a 3b 3b 20 20 20 .racket/scheme..Don't.need.;;...
39c20 20 6f 70 74 2d 6c 61 6d 62 64 61 2e 0a 3b 3b 0a 3b 3b 20 32 2e 20 57 65 20 72 65 6d 6f 76 65 20 .opt-lambda..;;.;;.2..We.remove.
39c40 74 68 65 20 72 65 63 6f 72 64 2d 62 6f 75 6e 64 2d 69 64 20 61 6e 64 20 72 65 63 6f 72 64 2d 74 the.record-bound-id.and.record-t
39c60 6f 70 2d 6c 65 76 65 6c 2d 69 64 20 63 61 6c 6c 62 61 63 6b 73 0a 3b 3b 20 20 20 20 74 68 61 74 op-level-id.callbacks.;;....that
39c80 20 77 65 20 64 6f 6e 27 74 20 75 73 65 2c 20 66 72 6f 6d 20 61 6e 6e 6f 74 61 74 65 2d 66 6f 72 .we.don't.use,.from.annotate-for
39ca0 2d 73 69 6e 67 6c 65 2d 73 74 65 70 70 69 6e 67 20 28 62 75 74 20 6c 65 61 76 65 0a 3b 3b 20 20 -single-stepping.(but.leave.;;..
39cc0 20 20 74 68 65 6d 20 66 6f 72 20 6e 6f 77 20 69 6e 20 61 6e 6e 6f 74 61 74 65 2d 73 74 78 29 2e ..them.for.now.in.annotate-stx).
39ce0 0a 3b 3b 0a 3b 3b 20 33 2e 20 57 65 20 72 65 6d 6f 76 65 20 74 68 65 20 73 6f 75 72 63 65 20 61 .;;.;;.3..We.remove.the.source.a
39d00 72 67 20 74 68 61 74 20 69 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 75 6e 75 73 65 64 20 28 49 27 rg.that.is.completely.unused.(I'
39d20 6d 20 67 75 65 73 73 69 6e 67 0a 3b 3b 20 20 20 20 68 69 73 74 6f 72 69 63 61 6c 29 2e 0a 0a 28 m.guessing.;;....historical)...(
39d40 70 72 6f 76 69 64 65 20 61 6e 6e 6f 74 61 74 65 2d 66 6f 72 2d 73 69 6e 67 6c 65 2d 73 74 65 70 provide.annotate-for-single-step
39d60 70 69 6e 67 0a 20 20 20 20 20 20 20 20 20 6d 61 72 6b 2d 73 6f 75 72 63 65 0a 20 20 20 20 20 20 ping..........mark-source.......
39d80 20 20 20 6d 61 72 6b 2d 62 69 6e 64 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 64 65 62 75 67 2d ...mark-bindings..........debug-
39da0 6b 65 79 29 0a 0a 28 64 65 66 69 6e 65 20 28 61 6e 6e 6f 74 61 74 65 2d 66 6f 72 2d 73 69 6e 67 key)..(define.(annotate-for-sing
39dc0 6c 65 2d 73 74 65 70 70 69 6e 67 20 73 74 78 20 62 72 65 61 6b 3f 20 62 72 65 61 6b 2d 62 65 66 le-stepping.stx.break?.break-bef
39de0 6f 72 65 20 62 72 65 61 6b 2d 61 66 74 65 72 29 0a 20 20 28 64 65 66 69 6e 65 20 28 62 72 65 61 ore.break-after)...(define.(brea
39e00 6b 2d 77 72 61 70 20 64 65 62 75 67 2d 69 6e 66 6f 20 61 6e 6e 6f 74 61 74 65 64 20 72 61 77 20 k-wrap.debug-info.annotated.raw.
39e20 69 73 2d 74 61 69 6c 3f 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 5b 73 74 61 72 74 20 20 28 73 79 is-tail?).....(let*.([start..(sy
39e40 6e 74 61 78 2d 70 6f 73 69 74 69 6f 6e 20 72 61 77 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b ntax-position.raw)]............[
39e60 65 6e 64 20 20 20 20 28 2b 20 73 74 61 72 74 20 28 73 79 6e 74 61 78 2d 73 70 61 6e 20 72 61 77 end....(+.start.(syntax-span.raw
39e80 29 20 2d 31 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 5b 62 72 65 61 6b 3f 20 28 62 72 65 61 6b ).-1)]............[break?.(break
39ea0 3f 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 72 61 77 29 29 5d 29 0a 20 20 20 20 20 20 28 ?.(syntax-source.raw))]).......(
39ec0 69 66 20 69 73 2d 74 61 69 6c 3f 0a 20 20 20 20 20 20 20 20 20 20 23 60 28 6c 65 74 2d 76 61 6c if.is-tail?...........#`(let-val
39ee0 75 65 73 20 28 5b 28 76 61 6c 75 65 2d 6c 69 73 74 29 20 23 66 5d 29 0a 20 20 20 20 20 20 20 20 ues.([(value-list).#f]).........
39f00 20 20 20 20 20 20 28 69 66 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 23 2c 62 72 65 61 6b 3f 20 ......(if.(#%plain-app.#,break?.
39f20 23 2c 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 #,start)...................(set!
39f40 20 76 61 6c 75 65 2d 6c 69 73 74 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 0a 20 20 20 20 20 20 20 .value-list.(#%plain-app........
39f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 62 .............................#,b
39f80 72 65 61 6b 2d 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 reak-before.....................
39fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 64 65 62 75 67 2d 69 6e 66 6f 0a 20 20 20 ................#,debug-info....
39fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
39fe0 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 63 75 72 72 65 6e 74 2d 63 6f 6e 74 69 6e 75 61 74 69 .(#%plain-app.current-continuati
3a000 6f 6e 2d 6d 61 72 6b 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 on-marks)))...................(#
3a020 25 70 6c 61 69 6e 2d 61 70 70 20 76 6f 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %plain-app.void))...............
3a040 28 69 66 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 6e 6f 74 20 76 61 6c 75 65 2d 6c 69 73 74 29 (if.(#%plain-app.not.value-list)
3a060 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 61 6e 6e 6f 74 61 74 65 64 0a 20 ...................#,annotated..
3a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 70 6c .................(#%plain-app.pl
3a0a0 61 69 6e 2d 61 70 70 6c 79 20 76 61 6c 75 65 73 20 76 61 6c 75 65 2d 6c 69 73 74 29 29 29 0a 20 ain-apply.values.value-list)))..
3a0c0 20 20 20 20 20 20 20 20 20 23 60 28 6c 65 74 2d 76 61 6c 75 65 73 20 28 5b 28 76 61 6c 75 65 2d .........#`(let-values.([(value-
3a0e0 6c 69 73 74 29 20 23 66 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 23 25 list).#f])...............(if.(#%
3a100 70 6c 61 69 6e 2d 61 70 70 20 23 2c 62 72 65 61 6b 3f 20 23 2c 73 74 61 72 74 29 0a 20 20 20 20 plain-app.#,break?.#,start).....
3a120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20 76 61 6c 75 65 2d 6c 69 73 74 20 28 ..............(set!.value-list.(
3a140 23 25 70 6c 61 69 6e 2d 61 70 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 #%plain-app.....................
3a160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 62 72 65 61 6b 2d 62 65 66 6f 72 65 0a 20 ................#,break-before..
3a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3a1a0 20 20 20 23 2c 64 65 62 75 67 2d 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...#,debug-info.................
3a1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 ....................(#%plain-app
3a1e0 20 63 75 72 72 65 6e 74 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 73 29 29 29 0a 20 .current-continuation-marks)))..
3a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 76 6f .................(#%plain-app.vo
3a220 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 23 25 70 6c 61 69 6e 2d id))...............(if.(#%plain-
3a240 61 70 70 20 6e 6f 74 20 76 61 6c 75 65 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 app.not.value-list).............
3a260 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(#%plain-app..............
3a280 20 20 20 20 20 20 63 61 6c 6c 2d 77 69 74 68 2d 76 61 6c 75 65 73 0a 20 20 20 20 20 20 20 20 20 ......call-with-values..........
3a2a0 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 6c 61 6d 62 64 61 20 28 29 20 23 2c 61 ..........(#%plain-lambda.().#,a
3a2c0 6e 6e 6f 74 61 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 nnotated)....................(ca
3a2e0 73 65 2d 6c 61 6d 62 64 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b se-lambda......................[
3a300 28 76 61 6c 29 20 28 69 66 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 23 2c 62 72 65 61 6b 3f 20 (val).(if.(#%plain-app.#,break?.
3a320 23 2c 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 #,end)..........................
3a340 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 .......(#%plain-app.............
3a360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 62 72 65 61 6b 2d 61 66 74 .....................#,break-aft
3a380 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er..............................
3a3a0 20 20 20 20 23 2c 64 65 62 75 67 2d 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....#,debug-info................
3a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 63 ..................(#%plain-app.c
3a3e0 75 72 72 65 6e 74 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 73 29 0a 20 20 20 20 20 urrent-continuation-marks)......
3a400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 29 ............................val)
3a420 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3a440 20 76 61 6c 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 76 61 6c .val)]......................[val
3a460 73 20 28 69 66 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 s.(if.(#%plain-app..............
3a480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 62 72 65 61 6b 3f 20 23 2c 65 6e ...................#,break?.#,en
3a4a0 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d)..............................
3a4c0 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(#%plain-app..................
3a4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6c 61 69 6e 2d 61 70 70 6c 79 0a 20 20 20 20 20 ...............plain-apply......
3a500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 62 72 65 ...........................#,bre
3a520 61 6b 2d 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ak-after........................
3a540 20 20 20 20 20 20 20 20 20 23 2c 64 65 62 75 67 2d 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 20 20 .........#,debug-info...........
3a560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 ......................(#%plain-a
3a580 70 70 20 63 75 72 72 65 6e 74 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 73 29 0a 20 pp.current-continuation-marks)..
3a5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 ...............................v
3a5c0 61 6c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 als)............................
3a5e0 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 70 6c 61 69 6e 2d 61 70 70 6c 79 20 76 61 6c ....(#%plain-app.plain-apply.val
3a600 75 65 73 20 76 61 6c 73 29 29 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ues.vals))]))...................
3a620 28 69 66 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 23 2c 62 72 65 61 6b 3f 20 23 2c 65 6e 64 29 (if.(#%plain-app.#,break?.#,end)
3a640 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d .......................(#%plain-
3a660 61 70 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6c 61 69 6e app........................plain
3a680 2d 61 70 70 6c 79 20 23 2c 62 72 65 61 6b 2d 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 -apply.#,break-after............
3a6a0 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 64 65 62 75 67 2d 69 6e 66 6f 0a 20 20 20 20 20 20 20 ............#,debug-info........
3a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 63 75 72 ................(#%plain-app.cur
3a6e0 72 65 6e 74 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 73 29 0a 20 20 20 20 20 20 20 rent-continuation-marks)........
3a700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 2d 6c 69 73 74 29 0a 20 20 20 20 ................value-list).....
3a720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 70 ..................(#%plain-app.p
3a740 6c 61 69 6e 2d 61 70 70 6c 79 20 76 61 6c 75 65 73 20 76 61 6c 75 65 2d 6c 69 73 74 29 29 29 29 lain-apply.values.value-list))))
3a760 29 29 29 0a 20 20 28 61 6e 6e 6f 74 61 74 65 2d 73 74 78 20 73 74 78 20 62 72 65 61 6b 2d 77 72 )))...(annotate-stx.stx.break-wr
3a780 61 70 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 61 6e 6e 6f 74 61 74 65 2d 73 74 78 20 73 74 78 20 ap))..(define.(annotate-stx.stx.
3a7a0 62 72 65 61 6b 2d 77 72 61 70 20 5b 72 65 63 6f 72 64 2d 62 6f 75 6e 64 2d 69 64 20 76 6f 69 64 break-wrap.[record-bound-id.void
3a7c0 5d 20 5b 72 65 63 6f 72 64 2d 74 6f 70 2d 6c 65 76 65 6c 2d 69 64 20 76 6f 69 64 5d 29 0a 20 20 ].[record-top-level-id.void])...
3a7e0 28 64 65 66 69 6e 65 20 62 72 65 61 6b 70 6f 69 6e 74 73 20 28 6d 61 6b 65 2d 68 61 73 68 65 71 (define.breakpoints.(make-hasheq
3a800 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 28 70 72 65 76 69 6f 75 73 2d 62 69 6e 64 69 6e 67 73 ))....(define.(previous-bindings
3a820 20 62 6f 75 6e 64 2d 76 61 72 73 29 0a 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 3f 20 62 6f 75 6e .bound-vars).....(if.(null?.boun
3a840 64 2d 76 61 72 73 29 0a 20 20 20 20 20 20 20 20 23 27 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 23 d-vars).........#'null.........#
3a860 27 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 64 65 62 75 67 67 65 72 2d 6c 6f 63 61 6c 2d 62 69 6e '(#%plain-app.debugger-local-bin
3a880 64 69 6e 67 73 29 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 28 74 6f 70 2d 6c 65 76 65 6c 2d 61 dings)))....(define.(top-level-a
3a8a0 6e 6e 6f 74 61 74 65 20 73 74 78 29 0a 20 20 20 20 28 6b 65 72 6e 65 6c 3a 6b 65 72 6e 65 6c 2d nnotate.stx).....(kernel:kernel-
3a8c0 73 79 6e 74 61 78 2d 63 61 73 65 2f 70 68 61 73 65 0a 20 20 20 20 20 73 74 78 20 28 6e 61 6d 65 syntax-case/phase......stx.(name
3a8e0 73 70 61 63 65 2d 62 61 73 65 2d 70 68 61 73 65 29 0a 20 20 20 20 20 5b 28 6d 6f 64 75 6c 65 20 space-base-phase)......[(module.
3a900 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 20 6d 62 29 0a 20 20 20 20 20 20 28 6d 6f 64 75 6c identifier.name.mb).......(modul
3a920 65 2d 61 6e 6e 6f 74 61 74 65 20 73 74 78 29 5d 0a 20 20 20 20 20 5b 65 6c 73 65 2d 73 74 78 0a e-annotate.stx)]......[else-stx.
3a940 20 20 20 20 20 20 28 67 65 6e 65 72 61 6c 2d 74 6f 70 2d 6c 65 76 65 6c 2d 65 78 70 72 2d 69 74 ......(general-top-level-expr-it
3a960 65 72 61 74 6f 72 20 73 74 78 20 20 23 66 29 5d 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 28 6d erator.stx..#f)]))....(define.(m
3a980 6f 64 75 6c 65 2d 61 6e 6e 6f 74 61 74 65 20 73 74 78 29 0a 20 20 20 20 28 73 79 6e 74 61 78 2d odule-annotate.stx).....(syntax-
3a9a0 63 61 73 65 20 28 64 69 73 61 72 6d 20 73 74 78 29 20 28 29 0a 20 20 20 20 20 20 5b 28 5f 20 69 case.(disarm.stx).().......[(_.i
3a9c0 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 20 6d 62 29 0a 20 20 20 20 20 20 20 28 73 79 6e 74 61 dentifier.name.mb)........(synta
3a9e0 78 2d 63 61 73 65 20 28 64 69 73 61 72 6d 20 23 27 6d 62 29 20 28 29 0a 20 20 20 20 20 20 20 20 x-case.(disarm.#'mb).().........
3aa00 20 5b 28 70 6c 61 69 6e 2d 6d 6f 64 75 6c 65 2d 62 65 67 69 6e 20 2e 20 6d 6f 64 75 6c 65 2d 6c .[(plain-module-begin...module-l
3aa20 65 76 65 6c 2d 65 78 70 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 73 79 6e 74 evel-exprs)...........(with-synt
3aa40 61 78 20 28 5b 28 6d 6f 64 75 6c 65 20 2e 20 5f 29 20 73 74 78 5d 29 0a 20 20 20 20 20 20 20 20 ax.([(module..._).stx]).........
3aa60 20 20 20 20 28 72 65 61 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 78 0a 20 20 20 20 ....(rearm..............stx.....
3aa80 20 20 20 20 20 20 20 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 73 74 78 0a 20 20 .........(quasisyntax/loc.stx...
3aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 20 69 64 65 6e 74 69 66 69 65 72 20 .............(module.identifier.
3aac0 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 28 72 65 61 72 6d 0a 20 name..................#,(rearm..
3aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 6d 62 0a 20 20 20 20 20 20 20 20 ...................#'mb.........
3ab00 20 20 20 20 20 20 20 20 20 20 20 20 23 60 28 70 6c 61 69 6e 2d 6d 6f 64 75 6c 65 2d 62 65 67 69 ............#`(plain-module-begi
3ab20 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 40 28 6d 61 70 n........................#,@(map
3ab40 20 28 6c 61 6d 62 64 61 20 28 65 29 20 28 6d 6f 64 75 6c 65 2d 6c 65 76 65 6c 2d 65 78 70 72 2d .(lambda.(e).(module-level-expr-
3ab60 69 74 65 72 61 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 iterator........................
3ab80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 20 28 6c 69 73 74 20 28 73 79 .....................e.(list.(sy
3aba0 6e 74 61 78 2d 65 20 23 27 69 64 65 6e 74 69 66 69 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 ntax-e.#'identifier)............
3abc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3abe0 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 23 27 69 64 65 6e 74 69 .........(syntax-source.#'identi
3ac00 66 69 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fier))))........................
3ac20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 23 27 6d 6f 64 75 6c 65 2d 6c ........(syntax->list.#'module-l
3ac40 65 76 65 6c 2d 65 78 70 72 73 29 29 29 29 29 29 29 29 5d 29 5d 29 29 0a 0a 20 20 28 64 65 66 69 evel-exprs))))))))])]))....(defi
3ac60 6e 65 20 28 6d 6f 64 75 6c 65 2d 6c 65 76 65 6c 2d 65 78 70 72 2d 69 74 65 72 61 74 6f 72 20 73 ne.(module-level-expr-iterator.s
3ac80 74 78 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 28 6b 65 72 6e 65 6c 3a 6b 65 72 6e tx.module-name).....(kernel:kern
3aca0 65 6c 2d 73 79 6e 74 61 78 2d 63 61 73 65 0a 20 20 20 20 20 73 74 78 20 23 66 0a 20 20 20 20 20 el-syntax-case......stx.#f......
3acc0 5b 28 23 25 70 72 6f 76 69 64 65 20 2e 20 70 72 6f 76 69 64 65 2d 73 70 65 63 73 29 0a 20 20 20 [(#%provide...provide-specs)....
3ace0 20 20 20 73 74 78 5d 0a 20 20 20 20 20 5b 28 23 25 64 65 63 6c 61 72 65 20 2e 20 64 65 63 6c 61 ...stx]......[(#%declare...decla
3ad00 72 65 2d 73 70 65 63 73 29 0a 20 20 20 20 20 20 73 74 78 5d 0a 20 20 20 20 20 5b 65 6c 73 65 2d re-specs).......stx]......[else-
3ad20 73 74 78 0a 20 20 20 20 20 20 28 67 65 6e 65 72 61 6c 2d 74 6f 70 2d 6c 65 76 65 6c 2d 65 78 70 stx.......(general-top-level-exp
3ad40 72 2d 69 74 65 72 61 74 6f 72 20 73 74 78 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 5d 29 29 0a 0a r-iterator.stx.module-name)]))..
3ad60 20 20 28 64 65 66 69 6e 65 20 28 67 65 6e 65 72 61 6c 2d 74 6f 70 2d 6c 65 76 65 6c 2d 65 78 70 ..(define.(general-top-level-exp
3ad80 72 2d 69 74 65 72 61 74 6f 72 20 73 74 78 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 r-iterator.stx.module-name).....
3ada0 28 6b 65 72 6e 65 6c 3a 6b 65 72 6e 65 6c 2d 73 79 6e 74 61 78 2d 63 61 73 65 0a 20 20 20 20 20 (kernel:kernel-syntax-case......
3adc0 73 74 78 20 23 66 0a 20 20 20 20 20 5b 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 76 61 72 stx.#f......[(define-values.(var
3ade0 20 2e 2e 2e 29 20 65 78 70 72 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 0a 20 20 20 20 20 20 20 ....).expr).......(begin........
3ae00 20 28 66 6f 72 2d 65 61 63 68 20 28 6c 61 6d 62 64 61 20 28 76 29 20 28 72 65 63 6f 72 64 2d 62 .(for-each.(lambda.(v).(record-b
3ae20 6f 75 6e 64 2d 69 64 20 27 62 69 6e 64 20 76 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ound-id.'bind.v.v)).............
3ae40 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 23 27 28 76 61 72 20 2e 2e 2e 29 29 ......(syntax->list.#'(var....))
3ae60 29 0a 20 20 20 20 20 20 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 73 74 78 0a 20 ).........(quasisyntax/loc.stx..
3ae80 20 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 .........(begin.............(def
3aea0 69 6e 65 2d 76 61 6c 75 65 73 20 28 76 61 72 20 2e 2e 2e 29 20 23 2c 28 61 6e 6e 6f 74 61 74 65 ine-values.(var....).#,(annotate
3aec0 20 23 60 65 78 70 72 20 27 28 29 20 23 74 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 .#`expr.'().#t.module-name))....
3aee0 20 20 20 20 20 20 20 20 20 23 2c 28 69 66 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 73 74 .........#,(if.(syntax-source.st
3af00 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 60 28 62 65 67 69 6e 20 28 23 x)...................#`(begin.(#
3af20 25 70 6c 61 69 6e 2d 61 70 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %plain-app......................
3af40 20 20 20 20 20 20 20 23 2c 72 65 63 6f 72 64 2d 74 6f 70 2d 6c 65 76 65 6c 2d 69 64 0a 20 20 20 .......#,record-top-level-id....
3af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 23 2c 6d 6f 64 75 .........................'#,modu
3af80 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le-name.........................
3afa0 20 20 20 20 28 71 75 6f 74 65 2d 73 79 6e 74 61 78 20 76 61 72 29 0a 20 20 20 20 20 20 20 20 20 ....(quote-syntax.var)..........
3afc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 73 65 2d 6c 61 6d 62 64 61 0a ...................(case-lambda.
3afe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 ..............................[(
3b000 29 20 76 61 72 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).var]..........................
3b020 20 20 20 20 20 5b 28 76 29 20 28 73 65 74 21 20 76 61 72 20 76 29 5d 29 29 20 2e 2e 2e 29 0a 20 .....[(v).(set!.var.v)]))....)..
3b040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 .................#'(#%plain-app.
3b060 76 6f 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 void)).............(#%plain-app.
3b080 76 6f 69 64 29 29 29 29 5d 0a 20 20 20 20 20 5b 28 64 65 66 69 6e 65 2d 73 79 6e 74 61 78 65 73 void))))]......[(define-syntaxes
3b0a0 20 28 76 61 72 20 2e 2e 2e 29 20 65 78 70 72 29 0a 20 20 20 20 20 20 73 74 78 5d 0a 20 20 20 20 .(var....).expr).......stx].....
3b0c0 20 5b 28 62 65 67 69 6e 2d 66 6f 72 2d 73 79 6e 74 61 78 20 2e 20 65 78 70 72 73 29 0a 20 20 20 .[(begin-for-syntax...exprs)....
3b0e0 20 20 20 3b 3b 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2c 20 73 6f 20 74 72 65 61 74 20 69 74 20 ...;;.compile.time,.so.treat.it.
3b100 6c 69 6b 65 20 64 65 66 69 6e 65 2d 73 79 6e 74 61 78 65 73 0a 20 20 20 20 20 20 73 74 78 5d 0a like.define-syntaxes.......stx].
3b120 20 20 20 20 20 5b 28 62 65 67 69 6e 20 2e 20 74 6f 70 2d 6c 65 76 65 6c 2d 65 78 70 72 73 29 0a .....[(begin...top-level-exprs).
3b140 20 20 20 20 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 73 74 78 0a 20 20 20 20 20 ......(quasisyntax/loc.stx......
3b160 20 20 20 28 62 65 67 69 6e 20 23 2c 40 28 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 65 78 70 72 29 ...(begin.#,@(map.(lambda.(expr)
3b180 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c ..........................(modul
3b1a0 65 2d 6c 65 76 65 6c 2d 65 78 70 72 2d 69 74 65 72 61 74 6f 72 20 65 78 70 72 20 6d 6f 64 75 6c e-level-expr-iterator.expr.modul
3b1c0 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-name))........................
3b1e0 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 23 27 74 6f 70 2d 6c 65 76 65 6c 2d 65 78 70 72 73 29 (syntax->list.#'top-level-exprs)
3b200 29 29 29 5d 0a 20 20 20 20 20 5b 28 23 25 72 65 71 75 69 72 65 20 2e 20 72 65 71 75 69 72 65 2d )))]......[(#%require...require-
3b220 73 70 65 63 73 29 0a 20 20 20 20 20 20 73 74 78 5d 0a 20 20 20 20 20 5b 28 6d 6f 64 75 6c 65 20 specs).......stx]......[(module.
3b240 2e 20 5f 29 0a 20 20 20 20 20 20 3b 3b 20 61 20 73 75 62 6d 6f 64 75 6c 65 3a 0a 20 20 20 20 20 .._).......;;.a.submodule:......
3b260 20 28 6d 6f 64 75 6c 65 2d 61 6e 6e 6f 74 61 74 65 20 73 74 78 29 5d 0a 20 20 20 20 20 5b 28 6d .(module-annotate.stx)]......[(m
3b280 6f 64 75 6c 65 2a 20 2e 20 5f 29 0a 20 20 20 20 20 20 3b 3b 20 61 20 73 75 62 6d 6f 64 75 6c 65 odule*..._).......;;.a.submodule
3b2a0 3a 0a 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 2d 61 6e 6e 6f 74 61 74 65 20 73 74 78 29 5d 0a 20 :.......(module-annotate.stx)]..
3b2c0 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 28 61 6e 6e 6f 74 61 74 65 20 73 74 78 20 27 28 ....[else.......(annotate.stx.'(
3b2e0 29 20 23 66 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 5d 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 ).#f.module-name)]))....(define.
3b300 28 61 6e 6e 6f 74 61 74 65 20 65 78 70 72 20 62 6f 75 6e 64 2d 76 61 72 73 20 69 73 2d 74 61 69 (annotate.expr.bound-vars.is-tai
3b320 6c 3f 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 20 61 6e 6e l?.module-name)......(define.ann
3b340 6f 74 61 74 65 2d 62 72 65 61 6b 3f 0a 20 20 20 20 20 20 28 6c 65 74 20 28 5b 70 6f 73 20 28 73 otate-break?.......(let.([pos.(s
3b360 79 6e 74 61 78 2d 70 6f 73 69 74 69 6f 6e 20 65 78 70 72 29 5d 0a 20 20 20 20 20 20 20 20 20 20 yntax-position.expr)]...........
3b380 20 20 5b 73 72 63 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 65 78 70 72 29 5d 29 0a 20 20 ..[src.(syntax-source.expr)])...
3b3a0 20 20 20 20 20 20 28 61 6e 64 20 73 72 63 20 70 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(and.src.pos..............
3b3c0 3b 3b 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 61 63 6b 65 74 2f 64 72 72 ;;.https://github.com/racket/drr
3b3e0 61 63 6b 65 74 2f 69 73 73 75 65 73 2f 32 33 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 acket/issues/230..............(e
3b400 71 75 61 6c 3f 20 73 72 63 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 73 74 78 29 29 0a 20 qual?.src.(syntax-source.stx))..
3b420 20 20 20 20 20 20 20 20 20 20 20 20 28 68 61 73 68 2d 72 65 66 20 62 72 65 61 6b 70 6f 69 6e 74 ............(hash-ref.breakpoint
3b440 73 20 70 6f 73 20 28 6c 61 6d 62 64 61 20 28 29 20 23 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 s.pos.(lambda.().#t))...........
3b460 20 20 20 28 6b 65 72 6e 65 6c 3a 6b 65 72 6e 65 6c 2d 73 79 6e 74 61 78 2d 63 61 73 65 0a 20 20 ...(kernel:kernel-syntax-case...
3b480 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 72 20 23 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 ............expr.#f.............
3b4a0 20 20 5b 28 69 66 20 74 65 73 74 20 74 68 65 6e 20 65 6c 73 65 29 20 23 74 5d 0a 20 20 20 20 20 ..[(if.test.then.else).#t]......
3b4c0 20 20 20 20 20 20 20 20 20 5b 28 62 65 67 69 6e 20 2e 20 62 6f 64 69 65 73 29 20 23 74 5d 0a 20 .........[(begin...bodies).#t]..
3b4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 62 65 67 69 6e 30 20 2e 20 62 6f 64 69 65 73 29 20 .............[(begin0...bodies).
3b500 23 74 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c 65 74 2d 76 61 6c 75 65 73 20 2e #t]...............[(let-values..
3b520 20 63 6c 61 75 73 65 29 20 23 74 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c 65 74 .clause).#t]...............[(let
3b540 72 65 63 2d 76 61 6c 75 65 73 20 2e 20 63 6c 61 75 73 65 29 20 23 74 5d 0a 20 20 20 20 20 20 20 rec-values...clause).#t]........
3b560 20 20 20 20 20 20 20 5b 28 73 65 74 21 20 76 61 72 20 76 61 6c 29 20 23 74 5d 0a 20 20 20 20 20 .......[(set!.var.val).#t]......
3b580 20 20 20 20 20 20 20 20 20 5b 28 77 69 74 68 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 .........[(with-continuation-mar
3b5a0 6b 20 6b 65 79 20 6d 61 72 6b 20 62 6f 64 79 29 20 23 74 5d 0a 20 20 20 20 20 20 20 20 20 20 20 k.key.mark.body).#t]............
3b5c0 20 20 20 5b 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 2e 20 65 78 70 72 73 29 20 23 74 5d 0a 20 20 ...[(#%plain-app...exprs).#t]...
3b5e0 20 20 20 20 20 20 20 20 20 20 20 20 5b 5f 20 23 66 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ............[_.#f]).............
3b600 20 28 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 61 73 68 2d 73 65 74 .(begin................(hash-set
3b620 21 20 62 72 65 61 6b 70 6f 69 6e 74 73 20 70 6f 73 20 23 66 29 0a 20 20 20 20 20 20 20 20 20 20 !.breakpoints.pos.#f)...........
3b640 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 69 73 2d 74 61 69 6c 3f 29 0a 20 20 20 20 20 20 .....(when.(not.is-tail?).......
3b660 20 20 20 20 20 20 20 20 20 20 20 28 68 61 73 68 2d 73 65 74 21 20 62 72 65 61 6b 70 6f 69 6e 74 ...........(hash-set!.breakpoint
3b680 73 20 28 2b 20 70 6f 73 20 28 73 79 6e 74 61 78 2d 73 70 61 6e 20 65 78 70 72 29 20 2d 31 29 20 s.(+.pos.(syntax-span.expr).-1).
3b6a0 23 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 74 29 29 29 29 0a 0a 20 20 20 20 #f))................#t))))......
3b6c0 28 64 65 66 69 6e 65 20 28 6c 65 74 2f 72 65 63 2d 76 61 6c 75 65 73 2d 61 6e 6e 6f 74 61 74 6f (define.(let/rec-values-annotato
3b6e0 72 20 6c 65 74 72 65 63 3f 29 0a 20 20 20 20 20 20 28 6b 65 72 6e 65 6c 3a 6b 65 72 6e 65 6c 2d r.letrec?).......(kernel:kernel-
3b700 73 79 6e 74 61 78 2d 63 61 73 65 0a 20 20 20 20 20 20 20 28 64 69 73 61 72 6d 20 65 78 70 72 29 syntax-case........(disarm.expr)
3b720 20 23 66 0a 20 20 20 20 20 20 20 5b 28 6c 61 62 65 6c 20 28 28 28 76 61 72 20 2e 2e 2e 29 20 72 .#f........[(label.(((var....).r
3b740 68 73 29 20 2e 2e 2e 29 20 2e 20 62 6f 64 69 65 73 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a hs)....)...bodies).........(let*
3b760 20 28 5b 6e 65 77 2d 62 69 6e 64 69 6e 67 73 20 28 61 70 70 6c 79 20 61 70 70 65 6e 64 0a 20 20 .([new-bindings.(apply.append...
3b780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3b7a0 20 20 28 6d 61 70 20 73 79 6e 74 61 78 2d 3e 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..(map.syntax->list.............
3b7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 .............................(sy
3b7e0 6e 74 61 78 2d 3e 6c 69 73 74 20 23 60 28 28 76 61 72 20 2e 2e 2e 29 20 2e 2e 2e 29 29 29 29 5d ntax->list.#`((var....)....))))]
3b800 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 61 6c 6c 2d 62 69 6e 64 69 6e 67 73 20 28 61 ................[all-bindings.(a
3b820 70 70 65 6e 64 20 6e 65 77 2d 62 69 6e 64 69 6e 67 73 20 62 6f 75 6e 64 2d 76 61 72 73 29 5d 0a ppend.new-bindings.bound-vars)].
3b840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6e 65 77 2d 72 68 73 20 28 6d 61 70 20 28 6c 61 ...............[new-rhs.(map.(la
3b860 6d 62 64 61 20 28 65 78 70 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mbda.(expr).....................
3b880 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 6e 6f 74 61 74 65 20 65 78 70 72 0a 20 20 20 20 20 20 ...........(annotate.expr.......
3b8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3b8c0 20 20 20 28 69 66 20 6c 65 74 72 65 63 3f 20 61 6c 6c 2d 62 69 6e 64 69 6e 67 73 20 62 6f 75 6e ...(if.letrec?.all-bindings.boun
3b8e0 64 2d 76 61 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-vars).........................
3b900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 66 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 .................#f.module-name)
3b920 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 )..............................(
3b940 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 23 27 28 72 68 73 20 2e 2e 2e 29 29 29 5d 0a 20 20 20 20 syntax->list.#'(rhs....)))].....
3b960 20 20 20 20 20 20 20 20 20 20 20 5b 6c 61 73 74 2d 62 6f 64 79 20 28 63 61 72 20 28 72 65 76 65 ...........[last-body.(car.(reve
3b980 72 73 65 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 23 27 62 6f 64 69 65 73 29 29 29 5d 0a 20 rse.(syntax->list.#'bodies)))]..
3b9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 61 6c 6c 2d 62 75 74 2d 6c 61 73 74 2d 62 6f 64 79 ..............[all-but-last-body
3b9c0 20 28 72 65 76 65 72 73 65 20 28 63 64 72 20 28 72 65 76 65 72 73 65 20 28 73 79 6e 74 61 78 2d .(reverse.(cdr.(reverse.(syntax-
3b9e0 3e 6c 69 73 74 20 23 27 62 6f 64 69 65 73 29 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 >list.#'bodies))))].............
3ba00 20 20 20 5b 62 6f 64 69 65 73 20 28 61 70 70 65 6e 64 20 28 6d 61 70 20 28 6c 61 6d 62 64 61 20 ...[bodies.(append.(map.(lambda.
3ba20 28 65 78 70 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (expr)..........................
3ba40 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 6e 6f 74 61 74 65 20 65 78 70 72 20 61 6c 6c 2d .............(annotate.expr.all-
3ba60 62 69 6e 64 69 6e 67 73 20 23 66 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 bindings.#f.module-name)).......
3ba80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c ..............................al
3baa0 6c 2d 62 75 74 2d 6c 61 73 74 2d 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l-but-last-body)................
3bac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 61 6e 6e 6f 74 61 74 65 0a ................(list.(annotate.
3bae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3bb00 20 20 20 20 20 20 6c 61 73 74 2d 62 6f 64 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......last-body.................
3bb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 6c 2d 62 69 6e 64 69 6e ......................all-bindin
3bb40 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gs..............................
3bb60 20 20 20 20 20 20 20 20 20 69 73 2d 74 61 69 6c 3f 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 29 29 .........is-tail?.module-name)))
3bb80 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6c 6f 63 61 6c 2d 64 65 62 75 67 2d 69 6e ]................[local-debug-in
3bba0 66 6f 20 28 61 73 73 65 6d 62 6c 65 2d 64 65 62 75 67 2d 69 6e 66 6f 20 6e 65 77 2d 62 69 6e 64 fo.(assemble-debug-info.new-bind
3bbc0 69 6e 67 73 20 6e 65 77 2d 62 69 6e 64 69 6e 67 73 20 27 6e 6f 72 6d 61 6c 20 23 66 29 5d 0a 20 ings.new-bindings.'normal.#f)]..
3bbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 70 72 65 76 69 6f 75 73 2d 62 69 6e 64 69 6e 67 73 ..............[previous-bindings
3bc00 20 28 70 72 65 76 69 6f 75 73 2d 62 69 6e 64 69 6e 67 73 20 62 6f 75 6e 64 2d 76 61 72 73 29 5d .(previous-bindings.bound-vars)]
3bc20 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d 65 61 63 68 20 28 6c 61 6d 62 64 61 20 28 69 )...........(for-each.(lambda.(i
3bc40 64 29 20 28 72 65 63 6f 72 64 2d 62 6f 75 6e 64 2d 69 64 20 27 62 69 6e 64 20 69 64 20 69 64 29 d).(record-bound-id.'bind.id.id)
3bc60 29 20 6e 65 77 2d 62 69 6e 64 69 6e 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d ).new-bindings)...........(with-
3bc80 73 79 6e 74 61 78 20 28 5b 28 6e 65 77 2d 72 68 73 2f 74 72 61 6e 73 20 2e 2e 2e 29 20 6e 65 77 syntax.([(new-rhs/trans....).new
3bca0 2d 72 68 73 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 70 -rhs].........................[p
3bcc0 72 65 76 69 6f 75 73 2d 62 69 6e 64 69 6e 67 73 20 70 72 65 76 69 6f 75 73 2d 62 69 6e 64 69 6e revious-bindings.previous-bindin
3bce0 67 73 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6c 65 74 72 65 63 3f 0a 20 20 20 gs]).............(if.letrec?....
3bd00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 65 78 .............(quasisyntax/loc.ex
3bd20 70 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 6f 6c 64 2d pr...................(let.([old-
3bd40 62 69 6e 64 69 6e 67 73 20 70 72 65 76 69 6f 75 73 2d 62 69 6e 64 69 6e 67 73 5d 29 0a 20 20 20 bindings.previous-bindings])....
3bd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 62 65 6c 20 28 28 28 64 65 62 75 67 .................(label.(((debug
3bd80 67 65 72 2d 6c 6f 63 61 6c 2d 62 69 6e 64 69 6e 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ger-local-bindings).............
3bda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 6c 61 6d 62 64 61 .................(#%plain-lambda
3bdc0 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .().............................
3bde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 0a 20 20 .................(#%plain-app...
3be00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3be20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............list*...............
3be40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3be60 23 2c 40 6c 6f 63 61 6c 2d 64 65 62 75 67 2d 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 #,@local-debug-info.............
3be80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3bea0 20 20 6f 6c 64 2d 62 69 6e 64 69 6e 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..old-bindings)))...............
3bec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 76 61 72 20 2e 2e 2e 29 20 6e 65 77 2d 72 68 73 ..............((var....).new-rhs
3bee0 2f 74 72 61 6e 73 29 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /trans)....)....................
3bf00 20 20 20 20 20 20 20 20 23 2c 40 62 6f 64 69 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ........#,@bodies)))............
3bf20 20 20 20 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 65 78 70 72 0a 20 20 20 20 20 .....(quasisyntax/loc.expr......
3bf40 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 62 65 6c 20 28 28 28 76 61 72 20 2e 2e 2e 29 20 .............(label.(((var....).
3bf60 6e 65 77 2d 72 68 73 2f 74 72 61 6e 73 29 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 new-rhs/trans)....).............
3bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 64 65 62 75 67 67 65 72 2d 6c 6f 63 .............(let.([debugger-loc
3bfa0 61 6c 2d 62 69 6e 64 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 al-bindings.....................
3bfc0 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 6c 61 6d 62 64 61 20 28 29 0a 20 ............(#%plain-lambda.()..
3bfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 0a 20 20 20 20 ...............(#%plain-app.....
3c020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c040 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .............list*..............
3c060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c080 20 20 20 20 23 2c 40 6c 6f 63 61 6c 2d 64 65 62 75 67 2d 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 ....#,@local-debug-info.........
3c0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c0c0 20 20 20 20 20 20 20 20 20 70 72 65 76 69 6f 75 73 2d 62 69 6e 64 69 6e 67 73 29 29 5d 29 0a 20 .........previous-bindings))])..
3c0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 40 62 6f 64 ..........................#,@bod
3c100 69 65 73 29 29 29 29 29 29 5d 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 20 28 6c 61 6d 62 64 ies))))))]))......(define.(lambd
3c120 61 2d 63 6c 61 75 73 65 2d 61 6e 6e 6f 74 61 74 6f 72 20 63 6c 61 75 73 65 29 0a 20 20 20 20 20 a-clause-annotator.clause)......
3c140 20 28 6b 65 72 6e 65 6c 3a 6b 65 72 6e 65 6c 2d 73 79 6e 74 61 78 2d 63 61 73 65 0a 20 20 20 20 .(kernel:kernel-syntax-case.....
3c160 20 20 20 63 6c 61 75 73 65 20 23 66 0a 20 20 20 20 20 20 20 5b 28 61 72 67 2d 6c 69 73 74 20 2e ...clause.#f........[(arg-list..
3c180 20 62 6f 64 69 65 73 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 5b 6e 65 77 2d 62 6f 75 .bodies).........(let*.([new-bou
3c1a0 6e 64 2d 76 61 72 73 20 28 61 72 67 6c 69 73 74 2d 62 69 6e 64 69 6e 67 73 20 23 27 61 72 67 2d nd-vars.(arglist-bindings.#'arg-
3c1c0 6c 69 73 74 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 61 6c 6c 2d 62 6f 75 6e 64 list)]................[all-bound
3c1e0 2d 76 61 72 73 20 28 61 70 70 65 6e 64 20 6e 65 77 2d 62 6f 75 6e 64 2d 76 61 72 73 20 62 6f 75 -vars.(append.new-bound-vars.bou
3c200 6e 64 2d 76 61 72 73 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6e 65 77 2d 62 6f nd-vars)]................[new-bo
3c220 64 69 65 73 20 28 6c 65 74 20 6c 6f 6f 70 20 28 5b 62 6f 64 69 65 73 20 28 73 79 6e 74 61 78 2d dies.(let.loop.([bodies.(syntax-
3c240 3e 6c 69 73 74 20 23 27 62 6f 64 69 65 73 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >list.#'bodies)])...............
3c260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 3f 20 27 28 29 20 28 ...............(if.(equal?.'().(
3c280 63 64 72 20 62 6f 64 69 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cdr.bodies))....................
3c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 61 6e 6e 6f 74 61 74 65 20 28 63 ..............(list.(annotate.(c
3c2c0 61 72 20 62 6f 64 69 65 73 29 20 61 6c 6c 2d 62 6f 75 6e 64 2d 76 61 72 73 20 23 74 20 6d 6f 64 ar.bodies).all-bound-vars.#t.mod
3c2e0 75 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ule-name))......................
3c300 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 61 6e 6e 6f 74 61 74 65 20 28 63 61 72 ............(cons.(annotate.(car
3c320 20 62 6f 64 69 65 73 29 20 61 6c 6c 2d 62 6f 75 6e 64 2d 76 61 72 73 20 23 66 20 6d 6f 64 75 6c .bodies).all-bound-vars.#f.modul
3c340 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-name).........................
3c360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 28 63 64 72 20 62 6f 64 69 65 73 ...............(loop.(cdr.bodies
3c380 29 29 29 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d 65 61 63 68 20 28 6c 61 6d )))))])...........(for-each.(lam
3c3a0 62 64 61 20 28 69 64 29 20 28 72 65 63 6f 72 64 2d 62 6f 75 6e 64 2d 69 64 20 27 62 69 6e 64 20 bda.(id).(record-bound-id.'bind.
3c3c0 69 64 20 69 64 29 29 20 6e 65 77 2d 62 6f 75 6e 64 2d 76 61 72 73 29 0a 20 20 20 20 20 20 20 20 id.id)).new-bound-vars).........
3c3e0 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 63 6c 61 75 73 65 0a 20 20 20 20 20 20 ..(quasisyntax/loc.clause.......
3c400 20 20 20 20 20 20 28 61 72 67 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 ......(arg-list..............(le
3c420 74 20 28 5b 64 65 62 75 67 67 65 72 2d 6c 6f 63 61 6c 2d 62 69 6e 64 69 6e 67 73 0a 20 20 20 20 t.([debugger-local-bindings.....
3c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 6c 61 6d 62 64 61 20 ................(#%plain-lambda.
3c460 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ()..............................
3c480 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 .......(#%plain-app.............
3c4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 2a 0a 20 .........................list*..
3c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c4e0 20 20 20 20 23 2c 40 28 61 73 73 65 6d 62 6c 65 2d 64 65 62 75 67 2d 69 6e 66 6f 20 6e 65 77 2d ....#,@(assemble-debug-info.new-
3c500 62 6f 75 6e 64 2d 76 61 72 73 20 6e 65 77 2d 62 6f 75 6e 64 2d 76 61 72 73 20 27 6e 6f 72 6d 61 bound-vars.new-bound-vars.'norma
3c520 6c 20 23 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l.#f)...........................
3c540 20 20 20 20 20 20 20 20 20 20 20 23 2c 28 70 72 65 76 69 6f 75 73 2d 62 69 6e 64 69 6e 67 73 20 ...........#,(previous-bindings.
3c560 62 6f 75 6e 64 2d 76 61 72 73 29 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 bound-vars)))])................#
3c580 2c 40 6e 65 77 2d 62 6f 64 69 65 73 29 29 29 29 5d 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 ,@new-bodies))))]))......(define
3c5a0 20 61 6e 6e 6f 74 61 74 65 64 0a 20 20 20 20 20 20 28 72 65 61 72 6d 0a 20 20 20 20 20 20 20 65 .annotated.......(rearm........e
3c5c0 78 70 72 0a 20 20 20 20 20 20 20 28 6b 65 72 6e 65 6c 3a 6b 65 72 6e 65 6c 2d 73 79 6e 74 61 78 xpr........(kernel:kernel-syntax
3c5e0 2d 63 61 73 65 0a 20 20 20 20 20 20 20 20 28 64 69 73 61 72 6d 20 65 78 70 72 29 20 23 66 0a 20 -case.........(disarm.expr).#f..
3c600 20 20 20 20 20 20 20 5b 76 61 72 2d 73 74 78 20 28 69 64 65 6e 74 69 66 69 65 72 3f 20 28 73 79 .......[var-stx.(identifier?.(sy
3c620 6e 74 61 78 20 76 61 72 2d 73 74 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntax.var-stx))..................
3c640 28 6c 65 74 20 28 5b 62 69 6e 64 65 72 20 28 61 6e 64 20 28 73 79 6e 74 61 78 2d 6f 72 69 67 69 (let.([binder.(and.(syntax-origi
3c660 6e 61 6c 3f 20 65 78 70 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nal?.expr)......................
3c680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 62 65 72 20 65 78 70 72 20 62 6f 75 6e ...............(member.expr.boun
3c6a0 64 2d 76 61 72 73 20 66 72 65 65 2d 69 64 65 6e 74 69 66 69 65 72 3d 3f 29 29 5d 29 0a 20 20 20 d-vars.free-identifier=?))])....
3c6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 62 69 6e 64 65 72 0a 20 20 20 20 20 ................(if.binder......
3c6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 63 6f 72 64 2d 62 6f 75 6e 64 2d ..................(record-bound-
3c700 69 64 20 27 72 65 66 20 65 78 70 72 20 28 63 61 72 20 62 69 6e 64 65 72 29 29 0a 20 20 20 20 20 id.'ref.expr.(car.binder))......
3c720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 63 6f 72 64 2d 62 6f 75 6e 64 2d ..................(record-bound-
3c740 69 64 20 27 74 6f 70 2d 6c 65 76 65 6c 20 65 78 70 72 20 65 78 70 72 29 29 0a 20 20 20 20 20 20 id.'top-level.expr.expr)).......
3c760 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 72 29 5d 0a 0a 20 20 20 20 20 20 20 20 5b 28 23 .............expr)]..........[(#
3c780 25 70 6c 61 69 6e 2d 6c 61 6d 62 64 61 20 2e 20 63 6c 61 75 73 65 29 0a 20 20 20 20 20 20 20 20 %plain-lambda...clause).........
3c7a0 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 65 78 70 72 0a 20 20 20 20 20 20 20 20 20 .(quasisyntax/loc.expr..........
3c7c0 20 20 28 23 25 70 6c 61 69 6e 2d 6c 61 6d 62 64 61 20 23 2c 40 28 6c 61 6d 62 64 61 2d 63 6c 61 ..(#%plain-lambda.#,@(lambda-cla
3c7e0 75 73 65 2d 61 6e 6e 6f 74 61 74 6f 72 20 23 27 63 6c 61 75 73 65 29 29 29 5d 0a 0a 20 20 20 20 use-annotator.#'clause)))]......
3c800 20 20 20 20 5b 28 63 61 73 65 2d 6c 61 6d 62 64 61 20 2e 20 63 6c 61 75 73 65 73 29 0a 20 20 20 ....[(case-lambda...clauses)....
3c820 20 20 20 20 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 65 78 70 72 0a 20 20 20 20 ......(quasisyntax/loc.expr.....
3c840 20 20 20 20 20 20 20 28 63 61 73 65 2d 6c 61 6d 62 64 61 20 23 2c 40 28 6d 61 70 20 6c 61 6d 62 .......(case-lambda.#,@(map.lamb
3c860 64 61 2d 63 6c 61 75 73 65 2d 61 6e 6e 6f 74 61 74 6f 72 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 da-clause-annotator.(syntax->lis
3c880 74 20 23 27 63 6c 61 75 73 65 73 29 29 29 29 5d 0a 0a 20 20 20 20 20 20 20 20 5b 28 69 66 20 74 t.#'clauses))))]..........[(if.t
3c8a0 65 73 74 20 74 68 65 6e 20 65 6c 73 65 29 0a 20 20 20 20 20 20 20 20 20 28 71 75 61 73 69 73 79 est.then.else)..........(quasisy
3c8c0 6e 74 61 78 2f 6c 6f 63 20 65 78 70 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 23 2c 28 ntax/loc.expr............(if.#,(
3c8e0 61 6e 6e 6f 74 61 74 65 20 23 27 74 65 73 74 20 62 6f 75 6e 64 2d 76 61 72 73 20 23 66 20 6d 6f annotate.#'test.bound-vars.#f.mo
3c900 64 75 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 28 61 6e 6e dule-name)................#,(ann
3c920 6f 74 61 74 65 20 23 27 74 68 65 6e 20 62 6f 75 6e 64 2d 76 61 72 73 20 69 73 2d 74 61 69 6c 3f otate.#'then.bound-vars.is-tail?
3c940 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 28 .module-name)................#,(
3c960 61 6e 6e 6f 74 61 74 65 20 23 27 65 6c 73 65 20 62 6f 75 6e 64 2d 76 61 72 73 20 69 73 2d 74 61 annotate.#'else.bound-vars.is-ta
3c980 69 6c 3f 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 29 29 5d 0a 0a 20 20 20 20 20 20 20 20 5b 28 62 il?.module-name)))]..........[(b
3c9a0 65 67 69 6e 20 2e 20 62 6f 64 69 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 72 65 63 20 egin...bodies)..........(letrec.
3c9c0 28 5b 74 72 61 76 65 72 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c ([traverse....................(l
3c9e0 61 6d 62 64 61 20 28 6c 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ambda.(lst).....................
3ca00 20 28 69 66 20 28 61 6e 64 20 28 70 61 69 72 3f 20 6c 73 74 29 20 28 65 71 75 61 6c 3f 20 27 28 .(if.(and.(pair?.lst).(equal?.'(
3ca20 29 20 28 63 64 72 20 6c 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).(cdr.lst)))...................
3ca40 20 20 20 20 20 20 20 60 28 2c 28 61 6e 6e 6f 74 61 74 65 20 28 63 61 72 20 6c 73 74 29 20 62 6f .......`(,(annotate.(car.lst).bo
3ca60 75 6e 64 2d 76 61 72 73 20 69 73 2d 74 61 69 6c 3f 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 29 0a und-vars.is-tail?.module-name)).
3ca80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 .........................(cons.(
3caa0 61 6e 6e 6f 74 61 74 65 20 28 63 61 72 20 6c 73 74 29 20 62 6f 75 6e 64 2d 76 61 72 73 20 23 66 annotate.(car.lst).bound-vars.#f
3cac0 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .module-name)...................
3cae0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 72 61 76 65 72 73 65 20 28 63 64 72 20 6c 73 74 29 .............(traverse.(cdr.lst)
3cb00 29 29 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c ))))])............(quasisyntax/l
3cb20 6f 63 20 65 78 70 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 20 23 2c 40 28 oc.expr..............(begin.#,@(
3cb40 74 72 61 76 65 72 73 65 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 23 27 62 6f 64 69 65 73 29 traverse.(syntax->list.#'bodies)
3cb60 29 29 29 29 5d 0a 0a 0a 20 20 20 20 20 20 20 20 5b 28 62 65 67 69 6e 30 20 62 6f 64 79 29 0a 20 ))))]...........[(begin0.body)..
3cb80 20 20 20 20 20 20 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 65 78 70 72 0a 20 20 ........(quasisyntax/loc.expr...
3cba0 20 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 30 20 23 2c 28 61 6e 6e 6f 74 61 74 65 20 23 27 62 .........(begin0.#,(annotate.#'b
3cbc0 6f 64 79 20 62 6f 75 6e 64 2d 76 61 72 73 20 23 74 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 29 29 ody.bound-vars.#t.module-name)))
3cbe0 5d 0a 0a 20 20 20 20 20 20 20 20 5b 28 62 65 67 69 6e 30 20 2e 20 62 6f 64 69 65 73 29 0a 20 20 ]..........[(begin0...bodies)...
3cc00 20 20 20 20 20 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 65 78 70 72 0a 20 20 20 .......(quasisyntax/loc.expr....
3cc20 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 30 20 23 2c 40 28 6d 61 70 20 28 6c 61 6d 62 64 61 20 ........(begin0.#,@(map.(lambda.
3cc40 28 65 78 70 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (expr)..........................
3cc60 20 20 20 20 28 61 6e 6e 6f 74 61 74 65 20 65 78 70 72 20 62 6f 75 6e 64 2d 76 61 72 73 20 23 66 ....(annotate.expr.bound-vars.#f
3cc80 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .module-name))..................
3cca0 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 23 27 62 6f 64 69 65 73 ..........(syntax->list.#'bodies
3ccc0 29 29 29 29 5d 0a 0a 20 20 20 20 20 20 20 20 5b 28 6c 65 74 2d 76 61 6c 75 65 73 20 2e 20 63 6c ))))]..........[(let-values...cl
3cce0 61 75 73 65 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 2f 72 65 63 2d 76 61 6c 75 65 73 2d 61 ause)..........(let/rec-values-a
3cd00 6e 6e 6f 74 61 74 6f 72 20 23 66 29 5d 0a 0a 20 20 20 20 20 20 20 20 5b 28 6c 65 74 72 65 63 2d nnotator.#f)]..........[(letrec-
3cd20 76 61 6c 75 65 73 20 2e 20 63 6c 61 75 73 65 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 2f 72 values...clause)..........(let/r
3cd40 65 63 2d 76 61 6c 75 65 73 2d 61 6e 6e 6f 74 61 74 6f 72 20 23 74 29 5d 0a 0a 20 20 20 20 20 20 ec-values-annotator.#t)]........
3cd60 20 20 5b 28 73 65 74 21 20 76 61 72 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 ..[(set!.var.val)..........(let.
3cd80 28 5b 62 69 6e 64 65 72 20 28 61 6e 64 20 28 73 79 6e 74 61 78 2d 6f 72 69 67 69 6e 61 6c 3f 20 ([binder.(and.(syntax-original?.
3cda0 23 27 76 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 #'var)..........................
3cdc0 20 20 20 28 6d 65 6d 62 65 72 20 23 27 76 61 72 20 62 6f 75 6e 64 2d 76 61 72 73 20 66 72 65 65 ...(member.#'var.bound-vars.free
3cde0 2d 69 64 65 6e 74 69 66 69 65 72 3d 3f 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 -identifier=?))])............(wh
3ce00 65 6e 20 62 69 6e 64 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 63 6f 72 64 2d 62 en.binder..............(record-b
3ce20 6f 75 6e 64 2d 69 64 20 27 73 65 74 20 65 78 70 72 20 28 63 61 72 20 62 69 6e 64 65 72 29 29 29 ound-id.'set.expr.(car.binder)))
3ce40 0a 20 20 20 20 20 20 20 20 20 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 65 78 70 ............(quasisyntax/loc.exp
3ce60 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20 76 61 72 20 23 2c 28 61 6e 6e 6f r..............(set!.var.#,(anno
3ce80 74 61 74 65 20 23 60 76 61 6c 20 62 6f 75 6e 64 2d 76 61 72 73 20 23 66 20 6d 6f 64 75 6c 65 2d tate.#`val.bound-vars.#f.module-
3cea0 6e 61 6d 65 29 29 29 29 5d 0a 0a 20 20 20 20 20 20 20 20 5b 28 71 75 6f 74 65 20 5f 29 20 65 78 name))))]..........[(quote._).ex
3cec0 70 72 5d 0a 0a 20 20 20 20 20 20 20 20 5b 28 71 75 6f 74 65 2d 73 79 6e 74 61 78 20 5f 29 20 65 pr]..........[(quote-syntax._).e
3cee0 78 70 72 5d 0a 0a 20 20 20 20 20 20 20 20 5b 28 71 75 6f 74 65 2d 73 79 6e 74 61 78 20 5f 20 23 xpr]..........[(quote-syntax._.#
3cf00 3a 6c 6f 63 61 6c 29 20 65 78 70 72 5d 0a 0a 20 20 20 20 20 20 20 20 5b 28 77 69 74 68 2d 63 6f :local).expr]..........[(with-co
3cf20 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 20 6b 65 79 20 6d 61 72 6b 20 62 6f 64 79 29 0a 20 ntinuation-mark.key.mark.body)..
3cf40 20 20 20 20 20 20 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 65 78 70 72 0a 20 20 ........(quasisyntax/loc.expr...
3cf60 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b .........(with-continuation-mark
3cf80 20 6b 65 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 28 61 6e 6e 6f 74 61 74 65 20 23 27 .key..............#,(annotate.#'
3cfa0 6d 61 72 6b 20 62 6f 75 6e 64 2d 76 61 72 73 20 23 66 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 0a mark.bound-vars.#f.module-name).
3cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 23 2c 28 61 6e 6e 6f 74 61 74 65 20 23 27 62 6f 64 79 20 .............#,(annotate.#'body.
3cfe0 62 6f 75 6e 64 2d 76 61 72 73 20 69 73 2d 74 61 69 6c 3f 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 bound-vars.is-tail?.module-name)
3d000 29 29 5d 0a 0a 20 20 20 20 20 20 20 20 5b 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 2e 20 65 78 70 ))]..........[(#%plain-app...exp
3d020 72 73 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 73 75 62 65 78 70 72 73 20 28 6d 61 rs)..........(let.([subexprs.(ma
3d040 70 20 28 6c 61 6d 62 64 61 20 28 65 78 70 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.(lambda.(expr)................
3d060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 6e 6f 74 61 74 65 20 65 78 70 72 20 .................(annotate.expr.
3d080 62 6f 75 6e 64 2d 76 61 72 73 20 23 66 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 bound-vars.#f.module-name)).....
3d0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 ..........................(synta
3d0c0 78 2d 3e 6c 69 73 74 20 23 27 65 78 70 72 73 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 x->list.#'exprs))])............(
3d0e0 69 66 20 28 6f 72 20 69 73 2d 74 61 69 6c 3f 20 28 6e 6f 74 20 28 73 79 6e 74 61 78 2d 73 6f 75 if.(or.is-tail?.(not.(syntax-sou
3d100 72 63 65 20 65 78 70 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 71 75 61 73 rce.expr)))................(quas
3d120 69 73 79 6e 74 61 78 2f 6c 6f 63 20 65 78 70 72 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 2e 20 isyntax/loc.expr.(#%plain-app...
3d140 23 2c 73 75 62 65 78 70 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 63 6d #,subexprs))................(wcm
3d160 2d 77 72 61 70 20 28 6d 61 6b 65 2d 64 65 62 75 67 2d 69 6e 66 6f 20 6d 6f 64 75 6c 65 2d 6e 61 -wrap.(make-debug-info.module-na
3d180 6d 65 20 65 78 70 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 me.expr.........................
3d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 75 6e 64 2d 76 61 72 73 20 62 6f 75 ..................bound-vars.bou
3d1c0 6e 64 2d 76 61 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nd-vars.........................
3d1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 6f 72 6d 61 6c 20 23 66 20 28 70 72 ..................'normal.#f.(pr
3d200 65 76 69 6f 75 73 2d 62 69 6e 64 69 6e 67 73 20 62 6f 75 6e 64 2d 76 61 72 73 29 29 0a 20 20 20 evious-bindings.bound-vars))....
3d220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 71 75 61 73 69 73 79 6e 74 ......................(quasisynt
3d240 61 78 2f 6c 6f 63 20 65 78 70 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ax/loc.expr.....................
3d260 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 20 2e 20 23 2c 73 75 62 65 78 70 72 73 .......(#%plain-app...#,subexprs
3d280 29 29 29 29 29 5d 0a 0a 20 20 20 20 20 20 20 20 5b 28 23 25 74 6f 70 20 2e 20 76 61 72 29 20 65 )))))]..........[(#%top...var).e
3d2a0 78 70 72 5d 0a 20 20 20 20 20 20 20 20 5b 28 23 25 76 61 72 69 61 62 6c 65 2d 72 65 66 65 72 65 xpr].........[(#%variable-refere
3d2c0 6e 63 65 20 2e 20 5f 29 20 65 78 70 72 5d 0a 0a 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 28 65 nce..._).expr]..........[else.(e
3d2e0 72 72 6f 72 20 27 65 78 70 72 2d 73 79 6e 74 61 78 2d 6f 62 6a 65 63 74 2d 69 74 65 72 61 74 6f rror.'expr-syntax-object-iterato
3d300 72 20 22 75 6e 6b 6e 6f 77 6e 20 65 78 70 72 3a 20 7e 61 22 0a 20 20 20 20 20 20 20 20 20 20 20 r."unknown.expr:.~a"............
3d320 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 3e 64 61 74 75 6d 20 65 78 70 72 29 29 5d ..........(syntax->datum.expr))]
3d340 29 29 29 0a 0a 20 20 20 20 28 69 66 20 61 6e 6e 6f 74 61 74 65 2d 62 72 65 61 6b 3f 0a 20 20 20 )))......(if.annotate-break?....
3d360 20 20 20 20 20 28 62 72 65 61 6b 2d 77 72 61 70 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d .....(break-wrap..........(make-
3d380 64 65 62 75 67 2d 69 6e 66 6f 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 20 65 78 70 72 20 62 6f 75 6e debug-info.module-name.expr.boun
3d3a0 64 2d 76 61 72 73 20 62 6f 75 6e 64 2d 76 61 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-vars.bound-vars...............
3d3c0 20 20 20 20 20 20 20 20 20 20 20 20 27 61 74 2d 62 72 65 61 6b 20 23 66 20 28 70 72 65 76 69 6f ............'at-break.#f.(previo
3d3e0 75 73 2d 62 69 6e 64 69 6e 67 73 20 62 6f 75 6e 64 2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 20 us-bindings.bound-vars))........
3d400 20 20 61 6e 6e 6f 74 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 65 78 70 72 0a 20 20 20 20 20 20 ..annotated..........expr.......
3d420 20 20 20 69 73 2d 74 61 69 6c 3f 29 0a 20 20 20 20 20 20 20 20 61 6e 6e 6f 74 61 74 65 64 29 29 ...is-tail?).........annotated))
3d440 0a 0a 20 20 28 76 61 6c 75 65 73 20 28 74 6f 70 2d 6c 65 76 65 6c 2d 61 6e 6e 6f 74 61 74 65 20 ....(values.(top-level-annotate.
3d460 73 74 78 29 20 28 68 61 73 68 2d 6d 61 70 20 62 72 65 61 6b 70 6f 69 6e 74 73 20 28 6c 61 6d 62 stx).(hash-map.breakpoints.(lamb
3d480 64 61 20 28 6b 20 76 29 20 6b 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 61 72 67 6c 69 73 74 da.(k.v).k))))..(define.(arglist
3d4a0 2d 62 69 6e 64 69 6e 67 73 20 61 72 67 6c 69 73 74 2d 73 74 78 29 0a 20 20 28 73 79 6e 74 61 78 -bindings.arglist-stx)...(syntax
3d4c0 2d 63 61 73 65 20 61 72 67 6c 69 73 74 2d 73 74 78 20 28 29 0a 20 20 20 20 5b 76 61 72 0a 20 20 -case.arglist-stx.().....[var...
3d4e0 20 20 20 28 69 64 65 6e 74 69 66 69 65 72 3f 20 61 72 67 6c 69 73 74 2d 73 74 78 29 0a 20 20 20 ...(identifier?.arglist-stx)....
3d500 20 20 28 6c 69 73 74 20 61 72 67 6c 69 73 74 2d 73 74 78 29 5d 0a 20 20 20 20 5b 28 76 61 72 20 ..(list.arglist-stx)].....[(var.
3d520 2e 2e 2e 29 0a 20 20 20 20 20 28 73 79 6e 74 61 78 2d 3e 6c 69 73 74 20 61 72 67 6c 69 73 74 2d ...)......(syntax->list.arglist-
3d540 73 74 78 29 5d 0a 20 20 20 20 5b 28 76 61 72 20 2e 20 6f 74 68 65 72 73 29 0a 20 20 20 20 20 28 stx)].....[(var...others)......(
3d560 63 6f 6e 73 20 23 27 76 61 72 20 28 61 72 67 6c 69 73 74 2d 62 69 6e 64 69 6e 67 73 20 23 27 6f cons.#'var.(arglist-bindings.#'o
3d580 74 68 65 72 73 29 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 64 69 73 61 72 6d 20 73 74 78 29 thers))]))..(define.(disarm.stx)
3d5a0 20 28 73 79 6e 74 61 78 2d 64 69 73 61 72 6d 20 73 74 78 20 63 6f 64 65 2d 69 6e 73 70 29 29 0a .(syntax-disarm.stx.code-insp)).
3d5c0 28 64 65 66 69 6e 65 20 28 72 65 61 72 6d 20 6f 6c 64 20 6e 65 77 29 20 28 73 79 6e 74 61 78 2d (define.(rearm.old.new).(syntax-
3d5e0 72 65 61 72 6d 20 6e 65 77 20 6f 6c 64 29 29 0a 0a 28 64 65 66 69 6e 65 20 63 6f 64 65 2d 69 6e rearm.new.old))..(define.code-in
3d600 73 70 20 28 76 61 72 69 61 62 6c 65 2d 72 65 66 65 72 65 6e 63 65 2d 3e 6d 6f 64 75 6c 65 2d 64 sp.(variable-reference->module-d
3d620 65 63 6c 61 72 61 74 69 6f 6e 2d 69 6e 73 70 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 eclaration-inspector............
3d640 20 20 20 20 20 20 20 20 28 23 25 76 61 72 69 61 62 6c 65 2d 72 65 66 65 72 65 6e 63 65 29 29 29 ........(#%variable-reference)))
3d660 0a 0a 3b 3b 3b 20 6d 61 72 6b 73 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 74 68 65 20 65 71 75 69 ..;;;.marks..;;.This.is.the.equi
3d680 76 61 6c 65 6e 74 20 6f 66 20 67 75 69 2d 64 65 62 75 67 67 65 72 2f 6d 61 72 6b 73 20 74 68 61 valent.of.gui-debugger/marks.tha
3d6a0 74 20 77 65 20 61 63 74 75 61 6c 6c 79 20 75 73 65 2e 0a 3b 3b 20 57 65 20 77 61 6e 74 20 74 6f t.we.actually.use..;;.We.want.to
3d6c0 20 61 76 6f 69 64 20 64 65 70 65 6e 64 65 6e 63 79 20 6f 6e 20 67 75 69 2d 64 65 62 75 67 67 65 .avoid.dependency.on.gui-debugge
3d6e0 72 2d 6c 69 62 20 62 65 63 61 75 73 65 20 69 74 20 64 65 70 65 6e 64 73 0a 3b 3b 20 6f 6e 20 72 r-lib.because.it.depends.;;.on.r
3d700 61 63 6b 65 74 2f 67 75 69 2e 0a 0a 28 64 65 66 69 6e 65 2d 73 74 72 75 63 74 20 66 75 6c 6c 2d acket/gui...(define-struct.full-
3d720 6d 61 72 6b 2d 73 74 72 75 63 74 20 28 6d 6f 64 75 6c 65 2d 6e 61 6d 65 20 73 6f 75 72 63 65 20 mark-struct.(module-name.source.
3d740 6c 61 62 65 6c 20 62 69 6e 64 69 6e 67 73 20 76 61 6c 75 65 73 29 29 0a 0a 3b 3b 20 64 65 62 75 label.bindings.values))..;;.debu
3d760 67 2d 6b 65 79 3a 20 74 68 69 73 20 6b 65 79 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 61 73 20 g-key:.this.key.will.be.used.as.
3d780 61 20 6b 65 79 20 66 6f 72 20 74 68 65 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 6d 61 72 6b 73 a.key.for.the.continuation.marks
3d7a0 2e 0a 28 64 65 66 69 6e 65 2d 73 74 72 75 63 74 20 64 65 62 75 67 2d 6b 65 79 2d 73 74 72 75 63 ..(define-struct.debug-key-struc
3d7c0 74 20 28 29 29 0a 28 64 65 66 69 6e 65 20 64 65 62 75 67 2d 6b 65 79 20 28 6d 61 6b 65 2d 64 65 t.()).(define.debug-key.(make-de
3d7e0 62 75 67 2d 6b 65 79 2d 73 74 72 75 63 74 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 61 73 73 65 6d bug-key-struct))..(define.(assem
3d800 62 6c 65 2d 64 65 62 75 67 2d 69 6e 66 6f 20 74 61 69 6c 2d 62 6f 75 6e 64 20 66 72 65 65 2d 76 ble-debug-info.tail-bound.free-v
3d820 61 72 73 20 6c 61 62 65 6c 20 6c 69 66 74 69 6e 67 3f 29 0a 20 20 28 6d 61 70 20 6d 61 6b 65 2d ars.label.lifting?)...(map.make-
3d840 6d 61 72 6b 2d 62 69 6e 64 69 6e 67 2d 73 74 78 20 66 72 65 65 2d 76 61 72 73 29 29 0a 0a 28 64 mark-binding-stx.free-vars))..(d
3d860 65 66 69 6e 65 20 28 77 63 6d 2d 77 72 61 70 20 64 65 62 75 67 2d 69 6e 66 6f 20 65 78 70 72 29 efine.(wcm-wrap.debug-info.expr)
3d880 0a 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 65 78 70 72 20 28 77 69 74 68 2d 63 ...(quasisyntax/loc.expr.(with-c
3d8a0 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 20 23 2c 64 65 62 75 67 2d 6b 65 79 20 23 2c 64 ontinuation-mark.#,debug-key.#,d
3d8c0 65 62 75 67 2d 69 6e 66 6f 20 23 2c 65 78 70 72 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 6d 61 ebug-info.#,expr)))..(define.(ma
3d8e0 6b 65 2d 64 65 62 75 67 2d 69 6e 66 6f 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 20 73 6f 75 72 63 65 ke-debug-info.module-name.source
3d900 20 74 61 69 6c 2d 62 6f 75 6e 64 20 66 72 65 65 2d 76 61 72 73 20 6c 61 62 65 6c 20 6c 69 66 74 .tail-bound.free-vars.label.lift
3d920 69 6e 67 3f 20 61 73 73 65 6d 62 6c 65 64 2d 69 6e 66 6f 2d 73 74 78 29 0a 20 20 28 6d 61 6b 65 ing?.assembled-info-stx)...(make
3d940 2d 66 75 6c 6c 2d 6d 61 72 6b 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 20 73 6f 75 72 63 65 20 6c 61 -full-mark.module-name.source.la
3d960 62 65 6c 20 66 72 65 65 2d 76 61 72 73 20 61 73 73 65 6d 62 6c 65 64 2d 69 6e 66 6f 2d 73 74 78 bel.free-vars.assembled-info-stx
3d980 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 6d 61 72 6b 2d 62 69 6e 64 69 6e 67 2d 73 ))..(define.(make-mark-binding-s
3d9a0 74 78 20 69 64 29 0a 20 20 23 60 28 63 61 73 65 2d 6c 61 6d 62 64 61 0a 20 20 20 20 20 20 5b 28 tx.id)...#`(case-lambda.......[(
3d9c0 29 20 23 2c 69 64 5d 20 3b 20 4e 6f 74 65 3a 20 60 69 64 60 20 6d 69 67 68 74 20 62 65 20 75 6e ).#,id].;.Note:.`id`.might.be.un
3d9e0 64 65 66 69 6e 65 64 3b 20 63 61 6c 6c 65 72 20 6d 75 73 74 20 63 61 74 63 68 20 65 78 63 65 70 defined;.caller.must.catch.excep
3da00 74 69 6f 6e 73 0a 20 20 20 20 20 20 5b 28 76 29 20 28 73 65 74 21 20 23 2c 69 64 20 76 29 5d 29 tions.......[(v).(set!.#,id.v)])
3da20 29 0a 0a 3b 3b 20 74 68 65 20 27 76 61 72 61 72 67 73 27 20 63 72 65 61 74 6f 72 20 69 73 20 75 )..;;.the.'varargs'.creator.is.u
3da40 73 65 64 20 74 6f 20 61 76 6f 69 64 20 61 6e 20 65 78 74 72 61 20 63 6f 6e 73 20 63 65 6c 6c 20 sed.to.avoid.an.extra.cons.cell.
3da60 69 6e 20 65 76 65 72 79 20 6d 61 72 6b 0a 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 6d 61 6b 65 in.every.mark.(define.(make-make
3da80 2d 66 75 6c 6c 2d 6d 61 72 6b 2d 76 61 72 61 72 67 73 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 20 73 -full-mark-varargs.module-name.s
3daa0 6f 75 72 63 65 20 6c 61 62 65 6c 20 62 69 6e 64 69 6e 67 73 29 0a 20 20 28 6c 61 6d 62 64 61 20 ource.label.bindings)...(lambda.
3dac0 28 76 61 6c 75 65 73 29 0a 20 20 20 20 28 6d 61 6b 65 2d 66 75 6c 6c 2d 6d 61 72 6b 2d 73 74 72 (values).....(make-full-mark-str
3dae0 75 63 74 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 20 73 6f 75 72 63 65 20 6c 61 62 65 6c 20 62 69 6e uct.module-name.source.label.bin
3db00 64 69 6e 67 73 20 76 61 6c 75 65 73 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 66 dings.values)))..(define.(make-f
3db20 75 6c 6c 2d 6d 61 72 6b 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 20 73 6f 75 72 63 65 20 6c 61 62 65 ull-mark.module-name.source.labe
3db40 6c 20 62 69 6e 64 69 6e 67 73 20 61 73 73 65 6d 62 6c 65 64 2d 69 6e 66 6f 2d 73 74 78 29 0a 20 l.bindings.assembled-info-stx)..
3db60 20 28 64 61 74 75 6d 2d 3e 73 79 6e 74 61 78 20 23 27 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 .(datum->syntax.#'here..........
3db80 20 20 20 20 20 20 20 20 60 28 23 25 70 6c 61 69 6e 2d 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 ........`(#%plain-lambda.().....
3dba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 23 25 70 6c 61 69 6e 2d 61 70 70 0a 20 20 20 20 ...............(#%plain-app.....
3dbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 6d 61 6b 65 2d 6d 61 6b 65 2d 66 75 6c 6c ................,(make-make-full
3dbe0 2d 6d 61 72 6b 2d 76 61 72 61 72 67 73 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 20 73 6f 75 72 63 65 -mark-varargs.module-name.source
3dc00 20 6c 61 62 65 6c 20 62 69 6e 64 69 6e 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .label.bindings)................
3dc20 20 20 20 20 20 2c 61 73 73 65 6d 62 6c 65 64 2d 69 6e 66 6f 2d 73 74 78 29 29 29 29 0a 0a 28 64 .....,assembled-info-stx))))..(d
3dc40 65 66 69 6e 65 20 28 6d 61 72 6b 2d 73 6f 75 72 63 65 20 6d 61 72 6b 29 0a 20 20 28 66 75 6c 6c efine.(mark-source.mark)...(full
3dc60 2d 6d 61 72 6b 2d 73 74 72 75 63 74 2d 73 6f 75 72 63 65 20 28 6d 61 72 6b 29 29 29 0a 0a 28 64 -mark-struct-source.(mark)))..(d
3dc80 65 66 69 6e 65 20 28 6d 61 72 6b 2d 62 69 6e 64 69 6e 67 73 20 6d 61 72 6b 29 0a 20 20 28 6d 61 efine.(mark-bindings.mark)...(ma
3dca0 70 20 6c 69 73 74 0a 20 20 20 20 20 20 20 28 66 75 6c 6c 2d 6d 61 72 6b 2d 73 74 72 75 63 74 2d p.list........(full-mark-struct-
3dcc0 62 69 6e 64 69 6e 67 73 20 28 6d 61 72 6b 29 29 0a 20 20 20 20 20 20 20 28 66 75 6c 6c 2d 6d 61 bindings.(mark))........(full-ma
3dce0 72 6b 2d 73 74 72 75 63 74 2d 76 61 6c 75 65 73 20 28 6d 61 72 6b 29 29 29 29 0a 00 00 00 00 00 rk-struct-values.(mark))))......
3dd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3de00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
3de20 72 61 63 6b 65 74 2f 72 65 70 6c 2d 6f 75 74 70 75 74 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 racket/repl-output.rkt..........
3de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3de60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3de80 30 30 31 34 30 34 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 30 31 34 35 00 20 30 00 00 00 0014045.00000000000.020145..0...
3dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3df00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
3df20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3df40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e000 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 32 33 20 62 79 20 47 72 65 67 20 48 65 ;;.Copyright.(c).2023.by.Greg.He
3e020 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 ndershott..;;.SPDX-License-Ident
3e040 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c 61 6e 67 20 72 ifier:.GPL-3.0-or-later..#lang.r
3e060 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 2f 61 73 79 6e acket/base..(require.racket/asyn
3e080 63 2d 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a c-channel..........racket/match.
3e0a0 20 20 20 20 20 20 20 20 20 22 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2e 72 6b 74 22 29 0a 0a 28 70 ........."repl-session.rkt")..(p
3e0c0 72 6f 76 69 64 65 20 72 65 70 6c 2d 6f 75 74 70 75 74 2d 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20 rovide.repl-output-channel......
3e0e0 20 20 20 20 72 65 70 6c 2d 6f 75 74 70 75 74 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 72 ....repl-output-error..........r
3e100 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 72 65 70 6c epl-output-message..........repl
3e120 2d 6f 75 74 70 75 74 2d 72 75 6e 0a 20 20 20 20 20 20 20 20 20 72 65 70 6c 2d 6f 75 74 70 75 74 -output-run..........repl-output
3e140 2d 70 72 6f 6d 70 74 0a 20 20 20 20 20 20 20 20 20 72 65 70 6c 2d 6f 75 74 70 75 74 2d 65 78 69 -prompt..........repl-output-exi
3e160 74 0a 20 20 20 20 20 20 20 20 20 72 65 70 6c 2d 6f 75 74 70 75 74 2d 76 61 6c 75 65 0a 20 20 20 t..........repl-output-value....
3e180 20 20 20 20 20 20 72 65 70 6c 2d 6f 75 74 70 75 74 2d 76 61 6c 75 65 2d 73 70 65 63 69 61 6c 0a ......repl-output-value-special.
3e1a0 20 20 20 20 20 20 20 20 20 6d 61 6b 65 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 6e 61 67 65 .........make-repl-output-manage
3e1c0 72 0a 20 20 20 20 20 20 20 20 20 6d 61 6b 65 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 70 6f 72 74 r..........make-repl-output-port
3e1e0 0a 20 20 20 20 20 20 20 20 20 6d 61 6b 65 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 70 6f 72 74 0a 20 ..........make-repl-error-port..
3e200 20 20 20 20 20 20 20 20 72 65 70 6c 2d 65 72 72 6f 72 2d 70 6f 72 74 3f 29 0a 0a 3b 3b 3b 20 52 ........repl-error-port?)..;;;.R
3e220 45 50 4c 20 6f 75 74 70 75 74 0a 0a 3b 3b 20 54 72 61 64 69 74 69 6f 6e 61 6c 6c 79 20 61 20 52 EPL.output..;;.Traditionally.a.R
3e240 45 50 4c 27 73 20 6f 75 74 70 75 74 20 69 73 20 61 20 68 6f 70 65 6c 65 73 73 20 6d 69 78 20 6f EPL's.output.is.a.hopeless.mix.o
3e260 66 20 74 68 69 6e 67 73 20 64 75 6d 70 65 64 0a 3b 3b 20 69 6e 74 6f 20 73 74 64 6f 75 74 20 61 f.things.dumped.;;.into.stdout.a
3e280 6e 64 20 73 74 64 65 72 72 2e 20 54 68 69 73 20 66 6f 72 63 65 73 20 61 20 63 6c 69 65 6e 74 20 nd.stderr..This.forces.a.client.
3e2a0 74 6f 20 75 73 65 20 75 6e 72 65 6c 69 61 62 6c 65 0a 3b 3b 20 72 65 67 65 78 70 73 20 69 6e 20 to.use.unreliable.;;.regexps.in.
3e2c0 61 6e 20 61 74 74 65 6d 70 74 20 74 6f 20 72 65 63 6f 76 65 72 20 74 68 65 20 6f 72 69 67 69 6e an.attempt.to.recover.the.origin
3e2e0 61 6c 20 70 69 65 63 65 73 2e 0a 3b 3b 0a 3b 3b 20 49 6e 73 74 65 61 64 20 77 65 20 77 61 6e 74 al.pieces..;;.;;.Instead.we.want
3e300 20 73 74 72 75 63 74 75 72 65 64 20 6f 75 74 70 75 74 20 2d 2d 20 64 69 73 74 69 6e 63 74 6c 79 .structured.output.--.distinctly
3e320 20 73 65 70 61 72 61 74 65 64 3a 0a 3b 3b 20 20 2d 20 63 75 72 72 65 6e 74 2d 6f 75 74 70 75 74 .separated:.;;..-.current-output
3e340 2d 70 6f 72 74 0a 3b 3b 20 20 2d 20 63 75 72 72 65 6e 74 2d 65 72 72 6f 72 2d 70 6f 72 74 0a 3b -port.;;..-.current-error-port.;
3e360 3b 20 20 2d 20 63 75 72 72 65 6e 74 2d 70 72 69 6e 74 20 76 61 6c 75 65 73 0a 3b 3b 20 20 20 20 ;..-.current-print.values.;;....
3e380 2d 20 73 74 72 69 6e 67 73 0a 3b 3b 20 20 20 20 2d 20 69 6d 61 67 65 20 66 69 6c 65 73 0a 3b 3b -.strings.;;....-.image.files.;;
3e3a0 20 20 2d 20 70 72 6f 6d 70 74 73 0a 3b 3b 20 20 2d 20 73 74 72 75 63 74 75 72 65 64 20 65 72 72 ..-.prompts.;;..-.structured.err
3e3c0 6f 72 73 20 66 72 6f 6d 20 65 72 72 6f 72 2d 64 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 0a 3b ors.from.error-display-handler.;
3e3e0 3b 20 20 2d 20 76 61 72 69 6f 75 73 20 6d 65 73 73 61 67 65 73 20 66 72 6f 6d 20 74 68 65 20 62 ;..-.various.messages.from.the.b
3e400 61 63 6b 20 65 6e 64 0a 0a 3b 3b 20 41 20 63 68 61 6e 6e 65 6c 20 66 72 6f 6d 20 77 68 69 63 68 ack.end..;;.A.channel.from.which
3e420 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2d 73 65 72 76 65 72 20 63 61 6e 20 73 79 6e 63 2e 0a 28 64 .the.command-server.can.sync..(d
3e440 65 66 69 6e 65 20 72 65 70 6c 2d 6f 75 74 70 75 74 2d 63 68 61 6e 6e 65 6c 20 28 6d 61 6b 65 2d efine.repl-output-channel.(make-
3e460 61 73 79 6e 63 2d 63 68 61 6e 6e 65 6c 29 29 0a 0a 3b 3b 20 54 68 69 73 20 6d 61 6e 61 67 65 72 async-channel))..;;.This.manager
3e480 20 74 68 72 65 61 64 20 6d 65 64 69 61 74 65 73 20 62 65 74 77 65 65 6e 20 74 68 65 20 60 72 65 .thread.mediates.between.the.`re
3e4a0 70 6c 2d 6f 75 74 70 75 74 27 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 0a 3b 3b 20 74 68 65 20 60 pl-output'.function.and.;;.the.`
3e4c0 72 65 70 6c 2d 6f 75 74 70 75 74 2d 63 68 61 6e 6e 65 6c 60 20 61 73 79 6e 63 2d 63 68 61 6e 6e repl-output-channel`.async-chann
3e4e0 65 6c 2e 20 49 74 20 73 65 65 6b 73 20 61 20 77 61 72 6d 20 62 6f 77 6c 20 6f 66 0a 3b 3b 20 70 el..It.seeks.a.warm.bowl.of.;;.p
3e500 6f 72 72 69 64 67 65 20 66 6f 72 20 74 68 65 20 6e 75 6d 62 65 72 20 61 6e 64 20 73 69 7a 65 20 orridge.for.the.number.and.size.
3e520 6f 66 20 73 74 64 6f 75 74 20 61 6e 64 20 73 74 64 65 72 72 20 6f 75 74 70 75 74 73 2e 0a 3b 3b of.stdout.and.stderr.outputs..;;
3e540 0a 3b 3b 20 2d 20 73 74 64 6f 75 74 2f 73 74 64 65 72 72 20 69 74 65 6d 73 20 6d 61 79 20 62 65 .;;.-.stdout/stderr.items.may.be
3e560 20 68 65 6c 64 20 61 77 68 69 6c 65 20 69 6e 20 63 61 73 65 20 74 68 65 20 6e 65 78 74 20 69 74 .held.awhile.in.case.the.next.it
3e580 65 6d 20 69 73 0a 3b 3b 20 74 68 65 20 73 61 6d 65 20 6b 69 6e 64 2e 20 41 20 72 75 6e 20 6f 66 em.is.;;.the.same.kind..A.run.of
3e5a0 20 63 6f 6e 73 65 63 75 74 69 76 65 20 69 74 65 6d 73 20 77 69 74 68 69 6e 20 61 20 74 69 6d 65 .consecutive.items.within.a.time
3e5c0 20 73 70 61 6e 20 61 72 65 0a 3b 3b 20 63 6f 6e 73 6f 6c 69 64 61 74 65 64 20 69 6e 74 6f 20 6f .span.are.;;.consolidated.into.o
3e5e0 6e 65 2e 0a 3b 3b 0a 3b 3b 20 2d 20 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 20 61 20 ne..;;.;;.-.On.the.other.hand.a.
3e600 76 65 72 79 20 6c 61 72 67 65 20 73 74 64 6f 75 74 2f 73 74 64 65 72 72 20 69 74 65 6d 20 69 73 very.large.stdout/stderr.item.is
3e620 20 73 70 6c 69 74 20 69 6e 74 6f 0a 3b 3b 20 6d 75 6c 74 69 70 6c 65 20 73 6d 61 6c 6c 65 72 20 .split.into.;;.multiple.smaller.
3e640 6f 6e 65 73 2e 0a 3b 3b 0a 3b 3b 20 53 6f 20 74 68 69 73 20 69 73 20 61 20 6b 69 6e 64 20 6f 66 ones..;;.;;.So.this.is.a.kind.of
3e660 20 62 75 66 66 65 72 69 6e 67 20 6f 72 20 22 62 61 74 63 68 69 6e 67 22 2c 20 62 75 74 20 75 73 .buffering.or."batching",.but.us
3e680 69 6e 67 20 61 20 74 69 6d 65 72 0a 3b 3b 20 69 6e 73 74 65 61 64 20 6f 66 20 6e 65 65 64 69 6e ing.a.timer.;;.instead.of.needin
3e6a0 67 20 65 78 70 6c 69 63 69 74 20 66 6c 75 73 68 69 6e 67 2e 20 41 74 20 74 68 65 20 73 61 6d 65 g.explicit.flushing..At.the.same
3e6c0 20 74 69 6d 65 2c 20 61 6e 79 0a 3b 3b 20 6e 6f 6e 2d 73 74 64 6f 75 74 2f 73 74 64 65 72 72 20 .time,.any.;;.non-stdout/stderr.
3e6e0 6b 69 6e 64 20 6f 66 20 6f 75 74 70 75 74 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c kind.of.output.will.automaticall
3e700 79 20 22 66 6c 75 73 68 22 2c 0a 3b 3b 20 69 6e 63 6c 75 64 69 6e 67 20 69 74 65 6d 73 20 6c 69 y."flush",.;;.including.items.li
3e720 6b 65 20 27 70 72 6f 6d 70 74 20 6f 72 20 27 72 75 6e 2c 20 73 6f 20 74 68 69 73 20 77 6f 72 6b ke.'prompt.or.'run,.so.this.work
3e740 73 20 6f 75 74 20 66 69 6e 65 20 61 73 0a 3b 3b 20 77 65 6c 6c 2e 0a 28 73 74 72 75 63 74 20 72 s.out.fine.as.;;.well..(struct.r
3e760 65 70 6c 2d 6f 75 74 70 75 74 2d 69 74 65 6d 20 28 6b 69 6e 64 20 76 61 6c 75 65 29 29 0a 28 64 epl-output-item.(kind.value)).(d
3e780 65 66 69 6e 65 20 28 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 6e 61 67 65 72 2d 74 68 72 65 efine.((repl-output-manager-thre
3e7a0 61 64 20 73 65 73 73 69 6f 6e 2d 69 64 29 29 0a 20 20 28 64 65 66 69 6e 65 20 6d 73 65 63 2d 74 ad.session-id))...(define.msec-t
3e7c0 68 72 65 73 68 6f 6c 64 20 35 30 30 29 0a 20 20 28 64 65 66 69 6e 65 20 73 69 7a 65 2d 74 68 72 hreshold.500)...(define.size-thr
3e7e0 65 73 68 6f 6c 64 20 34 30 39 36 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 28 70 75 74 2a 20 6b 69 eshold.4096)....(define.(put*.ki
3e800 6e 64 20 76 61 6c 75 65 29 0a 20 20 20 20 28 61 73 79 6e 63 2d 63 68 61 6e 6e 65 6c 2d 70 75 74 nd.value).....(async-channel-put
3e820 20 72 65 70 6c 2d 6f 75 74 70 75 74 2d 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 .repl-output-channel............
3e840 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 72 65 70 6c 2d 6f 75 74 70 75 74 20 73 ............(list.'repl-output.s
3e860 65 73 73 69 6f 6e 2d 69 64 20 6b 69 6e 64 20 76 61 6c 75 65 29 29 29 0a 20 20 28 64 65 66 69 6e ession-id.kind.value)))...(defin
3e880 65 20 28 70 75 74 20 69 74 65 6d 29 0a 20 20 20 20 28 6d 61 74 63 68 20 69 74 65 6d 0a 20 20 20 e.(put.item).....(match.item....
3e8a0 20 20 20 5b 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 69 74 65 6d 20 28 61 6e 64 20 6b 69 6e 64 20 ...[(repl-output-item.(and.kind.
3e8c0 28 6f 72 20 28 3d 3d 20 27 73 74 64 6f 75 74 29 20 28 3d 3d 20 27 73 74 64 65 72 72 29 29 29 20 (or.(==.'stdout).(==.'stderr))).
3e8e0 62 73 74 72 29 0a 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6c 65 6e 20 28 62 79 74 65 73 2d bstr)........(define.len.(bytes-
3e900 6c 65 6e 67 74 68 20 62 73 74 72 29 29 0a 20 20 20 20 20 20 20 28 66 6f 72 20 28 5b 62 65 67 20 length.bstr))........(for.([beg.
3e920 28 69 6e 2d 72 61 6e 67 65 20 30 20 6c 65 6e 20 73 69 7a 65 2d 74 68 72 65 73 68 6f 6c 64 29 5d (in-range.0.len.size-threshold)]
3e940 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 74 2a 20 6b 69 6e 64 20 28 73 75 62 62 79 74 65 73 20 )..........(put*.kind.(subbytes.
3e960 62 73 74 72 20 62 65 67 20 28 6d 69 6e 20 6c 65 6e 20 28 2b 20 62 65 67 20 73 69 7a 65 2d 74 68 bstr.beg.(min.len.(+.beg.size-th
3e980 72 65 73 68 6f 6c 64 29 29 29 29 29 5d 0a 20 20 20 20 20 20 5b 28 72 65 70 6c 2d 6f 75 74 70 75 reshold)))))].......[(repl-outpu
3e9a0 74 2d 69 74 65 6d 20 6b 69 6e 64 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 28 70 75 74 2a 20 t-item.kind.value)........(put*.
3e9c0 6b 69 6e 64 20 76 61 6c 75 65 29 5d 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 70 65 6e 64 69 6e kind.value)]))....(define.pendin
3e9e0 67 2d 69 74 65 6d 20 23 66 29 0a 20 20 28 64 65 66 69 6e 65 20 70 65 6e 64 69 6e 67 2d 66 6c 75 g-item.#f)...(define.pending-flu
3ea00 73 68 2d 61 6c 61 72 6d 2d 65 76 74 20 6e 65 76 65 72 2d 65 76 74 29 0a 0a 20 20 28 64 65 66 69 sh-alarm-evt.never-evt)....(defi
3ea20 6e 65 20 28 71 75 65 75 65 20 69 74 65 6d 29 0a 20 20 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e ne.(queue.item).....(match-defin
3ea40 65 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 69 74 65 6d 20 6b 69 6e 64 20 76 61 6c 75 65 29 20 e.(repl-output-item.kind.value).
3ea60 69 74 65 6d 29 0a 20 20 20 20 28 6d 61 74 63 68 20 70 65 6e 64 69 6e 67 2d 69 74 65 6d 0a 20 20 item).....(match.pending-item...
3ea80 20 20 20 20 3b 3b 20 4e 6f 20 70 65 6e 64 69 6e 67 20 69 74 65 6d 2e 20 57 68 65 6e 20 74 68 65 ....;;.No.pending.item..When.the
3eaa0 20 6e 65 77 20 69 74 65 6d 20 69 73 20 73 74 64 6f 75 74 20 6f 72 20 73 74 64 65 72 72 2c 20 61 .new.item.is.stdout.or.stderr,.a
3eac0 6e 64 0a 20 20 20 20 20 20 3b 3b 20 64 6f 65 73 6e 27 74 20 61 6c 72 65 61 64 79 20 65 78 63 65 nd.......;;.doesn't.already.exce
3eae0 65 64 20 74 68 65 20 73 69 7a 65 2d 74 68 72 65 73 68 6f 6c 64 2c 20 73 65 74 20 69 74 20 61 73 ed.the.size-threshold,.set.it.as
3eb00 20 74 68 65 0a 20 20 20 20 20 20 3b 3b 20 70 65 6e 64 69 6e 67 20 69 74 65 6d 20 61 6e 64 20 73 .the.......;;.pending.item.and.s
3eb20 74 61 72 74 20 6f 75 72 20 63 6f 75 6e 74 64 6f 77 6e 2e 0a 20 20 20 20 20 20 5b 23 66 0a 20 20 tart.our.countdown........[#f...
3eb40 20 20 20 20 20 23 3a 77 68 65 6e 20 28 61 6e 64 20 28 6d 65 6d 71 20 6b 69 6e 64 20 27 28 73 74 .....#:when.(and.(memq.kind.'(st
3eb60 64 6f 75 74 20 73 74 64 65 72 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dout.stderr))...................
3eb80 20 28 3c 20 28 62 79 74 65 73 2d 6c 65 6e 67 74 68 20 76 61 6c 75 65 29 20 73 69 7a 65 2d 74 68 .(<.(bytes-length.value).size-th
3eba0 72 65 73 68 6f 6c 64 29 29 0a 20 20 20 20 20 20 20 28 73 65 74 21 20 70 65 6e 64 69 6e 67 2d 69 reshold))........(set!.pending-i
3ebc0 74 65 6d 20 69 74 65 6d 29 0a 20 20 20 20 20 20 20 28 73 65 74 21 20 70 65 6e 64 69 6e 67 2d 66 tem.item)........(set!.pending-f
3ebe0 6c 75 73 68 2d 61 6c 61 72 6d 2d 65 76 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6c 61 lush-alarm-evt..............(ala
3ec00 72 6d 2d 65 76 74 20 28 2b 20 28 63 75 72 72 65 6e 74 2d 69 6e 65 78 61 63 74 2d 6d 69 6c 6c 69 rm-evt.(+.(current-inexact-milli
3ec20 73 65 63 6f 6e 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 seconds)........................
3ec40 20 20 20 20 6d 73 65 63 2d 74 68 72 65 73 68 6f 6c 64 29 29 29 5d 0a 20 20 20 20 20 20 3b 3b 20 ....msec-threshold)))].......;;.
3ec60 4e 6f 20 70 65 6e 64 69 6e 67 20 69 74 65 6d 2e 20 4a 75 73 74 20 73 65 6e 64 20 6e 65 77 20 69 No.pending.item..Just.send.new.i
3ec80 74 65 6d 20 6e 6f 77 2e 0a 20 20 20 20 20 20 5b 23 66 0a 20 20 20 20 20 20 20 28 70 75 74 20 69 tem.now........[#f........(put.i
3eca0 74 65 6d 29 5d 0a 20 20 20 20 20 20 3b 3b 20 54 68 65 72 65 27 73 20 61 20 70 65 6e 64 69 6e 67 tem)].......;;.There's.a.pending
3ecc0 20 69 74 65 6d 2e 20 4e 65 77 20 69 74 65 6d 20 69 73 20 73 61 6d 65 20 6b 69 6e 64 2e 20 57 68 .item..New.item.is.same.kind..Wh
3ece0 65 6e 20 61 70 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 3b 3b 20 74 68 65 69 72 20 76 61 6c 75 en.appending.......;;.their.valu
3ed00 65 73 20 69 73 20 75 6e 64 65 72 20 74 68 65 20 73 69 7a 65 2d 74 68 72 65 73 68 6f 6c 64 2c 20 es.is.under.the.size-threshold,.
3ed20 63 6f 6d 62 69 6e 65 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 5b 28 72 65 70 6c 2d 6f 75 74 70 75 combine.them........[(repl-outpu
3ed40 74 2d 69 74 65 6d 20 28 3d 3d 20 6b 69 6e 64 29 20 70 65 6e 64 69 6e 67 2d 76 61 6c 75 65 29 0a t-item.(==.kind).pending-value).
3ed60 20 20 20 20 20 20 20 23 3a 77 68 65 6e 20 28 3c 20 28 2b 20 28 62 79 74 65 73 2d 6c 65 6e 67 74 .......#:when.(<.(+.(bytes-lengt
3ed80 68 20 70 65 6e 64 69 6e 67 2d 76 61 6c 75 65 29 20 28 62 79 74 65 73 2d 6c 65 6e 67 74 68 20 76 h.pending-value).(bytes-length.v
3eda0 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 2d 74 68 72 alue))..................size-thr
3edc0 65 73 68 6f 6c 64 29 0a 20 20 20 20 20 20 20 28 73 65 74 21 20 70 65 6e 64 69 6e 67 2d 69 74 65 eshold)........(set!.pending-ite
3ede0 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 69 74 65 6d m..............(repl-output-item
3ee00 20 6b 69 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .kind...........................
3ee20 20 20 20 20 20 28 62 79 74 65 73 2d 61 70 70 65 6e 64 20 70 65 6e 64 69 6e 67 2d 76 61 6c 75 65 .....(bytes-append.pending-value
3ee40 20 76 61 6c 75 65 29 29 29 5d 0a 20 20 20 20 20 20 3b 3b 20 54 68 65 72 65 27 73 20 61 20 70 65 .value)))].......;;.There's.a.pe
3ee60 6e 64 69 6e 67 20 69 74 65 6d 2e 20 53 65 6e 64 20 69 74 20 74 68 65 6e 20 74 68 65 20 6e 65 77 nding.item..Send.it.then.the.new
3ee80 20 69 74 65 6d 2c 20 6e 6f 77 2e 0a 20 20 20 20 20 20 5b 28 3f 20 72 65 70 6c 2d 6f 75 74 70 75 .item,.now........[(?.repl-outpu
3eea0 74 2d 69 74 65 6d 3f 29 0a 20 20 20 20 20 20 20 28 66 6c 75 73 68 2d 70 65 6e 64 69 6e 67 29 0a t-item?)........(flush-pending).
3eec0 20 20 20 20 20 20 20 28 70 75 74 20 69 74 65 6d 29 5d 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 .......(put.item)]))....(define.
3eee0 28 66 6c 75 73 68 2d 70 65 6e 64 69 6e 67 29 0a 20 20 20 20 28 77 68 65 6e 20 70 65 6e 64 69 6e (flush-pending).....(when.pendin
3ef00 67 2d 69 74 65 6d 0a 20 20 20 20 20 20 28 70 75 74 20 70 65 6e 64 69 6e 67 2d 69 74 65 6d 29 0a g-item.......(put.pending-item).
3ef20 20 20 20 20 20 20 28 73 65 74 21 20 70 65 6e 64 69 6e 67 2d 69 74 65 6d 20 23 66 29 29 0a 20 20 ......(set!.pending-item.#f))...
3ef40 20 20 28 73 65 74 21 20 70 65 6e 64 69 6e 67 2d 66 6c 75 73 68 2d 61 6c 61 72 6d 2d 65 76 74 20 ..(set!.pending-flush-alarm-evt.
3ef60 6e 65 76 65 72 2d 65 76 74 29 29 0a 0a 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 29 0a 20 20 20 20 never-evt))....(let.loop.().....
3ef80 28 73 79 6e 63 20 28 68 61 6e 64 6c 65 2d 65 76 74 20 28 74 68 72 65 61 64 2d 72 65 63 65 69 76 (sync.(handle-evt.(thread-receiv
3efa0 65 2d 65 76 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb e-evt).......................(..
3efc0 20 28 5f 65 76 74 29 20 28 71 75 65 75 65 20 28 74 68 72 65 61 64 2d 72 65 63 65 69 76 65 29 29 .(_evt).(queue.(thread-receive))
3efe0 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 68 61 6e 64 6c 65 2d 65 76 74 20 70 65 6e 64 69 6e 67 ))...........(handle-evt.pending
3f000 2d 66 6c 75 73 68 2d 61 6c 61 72 6d 2d 65 76 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -flush-alarm-evt................
3f020 20 20 20 20 20 20 20 28 ce bb 20 28 5f 65 76 74 29 20 28 66 6c 75 73 68 2d 70 65 6e 64 69 6e 67 .......(...(_evt).(flush-pending
3f040 29 29 29 29 0a 20 20 20 20 28 6c 6f 6f 70 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 )))).....(loop)))..(define.(make
3f060 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 6e 61 67 65 72 20 73 65 73 73 69 6f 6e 2d 69 64 29 -repl-output-manager.session-id)
3f080 0a 20 20 28 74 68 72 65 61 64 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 6e 61 67 65 72 2d ...(thread.(repl-output-manager-
3f0a0 74 68 72 65 61 64 20 73 65 73 73 69 6f 6e 2d 69 64 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 72 thread.session-id)))..(define.(r
3f0c0 65 70 6c 2d 6f 75 74 70 75 74 20 6b 69 6e 64 20 76 61 6c 75 65 29 0a 20 20 28 64 65 66 69 6e 65 epl-output.kind.value)...(define
3f0e0 20 74 20 28 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 6e 61 67 65 72 29 .t.(current-repl-output-manager)
3f100 29 0a 20 20 28 77 68 65 6e 20 74 0a 20 20 20 20 28 74 68 72 65 61 64 2d 73 65 6e 64 20 74 0a 20 )...(when.t.....(thread-send.t..
3f120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 69 74 65 ................(repl-output-ite
3f140 6d 20 6b 69 6e 64 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 m.kind.value)..................v
3f160 6f 69 64 29 29 29 0a 0a 3b 3b 20 56 61 72 69 6f 75 73 20 77 72 61 70 70 65 72 73 20 61 72 6f 75 oid)))..;;.Various.wrappers.arou
3f180 6e 64 20 72 65 70 6c 2d 6f 75 74 70 75 74 3a 0a 0a 3b 3b 20 54 6f 20 62 65 20 63 61 6c 6c 65 64 nd.repl-output:..;;.To.be.called
3f1a0 20 66 72 6f 6d 20 74 68 65 20 65 72 72 6f 72 2d 64 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 2e .from.the.error-display-handler.
3f1c0 20 49 6e 73 74 65 61 64 20 6f 66 20 72 61 77 20 74 65 78 74 2c 0a 3b 3b 20 60 76 60 20 6d 61 79 .Instead.of.raw.text,.;;.`v`.may
3f1e0 20 62 65 20 61 6e 79 20 73 74 72 75 63 74 75 72 65 64 20 64 61 74 61 20 74 68 61 74 20 65 6c 69 .be.any.structured.data.that.eli
3f200 73 70 2d 77 72 69 74 65 20 63 61 6e 20 68 61 6e 64 6c 65 2e 20 41 73 20 6c 6f 6e 67 0a 3b 3b 20 sp-write.can.handle..As.long.;;.
3f220 61 73 20 74 68 65 20 66 72 6f 6e 74 20 65 6e 64 20 75 6e 64 65 72 73 74 61 6e 64 73 20 74 68 65 as.the.front.end.understands.the
3f240 20 73 74 72 75 63 74 75 72 65 2c 20 68 65 72 65 20 77 65 20 64 6f 6e 27 74 20 63 61 72 65 2e 0a .structure,.here.we.don't.care..
3f260 28 64 65 66 69 6e 65 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 65 72 72 6f 72 20 76 29 0a 20 20 (define.(repl-output-error.v)...
3f280 28 72 65 70 6c 2d 6f 75 74 70 75 74 20 27 65 72 72 6f 72 20 76 29 29 0a 0a 3b 3b 20 52 65 70 6c (repl-output.'error.v))..;;.Repl
3f2a0 61 63 65 6d 65 6e 74 20 66 6f 72 20 74 68 65 20 6f 6c 64 20 60 64 69 73 70 6c 61 79 2d 63 6f 6d acement.for.the.old.`display-com
3f2c0 6d 65 6e 74 65 64 60 3a 20 4d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 20 6d 65 73 73 61 67 65 73 0a mented`:.Miscellaneous.messages.
3f2e0 3b 3b 20 66 72 6f 6d 20 74 68 69 73 20 62 61 63 6b 20 65 6e 64 2c 20 61 73 20 6f 70 70 6f 73 65 ;;.from.this.back.end,.as.oppose
3f300 64 20 74 6f 20 66 72 6f 6d 20 52 61 63 6b 65 74 20 6f 72 20 66 72 6f 6d 20 74 68 65 20 75 73 65 d.to.from.Racket.or.from.the.use
3f320 72 0a 3b 3b 20 70 72 6f 67 72 61 6d 2e 0a 28 64 65 66 69 6e 65 20 28 72 65 70 6c 2d 6f 75 74 70 r.;;.program..(define.(repl-outp
3f340 75 74 2d 6d 65 73 73 61 67 65 20 76 29 0a 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 20 27 6d 65 ut-message.v)...(repl-output.'me
3f360 73 73 61 67 65 20 76 29 29 0a 0a 3b 3b 20 54 6f 20 62 65 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 ssage.v))..;;.To.be.called.from.
3f380 67 65 74 2d 69 6e 74 65 72 61 63 74 69 6f 6e 2c 20 69 2e 65 2e 20 22 64 69 73 70 6c 61 79 2d 70 get-interaction,.i.e.."display-p
3f3a0 72 6f 6d 70 74 22 2e 0a 28 64 65 66 69 6e 65 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 70 72 6f rompt"..(define.(repl-output-pro
3f3c0 6d 70 74 20 76 29 0a 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 20 27 70 72 6f 6d 70 74 20 76 29 mpt.v)...(repl-output.'prompt.v)
3f3e0 29 0a 0a 28 64 65 66 69 6e 65 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 72 75 6e 20 76 29 0a 20 )..(define.(repl-output-run.v)..
3f400 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 20 27 72 75 6e 20 76 29 29 0a 0a 28 64 65 66 69 6e 65 20 .(repl-output.'run.v))..(define.
3f420 28 72 65 70 6c 2d 6f 75 74 70 75 74 2d 65 78 69 74 29 0a 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 (repl-output-exit)...(repl-outpu
3f440 74 20 27 65 78 69 74 20 22 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 65 6e 64 65 64 22 29 29 0a 0a t.'exit."REPL.session.ended"))..
3f460 3b 3b 20 46 6f 72 20 63 75 72 72 65 6e 74 2d 70 72 69 6e 74 0a 28 64 65 66 69 6e 65 20 28 72 65 ;;.For.current-print.(define.(re
3f480 70 6c 2d 6f 75 74 70 75 74 2d 76 61 6c 75 65 20 76 29 0a 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 pl-output-value.v)...(repl-outpu
3f4a0 74 20 27 76 61 6c 75 65 20 76 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 72 65 70 6c 2d 6f 75 74 70 t.'value.v))..(define.(repl-outp
3f4c0 75 74 2d 76 61 6c 75 65 2d 73 70 65 63 69 61 6c 20 76 29 0a 20 20 28 72 65 70 6c 2d 6f 75 74 70 ut-value-special.v)...(repl-outp
3f4e0 75 74 20 27 76 61 6c 75 65 2d 73 70 65 63 69 61 6c 20 76 29 29 0a 0a 3b 3b 20 4f 75 74 70 75 74 ut.'value-special.v))..;;.Output
3f500 20 70 6f 72 74 20 77 72 61 70 70 65 72 73 20 61 72 6f 75 6e 64 20 72 65 70 6c 2d 6f 75 74 70 75 .port.wrappers.around.repl-outpu
3f520 74 3a 0a 0a 3b 3b 20 54 75 63 6b 20 74 68 65 20 70 6f 72 74 20 69 6e 20 61 20 73 74 72 75 63 74 t:..;;.Tuck.the.port.in.a.struct
3f540 20 6a 75 73 74 20 66 6f 72 20 61 20 73 69 6d 70 6c 65 2c 20 72 65 6c 69 61 62 6c 65 0a 3b 3b 20 .just.for.a.simple,.reliable.;;.
3f560 72 65 70 6c 2d 65 72 72 6f 72 2d 70 6f 72 74 3f 20 70 72 65 64 69 63 61 74 65 2e 0a 28 73 74 72 repl-error-port?.predicate..(str
3f580 75 63 74 20 72 65 70 6c 2d 65 72 72 6f 72 2d 70 6f 72 74 20 28 70 29 0a 20 20 23 3a 70 72 6f 70 uct.repl-error-port.(p)...#:prop
3f5a0 65 72 74 79 20 70 72 6f 70 3a 6f 75 74 70 75 74 2d 70 6f 72 74 20 30 29 0a 28 64 65 66 69 6e 65 erty.prop:output-port.0).(define
3f5c0 20 28 6d 61 6b 65 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 70 6f 72 74 29 0a 20 20 28 72 65 70 6c 2d .(make-repl-error-port)...(repl-
3f5e0 65 72 72 6f 72 2d 70 6f 72 74 20 28 6d 61 6b 65 2d 72 65 70 6c 2d 70 6f 72 74 20 27 73 74 64 65 error-port.(make-repl-port.'stde
3f600 72 72 29 29 29 0a 0a 3b 3b 20 41 6e 64 20 64 6f 20 73 61 6d 65 20 66 6f 72 20 74 68 69 73 2c 20 rr)))..;;.And.do.same.for.this,.
3f620 6a 75 73 74 20 66 6f 72 20 63 6f 6e 69 73 74 65 6e 63 79 2e 0a 28 73 74 72 75 63 74 20 72 65 70 just.for.conistency..(struct.rep
3f640 6c 2d 6f 75 74 70 75 74 2d 70 6f 72 74 20 28 70 29 0a 20 20 23 3a 70 72 6f 70 65 72 74 79 20 70 l-output-port.(p)...#:property.p
3f660 72 6f 70 3a 6f 75 74 70 75 74 2d 70 6f 72 74 20 30 29 0a 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 rop:output-port.0).(define.(make
3f680 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 70 6f 72 74 29 0a 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 -repl-output-port)...(repl-outpu
3f6a0 74 2d 70 6f 72 74 20 28 6d 61 6b 65 2d 72 65 70 6c 2d 70 6f 72 74 20 27 73 74 64 6f 75 74 29 29 t-port.(make-repl-port.'stdout))
3f6c0 29 0a 0a 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 72 65 70 6c 2d 70 6f 72 74 20 6b 69 6e 64 29 )..(define.(make-repl-port.kind)
3f6e0 0a 20 20 28 64 65 66 69 6e 65 20 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 72 61 63 6b 65 74 2d ...(define.name.(format."racket-
3f700 6d 6f 64 65 2d 72 65 70 6c 2d 7e 61 22 20 6b 69 6e 64 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28 mode-repl-~a".kind))...(define.(
3f720 77 72 69 74 65 2d 6f 75 74 20 62 73 74 72 20 73 74 61 72 74 20 65 6e 64 20 6e 6f 6e 2d 62 6c 6f write-out.bstr.start.end.non-blo
3f740 63 6b 3f 20 62 72 65 61 6b 61 62 6c 65 3f 29 0a 20 20 20 20 28 72 65 70 6c 2d 6f 75 74 70 75 74 ck?.breakable?).....(repl-output
3f760 20 6b 69 6e 64 20 28 73 75 62 62 79 74 65 73 20 62 73 74 72 20 73 74 61 72 74 20 65 6e 64 29 29 .kind.(subbytes.bstr.start.end))
3f780 0a 20 20 20 20 28 2d 20 65 6e 64 20 73 74 61 72 74 29 29 0a 20 20 28 64 65 66 69 6e 65 20 63 6c .....(-.end.start))...(define.cl
3f7a0 6f 73 65 20 76 6f 69 64 29 0a 20 20 28 6d 61 6b 65 2d 6f 75 74 70 75 74 2d 70 6f 72 74 20 6e 61 ose.void)...(make-output-port.na
3f7c0 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 6c 2d 6f 75 74 70 me.....................repl-outp
3f7e0 75 74 2d 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 ut-channel.....................w
3f800 72 69 74 65 2d 6f 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f rite-out.....................clo
3f820 73 65 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 se))............................
3f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fa00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
3fa20 72 61 63 6b 65 74 2f 73 74 61 63 6b 2d 63 68 65 63 6b 70 6f 69 6e 74 2e 72 6b 74 00 00 00 00 00 racket/stack-checkpoint.rkt.....
3fa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fa60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3fa80 30 30 30 33 36 34 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 31 31 30 35 00 20 30 00 00 00 0003647.00000000000.021105..0...
3faa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fb00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
3fb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fc00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
3fc20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
3fc40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
3fc60 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
3fc80 2f 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 /list..........racket/match.....
3fca0 20 20 20 20 20 73 79 6e 74 61 78 2f 70 61 72 73 65 2f 64 65 66 69 6e 65 29 0a 0a 28 70 72 6f 76 .....syntax/parse/define)..(prov
3fcc0 69 64 65 20 77 69 74 68 2d 73 74 61 63 6b 2d 63 68 65 63 6b 70 6f 69 6e 74 0a 20 20 20 20 20 20 ide.with-stack-checkpoint.......
3fce0 20 20 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 73 65 74 2d 3e 74 72 69 6d 6d 65 ...continuation-mark-set->trimme
3fd00 64 2d 63 6f 6e 74 65 78 74 29 0a 0a 3b 3b 3b 20 49 6e 73 70 69 72 65 64 20 62 79 20 64 72 72 61 d-context)..;;;.Inspired.by.drra
3fd20 63 6b 65 74 2f 70 72 69 76 61 74 65 2f 73 74 61 63 6b 2d 63 68 65 63 6b 70 6f 69 6e 74 2e 72 6b cket/private/stack-checkpoint.rk
3fd40 74 2e 0a 0a 3b 3b 20 52 75 6e 20 61 20 74 68 75 6e 6b 2c 20 61 6e 64 20 69 66 20 61 6e 20 65 78 t...;;.Run.a.thunk,.and.if.an.ex
3fd60 63 65 70 74 69 6f 6e 20 69 73 20 72 61 69 73 65 64 2c 20 6d 61 6b 65 20 69 74 20 70 6f 73 73 69 ception.is.raised,.make.it.possi
3fd80 62 6c 65 20 74 6f 0a 3b 3b 20 74 72 69 6d 20 74 68 65 20 73 74 61 63 6b 20 73 6f 20 74 68 61 74 ble.to.;;.trim.the.stack.so.that
3fda0 20 74 68 65 20 73 75 72 72 6f 75 6e 64 69 6e 67 20 63 6f 6e 74 65 78 74 20 69 73 20 68 69 64 64 .the.surrounding.context.is.hidd
3fdc0 65 6e 0a 28 64 65 66 69 6e 65 20 63 68 65 63 6b 70 6f 69 6e 74 73 20 28 6d 61 6b 65 2d 77 65 61 en.(define.checkpoints.(make-wea
3fde0 6b 2d 68 61 73 68 65 71 29 29 0a 28 64 65 66 69 6e 65 20 28 63 61 6c 6c 2d 77 69 74 68 2d 73 74 k-hasheq)).(define.(call-with-st
3fe00 61 63 6b 2d 63 68 65 63 6b 70 6f 69 6e 74 20 74 68 75 6e 6b 29 0a 20 20 28 64 65 66 69 6e 65 20 ack-checkpoint.thunk)...(define.
3fe20 63 68 65 63 6b 70 6f 69 6e 74 20 23 66 29 0a 20 20 28 63 61 6c 6c 2d 77 69 74 68 2d 65 78 63 65 checkpoint.#f)...(call-with-exce
3fe40 70 74 69 6f 6e 2d 68 61 6e 64 6c 65 72 0a 20 20 20 28 ce bb 20 28 65 78 6e 29 0a 20 20 20 20 20 ption-handler....(...(exn)......
3fe60 28 77 68 65 6e 20 63 68 65 63 6b 70 6f 69 6e 74 20 3b 20 6a 75 73 74 20 69 6e 20 63 61 73 65 20 (when.checkpoint.;.just.in.case.
3fe80 74 68 65 72 65 27 73 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 62 65 66 6f 72 65 20 69 74 27 73 there's.an.exception.before.it's
3fea0 20 73 65 74 0a 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 6b 65 79 20 28 69 66 20 28 65 78 6e .set........(define.key.(if.(exn
3fec0 3f 20 65 78 6e 29 20 28 65 78 6e 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 73 20 65 ?.exn).(exn-continuation-marks.e
3fee0 78 6e 29 20 65 78 6e 29 29 0a 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 68 61 73 68 2d 68 xn).exn))........(unless.(hash-h
3ff00 61 73 2d 6b 65 79 3f 20 63 68 65 63 6b 70 6f 69 6e 74 73 20 6b 65 79 29 0a 20 20 20 20 20 20 20 as-key?.checkpoints.key)........
3ff20 20 20 28 68 61 73 68 2d 73 65 74 21 20 63 68 65 63 6b 70 6f 69 6e 74 73 20 6b 65 79 20 63 68 65 ..(hash-set!.checkpoints.key.che
3ff40 63 6b 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 65 78 6e 29 0a 20 20 20 28 ce bb 20 28 29 0a 20 ckpoint)))......exn)....(...()..
3ff60 20 20 20 20 28 73 65 74 21 20 63 68 65 63 6b 70 6f 69 6e 74 20 28 63 75 72 72 65 6e 74 2d 63 6f ....(set!.checkpoint.(current-co
3ff80 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 73 29 29 0a 20 20 20 20 20 28 74 68 75 6e 6b 29 29 ntinuation-marks))......(thunk))
3ffa0 29 29 0a 0a 28 64 65 66 69 6e 65 2d 73 69 6d 70 6c 65 2d 6d 61 63 72 6f 20 28 77 69 74 68 2d 73 ))..(define-simple-macro.(with-s
3ffc0 74 61 63 6b 2d 63 68 65 63 6b 70 6f 69 6e 74 20 65 3a 65 78 70 72 20 2e 2e 2e 2b 29 0a 20 20 28 tack-checkpoint.e:expr....+)...(
3ffe0 63 61 6c 6c 2d 77 69 74 68 2d 73 74 61 63 6b 2d 63 68 65 63 6b 70 6f 69 6e 74 20 28 ce bb 20 28 call-with-stack-checkpoint.(...(
40000 29 20 65 20 2e 2e 2e 29 29 29 0a 0a 3b 3b 20 4c 69 6b 65 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e ).e....)))..;;.Like.continuation
40020 2d 6d 61 72 6b 2d 73 65 74 2d 3e 63 6f 6e 74 65 78 74 2c 20 62 75 74 20 74 72 69 6d 73 20 61 6e -mark-set->context,.but.trims.an
40040 79 20 74 61 69 6c 20 72 65 67 69 73 74 65 72 65 64 0a 3b 3b 20 61 73 20 61 20 63 68 65 63 6b 70 y.tail.registered.;;.as.a.checkp
40060 6f 69 6e 74 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 72 65 6d 6f 76 69 6e 67 20 69 74 65 6d 73 20 oint,.as.well.as.removing.items.
40080 6c 61 63 6b 69 6e 67 20 73 72 63 6c 6f 63 2e 0a 28 64 65 66 69 6e 65 20 28 63 6f 6e 74 69 6e 75 lacking.srcloc..(define.(continu
400a0 61 74 69 6f 6e 2d 6d 61 72 6b 2d 73 65 74 2d 3e 74 72 69 6d 6d 65 64 2d 63 6f 6e 74 65 78 74 20 ation-mark-set->trimmed-context.
400c0 63 6d 73 29 0a 20 20 28 64 65 66 69 6e 65 20 73 74 61 63 6b 20 28 63 6f 6e 74 69 6e 75 61 74 69 cms)...(define.stack.(continuati
400e0 6f 6e 2d 6d 61 72 6b 2d 73 65 74 2d 3e 63 6f 6e 74 65 78 74 20 63 6d 73 29 29 0a 20 20 28 66 69 on-mark-set->context.cms))...(fi
40100 6c 74 65 72 0a 20 20 20 63 64 72 20 3b 6f 6e 6c 79 20 6e 6f 6e 2d 23 66 20 73 72 63 6c 6f 63 0a lter....cdr.;only.non-#f.srcloc.
40120 20 20 20 28 6d 61 74 63 68 20 28 68 61 73 68 2d 72 65 66 20 63 68 65 63 6b 70 6f 69 6e 74 73 20 ...(match.(hash-ref.checkpoints.
40140 63 6d 73 20 23 66 29 0a 20 20 20 20 20 5b 28 3f 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 cms.#f)......[(?.continuation-ma
40160 72 6b 2d 73 65 74 3f 20 76 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 63 68 65 63 6b 70 6f rk-set?.v).......(define.checkpo
40180 69 6e 74 20 28 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 73 65 74 2d 3e 63 6f 6e 74 int.(continuation-mark-set->cont
401a0 65 78 74 20 76 29 29 0a 20 20 20 20 20 20 3b 3b 20 54 6f 20 64 72 6f 70 20 74 68 65 20 63 6f 6d ext.v)).......;;.To.drop.the.com
401c0 6d 6f 6e 20 74 61 69 6c 2c 20 72 65 76 65 72 73 65 20 62 6f 74 68 20 61 6e 64 20 75 73 65 20 64 mon.tail,.reverse.both.and.use.d
401e0 72 6f 70 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 2e 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 rop-common-prefix........(define
40200 2d 76 61 6c 75 65 73 20 28 74 72 69 6d 6d 65 64 20 5f 29 20 28 64 72 6f 70 2d 63 6f 6d 6d 6f 6e -values.(trimmed._).(drop-common
40220 2d 70 72 65 66 69 78 20 28 72 65 76 65 72 73 65 20 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 -prefix.(reverse.stack).........
40240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
40260 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 76 65 72 73 65 20 63 68 65 63 6b 70 6f 69 6e 74 .............(reverse.checkpoint
40280 29 29 29 0a 20 20 20 20 20 20 28 6d 61 74 63 68 20 74 72 69 6d 6d 65 64 0a 20 20 20 20 20 20 20 ))).......(match.trimmed........
402a0 20 3b 3b 20 54 68 65 20 6d 61 72 6b 20 66 6f 72 20 63 61 6c 6c 2d 77 69 74 68 2d 73 74 61 63 6b .;;.The.mark.for.call-with-stack
402c0 2d 63 68 65 63 6b 70 6f 69 6e 74 20 69 73 20 74 68 65 20 68 65 61 64 3b 20 69 67 6e 6f 72 65 0a -checkpoint.is.the.head;.ignore.
402e0 20 20 20 20 20 20 20 20 3b 3b 20 69 74 2e 20 52 65 76 65 72 73 65 20 74 68 65 20 72 65 6d 61 69 ........;;.it..Reverse.the.remai
40300 6e 64 65 72 20 62 61 63 6b 20 74 6f 20 73 74 61 63 6b 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 20 nder.back.to.stack.order........
40320 20 20 5b 28 63 6f 6e 73 20 5f 20 78 73 29 20 28 72 65 76 65 72 73 65 20 78 73 29 5d 0a 20 20 20 ..[(cons._.xs).(reverse.xs)]....
40340 20 20 20 20 20 3b 3b 20 43 61 6e 20 68 61 70 70 65 6e 20 77 69 74 68 20 52 61 63 6b 65 74 20 3c .....;;.Can.happen.with.Racket.<
40360 20 37 2e 30 20 61 6e 64 20 64 65 62 75 67 67 65 72 20 52 45 50 4c 2e 0a 20 20 20 20 20 20 20 20 .7.0.and.debugger.REPL..........
40380 5b 5f 20 20 20 20 20 20 20 20 20 20 20 27 28 29 5d 29 5d 0a 20 20 20 20 20 5b 23 66 20 73 74 61 [_...........'()])]......[#f.sta
403a0 63 6b 5d 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ck])))..........................
403c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
403e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40400 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
40420 72 61 63 6b 65 74 2f 63 6f 6d 6d 61 6e 64 73 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/commands/................
40440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40460 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
40480 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 37 32 30 00 20 35 00 00 00 0000000.00000000000.016720..5...
404a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
404c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
404e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
40520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
40540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
405a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
405c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
405e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40600 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
40620 72 61 63 6b 65 74 2f 63 6f 6d 6d 61 6e 64 73 2f 6d 61 63 72 6f 2e 72 6b 74 00 00 00 00 00 00 00 racket/commands/macro.rkt.......
40640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
40680 30 30 31 33 33 33 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 30 35 34 33 00 20 30 00 00 00 0013330.00000000000.020543..0...
406a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
406c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
406e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
40720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
40740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
407a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
407c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
407e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40800 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
40820 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
40840 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
40860 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 28 6f 6e 6c 79 2d ang.racket/base..(require.(only-
40880 69 6e 20 6d 61 63 72 6f 2d 64 65 62 75 67 67 65 72 2f 73 74 65 70 70 65 72 2d 74 65 78 74 0a 20 in.macro-debugger/stepper-text..
408a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 65 70 70 65 72 2d 74 65 78 74 29 0a 20 .................stepper-text)..
408c0 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 6d 61 63 72 6f 2d 64 65 62 75 67 67 65 72 2f ........(only-in.macro-debugger/
408e0 6d 6f 64 65 6c 2f 68 69 64 69 6e 67 2d 70 6f 6c 69 63 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 model/hiding-policies...........
40900 20 20 20 20 20 20 20 20 70 6f 6c 69 63 79 2d 3e 70 72 65 64 69 63 61 74 65 29 0a 20 20 20 20 20 ........policy->predicate)......
40920 20 20 20 20 72 61 63 6b 65 74 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 ....racket/contract..........rac
40940 6b 65 74 2f 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 0a ket/file..........racket/format.
40960 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 28 .........racket/match..........(
40980 6f 6e 6c 79 2d 69 6e 20 72 61 63 6b 65 74 2f 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 only-in.racket/path.............
409a0 20 20 20 20 20 20 70 61 74 68 2d 6f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 ......path-only)..........racket
409c0 2f 70 72 65 74 74 79 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 73 79 73 74 65 6d 0a 20 /pretty..........racket/system..
409e0 20 20 20 20 20 20 20 20 22 2e 2e 2f 65 6c 69 73 70 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 ........"../elisp.rkt"..........
40a00 22 2e 2e 2f 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 "../repl-session.rkt".........."
40a20 2e 2e 2f 73 79 6e 74 61 78 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 2e 2e 2f 75 74 69 6c ../syntax.rkt".........."../util
40a40 2e 72 6b 74 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 6d 61 63 72 6f 2d 73 74 65 70 70 65 72 0a 20 .rkt")..(provide.macro-stepper..
40a60 20 20 20 20 20 20 20 20 6d 61 63 72 6f 2d 73 74 65 70 70 65 72 2f 6e 65 78 74 29 0a 0a 28 64 65 ........macro-stepper/next)..(de
40a80 66 69 6e 65 20 73 74 65 70 2f 63 20 28 63 6f 6e 73 2f 63 20 28 6f 72 2f 63 20 27 6f 72 69 67 69 fine.step/c.(cons/c.(or/c.'origi
40aa0 6e 61 6c 20 73 74 72 69 6e 67 3f 20 27 66 69 6e 61 6c 29 20 73 74 72 69 6e 67 3f 29 29 0a 28 64 nal.string?.'final).string?)).(d
40ac0 65 66 69 6e 65 20 73 74 65 70 2d 70 72 6f 63 2f 63 20 28 2d 3e 20 28 6f 72 2f 63 20 27 6e 65 78 efine.step-proc/c.(->.(or/c.'nex
40ae0 74 20 27 61 6c 6c 29 20 28 6c 69 73 74 6f 66 20 73 74 65 70 2f 63 29 29 29 0a 0a 28 64 65 66 69 t.'all).(listof.step/c)))..(defi
40b00 6e 65 20 28 6e 6f 74 68 69 6e 67 2d 73 74 65 70 2d 70 72 6f 63 20 5f 29 20 6e 75 6c 6c 29 0a 0a ne.(nothing-step-proc._).null)..
40b20 28 64 65 66 69 6e 65 20 73 74 65 70 2d 70 72 6f 63 20 6e 6f 74 68 69 6e 67 2d 73 74 65 70 2d 70 (define.step-proc.nothing-step-p
40b40 72 6f 63 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 6d 61 63 72 6f 2d 73 74 roc)..(define/contract.(macro-st
40b60 65 70 70 65 72 20 70 61 74 68 20 65 78 70 72 65 73 73 69 6f 6e 2d 73 74 72 20 68 69 64 69 6e 67 epper.path.expression-str.hiding
40b80 2d 70 6f 6c 69 63 79 29 0a 20 20 28 2d 3e 20 28 61 6e 64 2f 63 20 70 61 74 68 2d 73 74 72 69 6e -policy)...(->.(and/c.path-strin
40ba0 67 3f 20 63 6f 6d 70 6c 65 74 65 2d 70 61 74 68 3f 29 20 61 6e 79 2f 63 20 61 6e 79 2f 63 0a 20 g?.complete-path?).any/c.any/c..
40bc0 20 20 20 20 20 28 6c 69 73 74 2f 63 20 73 74 65 70 2f 63 29 29 0a 20 20 28 61 73 73 65 72 74 2d .....(list/c.step/c))...(assert-
40be0 6d 61 63 72 6f 2d 64 65 62 75 67 67 65 72 2d 73 74 65 70 70 65 72 2d 77 6f 72 6b 73 29 0a 20 20 macro-debugger-stepper-works)...
40c00 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 73 74 78 20 6e 73 29 0a 20 20 20 20 28 63 6f 6e (define-values.(stx.ns).....(con
40c20 64 0a 20 20 20 20 20 20 5b 28 73 74 72 69 6e 67 3f 20 65 78 70 72 65 73 73 69 6f 6e 2d 73 74 72 d.......[(string?.expression-str
40c40 29 0a 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f )........(unless.(current-sessio
40c60 6e 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 27 6d 61 63 72 6f 2d 73 74 65 n-id)..........(error.'macro-ste
40c80 70 70 65 72 20 22 44 6f 65 73 20 6e 6f 74 20 77 6f 72 6b 20 77 69 74 68 6f 75 74 20 61 20 72 75 pper."Does.not.work.without.a.ru
40ca0 6e 6e 69 6e 67 20 52 45 50 4c 22 29 29 0a 20 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 28 73 74 nning.REPL"))........(values.(st
40cc0 72 69 6e 67 2d 3e 6e 61 6d 65 73 70 61 63 65 2d 73 79 6e 74 61 78 20 65 78 70 72 65 73 73 69 6f ring->namespace-syntax.expressio
40ce0 6e 2d 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 6e n-str)................(current-n
40d00 61 6d 65 73 70 61 63 65 29 29 5d 0a 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 28 amespace))].......[else........(
40d20 76 61 6c 75 65 73 20 28 66 69 6c 65 2d 3e 73 79 6e 74 61 78 20 70 61 74 68 29 0a 20 20 20 20 20 values.(file->syntax.path)......
40d40 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 62 61 73 65 2d 6e 61 6d 65 73 70 61 63 65 29 29 ..........(make-base-namespace))
40d60 5d 29 29 0a 20 20 28 73 65 74 21 20 73 74 65 70 2d 70 72 6f 63 0a 20 20 20 20 20 20 20 20 28 6d ]))...(set!.step-proc.........(m
40d80 61 6b 65 2d 73 74 65 70 70 65 72 20 70 61 74 68 20 73 74 78 20 6e 73 20 68 69 64 69 6e 67 2d 70 ake-stepper.path.stx.ns.hiding-p
40da0 6f 6c 69 63 79 29 29 0a 20 20 28 6d 61 63 72 6f 2d 73 74 65 70 70 65 72 2f 6e 65 78 74 20 27 6e olicy))...(macro-stepper/next.'n
40dc0 65 78 74 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 6d 61 63 72 6f 2d 73 ext))..(define/contract.(macro-s
40de0 74 65 70 70 65 72 2f 6e 65 78 74 20 77 68 61 74 29 20 73 74 65 70 2d 70 72 6f 63 2f 63 0a 20 20 tepper/next.what).step-proc/c...
40e00 28 64 65 66 69 6e 65 20 76 20 28 73 74 65 70 2d 70 72 6f 63 20 77 68 61 74 29 29 0a 20 20 28 6d (define.v.(step-proc.what))...(m
40e20 61 74 63 68 20 76 0a 20 20 20 20 5b 28 6c 69 73 74 20 28 63 6f 6e 73 20 27 66 69 6e 61 6c 20 5f atch.v.....[(list.(cons.'final._
40e40 29 29 20 28 73 65 74 21 20 73 74 65 70 2d 70 72 6f 63 20 6e 6f 74 68 69 6e 67 2d 73 74 65 70 2d )).(set!.step-proc.nothing-step-
40e60 70 72 6f 63 29 5d 0a 20 20 20 20 5b 5f 20 28 76 6f 69 64 29 5d 29 0a 20 20 76 29 0a 0a 28 64 65 proc)].....[_.(void)])...v)..(de
40e80 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 6d 61 6b 65 2d 73 74 65 70 70 65 72 20 70 61 74 68 fine/contract.(make-stepper.path
40ea0 20 73 74 78 20 6e 73 20 65 6c 69 73 70 2d 68 69 64 69 6e 67 2d 70 6f 6c 69 63 79 29 0a 20 20 28 .stx.ns.elisp-hiding-policy)...(
40ec0 2d 3e 20 28 61 6e 64 2f 63 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 63 6f 6d 70 6c 65 74 65 2d ->.(and/c.path-string?.complete-
40ee0 70 61 74 68 3f 29 20 73 79 6e 74 61 78 3f 20 6e 61 6d 65 73 70 61 63 65 3f 20 61 6e 79 2f 63 0a path?).syntax?.namespace?.any/c.
40f00 20 20 20 20 20 20 73 74 65 70 2d 70 72 6f 63 2f 63 29 0a 20 20 28 64 65 66 69 6e 65 20 64 69 72 ......step-proc/c)...(define.dir
40f20 20 28 70 61 74 68 2d 6f 6e 6c 79 20 70 61 74 68 29 29 0a 20 20 28 64 65 66 69 6e 65 20 70 6f 6c .(path-only.path))...(define.pol
40f40 69 63 79 20 28 65 6c 69 73 70 2d 70 6f 6c 69 63 79 2d 3e 70 6f 6c 69 63 79 20 65 6c 69 73 70 2d icy.(elisp-policy->policy.elisp-
40f60 68 69 64 69 6e 67 2d 70 6f 6c 69 63 79 29 29 0a 20 20 28 64 65 66 69 6e 65 20 70 72 65 64 69 63 hiding-policy))...(define.predic
40f80 61 74 65 20 28 70 6f 6c 69 63 79 2d 3e 70 72 65 64 69 63 61 74 65 20 70 6f 6c 69 63 79 29 29 0a ate.(policy->predicate.policy)).
40fa0 20 20 28 64 65 66 69 6e 65 20 72 61 77 2d 73 74 65 70 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 ..(define.raw-step.(parameterize
40fc0 20 28 5b 63 75 72 72 65 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 6f .([current-load-relative-directo
40fe0 72 79 20 64 69 72 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ry.dir].........................
41000 20 20 20 20 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 20 20 20 ..........[current-namespace....
41020 20 20 20 20 20 20 20 20 20 20 20 6e 73 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........ns]).................
41040 20 20 20 20 20 28 73 74 65 70 70 65 72 2d 74 65 78 74 20 73 74 78 20 70 72 65 64 69 63 61 74 65 .....(stepper-text.stx.predicate
41060 29 29 29 0a 20 20 28 64 65 66 69 6e 65 20 73 74 65 70 2d 6e 75 6d 20 23 66 29 0a 20 20 28 64 65 )))...(define.step-num.#f)...(de
41080 66 69 6e 65 20 73 74 65 70 2d 6c 61 73 74 2d 61 66 74 65 72 20 28 70 72 65 74 74 79 2d 66 6f 72 fine.step-last-after.(pretty-for
410a0 6d 61 74 2d 73 79 6e 74 61 78 20 73 74 78 29 29 0a 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d mat-syntax.stx))...(log-racket-m
410c0 6f 64 65 2d 64 65 62 75 67 20 22 7e 76 20 7e 76 20 7e 76 22 20 70 61 74 68 20 70 6f 6c 69 63 79 ode-debug."~v.~v.~v".path.policy
410e0 20 72 61 77 2d 73 74 65 70 29 0a 20 20 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 73 .raw-step)...(define/contract.(s
41100 74 65 70 20 77 68 61 74 29 20 73 74 65 70 2d 70 72 6f 63 2f 63 0a 20 20 20 20 28 63 6f 6e 64 20 tep.what).step-proc/c.....(cond.
41120 5b 28 6e 6f 74 20 73 74 65 70 2d 6e 75 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 [(not.step-num)............(set!
41140 20 73 74 65 70 2d 6e 75 6d 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 .step-num.0)............(list.(c
41160 6f 6e 73 20 27 6f 72 69 67 69 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ons.'original...................
41180 20 20 20 20 20 28 70 72 65 74 74 79 2d 66 6f 72 6d 61 74 2d 73 79 6e 74 61 78 20 73 74 78 29 29 .....(pretty-format-syntax.stx))
411a0 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 )]...........[else............(d
411c0 65 66 69 6e 65 20 6f 75 74 20 28 6f 70 65 6e 2d 6f 75 74 70 75 74 2d 73 74 72 69 6e 67 29 29 0a efine.out.(open-output-string)).
411e0 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 5b 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 ...........(cond.[(parameterize.
41200 28 5b 63 75 72 72 65 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 74 20 6f 75 74 5d 29 0a 20 20 20 20 ([current-output-port.out]).....
41220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 77 2d 73 74 65 70 20 77 68 61 74 29 29 ................(raw-step.what))
41240 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d ...................(log-racket-m
41260 6f 64 65 2d 64 65 62 75 67 20 22 7e 76 22 20 28 67 65 74 2d 6f 75 74 70 75 74 2d 73 74 72 69 6e ode-debug."~v".(get-output-strin
41280 67 20 6f 75 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e g.out))...................(defin
412a0 65 20 69 6e 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 69 6e 67 20 28 67 65 74 2d 6f 75 74 e.in.(open-input-string.(get-out
412c0 70 75 74 2d 73 74 72 69 6e 67 20 6f 75 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 put-string.out)))...............
412e0 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(let.loop.()................
41300 20 20 20 20 20 28 6d 61 74 63 68 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 .....(match.(parameterize.([curr
41320 65 6e 74 2d 69 6e 70 75 74 2d 70 6f 72 74 20 69 6e 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ent-input-port.in]).............
41340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 73 74 65 70 29 29 0a 20 20 .................(read-step))...
41360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 65 6f 66 2d 6f 62 6a 65 ....................[(?.eof-obje
41380 63 74 3f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e ct?)........................(con
413a0 64 20 5b 28 65 71 3f 20 77 68 61 74 20 27 61 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 d.[(eq?.what.'all)..............
413c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 27 66 69 .................(list.(cons.'fi
413e0 6e 61 6c 20 73 74 65 70 2d 6c 61 73 74 2d 61 66 74 65 72 29 29 5d 0a 20 20 20 20 20 20 20 20 20 nal.step-last-after))]..........
41400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 28 6c 69 73 74 29 ....................[else.(list)
41420 5d 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c 69 73 74 ])].......................[(list
41440 20 74 69 74 6c 65 20 62 65 66 6f 72 65 20 61 66 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 .title.before.after)............
41460 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20 73 74 65 70 2d 6e 75 6d 20 28 61 64 64 31 ............(set!.step-num.(add1
41480 20 73 74 65 70 2d 6e 75 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .step-num)).....................
414a0 20 20 20 28 73 65 74 21 20 73 74 65 70 2d 6c 61 73 74 2d 61 66 74 65 72 20 61 66 74 65 72 29 0a ...(set!.step-last-after.after).
414c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63 6f .......................(cons.(co
414e0 6e 73 20 28 7e 61 20 73 74 65 70 2d 6e 75 6d 20 22 3a 20 22 20 74 69 74 6c 65 29 0a 20 20 20 20 ns.(~a.step-num.":.".title).....
41500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
41520 64 69 66 66 2d 74 65 78 74 20 62 65 66 6f 72 65 20 61 66 74 65 72 20 23 3a 75 6e 69 66 69 65 64 diff-text.before.after.#:unified
41540 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .3))............................
41560 20 20 28 6c 6f 6f 70 29 29 5d 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b ..(loop))]))]..................[
41580 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 6f else...................(list.(co
415a0 6e 73 20 27 66 69 6e 61 6c 20 73 74 65 70 2d 6c 61 73 74 2d 61 66 74 65 72 29 29 5d 29 5d 29 29 ns.'final.step-last-after))])]))
415c0 0a 20 20 73 74 65 70 29 0a 0a 28 64 65 66 69 6e 65 20 28 65 6c 69 73 70 2d 70 6f 6c 69 63 79 2d ...step)..(define.(elisp-policy-
415e0 3e 70 6f 6c 69 63 79 20 65 29 0a 20 20 3b 3b 20 53 65 65 20 6d 61 63 72 6f 2d 64 65 62 75 67 67 >policy.e)...;;.See.macro-debugg
41600 65 72 2f 6d 6f 64 65 6c 2f 68 69 64 69 6e 67 2d 70 6f 6c 69 63 69 65 73 2e 72 6b 74 29 3a 0a 20 er/model/hiding-policies.rkt):..
41620 20 3b 3b 0a 20 20 3b 3b 20 41 20 50 6f 6c 69 63 79 20 69 73 20 6f 6e 65 20 6f 66 0a 20 20 3b 3b .;;...;;.A.Policy.is.one.of...;;
41640 20 20 20 27 64 69 73 61 62 6c 65 0a 20 20 3b 3b 20 20 20 27 73 74 61 6e 64 61 72 64 0a 20 20 3b ...'disable...;;...'standard...;
41660 3b 20 20 20 28 6c 69 73 74 20 27 63 75 73 74 6f 6d 20 62 6f 6f 6c 65 61 6e 20 62 6f 6f 6c 65 61 ;...(list.'custom.boolean.boolea
41680 6e 20 62 6f 6f 6c 65 61 6e 20 62 6f 6f 6c 65 61 6e 20 28 6c 69 73 74 6f 66 20 45 6e 74 72 79 29 n.boolean.boolean.(listof.Entry)
416a0 29 0a 20 20 3b 3b 0a 20 20 3b 3b 20 4f 66 20 74 68 65 20 45 6e 74 72 79 20 72 75 6c 65 73 2c 20 )...;;...;;.Of.the.Entry.rules,.
416c0 61 6c 74 68 6f 75 67 68 20 74 68 65 20 66 72 65 65 3d 3f 20 6f 6e 65 20 63 61 6e 27 74 20 77 6f although.the.free=?.one.can't.wo
416e0 72 6b 20 62 65 63 61 75 73 65 20 69 74 0a 20 20 3b 3b 20 6e 65 65 64 73 20 61 20 6c 69 76 65 20 rk.because.it...;;.needs.a.live.
41700 73 79 6e 74 61 78 20 6f 62 6a 65 63 74 20 69 64 65 6e 74 69 66 69 65 72 2c 20 49 20 74 68 69 6e syntax.object.identifier,.I.thin
41720 6b 20 6d 6f 73 74 20 6f 66 20 74 68 65 20 72 65 73 74 0a 20 20 3b 3b 20 73 68 6f 75 6c 64 20 62 k.most.of.the.rest...;;.should.b
41740 65 20 66 69 6e 65 2e 0a 20 20 28 6d 61 74 63 68 20 65 0a 20 20 20 20 5b 28 6f 72 20 27 64 69 73 e.fine....(match.e.....[(or.'dis
41760 61 62 6c 65 20 27 73 74 61 6e 64 61 72 64 29 20 65 5d 0a 20 20 20 20 5b 28 6c 69 73 74 20 28 61 able.'standard).e].....[(list.(a
41780 70 70 20 61 73 2d 72 61 63 6b 65 74 2d 62 6f 6f 6c 20 68 69 64 65 2d 72 61 63 6b 65 74 3f 29 0a pp.as-racket-bool.hide-racket?).
417a0 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 20 61 73 2d 72 61 63 6b 65 74 2d 62 6f 6f 6c 20 68 ...........(app.as-racket-bool.h
417c0 69 64 65 2d 6c 69 62 73 3f 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 20 61 73 2d 72 61 ide-libs?)............(app.as-ra
417e0 63 6b 65 74 2d 62 6f 6f 6c 20 68 69 64 65 2d 63 6f 6e 74 72 61 63 74 73 3f 29 0a 20 20 20 20 20 cket-bool.hide-contracts?)......
41800 20 20 20 20 20 20 28 61 70 70 20 61 73 2d 72 61 63 6b 65 74 2d 62 6f 6f 6c 20 68 69 64 65 2d 70 ......(app.as-racket-bool.hide-p
41820 68 61 73 65 31 3f 29 0a 20 20 20 20 20 20 20 20 20 20 20 72 75 6c 65 73 29 0a 20 20 20 20 20 28 hase1?)............rules)......(
41840 6c 69 73 74 20 27 63 75 73 74 6f 6d 20 68 69 64 65 2d 72 61 63 6b 65 74 3f 20 68 69 64 65 2d 6c list.'custom.hide-racket?.hide-l
41860 69 62 73 3f 20 68 69 64 65 2d 63 6f 6e 74 72 61 63 74 73 3f 20 68 69 64 65 2d 70 68 61 73 65 31 ibs?.hide-contracts?.hide-phase1
41880 3f 20 72 75 6c 65 73 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 72 65 61 64 2d 73 74 65 70 29 ?.rules)]))..(define.(read-step)
418a0 0a 20 20 28 64 65 66 69 6e 65 20 74 69 74 6c 65 20 28 72 65 61 64 2d 6c 69 6e 65 29 29 0a 20 20 ...(define.title.(read-line))...
418c0 28 64 65 66 69 6e 65 20 62 65 66 6f 72 65 20 28 72 65 61 64 29 29 0a 20 20 28 64 65 66 69 6e 65 (define.before.(read))...(define
418e0 20 5f 61 72 72 6f 77 20 28 72 65 61 64 29 29 20 3b 20 27 3d 3d 3e 0a 20 20 28 64 65 66 69 6e 65 ._arrow.(read)).;.'==>...(define
41900 20 61 66 74 65 72 20 28 72 65 61 64 29 29 0a 20 20 28 72 65 61 64 2d 6c 69 6e 65 29 0a 20 20 28 .after.(read))...(read-line)...(
41920 6d 61 74 63 68 20 28 72 65 61 64 2d 6c 69 6e 65 29 0a 20 20 20 20 5b 28 3f 20 65 6f 66 2d 6f 62 match.(read-line).....[(?.eof-ob
41940 6a 65 63 74 3f 20 65 29 20 65 5d 0a 20 20 20 20 5b 5f 20 28 6c 69 73 74 20 74 69 74 6c 65 0a 20 ject?.e).e].....[_.(list.title..
41960 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 74 74 79 2d 66 6f 72 6d 61 74 20 23 3a 6d 6f 64 65 ...........(pretty-format.#:mode
41980 20 27 77 72 69 74 65 20 62 65 66 6f 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 .'write.before).............(pre
419a0 74 74 79 2d 66 6f 72 6d 61 74 20 23 3a 6d 6f 64 65 20 27 77 72 69 74 65 20 20 61 66 74 65 72 29 tty-format.#:mode.'write..after)
419c0 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 64 69 66 66 2d 74 65 78 74 20 62 65 66 6f 72 65 2d )]))..(define.(diff-text.before-
419e0 74 65 78 74 20 61 66 74 65 72 2d 74 65 78 74 20 23 3a 75 6e 69 66 69 65 64 20 5b 2d 55 20 33 5d text.after-text.#:unified.[-U.3]
41a00 29 0a 20 20 28 64 65 66 69 6e 65 20 74 65 6d 70 6c 61 74 65 20 22 72 61 63 6b 65 74 2d 6d 6f 64 )...(define.template."racket-mod
41a20 65 2d 73 79 6e 74 61 78 2d 64 69 66 66 2d 7e 61 22 29 0a 20 20 28 64 65 66 69 6e 65 20 28 6d 61 e-syntax-diff-~a")...(define.(ma
41a40 6b 65 2d 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 77 69 74 68 2d 74 65 78 74 20 73 74 72 29 ke-temporary-file-with-text.str)
41a60 0a 20 20 20 20 28 64 65 66 69 6e 65 20 66 69 6c 65 20 28 6d 61 6b 65 2d 74 65 6d 70 6f 72 61 72 .....(define.file.(make-temporar
41a80 79 2d 66 69 6c 65 20 74 65 6d 70 6c 61 74 65 29 29 0a 20 20 20 20 28 77 69 74 68 2d 6f 75 74 70 y-file.template)).....(with-outp
41aa0 75 74 2d 74 6f 2d 66 69 6c 65 20 66 69 6c 65 20 23 3a 6d 6f 64 65 20 27 74 65 78 74 20 23 3a 65 ut-to-file.file.#:mode.'text.#:e
41ac0 78 69 73 74 73 20 27 72 65 70 6c 61 63 65 0a 20 20 20 20 20 20 28 ce bb 20 28 29 20 28 64 69 73 xists.'replace.......(...().(dis
41ae0 70 6c 61 79 6c 6e 20 73 74 72 29 29 29 0a 20 20 20 20 66 69 6c 65 29 0a 20 20 28 64 65 66 69 6e playln.str))).....file)...(defin
41b00 65 20 62 65 66 6f 72 65 2d 66 69 6c 65 20 28 6d 61 6b 65 2d 74 65 6d 70 6f 72 61 72 79 2d 66 69 e.before-file.(make-temporary-fi
41b20 6c 65 2d 77 69 74 68 2d 74 65 78 74 20 62 65 66 6f 72 65 2d 74 65 78 74 29 29 0a 20 20 28 64 65 le-with-text.before-text))...(de
41b40 66 69 6e 65 20 61 66 74 65 72 2d 66 69 6c 65 20 20 28 6d 61 6b 65 2d 74 65 6d 70 6f 72 61 72 79 fine.after-file..(make-temporary
41b60 2d 66 69 6c 65 2d 77 69 74 68 2d 74 65 78 74 20 61 66 74 65 72 2d 74 65 78 74 29 29 0a 20 20 28 -file-with-text.after-text))...(
41b80 64 65 66 69 6e 65 20 6f 75 74 20 28 6f 70 65 6e 2d 6f 75 74 70 75 74 2d 73 74 72 69 6e 67 29 29 define.out.(open-output-string))
41ba0 0a 20 20 28 64 79 6e 61 6d 69 63 2d 77 69 6e 64 0a 20 20 20 20 76 6f 69 64 0a 20 20 20 20 28 ce ...(dynamic-wind.....void.....(.
41bc0 bb 20 28 29 0a 20 20 20 20 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 ..().......(parameterize.([curre
41be0 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 74 20 6f 75 74 5d 29 0a 20 20 20 20 20 20 20 20 28 73 79 nt-output-port.out]).........(sy
41c00 73 74 65 6d 20 28 66 6f 72 6d 61 74 20 22 64 69 66 66 20 2d 55 20 7e 61 20 7e 61 20 7e 61 22 20 stem.(format."diff.-U.~a.~a.~a".
41c20 2d 55 20 62 65 66 6f 72 65 2d 66 69 6c 65 20 61 66 74 65 72 2d 66 69 6c 65 29 29 0a 20 20 20 20 -U.before-file.after-file)).....
41c40 20 20 20 20 28 6d 61 74 63 68 20 28 72 65 67 65 78 70 2d 72 65 70 6c 61 63 65 2a 20 23 72 78 22 ....(match.(regexp-replace*.#rx"
41c60 5c 72 5c 6e 22 20 3b 23 35 39 38 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \r\n".;#598.....................
41c80 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 6f 75 74 70 75 74 2d 73 74 72 69 6e 67 20 6f ............(get-output-string.o
41ca0 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ut).............................
41cc0 20 20 20 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 5b 22 22 20 22 20 3c 65 6d 70 74 79 ...."\n")...........["".".<empty
41ce0 20 64 69 66 66 3e 5c 6e 22 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 28 70 72 65 67 65 78 70 20 22 .diff>\n"]...........[(pregexp."
41d00 5c 6e 28 40 40 2e 2b 40 40 5c 6e 2e 2b 29 24 22 20 28 6c 69 73 74 20 5f 20 76 29 29 20 76 5d 29 \n(@@.+@@\n.+)$".(list._.v)).v])
41d20 29 29 0a 20 20 20 20 28 ce bb 20 28 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 66 69 6c 65 )).....(...().......(delete-file
41d40 20 62 65 66 6f 72 65 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 66 69 6c 65 .before-file).......(delete-file
41d60 20 61 66 74 65 72 2d 66 69 6c 65 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 70 72 65 74 74 79 .after-file))))..(define.(pretty
41d80 2d 66 6f 72 6d 61 74 2d 73 79 6e 74 61 78 20 73 74 78 29 0a 20 20 28 70 72 65 74 74 79 2d 66 6f -format-syntax.stx)...(pretty-fo
41da0 72 6d 61 74 20 23 3a 6d 6f 64 65 20 27 77 72 69 74 65 20 28 73 79 6e 74 61 78 2d 3e 64 61 74 75 rmat.#:mode.'write.(syntax->datu
41dc0 6d 20 73 74 78 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 61 73 73 65 72 74 2d 6d 61 63 72 6f 2d m.stx)))..(define.(assert-macro-
41de0 64 65 62 75 67 67 65 72 2d 73 74 65 70 70 65 72 2d 77 6f 72 6b 73 29 0a 20 20 28 64 65 66 69 6e debugger-stepper-works)...(defin
41e00 65 20 73 74 65 70 20 28 73 74 65 70 70 65 72 2d 74 65 78 74 20 23 27 28 6d 6f 64 75 6c 65 20 65 e.step.(stepper-text.#'(module.e
41e20 78 61 6d 70 6c 65 20 72 61 63 6b 65 74 2f 62 61 73 65 20 34 32 29 29 29 0a 20 20 28 75 6e 6c 65 xample.racket/base.42)))...(unle
41e40 73 73 20 28 73 74 65 70 20 27 6e 65 78 74 29 0a 20 20 20 20 28 65 72 72 6f 72 20 27 6d 61 63 72 ss.(step.'next).....(error.'macr
41e60 6f 2d 64 65 62 75 67 67 65 72 2f 73 74 65 70 70 65 72 2d 74 65 78 74 0a 20 20 20 20 20 20 20 20 o-debugger/stepper-text.........
41e80 20 20 20 22 64 6f 65 73 20 6e 6f 74 20 77 6f 72 6b 20 69 6e 20 79 6f 75 72 20 76 65 72 73 69 6f ..."does.not.work.in.your.versio
41ea0 6e 20 6f 66 20 52 61 63 6b 65 74 2e 5c 6e 50 6c 65 61 73 65 20 74 72 79 20 61 6e 20 6f 6c 64 65 n.of.Racket.\nPlease.try.an.olde
41ec0 72 20 6f 72 20 6e 65 77 65 72 20 76 65 72 73 69 6f 6e 2e 22 29 29 29 0a 00 00 00 00 00 00 00 00 r.or.newer.version."))).........
41ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42000 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
42020 72 61 63 6b 65 74 2f 63 6f 6d 6d 61 6e 64 73 2f 64 65 73 63 72 69 62 65 2e 72 6b 74 00 00 00 00 racket/commands/describe.rkt....
42040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
42080 30 30 31 30 32 36 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 31 32 32 33 00 20 30 00 00 00 0010262.00000000000.021223..0...
420a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
420c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
420e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
42120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
42140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
421a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
421c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
421e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42200 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
42220 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
42240 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
42260 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
42280 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 /contract..........racket/format
422a0 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 ..........racket/match..........
422c0 72 61 63 6b 65 74 2f 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 22 2e racket/port..........(only-in.".
422e0 2e 2f 66 69 6e 64 2e 72 6b 74 22 20 66 69 6e 64 2d 73 69 67 6e 61 74 75 72 65 29 0a 20 20 20 20 ./find.rkt".find-signature).....
42300 20 20 20 20 20 22 2e 2e 2f 69 64 65 6e 74 69 66 69 65 72 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 ....."../identifier.rkt"........
42320 20 20 28 6f 6e 6c 79 2d 69 6e 20 22 2e 2e 2f 73 63 72 69 62 62 6c 65 2e 72 6b 74 22 0a 20 20 20 ..(only-in."../scribble.rkt"....
42340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 64 65 6e 74 69 66 69 65 72 2d 3e 62 6c 75 65 62 ...............identifier->blueb
42360 6f 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 2d 3e 70 61 ox...................binding->pa
42380 74 68 2b 61 6e 63 68 6f 72 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 74 79 70 65 0a 20 20 20 20 20 th+anchor))..(provide.type......
423a0 20 20 20 20 64 65 73 63 72 69 62 65 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 ....describe)..(module+.test...(
423c0 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 29 29 0a 0a 3b 3b 3b 20 74 79 70 65 0a 0a 28 64 require.rackunit))..;;;.type..(d
423e0 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 74 79 70 65 20 68 6f 77 20 73 74 72 29 0a 20 20 efine/contract.(type.how.str)...
42400 28 2d 3e 20 68 6f 77 2f 63 20 73 74 72 69 6e 67 3f 20 28 6f 72 2f 63 20 23 66 20 73 74 72 69 6e (->.how/c.string?.(or/c.#f.strin
42420 67 3f 29 29 0a 20 20 28 6f 72 20 28 61 6e 64 20 28 65 71 3f 20 68 6f 77 20 27 6e 61 6d 65 73 70 g?))...(or.(and.(eq?.how.'namesp
42440 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 20 27 6e ace)............(->identifier.'n
42460 61 6d 65 73 70 61 63 65 20 73 74 72 20 74 79 70 65 2d 6f 72 2d 63 6f 6e 74 72 61 63 74 29 29 0a amespace.str.type-or-contract)).
42480 20 20 20 20 20 20 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 20 68 6f 77 20 73 74 72 20 69 64 65 6e ......(->identifier.how.str.iden
424a0 74 69 66 69 65 72 2d 3e 62 6c 75 65 62 6f 78 29 0a 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 66 tifier->bluebox).......(match.(f
424c0 69 6e 64 2d 73 69 67 6e 61 74 75 72 65 20 68 6f 77 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 5b ind-signature.how.str).........[
424e0 23 66 20 23 66 5d 0a 20 20 20 20 20 20 20 20 5b 78 20 28 7e 61 20 78 29 5d 29 29 29 0a 0a 28 64 #f.#f].........[x.(~a.x)])))..(d
42500 65 66 69 6e 65 20 28 74 79 70 65 2d 6f 72 2d 63 6f 6e 74 72 61 63 74 20 76 29 20 3b 61 6e 79 2f efine.(type-or-contract.v).;any/
42520 63 20 2d 3e 20 28 6f 72 2f 63 20 23 66 20 73 74 72 69 6e 67 3f 29 0a 20 20 28 6f 72 0a 20 20 20 c.->.(or/c.#f.string?)...(or....
42540 3b 3b 20 31 2e 20 54 72 79 20 75 73 69 6e 67 20 54 79 70 65 64 20 52 61 63 6b 65 74 27 73 20 52 ;;.1..Try.using.Typed.Racket's.R
42560 45 50 4c 20 73 69 6d 70 6c 69 66 69 65 64 20 74 79 70 65 2e 0a 20 20 20 28 77 69 74 68 2d 68 61 EPL.simplified.type.....(with-ha
42580 6e 64 6c 65 72 73 20 28 5b 65 78 6e 3a 66 61 69 6c 3f 20 28 ce bb 20 5f 20 23 66 29 5d 29 0a 20 ndlers.([exn:fail?.(..._.#f)])..
425a0 20 20 20 20 28 6d 61 74 63 68 20 28 77 69 74 68 2d 6f 75 74 70 75 74 2d 74 6f 2d 73 74 72 69 6e ....(match.(with-output-to-strin
425c0 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 29 0a 20 20 20 20 20 20 20 20 20 g...............(...()..........
425e0 20 20 20 20 20 20 20 28 28 63 75 72 72 65 6e 74 2d 65 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 .......((current-eval)..........
42600 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 23 25 74 6f 70 2d 69 6e 74 65 72 61 63 74 69 6f 6e ........(cons.'#%top-interaction
42620 20 76 29 29 29 29 0a 20 20 20 20 20 20 20 5b 28 70 72 65 67 65 78 70 20 22 5e 2d 20 3a 20 28 2e .v))))........[(pregexp."^-.:.(.
42640 2a 29 20 5c 5c 2e 5c 5c 2e 5c 5c 2e 2e 2a 5c 6e 22 20 28 6c 69 73 74 20 5f 20 74 29 29 20 74 5d *).\\.\\.\\..*\n".(list._.t)).t]
42660 0a 20 20 20 20 20 20 20 5b 28 70 72 65 67 65 78 70 20 22 5e 2d 20 3a 20 28 2e 2a 29 5c 6e 24 22 ........[(pregexp."^-.:.(.*)\n$"
42680 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 5f 20 74 29 29 20 74 5d 29 29 0a 20 20 20 ............(list._.t)).t]))....
426a0 3b 3b 20 32 2e 20 54 72 79 20 74 6f 20 66 69 6e 64 20 61 20 63 6f 6e 74 72 61 63 74 2e 0a 20 20 ;;.2..Try.to.find.a.contract....
426c0 20 28 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 20 28 5b 65 78 6e 3a 66 61 69 6c 3f 20 28 ce bb 20 .(with-handlers.([exn:fail?.(...
426e0 5f 20 23 66 29 5d 29 0a 20 20 20 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 65 72 72 _.#f)])......(parameterize.([err
42700 6f 72 2d 64 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 20 28 ce bb 20 5f 20 28 76 6f 69 64 29 29 or-display-handler.(..._.(void))
42720 5d 29 0a 20 20 20 20 20 20 20 28 28 63 75 72 72 65 6e 74 2d 65 76 61 6c 29 0a 20 20 20 20 20 20 ])........((current-eval).......
42740 20 20 28 63 6f 6e 73 20 27 23 25 74 6f 70 2d 69 6e 74 65 72 61 63 74 69 6f 6e 0a 20 20 20 20 20 ..(cons.'#%top-interaction......
42760 20 20 20 20 20 20 20 20 20 60 28 69 66 20 28 68 61 73 2d 63 6f 6e 74 72 61 63 74 3f 20 2c 76 29 .........`(if.(has-contract?.,v)
42780 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 7e 61 20 28 63 6f 6e 74 72 61 63 74 2d 6e .................(~a.(contract-n
427a0 61 6d 65 20 28 76 61 6c 75 65 2d 63 6f 6e 74 72 61 63 74 20 2c 76 29 29 29 0a 20 20 20 20 20 20 ame.(value-contract.,v))).......
427c0 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 22 29 29 29 29 29 29 29 29 0a 0a 3b 3b 3b ..........(error.""))))))))..;;;
427e0 20 64 65 73 63 72 69 62 65 0a 0a 3b 3b 20 57 68 65 6e 20 60 73 74 72 60 20 69 73 20 61 6e 20 69 .describe..;;.When.`str`.is.an.i
42800 64 65 6e 74 69 66 69 65 72 20 66 6f 72 20 77 68 69 63 68 20 77 65 20 63 61 6e 20 66 69 6e 64 20 dentifier.for.which.we.can.find.
42820 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 0a 3b 3b 20 72 65 74 75 72 6e 20 28 63 6f 6e 73 20 70 documentation,.;;.return.(cons.p
42840 61 74 68 20 61 6e 63 68 6f 72 29 2e 0a 3b 3b 0a 3b 3b 20 4f 74 68 65 72 77 69 73 65 2c 20 74 72 ath.anchor)..;;.;;.Otherwise,.tr
42860 79 20 74 6f 20 66 69 6e 64 20 61 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 20 y.to.find.a.function.definition.
42880 73 69 67 6e 61 74 75 72 65 20 28 74 68 65 0a 3b 3b 20 61 72 67 75 6d 65 6e 74 20 6e 61 6d 65 73 signature.(the.;;.argument.names
428a0 20 6d 61 79 20 68 61 76 65 20 65 78 70 6c 61 6e 61 74 6f 72 79 20 76 61 6c 75 65 29 2c 20 61 6e .may.have.explanatory.value),.an
428c0 64 2f 6f 72 20 61 20 54 79 70 65 64 20 52 61 63 6b 65 74 0a 3b 3b 20 74 79 70 65 20 6f 72 20 61 d/or.a.Typed.Racket.;;.type.or.a
428e0 20 63 6f 6e 74 72 61 63 74 2c 20 69 66 20 61 6e 79 2e 20 49 66 20 66 6f 75 6e 64 20 72 65 74 75 .contract,.if.any..If.found.retu
42900 72 6e 20 28 6c 69 73 74 20 27 73 68 72 2d 64 6f 6d 20 64 6f 6d 29 0a 3b 3b 20 77 68 65 72 65 20 rn.(list.'shr-dom.dom).;;.where.
42920 64 6f 6d 20 69 73 20 74 68 65 20 45 6d 61 63 73 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 61 dom.is.the.Emacs.equivalent.of.a
42940 6e 20 78 2d 65 78 70 72 65 73 73 69 6f 6e 2e 0a 3b 3b 0a 3b 3b 20 4f 74 68 65 72 77 69 73 65 20 n.x-expression..;;.;;.Otherwise.
42960 72 65 74 75 72 6e 20 23 66 2e 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 64 65 73 return.#f..(define/contract.(des
42980 63 72 69 62 65 20 68 6f 77 20 73 74 72 29 0a 20 20 28 2d 3e 20 68 6f 77 2f 63 0a 20 20 20 20 20 cribe.how.str)...(->.how/c......
429a0 20 73 74 72 69 6e 67 3f 0a 20 20 20 20 20 20 61 6e 79 29 20 3b 28 6f 72 2f 63 20 23 66 20 28 63 .string?.......any).;(or/c.#f.(c
429c0 6f 6e 73 2f 63 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 73 74 72 69 6e 67 3f 29 20 73 68 72 2d ons/c.path-string?.string?).shr-
429e0 64 6f 6d 29 0a 20 20 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 68 6f 77 20 73 74 72 0a dom)...(->identifier....how.str.
42a00 20 20 20 28 ce bb 20 28 73 74 78 29 0a 20 20 20 20 20 28 6f 72 20 28 62 69 6e 64 69 6e 67 2d 3e ...(...(stx)......(or.(binding->
42a20 70 61 74 68 2b 61 6e 63 68 6f 72 20 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 28 73 69 67 2d 61 path+anchor.stx)..........(sig-a
42a40 6e 64 2f 6f 72 2d 74 79 70 65 20 68 6f 77 20 73 74 78 29 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 nd/or-type.how.stx)))))..(define
42a60 2f 63 6f 6e 74 72 61 63 74 20 28 73 69 67 2d 61 6e 64 2f 6f 72 2d 74 79 70 65 20 68 6f 77 20 73 /contract.(sig-and/or-type.how.s
42a80 74 78 29 0a 20 20 28 2d 3e 20 68 6f 77 2f 63 20 69 64 65 6e 74 69 66 69 65 72 3f 20 61 6e 79 29 tx)...(->.how/c.identifier?.any)
42aa0 20 3b 73 68 72 2d 64 6f 6d 0a 20 20 28 64 65 66 69 6e 65 20 64 61 74 20 28 73 79 6e 74 61 78 2d .;shr-dom...(define.dat.(syntax-
42ac0 3e 64 61 74 75 6d 20 73 74 78 29 29 0a 20 20 28 64 65 66 69 6e 65 20 73 69 67 20 28 6d 61 74 63 >datum.stx))...(define.sig.(matc
42ae0 68 20 28 66 69 6e 64 2d 73 69 67 6e 61 74 75 72 65 20 68 6f 77 20 28 73 79 6d 62 6f 6c 2d 3e 73 h.(find-signature.how.(symbol->s
42b00 74 72 69 6e 67 20 64 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 23 66 20 tring.dat)).................[#f.
42b20 23 66 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 78 20 28 7e 61 20 78 29 5d 29 29 #f].................[x.(~a.x)]))
42b40 0a 20 20 28 64 65 66 69 6e 65 20 74 79 70 65 20 28 61 6e 64 20 28 65 71 3f 20 68 6f 77 20 27 6e ...(define.type.(and.(eq?.how.'n
42b60 61 6d 65 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 amespace).....................(t
42b80 79 70 65 2d 6f 72 2d 63 6f 6e 74 72 61 63 74 20 73 74 78 29 29 29 0a 20 20 28 64 65 66 69 6e 65 ype-or-contract.stx)))...(define
42ba0 20 69 6e 20 28 69 66 20 28 65 71 3f 20 68 6f 77 20 27 6e 61 6d 65 73 70 61 63 65 29 20 22 63 75 .in.(if.(eq?.how.'namespace)."cu
42bc0 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 22 20 28 7e 76 20 68 6f 77 29 29 29 0a 20 20 28 61 rrent-namespace".(~v.how)))...(a
42be0 6e 64 20 28 6f 72 20 73 69 67 20 74 79 70 65 29 0a 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 73 nd.(or.sig.type)........(list.'s
42c00 68 72 2d 64 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 64 69 76 20 28 29 0a 20 20 20 hr-dom..............`(div.()....
42c20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 31 20 28 29 20 28 63 6f 64 65 20 28 29 20 2c 28 6f 72 ............(h1.().(code.().,(or
42c40 20 73 69 67 20 28 7e 61 20 64 61 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .sig.(~a.dat))))................
42c60 28 70 20 28 29 20 2c 28 69 66 20 74 79 70 65 20 60 28 63 6f 64 65 20 28 29 20 2c 74 79 70 65 29 (p.().,(if.type.`(code.().,type)
42c80 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 20 28 29 20 22 49 6e 20 22 .""))................(p.()."In."
42ca0 20 28 63 6f 64 65 20 28 29 20 2c 69 6e 29 20 22 2e 22 29 29 29 29 29 0a 0a 28 6d 6f 64 75 6c 65 .(code.().,in).".")))))..(module
42cc0 2b 20 74 65 73 74 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 0a 20 20 20 20 20 +.test...(require.rackunit......
42ce0 20 20 20 20 20 20 22 2e 2e 2f 73 79 6e 74 61 78 2e 72 6b 74 22 29 0a 20 20 3b 3b 20 43 68 65 63 ......"../syntax.rkt")...;;.Chec
42d00 6b 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 69 6e 20 74 68 65 20 6e 61 6d 65 73 k.something.that.is.in.the.names
42d20 70 61 63 65 20 72 65 73 75 6c 74 69 6e 67 20 66 72 6f 6d 0a 20 20 3b 3b 20 6d 6f 64 75 6c 65 2d pace.resulting.from...;;.module-
42d40 3e 6e 61 6d 65 73 70 61 63 65 20 6f 6e 2c 20 73 61 79 2c 20 74 68 69 73 20 73 6f 75 72 63 65 20 >namespace.on,.say,.this.source.
42d60 66 69 6c 65 2e 0a 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d file....(parameterize.([current-
42d80 6e 61 6d 65 73 70 61 63 65 20 28 6d 6f 64 75 6c 65 2d 3e 6e 61 6d 65 73 70 61 63 65 20 28 73 79 namespace.(module->namespace.(sy
42da0 6e 74 61 78 2d 73 6f 75 72 63 65 20 23 27 74 68 69 73 2d 66 69 6c 65 29 29 5d 29 0a 20 20 20 20 ntax-source.#'this-file))]).....
42dc0 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 0a 20 20 20 20 20 28 64 65 73 63 72 69 62 65 20 27 6e 61 (check-equal?......(describe.'na
42de0 6d 65 73 70 61 63 65 20 22 64 65 73 63 72 69 62 65 22 29 0a 20 20 20 20 20 27 28 73 68 72 2d 64 mespace."describe")......'(shr-d
42e00 6f 6d 0a 20 20 20 20 20 20 20 28 64 69 76 0a 20 20 20 20 20 20 20 20 28 29 0a 20 20 20 20 20 20 om........(div.........().......
42e20 20 20 28 68 31 20 28 29 20 28 63 6f 64 65 20 28 29 20 22 28 64 65 73 63 72 69 62 65 20 68 6f 77 ..(h1.().(code.()."(describe.how
42e40 20 73 74 72 29 22 29 29 0a 20 20 20 20 20 20 20 20 28 70 20 28 29 20 28 63 6f 64 65 20 28 29 20 .str)")).........(p.().(code.().
42e60 22 28 2d 3e 20 28 6f 72 2f 63 20 28 71 75 6f 74 65 20 6e 61 6d 65 73 70 61 63 65 29 20 70 61 74 "(->.(or/c.(quote.namespace).pat
42e80 68 2d 73 74 72 69 6e 67 3f 29 20 73 74 72 69 6e 67 3f 20 61 6e 79 29 22 29 29 0a 20 20 20 20 20 h-string?).string?.any)"))......
42ea0 20 20 20 28 70 20 28 29 20 22 49 6e 20 22 20 28 63 6f 64 65 20 28 29 20 22 63 75 72 72 65 6e 74 ...(p.()."In.".(code.()."current
42ec0 2d 6e 61 6d 65 73 70 61 63 65 22 29 20 22 2e 22 29 29 29 29 0a 20 20 20 20 28 63 68 65 63 6b 2d -namespace").".")))).....(check-
42ee0 66 61 6c 73 65 0a 20 20 20 20 20 28 64 65 73 63 72 69 62 65 20 27 6e 61 6d 65 73 70 61 63 65 20 false......(describe.'namespace.
42f00 22 73 6f 6d 65 74 68 69 6e 67 2d 6e 6f 74 2d 64 65 66 69 6e 65 64 2d 69 6e 2d 74 68 65 2d 6e 61 "something-not-defined-in-the-na
42f20 6d 65 73 70 61 63 65 22 29 29 29 0a 0a 20 20 3b 3b 20 43 68 65 63 6b 20 73 6f 6d 65 74 68 69 6e mespace")))....;;.Check.somethin
42f40 67 20 74 68 61 74 20 69 73 20 6e 6f 74 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e 61 6d g.that.is.not.in.the.current.nam
42f60 65 73 70 61 63 65 2c 20 62 75 74 20 69 73 20 61 6e 0a 20 20 3b 3b 20 69 64 65 6e 74 69 66 69 65 espace,.but.is.an...;;.identifie
42f80 72 20 69 6e 20 74 68 65 20 6c 65 78 69 63 61 6c 20 63 6f 6e 74 65 78 74 20 6f 66 20 61 6e 20 65 r.in.the.lexical.context.of.an.e
42fa0 78 70 61 6e 64 65 64 20 6d 6f 64 75 6c 65 20 66 6f 72 6d 20 2d 2d 0a 20 20 3b 3b 20 69 6e 63 6c xpanded.module.form.--...;;.incl
42fc0 75 64 69 6e 67 20 69 6d 70 6f 72 74 65 64 20 69 64 65 6e 74 69 66 69 65 72 73 20 2d 2d 20 66 72 uding.imported.identifiers.--.fr
42fe0 6f 6d 20 74 68 65 20 65 78 70 61 6e 64 65 64 20 73 79 6e 74 61 78 0a 20 20 3b 3b 20 63 61 63 68 om.the.expanded.syntax...;;.cach
43000 65 2e 0a 20 20 28 64 65 66 69 6e 65 20 74 6f 70 20 28 63 61 73 65 20 28 73 79 73 74 65 6d 2d 74 e....(define.top.(case.(system-t
43020 79 70 65 29 20 5b 28 77 69 6e 64 6f 77 73 29 20 22 43 3a 5c 5c 22 5d 20 5b 28 75 6e 69 78 20 6d ype).[(windows)."C:\\"].[(unix.m
43040 61 63 6f 73 78 29 20 22 2f 22 5d 29 29 0a 20 20 28 64 65 66 69 6e 65 20 70 61 74 68 2d 73 74 72 acosx)."/"]))...(define.path-str
43060 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 28 62 75 69 6c 64 2d 70 61 74 68 20 74 6f 70 20 22 .(path->string.(build-path.top."
43080 70 61 74 68 22 20 22 74 6f 22 20 22 66 6f 6f 62 61 72 2e 72 6b 74 22 29 29 29 0a 20 20 28 64 65 path"."to"."foobar.rkt")))...(de
430a0 66 69 6e 65 20 63 6f 64 65 2d 73 74 72 20 28 7e 61 20 27 28 6d 6f 64 75 6c 65 20 66 6f 6f 62 61 fine.code-str.(~a.'(module.fooba
430c0 72 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.racket/base...................
430e0 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 28 66 75 6e 20 61 20 62 20 63 29 0a 20 20 20 20 20 .......(define.(fun.a.b.c)......
43100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 6f 69 64 29 29 29 29 29 0a .....................(void))))).
43120 20 20 3b 3b 20 47 65 74 20 74 68 65 20 65 78 70 61 6e 64 65 64 20 73 79 6e 74 61 78 20 69 6e 20 ..;;.Get.the.expanded.syntax.in.
43140 6f 75 72 20 63 61 63 68 65 0a 20 20 28 73 74 72 69 6e 67 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 our.cache...(string->expanded-sy
43160 6e 74 61 78 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 74 72 20 76 6f 69 64 29 0a 20 20 3b ntax.path-str.code-str.void)...;
43180 3b 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 64 6f 65 73 6e 27 74 20 66 69 6e 64 20 63 6f ;.Note.that.this.doesn't.find.co
431a0 6e 74 72 61 63 74 73 2c 20 6a 75 73 74 20 73 69 67 73 2e 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 ntracts,.just.sigs....(check-equ
431c0 61 6c 3f 0a 20 20 20 28 64 65 73 63 72 69 62 65 20 70 61 74 68 2d 73 74 72 20 22 66 75 6e 22 29 al?....(describe.path-str."fun")
431e0 0a 20 20 20 60 28 73 68 72 2d 64 6f 6d 0a 20 20 20 20 20 28 64 69 76 20 28 29 0a 20 20 20 20 20 ....`(shr-dom......(div.()......
43200 20 28 68 31 20 28 29 20 28 63 6f 64 65 20 28 29 20 22 28 66 75 6e 20 61 20 62 20 63 29 22 29 29 .(h1.().(code.()."(fun.a.b.c)"))
43220 0a 20 20 20 20 20 20 28 70 20 28 29 20 20 22 22 29 0a 20 20 20 20 20 20 28 70 20 28 29 20 22 49 .......(p.().."").......(p.()."I
43240 6e 20 22 20 28 63 6f 64 65 20 28 29 20 2c 28 7e 76 20 70 61 74 68 2d 73 74 72 29 29 20 22 2e 22 n.".(code.().,(~v.path-str))."."
43260 29 29 29 29 0a 20 20 28 63 68 65 63 6b 2d 66 61 6c 73 65 0a 20 20 20 28 64 65 73 63 72 69 62 65 ))))...(check-false....(describe
43280 20 70 61 74 68 2d 73 74 72 20 22 73 6f 6d 65 74 68 69 6e 67 2d 6e 6f 74 2d 64 65 66 69 6e 65 64 .path-str."something-not-defined
432a0 2d 69 6e 2d 74 68 65 2d 66 69 6c 65 22 29 29 29 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -in-the-file")))................
432c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
432e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
433a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
433c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
433e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43400 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
43420 72 61 63 6b 65 74 2f 63 6f 6d 6d 61 6e 64 73 2f 6d 6f 64 75 6c 65 2d 6e 61 6d 65 73 2e 72 6b 74 racket/commands/module-names.rkt
43440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
43480 30 30 31 32 30 35 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 32 30 33 34 00 20 30 00 00 00 0012056.00000000000.022034..0...
434a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
434c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
434e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
43520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
43540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
435a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
435c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
435e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43600 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
43620 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
43640 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
43660 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
43680 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a /contract..........racket/match.
436a0 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 73 65 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 .........racket/set..........rac
436c0 6b 65 74 2f 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 22 2e 2e ket/string..........(only-in."..
436e0 2f 75 74 69 6c 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 74 /util.rkt"...................pat
43700 68 2d 68 61 73 2d 65 78 74 65 6e 73 69 6f 6e 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h-has-extension?................
43720 20 20 20 70 61 74 68 2d 72 65 70 6c 61 63 65 2d 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 ...path-replace-extension.......
43740 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 6d 65 2d 73 79 73 74 65 6d 2d 70 61 74 68 2d 3e 73 74 ............some-system-path->st
43760 72 69 6e 67 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 73 29 0a 0a ring))..(provide.module-names)..
43780 28 73 74 72 75 63 74 20 63 6f 6c 6c 65 63 74 69 6f 6e 0a 20 20 28 6d 61 79 62 65 2d 70 72 65 66 (struct.collection...(maybe-pref
437a0 69 78 20 3b 28 6f 72 2f 63 20 23 66 20 73 74 72 69 6e 67 3f 29 20 77 68 65 6e 20 61 20 72 6b 74 ix.;(or/c.#f.string?).when.a.rkt
437c0 64 20 6c 69 6e 6b 20 65 6e 74 72 79 20 73 74 61 72 74 73 20 77 69 74 68 20 61 20 73 74 72 69 6e d.link.entry.starts.with.a.strin
437e0 67 0a 20 20 20 70 61 74 68 29 20 20 20 20 20 20 20 20 3b 70 61 74 68 3f 0a 20 20 23 3a 74 72 61 g....path)........;path?...#:tra
43800 6e 73 70 61 72 65 6e 74 29 0a 0a 28 64 65 66 69 6e 65 20 28 6d 6f 64 75 6c 65 2d 6e 61 6d 65 73 nsparent)..(define.(module-names
43820 29 0a 20 20 28 64 65 66 69 6e 65 20 72 65 73 75 6c 74 73 20 28 6d 75 74 61 62 6c 65 2d 73 65 74 )...(define.results.(mutable-set
43840 29 29 0a 20 20 28 64 65 66 69 6e 65 20 6d 61 69 6e 2e 72 6b 74 20 28 73 74 72 69 6e 67 2d 3e 70 ))...(define.main.rkt.(string->p
43860 61 74 68 20 22 6d 61 69 6e 2e 72 6b 74 22 29 29 0a 20 20 28 66 6f 72 20 28 5b 63 6f 6c 6c 20 28 ath."main.rkt"))...(for.([coll.(
43880 69 6e 2d 73 65 74 20 28 63 6f 6c 6c 65 63 74 69 6f 6e 73 29 29 5d 29 0a 20 20 20 20 28 64 65 66 in-set.(collections))]).....(def
438a0 69 6e 65 20 74 6f 70 20 28 63 6f 6c 6c 65 63 74 69 6f 6e 2d 70 61 74 68 20 63 6f 6c 6c 29 29 0a ine.top.(collection-path.coll)).
438c0 20 20 20 20 28 77 68 65 6e 20 28 73 61 66 65 2d 64 69 72 65 63 74 6f 72 79 2d 65 78 69 73 74 73 ....(when.(safe-directory-exists
438e0 3f 20 74 6f 70 29 0a 20 20 20 20 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 ?.top).......(parameterize.([cur
43900 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 20 74 6f 70 5d 29 0a 20 20 20 20 20 20 20 20 28 66 6f rent-directory.top]).........(fo
43920 72 20 28 5b 72 61 77 2d 70 20 28 69 6e 2d 64 69 72 65 63 74 6f 72 79 20 23 66 20 75 73 65 3f 29 r.([raw-p.(in-directory.#f.use?)
43940 5d 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 20 28 6d 61 79 62 65 2d 70 72 ])...........(define.p.(maybe-pr
43960 65 66 69 78 2d 70 61 74 68 2d 66 6f 72 2d 63 6f 6c 6c 65 63 74 69 6f 6e 20 63 6f 6c 6c 20 72 61 efix-path-for-collection.coll.ra
43980 77 2d 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 w-p))...........(define-values.(
439a0 5f 62 61 73 65 20 5f 6e 61 6d 65 20 64 69 72 3f 29 20 28 73 70 6c 69 74 2d 70 61 74 68 20 70 29 _base._name.dir?).(split-path.p)
439c0 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 75 73 65 3f 20 70 29 0a )...........(when.(and.(use?.p).
439e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 64 69 72 3f 0a 20 20 .....................(or.dir?...
43a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 74 68 2d 68 61 73 .......................(path-has
43a20 2d 65 78 74 65 6e 73 69 6f 6e 3f 20 70 20 23 22 2e 72 6b 74 22 29 0a 20 20 20 20 20 20 20 20 20 -extension?.p.#".rkt")..........
43a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 74 68 2d 68 61 73 2d 65 78 74 65 6e 73 ................(path-has-extens
43a60 69 6f 6e 3f 20 70 20 23 22 2e 73 73 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 ion?.p.#".ss"))).............(ma
43a80 74 63 68 2d 64 65 66 69 6e 65 20 28 63 6f 6e 73 20 6c 61 73 74 2d 70 61 72 74 20 66 69 72 73 74 tch-define.(cons.last-part.first
43aa0 2d 70 61 72 74 73 29 20 28 72 65 76 65 72 73 65 20 28 65 78 70 6c 6f 64 65 2d 70 61 74 68 20 70 -parts).(reverse.(explode-path.p
43ac0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 61 74 68 2d 70 61 72 ))).............(define.path-par
43ae0 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 76 65 72 73 65 0a 20 20 20 20 20 20 ts...............(reverse.......
43b00 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 5b 3b 3b 20 70 61 74 68 2f 74 6f 2f 6d 61 69 6e 2e .........(cond.[;;.path/to/main.
43b20 72 6b 74 20 3d 3e 20 70 61 74 68 2f 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rkt.=>.path/to..................
43b40 20 20 20 20 20 28 65 71 75 61 6c 3f 20 6c 61 73 74 2d 70 61 72 74 20 6d 61 69 6e 2e 72 6b 74 29 .....(equal?.last-part.main.rkt)
43b60 20 66 69 72 73 74 2d 70 61 72 74 73 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .first-parts]...................
43b80 20 20 20 5b 3b 3b 20 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 72 6b 74 20 3d 3e 20 70 61 74 68 2f ...[;;.path/to/file.rkt.=>.path/
43ba0 74 6f 2f 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c to/file.......................el
43bc0 73 65 20 28 63 6f 6e 73 20 28 70 61 74 68 2d 72 65 70 6c 61 63 65 2d 65 78 74 65 6e 73 69 6f 6e se.(cons.(path-replace-extension
43be0 20 6c 61 73 74 2d 70 61 72 74 20 23 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .last-part.#"").................
43c00 20 20 20 20 20 20 20 20 20 20 20 20 66 69 72 73 74 2d 70 61 72 74 73 29 5d 29 29 29 0a 20 20 20 ............first-parts)])))....
43c20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 73 65 20 73 74 72 69 6e 67 2d 6a 6f 69 6e 20 77 69 74 68 .........;;.Use.string-join.with
43c40 20 22 2f 22 20 69 6e 73 74 65 61 64 20 6f 66 20 62 75 69 6c 64 2d 70 61 74 68 20 73 6f 20 74 68 ."/".instead.of.build-path.so.th
43c60 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 69 6e 64 6f 77 73 20 70 61 74 68 73 20 at.............;;.Windows.paths.
43c80 62 65 63 6f 6d 65 20 52 61 63 6b 65 74 20 6d 6f 64 75 6c 65 20 70 61 74 68 73 2e 0a 20 20 20 20 become.Racket.module.paths......
43ca0 20 20 20 20 20 20 20 20 28 73 65 74 2d 61 64 64 21 20 72 65 73 75 6c 74 73 20 28 73 74 72 69 6e ........(set-add!.results.(strin
43cc0 67 2d 6a 6f 69 6e 20 28 6d 61 70 20 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 70 61 74 68 2d 70 61 g-join.(map.path->string.path-pa
43ce0 72 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rts)............................
43d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2f 22 29 29 29 29 29 29 29 0a 20 20 28 73 6f ................"/")))))))...(so
43d20 72 74 20 28 73 65 74 2d 3e 6c 69 73 74 20 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 73 rt.(set->list.results).........s
43d40 74 72 69 6e 67 3c 3f 29 29 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 6e 6f 74 20 61 20 74 65 73 74 tring<?))..;;.This.is.not.a.test
43d60 20 73 75 62 6d 6f 64 75 6c 65 20 62 65 63 61 75 73 65 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 65 .submodule.because,.although.the
43d80 72 65 20 61 72 65 20 61 20 68 61 6c 66 0a 3b 3b 20 64 6f 7a 65 6e 20 66 61 6c 73 65 20 70 6f 73 re.are.a.half.;;.dozen.false.pos
43da0 69 74 69 76 65 73 2c 20 74 68 65 79 20 61 72 65 20 74 68 69 6e 67 73 20 6c 69 6b 65 0a 3b 3b 20 itives,.they.are.things.like.;;.
43dc0 22 77 65 62 2d 73 65 72 76 65 72 2f 64 65 66 61 75 6c 74 2d 77 65 62 2d 72 6f 6f 74 2f 63 6f 6e "web-server/default-web-root/con
43de0 66 69 67 75 72 61 74 69 6f 6e 2d 74 61 62 6c 65 22 2c 20 66 6f 72 20 77 68 69 63 68 20 6f 75 72 figuration-table",.for.which.our
43e00 0a 3b 3b 20 6d 6f 64 75 6c 65 2d 6e 61 6d 65 73 20 66 75 6e 63 74 69 6f 6e 20 77 6f 75 6c 64 20 .;;.module-names.function.would.
43e20 6e 65 65 64 20 74 6f 20 73 74 61 72 74 20 72 65 61 64 69 6e 67 20 69 6e 66 6f 2e 72 6b 74 20 66 need.to.start.reading.info.rkt.f
43e40 6f 72 0a 3b 3b 20 7b 63 6f 6d 70 69 6c 65 20 74 65 73 74 7d 2d 6f 6d 69 74 2d 70 61 74 68 73 20 or.;;.{compile.test}-omit-paths.
43e60 2d 2d 20 61 6e 64 20 49 20 6a 75 73 74 20 64 6f 6e 27 74 20 74 68 69 6e 6b 20 69 74 27 73 20 77 --.and.I.just.don't.think.it's.w
43e80 6f 72 74 68 20 74 68 65 0a 3b 3b 20 65 66 66 6f 72 74 20 6a 75 73 74 20 74 6f 20 65 78 63 6c 75 orth.the.;;.effort.just.to.exclu
43ea0 64 65 20 61 20 68 61 6c 66 20 64 6f 7a 65 6e 20 62 6f 67 75 73 20 63 6f 6d 70 6c 65 74 69 6f 6e de.a.half.dozen.bogus.completion
43ec0 20 63 61 6e 64 69 64 61 74 65 73 0a 3b 3b 20 61 6d 6f 6e 67 20 74 68 6f 75 73 61 6e 64 73 20 6f .candidates.;;.among.thousands.o
43ee0 66 20 63 6f 72 72 65 63 74 20 6f 6e 65 73 2e 0a 28 6d 6f 64 75 6c 65 2b 20 66 69 6e 64 2d 66 61 f.correct.ones..(module+.find-fa
43f00 6c 73 65 2d 70 6f 73 69 74 69 76 65 73 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 lse-positives...(require.rackuni
43f20 74 29 0a 20 20 28 66 6f 72 20 28 5b 6d 20 28 69 6e 2d 6c 69 73 74 20 28 6d 6f 64 75 6c 65 2d 6e t)...(for.([m.(in-list.(module-n
43f40 61 6d 65 73 29 29 5d 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 6e 6f 74 2d 65 78 6e 20 28 ce bb 20 ames))]).....(check-not-exn.(...
43f60 28 29 20 28 64 79 6e 61 6d 69 63 2d 72 65 71 75 69 72 65 20 28 73 74 72 69 6e 67 2d 3e 73 79 6d ().(dynamic-require.(string->sym
43f80 62 6f 6c 20 6d 29 20 28 76 6f 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bol.m).(void))).................
43fa0 20 20 20 6d 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 75 73 65 3f 20 70 29 0a 20 20 28 64 65 66 ...m)))..(define.(use?.p)...(def
43fc0 69 6e 65 2d 76 61 6c 75 65 73 20 28 5f 62 61 73 65 20 6e 61 6d 65 20 64 69 72 3f 29 20 28 73 70 ine-values.(_base.name.dir?).(sp
43fe0 6c 69 74 2d 70 61 74 68 20 70 29 29 0a 20 20 28 64 65 66 69 6e 65 20 6e 61 6d 65 2d 73 74 72 20 lit-path.p))...(define.name-str.
44000 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 6e 61 6d 65 29 29 0a 20 20 28 61 6e 64 20 28 6e 6f 74 (path->string.name))...(and.(not
44020 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 3f 20 6e 61 6d 65 2d 73 74 72 20 22 2e 22 29 29 0a .(string-prefix?.name-str.".")).
44040 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6d 65 6d 62 65 72 20 6e 61 6d 65 2d 73 74 72 20 27 28 22 .......(not.(member.name-str.'("
44060 63 6f 6d 70 69 6c 65 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 compiled".......................
44080 20 20 20 20 20 20 20 20 20 22 64 6f 63 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........."doc"..................
440a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 6e 66 6f 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 .............."info.rkt"........
440c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 69 76 61 74 65 ........................"private
440e0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "...............................
44100 20 22 73 63 72 69 62 62 6c 69 6e 67 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."scribblings"..................
44120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 65 73 74 73 22 29 29 29 29 20 20 29 0a 0a 28 64 .............."tests"))))..)..(d
44140 65 66 69 6e 65 20 28 63 6f 6c 6c 65 63 74 69 6f 6e 73 29 0a 20 20 28 64 65 66 69 6e 65 20 72 65 efine.(collections)...(define.re
44160 73 75 6c 74 73 20 28 6d 75 74 61 62 6c 65 2d 73 65 74 29 29 0a 20 20 28 66 6f 72 20 28 5b 6c 69 sults.(mutable-set))...(for.([li
44180 6e 6b 2d 66 69 6c 65 20 28 69 6e 2d 6c 69 73 74 20 28 63 75 72 72 65 6e 74 2d 6c 69 62 72 61 72 nk-file.(in-list.(current-librar
441a0 79 2d 63 6f 6c 6c 65 63 74 69 6f 6e 2d 6c 69 6e 6b 73 29 29 5d 29 0a 20 20 20 20 28 63 6f 6e 64 y-collection-links))]).....(cond
441c0 20 5b 6c 69 6e 6b 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 69 .[link-file............(when.(fi
441e0 6c 65 2d 65 78 69 73 74 73 3f 20 6c 69 6e 6b 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 le-exists?.link-file)...........
44200 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 62 61 73 65 20 5f 6e 61 6d 65 20 5f 64 ...(define-values.(base._name._d
44220 69 72 3f 29 20 28 73 70 6c 69 74 2d 70 61 74 68 20 6c 69 6e 6b 2d 66 69 6c 65 29 29 0a 20 20 20 ir?).(split-path.link-file))....
44240 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 20 ..........(match.(with-handlers.
44260 28 5b 65 78 6e 3a 66 61 69 6c 3f 20 28 ce bb 20 28 78 29 20 27 28 29 29 5d 29 0a 20 20 20 20 20 ([exn:fail?.(...(x).'())])......
44280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 6c 2d 77 69 74 68 2d 69 6e 70 75 .................(call-with-inpu
442a0 74 2d 66 69 6c 65 20 6c 69 6e 6b 2d 66 69 6c 65 20 72 65 61 64 29 29 0a 20 20 20 20 20 20 20 20 t-file.link-file.read)).........
442c0 20 20 20 20 20 20 20 5b 28 3f 20 6c 69 73 74 3f 20 76 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 .......[(?.list?.vs)............
442e0 20 20 20 20 20 28 66 6f 72 20 28 5b 76 20 28 69 6e 2d 6c 69 73 74 20 76 73 29 5d 29 0a 20 20 20 .....(for.([v.(in-list.vs)])....
44300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 69 66 20 28 61 6e 64 20 28 6c ...............(when.(if.(and.(l
44320 69 73 74 3f 20 76 29 20 28 3d 20 33 20 28 6c 65 6e 67 74 68 20 76 29 29 29 0a 20 20 20 20 20 20 ist?.v).(=.3.(length.v))).......
44340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 72 65 67 65 ......................(and.(rege
44360 78 70 3f 20 28 6c 69 73 74 2d 72 65 66 20 76 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 xp?.(list-ref.v.2)).............
44380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 67 65 78 70 2d 6d 61 74 .....................(regexp-mat
443a0 63 68 20 28 6c 69 73 74 2d 72 65 66 20 76 20 32 29 20 28 76 65 72 73 69 6f 6e 29 29 29 0a 20 20 ch.(list-ref.v.2).(version)))...
443c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 74 29 0a 20 20 ..........................#t)...
443e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 72 65 66 69 78 ..................(define.prefix
44400 20 28 69 66 20 28 73 74 72 69 6e 67 3f 20 28 6c 69 73 74 2d 72 65 66 20 76 20 30 29 29 0a 20 20 .(if.(string?.(list-ref.v.0))...
44420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
44440 20 20 20 20 20 28 6c 69 73 74 2d 72 65 66 20 76 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .....(list-ref.v.0).............
44460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 66 29 29 0a ...........................#f)).
44480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 61 74 68 ....................(define.path
444a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 6c .......................(match.(l
444c0 69 73 74 2d 72 65 66 20 76 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ist-ref.v.1)....................
444e0 20 20 20 20 20 5b 28 3f 20 73 74 72 69 6e 67 3f 20 73 74 72 29 20 73 74 72 5d 0a 20 20 20 20 20 .....[(?.string?.str).str]......
44500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 62 79 74 65 73 3f 20 62 73 ...................[(?.bytes?.bs
44520 74 72 29 20 28 62 79 74 65 73 2d 3e 70 61 74 68 20 62 73 74 72 29 5d 0a 20 20 20 20 20 20 20 20 tr).(bytes->path.bstr)].........
44540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 6c 69 73 74 3f 20 65 6c 65 6d 73 29 ................[(?.list?.elems)
44560 20 28 61 70 70 6c 79 20 62 75 69 6c 64 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(apply.build-path..............
44580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
445a0 20 20 20 28 66 6f 72 2f 6c 69 73 74 20 28 5b 65 6c 65 6d 20 28 69 6e 2d 6c 69 73 74 20 65 6c 65 ...(for/list.([elem.(in-list.ele
445c0 6d 73 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ms)])...........................
445e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 62 79 74 ........................(if.(byt
44600 65 73 3f 20 65 6c 65 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es?.elem).......................
44620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
44640 28 62 79 74 65 73 2d 3e 70 61 74 68 2d 65 6c 65 6d 65 6e 74 20 65 6c 65 6d 29 0a 20 20 20 20 20 (bytes->path-element.elem)......
44660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
44680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 65 6d 29 29 29 5d 29 29 0a 20 20 20 20 .................elem)))])).....
446a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 61 62 73 2d 70 61 74 68 ................(define.abs-path
446c0 20 28 73 69 6d 70 6c 69 66 79 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(simplify-path.................
446e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 72 65 6c 61 74 ......................(if.(relat
44700 69 76 65 2d 70 61 74 68 3f 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ive-path?.path).................
44720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 69 6c 64 ..........................(build
44740 2d 70 61 74 68 20 62 61 73 65 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -path.base.path)................
44760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 29 ...........................path)
44780 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 61 64 64 21 )).....................(set-add!
447a0 20 72 65 73 75 6c 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .results........................
447c0 20 20 20 20 20 20 20 28 63 6f 6c 6c 65 63 74 69 6f 6e 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 .......(collection.prefix.......
447e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
44800 20 20 20 20 61 62 73 2d 70 61 74 68 29 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....abs-path))))]...............
44820 20 5b 5f 20 28 76 6f 69 64 29 5d 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 .[_.(void)]))]...........[else..
44840 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 20 28 5b 70 20 28 69 6e 2d 6c 69 73 74 20 28 63 75 72 ..........(for.([p.(in-list.(cur
44860 72 65 6e 74 2d 6c 69 62 72 61 72 79 2d 63 6f 6c 6c 65 63 74 69 6f 6e 2d 70 61 74 68 73 29 29 5d rent-library-collection-paths))]
44880 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 61 64 64 21 20 72 65 73 75 6c 74 73 )..............(set-add!.results
448a0 20 28 63 6f 6c 6c 65 63 74 69 6f 6e 20 23 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(collection.#f.................
448c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 69 6d 70 ...........................(simp
448e0 6c 69 66 79 2d 70 61 74 68 20 70 29 29 29 29 5d 29 29 0a 20 20 72 65 73 75 6c 74 73 29 0a 0a 28 lify-path.p))))]))...results)..(
44900 64 65 66 69 6e 65 20 28 6d 61 79 62 65 2d 70 72 65 66 69 78 2d 70 61 74 68 2d 66 6f 72 2d 63 6f define.(maybe-prefix-path-for-co
44920 6c 6c 65 63 74 69 6f 6e 20 63 6f 6c 6c 20 70 61 74 68 29 0a 20 20 28 69 66 20 28 63 6f 6c 6c 65 llection.coll.path)...(if.(colle
44940 63 74 69 6f 6e 2d 6d 61 79 62 65 2d 70 72 65 66 69 78 20 63 6f 6c 6c 29 0a 20 20 20 20 20 20 28 ction-maybe-prefix.coll).......(
44960 62 75 69 6c 64 2d 70 61 74 68 20 28 63 6f 6c 6c 65 63 74 69 6f 6e 2d 6d 61 79 62 65 2d 70 72 65 build-path.(collection-maybe-pre
44980 66 69 78 20 63 6f 6c 6c 29 20 70 61 74 68 29 0a 20 20 20 20 20 20 70 61 74 68 29 29 0a 0a 28 64 fix.coll).path).......path))..(d
449a0 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 73 61 66 65 2d 64 69 72 65 63 74 6f 72 79 2d 65 efine/contract.(safe-directory-e
449c0 78 69 73 74 73 3f 20 64 29 0a 20 20 28 2d 3e 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 62 6f 6f xists?.d)...(->.path-string?.boo
449e0 6c 65 61 6e 3f 29 0a 20 20 28 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 20 28 5b 65 78 6e 3a 66 61 lean?)...(with-handlers.([exn:fa
44a00 69 6c 3f 20 28 ce bb 20 28 78 29 20 23 66 29 5d 29 0a 20 20 20 20 28 64 69 72 65 63 74 6f 72 79 il?.(...(x).#f)]).....(directory
44a20 2d 65 78 69 73 74 73 3f 20 64 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -exists?.d)))...................
44a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44c00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
44c20 72 61 63 6b 65 74 2f 63 6f 6d 6d 61 6e 64 73 2f 66 69 6e 64 2d 6d 6f 64 75 6c 65 2e 72 6b 74 00 racket/commands/find-module.rkt.
44c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
44c80 30 30 30 33 34 36 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 31 36 35 33 00 20 30 00 00 00 0003463.00000000000.021653..0...
44ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
44d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
44d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44e00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
44e20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
44e40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
44e60 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 ang.racket/base..(require.racket
44e80 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a /contract..........racket/match.
44ea0 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 73 79 .........racket/path..........sy
44ec0 6e 74 61 78 2f 6d 6f 64 72 65 73 6f 6c 76 65 0a 20 20 20 20 20 20 20 20 20 22 2e 2e 2f 72 65 70 ntax/modresolve.........."../rep
44ee0 6c 2e 72 6b 74 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 66 69 6e 64 2d 6d 6f 64 75 6c 65 29 0a 0a l.rkt")..(provide.find-module)..
44f00 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 66 69 6e 64 2d 6d 6f 64 75 6c 65 20 73 74 (define/contract.(find-module.st
44f20 72 20 6d 61 79 62 65 2d 6d 6f 64 29 0a 20 20 28 2d 3e 20 73 74 72 69 6e 67 3f 20 28 6f 72 2f 63 r.maybe-mod)...(->.string?.(or/c
44f40 20 23 66 20 6d 6f 64 75 6c 65 2d 70 61 74 68 3f 29 0a 20 20 20 20 20 20 28 6f 72 2f 63 20 23 66 .#f.module-path?).......(or/c.#f
44f60 20 28 6c 69 73 74 2f 63 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 6e 75 6d 62 65 72 3f 20 6e 75 .(list/c.path-string?.number?.nu
44f80 6d 62 65 72 3f 29 29 29 0a 20 20 28 64 65 66 69 6e 65 20 66 69 6c 65 20 28 6d 61 79 62 65 2d 6d mber?)))...(define.file.(maybe-m
44fa0 6f 64 75 6c 65 2d 70 61 74 68 2d 3e 66 69 6c 65 20 6d 61 79 62 65 2d 6d 6f 64 29 29 0a 20 20 28 odule-path->file.maybe-mod))...(
44fc0 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 parameterize.([current-load-rela
44fe0 74 69 76 65 2d 64 69 72 65 63 74 6f 72 79 20 28 70 61 74 68 2d 6f 6e 6c 79 20 66 69 6c 65 29 5d tive-directory.(path-only.file)]
45000 29 0a 20 20 20 20 28 6f 72 20 28 6d 6f 64 2d 6c 6f 63 20 73 74 72 20 6d 61 79 62 65 2d 6d 6f 64 ).....(or.(mod-loc.str.maybe-mod
45020 29 0a 20 20 20 20 20 20 20 20 28 6d 6f 64 2d 6c 6f 63 20 28 73 74 72 69 6e 67 2d 3e 73 79 6d 62 ).........(mod-loc.(string->symb
45040 6f 6c 20 73 74 72 29 20 6d 61 79 62 65 2d 6d 6f 64 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 ol.str).maybe-mod))))..(define.(
45060 6d 6f 64 2d 6c 6f 63 20 76 20 6d 61 79 62 65 2d 72 6d 70 29 0a 20 20 28 6d 61 74 63 68 20 28 77 mod-loc.v.maybe-rmp)...(match.(w
45080 69 74 68 2d 68 61 6e 64 6c 65 72 73 20 28 5b 65 78 6e 3a 66 61 69 6c 3f 20 28 ce bb 20 5f 20 23 ith-handlers.([exn:fail?.(..._.#
450a0 66 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 73 6f 6c 76 65 2d 6d 6f 64 75 6c 65 2d f)])............(resolve-module-
450c0 70 61 74 68 20 76 20 6d 61 79 62 65 2d 72 6d 70 29 29 0a 20 20 20 20 5b 28 3f 20 70 61 74 68 2d path.v.maybe-rmp)).....[(?.path-
450e0 73 74 72 69 6e 67 3f 20 70 61 74 68 29 0a 20 20 20 20 20 23 3a 77 68 65 6e 20 28 66 69 6c 65 2d string?.path)......#:when.(file-
45100 65 78 69 73 74 73 3f 20 70 61 74 68 29 0a 20 20 20 20 20 28 6c 69 73 74 20 28 70 61 74 68 2d 3e exists?.path)......(list.(path->
45120 73 74 72 69 6e 67 20 70 61 74 68 29 20 31 20 30 29 5d 0a 20 20 20 20 5b 5f 20 23 66 5d 29 29 0a string.path).1.0)].....[_.#f])).
45140 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e .(module+.test...(require.rackun
45160 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 72 75 6e 74 69 6d 65 2d 70 61 74 it............racket/runtime-pat
45180 68 29 0a 20 20 28 64 65 66 69 6e 65 2d 72 75 6e 74 69 6d 65 2d 70 61 74 68 20 68 65 72 65 20 22 h)...(define-runtime-path.here."
451a0 2e 22 29 0a 20 20 28 6c 65 74 2a 20 28 5b 68 65 72 65 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .")...(let*.([here.............(
451c0 73 69 6d 70 6c 69 66 79 2d 70 61 74 68 20 68 65 72 65 29 5d 20 3b 6e 75 6b 65 20 74 72 61 69 6c simplify-path.here)].;nuke.trail
451e0 69 6e 67 20 64 6f 74 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 45 78 61 6d 70 6c 65 73 20 6f 66 20 ing.dot..........;;.Examples.of.
45200 66 69 6e 64 69 6e 67 20 72 65 6c 61 74 69 76 65 20 61 6e 64 20 61 62 73 6f 6c 75 74 65 3a 0a 20 finding.relative.and.absolute:..
45220 20 20 20 20 20 20 20 20 5b 72 65 71 75 69 72 65 73 2e 72 6b 74 20 20 20 20 20 28 70 61 74 68 2d ........[requires.rkt.....(path-
45240 3e 73 74 72 69 6e 67 20 28 62 75 69 6c 64 2d 70 61 74 68 20 68 65 72 65 20 22 72 65 71 75 69 72 >string.(build-path.here."requir
45260 65 73 2e 72 6b 74 22 29 29 5d 0a 20 20 20 20 20 20 20 20 20 5b 70 65 2d 72 61 63 6b 65 74 2f 73 es.rkt"))]..........[pe-racket/s
45280 74 72 69 6e 67 20 28 70 72 65 67 65 78 70 20 22 63 6f 6c 6c 65 63 74 73 2f 72 61 63 6b 65 74 2f tring.(pregexp."collects/racket/
452a0 73 74 72 69 6e 67 2e 72 6b 74 24 22 29 5d 29 0a 20 20 20 20 3b 3b 20 45 78 61 6d 70 6c 65 73 20 string.rkt$")]).....;;.Examples.
452c0 6f 66 20 68 61 76 69 6e 67 20 6e 6f 20 63 75 72 72 65 6e 74 20 6d 6f 64 75 6c 65 20 28 69 2e 65 of.having.no.current.module.(i.e
452e0 2e 20 70 6c 61 69 6e 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 20 20 3b 3b 20 52 45 50 4c 29 ..plain.racket/base.....;;.REPL)
45300 20 61 6e 64 20 68 61 76 69 6e 67 20 6f 6e 65 20 28 22 64 65 73 63 72 69 62 65 2e 72 6b 74 22 29 .and.having.one.("describe.rkt")
45320 2e 0a 20 20 20 20 28 6c 65 74 20 28 5b 6d 6f 64 20 23 66 5d 29 0a 20 20 20 20 20 28 70 61 72 61 ......(let.([mod.#f])......(para
45340 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 20 68 65 72 meterize.([current-directory.her
45360 65 5d 29 0a 20 20 20 20 20 20 20 28 63 68 65 63 6b 2d 6d 61 74 63 68 20 28 66 69 6e 64 2d 6d 6f e])........(check-match.(find-mo
45380 64 75 6c 65 20 22 72 65 71 75 69 72 65 73 2e 72 6b 74 22 20 6d 6f 64 29 0a 20 20 20 20 20 20 20 dule."requires.rkt".mod)........
453a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 3d 3d 20 72 65 71 75 69 72 65 73 2e .............(list.(==.requires.
453c0 72 6b 74 29 20 31 20 30 29 29 0a 20 20 20 20 20 20 20 28 63 68 65 63 6b 2d 6d 61 74 63 68 20 28 rkt).1.0))........(check-match.(
453e0 66 69 6e 64 2d 6d 6f 64 75 6c 65 20 22 72 61 63 6b 65 74 2f 73 74 72 69 6e 67 22 20 6d 6f 64 29 find-module."racket/string".mod)
45400 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 70 65 2d 72 61 .....................(list.pe-ra
45420 63 6b 65 74 2f 73 74 72 69 6e 67 20 31 20 30 29 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 5b 6d cket/string.1.0)))).....(let.([m
45440 6f 64 20 28 62 75 69 6c 64 2d 70 61 74 68 20 68 65 72 65 20 22 64 65 73 63 72 69 62 65 2e 72 6b od.(build-path.here."describe.rk
45460 74 22 29 5d 29 0a 20 20 20 20 20 20 28 63 68 65 63 6b 2d 6d 61 74 63 68 20 28 66 69 6e 64 2d 6d t")]).......(check-match.(find-m
45480 6f 64 75 6c 65 20 22 72 65 71 75 69 72 65 73 2e 72 6b 74 22 20 6d 6f 64 29 0a 20 20 20 20 20 20 odule."requires.rkt".mod).......
454a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 3d 3d 20 72 65 71 75 69 72 65 73 2e .............(list.(==.requires.
454c0 72 6b 74 29 20 31 20 30 29 29 0a 20 20 20 20 20 20 28 63 68 65 63 6b 2d 6d 61 74 63 68 20 28 66 rkt).1.0)).......(check-match.(f
454e0 69 6e 64 2d 6d 6f 64 75 6c 65 20 22 72 61 63 6b 65 74 2f 73 74 72 69 6e 67 22 20 6d 6f 64 29 0a ind-module."racket/string".mod).
45500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 70 65 2d 72 61 63 6b ...................(list.pe-rack
45520 65 74 2f 73 74 72 69 6e 67 20 31 20 30 29 29 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 et/string.1.0)))))..............
45540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
455a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
455c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
455e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45600 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
45620 72 61 63 6b 65 74 2f 63 6f 6d 6d 61 6e 64 73 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 2e 72 6b 74 racket/commands/check-syntax.rkt
45640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
45680 30 30 35 33 30 31 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 32 30 34 35 00 20 30 00 00 00 0053013.00000000000.022045..0...
456a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
456c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
456e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
45720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
45740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
457a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
457c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
457e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45800 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
45820 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
45840 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
45860 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 64 61 74 61 2f 69 ang.racket/base..(require.data/i
45880 6e 74 65 72 76 61 6c 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 64 69 63 74 nterval-map..........racket/dict
458a0 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 ..........racket/format.........
458c0 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 73 65 .racket/match..........racket/se
458e0 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 t..........racket/string........
45900 20 20 72 61 63 6b 65 74 2f 63 6c 61 73 73 0a 20 20 20 20 20 20 20 20 20 64 72 72 61 63 6b 65 74 ..racket/class..........drracket
45920 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 20 22 2e 2e 2f 69 6d 70 6f 72 /check-syntax.........."../impor
45940 74 73 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 2e 2e 2f 6f 6e 6c 69 6e 65 2d 63 68 65 63 ts.rkt".........."../online-chec
45960 6b 2d 73 79 6e 74 61 78 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 2e 2e 2f 73 79 6e 74 61 k-syntax.rkt".........."../synta
45980 78 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 22 2e 2e 2f 75 74 69 6c 2e 72 6b 74 22 29 0a 0a x.rkt".........."../util.rkt")..
459a0 28 70 72 6f 76 69 64 65 20 63 68 65 63 6b 2d 73 79 6e 74 61 78 29 0a 0a 28 6d 6f 64 75 6c 65 2b (provide.check-syntax)..(module+
459c0 20 74 65 73 74 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 29 29 0a 0a 3b 3b 20 .test...(require.rackunit))..;;.
459e0 4f 75 72 20 66 72 6f 6e 74 2d 65 6e 64 20 69 73 73 75 65 73 20 63 68 65 63 6b 2d 73 79 6e 74 61 Our.front-end.issues.check-synta
45a00 78 20 72 65 71 75 65 73 74 73 20 61 66 74 65 72 20 74 68 65 20 75 73 65 72 20 65 64 69 74 73 20 x.requests.after.the.user.edits.
45a20 61 0a 3b 3b 20 62 75 66 66 65 72 2c 20 70 6c 75 73 20 61 20 73 68 6f 72 74 20 69 64 6c 65 20 64 a.;;.buffer,.plus.a.short.idle.d
45a40 65 6c 61 79 20 28 65 2e 67 2e 20 31 20 73 65 63 6f 6e 64 29 2e 0a 3b 3b 0a 3b 3b 20 4f 6e 20 63 elay.(e.g..1.second)..;;.;;.On.c
45a60 6f 6d 70 6c 65 78 20 69 6e 70 75 74 73 20 69 74 20 63 61 6e 20 74 61 6b 65 20 6d 61 6e 79 20 73 omplex.inputs.it.can.take.many.s
45a80 65 63 6f 6e 64 73 20 74 6f 20 65 78 70 61 6e 64 20 61 6e 64 20 61 6e 61 6c 79 7a 65 2e 0a 3b 3b econds.to.expand.and.analyze..;;
45aa0 20 28 42 79 20 66 61 72 20 6d 6f 73 74 6c 79 20 74 68 65 20 65 78 70 61 6e 73 69 6f 6e 3b 20 61 .(By.far.mostly.the.expansion;.a
45ac0 6c 74 68 6f 75 67 68 20 77 65 20 64 6f 20 63 61 63 68 65 20 65 78 70 61 6e 64 65 64 20 73 79 6e lthough.we.do.cache.expanded.syn
45ae0 74 61 78 2c 0a 3b 3b 20 74 68 61 74 20 64 6f 65 73 6e 27 74 20 61 6c 77 61 79 73 20 68 65 6c 70 tax,.;;.that.doesn't.always.help
45b00 2e 29 0a 3b 3b 0a 3b 3b 20 41 73 20 61 20 72 65 73 75 6c 74 2c 20 77 65 20 6d 69 67 68 74 20 62 .).;;.;;.As.a.result,.we.might.b
45b20 65 20 63 61 6c 6c 65 64 20 74 6f 20 64 6f 20 61 20 70 61 74 68 2d 73 74 72 20 66 6f 72 20 77 68 e.called.to.do.a.path-str.for.wh
45b40 69 63 68 20 61 0a 3b 3b 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 20 74 68 72 65 61 64 ich.a.;;.previous.command.thread
45b60 20 69 73 20 73 74 69 6c 6c 20 72 75 6e 6e 69 6e 67 2e 20 41 6c 74 68 6f 75 67 68 20 74 68 61 74 .is.still.running..Although.that
45b80 20 77 69 6c 6c 20 77 6f 72 6b 0a 3b 3b 20 5f 63 6f 72 72 65 63 74 6c 79 5f 2c 20 65 76 65 6e 74 .will.work.;;._correctly_,.event
45ba0 75 61 6c 6c 79 2c 20 69 74 20 69 73 20 77 61 73 74 65 66 75 6c 20 2d 2d 20 62 6f 74 68 20 68 65 ually,.it.is.wasteful.--.both.he
45bc0 72 65 20 69 6e 20 74 68 65 0a 3b 3b 20 62 61 63 6b 2d 65 6e 64 20 28 63 61 6c 63 75 6c 61 74 69 re.in.the.;;.back-end.(calculati
45be0 6e 67 29 20 61 6e 64 20 69 6e 20 74 68 65 20 66 72 6f 6e 74 2d 65 6e 64 20 28 75 70 64 61 74 69 ng).and.in.the.front-end.(updati
45c00 6e 67 20 62 75 66 66 65 72 0a 3b 3b 20 70 72 6f 70 65 72 74 69 65 73 29 2e 0a 3b 3b 0a 3b 3b 20 ng.buffer.;;.properties)..;;.;;.
45c20 49 6e 73 74 65 61 64 3a 20 57 65 27 64 20 6c 69 6b 65 20 74 6f 20 6b 69 6c 6c 20 74 68 65 20 6f Instead:.We'd.like.to.kill.the.o
45c40 6c 64 20 63 6f 6d 6d 61 6e 64 20 74 68 72 65 61 64 20 61 6e 64 20 69 6e 66 6f 72 6d 20 6f 75 72 ld.command.thread.and.inform.our
45c60 0a 3b 3b 20 66 72 6f 6e 74 2d 65 6e 64 20 74 68 61 74 20 74 68 65 20 6f 6c 64 20 63 6f 6d 6d 61 .;;.front-end.that.the.old.comma
45c80 6e 64 20 77 61 73 20 22 63 61 6e 63 65 6c 65 64 22 2e 20 57 65 20 63 61 6e 20 64 6f 20 73 6f 20 nd.was."canceled"..We.can.do.so.
45ca0 68 65 72 65 0a 3b 3b 20 73 69 6d 70 6c 79 20 62 79 20 60 62 72 65 61 6b 2d 74 68 72 65 61 64 69 here.;;.simply.by.`break-threadi
45cc0 6e 67 60 69 6e 67 20 74 68 65 20 74 68 72 65 61 64 20 61 6c 72 65 61 64 79 20 72 75 6e 6e 69 6e ng`ing.the.thread.already.runnin
45ce0 67 20 74 68 65 0a 3b 3b 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 66 69 g.the.;;.command.for.the.same.fi
45d00 6c 65 2e 0a 3b 3b 0a 3b 3b 20 48 6f 77 2f 77 68 79 20 74 68 69 73 20 77 6f 72 6b 73 3a 20 53 65 le..;;.;;.How/why.this.works:.Se
45d20 65 20 68 6f 77 20 63 6f 6d 6d 61 6e 64 2d 73 65 72 76 65 72 2e 72 6b 74 20 68 61 6e 64 6c 65 73 e.how.command-server.rkt.handles
45d40 20 65 78 6e 3a 62 72 65 61 6b 20 62 79 0a 3b 3b 20 72 65 74 75 72 6e 69 6e 67 20 61 20 60 28 62 .exn:break.by.;;.returning.a.`(b
45d60 72 65 61 6b 29 60 20 72 65 73 70 6f 6e 73 65 2c 20 61 6e 64 2c 20 68 6f 77 20 72 61 63 6b 65 74 reak)`.response,.and,.how.racket
45d80 2d 63 6d 64 2e 65 6c 20 68 61 6e 64 6c 65 73 20 74 68 61 74 0a 3b 3b 20 62 79 20 64 6f 69 6e 67 -cmd.el.handles.that.;;.by.doing
45da0 20 6e 6f 74 68 69 6e 67 20 28 65 78 63 65 70 74 20 63 6c 65 61 6e 69 6e 67 20 75 70 20 69 74 73 .nothing.(except.cleaning.up.its
45dc0 20 6e 6f 6e 63 65 2d 3e 63 61 6c 6c 62 61 63 6b 0a 3b 3b 20 68 61 73 68 2d 74 61 62 6c 65 29 2e .nonce->callback.;;.hash-table).
45de0 0a 0a 28 64 65 66 69 6e 65 20 63 68 65 63 6b 2d 73 79 6e 74 61 78 0a 20 20 28 6c 65 74 20 28 5b ..(define.check-syntax...(let.([
45e00 73 65 6d 61 20 28 6d 61 6b 65 2d 73 65 6d 61 70 68 6f 72 65 20 31 29 5d 20 3b 67 75 61 72 64 20 sema.(make-semaphore.1)].;guard.
45e20 63 6f 6e 63 75 72 72 65 6e 74 20 75 73 65 20 6f 66 20 68 74 0a 20 20 20 20 20 20 20 20 5b 68 74 concurrent.use.of.ht.........[ht
45e40 20 20 20 28 6d 61 6b 65 2d 68 61 73 68 29 5d 29 20 20 20 20 20 20 20 3b 70 61 74 68 2d 73 74 72 ...(make-hash)]).......;path-str
45e60 20 2d 3e 20 74 68 72 65 61 64 0a 20 20 20 20 28 ce bb 20 28 70 61 74 68 2d 73 74 72 20 63 6f 64 .->.thread.....(...(path-str.cod
45e80 65 2d 73 74 72 29 0a 20 20 20 20 20 20 28 64 79 6e 61 6d 69 63 2d 77 69 6e 64 0a 20 20 20 20 20 e-str).......(dynamic-wind......
45ea0 20 20 20 28 ce bb 20 28 29 20 28 63 61 6c 6c 2d 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 0a 20 ...(...().(call-with-semaphore..
45ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6d 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............sema..............
45ee0 20 20 28 ce bb 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e ..(...()..................(defin
45f00 65 20 28 62 72 65 61 6b 2d 74 68 72 65 61 64 2f 6c 6f 67 20 74 68 64 29 0a 20 20 20 20 20 20 20 e.(break-thread/log.thd)........
45f20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 69 6e 66 ............(log-racket-mode-inf
45f40 6f 20 22 63 61 6e 63 65 6c 20 7e 76 22 20 74 68 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 o."cancel.~v".thd)..............
45f60 20 20 20 20 20 20 28 62 72 65 61 6b 2d 74 68 72 65 61 64 20 74 68 64 29 29 0a 20 20 20 20 20 20 ......(break-thread.thd)).......
45f80 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 5b 28 68 61 73 68 2d 72 65 66 20 68 74 20 70 ...........(cond.[(hash-ref.ht.p
45fa0 61 74 68 2d 73 74 72 20 23 66 29 20 3d 3e 20 62 72 65 61 6b 2d 74 68 72 65 61 64 2f 6c 6f 67 5d ath-str.#f).=>.break-thread/log]
45fc0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 61 73 68 2d 73 65 74 21 20 68 74 )..................(hash-set!.ht
45fe0 20 70 61 74 68 2d 73 74 72 20 28 63 75 72 72 65 6e 74 2d 74 68 72 65 61 64 29 29 29 29 29 0a 20 .path-str.(current-thread)))))..
46000 20 20 20 20 20 20 20 28 ce bb 20 28 29 20 28 64 6f 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 70 .......(...().(do-check-syntax.p
46020 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 74 72 29 29 0a 20 20 20 20 20 20 20 20 28 ce bb 20 28 ath-str.code-str)).........(...(
46040 29 20 28 63 61 6c 6c 2d 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 0a 20 20 20 20 20 20 20 20 20 ).(call-with-semaphore..........
46060 20 20 20 20 20 20 73 65 6d 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 29 ......sema................(...()
46080 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f ..................(log-racket-mo
460a0 64 65 2d 64 65 62 75 67 20 22 28 63 75 72 72 65 6e 74 2d 6d 65 6d 6f 72 79 2d 75 73 65 29 20 7e de-debug."(current-memory-use).~
460c0 76 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 v"..............................
460e0 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 6d 65 6d 6f 72 79 2d 75 73 65 29 29 ...........(current-memory-use))
46100 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 61 73 68 2d 72 65 6d 6f 76 65 21 20 ..................(hash-remove!.
46120 68 74 20 70 61 74 68 2d 73 74 72 29 29 29 29 29 29 29 29 0a 0a 3b 3b 20 4e 6f 74 65 3a 20 49 6e ht.path-str))))))))..;;.Note:.In
46140 73 74 65 61 64 20 6f 66 20 75 73 69 6e 67 20 74 68 65 20 60 73 68 6f 77 2d 63 6f 6e 74 65 6e 74 stead.of.using.the.`show-content
46160 60 20 77 72 61 70 70 65 72 2c 20 77 65 20 67 69 76 65 20 61 6c 72 65 61 64 79 0a 3b 3b 20 66 75 `.wrapper,.we.give.already.;;.fu
46180 6c 6c 79 20 65 78 70 61 6e 64 65 64 20 73 79 6e 74 61 78 20 64 69 72 65 63 74 6c 79 20 74 6f 20 lly.expanded.syntax.directly.to.
461a0 60 6d 61 6b 65 2d 74 72 61 76 65 72 73 61 6c 60 2e 20 57 68 79 3f 20 45 78 70 61 6e 73 69 6f 6e `make-traversal`..Why?.Expansion
461c0 0a 3b 3b 20 63 61 6e 20 62 65 20 73 6c 6f 77 2e 20 31 2e 20 57 65 20 6e 65 65 64 20 65 78 70 20 .;;.can.be.slow..1..We.need.exp.
461e0 73 74 78 20 66 6f 72 20 6f 74 68 65 72 20 70 75 72 70 6f 73 65 73 20 68 65 72 65 2e 20 44 75 6d stx.for.other.purposes.here..Dum
46200 62 20 74 6f 0a 3b 3b 20 65 78 70 61 6e 64 20 74 77 69 63 65 2e 20 32 2e 20 57 65 20 6d 69 67 68 b.to.;;.expand.twice..2..We.migh
46220 74 20 6e 6f 74 20 65 76 65 6e 20 6e 65 65 64 20 74 6f 20 65 78 70 61 6e 64 20 6f 6e 63 65 2c 20 t.not.even.need.to.expand.once,.
46240 6e 6f 77 3a 0a 3b 3b 20 73 74 72 69 6e 67 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 now:.;;.string->expanded-syntax.
46260 6d 61 69 6e 74 61 69 6e 73 20 61 20 63 61 63 68 65 2e 0a 3b 3b 0a 3b 3b 20 5b 4f 6e 65 20 6e 75 maintains.a.cache..;;.;;.[One.nu
46280 61 6e 63 65 20 6f 66 20 63 61 63 68 69 6e 67 20 65 78 70 61 6e 64 65 64 20 73 79 6e 74 61 78 20 ance.of.caching.expanded.syntax.
462a0 69 73 20 74 68 61 74 20 77 65 20 61 6c 73 6f 20 63 61 63 68 65 20 74 68 65 0a 3b 3b 20 6e 61 6d is.that.we.also.cache.the.;;.nam
462c0 65 73 70 61 63 65 20 75 73 65 64 20 77 68 69 6c 65 20 65 78 70 61 6e 64 69 6e 67 20 2d 2d 20 74 espace.used.while.expanding.--.t
462e0 68 61 74 20 6e 65 65 64 73 20 74 6f 20 62 65 20 74 68 65 0a 3b 3b 20 63 75 72 72 65 6e 74 2d 6e hat.needs.to.be.the.;;.current-n
46300 61 6d 65 73 70 61 63 65 20 66 6f 72 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 6d 6f 64 75 6c 65 2d amespace.for.things.like.module-
46320 3e 69 6d 70 6f 72 74 73 2e 20 4c 69 6b 65 77 69 73 65 0a 3b 3b 20 63 75 72 72 65 6e 74 2d 6c 6f >imports..Likewise.;;.current-lo
46340 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 6f 72 79 2e 20 54 68 61 74 20 69 73 20 77 ad-relative-directory..That.is.w
46360 68 79 0a 3b 3b 20 73 74 72 69 6e 67 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 75 73 hy.;;.string->expanded-syntax.us
46380 65 73 20 61 20 22 63 61 6c 6c 2d 77 69 74 68 22 20 22 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 73 es.a."call-with"."continuation.s
463a0 74 79 6c 65 22 3a 20 69 74 0a 3b 3b 20 73 65 74 73 20 70 61 72 61 6d 65 74 65 72 73 20 77 68 65 tyle":.it.;;.sets.parameters.whe
463c0 6e 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 66 75 6e 63 74 n.calling.the.continuation.funct
463e0 69 6f 6e 2e 5d 0a 0a 28 64 65 66 69 6e 65 20 28 64 6f 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 ion.]..(define.(do-check-syntax.
46400 70 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 74 72 29 0a 20 20 28 64 65 66 69 6e 65 20 70 61 74 path-str.code-str)...(define.pat
46420 68 20 28 73 74 72 69 6e 67 2d 3e 70 61 74 68 20 70 61 74 68 2d 73 74 72 29 29 0a 20 20 28 70 61 h.(string->path.path-str))...(pa
46440 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 73 rameterize.([current-annotations
46460 20 20 20 28 6e 65 77 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2d 63 6f 6c 6c 65 63 74 6f 72 25 0a 20 ...(new.annotations-collector%..
46480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
464a0 20 20 20 20 20 20 20 20 20 20 20 20 5b 73 72 63 20 20 20 20 20 20 70 61 74 68 5d 0a 20 20 20 20 ............[src......path].....
464c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
464e0 20 20 20 20 20 20 20 20 20 5b 63 6f 64 65 2d 73 74 72 20 63 6f 64 65 2d 73 74 72 5d 29 5d 0a 20 .........[code-str.code-str])]..
46500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 72 72 6f 72 2d 64 69 73 70 6c 61 79 2d 68 ................[error-display-h
46520 61 6e 64 6c 65 72 20 28 6f 75 72 2d 65 72 72 6f 72 2d 64 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 andler.(our-error-display-handle
46540 72 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 74 72 29 5d 0a 20 20 20 20 20 20 20 20 20 20 r.path-str.code-str)]...........
46560 20 20 20 20 20 20 20 5b 70 72 65 2d 65 78 6e 2d 65 72 72 6f 72 73 20 20 20 20 20 20 20 20 27 28 .......[pre-exn-errors........'(
46580 29 5d 29 0a 20 20 20 20 28 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 20 28 5b 65 78 6e 3a 66 61 69 )]).....(with-handlers.([exn:fai
465a0 6c 3f 20 28 68 61 6e 64 6c 65 2d 66 61 69 6c 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 74 l?.(handle-fail.path-str.code-st
465c0 72 29 5d 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 74 69 6d 65 2f 6c 6f 67 20 28 7e 61 20 22 74 r)]).......(with-time/log.(~a."t
465e0 6f 74 61 6c 20 22 20 70 61 74 68 2d 73 74 72 29 0a 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 otal.".path-str).........(string
46600 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 70 61 74 68 20 63 6f 64 65 2d 73 74 72 20 ->expanded-syntax.path.code-str.
46620 61 6e 61 6c 79 7a 65 29 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 61 6e 61 6c 79 7a 65 20 73 analyze)))))..(define.(analyze.s
46640 74 78 29 0a 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 65 78 70 61 6e 64 65 64 2d 65 tx)...(define-values.(expanded-e
46660 78 70 72 65 73 73 69 6f 6e 20 65 78 70 61 6e 73 69 6f 6e 2d 63 6f 6d 70 6c 65 74 65 64 29 0a 20 xpression.expansion-completed)..
46680 20 20 20 28 6d 61 6b 65 2d 74 72 61 76 65 72 73 61 6c 20 28 63 75 72 72 65 6e 74 2d 6e 61 6d 65 ...(make-traversal.(current-name
466a0 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 space).....................(curr
466c0 65 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 ent-load-relative-directory)))..
466e0 20 28 77 69 74 68 2d 74 69 6d 65 2f 6c 6f 67 20 27 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d .(with-time/log.'drracket/check-
46700 73 79 6e 74 61 78 2f 65 78 70 61 6e 64 65 64 2d 65 78 70 72 65 73 73 69 6f 6e 0a 20 20 20 20 28 syntax/expanded-expression.....(
46720 65 78 70 61 6e 64 65 64 2d 65 78 70 72 65 73 73 69 6f 6e 20 73 74 78 29 29 0a 20 20 28 77 69 74 expanded-expression.stx))...(wit
46740 68 2d 74 69 6d 65 2f 6c 6f 67 20 27 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 h-time/log.'drracket/check-synta
46760 78 2f 65 78 70 61 6e 73 69 6f 6e 2d 63 6f 6d 70 6c 65 74 65 64 0a 20 20 20 20 28 65 78 70 61 6e x/expansion-completed.....(expan
46780 73 69 6f 6e 2d 63 6f 6d 70 6c 65 74 65 64 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 61 6e 6e 6f sion-completed))....(define.anno
467a0 74 61 74 69 6f 6e 73 0a 20 20 20 20 28 77 69 74 68 2d 74 69 6d 65 2f 6c 6f 67 20 27 67 65 74 2d tations.....(with-time/log.'get-
467c0 61 6e 6e 6f 74 61 74 69 6f 6e 73 0a 20 20 20 20 20 20 28 73 65 6e 64 20 28 63 75 72 72 65 6e 74 annotations.......(send.(current
467e0 2d 61 6e 6e 6f 74 61 74 69 6f 6e 73 29 20 67 65 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 73 29 29 29 -annotations).get-annotations)))
46800 0a 0a 20 20 28 64 65 66 69 6e 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 2d 73 65 74 20 28 73 65 6e ....(define.completions-set.(sen
46820 64 20 28 63 75 72 72 65 6e 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 73 29 20 67 65 74 2d 6c 6f 63 61 d.(current-annotations).get-loca
46840 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 6e 64 69 64 61 74 65 73 29 29 0a 20 20 28 77 69 74 l-completion-candidates))...(wit
46860 68 2d 74 69 6d 65 2f 6c 6f 67 20 27 69 6d 70 6f 72 74 73 0a 20 20 20 20 28 69 6d 70 6f 72 74 73 h-time/log.'imports.....(imports
46880 20 73 74 78 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 2d 73 65 74 29 29 0a 20 20 28 64 65 66 69 6e 65 .stx.completions-set))...(define
468a0 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 28 73 6f 72 74 20 28 73 65 74 2d 3e 6c 69 73 74 20 63 6f .completions.(sort.(set->list.co
468c0 6d 70 6c 65 74 69 6f 6e 73 2d 73 65 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mpletions-set)..................
468e0 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 3c 3d 3f 29 29 0a 0a 20 20 28 64 65 66 69 6e ...........string<=?))....(defin
46900 65 20 69 6d 65 6e 75 20 28 73 65 6e 64 20 28 63 75 72 72 65 6e 74 2d 61 6e 6e 6f 74 61 74 69 6f e.imenu.(send.(current-annotatio
46920 6e 73 29 20 67 65 74 2d 69 6d 65 6e 75 2d 69 6e 64 65 78 29 29 0a 0a 20 20 28 6c 69 73 74 20 27 ns).get-imenu-index))....(list.'
46940 63 68 65 63 6b 2d 73 79 6e 74 61 78 2d 6f 6b 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 63 check-syntax-ok.........(cons.'c
46960 6f 6d 70 6c 65 74 69 6f 6e 73 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 ompletions.completions).........
46980 28 63 6f 6e 73 20 27 69 6d 65 6e 75 20 20 20 20 20 20 20 69 6d 65 6e 75 29 0a 20 20 20 20 20 20 (cons.'imenu.......imenu).......
469a0 20 20 28 63 6f 6e 73 20 27 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 ..(cons.'annotations.annotations
469c0 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2d 63 6f 6c 6c 65 63 74 )))..(define.annotations-collect
469e0 6f 72 25 0a 20 20 28 63 6c 61 73 73 20 28 61 6e 6e 6f 74 61 74 69 6f 6e 73 2d 6d 69 78 69 6e 20 or%...(class.(annotations-mixin.
46a00 6f 62 6a 65 63 74 25 29 0a 20 20 20 20 28 69 6e 69 74 2d 66 69 65 6c 64 20 73 72 63 20 63 6f 64 object%).....(init-field.src.cod
46a20 65 2d 73 74 72 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 20 69 6d 2d 6d 6f 75 73 65 2d 6f 76 65 e-str)......(define.im-mouse-ove
46a40 72 73 20 28 6d 61 6b 65 2d 69 6e 74 65 72 76 61 6c 2d 6d 61 70 29 29 0a 20 20 20 20 28 64 65 66 rs.(make-interval-map)).....(def
46a60 69 6e 65 20 69 6d 2d 6a 75 6d 70 73 20 28 6d 61 6b 65 2d 69 6e 74 65 72 76 61 6c 2d 6d 61 70 29 ine.im-jumps.(make-interval-map)
46a80 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 69 6d 2d 64 6f 63 73 20 28 6d 61 6b 65 2d 69 6e 74 65 ).....(define.im-docs.(make-inte
46aa0 72 76 61 6c 2d 6d 61 70 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 69 6d 2d 75 6e 75 73 65 64 rval-map)).....(define.im-unused
46ac0 2d 72 65 71 75 69 72 65 73 20 28 6d 61 6b 65 2d 69 6e 74 65 72 76 61 6c 2d 6d 61 70 29 29 0a 20 -requires.(make-interval-map))..
46ae0 20 20 20 28 64 65 66 69 6e 65 20 68 74 2d 64 65 66 73 2f 75 73 65 73 20 28 6d 61 6b 65 2d 68 61 ...(define.ht-defs/uses.(make-ha
46b00 73 68 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 68 74 2d 69 6d 65 6e 75 20 28 6d 61 6b 65 2d sh)).....(define.ht-imenu.(make-
46b20 68 61 73 68 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 6c 6f 63 61 6c 2d 63 6f 6d 70 6c 65 74 hash)).....(define.local-complet
46b40 69 6f 6e 2d 63 61 6e 64 69 64 61 74 65 73 20 28 6d 75 74 61 62 6c 65 2d 73 65 74 29 29 0a 20 20 ion-candidates.(mutable-set))...
46b60 20 20 28 64 65 66 69 6e 65 20 68 74 2d 74 61 69 6c 73 20 28 6d 61 6b 65 2d 68 61 73 68 29 29 0a ..(define.ht-tails.(make-hash)).
46b80 20 20 20 20 28 64 65 66 69 6e 65 20 69 6d 2d 72 65 71 75 69 72 65 73 20 28 6d 61 6b 65 2d 69 6e ....(define.im-requires.(make-in
46ba0 74 65 72 76 61 6c 2d 6d 61 70 29 29 0a 0a 20 20 20 20 3b 3b 20 49 27 76 65 20 73 65 65 6e 20 64 terval-map))......;;.I've.seen.d
46bc0 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 72 65 74 75 72 6e 20 62 6f 67 75 rracket/check-syntax.return.bogu
46be0 73 20 70 6f 73 69 74 69 6f 6e 73 20 66 6f 72 20 65 2e 67 2e 0a 20 20 20 20 3b 3b 20 61 64 64 2d s.positions.for.e.g......;;.add-
46c00 6d 6f 75 73 65 2d 6f 76 65 72 2d 73 74 61 74 75 73 20 73 6f 20 68 65 72 65 27 73 20 73 6f 6d 65 mouse-over-status.so.here's.some
46c20 20 76 61 6c 69 64 61 74 69 6f 6e 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 20 63 6f 64 65 2d 6c 65 .validation......(define.code-le
46c40 6e 20 28 73 74 72 69 6e 67 2d 6c 65 6e 67 74 68 20 63 6f 64 65 2d 73 74 72 29 29 0a 20 20 20 20 n.(string-length.code-str)).....
46c60 28 64 65 66 69 6e 65 20 28 76 61 6c 69 64 2d 70 6f 73 3f 20 70 6f 73 29 20 28 61 6e 64 20 28 3c (define.(valid-pos?.pos).(and.(<
46c80 3d 20 30 20 70 6f 73 29 20 28 3c 20 70 6f 73 20 63 6f 64 65 2d 6c 65 6e 29 29 29 0a 20 20 20 20 =.0.pos).(<.pos.code-len))).....
46ca0 28 64 65 66 69 6e 65 20 28 76 61 6c 69 64 2d 62 65 67 2f 65 6e 64 3f 20 62 65 67 20 65 6e 64 29 (define.(valid-beg/end?.beg.end)
46cc0 0a 20 20 20 20 20 20 28 61 6e 64 20 28 3c 20 62 65 67 20 65 6e 64 29 20 28 76 61 6c 69 64 2d 70 .......(and.(<.beg.end).(valid-p
46ce0 6f 73 3f 20 62 65 67 29 20 28 76 61 6c 69 64 2d 70 6f 73 3f 20 65 6e 64 29 29 29 0a 0a 20 20 20 os?.beg).(valid-pos?.end))).....
46d00 20 28 64 65 66 69 6e 65 2f 6f 76 65 72 72 69 64 65 20 28 73 79 6e 63 68 65 63 6b 3a 66 69 6e 64 .(define/override.(syncheck:find
46d20 2d 73 6f 75 72 63 65 2d 6f 62 6a 65 63 74 20 73 74 78 29 0a 20 20 20 20 20 20 28 61 6e 64 20 28 -source-object.stx).......(and.(
46d40 65 71 75 61 6c 3f 20 73 72 63 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 73 74 78 29 29 0a equal?.src.(syntax-source.stx)).
46d60 20 20 20 20 20 20 20 20 20 20 20 73 72 63 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 6f 76 ...........src))......(define/ov
46d80 65 72 72 69 64 65 20 28 73 79 6e 63 68 65 63 6b 3a 61 64 64 2d 61 72 72 6f 77 2f 6e 61 6d 65 2d erride.(syncheck:add-arrow/name-
46da0 64 75 70 2f 70 78 70 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f dup/pxpy......................._
46dc0 64 65 66 2d 73 72 63 20 64 65 66 2d 62 65 67 20 64 65 66 2d 65 6e 64 20 5f 64 65 66 2d 70 78 20 def-src.def-beg.def-end._def-px.
46de0 5f 64 65 66 2d 70 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 75 _def-py......................._u
46e00 73 65 2d 73 72 63 20 75 73 65 2d 62 65 67 20 75 73 65 2d 65 6e 64 20 5f 75 73 65 2d 70 78 20 5f se-src.use-beg.use-end._use-px._
46e20 75 73 65 2d 70 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 61 63 use-py......................._ac
46e40 74 75 61 6c 3f 20 5f 6c 65 76 65 6c 20 72 65 71 75 69 72 65 2d 61 72 72 6f 77 3f 20 5f 6e 61 6d tual?._level.require-arrow?._nam
46e60 65 2d 64 75 70 3f 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 76 61 6c 69 64 2d e-dup?).......(when.(and.(valid-
46e80 62 65 67 2f 65 6e 64 3f 20 64 65 66 2d 62 65 67 20 64 65 66 2d 65 6e 64 29 0a 20 20 20 20 20 20 beg/end?.def-beg.def-end).......
46ea0 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 69 64 2d 62 65 67 2f 65 6e 64 3f 20 75 73 65 2d 62 ...........(valid-beg/end?.use-b
46ec0 65 67 20 75 73 65 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 43 6f 6e 73 6f 6c 69 64 eg.use-end)).........;;.Consolid
46ee0 61 74 65 20 74 68 65 20 61 64 64 2d 61 72 72 6f 77 2f 6e 61 6d 65 2d 64 75 70 20 69 74 65 6d 73 ate.the.add-arrow/name-dup.items
46f00 20 69 6e 74 6f 20 61 20 68 61 73 68 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 3b 3b 20 77 69 .into.a.hash.table.........;;.wi
46f20 74 68 20 6f 6e 65 20 69 74 65 6d 20 70 65 72 20 64 65 66 69 6e 69 74 69 6f 6e 2e 20 54 68 65 20 th.one.item.per.definition..The.
46f40 6b 65 79 20 69 73 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 70 6f 73 69 74 69 6f 6e 2e 0a key.is.the.definition.position..
46f60 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 73 65 74 20 ........;;.The.value.is.the.set.
46f80 6f 66 20 69 74 73 20 75 73 65 73 27 20 70 6f 73 69 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 of.its.uses'.positions..........
46fa0 28 68 61 73 68 2d 75 70 64 61 74 65 21 20 68 74 2d 64 65 66 73 2f 75 73 65 73 0a 20 20 20 20 20 (hash-update!.ht-defs/uses......
46fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 73 75 62 73 74 72 69 6e .................(list.(substrin
46fe0 67 20 63 6f 64 65 2d 73 74 72 20 64 65 66 2d 62 65 67 20 64 65 66 2d 65 6e 64 29 0a 20 20 20 20 g.code-str.def-beg.def-end).....
47000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 72 ........................(match.r
47020 65 71 75 69 72 65 2d 61 72 72 6f 77 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 equire-arrow?...................
47040 20 20 20 20 20 20 20 20 20 20 20 20 5b 27 6d 6f 64 75 6c 65 2d 6c 61 6e 67 20 27 6d 6f 64 75 6c ............['module-lang.'modul
47060 65 2d 6c 61 6e 67 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-lang].........................
47080 20 20 20 20 20 20 5b 23 74 20 20 20 20 20 20 20 20 20 20 20 27 69 6d 70 6f 72 74 5d 0a 20 20 20 ......[#t...........'import]....
470a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 23 66 20 20 ...........................[#f..
470c0 20 20 20 20 20 20 20 20 20 27 6c 6f 63 61 6c 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........'local])...............
470e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 31 20 64 65 66 2d 62 65 67 29 0a 20 20 20 ..............(add1.def-beg)....
47100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 31 20 64 .........................(add1.d
47120 65 66 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ef-end)).......................(
47140 ce bb 20 28 76 29 20 28 73 65 74 2d 61 64 64 20 76 20 28 6c 69 73 74 20 28 61 64 64 31 20 75 73 ...(v).(set-add.v.(list.(add1.us
47160 65 2d 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-beg)..........................
47180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 31 20 75 73 65 2d 65 .....................(add1.use-e
471a0 6e 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 nd)))).......................(se
471c0 74 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 72 65 71 75 69 72 65 2d 61 72 72 6f t)).........(unless.require-arro
471e0 77 3f 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 6f 72 20 6e 6f 77 20 61 73 73 75 6d 65 20 74 w?...........;;.For.now.assume.t
47200 68 69 73 20 6d 65 61 6e 73 20 61 20 6c 6f 63 61 6c 20 62 69 6e 64 69 6e 67 20 61 6e 64 20 61 64 his.means.a.local.binding.and.ad
47220 64 20 61 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 22 64 65 66 69 6e 65 64 20 6c 6f 63 61 6c 6c d.a...........;;."defined.locall
47240 79 22 20 61 6e 6e 6f 74 61 74 69 6f 6e 2e 20 42 65 6c 6f 77 20 77 65 27 6c 6c 20 64 65 74 65 63 y".annotation..Below.we'll.detec
47260 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 73 73 75 65 20 23 36 33 39 20 73 63 t.the...........;;.issue.#639.sc
47280 65 6e 61 72 69 6f 20 61 6e 64 20 70 6f 73 73 69 62 6c 79 20 72 65 6d 6f 76 65 20 74 68 69 73 2e enario.and.possibly.remove.this.
472a0 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 6e 64 20 74 68 69 73 20 73 79 6e 63 68 65 63 6b 3a 61 ...........(send.this.syncheck:a
472c0 64 64 2d 6d 6f 75 73 65 2d 6f 76 65 72 2d 73 74 61 74 75 73 20 22 22 20 75 73 65 2d 62 65 67 20 dd-mouse-over-status."".use-beg.
472e0 75 73 65 2d 65 6e 64 20 22 64 65 66 69 6e 65 64 20 6c 6f 63 61 6c 6c 79 22 29 29 29 29 0a 0a 20 use-end."defined.locally"))))...
47300 20 20 20 28 64 65 66 69 6e 65 2f 6f 76 65 72 72 69 64 65 20 28 73 79 6e 63 68 65 63 6b 3a 61 64 ...(define/override.(syncheck:ad
47320 64 2d 74 61 69 6c 2d 61 72 72 6f 77 20 66 72 6f 6d 2d 73 72 63 20 66 72 6f 6d 2d 70 6f 73 20 74 d-tail-arrow.from-src.from-pos.t
47340 6f 2d 73 72 63 20 74 6f 2d 70 6f 73 29 0a 20 20 20 20 20 20 3b 3b 20 4e 6f 74 65 3a 20 22 66 72 o-src.to-pos).......;;.Note:."fr
47360 6f 6d 22 20 61 6e 64 20 22 74 6f 22 20 61 72 65 20 69 6e 20 74 65 72 6d 73 20 6f 66 20 44 72 52 om".and."to".are.in.terms.of.DrR
47380 61 63 6b 65 74 20 5f 61 72 72 6f 77 5f 0a 20 20 20 20 20 20 3b 3b 20 64 69 72 65 63 74 69 6f 6e acket._arrow_.......;;.direction
473a0 2c 20 77 68 69 63 68 20 69 74 20 64 72 61 77 73 20 5f 6f 70 70 6f 73 69 74 65 5f 20 6f 66 20 74 ,.which.it.draws._opposite_.of.t
473c0 68 65 20 5f 6a 75 6d 70 5f 20 64 69 72 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3b 3b 20 54 68 he._jump_.direction........;;.Th
473e0 65 72 65 66 6f 72 65 20 77 65 20 72 65 76 65 72 73 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 73 erefore.we.reverse.the.positions
47400 20 62 65 6c 6f 77 2e 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 68 65 61 64 20 66 72 6f 6d 2d .below........(define.head.from-
47420 70 6f 73 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 74 61 69 6c 20 74 6f 2d 70 6f 73 29 0a pos).......(define.tail.to-pos).
47440 20 20 20 20 20 20 3b 3b 20 41 46 41 49 43 54 20 74 68 65 20 73 6f 75 72 63 65 73 20 73 68 6f 75 ......;;.AFAICT.the.sources.shou
47460 6c 64 20 61 6c 77 61 79 73 20 3d 20 74 68 65 20 73 6f 75 72 63 65 20 62 65 69 6e 67 20 61 6e 61 ld.always.=.the.source.being.ana
47480 6c 79 7a 65 64 0a 20 20 20 20 20 20 3b 3b 20 2d 2d 20 69 2e 65 2e 20 74 68 65 20 68 65 61 64 20 lyzed.......;;.--.i.e..the.head.
474a0 61 6e 64 20 74 61 69 6c 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 73 and.tail.should.be.in.the.same.s
474c0 6f 75 72 63 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3b 3b 20 49 66 20 61 20 6d 61 63 72 6f 20 ource.file........;;.If.a.macro.
474e0 68 61 73 20 6e 65 67 6c 65 63 74 65 64 20 74 6f 20 73 75 70 70 6c 79 20 67 6f 6f 64 20 73 72 63 has.neglected.to.supply.good.src
47500 6c 6f 63 2c 20 61 6e 64 20 73 6f 20 65 2e 67 2e 0a 20 20 20 20 20 20 3b 3b 20 74 68 65 20 73 72 loc,.and.so.e.g........;;.the.sr
47520 63 6c 6f 63 20 6f 66 20 74 68 65 20 74 61 69 6c 20 74 61 72 67 65 74 20 69 73 20 69 6e 73 69 64 cloc.of.the.tail.target.is.insid
47540 65 20 74 68 65 20 6d 61 63 72 6f 20 73 6f 75 72 63 65 2c 20 77 65 0a 20 20 20 20 20 20 3b 3b 20 e.the.macro.source,.we.......;;.
47560 68 61 76 65 20 6e 6f 20 67 6f 6f 64 20 77 61 79 20 74 6f 20 73 68 6f 77 20 74 68 61 74 20 74 6f have.no.good.way.to.show.that.to
47580 20 74 68 65 20 75 73 65 72 2c 20 73 6f 20 69 67 6e 6f 72 65 20 69 74 2e 0a 20 20 20 20 20 20 28 .the.user,.so.ignore.it........(
475a0 6d 61 74 63 68 2a 20 5b 66 72 6f 6d 2d 73 72 63 20 74 6f 2d 73 72 63 20 73 72 63 5d 0a 20 20 20 match*.[from-src.to-src.src]....
475c0 20 20 20 20 20 5b 5b 76 20 76 20 76 5d 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 43 6f 6e 73 6f 6c .....[[v.v.v]..........;;.Consol
475e0 69 64 61 74 65 20 74 6f 20 68 61 73 68 2d 74 61 62 6c 65 20 6d 75 63 68 20 6c 69 6b 65 20 64 65 idate.to.hash-table.much.like.de
47600 66 73 2f 75 73 65 73 0a 20 20 20 20 20 20 20 20 20 28 68 61 73 68 2d 75 70 64 61 74 65 21 20 68 fs/uses..........(hash-update!.h
47620 74 2d 74 61 69 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 t-tails........................(
47640 61 64 64 31 20 68 65 61 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 add1.head)......................
47660 20 20 28 ce bb 20 28 76 29 20 28 73 65 74 2d 61 64 64 20 76 20 28 61 64 64 31 20 74 61 69 6c 29 ..(...(v).(set-add.v.(add1.tail)
47680 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 29 29 ))........................(set))
476a0 5d 0a 20 20 20 20 20 20 20 20 5b 5b 5f 20 5f 20 5f 5d 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 67 ].........[[_._._]..........(log
476c0 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 77 61 72 6e 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 22 -racket-mode-warning..........."
476e0 49 67 6e 6f 72 69 6e 67 20 73 79 6e 63 68 65 63 6b 3a 61 64 64 2d 74 61 69 6c 2d 61 72 72 6f 77 Ignoring.syncheck:add-tail-arrow
47700 20 62 65 63 61 75 73 65 20 73 6f 75 72 63 65 73 20 64 69 66 66 65 72 20 7e 76 22 0a 20 20 20 20 .because.sources.differ.~v".....
47720 20 20 20 20 20 20 28 6c 69 73 74 20 66 72 6f 6d 2d 73 72 63 20 74 6f 2d 73 72 63 20 73 72 63 29 ......(list.from-src.to-src.src)
47740 29 5d 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 6f 76 65 72 72 69 64 65 20 28 73 79 6e 63 )]))......(define/override.(sync
47760 68 65 63 6b 3a 61 64 64 2d 6d 6f 75 73 65 2d 6f 76 65 72 2d 73 74 61 74 75 73 20 5f 73 72 63 20 heck:add-mouse-over-status._src.
47780 62 65 67 20 65 6e 64 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 76 61 6c beg.end.status).......(when.(val
477a0 69 64 2d 62 65 67 2f 65 6e 64 3f 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 id-beg/end?.beg.end).........;;.
477c0 41 76 6f 69 64 20 73 69 6c 6c 79 20 22 69 6d 70 6f 72 74 65 64 20 66 72 6f 6d 20 e2 80 9c 5c 22 Avoid.silly."imported.from....\"
477e0 66 69 6c 65 2e 72 6b 74 5c 22 e2 80 9d 22 0a 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 63 file.rkt\"...".........(define.c
47800 6c 65 61 6e 73 65 64 20 28 72 65 67 65 78 70 2d 72 65 70 6c 61 63 65 2a 20 23 70 78 22 5b e2 80 leansed.(regexp-replace*.#px"[..
47820 9c e2 80 9d e2 80 9d 5d 22 20 73 74 61 74 75 73 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 3b 3b .......]".status."")).........;;
47840 20 41 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 61 70 70 65 6e 64 20 6d 75 6c 74 69 70 6c 65 20 6d .Automatically.append.multiple.m
47860 6f 75 73 65 2d 6f 76 65 72 20 6d 65 73 73 61 67 65 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 ouse-over.messages.for.the......
47880 20 20 20 3b 3b 20 73 61 6d 65 20 69 6e 74 65 72 76 61 6c 2e 0a 20 20 20 20 20 20 20 20 28 69 6e ...;;.same.interval..........(in
478a0 74 65 72 76 61 6c 2d 6d 61 70 2d 75 70 64 61 74 65 2a 21 20 69 6d 2d 6d 6f 75 73 65 2d 6f 76 65 terval-map-update*!.im-mouse-ove
478c0 72 73 20 62 65 67 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rs.beg.end......................
478e0 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 73 29 20 28 73 65 74 2d 61 64 64 20 73 20 63 6c 65 ..........(...(s).(set-add.s.cle
47900 61 6e 73 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ansed)).........................
47920 20 20 20 20 20 20 20 28 73 65 74 20 63 6c 65 61 6e 73 65 64 29 29 0a 20 20 20 20 20 20 20 20 3b .......(set.cleansed)).........;
47940 3b 20 46 69 6e 64 20 6c 6f 63 61 6c 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 ;.Find.local.completion.candidat
47960 65 73 20 62 79 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 22 62 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 es.by.looking.at."bound.........
47980 3b 3b 20 6f 63 63 75 72 72 65 6e 63 65 73 22 20 6d 6f 75 73 65 6f 76 65 72 73 2e 20 57 68 79 20 ;;.occurrences".mouseovers..Why.
479a0 6e 6f 74 20 6c 6f 6f 6b 20 61 74 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 69 6e 0a 20 not.look.at.the.definitions.in..
479c0 20 20 20 20 20 20 20 3b 3b 20 73 79 6e 63 68 65 63 6b 3a 61 64 64 2d 61 72 72 6f 77 20 61 6e 6e .......;;.syncheck:add-arrow.ann
479e0 6f 74 61 74 69 6f 6e 73 3f 20 42 65 63 61 75 73 65 20 74 68 65 72 65 20 77 6f 6e 27 74 20 62 65 otations?.Because.there.won't.be
47a00 20 61 6e 79 0a 20 20 20 20 20 20 20 20 3b 3b 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 77 68 65 6e 20 .any.........;;.annotation.when.
47a20 61 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 6e 27 74 20 79 65 74 20 5f 75 73 65 64 5f 20 28 64 a.definition.isn't.yet._used_.(d
47a40 72 72 61 63 6b 65 74 0a 20 20 20 20 20 20 20 20 3b 3b 20 64 6f 65 73 6e 27 74 20 6e 65 65 64 20 rracket.........;;.doesn't.need.
47a60 74 6f 20 64 72 61 77 20 61 6e 20 61 72 72 6f 77 20 66 72 6f 6d 20 6e 6f 74 68 69 6e 67 20 74 6f to.draw.an.arrow.from.nothing.to
47a80 20 73 6f 6d 65 74 68 69 6e 67 29 2e 0a 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 72 65 20 5f 77 .something)..........;;.There._w
47aa0 69 6c 6c 5f 20 68 6f 77 65 76 65 72 20 62 65 20 61 20 22 6e 6f 20 62 6f 75 6e 64 20 6f 63 63 75 ill_.however.be.a."no.bound.occu
47ac0 72 72 65 6e 63 65 73 22 20 6d 6f 75 73 65 6f 76 65 72 2e 0a 20 20 20 20 20 20 20 20 3b 3b 20 54 rrences".mouseover..........;;.T
47ae0 68 65 72 65 66 6f 72 65 2c 20 61 6c 74 68 6f 75 67 68 20 69 74 27 73 20 68 61 63 6b 79 20 74 6f herefore,.although.it's.hacky.to
47b00 20 6d 61 74 63 68 20 6f 6e 20 22 6f 63 63 75 72 72 65 6e 63 65 73 22 0a 20 20 20 20 20 20 20 20 .match.on."occurrences".........
47b20 3b 3b 20 73 74 72 69 6e 67 73 20 68 65 72 65 2c 20 69 74 27 73 20 74 68 65 20 6c 65 61 73 74 20 ;;.strings.here,.it's.the.least.
47b40 77 6f 72 73 74 20 77 61 79 20 74 6f 20 67 65 74 20 5f 61 6c 6c 5f 20 6c 6f 63 61 6c 0a 20 20 20 worst.way.to.get._all_.local....
47b60 20 20 20 20 20 3b 3b 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 2e 20 49 .....;;.completion.candidates..I
47b80 74 27 73 20 74 68 65 20 73 61 6d 65 20 72 65 61 73 6f 6e 20 77 68 79 20 77 65 20 67 6f 20 74 6f t's.the.same.reason.why.we.go.to
47ba0 0a 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 77 6f 72 6b 20 69 6e 20 69 6d 70 6f 72 74 65 64 .........;;.the.work.in.imported
47bc0 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 74 6f 20 66 69 6e 64 20 5f 65 76 65 72 79 74 68 69 6e 67 -completions.to.find._everything
47be0 5f 0a 20 20 20 20 20 20 20 20 3b 3b 20 69 6d 70 6f 72 74 65 64 20 74 68 61 74 20 5f 63 6f 75 6c _.........;;.imported.that._coul
47c00 64 5f 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 72 d_.be.used..........(when.(or.(r
47c20 65 67 65 78 70 2d 6d 61 74 63 68 3f 20 23 70 78 22 5e 5c 5c 64 2b 20 62 6f 75 6e 64 20 6f 63 63 egexp-match?.#px"^\\d+.bound.occ
47c40 75 72 72 65 6e 63 65 73 3f 24 22 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 urrences?$".status).............
47c60 20 20 20 20 20 20 28 65 71 75 61 6c 3f 20 73 74 61 74 75 73 20 22 6e 6f 20 62 6f 75 6e 64 20 6f ......(equal?.status."no.bound.o
47c80 63 63 75 72 72 65 6e 63 65 73 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 61 64 64 ccurrences"))...........(set-add
47ca0 21 20 6c 6f 63 61 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 6e 64 69 64 61 74 65 73 20 28 73 !.local-completion-candidates.(s
47cc0 75 62 73 74 72 69 6e 67 20 63 6f 64 65 2d 73 74 72 20 62 65 67 20 65 6e 64 29 29 29 29 29 0a 0a ubstring.code-str.beg.end)))))..
47ce0 20 20 20 20 3b 3b 20 54 68 65 73 65 20 61 72 65 20 6d 6f 64 75 6c 65 2d 6c 65 76 65 6c 20 64 65 ....;;.These.are.module-level.de
47d00 66 69 6e 69 74 69 6f 6e 73 20 28 6e 6f 74 20 6c 65 78 69 63 61 6c 20 62 69 6e 64 69 6e 67 73 29 finitions.(not.lexical.bindings)
47d20 2e 20 53 6f 0a 20 20 20 20 3b 3b 20 74 68 65 79 20 61 72 65 20 75 73 65 66 75 6c 20 66 6f 72 20 ..So.....;;.they.are.useful.for.
47d40 74 68 69 6e 67 73 20 6c 69 6b 65 20 69 6d 65 6e 75 2e 20 41 6c 73 6f 20 74 68 65 73 65 20 61 72 things.like.imenu..Also.these.ar
47d60 65 20 61 20 67 6f 6f 64 0a 20 20 20 20 3b 3b 20 73 6f 75 72 63 65 20 6f 66 20 65 78 74 72 61 20 e.a.good.....;;.source.of.extra.
47d80 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 2c 20 62 65 63 61 75 73 65 20 74 completion.candidates,.because.t
47da0 68 65 79 20 63 61 6e 20 69 6e 63 6c 75 64 65 0a 20 20 20 20 3b 3b 20 6d 61 63 72 6f 2d 67 65 6e hey.can.include.....;;.macro-gen
47dc0 65 72 61 74 65 64 20 62 69 6e 64 69 6e 67 73 20 2d 2d 20 6c 69 6b 65 20 60 66 6f 6f 3f 60 20 61 erated.bindings.--.like.`foo?`.a
47de0 6e 64 20 60 66 6f 6f 2d 62 61 72 60 20 66 72 6f 6d 0a 20 20 20 20 3b 3b 20 60 28 73 74 72 75 63 nd.`foo-bar`.from.....;;.`(struc
47e00 74 20 66 6f 6f 20 28 62 61 72 29 29 60 20 2d 2d 20 77 68 69 63 68 20 77 6f 75 6c 64 6e 27 74 20 t.foo.(bar))`.--.which.wouldn't.
47e20 6e 65 63 65 73 73 61 72 69 6c 79 20 6f 74 68 65 72 77 69 73 65 20 62 65 0a 20 20 20 20 3b 3b 20 necessarily.otherwise.be.....;;.
47e40 61 6e 6e 6f 74 61 74 65 64 20 62 79 20 73 79 6e 63 68 65 63 6b 3a 61 64 64 2d 61 72 72 6f 77 20 annotated.by.syncheck:add-arrow.
47e60 6f 72 20 73 79 6e 63 68 65 63 6b 3a 61 64 64 2d 6d 6f 75 73 65 2d 6f 76 65 72 2e 20 42 75 74 0a or.syncheck:add-mouse-over..But.
47e80 20 20 20 20 3b 3b 20 66 6f 72 20 74 68 61 74 20 73 61 6d 65 20 72 65 61 73 6f 6e 2c 20 74 68 65 ....;;.for.that.same.reason,.the
47ea0 79 27 72 65 20 6e 6f 74 20 75 73 65 66 75 6c 20 66 6f 72 20 68 74 2d 64 65 66 2f 75 73 65 73 0a y're.not.useful.for.ht-def/uses.
47ec0 20 20 20 20 3b 3b 20 62 65 63 61 75 73 65 20 6d 61 6e 79 20 6f 66 20 74 68 65 6d 20 6d 61 79 20 ....;;.because.many.of.them.may.
47ee0 6f 76 65 72 6c 61 70 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 73 6f 75 72 63 65 20 73 70 61 6e overlap.for.the.same.source.span
47f00 2c 0a 20 20 20 20 3b 3b 20 77 68 69 63 68 20 77 6f 6e 27 74 20 77 6f 72 6b 20 77 65 6c 6c 20 66 ,.....;;.which.won't.work.well.f
47f20 6f 72 20 66 72 6f 6e 74 2d 65 6e 64 20 66 65 61 74 75 72 65 73 2e 0a 20 20 20 20 28 64 65 66 69 or.front-end.features......(defi
47f40 6e 65 2f 6f 76 65 72 72 69 64 65 20 28 73 79 6e 63 68 65 63 6b 3a 61 64 64 2d 64 65 66 69 6e 69 ne/override.(syncheck:add-defini
47f60 74 69 6f 6e 2d 74 61 72 67 65 74 20 5f 73 72 63 20 62 65 67 20 5f 65 6e 64 20 73 79 6d 62 6f 6c tion-target._src.beg._end.symbol
47f80 20 72 65 76 2d 6d 6f 64 73 29 0a 20 20 20 20 20 20 28 6c 65 74 20 74 72 69 65 2d 73 65 74 21 20 .rev-mods).......(let.trie-set!.
47fa0 28 5b 68 74 20 20 20 68 74 2d 69 6d 65 6e 75 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ([ht...ht-imenu]................
47fc0 20 20 20 20 20 20 20 5b 6b 65 79 73 20 28 72 65 76 65 72 73 65 0a 20 20 20 20 20 20 20 20 20 20 .......[keys.(reverse...........
47fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 7e 61 20 73 79 6d ...................(cons.(~a.sym
48000 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bol)............................
48020 20 20 20 20 20 20 20 20 28 66 6f 72 2f 6c 69 73 74 20 28 5b 73 20 28 69 6e 2d 6c 69 73 74 20 72 ........(for/list.([s.(in-list.r
48040 65 76 2d 6d 6f 64 73 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ev-mods)])......................
48060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 7e 61 20 22 4d 6f 64 75 6c 65 3a 20 22 20 73 ................(~a."Module:.".s
48080 29 29 29 29 5d 29 0a 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 6b 65 79 73 0a 20 20 20 20 20 ))))]).........(match.keys......
480a0 20 20 20 20 20 5b 28 6c 69 73 74 20 6b 65 79 29 20 20 20 20 20 20 28 68 61 73 68 2d 73 65 74 21 .....[(list.key)......(hash-set!
480c0 20 68 74 20 6b 65 79 20 28 61 64 64 31 20 62 65 67 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b .ht.key.(add1.beg))]...........[
480e0 28 63 6f 6e 73 20 6b 65 79 20 6d 6f 72 65 29 20 28 74 72 69 65 2d 73 65 74 21 20 28 68 61 73 68 (cons.key.more).(trie-set!.(hash
48100 2d 72 65 66 21 20 68 74 20 6b 65 79 20 28 6d 61 6b 65 2d 68 61 73 68 29 29 20 6d 6f 72 65 29 5d -ref!.ht.key.(make-hash)).more)]
48120 29 29 0a 20 20 20 20 20 20 28 73 65 74 2d 61 64 64 21 20 6c 6f 63 61 6c 2d 63 6f 6d 70 6c 65 74 )).......(set-add!.local-complet
48140 69 6f 6e 2d 63 61 6e 64 69 64 61 74 65 73 20 28 7e 61 20 73 79 6d 62 6f 6c 29 29 29 0a 0a 20 20 ion-candidates.(~a.symbol)))....
48160 20 20 28 64 65 66 69 6e 65 2f 6f 76 65 72 72 69 64 65 20 28 73 79 6e 63 68 65 63 6b 3a 61 64 64 ..(define/override.(syncheck:add
48180 2d 6a 75 6d 70 2d 74 6f 2d 64 65 66 69 6e 69 74 69 6f 6e 20 5f 73 72 63 20 62 65 67 20 65 6e 64 -jump-to-definition._src.beg.end
481a0 20 69 64 2d 73 79 6d 20 70 61 74 68 20 73 75 62 6d 6f 64 73 29 0a 20 20 20 20 20 20 3b 3b 20 2d .id-sym.path.submods).......;;.-
481c0 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 6f 6e 6c 79 20 72 65 70 6f .drracket/check-syntax.only.repo
481e0 72 74 73 20 74 68 65 20 66 69 6c 65 2c 20 6e 6f 74 20 74 68 65 0a 20 20 20 20 20 20 3b 3b 20 20 rts.the.file,.not.the.......;;..
48200 20 70 6f 73 69 74 69 6f 6e 20 77 69 74 68 69 6e 2e 20 57 65 20 63 61 6e 20 66 69 6e 64 20 74 68 .position.within..We.can.find.th
48220 61 74 20 75 73 69 6e 67 20 6f 75 72 20 64 65 66 2d 69 6e 2d 66 69 6c 65 2e 0a 20 20 20 20 20 20 at.using.our.def-in-file........
48240 3b 3b 0a 20 20 20 20 20 20 3b 3b 20 2d 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e ;;.......;;.-.drracket/check-syn
48260 74 61 78 20 75 73 65 73 20 69 64 65 6e 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 20 77 68 69 63 tax.uses.identifier-binding.whic
48280 68 20 63 61 6e 27 74 0a 20 20 20 20 20 20 3b 3b 20 20 20 66 6f 6c 6c 6f 77 20 73 6f 6d 65 20 63 h.can't.......;;...follow.some.c
482a0 6f 6e 74 72 61 63 74 69 6e 67 20 61 6e 64 20 72 65 6e 61 6d 69 6e 67 20 70 72 6f 76 69 64 65 73 ontracting.and.renaming.provides
482c0 2e 20 41 73 20 61 20 72 65 73 75 6c 74 2c 0a 20 20 20 20 20 20 3b 3b 20 20 20 74 68 65 20 76 61 ..As.a.result,.......;;...the.va
482e0 6c 75 65 20 6f 66 20 74 68 65 20 69 64 20 68 65 72 65 20 63 61 6e 20 62 65 20 77 72 6f 6e 67 2e lue.of.the.id.here.can.be.wrong.
48300 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 69 74 20 77 69 6c 6c 0a 20 20 20 20 20 20 3b 3b 20 20 20 .For.example.it.will.......;;...
48320 72 65 70 6f 72 74 20 22 70 72 6f 76 69 64 65 2f 63 6f 6e 74 72 61 63 74 2d 69 64 2d 6d 61 6b 65 report."provide/contract-id-make
48340 2d 74 72 61 76 65 72 73 61 6c 2e 31 22 20 66 6f 72 0a 20 20 20 20 20 20 3b 3b 20 20 20 22 6d 61 -traversal.1".for.......;;..."ma
48360 6b 65 2d 74 72 61 76 65 72 73 61 6c 22 2e 20 57 68 65 6e 20 74 68 65 20 72 65 70 6f 72 74 65 64 ke-traversal"..When.the.reported
48380 20 69 64 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 61 74 20 69 6e 0a 20 20 20 20 20 20 3b .id.differs.from.that.in.......;
483a0 3b 20 20 20 74 68 65 20 73 6f 75 72 63 65 20 74 65 78 74 2c 20 77 65 20 72 65 70 6f 72 74 20 62 ;...the.source.text,.we.report.b
483c0 6f 74 68 20 74 6f 20 74 72 79 20 77 69 74 68 20 64 65 66 2d 69 6e 2d 66 69 6c 65 2e 0a 20 20 20 oth.to.try.with.def-in-file.....
483e0 20 20 20 3b 3b 0a 20 20 20 20 20 20 3b 3b 20 48 6f 77 65 76 65 72 2c 20 63 61 6c 6c 69 6e 67 20 ...;;.......;;.However,.calling.
48400 64 65 66 2d 69 6e 2d 66 69 6c 65 20 68 65 72 65 2f 6e 6f 77 20 66 6f 72 20 61 6c 6c 20 6a 75 6d def-in-file.here/now.for.all.jum
48420 70 73 20 77 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 3b 3b 20 71 75 69 74 65 20 73 6c 6f 77 2e ps.would.be.......;;.quite.slow.
48440 20 46 75 74 68 65 72 6d 6f 72 65 2c 20 61 20 75 73 65 72 20 6d 69 67 68 74 20 6e 6f 74 20 61 63 .Futhermore,.a.user.might.not.ac
48460 74 75 61 6c 6c 79 20 75 73 65 20 74 68 65 0a 20 20 20 20 20 20 3b 3b 20 6a 75 6d 70 73 20 2d 2d tually.use.the.......;;.jumps.--
48480 20 6d 61 79 62 65 20 6e 6f 74 20 61 6e 79 2c 20 70 72 6f 62 61 62 6c 79 20 6e 6f 74 20 6d 6f 73 .maybe.not.any,.probably.not.mos
484a0 74 2c 20 63 65 72 74 61 69 6e 6c 79 20 6e 6f 74 20 61 6c 6c 2e 0a 20 20 20 20 20 20 3b 3b 0a 20 t,.certainly.not.all........;;..
484c0 20 20 20 20 20 3b 3b 20 53 6f 75 6e 64 20 6c 69 6b 65 20 61 20 6a 6f 62 20 66 6f 72 20 61 20 74 .....;;.Sound.like.a.job.for.a.t
484e0 68 75 6e 6b 2c 20 65 2e 67 2e 20 72 61 63 6b 65 74 2f 70 72 6f 6d 69 73 65 0a 20 20 20 20 20 20 hunk,.e.g..racket/promise.......
48500 3b 3b 20 64 65 6c 61 79 2f 66 6f 72 63 65 3f 20 57 65 20 63 61 6e 27 74 20 6d 61 72 73 68 61 6c ;;.delay/force?.We.can't.marshal
48520 20 61 20 70 72 6f 6d 69 73 65 20 62 65 74 77 65 65 6e 20 52 61 63 6b 65 74 20 62 61 63 6b 0a 20 .a.promise.between.Racket.back..
48540 20 20 20 20 20 3b 3b 20 65 6e 64 20 61 6e 64 20 45 6d 61 63 73 20 66 72 6f 6e 74 20 65 6e 64 2e .....;;.end.and.Emacs.front.end.
48560 20 57 65 20 63 61 6e 20 64 6f 20 74 68 65 20 6d 6f 72 61 6c 20 65 71 75 69 76 61 6c 65 6e 74 3a .We.can.do.the.moral.equivalent:
48580 0a 20 20 20 20 20 20 3b 3b 20 53 69 6d 70 6c 79 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 66 6f .......;;.Simply.return.the.info
485a0 20 74 68 61 74 20 74 68 65 20 66 72 6f 6e 74 20 65 6e 64 20 73 68 6f 75 6c 64 20 67 69 76 65 20 .that.the.front.end.should.give.
485c0 74 6f 20 74 68 65 0a 20 20 20 20 20 20 3b 3b 20 22 64 65 66 2f 64 72 72 22 20 63 6f 6d 6d 61 6e to.the.......;;."def/drr".comman
485e0 64 20 69 66 2f 61 73 2f 77 68 65 6e 20 6e 65 65 64 65 64 2e 0a 20 20 20 20 20 20 28 77 68 65 6e d.if/as/when.needed........(when
48600 20 28 61 6e 64 20 28 76 61 6c 69 64 2d 62 65 67 2f 65 6e 64 3f 20 62 65 67 20 65 6e 64 29 20 28 .(and.(valid-beg/end?.beg.end).(
48620 66 69 6c 65 2d 65 78 69 73 74 73 3f 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 28 64 65 66 file-exists?.path)).........(def
48640 69 6e 65 20 73 72 63 2d 73 74 72 20 28 73 75 62 73 74 72 69 6e 67 20 63 6f 64 65 2d 73 74 72 20 ine.src-str.(substring.code-str.
48660 62 65 67 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 64 72 72 61 63 6b beg.end)).........(define.drrack
48680 65 74 2d 69 64 2d 73 74 72 20 28 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e 67 20 69 64 2d 73 79 6d et-id-str.(symbol->string.id-sym
486a0 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 76 61 6c 2d 6d 61 70 2d 73 65 74 21 20 69 6d )).........(interval-map-set!.im
486c0 2d 6a 75 6d 70 73 20 62 65 67 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -jumps.beg.end..................
486e0 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 70 61 ..........(list.(path->string.pa
48700 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 th).............................
48720 20 20 20 20 20 73 75 62 6d 6f 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....submods....................
48740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 3f 20 64 72 72 61 63 6b ..............(if.(equal?.drrack
48760 65 74 2d 69 64 2d 73 74 72 20 73 72 63 2d 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 et-id-str.src-str)..............
48780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 64 72 ........................(list.dr
487a0 72 61 63 6b 65 74 2d 69 64 2d 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 racket-id-str)..................
487c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 64 72 72 61 63 6b ....................(list.drrack
487e0 65 74 2d 69 64 2d 73 74 72 20 73 72 63 2d 73 74 72 29 29 29 29 29 29 0a 0a 20 20 20 20 28 64 65 et-id-str.src-str))))))......(de
48800 66 69 6e 65 2f 6f 76 65 72 72 69 64 65 20 28 73 79 6e 63 68 65 63 6b 3a 61 64 64 2d 64 6f 63 73 fine/override.(syncheck:add-docs
48820 2d 6d 65 6e 75 20 5f 73 72 63 20 62 65 67 20 65 6e 64 20 5f 73 79 6d 20 5f 6c 61 62 65 6c 20 70 -menu._src.beg.end._sym._label.p
48840 61 74 68 20 5f 61 6e 63 68 6f 72 20 61 6e 63 68 6f 72 2d 74 65 78 74 29 0a 20 20 20 20 20 20 28 ath._anchor.anchor-text).......(
48860 77 68 65 6e 20 28 76 61 6c 69 64 2d 62 65 67 2f 65 6e 64 3f 20 62 65 67 20 65 6e 64 29 0a 20 20 when.(valid-beg/end?.beg.end)...
48880 20 20 20 20 20 20 28 69 6e 74 65 72 76 61 6c 2d 6d 61 70 2d 73 65 74 21 20 69 6d 2d 64 6f 63 73 ......(interval-map-set!.im-docs
488a0 20 62 65 67 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .beg.end........................
488c0 20 20 20 20 28 6c 69 73 74 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 70 61 74 68 29 0a 20 20 ....(list.(path->string.path)...
488e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 ...............................a
48900 6e 63 68 6f 72 2d 74 65 78 74 29 29 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 6f 76 65 72 nchor-text))))......(define/over
48920 72 69 64 65 20 28 73 79 6e 63 68 65 63 6b 3a 61 64 64 2d 75 6e 75 73 65 64 2d 72 65 71 75 69 72 ride.(syncheck:add-unused-requir
48940 65 20 5f 73 72 63 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 76 61 6c e._src.beg.end).......(when.(val
48960 69 64 2d 62 65 67 2f 65 6e 64 3f 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 28 69 6e id-beg/end?.beg.end).........(in
48980 74 65 72 76 61 6c 2d 6d 61 70 2d 73 65 74 21 20 69 6d 2d 75 6e 75 73 65 64 2d 72 65 71 75 69 72 terval-map-set!.im-unused-requir
489a0 65 73 20 62 65 67 20 65 6e 64 20 28 6c 69 73 74 29 29 29 29 0a 0a 20 20 20 20 28 64 65 66 69 6e es.beg.end.(list))))......(defin
489c0 65 2f 6f 76 65 72 72 69 64 65 20 28 73 79 6e 63 68 65 63 6b 3a 61 64 64 2d 72 65 71 75 69 72 65 e/override.(syncheck:add-require
489e0 2d 6f 70 65 6e 2d 6d 65 6e 75 20 5f 73 72 63 20 62 65 67 20 65 6e 64 20 66 69 6c 65 29 0a 20 20 -open-menu._src.beg.end.file)...
48a00 20 20 20 20 28 77 68 65 6e 20 28 76 61 6c 69 64 2d 62 65 67 2f 65 6e 64 3f 20 62 65 67 20 65 6e ....(when.(valid-beg/end?.beg.en
48a20 64 29 0a 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 76 61 6c 2d 6d 61 70 2d 73 65 74 21 20 69 6d d).........(interval-map-set!.im
48a40 2d 72 65 71 75 69 72 65 73 20 62 65 67 20 65 6e 64 20 28 6c 69 73 74 20 66 69 6c 65 29 29 29 29 -requires.beg.end.(list.file))))
48a60 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 67 65 74 2d 61 6e 6e 6f 74 61 ......(define/public.(get-annota
48a80 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 3b 3b 20 4f 62 74 61 69 6e 20 61 6e 79 20 6f 6e 6c 69 6e tions).......;;.Obtain.any.onlin
48aa0 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 6c 6f 67 20 6d 65 73 73 61 67 65 20 76 61 6c 75 65 e-check-syntax.log.message.value
48ac0 73 20 61 6e 64 20 74 72 65 61 74 0a 20 20 20 20 20 20 3b 3b 20 74 68 65 6d 20 61 73 20 6d 6f 75 s.and.treat.......;;.them.as.mou
48ae0 73 65 2d 6f 76 65 72 73 2e 0a 20 20 20 20 20 20 28 66 6f 72 20 28 5b 76 20 28 69 6e 2d 73 65 74 se-overs........(for.([v.(in-set
48b00 20 28 63 75 72 72 65 6e 74 2d 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 29 29 5d .(current-online-check-syntax))]
48b20 29 0a 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 20 28 6c 69 73 74 20 62 65 ).........(match-define.(list.be
48b40 67 20 65 6e 64 20 73 74 72 29 20 76 29 0a 20 20 20 20 20 20 20 20 28 73 65 6e 64 20 74 68 69 73 g.end.str).v).........(send.this
48b60 20 73 79 6e 63 68 65 63 6b 3a 61 64 64 2d 6d 6f 75 73 65 2d 6f 76 65 72 2d 73 74 61 74 75 73 20 .syncheck:add-mouse-over-status.
48b80 22 22 20 62 65 67 20 65 6e 64 20 73 74 72 29 29 0a 0a 20 20 20 20 20 20 3b 3b 20 43 6f 6e 76 65 "".beg.end.str))........;;.Conve
48ba0 72 74 20 68 74 2d 64 65 66 73 2f 75 73 65 73 20 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 64 65 66 rt.ht-defs/uses.to.a.list.of.def
48bc0 73 2c 20 65 61 63 68 20 6f 66 20 77 68 6f 73 65 20 75 73 65 73 0a 20 20 20 20 20 20 3b 3b 20 61 s,.each.of.whose.uses.......;;.a
48be0 72 65 20 73 6f 72 74 65 64 20 62 79 20 70 6f 73 69 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 28 64 re.sorted.by.positions........(d
48c00 65 66 69 6e 65 20 64 65 66 73 2f 75 73 65 73 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 69 efine.defs/uses.........(with-ti
48c20 6d 65 2f 6c 6f 67 20 27 64 65 66 73 2f 75 73 65 73 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 me/log.'defs/uses...........(for
48c40 2f 6c 69 73 74 20 28 5b 28 64 65 66 20 75 73 65 73 29 20 28 69 6e 2d 68 61 73 68 20 68 74 2d 64 /list.([(def.uses).(in-hash.ht-d
48c60 65 66 73 2f 75 73 65 73 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 64 efs/uses)]).............(match-d
48c80 65 66 69 6e 65 20 28 6c 69 73 74 20 73 79 6d 20 72 65 71 20 64 65 66 2d 62 65 67 20 64 65 66 2d efine.(list.sym.req.def-beg.def-
48ca0 65 6e 64 29 20 64 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 64 65 66 end).def).............(list.'def
48cc0 2f 75 73 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 2d 62 65 67 20 /uses...................def-beg.
48ce0 64 65 66 2d 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 20 73 79 def-end...................req.sy
48d00 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 6f 72 74 20 28 73 65 74 2d 3e m...................(sort.(set->
48d20 6c 69 73 74 20 75 73 65 73 29 20 3c 20 23 3a 6b 65 79 20 63 61 72 29 29 29 29 29 0a 20 20 20 20 list.uses).<.#:key.car))))).....
48d40 20 20 28 64 65 66 69 6e 65 20 74 61 72 67 65 74 73 2f 74 61 69 6c 73 0a 20 20 20 20 20 20 20 20 ..(define.targets/tails.........
48d60 28 66 6f 72 2f 6c 69 73 74 20 28 5b 28 74 61 72 67 65 74 20 74 61 69 6c 73 29 20 28 69 6e 2d 68 (for/list.([(target.tails).(in-h
48d80 61 73 68 20 68 74 2d 74 61 69 6c 73 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 ash.ht-tails)])...........(list.
48da0 27 74 61 72 67 65 74 2f 74 61 69 6c 73 20 74 61 72 67 65 74 20 28 73 6f 72 74 20 28 73 65 74 2d 'target/tails.target.(sort.(set-
48dc0 3e 6c 69 73 74 20 74 61 69 6c 73 29 20 3c 29 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 43 6f 6e 76 >list.tails).<)))).......;;.Conv
48de0 65 72 74 20 74 68 65 20 69 6e 74 65 72 76 61 6c 20 6d 61 70 73 20 66 6f 72 20 6f 74 68 65 72 20 ert.the.interval.maps.for.other.
48e00 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 69 6e 74 6f 20 73 69 6d 70 6c 65 0a 20 20 20 20 20 20 3b 3b annotations.into.simple.......;;
48e20 20 6c 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 6c 69 73 74 20 73 79 6d 62 6f 6c 20 .lists.of.the.form.(list.symbol.
48e40 62 65 67 20 65 6e 64 20 76 61 6c 75 65 20 2e 2e 2e 29 2e 20 41 6c 73 6f 20 61 64 64 31 0a 20 20 beg.end.value....)..Also.add1...
48e60 20 20 20 20 3b 3b 20 70 6f 73 69 74 69 6f 6e 73 20 66 6f 72 20 45 6d 61 63 73 2e 0a 20 20 20 20 ....;;.positions.for.Emacs......
48e80 20 20 28 64 65 66 69 6e 65 20 28 69 6d 2d 3e 6c 69 73 74 20 69 6d 20 73 79 6d 20 5b 70 72 6f 63 ..(define.(im->list.im.sym.[proc
48ea0 20 76 61 6c 75 65 73 5d 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 2f 6c 69 73 74 20 28 5b 28 62 .values]).........(for/list.([(b
48ec0 65 67 2f 65 6e 64 20 76 73 29 20 28 69 6e 2d 64 69 63 74 20 69 6d 29 5d 29 0a 20 20 20 20 20 20 eg/end.vs).(in-dict.im)]).......
48ee0 20 20 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 20 28 63 6f 6e 73 20 62 65 67 20 65 6e 64 29 ....(match-define.(cons.beg.end)
48f00 20 62 65 67 2f 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 2a 20 73 79 6d 20 28 .beg/end)...........(list*.sym.(
48f20 61 64 64 31 20 62 65 67 29 20 28 61 64 64 31 20 65 6e 64 29 20 28 70 72 6f 63 20 76 73 29 29 29 add1.beg).(add1.end).(proc.vs)))
48f40 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 28 6d 6f 75 73 65 2d 6f 76 65 72 2d 73 65 74 2d ).......(define.(mouse-over-set-
48f60 3e 72 65 73 75 6c 74 20 76 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 49 74 20 69 73 20 70 6f 73 73 >result.v).........;;.It.is.poss
48f80 69 62 6c 65 20 66 6f 72 20 73 79 6e 63 68 65 63 6b 3a 61 64 64 2d 61 72 72 6f 77 20 74 6f 20 62 ible.for.syncheck:add-arrow.to.b
48fa0 65 20 63 61 6c 6c 65 64 20 62 6f 74 68 0a 20 20 20 20 20 20 20 20 3b 3b 20 77 69 74 68 20 72 65 e.called.both.........;;.with.re
48fc0 71 75 69 72 65 2d 61 72 72 6f 77 3f 20 74 72 75 65 20 61 6e 64 20 66 61 6c 73 65 20 66 6f 72 20 quire-arrow?.true.and.false.for.
48fe0 74 68 65 20 73 61 6d 65 20 62 69 6e 64 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 3b 3b 20 53 65 65 the.same.binding..........;;.See
49000 20 23 36 33 39 2e 20 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 61 73 73 75 6d 65 20 69 74 27 73 .#639..In.that.case,.assume.it's
49020 20 61 63 74 75 61 6c 6c 79 20 69 6d 70 6f 72 74 65 64 20 61 6e 64 0a 20 20 20 20 20 20 20 20 3b .actually.imported.and.........;
49040 3b 20 72 65 6d 6f 76 65 20 22 64 65 66 69 6e 65 64 20 6c 6f 63 61 6c 6c 79 22 20 66 72 6f 6d 20 ;.remove."defined.locally".from.
49060 74 68 65 20 73 65 74 20 6f 66 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 the.set.of.annotations..........
49080 28 6c 65 74 20 28 5b 76 20 28 69 66 20 28 61 6e 64 20 28 73 65 74 2d 6d 65 6d 62 65 72 3f 20 76 (let.([v.(if.(and.(set-member?.v
490a0 20 22 64 65 66 69 6e 65 64 20 6c 6f 63 61 6c 6c 79 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ."defined.locally").............
490c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2f 6f 72 20 28 5b 73 20 28 69 6e 2d 73 65 ..............(for/or.([s.(in-se
490e0 74 20 76 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.v)])..........................
49100 20 20 20 28 72 65 67 65 78 70 2d 6d 61 74 63 68 3f 20 23 22 5e 69 6d 70 6f 72 74 65 64 20 66 72 ...(regexp-match?.#"^imported.fr
49120 6f 6d 22 20 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 om".s)))......................(s
49140 65 74 2d 72 65 6d 6f 76 65 20 76 20 22 64 65 66 69 6e 65 64 20 6c 6f 63 61 6c 6c 79 22 29 0a 20 et-remove.v."defined.locally")..
49160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 29 5d 29 0a 20 20 20 20 20 20 20 ....................v)])........
49180 20 20 20 28 6c 69 73 74 20 3b 69 6d 2d 3e 6c 69 73 74 20 65 78 70 65 63 74 73 20 61 20 6c 69 73 ...(list.;im->list.expects.a.lis
491a0 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6a 6f 69 6e 20 28 73 6f 72 74 20 t............(string-join.(sort.
491c0 28 73 65 74 2d 3e 6c 69 73 74 20 76 29 20 73 74 72 69 6e 67 3c 3d 3f 29 0a 20 20 20 20 20 20 20 (set->list.v).string<=?)........
491e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 3b 20 22 29 29 29 29 0a 20 20 20 20 20 20 3b ................";.")))).......;
49200 3b 20 41 70 70 65 6e 64 20 61 6c 6c 20 61 6e 64 20 73 6f 72 74 20 62 79 20 60 62 65 67 60 20 70 ;.Append.all.and.sort.by.`beg`.p
49220 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 20 28 73 6f 72 74 20 28 61 70 70 65 6e 64 0a 20 20 20 20 osition.......(sort.(append.....
49240 20 20 20 20 20 20 20 20 20 64 65 66 73 2f 75 73 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .........defs/uses..............
49260 74 61 72 67 65 74 73 2f 74 61 69 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6d 2d 3e targets/tails..............(im->
49280 6c 69 73 74 20 69 6d 2d 6d 6f 75 73 65 2d 6f 76 65 72 73 20 20 20 20 20 27 69 6e 66 6f 20 6d 6f list.im-mouse-overs.....'info.mo
492a0 75 73 65 2d 6f 76 65 72 2d 73 65 74 2d 3e 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 use-over-set->result)...........
492c0 20 20 20 28 69 6d 2d 3e 6c 69 73 74 20 69 6d 2d 6a 75 6d 70 73 20 20 20 20 20 20 20 20 20 20 20 ...(im->list.im-jumps...........
492e0 27 6a 75 6d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6d 2d 3e 6c 69 73 74 20 69 6d 'jump)..............(im->list.im
49300 2d 64 6f 63 73 20 20 20 20 20 20 20 20 20 20 20 20 27 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 -docs............'doc)..........
49320 20 20 20 20 28 69 6d 2d 3e 6c 69 73 74 20 69 6d 2d 75 6e 75 73 65 64 2d 72 65 71 75 69 72 65 73 ....(im->list.im-unused-requires
49340 20 27 75 6e 75 73 65 64 2d 72 65 71 75 69 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .'unused-require)..............(
49360 69 6d 2d 3e 6c 69 73 74 20 69 6d 2d 72 65 71 75 69 72 65 73 20 20 20 20 20 20 20 20 27 72 65 71 im->list.im-requires........'req
49380 75 69 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 20 23 3a 6b 65 79 20 63 61 64 72 29 uire)).............<.#:key.cadr)
493a0 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 67 65 74 2d 6c 6f 63 61 6c )......(define/public.(get-local
493c0 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 20 20 20 20 6c 6f -completion-candidates).......lo
493e0 63 61 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 6e 64 69 64 61 74 65 73 29 0a 0a 20 20 20 20 cal-completion-candidates)......
49400 28 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 20 28 67 65 74 2d 69 6d 65 6e 75 2d 69 6e 64 65 78 29 (define/public.(get-imenu-index)
49420 0a 20 20 20 20 20 20 28 6c 65 74 20 68 74 2d 3e 61 6c 69 73 74 20 28 5b 68 74 20 68 74 2d 69 6d .......(let.ht->alist.([ht.ht-im
49440 65 6e 75 5d 29 0a 20 20 20 20 20 20 20 20 28 73 6f 72 74 20 28 66 6f 72 2f 6c 69 73 74 20 28 5b enu]).........(sort.(for/list.([
49460 28 6b 20 76 29 20 28 69 6e 2d 68 61 73 68 20 68 74 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 (k.v).(in-hash.ht)])............
49480 20 20 20 20 20 28 63 6f 6e 73 20 6b 20 28 6d 61 74 63 68 20 76 0a 20 20 20 20 20 20 20 20 20 20 .....(cons.k.(match.v...........
494a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 68 61 73 68 3f 20 68 74 29 20 28 68 ................[(?.hash?.ht).(h
494c0 74 2d 3e 61 6c 69 73 74 20 68 74 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t->alist.ht)]...................
494e0 20 20 20 20 20 20 20 20 5b 28 3f 20 6e 75 6d 62 65 72 3f 20 6e 29 20 6e 5d 29 29 29 0a 20 20 20 ........[(?.number?.n).n])))....
49500 20 20 20 20 20 20 20 20 20 20 20 3c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 6b 65 79 ...........<...............#:key
49520 20 28 6d 61 74 63 68 2d 6c 61 6d 62 64 61 20 5b 28 63 6f 6e 73 20 5f 20 28 3f 20 6e 75 6d 62 65 .(match-lambda.[(cons._.(?.numbe
49540 72 3f 20 6e 29 29 20 6e 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r?.n)).n].......................
49560 20 20 20 20 20 20 20 20 20 20 20 20 5b 5f 20 30 5d 29 29 29 29 0a 0a 20 20 20 20 28 73 75 70 65 ............[_.0]))))......(supe
49580 72 2d 6e 65 77 29 29 29 0a 0a 3b 3b 20 54 79 70 65 64 20 52 61 63 6b 65 74 20 63 61 6e 20 72 65 r-new)))..;;.Typed.Racket.can.re
495a0 70 6f 72 74 20 6d 75 6c 74 69 70 6c 65 20 65 72 72 6f 72 73 2e 20 54 68 65 20 70 72 6f 74 6f 63 port.multiple.errors..The.protoc
495c0 6f 6c 3a 20 69 74 20 63 61 6c 6c 73 0a 3b 3b 20 65 72 72 6f 72 2d 64 69 73 70 6c 61 79 2d 68 61 ol:.it.calls.;;.error-display-ha
495e0 6e 64 6c 65 72 20 66 6f 72 20 65 61 63 68 20 6f 6e 65 2e 20 54 68 65 72 65 20 69 73 20 61 20 66 ndler.for.each.one..There.is.a.f
49600 69 6e 61 6c 2c 20 61 63 74 75 61 6c 0a 3b 3b 20 65 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 61 78 20 inal,.actual.;;.exn:fail:syntax.
49620 72 61 69 73 65 64 2c 20 62 75 74 20 69 74 27 73 20 6e 6f 74 20 75 73 65 66 75 6c 20 66 6f 72 20 raised,.but.it's.not.useful.for.
49640 75 73 3a 20 41 6c 74 68 6f 75 67 68 20 69 74 73 0a 3b 3b 20 73 72 63 6c 6f 63 73 20 63 6f 72 72 us:.Although.its.;;.srclocs.corr
49660 65 73 70 6f 6e 64 20 74 6f 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 73 2c 20 69 74 73 20 6d 65 73 espond.to.the.locations,.its.mes
49680 73 61 67 65 20 69 73 20 6a 75 73 74 20 61 20 73 75 6d 6d 61 72 79 2e 0a 3b 3b 20 48 65 72 65 20 sage.is.just.a.summary..;;.Here.
496a0 77 65 20 63 6f 6c 6c 65 63 74 20 65 61 63 68 20 6d 65 73 73 61 67 65 20 61 6e 64 20 6c 6f 63 61 we.collect.each.message.and.loca
496c0 74 69 6f 6e 20 69 6e 20 61 20 70 61 72 61 6d 65 74 65 72 2c 20 61 6e 64 20 77 68 65 6e 0a 3b 3b tion.in.a.parameter,.and.when.;;
496e0 20 74 68 65 20 66 69 6e 61 6c 20 73 75 6d 6d 61 72 79 20 65 78 6e 20 69 73 20 72 61 69 73 65 64 .the.final.summary.exn.is.raised
49700 2c 20 77 65 20 69 67 6e 6f 72 65 20 69 74 20 61 6e 64 20 75 73 65 20 74 68 65 73 65 2e 20 4e 6f ,.we.ignore.it.and.use.these..No
49720 74 65 0a 3b 3b 20 74 68 61 74 20 54 79 70 65 64 20 52 61 63 6b 65 74 20 69 73 20 74 68 65 20 6f te.;;.that.Typed.Racket.is.the.o
49740 6e 6c 79 20 73 75 63 68 20 65 78 61 6d 70 6c 65 20 49 27 6d 20 61 77 61 72 65 20 6f 66 2c 20 62 nly.such.example.I'm.aware.of,.b
49760 75 74 20 69 66 0a 3b 3b 20 73 6f 6d 65 74 68 69 6e 67 20 65 6c 73 65 20 77 61 6e 74 65 64 20 74 ut.if.;;.something.else.wanted.t
49780 6f 20 72 65 70 6f 72 74 20 6d 75 6c 74 69 70 6c 65 20 65 72 72 6f 72 73 2c 20 61 6e 64 20 69 74 o.report.multiple.errors,.and.it
497a0 20 75 73 65 64 20 61 0a 3b 3b 20 73 69 6d 69 6c 61 72 20 61 70 70 72 6f 61 63 68 2c 20 77 65 27 .used.a.;;.similar.approach,.we'
497c0 64 20 68 61 6e 64 6c 65 20 69 74 20 68 65 72 65 2c 20 74 6f 6f 2e 0a 28 64 65 66 69 6e 65 20 70 d.handle.it.here,.too..(define.p
497e0 72 65 2d 65 78 6e 2d 65 72 72 6f 72 73 20 28 6d 61 6b 65 2d 70 61 72 61 6d 65 74 65 72 20 27 28 re-exn-errors.(make-parameter.'(
49800 29 29 29 0a 28 64 65 66 69 6e 65 20 28 28 6f 75 72 2d 65 72 72 6f 72 2d 64 69 73 70 6c 61 79 2d ))).(define.((our-error-display-
49820 68 61 6e 64 6c 65 72 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 74 72 29 20 6d 73 67 20 65 handler.path-str.code-str).msg.e
49840 78 6e 29 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 65 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 61 xn)...(when.(and.(exn:fail:synta
49860 78 3f 20 65 78 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 6e 3a 73 72 63 6c 6f 63 x?.exn)..............(exn:srcloc
49880 73 3f 20 65 78 6e 29 29 0a 20 20 20 20 28 70 72 65 2d 65 78 6e 2d 65 72 72 6f 72 73 20 28 61 70 s?.exn)).....(pre-exn-errors.(ap
498a0 70 65 6e 64 20 28 70 72 65 2d 65 78 6e 2d 65 72 72 6f 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 pend.(pre-exn-errors)...........
498c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 6e 2d 3e 65 72 72 6f 72 73 20 70 ..................(exn->errors.p
498e0 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 74 72 20 65 78 6e 29 29 29 29 29 0a 0a 28 64 65 66 69 ath-str.code-str.exn)))))..(defi
49900 6e 65 20 28 28 68 61 6e 64 6c 65 2d 66 61 69 6c 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 ne.((handle-fail.path-str.code-s
49920 74 72 29 20 65 29 0a 20 20 28 64 65 66 69 6e 65 20 65 72 72 6f 72 73 0a 20 20 20 20 28 63 6f 6e tr).e)...(define.errors.....(con
49940 64 0a 20 20 20 20 20 20 3b 3b 20 4d 75 6c 74 69 70 6c 65 20 65 72 72 6f 72 73 2e 20 53 65 65 20 d.......;;.Multiple.errors..See.
49960 63 6f 6d 6d 65 6e 74 20 61 62 6f 76 65 2e 0a 20 20 20 20 20 20 5b 28 6e 6f 74 20 28 6e 75 6c 6c comment.above........[(not.(null
49980 3f 20 28 70 72 65 2d 65 78 6e 2d 65 72 72 6f 72 73 29 29 29 0a 20 20 20 20 20 20 20 28 70 72 65 ?.(pre-exn-errors)))........(pre
499a0 2d 65 78 6e 2d 65 72 72 6f 72 73 29 5d 0a 20 20 20 20 20 20 3b 3b 20 54 68 65 20 69 6e 74 65 6e -exn-errors)].......;;.The.inten
499c0 64 65 64 20 75 73 65 20 6f 66 20 65 78 6e 3a 73 72 63 6c 6f 63 73 20 69 73 20 61 20 5f 73 69 6e ded.use.of.exn:srclocs.is.a._sin
499e0 67 6c 65 5f 20 65 72 72 6f 72 2c 20 77 69 74 68 20 7a 65 72 6f 0a 20 20 20 20 20 20 3b 3b 20 6f gle_.error,.with.zero.......;;.o
49a00 72 20 6d 6f 72 65 20 6c 6f 63 61 74 69 6f 6e 73 20 66 72 6f 6d 20 6c 65 61 73 74 20 74 6f 20 6d r.more.locations.from.least.to.m
49a20 6f 73 74 20 73 70 65 63 69 66 69 63 20 2d 2d 20 6e 6f 74 20 6d 75 6c 74 69 70 6c 65 0a 20 20 20 ost.specific.--.not.multiple....
49a40 20 20 20 3b 3b 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 20 5b 28 65 78 6e 3a 73 72 63 6c 6f 63 ...;;.errors........[(exn:srcloc
49a60 73 3f 20 65 29 0a 20 20 20 20 20 20 20 28 65 78 6e 2d 3e 65 72 72 6f 72 73 20 70 61 74 68 2d 73 s?.e)........(exn->errors.path-s
49a80 74 72 20 63 6f 64 65 2d 73 74 72 20 65 29 5d 0a 20 20 20 20 20 20 3b 3b 20 41 20 73 69 6e 67 6c tr.code-str.e)].......;;.A.singl
49aa0 65 20 65 72 72 6f 72 20 77 69 74 68 20 6e 6f 20 73 72 63 6c 6f 63 20 61 74 20 61 6c 6c 2e 20 41 e.error.with.no.srcloc.at.all..A
49ac0 6c 74 68 6f 75 67 68 20 70 72 6f 62 61 62 6c 79 0a 20 20 20 20 20 20 3b 3b 20 75 6e 6c 69 6b 65 lthough.probably.......;;.unlike
49ae0 6c 79 20 77 69 74 68 20 65 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 61 78 20 64 75 72 69 6e 67 20 65 ly.with.exn:fail:syntax.during.e
49b00 78 70 61 6e 73 69 6f 6e 20 28 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 0a 20 20 20 20 20 20 3b 3b xpansion.(as.opposed.to.......;;
49b20 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 73 29 20 64 6f 20 68 61 6e 64 6c 65 20 69 74 3a 0a 20 .runtime.errors).do.handle.it:..
49b40 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 28 64 65 66 61 75 6c 74 2d 65 72 72 6f 72 .....[else........(default-error
49b60 73 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 74 72 20 65 29 5d 29 29 0a 0a 20 20 3b 3b 20 s.path-str.code-str.e)]))....;;.
49b80 45 76 65 6e 20 69 66 20 65 78 70 61 6e 73 69 6f 6e 20 66 61 69 6c 65 64 2c 20 74 68 65 72 65 20 Even.if.expansion.failed,.there.
49ba0 6d 69 67 68 74 20 62 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 66 72 6f 6d 20 74 68 65 0a 20 20 might.be.annotations.from.the...
49bc0 3b 3b 20 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 2d 6c 6f 67 67 65 72 20 70 72 ;;.online-check-syntax-logger.pr
49be0 6f 74 6f 63 6f 6c 20 2d 2d 20 69 6e 64 65 65 64 20 74 68 61 74 20 73 63 65 6e 61 72 69 6f 20 69 otocol.--.indeed.that.scenario.i
49c00 73 20 61 0a 20 20 3b 3b 20 6d 6f 74 69 76 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 70 72 6f 74 s.a...;;.motivation.for.the.prot
49c20 6f 63 6f 6c 20 2d 2d 20 73 6f 20 62 65 20 73 75 72 65 20 74 6f 20 75 73 65 20 74 68 65 6d 20 68 ocol.--.so.be.sure.to.use.them.h
49c40 65 72 65 2e 0a 20 20 28 64 65 66 69 6e 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 28 73 65 6e 64 ere....(define.annotations.(send
49c60 20 28 63 75 72 72 65 6e 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 73 29 20 67 65 74 2d 61 6e 6e 6f 74 .(current-annotations).get-annot
49c80 61 74 69 6f 6e 73 29 29 0a 0a 20 20 28 6c 69 73 74 20 27 63 68 65 63 6b 2d 73 79 6e 74 61 78 2d ations))....(list.'check-syntax-
49ca0 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 65 72 72 6f 72 73 20 20 20 20 errors.........(cons.'errors....
49cc0 20 20 65 72 72 6f 72 73 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 61 6e 6e 6f 74 61 74 ..errors).........(cons.'annotat
49ce0 69 6f 6e 73 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 65 78 ions.annotations)))..(define.(ex
49d00 6e 2d 3e 65 72 72 6f 72 73 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 74 72 20 65 29 0a 20 n->errors.path-str.code-str.e)..
49d20 20 28 64 65 66 69 6e 65 20 28 2d 3e 70 61 74 68 2d 73 74 72 69 6e 67 20 76 29 0a 20 20 20 20 28 .(define.(->path-string.v).....(
49d40 6d 61 74 63 68 20 76 0a 20 20 20 20 20 20 5b 28 3f 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 76 match.v.......[(?.path-string?.v
49d60 29 20 76 5d 0a 20 20 20 20 20 20 5b 28 3f 20 70 61 74 68 3f 20 76 29 20 20 20 20 20 20 20 20 28 ).v].......[(?.path?.v)........(
49d80 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 76 29 5d 29 29 0a 20 20 28 6d 61 74 63 68 20 28 28 65 78 path->string.v)]))...(match.((ex
49da0 6e 3a 73 72 63 6c 6f 63 73 2d 61 63 63 65 73 73 6f 72 20 65 29 20 65 29 0a 20 20 20 20 5b 28 6c n:srclocs-accessor.e).e).....[(l
49dc0 69 73 74 29 0a 20 20 20 20 20 28 6d 61 74 63 68 20 65 0a 20 20 20 20 20 20 20 3b 3b 20 65 78 6e ist)......(match.e........;;.exn
49de0 3a 66 61 69 6c 3a 73 79 6e 74 61 78 20 61 6e 64 20 65 78 6e 3a 66 61 69 6c 3a 72 65 61 64 20 63 :fail:syntax.and.exn:fail:read.c
49e00 61 6e 20 68 61 76 65 20 65 6d 70 74 79 20 73 72 63 6c 6f 63 73 0a 20 20 20 20 20 20 20 3b 3b 20 an.have.empty.srclocs........;;.
49e20 6c 69 73 74 20 2d 2d 20 62 75 74 20 61 64 64 69 74 69 6f 6e 61 6c 20 73 74 72 75 63 74 20 6d 65 list.--.but.additional.struct.me
49e40 6d 62 65 72 20 68 61 73 20 6c 69 73 74 20 6f 66 20 73 79 6e 74 61 78 65 73 0a 20 20 20 20 20 20 mber.has.list.of.syntaxes.......
49e60 20 3b 3b 20 66 72 6f 6d 20 6c 65 61 73 74 20 74 6f 20 6d 6f 73 74 20 73 70 65 63 69 66 69 63 2e .;;.from.least.to.most.specific.
49e80 20 55 73 65 20 74 68 65 20 6d 6f 73 74 2d 73 70 65 63 69 66 69 63 2c 20 6f 6e 6c 79 2e 0a 20 20 .Use.the.most-specific,.only....
49ea0 20 20 20 20 20 5b 28 6f 72 20 28 65 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 61 78 20 6d 73 67 20 5f .....[(or.(exn:fail:syntax.msg._
49ec0 6d 61 72 6b 73 20 28 6c 69 73 74 20 5f 20 2e 2e 2e 20 73 74 78 29 29 0a 20 20 20 20 20 20 20 20 marks.(list._.....stx)).........
49ee0 20 20 20 20 28 65 78 6e 3a 66 61 69 6c 3a 72 65 61 64 20 20 20 6d 73 67 20 5f 6d 61 72 6b 73 20 ....(exn:fail:read...msg._marks.
49f00 28 6c 69 73 74 20 5f 20 2e 2e 2e 20 73 74 78 29 29 29 0a 20 20 20 20 20 20 20 20 23 3a 77 68 65 (list._.....stx))).........#:whe
49f20 6e 20 28 6e 6f 74 20 28 65 78 6e 3a 66 61 69 6c 3a 72 65 61 64 3a 65 6f 66 3f 20 65 29 29 0a 20 n.(not.(exn:fail:read:eof?.e))..
49f40 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 70 6f 73 20 20 28 73 79 6e 74 61 78 2d 70 6f 73 69 .......(define.pos..(syntax-posi
49f60 74 69 6f 6e 20 73 74 78 29 29 0a 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 73 70 61 6e 20 tion.stx)).........(define.span.
49f80 28 73 79 6e 74 61 78 2d 73 70 61 6e 20 73 74 78 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 (syntax-span.stx)).........(cond
49fa0 20 5b 28 61 6e 64 20 70 6f 73 20 73 70 61 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .[(and.pos.span)................
49fc0 28 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 65 72 72 (list.................(list.'err
49fe0 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 3e 70 61 74 68 or.......................(->path
4a000 2d 73 74 72 69 6e 67 20 28 6f 72 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 73 74 78 29 20 -string.(or.(syntax-source.stx).
4a020 70 61 74 68 2d 73 74 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 path-str))......................
4a040 20 70 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 70 6f .pos.......................(+.po
4a060 73 20 73 70 61 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 s.span).......................ms
4a080 67 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 28 64 65 66 61 75 6c g))]...............[else.(defaul
4a0a0 74 2d 65 72 72 6f 72 73 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 74 72 20 65 29 5d 29 5d t-errors.path-str.code-str.e)])]
4a0c0 0a 20 20 20 20 20 20 20 5b 5f 20 28 64 65 66 61 75 6c 74 2d 65 72 72 6f 72 73 20 70 61 74 68 2d ........[_.(default-errors.path-
4a0e0 73 74 72 20 63 6f 64 65 2d 73 74 72 20 65 29 5d 29 5d 0a 20 20 20 20 5b 28 6c 69 73 74 20 5f 20 str.code-str.e)])].....[(list._.
4a100 2e 2e 2e 20 28 3f 20 73 72 63 6c 6f 63 3f 20 6d 6f 73 74 2d 73 70 65 63 69 66 69 63 29 29 0a 20 ....(?.srcloc?.most-specific))..
4a120 20 20 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 20 28 73 72 63 6c 6f 63 20 70 61 74 68 20 5f ....(match-define.(srcloc.path._
4a140 20 5f 20 70 6f 73 20 73 70 61 6e 29 20 6d 6f 73 74 2d 73 70 65 63 69 66 69 63 29 0a 20 20 20 20 ._.pos.span).most-specific).....
4a160 20 28 6c 69 73 74 0a 20 20 20 20 20 20 28 6c 69 73 74 20 27 65 72 72 6f 72 0a 20 20 20 20 20 20 .(list.......(list.'error.......
4a180 20 20 20 20 20 20 28 2d 3e 70 61 74 68 2d 73 74 72 69 6e 67 20 70 61 74 68 29 0a 20 20 20 20 20 ......(->path-string.path)......
4a1a0 20 20 20 20 20 20 20 70 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 70 6f 73 20 73 70 .......pos.............(+.pos.sp
4a1c0 61 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 6e 2d 6d 65 73 73 61 67 65 20 65 29 29 an).............(exn-message.e))
4a1e0 29 5d 0a 20 20 20 20 5b 5f 20 28 64 65 66 61 75 6c 74 2d 65 72 72 6f 72 73 20 70 61 74 68 2d 73 )].....[_.(default-errors.path-s
4a200 74 72 20 63 6f 64 65 2d 73 74 72 20 65 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 64 65 66 61 tr.code-str.e)]))..(define.(defa
4a220 75 6c 74 2d 65 72 72 6f 72 73 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 74 72 20 65 29 0a ult-errors.path-str.code-str.e).
4a240 20 20 3b 3b 20 41 73 20 61 20 66 61 6c 6c 62 61 63 6b 2c 20 68 65 72 65 2c 20 77 65 20 65 78 74 ..;;.As.a.fallback,.here,.we.ext
4a260 72 61 63 74 20 70 6f 73 69 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 65 78 6e 2d 6d 65 73 73 61 ract.position.from.the.exn-messa
4a280 67 65 2e 0a 20 20 3b 3b 20 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20 74 68 61 74 27 73 20 6c 69 ge....;;.Unfortunately.that's.li
4a2a0 6e 65 3a 63 6f 6c 20 61 6e 64 20 77 65 20 6e 65 65 64 20 74 6f 20 72 65 74 75 72 6e 20 62 65 67 ne:col.and.we.need.to.return.beg
4a2c0 3a 65 6e 64 2e 0a 20 20 28 64 65 66 69 6e 65 20 70 6f 73 20 28 65 78 6e 2d 6d 65 73 73 61 67 65 :end....(define.pos.(exn-message
4a2e0 2d 3e 70 6f 73 20 63 6f 64 65 2d 73 74 72 20 28 65 78 6e 2d 6d 65 73 73 61 67 65 20 65 29 29 29 ->pos.code-str.(exn-message.e)))
4a300 0a 20 20 28 6c 69 73 74 0a 20 20 20 28 6c 69 73 74 20 27 65 72 72 6f 72 0a 20 20 20 20 20 20 20 ...(list....(list.'error........
4a320 20 20 70 61 74 68 2d 73 74 72 0a 20 20 20 20 20 20 20 20 20 70 6f 73 0a 20 20 20 20 20 20 20 20 ..path-str..........pos.........
4a340 20 28 61 64 64 31 20 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 28 65 78 6e 2d 6d 65 73 73 61 67 .(add1.pos)..........(exn-messag
4a360 65 20 65 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 65 78 6e 2d 6d 65 73 73 61 67 65 2d 3e 70 e.e))))..(define.(exn-message->p
4a380 6f 73 20 63 6f 64 65 2d 73 74 72 20 6d 73 67 29 0a 20 20 28 6d 61 74 63 68 20 6d 73 67 0a 20 20 os.code-str.msg)...(match.msg...
4a3a0 20 20 5b 28 70 72 65 67 65 78 70 20 22 5e 2e 2b 3f 3a 28 5c 5c 64 2b 29 5b 3a 2e 5d 28 5c 5c 64 ..[(pregexp."^.+?:(\\d+)[:.](\\d
4a3c0 2b 29 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 5f 20 28 61 70 70 +):."...............(list._.(app
4a3e0 20 73 74 72 69 6e 67 2d 3e 6e 75 6d 62 65 72 20 6c 69 6e 65 29 20 28 61 70 70 20 73 74 72 69 6e .string->number.line).(app.strin
4a400 67 2d 3e 6e 75 6d 62 65 72 20 63 6f 6c 29 29 29 0a 20 20 20 20 20 28 64 65 66 69 6e 65 20 69 6e g->number.col)))......(define.in
4a420 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 69 6e 67 20 63 6f 64 65 2d 73 74 72 29 29 0a 20 .(open-input-string.code-str))..
4a440 20 20 20 20 28 70 6f 72 74 2d 63 6f 75 6e 74 2d 6c 69 6e 65 73 21 20 69 6e 29 0a 20 20 20 20 20 ....(port-count-lines!.in)......
4a460 28 6c 65 74 20 6c 6f 6f 70 20 28 5b 6e 20 31 5d 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 64 20 5b (let.loop.([n.1])........(cond.[
4a480 28 3d 20 6e 20 6c 69 6e 65 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 (=.n.line)...................(+.
4a4a0 31 20 28 66 69 6c 65 2d 70 6f 73 69 74 69 6f 6e 20 69 6e 29 20 63 6f 6c 29 5d 0a 20 20 20 20 20 1.(file-position.in).col)]......
4a4c0 20 20 20 20 20 20 20 20 5b 28 65 6f 66 2d 6f 62 6a 65 63 74 3f 20 28 72 65 61 64 2d 6c 69 6e 65 ........[(eof-object?.(read-line
4a4e0 20 69 6e 29 29 20 31 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 20 20 20 20 .in)).1]..............[else.....
4a500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 28 61 64 64 31 20 ....................(loop.(add1.
4a520 6e 29 29 5d 29 29 5d 0a 20 20 20 20 5b 5f 20 31 5d 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 n))]))].....[_.1]))..(module+.te
4a540 73 74 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 0a 20 20 20 28 65 78 6e 2d 6d 65 73 73 61 st...(check-equal?....(exn-messa
4a560 67 65 2d 3e 70 6f 73 20 22 31 32 5c 6e 34 35 36 37 5c 6e 39 22 0a 20 20 20 20 20 20 20 20 20 20 ge->pos."12\n4567\n9"...........
4a580 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20 20 20 20 5e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........;......^.............
4a5a0 20 20 20 20 20 20 20 20 20 22 2f 70 61 74 68 2f 74 6f 2f 66 6f 6f 2e 72 6b 74 3a 32 3a 32 3a 20 ........."/path/to/foo.rkt:2:2:.
4a5c0 73 6f 6d 65 20 70 72 6f 62 6c 65 6d 22 29 0a 20 20 20 36 29 0a 20 20 28 63 68 65 63 6b 2d 65 71 some.problem")....6)...(check-eq
4a5e0 75 61 6c 3f 0a 20 20 20 28 65 78 6e 2d 6d 65 73 73 61 67 65 2d 3e 70 6f 73 20 22 30 31 32 5c 6e ual?....(exn-message->pos."012\n
4a600 34 35 36 37 5c 6e 39 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 4567\n9"......................;.
4a620 20 20 20 20 20 20 5e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2f 70 ......^......................"/p
4a640 61 74 68 2f 74 6f 2f 66 6f 6f 2e 72 6b 74 3a 39 39 39 3a 32 3a 20 73 6f 6d 65 20 70 72 6f 62 6c ath/to/foo.rkt:999:2:.some.probl
4a660 65 6d 22 29 0a 20 20 20 31 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 65 78 61 6d 70 6c 65 0a 20 20 em")....1))..(module+.example...
4a680 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 2f 66 69 6c 65 29 0a 20 20 28 64 65 66 69 6e 65 20 (require.racket/file)...(define.
4a6a0 28 63 68 65 63 6b 2d 66 69 6c 65 20 70 61 74 68 29 0a 20 20 20 20 28 74 69 6d 65 20 28 64 6f 2d (check-file.path).....(time.(do-
4a6c0 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 70 61 74 68 20 28 66 69 6c 65 2d 3e 73 74 72 69 6e 67 20 check-syntax.path.(file->string.
4a6e0 70 61 74 68 29 29 29 29 0a 20 20 28 63 68 65 63 6b 2d 66 69 6c 65 20 28 70 61 74 68 2d 3e 73 74 path))))...(check-file.(path->st
4a700 72 69 6e 67 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 23 27 68 65 72 65 29 29 29 29 0a 0a ring.(syntax-source.#'here))))..
4a720 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 65 74 2f (module+.test...(require.racket/
4a740 66 69 6c 65 29 0a 20 20 28 64 65 66 69 6e 65 20 28 63 68 65 63 6b 2d 74 68 69 73 2d 66 69 6c 65 file)...(define.(check-this-file
4a760 20 70 61 74 68 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 6e 6f 74 2d 65 78 6e 0a 20 20 20 20 20 28 .path).....(check-not-exn......(
4a780 ce bb 20 28 29 0a 20 20 20 20 20 20 20 28 74 69 6d 65 20 28 64 6f 2d 63 68 65 63 6b 2d 73 79 6e ...()........(time.(do-check-syn
4a7a0 74 61 78 20 70 61 74 68 20 28 66 69 6c 65 2d 3e 73 74 72 69 6e 67 20 70 61 74 68 29 29 29 29 29 tax.path.(file->string.path)))))
4a7c0 29 0a 20 20 3b 3b 20 54 77 69 63 65 20 74 6f 20 65 78 65 72 63 69 73 65 20 61 6e 64 20 74 65 73 )...;;.Twice.to.exercise.and.tes
4a7e0 74 20 63 61 63 68 65 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 63 68 65 63 6b 2d 74 t.cache...(check-equal?.(check-t
4a800 68 69 73 2d 66 69 6c 65 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 28 73 79 6e 74 61 78 2d 73 his-file.(path->string.(syntax-s
4a820 6f 75 72 63 65 20 23 27 68 65 72 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ource.#'here))).................
4a840 28 63 68 65 63 6b 2d 74 68 69 73 2d 66 69 6c 65 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 28 (check-this-file.(path->string.(
4a860 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 23 27 68 65 72 65 29 29 29 29 29 0a 0a 28 6d 6f 64 75 syntax-source.#'here)))))..(modu
4a880 6c 65 2b 20 73 6c 6f 77 2d 74 65 73 74 0a 20 20 3b 3b 20 54 6f 20 61 20 6c 61 72 67 65 20 65 78 le+.slow-test...;;.To.a.large.ex
4a8a0 74 65 6e 74 20 74 68 69 73 20 69 73 20 61 20 74 65 73 74 20 6f 66 20 74 68 65 20 73 79 6e 74 61 tent.this.is.a.test.of.the.synta
4a8c0 78 20 63 61 63 68 65 20 69 6e 0a 20 20 3b 3b 20 73 79 6e 74 61 78 2e 72 6b 74 20 2d 2d 20 61 20 x.cache.in...;;.syntax.rkt.--.a.
4a8e0 73 61 6e 69 74 79 20 63 68 65 63 6b 20 74 68 61 74 20 74 68 65 20 65 76 69 63 74 69 6f 6e 20 73 sanity.check.that.the.eviction.s
4a900 74 72 61 74 65 67 79 20 69 73 0a 20 20 3b 3b 20 77 6f 72 6b 69 6e 67 20 74 6f 20 61 76 6f 69 64 trategy.is...;;.working.to.avoid
4a920 20 61 6e 20 75 6e 62 6f 75 6e 64 65 64 20 61 6e 64 20 65 78 63 65 73 73 69 76 65 20 67 72 6f 77 .an.unbounded.and.excessive.grow
4a940 74 68 20 69 6e 0a 20 20 3b 3b 20 63 75 72 72 65 6e 74 2d 6d 65 6d 6f 72 79 2d 75 73 65 2e 0a 20 th.in...;;.current-memory-use...
4a960 20 3b 3b 0a 20 20 3b 3b 20 50 72 6f 62 61 62 6c 79 20 6d 6f 73 74 20 63 6f 6e 73 69 73 74 65 6e .;;...;;.Probably.most.consisten
4a980 74 20 77 61 79 20 74 6f 20 72 75 6e 20 69 73 20 6f 75 74 73 69 64 65 20 45 6d 61 63 73 20 77 69 t.way.to.run.is.outside.Emacs.wi
4a9a0 74 68 3a 0a 20 20 3b 3b 0a 20 20 3b 3b 20 20 20 72 61 63 6f 20 74 65 73 74 20 2d 2d 73 75 62 6d th:...;;...;;...raco.test.--subm
4a9c0 6f 64 75 6c 65 20 73 6c 6f 77 2d 74 65 73 74 20 63 68 65 63 6b 2d 73 79 6e 74 61 78 2e 72 6b 74 odule.slow-test.check-syntax.rkt
4a9e0 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 ...(require.rackunit............
4aa00 72 61 63 6b 65 74 2f 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 70 61 racket/file............racket/pa
4aa20 74 68 29 0a 20 20 28 66 6f 72 20 28 5b 5f 20 32 5d 29 20 28 63 6f 6c 6c 65 63 74 2d 67 61 72 62 th)...(for.([_.2]).(collect-garb
4aa40 61 67 65 29 29 0a 20 20 28 64 65 66 69 6e 65 20 73 74 61 72 74 20 28 63 75 72 72 65 6e 74 2d 73 age))...(define.start.(current-s
4aa60 65 63 6f 6e 64 73 29 29 0a 20 20 28 64 65 66 69 6e 65 20 6c 65 61 73 74 20 28 63 75 72 72 65 6e econds))...(define.least.(curren
4aa80 74 2d 6d 65 6d 6f 72 79 2d 75 73 65 29 29 0a 20 20 28 64 65 66 69 6e 65 20 6d 6f 73 74 20 20 6c t-memory-use))...(define.most..l
4aaa0 65 61 73 74 29 0a 20 20 28 64 65 66 69 6e 65 20 63 6f 75 6e 74 20 30 29 0a 20 20 28 66 6f 72 2a east)...(define.count.0)...(for*
4aac0 20 28 5b 72 6f 6f 74 73 20 28 69 6e 2d 6c 69 73 74 20 27 28 28 22 72 61 63 6b 65 74 2e 72 6b 74 .([roots.(in-list.'(("racket.rkt
4aae0 22 20 22 74 79 70 65 64 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "."typed")......................
4ab00 20 20 20 20 20 20 28 22 63 6f 72 65 2e 72 6b 74 22 20 22 74 79 70 65 64 2d 72 61 63 6b 65 74 22 ......("core.rkt"."typed-racket"
4ab20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 6d )............................("m
4ab40 61 69 6e 2e 72 6b 74 22 20 22 72 61 63 6b 65 74 22 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 5b ain.rkt"."racket")))]..........[
4ab60 70 61 74 68 20 20 28 69 6e 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 path..(in-directory.............
4ab80 20 20 20 20 20 28 70 61 74 68 2d 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(path-only.................
4aba0 20 20 28 61 70 70 6c 79 20 63 6f 6c 6c 65 63 74 69 6f 6e 2d 66 69 6c 65 2d 70 61 74 68 20 72 6f ..(apply.collection-file-path.ro
4abc0 6f 74 73 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 23 3a 77 68 65 6e 20 28 65 71 75 61 6c 3f 20 ots)))]..........#:when.(equal?.
4abe0 23 22 72 6b 74 22 20 28 66 69 6c 65 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 70 61 74 68 29 #"rkt".(filename-extension.path)
4ac00 29 29 0a 20 20 20 20 28 73 65 74 21 20 63 6f 75 6e 74 20 28 61 64 64 31 20 63 6f 75 6e 74 29 29 )).....(set!.count.(add1.count))
4ac20 0a 20 20 20 20 28 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 .....(check-syntax.(path->string
4ac40 20 70 61 74 68 29 20 28 66 69 6c 65 2d 3e 73 74 72 69 6e 67 20 70 61 74 68 29 29 0a 20 20 20 20 .path).(file->string.path)).....
4ac60 28 64 65 66 69 6e 65 20 61 66 74 65 72 20 28 63 75 72 72 65 6e 74 2d 6d 65 6d 6f 72 79 2d 75 73 (define.after.(current-memory-us
4ac80 65 29 29 0a 20 20 20 20 28 70 72 69 6e 74 66 20 22 7e 61 2c 20 7e 61 2c 20 7e 76 5c 6e 22 20 63 e)).....(printf."~a,.~a,.~v\n".c
4aca0 6f 75 6e 74 20 61 66 74 65 72 20 28 70 61 74 68 2d 3e 73 74 72 69 6e 67 20 70 61 74 68 29 29 0a ount.after.(path->string.path)).
4acc0 20 20 20 20 28 73 65 74 21 20 6c 65 61 73 74 20 28 6d 69 6e 20 6c 65 61 73 74 20 61 66 74 65 72 ....(set!.least.(min.least.after
4ace0 29 29 0a 20 20 20 20 28 73 65 74 21 20 6d 6f 73 74 20 20 28 6d 61 78 20 6d 6f 73 74 20 20 61 66 )).....(set!.most..(max.most..af
4ad00 74 65 72 29 29 29 0a 20 20 28 70 72 69 6e 74 66 20 22 54 69 6d 65 3a 20 20 7e 61 20 73 65 63 6f ter)))...(printf."Time:..~a.seco
4ad20 6e 64 73 5c 6e 22 20 28 2d 20 28 63 75 72 72 65 6e 74 2d 73 65 63 6f 6e 64 73 29 20 73 74 61 72 nds\n".(-.(current-seconds).star
4ad40 74 29 29 0a 20 20 28 70 72 69 6e 74 66 20 22 4c 65 61 73 74 3a 20 7e 61 20 62 79 74 65 73 5c 6e t))...(printf."Least:.~a.bytes\n
4ad60 22 20 6c 65 61 73 74 29 0a 20 20 28 70 72 69 6e 74 66 20 22 4d 6f 73 74 3a 20 20 7e 61 20 62 79 ".least)...(printf."Most:..~a.by
4ad80 74 65 73 5c 6e 22 20 6d 6f 73 74 29 0a 20 20 28 64 65 66 69 6e 65 20 6d 65 6d 2d 75 73 65 2d 64 tes\n".most)...(define.mem-use-d
4ada0 69 66 66 20 28 2d 20 6d 6f 73 74 20 6c 65 61 73 74 29 29 0a 20 20 28 70 72 69 6e 74 66 20 22 44 iff.(-.most.least))...(printf."D
4adc0 69 66 66 3a 20 20 7e 61 20 62 79 74 65 73 5c 6e 22 20 6d 65 6d 2d 75 73 65 2d 64 69 66 66 29 0a iff:..~a.bytes\n".mem-use-diff).
4ade0 20 20 28 63 68 65 63 6b 2d 74 72 75 65 20 28 3c 20 6d 65 6d 2d 75 73 65 2d 64 69 66 66 20 37 30 ..(check-true.(<.mem-use-diff.70
4ae00 30 30 30 30 30 30 30 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000)))......................
4ae20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ae40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ae60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ae80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4aec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4aee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4af00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4af20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4af40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b000 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
4b020 72 61 63 6b 65 74 2f 63 6f 6d 6d 61 6e 64 73 2f 68 65 6c 70 2e 72 6b 74 00 00 00 00 00 00 00 00 racket/commands/help.rkt........
4b040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
4b080 30 30 30 32 33 35 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 30 33 37 37 00 20 30 00 00 00 0002355.00000000000.020377..0...
4b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
4b120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
4b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b200 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
4b220 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
4b240 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
4b260 61 6e 67 20 61 74 2d 65 78 70 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 ang.at-exp.racket/base..(require
4b280 20 28 6f 6e 6c 79 2d 69 6e 20 73 63 72 69 62 62 6c 65 2f 63 6f 72 65 20 74 61 67 3f 29 0a 20 20 .(only-in.scribble/core.tag?)...
4b2a0 20 20 20 20 20 20 20 73 63 72 69 62 62 6c 65 2f 78 72 65 66 0a 20 20 20 20 20 20 20 20 20 73 65 .......scribble/xref..........se
4b2c0 74 75 70 2f 78 72 65 66 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 63 6f 6e 74 72 61 63 tup/xref..........racket/contrac
4b2e0 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 t..........racket/format........
4b300 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 22 2e 2e 2f 69 64 65 6e 74 ..racket/match........."../ident
4b320 69 66 69 65 72 2e 72 6b 74 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 64 6f 63 29 0a 0a 3b 3b 20 4f ifier.rkt")..(provide.doc)..;;.O
4b340 6e 63 65 20 75 70 6f 6e 20 61 20 74 69 6d 65 2c 20 79 6f 75 20 63 6f 75 6c 64 20 65 6e 74 65 72 nce.upon.a.time,.you.could.enter
4b360 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 74 68 65 20 52 45 50 4c 20 6c 69 6b 65 20 22 2c 64 6f 63 .commands.in.the.REPL.like.",doc
4b380 22 2e 0a 3b 3b 20 49 74 20 6d 61 64 65 20 73 65 6e 73 65 20 74 6f 20 6f 70 65 6e 20 74 68 65 20 "..;;.It.made.sense.to.open.the.
4b3a0 62 72 6f 77 73 65 72 20 68 65 72 65 20 2d 2d 20 64 65 73 70 69 74 65 20 6e 65 65 64 69 6e 67 20 browser.here.--.despite.needing.
4b3c0 6a 75 6e 6b 20 74 6f 0a 3b 3b 20 63 6f 6e 76 69 6e 63 65 20 6d 61 63 4f 53 20 74 6f 20 6f 70 65 junk.to.;;.convince.macOS.to.ope
4b3e0 6e 20 61 20 66 69 6c 65 3a 20 55 52 4c 20 75 73 69 6e 67 20 61 6e 63 68 6f 72 73 20 61 2e 6b 2e n.a.file:.URL.using.anchors.a.k.
4b400 61 2e 20 66 72 61 67 6d 65 6e 74 73 2e 0a 3b 3b 0a 3b 3b 20 42 75 74 20 6e 6f 77 61 64 61 79 73 a..fragments..;;.;;.But.nowadays
4b420 3f 20 4a 75 73 74 20 72 65 74 75 72 6e 20 74 68 65 20 55 52 4c 2e 20 4c 65 74 20 45 6d 61 63 73 ?.Just.return.the.URL..Let.Emacs
4b440 20 6f 70 65 6e 20 74 68 65 20 62 72 6f 77 73 65 72 2e 0a 3b 3b 20 45 73 70 65 63 69 61 6c 6c 79 .open.the.browser..;;.Especially
4b460 20 62 65 63 61 75 73 65 20 6e 6f 77 20 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 73 6f 6d 65 74 69 .because.now.check-syntax.someti
4b480 6d 65 73 20 72 65 74 75 72 6e 73 20 61 20 68 65 6c 70 20 55 52 4c 2c 0a 3b 3b 20 69 6e 20 77 68 mes.returns.a.help.URL,.;;.in.wh
4b4a0 69 63 68 20 63 61 73 65 20 74 68 65 20 66 72 6f 6e 74 20 65 6e 64 20 73 68 6f 75 6c 64 20 6a 75 ich.case.the.front.end.should.ju
4b4c0 73 74 20 6f 70 65 6e 20 74 68 65 20 62 72 6f 77 73 65 72 2e 20 47 69 76 65 6e 0a 3b 3b 20 74 68 st.open.the.browser..Given.;;.th
4b4e0 61 74 20 63 61 73 65 2c 20 6c 65 74 27 73 20 61 6c 77 61 79 73 20 6f 70 65 6e 20 74 68 65 20 62 at.case,.let's.always.open.the.b
4b500 72 6f 77 73 65 72 20 6f 6e 65 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 61 79 20 2d 2d 20 69 6e 0a rowser.one.consistent.way.--.in.
4b520 3b 3b 20 45 6d 61 63 73 20 75 73 69 6e 67 20 62 72 6f 77 73 65 2d 75 72 6c 2e 0a 0a 3b 3b 20 57 ;;.Emacs.using.browse-url...;;.W
4b540 65 20 61 72 65 20 6c 61 7a 79 2d 72 65 71 75 69 72 65 64 20 73 6f 20 60 64 65 6c 61 79 60 2d 69 e.are.lazy-required.so.`delay`-i
4b560 6e 67 20 77 6f 75 6c 64 20 62 65 20 4e 2f 41 2e 0a 28 64 65 66 69 6e 65 20 78 72 65 66 20 28 6c ng.would.be.N/A..(define.xref.(l
4b580 6f 61 64 2d 63 6f 6c 6c 65 63 74 69 6f 6e 73 2d 78 72 65 66 29 29 0a 0a 28 64 65 66 69 6e 65 2f oad-collections-xref))..(define/
4b5a0 63 6f 6e 74 72 61 63 74 20 28 64 6f 63 20 68 6f 77 20 73 74 72 29 0a 20 20 28 2d 3e 20 68 6f 77 contract.(doc.how.str)...(->.how
4b5c0 2f 63 20 73 74 72 69 6e 67 3f 20 28 6f 72 2f 63 20 23 66 20 73 74 72 69 6e 67 3f 29 29 0a 20 20 /c.string?.(or/c.#f.string?))...
4b5e0 28 2d 3e 69 64 65 6e 74 69 66 69 65 72 20 68 6f 77 20 73 74 72 20 73 74 78 2d 3e 75 72 69 2d 73 (->identifier.how.str.stx->uri-s
4b600 74 72 69 6e 67 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 73 74 78 2d 3e 75 72 69 2d 73 74 72 69 6e tring))..(define.(stx->uri-strin
4b620 67 20 73 74 78 29 0a 20 20 28 6d 61 74 63 68 20 28 61 6e 64 20 78 72 65 66 20 28 78 72 65 66 2d g.stx)...(match.(and.xref.(xref-
4b640 62 69 6e 64 69 6e 67 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 74 61 67 20 78 72 65 66 20 73 74 78 binding->definition-tag.xref.stx
4b660 20 30 29 29 0a 20 20 20 20 5b 28 3f 20 74 61 67 3f 20 74 61 67 29 0a 20 20 20 20 20 28 64 65 66 .0)).....[(?.tag?.tag)......(def
4b680 69 6e 65 2d 76 61 6c 75 65 73 20 28 70 61 74 68 20 61 6e 63 68 6f 72 29 20 28 78 72 65 66 2d 74 ine-values.(path.anchor).(xref-t
4b6a0 61 67 2d 3e 70 61 74 68 2b 61 6e 63 68 6f 72 20 78 72 65 66 20 74 61 67 29 29 0a 20 20 20 20 20 ag->path+anchor.xref.tag))......
4b6c0 28 7e 61 20 22 66 69 6c 65 3a 2f 2f 22 20 70 61 74 68 20 22 23 22 20 61 6e 63 68 6f 72 29 5d 0a (~a."file://".path."#".anchor)].
4b6e0 20 20 20 20 5b 5f 20 23 66 5d 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....[_.#f]))....................
4b700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b800 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
4b820 72 61 63 6b 65 74 2f 63 6f 6d 6d 61 6e 64 73 2f 72 65 71 75 69 72 65 73 2e 72 6b 74 00 00 00 00 racket/commands/requires.rkt....
4b840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
4b880 30 30 34 32 34 37 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 31 33 31 34 00 20 30 00 00 00 0042474.00000000000.021314..0...
4b8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
4b920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
4b940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ba00 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
4ba20 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
4ba40 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
4ba60 61 6e 67 20 61 74 2d 65 78 70 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 ang.at-exp.racket/base..(require
4ba80 20 72 61 63 6b 65 74 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 .racket/contract..........racket
4baa0 2f 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 75 6e 63 74 69 6f 6e /format..........racket/function
4bac0 0a 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 72 61 63 6b 65 74 2f 6c 69 73 74 20 61 ..........(only-in.racket/list.a
4bae0 70 70 65 6e 64 2a 20 61 70 70 65 6e 64 2d 6d 61 70 20 61 64 64 2d 62 65 74 77 65 65 6e 20 66 69 ppend*.append-map.add-between.fi
4bb00 6c 74 65 72 2d 6d 61 70 29 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a lter-map)..........racket/match.
4bb20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 73 65 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 .........racket/set..........rac
4bb40 6b 65 74 2f 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 22 2e 2e 2f 75 74 69 6c 2e 72 6b 74 ket/string.........."../util.rkt
4bb60 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 72 65 71 75 69 72 65 73 2f 74 69 64 79 0a 20 20 20 20 20 ")..(provide.requires/tidy......
4bb80 20 20 20 20 72 65 71 75 69 72 65 73 2f 74 72 69 6d 0a 20 20 20 20 20 20 20 20 20 72 65 71 75 69 ....requires/trim..........requi
4bba0 72 65 73 2f 62 61 73 65 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 72 65 71 75 res/base)..(module+.test...(requ
4bbc0 69 72 65 20 72 61 63 6b 75 6e 69 74 29 29 0a 0a 28 64 65 66 69 6e 65 20 72 65 71 75 69 72 65 2d ire.rackunit))..(define.require-
4bbe0 73 75 62 66 6f 72 6d 3f 20 28 6f 72 2f 63 20 6d 6f 64 75 6c 65 2d 70 61 74 68 3f 20 6c 69 73 74 subform?.(or/c.module-path?.list
4bc00 3f 29 29 0a 28 64 65 66 69 6e 65 20 72 65 71 75 69 72 65 2d 66 6f 72 6d 3f 20 28 63 6f 6e 73 2f ?)).(define.require-form?.(cons/
4bc20 63 20 27 72 65 71 75 69 72 65 20 28 6c 69 73 74 6f 66 20 72 65 71 75 69 72 65 2d 73 75 62 66 6f c.'require.(listof.require-subfo
4bc40 72 6d 3f 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 6c 65 76 65 6c 3f 20 28 6f 72 2f 63 20 23 66 20 rm?)))..(define.level?.(or/c.#f.
4bc60 6e 75 6d 62 65 72 3f 20 27 72 61 63 6b 65 74 2f 72 65 71 75 69 72 65 29 29 0a 28 64 65 66 69 6e number?.'racket/require)).(defin
4bc80 65 20 64 65 6e 6f 72 6d 61 6c 69 7a 65 64 3f 20 28 68 61 73 68 2f 63 20 6c 65 76 65 6c 3f 20 28 e.denormalized?.(hash/c.level?.(
4bca0 73 65 74 2f 63 20 72 65 71 75 69 72 65 2d 73 75 62 66 6f 72 6d 3f 29 29 29 0a 0a 0a 28 64 65 66 set/c.require-subform?)))...(def
4bcc0 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 72 65 71 75 69 72 65 73 2f 74 69 64 79 20 72 65 71 73 ine/contract.(requires/tidy.reqs
4bce0 29 0a 20 20 28 2d 3e 20 28 6c 69 73 74 6f 66 20 72 65 71 75 69 72 65 2d 66 6f 72 6d 3f 29 20 73 )...(->.(listof.require-form?).s
4bd00 74 72 69 6e 67 3f 29 0a 20 20 28 72 65 71 75 69 72 65 2d 70 72 65 74 74 79 2d 66 6f 72 6d 61 74 tring?)...(require-pretty-format
4bd20 0a 20 20 20 28 6e 6f 72 6d 61 6c 69 7a 65 0a 20 20 20 20 28 64 65 6e 6f 72 6d 61 6c 69 7a 65 20 ....(normalize.....(denormalize.
4bd40 72 65 71 73 29 29 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 63 68 65 63 6b reqs))))..(module+.test...(check
4bd60 2d 65 71 75 61 6c 3f 0a 20 20 20 28 72 65 71 75 69 72 65 73 2f 74 69 64 79 20 27 28 28 72 65 71 -equal?....(requires/tidy.'((req
4bd80 75 69 72 65 20 7a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 uire.z).....................(req
4bda0 75 69 72 65 20 28 70 72 65 66 69 78 2d 69 6e 20 61 3a 20 61 29 29 0a 20 20 20 20 20 20 20 20 20 uire.(prefix-in.a:.a))..........
4bdc0 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 63 20 64 20 65 29 29 29 0a 20 20 20 ...........(require.c.d.e)))....
4bde0 22 28 72 65 71 75 69 72 65 20 28 70 72 65 66 69 78 2d 69 6e 20 61 3a 20 61 29 5c 6e 20 20 20 20 "(require.(prefix-in.a:.a)\n....
4be00 20 20 20 20 20 63 5c 6e 20 20 20 20 20 20 20 20 20 64 5c 6e 20 20 20 20 20 20 20 20 20 65 5c 6e .....c\n.........d\n.........e\n
4be20 20 20 20 20 20 20 20 20 20 7a 29 5c 6e 22 29 29 0a 0a 3b 3b 20 4e 6f 74 65 3a 20 57 68 79 20 70 .........z)\n"))..;;.Note:.Why.p
4be40 61 73 73 20 69 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 65 78 69 73 74 69 6e 67 20 72 65 ass.in.a.list.of.the.existing.re
4be60 71 75 69 72 65 20 66 6f 72 6d 73 20 2d 2d 20 77 68 79 20 6e 6f 74 0a 3b 3b 20 6a 75 73 74 20 75 quire.forms.--.why.not.;;.just.u
4be80 73 65 20 74 68 65 20 22 6b 65 65 70 22 20 6c 69 73 74 20 66 72 6f 6d 20 73 68 6f 77 2d 72 65 71 se.the."keep".list.from.show-req
4bea0 75 69 72 65 73 3f 20 42 65 63 61 75 73 65 20 74 68 65 20 6b 65 65 70 20 6c 69 73 74 0a 3b 3b 20 uires?.Because.the.keep.list.;;.
4bec0 6f 6e 6c 79 20 73 74 61 74 65 73 20 74 68 65 20 6d 6f 64 75 6c 65 20 6e 61 6d 65 2c 20 6e 6f 74 only.states.the.module.name,.not
4bee0 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 66 6f 72 6d 2e 20 54 68 65 72 65 66 6f 72 65 20 69 66 .the.original.form..Therefore.if
4bf00 0a 3b 3b 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 72 65 71 75 69 72 65 20 68 61 73 20 61 20 73 .;;.the.original.require.has.a.s
4bf20 75 62 66 6f 72 6d 20 6c 69 6b 65 20 60 28 6f 6e 6c 79 2d 69 6e 20 6d 6f 64 20 66 29 60 20 28 6f ubform.like.`(only-in.mod.f)`.(o
4bf40 72 0a 3b 3b 20 72 65 6e 61 6d 65 2d 69 6e 2c 20 65 78 63 65 70 74 2d 69 6e 2c 20 26 63 29 2c 20 r.;;.rename-in,.except-in,.&c),.
4bf60 77 65 20 77 6f 6e 27 74 20 6b 6e 6f 77 20 68 6f 77 20 74 6f 20 70 72 65 73 65 72 76 65 20 74 68 we.won't.know.how.to.preserve.th
4bf80 61 74 0a 3b 3b 20 75 6e 6c 65 73 73 20 77 65 27 72 65 20 67 69 76 65 6e 20 69 74 2e 20 54 68 61 at.;;.unless.we're.given.it..Tha
4bfa0 74 27 73 20 77 68 79 20 6f 75 72 20 73 74 72 61 74 65 67 79 20 6d 75 73 74 20 62 65 20 74 6f 20 t's.why.our.strategy.must.be.to.
4bfc0 6c 6f 6f 6b 20 66 6f 72 0a 3b 3b 20 74 68 69 6e 67 73 20 74 6f 20 64 72 6f 70 2c 20 61 73 20 6f look.for.;;.things.to.drop,.as.o
4bfe0 70 70 6f 73 65 64 20 74 6f 20 74 68 69 6e 67 73 20 74 6f 20 6b 65 65 70 2e 0a 28 64 65 66 69 6e pposed.to.things.to.keep..(defin
4c000 65 2f 63 6f 6e 74 72 61 63 74 20 28 72 65 71 75 69 72 65 73 2f 74 72 69 6d 20 70 61 74 68 2d 73 e/contract.(requires/trim.path-s
4c020 74 72 20 72 65 71 73 29 0a 20 20 28 2d 3e 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 28 6c 69 73 tr.reqs)...(->.path-string?.(lis
4c040 74 6f 66 20 72 65 71 75 69 72 65 2d 66 6f 72 6d 3f 29 20 73 74 72 69 6e 67 3f 29 0a 20 20 28 72 tof.require-form?).string?)...(r
4c060 65 71 75 69 72 65 2d 70 72 65 74 74 79 2d 66 6f 72 6d 61 74 0a 20 20 20 28 6e 6f 72 6d 61 6c 69 equire-pretty-format....(normali
4c080 7a 65 0a 20 20 20 20 28 64 65 6e 6f 72 6d 61 6c 69 7a 65 20 72 65 71 73 0a 20 20 20 20 20 20 20 ze.....(denormalize.reqs........
4c0a0 20 20 20 20 20 20 20 20 20 20 23 3a 64 72 6f 70 73 20 28 72 65 71 75 69 72 65 73 2d 74 6f 2d 64 ..........#:drops.(requires-to-d
4c0c0 72 6f 70 20 28 61 6e 61 6c 79 7a 65 20 70 61 74 68 2d 73 74 72 29 29 29 29 29 29 0a 0a 28 64 65 rop.(analyze.path-str))))))..(de
4c0e0 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 72 65 71 75 69 72 65 73 2f 62 61 73 65 20 70 61 74 fine/contract.(requires/base.pat
4c100 68 2d 73 74 72 20 72 65 71 73 29 0a 20 20 28 2d 3e 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 28 h-str.reqs)...(->.path-string?.(
4c120 6c 69 73 74 6f 66 20 72 65 71 75 69 72 65 2d 66 6f 72 6d 3f 29 20 73 74 72 69 6e 67 3f 29 0a 20 listof.require-form?).string?)..
4c140 20 28 64 65 66 69 6e 65 20 61 20 28 61 6e 61 6c 79 7a 65 20 70 61 74 68 2d 73 74 72 29 29 0a 20 .(define.a.(analyze.path-str))..
4c160 20 28 72 65 71 75 69 72 65 2d 70 72 65 74 74 79 2d 66 6f 72 6d 61 74 0a 20 20 20 28 6e 6f 72 6d .(require-pretty-format....(norm
4c180 61 6c 69 7a 65 0a 20 20 20 20 28 64 65 6e 6f 72 6d 61 6c 69 7a 65 20 72 65 71 73 0a 20 20 20 20 alize.....(denormalize.reqs.....
4c1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 61 64 64 73 20 20 28 72 65 71 75 69 72 65 73 2d 74 .............#:adds..(requires-t
4c1c0 6f 2d 61 64 64 20 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 64 72 6f 70 o-add.a)..................#:drop
4c1e0 73 20 28 72 65 71 75 69 72 65 73 2d 74 6f 2d 64 72 6f 70 20 61 29 29 29 29 29 0a 0a 3b 3b 3b 20 s.(requires-to-drop.a)))))..;;;.
4c200 61 6e 61 6c 79 7a 65 0a 0a 28 64 65 66 69 6e 65 20 72 65 71 75 69 72 65 73 2d 61 6e 61 6c 79 73 analyze..(define.requires-analys
4c220 69 73 3f 20 28 6c 69 73 74 6f 66 20 28 6f 72 2f 63 20 28 6c 69 73 74 2f 63 20 27 6b 65 65 70 20 is?.(listof.(or/c.(list/c.'keep.
4c240 20 20 6d 6f 64 75 6c 65 2d 70 61 74 68 3f 20 6e 75 6d 62 65 72 3f 29 0a 20 20 20 20 20 20 20 20 ..module-path?.number?).........
4c260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4c280 20 28 6c 69 73 74 2f 63 20 27 62 79 70 61 73 73 20 6d 6f 64 75 6c 65 2d 70 61 74 68 3f 20 6e 75 .(list/c.'bypass.module-path?.nu
4c2a0 6d 62 65 72 3f 20 6c 69 73 74 3f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mber?.list?)....................
4c2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 2f 63 20 27 64 ......................(list/c.'d
4c2e0 72 6f 70 20 20 20 6d 6f 64 75 6c 65 2d 70 61 74 68 3f 20 6e 75 6d 62 65 72 3f 29 29 29 29 0a 28 rop...module-path?.number?)))).(
4c300 64 65 66 69 6e 65 20 6d 6f 64 2b 6c 65 76 65 6c 3f 20 28 6c 69 73 74 2f 63 20 6d 6f 64 75 6c 65 define.mod+level?.(list/c.module
4c320 2d 70 61 74 68 3f 20 6e 75 6d 62 65 72 3f 29 29 0a 0a 0a 28 64 65 66 69 6e 65 2d 70 6f 6c 79 66 -path?.number?))...(define-polyf
4c340 69 6c 6c 20 28 73 68 6f 77 2d 72 65 71 75 69 72 65 73 20 5f 29 0a 20 20 23 3a 6d 6f 64 75 6c 65 ill.(show-requires._)...#:module
4c360 20 6d 61 63 72 6f 2d 64 65 62 75 67 67 65 72 2f 61 6e 61 6c 79 73 69 73 2f 63 68 65 63 6b 2d 72 .macro-debugger/analysis/check-r
4c380 65 71 75 69 72 65 73 0a 20 20 28 65 72 72 6f 72 20 27 72 65 71 75 69 72 65 73 20 22 57 6f 6e 27 equires...(error.'requires."Won'
4c3a0 74 20 77 6f 72 6b 20 75 6e 74 69 6c 20 79 6f 75 20 60 72 61 63 6f 20 70 6b 67 20 69 6e 73 74 61 t.work.until.you.`raco.pkg.insta
4c3c0 6c 6c 20 6d 61 63 72 6f 2d 64 65 62 75 67 67 65 72 2d 6c 69 62 60 22 29 29 0a 0a 28 64 65 66 69 ll.macro-debugger-lib`"))..(defi
4c3e0 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 61 6e 61 6c 79 7a 65 20 70 61 74 68 2d 73 74 72 29 0a 20 ne/contract.(analyze.path-str)..
4c400 20 28 2d 3e 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 72 65 71 75 69 72 65 73 2d 61 6e 61 6c 79 .(->.path-string?.requires-analy
4c420 73 69 73 3f 29 0a 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 62 61 73 65 20 6e 61 6d sis?)...(define-values.(base.nam
4c440 65 20 5f 29 20 28 73 70 6c 69 74 2d 70 61 74 68 20 28 73 74 72 69 6e 67 2d 3e 70 61 74 68 20 70 e._).(split-path.(string->path.p
4c460 61 74 68 2d 73 74 72 29 29 29 0a 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 ath-str)))...(parameterize.([cur
4c480 72 65 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 6f 72 79 20 62 61 73 rent-load-relative-directory.bas
4c4a0 65 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 64 69 72 e]..................[current-dir
4c4c0 65 63 74 6f 72 79 20 62 61 73 65 5d 29 0a 20 20 20 20 28 73 68 6f 77 2d 72 65 71 75 69 72 65 73 ectory.base]).....(show-requires
4c4e0 20 6e 61 6d 65 29 29 29 0a 0a 3b 3b 20 55 73 65 20 60 62 79 70 61 73 73 60 20 63 6f 6e 76 65 72 .name)))..;;.Use.`bypass`.conver
4c500 74 20 66 72 6f 6d 20 60 23 6c 61 6e 67 20 72 61 63 6b 65 74 60 20 74 6f 20 60 23 6c 61 6e 67 20 t.from.`#lang.racket`.to.`#lang.
4c520 72 61 63 6b 65 74 2f 62 61 73 65 60 0a 3b 3b 20 70 6c 75 73 20 65 78 70 6c 69 63 69 74 20 72 65 racket/base`.;;.plus.explicit.re
4c540 71 75 69 72 65 73 2e 20 48 61 72 64 63 6f 64 65 64 20 74 6f 20 60 23 6c 61 6e 67 20 72 61 63 6b quires..Hardcoded.to.`#lang.rack
4c560 65 74 60 2c 20 6f 6e 6c 79 2e 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 72 65 71 et`,.only..(define/contract.(req
4c580 75 69 72 65 73 2d 74 6f 2d 64 72 6f 70 20 61 29 0a 20 20 28 2d 3e 20 72 65 71 75 69 72 65 73 2d uires-to-drop.a)...(->.requires-
4c5a0 61 6e 61 6c 79 73 69 73 3f 20 28 6c 69 73 74 6f 66 20 6d 6f 64 2b 6c 65 76 65 6c 3f 29 29 0a 20 analysis?.(listof.mod+level?))..
4c5c0 20 28 66 69 6c 74 65 72 2d 6d 61 70 20 28 ce bb 20 28 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 .(filter-map.(...(x)............
4c5e0 20 20 20 20 20 28 6d 61 74 63 68 20 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(match.x...................
4c600 5b 28 6c 69 73 74 20 27 64 72 6f 70 20 6d 6f 64 20 6c 76 6c 29 20 28 6c 69 73 74 20 6d 6f 64 20 [(list.'drop.mod.lvl).(list.mod.
4c620 6c 76 6c 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5f 20 23 66 5d 29 29 lvl)]...................[_.#f]))
4c640 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 ...............a))..(define/cont
4c660 72 61 63 74 20 28 72 65 71 75 69 72 65 73 2d 74 6f 2d 61 64 64 20 61 29 0a 20 20 28 2d 3e 20 72 ract.(requires-to-add.a)...(->.r
4c680 65 71 75 69 72 65 73 2d 61 6e 61 6c 79 73 69 73 3f 20 28 6c 69 73 74 6f 66 20 6d 6f 64 2b 6c 65 equires-analysis?.(listof.mod+le
4c6a0 76 65 6c 3f 29 29 0a 20 20 28 61 70 70 65 6e 64 2a 0a 20 20 20 28 66 69 6c 74 65 72 2d 6d 61 70 vel?))...(append*....(filter-map
4c6c0 20 28 ce bb 20 28 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 .(...(x)..................(match
4c6e0 20 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c 69 73 74 20 27 62 79 .x....................[(list.'by
4c700 70 61 73 73 20 27 72 61 63 6b 65 74 20 30 20 28 6c 69 73 74 20 28 6c 69 73 74 20 6d 6f 64 20 6c pass.'racket.0.(list.(list.mod.l
4c720 76 6c 20 5f 29 20 2e 2e 2e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 vl._)....)).....................
4c740 28 66 69 6c 74 65 72 20 28 ce bb 20 28 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (filter.(...(x).................
4c760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 78 0a 20 20 20 20 20 20 20 20 20 ..............(match.x..........
4c780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 6c 69 73 74 20 27 72 .......................[(list.'r
4c7a0 61 63 6b 65 74 2f 62 61 73 65 20 30 29 20 23 66 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 acket/base.0).#f]...............
4c7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5f 20 23 74 5d 29 29 0a 20 20 20 20 20 ..................[_.#t]))......
4c7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 20 6c 69 73 74 .......................(map.list
4c800 20 6d 6f 64 20 6c 76 6c 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b .mod.lvl))]....................[
4c820 5f 20 23 66 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 29 29 29 0a 0a 3b 3b 3b _.#f]))................a)))..;;;
4c840 20 64 65 6e 6f 72 6d 61 6c 69 7a 65 20 2f 20 6e 6f 72 6d 61 6c 69 7a 65 0a 0a 28 64 65 66 69 6e .denormalize./.normalize..(defin
4c860 65 2f 63 6f 6e 74 72 61 63 74 20 28 64 65 6e 6f 72 6d 61 6c 69 7a 65 20 72 65 71 73 0a 20 20 20 e/contract.(denormalize.reqs....
4c880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 64 72 6f ...........................#:dro
4c8a0 70 73 20 5b 64 72 6f 70 73 20 27 28 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ps.[drops.'()]..................
4c8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 23 3a 61 64 64 73 20 20 5b 61 64 64 73 20 20 27 28 29 5d .............#:adds..[adds..'()]
4c8e0 29 0a 20 20 28 2d 3e 2a 20 28 28 6c 69 73 74 6f 66 20 72 65 71 75 69 72 65 2d 66 6f 72 6d 3f 29 )...(->*.((listof.require-form?)
4c900 29 0a 20 20 20 20 20 20 20 28 23 3a 61 64 64 73 20 20 28 6c 69 73 74 6f 66 20 6d 6f 64 2b 6c 65 )........(#:adds..(listof.mod+le
4c920 76 65 6c 3f 29 0a 20 20 20 20 20 20 20 20 23 3a 64 72 6f 70 73 20 28 6c 69 73 74 6f 66 20 6d 6f vel?).........#:drops.(listof.mo
4c940 64 2b 6c 65 76 65 6c 3f 29 29 0a 20 20 20 20 20 20 20 64 65 6e 6f 72 6d 61 6c 69 7a 65 64 3f 29 d+level?))........denormalized?)
4c960 0a 20 20 28 64 65 66 69 6e 65 20 68 74 20 28 6d 61 6b 65 2d 68 61 73 68 65 71 29 29 0a 20 20 28 ...(define.ht.(make-hasheq))...(
4c980 64 65 66 69 6e 65 20 28 61 64 64 2a 20 6c 65 76 65 6c 20 76 29 0a 20 20 20 20 28 75 6e 6c 65 73 define.(add*.level.v).....(unles
4c9a0 73 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 71 3f 20 76 20 27 72 61 63 6b 65 74 2f 72 65 71 75 69 s.(and.(not.(eq?.v.'racket/requi
4c9c0 72 65 29 29 20 3b 61 6c 77 61 79 73 20 6b 65 65 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 re)).;always.keep...............
4c9e0 20 20 20 28 6d 65 6d 62 65 72 20 28 6c 69 73 74 20 28 66 6f 72 6d 2d 6d 6f 64 20 76 29 20 6c 65 ...(member.(list.(form-mod.v).le
4ca00 76 65 6c 29 20 64 72 6f 70 73 29 29 0a 20 20 20 20 20 20 28 68 61 73 68 2d 75 70 64 61 74 65 21 vel).drops)).......(hash-update!
4ca20 20 68 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 3f .ht.....................(if.(eq?
4ca40 20 76 20 27 72 61 63 6b 65 74 2f 72 65 71 75 69 72 65 29 20 27 72 61 63 6b 65 74 2f 72 65 71 75 .v.'racket/require).'racket/requ
4ca60 69 72 65 20 6c 65 76 65 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ire.level).....................(
4ca80 ce bb 20 28 73 29 20 28 73 65 74 2d 61 64 64 20 73 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 ...(s).(set-add.s.v))...........
4caa0 20 20 20 20 20 20 20 20 20 20 73 65 74 29 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28 61 64 64 20 ..........set)))...(define.(add.
4cac0 6c 65 76 65 6c 20 76 29 0a 20 20 20 20 28 6d 61 74 63 68 20 76 0a 20 20 20 20 20 20 5b 28 6c 69 level.v).....(match.v.......[(li
4cae0 73 74 2a 20 27 6d 75 6c 74 69 2d 69 6e 20 76 73 29 20 28 66 6f 72 2d 65 61 63 68 20 28 63 75 72 st*.'multi-in.vs).(for-each.(cur
4cb00 72 79 20 61 64 64 2a 20 6c 65 76 65 6c 29 20 28 6d 75 6c 74 69 20 76 73 29 29 5d 0a 20 20 20 20 ry.add*.level).(multi.vs))].....
4cb20 20 20 5b 76 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2a 20 6c 65 ..[v....................(add*.le
4cb40 76 65 6c 20 76 29 5d 29 29 0a 20 20 28 66 6f 72 20 28 5b 61 64 64 20 28 69 6e 2d 6c 69 73 74 20 vel.v)]))...(for.([add.(in-list.
4cb60 61 64 64 73 29 5d 29 0a 20 20 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 20 28 6c 69 73 74 20 adds)]).....(match-define.(list.
4cb80 6d 6f 64 20 6c 65 76 65 6c 29 20 61 64 64 29 0a 20 20 20 20 28 61 64 64 2a 20 6c 65 76 65 6c 20 mod.level).add).....(add*.level.
4cba0 6d 6f 64 29 29 0a 20 20 28 66 6f 72 20 28 5b 72 65 71 20 28 69 6e 2d 6c 69 73 74 20 72 65 71 73 mod))...(for.([req.(in-list.reqs
4cbc0 29 5d 29 0a 20 20 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 20 28 63 6f 6e 73 20 27 72 65 71 )]).....(match-define.(cons.'req
4cbe0 75 69 72 65 20 76 73 29 20 72 65 71 29 0a 20 20 20 20 28 66 6f 72 20 28 5b 76 20 28 69 6e 2d 6c uire.vs).req).....(for.([v.(in-l
4cc00 69 73 74 20 76 73 29 5d 29 0a 20 20 20 20 20 20 28 6d 61 74 63 68 20 76 0a 20 20 20 20 20 20 20 ist.vs)]).......(match.v........
4cc20 20 5b 28 6c 69 73 74 2a 20 27 66 6f 72 2d 6d 65 74 61 20 6c 65 76 65 6c 20 76 73 29 20 28 66 6f .[(list*.'for-meta.level.vs).(fo
4cc40 72 2d 65 61 63 68 20 28 63 75 72 72 79 20 61 64 64 20 6c 65 76 65 6c 29 20 76 73 29 5d 0a 20 20 r-each.(curry.add.level).vs)]...
4cc60 20 20 20 20 20 20 5b 28 6c 69 73 74 2a 20 27 66 6f 72 2d 73 79 6e 74 61 78 20 76 73 29 20 20 20 ......[(list*.'for-syntax.vs)...
4cc80 20 20 28 66 6f 72 2d 65 61 63 68 20 28 63 75 72 72 79 20 61 64 64 20 31 20 20 20 20 29 20 76 73 ..(for-each.(curry.add.1....).vs
4cca0 29 5d 0a 20 20 20 20 20 20 20 20 5b 28 6c 69 73 74 2a 20 27 66 6f 72 2d 74 65 6d 70 6c 61 74 65 )].........[(list*.'for-template
4ccc0 20 76 73 29 20 20 20 28 66 6f 72 2d 65 61 63 68 20 28 63 75 72 72 79 20 61 64 64 20 2d 31 20 20 .vs)...(for-each.(curry.add.-1..
4cce0 20 29 20 76 73 29 5d 0a 20 20 20 20 20 20 20 20 5b 28 6c 69 73 74 2a 20 27 66 6f 72 2d 6c 61 62 .).vs)].........[(list*.'for-lab
4cd00 65 6c 20 76 73 29 20 20 20 20 20 20 28 66 6f 72 2d 65 61 63 68 20 28 63 75 72 72 79 20 61 64 64 el.vs)......(for-each.(curry.add
4cd20 20 23 66 20 20 20 29 20 76 73 29 5d 0a 20 20 20 20 20 20 20 20 5b 76 20 20 20 20 20 20 20 20 20 .#f...).vs)].........[v.........
4cd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 20 30 20 76 29 5d 29 29 29 0a 20 .................(add.0.v)])))..
4cd60 20 68 74 29 0a 0a 3b 3b 20 60 6d 75 6c 74 69 60 20 66 72 6f 6d 20 72 61 63 6b 65 74 2f 72 65 71 .ht)..;;.`multi`.from.racket/req
4cd80 75 69 72 65 20 61 64 61 70 74 65 64 20 66 6f 72 20 70 6c 61 69 6e 20 73 65 78 70 72 73 20 6e 6f uire.adapted.for.plain.sexprs.no
4cda0 74 20 73 74 78 73 0a 28 64 65 66 69 6e 65 20 28 6d 75 6c 74 69 20 78 73 29 0a 20 20 28 64 65 66 t.stxs.(define.(multi.xs)...(def
4cdc0 69 6e 65 20 28 6c 6f 6f 70 20 78 73 29 0a 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 3f 20 78 73 29 ine.(loop.xs).....(if.(null?.xs)
4cde0 0a 20 20 20 20 20 20 27 28 28 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 5b 66 69 72 73 74 20 .......'(()).......(let.([first.
4ce00 28 63 61 72 20 78 73 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 72 65 73 74 20 28 6c 6f 6f (car.xs)].............[rest.(loo
4ce20 70 20 28 63 64 72 20 78 73 29 29 5d 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 6c 69 73 74 3f p.(cdr.xs))]).........(if.(list?
4ce40 20 66 69 72 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 62 61 64 73 20 28 66 .first)...........(let.([bads.(f
4ce60 69 6c 74 65 72 20 6c 69 73 74 3f 20 66 69 72 73 74 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 ilter.list?.first)])............
4ce80 20 28 69 66 20 28 6e 75 6c 6c 3f 20 62 61 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(if.(null?.bads)...............
4cea0 28 61 70 70 65 6e 64 2d 6d 61 70 20 28 ce bb 20 28 78 29 20 28 6d 61 70 20 28 ce bb 20 28 79 29 (append-map.(...(x).(map.(...(y)
4cec0 20 28 63 6f 6e 73 20 78 20 79 29 29 20 72 65 73 74 29 29 20 66 69 72 73 74 29 0a 20 20 20 20 20 .(cons.x.y)).rest)).first)......
4cee0 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 27 6d 75 6c 74 69 2d 69 6e 20 22 6e 6f 74 20 61 .........(error.'multi-in."not.a
4cf00 20 73 69 6d 70 6c 65 20 65 6c 65 6d 65 6e 74 22 20 28 63 61 72 20 62 61 64 73 29 29 29 29 0a 20 .simple.element".(car.bads))))..
4cf20 20 20 20 20 20 20 20 20 20 28 6d 61 70 20 28 ce bb 20 28 78 29 20 28 63 6f 6e 73 20 66 69 72 73 .........(map.(...(x).(cons.firs
4cf40 74 20 78 29 29 20 72 65 73 74 29 29 29 29 29 0a 20 20 28 64 65 66 69 6e 65 20 6f 70 74 69 6f 6e t.x)).rest)))))...(define.option
4cf60 73 20 28 6c 6f 6f 70 20 78 73 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28 74 72 79 20 70 72 65 64 s.(loop.xs))...(define.(try.pred
4cf80 3f 20 2d 3e 73 74 72 20 73 74 72 2d 3e 29 0a 20 20 20 20 28 61 6e 64 20 28 61 6e 64 6d 61 70 20 ?.->str.str->).....(and.(andmap.
4cfa0 28 ce bb 20 28 78 29 20 28 61 6e 64 6d 61 70 20 70 72 65 64 3f 20 78 29 29 20 6f 70 74 69 6f 6e (...(x).(andmap.pred?.x)).option
4cfc0 73 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 70 20 28 ce bb 20 28 78 29 0a 20 20 20 20 20 20 20 s)..........(map.(...(x)........
4cfe0 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 5b 64 20 78 5d 0a 20 20 20 20 20 20 20 20 20 20 .........(let*.([d.x]...........
4d000 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 72 20 28 61 70 70 6c 79 20 73 74 72 69 6e 67 2d 61 70 .............[r.(apply.string-ap
4d020 70 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pend............................
4d040 20 20 20 20 20 20 28 61 64 64 2d 62 65 74 77 65 65 6e 20 28 69 66 20 2d 3e 73 74 72 20 28 6d 61 ......(add-between.(if.->str.(ma
4d060 70 20 2d 3e 73 74 72 20 64 29 20 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.->str.d).d)...................
4d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2f 22 29 ............................"/")
4d0a0 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 73 74 72 2d 3e 20 )])...................(if.str->.
4d0c0 28 73 74 72 2d 3e 20 72 29 20 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 70 74 (str->.r).r)))...............opt
4d0e0 69 6f 6e 73 29 29 29 0a 20 20 28 6f 72 20 28 74 72 79 20 73 74 72 69 6e 67 3f 20 23 66 20 23 66 ions)))...(or.(try.string?.#f.#f
4d100 29 0a 20 20 20 20 20 20 28 74 72 79 20 73 79 6d 62 6f 6c 3f 20 73 79 6d 62 6f 6c 2d 3e 73 74 72 ).......(try.symbol?.symbol->str
4d120 69 6e 67 20 73 74 72 69 6e 67 2d 3e 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 ing.string->symbol).......(error
4d140 20 27 6d 75 6c 74 69 2d 69 6e 20 22 6f 6e 6c 79 20 61 63 63 65 70 74 73 20 61 6c 6c 20 73 74 72 .'multi-in."only.accepts.all.str
4d160 69 6e 67 73 20 6f 72 20 61 6c 6c 20 73 79 6d 62 6f 6c 73 22 29 29 29 0a 0a 28 6d 6f 64 75 6c 65 ings.or.all.symbols")))..(module
4d180 2b 20 74 65 73 74 0a 20 20 28 6c 65 74 20 28 5b 68 74 20 28 64 65 6e 6f 72 6d 61 6c 69 7a 65 20 +.test...(let.([ht.(denormalize.
4d1a0 27 28 28 72 65 71 75 69 72 65 20 61 20 62 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 '((require.a.b.c)...............
4d1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 64 20 65 29 0a 20 20 20 20 20 .............(require.d.e)......
4d1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 61 ......................(require.a
4d200 20 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .f)............................(
4d220 72 65 71 75 69 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 require.........................
4d240 20 20 20 20 28 66 6f 72 2d 73 79 6e 74 61 78 20 73 20 74 20 75 29 0a 20 20 20 20 20 20 20 20 20 ....(for-syntax.s.t.u)..........
4d260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d 6c 61 62 65 6c 20 6c 30 ...................(for-label.l0
4d280 20 6c 31 20 6c 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .l1.l2))........................
4d2a0 20 20 20 20 28 72 65 71 75 69 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(require....................
4d2c0 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d 6d 65 74 61 20 31 20 6d 31 61 20 6d 31 62 29 0a 20 20 .........(for-meta.1.m1a.m1b)...
4d2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d 6d ..........................(for-m
4d300 65 74 61 20 32 20 6d 32 61 20 6d 32 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eta.2.m2a.m2b)).................
4d320 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........(require.............
4d340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 75 6c 74 69 2d 69 6e 20 66 6f 6f 20 28 62 ................(multi-in.foo.(b
4d360 61 72 20 62 61 7a 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ar.baz))........................
4d380 20 20 20 20 20 28 6d 75 6c 74 69 2d 69 6e 20 22 66 6f 6f 22 20 28 22 62 61 72 2e 72 6b 74 22 20 .....(multi-in."foo".("bar.rkt".
4d3a0 22 62 61 7a 2e 72 6b 74 22 29 29 29 29 29 5d 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 65 71 75 61 "baz.rkt")))))]).....(check-equa
4d3c0 6c 3f 20 28 68 61 73 68 2d 72 65 66 20 68 74 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 l?.(hash-ref.ht.0)..............
4d3e0 20 20 20 20 20 28 73 65 74 20 27 61 20 27 65 20 27 64 20 27 66 6f 6f 2f 62 61 72 20 22 66 6f 6f .....(set.'a.'e.'d.'foo/bar."foo
4d400 2f 62 61 7a 2e 72 6b 74 22 20 22 66 6f 6f 2f 62 61 72 2e 72 6b 74 22 20 27 63 20 27 66 20 27 62 /baz.rkt"."foo/bar.rkt".'c.'f.'b
4d420 20 27 66 6f 6f 2f 62 61 7a 29 29 0a 20 20 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 68 .'foo/baz)).....(check-equal?.(h
4d440 61 73 68 2d 72 65 66 20 68 74 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ash-ref.ht.1)...................
4d460 28 73 65 74 20 27 6d 31 61 20 27 6d 31 62 20 27 74 20 27 75 20 27 73 29 29 0a 20 20 20 20 28 63 (set.'m1a.'m1b.'t.'u.'s)).....(c
4d480 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 68 61 73 68 2d 72 65 66 20 68 74 20 32 29 0a 20 20 20 20 heck-equal?.(hash-ref.ht.2).....
4d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 20 27 6d 32 62 20 27 6d 32 61 29 29 0a 20 ..............(set.'m2b.'m2a))..
4d4c0 20 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 68 61 73 68 2d 72 65 66 20 68 74 20 23 66 ...(check-equal?.(hash-ref.ht.#f
4d4e0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 20 27 6c 31 20 27 6c 32 )...................(set.'l1.'l2
4d500 20 27 6c 30 29 29 29 29 0a 0a 3b 3b 20 53 6f 72 74 20 74 68 65 20 73 75 62 66 6f 72 6d 73 20 62 .'l0))))..;;.Sort.the.subforms.b
4d520 79 20 70 68 61 73 65 20 6c 65 76 65 6c 3a 20 66 6f 72 2d 73 79 6e 74 61 78 2c 20 66 6f 72 2d 74 y.phase.level:.for-syntax,.for-t
4d540 65 6d 70 6c 61 74 65 2c 0a 3b 3b 20 66 6f 72 2d 6c 61 62 65 6c 2c 20 66 6f 72 2d 6d 65 74 61 2c emplate,.;;.for-label,.for-meta,
4d560 20 61 6e 64 20 70 6c 61 69 6e 20 28 30 29 2e 20 57 69 74 68 69 6e 20 65 61 63 68 20 73 75 63 68 .and.plain.(0)..Within.each.such
4d580 20 67 72 6f 75 70 2c 20 73 6f 72 74 0a 3b 3b 20 74 68 65 6d 20 66 69 72 73 74 20 62 79 20 6d 6f .group,.sort.;;.them.first.by.mo
4d5a0 64 75 6c 65 20 70 61 74 68 73 20 74 68 65 6e 20 72 65 6c 61 74 69 76 65 20 72 65 71 75 69 72 65 dule.paths.then.relative.require
4d5c0 73 2e 20 57 69 74 68 69 6e 20 65 61 63 68 20 73 75 63 68 0a 3b 3b 20 67 72 6f 75 70 2c 20 73 6f s..Within.each.such.;;.group,.so
4d5e0 72 74 20 61 6c 70 68 61 62 65 74 69 63 61 6c 6c 79 2e 20 49 66 20 72 61 63 6b 65 74 2f 72 65 71 rt.alphabetically..If.racket/req
4d600 75 69 72 65 20 69 73 20 70 72 65 73 65 6e 74 2c 20 73 6f 72 74 20 69 74 0a 3b 3b 20 66 69 72 73 uire.is.present,.sort.it.;;.firs
4d620 74 20 61 6e 64 20 75 73 65 20 6d 75 6c 74 69 2d 69 6e 2e 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 t.and.use.multi-in..(define/cont
4d640 72 61 63 74 20 28 6e 6f 72 6d 61 6c 69 7a 65 20 68 74 29 0a 20 20 28 2d 3e 20 64 65 6e 6f 72 6d ract.(normalize.ht)...(->.denorm
4d660 61 6c 69 7a 65 64 3f 20 72 65 71 75 69 72 65 2d 66 6f 72 6d 3f 29 0a 20 20 28 64 65 66 69 6e 65 alized?.require-form?)...(define
4d680 20 28 6d 6f 64 2d 73 65 74 2d 3e 6d 6f 64 2d 6c 69 73 74 20 6d 6f 64 2d 73 65 74 29 0a 20 20 20 .(mod-set->mod-list.mod-set)....
4d6a0 20 28 73 6f 72 74 20 28 73 65 74 2d 3e 6c 69 73 74 20 6d 6f 64 2d 73 65 74 29 20 6d 6f 64 3c 3f .(sort.(set->list.mod-set).mod<?
4d6c0 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28 66 6f 72 2d 6c 65 76 65 6c 20 6c 65 76 65 6c 20 6b 29 ))...(define.(for-level.level.k)
4d6e0 0a 20 20 20 20 28 6d 61 74 63 68 20 28 68 61 73 68 2d 72 65 66 20 68 74 20 6c 65 76 65 6c 20 23 .....(match.(hash-ref.ht.level.#
4d700 66 29 0a 20 20 20 20 20 20 5b 23 66 20 27 28 29 5d 0a 20 20 20 20 20 20 5b 6d 6f 64 73 0a 20 20 f).......[#f.'()].......[mods...
4d720 20 20 20 20 20 23 3a 77 68 65 6e 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 71 3f 20 6c 65 76 65 6c .....#:when.(and.(not.(eq?.level
4d740 20 27 72 61 63 6b 65 74 2f 72 65 71 75 69 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .'racket/require))..............
4d760 20 20 20 20 20 20 28 68 61 73 68 2d 72 65 66 20 68 74 20 27 72 61 63 6b 65 74 2f 72 65 71 75 69 ......(hash-ref.ht.'racket/requi
4d780 72 65 20 23 66 29 29 0a 20 20 20 20 20 20 20 28 6b 20 28 61 64 64 2d 6d 75 6c 74 69 2d 69 6e 20 re.#f))........(k.(add-multi-in.
4d7a0 28 6d 6f 64 2d 73 65 74 2d 3e 6d 6f 64 2d 6c 69 73 74 20 6d 6f 64 73 29 29 29 5d 0a 20 20 20 20 (mod-set->mod-list.mods)))].....
4d7c0 20 20 5b 6d 6f 64 73 0a 20 20 20 20 20 20 20 28 6b 20 28 6d 6f 64 2d 73 65 74 2d 3e 6d 6f 64 2d ..[mods........(k.(mod-set->mod-
4d7e0 6c 69 73 74 20 6d 6f 64 73 29 29 5d 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28 70 72 65 66 61 63 list.mods))]))...(define.(prefac
4d800 65 20 2e 20 70 72 65 73 29 0a 20 20 20 20 28 ce bb 20 28 6d 6f 64 73 29 20 60 28 28 2c 40 70 72 e...pres).....(...(mods).`((,@pr
4d820 65 73 20 2c 40 6d 6f 64 73 29 29 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28 6d 65 74 61 2d 6c 65 es.,@mods))))...(define.(meta-le
4d840 76 65 6c 73 29 0a 20 20 20 20 28 73 6f 72 74 20 28 66 6f 72 2f 6c 69 73 74 20 28 5b 78 20 28 68 vels).....(sort.(for/list.([x.(h
4d860 61 73 68 2d 6b 65 79 73 20 68 74 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ash-keys.ht)]...................
4d880 20 20 20 23 3a 77 68 65 6e 20 28 6e 6f 74 20 28 6d 65 6d 62 65 72 20 78 20 27 28 72 61 63 6b 65 ...#:when.(not.(member.x.'(racke
4d8a0 74 2f 72 65 71 75 69 72 65 20 2d 31 20 30 20 31 20 23 66 29 29 29 29 0a 20 20 20 20 20 20 20 20 t/require.-1.0.1.#f)))).........
4d8c0 20 20 20 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 3c 29 29 0a 20 20 60 28 72 65 71 75 69 72 65 ....x)...........<))...`(require
4d8e0 0a 20 20 20 20 2c 40 28 66 6f 72 2d 6c 65 76 65 6c 20 27 72 61 63 6b 65 74 2f 72 65 71 75 69 72 .....,@(for-level.'racket/requir
4d900 65 20 76 61 6c 75 65 73 29 0a 20 20 20 20 2c 40 28 66 6f 72 2d 6c 65 76 65 6c 20 20 31 20 28 70 e.values).....,@(for-level..1.(p
4d920 72 65 66 61 63 65 20 27 66 6f 72 2d 73 79 6e 74 61 78 29 29 0a 20 20 20 20 2c 40 28 66 6f 72 2d reface.'for-syntax)).....,@(for-
4d940 6c 65 76 65 6c 20 2d 31 20 28 70 72 65 66 61 63 65 20 27 66 6f 72 2d 74 65 6d 70 6c 61 74 65 29 level.-1.(preface.'for-template)
4d960 29 0a 20 20 20 20 2c 40 28 66 6f 72 2d 6c 65 76 65 6c 20 23 66 20 28 70 72 65 66 61 63 65 20 27 ).....,@(for-level.#f.(preface.'
4d980 66 6f 72 2d 6c 61 62 65 6c 29 29 0a 20 20 20 20 2c 40 28 61 70 70 65 6e 64 2a 20 28 66 6f 72 2f for-label)).....,@(append*.(for/
4d9a0 6c 69 73 74 20 28 5b 6c 65 76 65 6c 20 28 69 6e 2d 6c 69 73 74 20 28 6d 65 74 61 2d 6c 65 76 65 list.([level.(in-list.(meta-leve
4d9c0 6c 73 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d 6c 65 76 ls))])..................(for-lev
4d9e0 65 6c 20 6c 65 76 65 6c 20 28 70 72 65 66 61 63 65 20 27 66 6f 72 2d 6d 65 74 61 20 6c 65 76 65 el.level.(preface.'for-meta.leve
4da00 6c 29 29 29 29 0a 20 20 20 20 2c 40 28 66 6f 72 2d 6c 65 76 65 6c 20 30 20 76 61 6c 75 65 73 29 l)))).....,@(for-level.0.values)
4da20 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 3b 3b 20 77 69 74 68 20 72 61 63 6b ))..(module+.test...;;.with.rack
4da40 65 74 2f 72 65 71 75 69 72 65 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 6e 6f 72 6d et/require...(check-equal?.(norm
4da60 61 6c 69 7a 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6e 6f 72 6d 61 6c alize..................(denormal
4da80 69 7a 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 28 72 65 71 75 69 72 65 ize...................'((require
4daa0 20 7a 20 63 20 62 20 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 .z.c.b.a).....................(r
4dac0 65 71 75 69 72 65 20 72 61 63 6b 65 74 2f 72 65 71 75 69 72 65 29 20 3b 20 3c 3d 3d 3d 3d 0a 20 equire.racket/require).;.<====..
4dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 28 6d 75 6c ...................(require.(mul
4db00 74 69 2d 69 6e 20 6d 69 2d 7a 20 28 6d 69 2d 7a 30 20 6d 69 2d 7a 31 29 29 29 0a 20 20 20 20 20 ti-in.mi-z.(mi-z0.mi-z1)))......
4db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 6d 69 2d 7a 2f 6d 69 2d ...............(require.mi-z/mi-
4db40 7a 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 z2).....................(require
4db60 20 28 6d 75 6c 74 69 2d 69 6e 20 6d 69 2d 61 20 28 6d 69 2d 61 31 20 6d 69 2d 61 30 29 29 29 0a .(multi-in.mi-a.(mi-a1.mi-a0))).
4db80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 6d 69 2d ....................(require.mi-
4dba0 61 2f 6d 69 2d 61 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 a/mi-a2).....................(re
4dbc0 71 75 69 72 65 20 28 66 6f 72 2d 6d 65 74 61 20 34 20 6d 34 31 20 6d 34 30 29 29 0a 20 20 20 20 quire.(for-meta.4.m41.m40)).....
4dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 28 66 6f 72 2d 6d 65 ................(require.(for-me
4dc00 74 61 20 2d 34 20 6d 2d 34 31 20 6d 2d 34 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ta.-4.m-41.m-40))...............
4dc20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 28 66 6f 72 2d 6c 61 62 65 6c 20 6c 31 20 6c 30 29 ......(require.(for-label.l1.l0)
4dc40 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 28 ).....................(require.(
4dc60 66 6f 72 2d 74 65 6d 70 6c 61 74 65 20 74 31 20 74 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 for-template.t1.t0))............
4dc80 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 28 66 6f 72 2d 73 79 6e 74 61 78 20 73 31 .........(require.(for-syntax.s1
4dca0 20 73 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 .s0)).....................(requi
4dcc0 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 2e 72 6b 74 22 20 re......................"a.rkt".
4dce0 22 62 2e 72 6b 74 22 20 22 63 2e 72 6b 74 22 20 22 7a 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 "b.rkt"."c.rkt"."z.rkt".........
4dd00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 22 6d 6f 64 2e 72 6b 74 22 20 .............(only-in."mod.rkt".
4dd20 6f 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 oi)......................(only-i
4dd40 6e 20 6d 6f 64 20 6f 69 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 n.mod.oi))))).................'(
4dd60 72 65 71 75 69 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 require...................racket
4dd80 2f 72 65 71 75 69 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d /require...................(for-
4dda0 73 79 6e 74 61 78 20 73 30 20 73 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 syntax.s0.s1)...................
4ddc0 28 66 6f 72 2d 74 65 6d 70 6c 61 74 65 20 74 30 20 74 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 (for-template.t0.t1)............
4dde0 20 20 20 20 20 20 20 28 66 6f 72 2d 6c 61 62 65 6c 20 6c 30 20 6c 31 29 0a 20 20 20 20 20 20 20 .......(for-label.l0.l1)........
4de00 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d 6d 65 74 61 20 2d 34 20 6d 2d 34 30 20 6d 2d 34 ...........(for-meta.-4.m-40.m-4
4de20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d 6d 65 74 61 20 34 1)...................(for-meta.4
4de40 20 6d 34 30 20 6d 34 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 20 62 20 .m40.m41)...................a.b.
4de60 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 75 6c 74 69 2d 69 6e 20 6d 69 c...................(multi-in.mi
4de80 2d 61 20 28 6d 69 2d 61 30 20 6d 69 2d 61 31 20 6d 69 2d 61 32 29 29 20 3b 62 2f 63 20 72 61 63 -a.(mi-a0.mi-a1.mi-a2)).;b/c.rac
4dea0 6b 65 74 2f 72 65 71 75 69 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d ket/require...................(m
4dec0 75 6c 74 69 2d 69 6e 20 6d 69 2d 7a 20 28 6d 69 2d 7a 30 20 6d 69 2d 7a 31 20 6d 69 2d 7a 32 29 ulti-in.mi-z.(mi-z0.mi-z1.mi-z2)
4dee0 29 20 3b 62 2f 63 20 72 61 63 6b 65 74 2f 72 65 71 75 69 72 65 0a 20 20 20 20 20 20 20 20 20 20 ).;b/c.racket/require...........
4df00 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 6d 6f 64 20 6f 69 29 20 7a 0a 20 20 20 20 20 ........(only-in.mod.oi).z......
4df20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 2e 72 6b 74 22 20 22 62 2e 72 6b 74 22 20 22 63 2e ............."a.rkt"."b.rkt"."c.
4df40 72 6b 74 22 20 28 6f 6e 6c 79 2d 69 6e 20 22 6d 6f 64 2e 72 6b 74 22 20 6f 69 29 20 22 7a 2e 72 rkt".(only-in."mod.rkt".oi)."z.r
4df60 6b 74 22 29 29 0a 20 20 3b 3b 20 77 69 74 68 6f 75 74 20 72 61 63 6b 65 74 2f 72 65 71 75 69 72 kt"))...;;.without.racket/requir
4df80 65 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 6e 6f 72 6d 61 6c 69 7a 65 0a 20 20 20 e...(check-equal?.(normalize....
4dfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6e 6f 72 6d 61 6c 69 7a 65 0a 20 20 20 20 20 ..............(denormalize......
4dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 28 72 65 71 75 69 72 65 20 7a 20 63 20 62 20 61 29 .............'((require.z.c.b.a)
4dfe0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 6d 69 .....................(require.mi
4e000 2d 61 2f 6d 69 2d 61 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 -a/mi-a0).....................(r
4e020 65 71 75 69 72 65 20 6d 69 2d 61 2f 6d 69 2d 61 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 equire.mi-a/mi-a1)..............
4e040 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 6d 69 2d 7a 2f 6d 69 2d 7a 30 29 0a 20 20 20 20 .......(require.mi-z/mi-z0).....
4e060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 6d 69 2d 7a 2f 6d 69 ................(require.mi-z/mi
4e080 2d 7a 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 -z1).....................(requir
4e0a0 65 20 28 66 6f 72 2d 6d 65 74 61 20 34 20 6d 34 31 20 6d 34 30 29 29 0a 20 20 20 20 20 20 20 20 e.(for-meta.4.m41.m40)).........
4e0c0 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 28 66 6f 72 2d 6d 65 74 61 20 2d ............(require.(for-meta.-
4e0e0 34 20 6d 2d 34 31 20 6d 2d 34 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4.m-41.m-40))...................
4e100 20 20 28 72 65 71 75 69 72 65 20 28 66 6f 72 2d 6c 61 62 65 6c 20 6c 31 20 6c 30 29 29 0a 20 20 ..(require.(for-label.l1.l0))...
4e120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 28 66 6f 72 2d ..................(require.(for-
4e140 74 65 6d 70 6c 61 74 65 20 74 31 20 74 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 template.t1.t0))................
4e160 20 20 20 20 20 28 72 65 71 75 69 72 65 20 28 66 6f 72 2d 73 79 6e 74 61 78 20 73 31 20 73 30 29 .....(require.(for-syntax.s1.s0)
4e180 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 0a 20 ).....................(require..
4e1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 2e 72 6b 74 22 20 22 62 2e 72 ...................."a.rkt"."b.r
4e1c0 6b 74 22 20 22 63 2e 72 6b 74 22 20 22 7a 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 kt"."c.rkt"."z.rkt".............
4e1e0 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 22 6d 6f 64 2e 72 6b 74 22 20 6f 69 29 0a .........(only-in."mod.rkt".oi).
4e200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 6d 6f .....................(only-in.mo
4e220 64 20 6f 69 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 72 65 71 75 d.oi))))).................'(requ
4e240 69 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d 73 79 6e 74 61 ire...................(for-synta
4e260 78 20 73 30 20 73 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d x.s0.s1)...................(for-
4e280 74 65 6d 70 6c 61 74 65 20 74 30 20 74 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 template.t0.t1).................
4e2a0 20 20 28 66 6f 72 2d 6c 61 62 65 6c 20 6c 30 20 6c 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..(for-label.l0.l1).............
4e2c0 20 20 20 20 20 20 28 66 6f 72 2d 6d 65 74 61 20 2d 34 20 6d 2d 34 30 20 6d 2d 34 31 29 0a 20 20 ......(for-meta.-4.m-40.m-41)...
4e2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2d 6d 65 74 61 20 34 20 6d 34 30 20 ................(for-meta.4.m40.
4e300 6d 34 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 20 62 20 63 0a 20 20 20 m41)...................a.b.c....
4e320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 69 2d 61 2f 6d 69 2d 61 30 0a 20 20 20 20 20 20 ...............mi-a/mi-a0.......
4e340 20 20 20 20 20 20 20 20 20 20 20 20 6d 69 2d 61 2f 6d 69 2d 61 31 0a 20 20 20 20 20 20 20 20 20 ............mi-a/mi-a1..........
4e360 20 20 20 20 20 20 20 20 20 6d 69 2d 7a 2f 6d 69 2d 7a 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 .........mi-z/mi-z0.............
4e380 20 20 20 20 20 20 6d 69 2d 7a 2f 6d 69 2d 7a 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......mi-z/mi-z1................
4e3a0 20 20 20 28 6f 6e 6c 79 2d 69 6e 20 6d 6f 64 20 6f 69 29 20 7a 0a 20 20 20 20 20 20 20 20 20 20 ...(only-in.mod.oi).z...........
4e3c0 20 20 20 20 20 20 20 20 22 61 2e 72 6b 74 22 20 22 62 2e 72 6b 74 22 20 22 63 2e 72 6b 74 22 20 ........"a.rkt"."b.rkt"."c.rkt".
4e3e0 28 6f 6e 6c 79 2d 69 6e 20 22 6d 6f 64 2e 72 6b 74 22 20 6f 69 29 20 22 7a 2e 72 6b 74 22 29 29 (only-in."mod.rkt".oi)."z.rkt"))
4e400 29 0a 0a 28 64 65 66 69 6e 65 20 28 61 64 64 2d 6d 75 6c 74 69 2d 69 6e 20 78 73 29 0a 20 20 3b )..(define.(add-multi-in.xs)...;
4e420 3b 20 28 2d 3e 20 28 6c 69 73 74 6f 66 20 72 65 71 75 69 72 65 2d 73 75 62 66 6f 72 6d 3f 29 20 ;.(->.(listof.require-subform?).
4e440 28 6c 69 73 74 6f 66 20 72 65 71 75 69 72 65 2d 73 75 62 66 6f 72 6d 3f 29 29 0a 20 20 3b 3b 20 (listof.require-subform?))...;;.
4e460 31 2e 20 41 73 73 75 6d 65 73 20 78 73 20 61 72 65 20 73 6f 72 74 65 64 2e 20 32 2e 20 4f 6e 6c 1..Assumes.xs.are.sorted..2..Onl
4e480 79 20 74 72 69 65 73 20 74 6f 20 64 69 73 63 6f 76 65 72 2f 61 64 64 20 6d 75 6c 74 69 2d 69 6e y.tries.to.discover/add.multi-in
4e4a0 0a 20 20 3b 3b 20 66 6f 72 6d 73 20 77 68 65 72 65 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d ...;;.forms.where.the.first.elem
4e4c0 65 6e 74 20 69 73 20 61 20 73 69 6e 67 6c 65 20 69 74 65 6d 20 2d 2d 20 65 2e 67 2e 20 28 6d 75 ent.is.a.single.item.--.e.g..(mu
4e4e0 6c 74 69 2d 69 6e 0a 20 20 3b 3b 20 61 20 28 62 20 63 29 29 20 62 75 74 20 6e 6f 74 20 28 6d 75 lti-in...;;.a.(b.c)).but.not.(mu
4e500 6c 74 69 2d 69 6e 20 28 61 20 62 29 20 28 63 20 64 29 29 2e 0a 20 20 28 64 65 66 69 6e 65 20 28 lti-in.(a.b).(c.d))....(define.(
4e520 73 70 6c 69 74 20 76 29 0a 20 20 20 20 28 63 6f 6e 64 20 5b 28 73 74 72 69 6e 67 3f 20 76 29 20 split.v).....(cond.[(string?.v).
4e540 28 73 74 72 69 6e 67 2d 73 70 6c 69 74 20 76 20 23 70 78 22 2f 22 29 5d 0a 20 20 20 20 20 20 20 (string-split.v.#px"/")]........
4e560 20 20 20 5b 28 73 79 6d 62 6f 6c 3f 20 76 29 20 28 6d 61 70 20 73 74 72 69 6e 67 2d 3e 73 79 6d ...[(symbol?.v).(map.string->sym
4e580 62 6f 6c 20 28 73 74 72 69 6e 67 2d 73 70 6c 69 74 20 28 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e bol.(string-split.(symbol->strin
4e5a0 67 20 76 29 20 23 70 78 22 2f 22 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 28 g.v).#px"/"))]...........[else.(
4e5c0 6c 69 73 74 29 5d 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28 6a 6f 69 6e 20 76 73 29 0a 20 20 20 list)]))...(define.(join.vs)....
4e5e0 20 28 63 6f 6e 64 20 5b 28 61 6e 64 6d 61 70 20 73 74 72 69 6e 67 3f 20 76 73 29 20 28 73 74 72 .(cond.[(andmap.string?.vs).(str
4e600 69 6e 67 2d 6a 6f 69 6e 20 76 73 20 22 2f 22 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 28 61 6e ing-join.vs."/")]...........[(an
4e620 64 6d 61 70 20 73 79 6d 62 6f 6c 3f 20 76 73 29 20 28 73 74 72 69 6e 67 2d 3e 73 79 6d 62 6f 6c dmap.symbol?.vs).(string->symbol
4e640 20 28 73 74 72 69 6e 67 2d 6a 6f 69 6e 20 28 6d 61 70 20 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e .(string-join.(map.symbol->strin
4e660 67 20 76 73 29 20 22 2f 22 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 28 65 72 g.vs)."/"))]...........[else.(er
4e680 72 6f 72 20 27 61 64 64 2d 6d 75 6c 74 69 2d 69 6e 20 22 6e 6f 74 20 73 74 72 69 6e 67 73 20 6f ror.'add-multi-in."not.strings.o
4e6a0 72 20 73 79 6d 62 6f 6c 73 22 29 5d 29 29 0a 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 5b 78 73 20 r.symbols")]))...(let.loop.([xs.
4e6c0 78 73 5d 29 0a 20 20 20 20 28 6d 61 74 63 68 20 78 73 0a 20 20 20 20 20 20 5b 28 6c 69 73 74 29 xs]).....(match.xs.......[(list)
4e6e0 20 28 6c 69 73 74 29 5d 0a 20 20 20 20 20 20 5b 28 6c 69 73 74 20 78 29 20 28 6c 69 73 74 20 78 .(list)].......[(list.x).(list.x
4e700 29 5d 0a 20 20 20 20 20 20 5b 28 6c 69 73 74 2a 20 28 61 6e 64 20 60 28 6d 75 6c 74 69 2d 69 6e )].......[(list*.(and.`(multi-in
4e720 20 2c 70 72 65 20 2c 76 73 29 20 74 68 69 73 29 20 6e 65 78 74 20 6d 6f 72 65 29 0a 20 20 20 20 .,pre.,vs).this).next.more).....
4e740 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 70 72 65 73 20 74 68 69 73 2d 72 65 73 ...(define-values.(pres.this-res
4e760 74 20 6e 65 78 74 2d 72 65 73 74 29 20 28 73 70 6c 69 74 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 t.next-rest).(split-common-prefi
4e780 78 20 28 73 70 6c 69 74 20 70 72 65 29 20 28 73 70 6c 69 74 20 6e 65 78 74 29 29 29 0a 20 20 20 x.(split.pre).(split.next)))....
4e7a0 20 20 20 20 28 63 6f 6e 64 20 5b 28 65 71 75 61 6c 3f 20 28 73 70 6c 69 74 20 70 72 65 29 20 70 ....(cond.[(equal?.(split.pre).p
4e7c0 72 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 28 6c 69 73 74 2a 20 res)...............(loop.(list*.
4e7e0 60 28 6d 75 6c 74 69 2d 69 6e 20 2c 70 72 65 20 2c 28 61 70 70 65 6e 64 20 76 73 20 28 6c 69 73 `(multi-in.,pre.,(append.vs.(lis
4e800 74 20 28 6a 6f 69 6e 20 6e 65 78 74 2d 72 65 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 t.(join.next-rest))))...........
4e820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 72 65 29 29 5d 0a 20 20 20 20 20 20 20 .................more))]........
4e840 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 ......[else...............(cons.
4e860 74 68 69 73 20 28 6c 6f 6f 70 20 28 6c 69 73 74 2a 20 6e 65 78 74 20 6d 6f 72 65 29 29 29 5d 29 this.(loop.(list*.next.more)))])
4e880 5d 0a 20 20 20 20 20 20 5b 28 6c 69 73 74 2a 20 74 68 69 73 20 6e 65 78 74 20 6d 6f 72 65 29 0a ].......[(list*.this.next.more).
4e8a0 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 20 28 70 72 65 73 20 74 68 69 73 .......(define-values.(pres.this
4e8c0 2d 72 65 73 74 20 6e 65 78 74 2d 72 65 73 74 29 20 28 73 70 6c 69 74 2d 63 6f 6d 6d 6f 6e 2d 70 -rest.next-rest).(split-common-p
4e8e0 72 65 66 69 78 20 28 73 70 6c 69 74 20 74 68 69 73 29 20 28 73 70 6c 69 74 20 6e 65 78 74 29 29 refix.(split.this).(split.next))
4e900 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 64 20 5b 28 6e 75 6c 6c 3f 20 70 72 65 73 29 0a 20 20 20 )........(cond.[(null?.pres)....
4e920 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 74 68 69 73 20 28 6c 6f 6f 70 20 28 6c 69 73 ...........(cons.this.(loop.(lis
4e940 74 2a 20 6e 65 78 74 20 6d 6f 72 65 29 29 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 65 t*.next.more)))]..............[e
4e960 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20 28 6c 69 73 74 2a 20 60 lse...............(loop.(list*.`
4e980 28 6d 75 6c 74 69 2d 69 6e 20 2c 28 6a 6f 69 6e 20 70 72 65 73 29 20 28 2c 28 6a 6f 69 6e 20 74 (multi-in.,(join.pres).(,(join.t
4e9a0 68 69 73 2d 72 65 73 74 29 20 2c 28 6a 6f 69 6e 20 6e 65 78 74 2d 72 65 73 74 29 29 29 0a 20 20 his-rest).,(join.next-rest)))...
4e9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 72 65 29 29 5d .........................more))]
4e9e0 29 5d 29 29 29 0a 0a 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 63 68 65 63 6b 2d 65 71 )])))..(module+.test...(check-eq
4ea00 75 61 6c 3f 20 28 61 64 64 2d 6d 75 6c 74 69 2d 69 6e 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 ual?.(add-multi-in.'(a.b.c))....
4ea20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 61 20 62 20 63 29 29 0a 20 20 28 63 68 65 63 6b 2d .............'(a.b.c))...(check-
4ea40 65 71 75 61 6c 3f 20 28 61 64 64 2d 6d 75 6c 74 69 2d 69 6e 20 27 28 61 20 28 70 72 65 66 69 78 equal?.(add-multi-in.'(a.(prefix
4ea60 2d 69 6e 20 62 3a 20 62 29 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 -in.b:.b).c)).................'(
4ea80 61 20 28 70 72 65 66 69 78 2d 69 6e 20 62 3a 20 62 29 20 63 29 29 0a 20 20 28 63 68 65 63 6b 2d a.(prefix-in.b:.b).c))...(check-
4eaa0 65 71 75 61 6c 3f 20 28 61 64 64 2d 6d 75 6c 74 69 2d 69 6e 20 27 28 72 61 63 6b 65 74 2f 73 74 equal?.(add-multi-in.'(racket/st
4eac0 72 69 6e 67 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 72 61 63 ring.b.c)).................'(rac
4eae0 6b 65 74 2f 73 74 72 69 6e 67 20 62 20 63 29 29 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f ket/string.b.c))...(check-equal?
4eb00 20 28 61 64 64 2d 6d 75 6c 74 69 2d 69 6e 20 27 28 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 20 72 .(add-multi-in.'(racket/format.r
4eb20 61 63 6b 65 74 2f 73 74 72 69 6e 67 20 73 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 acket/string.s.t))..............
4eb40 20 20 20 27 28 28 6d 75 6c 74 69 2d 69 6e 20 72 61 63 6b 65 74 20 28 66 6f 72 6d 61 74 20 73 74 ...'((multi-in.racket.(format.st
4eb60 72 69 6e 67 29 29 20 73 20 74 29 29 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 61 64 ring)).s.t))...(check-equal?.(ad
4eb80 64 2d 6d 75 6c 74 69 2d 69 6e 20 27 28 72 61 63 6b 65 74 2f 63 6f 6e 74 72 61 63 74 20 72 61 63 d-multi-in.'(racket/contract.rac
4eba0 6b 65 74 2f 66 6f 72 6d 61 74 20 72 61 63 6b 65 74 2f 73 74 72 69 6e 67 20 73 20 74 29 29 0a 20 ket/format.racket/string.s.t))..
4ebc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 28 6d 75 6c 74 69 2d 69 6e 20 72 61 63 6b 65 ...............'((multi-in.racke
4ebe0 74 20 28 63 6f 6e 74 72 61 63 74 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 29 29 20 73 20 74 29 t.(contract.format.string)).s.t)
4ec00 29 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 61 64 64 2d 6d 75 6c 74 69 2d 69 6e 20 )...(check-equal?.(add-multi-in.
4ec20 27 28 61 2f 62 2f 78 20 61 2f 62 2f 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 '(a/b/x.a/b/y)).................
4ec40 27 28 28 6d 75 6c 74 69 2d 69 6e 20 61 2f 62 20 28 78 20 79 29 29 29 29 0a 20 20 28 63 68 65 63 '((multi-in.a/b.(x.y))))...(chec
4ec60 6b 2d 65 71 75 61 6c 3f 20 28 61 64 64 2d 6d 75 6c 74 69 2d 69 6e 20 27 28 22 61 2e 72 6b 74 22 k-equal?.(add-multi-in.'("a.rkt"
4ec80 20 22 62 2e 72 6b 74 22 20 22 63 2e 72 6b 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ."b.rkt"."c.rkt"))..............
4eca0 20 20 20 27 28 22 61 2e 72 6b 74 22 20 22 62 2e 72 6b 74 22 20 22 63 2e 72 6b 74 22 29 29 0a 20 ...'("a.rkt"."b.rkt"."c.rkt"))..
4ecc0 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 61 64 64 2d 6d 75 6c 74 69 2d 69 6e 20 27 28 22 .(check-equal?.(add-multi-in.'("
4ece0 61 2e 72 6b 74 22 20 28 70 72 65 66 69 78 2d 69 6e 20 62 3a 20 22 62 2e 72 6b 74 22 29 20 22 63 a.rkt".(prefix-in.b:."b.rkt")."c
4ed00 2e 72 6b 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 22 61 2e 72 6b 74 .rkt")).................'("a.rkt
4ed20 22 20 28 70 72 65 66 69 78 2d 69 6e 20 62 3a 20 22 62 2e 72 6b 74 22 29 20 22 63 2e 72 6b 74 22 ".(prefix-in.b:."b.rkt")."c.rkt"
4ed40 29 29 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 61 64 64 2d 6d 75 6c 74 69 2d 69 6e ))...(check-equal?.(add-multi-in
4ed60 20 27 28 22 61 2f 78 2e 72 6b 74 22 20 22 62 2e 72 6b 74 22 20 22 63 2e 72 6b 74 22 29 29 0a 20 .'("a/x.rkt"."b.rkt"."c.rkt"))..
4ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 22 61 2f 78 2e 72 6b 74 22 20 22 62 2e 72 6b ...............'("a/x.rkt"."b.rk
4eda0 74 22 20 22 63 2e 72 6b 74 22 29 29 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 61 64 t"."c.rkt"))...(check-equal?.(ad
4edc0 64 2d 6d 75 6c 74 69 2d 69 6e 20 27 28 22 61 2f 78 2e 72 6b 74 22 20 22 61 2f 79 2e 72 6b 74 22 d-multi-in.'("a/x.rkt"."a/y.rkt"
4ede0 20 22 62 2e 72 6b 74 22 20 22 63 2e 72 6b 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ."b.rkt"."c.rkt"))..............
4ee00 20 20 20 27 28 28 6d 75 6c 74 69 2d 69 6e 20 22 61 22 20 28 22 78 2e 72 6b 74 22 20 22 79 2e 72 ...'((multi-in."a".("x.rkt"."y.r
4ee20 6b 74 22 29 29 20 22 62 2e 72 6b 74 22 20 22 63 2e 72 6b 74 22 29 29 0a 20 20 28 63 68 65 63 6b kt"))."b.rkt"."c.rkt"))...(check
4ee40 2d 65 71 75 61 6c 3f 20 28 61 64 64 2d 6d 75 6c 74 69 2d 69 6e 20 27 28 22 61 2f 78 2e 72 6b 74 -equal?.(add-multi-in.'("a/x.rkt
4ee60 22 20 22 61 2f 79 2e 72 6b 74 22 20 22 61 2f 7a 2e 72 6b 74 22 20 22 62 2e 72 6b 74 22 20 22 63 "."a/y.rkt"."a/z.rkt"."b.rkt"."c
4ee80 2e 72 6b 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 28 6d 75 6c 74 69 .rkt")).................'((multi
4eea0 2d 69 6e 20 22 61 22 20 28 22 78 2e 72 6b 74 22 20 22 79 2e 72 6b 74 22 20 22 7a 2e 72 6b 74 22 -in."a".("x.rkt"."y.rkt"."z.rkt"
4eec0 29 29 20 22 62 2e 72 6b 74 22 20 22 63 2e 72 6b 74 22 29 29 0a 20 20 28 63 68 65 63 6b 2d 65 71 ))."b.rkt"."c.rkt"))...(check-eq
4eee0 75 61 6c 3f 20 28 61 64 64 2d 6d 75 6c 74 69 2d 69 6e 20 27 28 22 61 2f 62 2f 78 2e 72 6b 74 22 ual?.(add-multi-in.'("a/b/x.rkt"
4ef00 20 22 61 2f 62 2f 79 2e 72 6b 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 ."a/b/y.rkt")).................'
4ef20 28 28 6d 75 6c 74 69 2d 69 6e 20 22 61 2f 62 22 20 28 22 78 2e 72 6b 74 22 20 22 79 2e 72 6b 74 ((multi-in."a/b".("x.rkt"."y.rkt
4ef40 22 29 29 29 29 29 0a 0a 3b 3b 20 44 65 66 69 6e 65 64 20 68 65 72 65 20 62 2f 63 20 6e 6f 74 20 ")))))..;;.Defined.here.b/c.not.
4ef60 69 6e 20 52 61 63 6b 65 74 20 3c 20 36 2e 33 20 61 6e 64 20 77 65 20 73 75 70 70 6f 72 74 20 36 in.Racket.<.6.3.and.we.support.6
4ef80 2e 32 0a 28 64 65 66 69 6e 65 20 28 73 70 6c 69 74 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 .2.(define.(split-common-prefix.
4efa0 61 73 20 62 73 29 0a 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 5b 61 73 20 61 73 5d 20 5b 62 73 20 as.bs)...(let.loop.([as.as].[bs.
4efc0 62 73 5d 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 70 61 69 72 3f 20 61 73 29 20 28 70 61 bs]).....(if.(and.(pair?.as).(pa
4efe0 69 72 3f 20 62 73 29 20 28 65 71 75 61 6c 3f 20 28 63 61 72 20 61 73 29 20 28 63 61 72 20 62 73 ir?.bs).(equal?.(car.as).(car.bs
4f000 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2d 76 61 6c 75 65 73 20 28 5b 28 70 72 65 66 69 ))).........(let-values.([(prefi
4f020 78 20 61 74 61 69 6c 20 62 74 61 69 6c 29 20 28 6c 6f 6f 70 20 28 63 64 72 20 61 73 29 20 28 63 x.atail.btail).(loop.(cdr.as).(c
4f040 64 72 20 62 73 29 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 28 63 6f 6e dr.bs))])...........(values.(con
4f060 73 20 28 63 61 72 20 61 73 29 20 70 72 65 66 69 78 29 20 61 74 61 69 6c 20 62 74 61 69 6c 29 29 s.(car.as).prefix).atail.btail))
4f080 0a 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 6e 75 6c 6c 20 61 73 20 62 73 29 29 29 29 0a .........(values.null.as.bs)))).
4f0a0 0a 28 64 65 66 69 6e 65 20 28 66 6f 72 6d 2d 6d 6f 64 20 78 29 0a 20 20 20 20 28 6d 61 74 63 68 .(define.(form-mod.x).....(match
4f0c0 20 78 0a 20 20 20 20 20 20 5b 28 6c 69 73 74 20 27 6f 6e 6c 79 2d 69 6e 20 20 20 6d 20 5f 20 2e .x.......[(list.'only-in...m._..
4f0e0 2e 2e 29 20 20 20 20 20 28 66 6f 72 6d 2d 6d 6f 64 20 6d 29 5d 0a 20 20 20 20 20 20 5b 28 6c 69 ..).....(form-mod.m)].......[(li
4f100 73 74 20 27 65 78 63 65 70 74 2d 69 6e 20 6d 20 5f 20 2e 2e 2e 29 20 20 20 20 20 28 66 6f 72 6d st.'except-in.m._....).....(form
4f120 2d 6d 6f 64 20 6d 29 5d 0a 20 20 20 20 20 20 5b 28 6c 69 73 74 20 27 70 72 65 66 69 78 2d 69 6e -mod.m)].......[(list.'prefix-in
4f140 20 5f 20 6d 29 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 2d 6d 6f 64 20 6d 29 5d 0a 20 20 20 20 ._.m).........(form-mod.m)].....
4f160 20 20 5b 28 6c 69 73 74 20 27 72 65 6c 61 74 69 76 65 2d 69 6e 20 5f 20 6d 20 5f 20 2e 2e 2e 29 ..[(list.'relative-in._.m._....)
4f180 20 28 66 6f 72 6d 2d 6d 6f 64 20 6d 29 5d 0a 20 20 20 20 20 20 5b 28 6c 69 73 74 20 27 6d 75 6c .(form-mod.m)].......[(list.'mul
4f1a0 74 69 2d 69 6e 20 6d 20 5f 29 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 2d 6d 6f 64 20 6d 29 ti-in.m._)..........(form-mod.m)
4f1c0 5d 0a 20 20 20 20 20 20 5b 6d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ].......[m......................
4f1e0 20 20 20 20 20 20 20 6d 5d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 6d 6f 64 3c 3f 20 61 20 62 29 .......m]))..(define.(mod<?.a.b)
4f200 0a 20 20 28 6c 65 74 20 28 5b 61 20 28 66 6f 72 6d 2d 6d 6f 64 20 61 29 5d 0a 20 20 20 20 20 20 ...(let.([a.(form-mod.a)].......
4f220 20 20 5b 62 20 28 66 6f 72 6d 2d 6d 6f 64 20 62 29 5d 29 0a 20 20 20 20 28 6f 72 20 28 61 6e 64 ..[b.(form-mod.b)]).....(or.(and
4f240 20 28 73 79 6d 62 6f 6c 3f 20 61 29 20 28 6e 6f 74 20 28 73 79 6d 62 6f 6c 3f 20 62 29 29 29 0a .(symbol?.a).(not.(symbol?.b))).
4f260 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6c 69 73 74 3f 20 61 29 20 28 6e 6f 74 20 28 6c 69 73 ........(and.(list?.a).(not.(lis
4f280 74 3f 20 62 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 28 73 74 72 69 6e t?.b))).........(and.(not.(strin
4f2a0 67 3f 20 61 29 29 20 28 73 74 72 69 6e 67 3f 20 61 29 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 g?.a)).(string?.a)).........(and
4f2c0 20 28 73 74 72 69 6e 67 3f 20 61 29 20 28 73 74 72 69 6e 67 3f 20 62 29 0a 20 20 20 20 20 20 20 .(string?.a).(string?.b)........
4f2e0 20 20 20 20 20 20 28 73 74 72 69 6e 67 3c 3f 20 61 20 62 29 29 0a 20 20 20 20 20 20 20 20 28 61 ......(string<?.a.b)).........(a
4f300 6e 64 20 28 73 79 6d 62 6f 6c 3f 20 61 29 20 28 73 79 6d 62 6f 6c 3f 20 62 29 0a 20 20 20 20 20 nd.(symbol?.a).(symbol?.b)......
4f320 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 3c 3f 20 28 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e ........(string<?.(symbol->strin
4f340 67 20 61 29 20 28 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e 67 20 62 29 29 29 29 29 29 0a 0a 28 6d g.a).(symbol->string.b))))))..(m
4f360 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 63 68 65 63 6b 2d 74 72 75 65 20 28 6d 6f 64 3c 3f odule+.test...(check-true.(mod<?
4f380 20 27 61 20 27 62 29 29 0a 20 20 28 63 68 65 63 6b 2d 66 61 6c 73 65 20 28 6d 6f 64 3c 3f 20 27 .'a.'b))...(check-false.(mod<?.'
4f3a0 62 20 27 61 29 29 0a 20 20 28 63 68 65 63 6b 2d 74 72 75 65 20 28 6d 6f 64 3c 3f 20 27 61 20 27 b.'a))...(check-true.(mod<?.'a.'
4f3c0 28 6f 6e 6c 79 2d 69 6e 20 62 29 29 29 0a 20 20 28 63 68 65 63 6b 2d 74 72 75 65 20 28 6d 6f 64 (only-in.b)))...(check-true.(mod
4f3e0 3c 3f 20 27 28 6f 6e 6c 79 2d 69 6e 20 61 29 20 27 62 29 29 0a 20 20 28 63 68 65 63 6b 2d 74 72 <?.'(only-in.a).'b))...(check-tr
4f400 75 65 20 28 6d 6f 64 3c 3f 20 27 61 20 27 28 65 78 63 65 70 74 2d 69 6e 20 62 29 29 29 0a 20 20 ue.(mod<?.'a.'(except-in.b)))...
4f420 28 63 68 65 63 6b 2d 74 72 75 65 20 28 6d 6f 64 3c 3f 20 27 28 65 78 63 65 70 74 2d 69 6e 20 61 (check-true.(mod<?.'(except-in.a
4f440 29 20 27 62 29 29 0a 20 20 28 63 68 65 63 6b 2d 74 72 75 65 20 28 6d 6f 64 3c 3f 20 27 61 20 27 ).'b))...(check-true.(mod<?.'a.'
4f460 28 70 72 65 66 69 78 2d 69 6e 20 70 20 27 62 29 29 29 0a 20 20 28 63 68 65 63 6b 2d 74 72 75 65 (prefix-in.p.'b)))...(check-true
4f480 20 28 6d 6f 64 3c 3f 20 27 28 70 72 65 66 69 78 2d 69 6e 20 70 20 27 61 29 20 27 62 29 29 0a 20 .(mod<?.'(prefix-in.p.'a).'b))..
4f4a0 20 28 63 68 65 63 6b 2d 74 72 75 65 20 28 6d 6f 64 3c 3f 20 27 61 20 27 28 72 65 6c 61 74 69 76 .(check-true.(mod<?.'a.'(relativ
4f4c0 65 2d 69 6e 20 70 20 27 62 29 29 29 0a 20 20 28 63 68 65 63 6b 2d 74 72 75 65 20 28 6d 6f 64 3c e-in.p.'b)))...(check-true.(mod<
4f4e0 3f 20 27 28 72 65 6c 61 74 69 76 65 2d 69 6e 20 70 20 27 61 29 20 27 62 29 29 0a 20 20 28 63 68 ?.'(relative-in.p.'a).'b))...(ch
4f500 65 63 6b 2d 74 72 75 65 20 28 6d 6f 64 3c 3f 20 27 61 20 27 28 70 72 65 66 69 78 2d 69 6e 20 70 eck-true.(mod<?.'a.'(prefix-in.p
4f520 20 28 6f 6e 6c 79 2d 69 6e 20 62 29 29 29 29 0a 20 20 28 63 68 65 63 6b 2d 74 72 75 65 20 28 6d .(only-in.b))))...(check-true.(m
4f540 6f 64 3c 3f 20 27 28 70 72 65 66 69 78 2d 69 6e 20 70 20 28 6f 6e 6c 79 2d 69 6e 20 61 29 29 20 od<?.'(prefix-in.p.(only-in.a)).
4f560 27 62 29 29 29 0a 0a 3b 3b 3b 20 70 72 65 74 74 79 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 'b)))..;;;.pretty..(define/contr
4f580 61 63 74 20 28 72 65 71 75 69 72 65 2d 70 72 65 74 74 79 2d 66 6f 72 6d 61 74 20 78 29 0a 20 20 act.(require-pretty-format.x)...
4f5a0 28 2d 3e 20 6c 69 73 74 3f 20 73 74 72 69 6e 67 3f 29 0a 20 20 28 64 65 66 69 6e 65 20 6f 75 74 (->.list?.string?)...(define.out
4f5c0 20 28 6f 70 65 6e 2d 6f 75 74 70 75 74 2d 73 74 72 69 6e 67 29 29 0a 20 20 28 70 61 72 61 6d 65 .(open-output-string))...(parame
4f5e0 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 74 20 6f 75 74 terize.([current-output-port.out
4f600 5d 29 0a 20 20 20 20 28 72 65 71 75 69 72 65 2d 70 72 65 74 74 79 2d 70 72 69 6e 74 20 78 29 29 ]).....(require-pretty-print.x))
4f620 0a 20 20 28 67 65 74 2d 6f 75 74 70 75 74 2d 73 74 72 69 6e 67 20 6f 75 74 29 29 0a 0a 28 6d 6f ...(get-output-string.out))..(mo
4f640 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 72 65 71 75 dule+.test...(check-equal?.(requ
4f660 69 72 65 2d 70 72 65 74 74 79 2d 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ire-pretty-format...............
4f680 20 20 20 27 28 72 65 71 75 69 72 65 20 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...'(require.a))................
4f6a0 20 40 7e 61 7b 28 72 65 71 75 69 72 65 20 61 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .@~a{(require.a)................
4f6c0 20 20 20 20 20 20 7d 29 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 72 65 71 75 69 72 ......})...(check-equal?.(requir
4f6e0 65 2d 70 72 65 74 74 79 2d 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-pretty-format.................
4f700 20 27 28 72 65 71 75 69 72 65 20 61 20 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .'(require.a.b))................
4f720 20 40 7e 61 7b 28 72 65 71 75 69 72 65 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .@~a{(require.a.................
4f740 20 20 20 20 20 20 20 20 20 20 20 20 20 62 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............b).................
4f760 20 20 20 20 20 7d 29 0a 20 20 28 63 68 65 63 6b 2d 65 71 75 61 6c 3f 20 28 72 65 71 75 69 72 65 .....})...(check-equal?.(require
4f780 2d 70 72 65 74 74 79 2d 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -pretty-format..................
4f7a0 27 28 72 65 71 75 69 72 65 20 28 66 6f 72 2d 73 79 6e 74 61 78 20 61 20 62 29 20 28 66 6f 72 2d '(require.(for-syntax.a.b).(for-
4f7c0 6d 65 74 61 20 32 20 63 20 64 29 20 65 20 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 meta.2.c.d).e.f))...............
4f7e0 20 20 40 7e 61 7b 28 72 65 71 75 69 72 65 20 28 66 6f 72 2d 73 79 6e 74 61 78 20 61 0a 20 20 20 ..@~a{(require.(for-syntax.a....
4f800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4f820 20 20 20 20 20 20 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......b)........................
4f840 20 20 20 20 20 20 28 66 6f 72 2d 6d 65 74 61 20 32 20 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......(for-meta.2.c.............
4f860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 29 0a .............................d).
4f880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 0a 20 .............................e..
4f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 29 0a 0a ............................f)..
4f8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 29 0a 20 20 28 63 68 65 63 6b 2d ....................})...(check-
4f8e0 65 71 75 61 6c 3f 20 28 72 65 71 75 69 72 65 2d 70 72 65 74 74 79 2d 66 6f 72 6d 61 74 0a 20 20 equal?.(require-pretty-format...
4f900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 72 65 71 75 69 72 65 20 28 6f 6e 6c 79 2d 69 ...............`(require.(only-i
4f920 6e 20 6d 20 61 20 62 29 20 28 65 78 63 65 70 74 2d 69 6e 20 6d 20 61 20 62 29 29 29 0a 20 20 20 n.m.a.b).(except-in.m.a.b)))....
4f940 20 20 20 20 20 20 20 20 20 20 20 20 20 40 7e 61 7b 28 72 65 71 75 69 72 65 20 28 6f 6e 6c 79 2d .............@~a{(require.(only-
4f960 69 6e 20 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 in.m............................
4f980 20 20 20 20 20 20 20 20 20 20 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........a....................
4f9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 29 0a 20 20 20 20 20 20 20 20 20 20 ...................b)...........
4f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 63 65 70 74 2d 69 6e 20 6d 0a ...................(except-in.m.
4f9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4fa00 20 20 20 20 20 20 20 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........a.......................
4fa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 29 29 0a 0a 20 20 20 20 20 20 20 20 20 ..................b))...........
4fa40 20 20 20 20 20 20 20 20 20 20 20 7d 29 29 0a 0a 3b 3b 20 50 72 65 74 74 79 20 70 72 69 6e 74 20 ...........}))..;;.Pretty.print.
4fa60 61 20 72 65 71 75 69 72 65 20 66 6f 72 6d 20 77 69 74 68 20 6f 6e 65 20 6d 6f 64 75 6c 65 20 70 a.require.form.with.one.module.p
4fa80 65 72 20 6c 69 6e 65 20 61 6e 64 20 77 69 74 68 0a 3b 3b 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 er.line.and.with.;;.indentation.
4faa0 66 6f 72 20 74 68 65 20 60 66 6f 72 2d 58 60 20 73 75 62 66 6f 72 6d 73 2e 20 45 78 61 6d 70 6c for.the.`for-X`.subforms..Exampl
4fac0 65 3a 0a 3b 3b 0a 3b 3b 20 28 72 65 71 75 69 72 65 20 28 66 6f 72 2d 73 79 6e 74 61 78 20 72 61 e:.;;.;;.(require.(for-syntax.ra
4fae0 63 6b 65 74 2f 62 61 73 65 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cket/base.;;....................
4fb00 20 20 73 79 6e 74 61 78 2f 70 61 72 73 65 29 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 ..syntax/parse).;;..........(for
4fb20 2d 6d 65 74 61 20 33 20 72 61 63 6b 65 74 2f 61 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 -meta.3.racket/a.;;.............
4fb40 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 62 29 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 72 .........racket/b).;;..........r
4fb60 61 63 6b 65 74 2f 66 6f 72 6d 61 74 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f acket/format.;;..........racket/
4fb80 73 74 72 69 6e 67 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 22 61 2e 72 6b 74 22 0a 3b 3b 20 20 20 string.;;.........."a.rkt".;;...
4fba0 20 20 20 20 20 20 20 22 62 2e 72 6b 74 22 29 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 ......."b.rkt").(define/contract
4fbc0 20 28 72 65 71 75 69 72 65 2d 70 72 65 74 74 79 2d 70 72 69 6e 74 20 78 29 0a 20 20 28 2d 3e 20 .(require-pretty-print.x)...(->.
4fbe0 6c 69 73 74 3f 20 61 6e 79 29 0a 20 20 28 64 65 66 69 6e 65 20 28 70 72 6e 20 78 20 66 69 72 73 list?.any)...(define.(prn.x.firs
4fc00 74 3f 20 69 6e 64 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 28 69 6e 64 65 6e 74 2d 73 t?.indent).....(define.(indent-s
4fc20 74 72 69 6e 67 29 0a 20 20 20 20 20 20 28 69 66 20 66 69 72 73 74 3f 20 22 22 20 28 6d 61 6b 65 tring).......(if.first?."".(make
4fc40 2d 73 74 72 69 6e 67 20 69 6e 64 65 6e 74 20 23 5c 73 70 61 63 65 29 29 29 0a 20 20 20 20 28 64 -string.indent.#\space))).....(d
4fc60 65 66 69 6e 65 20 28 70 72 6e 2d 66 6f 72 6d 20 70 72 65 20 74 68 69 73 20 6d 6f 72 65 29 0a 20 efine.(prn-form.pre.this.more)..
4fc80 20 20 20 20 20 28 64 65 66 69 6e 65 20 6e 65 77 2d 69 6e 64 65 6e 74 20 28 2b 20 69 6e 64 65 6e .....(define.new-indent.(+.inden
4fca0 74 20 28 2b 20 32 20 28 73 74 72 69 6e 67 2d 6c 65 6e 67 74 68 20 70 72 65 29 29 29 29 0a 20 20 t.(+.2.(string-length.pre))))...
4fcc0 20 20 20 20 28 70 72 69 6e 74 66 20 22 7e 61 28 7e 61 20 22 20 28 69 6e 64 65 6e 74 2d 73 74 72 ....(printf."~a(~a.".(indent-str
4fce0 69 6e 67 29 20 70 72 65 29 0a 20 20 20 20 20 20 28 70 72 6e 20 74 68 69 73 20 23 74 20 6e 65 77 ing).pre).......(prn.this.#t.new
4fd00 2d 69 6e 64 65 6e 74 29 0a 20 20 20 20 20 20 28 66 6f 72 20 28 5b 78 20 6d 6f 72 65 5d 29 0a 20 -indent).......(for.([x.more])..
4fd20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 28 70 72 6e 20 78 20 .......(newline).........(prn.x.
4fd40 23 66 20 6e 65 77 2d 69 6e 64 65 6e 74 29 29 0a 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 20 22 #f.new-indent)).......(display."
4fd60 29 22 29 29 0a 20 20 20 20 28 6d 61 74 63 68 20 78 0a 20 20 20 20 20 20 5b 28 6c 69 73 74 20 27 )")).....(match.x.......[(list.'
4fd80 72 65 71 75 69 72 65 29 0a 20 20 20 20 20 20 20 28 76 6f 69 64 29 5d 0a 20 20 20 20 20 20 5b 28 require)........(void)].......[(
4fda0 6c 69 73 74 2a 20 28 61 6e 64 20 70 72 65 20 28 6f 72 20 27 72 65 71 75 69 72 65 20 27 66 6f 72 list*.(and.pre.(or.'require.'for
4fdc0 2d 73 79 6e 74 61 78 20 27 66 6f 72 2d 74 65 6d 70 6c 61 74 65 20 27 66 6f 72 2d 6c 61 62 65 6c -syntax.'for-template.'for-label
4fde0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6f 6e 6c ............................'onl
4fe00 79 2d 69 6e 20 27 65 78 63 65 70 74 2d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y-in.'except-in))...............
4fe20 74 68 69 73 20 6d 6f 72 65 29 0a 20 20 20 20 20 20 20 28 70 72 6e 2d 66 6f 72 6d 20 28 66 6f 72 this.more)........(prn-form.(for
4fe40 6d 61 74 20 22 7e 73 22 20 70 72 65 29 20 74 68 69 73 20 6d 6f 72 65 29 0a 20 20 20 20 20 20 20 mat."~s".pre).this.more)........
4fe60 28 77 68 65 6e 20 28 65 71 3f 20 70 72 65 20 27 72 65 71 75 69 72 65 29 0a 20 20 20 20 20 20 20 (when.(eq?.pre.'require)........
4fe80 20 20 28 6e 65 77 6c 69 6e 65 29 29 5d 0a 20 20 20 20 20 20 5b 28 6c 69 73 74 2a 20 27 66 6f 72 ..(newline))].......[(list*.'for
4fea0 2d 6d 65 74 61 20 6c 65 76 65 6c 20 74 68 69 73 20 6d 6f 72 65 29 0a 20 20 20 20 20 20 20 28 70 -meta.level.this.more)........(p
4fec0 72 6e 2d 66 6f 72 6d 20 28 66 6f 72 6d 61 74 20 22 66 6f 72 2d 6d 65 74 61 20 7e 61 22 20 6c 65 rn-form.(format."for-meta.~a".le
4fee0 76 65 6c 29 20 74 68 69 73 20 6d 6f 72 65 29 5d 0a 20 20 20 20 20 20 5b 74 68 69 73 0a 20 20 20 vel).this.more)].......[this....
4ff00 20 20 20 20 28 70 72 69 6e 74 66 20 22 7e 61 7e 73 22 20 28 69 6e 64 65 6e 74 2d 73 74 72 69 6e ....(printf."~a~s".(indent-strin
4ff20 67 29 20 74 68 69 73 29 5d 29 29 0a 20 20 28 70 72 6e 20 78 20 23 74 20 30 29 29 0a 00 00 00 00 g).this)]))...(prn.x.#t.0)).....
4ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50000 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
50020 72 61 63 6b 65 74 2f 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2e 72 6b 74 00 00 00 00 00 00 00 00 00 racket/repl-session.rkt.........
50040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
50080 30 30 30 35 32 35 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 30 32 37 32 00 20 30 00 00 00 0005254.00000000000.020272..0...
500a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
500c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
500e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
50120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
50140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
501a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
501c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
501e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50200 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
50220 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
50240 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
50260 61 6e 67 20 61 74 2d 65 78 70 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 ang.at-exp.racket/base..(require
50280 20 72 61 63 6b 65 74 2f 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d .racket/format..........racket/m
502a0 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 22 75 74 69 6c 2e 72 6b 74 22 29 0a 0a 28 70 72 6f 76 atch.........."util.rkt")..(prov
502c0 69 64 65 20 63 61 6c 6c 2d 77 69 74 68 2d 73 65 73 73 69 6f 6e 2d 63 6f 6e 74 65 78 74 0a 20 20 ide.call-with-session-context...
502e0 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 69 64 0a 20 20 20 20 20 20 .......current-session-id.......
50300 20 20 20 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6d 73 67 2d 63 68 61 6e 0a 20 20 20 20 20 20 20 ...current-repl-msg-chan........
50320 20 20 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 73 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 63 ..current-submissions..........c
50340 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 6d 61 79 62 65 2d 6d 6f 64 0a 20 20 20 20 20 20 20 urrent-session-maybe-mod........
50360 20 20 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 6e 61 67 65 72 0a 20 20 ..current-repl-output-manager...
50380 20 20 20 20 20 20 20 28 73 74 72 75 63 74 2d 6f 75 74 20 73 65 73 73 69 6f 6e 29 0a 20 20 20 20 .......(struct-out.session).....
503a0 20 20 20 20 20 67 65 74 2d 73 65 73 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 73 65 74 2d 73 65 .....get-session..........set-se
503c0 73 73 69 6f 6e 21 0a 20 20 20 20 20 20 20 20 20 72 65 6d 6f 76 65 2d 73 65 73 73 69 6f 6e 21 29 ssion!..........remove-session!)
503e0 0a 0a 3b 3b 3b 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 22 68 6f 75 73 65 6b 65 65 70 69 6e 67 ..;;;.REPL.session."housekeeping
50400 22 0a 0a 3b 3b 20 45 61 63 68 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 68 61 73 20 61 6e 20 65 "..;;.Each.REPL.session.has.an.e
50420 6e 74 72 79 20 69 6e 20 74 68 69 73 20 68 61 73 68 2d 74 61 62 6c 65 2e 0a 28 64 65 66 69 6e 65 ntry.in.this.hash-table..(define
50440 20 73 65 73 73 69 6f 6e 73 20 28 6d 61 6b 65 2d 68 61 73 68 65 71 29 29 20 3b 6e 75 6d 62 65 72 .sessions.(make-hasheq)).;number
50460 3f 20 3d 3e 20 73 65 73 73 69 6f 6e 3f 0a 0a 28 73 74 72 75 63 74 20 73 65 73 73 69 6f 6e 0a 20 ?.=>.session?..(struct.session..
50480 20 28 74 68 72 65 61 64 20 20 20 20 20 20 20 20 20 20 20 3b 74 68 72 65 61 64 3f 20 74 68 65 20 .(thread...........;thread?.the.
504a0 72 65 70 6c 20 6d 61 6e 61 67 65 72 20 74 68 72 65 61 64 0a 20 20 20 72 65 70 6c 2d 6f 75 74 2d repl.manager.thread....repl-out-
504c0 6d 67 72 20 20 20 20 20 3b 74 68 72 65 61 64 3f 20 74 68 65 20 72 65 70 6c 20 6f 75 74 70 75 74 mgr.....;thread?.the.repl.output
504e0 20 6d 61 6e 61 67 65 72 20 74 68 72 65 61 64 0a 20 20 20 72 65 70 6c 2d 6d 73 67 2d 63 68 61 6e .manager.thread....repl-msg-chan
50500 20 20 20 20 3b 63 68 61 6e 6e 65 6c 3f 0a 20 20 20 73 75 62 6d 69 73 73 69 6f 6e 73 20 20 20 20 ....;channel?....submissions....
50520 20 20 3b 63 68 61 6e 6e 65 6c 3f 0a 20 20 20 6d 61 79 62 65 2d 6d 6f 64 20 20 20 20 20 20 20 20 ..;channel?....maybe-mod........
50540 3b 28 6f 72 2f 63 20 23 66 20 6d 6f 64 75 6c 65 2d 70 61 74 68 3f 29 0a 20 20 20 6e 61 6d 65 73 ;(or/c.#f.module-path?)....names
50560 70 61 63 65 29 0a 20 20 23 3a 74 72 61 6e 73 70 61 72 65 6e 74 29 0a 0a 28 64 65 66 69 6e 65 20 pace)...#:transparent)..(define.
50580 28 67 65 74 2d 73 65 73 73 69 6f 6e 20 73 69 64 29 0a 20 20 28 68 61 73 68 2d 72 65 66 20 73 65 (get-session.sid)...(hash-ref.se
505a0 73 73 69 6f 6e 73 20 73 69 64 20 23 66 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 73 65 74 2d 73 65 ssions.sid.#f))..(define.(set-se
505c0 73 73 69 6f 6e 21 20 73 69 64 20 6d 61 79 62 65 2d 6d 6f 64 29 0a 20 20 28 68 61 73 68 2d 73 65 ssion!.sid.maybe-mod)...(hash-se
505e0 74 21 20 73 65 73 73 69 6f 6e 73 20 73 69 64 20 28 73 65 73 73 69 6f 6e 20 28 63 75 72 72 65 6e t!.sessions.sid.(session.(curren
50600 74 2d 74 68 72 65 61 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-thread).......................
50620 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6f 75 74 70 75 .............(current-repl-outpu
50640 74 2d 6d 61 6e 61 67 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-manager)......................
50660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6d 73 67 2d ..............(current-repl-msg-
50680 63 68 61 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 chan)...........................
506a0 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 73 69 6f 6e 73 29 0a 20 .........(current-submissions)..
506c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
506e0 20 20 6d 61 79 62 65 2d 6d 6f 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..maybe-mod.....................
50700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 ...............(current-namespac
50720 65 29 29 29 0a 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 64 65 62 75 67 20 40 7e e)))...(log-racket-mode-debug.@~
50740 61 7b 28 73 65 74 2d 73 65 73 73 69 6f 6e 21 20 40 7e 76 5b 73 69 64 5d 20 40 7e 76 5b 6d 61 79 a{(set-session!.@~v[sid].@~v[may
50760 62 65 2d 6d 6f 64 5d 29 20 3d 3e 20 73 65 73 73 69 6f 6e 73 3a 20 40 7e 76 5b 73 65 73 73 69 6f be-mod]).=>.sessions:.@~v[sessio
50780 6e 73 5d 7d 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 72 65 6d 6f 76 65 2d 73 65 73 73 69 6f 6e 21 ns]}))..(define.(remove-session!
507a0 20 73 69 64 29 0a 20 20 28 68 61 73 68 2d 72 65 6d 6f 76 65 21 20 73 65 73 73 69 6f 6e 73 20 73 .sid)...(hash-remove!.sessions.s
507c0 69 64 29 0a 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 64 65 62 75 67 20 40 7e 61 id)...(log-racket-mode-debug.@~a
507e0 7b 28 72 65 6d 6f 76 65 2d 73 65 73 73 69 6f 6e 21 20 40 7e 76 5b 73 69 64 5d 29 20 3d 3e 20 73 {(remove-session!.@~v[sid]).=>.s
50800 65 73 73 69 6f 6e 73 3a 20 40 7e 76 5b 73 65 73 73 69 6f 6e 73 5d 7d 29 29 0a 0a 28 64 65 66 69 essions:.@~v[sessions]}))..(defi
50820 6e 65 20 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 69 64 20 28 6d 61 6b 65 2d 70 61 72 61 ne.current-session-id.(make-para
50840 6d 65 74 65 72 20 23 66 29 29 0a 28 64 65 66 69 6e 65 20 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d meter.#f)).(define.current-repl-
50860 6d 73 67 2d 63 68 61 6e 20 28 6d 61 6b 65 2d 70 61 72 61 6d 65 74 65 72 20 23 66 29 29 0a 28 64 msg-chan.(make-parameter.#f)).(d
50880 65 66 69 6e 65 20 63 75 72 72 65 6e 74 2d 73 75 62 6d 69 73 73 69 6f 6e 73 20 28 6d 61 6b 65 2d efine.current-submissions.(make-
508a0 70 61 72 61 6d 65 74 65 72 20 23 66 29 29 0a 28 64 65 66 69 6e 65 20 63 75 72 72 65 6e 74 2d 73 parameter.#f)).(define.current-s
508c0 65 73 73 69 6f 6e 2d 6d 61 79 62 65 2d 6d 6f 64 20 28 6d 61 6b 65 2d 70 61 72 61 6d 65 74 65 72 ession-maybe-mod.(make-parameter
508e0 20 23 66 29 29 0a 28 64 65 66 69 6e 65 20 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6f 75 74 70 75 .#f)).(define.current-repl-outpu
50900 74 2d 6d 61 6e 61 67 65 72 20 28 6d 61 6b 65 2d 70 61 72 61 6d 65 74 65 72 20 23 66 29 29 0a 0a t-manager.(make-parameter.#f))..
50920 3b 3b 20 41 20 77 61 79 20 74 6f 20 70 61 72 61 6d 65 74 65 72 69 7a 65 20 65 2e 67 2e 20 63 6f ;;.A.way.to.parameterize.e.g..co
50940 6d 6d 61 6e 64 73 20 74 68 61 74 20 6e 65 65 64 20 74 6f 20 77 6f 72 6b 20 77 69 74 68 20 61 0a mmands.that.need.to.work.with.a.
50960 3b 3b 20 73 70 65 63 69 66 69 63 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 2e 20 43 61 6c 6c 65 64 ;;.specific.REPL.session..Called
50980 20 66 72 6f 6d 20 65 2e 67 2e 20 61 20 63 6f 6d 6d 61 6e 64 2d 73 65 72 76 65 72 20 74 68 72 65 .from.e.g..a.command-server.thre
509a0 61 64 2e 0a 28 64 65 66 69 6e 65 20 28 63 61 6c 6c 2d 77 69 74 68 2d 73 65 73 73 69 6f 6e 2d 63 ad..(define.(call-with-session-c
509c0 6f 6e 74 65 78 74 20 73 69 64 20 70 72 6f 63 20 2e 20 61 72 67 73 29 0a 20 20 28 6d 61 74 63 68 ontext.sid.proc...args)...(match
509e0 20 28 67 65 74 2d 73 65 73 73 69 6f 6e 20 73 69 64 29 0a 20 20 20 20 5b 28 3f 20 73 65 73 73 69 .(get-session.sid).....[(?.sessi
50a00 6f 6e 3f 20 73 29 0a 20 20 20 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 64 65 62 on?.s)......(log-racket-mode-deb
50a20 75 67 20 40 7e 61 7b 40 7e 76 5b 40 63 61 72 5b 61 72 67 73 5d 5d 3a 20 75 73 69 6e 67 20 73 65 ug.@~a{@~v[@car[args]]:.using.se
50a40 73 73 69 6f 6e 20 49 44 20 40 7e 76 5b 73 69 64 5d 7d 29 0a 20 20 20 20 20 28 70 61 72 61 6d 65 ssion.ID.@~v[sid]})......(parame
50a60 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 69 64 20 20 20 20 20 terize.([current-session-id.....
50a80 20 20 20 20 20 73 69 64 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 63 .....sid].....................[c
50aa0 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 6e 61 67 65 72 20 28 73 65 73 73 urrent-repl-output-manager.(sess
50ac0 69 6f 6e 2d 72 65 70 6c 2d 6f 75 74 2d 6d 67 72 20 73 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 ion-repl-out-mgr.s)]............
50ae0 20 20 20 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 72 65 70 6c 2d 6d 73 67 2d 63 68 61 6e 20 .........[current-repl-msg-chan.
50b00 20 20 20 20 20 20 28 73 65 73 73 69 6f 6e 2d 72 65 70 6c 2d 6d 73 67 2d 63 68 61 6e 20 73 29 5d ......(session-repl-msg-chan.s)]
50b20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 73 75 .....................[current-su
50b40 62 6d 69 73 73 69 6f 6e 73 20 20 20 20 20 20 20 20 20 28 73 65 73 73 69 6f 6e 2d 73 75 62 6d 69 bmissions.........(session-submi
50b60 73 73 69 6f 6e 73 20 73 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b ssions.s)].....................[
50b80 63 75 72 72 65 6e 74 2d 73 65 73 73 69 6f 6e 2d 6d 61 79 62 65 2d 6d 6f 64 20 20 20 28 73 65 73 current-session-maybe-mod...(ses
50ba0 73 69 6f 6e 2d 6d 61 79 62 65 2d 6d 6f 64 20 73 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 sion-maybe-mod.s)]..............
50bc0 20 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 20 20 20 20 20 20 .......[current-namespace.......
50be0 20 20 20 20 28 73 65 73 73 69 6f 6e 2d 6e 61 6d 65 73 70 61 63 65 20 73 29 5d 29 0a 20 20 20 20 ....(session-namespace.s)]).....
50c00 20 20 20 28 61 70 70 6c 79 20 70 72 6f 63 20 61 72 67 73 29 29 5d 0a 20 20 20 20 5b 5f 0a 20 20 ...(apply.proc.args))].....[_...
50c20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 3f 20 73 69 64 20 27 28 29 29 0a 20 20 20 20 ...(unless.(equal?.sid.'()).....
50c40 20 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 77 61 72 6e 69 6e 67 20 40 7e 61 7b ...(log-racket-mode-warning.@~a{
50c60 40 7e 76 5b 40 63 61 72 5b 61 72 67 73 5d 5d 3a 20 73 65 73 73 69 6f 6e 20 49 44 20 40 7e 76 5b @~v[@car[args]]:.session.ID.@~v[
50c80 73 69 64 5d 20 6e 6f 74 20 66 6f 75 6e 64 7d 29 29 0a 20 20 20 20 20 28 61 70 70 6c 79 20 70 72 sid].not.found}))......(apply.pr
50ca0 6f 63 20 61 72 67 73 29 5d 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 oc.args)])).....................
50cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50e00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
50e20 72 61 63 6b 65 74 2f 73 79 6e 74 61 78 2e 72 6b 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket/syntax.rkt...............
50e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
50e80 30 30 33 35 32 30 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 31 37 34 00 20 30 00 00 00 0035205.00000000000.017174..0...
50ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
50f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
50f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51000 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 ;;.Copyright.(c).2013-2022.by.Gr
51020 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d eg.Hendershott..;;.SPDX-License-
51040 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 23 6c Identifier:.GPL-3.0-or-later..#l
51060 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 0a 28 72 65 71 75 69 72 65 20 28 6f 6e 6c 79 2d ang.racket/base..(require.(only-
51080 69 6e 20 6f 70 65 6e 73 73 6c 2f 6d 64 35 20 6d 64 35 29 0a 20 20 20 20 20 20 20 20 20 72 61 63 in.openssl/md5.md5)..........rac
510a0 6b 65 74 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 69 6c ket/contract..........racket/fil
510c0 65 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 e..........racket/match.........
510e0 20 28 6f 6e 6c 79 2d 69 6e 20 72 61 63 6b 65 74 2f 70 61 74 68 20 70 61 74 68 2d 6f 6e 6c 79 29 .(only-in.racket/path.path-only)
51100 0a 20 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 2f 6d 6f 64 72 65 61 64 0a 20 20 20 20 20 20 20 ..........syntax/modread........
51120 20 20 22 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 2e 72 6b 74 22 29 0a 0a 28 70 .."online-check-syntax.rkt")..(p
51140 72 6f 76 69 64 65 20 6d 61 6b 65 2d 63 61 63 68 69 6e 67 2d 6c 6f 61 64 2f 75 73 65 2d 63 6f 6d rovide.make-caching-load/use-com
51160 70 69 6c 65 64 2d 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 2d 3e 73 79 6e piled-handler..........file->syn
51180 74 61 78 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 tax..........file->expanded-synt
511a0 61 78 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e ax..........string->expanded-syn
511c0 74 61 78 0a 20 20 20 20 20 20 20 20 20 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 73 79 6e 74 tax..........path->existing-synt
511e0 61 78 0a 20 20 20 20 20 20 20 20 20 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 65 78 70 61 6e ax..........path->existing-expan
51200 64 65 64 2d 73 79 6e 74 61 78 29 0a 0a 3b 3b 20 52 65 74 75 72 6e 20 61 20 73 79 6e 74 61 78 20 ded-syntax)..;;.Return.a.syntax.
51220 6f 62 6a 65 63 74 20 66 6f 72 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 60 70 61 74 68 object.for.the.contents.of.`path
51240 60 2e 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 0a 3b 3b 20 73 79 6e 74 61 78 20 69 73 20 61 70 `..The.resulting.;;.syntax.is.ap
51260 70 6c 69 65 64 20 74 6f 20 60 6b 60 20 77 68 69 6c 65 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 plied.to.`k`.while.the.parameter
51280 0a 3b 3b 20 63 75 72 72 65 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 .;;.current-load-relative-direct
512a0 6f 72 79 20 69 73 20 73 65 74 20 63 6f 72 72 65 63 74 6c 79 20 66 6f 72 20 60 70 61 74 68 60 2e ory.is.set.correctly.for.`path`.
512c0 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 66 69 6c 65 2d 3e 73 79 6e 74 61 78 20 .(define/contract.(file->syntax.
512e0 70 61 74 68 20 5b 6b 20 76 61 6c 75 65 73 5d 29 0a 20 20 28 2d 3e 2a 20 28 70 61 74 68 2d 73 74 path.[k.values])...(->*.(path-st
51300 72 69 6e 67 3f 29 0a 20 20 20 20 20 20 20 28 28 2d 3e 20 73 79 6e 74 61 78 3f 20 61 6e 79 29 29 ring?)........((->.syntax?.any))
51320 0a 20 20 20 20 20 20 20 61 6e 79 29 0a 20 20 28 64 65 66 69 6e 65 20 64 69 72 20 28 70 61 74 68 ........any)...(define.dir.(path
51340 2d 6f 6e 6c 79 20 70 61 74 68 29 29 0a 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 -only.path))...(parameterize.([c
51360 75 72 72 65 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 6f 72 79 20 64 urrent-load-relative-directory.d
51380 69 72 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 64 69 ir]..................[current-di
513a0 72 65 63 74 6f 72 79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 5d 29 0a 20 20 20 20 rectory...............dir]).....
513c0 28 6b 0a 20 20 20 20 20 28 77 69 74 68 2d 6d 6f 64 75 6c 65 2d 72 65 61 64 69 6e 67 2d 70 61 72 (k......(with-module-reading-par
513e0 61 6d 65 74 65 72 69 7a 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 28 ce bb 20 28 29 0a 20 20 20 20 ameterization........(...().....
51400 20 20 20 20 20 28 77 69 74 68 2d 69 6e 70 75 74 2d 66 72 6f 6d 2d 66 69 6c 65 20 70 61 74 68 0a .....(with-input-from-file.path.
51420 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...........(...()..............(
51440 70 6f 72 74 2d 63 6f 75 6e 74 2d 6c 69 6e 65 73 21 20 28 63 75 72 72 65 6e 74 2d 69 6e 70 75 74 port-count-lines!.(current-input
51460 2d 70 6f 72 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 72 65 61 -port))..............(match.(rea
51480 64 2d 73 79 6e 74 61 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 3f 20 65 6f 66 d-syntax)................[(?.eof
514a0 2d 6f 62 6a 65 63 74 3f 29 20 23 27 22 22 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b -object?).#'""]................[
514c0 73 74 78 20 73 74 78 5d 29 29 29 29 29 29 29 29 0a 0a 3b 3b 20 53 61 6d 65 20 62 75 74 20 66 72 stx.stx]))))))))..;;.Same.but.fr
514e0 6f 6d 20 61 20 73 74 72 69 6e 67 2c 20 77 68 65 72 65 20 60 70 61 74 68 60 20 69 73 20 75 73 65 om.a.string,.where.`path`.is.use
51500 64 20 66 6f 72 20 74 68 65 20 6c 6f 61 64 20 72 65 6c 61 74 69 76 65 0a 3b 3b 20 64 69 72 65 63 d.for.the.load.relative.;;.direc
51520 74 6f 72 79 20 61 6e 64 20 67 69 76 65 6e 20 74 6f 20 72 65 61 64 2d 73 79 6e 74 61 78 20 61 73 tory.and.given.to.read-syntax.as
51540 20 74 68 65 20 73 6f 75 72 63 65 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 73 74 .the.source.(define/contract.(st
51560 72 69 6e 67 2d 3e 73 79 6e 74 61 78 20 70 61 74 68 20 63 6f 64 65 2d 73 74 72 20 5b 6b 20 76 61 ring->syntax.path.code-str.[k.va
51580 6c 75 65 73 5d 29 0a 20 20 28 2d 3e 2a 20 28 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 73 74 72 69 lues])...(->*.(path-string?.stri
515a0 6e 67 3f 29 0a 20 20 20 20 20 20 20 28 28 2d 3e 20 73 79 6e 74 61 78 3f 20 61 6e 79 29 29 0a 20 ng?)........((->.syntax?.any))..
515c0 20 20 20 20 20 20 61 6e 79 29 0a 20 20 28 64 65 66 69 6e 65 20 64 69 72 20 28 70 61 74 68 2d 6f ......any)...(define.dir.(path-o
515e0 6e 6c 79 20 70 61 74 68 29 29 0a 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 nly.path))...(parameterize.([cur
51600 72 65 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 rent-load-relative-directory.dir
51620 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 64 69 72 65 ]..................[current-dire
51640 63 74 6f 72 79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 5d 29 0a 20 20 20 20 28 6b ctory...............dir]).....(k
51660 0a 20 20 20 20 20 28 77 69 74 68 2d 6d 6f 64 75 6c 65 2d 72 65 61 64 69 6e 67 2d 70 61 72 61 6d ......(with-module-reading-param
51680 65 74 65 72 69 7a 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 28 ce bb 20 28 29 0a 20 20 20 20 20 20 eterization........(...().......
516a0 20 20 20 28 64 65 66 69 6e 65 20 69 6e 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 69 6e 67 ...(define.in.(open-input-string
516c0 20 63 6f 64 65 2d 73 74 72 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 6f 72 74 2d .code-str.path))..........(port-
516e0 63 6f 75 6e 74 2d 6c 69 6e 65 73 21 20 69 6e 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 count-lines!.in)..........(match
51700 20 28 72 65 61 64 2d 73 79 6e 74 61 78 20 70 61 74 68 20 69 6e 29 0a 20 20 20 20 20 20 20 20 20 .(read-syntax.path.in)..........
51720 20 20 5b 28 3f 20 65 6f 66 2d 6f 62 6a 65 63 74 3f 29 20 23 27 22 22 5d 0a 20 20 20 20 20 20 20 ..[(?.eof-object?).#'""]........
51740 20 20 20 20 5b 73 74 78 20 73 74 78 5d 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 45 78 70 61 6e 64 65 ....[stx.stx]))))))..;;;.Expande
51760 64 20 73 79 6e 74 61 78 20 63 61 63 68 69 6e 67 0a 0a 3b 3b 20 56 61 72 69 6f 75 73 20 66 75 6e d.syntax.caching..;;.Various.fun
51780 63 74 69 6f 6e 73 20 74 6f 20 6f 62 74 61 69 6e 20 73 79 6e 74 61 78 20 6f 72 20 66 75 6c 6c 79 ctions.to.obtain.syntax.or.fully
517a0 2d 65 78 70 61 6e 64 65 64 20 73 79 6e 74 61 78 20 66 72 6f 6d 0a 3b 3b 20 66 69 6c 65 73 20 6f -expanded.syntax.from.;;.files.o
517c0 72 20 73 74 72 69 6e 67 73 2c 20 62 61 63 6b 65 64 20 62 79 20 61 20 63 61 63 68 65 2c 20 61 73 r.strings,.backed.by.a.cache,.as
517e0 20 77 65 6c 6c 20 61 73 20 61 20 63 6f 6d 70 69 6c 65 64 20 6c 6f 61 64 0a 3b 3b 20 68 61 6e 64 .well.as.a.compiled.load.;;.hand
51800 6c 65 72 20 74 68 61 74 20 77 61 72 6d 73 20 74 68 65 20 63 61 63 68 65 2e 20 4e 6f 74 65 3a 20 ler.that.warms.the.cache..Note:.
51820 54 68 65 20 63 61 63 68 65 20 73 74 6f 72 65 73 20 65 78 70 61 6e 73 69 6f 6e 73 0a 3b 3b 20 66 The.cache.stores.expansions.;;.f
51840 72 6f 6d 20 65 78 70 61 6e 64 20 28 22 65 6e 72 69 63 68 65 64 22 29 20 2d 2d 20 2f 6e 6f 74 2f rom.expand.("enriched").--./not/
51860 20 66 72 6f 6d 20 65 78 70 61 6e 64 2d 73 79 6e 74 61 78 2e 0a 0a 3b 3b 20 52 65 74 75 72 6e 73 .from.expand-syntax...;;.Returns
51880 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 60 6b 60 20 74 6f 20 74 .the.result.of.applying.`k`.to.t
518a0 68 65 20 65 78 70 61 6e 64 65 64 20 73 79 6e 74 61 78 2c 20 77 69 74 68 20 74 68 65 0a 3b 3b 20 he.expanded.syntax,.with.the.;;.
518c0 63 6f 72 72 65 63 74 20 70 61 72 61 6d 65 74 65 72 69 7a 61 74 69 6f 6e 20 6f 66 20 63 75 72 72 correct.parameterization.of.curr
518e0 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 61 6e 64 0a 3b 3b 20 63 75 72 72 65 6e 74 2d 6c 6f 61 ent-namespace.and.;;.current-loa
51900 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 6f 72 79 2e 20 4e 6f 74 65 20 74 68 61 74 20 d-relative-directory..Note.that.
51920 60 6b 60 20 64 65 6c 69 62 65 72 61 74 65 6c 79 20 64 6f 65 73 0a 3b 3b 20 6e 6f 74 20 64 65 66 `k`.deliberately.does.;;.not.def
51940 61 75 6c 74 20 74 6f 20 60 76 61 6c 75 65 73 60 20 62 65 63 61 75 73 65 20 74 72 79 69 6e 67 20 ault.to.`values`.because.trying.
51960 74 6f 20 75 73 65 20 74 68 65 20 73 79 6e 74 61 78 20 77 69 74 68 6f 75 74 0a 3b 3b 20 74 68 65 to.use.the.syntax.without.;;.the
51980 20 63 6f 72 72 65 63 74 20 70 61 72 61 6d 65 74 65 72 69 7a 61 74 69 6f 6e 73 20 77 69 6c 6c 20 .correct.parameterizations.will.
519a0 6f 66 74 65 6e 20 72 65 73 75 6c 74 20 69 6e 20 62 75 67 73 2c 20 73 6f 6d 65 74 69 6d 65 73 0a often.result.in.bugs,.sometimes.
519c0 3b 3b 20 73 75 62 74 6c 65 20 61 6e 64 20 63 6f 6e 66 75 73 69 6e 67 2e 20 53 6f 20 74 68 69 73 ;;.subtle.and.confusing..So.this
519e0 20 22 43 50 53 22 20 61 70 70 72 6f 61 63 68 20 67 75 69 64 65 73 20 79 6f 75 20 74 6f 20 64 6f ."CPS".approach.guides.you.to.do
51a00 20 74 68 65 0a 3b 3b 20 72 69 67 68 74 20 74 68 69 6e 67 2e 0a 28 64 65 66 69 6e 65 2f 63 6f 6e .the.;;.right.thing..(define/con
51a20 74 72 61 63 74 20 28 66 69 6c 65 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 70 61 74 tract.(file->expanded-syntax.pat
51a40 68 2d 73 74 72 20 6b 29 0a 20 20 28 2d 3e 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 28 2d 3e 20 h-str.k)...(->.path-string?.(->.
51a60 73 79 6e 74 61 78 3f 20 61 6e 79 29 20 61 6e 79 29 0a 20 20 28 64 65 66 69 6e 65 20 70 61 74 68 syntax?.any).any)...(define.path
51a80 20 28 2d 3e 70 61 74 68 20 70 61 74 68 2d 73 74 72 29 29 0a 20 20 28 64 65 66 69 6e 65 2d 76 61 .(->path.path-str))...(define-va
51aa0 6c 75 65 73 20 28 63 6f 64 65 2d 73 74 72 20 64 69 67 65 73 74 29 20 28 66 69 6c 65 2d 3e 73 74 lues.(code-str.digest).(file->st
51ac0 72 69 6e 67 2b 64 69 67 65 73 74 20 70 61 74 68 29 29 0a 20 20 28 6d 61 74 63 68 20 28 63 61 63 ring+digest.path))...(match.(cac
51ae0 68 65 2d 67 65 74 20 70 61 74 68 29 0a 20 20 20 20 5b 28 61 6e 64 20 63 65 20 28 73 74 72 75 63 he-get.path).....[(and.ce.(struc
51b00 74 2a 20 63 61 63 68 65 2d 65 6e 74 72 79 20 28 5b 65 78 70 2d 73 74 78 20 65 78 70 2d 73 74 78 t*.cache-entry.([exp-stx.exp-stx
51b20 5d 20 5b 64 69 67 65 73 74 20 28 3d 3d 20 64 69 67 65 73 74 29 5d 29 29 29 0a 20 20 20 20 20 28 ].[digest.(==.digest)])))......(
51b40 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 63 61 63 68 65 2d 69 6e 66 log-racket-mode-syntax-cache-inf
51b60 6f 20 22 66 69 6c 65 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 63 61 63 68 65 20 68 o."file->expanded-syntax.cache.h
51b80 69 74 20 7e 76 20 7e 76 22 20 70 61 74 68 20 64 69 67 65 73 74 29 0a 20 20 20 20 20 28 77 69 74 it.~v.~v".path.digest)......(wit
51ba0 68 2d 63 61 63 68 65 2d 65 6e 74 72 79 2d 70 61 72 61 6d 73 20 63 65 0a 20 20 20 20 20 20 20 28 h-cache-entry-params.ce........(
51bc0 6b 20 65 78 70 2d 73 74 78 29 29 5d 0a 20 20 20 20 5b 5f 0a 20 20 20 20 20 28 6c 6f 67 2d 72 61 k.exp-stx))].....[_......(log-ra
51be0 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 63 61 63 68 65 2d 69 6e 66 6f 20 22 66 69 6c cket-mode-syntax-cache-info."fil
51c00 65 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 63 61 63 68 65 20 4d 49 53 53 20 7e 76 e->expanded-syntax.cache.MISS.~v
51c20 20 7e 76 22 20 70 61 74 68 20 64 69 67 65 73 74 29 0a 20 20 20 20 20 28 66 69 6c 65 2d 3e 73 79 .~v".path.digest)......(file->sy
51c40 6e 74 61 78 0a 20 20 20 20 20 20 70 61 74 68 0a 20 20 20 20 20 20 28 ce bb 20 28 73 74 78 29 0a ntax.......path.......(...(stx).
51c60 20 20 20 20 20 20 20 20 3b 3b 20 43 72 65 61 74 65 20 61 6e 64 20 70 61 72 61 6d 65 74 65 72 69 ........;;.Create.and.parameteri
51c80 7a 65 20 61 20 6e 61 6d 65 73 70 61 63 65 20 68 65 72 65 2e 20 66 69 6c 65 2d 3e 73 79 6e 74 61 ze.a.namespace.here..file->synta
51ca0 78 0a 20 20 20 20 20 20 20 20 3b 3b 20 61 6c 72 65 61 64 79 20 70 61 72 61 6d 65 74 65 72 69 7a x.........;;.already.parameteriz
51cc0 65 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 ed.the.directory.before.calling.
51ce0 75 73 2e 0a 20 20 20 20 20 20 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 us..........(parameterize.([curr
51d00 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 28 6d 61 6b 65 2d 62 61 73 65 2d 6e 61 6d 65 73 70 61 ent-namespace.(make-base-namespa
51d20 63 65 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 65 78 70 2d 73 74 78 20 ce)])...........(define.exp-stx.
51d40 28 77 69 74 68 2d 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 70 61 74 68 20 28 (with-online-check-syntax.path.(
51d60 65 78 70 61 6e 64 20 73 74 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 61 63 68 65 2d 73 expand.stx)))...........(cache-s
51d80 65 74 21 20 70 61 74 68 20 63 6f 64 65 2d 73 74 72 20 73 74 78 20 65 78 70 2d 73 74 78 20 64 69 et!.path.code-str.stx.exp-stx.di
51da0 67 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 6b 20 65 78 70 2d 73 74 78 29 29 29 29 5d 29 gest)...........(k.exp-stx))))])
51dc0 29 0a 0a 3b 3b 20 53 61 6d 65 20 62 75 74 20 77 68 65 6e 20 79 6f 75 20 64 6f 6e 27 74 20 68 61 )..;;.Same.but.when.you.don't.ha
51de0 76 65 20 61 20 66 69 6c 65 2e 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 73 74 72 ve.a.file..(define/contract.(str
51e00 69 6e 67 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 70 61 74 68 2d 73 74 72 20 63 6f ing->expanded-syntax.path-str.co
51e20 64 65 2d 73 74 72 20 6b 29 0a 20 20 28 2d 3e 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 73 74 72 de-str.k)...(->.path-string?.str
51e40 69 6e 67 3f 20 28 2d 3e 20 73 79 6e 74 61 78 3f 20 61 6e 79 29 20 61 6e 79 29 0a 20 20 28 64 65 ing?.(->.syntax?.any).any)...(de
51e60 66 69 6e 65 20 70 61 74 68 20 28 2d 3e 70 61 74 68 20 70 61 74 68 2d 73 74 72 29 29 0a 20 20 28 fine.path.(->path.path-str))...(
51e80 64 65 66 69 6e 65 20 64 69 67 65 73 74 20 28 73 74 72 69 6e 67 2d 3e 64 69 67 65 73 74 20 63 6f define.digest.(string->digest.co
51ea0 64 65 2d 73 74 72 29 29 0a 20 20 28 6d 61 74 63 68 20 28 63 61 63 68 65 2d 67 65 74 20 70 61 74 de-str))...(match.(cache-get.pat
51ec0 68 29 0a 20 20 20 20 5b 28 61 6e 64 20 63 65 20 28 73 74 72 75 63 74 2a 20 63 61 63 68 65 2d 65 h).....[(and.ce.(struct*.cache-e
51ee0 6e 74 72 79 20 28 5b 65 78 70 2d 73 74 78 20 65 78 70 2d 73 74 78 5d 20 5b 64 69 67 65 73 74 20 ntry.([exp-stx.exp-stx].[digest.
51f00 28 3d 3d 20 64 69 67 65 73 74 29 5d 29 29 29 0a 20 20 20 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 (==.digest)])))......(log-racket
51f20 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 63 61 63 68 65 2d 69 6e 66 6f 20 22 73 74 72 69 6e 67 2d -mode-syntax-cache-info."string-
51f40 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 63 61 63 68 65 20 68 69 74 20 7e 76 20 7e 76 >expanded-syntax.cache.hit.~v.~v
51f60 22 20 70 61 74 68 20 64 69 67 65 73 74 29 0a 20 20 20 20 20 28 77 69 74 68 2d 63 61 63 68 65 2d ".path.digest)......(with-cache-
51f80 65 6e 74 72 79 2d 70 61 72 61 6d 73 20 63 65 0a 20 20 20 20 20 20 20 28 6b 20 65 78 70 2d 73 74 entry-params.ce........(k.exp-st
51fa0 78 29 29 5d 0a 20 20 20 20 5b 5f 0a 20 20 20 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 x))].....[_......(log-racket-mod
51fc0 65 2d 73 79 6e 74 61 78 2d 63 61 63 68 65 2d 69 6e 66 6f 20 22 73 74 72 69 6e 67 2d 3e 65 78 70 e-syntax-cache-info."string->exp
51fe0 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 63 61 63 68 65 20 4d 49 53 53 20 7e 76 20 7e 76 22 20 70 anded-syntax.cache.MISS.~v.~v".p
52000 61 74 68 20 64 69 67 65 73 74 29 0a 20 20 20 20 20 28 73 74 72 69 6e 67 2d 3e 73 79 6e 74 61 78 ath.digest)......(string->syntax
52020 0a 20 20 20 20 20 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 2d 73 74 72 0a 20 20 20 20 20 20 28 .......path-str.code-str.......(
52040 ce bb 20 28 73 74 78 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 43 72 65 61 74 65 20 61 6e 64 20 70 ...(stx).........;;.Create.and.p
52060 61 72 61 6d 65 74 65 72 69 7a 65 20 61 20 6e 61 6d 65 73 70 61 63 65 20 68 65 72 65 2e 20 73 74 arameterize.a.namespace.here..st
52080 72 69 6e 67 2d 3e 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 3b 3b 20 61 6c 72 65 61 64 79 20 ring->syntax.........;;.already.
520a0 70 61 72 61 6d 65 74 65 72 69 7a 65 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 62 65 66 6f parameterized.the.directory.befo
520c0 72 65 20 63 61 6c 6c 69 6e 67 20 75 73 2e 0a 20 20 20 20 20 20 20 20 28 70 61 72 61 6d 65 74 65 re.calling.us..........(paramete
520e0 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 28 6d 61 6b 65 2d 62 rize.([current-namespace.(make-b
52100 61 73 65 2d 6e 61 6d 65 73 70 61 63 65 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 ase-namespace)])...........(defi
52120 6e 65 20 65 78 70 2d 73 74 78 20 28 77 69 74 68 2d 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d 73 79 ne.exp-stx.(with-online-check-sy
52140 6e 74 61 78 20 70 61 74 68 20 28 65 78 70 61 6e 64 20 73 74 78 29 29 29 0a 20 20 20 20 20 20 20 ntax.path.(expand.stx)))........
52160 20 20 20 28 63 61 63 68 65 2d 73 65 74 21 20 70 61 74 68 20 63 6f 64 65 2d 73 74 72 20 73 74 78 ...(cache-set!.path.code-str.stx
52180 20 65 78 70 2d 73 74 78 20 64 69 67 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 6b 20 65 78 .exp-stx.digest)...........(k.ex
521a0 70 2d 73 74 78 29 29 29 29 5d 29 29 0a 0a 3b 3b 20 4c 69 6b 65 20 73 74 72 69 6e 67 2d 3e 73 79 p-stx))))]))..;;.Like.string->sy
521c0 6e 74 61 78 20 62 75 74 20 67 69 76 65 6e 20 6f 6e 6c 79 20 74 68 65 20 70 61 74 68 2d 73 74 72 ntax.but.given.only.the.path-str
521e0 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 73 79 6e 74 61 78 0a 3b 3b 20 61 6c 72 65 61 64 79 20 69 .and.only.if.syntax.;;.already.i
52200 6e 20 74 68 65 20 63 61 63 68 65 2c 20 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 70 72 65 76 n.the.cache,.as.a.result.of.prev
52220 69 6f 75 73 6c 79 20 63 61 6c 6c 69 6e 67 0a 3b 3b 20 73 74 72 69 6e 67 2d 3e 65 78 70 61 6e 64 iously.calling.;;.string->expand
52240 65 64 2d 73 79 6e 74 61 78 2e 20 49 6e 74 65 6e 64 65 64 20 66 6f 72 20 75 73 65 20 62 79 20 69 ed-syntax..Intended.for.use.by.i
52260 64 65 6e 74 69 66 69 65 72 2e 72 6b 74 2e 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 dentifier.rkt..(define/contract.
52280 28 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 73 79 6e 74 61 78 20 70 61 74 68 2d 73 74 72 20 (path->existing-syntax.path-str.
522a0 6b 29 0a 20 20 28 2d 3e 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 28 2d 3e 20 73 79 6e 74 61 78 k)...(->.path-string?.(->.syntax
522c0 3f 20 61 6e 79 29 20 61 6e 79 29 0a 20 20 28 64 65 66 69 6e 65 20 70 61 74 68 20 28 2d 3e 70 61 ?.any).any)...(define.path.(->pa
522e0 74 68 20 70 61 74 68 2d 73 74 72 29 29 0a 20 20 28 6d 61 74 63 68 20 28 63 61 63 68 65 2d 67 65 th.path-str))...(match.(cache-ge
52300 74 20 70 61 74 68 29 0a 20 20 20 20 5b 28 61 6e 64 20 63 65 20 28 73 74 72 75 63 74 2a 20 63 61 t.path).....[(and.ce.(struct*.ca
52320 63 68 65 2d 65 6e 74 72 79 20 28 5b 73 74 78 20 73 74 78 5d 29 29 29 0a 20 20 20 20 20 28 6c 6f che-entry.([stx.stx])))......(lo
52340 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 63 61 63 68 65 2d 69 6e 66 6f 20 g-racket-mode-syntax-cache-info.
52360 22 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 73 79 6e 74 61 78 20 63 61 63 68 65 20 68 69 74 "path->existing-syntax.cache.hit
52380 20 7e 76 20 28 69 67 6e 6f 72 69 6e 67 20 64 69 67 65 73 74 29 22 20 70 61 74 68 29 0a 20 20 20 .~v.(ignoring.digest)".path)....
523a0 20 20 28 77 69 74 68 2d 63 61 63 68 65 2d 65 6e 74 72 79 2d 70 61 72 61 6d 73 20 63 65 0a 20 20 ..(with-cache-entry-params.ce...
523c0 20 20 20 20 20 28 6b 20 73 74 78 29 29 5d 0a 20 20 20 20 5b 23 66 0a 20 20 20 20 20 28 6d 61 74 .....(k.stx))].....[#f......(mat
523e0 63 68 20 28 70 61 74 68 2d 3e 63 6f 64 65 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 5b 28 63 6f ch.(path->code.path)........[(co
52400 64 65 20 63 6f 64 65 2d 73 74 72 20 64 69 67 65 73 74 29 0a 20 20 20 20 20 20 20 20 28 6c 6f 67 de.code-str.digest).........(log
52420 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 63 61 63 68 65 2d 69 6e 66 6f 20 22 -racket-mode-syntax-cache-info."
52440 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 73 79 6e 74 61 78 20 63 61 63 68 65 20 4d 49 53 53 path->existing-syntax.cache.MISS
52460 20 7e 76 20 28 69 67 6e 6f 72 69 6e 67 20 64 69 67 65 73 74 29 3b 20 72 65 2d 65 78 70 61 6e 64 .~v.(ignoring.digest);.re-expand
52480 69 6e 67 20 61 6e 64 20 72 65 2d 63 61 63 68 69 6e 67 22 20 70 61 74 68 29 0a 20 20 20 20 20 20 ing.and.re-caching".path).......
524a0 20 20 28 73 74 72 69 6e 67 2d 3e 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 20 70 61 74 68 2d ..(string->syntax..........path-
524c0 73 74 72 20 63 6f 64 65 2d 73 74 72 0a 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 73 74 78 29 0a str.code-str..........(...(stx).
524e0 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 72 65 61 74 65 20 61 6e 64 20 70 61 72 61 6d 65 74 ...........;;.Create.and.paramet
52500 65 72 69 7a 65 20 61 20 6e 61 6d 65 73 70 61 63 65 20 68 65 72 65 2e 20 73 74 72 69 6e 67 2d 3e erize.a.namespace.here..string->
52520 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6c 72 65 61 64 79 20 70 61 72 syntax............;;.already.par
52540 61 6d 65 74 65 72 69 7a 65 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 62 65 66 6f 72 65 20 ameterized.the.directory.before.
52560 63 61 6c 6c 69 6e 67 20 75 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 61 72 61 6d 65 74 65 calling.us.............(paramete
52580 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 28 6d 61 6b 65 2d 62 rize.([current-namespace.(make-b
525a0 61 73 65 2d 6e 61 6d 65 73 70 61 63 65 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 ase-namespace)])..............(d
525c0 65 66 69 6e 65 20 65 78 70 2d 73 74 78 20 28 77 69 74 68 2d 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b efine.exp-stx.(with-online-check
525e0 2d 73 79 6e 74 61 78 20 70 61 74 68 20 28 65 78 70 61 6e 64 20 73 74 78 29 29 29 0a 20 20 20 20 -syntax.path.(expand.stx))).....
52600 20 20 20 20 20 20 20 20 20 28 63 61 63 68 65 2d 73 65 74 21 20 70 61 74 68 20 63 6f 64 65 2d 73 .........(cache-set!.path.code-s
52620 74 72 20 73 74 78 20 65 78 70 2d 73 74 78 20 64 69 67 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 tr.stx.exp-stx.digest)..........
52640 20 20 20 20 28 6b 20 73 74 78 29 29 29 29 5d 0a 20 20 20 20 20 20 20 5b 23 66 0a 20 20 20 20 20 ....(k.stx))))]........[#f......
52660 20 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 63 61 63 68 65 ...(log-racket-mode-syntax-cache
52680 2d 77 61 72 6e 69 6e 67 20 22 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 73 79 6e 74 61 78 20 -warning."path->existing-syntax.
526a0 63 61 63 68 65 20 4d 49 53 53 20 7e 76 20 28 69 67 6e 6f 72 69 6e 67 20 64 69 67 65 73 74 29 3b cache.MISS.~v.(ignoring.digest);
526c0 20 6e 6f 20 63 6f 64 65 20 73 74 72 69 6e 67 20 63 61 63 68 65 64 20 66 6f 72 20 70 61 74 68 2c .no.code.string.cached.for.path,
526e0 20 63 61 6e 6e 6f 74 20 72 65 2d 65 78 70 61 6e 64 22 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 .cannot.re-expand".path)........
52700 20 23 66 5d 29 5d 29 29 0a 0a 3b 3b 20 4c 69 6b 65 20 73 74 72 69 6e 67 2d 3e 65 78 70 61 6e 64 .#f])]))..;;.Like.string->expand
52720 65 64 2d 73 79 6e 74 61 78 20 62 75 74 20 67 69 76 65 6e 20 6f 6e 6c 79 20 74 68 65 20 70 61 74 ed-syntax.but.given.only.the.pat
52740 68 2d 73 74 72 20 61 6e 64 20 6f 6e 6c 79 0a 3b 3b 20 69 66 20 65 78 70 61 6e 64 65 64 20 73 79 h-str.and.only.;;.if.expanded.sy
52760 6e 74 61 78 20 61 6c 72 65 61 64 79 20 69 6e 20 74 68 65 20 63 61 63 68 65 2c 20 61 73 20 61 20 ntax.already.in.the.cache,.as.a.
52780 72 65 73 75 6c 74 20 6f 66 20 70 72 65 76 69 6f 75 73 6c 79 0a 3b 3b 20 63 61 6c 6c 69 6e 67 20 result.of.previously.;;.calling.
527a0 73 74 72 69 6e 67 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 2e 20 49 6e 74 65 6e 64 65 string->expanded-syntax..Intende
527c0 64 20 66 6f 72 20 75 73 65 20 62 79 0a 3b 3b 20 69 64 65 6e 74 69 66 69 65 72 2e 72 6b 74 2e 0a d.for.use.by.;;.identifier.rkt..
527e0 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 (define/contract.(path->existing
52800 2d 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 70 61 74 68 2d 73 74 72 20 6b 29 0a 20 20 28 -expanded-syntax.path-str.k)...(
52820 2d 3e 20 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 28 2d 3e 20 73 79 6e 74 61 78 3f 20 61 6e 79 29 ->.path-string?.(->.syntax?.any)
52840 20 61 6e 79 29 0a 20 20 28 64 65 66 69 6e 65 20 70 61 74 68 20 28 2d 3e 70 61 74 68 20 70 61 74 .any)...(define.path.(->path.pat
52860 68 2d 73 74 72 29 29 0a 20 20 28 6d 61 74 63 68 20 28 63 61 63 68 65 2d 67 65 74 20 70 61 74 68 h-str))...(match.(cache-get.path
52880 29 0a 20 20 20 20 5b 28 61 6e 64 20 63 65 20 28 73 74 72 75 63 74 2a 20 63 61 63 68 65 2d 65 6e ).....[(and.ce.(struct*.cache-en
528a0 74 72 79 20 28 5b 65 78 70 2d 73 74 78 20 65 78 70 2d 73 74 78 5d 29 29 29 0a 20 20 20 20 20 28 try.([exp-stx.exp-stx])))......(
528c0 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 63 61 63 68 65 2d 69 6e 66 log-racket-mode-syntax-cache-inf
528e0 6f 20 22 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 o."path->existing-expanded-synta
52900 78 20 63 61 63 68 65 20 68 69 74 20 7e 76 20 28 69 67 6e 6f 72 69 6e 67 20 64 69 67 65 73 74 29 x.cache.hit.~v.(ignoring.digest)
52920 22 20 70 61 74 68 29 0a 20 20 20 20 20 28 77 69 74 68 2d 63 61 63 68 65 2d 65 6e 74 72 79 2d 70 ".path)......(with-cache-entry-p
52940 61 72 61 6d 73 20 63 65 0a 20 20 20 20 20 20 20 28 6b 20 65 78 70 2d 73 74 78 29 29 5d 0a 20 20 arams.ce........(k.exp-stx))]...
52960 20 20 5b 23 66 0a 20 20 20 20 20 28 6d 61 74 63 68 20 28 70 61 74 68 2d 3e 63 6f 64 65 20 70 61 ..[#f......(match.(path->code.pa
52980 74 68 29 0a 20 20 20 20 20 20 20 5b 28 63 6f 64 65 20 63 6f 64 65 2d 73 74 72 20 64 69 67 65 73 th)........[(code.code-str.diges
529a0 74 29 0a 20 20 20 20 20 20 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 t).........(log-racket-mode-synt
529c0 61 78 2d 63 61 63 68 65 2d 69 6e 66 6f 20 22 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 65 78 ax-cache-info."path->existing-ex
529e0 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 63 61 63 68 65 20 4d 49 53 53 20 7e 76 20 28 69 67 6e panded-syntax.cache.MISS.~v.(ign
52a00 6f 72 69 6e 67 20 64 69 67 65 73 74 29 3b 20 72 65 2d 65 78 70 61 6e 64 69 6e 67 20 61 6e 64 20 oring.digest);.re-expanding.and.
52a20 72 65 2d 63 61 63 68 69 6e 67 22 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 28 73 74 72 69 6e re-caching".path).........(strin
52a40 67 2d 3e 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 20 70 61 74 68 2d 73 74 72 20 63 6f 64 65 g->syntax..........path-str.code
52a60 2d 73 74 72 0a 20 20 20 20 20 20 20 20 20 28 ce bb 20 28 73 74 78 29 0a 20 20 20 20 20 20 20 20 -str..........(...(stx).........
52a80 20 20 20 3b 3b 20 43 72 65 61 74 65 20 61 6e 64 20 70 61 72 61 6d 65 74 65 72 69 7a 65 20 61 20 ...;;.Create.and.parameterize.a.
52aa0 6e 61 6d 65 73 70 61 63 65 20 68 65 72 65 2e 20 73 74 72 69 6e 67 2d 3e 73 79 6e 74 61 78 0a 20 namespace.here..string->syntax..
52ac0 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6c 72 65 61 64 79 20 70 61 72 61 6d 65 74 65 72 69 7a ..........;;.already.parameteriz
52ae0 65 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 ed.the.directory.before.calling.
52b00 75 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 us.............(parameterize.([c
52b20 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 28 6d 61 6b 65 2d 62 61 73 65 2d 6e 61 6d 65 urrent-namespace.(make-base-name
52b40 73 70 61 63 65 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 65 78 space)])..............(define.ex
52b60 70 2d 73 74 78 20 28 77 69 74 68 2d 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 p-stx.(with-online-check-syntax.
52b80 70 61 74 68 20 28 65 78 70 61 6e 64 20 73 74 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 path.(expand.stx))).............
52ba0 20 28 63 61 63 68 65 2d 73 65 74 21 20 70 61 74 68 20 63 6f 64 65 2d 73 74 72 20 73 74 78 20 65 .(cache-set!.path.code-str.stx.e
52bc0 78 70 2d 73 74 78 20 64 69 67 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 20 65 xp-stx.digest)..............(k.e
52be0 78 70 2d 73 74 78 29 29 29 29 5d 0a 20 20 20 20 20 20 20 5b 23 66 0a 20 20 20 20 20 20 20 20 28 xp-stx))))]........[#f.........(
52c00 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 63 61 63 68 65 2d 77 61 72 log-racket-mode-syntax-cache-war
52c20 6e 69 6e 67 20 22 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 65 78 70 61 6e 64 65 64 2d 73 79 ning."path->existing-expanded-sy
52c40 6e 74 61 78 20 63 61 63 68 65 20 4d 49 53 53 20 7e 76 20 28 69 67 6e 6f 72 69 6e 67 20 64 69 67 ntax.cache.MISS.~v.(ignoring.dig
52c60 65 73 74 29 3b 20 6e 6f 20 63 6f 64 65 20 73 74 72 69 6e 67 20 63 61 63 68 65 64 20 66 6f 72 20 est);.no.code.string.cached.for.
52c80 70 61 74 68 2c 20 63 61 6e 6e 6f 74 20 72 65 2d 65 78 70 61 6e 64 22 20 70 61 74 68 29 0a 20 20 path,.cannot.re-expand".path)...
52ca0 20 20 20 20 20 20 23 66 5d 29 5d 29 29 0a 0a 3b 3b 20 43 6f 6d 70 69 6c 65 64 20 6c 6f 61 64 20 ......#f])]))..;;.Compiled.load.
52cc0 68 61 6e 64 6c 65 72 3a 20 54 68 69 73 20 69 73 20 61 6e 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e handler:.This.is.an.optimization
52ce0 20 74 6f 20 77 61 72 6d 20 74 68 65 20 63 61 63 68 65 0a 3b 3b 20 77 69 74 68 20 65 78 70 61 6e .to.warm.the.cache.;;.with.expan
52d00 73 69 6f 6e 73 20 64 6f 6e 65 20 66 6f 72 20 6c 6f 61 64 73 20 74 68 61 74 20 6e 65 65 64 20 74 sions.done.for.loads.that.need.t
52d20 6f 20 63 6f 6d 70 69 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 0a 3b 3b 20 69 6d 70 6f 72 74 73 20 o.compile,.including.;;.imports.
52d40 74 68 61 74 20 6e 65 65 64 20 74 6f 20 63 6f 6d 70 69 6c 65 2e 20 43 61 6e 20 73 70 65 65 64 20 that.need.to.compile..Can.speed.
52d60 75 70 20 73 63 65 6e 61 72 69 6f 73 20 6c 69 6b 65 20 76 69 73 69 74 69 6e 67 0a 3b 3b 20 61 20 up.scenarios.like.visiting.;;.a.
52d80 64 65 66 69 6e 69 74 69 6f 6e 20 69 6e 20 61 20 72 65 71 75 69 72 65 64 20 66 69 6c 65 2e 0a 28 definition.in.a.required.file..(
52da0 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 63 61 63 68 69 6e 67 2d 6c 6f 61 64 2f 75 73 65 2d 63 6f define.(make-caching-load/use-co
52dc0 6d 70 69 6c 65 64 2d 68 61 6e 64 6c 65 72 29 0a 20 20 28 64 65 66 69 6e 65 20 6f 6c 64 2d 68 61 mpiled-handler)...(define.old-ha
52de0 6e 64 6c 65 72 20 28 63 75 72 72 65 6e 74 2d 6c 6f 61 64 2f 75 73 65 2d 63 6f 6d 70 69 6c 65 64 ndler.(current-load/use-compiled
52e00 29 29 0a 20 20 28 64 65 66 69 6e 65 20 6f 6c 64 2d 63 6f 6d 70 69 6c 65 20 28 63 75 72 72 65 6e ))...(define.old-compile.(curren
52e20 74 2d 63 6f 6d 70 69 6c 65 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28 6e 65 77 2d 63 6f 6d 70 69 t-compile))...(define.(new-compi
52e40 6c 65 20 73 74 78 20 69 6d 6d 65 64 69 61 74 65 3f 29 0a 20 20 20 20 28 6d 61 74 63 68 20 28 73 le.stx.immediate?).....(match.(s
52e60 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 73 74 78 29 0a 20 20 20 20 20 20 5b 28 3f 20 70 61 74 68 yntax-source.stx).......[(?.path
52e80 3f 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 65 78 70 2d 73 74 78 20 28 ?.file)........(define.exp-stx.(
52ea0 65 78 70 61 6e 64 20 73 74 78 29 29 0a 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 6c 75 expand.stx))........(define-valu
52ec0 65 73 20 28 63 6f 64 65 2d 73 74 72 20 64 69 67 65 73 74 29 20 28 66 69 6c 65 2d 3e 73 74 72 69 es.(code-str.digest).(file->stri
52ee0 6e 67 2b 64 69 67 65 73 74 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 28 63 61 63 68 65 2d 73 ng+digest.file))........(cache-s
52f00 65 74 21 20 66 69 6c 65 20 63 6f 64 65 2d 73 74 72 20 73 74 78 20 65 78 70 2d 73 74 78 20 64 69 et!.file.code-str.stx.exp-stx.di
52f20 67 65 73 74 29 0a 20 20 20 20 20 20 20 28 6f 6c 64 2d 63 6f 6d 70 69 6c 65 20 65 78 70 2d 73 74 gest)........(old-compile.exp-st
52f40 78 20 69 6d 6d 65 64 69 61 74 65 3f 29 5d 0a 20 20 20 20 20 20 5b 5f 20 28 6f 6c 64 2d 63 6f 6d x.immediate?)].......[_.(old-com
52f60 70 69 6c 65 20 73 74 78 20 69 6d 6d 65 64 69 61 74 65 3f 29 5d 29 29 0a 20 20 28 64 65 66 69 6e pile.stx.immediate?)]))...(defin
52f80 65 20 28 6e 65 77 2d 68 61 6e 64 6c 65 72 20 66 69 6c 65 20 6d 6f 64 29 0a 20 20 20 20 28 70 61 e.(new-handler.file.mod).....(pa
52fa0 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 63 6f 6d 70 69 6c 65 20 6e 65 77 rameterize.([current-compile.new
52fc0 2d 63 6f 6d 70 69 6c 65 5d 29 0a 20 20 20 20 20 20 28 6f 6c 64 2d 68 61 6e 64 6c 65 72 20 66 69 -compile]).......(old-handler.fi
52fe0 6c 65 20 6d 6f 64 29 29 29 0a 20 20 6e 65 77 2d 68 61 6e 64 6c 65 72 29 0a 0a 28 64 65 66 69 6e le.mod)))...new-handler)..(defin
53000 65 20 28 2d 3e 70 61 74 68 20 76 29 0a 20 20 28 63 6f 6e 64 20 5b 28 70 61 74 68 3f 20 76 29 20 e.(->path.v)...(cond.[(path?.v).
53020 76 5d 0a 20 20 20 20 20 20 20 20 5b 28 70 61 74 68 2d 73 74 72 69 6e 67 3f 20 76 29 20 28 73 74 v].........[(path-string?.v).(st
53040 72 69 6e 67 2d 3e 70 61 74 68 20 76 29 5d 0a 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 28 65 72 ring->path.v)].........[else.(er
53060 72 6f 72 20 27 2d 3e 70 61 74 68 20 22 6e 6f 74 20 70 61 74 68 3f 20 6f 72 20 70 61 74 68 2d 73 ror.'->path."not.path?.or.path-s
53080 74 72 69 6e 67 3f 22 20 76 29 5d 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 tring?".v)]))..(define/contract.
530a0 28 66 69 6c 65 2d 3e 64 69 67 65 73 74 20 70 61 74 68 29 0a 20 20 28 2d 3e 20 70 61 74 68 3f 20 (file->digest.path)...(->.path?.
530c0 73 74 72 69 6e 67 3f 29 0a 20 20 28 63 61 6c 6c 2d 77 69 74 68 2d 69 6e 70 75 74 2d 66 69 6c 65 string?)...(call-with-input-file
530e0 20 70 61 74 68 20 6d 64 35 29 29 0a 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 66 .path.md5))..(define/contract.(f
53100 69 6c 65 2d 3e 73 74 72 69 6e 67 2b 64 69 67 65 73 74 20 70 61 74 68 29 0a 20 20 28 2d 3e 20 70 ile->string+digest.path)...(->.p
53120 61 74 68 3f 20 28 76 61 6c 75 65 73 20 73 74 72 69 6e 67 3f 20 73 74 72 69 6e 67 3f 29 29 0a 20 ath?.(values.string?.string?))..
53140 20 28 64 65 66 69 6e 65 20 73 74 72 20 28 66 69 6c 65 2d 3e 73 74 72 69 6e 67 20 70 61 74 68 29 .(define.str.(file->string.path)
53160 29 0a 20 20 28 64 65 66 69 6e 65 20 64 69 67 65 73 74 20 28 73 74 72 69 6e 67 2d 3e 64 69 67 65 )...(define.digest.(string->dige
53180 73 74 20 73 74 72 29 29 0a 20 20 28 76 61 6c 75 65 73 20 73 74 72 20 64 69 67 65 73 74 29 29 0a st.str))...(values.str.digest)).
531a0 0a 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 73 74 72 69 6e 67 2d 3e 64 69 67 65 73 .(define/contract.(string->diges
531c0 74 20 73 74 72 29 0a 20 20 28 2d 3e 20 73 74 72 69 6e 67 3f 20 73 74 72 69 6e 67 3f 29 0a 20 20 t.str)...(->.string?.string?)...
531e0 28 6d 64 35 20 28 6f 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 69 6e 67 20 73 74 72 29 29 29 0a 0a (md5.(open-input-string.str)))..
53200 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 (module+.test...(require.rackuni
53220 74 0a 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 66 69 6c 65 29 0a 20 20 28 64 65 66 t............racket/file)...(def
53240 69 6e 65 20 74 68 69 73 2d 70 61 74 68 20 28 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 20 23 27 68 ine.this-path.(syntax-source.#'h
53260 65 72 65 29 29 0a 20 20 28 64 65 66 69 6e 65 20 74 68 69 73 2d 73 74 72 69 6e 67 20 28 66 69 6c ere))...(define.this-string.(fil
53280 65 2d 3e 73 74 72 69 6e 67 20 74 68 69 73 2d 70 61 74 68 29 29 0a 20 20 28 63 68 65 63 6b 2d 65 e->string.this-path))...(check-e
532a0 71 75 61 6c 3f 20 28 66 69 6c 65 2d 3e 64 69 67 65 73 74 20 74 68 69 73 2d 70 61 74 68 29 0a 20 qual?.(file->digest.this-path)..
532c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 3e 64 69 67 65 73 74 20 74 ...............(string->digest.t
532e0 68 69 73 2d 73 74 72 69 6e 67 29 29 0a 20 20 3b 3b 20 4e 6f 74 65 3a 20 54 68 69 73 20 74 65 73 his-string))...;;.Note:.This.tes
53300 74 20 77 69 6c 6c 20 6f 6e 6c 79 20 73 75 63 63 65 65 64 20 69 66 20 74 68 65 20 73 61 6d 65 20 t.will.only.succeed.if.the.same.
53320 73 79 6e 74 61 78 20 6f 62 6a 65 63 74 20 70 75 74 0a 20 20 3b 3b 20 69 6e 20 74 68 65 20 63 61 syntax.object.put...;;.in.the.ca
53340 63 68 65 20 62 79 20 66 69 6c 65 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 69 73 20 che.by.file->expanded-syntax.is.
53360 72 65 74 72 69 65 76 65 64 20 66 72 6f 6d 20 74 68 65 20 63 61 63 68 65 0a 20 20 3b 3b 20 62 79 retrieved.from.the.cache...;;.by
53380 20 73 74 72 69 6e 67 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 2e 20 49 6e 20 6f 74 68 .string->expanded-syntax..In.oth
533a0 65 72 20 77 6f 72 64 73 2c 20 74 77 6f 20 69 64 65 6e 74 69 63 61 6c 20 63 61 6c 6c 73 0a 20 20 er.words,.two.identical.calls...
533c0 3b 3b 20 74 6f 20 66 69 6c 65 2d 3e 73 79 6e 74 61 78 20 64 6f 20 6e 6f 74 20 70 72 6f 64 75 63 ;;.to.file->syntax.do.not.produc
533e0 65 20 65 71 75 61 6c 3f 20 73 79 6e 74 61 78 20 6f 62 6a 65 63 74 73 2e 0a 20 20 28 63 68 65 63 e.equal?.syntax.objects....(chec
53400 6b 2d 65 71 75 61 6c 3f 20 28 66 69 6c 65 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 k-equal?.(file->expanded-syntax.
53420 74 68 69 73 2d 70 61 74 68 20 76 61 6c 75 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 this-path.values)...............
53440 20 20 28 73 74 72 69 6e 67 2d 3e 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 74 68 69 73 2d ..(string->expanded-syntax.this-
53460 70 61 74 68 20 74 68 69 73 2d 73 74 72 69 6e 67 20 76 61 6c 75 65 73 29 29 0a 20 20 28 63 68 65 path.this-string.values))...(che
53480 63 6b 2d 65 71 75 61 6c 3f 20 28 70 61 74 68 2d 3e 65 78 69 73 74 69 6e 67 2d 65 78 70 61 6e 64 ck-equal?.(path->existing-expand
534a0 65 64 2d 73 79 6e 74 61 78 20 74 68 69 73 2d 70 61 74 68 20 28 ce bb 20 28 5f 73 74 78 29 20 34 ed-syntax.this-path.(...(_stx).4
534c0 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 34 32 29 29 0a 0a 28 6d 6f 64 75 6c 2)).................42))..(modul
534e0 65 20 63 61 63 68 65 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 28 72 65 71 75 69 72 65 20 72 e.cache.racket/base...(require.r
53500 61 63 6b 65 74 2f 63 6f 6e 74 72 61 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 acket/contract............racket
53520 2f 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2f 70 61 74 68 0a 20 20 /match............racket/path...
53540 20 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 2f 70 61 72 73 65 2f 64 65 66 69 6e 65 0a 20 20 20 .........syntax/parse/define....
53560 20 20 20 20 20 20 20 20 22 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 2e 72 6b 74 ........"online-check-syntax.rkt
53580 22 29 0a 0a 20 20 28 70 72 6f 76 69 64 65 20 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 ")....(provide.log-racket-mode-s
535a0 79 6e 74 61 78 2d 63 61 63 68 65 2d 64 65 62 75 67 0a 20 20 20 20 20 20 20 20 20 20 20 6c 6f 67 yntax-cache-debug............log
535c0 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 63 61 63 68 65 2d 69 6e 66 6f 0a 20 -racket-mode-syntax-cache-info..
535e0 20 20 20 20 20 20 20 20 20 20 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 ..........log-racket-mode-syntax
53600 2d 63 61 63 68 65 2d 77 61 72 6e 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 75 63 -cache-warning............(struc
53620 74 2d 6f 75 74 20 63 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6e 61 6d 65 2d 6f t-out.code)............(rename-o
53640 75 74 20 5b 67 65 74 2d 63 6f 64 65 20 70 61 74 68 2d 3e 63 6f 64 65 5d 29 0a 20 20 20 20 20 20 ut.[get-code.path->code]).......
53660 20 20 20 20 20 28 73 74 72 75 63 74 2d 6f 75 74 20 63 61 63 68 65 2d 65 6e 74 72 79 29 0a 20 20 .....(struct-out.cache-entry)...
53680 20 20 20 20 20 20 20 20 20 63 61 63 68 65 2d 73 65 74 21 0a 20 20 20 20 20 20 20 20 20 20 20 63 .........cache-set!............c
536a0 61 63 68 65 2d 67 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 2d 63 61 63 68 65 2d 65 ache-get............with-cache-e
536c0 6e 74 72 79 2d 70 61 72 61 6d 73 29 0a 0a 20 20 28 64 65 66 69 6e 65 2d 6c 6f 67 67 65 72 20 72 ntry-params)....(define-logger.r
536e0 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 63 61 63 68 65 29 0a 0a 20 20 28 64 65 66 acket-mode-syntax-cache)....(def
53700 69 6e 65 20 73 65 6d 61 20 28 6d 61 6b 65 2d 73 65 6d 61 70 68 6f 72 65 20 31 29 29 0a 20 20 28 ine.sema.(make-semaphore.1))...(
53720 64 65 66 69 6e 65 2d 73 69 6d 70 6c 65 2d 6d 61 63 72 6f 20 28 77 69 74 68 2d 73 65 6d 61 20 65 define-simple-macro.(with-sema.e
53740 3a 65 78 70 72 20 2e 2e 2e 2b 29 0a 20 20 20 20 28 63 61 6c 6c 2d 77 69 74 68 2d 73 65 6d 61 70 :expr....+).....(call-with-semap
53760 68 6f 72 65 20 73 65 6d 61 20 28 ce bb 20 28 29 20 65 20 2e 2e 2e 29 29 29 0a 0a 20 20 3b 3b 20 hore.sema.(...().e....)))....;;.
53780 54 68 69 73 20 6c 6f 6f 6b 75 70 20 74 61 62 6c 65 20 61 6c 6c 6f 77 73 20 74 68 65 20 70 61 74 This.lookup.table.allows.the.pat
537a0 68 2d 3e 65 78 69 73 74 69 6e 67 2d 73 79 6e 74 61 78 20 61 6e 64 0a 20 20 3b 3b 20 70 61 74 68 h->existing-syntax.and...;;.path
537c0 2d 3e 65 78 69 73 74 69 6e 67 2d 65 78 70 61 6e 64 65 64 2d 73 79 6e 74 61 78 20 66 75 6e 63 74 ->existing-expanded-syntax.funct
537e0 69 6f 6e 73 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 61 20 63 61 63 68 65 0a 20 20 3b 3b 20 6d ions.to.deal.with.a.cache...;;.m
53800 69 73 73 20 62 79 20 72 65 2d 65 78 70 61 6e 64 69 6e 67 20 28 61 6e 64 20 72 65 2d 63 61 63 68 iss.by.re-expanding.(and.re-cach
53820 69 6e 67 29 2e 20 54 68 6f 73 65 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 0a 20 20 3b 3b ing)..Those.are.intended.to...;;
53840 20 73 75 70 70 6f 72 74 20 69 64 65 6e 74 69 66 69 65 72 2e 72 6b 74 20 61 6e 64 20 66 69 6e 64 .support.identifier.rkt.and.find
53860 2e 72 6b 74 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 73 79 6e 74 61 78 20 66 72 6f 6d 0a 20 20 .rkt.working.with.syntax.from...
53880 3b 3b 20 22 6c 69 76 65 22 20 63 6f 64 65 20 73 74 72 69 6e 67 73 20 74 68 61 74 20 61 72 65 6e ;;."live".code.strings.that.aren
538a0 27 74 20 69 6e 20 61 20 66 69 6c 65 20 2d 2d 20 65 2e 67 2e 20 74 68 65 20 63 6f 64 65 0a 20 20 't.in.a.file.--.e.g..the.code...
538c0 3b 3b 20 73 74 72 69 6e 67 73 20 6f 72 69 67 69 6e 61 74 65 64 20 66 72 6f 6d 20 61 20 63 68 65 ;;.strings.originated.from.a.che
538e0 63 6b 2d 73 79 6e 74 61 78 20 63 6f 6d 6d 61 6e 64 2e 20 54 68 69 73 20 6c 6f 6f 6b 75 70 20 74 ck-syntax.command..This.lookup.t
53900 61 62 6c 65 0a 20 20 3b 3b 20 69 73 20 6e 65 76 65 72 20 63 6c 65 61 6e 65 64 20 75 70 2c 20 62 able...;;.is.never.cleaned.up,.b
53920 75 74 20 49 20 62 65 6c 69 65 76 65 20 28 3f 29 20 69 74 27 73 20 6d 75 63 68 20 6c 65 73 73 20 ut.I.believe.(?).it's.much.less.
53940 22 68 65 61 76 79 22 0a 20 20 3b 3b 20 74 68 61 6e 20 74 68 65 20 73 79 6e 74 61 78 2c 20 65 78 "heavy"...;;.than.the.syntax,.ex
53960 70 61 6e 64 65 64 20 73 79 6e 74 61 78 2c 20 61 6e 64 20 6e 61 6d 65 73 70 61 63 65 20 76 61 6c panded.syntax,.and.namespace.val
53980 75 65 73 20 69 6e 20 74 68 65 0a 20 20 3b 3b 20 6d 61 69 6e 20 63 61 63 68 65 2e 0a 20 20 28 64 ues.in.the...;;.main.cache....(d
539a0 65 66 69 6e 65 20 70 61 74 68 2d 3e 63 6f 64 65 20 28 6d 61 6b 65 2d 68 61 73 68 29 29 20 3b 28 efine.path->code.(make-hash)).;(
539c0 68 61 73 68 2f 63 20 70 61 74 68 3f 20 73 74 72 69 6e 67 3f 29 0a 20 20 28 73 74 72 75 63 74 20 hash/c.path?.string?)...(struct.
539e0 63 6f 64 65 20 28 73 74 72 20 64 69 67 65 73 74 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28 67 65 code.(str.digest))...(define.(ge
53a00 74 2d 63 6f 64 65 20 70 61 74 68 29 0a 20 20 20 20 28 68 61 73 68 2d 72 65 66 20 70 61 74 68 2d t-code.path).....(hash-ref.path-
53a20 3e 63 6f 64 65 20 70 61 74 68 20 23 66 29 29 0a 0a 20 20 3b 3b 20 54 68 65 20 6d 61 69 6e 20 63 >code.path.#f))....;;.The.main.c
53a40 61 63 68 65 20 69 73 20 61 6e 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 6c 69 73 74 20 69 6e 20 6f ache.is.an.association.list.in.o
53a60 72 64 65 72 20 66 72 6f 6d 20 4d 52 55 20 74 6f 20 4c 52 55 2e 0a 20 20 3b 3b 20 54 68 65 20 6b rder.from.MRU.to.LRU....;;.The.k
53a80 65 79 73 20 61 72 65 20 70 61 74 68 73 2e 20 54 68 65 20 76 61 6c 75 65 73 20 61 72 65 20 65 69 eys.are.paths..The.values.are.ei
53aa0 74 68 65 72 20 63 61 63 68 65 2d 65 6e 74 72 79 20 28 6e 6f 74 0a 20 20 3b 3b 20 65 76 69 63 74 ther.cache-entry.(not...;;.evict
53ac0 61 62 6c 65 29 20 6f 72 20 61 6e 20 65 70 68 65 6d 65 72 6f 6e 20 6b 65 79 65 64 20 62 79 20 74 able).or.an.ephemeron.keyed.by.t
53ae0 68 65 20 6e 61 6d 65 73 70 61 63 65 20 28 65 76 69 63 74 61 62 6c 65 20 77 68 65 6e 0a 20 20 3b he.namespace.(evictable.when...;
53b00 3b 20 74 68 65 20 6e 73 20 69 73 20 6e 6f 74 20 6f 74 68 65 72 77 69 73 65 20 72 65 61 63 68 61 ;.the.ns.is.not.otherwise.reacha
53b20 62 6c 65 29 2e 20 41 70 70 72 6f 78 69 6d 61 74 65 6c 79 20 74 68 65 20 66 69 72 73 74 0a 20 20 ble)..Approximately.the.first...
53b40 3b 3b 20 60 6d 72 75 2d 74 6f 2d 6b 65 65 70 60 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 6c 69 ;;.`mru-to-keep`.items.in.the.li
53b60 73 74 20 61 72 65 20 6e 6f 6e 2d 65 76 69 63 74 61 62 6c 65 20 63 61 63 68 65 2d 65 6e 74 72 79 st.are.non-evictable.cache-entry
53b80 0a 20 20 3b 3b 20 69 74 65 6d 73 3b 20 74 68 65 20 72 65 73 74 20 61 72 65 20 65 76 69 63 74 61 ...;;.items;.the.rest.are.evicta
53ba0 62 6c 65 20 65 70 68 65 6d 65 72 6f 6e 73 2e 20 28 49 74 20 63 61 6e 20 62 65 20 6f 6e 65 20 6d ble.ephemerons..(It.can.be.one.m
53bc0 6f 72 65 3b 20 77 65 0a 20 20 3b 3b 20 64 6f 6e 27 74 20 72 65 61 6c 6c 79 20 63 61 72 65 2c 20 ore;.we...;;.don't.really.care,.
53be0 73 6f 20 77 65 20 64 6f 6e 27 74 20 74 72 61 63 6b 20 77 68 65 74 68 65 72 20 61 20 73 65 74 2f so.we.don't.track.whether.a.set/
53c00 67 65 74 20 6d 6f 76 65 73 20 61 6e 0a 20 20 3b 3b 20 69 74 65 6d 20 69 6e 2f 6f 75 74 20 6f 66 get.moves.an...;;.item.in/out.of
53c20 20 74 68 61 74 20 66 69 72 73 74 20 60 6d 72 75 2d 74 6f 2d 6b 65 65 70 60 2e 29 0a 20 20 3b 3b .that.first.`mru-to-keep`.)...;;
53c40 0a 20 20 3b 3b 20 4e 6f 74 65 3a 20 41 66 74 65 72 20 6d 61 6b 69 6e 67 20 63 68 61 6e 67 65 73 ...;;.Note:.After.making.changes
53c60 20 74 6f 20 6d 72 75 2d 74 6f 2d 6b 65 65 70 2c 20 63 61 63 68 65 2d 73 65 74 21 2c 20 6f 72 0a .to.mru-to-keep,.cache-set!,.or.
53c80 20 20 3b 3b 20 63 61 63 68 65 2d 67 65 74 2c 20 69 74 20 77 6f 75 6c 64 20 62 65 20 77 69 73 65 ..;;.cache-get,.it.would.be.wise
53ca0 20 74 6f 20 72 75 6e 20 74 68 65 20 73 6c 6f 77 2d 74 65 73 74 20 73 75 62 6d 6f 64 75 6c 65 20 .to.run.the.slow-test.submodule.
53cc0 69 6e 0a 20 20 3b 3b 20 63 68 65 63 6b 2d 73 79 6e 74 61 78 2e 72 6b 74 20 61 73 20 61 20 73 6d in...;;.check-syntax.rkt.as.a.sm
53ce0 6f 6b 65 20 74 65 73 74 2e 0a 20 20 28 64 65 66 69 6e 65 20 63 61 63 68 65 20 6e 75 6c 6c 29 0a oke.test....(define.cache.null).
53d00 20 20 28 73 74 72 75 63 74 20 63 61 63 68 65 2d 65 6e 74 72 79 20 28 73 74 78 20 65 78 70 2d 73 ..(struct.cache-entry.(stx.exp-s
53d20 74 78 20 64 69 67 65 73 74 20 64 69 72 20 6e 61 6d 65 73 70 61 63 65 20 6f 6e 6c 69 6e 65 29 29 tx.digest.dir.namespace.online))
53d40 0a 20 20 28 64 65 66 69 6e 65 20 6d 72 75 2d 74 6f 2d 6b 65 65 70 20 38 29 0a 0a 20 20 28 64 65 ...(define.mru-to-keep.8)....(de
53d60 66 69 6e 65 20 28 6e 6f 74 2d 65 76 69 63 74 65 64 3f 20 76 29 0a 20 20 20 20 28 6f 72 20 28 63 fine.(not-evicted?.v).....(or.(c
53d80 61 63 68 65 2d 65 6e 74 72 79 3f 20 76 29 0a 20 20 20 20 20 20 20 20 28 65 70 68 65 6d 65 72 6f ache-entry?.v).........(ephemero
53da0 6e 2d 76 61 6c 75 65 20 76 29 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20 28 70 72 6f 6d 6f 74 65 n-value.v)))....(define.(promote
53dc0 20 76 29 20 3b 6d 61 6b 65 20 6e 6f 6e 2d 65 76 69 63 74 61 62 6c 65 0a 20 20 20 20 28 6d 61 74 .v).;make.non-evictable.....(mat
53de0 63 68 20 76 0a 20 20 20 20 20 20 5b 28 3f 20 63 61 63 68 65 2d 65 6e 74 72 79 3f 20 63 65 29 20 ch.v.......[(?.cache-entry?.ce).
53e00 63 65 5d 0a 20 20 20 20 20 20 5b 28 3f 20 65 70 68 65 6d 65 72 6f 6e 3f 20 65 29 20 28 6f 72 20 ce].......[(?.ephemeron?.e).(or.
53e20 28 65 70 68 65 6d 65 72 6f 6e 2d 76 61 6c 75 65 20 65 29 20 65 29 5d 29 29 0a 0a 20 20 28 64 65 (ephemeron-value.e).e)]))....(de
53e40 66 69 6e 65 20 28 64 65 6d 6f 74 65 20 76 29 20 3b 6d 61 6b 65 20 65 76 69 63 74 61 62 6c 65 0a fine.(demote.v).;make.evictable.
53e60 20 20 20 20 28 6d 61 74 63 68 20 76 0a 20 20 20 20 20 20 5b 28 61 6e 64 20 28 73 74 72 75 63 74 ....(match.v.......[(and.(struct
53e80 2a 20 63 61 63 68 65 2d 65 6e 74 72 79 20 28 5b 6e 61 6d 65 73 70 61 63 65 20 6e 73 5d 29 29 20 *.cache-entry.([namespace.ns])).
53ea0 63 65 29 20 28 6d 61 6b 65 2d 65 70 68 65 6d 65 72 6f 6e 20 6e 73 20 63 65 29 5d 0a 20 20 20 20 ce).(make-ephemeron.ns.ce)].....
53ec0 20 20 5b 28 3f 20 65 70 68 65 6d 65 72 6f 6e 3f 20 65 29 20 65 5d 29 29 0a 0a 20 20 28 64 65 66 ..[(?.ephemeron?.e).e]))....(def
53ee0 69 6e 65 20 28 70 72 6f 6d 6f 74 65 2f 64 65 6d 6f 74 65 20 6e 20 76 29 0a 20 20 20 20 28 69 66 ine.(promote/demote.n.v).....(if
53f00 20 28 3c 20 6e 20 6d 72 75 2d 74 6f 2d 6b 65 65 70 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 6d .(<.n.mru-to-keep).........(prom
53f20 6f 74 65 20 76 29 0a 20 20 20 20 20 20 20 20 28 64 65 6d 6f 74 65 20 76 29 29 29 0a 0a 20 20 28 ote.v).........(demote.v)))....(
53f40 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 20 28 63 61 63 68 65 2d 73 65 74 21 20 70 61 74 68 define/contract.(cache-set!.path
53f60 20 63 6f 64 65 2d 73 74 72 20 73 74 78 20 65 78 70 2d 73 74 78 20 64 69 67 65 73 74 29 0a 20 20 .code-str.stx.exp-stx.digest)...
53f80 20 20 28 2d 3e 20 70 61 74 68 3f 20 73 74 72 69 6e 67 3f 20 73 79 6e 74 61 78 3f 20 73 79 6e 74 ..(->.path?.string?.syntax?.synt
53fa0 61 78 3f 20 73 74 72 69 6e 67 3f 20 61 6e 79 29 0a 20 20 20 20 28 77 69 74 68 2d 73 65 6d 61 0a ax?.string?.any).....(with-sema.
53fc0 20 20 20 20 20 20 28 6c 6f 67 2d 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 63 61 ......(log-racket-mode-syntax-ca
53fe0 63 68 65 2d 64 65 62 75 67 20 22 63 61 63 68 65 2d 73 65 74 3a 20 7e 76 22 20 70 61 74 68 29 0a che-debug."cache-set:.~v".path).
54000 20 20 20 20 20 20 28 68 61 73 68 2d 73 65 74 21 20 70 61 74 68 2d 3e 63 6f 64 65 20 70 61 74 68 ......(hash-set!.path->code.path
54020 20 28 63 6f 64 65 20 63 6f 64 65 2d 73 74 72 20 64 69 67 65 73 74 29 29 0a 20 20 20 20 20 20 3b .(code.code-str.digest)).......;
54040 3b 20 54 68 69 73 20 69 73 20 77 72 69 74 74 65 6e 20 74 6f 20 77 61 6c 6b 20 74 68 65 20 65 78 ;.This.is.written.to.walk.the.ex
54060 69 73 74 69 6e 67 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 6c 69 73 74 20 6a 75 73 74 0a 20 20 20 isting.association.list.just....
54080 20 20 20 3b 3b 20 6f 6e 63 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 6e 65 77 20 74 61 69 6c ...;;.once.to.build.the.new.tail
540a0 20 6f 6e 74 6f 20 77 68 69 63 68 20 77 65 27 6c 6c 20 63 6f 6e 73 20 61 20 6e 65 77 20 69 74 65 .onto.which.we'll.cons.a.new.ite
540c0 6d 0a 20 20 20 20 20 20 3b 3b 20 66 6f 72 20 60 70 61 74 68 60 2e 20 57 68 65 6e 20 62 75 69 6c m.......;;.for.`path`..When.buil
540e0 64 69 6e 67 20 74 68 65 20 6e 65 77 20 74 61 69 6c 2c 20 77 65 20 64 6f 6e 27 74 20 6b 65 65 70 ding.the.new.tail,.we.don't.keep
54100 20 61 6e 79 20 6f 6c 64 0a 20 20 20 20 20 20 3b 3b 20 69 74 65 6d 20 66 6f 72 20 60 70 61 74 68 .any.old.......;;.item.for.`path
54120 60 20 6f 72 20 61 6e 79 20 61 6c 72 65 61 64 79 2d 65 76 69 63 74 65 64 20 69 74 65 6d 73 2e 20 `.or.any.already-evicted.items..
54140 57 65 20 70 72 6f 6d 6f 74 65 20 6f 72 0a 20 20 20 20 20 20 3b 3b 20 64 65 6d 6f 74 65 20 69 74 We.promote.or.......;;.demote.it
54160 65 6d 73 20 77 65 20 64 6f 20 6b 65 65 70 2e 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 68 65 ems.we.do.keep........(define.he
54180 61 64 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 70 61 74 68 20 28 63 61 63 68 65 2d 65 6e 74 ad.........(cons.path.(cache-ent
541a0 72 79 20 73 74 78 20 65 78 70 2d 73 74 78 20 64 69 67 65 73 74 0a 20 20 20 20 20 20 20 20 20 20 ry.stx.exp-stx.digest...........
541c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 6c ......................(current-l
541e0 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 oad-relative-directory).........
54200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 ........................(current
54220 2d 6e 61 6d 65 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -namespace).....................
54240 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 6f 6e 6c 69 6e 65 2d 63 68 65 63 ............(current-online-chec
54260 6b 2d 73 79 6e 74 61 78 29 29 29 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 74 61 69 6c 0a k-syntax)))).......(define.tail.
54280 20 20 20 20 20 20 20 20 28 66 6f 72 2a 2f 6c 69 73 74 20 28 5b 28 6b 2b 76 20 6e 29 20 28 69 6e ........(for*/list.([(k+v.n).(in
542a0 2d 69 6e 64 65 78 65 64 20 63 61 63 68 65 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -indexed.cache)]................
542c0 20 20 20 20 20 5b 6b 20 28 69 6e 2d 76 61 6c 75 65 20 28 63 61 72 20 6b 2b 76 29 29 5d 20 23 3a .....[k.(in-value.(car.k+v))].#:
542e0 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 3f 20 6b 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 unless.(equal?.k.path)..........
54300 20 20 20 20 20 20 20 20 20 20 20 5b 76 20 28 69 6e 2d 76 61 6c 75 65 20 28 63 64 72 20 6b 2b 76 ...........[v.(in-value.(cdr.k+v
54320 29 29 5d 20 23 3a 77 68 65 6e 20 28 6e 6f 74 2d 65 76 69 63 74 65 64 3f 20 76 29 29 0a 20 20 20 ))].#:when.(not-evicted?.v))....
54340 20 20 20 20 20 20 20 28 63 6f 6e 73 20 6b 20 28 70 72 6f 6d 6f 74 65 2f 64 65 6d 6f 74 65 20 6e .......(cons.k.(promote/demote.n
54360 20 76 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 21 20 63 61 63 68 65 20 28 63 6f 6e 73 20 68 .v)))).......(set!.cache.(cons.h
54380 65 61 64 20 74 61 69 6c 29 29 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 ead.tail))))....(define/contract
543a0 20 28 63 61 63 68 65 2d 67 65 74 20 70 61 74 68 29 0a 20 20 20 20 28 2d 3e 20 70 61 74 68 3f 20 .(cache-get.path).....(->.path?.
543c0 28 6f 72 2f 63 20 23 66 20 63 61 63 68 65 2d 65 6e 74 72 79 3f 29 29 0a 20 20 20 20 28 77 69 74 (or/c.#f.cache-entry?)).....(wit
543e0 68 2d 73 65 6d 61 0a 20 20 20 20 20 20 3b 3b 20 54 68 69 73 20 69 73 20 77 72 69 74 74 65 6e 20 h-sema.......;;.This.is.written.
54400 74 6f 20 77 61 6c 6b 20 74 68 65 20 65 78 69 73 74 69 6e 67 20 61 73 73 6f 63 69 61 74 69 6f 6e to.walk.the.existing.association
54420 20 6c 69 73 74 20 6a 75 73 74 0a 20 20 20 20 20 20 3b 3b 20 6f 6e 63 65 2c 20 74 6f 20 6c 6f 6f .list.just.......;;.once,.to.loo
54440 6b 20 66 6f 72 20 60 70 61 74 68 60 20 77 68 69 6c 65 20 62 75 69 6c 64 69 6e 67 20 74 68 65 20 k.for.`path`.while.building.the.
54460 6e 65 77 20 74 61 69 6c 2e 20 49 66 0a 20 20 20 20 20 20 3b 3b 20 66 6f 75 6e 64 2c 20 69 74 20 new.tail..If.......;;.found,.it.
54480 62 65 63 6f 6d 65 73 20 74 68 65 20 6e 65 77 20 68 65 61 64 2e 20 52 65 67 61 72 64 6c 65 73 73 becomes.the.new.head..Regardless
544a0 2c 20 69 6e 20 74 68 65 20 6e 65 77 20 74 61 69 6c 0a 20 20 20 20 20 20 3b 3b 20 77 65 20 64 6f ,.in.the.new.tail.......;;.we.do
544c0 6e 27 74 20 6b 65 65 70 20 61 6c 72 65 61 64 79 2d 65 76 69 63 74 65 64 20 69 74 65 6d 73 2e 20 n't.keep.already-evicted.items..
544e0 57 65 20 70 72 6f 6d 6f 74 65 20 6f 72 20 64 65 6d 6f 74 65 0a 20 20 20 20 20 20 3b 3b 20 69 74 We.promote.or.demote.......;;.it
54500 65 6d 73 20 77 65 20 64 6f 20 6b 65 65 70 2e 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 76 61 ems.we.do.keep........(define-va
54520 6c 75 65 73 20 28 68 65 61 64 20 72 65 76 65 72 73 65 64 2d 74 61 69 6c 29 0a 20 20 20 20 20 20 lues.(head.reversed-tail).......
54540 20 20 28 66 6f 72 2a 2f 66 6f 6c 64 20 28 5b 68 65 61 64 20 23 66 5d 0a 20 20 20 20 20 20 20 20 ..(for*/fold.([head.#f].........
54560 20 20 20 20 20 20 20 20 20 20 20 20 5b 74 61 69 6c 20 6e 75 6c 6c 5d 29 0a 20 20 20 20 20 20 20 ............[tail.null])........
54580 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 28 6b 2b 76 20 6e 29 20 28 69 6e 2d 69 6e 64 65 78 65 ............([(k+v.n).(in-indexe
545a0 64 20 63 61 63 68 65 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6b d.cache)].....................[k
545c0 20 28 69 6e 2d 76 61 6c 75 65 20 28 63 61 72 20 6b 2b 76 29 29 5d 0a 20 20 20 20 20 20 20 20 20 .(in-value.(car.k+v))]..........
545e0 20 20 20 20 20 20 20 20 20 20 20 5b 76 20 28 69 6e 2d 76 61 6c 75 65 20 28 63 64 72 20 6b 2b 76 ...........[v.(in-value.(cdr.k+v
54600 29 29 5d 20 23 3a 77 68 65 6e 20 28 6e 6f 74 2d 65 76 69 63 74 65 64 3f 20 76 29 29 0a 20 20 20 ))].#:when.(not-evicted?.v))....
54620 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 28 65 71 75 61 6c .......(cond.............[(equal
54640 3f 20 6b 20 70 61 74 68 29 20 3b 66 6f 75 6e 64 3a 20 64 6f 6e 27 74 20 61 64 64 20 74 6f 20 74 ?.k.path).;found:.don't.add.to.t
54660 61 69 6c 2c 20 77 69 6c 6c 20 62 65 20 6e 65 77 20 68 65 61 64 0a 20 20 20 20 20 20 20 20 20 20 ail,.will.be.new.head...........
54680 20 20 20 28 76 61 6c 75 65 73 20 28 63 6f 6e 73 20 6b 20 28 70 72 6f 6d 6f 74 65 20 76 29 29 0a ...(values.(cons.k.(promote.v)).
546a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 69 6c 29 5d 0a 20 20 20 20 .....................tail)].....
546c0 20 20 20 20 20 20 20 20 5b 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 ........[else..............(valu
546e0 65 73 20 68 65 61 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f es.head......................(co
54700 6e 73 20 28 63 6f 6e 73 20 6b 20 28 70 72 6f 6d 6f 74 65 2f 64 65 6d 6f 74 65 20 6e 20 76 29 29 ns.(cons.k.(promote/demote.n.v))
54720 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 69 6c ............................tail
54740 29 29 5d 29 29 29 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 74 61 69 6c 20 28 72 65 76 65 72 ))]))).......(define.tail.(rever
54760 73 65 20 72 65 76 65 72 73 65 64 2d 74 61 69 6c 29 29 0a 20 20 20 20 20 20 28 6c 6f 67 2d 72 61 se.reversed-tail)).......(log-ra
54780 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 63 61 63 68 65 2d 64 65 62 75 67 20 22 63 61 cket-mode-syntax-cache-debug."ca
547a0 63 68 65 2d 67 65 74 20 7e 76 20 3d 3e 20 7e 76 20 7e 76 22 20 70 61 74 68 20 68 65 61 64 20 74 che-get.~v.=>.~v.~v".path.head.t
547c0 61 69 6c 29 0a 20 20 20 20 20 20 28 6d 61 74 63 68 20 68 65 61 64 0a 20 20 20 20 20 20 20 20 5b ail).......(match.head.........[
547e0 28 63 6f 6e 73 20 5f 20 28 3f 20 63 61 63 68 65 2d 65 6e 74 72 79 3f 20 63 65 29 29 20 28 73 65 (cons._.(?.cache-entry?.ce)).(se
54800 74 21 20 63 61 63 68 65 20 28 63 6f 6e 73 20 68 65 61 64 20 74 61 69 6c 29 29 20 63 65 5d 0a 20 t!.cache.(cons.head.tail)).ce]..
54820 20 20 20 20 20 20 20 5b 23 66 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......[#f......................
54840 20 20 20 20 20 28 73 65 74 21 20 63 61 63 68 65 20 74 61 69 6c 29 20 20 20 20 20 20 20 20 20 20 .....(set!.cache.tail)..........
54860 20 20 20 23 66 5d 29 29 29 0a 0a 20 20 3b 3b 20 22 49 66 20 79 6f 75 72 20 70 61 72 61 6d 65 74 ...#f])))....;;."If.your.paramet
54880 65 72 69 7a 65 20 66 6f 72 6d 20 75 73 65 73 20 61 20 68 61 6c 66 20 64 6f 7a 65 6e 20 70 61 72 erize.form.uses.a.half.dozen.par
548a0 61 6d 65 74 65 72 73 2c 20 79 6f 75 27 72 65 0a 20 20 3b 3b 20 70 72 6f 62 61 62 6c 79 20 6d 69 ameters,.you're...;;.probably.mi
548c0 73 73 69 6e 67 20 73 6f 6d 65 22 20 2d 2d 20 6e 6f 74 20 41 6c 61 6e 20 50 65 72 6c 69 73 0a 20 ssing.some".--.not.Alan.Perlis..
548e0 20 28 64 65 66 69 6e 65 2d 73 69 6d 70 6c 65 2d 6d 61 63 72 6f 20 28 77 69 74 68 2d 63 61 63 68 .(define-simple-macro.(with-cach
54900 65 2d 65 6e 74 72 79 2d 70 61 72 61 6d 73 20 63 65 3a 65 78 70 72 20 65 3a 65 78 70 72 20 2e 2e e-entry-params.ce:expr.e:expr...
54920 2e 2b 29 0a 20 20 20 20 28 6d 61 74 63 68 2d 6c 65 74 20 28 5b 28 73 74 72 75 63 74 2a 20 63 61 .+).....(match-let.([(struct*.ca
54940 63 68 65 2d 65 6e 74 72 79 20 28 5b 64 69 72 20 64 69 72 5d 20 5b 6e 61 6d 65 73 70 61 63 65 20 che-entry.([dir.dir].[namespace.
54960 6e 73 5d 20 5b 6f 6e 6c 69 6e 65 20 6f 6c 5d 29 29 20 63 65 5d 29 0a 20 20 20 20 20 20 28 70 61 ns].[online.ol])).ce]).......(pa
54980 72 61 6d 65 74 65 72 69 7a 65 20 28 5b 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 20 20 rameterize.([current-namespace..
549a0 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 73 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............ns]................
549c0 20 20 20 20 20 20 5b 63 75 72 72 65 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 ......[current-load-relative-dir
549e0 65 63 74 6f 72 79 20 64 69 72 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ectory.dir].....................
54a00 20 5b 63 75 72 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 20 20 20 20 20 20 20 20 20 20 20 20 20 .[current-directory.............
54a20 20 20 64 69 72 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 63 75 72 ..dir]......................[cur
54a40 72 65 6e 74 2d 6f 6e 6c 69 6e 65 2d 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 20 20 20 20 6f 6c 5d rent-online-check-syntax.....ol]
54a60 29 0a 20 20 20 20 20 20 20 20 65 20 2e 2e 2e 29 29 29 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 ).........e....)))).(require.'ca
54a80 63 68 65 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 che)............................
54aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54c00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
54c20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2e 65 6c 00 00 00 00 00 00 racket-repl-buffer-name.el......
54c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
54c80 30 30 30 36 37 33 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 30 35 37 37 00 20 30 00 00 00 0006733.00000000000.020577..0...
54ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
54d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
54d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e00 3b 3b 3b 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2e 65 6c 20 2d ;;;.racket-repl-buffer-name.el.-
54e20 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 *-.lexical-binding:.t;.-*-..;;.C
54e40 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 33 20 62 79 20 47 72 65 67 20 48 opyright.(c).2013-2023.by.Greg.H
54e60 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 endershott..;;.Portions.Copyrigh
54e80 74 20 28 43 29 20 31 39 38 35 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 t.(C).1985-1986,.1999-2013.Free.
54ea0 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 Software.Foundation,.Inc...;;.Au
54ec0 74 68 6f 72 3a 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 thor:.Greg.Hendershott.;;.URL:.h
54ee0 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 ttps://github.com/greghendershot
54f00 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 t/racket-mode..;;.SPDX-License-I
54f20 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 dentifier:.GPL-3.0-or-later..(re
54f40 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 0a 28 72 65 71 75 69 72 65 quire.'racket-back-end).(require
54f60 20 27 72 61 63 6b 65 74 2d 63 75 73 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 .'racket-custom).(require.'racke
54f80 74 2d 72 65 70 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 28 t-repl).(require.'racket-util).(
54fa0 72 65 71 75 69 72 65 20 27 74 72 61 6d 70 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a require.'tramp)..;;;###autoload.
54fc0 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 63 61 6c 6c 2d 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 (defun.racket-call-racket-repl-b
54fe0 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 20 28 29 0a 20 20 22 55 6e 6c 65 73 73 uffer-name-function.()..."Unless
55000 20 69 74 20 61 6c 72 65 61 64 79 20 68 61 73 20 61 20 76 61 6c 75 65 2c 20 73 65 74 20 74 68 65 .it.already.has.a.value,.set.the
55020 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 6c 75 65 20 6f 66 0a 74 68 65 20 76 61 72 69 61 .buffer-local.value.of.the.varia
55040 62 6c 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 27 20 61 63 ble.`racket-repl-buffer-name'.ac
55060 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 75 73 65 72 27 73 0a 63 75 73 74 6f 6d 69 7a 61 74 cording.to.the.user's.customizat
55080 69 6f 6e 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 ion."...(unless.racket-repl-buff
550a0 65 72 2d 6e 61 6d 65 20 3b 23 36 35 35 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 6f 72 20 28 er-name.;#655.....(funcall.(or.(
550c0 61 6e 64 20 28 66 75 6e 63 74 69 6f 6e 70 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 and.(functionp.racket-repl-buffe
550e0 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r-name-function)................
55100 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 .......racket-repl-buffer-name-f
55120 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b unction)..................#'rack
55140 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 61 72 65 64 29 29 29 29 0a 0a et-repl-buffer-name-shared))))..
55160 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 ;;;###autoload.(defun.racket-rep
55180 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 61 72 65 64 20 28 29 0a 20 20 22 41 6c 6c 20 60 l-buffer-name-shared.()..."All.`
551a0 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 65 64 69 74 20 62 75 66 66 65 72 73 20 73 68 61 72 65 20 racket-mode'.edit.buffers.share.
551c0 6f 6e 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 20 70 65 one.`racket-repl-mode'.buffer.pe
551e0 72 20 62 61 63 6b 20 65 6e 64 2e 0a 0a 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 r.back.end...A.value.for.the.var
55200 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 iable.`racket-repl-buffer-name-f
55220 75 6e 63 74 69 6f 6e 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 73 65 unction'."...(interactive)...(se
55240 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 tq-local.racket-repl-buffer-name
55260 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 2a 52 61 63 6b 65 74 20 ...............(format."*Racket.
55280 52 45 50 4c 20 3c 25 73 3e 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 REPL.<%s>*".....................
552a0 20 20 28 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 29 29 29 29 0a 0a 3b 3b 3b ..(racket-back-end-name))))..;;;
552c0 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 ###autoload.(defun.racket-repl-b
552e0 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 20 28 29 0a 20 20 22 45 61 63 68 20 60 72 61 uffer-name-unique.()..."Each.`ra
55300 63 6b 65 74 2d 6d 6f 64 65 27 20 65 64 69 74 20 62 75 66 66 65 72 20 67 65 74 73 20 69 74 73 20 cket-mode'.edit.buffer.gets.its.
55320 6f 77 6e 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 2e 0a 0a own.`racket-repl-mode'.buffer...
55340 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 A.value.for.the.variable.`racket
55360 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 27 2e 22 0a 20 20 -repl-buffer-name-function'."...
55380 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 66 6f 72 (interactive)...(let.((name.(for
553a0 6d 61 74 20 22 2a 52 61 63 6b 65 74 20 52 45 50 4c 20 3c 25 73 3e 2a 22 20 28 72 61 63 6b 65 74 mat."*Racket.REPL.<%s>*".(racket
553c0 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 --buffer-file-name)))).....(setq
553e0 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 6e -local.racket-repl-buffer-name.n
55400 61 6d 65 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 72 61 ame)))..;;;###autoload.(defun.ra
55420 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 70 72 6f 6a 65 63 74 20 28 29 cket-repl-buffer-name-project.()
55440 0a 20 20 22 41 6c 6c 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 73 20 69 6e ..."All.`racket-mode'.buffers.in
55460 20 61 20 70 72 6f 6a 65 63 74 20 73 68 61 72 65 20 61 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d .a.project.share.a.`racket-repl-
55480 6d 6f 64 65 27 20 62 75 66 66 65 72 2e 0a 0a 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 mode'.buffer...A.value.for.the.v
554a0 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 ariable.`racket-repl-buffer-name
554c0 2d 66 75 6e 63 74 69 6f 6e 27 2e 0a 0a 54 68 65 20 5c 22 70 72 6f 6a 65 63 74 5c 22 20 69 73 20 -function'...The.\"project\".is.
554e0 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 60 72 61 63 6b 65 74 2d 70 72 6f 6a 65 63 74 2d 72 6f determined.by.`racket-project-ro
55500 6f 74 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 73 65 74 71 2d 6c 6f ot'."...(interactive)...(setq-lo
55520 63 61 6c 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 0a 20 20 20 20 cal.racket-repl-buffer-name.....
55540 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 2a 52 61 63 6b 65 74 20 52 45 50 4c 20 ..........(format."*Racket.REPL.
55560 3c 25 73 3e 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 <%s>*".......................(ra
55580 63 6b 65 74 2d 2d 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 72 65 6d 6f 74 65 2d 6d 65 74 68 cket--file-name-sans-remote-meth
555a0 6f 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 od........................(racke
555c0 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 t-project-root.(racket--buffer-f
555e0 69 6c 65 2d 6e 61 6d 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 6d 6f ile-name))))))..(defun.racket-mo
55600 64 65 2d 6d 61 79 62 65 2d 6f 66 66 65 72 2d 74 6f 2d 6b 69 6c 6c 2d 72 65 70 6c 2d 62 75 66 66 de-maybe-offer-to-kill-repl-buff
55620 65 72 20 28 29 0a 20 20 22 4d 61 79 62 65 20 6f 66 66 65 72 20 74 6f 20 6b 69 6c 6c 20 61 20 60 er.()..."Maybe.offer.to.kill.a.`
55640 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 2e 0a 0a 49 6e 74 65 6e racket-repl-mode'.buffer...Inten
55660 64 65 64 20 74 6f 20 62 65 20 61 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 6c 75 65 20 66 ded.to.be.a.buffer-local.value.f
55680 6f 72 20 60 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 68 6f 6f 6b 27 20 69 6e 0a 60 72 61 63 6b 65 74 or.`kill-buffer-hook'.in.`racket
556a0 2d 6d 6f 64 65 27 20 6f 72 20 60 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 -mode'.or.`racket-hash-lang-mode
556c0 27 20 65 64 69 74 20 62 75 66 66 65 72 73 2e 0a 0a 4f 66 66 65 72 20 74 6f 20 6b 69 6c 6c 20 61 '.edit.buffers...Offer.to.kill.a
556e0 6e 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 20 77 68 65 6e n.`racket-repl-mode'.buffer.when
55700 20 6b 69 6c 6c 69 6e 67 20 74 68 65 20 6c 61 73 74 0a 65 64 69 74 20 62 75 66 66 65 72 20 75 73 .killing.the.last.edit.buffer.us
55720 69 6e 67 20 69 74 2e 20 41 6c 74 68 6f 75 67 68 20 69 73 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 ing.it..Although.is.not.necessar
55740 79 20 74 6f 20 64 6f 20 73 6f 2c 20 61 20 75 73 65 72 0a 6d 69 67 68 74 20 77 61 6e 74 20 74 6f y.to.do.so,.a.user.might.want.to
55760 20 64 6f 20 73 6f 6d 65 20 5c 22 63 6c 65 61 6e 75 70 5c 22 20 2d 2d 20 65 73 70 65 63 69 61 6c .do.some.\"cleanup\".--.especial
55780 6c 79 20 69 66 20 74 68 65 79 27 72 65 20 75 73 69 6e 67 0a 61 20 60 72 61 63 6b 65 74 2d 72 65 ly.if.they're.using.a.`racket-re
557a0 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 27 20 73 75 63 68 20 61 73 pl-buffer-name-function'.such.as
557c0 0a 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 .`racket-repl-buffer-name-unique
557e0 27 2e 22 0a 20 20 28 77 68 65 6e 20 28 72 61 63 6b 65 74 2d 2d 65 64 69 74 2d 6d 6f 64 65 2d 70 '."...(when.(racket--edit-mode-p
55800 29 0a 20 20 20 20 28 70 63 61 73 65 20 28 67 65 74 2d 62 75 66 66 65 72 20 72 61 63 6b 65 74 2d ).....(pcase.(get-buffer.racket-
55820 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 28 61 6e 64 20 28 70 repl-buffer-name).......((and.(p
55840 72 65 64 20 62 75 66 66 65 72 70 29 20 28 70 72 65 64 20 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 red.bufferp).(pred.buffer-live-p
55860 29 20 72 65 70 6c 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 20 28 ).repl-buffer)........(let.((n.(
55880 31 2d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 0a 20 20 20 20 1-..................(length.....
558a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 65 64 69 74 2d 62 75 66 66 ..............(racket--edit-buff
558c0 65 72 73 2d 75 73 69 6e 67 2d 72 65 70 6c 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 ers-using-repl.racket-repl-buffe
558e0 72 2d 6e 61 6d 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 r-name)))))..........(if.(zerop.
55900 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 79 2d 6f 72 2d 6e 2d 70 0a n)..............(when.(y-or-n-p.
55920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 4e 6f 20 ....................(format."No.
55940 6f 74 68 65 72 20 62 75 66 66 65 72 73 20 75 73 69 6e 67 20 25 73 20 2d 2d 20 61 6c 73 6f 20 6b other.buffers.using.%s.--.also.k
55960 69 6c 6c 20 69 74 3f 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ill.it?.".......................
55980 20 20 20 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 0a ......racket-repl-buffer-name)).
559a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 72 65 70 6c ...............(kill-buffer.repl
559c0 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 -buffer))............(message."%
559e0 73 20 6f 74 68 65 72 20 62 75 66 66 65 72 25 73 20 73 74 69 6c 6c 20 75 73 69 6e 67 20 25 73 22 s.other.buffer%s.still.using.%s"
55a00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 0a 20 20 20 20 20 20 20 20 20 .....................n..........
55a20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 6e 20 31 29 20 22 22 20 22 73 22 29 0a 20 ...........(if.(=.n.1).""."s")..
55a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 ...................racket-repl-b
55a60 75 66 66 65 72 2d 6e 61 6d 65 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 uffer-name)))))))..(defun.racket
55a80 2d 2d 65 64 69 74 2d 62 75 66 66 65 72 73 2d 75 73 69 6e 67 2d 72 65 70 6c 20 28 72 65 70 6c 2d --edit-buffers-using-repl.(repl-
55aa0 62 75 66 66 65 72 2d 6e 61 6d 65 29 0a 20 20 28 73 65 71 2d 66 69 6c 74 65 72 20 28 6c 61 6d 62 buffer-name)...(seq-filter.(lamb
55ac0 64 61 20 28 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 da.(buffer).................(wit
55ae0 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 h-current-buffer.buffer.........
55b00 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 72 61 63 6b 65 74 2d 2d 65 64 69 74 2d 6d 6f 64 ..........(and.(racket--edit-mod
55b20 65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 75 e-p)........................(equ
55b40 61 6c 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 72 65 70 6c 2d al.racket-repl-buffer-name.repl-
55b60 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 buffer-name))))...............(b
55b80 75 66 66 65 72 2d 6c 69 73 74 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d uffer-list)))..(provide.'racket-
55ba0 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 72 65 70 repl-buffer-name)..;;.racket-rep
55bc0 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 l-buffer-name.el.ends.here......
55be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55c00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
55c20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-hash-lang.el.............
55c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
55c80 30 31 31 34 34 36 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 33 31 34 00 20 30 00 00 00 0114465.00000000000.017314..0...
55ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
55d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
55d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55e00 3b 3b 3b 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 ;;;.racket-hash-lang.el.-*-.lexi
55e20 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 cal-binding:.t;.-*-..;;.Copyrigh
55e40 74 20 28 63 29 20 32 30 32 30 2d 32 30 32 33 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 t.(c).2020-2023.by.Greg.Hendersh
55e60 6f 74 74 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 ott..;;.Portions.Copyright.(C).1
55e80 39 38 35 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 985-1986,.1999-2013.Free.Softwar
55ea0 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 e.Foundation,.Inc...;;.Author:.G
55ec0 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f reg.Hendershott.;;.URL:.https://
55ee0 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 github.com/greghendershott/racke
55f00 74 2d 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 t-mode..;;.SPDX-License-Identifi
55f20 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 er:.GPL-3.0-or-later..(require.'
55f40 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 65 6c 65 63 2d 70 61 69 72 29 0a 28 72 65 cl-lib).(require.'elec-pair).(re
55f60 71 75 69 72 65 20 27 73 65 71 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 6d 64 quire.'seq).(require.'racket-cmd
55f80 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 6d 6f 64 65 29 0a 28 72 65 71 75 69 72 ).(require.'racket-mode).(requir
55fa0 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d e.'racket-repl)..(defvar.racket-
55fc0 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 72 61 63 6b 65 74 2d 2d 65 61 hash-lang-mode-map...(racket--ea
55fe0 73 79 2d 6b 65 79 6d 61 70 2d 64 65 66 69 6e 65 0a 20 20 20 60 28 28 28 22 43 2d 63 20 43 2d 63 sy-keymap-define....`((("C-c.C-c
56000 22 0a 20 20 20 20 20 20 20 22 43 2d 63 20 43 2d 6b 22 29 20 20 20 2c 23 27 72 61 63 6b 65 74 2d "........"C-c.C-k")...,#'racket-
56020 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 20 28 22 43 2d 63 20 run-module-at-point)......("C-c.
56040 43 2d 7a 22 20 20 20 20 20 2c 23 27 72 61 63 6b 65 74 2d 65 64 69 74 2d 73 77 69 74 63 68 2d 74 C-z".....,#'racket-edit-switch-t
56060 6f 2d 72 65 70 6c 29 0a 20 20 20 20 20 28 22 3c 66 35 3e 22 20 20 20 20 20 20 20 20 2c 23 27 72 o-repl)......("<f5>"........,#'r
56080 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 29 0a 20 20 acket-run-and-switch-to-repl)...
560a0 20 20 20 28 22 4d 2d 43 2d 3c 66 35 3e 22 20 20 20 20 2c 23 27 72 61 63 6b 65 74 2d 72 61 63 6b ...("M-C-<f5>"....,#'racket-rack
560c0 65 74 29 0a 20 20 20 20 20 28 22 43 2d 3c 66 35 3e 22 20 20 20 20 20 20 2c 23 27 72 61 63 6b 65 et)......("C-<f5>"......,#'racke
560e0 74 2d 74 65 73 74 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 74 22 20 20 20 20 20 2c 23 27 72 t-test)......("C-c.C-t".....,#'r
56100 61 63 6b 65 74 2d 74 65 73 74 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 6c 22 20 20 20 20 20 acket-test)......("C-c.C-l".....
56120 2c 23 27 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 6f ,#'racket-logger)......("C-c.C-o
56140 22 20 20 20 20 20 2c 23 27 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 29 0a 20 20 20 20 20 28 22 ".....,#'racket-profile)......("
56160 4d 2d 43 2d 78 22 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 64 65 66 69 6e 69 74 M-C-x".......racket-send-definit
56180 69 6f 6e 29 0a 20 20 20 20 20 28 22 43 2d 78 20 43 2d 65 22 20 20 20 20 20 72 61 63 6b 65 74 2d ion)......("C-x.C-e".....racket-
561a0 73 65 6e 64 2d 6c 61 73 74 2d 73 65 78 70 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 72 22 20 send-last-sexp)......("C-c.C-r".
561c0 20 20 20 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 29 0a 20 20 20 20 20 28 22 43 ....racket-send-region)......("C
561e0 2d 63 20 43 2d 65 20 66 22 20 20 20 2c 23 27 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c -c.C-e.f"...,#'racket-expand-fil
56200 65 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 65 20 78 22 20 20 20 72 61 63 6b 65 74 2d 65 78 e)......("C-c.C-e.x"...racket-ex
56220 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 65 20 pand-definition)......("C-c.C-e.
56240 65 22 20 20 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 29 0a 20 20 e"...racket-expand-last-sexp)...
56260 20 20 20 28 22 43 2d 63 20 43 2d 65 20 72 22 20 20 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d ...("C-c.C-e.r"...racket-expand-
56280 72 65 67 69 6f 6e 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 78 20 43 2d 66 22 20 2c 23 27 72 region)......("C-c.C-x.C-f".,#'r
562a0 61 63 6b 65 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 29 0a 20 20 20 20 20 28 22 acket-open-require-path)......("
562c0 54 41 42 22 20 20 20 20 20 20 20 20 20 2c 23 27 69 6e 64 65 6e 74 2d 66 6f 72 2d 74 61 62 2d 63 TAB".........,#'indent-for-tab-c
562e0 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 20 3b 3b 20 28 22 43 2d 63 20 43 2d 70 22 20 20 20 20 20 72 ommand)......;;.("C-c.C-p".....r
56300 61 63 6b 65 74 2d 63 79 63 6c 65 2d 70 61 72 65 6e 2d 73 68 61 70 65 73 29 20 65 71 75 69 76 61 acket-cycle-paren-shapes).equiva
56320 6c 65 6e 74 20 75 73 69 6e 67 20 70 61 72 65 6e 2d 6d 61 74 63 68 65 73 3f 0a 20 20 20 20 20 28 lent.using.paren-matches?......(
56340 22 4d 2d 43 2d 79 22 20 20 20 20 20 20 20 2c 23 27 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c "M-C-y".......,#'racket-insert-l
56360 61 6d 62 64 61 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 66 22 20 20 20 20 20 72 61 63 6b 65 ambda)......("C-c.C-f".....racke
56380 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 75 t-fold-all-tests)......("C-c.C-u
563a0 22 20 20 20 20 20 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 29 0a 20 ".....racket-unfold-all-tests)..
563c0 20 20 20 20 28 22 52 45 54 22 20 20 20 20 20 20 20 20 20 2c 23 27 6e 65 77 6c 69 6e 65 2d 61 6e ....("RET".........,#'newline-an
563e0 64 2d 69 6e 64 65 6e 74 29 0a 20 20 20 20 20 28 22 44 45 4c 22 20 20 20 20 20 20 20 20 20 2c 23 d-indent)......("DEL".........,#
56400 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 65 6c 65 74 65 2d 62 61 63 6b 77 61 72 'racket-hash-lang-delete-backwar
56420 64 2d 63 68 61 72 29 0a 20 20 20 20 20 28 22 43 2d 4d 2d 62 22 20 20 20 20 20 20 20 2c 23 27 72 d-char)......("C-M-b".......,#'r
56440 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 72 64 29 0a 20 20 20 20 20 28 acket-hash-lang-backward)......(
56460 22 43 2d 4d 2d 66 22 20 20 20 20 20 20 20 2c 23 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e "C-M-f".......,#'racket-hash-lan
56480 67 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 20 28 22 43 2d 4d 2d 75 22 20 20 20 20 20 20 20 2c g-forward)......("C-M-u".......,
564a0 23 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 75 70 29 0a 20 20 20 20 20 28 22 43 2d #'racket-hash-lang-up)......("C-
564c0 4d 2d 64 22 20 20 20 20 20 20 20 2c 23 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 M-d".......,#'racket-hash-lang-d
564e0 6f 77 6e 29 0a 20 20 20 20 20 28 22 43 2d 4d 2d 71 22 20 20 20 20 20 20 20 2c 23 27 72 61 63 6b own)......("C-M-q".......,#'rack
56500 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d 64 77 69 6d 29 29 29 29 0a 0a 28 65 61 et-hash-lang-C-M-q-dwim))))..(ea
56520 73 79 2d 6d 65 6e 75 2d 64 65 66 69 6e 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d sy-menu-define.racket-hash-lang-
56540 6d 6f 64 65 2d 6d 65 6e 75 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 2d mode-menu.racket-hash-lang-mode-
56560 6d 61 70 0a 20 20 22 4d 65 6e 75 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e map..."Menu.for.`racket-hash-lan
56580 67 2d 6d 6f 64 65 27 2e 22 0a 20 20 27 28 22 52 61 63 6b 65 74 2d 48 61 73 68 2d 4c 61 6e 67 22 g-mode'."...'("Racket-Hash-Lang"
565a0 0a 20 20 20 20 28 22 52 75 6e 22 0a 20 20 20 20 20 5b 22 69 6e 20 52 45 50 4c 22 20 72 61 63 6b .....("Run"......["in.REPL".rack
565c0 65 74 2d 72 75 6e 5d 0a 20 20 20 20 20 5b 22 69 6e 20 52 45 50 4c 20 61 6e 64 20 73 77 69 74 63 et-run]......["in.REPL.and.switc
565e0 68 20 74 6f 20 52 45 50 4c 22 20 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 h.to.REPL".racket-run-and-switch
56600 2d 74 6f 2d 72 65 70 6c 5d 0a 20 20 20 20 20 5b 22 69 6e 20 2a 73 68 65 6c 6c 2a 20 75 73 69 6e -to-repl]......["in.*shell*.usin
56620 67 20 60 72 61 63 6b 65 74 60 22 20 72 61 63 6b 65 74 2d 72 61 63 6b 65 74 5d 29 0a 20 20 20 20 g.`racket`".racket-racket]).....
56640 28 22 54 65 73 74 73 22 0a 20 20 20 20 20 5b 22 69 6e 20 52 45 50 4c 22 20 72 61 63 6b 65 74 2d ("Tests"......["in.REPL".racket-
56660 74 65 73 74 5d 0a 20 20 20 20 20 5b 22 69 6e 20 2a 73 68 65 6c 6c 2a 20 75 73 69 6e 67 20 60 72 test]......["in.*shell*.using.`r
56680 61 63 6f 20 74 65 73 74 60 22 20 72 61 63 6b 65 74 2d 72 61 63 6f 2d 74 65 73 74 5d 0a 20 20 20 aco.test`".racket-raco-test]....
566a0 20 20 22 2d 2d 2d 22 0a 20 20 20 20 20 5b 22 46 6f 6c 64 20 41 6c 6c 22 20 72 61 63 6b 65 74 2d .."---"......["Fold.All".racket-
566c0 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 20 3a 61 63 74 69 76 65 20 28 72 61 63 6b 65 74 2d 2d fold-all-tests.:active.(racket--
566e0 73 65 78 70 2d 65 64 69 74 2d 6d 6f 64 65 2d 70 29 5d 0a 20 20 20 20 20 5b 22 55 6e 66 6f 6c 64 sexp-edit-mode-p)]......["Unfold
56700 20 41 6c 6c 22 20 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 20 3a 61 .All".racket-unfold-all-tests.:a
56720 63 74 69 76 65 20 28 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 65 64 69 74 2d 6d 6f 64 65 2d 70 29 ctive.(racket--sexp-edit-mode-p)
56740 5d 29 0a 20 20 20 20 28 22 45 76 61 6c 22 0a 20 20 20 20 20 5b 22 52 65 67 69 6f 6e 22 20 72 61 ]).....("Eval"......["Region".ra
56760 63 6b 65 74 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 20 3a 61 63 74 69 76 65 20 28 61 6e 64 20 28 72 cket-send-region.:active.(and.(r
56780 65 67 69 6f 6e 2d 61 63 74 69 76 65 2d 70 29 20 28 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 65 64 egion-active-p).(racket--sexp-ed
567a0 69 74 2d 6d 6f 64 65 2d 70 29 29 5d 0a 20 20 20 20 20 5b 22 44 65 66 69 6e 69 74 69 6f 6e 22 20 it-mode-p))]......["Definition".
567c0 72 61 63 6b 65 74 2d 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 20 3a 61 63 74 69 76 65 20 28 racket-send-definition.:active.(
567e0 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 65 64 69 74 2d 6d 6f 64 65 2d 70 29 5d 0a 20 20 20 20 20 racket--sexp-edit-mode-p)]......
56800 5b 22 4c 61 73 74 20 53 2d 45 78 70 72 65 73 73 69 6f 6e 22 20 72 61 63 6b 65 74 2d 73 65 6e 64 ["Last.S-Expression".racket-send
56820 2d 6c 61 73 74 2d 73 65 78 70 20 3a 61 63 74 69 76 65 20 28 72 61 63 6b 65 74 2d 2d 73 65 78 70 -last-sexp.:active.(racket--sexp
56840 2d 65 64 69 74 2d 6d 6f 64 65 2d 70 29 5d 29 0a 20 20 20 20 28 22 4d 61 63 72 6f 20 45 78 70 61 -edit-mode-p)]).....("Macro.Expa
56860 6e 64 22 0a 20 20 20 20 20 5b 22 46 69 6c 65 22 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 nd"......["File".racket-expand-f
56880 69 6c 65 5d 0a 20 20 20 20 20 5b 22 52 65 67 69 6f 6e 22 20 72 61 63 6b 65 74 2d 65 78 70 61 6e ile]......["Region".racket-expan
568a0 64 2d 72 65 67 69 6f 6e 20 3a 61 63 74 69 76 65 20 28 61 6e 64 20 28 72 65 67 69 6f 6e 2d 61 63 d-region.:active.(and.(region-ac
568c0 74 69 76 65 2d 70 29 20 28 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 65 64 69 74 2d 6d 6f 64 65 2d tive-p).(racket--sexp-edit-mode-
568e0 70 29 29 5d 0a 20 20 20 20 20 5b 22 44 65 66 69 6e 69 74 69 6f 6e 22 20 72 61 63 6b 65 74 2d 65 p))]......["Definition".racket-e
56900 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 20 3a 61 63 74 69 76 65 20 28 72 61 63 6b 65 74 xpand-definition.:active.(racket
56920 2d 2d 73 65 78 70 2d 65 64 69 74 2d 6d 6f 64 65 2d 70 29 5d 0a 20 20 20 20 20 5b 22 4c 61 73 74 --sexp-edit-mode-p)]......["Last
56940 20 53 2d 45 78 70 72 65 73 73 69 6f 6e 22 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 .S-Expression".racket-expand-las
56960 74 2d 73 65 78 70 20 20 3a 61 63 74 69 76 65 20 28 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 65 64 t-sexp..:active.(racket--sexp-ed
56980 69 74 2d 6d 6f 64 65 2d 70 29 5d 29 0a 20 20 20 20 5b 22 53 77 69 74 63 68 20 74 6f 20 52 45 50 it-mode-p)]).....["Switch.to.REP
569a0 4c 22 20 72 61 63 6b 65 74 2d 72 65 70 6c 5d 0a 20 20 20 20 28 22 54 6f 6f 6c 73 22 0a 20 20 20 L".racket-repl].....("Tools"....
569c0 20 20 5b 22 50 72 6f 66 69 6c 65 22 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 5d 0a 20 20 20 ..["Profile".racket-profile]....
569e0 20 20 5b 22 45 72 72 6f 72 20 54 72 61 63 65 22 20 72 61 63 6b 65 74 2d 72 75 6e 2d 77 69 74 68 ..["Error.Trace".racket-run-with
56a00 2d 65 72 72 6f 72 74 72 61 63 65 5d 0a 20 20 20 20 20 5b 22 53 74 65 70 20 44 65 62 75 67 22 20 -errortrace]......["Step.Debug".
56a20 72 61 63 6b 65 74 2d 72 75 6e 2d 77 69 74 68 2d 64 65 62 75 67 67 69 6e 67 5d 0a 20 20 20 20 20 racket-run-with-debugging]......
56a40 5b 22 54 6f 67 67 6c 65 20 58 50 20 4d 6f 64 65 22 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 ["Toggle.XP.Mode".racket-xp-mode
56a60 5d 29 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 43 6f 6d 6d 65 6e 74 22 20 63 6f 6d 6d ])....."---".....["Comment".comm
56a80 65 6e 74 2d 64 77 69 6d 5d 0a 20 20 20 20 5b 22 49 6e 73 65 72 74 20 ce bb 22 20 72 61 63 6b 65 ent-dwim].....["Insert...".racke
56aa0 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 5d 0a 20 20 20 20 5b 22 49 6e 64 65 6e 74 20 52 65 t-insert-lambda].....["Indent.Re
56ac0 67 69 6f 6e 22 20 69 6e 64 65 6e 74 2d 72 65 67 69 6f 6e 5d 0a 20 20 20 20 5b 22 43 79 63 6c 65 gion".indent-region].....["Cycle
56ae0 20 50 61 72 65 6e 20 53 68 61 70 65 73 22 20 72 61 63 6b 65 74 2d 63 79 63 6c 65 2d 70 61 72 65 .Paren.Shapes".racket-cycle-pare
56b00 6e 2d 73 68 61 70 65 73 20 3a 61 63 74 69 76 65 20 28 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 65 n-shapes.:active.(racket--sexp-e
56b20 64 69 74 2d 6d 6f 64 65 2d 70 29 5d 0a 20 20 20 20 5b 22 41 6c 69 67 6e 22 20 72 61 63 6b 65 74 dit-mode-p)].....["Align".racket
56b40 2d 61 6c 69 67 6e 20 3a 61 63 74 69 76 65 20 28 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 65 64 69 -align.:active.(racket--sexp-edi
56b60 74 2d 6d 6f 64 65 2d 70 29 5d 0a 20 20 20 20 5b 22 55 6e 61 6c 69 67 6e 22 20 72 61 63 6b 65 74 t-mode-p)].....["Unalign".racket
56b80 2d 75 6e 61 6c 69 67 6e 20 3a 61 63 74 69 76 65 20 28 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 65 -unalign.:active.(racket--sexp-e
56ba0 64 69 74 2d 6d 6f 64 65 2d 70 29 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 4f 70 65 dit-mode-p)]....."---".....["Ope
56bc0 6e 20 52 65 71 75 69 72 65 20 50 61 74 68 22 20 72 61 63 6b 65 74 2d 6f 70 65 6e 2d 72 65 71 75 n.Require.Path".racket-open-requ
56be0 69 72 65 2d 70 61 74 68 5d 0a 20 20 20 20 5b 22 46 69 6e 64 20 43 6f 6c 6c 65 63 74 69 6f 6e 22 ire-path].....["Find.Collection"
56c00 20 72 61 63 6b 65 74 2d 66 69 6e 64 2d 63 6f 6c 6c 65 63 74 69 6f 6e 5d 0a 20 20 20 20 22 2d 2d .racket-find-collection]....."--
56c20 2d 22 0a 20 20 20 20 5b 22 4e 65 78 74 20 45 72 72 6f 72 20 6f 72 20 4c 69 6e 6b 22 20 6e 65 78 -".....["Next.Error.or.Link".nex
56c40 74 2d 65 72 72 6f 72 5d 0a 20 20 20 20 5b 22 50 72 65 76 69 6f 75 73 20 45 72 72 6f 72 22 20 70 t-error].....["Previous.Error".p
56c60 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 5d 0a 20 20 20 20 5b 22 43 75 73 74 6f 6d 69 7a 65 2e 2e revious-error].....["Customize..
56c80 2e 22 20 63 75 73 74 6f 6d 69 7a 65 2d 6d 6f 64 65 5d 29 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f .".customize-mode]))..(defvar-lo
56ca0 63 61 6c 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 73 75 62 6d 69 74 2d 70 72 65 cal.racket--hash-lang-submit-pre
56cc0 64 69 63 61 74 65 2d 70 20 6e 69 6c 29 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 68 61 dicate-p.nil)..(defvar.racket-ha
56ce0 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 20 6e 69 6c sh-lang-module-language-hook.nil
56d00 0a 20 20 22 48 6f 6f 6b 20 72 75 6e 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e ..."Hook.run.when.the.module.lan
56d20 67 75 61 67 65 20 63 68 61 6e 67 65 73 2e 0a 0a 54 79 70 69 63 61 6c 6c 79 20 69 6e 20 45 6d 61 guage.changes...Typically.in.Ema
56d40 63 73 20 65 61 63 68 20 6c 61 6e 67 75 61 67 65 20 67 65 74 73 20 69 74 73 20 6f 77 6e 20 6d 61 cs.each.language.gets.its.own.ma
56d60 6a 6f 72 20 6d 6f 64 65 2e 20 41 73 20 61 0a 72 65 73 75 6c 74 2c 20 74 68 65 20 6d 61 6a 6f 72 jor.mode..As.a.result,.the.major
56d80 20 6d 6f 64 65 20 68 6f 6f 6b 20 69 73 20 79 6f 75 72 20 6f 70 70 6f 72 74 75 6e 69 74 79 20 74 .mode.hook.is.your.opportunity.t
56da0 6f 20 65 78 70 72 65 73 73 0a 70 72 65 66 65 72 65 6e 63 65 73 2e 20 48 6f 77 65 76 65 72 20 60 o.express.preferences..However.`
56dc0 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 27 20 68 61 6e 64 6c 65 73 20 72 racket-hash-lang-mode'.handles.r
56de0 61 64 69 63 61 6c 6c 79 0a 64 69 66 66 65 72 65 6e 74 20 6b 69 6e 64 73 20 6f 66 20 68 61 73 68 adically.different.kinds.of.hash
56e00 20 6c 61 6e 67 73 20 69 6e 20 6f 6e 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 2e 20 41 6e 64 20 61 20 .langs.in.one.major.mode..And.a.
56e20 67 69 76 65 6e 0a 62 75 66 66 65 72 20 63 61 6e 20 63 68 61 6e 67 65 20 6c 61 6e 67 73 20 77 68 given.buffer.can.change.langs.wh
56e40 65 6e 20 79 6f 75 20 65 64 69 74 20 74 68 65 20 5c 22 23 6c 61 6e 67 5c 22 20 6c 69 6e 65 2e 20 en.you.edit.the.\"#lang\".line..
56e60 41 73 20 61 0a 72 65 73 75 6c 74 2c 20 60 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d As.a.result,.`racket-hash-lang-m
56e80 6f 64 65 2d 68 6f 6f 6b 27 20 69 73 20 6e 6f 74 20 75 73 65 66 75 6c 20 66 6f 72 20 70 65 72 2d ode-hook'.is.not.useful.for.per-
56ea0 6c 61 6e 67 0a 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 49 6e 73 74 65 61 64 20 79 6f 75 20 lang.configuration..Instead.you.
56ec0 6e 65 65 64 20 61 20 6b 69 6e 64 20 6f 66 20 5c 22 73 75 62 20 6d 61 6a 6f 72 20 6d 6f 64 65 0a need.a.kind.of.\"sub.major.mode.
56ee0 68 6f 6f 6b 5c 22 2e 20 54 68 69 73 20 69 73 20 74 68 61 74 20 68 6f 6f 6b 2e 0a 0a 54 68 65 20 hook\"..This.is.that.hook...The.
56f00 68 6f 6f 6b 20 69 73 20 72 75 6e 20 77 68 65 6e 20 61 20 66 69 6c 65 20 69 73 20 66 69 72 73 74 hook.is.run.when.a.file.is.first
56f20 20 76 69 73 69 74 65 64 2c 20 61 6e 64 20 74 68 65 72 65 61 66 74 65 72 0a 77 68 65 6e 65 76 65 .visited,.and.thereafter.wheneve
56f40 72 20 74 68 65 20 5c 22 23 6c 61 6e 67 5c 22 20 6c 69 6e 65 20 69 73 20 65 64 69 74 65 64 20 2d r.the.\"#lang\".line.is.edited.-
56f60 2d 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 72 65 73 75 6c 74 73 20 69 6e 0a 64 69 66 66 65 -.provided.that.results.in.diffe
56f80 72 65 6e 74 20 6c 61 6e 67 75 61 67 65 20 69 6e 66 6f 3b 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 rent.language.info;.for.example.
56fa0 63 68 61 6e 67 69 6e 67 20 66 72 6f 6d 20 5c 22 23 6c 61 6e 67 0a 72 61 63 6b 65 74 5c 22 20 74 changing.from.\"#lang.racket\".t
56fc0 6f 20 5c 22 23 6c 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 5c 22 20 77 69 6c 6c 20 2f 6e 6f o.\"#lang.racket/base\".will./no
56fe0 74 2f 20 72 75 6e 20 74 68 65 20 68 6f 6f 6b 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 t/.run.the.hook...The.function.i
57000 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 73 74 72 69 6e 67 20 72 65 74 75 72 6e 65 64 20 s.called.with.a.string.returned.
57020 62 79 20 74 68 65 20 6c 61 6e 67 27 73 0a 5c 22 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 5c by.the.lang's.\"module-language\
57040 22 20 69 6e 66 6f 20 6b 65 79 2e 20 54 68 69 73 20 69 6e 66 6f 20 6b 65 79 20 69 73 20 73 75 70 ".info.key..This.info.key.is.sup
57060 70 6c 69 65 64 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 77 68 65 6e 20 61 20 6c 61 6e 67 75 plied.automatically.when.a.langu
57080 61 67 65 20 69 73 20 64 65 66 69 6e 65 64 20 75 73 69 6e 67 0a 73 79 6e 74 61 78 2f 6d 6f 64 75 age.is.defined.using.syntax/modu
570a0 6c 65 2d 72 65 61 64 65 72 3a 0a 0a 20 20 3c 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b le-reader:....<https://docs.rack
570c0 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 73 79 6e 74 61 78 2f 72 65 61 64 65 72 2d 68 65 6c 70 65 72 et-lang.org/syntax/reader-helper
570e0 73 2e 68 74 6d 6c 23 25 32 38 6d 6f 64 2d 70 61 74 68 2e 5f 73 79 6e 74 61 78 25 32 46 6d 6f 64 s.html#%28mod-path._syntax%2Fmod
57100 75 6c 65 2d 72 65 61 64 65 72 25 32 39 3e 2e 0a 0a 4f 74 68 65 72 77 69 73 65 20 61 20 6c 61 6e ule-reader%29>...Otherwise.a.lan
57120 67 20 6d 69 67 68 74 20 6e 6f 74 20 73 75 70 70 6c 79 20 74 68 69 73 20 61 6e 64 20 74 68 65 20 g.might.not.supply.this.and.the.
57140 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 6e 69 6c 2e 0a 0a 54 68 65 20 68 6f 6f 6b 20 69 73 20 value.will.be.nil...The.hook.is.
57160 75 73 65 66 75 6c 20 77 68 65 6e 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 76 61 72 79 20 45 6d 61 useful.when.you.want.to.vary.Ema
57180 63 73 20 62 65 68 61 76 69 6f 72 20 69 6e 20 77 61 79 73 0a 74 68 61 74 20 67 6f 20 62 65 79 6f cs.behavior.in.ways.that.go.beyo
571a0 6e 64 20 77 68 61 74 20 61 20 6c 61 6e 67 20 63 61 6e 20 64 65 73 63 72 69 62 65 2e 20 54 68 69 nd.what.a.lang.can.describe..Thi
571c0 73 20 6d 61 79 20 69 6e 63 6c 75 64 65 0a 65 6e 61 62 6c 69 6e 67 20 5c 22 66 61 6e 63 79 5c 22 s.may.include.enabling.\"fancy\"
571e0 20 6f 72 20 5c 22 63 6c 61 73 73 69 63 5c 22 20 45 6d 61 63 73 20 62 65 68 61 76 69 6f 72 73 20 .or.\"classic\".Emacs.behaviors.
57200 6f 6e 6c 79 20 66 6f 72 0a 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 6c 61 6e 67 73 2e 0a 0a 46 6f only.for.s-expression.langs...Fo
57220 72 20 65 78 61 6d 70 6c 65 2c 20 6d 61 79 62 65 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 r.example,.maybe.you.want.to.use
57240 20 60 70 61 72 65 64 69 74 2d 6d 6f 64 65 27 20 77 68 65 6e 20 69 74 20 69 73 0a 73 75 69 74 61 .`paredit-mode'.when.it.is.suita
57260 62 6c 65 20 66 6f 72 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 3a 0a 0a 23 2b ble.for.the.module.language:..#+
57280 42 45 47 49 4e 5f 53 52 43 20 65 6c 69 73 70 0a 20 20 28 64 65 66 75 6e 20 6d 79 2d 68 6f 6f 6b BEGIN_SRC.elisp...(defun.my-hook
572a0 20 28 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 29 0a 20 20 20 20 28 6c 65 74 20 28 28 72 61 .(module-language).....(let.((ra
572c0 63 6b 65 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 62 65 72 20 6d 6f 64 75 6c 65 2d ckety............(member.module-
572e0 6c 61 6e 67 75 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 language....................(lis
57300 74 20 5c 22 72 61 63 6b 65 74 5c 22 20 5c 22 72 61 63 6b 65 74 2f 62 61 73 65 5c 22 0a 20 20 20 t.\"racket\".\"racket/base\"....
57320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 22 74 79 70 65 64 2f 72 61 ......................\"typed/ra
57340 63 6b 65 74 5c 22 20 5c 22 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 62 61 73 65 5c 22 29 29 29 29 cket\".\"typed/racket/base\"))))
57360 0a 20 20 20 20 20 20 28 69 66 20 72 61 63 6b 65 74 79 0a 20 20 20 20 20 20 20 20 20 20 28 70 61 .......(if.rackety...........(pa
57380 72 65 64 69 74 2d 6d 6f 64 65 20 31 29 0a 20 20 20 20 20 20 20 20 28 70 61 72 65 64 69 74 2d 6d redit-mode.1).........(paredit-m
573a0 6f 64 65 20 2d 31 29 29 29 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 5c 5c 3d 27 72 61 63 6b 65 ode.-1))))...(add-hook.\\='racke
573c0 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b t-hash-lang-module-language-hook
573e0 20 23 5c 5c 3d 27 6d 79 2d 68 6f 6f 6b 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 41 20 73 69 6d 69 .#\\='my-hook).#+END_SRC..A.simi
57400 6c 61 72 20 74 61 63 74 69 63 20 63 61 6e 20 62 65 20 75 73 65 64 20 66 6f 72 20 60 73 6d 61 72 lar.tactic.can.be.used.for.`smar
57420 74 70 61 72 65 6e 73 27 20 6f 72 0a 60 65 6c 65 63 74 72 69 63 2d 70 61 69 72 2d 6d 6f 64 65 27 tparens'.or.`electric-pair-mode'
57440 2e 20 49 6e 20 67 65 6e 65 72 61 6c 2c 20 6e 6f 6e 65 20 6f 66 20 74 68 65 73 65 0a 64 65 6c 69 ..In.general,.none.of.these.deli
57460 6d 69 74 65 72 2d 6d 61 74 63 68 69 6e 67 20 6d 6f 64 65 73 20 69 73 20 6c 69 6b 65 6c 79 20 74 miter-matching.modes.is.likely.t
57480 6f 20 77 6f 72 6b 20 77 65 6c 6c 20 75 6e 6c 65 73 73 20 74 68 65 0a 68 61 73 68 2d 6c 61 6e 67 o.work.well.unless.the.hash-lang
574a0 20 75 73 65 73 20 72 61 63 6b 65 74 20 66 6f 72 20 64 72 72 61 63 6b 65 74 3a 67 72 6f 75 70 69 .uses.racket.for.drracket:groupi
574c0 6e 67 2d 70 6f 73 69 74 69 6f 6e 2c 20 69 6e 20 77 68 69 63 68 0a 63 61 73 65 20 60 72 61 63 6b ng-position,.in.which.case.`rack
574e0 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 27 20 75 73 65 73 20 74 68 65 20 63 6c 61 73 et-hash-lang-mode'.uses.the.clas
57500 73 69 63 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 0a 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 66 sic.`racket-mode'.syntax-table.f
57520 6f 72 20 74 68 65 20 62 75 66 66 65 72 2e 20 4f 74 68 65 72 77 69 73 65 20 79 6f 75 20 73 68 6f or.the.buffer..Otherwise.you.sho
57540 75 6c 64 20 6e 6f 74 20 65 6e 61 62 6c 65 20 6f 6e 65 0a 6f 66 20 74 68 65 73 65 20 6d 6f 64 65 uld.not.enable.one.of.these.mode
57560 73 2c 20 61 6e 64 20 69 6e 73 74 65 61 64 20 6a 75 73 74 20 75 73 65 20 74 68 65 20 73 69 6d 70 s,.and.instead.just.use.the.simp
57580 6c 65 20 64 65 6c 69 6d 69 74 65 72 0a 6d 61 74 63 68 69 6e 67 20 62 75 69 6c 74 20 69 6e 74 6f le.delimiter.matching.built.into
575a0 20 60 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 27 3b 20 73 65 65 0a 60 72 .`racket-hash-lang-mode';.see.`r
575c0 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 27 2e 0a 0a 41 73 20 61 6e 6f 74 acket-hash-lang-pairs'...As.anot
575e0 68 65 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 70 72 65 66 65 72 20 6d 6f 72 65 20 her.example,.if.you.prefer.more.
57600 63 6f 6c 6f 72 73 20 74 68 61 6e 20 6a 75 73 74 20 74 6f 6b 65 6e 73 2c 0a 63 68 6f 69 63 65 73 colors.than.just.tokens,.choices
57620 20 69 6e 63 6c 75 64 65 3a 0a 0a 2d 20 45 6e 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d .include:..-.Enable.`racket-xp-m
57640 6f 64 65 27 20 69 6e 20 60 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 2d 68 ode'.in.`racket-hash-lang-mode-h
57660 6f 6f 6b 27 20 61 6e 64 20 69 6e 0a 20 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 ook'.and.in...the.module.languag
57680 65 20 68 6f 6f 6b 20 6c 6f 63 61 6c 6c 79 20 73 65 74 0a 20 20 60 72 61 63 6b 65 74 2d 78 70 2d e.hook.locally.set...`racket-xp-
576a0 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 27 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 add-binding-faces':..#+BEGIN_SRC
576c0 20 65 6c 69 73 70 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 78 70 2d 61 .elisp...(setq-local.racket-xp-a
576e0 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 20 74 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 20 dd-binding-faces.t).#+END_SRC...
57700 20 4f 52 0a 0a 2d 20 55 73 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 72 65 67 65 78 70 20 73 65 .OR..-.Use.some.of.the.regexp.se
57720 61 72 63 68 2d 62 61 73 65 64 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 66 72 6f 6d 20 63 6c arch-based.fontification.from.cl
57740 61 73 73 69 63 0a 20 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 66 6f 72 20 72 61 63 6b 65 74 assic...`racket-mode'.for.racket
57760 79 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 73 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 y.module.languages:..#+BEGIN_SRC
57780 20 65 6c 69 73 70 0a 20 20 28 72 65 71 75 69 72 65 20 5c 5c 3d 27 72 61 63 6b 65 74 2d 66 6f 6e .elisp...(require.\\='racket-fon
577a0 74 2d 6c 6f 63 6b 29 0a 20 20 28 69 66 20 72 61 63 6b 65 74 79 0a 20 20 20 20 20 20 28 66 6f 6e t-lock)...(if.rackety.......(fon
577c0 74 2d 6c 6f 63 6b 2d 61 64 64 2d 6b 65 79 77 6f 72 64 73 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 t-lock-add-keywords.nil.........
577e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 72 61 ......................(append.ra
57800 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 32 0a 20 20 20 20 20 20 cket-font-lock-keywords-2.......
57820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
57840 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 33 29 29 0a 20 20 racket-font-lock-keywords-3))...
57860 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 72 65 6d 6f 76 65 2d 6b 65 79 77 6f 72 64 73 20 6e 69 6c ..(font-lock-remove-keywords.nil
57880 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
578a0 28 61 70 70 65 6e 64 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 (append.racket-font-lock-keyword
578c0 73 2d 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s-2.............................
578e0 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 ...........racket-font-lock-keyw
57900 6f 72 64 73 2d 33 29 29 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 22 29 0a 0a 28 64 65 66 76 61 72 2d ords-3))).#+END_SRC.")..(defvar-
57920 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 20 6e 69 6c 0a 20 local.racket--hash-lang-id.nil..
57940 20 22 55 6e 69 71 75 65 20 69 6e 74 65 67 65 72 20 75 73 65 64 20 74 6f 20 69 64 65 6e 74 69 66 ."Unique.integer.used.to.identif
57960 79 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 68 61 73 68 2d 6c 61 6e 67 20 6f 62 6a 65 63 74 2e y.the.back.end.hash-lang.object.
57980 0a 41 6c 74 68 6f 75 67 68 20 69 74 27 73 20 74 65 6d 70 74 69 6e 67 20 74 6f 20 75 73 65 20 60 .Although.it's.tempting.to.use.`
579a0 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 27 20 66 6f 72 20 74 68 65 20 49 44 2c 20 6e 6f buffer-file-name'.for.the.ID,.no
579c0 74 0a 61 6c 6c 20 62 75 66 66 65 72 73 20 68 61 76 65 20 66 69 6c 65 73 2e 20 41 6c 74 68 6f 75 t.all.buffers.have.files..Althou
579e0 67 68 20 69 74 27 73 20 74 65 6d 70 74 69 6e 67 20 74 6f 20 75 73 65 0a 60 62 75 66 66 65 72 2d gh.it's.tempting.to.use.`buffer-
57a00 6e 61 6d 65 27 2c 20 62 75 66 66 65 72 73 20 63 61 6e 20 62 65 20 72 65 6e 61 6d 65 64 2e 20 41 name',.buffers.can.be.renamed..A
57a20 6c 74 68 6f 75 67 68 20 69 74 27 73 20 74 65 6d 70 74 69 6e 67 20 74 6f 0a 75 73 65 20 74 68 65 lthough.it's.tempting.to.use.the
57a40 20 62 75 66 66 65 72 20 6f 62 6a 65 63 74 2c 20 77 65 20 63 61 6e 27 74 20 73 65 72 69 61 6c 69 .buffer.object,.we.can't.seriali
57a60 7a 65 20 74 68 61 74 2e 22 29 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d ze.that.").(defvar.racket--hash-
57a80 6c 61 6e 67 2d 6e 65 78 74 2d 69 64 20 30 0a 20 20 22 49 6e 63 72 65 6d 65 6e 74 20 77 68 65 6e lang-next-id.0..."Increment.when
57aa0 20 77 65 20 6e 65 65 64 20 61 20 6e 65 77 20 69 64 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f .we.need.a.new.id.")..(defvar-lo
57ac0 63 61 6c 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 67 65 6e 65 72 61 74 69 6f 6e cal.racket--hash-lang-generation
57ae0 20 31 0a 20 20 22 4d 6f 6e 6f 74 6f 6e 69 63 20 69 6e 63 72 65 61 73 69 6e 67 20 76 61 6c 75 65 .1..."Monotonic.increasing.value
57b00 20 66 6f 72 20 68 61 73 68 2d 6c 61 6e 67 20 75 70 64 61 74 65 73 2e 0a 0a 54 68 69 73 20 69 73 .for.hash-lang.updates...This.is
57b20 20 73 65 74 20 74 6f 20 31 20 77 68 65 6e 20 77 65 20 68 61 73 68 2d 6c 61 6e 67 20 63 72 65 61 .set.to.1.when.we.hash-lang.crea
57b40 74 65 2c 20 69 6e 63 72 65 6d 65 6e 74 65 64 20 65 76 65 72 79 20 74 69 6d 65 0a 77 65 20 64 6f te,.incremented.every.time.we.do
57b60 20 61 20 68 61 73 68 2d 6c 61 6e 67 20 75 70 64 61 74 65 2c 20 61 6e 64 20 74 68 65 6e 20 73 75 .a.hash-lang.update,.and.then.su
57b80 70 70 6c 69 65 64 20 66 6f 72 20 61 6c 6c 20 6f 74 68 65 72 2c 20 71 75 65 72 79 0a 68 61 73 68 pplied.for.all.other,.query.hash
57ba0 2d 6c 61 6e 67 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 54 68 61 74 20 77 61 79 20 74 68 65 20 71 -lang.operations..That.way.the.q
57bc0 75 65 72 69 65 73 20 63 61 6e 20 62 6c 6f 63 6b 20 69 66 20 6e 65 63 65 73 73 61 72 79 0a 75 6e ueries.can.block.if.necessary.un
57be0 74 69 6c 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 68 61 73 20 68 61 6e 64 6c 65 64 20 74 68 65 til.the.back.end.has.handled.the
57c00 20 75 70 64 61 74 65 20 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 20 61 6c 73 6f 0a 72 65 2d 74 6f 6b .update.commands.and.also.re-tok
57c20 65 6e 69 7a 61 74 69 6f 6e 20 68 61 73 20 70 72 6f 67 72 65 73 73 65 64 20 73 75 66 66 69 63 69 enization.has.progressed.suffici
57c40 65 6e 74 6c 79 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 68 ently.")..(defvar-local.racket-h
57c60 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 2d 6c 69 67 68 74 65 72 20 22 23 6c 61 6e 67 22 29 0a 0a ash-lang-mode-lighter."#lang")..
57c80 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d ;;;###autoload.(define-derived-m
57ca0 6f 64 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 20 70 72 6f 67 2d 6d ode.racket-hash-lang-mode.prog-m
57cc0 6f 64 65 0a 20 20 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 2d 6c 69 67 ode...'racket-hash-lang-mode-lig
57ce0 68 74 65 72 0a 20 20 22 55 73 65 20 63 6f 6c 6f 72 2d 6c 65 78 65 72 2c 20 69 6e 64 65 6e 74 2c hter..."Use.color-lexer,.indent,
57d00 20 61 6e 64 20 6e 61 76 69 67 61 74 69 6f 6e 20 73 75 70 70 6c 69 65 64 20 62 79 20 61 20 23 6c .and.navigation.supplied.by.a.#l
57d20 61 6e 67 2e 0a 0a 41 6e 20 65 78 70 65 72 69 6d 65 6e 74 61 6c 20 6d 61 6a 6f 72 20 6d 6f 64 65 ang...An.experimental.major.mode
57d40 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 66 6f .alternative.to.`racket-mode'.fo
57d60 72 0a 73 6f 75 72 63 65 20 66 69 6c 65 20 65 64 69 74 20 62 75 66 66 65 72 73 2e 0a 0a 49 6e 20 r.source.file.edit.buffers...In.
57d80 79 6f 75 72 20 45 6d 61 63 73 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2c 20 79 6f 75 20 6d 61 your.Emacs.configuration,.you.ma
57da0 79 20 77 61 6e 74 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 0a 76 61 72 69 61 62 6c 65 20 60 61 y.want.to.update.the.variable.`a
57dc0 75 74 6f 2d 6d 6f 64 65 2d 61 6c 69 73 74 27 20 74 6f 20 75 73 65 20 60 72 61 63 6b 65 74 2d 68 uto-mode-alist'.to.use.`racket-h
57de0 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 27 20 66 6f 72 0a 66 69 6c 65 20 65 78 74 65 6e 73 69 6f ash-lang-mode'.for.file.extensio
57e00 6e 73 20 6c 69 6b 65 20 5c 22 2e 72 6b 74 5c 22 2c 20 5c 22 2e 73 63 72 62 6c 5c 22 2c 20 61 6e ns.like.\".rkt\",.\".scrbl\",.an
57e20 64 2f 6f 72 20 5c 22 2e 72 68 6d 5c 22 2e 0a 0a 4c 61 6e 67 75 61 67 65 73 20 73 75 70 70 6c 79 d/or.\".rhm\"...Languages.supply
57e40 20 63 6f 6c 6f 72 73 20 66 6f 72 20 6c 65 78 65 72 20 74 6f 6b 65 6e 73 20 6c 69 6b 65 20 73 74 .colors.for.lexer.tokens.like.st
57e60 72 69 6e 67 73 20 61 6e 64 0a 63 6f 6d 6d 65 6e 74 73 3b 20 73 65 65 20 74 68 65 20 63 75 73 74 rings.and.comments;.see.the.cust
57e80 6f 6d 69 7a 61 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 0a 60 72 61 63 6b 65 74 2d 68 61 73 68 2d omization.variable.`racket-hash-
57ea0 6c 61 6e 67 2d 74 6f 6b 65 6e 2d 66 61 63 65 2d 61 6c 69 73 74 27 2e 20 46 6f 72 20 6d 6f 72 65 lang-token-face-alist'..For.more
57ec0 20 63 6f 6c 6f 72 73 20 73 65 65 20 74 68 65 20 68 6f 6f 6b 0a 76 61 72 69 61 62 6c 65 20 60 72 .colors.see.the.hook.variable.`r
57ee0 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d acket-hash-lang-module-language-
57f00 68 6f 6f 6b 27 2c 20 77 68 69 63 68 20 63 61 6e 20 61 6c 73 6f 0a 62 65 20 75 73 65 64 20 74 6f hook',.which.can.also.be.used.to
57f20 20 76 61 72 79 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 20 70 65 72 20 6c 61 6e 67 75 61 67 .vary.configurations.per.languag
57f40 65 2e 0a 0a 41 20 64 69 73 63 75 73 73 69 6f 6e 20 6f 66 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 e...A.discussion.of.the.informat
57f60 69 6f 6e 20 70 72 6f 76 69 64 65 64 20 62 79 20 61 20 52 61 63 6b 65 74 20 6c 61 6e 67 75 61 67 ion.provided.by.a.Racket.languag
57f80 65 3a 0a 0a 20 20 3c 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e e:....<https://docs.racket-lang.
57fa0 6f 72 67 2f 74 6f 6f 6c 73 2f 6c 61 6e 67 2d 6c 61 6e 67 75 61 67 65 73 2d 63 75 73 74 6f 6d 69 org/tools/lang-languages-customi
57fc0 7a 61 74 69 6f 6e 2e 68 74 6d 6c 3e 0a 0a 5c 5c 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e zation.html>..\\{racket-hash-lan
57fe0 67 2d 6d 6f 64 65 2d 6d 61 70 7d 0a 22 0a 20 20 28 72 61 63 6b 65 74 2d 63 61 6c 6c 2d 72 61 63 g-mode-map}."...(racket-call-rac
58000 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 ket-repl-buffer-name-function)..
58020 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 68 6f 6f 6b 0a 20 20 20 .(add-hook.'kill-buffer-hook....
58040 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 6d 61 79 62 65 2d 6f 66 66 .........#'racket-mode-maybe-off
58060 65 72 2d 74 6f 2d 6b 69 6c 6c 2d 72 65 70 6c 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 er-to-kill-repl-buffer..........
58080 20 20 20 6e 69 6c 20 74 29 0a 20 20 28 73 65 74 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 72 61 ...nil.t)...(set-syntax-table.ra
580a0 63 6b 65 74 2d 2d 70 6c 61 69 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 0a 20 20 3b 3b 20 54 cket--plain-syntax-table)...;;.T
580c0 65 6c 6c 20 60 70 61 72 73 65 2d 70 61 72 74 69 61 6c 2d 73 65 78 70 27 20 74 6f 20 63 6f 6e 73 ell.`parse-partial-sexp'.to.cons
580e0 69 64 65 72 20 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 74 65 78 74 0a 20 20 3b 3b 20 70 72 6f 70 ider.syntax-table.text...;;.prop
58100 65 72 74 69 65 73 2e 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 70 61 72 73 65 2d 73 65 78 70 erties....(setq-local.parse-sexp
58120 2d 6c 6f 6f 6b 75 70 2d 70 72 6f 70 65 72 74 69 65 73 20 74 29 0a 20 20 3b 3b 20 48 65 72 65 20 -lookup-properties.t)...;;.Here.
58140 77 65 20 64 6f 20 74 68 65 20 75 73 75 61 6c 2c 20 61 70 70 72 6f 76 65 64 20 74 68 69 6e 67 3a we.do.the.usual,.approved.thing:
58160 20 53 65 74 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 65 66 61 75 6c 74 73 27 0a 20 20 3b 3b 20 28 .Set.`font-lock-defaults'...;;.(
58180 61 6e 64 20 6c 65 74 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 73 65 74 2d 64 65 66 61 75 6c 74 73 27 and.let.`font-lock-set-defaults'
581a0 20 74 6f 20 63 61 6c 63 75 6c 61 74 65 20 61 6e 64 20 73 65 74 20 6f 74 68 65 72 0a 20 20 3b 3b .to.calculate.and.set.other...;;
581c0 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 78 78 78 20 76 61 72 69 61 62 6c 65 73 20 63 6f 72 72 65 63 74 .font-lock-xxx.variables.correct
581e0 6c 79 29 2e 0a 20 20 28 73 65 74 71 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 65 66 61 75 6c 74 73 0a ly)....(setq.font-lock-defaults.
58200 20 20 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 22 6b 65 79 77 6f ........(list..........;;."keywo
58220 72 64 73 22 3a 20 41 6c 74 68 6f 75 67 68 20 77 65 20 63 6f 6e 74 72 69 62 75 74 65 20 6e 6f 6e rds":.Although.we.contribute.non
58240 65 20 68 65 72 65 20 28 77 65 20 6f 6e 6c 79 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 e.here.(we.only.use..........;;.
58260 6c 61 6e 67 20 6c 65 78 65 72 20 74 6f 6b 65 6e 73 29 2c 20 77 65 20 73 75 70 70 6f 72 74 20 6f lang.lexer.tokens),.we.support.o
58280 74 68 65 72 20 70 61 72 74 69 65 73 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 60 ther.parties.using..........;;.`
582a0 66 6f 6e 74 2d 6c 6f 63 6b 2d 61 64 64 2d 6b 65 79 77 6f 72 64 73 27 2c 20 73 75 63 68 20 61 73 font-lock-add-keywords',.such.as
582c0 20 61 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 2d 2d 20 6f 72 20 65 76 65 6e 0a 20 20 20 20 20 20 20 .a.minor.mode.--.or.even........
582e0 20 20 3b 3b 20 61 6e 20 65 6e 64 20 75 73 65 72 20 61 64 64 69 6e 67 20 73 74 61 74 69 63 20 60 ..;;.an.end.user.adding.static.`
58300 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 66 6f 6e 74 2d 6c 6f 63 6b 20 6b 65 79 77 6f 72 64 0a 20 racket-mode'.font-lock.keyword..
58320 20 20 20 20 20 20 20 20 3b 3b 20 6c 69 73 74 73 20 77 68 65 6e 20 74 68 65 20 68 61 73 68 2d 6c ........;;.lists.when.the.hash-l
58340 61 6e 67 20 69 73 20 72 61 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 ang.is.racket...........nil.....
58360 20 20 20 20 20 3b 3b 20 22 6b 65 79 77 6f 72 64 73 2d 6f 6e 6c 79 3f 22 3a 20 57 65 20 61 62 73 .....;;."keywords-only?":.We.abs
58380 6f 6c 75 74 65 6c 79 20 64 6f 6e 27 74 20 77 61 6e 74 20 61 6e 79 20 73 79 6e 74 61 63 74 69 63 olutely.don't.want.any.syntactic
583a0 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 3b 20 73 65 65 20 ..........;;.fontification;.see.
583c0 65 2e 67 2e 20 23 36 37 39 2e 20 41 6e 79 20 63 68 61 72 20 73 79 6e 74 61 78 20 74 61 62 6c 65 e.g..#679..Any.char.syntax.table
583e0 20 77 65 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 69 73 20 69 6e 74 65 6e 64 65 64 20 .we.set..........;;.is.intended.
58400 74 6f 20 68 65 70 20 66 69 74 20 69 6e 74 6f 20 74 68 65 20 45 6d 61 63 73 20 65 63 6f 73 79 73 to.hep.fit.into.the.Emacs.ecosys
58420 74 65 6d 20 66 6f 72 20 74 68 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 6c 69 6b 65 20 tem.for.things..........;;.like.
58440 60 70 61 72 65 64 69 74 27 2e 20 55 73 69 6e 67 20 74 68 61 74 20 66 6f 72 20 66 6f 6e 74 2d 6c `paredit'..Using.that.for.font-l
58460 6f 63 6b 20 69 73 6e 27 74 20 72 65 6c 69 61 62 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 ock.isn't.reliable;..........;;.
58480 77 65 20 74 72 75 73 74 20 74 68 65 20 6c 61 6e 67 20 6c 65 78 65 72 20 74 6f 6b 65 6e 73 2c 20 we.trust.the.lang.lexer.tokens,.
584a0 6f 6e 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 74 29 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c only...........t))...(setq-local
584c0 20 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 64 65 66 61 75 6c 74 2d 6e 6f 6e 73 74 69 63 6b 79 .text-property-default-nonsticky
584e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 28 63 6f ...............(append.(list.(co
58500 6e 73 20 27 72 61 63 6b 65 74 2d 74 6f 6b 65 6e 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ns.'racket-token.t))............
58520 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 64 65 66 61 75 6c 74 ...........text-property-default
58540 2d 6e 6f 6e 73 74 69 63 6b 79 29 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 70 6f 73 74 2d 73 -nonsticky))...(add-hook.'post-s
58560 65 6c 66 2d 69 6e 73 65 72 74 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 elf-insert-hook.#'racket-hash-la
58580 6e 67 2d 70 6f 73 74 2d 73 65 6c 66 2d 69 6e 73 65 72 74 20 6e 69 6c 20 74 29 0a 20 20 28 61 64 ng-post-self-insert.nil.t)...(ad
585a0 64 2d 68 6f 6f 6b 20 27 73 65 6c 66 2d 69 6e 73 65 72 74 2d 75 73 65 73 2d 72 65 67 69 6f 6e 2d d-hook.'self-insert-uses-region-
585c0 66 75 6e 63 74 69 6f 6e 73 20 23 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 77 69 6c functions.#'racket-hash-lang-wil
585e0 6c 2d 75 73 65 2d 72 65 67 69 6f 6e 20 6e 69 6c 20 74 29 0a 20 20 28 65 6c 65 63 74 72 69 63 2d l-use-region.nil.t)...(electric-
58600 70 61 69 72 2d 6c 6f 63 61 6c 2d 6d 6f 64 65 20 2d 31 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 pair-local-mode.-1)...(setq-loca
58620 6c 20 65 6c 65 63 74 72 69 63 2d 70 61 69 72 2d 70 61 69 72 73 20 6e 69 6c 29 0a 20 20 28 73 65 l.electric-pair-pairs.nil)...(se
58640 74 71 2d 6c 6f 63 61 6c 20 65 6c 65 63 74 72 69 63 2d 70 61 69 72 2d 74 65 78 74 2d 70 61 69 72 tq-local.electric-pair-text-pair
58660 73 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 65 6c 65 63 74 72 69 63 2d 70 61 s.nil)...(setq-local.electric-pa
58680 69 72 2d 6f 70 65 6e 2d 6e 65 77 6c 69 6e 65 2d 62 65 74 77 65 65 6e 2d 70 61 69 72 73 20 6e 69 ir-open-newline-between-pairs.ni
586a0 6c 29 20 3b 23 36 38 35 0a 20 20 28 65 6c 65 63 74 72 69 63 2d 69 6e 64 65 6e 74 2d 6c 6f 63 61 l).;#685...(electric-indent-loca
586c0 6c 2d 6d 6f 64 65 20 2d 31 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 65 6c 65 63 74 72 69 l-mode.-1)...(setq-local.electri
586e0 63 2d 69 6e 64 65 6e 74 2d 69 6e 68 69 62 69 74 20 74 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 c-indent-inhibit.t)...(setq-loca
58700 6c 20 62 6c 69 6e 6b 2d 70 61 72 65 6e 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 29 0a 20 20 28 73 l.blink-paren-function.nil)...(s
58720 65 74 71 2d 6c 6f 63 61 6c 20 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 2d 66 75 6e etq-local.imenu-create-index-fun
58740 63 74 69 6f 6e 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 63 6f 6d 70 6c 65 74 ction.nil)...(setq-local.complet
58760 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 73 20 6e 69 6c 29 20 3b 72 65 6c ion-at-point-functions.nil).;rel
58780 79 20 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 y.on.racket-xp-mode...(setq-loca
587a0 6c 20 65 6c 64 6f 63 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 20 6e l.eldoc-documentation-function.n
587c0 69 6c 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 61 74 il)...(setq.racket-submodules-at
587e0 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 29 20 3b 6d 69 67 68 74 20 63 68 61 6e -point-function.nil).;might.chan
58800 67 65 20 69 6e 20 6f 6e 2d 6e 65 77 2d 6c 61 6e 67 0a 20 20 3b 3b 20 43 72 65 61 74 65 20 62 61 ge.in.on-new-lang...;;.Create.ba
58820 63 6b 20 65 6e 64 20 68 61 73 68 2d 6c 61 6e 67 20 6f 62 6a 65 63 74 2e 0a 20 20 3b 3b 0a 20 20 ck.end.hash-lang.object....;;...
58840 3b 3b 20 4f 6e 20 74 68 65 20 6f 6e 65 20 68 61 6e 64 2c 20 60 72 61 63 6b 65 74 2d 2d 63 6d 64 ;;.On.the.one.hand,.`racket--cmd
58860 2f 61 77 61 69 74 27 20 77 6f 75 6c 64 20 62 65 20 73 69 6d 70 6c 65 72 20 74 6f 20 75 73 65 0a /await'.would.be.simpler.to.use.
58880 20 20 3b 3b 20 68 65 72 65 2e 20 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 2c 20 77 68 ..;;.here..On.the.other.hand,.wh
588a0 65 6e 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 69 73 6e 27 74 20 72 75 6e 6e 69 6e 67 2c 20 74 en.the.back.end.isn't.running,.t
588c0 68 65 72 65 27 73 0a 20 20 3b 3b 20 61 20 64 65 6c 61 79 20 66 6f 72 20 74 68 61 74 20 74 6f 20 here's...;;.a.delay.for.that.to.
588e0 73 74 61 72 74 2c 20 64 75 72 69 6e 67 20 77 68 69 63 68 20 74 68 65 20 62 75 66 66 65 72 20 69 start,.during.which.the.buffer.i
58900 73 6e 27 74 0a 20 20 3b 3b 20 64 69 73 70 6c 61 79 65 64 20 61 6e 64 20 45 6d 61 63 73 20 73 65 sn't...;;.displayed.and.Emacs.se
58920 65 6d 73 20 66 72 6f 7a 65 6e 2e 20 4f 6e 20 74 68 65 20 74 68 69 72 64 20 68 61 6e 64 2c 20 69 ems.frozen..On.the.third.hand,.i
58940 66 20 77 65 20 75 73 65 0a 20 20 3b 3b 20 60 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 f.we.use...;;.`racket--cmd/async
58960 27 20 6e 61 69 76 65 6c 79 20 74 68 65 20 62 75 66 66 65 72 20 63 6f 75 6c 64 20 74 72 79 20 74 '.naively.the.buffer.could.try.t
58980 6f 20 69 6e 74 65 72 61 63 74 20 77 69 74 68 0a 20 20 3b 3b 20 61 20 62 61 63 6b 20 65 6e 64 20 o.interact.with...;;.a.back.end.
589a0 6f 62 6a 65 63 74 20 74 68 61 74 20 64 6f 65 73 6e 27 74 20 79 65 74 20 65 78 69 73 74 2c 20 61 object.that.doesn't.yet.exist,.a
589c0 6e 64 20 65 72 72 6f 72 2e 0a 20 20 3b 3b 0a 20 20 3b 3b 20 57 61 72 6d 20 62 6f 77 6c 20 6f 66 nd.error....;;...;;.Warm.bowl.of
589e0 20 70 6f 72 72 69 64 67 65 3a 20 4d 61 6b 65 20 62 75 66 66 65 72 20 72 65 61 64 2d 6f 6e 6c 79 .porridge:.Make.buffer.read-only
58a00 20 61 6e 64 20 75 73 65 20 61 73 79 6e 63 0a 20 20 3b 3b 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 63 .and.use.async...;;.command.to.c
58a20 72 65 61 74 65 20 68 61 73 68 2d 6c 61 6e 67 20 6f 62 6a 65 63 74 2e 20 4f 6e 6c 79 20 77 68 65 reate.hash-lang.object..Only.whe
58a40 6e 20 74 68 65 20 72 65 73 70 6f 6e 73 65 0a 20 20 3b 3b 20 61 72 72 69 76 65 73 2c 20 69 2e 65 n.the.response...;;.arrives,.i.e
58a60 2e 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 6f 62 6a 65 63 74 20 69 73 20 72 65 61 64 79 2c 20 ..the.back.end.object.is.ready,.
58a80 65 6e 61 62 6c 65 20 72 65 61 64 2f 77 72 69 74 65 20 61 6e 64 0a 20 20 3b 3b 20 73 65 74 20 76 enable.read/write.and...;;.set.v
58aa0 61 72 69 6f 75 73 20 68 6f 6f 6b 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 64 65 70 65 6e arious.hook.functions.that.depen
58ac0 64 20 6f 6e 20 60 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 27 2e 0a 20 20 3b d.on.`racket--hash-lang-id'....;
58ae0 3b 0a 20 20 3b 3b 20 41 6c 73 6f 2c 20 68 61 6e 64 6c 65 20 74 68 65 20 62 61 63 6b 20 65 6e 64 ;...;;.Also,.handle.the.back.end
58b00 20 72 65 74 75 72 6e 69 6e 67 20 6e 69 6c 20 66 6f 72 20 74 68 65 20 63 72 65 61 74 65 20 2d 2d .returning.nil.for.the.create.--
58b20 20 6d 65 61 6e 69 6e 67 0a 20 20 3b 3b 20 74 68 65 72 65 27 73 20 6e 6f 20 73 75 66 66 69 63 69 .meaning...;;.there's.no.suffici
58b40 65 6e 74 6c 79 20 6e 65 77 20 73 79 6e 74 61 78 2d 63 6f 6c 6f 72 2d 6c 69 62 20 2d 2d 20 62 79 ently.new.syntax-color-lib.--.by
58b60 20 64 6f 77 6e 67 72 61 64 69 6e 67 20 74 6f 0a 20 20 3b 3b 20 70 6c 61 69 6e 20 60 70 72 6f 67 .downgrading.to...;;.plain.`prog
58b80 2d 6d 6f 64 65 27 2e 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 68 61 -mode'....(setq-local.racket--ha
58ba0 73 68 2d 6c 61 6e 67 2d 69 64 20 6e 69 6c 29 20 3b 75 6e 74 69 6c 20 61 73 79 6e 63 20 63 6f 6d sh-lang-id.nil).;until.async.com
58bc0 6d 61 6e 64 20 72 65 73 70 6f 6e 73 65 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b mand.response...(setq-local.rack
58be0 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 67 65 6e 65 72 61 74 69 6f 6e 20 31 29 0a 20 20 28 75 et--hash-lang-generation.1)...(u
58c00 6e 6c 65 73 73 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6f 70 65 6e 2d 70 29 0a 20 20 20 20 28 nless.(racket--cmd-open-p).....(
58c20 73 65 74 71 2d 6c 6f 63 61 6c 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 20 22 57 setq-local.header-line-format."W
58c40 61 69 74 69 6e 67 20 66 6f 72 20 62 61 63 6b 20 65 6e 64 20 74 6f 20 73 74 61 72 74 2e 2e 2e 22 aiting.for.back.end.to.start..."
58c60 29 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c ))...(setq-local.buffer-read-onl
58c80 79 20 74 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 0a 20 20 20 6e 69 6c y.t)...(racket--cmd/async....nil
58ca0 0a 20 20 20 60 28 68 61 73 68 2d 6c 61 6e 67 20 63 72 65 61 74 65 0a 20 20 20 20 20 20 20 20 20 ....`(hash-lang.create..........
58cc0 20 20 20 20 20 20 2c 28 63 6c 2d 69 6e 63 66 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e ......,(cl-incf.racket--hash-lan
58ce0 67 2d 6e 65 78 74 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 6e 69 6c 0a 20 g-next-id)................,nil..
58d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 ..............,(buffer-substring
58d20 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e -no-properties.(point-min).(poin
58d40 74 2d 6d 61 78 29 29 29 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 6d 61 79 62 65 2d 69 64 29 0a 20 t-max)))....(lambda.(maybe-id)..
58d60 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d ....(setq-local.header-line-form
58d80 61 74 20 6e 69 6c 29 0a 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 28 6d 61 79 62 65 2d at.nil)......(cond.......(maybe-
58da0 69 64 0a 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 68 61 id........(setq-local.racket--ha
58dc0 73 68 2d 6c 61 6e 67 2d 69 64 20 6d 61 79 62 65 2d 69 64 29 0a 20 20 20 20 20 20 20 3b 3b 20 54 sh-lang-id.maybe-id)........;;.T
58de0 68 65 73 65 20 6e 65 65 64 20 6e 6f 6e 2d 6e 69 6c 20 60 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d hese.need.non-nil.`racket--hash-
58e00 6c 61 6e 67 2d 69 64 27 3a 0a 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 66 6f 6e lang-id':........(setq-local.fon
58e20 74 2d 6c 6f 63 6b 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 20 23 t-lock-fontify-region-function.#
58e40 27 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 'racket--hash-lang-fontify-regio
58e60 6e 29 0a 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 61 66 74 65 72 2d 63 68 61 6e 67 n)........(add-hook.'after-chang
58e80 65 2d 66 75 6e 63 74 69 6f 6e 73 20 23 27 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d e-functions.#'racket--hash-lang-
58ea0 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 68 6f 6f 6b 20 74 20 74 29 0a 20 20 20 20 20 20 20 28 61 after-change-hook.t.t)........(a
58ec0 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 68 6f 6f 6b 20 23 27 72 61 63 6b dd-hook.'kill-buffer-hook.#'rack
58ee0 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 65 6c 65 74 65 20 74 20 74 29 0a 20 20 20 20 20 20 et--hash-lang-delete.t.t).......
58f00 20 28 61 64 64 2d 68 6f 6f 6b 20 27 63 68 61 6e 67 65 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 68 6f .(add-hook.'change-major-mode-ho
58f20 6f 6b 20 23 27 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 65 6c 65 74 65 20 74 20 ok.#'racket--hash-lang-delete.t.
58f40 74 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 62 75 66 66 65 72 2d 72 65 61 t)........(setq-local.buffer-rea
58f60 64 2d 6f 6e 6c 79 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 28 70 72 d-only.nil)).......(t........(pr
58f80 6f 67 2d 6d 6f 64 65 29 20 3b 77 69 70 65 73 20 61 6c 6c 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 og-mode).;wipes.all.local.variab
58fa0 6c 65 73 20 69 6e 63 6c 75 64 69 6e 67 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 0a 20 les.including.buffer-read-only..
58fc0 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 68 61 73 68 2d 6c 61 6e 67 20 73 75 70 70 6f 72 ......(message."hash-lang.suppor
58fe0 74 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 3b 20 6e 65 65 64 73 20 6e 65 77 65 72 20 73 79 6e t.not.available;.needs.newer.syn
59000 74 61 78 2d 63 6f 6c 6f 72 2d 6c 69 62 22 29 29 29 29 29 20 20 29 0a 0a 28 64 65 66 75 6e 20 72 tax-color-lib")))))..)..(defun.r
59020 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 65 6c 65 74 65 20 28 29 0a 20 20 28 77 68 acket--hash-lang-delete.()...(wh
59040 65 6e 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 0a 20 20 20 20 3b 3b 20 57 en.racket--hash-lang-id.....;;.W
59060 68 65 6e 20 62 61 63 6b 20 65 6e 64 20 72 75 6e 6e 69 6e 67 2c 20 64 65 6c 65 74 65 20 74 68 65 hen.back.end.running,.delete.the
59080 20 68 61 73 68 2d 6c 61 6e 67 20 6f 62 6a 65 63 74 2e 20 28 4f 74 68 65 72 77 69 73 65 2c 0a 20 .hash-lang.object..(Otherwise,..
590a0 20 20 20 3b 3b 20 64 6f 6e 27 74 20 73 74 61 72 74 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 6a ...;;.don't.start.the.back.end.j
590c0 75 73 74 20 74 6f 20 64 65 6c 65 74 65 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 64 6f 65 ust.to.delete.something.that.doe
590e0 73 6e 27 74 0a 20 20 20 20 3b 3b 20 65 78 69 73 74 2e 29 0a 20 20 20 20 28 77 68 65 6e 20 28 72 sn't.....;;.exist.).....(when.(r
59100 61 63 6b 65 74 2d 2d 63 6d 64 2d 6f 70 65 6e 2d 70 29 0a 20 20 20 20 20 20 28 69 67 6e 6f 72 65 acket--cmd-open-p).......(ignore
59120 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 77 61 -errors.........(racket--cmd/awa
59140 69 74 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 it..........(when.(eq.major-mode
59160 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 29 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c .'racket-repl-mode).racket--repl
59180 2d 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 60 28 68 61 73 68 2d 6c 61 6e -session-id)..........`(hash-lan
591a0 67 20 64 65 6c 65 74 65 20 2c 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 29 29 g.delete.,racket--hash-lang-id))
591c0 29 29 0a 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d )).....(setq-local.racket--hash-
591e0 6c 61 6e 67 2d 69 64 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 lang-id.nil).....(setq-local.rac
59200 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 67 65 6e 65 72 61 74 69 6f 6e 20 31 29 29 29 0a 0a ket--hash-lang-generation.1)))..
59220 3b 3b 3b 20 48 61 6e 64 6c 65 20 62 61 63 6b 20 65 6e 64 20 73 74 6f 70 70 69 6e 67 0a 0a 28 64 ;;;.Handle.back.end.stopping..(d
59240 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 6f 6e 2d 73 74 6f 70 2d 62 efun.racket--hash-lang-on-stop-b
59260 61 63 6b 2d 65 6e 64 20 28 29 0a 20 20 22 42 65 63 61 75 73 65 20 60 72 61 63 6b 65 74 2d 68 61 ack-end.()..."Because.`racket-ha
59280 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 73 20 63 61 6e 27 74 20 77 6f 72 6b sh-lang-mode'.buffers.can't.work
592a0 20 77 69 74 68 6f 75 74 20 61 0a 6c 69 76 65 20 62 61 63 6b 20 65 6e 64 2c 20 64 6f 77 6e 67 72 .without.a.live.back.end,.downgr
592c0 61 64 65 20 74 68 65 6d 20 61 6c 6c 20 74 6f 20 60 70 72 6f 67 2d 6d 6f 64 65 27 2e 22 0a 20 20 ade.them.all.to.`prog-mode'."...
592e0 28 64 6f 6c 69 73 74 20 28 62 75 66 20 28 62 75 66 66 65 72 2d 6c 69 73 74 29 29 0a 20 20 20 20 (dolist.(buf.(buffer-list)).....
59300 28 77 68 65 6e 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 62 75 66 29 0a 20 20 20 20 20 20 (when.(buffer-live-p.buf).......
59320 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 20 20 20 (with-current-buffer.buf........
59340 20 28 77 68 65 6e 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 72 61 63 6b 65 74 2d 68 61 .(when.(eq.major-mode.'racket-ha
59360 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 2d 6d 6f sh-lang-mode)...........(prog-mo
59380 64 65 29 29 29 29 29 29 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 73 74 6f 70 2d de)))))).(add-hook.'racket-stop-
593a0 62 61 63 6b 2d 65 6e 64 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e back-end-hook.#'racket--hash-lan
593c0 67 2d 6f 6e 2d 73 74 6f 70 2d 62 61 63 6b 2d 65 6e 64 29 0a 0a 3b 3b 3b 20 4f 74 68 65 72 0a 0a g-on-stop-back-end)..;;;.Other..
593e0 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 66 69 6e 64 2d 62 75 (defun.racket--hash-lang-find-bu
59400 66 66 65 72 20 28 69 64 29 0a 20 20 22 46 69 6e 64 20 74 68 65 20 62 75 66 66 65 72 20 77 68 6f ffer.(id)..."Find.the.buffer.who
59420 73 65 20 6c 6f 63 61 6c 20 76 61 6c 75 65 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 2d 68 61 73 68 se.local.value.for.`racket--hash
59440 2d 6c 61 6e 67 2d 69 64 27 20 69 73 20 49 44 2e 22 0a 20 20 28 63 6c 2d 73 6f 6d 65 20 28 6c 61 -lang-id'.is.ID."...(cl-some.(la
59460 6d 62 64 61 20 28 62 75 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 mbda.(buf)..............(when.(e
59480 71 75 61 6c 20 69 64 20 28 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 76 61 6c 75 65 20 27 72 61 63 qual.id.(buffer-local-value.'rac
594a0 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 20 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 ket--hash-lang-id.buf)).........
594c0 20 20 20 20 20 20 20 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d .......buf))............(buffer-
594e0 6c 69 73 74 29 29 29 0a 0a 3b 3b 3b 20 55 70 64 61 74 65 73 3a 20 46 72 6f 6e 74 20 65 6e 64 20 list)))..;;;.Updates:.Front.end.
59500 2d 2d 3e 20 62 61 63 6b 20 65 6e 64 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 68 61 73 -->.back.end..(defun.racket--has
59520 68 2d 6c 61 6e 67 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 73 74 72 69 6e 67 20 28 62 65 67 20 65 h-lang-repl-buffer-string.(beg.e
59540 6e 64 29 0a 20 20 22 4c 69 6b 65 20 60 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f nd)..."Like.`buffer-substring-no
59560 2d 70 72 6f 70 65 72 74 69 65 73 27 20 74 72 65 61 74 20 61 73 20 77 68 69 74 65 73 70 61 63 65 -properties'.treat.as.whitespace
59580 2c 0a 70 72 65 73 65 72 76 69 6e 67 20 6f 6e 6c 79 20 6c 69 6e 65 20 62 72 65 61 6b 73 20 66 6f ,.preserving.only.line.breaks.fo
595a0 72 20 69 6e 64 65 6e 74 61 74 69 6f 6e 2c 20 65 76 65 72 79 74 68 69 6e 67 20 74 68 61 74 20 69 r.indentation,.everything.that.i
595c0 73 0a 6e 6f 74 20 61 20 76 61 6c 75 65 20 6f 75 74 70 75 74 20 73 69 6e 63 65 20 74 68 65 20 6c s.not.a.value.output.since.the.l
595e0 61 73 74 20 72 75 6e 2c 20 6f 72 20 69 6e 70 75 74 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 74 ast.run,.or.input.after.the.last
59600 0a 6c 69 76 65 20 70 72 6f 6d 70 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 2d 73 .live.prompt."...(let.((result-s
59620 74 72 20 22 22 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 63 61 6c 6c 2d 77 tr."")).....(racket--repl-call-w
59640 69 74 68 2d 76 61 6c 75 65 2d 61 6e 64 2d 69 6e 70 75 74 2d 72 61 6e 67 65 73 0a 20 20 20 20 20 ith-value-and-input-ranges......
59660 62 65 67 20 65 6e 64 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 62 65 67 20 65 6e 64 20 69 73 beg.end......(lambda.(beg.end.is
59680 2d 76 61 6c 75 65 2d 6f 72 2d 69 6e 70 75 74 2d 70 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 -value-or-input-p)........(let.(
596a0 28 72 61 77 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 (raw.(buffer-substring-no-proper
596c0 74 69 65 73 20 62 65 67 20 65 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 0a 20 ties.beg.end)))..........(setq..
596e0 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 2d 73 74 72 0a 20 20 20 20 20 20 20 20 20 20 28 63 .........result-str...........(c
59700 6f 6e 63 61 74 20 72 65 73 75 6c 74 2d 73 74 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oncat.result-str................
59720 20 20 20 28 69 66 20 69 73 2d 76 61 6c 75 65 2d 6f 72 2d 69 6e 70 75 74 2d 70 0a 20 20 20 20 20 ...(if.is-value-or-input-p......
59740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 77 0a 20 20 20 20 20 20 20 20 20 20 20 .................raw............
59760 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 .........(replace-regexp-in-stri
59780 6e 67 20 22 5b 5e 5c 72 5c 6e 5d 2b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng."[^\r\n]+"...................
597a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d ............................(lam
597c0 62 64 61 20 28 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bda.(s).........................
597e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 73 74 ........................(make-st
59800 72 69 6e 67 20 28 6c 65 6e 67 74 68 20 73 29 20 33 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ring.(length.s).32))............
59820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
59840 20 20 20 72 61 77 29 29 29 29 29 29 29 0a 20 20 20 20 72 65 73 75 6c 74 2d 73 74 72 29 29 0a 0a ...raw))))))).....result-str))..
59860 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 61 66 74 65 72 2d 63 (defun.racket--hash-lang-after-c
59880 68 61 6e 67 65 2d 68 6f 6f 6b 20 28 62 65 67 20 65 6e 64 20 6c 65 6e 29 0a 20 20 3b 3b 3b 28 6d hange-hook.(beg.end.len)...;;;(m
598a0 65 73 73 61 67 65 20 22 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 61 66 74 65 72 2d essage."racket--hash-lang-after-
598c0 63 68 61 6e 67 65 2d 68 6f 6f 6b 20 25 73 20 25 73 20 25 73 22 20 62 65 67 20 65 6e 64 20 6c 65 change-hook.%s.%s.%s".beg.end.le
598e0 6e 29 0a 20 20 3b 3b 20 54 68 69 73 20 6d 69 67 68 74 20 62 65 20 63 61 6c 6c 65 64 20 61 73 20 n)...;;.This.might.be.called.as.
59900 66 72 65 71 75 65 6e 74 6c 79 20 61 73 20 6f 6e 63 65 20 70 65 72 20 73 69 6e 67 6c 65 20 63 68 frequently.as.once.per.single.ch
59920 61 6e 67 65 64 0a 20 20 3b 3b 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 28 77 68 65 6e 20 72 61 anged...;;.character....(when.ra
59940 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d cket--hash-lang-id.....(racket--
59960 63 6d 64 2f 61 73 79 6e 63 0a 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 60 28 68 61 73 68 2d 6c cmd/async......nil......`(hash-l
59980 61 6e 67 20 75 70 64 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 72 61 63 ang.update..................,rac
599a0 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ket--hash-lang-id...............
599c0 20 20 20 2c 28 63 6c 2d 69 6e 63 66 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 67 ...,(cl-incf.racket--hash-lang-g
599e0 65 6e 65 72 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 62 65 67 eneration)..................,beg
59a00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 6c 65 6e 0a 20 20 20 20 20 20 20 20 20 ..................,len..........
59a20 20 20 20 20 20 20 20 20 2c 28 69 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 72 61 63 ........,(if.(eq.major-mode.'rac
59a40 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ket-repl-mode)..................
59a60 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 72 65 70 6c 2d 62 75 66 .....(racket--hash-lang-repl-buf
59a80 66 65 72 2d 73 74 72 69 6e 67 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 fer-string.beg.end).............
59aa0 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f ........(buffer-substring-no-pro
59ac0 70 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 4e 6f 74 69 66 perties.beg.end))))))..;;;.Notif
59ae0 69 63 61 74 69 6f 6e 73 3a 20 46 72 6f 6e 74 20 65 6e 64 20 3c 2d 2d 20 62 61 63 6b 20 65 6e 64 ications:.Front.end.<--.back.end
59b00 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 6f 6e 2d 6e 6f ..(defun.racket--hash-lang-on-no
59b20 74 69 66 79 20 28 69 64 20 70 61 72 61 6d 73 29 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 62 75 tify.(id.params)...(when-let.(bu
59b40 66 20 28 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 66 69 6e 64 2d 62 75 66 66 65 72 f.(racket--hash-lang-find-buffer
59b60 20 69 64 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 .id)).....(with-current-buffer.b
59b80 75 66 0a 20 20 20 20 20 20 28 70 63 61 73 65 20 70 61 72 61 6d 73 0a 20 20 20 20 20 20 20 20 28 uf.......(pcase.params.........(
59ba0 60 28 6c 61 6e 67 20 2e 20 2c 70 6c 69 73 74 29 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 `(lang...,plist).........(racket
59bc0 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 6f 6e 2d 6e 65 77 2d 6c 61 6e 67 20 70 6c 69 73 74 29 29 0a --hash-lang-on-new-lang.plist)).
59be0 20 20 20 20 20 20 20 20 28 60 28 75 70 64 61 74 65 20 2c 67 65 6e 20 2c 62 65 67 20 2c 65 6e 64 ........(`(update.,gen.,beg.,end
59c00 29 20 28 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 6f 6e 2d 63 68 61 6e 67 65 64 2d ).(racket--hash-lang-on-changed-
59c20 74 6f 6b 65 6e 73 20 67 65 6e 20 62 65 67 20 65 6e 64 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e tokens.gen.beg.end))))))..(defun
59c40 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 6f 6e 2d 6e 65 77 2d 6c 61 6e 67 20 28 .racket--hash-lang-on-new-lang.(
59c60 70 6c 69 73 74 29 0a 20 20 22 57 65 20 67 65 74 20 74 68 69 73 20 77 68 65 6e 65 76 65 72 20 61 plist)..."We.get.this.whenever.a
59c80 6e 79 20 23 6c 61 6e 67 20 73 75 70 70 6c 69 65 64 20 61 74 74 72 69 62 75 74 65 73 20 68 61 76 ny.#lang.supplied.attributes.hav
59ca0 65 20 63 68 61 6e 67 65 64 2e 0a 0a 57 65 20 64 6f 20 2f 6e 6f 74 2f 20 67 65 74 20 6e 6f 74 69 e.changed...We.do./not/.get.noti
59cc0 66 69 65 64 20 77 68 65 6e 20 61 20 6e 65 77 20 6c 61 6e 67 20 75 73 65 73 20 65 78 61 63 74 6c fied.when.a.new.lang.uses.exactl
59ce0 79 20 74 68 65 20 73 61 6d 65 0a 61 74 74 72 69 62 75 74 65 73 20 61 73 20 74 68 65 20 6f 6c 64 y.the.same.attributes.as.the.old
59d00 20 6f 6e 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 63 68 61 6e 67 69 6e 67 20 66 72 6f 6d 20 .one..For.example.changing.from.
59d20 23 6c 61 6e 67 20 72 61 63 6b 65 74 0a 74 6f 20 23 6c 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 #lang.racket.to.#lang.racket/bas
59d40 65 20 77 69 6c 6c 20 2f 6e 6f 74 2f 20 6e 6f 74 69 66 79 20 75 73 2c 20 62 65 63 61 75 73 65 20 e.will./not/.notify.us,.because.
59d60 6e 6f 6e 65 20 6f 66 20 74 68 65 0a 6c 61 6e 67 27 73 20 61 74 74 72 69 62 75 74 65 73 20 74 68 none.of.the.lang's.attributes.th
59d80 61 74 20 77 65 20 63 61 72 65 20 61 62 6f 75 74 20 68 61 76 65 20 63 68 61 6e 67 65 64 2e 22 0a at.we.care.about.have.changed.".
59da0 20 20 3b 3b 3b 28 6d 65 73 73 61 67 65 20 22 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 ..;;;(message."racket--hash-lang
59dc0 2d 6f 6e 2d 6e 65 77 2d 6c 61 6e 67 20 25 53 22 20 70 6c 69 73 74 29 0a 20 20 28 77 69 74 68 2d -on-new-lang.%S".plist)...(with-
59de0 73 69 6c 65 6e 74 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 0a 20 20 20 20 28 73 61 76 65 2d 72 silent-modifications.....(save-r
59e00 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 20 20 28 estriction.......(widen).......(
59e20 75 6e 6c 65 73 73 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 72 61 63 6b 65 74 2d 72 65 unless.(eq.major-mode.'racket-re
59e40 70 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c pl-mode).........(racket--hash-l
59e60 61 6e 67 2d 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 28 70 6f 69 6e ang-remove-text-properties.(poin
59e80 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 6e t-min).(point-max)).........(fon
59ea0 74 2d 6c 6f 63 6b 2d 66 6c 75 73 68 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d t-lock-flush.(point-min).(point-
59ec0 6d 61 78 29 29 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d max))).......(racket--hash-lang-
59ee0 63 6f 6e 66 69 67 75 72 65 2d 70 61 69 72 73 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 configure-pairs.(plist-get.plist
59f00 20 27 70 61 72 65 6e 2d 6d 61 74 63 68 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .'paren-matches)................
59f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 ..........................(plist
59f40 2d 67 65 74 20 70 6c 69 73 74 20 27 71 75 6f 74 65 2d 6d 61 74 63 68 65 73 29 29 0a 20 20 20 20 -get.plist.'quote-matches)).....
59f60 20 20 3b 3b 20 49 66 20 74 68 65 20 6c 61 6e 67 20 75 73 65 73 20 72 61 63 6b 65 74 2d 67 72 6f ..;;.If.the.lang.uses.racket-gro
59f80 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 2c 20 69 2e 65 2e 20 69 74 20 75 73 65 73 0a 20 20 20 uping-position,.i.e..it.uses....
59fa0 20 20 20 3b 3b 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 74 68 65 6e 20 75 73 65 20 72 61 ...;;.s-expressions,.then.use.ra
59fc0 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 2e 20 54 68 61 74 20 77 61 79 cket-mode-syntax-table..That.way
59fe0 0a 20 20 20 20 20 20 3b 3b 20 73 6f 6d 65 20 6f 74 68 65 72 20 22 63 6c 61 73 73 69 63 22 20 45 .......;;.some.other."classic".E
5a000 6d 61 63 73 20 66 65 61 74 75 72 65 73 20 61 6e 64 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 6d macs.features.and.packages.are.m
5a020 6f 72 65 0a 20 20 20 20 20 20 3b 3b 20 6c 69 6b 65 6c 79 20 74 6f 20 77 6f 72 6b 2e 20 4f 74 68 ore.......;;.likely.to.work..Oth
5a040 65 72 77 69 73 65 2c 20 6d 61 6b 65 20 61 20 73 79 6e 74 61 78 20 74 61 62 6c 65 20 61 73 73 75 erwise,.make.a.syntax.table.assu
5a060 6d 69 6e 67 0a 20 20 20 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 61 6e 64 20 72 65 6c 79 69 6e ming.......;;.nothing.and.relyin
5a080 67 20 73 6f 6c 65 6c 79 20 6f 6e 20 74 68 65 20 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 74 65 78 g.solely.on.the.syntax-table.tex
5a0a0 74 0a 20 20 20 20 20 20 3b 3b 20 70 72 6f 70 65 72 74 69 65 73 20 77 65 20 61 64 64 20 66 72 6f t.......;;.properties.we.add.fro
5a0c0 6d 20 74 6f 6b 65 6e 73 2e 0a 20 20 20 20 20 20 28 73 65 74 2d 73 79 6e 74 61 78 2d 74 61 62 6c m.tokens........(set-syntax-tabl
5a0e0 65 20 28 69 66 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 27 72 61 63 6b 65 74 2d 67 e.(if.(plist-get.plist.'racket-g
5a100 72 6f 75 70 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rouping)........................
5a120 20 20 20 20 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 0a 20 20 .....racket-mode-syntax-table...
5a140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d ........................racket--
5a160 70 6c 61 69 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 29 0a 20 20 20 20 20 20 3b 3b 20 53 69 plain-syntax-table)).......;;.Si
5a180 6d 69 6c 61 72 6c 79 20 66 6f 72 20 60 66 6f 72 77 61 72 64 2d 73 65 78 70 2d 66 75 6e 63 74 69 milarly.for.`forward-sexp-functi
5a1a0 6f 6e 27 2e 20 54 68 65 0a 20 20 20 20 20 20 3b 3b 20 64 72 72 61 63 6b 65 74 3a 67 72 6f 75 70 on'..The.......;;.drracket:group
5a1c0 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 20 70 72 6f 74 6f 63 6f 6c 20 64 6f 65 73 6e 27 74 20 73 75 ing-position.protocol.doesn't.su
5a1e0 70 70 6f 72 74 20 61 20 6e 75 61 6e 63 65 0a 20 20 20 20 20 20 3b 3b 20 77 68 65 72 65 20 61 20 pport.a.nuance.......;;.where.a.
5a200 60 66 6f 72 77 61 72 64 2d 73 65 78 70 2d 66 75 6e 63 74 69 6f 6e 27 20 73 68 6f 75 6c 64 20 73 `forward-sexp-function'.should.s
5a220 69 67 6e 61 6c 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 20 3b 3b 20 63 6f 6e 74 ignal.an.exception.......;;.cont
5a240 61 69 6e 69 6e 67 20 66 61 69 6c 75 72 65 20 70 6f 73 69 74 69 6f 6e 73 2e 20 41 6c 74 68 6f 75 aining.failure.positions..Althou
5a260 67 68 20 74 68 69 73 20 69 73 20 4e 2f 41 20 66 6f 72 20 73 69 6d 70 6c 65 0a 20 20 20 20 20 20 gh.this.is.N/A.for.simple.......
5a280 3b 3b 20 66 6f 72 77 61 72 64 2f 62 61 63 6b 77 61 72 64 20 73 63 65 6e 61 72 69 6f 73 20 28 73 ;;.forward/backward.scenarios.(s
5a2a0 75 63 68 20 61 73 20 77 68 65 6e 20 60 70 72 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 70 27 0a 20 uch.as.when.`prog-indent-sexp'..
5a2c0 20 20 20 20 20 3b 3b 20 75 73 65 73 20 60 66 6f 72 77 61 72 64 2d 73 65 78 70 27 20 74 6f 20 73 .....;;.uses.`forward-sexp'.to.s
5a2e0 65 74 20 61 20 72 65 67 69 6f 6e 29 2c 20 69 74 20 6d 61 74 74 65 72 73 20 77 68 65 6e 20 74 68 et.a.region),.it.matters.when.th
5a300 69 6e 67 73 0a 20 20 20 20 20 20 3b 3b 20 6c 69 6b 65 20 60 75 70 2d 6c 69 73 74 27 20 75 73 65 ings.......;;.like.`up-list'.use
5a320 20 60 66 6f 72 77 61 72 64 2d 73 65 78 70 27 2e 0a 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 .`forward-sexp'........(setq-loc
5a340 61 6c 20 66 6f 72 77 61 72 64 2d 73 65 78 70 2d 66 75 6e 63 74 69 6f 6e 20 28 75 6e 6c 65 73 73 al.forward-sexp-function.(unless
5a360 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 27 72 61 63 6b 65 74 2d 67 72 6f 75 70 69 .(plist-get.plist.'racket-groupi
5a380 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng).............................
5a3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 ..............#'racket-hash-lang
5a3c0 2d 66 6f 72 77 61 72 64 2d 73 65 78 70 29 29 0a 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 70 70 -forward-sexp)).......(syntax-pp
5a3e0 73 73 2d 66 6c 75 73 68 2d 63 61 63 68 65 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 ss-flush-cache.(point-min)).....
5a400 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 ..(setq-local.indent-line-functi
5a420 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 68 61 on...................#'racket-ha
5a440 73 68 2d 6c 61 6e 67 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 sh-lang-indent-line-function)...
5a460 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 69 6e 64 65 6e 74 2d 72 65 67 69 6f 6e 2d 66 75 ....(setq-local.indent-region-fu
5a480 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 nction...................(when.(
5a4a0 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 27 72 61 6e 67 65 2d 69 6e 64 65 6e 74 65 72 29 plist-get.plist.'range-indenter)
5a4c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 68 61 .....................#'racket-ha
5a4e0 73 68 2d 6c 61 6e 67 2d 69 6e 64 65 6e 74 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 29 29 sh-lang-indent-region-function))
5a500 0a 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d .......(setq-local.racket--hash-
5a520 6c 61 6e 67 2d 73 75 62 6d 69 74 2d 70 72 65 64 69 63 61 74 65 2d 70 0a 20 20 20 20 20 20 20 20 lang-submit-predicate-p.........
5a540 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 27 73 75 62 6d ..........(plist-get.plist.'subm
5a560 69 74 2d 70 72 65 64 69 63 61 74 65 29 29 0a 20 20 20 20 20 20 3b 3b 20 49 66 20 72 61 63 6b 65 it-predicate)).......;;.If.racke
5a580 74 2d 67 72 6f 75 70 69 6e 67 20 69 2e 65 2e 73 65 78 70 20 6c 61 6e 67 20 74 68 65 6e 20 77 65 t-grouping.i.e.sexp.lang.then.we
5a5a0 20 63 61 6e 20 70 72 6f 62 61 62 6c 79 0a 20 20 20 20 20 20 3b 3b 20 64 65 74 65 72 6d 69 6e 65 .can.probably.......;;.determine
5a5c0 20 73 75 62 6d 6f 64 75 6c 65 73 20 74 65 78 74 75 61 6c 6c 79 20 66 72 6f 6d 20 73 65 78 70 72 .submodules.textually.from.sexpr
5a5e0 73 2e 20 53 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 0a 20 20 20 20 20 20 3b 3b 20 72 61 63 6b 65 s..Something.like.......;;.racke
5a600 74 2d 70 64 62 2d 6d 6f 64 65 20 63 6f 75 6c 64 20 64 65 74 65 72 6d 69 6e 65 20 74 68 69 73 20 t-pdb-mode.could.determine.this.
5a620 6e 6f 6e 2d 74 65 78 74 75 61 6c 6c 79 20 28 61 6c 62 65 69 74 0a 20 20 20 20 20 20 3b 3b 20 61 non-textually.(albeit.......;;.a
5a640 66 74 65 72 20 61 6e 20 61 6e 61 6c 79 73 69 73 20 64 65 6c 61 79 29 20 73 6f 6d 65 64 61 79 2e fter.an.analysis.delay).someday.
5a660 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 61 .......(setq.racket-submodules-a
5a680 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e t-point-function.............(an
5a6a0 64 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 27 72 61 63 6b 65 74 2d 67 72 6f 75 70 d.(plist-get.plist.'racket-group
5a6c0 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 73 ing)..................#'racket-s
5a6e0 75 62 6d 6f 64 75 6c 65 73 2d 61 74 2d 70 6f 69 6e 74 2d 74 65 78 74 2d 73 65 78 70 29 29 0a 20 ubmodules-at-point-text-sexp))..
5a700 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 73 74 61 72 74 20 2c 63 6f 6e 74 .....(pcase-let.((`(,start.,cont
5a720 69 6e 75 65 20 2c 65 6e 64 20 2c 70 61 64 64 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 inue.,end.,padding).............
5a740 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 27 63 6f 6d 6d 65 6e 74 .......(plist-get.plist.'comment
5a760 2d 64 65 6c 69 6d 69 74 65 72 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 -delimiters))).........(setq-loc
5a780 61 6c 20 63 6f 6d 6d 65 6e 74 2d 73 74 61 72 74 20 20 20 20 20 20 73 74 61 72 74 29 0a 20 20 20 al.comment-start......start)....
5a7a0 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 63 6f 6d 6d 65 6e 74 2d 63 6f 6e 74 69 6e 75 .....(setq-local.comment-continu
5a7c0 65 20 20 20 63 6f 6e 74 69 6e 75 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 e...continue).........(setq-loca
5a7e0 6c 20 63 6f 6d 6d 65 6e 74 2d 65 6e 64 20 20 20 20 20 20 20 20 65 6e 64 29 0a 20 20 20 20 20 20 l.comment-end........end).......
5a800 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 63 6f 6d 6d 65 6e 74 2d 70 61 64 64 69 6e 67 20 20 20 ..(setq-local.comment-padding...
5a820 20 70 61 64 64 69 6e 67 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 63 6f .padding).........(setq-local.co
5a840 6d 6d 65 6e 74 2d 75 73 65 2d 73 79 6e 74 61 78 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 3b 3b mment-use-syntax.nil).........;;
5a860 20 55 73 65 20 60 63 6f 6d 6d 65 6e 74 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 76 61 72 73 27 20 74 6f .Use.`comment-normalize-vars'.to
5a880 20 72 65 63 61 6c 63 20 74 68 65 20 73 6b 69 70 20 72 65 67 65 78 70 73 2e 0a 20 20 20 20 20 20 .recalc.the.skip.regexps........
5a8a0 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 63 6f 6d 6d 65 6e 74 2d 73 74 61 72 74 2d 73 6b 69 70 ..(setq-local.comment-start-skip
5a8c0 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 63 6f 6d 6d 65 6e .nil).........(setq-local.commen
5a8e0 74 2d 65 6e 64 2d 73 6b 69 70 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 65 t-end-skip...nil).........(comme
5a900 6e 74 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 2d nt-normalize-vars)).......(setq-
5a920 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 2d 6c 69 67 68 local.racket-hash-lang-mode-ligh
5a940 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 23 ter...................(concat."#
5a960 6c 61 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lang"...........................
5a980 28 77 68 65 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 27 72 61 63 6b 65 74 2d 67 (when.(plist-get.plist.'racket-g
5a9a0 72 6f 75 70 69 6e 67 29 20 22 28 29 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rouping)."()")..................
5a9c0 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 .........(when.(plist-get.plist.
5a9e0 27 72 61 6e 67 65 2d 69 6e 64 65 6e 74 65 72 29 20 22 e2 87 89 22 29 29 29 0a 20 20 20 20 20 20 'range-indenter)."..."))).......
5aa00 3b 3b 20 46 69 6e 61 6c 6c 79 20 72 75 6e 20 75 73 65 72 27 73 20 6d 6f 64 75 6c 65 2d 6c 61 6e ;;.Finally.run.user's.module-lan
5aa20 67 75 61 67 65 2d 68 6f 6f 6b 2e 0a 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 68 guage-hook........(run-hook-with
5aa40 2d 61 72 67 73 20 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c -args.'racket-hash-lang-module-l
5aa60 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 anguage-hook....................
5aa80 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 27 6d 6f 64 75 6c 65 2d .......(plist-get.plist.'module-
5aaa0 6c 61 6e 67 75 61 67 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 68 61 language)))))..(defun.racket--ha
5aac0 73 68 2d 6c 61 6e 67 2d 6f 6e 2d 63 68 61 6e 67 65 64 2d 74 6f 6b 65 6e 73 20 28 5f 67 65 6e 20 sh-lang-on-changed-tokens.(_gen.
5aae0 62 65 67 20 65 6e 64 29 0a 20 20 22 54 68 65 20 62 61 63 6b 20 65 6e 64 20 68 61 73 20 70 72 6f beg.end)..."The.back.end.has.pro
5ab00 63 65 73 73 65 64 20 61 20 63 68 61 6e 67 65 20 74 68 61 74 20 72 65 73 75 6c 74 65 64 20 69 6e cessed.a.change.that.resulted.in
5ab20 20 6e 65 77 20 74 6f 6b 65 6e 73 2e 0a 0a 41 6c 6c 20 77 65 20 64 6f 20 68 65 72 65 20 69 73 20 .new.tokens...All.we.do.here.is.
5ab40 6d 61 72 6b 20 74 68 65 20 73 70 61 6e 20 61 73 20 6e 6f 74 20 66 6f 6e 74 69 66 69 65 64 2c 20 mark.the.span.as.not.fontified,.
5ab60 74 68 65 6e 20 6c 65 74 0a 6a 69 74 2d 6c 6f 63 6b 20 64 6f 20 69 74 73 20 74 68 69 6e 67 20 61 then.let.jit-lock.do.its.thing.a
5ab80 73 2f 77 68 65 6e 20 74 68 69 73 20 73 70 61 6e 20 65 76 65 72 20 62 65 63 6f 6d 65 73 20 76 69 s/when.this.span.ever.becomes.vi
5aba0 73 69 62 6c 65 2e 22 0a 20 20 3b 3b 3b 28 6d 65 73 73 61 67 65 20 22 72 61 63 6b 65 74 2d 2d 68 sible."...;;;(message."racket--h
5abc0 61 73 68 2d 6c 61 6e 67 2d 6f 6e 2d 63 68 61 6e 67 65 64 2d 74 6f 6b 65 6e 73 20 25 73 20 25 73 ash-lang-on-changed-tokens.%s.%s
5abe0 20 25 73 22 20 5f 67 65 6e 20 62 65 67 20 65 6e 64 29 0a 20 20 28 73 61 76 65 2d 72 65 73 74 72 .%s"._gen.beg.end)...(save-restr
5ac00 69 63 74 69 6f 6e 0a 20 20 20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 28 6a 69 74 2d 6c 6f 63 6b iction.....(widen).....(jit-lock
5ac20 2d 72 65 66 6f 6e 74 69 66 79 20 28 6d 61 78 20 62 65 67 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 -refontify.(max.beg.(point-min))
5ac40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 69 6e 20 65 6e .........................(min.en
5ac60 64 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 0a 3b 3b 3b 20 46 6f 6e 74 69 66 69 63 61 d.(point-max)))))..;;;.Fontifica
5ac80 74 69 6f 6e 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 66 tion..(defun.racket--hash-lang-f
5aca0 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e 20 28 62 65 67 20 65 6e 64 20 5f 6c 6f 75 64 6c 79 29 0a ontify-region.(beg.end._loudly).
5acc0 20 20 22 4f 75 72 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 66 .."Our.value.for.the.variable.`f
5ace0 6f 6e 74 2d 6c 6f 63 6b 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e ont-lock-fontify-region-function
5ad00 27 2e 0a 0a 4a 75 73 74 20 63 6c 61 69 6d 20 77 65 20 66 6f 6e 74 69 66 69 65 64 20 74 68 65 20 '...Just.claim.we.fontified.the.
5ad20 72 65 67 69 6f 6e 20 6e 6f 77 2c 20 61 6e 64 20 61 73 6b 20 74 68 65 20 62 61 63 6b 20 65 6e 64 region.now,.and.ask.the.back.end
5ad40 20 66 6f 72 0a 74 6f 6b 65 6e 73 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 2e 20 49 6e 61 70 .for.tokens.asynchronously..Inap
5ad60 70 72 6f 70 72 69 61 74 65 20 74 6f 20 77 61 69 74 20 66 6f 72 20 61 20 72 65 73 70 6f 6e 73 65 propriate.to.wait.for.a.response
5ad80 20 77 68 69 6c 65 0a 62 65 69 6e 67 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 45 6d 61 63 73 20 43 .while.being.called.from.Emacs.C
5ada0 20 72 65 64 69 73 70 6c 61 79 20 65 6e 67 69 6e 65 2e 22 0a 20 20 3b 3b 3b 28 6d 65 73 73 61 67 .redisplay.engine."...;;;(messag
5adc0 65 20 22 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 66 6f 6e 74 69 66 79 2d 72 65 67 e."racket--hash-lang-fontify-reg
5ade0 69 6f 6e 20 25 73 20 25 73 22 20 62 65 67 20 65 6e 64 29 0a 20 20 28 77 68 65 6e 20 72 61 63 6b ion.%s.%s".beg.end)...(when.rack
5ae00 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 0a 20 20 20 20 28 6c 65 74 20 28 28 62 65 67 20 et--hash-lang-id.....(let.((beg.
5ae20 28 69 66 20 28 6d 61 72 6b 65 72 70 20 62 65 67 29 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 (if.(markerp.beg).(marker-positi
5ae40 6f 6e 20 62 65 67 29 20 62 65 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 69 66 on.beg).beg))...........(end.(if
5ae60 20 28 6d 61 72 6b 65 72 70 20 65 6e 64 29 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 .(markerp.end).(marker-position.
5ae80 65 6e 64 29 20 65 6e 64 29 29 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 end).end))).......(racket--cmd/a
5aea0 73 79 6e 63 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sync.nil........................
5aec0 20 20 60 28 68 61 73 68 2d 6c 61 6e 67 20 67 65 74 2d 74 6f 6b 65 6e 73 0a 20 20 20 20 20 20 20 ..`(hash-lang.get-tokens........
5aee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 72 ..............................,r
5af00 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 acket--hash-lang-id.............
5af20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 72 61 63 6b 65 74 .........................,racket
5af40 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 67 65 6e 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 --hash-lang-generation..........
5af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 62 65 67 ............................,beg
5af80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5afa0 20 20 20 20 20 20 2c 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......,end).....................
5afc0 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 74 6f 6b 65 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 .....(lambda.(tokens)...........
5afe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c .................(racket--hash-l
5b000 61 6e 67 2d 74 6f 6b 65 6e 73 2b 66 6f 6e 74 69 66 79 20 62 65 67 20 65 6e 64 20 74 6f 6b 65 6e ang-tokens+fontify.beg.end.token
5b020 73 29 29 29 29 0a 20 20 20 20 60 28 6a 69 74 2d 6c 6f 63 6b 2d 62 6f 75 6e 64 73 20 2c 62 65 67 s)))).....`(jit-lock-bounds.,beg
5b040 20 2e 20 2c 65 6e 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d ...,end)))..(defun.racket--hash-
5b060 6c 61 6e 67 2d 74 6f 6b 65 6e 73 2b 66 6f 6e 74 69 66 79 20 28 62 65 67 20 65 6e 64 20 74 6f 6b lang-tokens+fontify.(beg.end.tok
5b080 65 6e 73 29 0a 20 20 22 50 75 74 20 74 6f 6b 65 6e 20 70 72 6f 70 65 72 74 69 65 73 20 61 6e 64 ens)..."Put.token.properties.and
5b0a0 20 64 6f 20 5c 22 6e 6f 72 6d 61 6c 5c 22 20 6b 65 79 77 6f 72 64 20 66 6f 6e 74 69 66 69 63 61 .do.\"normal\".keyword.fontifica
5b0c0 74 69 6f 6e 2c 20 62 6f 74 68 2e 0a 0a 41 6c 74 68 6f 75 67 68 20 77 65 20 63 6f 75 6c 64 20 68 tion,.both...Although.we.could.h
5b0e0 61 76 65 20 64 6f 6e 65 20 74 68 65 20 6e 6f 72 6d 61 6c 20 66 6f 6e 74 69 66 69 63 61 74 69 6f ave.done.the.normal.fontificatio
5b100 6e 20 65 61 72 6c 69 65 72 0a 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 2c 20 61 6e 64 20 64 6f 6e n.earlier.synchronously,.and.don
5b120 65 20 74 6f 6b 65 6e 20 70 72 6f 70 65 72 74 69 7a 61 74 69 6f 6e 20 68 65 72 65 20 6c 61 74 65 e.token.propertization.here.late
5b140 72 2c 20 74 68 65 0a 72 65 73 75 6c 74 20 77 6f 75 6c 64 6e 27 74 20 61 6c 77 61 79 73 20 62 65 r,.the.result.wouldn't.always.be
5b160 20 63 6f 6e 73 69 73 74 65 6e 74 2e 20 49 74 27 73 20 62 65 73 74 20 74 6f 20 68 61 6e 64 6c 65 .consistent..It's.best.to.handle
5b180 20 62 6f 74 68 0a 74 6f 67 65 74 68 65 72 20 2d 2d 20 61 6e 64 20 62 65 73 74 20 74 6f 20 74 6f .both.together.--.and.best.to.to
5b1a0 6b 65 6e 20 70 72 6f 70 65 72 74 69 7a 65 20 66 69 72 73 74 2c 20 73 69 6e 63 65 20 74 68 61 74 ken.propertize.first,.since.that
5b1c0 20 73 65 74 73 0a 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 70 72 6f 70 73 20 66 6f 72 20 63 6f 6d .sets.syntax-table.props.for.com
5b1e0 6d 65 6e 74 73 20 61 6e 64 20 73 74 72 69 6e 67 73 2c 20 74 68 65 72 65 62 79 20 63 6f 72 72 65 ments.and.strings,.thereby.corre
5b200 63 74 6c 79 0a 70 72 65 76 65 6e 74 69 6e 67 20 6b 65 79 77 6f 72 64 20 66 6f 6e 74 69 66 69 63 ctly.preventing.keyword.fontific
5b220 61 74 69 6f 6e 20 69 6e 73 69 64 65 20 74 68 6f 73 65 2e 0a 0a 57 65 20 6f 6e 6c 79 20 63 61 6c ation.inside.those...We.only.cal
5b240 6c 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6f 6e 74 69 66 79 2d 6b 65 79 77 6f 72 64 73 2d 72 65 l.`font-lock-fontify-keywords-re
5b260 67 69 6f 6e 27 2c 20 6e 6f 74 20 74 68 65 20 66 75 6c 6c 0a 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 gion',.not.the.full.`font-lock-d
5b280 65 66 61 75 6c 74 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e 27 2e 20 57 68 79 3a 20 31 2e 20 efault-fontify-region'..Why:.1..
5b2a0 57 65 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74 0a 6b 65 79 77 6f 72 64 20 66 6f 6e 74 69 66 69 63 We.only.support.keyword.fontific
5b2c0 61 74 69 6f 6e 2c 20 6e 6f 74 20 73 79 6e 74 61 63 74 69 63 2e 20 45 76 65 6e 20 74 68 6f 75 67 ation,.not.syntactic..Even.thoug
5b2e0 68 20 77 65 20 73 65 74 0a 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 6f 6e 6c h.we.set.`font-lock-keywords-onl
5b300 79 27 20 74 72 75 65 20 69 6e 20 6f 75 72 20 6d 6f 64 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 y'.true.in.our.mode.initializati
5b320 6f 6e 2c 0a 62 65 6c 74 2b 73 75 73 70 65 6e 64 65 72 73 20 68 65 72 65 2e 20 32 2e 20 49 74 20 on,.belt+suspenders.here..2..It.
5b340 6d 61 6b 65 73 20 6d 6f 6f 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 60 66 6f 6e 74 2d 6c 6f makes.moot.the.value.of.`font-lo
5b360 63 6b 2d 65 78 74 65 6e 64 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 27 2c 20 73 6f 20 ck-extend-region-functions',.so.
5b380 74 68 61 74 27 73 20 6f 6e 65 20 6c 65 73 73 20 76 61 6c 75 65 0a 74 68 61 74 20 6e 65 65 64 20 that's.one.less.value.that.need.
5b3a0 62 65 20 73 65 74 2e 22 0a 20 20 3b 3b 3b 28 6d 65 73 73 61 67 65 20 22 72 61 63 6b 65 74 2d 2d be.set."...;;;(message."racket--
5b3c0 68 61 73 68 2d 6c 61 6e 67 2d 74 6f 6b 65 6e 73 2b 66 6f 6e 74 69 66 79 20 25 53 20 25 53 20 3c hash-lang-tokens+fontify.%S.%S.<
5b3e0 74 6f 6b 65 6e 73 3e 22 20 62 65 67 20 65 6e 64 29 0a 20 20 28 77 69 74 68 2d 73 69 6c 65 6e 74 tokens>".beg.end)...(with-silent
5b400 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 0a 20 20 20 20 3b 3b 20 41 73 20 74 68 69 73 20 72 65 -modifications.....;;.As.this.re
5b420 6d 6f 76 65 73 20 66 61 63 65 20 70 72 6f 70 65 72 74 79 20 64 6f 20 69 74 20 62 65 66 6f 72 65 moves.face.property.do.it.before
5b440 20 61 64 64 69 6e 67 20 66 61 63 65 20 70 72 6f 70 73 0a 20 20 20 20 3b 3b 20 66 72 6f 6d 20 74 .adding.face.props.....;;.from.t
5b460 6f 6b 65 6e 73 2e 0a 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 okens......(save-excursion......
5b480 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 75 6e 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e 20 62 65 67 .(font-lock-unfontify-region.beg
5b4a0 20 65 6e 64 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 75 .end)).....(racket--hash-lang-pu
5b4c0 74 2d 74 6f 6b 65 6e 73 20 74 6f 6b 65 6e 73 29 0a 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 t-tokens.tokens).....(save-excur
5b4e0 73 69 6f 6e 0a 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6f 6e 74 69 66 79 2d 6b 65 sion.......(font-lock-fontify-ke
5b500 79 77 6f 72 64 73 2d 72 65 67 69 6f 6e 20 62 65 67 20 65 6e 64 29 29 29 29 0a 0a 28 64 65 66 75 ywords-region.beg.end))))..(defu
5b520 6e 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 75 74 2d 74 6f 6b 65 6e 73 20 28 n.racket--hash-lang-put-tokens.(
5b540 74 6f 6b 65 6e 73 29 0a 20 20 3b 3b 3b 28 6d 65 73 73 61 67 65 20 22 72 61 63 6b 65 74 2d 2d 68 tokens)...;;;(message."racket--h
5b560 61 73 68 2d 6c 61 6e 67 2d 70 75 74 2d 74 6f 6b 65 6e 73 20 25 53 22 20 74 6f 6b 65 6e 73 29 0a ash-lang-put-tokens.%S".tokens).
5b580 20 20 3b 3b 20 41 73 73 75 6d 65 73 20 63 61 6c 6c 65 64 20 77 69 74 68 69 6e 20 64 79 6e 61 6d ..;;.Assumes.called.within.dynam
5b5a0 69 63 20 65 78 74 65 6e 74 20 6f 66 20 60 77 69 74 68 2d 73 69 6c 65 6e 74 2d 6d 6f 64 69 66 69 ic.extent.of.`with-silent-modifi
5b5c0 63 61 74 69 6f 6e 73 27 2e 0a 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 cations'....(save-restriction...
5b5e0 20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 28 63 6c 2d 66 6c 65 74 2a 20 28 28 70 75 74 2d 66 61 ..(widen).....(cl-flet*.((put-fa
5b600 63 65 20 28 62 65 67 20 65 6e 64 20 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce.(beg.end.face)...............
5b620 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 ...........(put-text-property.be
5b640 67 20 65 6e 64 20 27 66 61 63 65 20 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 g.end.'face.face))..............
5b660 20 20 28 67 65 74 2d 66 61 63 65 2d 61 74 20 28 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 ..(get-face-at.(pos)............
5b680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 .................(get-text-prope
5b6a0 72 74 79 20 70 6f 73 20 27 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 rty.pos.'face))................(
5b6c0 72 65 6d 6f 76 65 2d 66 61 63 65 20 28 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 remove-face.(beg.end)...........
5b6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 6c 69 73 74 2d 6f ..................(remove-list-o
5b700 66 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 20 27 28 66 61 63 65 f-text-properties.beg.end.'(face
5b720 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 73 74 78 20 28 62 65 67 )))................(put-stx.(beg
5b740 20 65 6e 64 20 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .end.stx).......................
5b760 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 20 27 73 79 ..(put-text-property.beg.end.'sy
5b780 6e 74 61 78 2d 74 61 62 6c 65 20 73 74 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntax-table.stx))................
5b7a0 28 70 75 74 2d 66 65 6e 63 65 20 28 62 65 67 20 65 6e 64 20 73 74 78 29 0a 20 20 20 20 20 20 20 (put-fence.(beg.end.stx)........
5b7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 73 74 78 20 62 65 67 20 ...................(put-stx.beg.
5b7e0 28 31 2b 20 62 65 67 29 20 73 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (1+.beg).stx)...................
5b800 20 20 20 20 20 20 20 20 28 70 75 74 2d 73 74 78 20 28 31 2d 20 65 6e 64 29 20 65 6e 64 20 73 74 ........(put-stx.(1-.end).end.st
5b820 78 29 29 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 74 6f 6b 65 6e 20 74 6f 6b 65 6e 73 x))).......(dolist.(token.tokens
5b840 29 0a 20 20 20 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 62 65 67 20 2c 65 ).........(pcase-let.((`(,beg.,e
5b860 6e 64 20 2c 6b 69 6e 64 73 29 20 74 6f 6b 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 nd.,kinds).token))...........(se
5b880 74 71 20 62 65 67 20 28 6d 61 78 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 62 65 67 29 29 0a 20 20 tq.beg.(max.(point-min).beg))...
5b8a0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 20 28 6d 69 6e 20 65 6e 64 20 28 70 6f 69 6e ........(setq.end.(min.end.(poin
5b8c0 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 68 61 73 68 t-max)))...........(racket--hash
5b8e0 2d 6c 61 6e 67 2d 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 -lang-remove-text-properties.beg
5b900 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 64 64 20 61 20 27 72 61 63 6b 65 74 .end)...........;;.Add.a.'racket
5b920 2d 74 6f 6b 65 6e 20 70 72 6f 70 20 75 73 65 64 20 6a 75 73 74 20 66 6f 72 20 6d 65 20 74 6f 20 -token.prop.used.just.for.me.to.
5b940 69 6e 73 70 65 63 74 20 76 69 61 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 64 65 73 63 72 69 inspect.via...........;;.`descri
5b960 62 65 2d 63 68 61 72 27 2e 20 55 73 65 20 61 20 76 65 63 74 6f 72 20 6f 66 20 73 79 6d 62 6f 6c be-char'..Use.a.vector.of.symbol
5b980 73 20 61 73 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 63 61 s.as.the.value...........;;.beca
5b9a0 75 73 65 20 60 64 65 73 63 72 69 62 65 2d 70 72 6f 70 65 72 74 79 2d 6c 69 73 74 27 20 70 72 65 use.`describe-property-list'.pre
5b9c0 73 65 6e 74 73 20 6c 69 73 74 73 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 79 6d 62 sents.lists.of...........;;.symb
5b9e0 6f 6c 73 20 61 73 20 22 77 69 64 67 65 74 73 22 20 69 6e 20 74 68 65 20 55 49 2e 0a 20 20 20 20 ols.as."widgets".in.the.UI......
5ba00 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 ......(put-text-property.beg.end
5ba20 20 27 72 61 63 6b 65 74 2d 74 6f 6b 65 6e 20 28 61 70 70 6c 79 20 23 27 76 65 63 74 6f 72 20 6b .'racket-token.(apply.#'vector.k
5ba40 69 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6b 69 6e 64 20 6b inds))...........(dolist.(kind.k
5ba60 69 6e 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 6b 69 6e 64 0a 20 20 inds).............(pcase.kind...
5ba80 20 20 20 20 20 20 20 20 20 20 20 20 28 27 63 6f 6d 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 ............('comment...........
5baa0 20 20 20 20 20 28 70 75 74 2d 66 61 63 65 20 62 65 67 20 65 6e 64 20 27 66 6f 6e 74 2d 6c 6f 63 .....(put-face.beg.end.'font-loc
5bac0 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 k-comment-face)................(
5bae0 70 75 74 2d 66 65 6e 63 65 20 62 65 67 20 65 6e 64 20 27 28 31 34 29 29 29 0a 20 20 20 20 20 20 put-fence.beg.end.'(14))).......
5bb00 20 20 20 20 20 20 20 20 28 27 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 20 3b 6a 75 73 74 20 74 68 65 ........('sexp-comment.;just.the
5bb20 20 22 23 3b 22 20 70 72 65 66 69 78 20 6e 6f 74 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 78 70 20 ."#;".prefix.not.following.sexp.
5bb40 62 6f 64 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 66 61 63 65 20 62 65 body................(put-face.be
5bb60 67 20 65 6e 64 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 29 0a 20 g.end.'font-lock-comment-face)..
5bb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 66 65 6e 63 65 20 62 65 67 20 65 6e 64 ..............(put-fence.beg.end
5bba0 20 27 28 31 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27 73 74 72 69 6e 67 0a .'(14)))...............('string.
5bbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 66 61 63 65 20 62 65 67 20 65 6e 64 ...............(put-face.beg.end
5bbe0 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 73 74 72 69 6e 67 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 .'font-lock-string-face)........
5bc00 20 20 20 20 20 20 20 20 28 70 75 74 2d 66 65 6e 63 65 20 62 65 67 20 65 6e 64 20 27 28 31 35 29 ........(put-fence.beg.end.'(15)
5bc20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4e 6f 74 65 3a 20 54 68 69 73 20 72 ))...............;;.Note:.This.r
5bc40 65 6c 69 65 73 20 6f 6e 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 73 75 70 70 6c 79 69 6e 67 20 elies.on.the.back.end.supplying.
5bc60 60 6b 69 6e 64 73 60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 69 74 68 20 73 65 `kinds`...............;;.with.se
5bc80 78 70 2d 63 6f 6d 6d 65 6e 74 2d 62 6f 64 79 20 6c 61 73 74 2c 20 73 6f 20 74 68 61 74 20 77 65 xp-comment-body.last,.so.that.we
5bca0 20 63 61 6e 20 6d 6f 64 69 66 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 .can.modify...............;;.the
5bcc0 20 66 61 63 65 20 70 72 6f 70 65 72 74 79 20 61 6c 72 65 61 64 79 20 73 65 74 20 62 79 20 74 68 .face.property.already.set.by.th
5bce0 65 20 70 72 65 76 69 6f 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6b 69 6e 64 e.previous...............;;.kind
5bd00 28 73 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27 73 65 78 70 2d 63 6f 6d 6d 65 6e (s)................('sexp-commen
5bd20 74 2d 62 6f 64 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 66 61 63 65 20 t-body................(put-face.
5bd40 62 65 67 20 65 6e 64 20 28 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 beg.end.(racket--sexp-comment-fa
5bd60 63 65 20 28 67 65 74 2d 66 61 63 65 2d 61 74 20 62 65 67 29 29 29 29 0a 20 20 20 20 20 20 20 20 ce.(get-face-at.beg)))).........
5bd80 20 20 20 20 20 20 28 27 70 61 72 65 6e 74 68 65 73 69 73 20 28 77 68 65 6e 20 28 66 61 63 65 70 ......('parenthesis.(when.(facep
5bda0 20 27 70 61 72 65 6e 74 68 65 73 69 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .'parenthesis)..................
5bdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 66 61 63 65 20 62 65 67 20 65 6e 64 20 27 .............(put-face.beg.end.'
5bde0 70 61 72 65 6e 74 68 65 73 69 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27 74 parenthesis)))...............('t
5be00 65 78 74 20 28 70 75 74 2d 73 74 78 20 62 65 67 20 65 6e 64 20 72 61 63 6b 65 74 2d 2d 70 6c 61 ext.(put-stx.beg.end.racket--pla
5be20 69 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 in-syntax-table))...............
5be40 28 6b 69 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 2d 6c 65 74 20 28 66 61 (kind................(if-let.(fa
5be60 63 65 20 28 63 64 72 20 28 61 73 73 71 20 6b 69 6e 64 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c ce.(cdr.(assq.kind.racket-hash-l
5be80 61 6e 67 2d 74 6f 6b 65 6e 2d 66 61 63 65 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 ang-token-face-alist))).........
5bea0 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 66 61 63 65 20 62 65 67 20 65 6e 64 20 66 61 63 ...........(put-face.beg.end.fac
5bec0 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 66 61 63 65 e)..................(remove-face
5bee0 20 62 65 67 20 65 6e 64 29 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 .beg.end))))))))))..(defun.racke
5bf00 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 t--hash-lang-remove-text-propert
5bf20 69 65 73 20 28 62 65 67 20 65 6e 64 29 0a 20 20 22 52 65 6d 6f 76 65 20 60 72 61 63 6b 65 74 2d ies.(beg.end)..."Remove.`racket-
5bf40 2d 68 61 73 68 2d 6c 61 6e 67 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 27 20 66 72 6f 6d -hash-lang-text-properties'.from
5bf60 20 72 65 67 69 6f 6e 20 42 45 47 2e 2e 45 4e 44 2e 22 0a 20 20 28 72 65 6d 6f 76 65 2d 6c 69 73 .region.BEG..END."...(remove-lis
5bf80 74 2d 6f 66 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 20 27 28 73 t-of-text-properties.beg.end.'(s
5bfa0 79 6e 74 61 78 2d 74 61 62 6c 65 20 72 61 63 6b 65 74 2d 74 6f 6b 65 6e 29 29 29 0a 0a 3b 3b 3b yntax-table.racket-token)))..;;;
5bfc0 20 49 6e 64 65 6e 74 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 .Indent..(defun.racket-hash-lang
5bfe0 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 28 29 0a 20 20 22 55 73 65 20 -indent-line-function.()..."Use.
5c000 64 72 72 61 63 6b 65 74 3a 69 6e 64 65 6e 74 61 74 69 6f 6e 20 73 75 70 70 6c 69 65 64 20 62 79 drracket:indentation.supplied.by
5c020 20 74 68 65 20 6c 61 6e 67 2e 0a 0a 49 66 20 61 20 6c 61 6e 67 20 64 6f 65 73 6e 27 74 20 73 75 .the.lang...If.a.lang.doesn't.su
5c040 70 70 6c 79 20 74 68 69 73 2c 20 6f 72 20 69 66 20 74 68 65 20 73 75 70 70 6c 69 65 64 20 66 75 pply.this,.or.if.the.supplied.fu
5c060 6e 63 74 69 6f 6e 20 65 76 65 72 0a 72 65 74 75 72 6e 73 20 66 61 6c 73 65 2c 20 74 68 65 6e 20 nction.ever.returns.false,.then.
5c080 77 65 20 61 6c 77 61 79 73 20 75 73 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 73 2d 65 78 70 we.always.use.the.standard.s-exp
5c0a0 72 65 73 73 69 6f 6e 0a 69 6e 64 65 6e 74 65 72 20 66 72 6f 6d 20 73 79 6e 74 61 78 2d 63 6f 6c ression.indenter.from.syntax-col
5c0c0 6f 72 2f 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 61 74 69 6f 6e 2e 0a 0a 57 65 20 6e 65 76 65 72 or/racket-indentation...We.never
5c0e0 20 75 73 65 20 60 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 27 20 66 72 6f 6d 20 74 .use.`racket-indent-line'.from.t
5c100 72 61 64 69 74 69 6f 6e 61 6c 0a 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 2e 22 0a 20 20 28 6c 65 raditional.`racket-mode'."...(le
5c120 74 2a 20 28 28 62 6f 6c 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 62 65 67 69 6e 6e t*.((bol.(save-excursion.(beginn
5c140 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 ing-of-line).(point)))..........
5c160 28 70 6f 73 20 28 2d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 (pos.(-.(point-max).(point)))...
5c180 20 20 20 20 20 20 20 28 63 6f 6c 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 77 61 69 74 20 20 .......(col.(racket--cmd/await..
5c1a0 20 20 20 20 20 20 3b 20 61 77 61 69 74 20 3d 20 3a 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......;.await.=.:(..............
5c1c0 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 68 61 73 68 2d 6c 61 6e 67 ..nil................`(hash-lang
5c1e0 20 69 6e 64 65 6e 74 2d 61 6d 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .indent-amount..................
5c200 20 20 20 20 20 20 20 20 20 20 2c 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 0a ..........,racket--hash-lang-id.
5c220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 72 61 63 6b ...........................,rack
5c240 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 67 65 6e 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 et--hash-lang-generation........
5c260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 70 6f 69 6e 74 29 29 29 29 29 ....................,(point)))))
5c280 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 6f 6c 29 0a 20 20 20 20 28 73 6b 69 70 2d 63 .....(goto-char.bol).....(skip-c
5c2a0 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 22 29 20 3b 3b 54 4f 44 4f 3a 20 49 73 20 74 hars-forward.".\t").;;TODO:.Is.t
5c2c0 68 69 73 20 72 65 6c 69 61 62 6c 65 20 66 6f 72 20 61 6c 6c 20 6c 61 6e 67 73 3f 0a 20 20 20 20 his.reliable.for.all.langs?.....
5c2e0 28 75 6e 6c 65 73 73 20 28 3d 20 63 6f 6c 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 (unless.(=.col.(current-column))
5c300 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 62 6f 6c 20 28 70 6f 69 6e 74 .......(delete-region.bol.(point
5c320 29 29 0a 20 20 20 20 20 20 28 69 6e 64 65 6e 74 2d 74 6f 20 63 6f 6c 29 29 0a 20 20 20 20 3b 3b )).......(indent-to.col)).....;;
5c340 20 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 77 69 74 68 69 6e 20 74 68 65 20 6c 65 61 64 69 6e .When.point.is.within.the.leadin
5c360 67 20 77 68 69 74 65 73 70 61 63 65 2c 20 6d 6f 76 65 20 69 74 20 70 61 73 74 20 74 68 65 0a 20 g.whitespace,.move.it.past.the..
5c380 20 20 20 3b 3b 20 6e 65 77 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 77 68 69 74 65 73 70 61 63 65 ...;;.new.indentation.whitespace
5c3a0 2e 20 4f 74 68 65 72 77 69 73 65 20 70 72 65 73 65 72 76 65 20 69 74 73 20 70 6f 73 69 74 69 6f ..Otherwise.preserve.its.positio
5c3c0 6e 0a 20 20 20 20 3b 3b 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 61 n.....;;.relative.to.the.origina
5c3e0 6c 20 74 65 78 74 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 3c 20 28 70 6f 69 6e 74 29 20 28 2d 20 l.text......(when.(<.(point).(-.
5c400 28 70 6f 69 6e 74 2d 6d 61 78 29 20 70 6f 73 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 (point-max).pos)).......(goto-ch
5c420 61 72 20 28 2d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 70 6f 73 29 29 29 29 29 0a 0a 28 64 65 66 ar.(-.(point-max).pos)))))..(def
5c440 75 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 6e 64 65 6e 74 2d 72 65 67 69 6f un.racket-hash-lang-indent-regio
5c460 6e 2d 66 75 6e 63 74 69 6f 6e 20 28 66 72 6f 6d 20 75 70 74 6f 29 0a 20 20 22 4d 61 79 62 65 20 n-function.(from.upto)..."Maybe.
5c480 75 73 65 20 23 6c 61 6e 67 20 64 72 72 61 63 6b 65 74 3a 72 61 6e 67 65 2d 69 6e 64 65 6e 74 61 use.#lang.drracket:range-indenta
5c4a0 74 69 6f 6e 2c 20 65 6c 73 65 20 70 6c 61 69 6e 20 60 69 6e 64 65 6e 74 2d 72 65 67 69 6f 6e 27 tion,.else.plain.`indent-region'
5c4c0 2e 22 0a 20 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 77 61 69 74 20 20 ."...(pcase.(racket--cmd/await..
5c4e0 20 20 20 20 20 20 20 20 20 20 20 3b 61 77 61 69 74 20 3d 20 3a 28 0a 20 20 20 20 20 20 20 20 20 ...........;await.=.:(..........
5c500 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 60 28 68 61 73 68 2d 6c 61 6e 67 20 69 6e 64 65 6e .nil...........`(hash-lang.inden
5c520 74 2d 72 65 67 69 6f 6e 2d 61 6d 6f 75 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-region-amounts................
5c540 20 20 20 20 20 20 20 2c 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 0a 20 20 20 .......,racket--hash-lang-id....
5c560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 72 61 63 6b 65 74 2d 2d 68 61 73 68 ...................,racket--hash
5c580 2d 6c 61 6e 67 2d 67 65 6e 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -lang-generation................
5c5a0 20 20 20 20 20 20 20 2c 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......,from....................
5c5c0 20 20 20 2c 75 70 74 6f 29 29 0a 20 20 20 20 28 27 66 61 6c 73 65 20 28 6c 65 74 20 28 28 69 6e ...,upto)).....('false.(let.((in
5c5e0 64 65 6e 74 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 29 29 0a 20 20 20 20 20 dent-region-function.nil))......
5c600 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 2d 72 65 67 69 6f 6e 20 66 72 6f 6d 20 75 70 74 .........(indent-region.from.upt
5c620 6f 29 29 29 0a 20 20 20 20 28 60 28 29 20 6e 69 6c 29 0a 20 20 20 20 28 72 65 73 75 6c 74 73 0a o))).....(`().nil).....(results.
5c640 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 28 67 6f 74 .....(save-excursion........(got
5c660 6f 2d 63 68 61 72 20 66 72 6f 6d 29 0a 20 20 20 20 20 20 20 3b 3b 20 64 72 72 61 63 6b 65 74 3a o-char.from)........;;.drracket:
5c680 72 61 6e 67 65 2d 69 6e 64 65 6e 74 20 64 6f 63 73 20 73 61 79 20 60 72 65 73 75 6c 74 73 60 20 range-indent.docs.say.`results`.
5c6a0 63 6f 75 6c 64 20 68 61 76 65 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 3b 3b 20 65 6c 65 6d 65 6e could.have.more........;;.elemen
5c6c0 74 73 20 74 68 61 6e 20 6c 69 6e 65 73 20 69 6e 20 66 72 6f 6d 2e 2e 75 70 74 6f 2c 20 61 6e 64 ts.than.lines.in.from..upto,.and
5c6e0 20 77 65 20 73 68 6f 75 6c 64 20 69 67 6e 6f 72 65 0a 20 20 20 20 20 20 20 3b 3b 20 65 78 74 72 .we.should.ignore........;;.extr
5c700 61 73 2e 20 48 61 6e 64 6c 65 20 74 68 61 74 2e 20 28 41 6c 74 68 6f 75 67 68 20 69 74 20 63 6f as..Handle.that..(Although.it.co
5c720 75 6c 64 20 61 6c 73 6f 20 68 61 76 65 20 66 65 77 65 72 2c 20 77 65 0a 20 20 20 20 20 20 20 3b uld.also.have.fewer,.we........;
5c740 3b 20 6e 65 65 64 20 6e 6f 20 73 70 65 63 69 61 6c 20 68 61 6e 64 6c 69 6e 67 20 66 6f 72 20 74 ;.need.no.special.handling.for.t
5c760 68 61 74 20 68 65 72 65 2e 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 73 hat.here.)........(let.((results
5c780 20 28 73 65 71 2d 74 61 6b 65 20 72 65 73 75 6c 74 73 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 .(seq-take.results.(count-lines.
5c7a0 66 72 6f 6d 20 75 70 74 6f 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 from.upto))))..........(dolist.(
5c7c0 72 65 73 75 6c 74 20 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 result.results)............(pcas
5c7e0 65 2d 6c 65 74 20 28 28 60 28 2c 64 65 6c 65 74 65 2d 61 6d 6f 75 6e 74 20 2c 69 6e 73 65 72 74 e-let.((`(,delete-amount.,insert
5c800 2d 73 74 72 69 6e 67 29 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 -string).result))..............(
5c820 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 beginning-of-line)..............
5c840 28 77 68 65 6e 20 28 3c 20 30 20 64 65 6c 65 74 65 2d 61 6d 6f 75 6e 74 29 20 28 64 65 6c 65 74 (when.(<.0.delete-amount).(delet
5c860 65 2d 63 68 61 72 20 64 65 6c 65 74 65 2d 61 6d 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 e-char.delete-amount))..........
5c880 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 22 22 20 69 6e 73 65 72 74 2d 73 74 72 ....(unless.(equal."".insert-str
5c8a0 69 6e 67 29 20 28 69 6e 73 65 72 74 20 69 6e 73 65 72 74 2d 73 74 72 69 6e 67 29 29 0a 20 20 20 ing).(insert.insert-string))....
5c8c0 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d 6c 69 6e 65 20 32 29 29 29 29 29 29 29 29 ..........(end-of-line.2))))))))
5c8e0 0a 0a 3b 3b 20 4d 6f 74 69 6f 6e 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 2d ..;;.Motion..(defun.racket-hash-
5c900 6c 61 6e 67 2d 6d 6f 76 65 20 28 64 69 72 65 63 74 69 6f 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 63 lang-move.(direction.&optional.c
5c920 6f 75 6e 74 29 0a 20 20 28 6c 65 74 20 28 28 63 6f 75 6e 74 20 28 6f 72 20 63 6f 75 6e 74 20 31 ount)...(let.((count.(or.count.1
5c940 29 29 29 0a 20 20 20 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 77 61 69 ))).....(pcase.(racket--cmd/awai
5c960 74 20 20 20 20 20 20 20 3b 20 61 77 61 69 74 20 3d 20 3a 28 0a 20 20 20 20 20 20 20 20 20 20 20 t.......;.await.=.:(............
5c980 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 28 68 61 73 68 2d 6c 61 6e 67 20 67 72 6f .nil.............`(hash-lang.gro
5c9a0 75 70 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 72 uping.........................,r
5c9c0 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 acket--hash-lang-id.............
5c9e0 20 20 20 20 20 20 20 20 20 20 20 20 2c 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 67 ............,racket--hash-lang-g
5ca00 65 6e 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eneration.......................
5ca20 20 20 2c 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..,(point)......................
5ca40 20 20 20 2c 64 69 72 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...,direction...................
5ca60 20 20 20 20 20 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......0.........................
5ca80 2c 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 6e 75 6d 62 65 ,count)).......((and.(pred.numbe
5caa0 72 70 29 20 70 6f 73 29 0a 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 29 rp).pos)........(goto-char.pos))
5cac0 0a 20 20 20 20 20 20 28 5f 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 6d 6f .......(_.(user-error."Cannot.mo
5cae0 76 65 20 25 73 25 73 22 20 64 69 72 65 63 74 69 6f 6e 20 28 69 66 20 28 6d 65 6d 71 20 63 6f 75 ve.%s%s".direction.(if.(memq.cou
5cb00 6e 74 20 27 28 2d 31 20 30 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt.'(-1.0.1))...................
5cb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5cb40 20 20 20 20 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....""..........................
5cb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d ...........................(form
5cb80 61 74 20 22 20 25 73 20 74 69 6d 65 73 22 20 63 6f 75 6e 74 29 29 29 29 29 29 29 0a 0a 28 64 65 at.".%s.times".count)))))))..(de
5cba0 66 75 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 72 64 20 28 26 fun.racket-hash-lang-backward.(&
5cbc0 6f 70 74 69 6f 6e 61 6c 20 63 6f 75 6e 74 29 0a 20 20 22 4c 69 6b 65 20 60 62 61 63 6b 77 61 72 optional.count)..."Like.`backwar
5cbe0 64 2d 73 65 78 70 27 20 62 75 74 20 75 73 65 73 20 23 6c 61 6e 67 20 73 75 70 70 6c 69 65 64 20 d-sexp'.but.uses.#lang.supplied.
5cc00 6e 61 76 69 67 61 74 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 5e 70 22 navigation."...(interactive."^p"
5cc20 29 0a 20 20 28 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 76 65 20 27 62 61 63 6b )...(racket-hash-lang-move.'back
5cc40 77 61 72 64 20 63 6f 75 6e 74 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 ward.count))..(defun.racket-hash
5cc60 2d 6c 61 6e 67 2d 66 6f 72 77 61 72 64 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 75 6e 74 29 0a -lang-forward.(&optional.count).
5cc80 20 20 22 4c 69 6b 65 20 60 66 6f 72 77 61 72 64 2d 73 65 78 70 27 20 62 75 74 20 75 73 65 73 20 .."Like.`forward-sexp'.but.uses.
5cca0 23 6c 61 6e 67 20 73 75 70 70 6c 69 65 64 20 6e 61 76 69 67 61 74 69 6f 6e 2e 22 0a 20 20 28 69 #lang.supplied.navigation."...(i
5ccc0 6e 74 65 72 61 63 74 69 76 65 20 22 5e 70 22 29 0a 20 20 28 72 61 63 6b 65 74 2d 68 61 73 68 2d nteractive."^p")...(racket-hash-
5cce0 6c 61 6e 67 2d 6d 6f 76 65 20 27 66 6f 72 77 61 72 64 20 63 6f 75 6e 74 29 29 0a 0a 28 64 65 66 lang-move.'forward.count))..(def
5cd00 75 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 75 70 20 28 26 6f 70 74 69 6f 6e 61 un.racket-hash-lang-up.(&optiona
5cd20 6c 20 63 6f 75 6e 74 29 0a 20 20 22 4c 69 6b 65 20 60 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 l.count)..."Like.`backward-up-li
5cd40 73 74 27 20 62 75 74 20 75 73 65 73 20 23 6c 61 6e 67 20 73 75 70 70 6c 69 65 64 20 6e 61 76 69 st'.but.uses.#lang.supplied.navi
5cd60 67 61 74 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 5e 70 22 29 0a 20 20 gation."...(interactive."^p")...
5cd80 28 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 76 65 20 27 75 70 20 63 6f 75 6e 74 (racket-hash-lang-move.'up.count
5cda0 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 6f 77 6e ))..(defun.racket-hash-lang-down
5cdc0 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 75 6e 74 29 0a 20 20 22 4c 69 6b 65 20 60 64 6f 77 6e .(&optional.count)..."Like.`down
5cde0 2d 6c 69 73 74 27 20 62 75 74 20 75 73 65 73 20 23 6c 61 6e 67 20 73 75 70 70 6c 69 65 64 20 6e -list'.but.uses.#lang.supplied.n
5ce00 61 76 69 67 61 74 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 5e 70 22 29 avigation."...(interactive."^p")
5ce20 0a 20 20 28 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 76 65 20 27 64 6f 77 6e 20 ...(racket-hash-lang-move.'down.
5ce40 63 6f 75 6e 74 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 count))..(defun.racket-hash-lang
5ce60 2d 66 6f 72 77 61 72 64 2d 73 65 78 70 20 28 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 29 0a 20 20 -forward-sexp.(&optional.arg)...
5ce80 22 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 66 6f 72 77 61 "A.value.for.the.variable.`forwa
5cea0 72 64 2d 73 65 78 70 2d 66 75 6e 63 74 69 6f 6e 27 2e 0a 0a 43 61 76 65 61 74 3a 20 54 68 69 73 rd-sexp-function'...Caveat:.This
5cec0 20 75 73 65 73 20 64 72 72 61 63 6b 65 74 3a 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e .uses.drracket:grouping-position
5cee0 2c 20 77 68 69 63 68 20 64 6f 65 73 6e 27 74 20 68 61 76 65 0a 61 20 63 6f 6e 63 65 70 74 20 6f ,.which.doesn't.have.a.concept.o
5cf00 66 20 73 69 67 6e 61 6c 69 6e 67 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 61 20 5c 22 f.signaling.the.position.of.a.\"
5cf20 62 61 72 72 69 65 72 5c 22 20 74 68 61 74 0a 70 72 65 76 65 6e 74 65 64 20 6e 61 76 69 67 61 74 barrier\".that.prevented.navigat
5cf40 69 6f 6e 20 66 6f 72 77 61 72 64 2f 62 61 63 6b 77 61 72 64 2e 20 53 6f 6d 65 20 75 73 65 72 73 ion.forward/backward..Some.users
5cf60 20 6f 66 0a 60 66 6f 72 77 61 72 64 2d 73 65 78 70 27 20 64 65 70 65 6e 64 20 6f 6e 20 74 68 61 .of.`forward-sexp'.depend.on.tha
5cf80 74 20 73 69 67 6e 61 6c 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 60 75 70 2d 6c 69 73 74 27 2e t.signal,.for.example.`up-list'.
5cfa0 0a 48 6f 77 65 76 65 72 20 6f 74 68 65 72 20 75 73 65 72 73 20 64 6f 6e 27 74 20 6e 65 65 64 20 .However.other.users.don't.need.
5cfc0 74 68 61 74 2c 20 73 6f 20 77 65 20 73 75 70 70 6c 79 20 74 68 69 73 0a 60 66 6f 72 77 61 72 64 that,.so.we.supply.this.`forward
5cfe0 2d 73 65 78 70 2d 66 75 6e 63 74 69 6f 6e 27 20 61 73 20 5c 22 62 65 74 74 65 72 20 74 68 61 6e -sexp-function'.as.\"better.than
5d000 20 6e 6f 74 68 69 6e 67 5c 22 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 61 72 67 20 28 6f 72 20 61 .nothing\"."...(let*.((arg.(or.a
5d020 72 67 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 69 72 20 28 69 66 20 28 3c 20 61 72 67 20 rg.1))..........(dir.(if.(<.arg.
5d040 30 29 20 27 62 61 63 6b 77 61 72 64 20 27 66 6f 72 77 61 72 64 29 29 0a 20 20 20 20 20 20 20 20 0).'backward.'forward)).........
5d060 20 28 63 6e 74 20 28 61 62 73 20 61 72 67 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 68 61 .(cnt.(abs.arg))).....(racket-ha
5d080 73 68 2d 6c 61 6e 67 2d 6d 6f 76 65 20 64 69 72 20 63 6e 74 29 29 29 0a 0a 3b 3b 3b 20 50 61 69 sh-lang-move.dir.cnt)))..;;;.Pai
5d0a0 72 73 0a 0a 3b 3b 20 41 6c 74 68 6f 75 67 68 20 74 68 69 73 20 6d 61 79 20 73 65 65 6d 20 6c 69 rs..;;.Although.this.may.seem.li
5d0c0 6b 65 20 28 61 6e 64 20 69 6e 20 66 61 63 74 20 62 65 29 20 61 6e 20 41 6c 61 6e 20 50 65 72 6c ke.(and.in.fact.be).an.Alan.Perl
5d0e0 69 73 0a 3b 3b 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 68 61 6c 66 20 6f 66 20 is.;;.implementation.of.half.of.
5d100 66 61 6e 63 69 65 72 20 61 75 74 6f 2d 70 61 69 72 20 6d 6f 64 65 73 2c 20 77 65 20 68 61 76 65 fancier.auto-pair.modes,.we.have
5d120 20 74 77 6f 0a 3b 3b 20 6a 75 73 74 69 66 69 63 61 74 69 6f 6e 73 3a 0a 3b 3b 0a 3b 3b 20 31 2e .two.;;.justifications:.;;.;;.1.
5d140 20 41 20 52 61 63 6b 65 74 20 6c 61 6e 67 20 6d 61 79 20 73 75 70 70 6c 79 20 6d 75 6c 74 69 2d .A.Racket.lang.may.supply.multi-
5d160 63 68 61 72 61 72 61 63 74 65 72 20 6f 70 65 6e 20 61 6e 64 20 63 6c 6f 73 65 0a 3b 3b 20 64 65 chararacter.open.and.close.;;.de
5d180 6c 69 6d 69 74 65 72 73 2e 20 41 46 41 49 43 54 20 65 6c 65 63 74 72 69 63 2d 70 61 69 72 2d 6d limiters..AFAICT.electric-pair-m
5d1a0 6f 64 65 20 63 61 6e 27 74 20 68 61 6e 64 6c 65 20 74 68 69 73 2e 0a 3b 3b 0a 3b 3b 20 32 2e 20 ode.can't.handle.this..;;.;;.2..
5d1c0 45 76 65 6e 20 77 69 74 68 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 73 2c 20 49 20 63 Even.with.single.characters,.I.c
5d1e0 6f 75 6c 64 6e 27 74 20 73 65 65 20 68 6f 77 20 74 6f 20 6d 61 6b 65 0a 3b 3b 20 65 6c 65 63 74 ouldn't.see.how.to.make.;;.elect
5d200 72 69 63 2d 70 61 69 72 2d 6d 6f 64 65 20 77 6f 72 6b 20 63 6f 6e 73 69 73 74 65 6e 74 6c 79 20 ric-pair-mode.work.consistently.
5d220 2d 2d 20 69 6e 63 6c 75 64 69 6e 67 20 68 61 76 69 6e 67 20 69 74 20 5f 6e 6f 74 5f 0a 3b 3b 20 --.including.having.it._not_.;;.
5d240 70 61 69 72 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 27 20 69 6e 73 69 64 65 20 74 6f 6b 65 6e 73 pair.things.like.'.inside.tokens
5d260 20 6c 69 6b 65 20 63 6f 6d 6d 65 6e 74 73 2c 20 73 74 72 69 6e 67 73 2c 20 74 65 78 74 2e 0a 0a .like.comments,.strings,.text...
5d280 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 (defvar-local.racket-hash-lang-p
5d2a0 61 69 72 73 20 6e 69 6c 0a 20 20 22 50 61 69 72 73 20 6f 66 20 64 65 6c 69 6d 69 74 65 72 73 20 airs.nil..."Pairs.of.delimiters.
5d2c0 74 6f 20 69 6e 73 65 72 74 20 6f 72 20 64 65 6c 65 74 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c to.insert.or.delete.automaticall
5d2e0 79 2e 0a 0a 54 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 65 61 63 68 20 69 74 65 6d 20 69 73 20 28 y...The.format.of.each.item.is.(
5d300 63 6f 6e 73 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 29 2e 0a 0a 54 68 69 73 20 69 73 20 69 6e cons.string.string)...This.is.in
5d320 69 74 69 61 6c 69 7a 65 64 20 77 68 65 6e 65 76 65 72 20 61 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 itialized.whenever.a.module.lang
5d340 75 61 67 65 20 63 68 61 6e 67 65 73 2c 20 75 73 69 6e 67 0a 76 61 6c 75 65 73 20 66 72 6f 6d 20 uage.changes,.using.values.from.
5d360 74 68 65 20 6c 61 6e 67 75 61 67 65 27 73 20 72 65 70 6f 72 74 65 64 20 76 61 6c 75 65 73 20 66 the.language's.reported.values.f
5d380 6f 72 0a 64 72 72 61 63 6b 65 74 3a 70 61 72 65 6e 2d 6d 61 74 63 68 65 73 20 61 6e 64 20 64 72 or.drracket:paren-matches.and.dr
5d3a0 72 61 63 6b 65 74 3a 71 75 6f 74 65 2d 6d 61 74 63 68 65 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 63 racket:quote-matches...You.may.c
5d3c0 75 73 74 6f 6d 69 7a 65 20 74 68 69 73 20 64 65 66 61 75 6c 74 20 69 6e 69 74 69 61 6c 69 7a 61 ustomize.this.default.initializa
5d3e0 74 69 6f 6e 20 69 6e 0a 60 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 tion.in.`racket-hash-lang-module
5d400 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 -language-hook'.")..(defvar-loca
5d420 6c 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 2d 70 72 65 64 69 63 61 l.racket-hash-lang-pairs-predica
5d440 74 65 0a 20 20 23 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 2d 70 72 te...#'racket-hash-lang-pairs-pr
5d460 65 64 69 63 61 74 65 2d 64 65 66 61 75 6c 74 29 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 68 edicate-default).(defun.racket-h
5d480 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 2d 70 72 65 64 69 63 61 74 65 2d 64 65 66 61 75 6c 74 ash-lang-pairs-predicate-default
5d4a0 20 28 70 61 69 72 20 70 6f 73 29 0a 20 20 28 6e 6f 74 0a 20 20 20 28 61 6e 64 20 28 65 71 75 61 .(pair.pos)...(not....(and.(equa
5d4c0 6c 20 28 63 61 72 20 70 61 69 72 29 20 22 27 22 29 0a 20 20 20 20 20 20 20 20 28 70 63 61 73 65 l.(car.pair)."'").........(pcase
5d4e0 2d 6c 65 74 20 28 28 60 28 2c 5f 62 65 67 20 2c 5f 65 6e 64 20 28 2c 6b 69 6e 64 20 2e 20 2c 5f -let.((`(,_beg.,_end.(,kind...,_
5d500 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d ))......................(racket-
5d520 68 61 73 68 2d 6c 61 6e 67 2d 63 6c 61 73 73 69 66 79 20 28 31 2d 20 70 6f 73 29 29 29 29 0a 20 hash-lang-classify.(1-.pos))))..
5d540 20 20 20 20 20 20 20 20 20 28 6d 65 6d 71 20 6b 69 6e 64 20 27 28 73 74 72 69 6e 67 20 63 6f 6d .........(memq.kind.'(string.com
5d560 6d 65 6e 74 20 74 65 78 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 68 ment.text))))))..(defun.racket-h
5d580 61 73 68 2d 6c 61 6e 67 2d 63 6c 61 73 73 69 66 79 20 28 70 6f 73 29 0a 20 20 28 72 61 63 6b 65 ash-lang-classify.(pos)...(racke
5d5a0 74 2d 2d 63 6d 64 2f 61 77 61 69 74 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t--cmd/await.nil................
5d5c0 20 20 20 20 20 20 60 28 68 61 73 68 2d 6c 61 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......`(hash-lang...............
5d5e0 20 20 20 20 20 20 20 20 20 63 6c 61 73 73 69 66 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........classify...............
5d600 20 20 20 20 20 20 20 20 20 2c 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 0a 20 .........,racket--hash-lang-id..
5d620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 72 61 63 6b 65 74 2d 2d 68 ......................,racket--h
5d640 61 73 68 2d 6c 61 6e 67 2d 67 65 6e 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ash-lang-generation.............
5d660 20 20 20 20 20 20 20 20 20 20 20 2c 70 6f 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 ...........,pos)))..(defun.racke
5d680 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 63 6f 6e 66 69 67 75 72 65 2d 70 61 69 72 73 20 28 70 61 t--hash-lang-configure-pairs.(pa
5d6a0 72 65 6e 2d 6d 61 74 63 68 65 73 20 71 75 6f 74 65 2d 6d 61 74 63 68 65 73 29 0a 20 20 28 6c 65 ren-matches.quote-matches)...(le
5d6c0 74 20 28 28 70 61 69 72 73 20 6e 69 6c 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 70 20 70 t.((pairs.nil)).....(dolist.(p.p
5d6e0 61 72 65 6e 2d 6d 61 74 63 68 65 73 29 20 28 70 75 73 68 20 70 20 70 61 69 72 73 29 29 0a 20 20 aren-matches).(push.p.pairs))...
5d700 20 20 28 64 6f 6c 69 73 74 20 28 71 20 71 75 6f 74 65 2d 6d 61 74 63 68 65 73 29 20 28 70 75 73 ..(dolist.(q.quote-matches).(pus
5d720 68 20 28 63 6f 6e 73 20 71 20 71 29 20 70 61 69 72 73 29 29 0a 20 20 20 20 28 73 65 74 71 2d 6c h.(cons.q.q).pairs)).....(setq-l
5d740 6f 63 61 6c 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 20 28 72 65 76 ocal.racket-hash-lang-pairs.(rev
5d760 65 72 73 65 20 70 61 69 72 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 68 erse.pairs))))..(defun.racket--h
5d780 61 73 68 2d 6c 61 6e 67 2d 6c 6f 6f 6b 75 70 2d 70 61 69 72 20 28 63 68 61 72 20 70 6f 73 20 26 ash-lang-lookup-pair.(char.pos.&
5d7a0 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 65 72 2d 6c 61 72 67 65 72 2d 6d 61 74 63 68 2d 70 29 0a optional.prefer-larger-match-p).
5d7c0 20 20 3b 3b 20 54 68 65 20 69 64 65 61 20 62 65 68 69 6e 64 20 50 52 45 46 45 52 2d 4c 41 52 47 ..;;.The.idea.behind.PREFER-LARG
5d7e0 45 52 2d 4d 41 54 43 48 45 53 2d 50 20 69 73 20 74 68 61 74 20 61 20 6c 61 6e 67 20 6d 69 67 68 ER-MATCHES-P.is.that.a.lang.migh
5d800 74 20 68 61 76 65 0a 20 20 3b 3b 20 70 61 72 65 6e 2d 6d 61 74 63 68 65 73 20 6c 69 6b 65 20 62 t.have...;;.paren-matches.like.b
5d820 6f 74 68 20 28 29 20 61 6e 64 20 27 28 29 27 20 61 73 20 69 6e 64 65 65 64 20 64 6f 65 73 20 72 oth.().and.'()'.as.indeed.does.r
5d840 68 6f 6d 62 75 73 2e 20 57 68 65 6e 0a 20 20 3b 3b 20 69 6e 73 65 72 74 69 6e 67 20 6c 65 74 27 hombus..When...;;.inserting.let'
5d860 73 20 74 72 65 61 74 20 74 68 61 74 20 61 73 20 27 27 20 74 68 65 6e 20 28 29 2e 20 42 75 74 20 s.treat.that.as.''.then.()..But.
5d880 77 68 65 6e 20 64 65 6c 65 74 69 6e 67 20 62 61 63 6b 0a 20 20 3b 3b 20 6f 76 65 72 20 27 28 20 when.deleting.back...;;.over.'(.
5d8a0 77 65 27 64 20 70 72 65 66 65 72 20 74 6f 20 6a 75 73 74 20 64 65 6c 65 74 65 20 74 68 61 74 20 we'd.prefer.to.just.delete.that.
5d8c0 61 73 20 6f 6e 65 20 74 68 69 6e 67 2e 20 53 6f 20 68 65 72 65 20 77 65 20 63 61 6e 0a 20 20 3b as.one.thing..So.here.we.can...;
5d8e0 3b 20 6c 6f 6f 6b 75 70 20 65 69 74 68 65 72 20 77 61 79 2e 0a 20 20 3b 3b 0a 20 20 3b 3b 20 54 ;.lookup.either.way....;;...;;.T
5d900 68 69 73 20 69 73 20 77 72 69 74 74 65 6e 20 5f 6e 6f 74 5f 20 74 6f 20 61 73 73 75 6d 65 20 74 his.is.written._not_.to.assume.t
5d920 68 61 74 20 43 48 41 52 20 69 73 20 61 6c 72 65 61 64 79 20 69 6e 20 74 68 65 0a 20 20 3b 3b 20 hat.CHAR.is.already.in.the...;;.
5d940 62 75 66 66 65 72 2c 20 73 6f 20 74 68 61 74 20 77 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 62 buffer,.so.that.we.can.be.used.b
5d960 79 20 61 20 73 65 6c 66 2d 69 6e 73 65 72 74 2d 75 73 65 73 2d 72 65 67 69 6f 6e 0a 20 20 3b 3b y.a.self-insert-uses-region...;;
5d980 20 66 75 6e 63 74 69 6f 6e 2e 20 4f 66 20 63 6f 75 72 73 65 20 77 68 65 6e 20 4f 50 45 4e 20 63 .function..Of.course.when.OPEN.c
5d9a0 6f 6e 73 69 73 74 73 20 6f 66 20 6d 75 6c 74 69 70 6c 65 20 63 68 61 72 61 63 74 65 72 73 2c 20 onsists.of.multiple.characters,.
5d9c0 77 65 0a 20 20 3b 3b 20 6d 75 73 74 20 6c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 6f 74 68 65 72 73 we...;;.must.look.for.the.others
5d9e0 20 61 6c 72 65 61 64 79 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 62 65 66 6f 72 65 20 50 4f .already.in.the.buffer.before.PO
5da00 53 2e 0a 20 20 28 73 65 71 2d 72 65 64 75 63 65 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 61 6e 73 S....(seq-reduce....(lambda.(ans
5da20 77 65 72 2d 73 6f 2d 66 61 72 20 70 61 69 72 29 0a 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6f 70 wer-so-far.pair)......(let*.((op
5da40 65 6e 20 28 63 61 72 20 70 61 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 20 en.(car.pair)).............(len.
5da60 28 6c 65 6e 67 74 68 20 6f 70 65 6e 29 29 29 0a 20 20 20 20 20 20 20 28 6f 72 20 28 61 6e 64 20 (length.open)))........(or.(and.
5da80 28 3c 20 30 20 28 2d 20 70 6f 73 20 31 20 28 31 2d 20 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 20 (<.0.(-.pos.1.(1-.len)))........
5daa0 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 6f 70 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 .........(equal.open............
5dac0 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 ............(concat.............
5dae0 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f ............(buffer-substring-no
5db00 2d 70 72 6f 70 65 72 74 69 65 73 20 28 2d 20 70 6f 73 20 31 20 28 31 2d 20 6c 65 6e 29 29 20 28 -properties.(-.pos.1.(1-.len)).(
5db20 2d 20 70 6f 73 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -.pos.1)).......................
5db40 20 20 28 73 74 72 69 6e 67 20 63 68 61 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(string.char)))...............
5db60 20 20 28 66 75 6e 63 61 6c 6c 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 ..(funcall.racket-hash-lang-pair
5db80 73 2d 70 72 65 64 69 63 61 74 65 20 70 61 69 72 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 s-predicate.pair.(point)).......
5dba0 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 6e 6f 74 20 61 6e 73 77 65 72 2d 73 6f 2d 66 61 72 ..........(or.(not.answer-so-far
5dbc0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 ).....................(funcall.(
5dbe0 69 66 20 70 72 65 66 65 72 2d 6c 61 72 67 65 72 2d 6d 61 74 63 68 2d 70 20 23 27 3e 20 23 27 3c if.prefer-larger-match-p.#'>.#'<
5dc00 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 )..............................(
5dc20 6c 65 6e 67 74 68 20 6f 70 65 6e 29 20 28 6c 65 6e 67 74 68 20 28 63 61 72 20 61 6e 73 77 65 72 length.open).(length.(car.answer
5dc40 2d 73 6f 2d 66 61 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 69 72 -so-far)))).................pair
5dc60 29 0a 20 20 20 20 20 20 20 20 20 20 20 61 6e 73 77 65 72 2d 73 6f 2d 66 61 72 29 29 29 0a 20 20 )............answer-so-far)))...
5dc80 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 0a 20 20 20 6e 69 6c 29 29 .racket-hash-lang-pairs....nil))
5dca0 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 77 69 6c 6c 2d 75 ..(defun.racket-hash-lang-will-u
5dcc0 73 65 2d 72 65 67 69 6f 6e 20 28 29 0a 20 20 22 41 20 76 61 6c 75 65 20 66 6f 72 20 60 73 65 6c se-region.()..."A.value.for.`sel
5dce0 66 2d 69 6e 73 65 72 74 2d 75 73 65 73 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 27 2e f-insert-uses-region-functions'.
5dd00 22 0a 20 20 28 61 6e 64 20 28 75 73 65 2d 72 65 67 69 6f 6e 2d 70 29 0a 20 20 20 20 20 20 20 28 "...(and.(use-region-p)........(
5dd20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 6c 6f 6f 6b 75 70 2d 70 61 69 72 20 6c 61 racket--hash-lang-lookup-pair.la
5dd40 73 74 2d 63 6f 6d 6d 61 6e 64 2d 65 76 65 6e 74 20 28 31 2b 20 28 70 6f 69 6e 74 29 29 29 0a 20 st-command-event.(1+.(point)))..
5dd60 20 20 20 20 20 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 ......t))..(defun.racket-hash-la
5dd80 6e 67 2d 70 6f 73 74 2d 73 65 6c 66 2d 69 6e 73 65 72 74 20 28 29 0a 20 20 22 41 20 76 61 6c 75 ng-post-self-insert.()..."A.valu
5dda0 65 20 66 6f 72 20 60 70 6f 73 74 2d 73 65 6c 66 2d 69 6e 73 65 72 74 2d 68 6f 6f 6b 27 2e 22 0a e.for.`post-self-insert-hook'.".
5ddc0 20 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 6c 6f 6f 6b ..(pcase.(racket--hash-lang-look
5dde0 75 70 2d 70 61 69 72 20 6c 61 73 74 2d 63 6f 6d 6d 61 6e 64 2d 65 76 65 6e 74 20 28 70 6f 69 6e up-pair.last-command-event.(poin
5de00 74 29 29 0a 20 20 20 20 28 60 28 2c 6f 70 65 6e 20 2e 20 2c 63 6c 6f 73 65 29 0a 20 20 20 20 20 t)).....(`(,open...,close)......
5de20 28 63 6f 6e 64 20 28 28 6e 6f 74 20 28 75 73 65 2d 72 65 67 69 6f 6e 2d 70 29 29 0a 20 20 20 20 (cond.((not.(use-region-p)).....
5de40 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 ........(save-excursion.........
5de60 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 63 6c 6f 73 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 ......(insert.close)))..........
5de80 20 20 28 28 3c 20 28 70 6f 69 6e 74 29 20 28 6d 61 72 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 ..((<.(point).(mark))...........
5dea0 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(save-excursion...............
5dec0 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 72 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (goto-char.(mark))..............
5dee0 20 28 69 6e 73 65 72 74 20 63 6c 6f 73 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f .(insert.close)).............(go
5df00 74 6f 2d 63 68 61 72 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 to-char.(1-.(point))))..........
5df20 20 20 28 28 3c 20 28 6d 61 72 6b 29 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 ..((<.(mark).(point))...........
5df40 20 20 3b 3b 20 44 65 6c 65 74 65 20 6f 70 65 6e 20 61 6c 72 65 61 64 79 20 69 6e 73 65 72 74 65 ..;;.Delete.open.already.inserte
5df60 64 20 61 66 74 65 72 20 72 65 67 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c d.after.region..............(del
5df80 65 74 65 2d 63 68 61 72 20 28 2d 20 28 6c 65 6e 67 74 68 20 6f 70 65 6e 29 29 29 0a 20 20 20 20 ete-char.(-.(length.open))).....
5dfa0 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 63 6c 6f 73 65 29 0a 20 20 20 20 20 20 20 20 20 ........(insert.close)..........
5dfc0 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(save-excursion..............
5dfe0 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 72 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(goto-char.(mark)).............
5e000 20 20 28 69 6e 73 65 72 74 20 6f 70 65 6e 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 ..(insert.open)))))))..(defun.ra
5e020 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 65 6c 65 74 65 2d 62 61 63 6b 77 61 72 64 2d 63 cket-hash-lang-delete-backward-c
5e040 68 61 72 20 28 29 0a 20 20 22 44 65 6c 65 74 65 20 70 72 65 76 69 6f 75 73 20 63 68 61 72 61 63 har.()..."Delete.previous.charac
5e060 74 65 72 2c 20 61 6e 64 20 70 6f 73 73 69 62 6c 79 20 70 61 69 72 65 64 20 64 65 6c 69 6d 69 74 ter,.and.possibly.paired.delimit
5e080 65 72 73 2e 0a 0a 57 68 65 6e 20 70 6f 69 6e 74 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 66 6f 6c ers...When.point.immediately.fol
5e0a0 6c 6f 77 73 20 74 65 78 74 20 6d 61 74 63 68 69 6e 67 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 6f lows.text.matching.the.longest.o
5e0c0 70 65 6e 0a 64 65 6c 69 6d 69 74 65 72 20 73 74 72 69 6e 67 20 69 6e 20 60 72 61 63 6b 65 74 2d pen.delimiter.string.in.`racket-
5e0e0 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 60 2c 20 64 65 6c 65 74 65 20 74 68 61 74 2e 20 57 hash-lang-pairs`,.delete.that..W
5e100 68 65 6e 0a 70 6f 69 6e 74 20 61 6c 73 6f 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65 63 65 hen.point.also.immediately.prece
5e120 64 65 73 20 74 68 65 20 6d 61 74 63 68 69 6e 67 20 63 6c 6f 73 65 2c 20 61 6c 73 6f 20 64 65 6c des.the.matching.close,.also.del
5e140 65 74 65 0a 74 68 61 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 70 63 ete.that."...(interactive)...(pc
5e160 61 73 65 20 28 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 6c 6f 6f 6b 75 70 2d 70 61 ase.(racket--hash-lang-lookup-pa
5e180 69 72 20 28 63 68 61 72 2d 62 65 66 6f 72 65 29 20 28 70 6f 69 6e 74 29 20 74 29 0a 20 20 20 20 ir.(char-before).(point).t).....
5e1a0 28 60 28 2c 6f 70 65 6e 20 2e 20 2c 63 6c 6f 73 65 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28 65 (`(,open...,close)......(when.(e
5e1c0 71 75 61 6c 20 63 6c 6f 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 qual.close...................(bu
5e1e0 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 70 6f ffer-substring-no-properties.(po
5e200 69 6e 74 29 20 28 2b 20 28 70 6f 69 6e 74 29 20 28 6c 65 6e 67 74 68 20 63 6c 6f 73 65 29 29 29 int).(+.(point).(length.close)))
5e220 29 0a 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 64 65 6c 65 74 65 )........(save-excursion.(delete
5e240 2d 63 68 61 72 20 28 6c 65 6e 67 74 68 20 63 6c 6f 73 65 29 29 29 29 0a 20 20 20 20 20 28 64 65 -char.(length.close))))......(de
5e260 6c 65 74 65 2d 63 68 61 72 20 28 2d 20 28 6c 65 6e 67 74 68 20 6f 70 65 6e 29 29 29 29 0a 20 20 lete-char.(-.(length.open))))...
5e280 20 20 28 5f 20 28 64 65 6c 65 74 65 2d 63 68 61 72 20 2d 31 29 29 29 29 0a 0a 28 70 75 74 20 27 ..(_.(delete-char.-1))))..(put.'
5e2a0 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 65 6c 65 74 65 2d 62 61 63 6b 77 61 72 64 racket-hash-lang-delete-backward
5e2c0 2d 63 68 61 72 20 27 64 65 6c 65 74 65 2d 73 65 6c 65 63 74 69 6f 6e 20 27 73 75 70 65 72 73 65 -char.'delete-selection.'superse
5e2e0 64 65 29 0a 0a 3b 3b 3b 20 46 69 6c 6c 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 68 61 73 de)..;;;.Fill..(defun.racket-has
5e300 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d 64 77 69 6d 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 h-lang-C-M-q-dwim.(&optional.pre
5e320 66 69 78 29 0a 20 20 22 46 69 6c 6c 20 6f 72 20 69 6e 64 65 6e 74 20 64 65 70 65 6e 64 69 6e 67 fix)..."Fill.or.indent.depending
5e340 20 6f 6e 20 6c 61 6e 67 20 6c 65 78 65 72 27 73 20 74 6f 6b 65 6e 20 61 74 20 70 6f 69 6e 74 2e .on.lang.lexer's.token.at.point.
5e360 0a 0a 57 68 65 6e 20 74 68 65 20 6c 61 6e 67 20 6c 65 78 65 72 20 74 6f 6b 65 6e 20 69 73 2e 2e ..When.the.lang.lexer.token.is..
5e380 2e 0a 0a 20 20 2d 20 5c 22 74 65 78 74 5c 22 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 69 6e 20 .....-.\"text\",.for.example.in.
5e3a0 53 63 72 69 62 62 6c 65 20 64 6f 63 75 6d 65 6e 74 20 74 65 78 74 2c 20 64 6f 0a 20 20 20 20 60 Scribble.document.text,.do.....`
5e3c0 66 69 6c 6c 2d 70 61 72 61 67 72 61 70 68 27 2e 0a 0a 20 20 2d 20 5c 22 63 6f 6d 6d 65 6e 74 5c fill-paragraph'.....-.\"comment\
5e3e0 22 2c 20 64 6f 20 60 66 69 6c 6c 2d 63 6f 6d 6d 65 6e 74 27 2e 0a 0a 20 20 2d 20 5c 22 77 68 69 ",.do.`fill-comment'.....-.\"whi
5e400 74 65 73 70 61 63 65 5c 22 2c 20 67 69 76 65 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 tespace\",.give.an.error.message
5e420 2e 0a 0a 20 20 2d 20 61 6e 79 74 68 69 6e 67 20 65 6c 73 65 2c 20 64 6f 20 60 70 72 6f 67 2d 69 .....-.anything.else,.do.`prog-i
5e440 6e 64 65 6e 74 2d 73 65 78 70 27 2e 0a 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 ndent-sexp'.."...(interactive."P
5e460 22 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 20 6e 69 6c 0a 20 20 20 20 ")...(racket--cmd/async.nil.....
5e480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 68 61 73 68 2d 6c 61 6e 67 0a 20 20 20 .................`(hash-lang....
5e4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 61 73 73 69 66 79 0a 20 20 20 ....................classify....
5e4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 72 61 63 6b 65 74 2d 2d 68 61 73 ....................,racket--has
5e4e0 68 2d 6c 61 6e 67 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h-lang-id.......................
5e500 20 2c 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 67 65 6e 65 72 61 74 69 6f 6e 0a 20 .,racket--hash-lang-generation..
5e520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 70 6f 69 6e 74 29 29 0a ......................,(point)).
5e540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 2d 6c 61 6d 62 .....................(pcase-lamb
5e560 64 61 20 28 60 28 2c 5f 62 65 67 20 2c 5f 65 6e 64 20 28 2c 6b 69 6e 64 20 2e 20 2c 5f 29 29 29 da.(`(,_beg.,_end.(,kind...,_)))
5e580 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 63 61 73 65 ........................(cl-case
5e5a0 20 6b 69 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .kind..........................(
5e5c0 28 77 68 69 74 65 2d 73 70 61 63 65 29 20 28 6d 65 73 73 61 67 65 20 22 77 68 69 74 65 73 70 61 (white-space).(message."whitespa
5e5e0 63 65 3b 20 64 69 64 20 6e 6f 74 68 69 6e 67 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ce;.did.nothing"))..............
5e600 20 20 20 20 20 20 20 20 20 20 20 20 28 28 74 65 78 74 29 20 28 66 69 6c 6c 2d 70 61 72 61 67 72 ............((text).(fill-paragr
5e620 61 70 68 20 70 72 65 66 69 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 aph.prefix))....................
5e640 20 20 20 20 20 20 28 28 63 6f 6d 6d 65 6e 74 29 20 28 66 69 6c 6c 2d 63 6f 6d 6d 65 6e 74 2d 70 ......((comment).(fill-comment-p
5e660 61 72 61 67 72 61 70 68 20 70 72 65 66 69 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 aragraph.prefix))...............
5e680 20 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 20 28 70 72 6f 67 2d 69 6e 64 65 ...........(otherwise.(prog-inde
5e6a0 6e 74 2d 73 65 78 70 20 70 72 65 66 69 78 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 52 45 50 4c 0a 0a nt-sexp.prefix))))))..;;;.REPL..
5e6c0 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 72 65 70 6c 2d 6d 6f (defvar.racket-hash-lang-repl-mo
5e6e0 64 65 2d 6d 61 70 0a 20 20 28 72 61 63 6b 65 74 2d 2d 65 61 73 79 2d 6b 65 79 6d 61 70 2d 64 65 de-map...(racket--easy-keymap-de
5e700 66 69 6e 65 0a 20 20 20 60 28 28 22 43 2d 4d 2d 62 22 20 2c 23 27 72 61 63 6b 65 74 2d 68 61 73 fine....`(("C-M-b".,#'racket-has
5e720 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 72 64 29 0a 20 20 20 20 20 28 22 43 2d 4d 2d 66 22 20 2c h-lang-backward)......("C-M-f".,
5e740 23 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 #'racket-hash-lang-forward).....
5e760 20 28 22 43 2d 4d 2d 75 22 20 2c 23 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 75 70 .("C-M-u".,#'racket-hash-lang-up
5e780 29 0a 20 20 20 20 20 28 22 43 2d 4d 2d 64 22 20 2c 23 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c )......("C-M-d".,#'racket-hash-l
5e7a0 61 6e 67 2d 64 6f 77 6e 29 0a 20 20 20 20 20 28 22 43 2d 4d 2d 71 22 20 2c 23 27 72 61 63 6b 65 ang-down)......("C-M-q".,#'racke
5e7c0 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d 64 77 69 6d 29 29 29 29 0a 0a 28 64 65 66 t-hash-lang-C-M-q-dwim))))..(def
5e7e0 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d ine-minor-mode.racket-hash-lang-
5e800 72 65 70 6c 2d 6d 6f 64 65 0a 20 20 22 41 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 6a 75 73 74 20 74 repl-mode..."A.minor.mode.just.t
5e820 6f 20 6f 76 65 72 72 69 64 65 20 73 6f 6d 65 20 6b 65 79 62 69 6e 64 69 6e 67 73 20 69 6e 20 60 o.override.some.keybindings.in.`
5e840 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 2e 0a 0a 5c 5c 7b 72 61 63 6b 65 74 2d 68 61 racket-repl-mode'...\\{racket-ha
5e860 73 68 2d 6c 61 6e 67 2d 72 65 70 6c 2d 6d 6f 64 65 2d 6d 61 70 7d 0a 22 0a 20 20 3a 6c 69 67 68 sh-lang-repl-mode-map}."...:ligh
5e880 74 65 72 20 22 20 23 6c 61 6e 67 22 0a 20 20 3a 6b 65 79 6d 61 70 20 72 61 63 6b 65 74 2d 68 61 ter.".#lang"...:keymap.racket-ha
5e8a0 73 68 2d 6c 61 6e 67 2d 72 65 70 6c 2d 6d 6f 64 65 2d 6d 61 70 29 0a 0a 28 64 65 66 75 6e 20 72 sh-lang-repl-mode-map)..(defun.r
5e8c0 61 63 6b 65 74 2d 2d 63 6f 6e 66 69 67 75 72 65 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 66 72 6f acket--configure-repl-buffer-fro
5e8e0 6d 2d 65 64 69 74 2d 62 75 66 66 65 72 20 28 65 64 69 74 2d 62 75 66 66 65 72 20 72 65 70 6c 2d m-edit-buffer.(edit-buffer.repl-
5e900 62 75 66 66 65 72 29 0a 20 20 22 43 6f 6e 66 69 67 75 72 65 20 52 45 50 4c 2d 42 55 46 46 45 52 buffer)..."Configure.REPL-BUFFER
5e920 20 66 72 6f 6d 20 45 44 49 54 2d 42 55 46 46 45 52 2e 0a 0a 54 6f 20 62 65 20 63 61 6c 6c 65 64 .from.EDIT-BUFFER...To.be.called
5e940 20 75 70 6f 6e 20 65 61 63 68 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 2e 20 45 44 49 54 2d 42 55 46 .upon.each.run.command..EDIT-BUF
5e960 46 45 52 20 69 73 20 74 68 65 20 62 75 66 66 65 72 0a 77 68 65 72 65 20 74 68 65 20 72 75 6e 20 FER.is.the.buffer.where.the.run.
5e980 63 6f 6d 6d 61 6e 64 20 77 61 73 20 69 73 73 75 65 64 2c 20 52 45 50 4c 2d 42 55 46 46 45 52 20 command.was.issued,.REPL-BUFFER.
5e9a0 69 73 20 74 68 65 0a 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 is.the.`racket-repl-mode'.buffer
5e9c0 20 74 6f 20 62 65 20 75 73 65 64 2e 0a 0a 49 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 66 6f 72 .to.be.used...It.is.possible.for
5e9e0 20 6d 75 6c 74 69 70 6c 65 20 65 64 69 74 20 62 75 66 66 65 72 73 20 74 6f 20 5c 22 74 61 6b 65 .multiple.edit.buffers.to.\"take
5ea00 20 74 75 72 6e 73 5c 22 20 75 73 69 6e 67 0a 74 68 65 20 73 61 6d 65 20 60 72 61 63 6b 65 74 2d .turns\".using.the.same.`racket-
5ea20 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 2c 20 66 6f 72 20 73 75 63 63 65 73 73 69 76 repl-mode'.buffer,.for.successiv
5ea40 65 20 60 72 61 63 6b 65 74 2d 72 75 6e 27 0a 63 6f 6d 6d 61 6e 64 73 2e 20 45 76 65 6e 20 69 66 e.`racket-run'.commands..Even.if
5ea60 20 76 61 72 69 6f 75 73 20 65 64 69 74 20 62 75 66 66 65 72 73 20 61 6c 6c 20 75 73 65 0a 60 72 .various.edit.buffers.all.use.`r
5ea80 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 27 2c 20 74 68 65 20 68 61 73 68 2d acket-hash-lang-mode',.the.hash-
5eaa0 6c 61 6e 67 20 66 6f 72 20 65 61 63 68 20 6d 61 79 20 64 69 66 66 65 72 2c 20 65 2e 67 2e 0a 6f lang.for.each.may.differ,.e.g..o
5eac0 6e 65 20 62 75 66 66 65 72 20 69 73 20 5c 22 23 6c 61 6e 67 20 72 61 63 6b 65 74 5c 22 20 77 68 ne.buffer.is.\"#lang.racket\".wh
5eae0 69 6c 65 20 61 6e 6f 74 68 65 72 20 69 73 20 5c 22 23 6c 61 6e 67 0a 72 68 6f 6d 62 75 73 5c 22 ile.another.is.\"#lang.rhombus\"
5eb00 2e 22 0a 20 20 3b 3b 3b 28 6d 65 73 73 61 67 65 20 22 25 53 22 20 28 6c 69 73 74 20 27 72 61 63 ."...;;;(message."%S".(list.'rac
5eb20 6b 65 74 2d 2d 63 6f 6e 66 69 67 75 72 65 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 66 72 6f 6d 2d ket--configure-repl-buffer-from-
5eb40 65 64 69 74 2d 62 75 66 66 65 72 20 65 64 69 74 2d 62 75 66 66 65 72 20 72 65 70 6c 2d 62 75 66 edit-buffer.edit-buffer.repl-buf
5eb60 66 65 72 29 29 0a 20 20 28 6c 65 74 20 28 28 68 61 73 68 2d 6c 61 6e 67 2d 70 20 28 77 69 74 68 fer))...(let.((hash-lang-p.(with
5eb80 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 64 69 74 2d 62 75 66 66 65 72 20 28 65 71 20 -current-buffer.edit-buffer.(eq.
5eba0 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 major-mode.'racket-hash-lang-mod
5ebc0 65 29 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 72 e)))).....(with-current-buffer.r
5ebe0 65 70 6c 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 3b 3b 20 43 6c 65 61 6e 20 75 70 20 66 72 6f epl-buffer.......;;.Clean.up.fro
5ec00 6d 20 70 72 65 76 69 6f 75 73 20 68 61 73 68 2d 6c 61 6e 67 20 75 73 65 20 6f 66 20 52 45 50 4c m.previous.hash-lang.use.of.REPL
5ec20 2c 20 69 66 20 61 6e 79 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e ,.if.any.......(racket--hash-lan
5ec40 67 2d 64 65 6c 65 74 65 29 0a 0a 20 20 20 20 20 20 3b 3b 20 4d 61 79 62 65 20 63 72 65 61 74 65 g-delete)........;;.Maybe.create
5ec60 20 68 61 73 68 2d 6c 61 6e 67 20 6f 62 6a 65 63 74 2c 20 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 .hash-lang.object,.synchronously
5ec80 2e 0a 20 20 20 20 20 20 28 77 68 65 6e 20 68 61 73 68 2d 6c 61 6e 67 2d 70 0a 20 20 20 20 20 20 ........(when.hash-lang-p.......
5eca0 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 0a 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 68 ..(setq-local..........racket--h
5ecc0 61 73 68 2d 6c 61 6e 67 2d 69 64 0a 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d ash-lang-id..........(racket--cm
5ece0 64 2f 61 77 61 69 74 0a 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 d/await...........nil...........
5ed00 60 28 68 61 73 68 2d 6c 61 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 72 65 61 74 65 0a 20 `(hash-lang.............create..
5ed20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 6c 2d 69 6e 63 66 20 72 61 63 6b 65 74 2d 2d 68 61 73 ...........,(cl-incf.racket--has
5ed40 68 2d 6c 61 6e 67 2d 6e 65 78 74 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 77 69 h-lang-next-id).............,(wi
5ed60 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 64 69 74 2d 62 75 66 66 65 72 0a 20 20 th-current-buffer.edit-buffer...
5ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 .............(save-restriction..
5eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 20 20 20 20 ................(widen).........
5edc0 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 .........(buffer-substring-no-pr
5ede0 6f 70 65 72 74 69 65 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 6d 69 6e 20 34 30 39 36 20 28 operties.(point-min).(min.4096.(
5ee00 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 72 61 63 point-max))))).............,(rac
5ee20 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 73 74 72 69 6e ket--hash-lang-repl-buffer-strin
5ee40 67 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 29 0a 0a g.(point-min).(point-max))))))..
5ee60 20 20 20 20 20 20 3b 3b 20 63 68 61 72 2d 73 79 6e 74 61 78 0a 20 20 20 20 20 20 28 73 65 74 2d ......;;.char-syntax.......(set-
5ee80 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 syntax-table.(with-current-buffe
5eea0 72 20 65 64 69 74 2d 62 75 66 66 65 72 20 28 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 29 29 0a 20 r.edit-buffer.(syntax-table)))..
5eec0 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 69 .....(setq-local.syntax-properti
5eee0 7a 65 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 ze-function...................(w
5ef00 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 64 69 74 2d 62 75 66 66 65 72 20 73 ith-current-buffer.edit-buffer.s
5ef20 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 69 7a 65 2d 66 75 6e 63 74 69 6f 6e 29 29 0a 20 20 20 20 yntax-propertize-function)).....
5ef40 20 20 3b 3b 20 66 6f 6e 74 2d 6c 6f 63 6b 0a 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c ..;;.font-lock.......(setq-local
5ef60 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 .font-lock-keywords.............
5ef80 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 64 69 74 2d ......(with-current-buffer.edit-
5efa0 62 75 66 66 65 72 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 29 29 0a 20 20 20 20 buffer.font-lock-keywords)).....
5efc0 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 66 6f 6e 74 69 ..(setq-local.racket--repl-fonti
5efe0 66 79 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 fy-region-function..............
5f000 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 64 69 74 2d 62 .....(with-current-buffer.edit-b
5f020 75 66 66 65 72 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e 2d 66 uffer.font-lock-fontify-region-f
5f040 75 6e 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6c 75 73 68 unction)).......(font-lock-flush
5f060 29 0a 20 20 20 20 20 20 3b 3b 20 69 6e 64 65 6e 74 0a 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f ).......;;.indent.......(setq-lo
5f080 63 61 6c 20 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 cal.indent-line-function........
5f0a0 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 ...........(with-current-buffer.
5f0c0 65 64 69 74 2d 62 75 66 66 65 72 20 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 6f 6e edit-buffer.indent-line-function
5f0e0 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 69 6e 64 65 6e 74 2d 72 65 67 69 )).......(setq-local.indent-regi
5f100 6f 6e 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 on-function...................(w
5f120 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 64 69 74 2d 62 75 66 66 65 72 20 69 ith-current-buffer.edit-buffer.i
5f140 6e 64 65 6e 74 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 3b 3b ndent-region-function)).......;;
5f160 20 6e 61 76 0a 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 66 6f 72 77 61 72 64 2d 73 .nav.......(setq-local.forward-s
5f180 65 78 70 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 exp-function...................(
5f1a0 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 64 69 74 2d 62 75 66 66 65 72 20 with-current-buffer.edit-buffer.
5f1c0 66 6f 72 77 61 72 64 2d 73 65 78 70 2d 66 75 6e 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 28 72 forward-sexp-function)).......(r
5f1e0 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 72 65 70 6c 2d 6d 6f 64 65 20 28 69 66 20 68 61 acket-hash-lang-repl-mode.(if.ha
5f200 73 68 2d 6c 61 6e 67 2d 70 20 31 20 2d 31 29 29 20 3b 6b 65 79 62 69 6e 64 69 6e 67 73 0a 20 20 sh-lang-p.1.-1)).;keybindings...
5f220 20 20 20 20 28 69 66 20 68 61 73 68 2d 6c 61 6e 67 2d 70 0a 20 20 20 20 20 20 20 20 20 20 28 61 ....(if.hash-lang-p...........(a
5f240 64 64 2d 68 6f 6f 6b 20 27 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 66 75 6e 63 74 69 6f 6e 73 20 dd-hook.'after-change-functions.
5f260 23 27 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 #'racket--hash-lang-after-change
5f280 2d 68 6f 6f 6b 20 74 20 74 29 0a 20 20 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 -hook.t.t).........(remove-hook.
5f2a0 27 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 66 75 6e 63 74 69 6f 6e 73 20 20 23 27 72 61 63 6b 65 'after-change-functions..#'racke
5f2c0 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 68 6f 6f 6b 20 74 t--hash-lang-after-change-hook.t
5f2e0 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 72 65 70 6c )).......(setq-local.racket-repl
5f300 2d 73 75 62 6d 69 74 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -submit-function................
5f320 20 20 20 28 69 66 20 68 61 73 68 2d 6c 61 6e 67 2d 70 20 23 27 72 61 63 6b 65 74 2d 68 61 73 68 ...(if.hash-lang-p.#'racket-hash
5f340 2d 6c 61 6e 67 2d 73 75 62 6d 69 74 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 -lang-submit.nil)))))..(defun.ra
5f360 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 72 65 70 6c 2d 6f 6e 2d 73 74 6f 70 2d 62 61 63 cket--hash-lang-repl-on-stop-bac
5f380 6b 2d 65 6e 64 20 28 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 62 75 66 20 28 62 75 66 66 65 72 2d k-end.()...(dolist.(buf.(buffer-
5f3a0 6c 69 73 74 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 list)).....(with-current-buffer.
5f3c0 62 75 66 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 65 71 20 6d 61 6a 6f 72 2d 6d buf.......(when.(and.(eq.major-m
5f3e0 6f 64 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 ode.'racket-repl-mode)..........
5f400 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 62 75 66 29 29 0a 20 20 20 ........(buffer-live-p.buf))....
5f420 20 20 20 20 20 3b 3b 20 43 6c 65 61 6e 20 75 70 20 66 72 6f 6d 20 70 72 65 76 69 6f 75 73 20 68 .....;;.Clean.up.from.previous.h
5f440 61 73 68 2d 6c 61 6e 67 20 75 73 65 20 6f 66 20 52 45 50 4c 2c 20 69 66 20 61 6e 79 0a 20 20 20 ash-lang.use.of.REPL,.if.any....
5f460 20 20 20 20 20 28 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 72 65 70 6c 2d 6d 6f 64 65 .....(racket-hash-lang-repl-mode
5f480 20 2d 31 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d .-1).........(setq-local.racket-
5f4a0 2d 72 65 70 6c 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 -repl-fontify-region-function...
5f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 65 ..................#'font-lock-de
5f4e0 66 61 75 6c 74 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 28 73 fault-fontify-region).........(s
5f500 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 20 6e etq-local.racket--hash-lang-id.n
5f520 69 6c 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d il).........(setq-local.racket--
5f540 68 61 73 68 2d 6c 61 6e 67 2d 67 65 6e 65 72 61 74 69 6f 6e 20 31 29 29 29 29 29 0a 28 61 64 64 hash-lang-generation.1))))).(add
5f560 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 73 74 6f 70 2d 62 61 63 6b 2d 65 6e 64 2d 68 6f 6f 6b -hook.'racket-stop-back-end-hook
5f580 0a 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 72 ...........#'racket--hash-lang-r
5f5a0 65 70 6c 2d 6f 6e 2d 73 74 6f 70 2d 62 61 63 6b 2d 65 6e 64 29 0a 0a 28 64 65 66 75 6e 20 72 61 epl-on-stop-back-end)..(defun.ra
5f5c0 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 73 75 62 6d 69 74 20 28 69 6e 70 75 74 29 0a 20 20 cket-hash-lang-submit.(input)...
5f5e0 22 22 0a 20 20 28 6f 72 20 28 6e 6f 74 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d ""...(or.(not.racket--hash-lang-
5f600 73 75 62 6d 69 74 2d 70 72 65 64 69 63 61 74 65 2d 70 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 submit-predicate-p).......(racke
5f620 74 2d 2d 63 6d 64 2f 61 77 61 69 74 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t--cmd/await.nil................
5f640 20 20 20 20 20 20 20 20 20 20 60 28 68 61 73 68 2d 6c 61 6e 67 0a 20 20 20 20 20 20 20 20 20 20 ..........`(hash-lang...........
5f660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75 62 6d 69 74 2d 70 72 65 64 69 63 61 74 .................submit-predicat
5f680 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 72 61 e............................,ra
5f6a0 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 cket--hash-lang-id..............
5f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 ..............,input............
5f6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 ................t))))..(provide.
5f700 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 68 61 'racket-hash-lang)..;;.racket-ha
5f720 73 68 2d 6c 61 6e 67 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 sh-lang.el.ends.here............
5f740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f800 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
5f820 72 61 63 6b 65 74 2d 76 69 73 69 74 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-visit.el.................
5f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
5f880 30 30 31 30 34 31 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 35 37 31 00 20 30 00 00 00 0010410.00000000000.016571..0...
5f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
5f920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
5f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5fa00 3b 3b 3b 20 72 61 63 6b 65 74 2d 76 69 73 69 74 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d ;;;.racket-visit.el.-*-.lexical-
5fa20 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 binding:.t.-*-..;;.Copyright.(c)
5fa40 20 32 30 31 33 2d 32 30 32 30 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a .2013-2020.by.Greg.Hendershott..
5fa60 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d 31 ;;.Portions.Copyright.(C).1985-1
5fa80 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 986,.1999-2013.Free.Software.Fou
5faa0 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 ndation,.Inc...;;.Author:.Greg.H
5fac0 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 endershott.;;.URL:.https://githu
5fae0 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 b.com/greghendershott/racket-mod
5fb00 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 e..;;.SPDX-License-Identifier:.G
5fb20 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 73 69 6d 70 6c PL-3.0-or-later..(require.'simpl
5fb40 65 29 0a 28 72 65 71 75 69 72 65 20 27 78 72 65 66 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 e).(require.'xref).(require.'rac
5fb60 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6d 6f ket-complete)..(defun.racket--mo
5fb80 64 75 6c 65 2d 70 61 74 68 2d 6e 61 6d 65 2d 61 74 2d 70 6f 69 6e 74 20 28 29 0a 20 20 22 54 72 dule-path-name-at-point.()..."Tr
5fba0 65 61 74 20 70 6f 69 6e 74 20 61 73 20 61 20 52 61 63 6b 65 74 20 6d 6f 64 75 6c 65 20 70 61 74 eat.point.as.a.Racket.module.pat
5fbc0 68 20 6e 61 6d 65 2c 20 70 6f 73 73 69 62 6c 79 20 69 6e 20 61 20 6d 75 6c 74 69 2d 69 6e 20 66 h.name,.possibly.in.a.multi-in.f
5fbe0 6f 72 6d 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 73 74 72 69 6e 67 20 68 61 73 20 74 65 orm...The.returned.string.has.te
5fc00 78 74 20 70 72 6f 70 65 72 74 69 65 73 3a 0a 0a 2d 20 41 20 5c 22 72 61 63 6b 65 74 2d 6d 6f 64 xt.properties:..-.A.\"racket-mod
5fc20 75 6c 65 2d 70 61 74 68 5c 22 20 70 72 6f 70 65 72 74 79 20 77 68 6f 73 65 20 76 61 6c 75 65 20 ule-path\".property.whose.value.
5fc40 69 73 20 65 69 74 68 65 72 0a 20 20 5c 22 61 62 73 6f 6c 75 74 65 5c 22 20 6f 72 20 5c 22 72 65 is.either...\"absolute\".or.\"re
5fc60 6c 61 74 69 76 65 5c 22 2e 0a 0a 2d 20 54 68 65 20 6f 72 69 67 69 6e 61 6c 20 70 72 6f 70 65 72 lative\"...-.The.original.proper
5fc80 74 69 65 73 20 66 72 6f 6d 20 74 68 65 20 62 75 66 66 65 72 2e 20 48 6f 77 65 76 65 72 20 69 66 ties.from.the.buffer..However.if
5fca0 20 61 20 6d 75 6c 74 69 2d 69 6e 0a 20 20 66 6f 72 6d 2c 20 74 68 65 73 65 20 61 72 65 20 6f 6e .a.multi-in...form,.these.are.on
5fcc0 6c 79 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 66 72 6f 6d 20 74 68 65 20 73 75 66 66 69 ly.the.properties.from.the.suffi
5fce0 78 2c 20 65 2e 67 2e 20 74 68 65 0a 20 20 5c 22 62 61 73 65 5c 22 20 69 6e 20 5c 22 28 6d 75 6c x,.e.g..the...\"base\".in.\"(mul
5fd00 74 69 2d 69 6e 20 72 61 63 6b 65 74 20 28 62 61 73 65 29 29 5c 22 2c 20 61 6e 64 20 74 68 65 79 ti-in.racket.(base))\",.and.they
5fd20 20 61 72 65 20 6f 6e 6c 79 0a 20 20 61 70 70 6c 69 65 64 20 6f 6e 6c 79 20 74 6f 20 74 68 61 74 .are.only...applied.only.to.that
5fd40 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 73 74 72 69 6e 67 2c .portion.of.the.returned.string,
5fd60 20 65 2e 67 2e 20 74 68 65 0a 20 20 5c 22 62 61 73 65 5c 22 20 70 6f 72 74 69 6f 6e 20 6f 66 20 .e.g..the...\"base\".portion.of.
5fd80 5c 22 72 61 63 6b 65 74 2f 62 61 73 65 5c 22 2e 0a 0a 2d 20 52 65 67 61 72 64 6c 65 73 73 20 6f \"racket/base\"...-.Regardless.o
5fda0 66 20 74 68 65 20 70 72 65 63 65 64 69 6e 67 20 70 6f 69 6e 74 2c 20 74 68 65 20 6f 72 69 67 69 f.the.preceding.point,.the.origi
5fdc0 6e 61 6c 0a 20 20 5c 22 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 5c 22 20 70 72 6f 70 65 72 74 79 nal...\"racket-xp-def\".property
5fde0 20 69 66 20 61 6e 79 20 66 72 6f 6d 20 74 68 65 20 62 75 66 66 65 72 20 69 73 20 61 70 70 6c 69 .if.any.from.the.buffer.is.appli
5fe00 65 64 20 74 6f 0a 20 20 74 68 65 20 45 4e 54 49 52 45 20 72 65 74 75 72 6e 65 64 20 73 74 72 69 ed.to...the.ENTIRE.returned.stri
5fe20 6e 67 2e 20 54 68 61 74 20 77 61 79 20 74 68 65 20 63 61 6c 6c 65 72 20 63 61 6e 20 73 69 6d 70 ng..That.way.the.caller.can.simp
5fe40 6c 79 20 75 73 65 0a 20 20 61 6e 20 69 6e 64 65 78 20 6f 66 20 30 20 66 6f 72 20 60 67 65 74 2d ly.use...an.index.of.0.for.`get-
5fe60 74 65 78 74 2d 70 72 6f 70 65 72 74 79 27 2e 22 0a 20 20 28 77 68 65 6e 20 28 72 61 63 6b 65 74 text-property'."...(when.(racket
5fe80 2d 2d 69 6e 2d 72 65 71 75 69 72 65 2d 66 6f 72 6d 2d 70 29 0a 20 20 20 20 28 73 61 76 65 2d 65 --in-require-form-p).....(save-e
5fea0 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f xcursion.......(condition-case._
5fec0 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 ...........(progn.............(f
5fee0 6f 72 77 61 72 64 2d 73 65 78 70 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b orward-sexp.1).............(back
5ff00 77 61 72 64 2d 73 65 78 70 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 ward-sexp.1).............(when.(
5ff20 65 71 20 3f 5c 22 20 28 63 68 61 72 2d 73 79 6e 74 61 78 20 28 63 68 61 72 2d 62 65 66 6f 72 65 eq.?\".(char-syntax.(char-before
5ff40 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 63 68 61 72 )))...............(backward-char
5ff60 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 74 72 20 28 74 68 69 6e 67 )).............(let.((str.(thing
5ff80 2d 61 74 2d 70 6f 69 6e 74 20 27 73 65 78 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -at-point.'sexp)))..............
5ffa0 20 28 70 63 61 73 65 20 28 72 65 61 64 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(pcase.(read.str)..............
5ffc0 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 69 64 65 6e 74 69 74 79 29 20 73 65 78 70 29 0a 20 ...((and.(pred.identity).sexp)..
5ffe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 72 65 6c 61 74 69 76 65 ................(let*.((relative
60000 2d 70 20 28 73 74 72 69 6e 67 70 20 73 65 78 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -p.(stringp.sexp))..............
60020 20 20 20 20 20 20 20 20 20 20 20 28 6d 75 6c 74 69 2d 69 6e 2d 70 72 65 66 69 78 0a 20 20 20 20 ...........(multi-in-prefix.....
60040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d .....................(condition-
60060 63 61 73 65 20 5f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 case._..........................
60080 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(progn......................
600a0 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 20 31 29 0a 20 ..........(backward-up-list.1)..
600c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 ..............................(b
600e0 61 63 6b 77 61 72 64 2d 73 65 78 70 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ackward-sexp.2).................
60100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 ...............(when.(looking-at
60120 2d 70 20 22 6d 75 6c 74 69 2d 69 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -p."multi-in")..................
60140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 32 29 ................(forward-sexp.2)
60160 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
60180 20 20 28 62 61 63 6b 77 61 72 64 2d 73 65 78 70 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..(backward-sexp.1).............
601a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 3f .....................(when.(eq.?
601c0 5c 22 20 28 63 68 61 72 2d 73 79 6e 74 61 78 20 28 63 68 61 72 2d 62 65 66 6f 72 65 29 29 29 0a \".(char-syntax.(char-before))).
601e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
60200 20 20 20 28 62 61 63 6b 77 61 72 64 2d 63 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...(backward-char)).............
60220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 76 20 28 .....................(let*.((v.(
60240 72 65 61 64 20 28 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 20 27 73 65 78 70 20 74 29 29 29 29 read.(thing-at-point.'sexp.t))))
60260 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
60280 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 72 65 6c 61 74 69 76 65 2d 70 20 28 73 ....(unless.(equal.relative-p.(s
602a0 74 72 69 6e 67 70 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tringp.v))......................
602c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 6d 75 6c ................(user-error."mul
602e0 74 69 2d 69 6e 20 6d 69 78 65 73 20 61 62 73 6f 6c 75 74 65 20 61 6e 64 20 72 65 6c 61 74 69 76 ti-in.mixes.absolute.and.relativ
60300 65 20 70 61 74 68 73 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.paths"))......................
60320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 2f 22 20 76 29 29 29 ..............(format."%s/".v)))
60340 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 63 )............................(sc
60360 61 6e 2d 65 72 72 6f 72 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 an-error.nil))))................
60380 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 63 6f 6e 63 61 74 20 6d 75 6c 74 69 2d 69 6e ....(propertize.(concat.multi-in
603a0 2d 70 72 65 66 69 78 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -prefix.str)....................
603c0 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 0a ............'racket-module-path.
603e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
60400 69 66 20 72 65 6c 61 74 69 76 65 2d 70 20 27 72 65 6c 61 74 69 76 65 20 27 61 62 73 6f 6c 75 74 if.relative-p.'relative.'absolut
60420 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e)..............................
60440 20 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..'racket-xp-def................
60460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 ................(get-text-proper
60480 74 79 20 30 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 20 73 74 72 29 29 29 29 29 29 29 0a 20 ty.0.'racket-xp-def.str)))))))..
604a0 20 20 20 20 20 20 20 28 73 63 61 6e 2d 65 72 72 6f 72 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 .......(scan-error.nil)))))..(de
604c0 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 6b 74 2d 6f 72 2d 73 73 2d 70 61 74 68 20 28 70 61 74 68 fun.racket--rkt-or-ss-path.(path
604e0 29 0a 20 20 22 48 61 6e 64 6c 65 20 74 68 65 20 73 69 74 75 61 74 69 6f 6e 20 6f 66 20 23 35 37 )..."Handle.the.situation.of.#57
60500 35 20 77 68 65 72 65 20 2e 72 6b 74 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 62 75 74 20 2e 5.where..rkt.doesn't.exist.but..
60520 73 73 20 64 6f 65 73 2e 22 0a 20 20 28 69 66 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 70 ss.does."...(if.(file-exists-p.p
60540 61 74 68 29 0a 20 20 20 20 20 20 70 61 74 68 0a 20 20 20 20 28 6c 65 74 20 28 28 6f 74 68 65 72 ath).......path.....(let.((other
60560 2d 70 61 74 68 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65 78 -path.(concat.(file-name-sans-ex
60580 74 65 6e 73 69 6f 6e 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tension.path)...................
605a0 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 ............(pcase.(file-name-ex
605c0 74 65 6e 73 69 6f 6e 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tension.path)...................
605e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 72 6b 74 22 20 22 2e 73 73 22 29 0a 20 20 20 20 ..............("rkt".".ss").....
60600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 73 73 ............................("ss
60620 22 20 20 22 2e 72 6b 74 22 29 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 66 69 6c 65 2d 65 "..".rkt"))))).......(if.(file-e
60640 78 69 73 74 73 2d 70 20 6f 74 68 65 72 2d 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 6f 74 xists-p.other-path)...........ot
60660 68 65 72 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 70 61 74 68 29 29 29 29 0a 0a 28 64 65 66 75 her-path.........path))))..(defu
60680 6e 20 72 61 63 6b 65 74 2d 2d 70 6f 70 2d 74 6f 2d 78 72 65 66 2d 6c 6f 63 61 74 69 6f 6e 20 28 n.racket--pop-to-xref-location.(
606a0 69 74 65 6d 29 0a 20 20 22 53 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 70 72 69 76 61 74 65 20 item)..."Similar.to.the.private.
606c0 66 75 6e 63 74 69 6f 6e 20 60 78 72 65 66 2d 2d 70 6f 70 2d 74 6f 2d 6c 6f 63 61 74 69 6f 6e 27 function.`xref--pop-to-location'
606e0 2e 0a 0a 42 75 74 20 6e 6f 74 20 75 73 69 6e 67 20 74 68 61 74 2c 20 61 6e 64 20 6e 6f 74 20 75 ...But.not.using.that,.and.not.u
60700 73 69 6e 67 20 6f 74 68 65 72 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 sing.other.private.functions.in.
60720 69 74 73 0a 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 22 0a 20 20 28 78 72 65 66 2d 70 75 73 its.implementation."...(xref-pus
60740 68 2d 6d 61 72 6b 65 72 2d 73 74 61 63 6b 29 0a 20 20 28 6c 65 74 2a 20 28 28 6d 61 72 6b 65 72 h-marker-stack)...(let*.((marker
60760 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(save-excursion................
60780 20 20 20 20 28 78 72 65 66 2d 6c 6f 63 61 74 69 6f 6e 2d 6d 61 72 6b 65 72 20 28 78 72 65 66 2d ....(xref-location-marker.(xref-
607a0 69 74 65 6d 2d 6c 6f 63 61 74 69 6f 6e 20 69 74 65 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 item-location.item))))..........
607c0 28 62 75 66 20 28 6d 61 72 6b 65 72 2d 62 75 66 66 65 72 20 6d 61 72 6b 65 72 29 29 29 0a 20 20 (buf.(marker-buffer.marker)))...
607e0 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 29 0a 20 20 20 20 3b 3b 20 ..(switch-to-buffer.buf).....;;.
60800 4c 69 6b 65 20 28 60 78 72 65 66 2d 2d 67 6f 74 6f 2d 63 68 61 72 27 20 6d 61 72 6b 65 72 29 0a Like.(`xref--goto-char'.marker).
60820 20 20 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 20 28 3c 3d 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 ....(unless.(and.(<=.(point-min)
60840 20 6d 61 72 6b 65 72 29 20 28 3c 3d 20 6d 61 72 6b 65 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 .marker).(<=.marker.(point-max))
60860 29 0a 20 20 20 20 20 20 28 69 66 20 77 69 64 65 6e 2d 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a ).......(if.widen-automatically.
60880 20 20 20 20 20 20 20 20 20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 20 20 20 20 28 75 73 65 72 2d ..........(widen).........(user-
608a0 65 72 72 6f 72 20 22 50 6f 73 69 74 69 6f 6e 20 69 73 20 6f 75 74 73 69 64 65 20 61 63 63 65 73 error."Position.is.outside.acces
608c0 73 69 62 6c 65 20 70 61 72 74 20 6f 66 20 62 75 66 66 65 72 22 29 29 29 0a 20 20 20 20 28 67 6f sible.part.of.buffer"))).....(go
608e0 74 6f 2d 63 68 61 72 20 6d 61 72 6b 65 72 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c to-char.marker)))..(define-obsol
60900 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 72 61 63 6b 65 74 2d 76 69 73 69 74 ete-function-alias.'racket-visit
60920 2d 6d 6f 64 75 6c 65 0a 20 20 27 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 -module...'xref-find-definitions
60940 20 20 22 32 30 32 30 2d 31 31 2d 31 30 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 .."2020-11-10").(define-obsolete
60960 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 72 61 63 6b 65 74 2d 76 69 73 69 74 2d 64 65 -function-alias.'racket-visit-de
60980 66 69 6e 69 74 69 6f 6e 0a 20 20 27 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e finition...'xref-find-definition
609a0 73 20 22 32 30 32 30 2d 31 31 2d 31 30 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 s."2020-11-10").(define-obsolete
609c0 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 72 61 63 6b 65 74 2d 78 70 2d 76 69 73 69 74 -function-alias.'racket-xp-visit
609e0 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 20 20 27 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 -definition...'xref-find-definit
60a00 69 6f 6e 73 20 20 22 32 30 32 30 2d 31 31 2d 31 30 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f ions.."2020-11-10").(define-obso
60a20 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 72 61 63 6b 65 74 2d 72 65 70 6c lete-function-alias.'racket-repl
60a40 2d 76 69 73 69 74 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 20 20 27 78 72 65 66 2d 66 69 6e 64 2d 64 -visit-definition...'xref-find-d
60a60 65 66 69 6e 69 74 69 6f 6e 73 20 20 22 32 30 32 30 2d 31 31 2d 31 30 22 29 0a 28 64 65 66 69 6e efinitions.."2020-11-10").(defin
60a80 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 72 61 63 6b 65 e-obsolete-function-alias.'racke
60aa0 74 2d 75 6e 76 69 73 69 74 0a 20 20 27 78 72 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 t-unvisit...'xref-pop-marker-sta
60ac0 63 6b 20 22 32 30 32 30 2d 31 31 2d 31 30 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b ck."2020-11-10")..(provide.'rack
60ae0 65 74 2d 76 69 73 69 74 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 76 69 73 69 74 2e 65 6c 20 65 6e et-visit)..;;.racket-visit.el.en
60b00 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ds.here.........................
60b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60c00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
60c20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-indent.el................
60c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
60c80 30 30 35 32 37 33 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 37 33 36 00 20 30 00 00 00 0052737.00000000000.016736..0...
60ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
60d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
60d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60e00 3b 3b 3b 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c ;;;.racket-indent.el.-*-.lexical
60e20 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 -binding:.t;.-*-..;;.Copyright.(
60e40 63 29 20 32 30 31 33 2d 32 30 32 34 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 c).2013-2024.by.Greg.Hendershott
60e60 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 ..;;.Portions.Copyright.(C).1985
60e80 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 -1986,.1999-2013.Free.Software.F
60ea0 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 oundation,.Inc...;;.Author:.Greg
60ec0 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 .Hendershott.;;.URL:.https://git
60ee0 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d hub.com/greghendershott/racket-m
60f00 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a ode..;;.SPDX-License-Identifier:
60f20 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d .GPL-3.0-or-later..(require.'cl-
60f40 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 0a 28 72 65 71 75 69 72 65 20 lib).(require.'subr-x).(require.
60f60 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 'racket-util).(require.'racket-c
60f80 75 73 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 70 70 73 73 29 0a 0a 3b ustom).(require.'racket-ppss)..;
60fa0 3b 20 54 68 65 20 74 77 6f 20 74 6f 70 2d 6c 65 76 65 6c 20 63 6f 6d 6d 61 6e 64 73 20 77 65 20 ;.The.two.top-level.commands.we.
60fc0 63 61 72 65 20 61 62 6f 75 74 20 61 72 65 3a 0a 3b 3b 20 20 20 31 2e 20 60 70 72 6f 67 2d 69 6e care.about.are:.;;...1..`prog-in
60fe0 64 65 6e 74 2d 73 65 78 70 27 20 43 2d 4d 2d 71 0a 3b 3b 20 20 20 32 2e 20 60 69 6e 64 65 6e 74 dent-sexp'.C-M-q.;;...2..`indent
61000 2d 72 65 67 69 6f 6e 27 20 43 2d 4d 2d 5c 0a 3b 3b 0a 3b 3b 20 31 2e 20 60 70 72 6f 67 2d 69 6e -region'.C-M-\.;;.;;.1..`prog-in
61020 64 65 6e 74 2d 73 65 78 70 27 20 74 68 69 6e 6c 79 20 77 72 61 70 73 20 60 69 6e 64 65 6e 74 2d dent-sexp'.thinly.wraps.`indent-
61040 72 65 67 69 6f 6e 27 2e 0a 3b 3b 0a 3b 3b 20 32 2e 20 60 69 6e 64 65 6e 74 2d 72 65 67 69 6f 6e region'..;;.;;.2..`indent-region
61060 27 20 63 61 6c 6c 73 20 60 69 6e 64 65 6e 74 2d 61 63 63 6f 72 64 69 6e 67 2d 74 6f 2d 6d 6f 64 '.calls.`indent-according-to-mod
61080 65 27 2c 20 77 68 69 63 68 20 69 6e 20 74 75 72 6e 0a 3b 3b 20 63 61 6c 6c 73 20 74 68 65 20 6d e',.which.in.turn.;;.calls.the.m
610a0 6f 64 65 2d 73 70 65 63 69 66 69 63 20 60 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 ode-specific.`indent-line-functi
610c0 6f 6e 27 2e 20 49 6e 20 6c 69 73 70 2d 6d 6f 64 65 20 74 68 61 74 27 73 0a 3b 3b 20 60 6c 69 73 on'..In.lisp-mode.that's.;;.`lis
610e0 70 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 27 2c 20 77 68 69 63 68 20 69 6e 20 74 75 72 6e 20 63 61 p-indent-line',.which.in.turn.ca
61100 6c 6c 73 20 60 63 61 6c 63 75 6c 61 74 65 2d 6c 69 73 70 2d 69 6e 64 65 6e 74 27 2e 0a 3b 3b 20 lls.`calculate-lisp-indent'..;;.
61120 54 68 61 74 20 69 6e 20 74 75 72 6e 20 63 61 6c 6c 73 20 74 68 65 20 6d 6f 64 65 2d 73 70 65 63 That.in.turn.calls.the.mode-spec
61140 69 66 69 63 20 60 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 27 3b 20 69 6e 0a 3b 3b 20 6c 69 ific.`indent-function';.in.;;.li
61160 73 70 2d 6d 6f 64 65 20 74 68 61 74 27 73 20 60 6c 69 73 70 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 sp-mode.that's.`lisp-indent-func
61180 74 69 6f 6e 27 2e 0a 3b 3b 0a 3b 3b 20 48 6f 77 65 76 65 72 20 60 63 61 6c 63 75 6c 61 74 65 2d tion'..;;.;;.However.`calculate-
611a0 6c 69 73 70 2d 69 6e 64 65 6e 74 27 20 69 73 20 63 6f 6d 70 6c 69 63 61 74 65 64 20 61 6e 64 20 lisp-indent'.is.complicated.and.
611c0 64 6f 65 73 6e 27 74 20 61 6c 77 61 79 73 0a 3b 3b 20 62 65 68 61 76 65 20 74 68 65 20 77 61 79 doesn't.always.;;.behave.the.way
611e0 20 77 65 20 77 61 6e 74 2e 20 53 6f 20 77 65 20 75 73 65 20 61 20 73 69 6d 70 6c 69 66 69 65 64 .we.want..So.we.use.a.simplified
61200 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 61 74 0a 3b 3b 20 28 60 72 61 63 6b 65 74 2d 2d 63 61 .version.of.that.;;.(`racket--ca
61220 6c 63 75 6c 61 74 65 2d 69 6e 64 65 6e 74 27 29 20 69 6e 20 6f 75 72 20 60 69 6e 64 65 6e 74 2d lculate-indent').in.our.`indent-
61240 6c 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 27 2c 0a 3b 3b 20 60 72 61 63 6b 65 74 2d 69 6e 64 65 6e line-function',.;;.`racket-inden
61260 74 2d 6c 69 6e 65 27 2e 20 54 68 61 74 20 6a 75 73 74 20 64 69 72 65 63 74 6c 79 20 63 61 6c 6c t-line'..That.just.directly.call
61280 73 0a 3b 3b 20 60 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 27 2e 0a 0a s.;;.`racket-indent-function'...
612a0 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 20 28 26 6f 70 74 69 (defun.racket-indent-line.(&opti
612c0 6f 6e 61 6c 20 5f 77 68 6f 6c 65 2d 65 78 70 29 0a 20 20 22 49 6e 64 65 6e 74 20 63 75 72 72 65 onal._whole-exp)..."Indent.curre
612e0 6e 74 20 6c 69 6e 65 20 61 73 20 52 61 63 6b 65 74 20 63 6f 64 65 2e 0a 0a 4e 6f 72 6d 61 6c 6c nt.line.as.Racket.code...Normall
61300 79 20 79 6f 75 20 64 6f 6e 27 74 20 69 6e 76 6f 6b 65 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 y.you.don't.invoke.this.command.
61320 64 69 72 65 63 74 6c 79 2e 20 49 6e 73 74 65 61 64 2c 20 62 65 63 61 75 73 65 0a 69 74 20 69 73 directly..Instead,.because.it.is
61340 20 75 73 65 64 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 .used.as.the.value.for.the.varia
61360 62 6c 65 20 60 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 27 0a 69 6e 20 60 72 ble.`indent-line-function'.in.`r
61380 61 63 6b 65 74 2d 6d 6f 64 65 27 20 61 6e 64 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 acket-mode'.and.`racket-repl-mod
613a0 65 27 20 62 75 66 66 65 72 73 2c 20 69 74 20 69 73 20 75 73 65 64 0a 61 75 74 6f 6d 61 74 69 63 e'.buffers,.it.is.used.automatic
613c0 61 6c 6c 79 20 77 68 65 6e 20 79 6f 75 20 70 72 65 73 73 20 6b 65 79 73 20 6c 69 6b 65 20 52 45 ally.when.you.press.keys.like.RE
613e0 54 20 6f 72 20 54 41 42 2e 20 48 6f 77 65 76 65 72 20 79 6f 75 0a 6d 69 67 68 74 20 72 65 66 65 T.or.TAB..However.you.might.refe
61400 72 20 74 6f 20 69 74 20 77 68 65 6e 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 63 75 73 74 6f 6d 20 r.to.it.when.configuring.custom.
61420 69 6e 64 65 6e 74 61 74 69 6f 6e 2c 20 65 78 70 6c 61 69 6e 65 64 0a 62 65 6c 6f 77 2e 0a 0a 46 indentation,.explained.below...F
61440 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 72 61 64 69 74 69 6f 6e 20 6f 66 20 60 6c 69 73 70 2d ollowing.the.tradition.of.`lisp-
61460 6d 6f 64 65 27 20 61 6e 64 20 60 73 63 68 65 6d 65 2d 6d 6f 64 65 27 2c 20 74 68 65 0a 70 72 69 mode'.and.`scheme-mode',.the.pri
61480 6d 61 72 79 20 77 61 79 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 69 6e 64 65 6e 74 mary.way.to.determine.the.indent
614a0 61 74 69 6f 6e 20 6f 66 20 61 20 66 6f 72 6d 20 69 73 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 0a 61 ation.of.a.form.is.to.look.for.a
614c0 20 72 75 6c 65 20 73 74 6f 72 65 64 20 61 73 20 61 20 60 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 .rule.stored.as.a.`racket-indent
614e0 2d 66 75 6e 63 74 69 6f 6e 27 20 70 72 6f 70 65 72 74 79 2e 0a 0a 54 6f 20 65 78 74 65 6e 64 2c -function'.property...To.extend,
61500 20 75 73 65 20 79 6f 75 72 20 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 20 74 6f 0a 0a 23 2b .use.your.Emacs.init.file.to..#+
61520 42 45 47 49 4e 5f 53 52 43 20 65 6d 61 63 73 2d 6c 69 73 70 0a 20 20 20 20 28 70 75 74 20 53 59 BEGIN_SRC.emacs-lisp.....(put.SY
61540 4d 42 4f 4c 20 5c 5c 3d 27 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 MBOL.\\='racket-indent-function.
61560 49 4e 44 45 4e 54 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 53 59 4d 42 4f 4c 20 69 73 20 74 68 65 INDENT).#+END_SRC..SYMBOL.is.the
61580 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 52 61 63 6b 65 74 20 66 6f 72 6d 20 6c 69 6b 65 20 5c 22 .name.of.the.Racket.form.like.\"
615a0 74 65 73 74 2d 63 61 73 65 5c 22 20 61 6e 64 0a 49 4e 44 45 4e 54 20 69 73 20 61 6e 20 69 6e 74 test-case\".and.INDENT.is.an.int
615c0 65 67 65 72 20 6f 72 20 74 68 65 20 73 79 6d 62 6f 6c 20 5c 22 64 65 66 75 6e 5c 22 2e 20 57 68 eger.or.the.symbol.\"defun\"..Wh
615e0 65 6e 20 49 4e 44 45 4e 54 20 69 73 20 61 6e 0a 69 6e 74 65 67 65 72 2c 20 74 68 65 20 6d 65 61 en.INDENT.is.an.integer,.the.mea
61600 6e 69 6e 67 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 20 6c 69 73 70 2d 69 6e 64 ning.is.the.same.as.for.lisp-ind
61620 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 61 6e 64 0a 73 63 68 65 6d 65 2d 69 6e 64 65 6e 74 2d 66 ent-function.and.scheme-indent-f
61640 75 6e 63 74 69 6f 6e 3a 20 49 6e 64 65 6e 74 20 74 68 65 20 66 69 72 73 74 20 49 4e 44 45 4e 54 unction:.Indent.the.first.INDENT
61660 20 61 72 67 75 6d 65 6e 74 73 0a 73 70 65 63 69 61 6c 6c 79 20 61 6e 64 20 69 6e 64 65 6e 74 20 .arguments.specially.and.indent.
61680 61 6e 79 20 66 75 72 74 68 65 72 20 61 72 67 75 6d 65 6e 74 73 20 6c 69 6b 65 20 61 20 62 6f 64 any.further.arguments.like.a.bod
616a0 79 2e 20 28 54 68 65 0a 6e 75 6d 62 65 72 20 6d 61 79 20 62 65 20 6e 65 67 61 74 69 76 65 3b 20 y..(The.number.may.be.negative;.
616c0 73 65 65 20 64 69 73 63 75 73 73 69 6f 6e 20 62 65 6c 6f 77 2e 29 0a 0a 46 6f 72 20 65 78 61 6d see.discussion.below.)..For.exam
616e0 70 6c 65 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 65 6d 61 63 73 2d 6c 69 73 70 0a 20 20 20 ple:..#+BEGIN_SRC.emacs-lisp....
61700 20 28 70 75 74 20 5c 5c 3d 27 74 65 73 74 2d 63 61 73 65 20 5c 5c 3d 27 72 61 63 6b 65 74 2d 69 .(put.\\='test-case.\\='racket-i
61720 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 31 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 54 68 69 ndent-function.1).#+END_SRC..Thi
61740 73 20 77 69 6c 6c 20 63 68 61 6e 67 65 20 74 68 65 20 69 6e 64 65 6e 74 20 6f 66 20 60 74 65 73 s.will.change.the.indent.of.`tes
61760 74 2d 63 61 73 65 60 20 66 72 6f 6d 20 74 68 69 73 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 t-case`.from.this:..#+BEGIN_SRC.
61780 72 61 63 6b 65 74 0a 20 20 20 20 28 74 65 73 74 2d 63 61 73 65 20 66 6f 6f 0a 20 20 20 20 20 20 racket.....(test-case.foo.......
617a0 20 20 20 20 20 20 20 20 20 62 6c 61 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6c 61 .........blah................bla
617c0 68 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 74 6f 20 74 68 69 73 3a 0a 0a 23 2b 42 45 47 49 4e 5f h).#+END_SRC..to.this:..#+BEGIN_
617e0 53 52 43 20 72 61 63 6b 65 74 0a 20 20 20 20 28 74 65 73 74 2d 63 61 73 65 20 66 6f 6f 0a 20 20 SRC.racket.....(test-case.foo...
61800 20 20 20 20 62 6c 61 68 0a 20 20 20 20 20 20 62 6c 61 68 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a ....blah.......blah).#+END_SRC..
61820 46 6f 72 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c 20 69 66 20 60 For.backward.compatibility,.if.`
61840 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 27 20 68 61 73 20 6e 6f 0a 70 racket-indent-function'.has.no.p
61860 72 6f 70 65 72 74 79 20 66 6f 72 20 61 20 73 79 6d 62 6f 6c 2c 20 61 20 73 63 68 65 6d 65 2d 69 roperty.for.a.symbol,.a.scheme-i
61880 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 20 69 73 20 61 6c 73 6f 0a ndent-function.property.is.also.
618a0 63 6f 6e 73 69 64 65 72 65 64 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 65 20 5c 22 77 69 74 68 2d considered,.although.the.\"with-
618c0 5c 22 20 69 6e 64 65 6e 74 73 20 64 65 66 69 6e 65 64 20 62 79 20 73 63 68 65 6d 65 2d 6d 6f 64 \".indents.defined.by.scheme-mod
618e0 65 0a 61 72 65 20 69 67 6e 6f 72 65 64 2e 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 74 6f 20 68 e.are.ignored..This.is.only.to.h
61900 65 6c 70 20 70 65 6f 70 6c 65 20 77 68 6f 20 6d 61 79 20 68 61 76 65 20 65 78 74 65 6e 73 69 76 elp.people.who.may.have.extensiv
61920 65 0a 73 63 68 65 6d 65 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 73 65 74 74 69 6e 67 e.scheme-indent-function.setting
61940 73 2c 20 70 61 72 74 69 63 75 6c 61 72 6c 79 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 66 s,.particularly.in.the.form.of.f
61960 69 6c 65 0a 6f 72 20 64 69 72 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 20 4f 74 68 65 ile.or.dir.local.variables..Othe
61980 72 77 69 73 65 20 70 72 65 66 65 72 20 70 75 74 74 69 6e 67 20 70 72 6f 70 65 72 74 69 65 73 20 rwise.prefer.putting.properties.
619a0 6f 6e 0a 60 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 27 2e 0a 0a 49 66 on.`racket-indent-function'...If
619c0 20 6e 6f 20 65 78 70 6c 69 63 69 74 20 72 75 6c 65 73 20 6d 61 74 63 68 2c 20 72 65 67 75 6c 61 .no.explicit.rules.match,.regula
619e0 72 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 75 73 65 64 20 66 6f 72 20 61 0a 63 6f 75 r.expressions.are.used.for.a.cou
61a00 70 6c 65 20 73 70 65 63 69 61 6c 20 63 61 73 65 73 3a 0a 0a 2d 20 46 6f 72 6d 73 20 74 68 61 74 ple.special.cases:..-.Forms.that
61a20 20 73 74 61 72 74 20 77 69 74 68 20 5c 22 62 65 67 69 6e 5c 22 20 69 6e 64 65 6e 74 20 6c 69 6b .start.with.\"begin\".indent.lik
61a40 65 20 5c 22 62 65 67 69 6e 5c 22 2e 0a 0a 2d 20 46 6f 72 6d 73 20 74 68 61 74 20 73 74 61 72 74 e.\"begin\"...-.Forms.that.start
61a60 20 77 69 74 68 20 5c 22 64 65 66 5c 22 20 6f 72 20 5c 22 77 69 74 68 2d 5c 22 20 69 6e 64 65 6e .with.\"def\".or.\"with-\".inden
61a80 74 20 6c 69 6b 65 0a 20 20 5c 22 64 65 66 69 6e 65 5c 22 2e 0a 0a 4f 6e 20 74 68 65 20 6f 6e 65 t.like...\"define\"...On.the.one
61aa0 20 68 61 6e 64 20 74 68 69 73 20 69 73 20 63 6f 6e 76 65 6e 69 65 6e 74 20 77 68 65 6e 20 79 6f .hand.this.is.convenient.when.yo
61ac0 75 20 63 72 65 61 74 65 20 79 6f 75 72 20 6f 77 6e 0a 5c 22 44 52 59 5c 22 20 6d 61 63 72 6f 73 u.create.your.own.\"DRY\".macros
61ae0 3b 20 74 68 65 79 20 77 69 6c 6c 20 69 6e 64 65 6e 74 20 61 73 20 65 78 70 65 63 74 65 64 20 77 ;.they.will.indent.as.expected.w
61b00 69 74 68 6f 75 74 20 79 6f 75 20 6e 65 65 64 69 6e 67 0a 74 6f 20 6d 61 6b 65 20 63 75 73 74 6f ithout.you.needing.to.make.custo
61b20 6d 20 69 6e 64 65 6e 74 20 72 75 6c 65 73 2e 20 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e m.indent.rules..On.the.other.han
61b40 64 20 74 68 65 72 65 20 63 61 6e 20 62 65 20 66 61 6c 73 65 0a 6d 61 74 63 68 65 73 3b 20 66 6f d.there.can.be.false.matches;.fo
61b60 72 20 65 78 61 6d 70 6c 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 66 6f 72 6d 20 6e 61 6d r.example.a.function.or.form.nam
61b80 65 64 20 5c 22 64 65 66 65 72 5c 22 20 77 69 6c 6c 0a 69 6e 64 65 6e 74 20 6c 69 6b 65 20 5c 22 ed.\"defer\".will.indent.like.\"
61ba0 64 65 66 69 6e 65 5c 22 2e 20 54 68 69 73 20 69 73 20 61 20 6b 6e 6f 77 6e 20 64 72 61 77 62 61 define\"..This.is.a.known.drawba
61bc0 63 6b 20 61 6e 64 20 69 73 20 75 6e 6c 69 6b 65 6c 79 0a 74 6f 20 62 65 20 66 69 78 65 64 20 75 ck.and.is.unlikely.to.be.fixed.u
61be0 6e 6c 65 73 73 2f 75 6e 74 69 6c 20 52 61 63 6b 65 74 20 6d 61 63 72 6f 73 20 73 6f 6d 65 64 61 nless/until.Racket.macros.someda
61c00 79 20 73 75 70 70 6f 72 74 20 61 20 70 72 6f 74 6f 63 6f 6c 0a 74 6f 20 63 6f 6d 6d 75 6e 69 63 y.support.a.protocol.to.communic
61c20 61 74 65 20 68 6f 77 20 74 68 65 79 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 64 65 6e 74 65 64 2e ate.how.they.should.be.indented.
61c40 0a 0a 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 75 74 6f 6d 61 74 69 63 20 68 61 6e 64 6c 69 ..There.is.also.automatic.handli
61c60 6e 67 20 66 6f 72 3a 0a 0a 2d 20 46 6f 72 6d 73 20 74 68 61 74 20 62 65 67 69 6e 20 77 69 74 68 ng.for:..-.Forms.that.begin.with
61c80 20 61 20 23 3a 6b 65 79 77 6f 72 64 20 28 61 73 20 66 6f 75 6e 64 20 69 6e 20 63 6f 6e 74 72 61 .a.#:keyword.(as.found.in.contra
61ca0 63 74 73 29 0a 0a 2d 20 4c 69 74 65 72 61 6c 20 66 6f 72 6d 73 20 6c 69 6b 65 20 23 68 61 73 68 cts)..-.Literal.forms.like.#hash
61cc0 65 71 28 29 0a 0a 2d 20 51 75 6f 74 65 64 20 66 6f 72 6d 73 20 77 68 65 6e 20 74 68 65 20 76 61 eq()..-.Quoted.forms.when.the.va
61ce0 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 riable.`racket-indent-sequence-d
61d00 65 70 74 68 27 0a 20 20 69 73 20 3e 20 30 2e 0a 0a 2d 20 7b 7d 20 66 6f 72 6d 73 20 77 68 65 6e epth'...is.>.0...-.{}.forms.when
61d20 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 63 75 72 .the.variable.`racket-indent-cur
61d40 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 65 27 20 69 73 0a 20 20 6e 6f 74 20 6e 69 6c 2e 0a 0a 46 ly-as-sequence'.is...not.nil...F
61d60 69 6e 61 6c 6c 79 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 2c 20 61 20 66 6f 72 6d 20 77 69 6c inally.and.otherwise,.a.form.wil
61d80 6c 20 62 65 20 69 6e 64 65 6e 74 65 64 20 61 73 20 69 66 20 69 74 20 77 65 72 65 20 61 0a 70 72 l.be.indented.as.if.it.were.a.pr
61da0 6f 63 65 64 75 72 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 0a 2d 2d 2d 20 2d 2d 2d 20 2d 2d ocedure.application...---.---.--
61dc0 2d 0a 0a 4e 6f 74 65 3a 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 65 78 74 65 6e 64 73 20 74 68 65 -..Note:.Racket.Mode.extends.the
61de0 20 74 72 61 64 69 74 69 6f 6e 61 6c 20 45 6d 61 63 73 20 6c 69 73 70 20 69 6e 64 65 6e 74 20 73 .traditional.Emacs.lisp.indent.s
61e00 70 65 63 0a 74 6f 20 61 6c 6c 6f 77 20 61 20 2f 6e 65 67 61 74 69 76 65 2f 20 69 6e 74 65 67 65 pec.to.allow.a./negative/.intege
61e20 72 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 61 6c 6c 20 64 69 73 74 69 6e 67 75 r,.which.means.that.all.distingu
61e40 69 73 68 65 64 0a 66 6f 72 6d 73 20 73 68 6f 75 6c 64 20 61 6c 69 67 6e 20 77 69 74 68 20 74 68 ished.forms.should.align.with.th
61e60 65 20 66 69 72 73 74 20 6f 6e 65 2e 20 54 68 69 73 20 73 74 79 6c 65 20 6f 72 69 67 69 6e 61 74 e.first.one..This.style.originat
61e80 65 64 20 77 69 74 68 0a 5c 22 66 6f 72 2f 66 6f 6c 64 5c 22 2c 20 77 68 69 63 68 20 68 61 73 20 ed.with.\"for/fold\",.which.has.
61ea0 74 77 6f 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 66 6f 72 6d 73 2e 20 54 72 61 64 69 74 69 two.distinguished.forms..Traditi
61ec0 6f 6e 61 6c 6c 79 0a 74 68 6f 73 65 20 77 6f 75 6c 64 20 69 6e 64 65 6e 74 20 6c 69 6b 65 20 74 onally.those.would.indent.like.t
61ee0 68 69 73 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 72 61 63 6b 65 74 0a 20 20 20 20 28 66 6f his:..#+BEGIN_SRC.racket.....(fo
61f00 72 2f 66 6f 6c 64 20 28 5b 78 20 78 73 5d 29 0a 20 20 20 20 20 20 20 20 28 5b 79 20 79 73 5d 29 r/fold.([x.xs]).........([y.ys])
61f20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 74 77 69 63 65 20 62 6f 64 79 20 69 6e 64 65 6e 74 0a ............;.twice.body.indent.
61f40 20 20 20 20 20 20 62 6f 64 79 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 48 6f 77 65 76 65 72 20 74 ......body).#+END_SRC..However.t
61f60 68 65 20 70 6f 70 75 6c 61 72 6c 79 20 64 65 73 69 72 65 64 20 69 6e 64 65 6e 74 20 69 73 3a 0a he.popularly.desired.indent.is:.
61f80 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 72 61 63 6b 65 74 0a 20 20 20 20 28 66 6f 72 2f 66 6f 6c .#+BEGIN_SRC.racket.....(for/fol
61fa0 64 20 28 5b 78 20 78 73 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 79 20 79 73 5d d.([x.xs])...............([y.ys]
61fc0 29 20 20 20 20 20 20 3b 20 73 61 6d 65 20 61 73 20 66 69 72 73 74 20 64 69 73 74 69 6e 67 75 73 )......;.same.as.first.distingus
61fe0 68 65 64 20 66 6f 72 6d 0a 20 20 20 20 20 20 62 6f 64 79 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a hed.form.......body).#+END_SRC..
62000 54 68 69 73 20 69 64 65 61 20 65 78 74 65 6e 64 73 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 20 64 69 This.idea.extends.to.optional.di
62020 73 74 69 6e 67 75 69 73 68 65 64 20 66 6f 72 6d 73 2c 20 73 75 63 68 20 61 73 20 54 79 70 65 64 stinguished.forms,.such.as.Typed
62040 0a 52 61 63 6b 65 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 5c 22 70 72 65 66 69 78 65 73 5c 22 20 .Racket.annotation.\"prefixes\".
62060 69 6e 20 5c 22 66 6f 72 2f 66 6f 6c 64 5c 22 2c 20 5c 22 66 6f 72 2f 78 5c 22 2c 20 61 6e 64 0a in.\"for/fold\",.\"for/x\",.and.
62080 65 76 65 6e 20 5c 22 6c 65 74 5c 22 20 66 6f 72 6d 73 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 even.\"let\".forms:..#+BEGIN_SRC
620a0 20 72 61 63 6b 65 74 0a 20 20 20 20 28 66 6f 72 2f 66 6f 6c 64 20 3a 20 54 79 70 65 0a 20 20 20 .racket.....(for/fold.:.Type....
620c0 20 20 20 20 20 20 20 20 20 20 20 28 5b 78 20 78 73 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........([x.xs]).............
620e0 20 20 28 5b 79 20 79 73 5d 29 20 20 20 20 20 20 3b 20 73 61 6d 65 20 61 73 20 66 69 72 73 74 20 ..([y.ys])......;.same.as.first.
62100 64 69 73 74 69 6e 67 75 73 68 65 64 20 66 6f 72 6d 0a 20 20 20 20 20 20 62 6f 64 79 29 0a 23 2b distingushed.form.......body).#+
62120 45 4e 44 5f 53 52 43 0a 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 68 65 END_SRC."...(interactive)...(whe
62140 6e 2d 6c 65 74 20 28 61 6d 6f 75 6e 74 20 28 72 61 63 6b 65 74 2d 2d 63 61 6c 63 75 6c 61 74 65 n-let.(amount.(racket--calculate
62160 2d 69 6e 64 65 6e 74 29 29 0a 20 20 20 20 3b 3b 20 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 77 -indent)).....;;.When.point.is.w
62180 69 74 68 69 6e 20 74 68 65 20 6c 65 61 64 69 6e 67 20 77 68 69 74 65 73 70 61 63 65 2c 20 6d 6f ithin.the.leading.whitespace,.mo
621a0 76 65 20 69 74 20 70 61 73 74 20 74 68 65 0a 20 20 20 20 3b 3b 20 6e 65 77 20 69 6e 64 65 6e 74 ve.it.past.the.....;;.new.indent
621c0 61 74 69 6f 6e 20 77 68 69 74 65 73 70 61 63 65 2e 20 4f 74 68 65 72 77 69 73 65 20 70 72 65 73 ation.whitespace..Otherwise.pres
621e0 65 72 76 65 20 69 74 73 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 3b 3b 20 72 65 6c 61 74 69 76 erve.its.position.....;;.relativ
62200 65 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 74 65 78 74 2e 0a 20 20 20 20 28 6c 65 74 e.to.the.original.text......(let
62220 20 28 28 70 6f 73 20 28 2d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 28 70 6f 69 6e 74 29 29 29 0a .((pos.(-.(point-max).(point))).
62240 20 20 20 20 20 20 20 20 20 20 28 62 65 67 20 28 70 72 6f 67 6e 20 28 62 65 67 69 6e 6e 69 6e 67 ..........(beg.(progn.(beginning
62260 2d 6f 66 2d 6c 69 6e 65 29 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 28 73 6b 69 70 -of-line).(point)))).......(skip
62280 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 22 29 0a 20 20 20 20 20 20 28 75 6e 6c -chars-forward.".\t").......(unl
622a0 65 73 73 20 28 3d 20 61 6d 6f 75 6e 74 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 0a ess.(=.amount.(current-column)).
622c0 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 62 65 67 20 28 70 6f 69 6e ........(delete-region.beg.(poin
622e0 74 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 2d 74 6f 20 61 6d 6f 75 6e 74 29 29 0a t)).........(indent-to.amount)).
62300 20 20 20 20 20 20 28 77 68 65 6e 20 28 3c 20 28 70 6f 69 6e 74 29 20 28 2d 20 28 70 6f 69 6e 74 ......(when.(<.(point).(-.(point
62320 2d 6d 61 78 29 20 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 -max).pos)).........(goto-char.(
62340 2d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 70 6f 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 -.(point-max).pos))))))..(defun.
62360 72 61 63 6b 65 74 2d 2d 63 61 6c 63 75 6c 61 74 65 2d 69 6e 64 65 6e 74 20 28 29 0a 20 20 22 52 racket--calculate-indent.()..."R
62380 65 74 75 72 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 66 6f eturn.appropriate.indentation.fo
623a0 72 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 20 61 73 20 4c 69 73 70 20 63 6f 64 65 2e 0a 0a 49 6e r.current.line.as.Lisp.code...In
623c0 20 75 73 75 61 6c 20 63 61 73 65 20 72 65 74 75 72 6e 73 20 61 6e 20 69 6e 74 65 67 65 72 3a 20 .usual.case.returns.an.integer:.
623e0 74 68 65 20 63 6f 6c 75 6d 6e 20 74 6f 20 69 6e 64 65 6e 74 20 74 6f 2e 0a 49 66 20 74 68 65 20 the.column.to.indent.to..If.the.
62400 76 61 6c 75 65 20 69 73 20 6e 69 6c 2c 20 74 68 61 74 20 6d 65 61 6e 73 20 64 6f 6e 27 74 20 63 value.is.nil,.that.means.don't.c
62420 68 61 6e 67 65 20 74 68 65 20 69 6e 64 65 6e 74 61 74 69 6f 6e 0a 62 65 63 61 75 73 65 20 74 68 hange.the.indentation.because.th
62440 65 20 6c 69 6e 65 20 73 74 61 72 74 73 20 69 6e 73 69 64 65 20 61 20 73 74 72 69 6e 67 2e 0a 0a e.line.starts.inside.a.string...
62460 54 68 69 73 20 69 73 20 60 63 61 6c 63 75 6c 61 74 65 2d 6c 69 73 70 2d 69 6e 64 65 6e 74 27 20 This.is.`calculate-lisp-indent'.
62480 64 69 73 74 69 6c 6c 65 64 20 74 6f 20 77 68 61 74 20 77 65 20 61 63 74 75 61 6c 6c 79 0a 6e 65 distilled.to.what.we.actually.ne
624a0 65 64 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 62 65 67 69 ed."...(save-excursion.....(begi
624c0 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 28 6c 65 74 20 28 28 69 6e 64 65 6e 74 nning-of-line).....(let.((indent
624e0 2d 70 6f 69 6e 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 -point.(point))...........(state
62500 20 20 20 20 20 20 20 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 65 73 63 ........nil)).......(racket--esc
62520 61 70 65 2d 73 74 72 69 6e 67 2d 6f 72 2d 63 6f 6d 6d 65 6e 74 29 0a 20 20 20 20 20 20 28 63 6f ape-string-or-comment).......(co
62540 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 20 28 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 ndition-case._.(backward-up-list
62560 20 31 29 20 28 73 63 61 6e 2d 65 72 72 6f 72 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 77 68 69 .1).(scan-error.nil)).......(whi
62580 6c 65 20 28 3c 20 28 70 6f 69 6e 74 29 20 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 le.(<.(point).indent-point).....
625a0 20 20 20 20 28 73 65 74 71 20 73 74 61 74 65 20 28 70 61 72 73 65 2d 70 61 72 74 69 61 6c 2d 73 ....(setq.state.(parse-partial-s
625c0 65 78 70 20 28 70 6f 69 6e 74 29 20 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 20 30 29 29 29 0a 20 20 exp.(point).indent-point.0)))...
625e0 20 20 20 20 28 6c 65 74 20 28 28 73 74 72 70 20 28 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 73 74 ....(let.((strp.(racket--ppss-st
62600 72 69 6e 67 2d 70 20 73 74 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 73 74 ring-p.state)).............(last
62620 20 28 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 6c 61 73 74 2d 73 65 78 70 20 73 74 61 74 65 29 29 .(racket--ppss-last-sexp.state))
62640 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 20 28 72 61 63 6b 65 74 2d 2d 70 70 73 73 .............(cont.(racket--ppss
62660 2d 63 6f 6e 74 61 69 6e 69 6e 67 2d 73 65 78 70 20 73 74 61 74 65 29 29 29 0a 20 20 20 20 20 20 -containing-sexp.state))).......
62680 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 28 73 74 72 70 20 20 20 20 20 20 20 20 20 20 ..(cond..........(strp..........
626a0 20 20 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 73 74 61 74 ........nil)..........((and.stat
626c0 65 20 6c 61 73 74 20 63 6f 6e 74 29 20 28 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 e.last.cont).(racket-indent-func
626e0 74 69 6f 6e 20 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 20 73 74 61 74 65 29 29 0a 20 20 20 20 20 20 tion.indent-point.state)).......
62700 20 20 20 28 63 6f 6e 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d ...(cont..................(goto-
62720 63 68 61 72 20 28 31 2b 20 63 6f 6e 74 29 29 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 char.(1+.cont)).(current-column)
62740 29 0a 20 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )..........(t...................
62760 20 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e ..(current-column)))))))..(defun
62780 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 28 69 6e 64 65 6e 74 2d .racket-indent-function.(indent-
627a0 70 6f 69 6e 74 20 73 74 61 74 65 29 0a 20 20 22 43 61 6c 6c 65 64 20 62 79 20 60 72 61 63 6b 65 point.state)..."Called.by.`racke
627c0 74 2d 2d 63 61 6c 63 75 6c 61 74 65 2d 69 6e 64 65 6e 74 27 20 74 6f 20 67 65 74 20 69 6e 64 65 t--calculate-indent'.to.get.inde
627e0 6e 74 20 63 6f 6c 75 6d 6e 2e 0a 0a 49 4e 44 45 4e 54 2d 50 4f 49 4e 54 20 69 73 20 74 68 65 20 nt.column...INDENT-POINT.is.the.
62800 70 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 63 68 20 74 68 65 20 6c 69 6e 65 20 62 65 69 6e 67 position.at.which.the.line.being
62820 20 69 6e 64 65 6e 74 65 64 20 62 65 67 69 6e 73 2e 0a 53 54 41 54 45 20 69 73 20 74 68 65 20 60 .indented.begins..STATE.is.the.`
62840 70 61 72 73 65 2d 70 61 72 74 69 61 6c 2d 73 65 78 70 27 20 73 74 61 74 65 20 66 6f 72 20 74 68 parse-partial-sexp'.state.for.th
62860 61 74 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 54 68 65 72 65 20 69 73 20 73 70 65 63 69 61 6c 20 68 at.position...There.is.special.h
62880 61 6e 64 6c 69 6e 67 20 66 6f 72 3a 0a 20 20 2d 20 66 6f 72 6d 73 20 74 68 61 74 20 62 65 67 69 andling.for:...-.forms.that.begi
628a0 6e 20 77 69 74 68 20 61 20 23 3a 6b 65 79 77 6f 72 64 20 28 61 73 20 66 6f 75 6e 64 20 69 6e 20 n.with.a.#:keyword.(as.found.in.
628c0 63 6f 6e 74 72 61 63 74 73 29 0a 20 20 2d 20 66 6f 72 6d 73 20 6c 69 6b 65 20 23 68 61 73 68 65 contracts)...-.forms.like.#hashe
628e0 71 28 29 0a 20 20 2d 20 64 61 74 61 20 73 65 71 75 65 6e 63 65 73 20 77 68 65 6e 20 60 72 61 63 q()...-.data.sequences.when.`rac
62900 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 27 20 69 73 20 3e 20 ket-indent-sequence-depth'.is.>.
62920 30 0a 20 20 2d 20 7b 7d 20 66 6f 72 6d 73 20 77 68 65 6e 20 60 72 61 63 6b 65 74 2d 69 6e 64 65 0...-.{}.forms.when.`racket-inde
62940 6e 74 2d 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 65 27 20 69 73 20 6e 6f 74 20 6e 69 6c nt-curly-as-sequence'.is.not.nil
62960 0a 0a 53 65 65 20 60 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 27 20 66 6f 72 20 6d ..See.`racket-indent-line'.for.m
62980 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 75 73 65 72 73 20 73 65 74 74 ore.information.about.users.sett
629a0 69 6e 67 0a 74 68 65 20 60 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 60 ing.the.`racket-indent-function`
629c0 20 70 72 6f 70 65 72 74 79 2e 22 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 72 61 63 6b 65 74 .property."...(goto-char.(racket
629e0 2d 2d 70 70 73 73 2d 63 6f 6e 74 61 69 6e 69 6e 67 2d 73 65 78 70 20 73 74 61 74 65 29 29 0a 20 --ppss-containing-sexp.state))..
62a00 20 28 6c 65 74 20 28 28 62 6f 64 79 2d 69 6e 64 65 6e 74 20 28 2b 20 28 63 75 72 72 65 6e 74 2d .(let.((body-indent.(+.(current-
62a20 63 6f 6c 75 6d 6e 29 20 6c 69 73 70 2d 62 6f 64 79 2d 69 6e 64 65 6e 74 29 29 29 0a 20 20 20 20 column).lisp-body-indent))).....
62a40 28 66 6f 72 77 61 72 64 2d 63 68 61 72 20 31 29 0a 20 20 20 20 28 69 66 20 28 6f 72 20 28 72 61 (forward-char.1).....(if.(or.(ra
62a60 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 69 74 65 72 61 6c 2d 6f 72 2d 6b 65 79 77 6f 72 64 2d 70 29 cket--hash-literal-or-keyword-p)
62a80 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 61 74 61 2d 73 65 71 75 65 .............(racket--data-seque
62aa0 6e 63 65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 61 6c 6c 2d nce-p).............(racket--all-
62ac0 68 79 70 68 65 6e 73 2d 70 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 28 62 61 63 6b hyphens-p)).........(progn.(back
62ae0 77 61 72 64 2d 70 72 65 66 69 78 2d 63 68 61 72 73 29 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 ward-prefix-chars).(current-colu
62b00 6d 6e 29 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 68 65 61 64 20 20 20 28 62 75 66 66 65 mn)).......(let*.((head...(buffe
62b20 72 2d 73 75 62 73 74 72 69 6e 67 20 28 70 6f 69 6e 74 29 20 28 70 72 6f 67 6e 20 28 66 6f 72 77 r-substring.(point).(progn.(forw
62b40 61 72 64 2d 73 65 78 70 20 31 29 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 ard-sexp.1).(point))))..........
62b60 20 20 20 20 28 6d 65 74 68 6f 64 20 28 72 61 63 6b 65 74 2d 2d 67 65 74 2d 69 6e 64 65 6e 74 2d ....(method.(racket--get-indent-
62b80 66 75 6e 63 74 69 6f 6e 2d 6d 65 74 68 6f 64 20 68 65 61 64 29 29 29 0a 20 20 20 20 20 20 20 20 function-method.head))).........
62ba0 28 63 6f 6e 64 20 28 28 69 6e 74 65 67 65 72 70 20 6d 65 74 68 6f 64 29 0a 20 20 20 20 20 20 20 (cond.((integerp.method)........
62bc0 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 73 70 65 63 69 61 6c 2d ........(racket--indent-special-
62be0 66 6f 72 6d 20 6d 65 74 68 6f 64 20 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 20 73 74 61 74 65 29 29 form.method.indent-point.state))
62c00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 6d 65 74 68 6f 64 20 27 64 65 66 75 ...............((eq.method.'defu
62c20 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e n)................(racket--inden
62c40 74 2d 64 65 66 75 6e 20 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 20 62 6f 64 79 2d 69 6e 64 65 6e 74 t-defun.indent-point.body-indent
62c60 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 74 68 6f 64 0a 20 20 20 20 20 20 20 ))...............(method........
62c80 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6d 65 74 68 6f 64 20 69 6e 64 65 6e 74 2d 70 ........(funcall.method.indent-p
62ca0 6f 69 6e 74 20 73 74 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 oint.state))...............((str
62cc0 69 6e 67 2d 6d 61 74 63 68 2d 70 20 28 72 78 20 62 6f 73 20 28 6f 72 20 22 64 65 66 22 20 22 77 ing-match-p.(rx.bos.(or."def"."w
62ce0 69 74 68 2d 22 29 29 20 68 65 61 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 ith-")).head)................(ra
62d00 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 64 65 66 75 6e 20 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 20 cket--indent-defun.indent-point.
62d20 62 6f 64 79 2d 69 6e 64 65 6e 74 29 29 20 3b 6c 69 6b 65 20 27 64 65 66 75 6e 0a 20 20 20 20 20 body-indent)).;like.'defun......
62d40 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 28 72 78 20 62 6f .........((string-match-p.(rx.bo
62d60 73 20 22 62 65 67 69 6e 22 29 20 68 65 61 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s."begin").head)................
62d80 28 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 73 70 65 63 69 61 6c 2d 66 6f 72 6d 20 30 20 69 (racket--indent-special-form.0.i
62da0 6e 64 65 6e 74 2d 70 6f 69 6e 74 20 73 74 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ndent-point.state)).............
62dc0 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 28 72 78 20 62 6f 73 20 28 6f 72 20 22 ..((string-match-p.(rx.bos.(or."
62de0 66 6f 72 2f 22 20 22 66 6f 72 2a 2f 22 29 29 20 68 65 61 64 29 0a 20 20 20 20 20 20 20 20 20 20 for/"."for*/")).head)...........
62e00 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 66 6f 72 20 69 6e 64 65 6e 74 2d .....(racket--indent-for.indent-
62e20 70 6f 69 6e 74 20 73 74 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 point.state))...............(t..
62e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6e 6f 72 6d 61 6c 2d 69 6e ..............(racket--normal-in
62e60 64 65 6e 74 20 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 20 73 74 61 74 65 29 29 29 29 29 29 29 0a 0a dent.indent-point.state)))))))..
62e80 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 64 65 66 75 6e 20 28 69 6e 64 (defun.racket--indent-defun.(ind
62ea0 65 6e 74 2d 70 6f 69 6e 74 20 62 6f 64 79 2d 69 6e 64 65 6e 74 29 0a 20 20 28 73 61 76 65 2d 65 ent-point.body-indent)...(save-e
62ec0 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 69 6e 64 65 6e 74 2d 70 xcursion.....(goto-char.indent-p
62ee0 6f 69 6e 74 29 0a 20 20 20 20 3b 3b 20 57 68 65 6e 20 61 20 6c 69 6e 65 20 73 74 61 72 74 73 20 oint).....;;.When.a.line.starts.
62f00 77 69 74 68 20 22 3a 22 2c 20 69 6e 64 65 6e 74 20 77 69 74 68 20 70 72 65 76 69 6f 75 73 20 73 with.":",.indent.with.previous.s
62f20 65 78 70 20 69 66 20 74 68 61 74 0a 20 20 20 20 3b 3b 20 69 73 20 61 20 6c 69 73 74 2e 20 48 61 exp.if.that.....;;.is.a.list..Ha
62f40 6e 64 6c 65 73 20 61 20 54 79 70 65 64 20 52 61 63 6b 65 74 20 72 65 73 75 6c 74 20 74 79 70 65 ndles.a.Typed.Racket.result.type
62f60 20 6f 6e 20 69 74 73 20 6f 77 6e 20 6c 69 6e 65 0a 20 20 20 20 3b 3b 20 61 66 74 65 72 20 6c 69 .on.its.own.line.....;;.after.li
62f80 73 74 20 6f 66 20 66 6f 72 6d 61 6c 20 70 61 72 61 6d 65 74 65 72 73 2e 20 28 41 6c 74 68 6f 75 st.of.formal.parameters..(Althou
62fa0 67 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 0a 20 20 20 20 3b 3b 20 6d 61 74 gh.the.following.test.....;;.mat
62fc0 63 68 65 73 20 22 3a 22 20 65 6c 73 65 77 68 65 72 65 2c 20 74 68 65 20 73 74 61 72 74 20 6f 66 ches.":".elsewhere,.the.start.of
62fe0 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 6c 69 73 74 20 73 65 78 70 20 69 73 0a 20 20 20 20 3b .the.previous.list.sexp.is.....;
63000 3b 20 74 68 65 20 73 61 6d 65 20 61 73 20 62 6f 64 79 2d 69 6e 64 65 6e 74 20 2d 2d 20 77 68 61 ;.the.same.as.body-indent.--.wha
63020 74 20 77 65 27 64 20 64 6f 20 61 6e 79 77 61 79 2e 29 0a 20 20 20 20 28 6f 72 20 28 61 6e 64 20 t.we'd.do.anyway.).....(or.(and.
63040 28 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 70 20 22 5b 20 5d 2a 3a 22 29 0a 20 20 20 20 20 20 20 20 20 (looking-at-p."[.]*:")..........
63060 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(ignore-errors..............
63080 20 20 28 62 61 63 6b 77 61 72 64 2d 73 65 78 70 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..(backward-sexp.1).............
630a0 20 20 20 28 61 6e 64 20 28 65 71 20 3f 5c 28 20 28 63 68 61 72 2d 73 79 6e 74 61 78 20 28 63 68 ...(and.(eq.?\(.(char-syntax.(ch
630c0 61 72 2d 61 66 74 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ar-after))).....................
630e0 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 62 6f 64 79 (current-column)))).........body
63100 2d 69 6e 64 65 6e 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d -indent)))..(defun.racket--hash-
63120 6c 69 74 65 72 61 6c 2d 6f 72 2d 6b 65 79 77 6f 72 64 2d 70 20 28 29 0a 20 20 22 4c 6f 6f 6b 69 literal-or-keyword-p.()..."Looki
63140 6e 67 20 61 74 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 23 66 6c 28 29 20 23 68 61 73 68 28 29 20 ng.at.things.like.#fl().#hash().
63160 6f 72 20 23 3a 6b 65 79 77 6f 72 64 20 3f 0a 54 68 65 20 6c 61 73 74 20 6f 63 63 75 72 73 20 69 or.#:keyword.?.The.last.occurs.i
63180 6e 20 52 61 63 6b 65 74 20 63 6f 6e 74 72 61 63 74 20 66 6f 72 6d 73 2c 20 65 2e 67 2e 20 28 2d n.Racket.contract.forms,.e.g..(-
631a0 3e 2a 20 28 29 20 28 23 3a 6b 77 20 6b 77 29 29 2e 0a 52 65 74 75 72 6e 73 20 6e 69 6c 20 66 6f >*.().(#:kw.kw))..Returns.nil.fo
631c0 72 20 23 25 20 69 64 65 6e 74 69 66 69 65 72 73 20 6c 69 6b 65 20 23 25 61 70 70 2e 22 0a 20 20 r.#%.identifiers.like.#%app."...
631e0 28 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 70 20 28 72 78 20 3f 5c 23 20 28 6f 72 20 3f 5c 3a 0a 20 20 (looking-at-p.(rx.?\#.(or.?\:...
63200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 ..........................(not.(
63220 61 6e 79 20 3f 5c 25 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 61 6c any.?\%))))))..(defun.racket--al
63240 6c 2d 68 79 70 68 65 6e 73 2d 70 20 28 29 0a 20 20 22 4d 61 67 69 63 20 66 6f 72 20 72 65 64 65 l-hyphens-p.()..."Magic.for.rede
63260 78 20 6c 69 6b 65 20 77 68 61 74 20 44 72 52 61 63 6b 65 74 20 64 6f 65 73 2e 22 0a 20 20 28 6c x.like.what.DrRacket.does."...(l
63280 6f 6f 6b 69 6e 67 2d 61 74 2d 70 20 28 72 78 20 28 3e 3d 20 33 20 3f 2d 29 20 28 61 6e 64 20 28 ooking-at-p.(rx.(>=.3.?-).(and.(
632a0 6e 6f 74 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 not.(syntax.word))..............
632c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 79 6e 74 ......................(not.(synt
632e0 61 78 20 73 79 6d 62 6f 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ax.symbol)).....................
63300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 79 6e 74 61 78 20 70 75 6e 63 ...............(not.(syntax.punc
63320 74 75 61 74 69 6f 6e 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 61 tuation))))))..(defun.racket--da
63340 74 61 2d 73 65 71 75 65 6e 63 65 2d 70 20 28 29 0a 20 20 22 4c 6f 6f 6b 69 6e 67 20 61 74 20 5c ta-sequence-p.()..."Looking.at.\
63360 22 64 61 74 61 5c 22 20 73 65 71 75 65 6e 63 65 73 20 77 68 65 72 65 20 77 65 20 61 6c 69 67 6e "data\".sequences.where.we.align
63380 20 75 6e 64 65 72 20 68 65 61 64 20 69 74 65 6d 3f 0a 0a 54 68 65 73 65 20 73 65 71 75 65 6e 63 .under.head.item?..These.sequenc
633a0 65 73 20 69 6e 63 6c 75 64 65 20 5c 5c 3d 27 28 29 20 5c 5c 3d 60 28 29 20 23 28 29 20 2d 2d 20 es.include.\\='().\\=`().#().--.
633c0 61 6e 64 20 7b 7d 20 77 68 65 6e 0a 60 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 63 75 72 6c 79 and.{}.when.`racket-indent-curly
633e0 2d 61 73 2d 73 65 71 75 65 6e 63 65 27 20 69 73 20 74 20 2d 2d 20 62 75 74 20 6e 65 76 65 72 20 -as-sequence'.is.t.--.but.never.
63400 23 5c 5c 3d 27 28 29 0a 23 5c 5c 3d 60 28 29 20 2c 28 29 20 2c 40 28 29 2e 0a 0a 54 6f 20 68 61 #\\='().#\\=`().,().,@()...To.ha
63420 6e 64 6c 65 20 6e 65 73 74 65 64 20 69 74 65 6d 73 2c 20 77 65 20 73 65 61 72 63 68 20 60 62 61 ndle.nested.items,.we.search.`ba
63440 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 27 20 75 70 20 74 6f 0a 60 72 61 63 6b 65 74 2d 69 6e ckward-up-list'.up.to.`racket-in
63460 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 27 20 74 69 6d 65 73 2e 22 0a 20 20 28 dent-sequence-depth'.times."...(
63480 61 6e 64 20 28 3c 20 30 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d and.(<.0.racket-indent-sequence-
634a0 64 65 70 74 68 29 0a 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 depth)........(save-excursion...
634c0 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 .......(ignore-errors...........
634e0 20 28 6c 65 74 20 28 28 61 6e 73 77 65 72 20 27 75 6e 6b 6e 6f 77 6e 29 0a 20 20 20 20 20 20 20 .(let.((answer.'unknown)........
63500 20 20 20 20 20 20 20 20 20 20 28 64 65 70 74 68 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 ..........(depth.racket-indent-s
63520 65 71 75 65 6e 63 65 2d 64 65 70 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 equence-depth))..............(wh
63540 69 6c 65 20 28 61 6e 64 20 28 65 71 20 61 6e 73 77 65 72 20 27 75 6e 6b 6e 6f 77 6e 29 0a 20 20 ile.(and.(eq.answer.'unknown)...
63560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 30 20 64 65 70 74 .......................(<.0.dept
63580 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 75 70 2d h))................(backward-up-
635a0 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 64 65 63 66 20 64 65 list)................(cl-decf.de
635c0 70 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 6f 72 0a 20 pth)................(cond.((or..
635e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 20 71 75 6f 74 65 ......................;;.a.quote
63600 64 20 27 28 20 29 20 6f 72 20 71 75 61 73 69 71 75 6f 74 65 64 20 60 28 20 29 20 6c 69 73 74 20 d.'(.).or.quasiquoted.`(.).list.
63620 2d 2d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 75 74 --........................;;.but
63640 20 4e 4f 54 20 73 79 6e 74 61 78 20 23 27 28 20 29 20 6f 72 20 71 75 61 73 69 73 79 6e 74 61 78 .NOT.syntax.#'(.).or.quasisyntax
63660 20 23 60 28 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 .#`(.)........................(a
63680 6e 64 20 28 6d 65 6d 71 20 28 63 68 61 72 2d 62 65 66 6f 72 65 20 28 70 6f 69 6e 74 29 29 20 27 nd.(memq.(char-before.(point)).'
636a0 28 3f 5c 27 20 3f 5c 60 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (?\'.?\`))......................
636c0 20 20 20 20 20 20 20 28 65 71 20 28 63 68 61 72 2d 61 66 74 65 72 20 28 70 6f 69 6e 74 29 29 20 .......(eq.(char-after.(point)).
636e0 3f 5c 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ?\()............................
63700 20 28 6e 6f 74 20 28 65 71 20 28 63 68 61 72 2d 62 65 66 6f 72 65 20 28 31 2d 20 28 70 6f 69 6e .(not.(eq.(char-before.(1-.(poin
63720 74 29 29 29 20 3f 23 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t))).?#)))......................
63740 20 20 3b 3b 20 61 20 76 65 63 74 6f 72 20 6c 69 74 65 72 61 6c 3a 20 23 28 20 29 0a 20 20 20 20 ..;;.a.vector.literal:.#(.).....
63760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 65 71 20 28 63 68 61 ...................(and.(eq.(cha
63780 72 2d 62 65 66 6f 72 65 20 28 70 6f 69 6e 74 29 29 20 3f 23 29 0a 20 20 20 20 20 20 20 20 20 20 r-before.(point)).?#)...........
637a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 63 68 61 72 2d 61 66 74 65 ..................(eq.(char-afte
637c0 72 20 20 28 70 6f 69 6e 74 29 29 20 3f 5c 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r..(point)).?\())...............
637e0 20 20 20 20 20 20 20 20 20 3b 3b 20 7b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........;;.{.}.................
63800 20 20 20 20 20 20 20 28 61 6e 64 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 63 75 72 6c 79 2d .......(and.racket-indent-curly-
63820 61 73 2d 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 as-sequence.....................
63840 20 20 20 20 20 20 20 20 28 65 71 20 28 63 68 61 72 2d 61 66 74 65 72 20 28 70 6f 69 6e 74 29 29 ........(eq.(char-after.(point))
63860 20 3f 7b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 .?{))).......................(se
63880 74 71 20 61 6e 73 77 65 72 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tq.answer.t))...................
638a0 20 20 20 28 3b 3b 20 75 6e 71 75 6f 74 65 20 6f 72 20 75 6e 71 75 6f 74 65 2d 73 70 6c 69 63 69 ...(;;.unquote.or.unquote-splici
638c0 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6f ng.......................(and.(o
638e0 72 20 28 65 71 20 28 63 68 61 72 2d 62 65 66 6f 72 65 20 28 70 6f 69 6e 74 29 29 20 3f 2c 29 0a r.(eq.(char-before.(point)).?,).
63900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
63920 61 6e 64 20 28 65 71 20 28 63 68 61 72 2d 62 65 66 6f 72 65 20 28 31 2d 20 28 70 6f 69 6e 74 29 and.(eq.(char-before.(1-.(point)
63940 29 29 20 3f 2c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )).?,)..........................
63960 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 63 68 61 72 2d 62 65 66 6f 72 65 20 28 70 6f 69 ...........(eq.(char-before.(poi
63980 6e 74 29 29 20 20 20 20 20 20 3f 40 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt))......?@))).................
639a0 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 63 68 61 72 2d 61 66 74 65 72 20 28 70 6f 69 6e ...........(eq.(char-after.(poin
639c0 74 29 29 20 3f 5c 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t)).?\()).......................
639e0 28 73 65 74 71 20 61 6e 73 77 65 72 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 (setq.answer.nil))))............
63a00 20 20 28 65 71 20 61 6e 73 77 65 72 20 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 ..(eq.answer.t))))))..(defun.rac
63a20 6b 65 74 2d 2d 6e 6f 72 6d 61 6c 2d 69 6e 64 65 6e 74 20 28 5f 69 6e 64 65 6e 74 2d 70 6f 69 6e ket--normal-indent.(_indent-poin
63a40 74 20 73 74 61 74 65 29 0a 20 20 3b 3b 20 43 72 65 64 69 74 3a 20 53 75 62 73 74 61 6e 74 69 61 t.state)...;;.Credit:.Substantia
63a60 6c 6c 79 20 62 6f 72 72 6f 77 65 64 20 66 72 6f 6d 20 63 6c 6f 6a 75 72 65 2d 6d 6f 64 65 0a 20 lly.borrowed.from.clojure-mode..
63a80 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 6c 61 73 74 2d 73 .(goto-char.(racket--ppss-last-s
63aa0 65 78 70 20 73 74 61 74 65 29 29 0a 20 20 28 62 61 63 6b 77 61 72 64 2d 70 72 65 66 69 78 2d 63 exp.state))...(backward-prefix-c
63ac0 68 61 72 73 29 0a 20 20 28 6c 65 74 20 28 28 6c 61 73 74 2d 73 65 78 70 20 6e 69 6c 29 29 0a 20 hars)...(let.((last-sexp.nil))..
63ae0 20 20 20 28 69 66 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 ...(if.(ignore-errors...........
63b00 3b 3b 20 60 62 61 63 6b 77 61 72 64 2d 73 65 78 70 27 20 75 6e 74 69 6c 20 77 65 20 72 65 61 63 ;;.`backward-sexp'.until.we.reac
63b20 68 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 61 20 73 65 78 70 20 74 68 61 74 20 69 73 20 74 68 h.the.start.of.a.sexp.that.is.th
63b40 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 69 72 73 74 20 6f 66 20 69 74 73 20 6c 69 6e 65 e...........;;.first.of.its.line
63b60 20 28 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 65 6e 63 6c 6f 73 69 6e 67 20 73 65 78 .(the.start.of.the.enclosing.sex
63b80 70 29 2e 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 p)............(while.(string-mat
63ba0 63 68 2d 70 20 28 72 78 20 28 6e 6f 74 20 62 6c 61 6e 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 ch-p.(rx.(not.blank))...........
63bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 .......................(buffer-s
63be0 75 62 73 74 72 69 6e 67 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f ubstring.(line-beginning-positio
63c00 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n)..............................
63c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 29 0a ......................(point))).
63c40 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 61 73 74 2d 73 65 78 70 20 28 70 72 6f ............(setq.last-sexp.(pro
63c60 67 31 20 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g1.(point)......................
63c80 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 2d 31 29 29 29 29 0a 20 20 .........(forward-sexp.-1))))...
63ca0 20 20 20 20 20 20 20 20 74 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 48 65 72 65 20 77 65 27 76 65 ........t).........;;.Here.we've
63cc0 20 66 6f 75 6e 64 20 61 6e 20 61 72 67 20 62 65 66 6f 72 65 20 74 68 65 20 61 72 67 20 77 65 27 .found.an.arg.before.the.arg.we'
63ce0 72 65 20 69 6e 64 65 6e 74 69 6e 67 0a 20 20 20 20 20 20 20 20 3b 3b 20 77 68 69 63 68 20 69 73 re.indenting.........;;.which.is
63d00 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 61 20 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 .at.the.start.of.a.line.........
63d20 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 20 20 3b 3b 20 48 65 72 65 20 .(current-column).......;;.Here.
63d40 77 65 27 76 65 20 72 65 61 63 68 65 64 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 65 we've.reached.the.start.of.the.e
63d60 6e 63 6c 6f 73 69 6e 67 20 73 65 78 70 20 28 70 6f 69 6e 74 20 69 73 0a 20 20 20 20 20 20 3b 3b nclosing.sexp.(point.is.......;;
63d80 20 6e 6f 77 20 61 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 29 2c 20 73 6f 20 74 .now.at.the.function.name),.so.t
63da0 68 65 20 62 65 68 61 76 69 6f 72 20 64 65 70 65 6e 64 73 20 6f 6e 20 77 68 65 74 68 65 72 0a 20 he.behavior.depends.on.whether..
63dc0 20 20 20 20 20 3b 3b 20 74 68 65 72 65 27 73 20 61 6c 73 6f 20 61 6e 20 61 72 67 75 6d 65 6e 74 .....;;.there's.also.an.argument
63de0 20 6f 6e 20 74 68 69 73 20 6c 69 6e 65 2e 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 .on.this.line........(when.(and.
63e00 6c 61 73 74 2d 73 65 78 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 6c 61 last-sexp..................(<.la
63e20 73 74 2d 73 65 78 70 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 29 0a 20 20 st-sexp.(line-end-position)))...
63e40 20 20 20 20 20 20 3b 3b 20 54 68 65 72 65 27 73 20 61 6e 20 61 72 67 20 61 66 74 65 72 20 74 68 ......;;.There's.an.arg.after.th
63e60 65 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 2c 20 73 6f 20 61 6c 69 67 6e 20 77 69 74 68 20 69 e.function.name,.so.align.with.i
63e80 74 2e 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6c 61 73 74 2d 73 65 78 70 29 t..........(goto-char.last-sexp)
63ea0 29 0a 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 29 0a 0a 28 64 65 ).......(current-column))))..(de
63ec0 66 75 6e 20 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 73 70 65 63 69 61 6c 2d 66 6f 72 6d 20 fun.racket--indent-special-form.
63ee0 28 6d 65 74 68 6f 64 20 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 20 73 74 61 74 65 29 0a 20 20 22 49 (method.indent-point.state)..."I
63f00 6e 64 65 6e 74 20 61 20 73 70 65 63 69 61 6c 20 66 6f 72 6d 20 73 74 61 72 74 69 6e 67 20 77 69 ndent.a.special.form.starting.wi
63f20 74 68 20 4d 45 54 48 4f 44 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 66 6f 72 6d 73 2e 0a 0a th.METHOD.distinguished.forms...
63f40 4d 45 54 48 4f 44 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 74 68 65 20 61 METHOD.must.be.an.integer,.the.a
63f60 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 77 68 69 63 68 20 69 73 20 74 68 65 0a 6e 75 bsolute.value.of.which.is.the.nu
63f80 6d 62 65 72 20 6f 66 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 66 6f 72 6d 73 2e 20 57 68 65 mber.of.distinguished.forms..Whe
63fa0 6e 20 61 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 66 6f 72 6d 20 69 73 20 6f 6e 0a 69 74 73 n.a.distinguished.form.is.on.its
63fc0 20 6f 77 6e 20 6c 69 6e 65 20 28 6e 6f 74 20 6f 6e 20 74 68 65 20 66 69 72 73 74 20 6c 69 6e 65 .own.line.(not.on.the.first.line
63fe0 29 20 69 74 20 67 65 74 73 20 73 70 65 63 69 61 6c 20 69 6e 64 65 6e 74 3a 0a 0a 2d 20 57 68 65 ).it.gets.special.indent:..-.Whe
64000 6e 20 4d 45 54 48 4f 44 20 69 73 20 70 6f 73 69 74 69 76 65 3a 20 54 77 69 63 65 20 60 6c 69 73 n.METHOD.is.positive:.Twice.`lis
64020 70 2d 62 6f 64 79 2d 69 6e 64 65 6e 74 27 2c 0a 20 20 77 68 69 63 68 20 69 73 20 74 68 65 20 5c p-body-indent',...which.is.the.\
64040 22 63 6c 61 73 73 69 63 5c 22 20 6c 69 73 70 20 62 65 68 61 76 69 6f 72 2e 0a 0a 2d 20 57 68 65 "classic\".lisp.behavior...-.Whe
64060 6e 20 4d 45 54 48 4f 44 20 69 73 20 6e 65 67 61 74 69 76 65 3a 20 53 61 6d 65 20 61 73 20 66 69 n.METHOD.is.negative:.Same.as.fi
64080 72 73 74 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 66 6f 72 6d 2e 0a 0a 41 6e 79 20 61 64 64 rst.distinguished.form...Any.add
640a0 69 74 69 6f 6e 61 6c 2c 20 6e 6f 6e 2d 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 66 6f 72 6d 73 itional,.non-distinguished.forms
640c0 20 67 65 74 20 6e 6f 72 6d 61 6c 20 69 6e 64 65 6e 74 2e 22 0a 20 20 3b 3b 20 43 72 65 64 69 74 .get.normal.indent."...;;.Credit
640e0 3a 20 53 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 62 6f 72 72 6f 77 65 64 20 66 72 6f 6d 20 63 6c :.Substantially.borrowed.from.cl
64100 6f 6a 75 72 65 2d 6d 6f 64 65 20 2d 2d 2d 20 61 6c 74 68 6f 75 67 68 20 74 68 65 0a 20 20 3b 3b ojure-mode.---.although.the...;;
64120 20 63 6f 6e 63 65 70 74 20 6f 66 20 74 68 65 20 22 6e 65 67 61 74 69 76 65 22 20 6e 75 6d 62 65 .concept.of.the."negative".numbe
64140 72 20 6f 66 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 66 6f 72 6d 73 20 69 73 20 6f 75 72 73 r.of.distinguished.forms.is.ours
64160 2c 0a 20 20 3b 3b 20 69 6e 74 72 6f 64 75 63 65 64 20 74 6f 20 68 61 6e 64 6c 65 20 73 6f 6d 65 ,...;;.introduced.to.handle.some
64180 20 52 61 63 6b 65 74 20 66 6f 72 6d 73 20 6c 69 6b 65 20 66 6f 72 2f 66 6f 6c 64 20 61 6e 64 20 .Racket.forms.like.for/fold.and.
641a0 74 68 65 0a 20 20 3b 3b 20 6f 70 74 69 6f 6e 61 6c 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 6f 66 the...;;.optional.annotations.of
641c0 20 54 79 70 65 64 20 52 61 63 6b 65 74 27 73 20 6c 65 74 2e 0a 20 20 28 6c 65 74 20 28 28 64 69 .Typed.Racket's.let....(let.((di
641e0 73 74 69 6e 67 75 69 73 68 65 64 20 28 61 62 73 20 6d 65 74 68 6f 64 29 29 0a 20 20 20 20 20 20 stinguished.(abs.method)).......
64200 20 20 28 63 6f 6e 74 61 69 6e 69 6e 67 2d 63 6f 6c 75 6d 6e 20 28 73 61 76 65 2d 65 78 63 75 72 ..(containing-column.(save-excur
64220 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sion............................
64240 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 63 6f 6e 74 61 ..(goto-char.(racket--ppss-conta
64260 69 6e 69 6e 67 2d 73 65 78 70 20 73 74 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ining-sexp.state))..............
64280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 ................(current-column)
642a0 29 29 0a 20 20 20 20 20 20 20 20 28 66 69 72 73 74 2d 66 6f 72 6d 2d 63 6f 6c 75 6d 6e 20 28 73 )).........(first-form-column.(s
642c0 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ave-excursion...................
642e0 20 20 20 20 20 20 20 20 20 20 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 ...........(skip-chars-forward."
64300 20 5c 74 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .\t\n").........................
64320 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 0a 20 20 20 20 20 20 20 20 .....(current-column))).........
64340 28 63 6f 75 6e 74 20 2d 31 29 29 0a 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 (count.-1)).....(condition-case.
64360 5f 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 3c 3d 20 28 70 6f 69 6e 74 _.........(while.(and.(<=.(point
64380 29 20 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).indent-point).................
643a0 20 20 20 20 28 6e 6f 74 20 28 65 6f 62 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 ....(not.(eobp)))...........(for
643c0 77 61 72 64 2d 73 65 78 70 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 69 6e 63 66 20 ward-sexp.1)...........(cl-incf.
643e0 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 3b 3b 20 49 66 20 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 count)).......;;.If.indent-point
64400 20 69 73 20 5f 61 66 74 65 72 5f 20 74 68 65 20 6c 61 73 74 20 73 65 78 70 20 69 6e 20 74 68 65 .is._after_.the.last.sexp.in.the
64420 20 63 75 72 72 65 6e 74 20 73 65 78 70 2c 0a 20 20 20 20 20 20 3b 3b 20 77 65 20 64 65 74 65 63 .current.sexp,.......;;.we.detec
64440 74 20 74 68 61 74 20 62 79 20 63 61 74 63 68 69 6e 67 20 74 68 65 20 60 73 63 61 6e 2d 65 72 72 t.that.by.catching.the.`scan-err
64460 6f 72 27 2e 20 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 77 65 0a 20 20 20 20 20 20 3b 3b 20 73 or'..In.that.case,.we.......;;.s
64480 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 61 73 20 hould.return.the.indentation.as.
644a0 69 66 20 74 68 65 72 65 20 77 65 72 65 20 61 6e 20 65 78 74 72 61 20 73 65 78 70 0a 20 20 20 20 if.there.were.an.extra.sexp.....
644c0 20 20 3b 3b 20 61 74 20 70 6f 69 6e 74 2e 0a 20 20 20 20 20 20 28 73 63 61 6e 2d 65 72 72 6f 72 ..;;.at.point........(scan-error
644e0 20 28 63 6c 2d 69 6e 63 66 20 63 6f 75 6e 74 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3d .(cl-incf.count))).....(cond.((=
64500 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 63 6f 75 6e 74 29 20 20 20 20 20 20 3b 66 69 72 73 .distinguished.count)......;firs
64520 74 20 6e 6f 6e 2d 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 66 6f 72 6d 0a 20 20 20 20 20 20 20 t.non-distinguished.form........
64540 20 20 20 20 28 2b 20 63 6f 6e 74 61 69 6e 69 6e 67 2d 63 6f 6c 75 6d 6e 20 6c 69 73 70 2d 62 6f ....(+.containing-column.lisp-bo
64560 64 79 2d 69 6e 64 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3c 20 64 69 73 74 69 6e dy-indent))...........((<.distin
64580 67 75 69 73 68 65 64 20 63 6f 75 6e 74 29 20 20 20 20 20 20 3b 6f 74 68 65 72 20 6e 6f 6e 2d 64 guished.count)......;other.non-d
645a0 69 73 74 69 6e 67 75 69 73 68 65 64 20 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 61 istinguished.form............(ra
645c0 63 6b 65 74 2d 2d 6e 6f 72 6d 61 6c 2d 69 6e 64 65 6e 74 20 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 cket--normal-indent.indent-point
645e0 20 73 74 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 20 .state))...........(t...........
64600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 .................;distinguished.
64620 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 3d 20 30 20 6d 65 74 68 6f 64 form............(if.(<=.0.method
64640 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 63 6f 6e 74 61 69 6e 69 6e 67 2d 63 )................(+.containing-c
64660 6f 6c 75 6d 6e 20 28 2a 20 32 20 6c 69 73 70 2d 62 6f 64 79 2d 69 6e 64 65 6e 74 29 29 0a 20 20 olumn.(*.2.lisp-body-indent))...
64680 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 63 6f 75 6e 74 29 20 20 20 20 ...........(if.(zerop.count)....
646a0 20 20 20 20 20 20 3b 74 68 69 73 20 5f 69 73 5f 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 0a ......;this._is_.the.first.form.
646c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 63 6f 6e 74 61 69 6e 69 6e 67 2d 63 .................(+.containing-c
646e0 6f 6c 75 6d 6e 20 28 2a 20 32 20 6c 69 73 70 2d 62 6f 64 79 2d 69 6e 64 65 6e 74 29 29 0a 20 20 olumn.(*.2.lisp-body-indent))...
64700 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 72 73 74 2d 66 6f 72 6d 2d 63 6f 6c 75 6d 6e 29 29 .............first-form-column))
64720 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 6c 65 74 20 ))))..(defun.racket--indent-let.
64740 28 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 20 73 74 61 74 65 29 0a 20 20 22 49 6e 64 65 6e 74 20 61 (indent-point.state)..."Indent.a
64760 20 6c 65 74 20 66 6f 72 6d 2e 0a 0a 57 65 20 68 61 6e 64 6c 65 20 70 6c 61 69 6e 20 61 6e 64 20 .let.form...We.handle.plain.and.
64780 6e 61 6d 65 64 20 6c 65 74 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 74 68 65 20 67 72 61 6d 6d 61 named.let,.as.well.as.the.gramma
647a0 72 20 66 6f 72 20 54 79 70 65 64 0a 52 61 63 6b 65 74 20 6c 65 74 2e 22 0a 20 20 28 73 6b 69 70 r.for.Typed.Racket.let."...(skip
647c0 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 22 29 0a 20 20 28 6c 65 74 20 28 28 64 -chars-forward.".\t")...(let.((d
647e0 69 73 74 69 6e 67 75 69 73 68 65 64 2d 66 6f 72 6d 73 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 istinguished-forms..........(if.
64800 28 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 70 20 28 72 78 20 28 6f 72 20 22 23 3a 66 6f 72 61 6c 6c 22 (looking-at-p.(rx.(or."#:forall"
64820 20 22 23 3a e2 88 80 22 29 20 28 61 6e 79 20 22 20 5c 74 22 29 29 29 0a 20 20 20 20 20 20 20 20 ."#:...").(any.".\t"))).........
64840 20 20 20 20 20 2d 33 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6c 6f 6f 6b 69 6e 67 2d .....-3............(if.(looking-
64860 61 74 2d 70 20 28 72 78 20 28 73 79 6e 74 61 78 20 6f 70 65 6e 2d 70 61 72 65 6e 74 68 65 73 69 at-p.(rx.(syntax.open-parenthesi
64880 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 0a 20 20 20 20 20 20 20 20 20 20 s)))................1...........
648a0 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(save-excursion..............
648c0 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(forward-sexp.1)..............
648e0 20 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 5c 6e 22 29 0a 20 ..(skip-chars-forward.".\t\n")..
64900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 70 20 ..............(if.(looking-at-p.
64920 28 72 78 20 3f 3a 20 28 61 6e 79 20 22 20 5c 74 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 (rx.?:.(any.".\t")))............
64940 20 20 20 20 20 20 20 20 2d 34 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 29 29 29 ........-4..................2)))
64960 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 73 70 65 63 69 61 6c 2d ))).....(racket--indent-special-
64980 66 6f 72 6d 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 2d 66 6f 72 6d 73 0a 20 20 20 20 20 20 20 form.distinguished-forms........
649a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 64 65 6e 74 ..........................indent
649c0 2d 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -point..........................
649e0 20 20 20 20 20 20 20 20 73 74 61 74 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d ........state)))..(defun.racket-
64a00 2d 69 6e 64 65 6e 74 2d 66 6f 72 20 28 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 20 73 74 61 74 65 29 -indent-for.(indent-point.state)
64a20 0a 20 20 22 41 6c 6c 20 66 6f 72 2f 20 61 6e 64 20 66 6f 72 2a 2f 20 66 6f 72 6d 73 20 65 78 63 ..."All.for/.and.for*/.forms.exc
64a40 65 70 74 20 66 6f 72 2f 66 6f 6c 64 20 61 6e 64 20 66 6f 72 2a 2f 66 6f 6c 64 2e 0a 0a 43 68 65 ept.for/fold.and.for*/fold...Che
64a60 63 6b 73 20 66 6f 72 20 65 69 74 68 65 72 20 6f 66 3a 0a 20 20 2d 20 6d 61 79 62 65 2d 74 79 70 cks.for.either.of:...-.maybe-typ
64a80 65 2d 61 6e 6e 20 65 2e 67 2e 20 28 66 6f 72 2f 6c 69 73 74 20 3a 20 54 20 28 5b 78 20 78 73 5d e-ann.e.g..(for/list.:.T.([x.xs]
64aa0 29 20 78 29 0a 20 20 2d 20 66 6f 72 2f 76 65 63 74 6f 72 20 6f 70 74 69 6f 6e 61 6c 20 6c 65 6e ).x)...-.for/vector.optional.len
64ac0 67 74 68 2c 20 28 66 6f 72 2f 76 65 63 74 6f 72 20 23 3a 6c 65 6e 67 74 68 20 28 5b 78 20 78 73 gth,.(for/vector.#:length.([x.xs
64ae0 5d 29 20 78 29 22 0a 20 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c ]).x)"...(skip-chars-forward.".\
64b00 74 5c 6e 22 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 73 70 65 63 69 61 6c 2d t\n")...(racket--indent-special-
64b20 66 6f 72 6d 20 28 69 66 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 70 20 28 72 78 20 28 6f 72 20 3f form.(if.(looking-at-p.(rx.(or.?
64b40 5c 3a 20 3f 5c 23 29 29 29 20 2d 33 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \:.?\#))).-3.-1)................
64b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 0a 20 20 20 ................indent-point....
64b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 ............................stat
64ba0 65 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 66 6f 72 2f 66 e))..(defun.racket--indent-for/f
64bc0 6f 6c 64 20 28 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 20 73 74 61 74 65 29 0a 20 20 22 49 6e 64 65 old.(indent-point.state)..."Inde
64be0 6e 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 66 6f 72 2f 66 6f 6c 64 20 61 6e 64 20 66 6f 72 nt.function.for.for/fold.and.for
64c00 2a 2f 66 6f 6c 64 2e 0a 0a 43 68 65 63 6b 73 20 66 6f 72 20 6d 61 79 62 65 2d 74 79 70 65 2d 61 */fold...Checks.for.maybe-type-a
64c20 6e 6e 20 65 2e 67 2e 20 28 66 6f 72 2f 66 6f 6c 64 20 3a 20 54 20 28 5b 78 20 78 73 5d 29 20 28 nn.e.g..(for/fold.:.T.([x.xs]).(
64c40 5b 79 20 79 73 5d 29 20 78 29 20 22 0a 20 20 3b 3b 20 63 68 65 63 6b 20 66 6f 72 20 6d 61 79 62 [y.ys]).x)."...;;.check.for.mayb
64c60 65 2d 74 79 70 65 2d 61 6e 6e 20 65 2e 67 2e 20 28 66 6f 72 2f 66 6f 6c 64 20 3a 20 54 20 28 5b e-type-ann.e.g..(for/fold.:.T.([
64c80 6e 20 30 5d 29 20 28 5b 78 20 78 73 5d 29 20 78 29 0a 20 20 28 73 6b 69 70 2d 63 68 61 72 73 2d n.0]).([x.xs]).x)...(skip-chars-
64ca0 66 6f 72 77 61 72 64 20 22 20 5c 74 5c 6e 22 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 69 6e 64 65 forward.".\t\n")...(racket--inde
64cc0 6e 74 2d 73 70 65 63 69 61 6c 2d 66 6f 72 6d 20 28 69 66 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 2d nt-special-form.(if.(looking-at-
64ce0 70 20 28 72 78 20 3f 5c 3a 29 29 20 2d 34 20 2d 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 p.(rx.?\:)).-4.-2)..............
64d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 64 65 6e 74 2d 70 6f 69 6e 74 0a 20 ..................indent-point..
64d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 ..............................st
64d40 61 74 65 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 67 65 74 2d 69 6e 64 65 6e 74 ate))..(defun.racket--get-indent
64d60 2d 66 75 6e 63 74 69 6f 6e 2d 6d 65 74 68 6f 64 20 28 68 65 61 64 29 0a 20 20 22 47 65 74 20 70 -function-method.(head)..."Get.p
64d80 72 6f 70 65 72 74 79 20 6f 66 20 72 61 63 6b 65 74 2d 20 6f 72 20 73 63 68 65 6d 65 2d 69 6e 64 roperty.of.racket-.or.scheme-ind
64da0 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 2e 0a 0a 49 67 6e 6f 72 65 73 20 63 65 72 74 61 69 6e 20 77 ent-function...Ignores.certain.w
64dc0 69 74 68 2d 78 78 78 20 69 6e 64 65 6e 74 73 20 64 65 66 69 6e 65 64 20 62 79 20 73 63 68 65 6d ith-xxx.indents.defined.by.schem
64de0 65 2d 6d 6f 64 65 20 2d 2d 0a 62 65 63 61 75 73 65 20 77 65 20 61 75 74 6f 6d 61 74 69 63 61 6c e-mode.--.because.we.automatical
64e00 6c 79 20 69 6e 64 65 6e 74 20 77 69 74 68 2d 20 66 6f 72 6d 73 20 6a 75 73 74 20 6c 69 6b 65 20 ly.indent.with-.forms.just.like.
64e20 64 65 66 20 66 6f 72 6d 73 2e 0a 48 6f 77 65 76 65 72 20 69 66 20 61 20 5f 75 73 65 72 5f 20 68 def.forms..However.if.a._user_.h
64e40 61 73 20 64 65 66 69 6e 65 64 20 74 68 65 69 72 20 6f 77 6e 20 6c 65 67 61 63 79 20 73 63 68 65 as.defined.their.own.legacy.sche
64e60 6d 65 2d 6d 6f 64 65 0a 69 6e 64 65 6e 74 73 20 66 6f 72 20 5f 6f 74 68 65 72 5f 20 77 69 74 68 me-mode.indents.for._other_.with
64e80 2d 20 66 6f 72 6d 73 2c 20 74 68 6f 73 65 20 5f 77 69 6c 6c 5f 20 62 65 20 75 73 65 64 2e 20 57 -.forms,.those._will_.be.used..W
64ea0 65 20 6f 6e 6c 79 0a 69 67 6e 6f 72 65 20 61 20 73 68 6f 72 74 20 6c 69 73 74 20 64 65 66 69 6e e.only.ignore.a.short.list.defin
64ec0 65 64 20 62 79 20 73 63 68 65 6d 65 2d 6d 6f 64 65 20 69 74 73 65 6c 66 2e 22 0a 20 20 28 6c 65 ed.by.scheme-mode.itself."...(le
64ee0 74 20 28 28 73 79 6d 20 28 69 6e 74 65 72 6e 2d 73 6f 66 74 20 68 65 61 64 29 29 29 0a 20 20 20 t.((sym.(intern-soft.head)))....
64f00 20 28 6f 72 20 28 67 65 74 20 73 79 6d 20 27 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e .(or.(get.sym.'racket-indent-fun
64f20 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 28 6d 65 6d 71 20 73 ction).........(and.(not.(memq.s
64f40 79 6d 20 27 28 63 61 6c 6c 2d 77 69 74 68 2d 76 61 6c 75 65 73 0a 20 20 20 20 20 20 20 20 20 20 ym.'(call-with-values...........
64f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 2d 6d 6f 64 65 0a 20 20 ....................with-mode...
64f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 ............................with
64fa0 2d 69 6e 70 75 74 2d 66 72 6f 6d 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -input-from-file................
64fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 2d 69 6e 70 75 74 2d 66 72 6f 6d 2d 70 ...............with-input-from-p
64fe0 6f 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ort.............................
65000 20 20 77 69 74 68 2d 6f 75 74 70 75 74 2d 74 6f 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 ..with-output-to-file...........
65020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 2d 6f 75 74 70 75 74 2d ....................with-output-
65040 74 6f 2d 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 to-port.........................
65060 20 20 20 20 20 20 77 69 74 68 2d 69 6e 70 75 74 2d 66 72 6f 6d 2d 73 74 72 69 6e 67 0a 20 20 20 ......with-input-from-string....
65080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 2d ...........................with-
650a0 6f 75 74 70 75 74 2d 74 6f 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 output-to-string................
650c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 2d 76 61 6c 75 65 73 29 29 29 0a 20 20 ...............with-values)))...
650e0 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 20 73 79 6d 20 27 73 63 68 65 6d 65 2d 69 6e 64 65 ...........(get.sym.'scheme-inde
65100 6e 74 2d 66 75 6e 63 74 69 6f 6e 29 29 29 29 29 0a 0a 3b 3b 20 53 65 74 20 27 72 61 63 6b 65 74 nt-function)))))..;;.Set.'racket
65120 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 20 70 72 6f 70 65 72 74 79 20 76 61 6c 75 65 20 6f 6e 20 73 -indent-line.property.value.on.s
65140 79 6d 62 6f 6c 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 0a 3b 3b 20 76 61 72 69 6f ymbols.corresponding.to.;;.vario
65160 75 73 20 52 61 63 6b 65 74 20 73 79 6e 74 61 78 2e 0a 3b 3b 0a 3b 3b 20 4e 6f 74 65 20 74 68 61 us.Racket.syntax..;;.;;.Note.tha
65180 74 20 60 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 27 20 68 61 6e 64 6c t.`racket-indent-function'.handl
651a0 65 73 20 73 6f 6d 65 20 66 6f 72 6d 73 20 2d 2d 20 65 2e 67 2e 0a 3b 3b 20 60 62 65 67 69 6e 2a es.some.forms.--.e.g..;;.`begin*
651c0 60 2c 20 60 64 65 66 2a 60 20 60 66 6f 72 2a 60 2c 20 60 77 69 74 68 2d 2a 60 20 2d 2d 20 77 69 `,.`def*`.`for*`,.`with-*`.--.wi
651e0 74 68 20 72 65 67 65 78 70 20 6d 61 74 63 68 65 73 20 66 6f 72 0a 3b 3b 20 61 6e 79 74 68 69 6e th.regexp.matches.for.;;.anythin
65200 67 20 6e 6f 74 20 65 78 70 6c 69 63 69 74 6c 79 20 6c 69 73 74 65 64 20 68 65 72 65 2e 0a 28 64 g.not.explicitly.listed.here..(d
65220 6f 6c 69 73 74 20 28 73 70 65 63 0a 20 20 20 20 20 20 20 20 20 27 28 3b 3b 20 62 65 67 69 6e 2a olist.(spec..........'(;;.begin*
65240 20 66 6f 72 6d 73 20 64 65 66 61 75 6c 74 20 74 6f 20 30 20 75 6e 6c 65 73 73 20 6f 74 68 65 72 .forms.default.to.0.unless.other
65260 77 69 73 65 20 73 70 65 63 69 66 69 65 64 20 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 wise.specified.here............(
65280 62 65 67 69 6e 30 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 2d 64 65 63 6c 61 72 65 20 begin0.1)............(c-declare.
652a0 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 2d 6c 61 6d 62 64 61 20 32 29 0a 20 20 20 20 20 0)............(c-lambda.2)......
652c0 20 20 20 20 20 20 28 63 61 6c 6c 2d 77 69 74 68 2d 69 6e 70 75 74 2d 66 69 6c 65 20 64 65 66 75 ......(call-with-input-file.defu
652e0 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 6c 2d 77 69 74 68 2d 69 6e 70 75 74 2d 66 n)............(call-with-input-f
65300 69 6c 65 2a 20 64 65 66 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 6c 2d 77 69 74 ile*.defun)............(call-wit
65320 68 2d 6f 75 74 70 75 74 2d 66 69 6c 65 20 64 65 66 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 h-output-file.defun)............
65340 28 63 61 6c 6c 2d 77 69 74 68 2d 6f 75 74 70 75 74 2d 66 69 6c 65 2a 20 64 65 66 75 6e 29 0a 20 (call-with-output-file*.defun)..
65360 20 20 20 20 20 20 20 20 20 20 28 63 61 73 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 ..........(case.1)............(c
65380 61 73 65 2d 6c 61 6d 62 64 61 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61 74 63 68 20 ase-lambda.0)............(catch.
653a0 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 61 73 73 20 64 65 66 75 6e 29 0a 20 20 20 20 1)............(class.defun).....
653c0 20 20 20 20 20 20 20 28 63 6c 61 73 73 2a 20 64 65 66 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 .......(class*.defun)...........
653e0 20 28 63 6f 6d 70 6f 75 6e 64 2d 75 6e 69 74 2f 73 69 67 20 30 29 0a 20 20 20 20 20 20 20 20 20 .(compound-unit/sig.0)..........
65400 20 20 28 63 6f 6e 64 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 65 66 2a 20 66 6f ..(cond.0)............;;.def*.fo
65420 72 6d 73 20 64 65 66 61 75 6c 74 20 74 6f 20 27 64 65 66 75 6e 20 75 6e 6c 65 73 73 20 6f 74 68 rms.default.to.'defun.unless.oth
65440 65 72 77 69 73 65 20 73 70 65 63 69 66 69 65 64 20 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 20 erwise.specified.here...........
65460 20 28 64 65 6c 61 79 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 20 32 29 0a 20 20 20 .(delay.0)............(do.2)....
65480 20 20 20 20 20 20 20 20 28 64 79 6e 61 6d 69 63 2d 77 69 6e 64 20 30 29 0a 20 20 20 20 20 20 20 ........(dynamic-wind.0)........
654a0 20 20 20 20 28 66 6e 20 31 29 20 3b 61 6c 69 61 73 20 66 6f 72 20 6c 61 6d 62 64 61 20 28 61 6c ....(fn.1).;alias.for.lambda.(al
654c0 74 68 6f 75 67 68 20 6e 6f 74 20 6f 66 66 69 63 69 61 6c 6c 79 20 69 6e 20 52 61 63 6b 65 74 29 though.not.officially.in.Racket)
654e0 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4e 6f 74 65 3a 20 54 68 69 6e 67 73 20 6d 61 74 63 ............;;.Note:.Things.matc
65500 68 69 6e 67 20 28 72 78 20 62 6f 73 20 28 6f 72 20 22 66 6f 72 2f 22 20 22 66 6f 72 2a 2f 22 29 hing.(rx.bos.(or."for/"."for*/")
65520 29 20 64 65 66 61 75 6c 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 61 63 6b 65 ).default.to............;;.racke
65540 74 2d 2d 69 6e 64 65 6e 74 2d 66 6f 72 20 75 6e 6c 65 73 73 20 6f 74 68 65 72 77 69 73 65 20 73 t--indent-for.unless.otherwise.s
65560 70 65 63 69 66 69 65 64 20 68 65 72 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 20 72 pecified.here.............(for.r
65580 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 66 6f 72 29 20 3b 73 6f 20 74 68 65 20 72 78 20 63 61 acket--indent-for).;so.the.rx.ca
655a0 6e 20 6d 61 74 63 68 20 6d 6f 72 65 20 73 74 72 69 63 74 6c 79 0a 20 20 20 20 20 20 20 20 20 20 n.match.more.strictly...........
655c0 20 28 66 6f 72 2f 6c 69 73 74 73 20 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 66 6f 72 2f 66 .(for/lists.racket--indent-for/f
655e0 6f 6c 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2f 66 6f 6c 64 20 72 61 63 6b 65 74 old)............(for/fold.racket
65600 2d 2d 69 6e 64 65 6e 74 2d 66 6f 72 2f 66 6f 6c 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 --indent-for/fold)............(f
65620 6f 72 2f 66 6f 6c 64 72 20 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 66 6f 72 2f 66 6f 6c 64 or/foldr.racket--indent-for/fold
65640 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2a 20 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e )............(for*.racket--inden
65660 74 2d 66 6f 72 29 20 3b 73 6f 20 74 68 65 20 72 78 20 63 61 6e 20 6d 61 74 63 68 20 6d 6f 72 65 t-for).;so.the.rx.can.match.more
65680 20 73 74 72 69 63 74 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2a 2f 6c 69 73 74 73 .strictly............(for*/lists
656a0 20 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 66 6f 72 2f 66 6f 6c 64 29 0a 20 20 20 20 20 20 .racket--indent-for/fold).......
656c0 20 20 20 20 20 28 66 6f 72 2a 2f 66 6f 6c 64 20 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 66 .....(for*/fold.racket--indent-f
656e0 6f 72 2f 66 6f 6c 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 2a 2f 66 6f 6c 64 72 20 or/fold)............(for*/foldr.
65700 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 66 6f 72 2f 66 6f 6c 64 29 0a 20 20 20 20 20 20 20 racket--indent-for/fold)........
65720 20 20 20 20 28 69 6e 73 74 61 6e 74 69 61 74 65 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 ....(instantiate.2)............(
65740 69 6e 74 65 72 66 61 63 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 ce bb 20 64 65 66 75 interface.1)............(...defu
65760 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 64 65 66 75 6e 29 0a 20 20 20 n)............(lambda.defun)....
65780 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 2f 6b 77 20 64 65 66 75 6e 29 0a 20 20 20 20 20 20 ........(lambda/kw.defun).......
657a0 20 20 20 20 20 28 6c 65 74 20 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 6c 65 74 29 0a 20 20 .....(let.racket--indent-let)...
657c0 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 .........(let*.1)............(le
657e0 74 72 65 63 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 72 65 63 2d 76 61 6c 75 65 trec.1)............(letrec-value
65800 73 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2d 76 61 6c 75 65 73 20 31 29 0a 20 s.1)............(let-values.1)..
65820 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 2d 76 61 6c 75 65 73 20 31 29 0a 20 20 20 20 20 20 ..........(let*-values.1).......
65840 20 20 20 20 20 28 6c 65 74 2b 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2d 73 79 .....(let+.1)............(let-sy
65860 6e 74 61 78 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2d 73 79 6e 74 61 78 65 73 ntax.1)............(let-syntaxes
65880 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 72 65 63 2d 73 79 6e 74 61 78 20 31 29 .1)............(letrec-syntax.1)
658a0 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 72 65 63 2d 73 79 6e 74 61 78 65 73 20 31 29 0a ............(letrec-syntaxes.1).
658c0 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 72 65 63 2d 73 79 6e 74 61 78 65 73 2b 76 61 6c 75 ...........(letrec-syntaxes+valu
658e0 65 73 20 2d 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 63 61 6c 20 31 29 0a 20 20 20 20 es.-2)............(local.1).....
65900 20 20 20 20 20 20 20 28 6c 65 74 2f 63 63 20 64 65 66 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 .......(let/cc.defun)...........
65920 20 28 6c 65 74 2f 65 63 20 64 65 66 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 .(let/ec.defun)............(matc
65940 68 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2a 20 31 29 0a 20 20 20 20 20 h.1)............(match*.1)......
65960 20 20 20 20 20 20 28 6d 61 74 63 68 2d 64 65 66 69 6e 65 20 64 65 66 75 6e 29 0a 20 20 20 20 20 ......(match-define.defun)......
65980 20 20 20 20 20 20 28 6d 61 74 63 68 2d 6c 61 6d 62 64 61 20 30 29 0a 20 20 20 20 20 20 20 20 20 ......(match-lambda.0)..........
659a0 20 20 28 6d 61 74 63 68 2d 6c 61 6d 62 64 61 2a 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 ..(match-lambda*.0)............(
659c0 6d 61 74 63 68 2d 6c 65 74 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 6c match-let.1)............(match-l
659e0 65 74 2a 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 6c 65 74 2a 2d 76 61 et*.1)............(match-let*-va
65a00 6c 75 65 73 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 6c 65 74 2d 76 61 lues.1)............(match-let-va
65a20 6c 75 65 73 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 6c 65 74 72 65 63 lues.1)............(match-letrec
65a40 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 6c 65 74 72 65 63 2d 76 61 6c .1)............(match-letrec-val
65a60 75 65 73 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2f 76 61 6c 75 65 73 20 ues.1)............(match/values.
65a80 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 69 78 69 6e 20 32 29 0a 20 20 20 20 20 20 20 20 1)............(mixin.2).........
65aa0 20 20 20 28 6d 6f 64 75 6c 65 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 ...(module.2)............(module
65ac0 2b 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 2a 20 32 29 0a 20 20 20 20 +.1)............(module*.2).....
65ae0 20 20 20 20 20 20 20 28 6f 70 74 2d 6c 61 6d 62 64 61 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 .......(opt-lambda.1)...........
65b00 20 28 70 61 72 61 6d 65 74 65 72 69 7a 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 61 .(parameterize.1)............(pa
65b20 72 61 6d 65 74 65 72 69 7a 65 2d 62 72 65 61 6b 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 rameterize-break.1)............(
65b40 70 61 72 61 6d 65 74 65 72 69 7a 65 2a 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 61 parameterize*.1)............(pla
65b60 63 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 61 63 65 2f 63 6f 6e 74 65 78 74 20 ce.1)............(place/context.
65b80 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 20 31 1)............(quasisyntax/loc.1
65ba0 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 63 65 69 76 65 20 32 29 0a 20 20 20 20 20 20 20 )............(receive.2)........
65bc0 20 20 20 20 28 72 65 71 75 69 72 65 2f 74 79 70 65 64 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 ....(require/typed.1)...........
65be0 20 28 72 65 71 75 69 72 65 2f 74 79 70 65 64 2f 70 72 6f 76 69 64 65 20 31 29 0a 20 20 20 20 20 .(require/typed/provide.1)......
65c00 20 20 20 20 20 20 28 73 65 6e 64 2a 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 68 61 72 ......(send*.1)............(shar
65c20 65 64 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 69 67 61 63 74 69 6f 6e 20 31 29 0a 20 ed.1)............(sigaction.1)..
65c40 20 20 20 20 20 20 20 20 20 20 28 73 70 6c 69 63 69 6e 67 2d 6c 65 74 20 31 29 0a 20 20 20 20 20 ..........(splicing-let.1)......
65c60 20 20 20 20 20 20 28 73 70 6c 69 63 69 6e 67 2d 6c 65 74 72 65 63 20 31 29 0a 20 20 20 20 20 20 ......(splicing-letrec.1).......
65c80 20 20 20 20 20 28 73 70 6c 69 63 69 6e 67 2d 6c 65 74 2d 76 61 6c 75 65 73 20 31 29 0a 20 20 20 .....(splicing-let-values.1)....
65ca0 20 20 20 20 20 20 20 20 28 73 70 6c 69 63 69 6e 67 2d 6c 65 74 72 65 63 2d 76 61 6c 75 65 73 20 ........(splicing-letrec-values.
65cc0 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 70 6c 69 63 69 6e 67 2d 6c 65 74 2d 73 79 6e 74 1)............(splicing-let-synt
65ce0 61 78 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 70 6c 69 63 69 6e 67 2d 6c 65 74 72 65 ax.1)............(splicing-letre
65d00 63 2d 73 79 6e 74 61 78 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 70 6c 69 63 69 6e 67 c-syntax.1)............(splicing
65d20 2d 6c 65 74 2d 73 79 6e 74 61 78 65 73 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 70 6c -let-syntaxes.1)............(spl
65d40 69 63 69 6e 67 2d 6c 65 74 72 65 63 2d 73 79 6e 74 61 78 65 73 20 31 29 0a 20 20 20 20 20 20 20 icing-letrec-syntaxes.1)........
65d60 20 20 20 20 28 73 70 6c 69 63 69 6e 67 2d 6c 65 74 72 65 63 2d 73 79 6e 74 61 78 65 73 2b 76 61 ....(splicing-letrec-syntaxes+va
65d80 6c 75 65 73 20 2d 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 70 6c 69 63 69 6e 67 2d 6c 6f lues.-2)............(splicing-lo
65da0 63 61 6c 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 70 6c 69 63 69 6e 67 2d 73 79 6e 74 cal.1)............(splicing-synt
65dc0 61 78 2d 70 61 72 61 6d 65 74 65 72 69 7a 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 ax-parameterize.1)............(s
65de0 74 72 75 63 74 20 64 65 66 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d truct.defun)............(syntax-
65e00 63 61 73 65 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 63 61 73 65 2a case.2)............(syntax-case*
65e20 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 72 75 6c 65 73 20 31 29 0a .3)............(syntax-rules.1).
65e40 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 69 64 2d 72 75 6c 65 73 20 31 29 0a 20 ...........(syntax-id-rules.1)..
65e60 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 70 61 72 73 65 20 31 29 0a 20 20 20 20 20 ..........(syntax-parse.1)......
65e80 20 20 20 20 20 20 28 73 79 6e 74 61 78 2d 70 61 72 73 65 72 20 30 29 0a 20 20 20 20 20 20 20 20 ......(syntax-parser.0).........
65ea0 20 20 20 28 73 79 6e 74 61 78 2d 70 61 72 61 6d 65 74 65 72 69 7a 65 20 31 29 0a 20 20 20 20 20 ...(syntax-parameterize.1)......
65ec0 20 20 20 20 20 20 28 73 79 6e 74 61 78 2f 6c 6f 63 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 ......(syntax/loc.1)............
65ee0 28 73 79 6e 74 61 78 2d 70 61 72 73 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 65 73 (syntax-parse.1)............(tes
65f00 74 2d 62 65 67 69 6e 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 65 73 74 2d 63 61 73 65 t-begin.0)............(test-case
65f20 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 69 74 20 64 65 66 75 6e 29 0a 20 20 20 20 .1)............(unit.defun).....
65f40 20 20 20 20 20 20 20 28 75 6e 69 74 2f 73 69 67 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 .......(unit/sig.2)............(
65f60 75 6e 6c 65 73 73 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 31 29 0a 20 20 unless.1)............(when.1)...
65f80 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b .........(while.1)............;;
65fa0 20 77 69 74 68 2d 20 66 6f 72 6d 73 20 64 65 66 61 75 6c 74 20 74 6f 20 31 20 75 6e 6c 65 73 73 .with-.forms.default.to.1.unless
65fc0 20 6f 74 68 65 72 77 69 73 65 20 73 70 65 63 69 66 69 65 64 20 68 65 72 65 0a 20 20 20 20 20 20 .otherwise.specified.here.......
65fe0 20 20 20 20 20 29 29 0a 20 20 3b 3b 20 53 65 74 20 70 72 6f 70 65 72 74 79 20 66 6f 72 20 74 68 .....))...;;.Set.property.for.th
66000 65 20 70 6c 61 69 6e 20 73 79 6d 62 6f 6c 20 61 6e 64 20 61 6c 73 6f 20 73 65 74 20 66 6f 72 20 e.plain.symbol.and.also.set.for.
66020 74 68 65 20 73 79 6d 62 6f 6c 0a 20 20 3b 3b 20 77 69 74 68 20 61 20 3a 20 73 75 66 66 69 78 2e the.symbol...;;.with.a.:.suffix.
66040 20 54 68 65 20 6c 61 74 74 65 72 20 69 73 20 66 6f 72 20 6c 65 67 61 63 79 20 54 79 70 65 64 20 .The.latter.is.for.legacy.Typed.
66060 52 61 63 6b 65 74 20 28 65 2e 67 2e 20 62 6f 74 68 0a 20 20 3b 3b 20 60 6c 65 74 60 20 61 6e 64 Racket.(e.g..both...;;.`let`.and
66080 20 60 6c 65 74 3a 60 29 2e 20 41 6c 74 68 6f 75 67 68 20 54 79 70 65 64 20 52 61 63 6b 65 74 20 .`let:`)..Although.Typed.Racket.
660a0 64 6f 65 73 6e 27 74 20 64 65 66 69 6e 65 20 73 75 63 68 20 61 0a 20 20 3b 3b 20 76 61 72 69 61 doesn't.define.such.a...;;.varia
660c0 6e 74 20 66 6f 72 20 61 6c 6c 20 6f 66 20 74 68 65 73 65 2c 20 69 74 27 73 20 68 61 72 6d 6c 65 nt.for.all.of.these,.it's.harmle
660e0 73 73 20 74 6f 20 73 65 74 20 74 68 65 20 70 72 6f 70 65 72 74 79 2e 0a 20 20 28 70 63 61 73 65 ss.to.set.the.property....(pcase
66100 2d 6c 65 74 2a 20 28 28 60 28 2c 70 6c 61 69 6e 2d 73 79 6d 20 2c 76 61 6c 29 20 73 70 65 63 29 -let*.((`(,plain-sym.,val).spec)
66120 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 79 70 65 64 2d 73 79 6d 20 28 69 6e 74 65 ................(typed-sym.(inte
66140 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 3a 22 20 70 6c 61 69 6e 2d 73 79 6d 29 29 29 29 0a 20 rn.(format."%s:".plain-sym))))..
66160 20 20 20 28 64 6f 6c 69 73 74 20 28 73 79 6d 20 28 6c 69 73 74 20 70 6c 61 69 6e 2d 73 79 6d 20 ...(dolist.(sym.(list.plain-sym.
66180 74 79 70 65 64 2d 73 79 6d 29 29 0a 20 20 20 20 20 20 28 70 75 74 20 73 79 6d 20 27 72 61 63 6b typed-sym)).......(put.sym.'rack
661a0 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 76 61 6c 29 29 29 29 0a 0a 28 64 65 66 et-indent-function.val))))..(def
661c0 75 6e 20 72 61 63 6b 65 74 2d 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 2d 6f 72 2d 63 6f 6d 6d un.racket--escape-string-or-comm
661e0 65 6e 74 20 28 29 0a 20 20 22 49 66 20 70 6f 69 6e 74 20 69 73 20 69 6e 20 61 20 73 74 72 69 6e ent.()..."If.point.is.in.a.strin
66200 67 20 6f 72 20 63 6f 6d 6d 65 6e 74 2c 20 6d 6f 76 65 20 74 6f 20 69 74 73 20 73 74 61 72 74 2e g.or.comment,.move.to.its.start.
66220 0a 0a 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 63 61 6e 20 62 65 20 65 78 70 65 6e 73 69 76 ..Note.that.this.can.be.expensiv
66240 65 2c 20 61 73 20 69 74 20 75 73 65 73 20 60 73 79 6e 74 61 78 2d 70 70 73 73 27 20 77 68 69 63 e,.as.it.uses.`syntax-ppss'.whic
66260 68 0a 70 61 72 73 65 73 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 62 h.parses.from.the.start.of.the.b
66280 75 66 66 65 72 2e 20 41 6c 74 68 6f 75 67 68 20 60 73 79 6e 74 61 78 2d 70 70 73 73 27 20 75 73 uffer..Although.`syntax-ppss'.us
662a0 65 73 0a 61 20 63 61 63 68 65 2c 20 74 68 61 74 20 69 73 20 69 6e 76 61 6c 69 64 61 74 65 64 20 es.a.cache,.that.is.invalidated.
662c0 61 66 74 65 72 20 61 6e 79 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 2e after.any.changes.to.the.buffer.
662e0 20 41 73 0a 61 20 72 65 73 75 6c 74 2c 20 74 68 65 20 77 6f 72 73 74 20 63 61 73 65 20 77 6f 75 .As.a.result,.the.worst.case.wou
66300 6c 64 20 62 65 20 74 6f 20 63 61 6c 6c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 66 74 65 ld.be.to.call.this.function.afte
66320 72 0a 65 76 65 72 79 20 63 68 61 72 61 63 74 65 72 20 69 73 20 69 6e 73 65 72 74 65 64 20 74 6f r.every.character.is.inserted.to
66340 20 61 20 62 75 66 66 65 72 2e 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 70 6f 73 20 28 72 61 .a.buffer."...(when-let.(pos.(ra
66360 63 6b 65 74 2d 2d 70 70 73 73 2d 73 74 72 69 6e 67 2f 63 6f 6d 6d 65 6e 74 2d 73 74 61 72 74 20 cket--ppss-string/comment-start.
66380 28 73 79 6e 74 61 78 2d 70 70 73 73 29 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 (syntax-ppss))).....(goto-char.p
663a0 6f 73 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 29 0a os)))..(provide.'racket-indent).
663c0 0a 3b 3b 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 .;;.racket-indent.el.ends.here..
663e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66400 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
66420 72 61 63 6b 65 74 2d 70 61 72 65 6e 73 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-parens.el................
66440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
66480 30 30 31 33 32 36 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 37 33 32 00 20 30 00 00 00 0013261.00000000000.016732..0...
664a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
664c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
664e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
66520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
66540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
665a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
665c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
665e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66600 3b 3b 3b 20 72 61 63 6b 65 74 2d 70 61 72 65 6e 73 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c ;;;.racket-parens.el.-*-.lexical
66620 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 -binding:.t;.-*-..;;.Copyright.(
66640 63 29 20 32 30 31 33 2d 32 30 32 31 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 c).2013-2021.by.Greg.Hendershott
66660 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 ..;;.Portions.Copyright.(C).1985
66680 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 -1986,.1999-2013.Free.Software.F
666a0 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 oundation,.Inc...;;.Author:.Greg
666c0 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 .Hendershott.;;.URL:.https://git
666e0 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d hub.com/greghendershott/racket-m
66700 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a ode..;;.SPDX-License-Identifier:
66720 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 20 54 68 69 6e 67 73 20 72 65 6c .GPL-3.0-or-later..;;.Things.rel
66740 61 74 65 64 20 74 6f 20 70 61 72 65 6e 73 2c 20 70 61 72 65 64 69 74 2c 20 65 6c 65 63 74 72 69 ated.to.parens,.paredit,.electri
66760 63 2d 70 61 69 72 2d 6d 6f 64 65 0a 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 75 c-pair-mode..(require.'racket-cu
66780 73 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 70 70 73 73 29 0a 28 72 65 stom).(require.'racket-ppss).(re
667a0 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 0a 3b 3b 3b 20 72 61 63 6b 65 74 2d quire.'racket-util)..;;;.racket-
667c0 2d 73 65 6c 66 2d 69 6e 73 65 72 74 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 65 6c -self-insert..(defun.racket--sel
667e0 66 2d 69 6e 73 65 72 74 20 28 65 76 65 6e 74 29 0a 20 20 22 53 69 6d 75 6c 61 74 65 20 61 20 60 f-insert.(event)..."Simulate.a.`
66800 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f 6d 6d 61 6e 64 27 20 6f 66 20 45 56 45 4e 54 2e 0a 0a self-insert-command'.of.EVENT...
66820 55 73 69 6e 67 20 74 68 69 73 20 69 6e 74 65 61 64 20 6f 66 20 60 69 6e 73 65 72 74 27 20 61 6c Using.this.intead.of.`insert'.al
66840 6c 6f 77 73 20 73 65 6c 66 2d 69 6e 73 65 72 74 20 68 6f 6f 6b 73 20 74 6f 20 72 75 6e 2c 0a 77 lows.self-insert.hooks.to.run,.w
66860 68 69 63 68 20 69 73 20 69 6d 70 6f 72 74 61 6e 74 20 66 6f 72 20 74 68 69 6e 67 73 20 6c 69 6b hich.is.important.for.things.lik
66880 65 20 60 65 6c 65 63 74 72 69 63 2d 70 61 69 72 2d 6d 6f 64 65 27 2e 0a 0a 41 20 63 6f 6d 6d 61 e.`electric-pair-mode'...A.comma
668a0 6e 64 20 75 73 69 6e 67 20 74 68 69 73 20 73 68 6f 75 6c 64 20 70 72 6f 62 61 62 6c 79 20 73 65 nd.using.this.should.probably.se
668c0 74 20 69 74 73 20 64 65 6c 65 74 65 2d 73 65 6c 65 63 74 69 6f 6e 0a 70 72 6f 70 65 72 74 79 20 t.its.delete-selection.property.
668e0 74 6f 20 74 20 73 6f 20 74 68 61 74 20 60 64 65 6c 65 74 65 2d 73 65 6c 65 63 74 69 6f 6e 2d 6d to.t.so.that.`delete-selection-m
66900 6f 64 65 27 20 77 6f 72 6b 73 3a 0a 0a 20 20 28 70 75 74 20 5c 5c 3d 27 72 61 63 6b 65 74 2d 63 ode'.works:....(put.\\='racket-c
66920 6f 6d 6d 61 6e 64 20 5c 5c 3d 27 64 65 6c 65 74 65 2d 73 65 6c 65 63 74 69 6f 6e 20 74 29 0a 0a ommand.\\='delete-selection.t)..
66940 49 66 20 6e 65 63 65 73 73 61 72 79 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 70 72 If.necessary.the.value.of.the.pr
66960 6f 70 65 72 74 79 20 63 61 6e 20 62 65 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 66 6f 72 0a 65 78 operty.can.be.a.function,.for.ex
66980 61 6d 70 6c 65 20 60 72 61 63 6b 65 74 2d 2d 65 6c 65 63 74 72 69 63 2d 70 61 69 72 2d 6d 6f 64 ample.`racket--electric-pair-mod
669a0 65 2d 6e 6f 74 2d 61 63 74 69 76 65 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 61 73 74 2d 63 6f e-not-active'."...(let.((last-co
669c0 6d 6d 61 6e 64 2d 65 76 65 6e 74 20 65 76 65 6e 74 29 29 20 20 20 20 20 3b 73 65 74 20 74 68 69 mmand-event.event)).....;set.thi
669e0 73 20 66 6f 72 20 68 6f 6f 6b 73 0a 20 20 20 20 28 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f 6d s.for.hooks.....(self-insert-com
66a00 6d 61 6e 64 20 28 70 72 65 66 69 78 2d 6e 75 6d 65 72 69 63 2d 76 61 6c 75 65 20 6e 69 6c 29 29 mand.(prefix-numeric-value.nil))
66a20 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 65 6c 65 63 74 72 69 63 2d 70 61 69 72 ))..(defun.racket--electric-pair
66a40 2d 6d 6f 64 65 2d 6e 6f 74 2d 61 63 74 69 76 65 20 28 29 0a 20 20 22 41 20 73 75 69 74 61 62 6c -mode-not-active.()..."A.suitabl
66a60 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 64 65 6c 65 74 65 2d 73 65 6c 65 63 74 69 6f 6e e.value.for.the.delete-selection
66a80 20 70 72 6f 70 65 72 74 79 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 0a 74 68 61 74 20 69 6e 73 65 72 .property.of.commands.that.inser
66aa0 74 20 70 61 72 65 6e 73 3a 20 49 6e 73 65 72 74 65 64 20 74 65 78 74 20 73 68 6f 75 6c 64 20 72 t.parens:.Inserted.text.should.r
66ac0 65 70 6c 61 63 65 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 0a 75 6e 6c 65 73 73 20 61 20 6d 6f eplace.the.selection.unless.a.mo
66ae0 64 65 20 6c 69 6b 65 20 60 65 6c 65 63 74 72 69 63 2d 70 61 69 72 2d 6d 6f 64 65 27 20 69 73 20 de.like.`electric-pair-mode'.is.
66b00 65 6e 61 62 6c 65 64 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 0a 74 68 65 20 73 65 6c 65 63 enabled,.in.which.case.the.selec
66b20 74 69 6f 6e 20 69 73 20 74 6f 20 62 65 20 77 72 61 70 70 65 64 20 69 6e 20 70 61 72 65 6e 73 2e tion.is.to.be.wrapped.in.parens.
66b40 22 0a 20 20 28 6e 6f 74 20 28 61 6e 64 20 28 62 6f 75 6e 64 70 20 27 65 6c 65 63 74 72 69 63 2d "...(not.(and.(boundp.'electric-
66b60 70 61 69 72 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 65 63 74 72 69 63 2d pair-mode).............electric-
66b80 70 61 69 72 2d 6d 6f 64 65 29 29 29 0a 0a 0a 3b 3b 3b 20 41 75 74 6f 6d 61 74 69 63 61 6c 6c 79 pair-mode)))...;;;.Automatically
66ba0 20 69 6e 73 65 72 74 20 6d 61 74 63 68 69 6e 67 20 5c 3f 29 20 5c 3f 5d 20 6f 72 20 5c 3f 7d 0a .insert.matching.\?).\?].or.\?}.
66bc0 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 2d 6d 61 74 63 68 69 6e 67 2d 70 61 72 65 .(defconst.racket--matching-pare
66be0 6e 73 0a 20 20 27 28 28 20 3f 5c 28 20 2e 20 3f 5c 29 20 29 0a 20 20 20 20 28 20 3f 5c 5b 20 2e ns...'((.?\(...?\).).....(.?\[..
66c00 20 3f 5c 5d 20 29 0a 20 20 20 20 28 20 3f 5c 7b 20 2e 20 3f 5c 7d 20 29 29 29 0a 0a 28 64 65 66 .?\].).....(.?\{...?\}.)))..(def
66c20 75 6e 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 20 28 26 6f 70 74 69 6f un.racket-insert-closing.(&optio
66c40 6e 61 6c 20 70 72 65 66 69 78 29 0a 20 20 22 49 6e 73 65 72 74 20 61 20 6d 61 74 63 68 69 6e 67 nal.prefix)..."Insert.a.matching
66c60 20 63 6c 6f 73 69 6e 67 20 64 65 6c 69 6d 69 74 65 72 2e 0a 0a 57 69 74 68 20 5c 5c 5b 75 6e 69 .closing.delimiter...With.\\[uni
66c80 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 69 6e 73 65 72 74 20 74 68 65 20 74 79 70 65 versal-argument].insert.the.type
66ca0 64 20 63 68 61 72 61 63 74 65 72 20 61 73 2d 69 73 2e 0a 0a 54 68 69 73 20 69 73 20 68 61 6e 64 d.character.as-is...This.is.hand
66cc0 79 20 69 66 20 79 6f 75 27 72 65 20 6e 6f 74 20 79 65 74 20 75 73 69 6e 67 20 73 6f 6d 65 74 68 y.if.you're.not.yet.using.someth
66ce0 69 6e 67 20 6c 69 6b 65 0a 60 70 61 72 65 64 69 74 2d 6d 6f 64 65 27 2c 20 60 73 6d 61 72 74 70 ing.like.`paredit-mode',.`smartp
66d00 61 72 65 6e 73 2d 6d 6f 64 65 27 2c 20 60 70 61 72 69 6e 66 65 72 2d 6d 6f 64 65 27 2c 20 6f 72 arens-mode',.`parinfer-mode',.or
66d20 20 73 69 6d 70 6c 79 0a 60 65 6c 65 63 74 72 69 63 2d 70 61 69 72 2d 6d 6f 64 65 27 20 61 64 64 .simply.`electric-pair-mode'.add
66d40 65 64 20 69 6e 20 45 6d 61 63 73 20 32 34 2e 35 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 ed.in.Emacs.24.5."...(interactiv
66d60 65 20 22 50 22 29 0a 20 20 28 6c 65 74 2a 20 28 28 64 6f 2d 69 74 20 28 6e 6f 74 20 28 6f 72 20 e."P")...(let*.((do-it.(not.(or.
66d80 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 prefix..........................
66da0 28 61 6e 64 20 28 73 74 72 69 6e 67 3d 20 22 23 5c 5c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 (and.(string=."#\\".............
66dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 ...........................(buff
66de0 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 er-substring-no-properties......
66e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
66e20 20 20 20 28 2d 20 28 70 6f 69 6e 74 29 20 32 29 20 28 70 6f 69 6e 74 29 20 29 29 29 0a 20 20 20 ...(-.(point).2).(point).)))....
66e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 70 ......................(racket--p
66e60 70 73 73 2d 73 74 72 69 6e 67 2d 70 20 28 73 79 6e 74 61 78 2d 70 70 73 73 29 29 29 29 29 0a 20 pss-string-p.(syntax-ppss)))))..
66e80 20 20 20 20 20 20 20 20 28 6f 70 65 6e 2d 63 68 61 72 20 20 28 61 6e 64 20 64 6f 2d 69 74 20 20 ........(open-char..(and.do-it..
66ea0 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6f 70 65 6e 2d 70 61 72 65 6e 20 23 27 62 61 63 6b ......(racket--open-paren.#'back
66ec0 77 61 72 64 2d 75 70 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 65 2d ward-up-list)))..........(close-
66ee0 70 61 69 72 20 28 61 6e 64 20 6f 70 65 6e 2d 63 68 61 72 20 20 20 20 28 61 73 73 71 20 6f 70 65 pair.(and.open-char....(assq.ope
66f00 6e 2d 63 68 61 72 20 72 61 63 6b 65 74 2d 2d 6d 61 74 63 68 69 6e 67 2d 70 61 72 65 6e 73 29 29 n-char.racket--matching-parens))
66f20 29 0a 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 65 2d 63 68 61 72 20 28 61 6e 64 20 63 6c 6f 73 )..........(close-char.(and.clos
66f40 65 2d 70 61 69 72 20 20 20 28 63 64 72 20 63 6c 6f 73 65 2d 70 61 69 72 29 29 29 29 0a 20 20 20 e-pair...(cdr.close-pair))))....
66f60 20 28 72 61 63 6b 65 74 2d 2d 73 65 6c 66 2d 69 6e 73 65 72 74 20 28 6f 72 20 63 6c 6f 73 65 2d .(racket--self-insert.(or.close-
66f80 63 68 61 72 20 6c 61 73 74 2d 63 6f 6d 6d 61 6e 64 2d 65 76 65 6e 74 29 29 29 29 0a 0a 28 70 75 char.last-command-event))))..(pu
66fa0 74 20 27 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 20 27 64 65 6c 65 74 65 t.'racket-insert-closing.'delete
66fc0 2d 73 65 6c 65 63 74 69 6f 6e 0a 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 2d 65 6c 65 63 74 72 -selection......#'racket--electr
66fe0 69 63 2d 70 61 69 72 2d 6d 6f 64 65 2d 6e 6f 74 2d 61 63 74 69 76 65 29 0a 0a 3b 3b 3b 20 70 61 ic-pair-mode-not-active)..;;;.pa
67000 72 65 64 69 74 20 61 6e 64 20 72 65 61 64 65 72 20 6c 69 74 65 72 61 6c 73 0a 0a 28 64 65 66 75 redit.and.reader.literals..(defu
67020 6e 20 72 61 63 6b 65 74 2d 2d 72 65 61 64 65 72 2d 6c 69 74 65 72 61 6c 2d 70 61 72 65 64 69 74 n.racket--reader-literal-paredit
67040 2d 73 70 61 63 65 2d 66 6f 72 2d 64 65 6c 69 6d 69 74 65 72 2d 70 72 65 64 69 63 61 74 65 20 28 -space-for-delimiter-predicate.(
67060 65 6e 64 70 20 5f 64 65 6c 69 6d 69 74 65 72 29 0a 20 20 22 60 70 61 72 65 64 69 74 2d 6d 6f 64 endp._delimiter)..."`paredit-mod
67080 65 27 20 73 68 6f 75 6c 64 6e 27 74 20 69 6e 73 65 72 74 20 73 70 61 63 65 20 62 65 74 65 77 65 e'.shouldn't.insert.space.betewe
670a0 65 6e 20 23 20 61 6e 64 20 6f 70 65 6e 20 64 65 6c 69 6d 69 74 65 72 73 2e 0a 0a 45 78 61 6d 70 en.#.and.open.delimiters...Examp
670c0 6c 65 73 3a 20 23 28 29 20 23 32 28 29 20 23 66 6c 28 29 20 23 68 61 73 68 65 71 20 20 65 74 63 les:.#().#2().#fl().#hasheq..etc
670e0 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 73 75 69 74 61 62 6c 65 20 65 ...This.function.is.a.suitable.e
67100 6c 65 6d 65 6e 74 20 66 6f 72 20 74 68 65 20 6c 69 73 74 20 76 61 72 69 61 62 6c 65 0a 60 70 61 lement.for.the.list.variable.`pa
67120 72 65 64 69 74 2d 73 70 61 63 65 2d 66 6f 72 2d 64 65 6c 69 6d 69 74 65 72 2d 70 72 65 64 69 63 redit-space-for-delimiter-predic
67140 61 74 65 73 27 2e 22 0a 20 20 28 69 66 20 28 61 6e 64 20 28 72 61 63 6b 65 74 2d 2d 6d 6f 64 65 ates'."...(if.(and.(racket--mode
67160 2d 65 64 69 74 73 2d 72 61 63 6b 65 74 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 -edits-racket-p)............(not
67180 20 65 6e 64 70 29 29 0a 20 20 20 20 20 20 28 6e 6f 74 20 28 6c 6f 6f 6b 69 6e 67 2d 62 61 63 6b .endp)).......(not.(looking-back
671a0 20 28 72 78 20 3f 23 20 28 2a 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 0a 20 20 20 .(rx.?#.(*.(or.(syntax.word)....
671c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
671e0 20 20 20 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....(syntax.symbol).............
67200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 ...........................(synt
67220 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ax.punctuation))))..............
67240 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 29 0a 20 20 20 20 74 29 29 0a 0a 28 65 76 61 6c ............nil)).....t))..(eval
67260 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 70 61 72 65 64 69 74 0a 20 20 27 28 61 64 64 2d 68 6f 6f -after-load.'paredit...'(add-hoo
67280 6b 20 27 70 61 72 65 64 69 74 2d 73 70 61 63 65 2d 66 6f 72 2d 64 65 6c 69 6d 69 74 65 72 2d 70 k.'paredit-space-for-delimiter-p
672a0 72 65 64 69 63 61 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d redicates..............#'racket-
672c0 2d 72 65 61 64 65 72 2d 6c 69 74 65 72 61 6c 2d 70 61 72 65 64 69 74 2d 73 70 61 63 65 2d 66 6f -reader-literal-paredit-space-fo
672e0 72 2d 64 65 6c 69 6d 69 74 65 72 2d 70 72 65 64 69 63 61 74 65 29 29 0a 0a 3b 3b 3b 20 70 61 72 r-delimiter-predicate))..;;;.par
67300 65 64 69 74 20 61 6e 64 20 61 74 2d 65 78 70 72 65 73 73 69 6f 6e 73 0a 0a 28 64 65 66 75 6e 20 edit.and.at-expressions..(defun.
67320 72 61 63 6b 65 74 2d 2d 61 74 2d 65 78 70 72 65 73 73 69 6f 6e 2d 70 61 72 65 64 69 74 2d 73 70 racket--at-expression-paredit-sp
67340 61 63 65 2d 66 6f 72 2d 64 65 6c 69 6d 69 74 65 72 2d 70 72 65 64 69 63 61 74 65 20 28 65 6e 64 ace-for-delimiter-predicate.(end
67360 70 20 64 65 6c 69 6d 69 74 65 72 29 0a 20 20 22 60 70 61 72 65 64 69 74 2d 6d 6f 64 65 27 20 73 p.delimiter)..."`paredit-mode'.s
67380 68 6f 75 6c 64 6e 27 74 20 69 6e 73 65 72 74 20 73 70 61 63 65 20 62 65 66 6f 72 65 20 5b 20 6f houldn't.insert.space.before.[.o
673a0 72 20 7b 20 69 6e 20 52 61 63 6b 65 74 20 61 74 2d 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 0a 54 r.{.in.Racket.at-expressions...T
673c0 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 73 75 69 74 61 62 6c 65 20 65 6c 65 6d 65 his.function.is.a.suitable.eleme
673e0 6e 74 20 66 6f 72 20 74 68 65 20 6c 69 73 74 20 76 61 72 69 61 62 6c 65 0a 60 70 61 72 65 64 69 nt.for.the.list.variable.`paredi
67400 74 2d 73 70 61 63 65 2d 66 6f 72 2d 64 65 6c 69 6d 69 74 65 72 2d 70 72 65 64 69 63 61 74 65 73 t-space-for-delimiter-predicates
67420 27 2e 22 0a 20 20 28 69 66 20 28 61 6e 64 20 28 72 61 63 6b 65 74 2d 2d 6d 6f 64 65 2d 65 64 69 '."...(if.(and.(racket--mode-edi
67440 74 73 2d 72 61 63 6b 65 74 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 65 6e 64 ts-racket-p)............(not.end
67460 70 29 29 0a 20 20 20 20 20 20 28 6e 6f 74 20 28 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b p)).......(not.(or.............;
67480 3b 20 40 66 6f 6f 5b 20 40 66 6f 6f 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 ;.@foo[.@foo{.............(and.(
674a0 6d 65 6d 71 20 64 65 6c 69 6d 69 74 65 72 20 27 28 3f 5c 5b 20 3f 5c 7b 29 29 0a 20 20 20 20 20 memq.delimiter.'(?\[.?\{))......
674c0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 2d 62 61 63 6b 20 28 72 78 20 3f 40 ............(looking-back.(rx.?@
674e0 20 28 2a 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 .(*.(or.(syntax.word)...........
67500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
67520 20 20 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(syntax.symbol)..............
67540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
67560 28 73 79 6e 74 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 (syntax.punctuation)))).........
67580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 29 0a 20 20 20 .......................nil))....
675a0 20 20 20 20 20 20 20 20 20 3b 3b 20 40 66 6f 6f 5b 5d 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .........;;.@foo[]{.............
675c0 28 61 6e 64 20 28 65 71 20 64 65 6c 69 6d 69 74 65 72 20 3f 5c 7b 29 0a 20 20 20 20 20 20 20 20 (and.(eq.delimiter.?\{).........
675e0 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 2d 62 61 63 6b 20 28 72 78 20 3f 40 20 28 2a .........(looking-back.(rx.?@.(*
67600 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(or.(syntax.word)..............
67620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
67640 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (syntax.symbol).................
67660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 .............................(sy
67680 6e 74 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ntax.punctuation))).............
676a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3f 5c 5b 0a 20 20 20 20 20 .......................?\[......
676c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a ..............................(*
676e0 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(or.(syntax.word)..............
67700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 .............................(sy
67720 6e 74 61 78 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntax.symbol)....................
67740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 20 70 .......................(syntax.p
67760 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 unctuation)))...................
67780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3f 5c 5d 29 0a 20 20 20 20 20 20 20 20 20 20 .................?\])...........
677a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 29 29 29 0a 20 20 20 .....................nil))))....
677c0 20 74 29 29 0a 0a 28 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 70 61 72 65 64 69 74 0a .t))..(eval-after-load.'paredit.
677e0 20 20 27 28 61 64 64 2d 68 6f 6f 6b 20 27 70 61 72 65 64 69 74 2d 73 70 61 63 65 2d 66 6f 72 2d ..'(add-hook.'paredit-space-for-
67800 64 65 6c 69 6d 69 74 65 72 2d 70 72 65 64 69 63 61 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 delimiter-predicates............
67820 20 20 23 27 72 61 63 6b 65 74 2d 2d 61 74 2d 65 78 70 72 65 73 73 69 6f 6e 2d 70 61 72 65 64 69 ..#'racket--at-expression-paredi
67840 74 2d 73 70 61 63 65 2d 66 6f 72 2d 64 65 6c 69 6d 69 74 65 72 2d 70 72 65 64 69 63 61 74 65 29 t-space-for-delimiter-predicate)
67860 29 0a 0a 0a 3b 3b 3b 20 43 79 63 6c 65 20 70 61 72 65 6e 20 73 68 61 70 65 73 0a 0a 28 64 65 66 )...;;;.Cycle.paren.shapes..(def
67880 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 2d 70 61 72 65 6e 2d 73 68 61 70 65 73 0a 20 20 27 28 20 const.racket--paren-shapes...'(.
678a0 28 3f 5c 28 20 3f 5c 5b 20 3f 5c 5d 20 29 0a 20 20 20 20 20 28 3f 5c 5b 20 3f 5c 7b 20 3f 5c 7d (?\(.?\[.?\].)......(?\[.?\{.?\}
678c0 20 29 0a 20 20 20 20 20 28 3f 5c 7b 20 3f 5c 28 20 3f 5c 29 20 29 29 0a 20 20 22 54 68 69 73 20 .)......(?\{.?\(.?\).))..."This.
678e0 69 73 20 6e 6f 74 20 75 73 65 72 2d 63 6f 6e 66 69 67 75 72 61 62 6c 65 20 62 65 63 61 75 73 65 is.not.user-configurable.because
67900 20 77 65 20 65 78 70 65 63 74 20 74 68 65 6d 20 68 61 76 65 20 74 6f 0a 20 20 68 61 76 65 20 61 .we.expect.them.have.to...have.a
67920 63 74 75 61 6c 20 3f 5c 28 20 61 6e 64 20 3f 5c 29 20 63 68 61 72 20 73 79 6e 74 61 78 2e 22 29 ctual.?\(.and.?\).char.syntax.")
67940 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 63 79 63 6c 65 2d 70 61 72 65 6e 2d 73 68 61 70 ..(defun.racket-cycle-paren-shap
67960 65 73 20 28 29 0a 20 20 22 43 79 63 6c 65 20 74 68 65 20 73 65 78 70 72 20 61 6d 6f 6e 67 20 28 es.()..."Cycle.the.sexpr.among.(
67980 29 20 5b 5d 20 7b 7d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 ).[].{}."...(interactive)...(rac
679a0 6b 65 74 2d 2d 61 73 73 65 72 74 2d 73 65 78 70 2d 65 64 69 74 2d 6d 6f 64 65 29 0a 20 20 28 73 ket--assert-sexp-edit-mode)...(s
679c0 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 3f 5c ave-excursion.....(unless.(eq.?\
679e0 28 20 28 63 68 61 72 2d 73 79 6e 74 61 78 20 28 63 68 61 72 2d 61 66 74 65 72 29 29 29 0a 20 20 (.(char-syntax.(char-after)))...
67a00 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 29 29 0a 20 20 20 20 28 70 63 61 ....(backward-up-list)).....(pca
67a20 73 65 20 28 61 73 73 71 20 28 63 68 61 72 2d 61 66 74 65 72 29 20 72 61 63 6b 65 74 2d 2d 70 61 se.(assq.(char-after).racket--pa
67a40 72 65 6e 2d 73 68 61 70 65 73 29 0a 20 20 20 20 20 20 28 60 28 2c 5f 20 2c 6f 70 65 6e 20 2c 63 ren-shapes).......(`(,_.,open.,c
67a60 6c 6f 73 65 29 0a 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 72 20 31 29 0a 20 20 20 lose)........(delete-char.1)....
67a80 20 20 20 20 28 69 6e 73 65 72 74 20 6f 70 65 6e 29 0a 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 ....(insert.open)........(backwa
67aa0 72 64 2d 63 68 61 72 20 31 29 0a 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 rd-char.1)........(forward-sexp.
67ac0 31 29 0a 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 72 20 2d 31 29 0a 20 20 20 20 20 1)........(delete-char.-1)......
67ae0 20 20 28 69 6e 73 65 72 74 20 63 6c 6f 73 65 29 29 0a 20 20 20 20 20 20 28 5f 0a 20 20 20 20 20 ..(insert.close)).......(_......
67b00 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 44 6f 6e 27 74 20 6b 6e 6f 77 20 74 68 61 74 20 70 ..(user-error."Don't.know.that.p
67b20 61 72 65 6e 20 73 68 61 70 65 22 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d aren.shape")))))..(defun.racket-
67b40 2d 6f 70 65 6e 2d 70 61 72 65 6e 20 28 62 61 63 6b 2d 66 75 6e 63 29 0a 20 20 22 55 73 65 20 42 -open-paren.(back-func)..."Use.B
67b60 41 43 4b 2d 46 55 4e 43 20 74 6f 20 66 69 6e 64 20 61 6e 20 6f 70 65 6e 69 6e 67 20 28 20 5b 20 ACK-FUNC.to.find.an.opening.(.[.
67b80 6f 72 20 7b 20 69 66 20 61 6e 79 2e 0a 42 41 43 4b 2d 46 55 4e 43 20 73 68 6f 75 6c 64 20 62 65 or.{.if.any..BACK-FUNC.should.be
67ba0 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 23 5c 5c 3d 27 62 61 63 6b 77 61 72 64 2d 73 65 .something.like.#\\='backward-se
67bc0 78 70 20 6f 72 20 23 5c 5c 3d 27 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 2e 22 0a 20 20 xp.or.#\\='backward-up-list."...
67be0 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f (save-excursion.....(ignore-erro
67c00 72 73 0a 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 62 61 63 6b 2d 66 75 6e 63 29 0a 20 20 20 rs.......(funcall.back-func)....
67c20 20 20 20 28 6c 65 74 20 28 28 63 68 20 28 63 68 61 72 2d 61 66 74 65 72 29 29 29 0a 20 20 20 20 ...(let.((ch.(char-after))).....
67c40 20 20 20 20 28 61 6e 64 20 28 65 71 20 3f 5c 28 20 28 63 68 61 72 2d 73 79 6e 74 61 78 20 63 68 ....(and.(eq.?\(.(char-syntax.ch
67c60 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 ))..............ch)))))..(provid
67c80 65 20 27 72 61 63 6b 65 74 2d 70 61 72 65 6e 73 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 70 61 72 e.'racket-parens)..;;.racket-par
67ca0 65 6e 73 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ens.el.ends.here................
67cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67e00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
67e20 72 61 63 6b 65 74 2d 78 70 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-xp.el....................
67e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
67e80 30 31 34 30 34 34 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 30 37 36 00 20 30 00 00 00 0140445.00000000000.016076..0...
67ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
67f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
67f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68000 3b 3b 3b 20 72 61 63 6b 65 74 2d 78 70 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e ;;;.racket-xp.el.-*-.lexical-bin
68020 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 ding:.t.-*-..;;.Copyright.(c).20
68040 31 33 2d 32 30 32 31 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 13-2021.by.Greg.Hendershott..;;.
68060 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d 31 39 38 36 Portions.Copyright.(C).1985-1986
68080 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 ,.1999-2013.Free.Software.Founda
680a0 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 65 6e 64 tion,.Inc...;;.Author:.Greg.Hend
680c0 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 ershott.;;.URL:.https://github.c
680e0 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 0a om/greghendershott/racket-mode..
68100 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d ;;.SPDX-License-Identifier:.GPL-
68120 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 3.0-or-later..(require.'racket-c
68140 75 73 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 ustom).(require.'racket-browse-u
68160 72 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 64 6f 63 29 0a 28 72 65 71 75 69 rl).(require.'racket-doc).(requi
68180 72 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 re.'racket-repl).(require.'racke
681a0 74 2d 64 65 73 63 72 69 62 65 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 65 6c 64 t-describe).(require.'racket-eld
681c0 6f 63 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 69 6d 65 6e 75 29 0a 28 72 65 71 oc).(require.'racket-imenu).(req
681e0 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 uire.'racket-util).(require.'rac
68200 6b 65 74 2d 76 69 73 69 74 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 73 68 6f 77 ket-visit).(require.'racket-show
68220 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6d 70 6c 65 74 65 29 0a ).(require.'racket-xp-complete).
68240 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 0a 28 72 65 71 75 (require.'racket-back-end).(requ
68260 69 72 65 20 27 65 61 73 79 6d 65 6e 75 29 0a 28 72 65 71 75 69 72 65 20 27 69 6d 65 6e 75 29 0a ire.'easymenu).(require.'imenu).
68280 28 72 65 71 75 69 72 65 20 27 72 78 29 0a 28 72 65 71 75 69 72 65 20 27 73 65 71 29 0a 28 72 65 (require.'rx).(require.'seq).(re
682a0 71 75 69 72 65 20 27 78 72 65 66 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 quire.'xref)..(declare-function.
682c0 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 20 22 72 61 63 6b 65 74 racket-complete-at-point."racket
682e0 2d 65 64 69 74 22 20 28 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 72 61 63 -edit".()).(declare-function.rac
68300 6b 65 74 2d 62 72 6f 77 73 65 2d 66 69 6c 65 2d 75 72 6c 20 22 72 61 63 6b 65 74 2d 62 72 6f 77 ket-browse-file-url."racket-brow
68320 73 65 2d 75 72 6c 22 20 28 70 61 74 68 20 61 6e 63 68 6f 72 29 29 0a 0a 3b 3b 20 54 4f 44 4f 3a se-url".(path.anchor))..;;.TODO:
68340 20 45 78 70 6f 73 65 20 61 73 20 61 20 64 65 66 63 75 73 74 6f 6d 3f 20 4f 72 20 65 76 65 6e 20 .Expose.as.a.defcustom?.Or.even.
68360 61 73 20 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 74 75 72 6e 20 6f 6e 2f 6f 66 66 3f 0a 3b 3b 20 41 as.commands.to.turn.on/off?.;;.A
68380 6c 73 6f 20 6e 6f 74 65 20 74 68 65 72 65 20 61 72 65 20 72 65 61 6c 6c 79 20 33 20 63 61 74 65 lso.note.there.are.really.3.cate
683a0 67 6f 72 69 65 73 20 68 65 72 65 3a 20 27 6c 6f 63 61 6c 20 27 69 6d 70 6f 72 74 0a 3b 3b 20 27 gories.here:.'local.'import.;;.'
683c0 6d 6f 64 75 6c 65 2d 6c 61 6e 67 2c 20 73 6f 20 63 6f 75 6c 64 20 62 65 20 6d 6f 72 65 20 67 72 module-lang,.so.could.be.more.gr
683e0 61 6e 75 6c 61 72 69 74 79 2e 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 78 70 2d 68 69 67 anularity..(defvar.racket-xp-hig
68400 68 6c 69 67 68 74 2d 69 6d 70 6f 72 74 73 2d 70 20 6e 69 6c 0a 20 20 22 48 69 67 68 6c 69 67 68 hlight-imports-p.nil..."Highligh
68420 74 20 69 6d 70 6f 72 74 65 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 75 73 65 73 20 t.imported.definitions.and.uses.
68440 74 68 65 72 65 6f 66 3f 0a 0a 57 68 65 6e 20 6e 69 6c 2c 20 6f 6e 6c 79 20 6c 6f 63 61 6c 20 64 thereof?..When.nil,.only.local.d
68460 65 66 73 2f 75 73 65 73 20 61 72 65 20 68 69 67 68 6c 69 67 68 74 65 64 2e 20 57 68 65 6e 20 74 efs/uses.are.highlighted..When.t
68480 2c 20 61 6c 6c 20 61 72 65 0a 68 69 67 68 6c 69 67 68 74 65 64 20 2d 2d 20 73 69 6d 69 6c 61 72 ,.all.are.highlighted.--.similar
684a0 20 74 6f 20 68 6f 77 20 44 72 52 61 63 6b 65 74 20 64 72 61 77 73 20 61 72 72 6f 77 73 20 66 6f .to.how.DrRacket.draws.arrows.fo
684c0 72 0a 65 76 65 72 79 74 68 69 6e 67 2e 20 49 66 20 79 6f 75 20 66 69 6e 64 20 74 68 61 74 20 74 r.everything..If.you.find.that.t
684e0 6f 6f 20 5c 22 6e 6f 69 73 79 5c 22 2c 20 73 65 74 20 74 68 69 73 20 74 6f 20 6e 69 6c 2e 22 29 oo.\"noisy\",.set.this.to.nil.")
68500 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6e 74 72 6f 6c 2d 63 2d 68 61 ..(defvar.racket-xp-control-c-ha
68520 73 68 2d 6b 65 79 6d 61 70 0a 20 20 28 72 61 63 6b 65 74 2d 2d 65 61 73 79 2d 6b 65 79 6d 61 70 sh-keymap...(racket--easy-keymap
68540 2d 64 65 66 69 6e 65 0a 20 20 20 60 28 28 22 6a 22 20 2c 23 27 72 61 63 6b 65 74 2d 78 70 2d 6e -define....`(("j".,#'racket-xp-n
68560 65 78 74 2d 64 65 66 69 6e 69 74 69 6f 6e 29 0a 20 20 20 20 20 28 22 6b 22 20 2c 23 27 72 61 63 ext-definition)......("k".,#'rac
68580 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 64 65 66 69 6e 69 74 69 6f 6e 29 0a 20 20 20 20 ket-xp-previous-definition).....
685a0 20 28 22 6e 22 20 2c 23 27 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 75 73 65 29 0a 20 20 20 .("n".,#'racket-xp-next-use)....
685c0 20 20 28 22 70 22 20 2c 23 27 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 75 73 65 ..("p".,#'racket-xp-previous-use
685e0 29 0a 20 20 20 20 20 28 22 2e 22 20 2c 23 27 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 )......(".".,#'xref-find-definit
68600 69 6f 6e 73 29 0a 20 20 20 20 20 28 22 3f 22 20 2c 23 27 78 72 65 66 2d 66 69 6e 64 2d 72 65 66 ions)......("?".,#'xref-find-ref
68620 65 72 65 6e 63 65 73 29 0a 20 20 20 20 20 28 22 72 22 20 2c 23 27 72 61 63 6b 65 74 2d 78 70 2d erences)......("r".,#'racket-xp-
68640 72 65 6e 61 6d 65 29 0a 20 20 20 20 20 28 22 5e 22 20 2c 23 27 72 61 63 6b 65 74 2d 78 70 2d 74 rename)......("^".,#'racket-xp-t
68660 61 69 6c 2d 75 70 29 0a 20 20 20 20 20 28 22 76 22 20 2c 23 27 72 61 63 6b 65 74 2d 78 70 2d 74 ail-up)......("v".,#'racket-xp-t
68680 61 69 6c 2d 64 6f 77 6e 29 0a 20 20 20 20 20 28 22 3e 22 20 2c 23 27 72 61 63 6b 65 74 2d 78 70 ail-down)......(">".,#'racket-xp
686a0 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 62 6c 69 6e 67 29 0a 20 20 20 20 20 28 22 3c 22 20 2c 23 -tail-next-sibling)......("<".,#
686c0 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 72 65 76 69 6f 75 73 2d 73 69 62 6c 69 6e 67 'racket-xp-tail-previous-sibling
686e0 29 0a 20 20 20 20 20 28 22 67 22 20 2c 23 27 72 61 63 6b 65 74 2d 78 70 2d 61 6e 6e 6f 74 61 74 )......("g".,#'racket-xp-annotat
68700 65 29 0a 20 20 20 20 20 28 22 4e 22 20 2c 23 27 6e 65 78 74 2d 65 72 72 6f 72 29 0a 20 20 20 20 e)......("N".,#'next-error).....
68720 20 28 22 50 22 20 2c 23 27 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 29 29 29 29 0a 0a 28 64 65 .("P".,#'previous-error))))..(de
68740 66 76 61 72 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 72 61 63 6b 65 fvar.racket-xp-mode-map...(racke
68760 74 2d 2d 65 61 73 79 2d 6b 65 79 6d 61 70 2d 64 65 66 69 6e 65 0a 20 20 20 60 28 28 22 43 2d 63 t--easy-keymap-define....`(("C-c
68780 20 23 22 20 20 20 20 20 2c 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6e 74 72 6f 6c 2d 63 2d 68 61 73 .#".....,racket-xp-control-c-has
687a0 68 2d 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 28 22 4d 2d 2e 22 20 20 20 20 20 20 20 2c 23 27 78 h-keymap)......("M-.".......,#'x
687c0 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 29 0a 20 20 20 20 20 28 22 43 2d 63 ref-find-definitions)......("C-c
687e0 20 43 2d 2e 22 20 20 20 2c 23 27 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 29 0a 20 .C-."...,#'racket-xp-describe)..
68800 20 20 20 20 28 22 43 2d 63 20 43 2d 64 22 20 20 20 2c 23 27 72 61 63 6b 65 74 2d 78 70 2d 64 6f ....("C-c.C-d"...,#'racket-xp-do
68820 63 75 6d 65 6e 74 61 74 69 6f 6e 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 73 22 20 20 20 2c cumentation)......("C-c.C-s"...,
68840 23 27 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 29 29 29 29 0a 0a 28 65 #'racket-describe-search))))..(e
68860 61 73 79 2d 6d 65 6e 75 2d 64 65 66 69 6e 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 2d 6d asy-menu-define.racket-xp-mode-m
68880 65 6e 75 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 22 4d 65 6e 75 20 66 enu.racket-xp-mode-map..."Menu.f
688a0 6f 72 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 2e 22 0a 20 20 27 28 22 52 61 63 6b 65 or.`racket-xp-mode'."...'("Racke
688c0 74 2d 58 50 22 0a 20 20 20 20 5b 22 4e 65 78 74 20 45 72 72 6f 72 22 20 6e 65 78 74 2d 65 72 72 t-XP".....["Next.Error".next-err
688e0 6f 72 5d 0a 20 20 20 20 5b 22 50 72 65 76 69 6f 75 73 20 45 72 72 6f 72 22 20 70 72 65 76 69 6f or].....["Previous.Error".previo
68900 75 73 2d 65 72 72 6f 72 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 4e 65 78 74 20 44 us-error]....."---".....["Next.D
68920 65 66 69 6e 69 74 69 6f 6e 22 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 64 65 66 69 6e 69 efinition".racket-xp-next-defini
68940 74 69 6f 6e 5d 0a 20 20 20 20 5b 22 50 72 65 76 69 6f 75 73 20 44 65 66 69 6e 69 74 69 6f 6e 22 tion].....["Previous.Definition"
68960 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 64 65 66 69 6e 69 74 69 6f 6e 5d 0a .racket-xp-previous-definition].
68980 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 4e 65 78 74 20 55 73 65 22 20 72 61 63 6b 65 74 ...."---".....["Next.Use".racket
689a0 2d 78 70 2d 6e 65 78 74 2d 75 73 65 5d 0a 20 20 20 20 5b 22 50 72 65 76 69 6f 75 73 20 55 73 65 -xp-next-use].....["Previous.Use
689c0 22 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 75 73 65 5d 0a 20 20 20 20 22 2d ".racket-xp-previous-use]....."-
689e0 2d 2d 22 0a 20 20 20 20 5b 22 52 65 6e 61 6d 65 22 20 72 61 63 6b 65 74 2d 78 70 2d 72 65 6e 61 --".....["Rename".racket-xp-rena
68a00 6d 65 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 54 61 69 6c 20 75 70 22 20 72 61 63 me]....."---".....["Tail.up".rac
68a20 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 5d 0a 20 20 20 20 5b 22 54 61 69 6c 20 64 6f 77 6e 22 ket-xp-tail-up].....["Tail.down"
68a40 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 64 6f 77 6e 5d 0a 20 20 20 20 5b 22 54 61 69 6c .racket-xp-tail-down].....["Tail
68a60 20 6e 65 78 74 22 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 62 6c 69 .next".racket-xp-tail-next-sibli
68a80 6e 67 5d 0a 20 20 20 20 5b 22 54 61 69 6c 20 70 72 65 76 69 6f 75 73 22 20 72 61 63 6b 65 74 2d ng].....["Tail.previous".racket-
68aa0 78 70 2d 74 61 69 6c 2d 70 72 65 76 69 6f 75 73 2d 73 69 62 6c 69 6e 67 5d 0a 20 20 20 20 22 2d xp-tail-previous-sibling]....."-
68ac0 2d 2d 22 0a 20 20 20 20 5b 22 56 69 73 69 74 20 44 65 66 69 6e 69 74 69 6f 6e 22 20 78 72 65 66 --".....["Visit.Definition".xref
68ae0 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 5d 0a 20 20 20 20 5b 22 52 65 74 75 72 6e 20 -find-definitions].....["Return.
68b00 66 72 6f 6d 20 56 69 73 69 74 22 20 78 72 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 63 from.Visit".xref-pop-marker-stac
68b20 6b 5d 0a 20 20 20 20 5b 22 46 69 6e 64 20 52 65 66 65 72 65 6e 63 65 73 22 20 78 72 65 66 2d 66 k].....["Find.References".xref-f
68b40 69 6e 64 2d 72 65 66 65 72 65 6e 63 65 73 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 ind-references]....."---".....["
68b60 52 61 63 6b 65 74 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 22 20 72 61 63 6b 65 74 2d 78 70 2d Racket.Documentation".racket-xp-
68b80 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 5d 0a 20 20 20 20 5b 22 44 65 73 63 72 69 62 65 22 20 72 documentation].....["Describe".r
68ba0 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 5d 0a 20 20 20 20 5b 22 44 65 73 63 72 69 62 acket-xp-describe].....["Describ
68bc0 65 20 53 65 61 72 63 68 22 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 e.Search".racket-describe-search
68be0 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 41 6e 6e 6f 74 61 74 65 20 4e 6f 77 22 20 ]....."---".....["Annotate.Now".
68c00 72 61 63 6b 65 74 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 5d 29 29 0a 0a 28 64 65 66 76 61 72 20 72 racket-xp-annotate]))..(defvar.r
68c20 61 63 6b 65 74 2d 78 70 2d 62 75 66 66 65 72 2d 73 69 7a 65 2d 6c 69 6d 69 74 20 31 32 38 30 30 acket-xp-buffer-size-limit.12800
68c40 30 0a 20 20 22 57 68 65 6e 20 60 62 75 66 66 65 72 2d 73 69 7a 65 27 20 69 73 20 61 74 20 6c 65 0..."When.`buffer-size'.is.at.le
68c60 61 73 74 20 74 68 69 73 20 61 6d 6f 75 6e 74 2c 20 64 69 73 61 62 6c 65 20 61 75 74 6f 20 72 65 ast.this.amount,.disable.auto.re
68c80 66 72 65 73 68 2e 0a 0a 41 6c 73 6f 20 73 68 6f 77 20 79 65 73 2f 6e 6f 20 77 61 72 6e 69 6e 67 fresh...Also.show.yes/no.warning
68ca0 20 66 6f 72 20 6d 61 6e 75 61 6c 20 60 72 61 63 6b 65 74 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 27 .for.manual.`racket-xp-annotate'
68cc0 2e 0a 0a 53 65 65 20 69 73 73 75 65 20 23 35 32 32 2e 0a 0a 54 68 65 20 64 65 66 61 75 6c 74 20 ...See.issue.#522...The.default.
68ce0 76 61 6c 75 65 20 69 73 20 6f 66 20 63 6f 75 72 73 65 20 61 72 62 69 74 72 61 72 79 2e 20 46 6f value.is.of.course.arbitrary..Fo
68d00 72 20 63 6f 6d 70 61 72 69 73 6f 6e 20 69 74 20 69 73 0a 61 62 6f 75 74 20 68 61 6c 66 20 74 68 r.comparison.it.is.about.half.th
68d20 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 6c 61 72 67 65 73 74 20 68 61 6e 64 77 72 69 74 74 65 e.size.of.the.largest.handwritte
68d40 6e 20 66 69 6c 65 20 49 20 6b 6e 6f 77 20 69 6e 20 74 68 65 0a 52 61 63 6b 65 74 20 73 6f 75 72 n.file.I.know.in.the.Racket.sour
68d60 63 65 73 2c 20 64 72 72 61 63 6b 65 74 2f 70 72 69 76 61 74 65 2f 75 6e 69 74 2e 72 6b 74 2e 22 ces,.drracket/private/unit.rkt."
68d80 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 69 6e 65 2d 6d 69 6e 6f 72 2d )..;;;###autoload.(define-minor-
68da0 6d 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 0a 20 20 22 41 20 6d 69 6e 6f 72 20 6d mode.racket-xp-mode..."A.minor.m
68dc0 6f 64 65 20 74 68 61 74 20 61 6e 61 6c 79 7a 65 73 20 65 78 70 61 6e 64 65 64 20 63 6f 64 65 20 ode.that.analyzes.expanded.code.
68de0 74 6f 20 65 78 70 6c 61 69 6e 20 61 6e 64 20 65 78 70 6c 6f 72 65 2e 0a 0a 54 68 69 73 20 6d 69 to.explain.and.explore...This.mi
68e00 6e 6f 72 20 6d 6f 64 65 20 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 65 6e 68 61 6e 63 65 6d nor.mode.is.an.optional.enhancem
68e20 65 6e 74 20 74 6f 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 65 64 69 74 0a 62 75 66 66 65 72 ent.to.`racket-mode'.edit.buffer
68e40 73 2e 20 4c 69 6b 65 20 61 6e 79 20 6d 69 6e 6f 72 20 6d 6f 64 65 2c 20 79 6f 75 20 63 61 6e 20 s..Like.any.minor.mode,.you.can.
68e60 74 75 72 6e 20 69 74 20 6f 6e 20 6f 72 20 6f 66 66 20 66 6f 72 20 61 0a 73 70 65 63 69 66 69 63 turn.it.on.or.off.for.a.specific
68e80 20 62 75 66 66 65 72 2e 20 49 66 20 79 6f 75 20 61 6c 77 61 79 73 20 77 61 6e 74 20 74 6f 20 75 .buffer..If.you.always.want.to.u
68ea0 73 65 20 69 74 2c 20 70 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 63 6f 64 65 20 69 6e se.it,.put.the.following.code.in
68ec0 20 79 6f 75 72 20 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 3a 0a 0a 23 2b 42 45 47 49 4e 5f .your.Emacs.init.file:..#+BEGIN_
68ee0 53 52 43 20 65 6c 69 73 70 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 5c 5c 3d 27 72 61 63 6b 65 SRC.elisp.....(require.\\='racke
68f00 74 2d 78 70 29 0a 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 5c 5c 3d 27 72 61 63 6b 65 74 2d 6d t-xp).....(add-hook.\\='racket-m
68f20 6f 64 65 2d 68 6f 6f 6b 20 23 5c 5c 3d 27 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 29 0a 23 2b ode-hook.#\\='racket-xp-mode).#+
68f40 45 4e 44 5f 53 52 43 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 6d 6f 64 65 20 77 6f 6e 27 74 20 64 END_SRC..Note:.This.mode.won't.d
68f60 6f 20 61 6e 79 74 68 69 6e 67 20 75 6e 6c 65 73 73 2f 75 6e 74 69 6c 20 74 68 65 20 52 61 63 6b o.anything.unless/until.the.Rack
68f80 65 74 20 4d 6f 64 65 0a 62 61 63 6b 20 65 6e 64 20 69 73 20 72 75 6e 6e 69 6e 67 2e 20 49 74 20 et.Mode.back.end.is.running..It.
68fa0 77 69 6c 6c 20 74 72 79 20 74 6f 20 73 74 61 72 74 20 74 68 65 20 62 61 63 6b 20 65 6e 64 0a 61 will.try.to.start.the.back.end.a
68fc0 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 20 59 6f 75 20 64 6f 20 2f 6e 6f 74 2f 20 6e 65 65 64 20 utomatically..You.do./not/.need.
68fe0 74 6f 20 60 72 61 63 6b 65 74 2d 72 75 6e 27 20 74 68 65 20 62 75 66 66 65 72 20 79 6f 75 0a 61 to.`racket-run'.the.buffer.you.a
69000 72 65 20 65 64 69 74 69 6e 67 2e 0a 0a 54 68 69 73 20 6d 6f 64 65 20 75 73 65 73 20 74 68 65 20 re.editing...This.mode.uses.the.
69020 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 70 61 63 6b 61 67 65 20 74 6f drracket/check-syntax.package.to
69040 20 61 6e 61 6c 79 7a 65 0a 66 75 6c 6c 79 2d 65 78 70 61 6e 64 65 64 20 70 72 6f 67 72 61 6d 73 .analyze.fully-expanded.programs
69060 2c 20 77 69 74 68 6f 75 74 20 6e 65 65 64 69 6e 67 20 74 6f 20 65 76 61 6c 75 61 74 65 20 61 2e ,.without.needing.to.evaluate.a.
69080 6b 2e 61 2e 0a 5c 22 72 75 6e 5c 22 20 74 68 65 6d 2e 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 k.a..\"run\".them..The.resulting
690a0 20 61 6e 61 6c 79 73 69 73 20 70 72 6f 76 69 64 65 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 .analysis.provides.information.f
690c0 6f 72 3a 0a 0a 2d 20 56 69 73 75 61 6c 6c 79 20 61 6e 6e 6f 74 61 74 69 6e 67 20 62 69 6e 64 69 or:..-.Visually.annotating.bindi
690e0 6e 67 73 20 2d 2d 20 6c 6f 63 61 6c 20 6f 72 20 69 6d 70 6f 72 74 65 64 20 64 65 66 69 6e 69 74 ngs.--.local.or.imported.definit
69100 69 6f 6e 73 0a 20 20 61 6e 64 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 74 68 65 6d 2e 0a 0a ions...and.references.to.them...
69120 2d 20 56 69 73 75 61 6c 6c 79 20 61 6e 6e 6f 74 61 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e -.Visually.annotating.expression
69140 73 20 69 6e 20 61 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 2c 20 61 73 20 77 65 6c 6c 20 61 73 s.in.a.tail.position,.as.well.as
69160 0a 20 20 74 68 65 20 65 6e 63 6c 6f 73 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 74 68 ...the.enclosing.expression.with
69180 20 72 65 73 70 65 63 74 20 74 6f 20 77 68 69 63 68 20 74 68 65 79 20 61 72 65 20 69 6e 20 61 0a .respect.to.which.they.are.in.a.
691a0 20 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 2d 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 63 ..tail.position...-.Completion.c
691c0 61 6e 64 69 64 61 74 65 73 2e 0a 0a 2d 20 44 65 66 69 6e 74 69 6f 6e 73 27 20 73 6f 75 72 63 65 andidates...-.Defintions'.source
691e0 20 61 6e 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 57 68 65 6e 20 70 6f 69 6e 74 20 .and.documentation...When.point.
69200 69 73 20 6f 6e 20 61 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 72 20 75 73 65 2c 20 72 65 6c 61 74 is.on.a.definition.or.use,.relat
69220 65 64 20 69 74 65 6d 73 20 61 72 65 0a 68 69 67 68 6c 69 67 68 74 65 64 20 75 73 69 6e 67 20 60 ed.items.are.highlighted.using.`
69240 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 2d 66 61 63 65 27 20 61 6e 64 20 60 72 61 63 6b 65 74 2d racket-xp-def-face'.and.`racket-
69260 78 70 2d 75 73 65 2d 66 61 63 65 27 0a 2d 2d 20 69 6e 73 74 65 61 64 20 6f 66 20 64 72 61 77 69 xp-use-face'.--.instead.of.drawi
69280 6e 67 20 61 72 72 6f 77 73 20 61 73 20 69 6e 20 44 72 20 52 61 63 6b 65 74 2e 20 49 6e 66 6f 72 ng.arrows.as.in.Dr.Racket..Infor
692a0 6d 61 74 69 6f 6e 20 69 73 0a 64 69 73 70 6c 61 79 65 64 20 75 73 69 6e 67 20 74 68 65 20 66 75 mation.is.displayed.using.the.fu
692c0 6e 63 74 69 6f 6e 28 73 29 20 69 6e 20 74 68 65 20 68 6f 6f 6b 20 76 61 72 69 61 62 6c 65 0a 60 nction(s).in.the.hook.variable.`
692e0 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 27 3b 20 69 74 20 69 73 20 61 6c racket-show-functions';.it.is.al
69300 73 6f 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 68 6f 76 65 72 69 6e 67 20 74 68 65 0a 6d so.available.when.hovering.the.m
69320 6f 75 73 65 20 63 75 72 73 6f 72 2e 0a 0a 4e 6f 74 65 3a 20 49 66 20 79 6f 75 20 66 69 6e 64 20 ouse.cursor...Note:.If.you.find.
69340 74 68 65 73 65 20 70 6f 69 6e 74 2d 6d 6f 74 69 6f 6e 20 66 65 61 74 75 72 65 73 20 74 6f 6f 20 these.point-motion.features.too.
69360 64 69 73 74 72 61 63 74 69 6e 67 0a 61 6e 64 2f 6f 72 20 73 6c 6f 77 2c 20 69 6e 20 79 6f 75 72 distracting.and/or.slow,.in.your
69380 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 2d 68 6f 6f 6b 27 20 79 6f 75 20 6d 61 79 20 64 .`racket-xp-mode-hook'.you.may.d
693a0 69 73 61 62 6c 65 20 74 68 65 6d 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 65 6c 69 73 70 0a isable.them:..#+BEGIN_SRC.elisp.
693c0 20 20 28 72 65 71 75 69 72 65 20 5c 5c 3d 27 72 61 63 6b 65 74 2d 78 70 29 0a 20 20 28 61 64 64 ..(require.\\='racket-xp)...(add
693e0 2d 68 6f 6f 6b 20 5c 5c 3d 27 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 2d 68 6f 6f 6b 0a 20 20 -hook.\\='racket-xp-mode-hook...
69400 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 ..........(lambda.()............
69420 20 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 5c 5c 3d 27 70 72 65 2d 72 65 64 69 73 70 6c 61 ...(remove-hook.\\='pre-redispla
69440 79 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y-functions.....................
69460 20 20 20 20 20 20 20 23 5c 5c 3d 27 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 2d 72 65 64 69 73 70 .......#\\='racket-xp-pre-redisp
69480 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 lay............................t
694a0 29 29 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 54 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 66 65 61 ))).#+END_SRC..The.remaining.fea
694c0 74 75 72 65 73 20 64 69 73 63 75 73 73 65 64 20 62 65 6c 6f 77 20 77 69 6c 6c 20 73 74 69 6c 6c tures.discussed.below.will.still
694e0 20 77 6f 72 6b 2e 0a 0a 59 6f 75 20 6d 61 79 20 61 6c 73 6f 20 75 73 65 20 63 6f 6d 6d 61 6e 64 .work...You.may.also.use.command
69500 73 20 74 6f 20 6e 61 76 69 67 61 74 65 20 61 6d 6f 6e 67 20 61 20 64 65 66 69 6e 69 74 69 6f 6e s.to.navigate.among.a.definition
69520 20 61 6e 64 20 69 74 73 0a 75 73 65 73 2c 20 6f 72 20 74 6f 20 72 65 6e 61 6d 65 20 61 20 6c 6f .and.its.uses,.or.to.rename.a.lo
69540 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 61 6c 6c 20 69 74 73 20 75 73 65 73 cal.definitions.and.all.its.uses
69560 3a 0a 0a 20 20 2d 20 60 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 64 65 66 69 6e 69 74 69 6f :....-.`racket-xp-next-definitio
69580 6e 27 0a 20 20 2d 20 60 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 64 65 66 69 6e n'...-.`racket-xp-previous-defin
695a0 69 74 69 6f 6e 27 0a 20 20 2d 20 60 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 75 73 65 27 0a ition'...-.`racket-xp-next-use'.
695c0 20 20 2d 20 60 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 75 73 65 27 0a 0a 49 6e ..-.`racket-xp-previous-use'..In
695e0 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 69 74 74 6c 65 20 65 78 61 6d 70 6c 65 2c 20 6e .the.following.little.example,.n
69600 6f 74 20 6f 6e 6c 79 20 64 6f 65 73 0a 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 ot.only.does.drracket/check-synt
69620 61 78 20 64 69 73 74 69 6e 67 75 69 73 68 20 74 68 65 20 76 61 72 69 6f 75 73 20 5c 22 78 5c 22 ax.distinguish.the.various.\"x\"
69640 20 62 69 6e 64 69 6e 67 73 2c 20 69 74 0a 75 6e 64 65 72 73 74 61 6e 64 73 20 74 68 65 20 74 77 .bindings,.it.understands.the.tw
69660 6f 20 64 69 66 66 65 72 65 6e 74 20 69 6d 70 6f 72 74 73 20 6f 66 20 5c 22 64 65 66 69 6e 65 5c o.different.imports.of.\"define\
69680 22 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 72 61 63 6b 65 74 0a 20 20 23 6c 61 6e 67 20 72 ":..#+BEGIN_SRC.racket...#lang.r
696a0 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 28 64 65 66 69 6e 65 20 78 20 31 29 0a 20 20 78 0a 20 20 acket/base...(define.x.1)...x...
696c0 28 6c 65 74 20 28 5b 78 20 78 5d 29 0a 20 20 20 20 28 2b 20 78 20 31 29 29 0a 20 20 28 6d 6f 64 (let.([x.x]).....(+.x.1))...(mod
696e0 75 6c 65 20 6d 20 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 20 20 28 64 65 66 ule.m.typed/racket/base.....(def
69700 69 6e 65 20 78 20 32 29 0a 20 20 20 20 78 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 57 68 65 6e 20 ine.x.2).....x).#+END_SRC..When.
69720 70 6f 69 6e 74 20 69 73 20 6f 6e 20 74 68 65 20 6f 70 65 6e 69 6e 67 20 70 61 72 65 6e 74 68 65 point.is.on.the.opening.parenthe
69740 73 69 73 20 6f 66 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 6e 20 74 61 69 6c 0a 70 6f 73 sis.of.an.expression.in.tail.pos
69760 69 74 69 6f 6e 2c 20 69 74 20 69 73 20 68 69 67 68 6c 69 67 68 74 65 64 20 75 73 69 6e 67 20 74 ition,.it.is.highlighted.using.t
69780 68 65 20 66 61 63 65 0a 60 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e he.face.`racket-xp-tail-position
697a0 2d 66 61 63 65 27 2e 0a 0a 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 74 68 65 20 6f 70 -face'...When.point.is.on.the.op
697c0 65 6e 69 6e 67 20 70 61 72 65 6e 74 68 65 73 69 73 20 6f 66 20 61 6e 20 65 6e 63 6c 6f 73 69 6e ening.parenthesis.of.an.enclosin
697e0 67 0a 65 78 70 72 65 73 73 69 6f 6e 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 77 68 69 g.expression.with.respect.to.whi
69800 63 68 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 69 ch.one.or.more.expressions.are.i
69820 6e 0a 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 2c 20 69 74 20 69 73 20 68 69 67 68 6c 69 67 68 74 n.tail.position,.it.is.highlight
69840 65 64 20 75 73 69 6e 67 20 74 68 65 20 66 61 63 65 0a 60 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 ed.using.the.face.`racket-xp-tai
69860 6c 2d 74 61 72 67 65 74 2d 66 61 63 65 27 2e 0a 0a 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 77 68 l-target-face'...Furthermore,.wh
69880 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 74 68 65 20 6f 70 65 6e 69 6e 67 20 70 61 72 65 6e en.point.is.on.the.opening.paren
698a0 74 68 65 73 69 73 20 6f 66 20 65 69 74 68 65 72 0a 6b 69 6e 64 20 6f 66 20 65 78 70 72 65 73 73 thesis.of.either.kind.of.express
698c0 69 6f 6e 2c 20 61 6c 6c 20 6f 66 20 74 68 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 72 65 6c 61 ion,.all.of.the.immediately.rela
698e0 74 65 64 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 61 72 65 20 61 6c 73 6f 20 68 69 67 68 6c 69 67 ted.expressions.are.also.highlig
69900 68 74 65 64 2e 20 56 61 72 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 73 20 6d 6f 76 65 20 61 6d 6f 6e hted..Various.commands.move.amon
69920 67 20 74 68 65 6d 3a 0a 0a 20 20 2d 20 60 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 27 g.them:....-.`racket-xp-tail-up'
69940 0a 20 20 2d 20 60 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 64 6f 77 6e 27 0a 20 20 2d 20 60 ...-.`racket-xp-tail-down'...-.`
69960 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 62 6c 69 6e 67 27 0a 20 20 2d racket-xp-tail-next-sibling'...-
69980 20 60 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 72 65 76 69 6f 75 73 2d 73 69 62 6c 69 6e .`racket-xp-tail-previous-siblin
699a0 67 27 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6d 70 g'..The.function.`racket-xp-comp
699c0 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 27 20 69 73 20 61 64 64 65 64 20 74 6f 20 74 68 65 0a 76 lete-at-point'.is.added.to.the.v
699e0 61 72 69 61 62 6c 65 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e ariable.`completion-at-point-fun
69a00 63 74 69 6f 6e 73 27 2e 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 74 68 69 73 20 63 61 73 65 2c ctions'..Note.that.in.this.case,
69a20 0a 69 74 20 69 73 20 6e 6f 74 20 73 6d 61 72 74 20 61 62 6f 75 74 20 73 75 62 6d 6f 64 75 6c 65 .it.is.not.smart.about.submodule
69a40 73 3b 20 69 64 65 6e 74 69 66 69 65 72 73 20 61 72 65 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 s;.identifiers.are.assumed.to.be
69a60 0a 64 65 66 69 6e 69 74 69 6f 6e 73 20 66 72 6f 6d 20 74 68 65 20 66 69 6c 65 27 73 20 6d 6f 64 .definitions.from.the.file's.mod
69a80 75 6c 65 20 6f 72 20 69 74 73 20 69 6d 70 6f 72 74 73 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 ule.or.its.imports..In.addition.
69aa0 74 6f 0a 73 75 70 70 6c 79 69 6e 67 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 to.supplying.completion.candidat
69ac0 65 73 2c 20 69 74 20 73 75 70 70 6f 72 74 73 20 74 68 65 0a 5c 22 3a 63 6f 6d 70 61 6e 79 2d 6c es,.it.supports.the.\":company-l
69ae0 6f 63 61 74 69 6f 6e 5c 22 20 70 72 6f 70 65 72 74 79 20 74 6f 20 69 6e 73 70 65 63 74 20 74 68 ocation\".property.to.inspect.th
69b00 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 61 0a 63 61 6e 64 69 64 61 74 65 20 61 6e 64 20 e.definition.of.a.candidate.and.
69b20 74 68 65 20 5c 22 3a 63 6f 6d 70 61 6e 79 2d 64 6f 63 2d 62 75 66 66 65 72 5c 22 20 70 72 6f 70 the.\":company-doc-buffer\".prop
69b40 65 72 74 79 20 74 6f 20 76 69 65 77 20 69 74 73 0a 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a erty.to.view.its.documentation..
69b60 0a 57 68 65 6e 20 79 6f 75 20 65 64 69 74 20 74 68 65 20 62 75 66 66 65 72 2c 20 65 78 69 73 74 .When.you.edit.the.buffer,.exist
69b80 69 6e 67 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 61 72 65 20 72 65 74 61 69 6e 65 64 3b 0a 74 68 ing.annotations.are.retained;.th
69ba0 65 69 72 20 70 6f 73 69 74 69 6f 6e 73 20 61 72 65 20 75 70 64 61 74 65 64 20 74 6f 20 72 65 66 eir.positions.are.updated.to.ref
69bc0 6c 65 63 74 20 74 68 65 20 65 64 69 74 2e 20 41 6e 6e 6f 74 61 74 69 6f 6e 73 20 66 6f 72 0a 6e lect.the.edit..Annotations.for.n
69be0 65 77 20 6f 72 20 64 65 6c 65 74 65 64 20 74 65 78 74 20 61 72 65 20 6e 6f 74 20 72 65 71 75 65 ew.or.deleted.text.are.not.reque
69c00 73 74 65 64 20 75 6e 74 69 6c 20 61 66 74 65 72 0a 60 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 sted.until.after.`racket-xp-afte
69c20 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 27 20 73 65 63 6f 6e 64 73 2e r-change-refresh-delay'.seconds.
69c40 20 54 68 65 20 72 65 71 75 65 73 74 20 69 73 0a 6d 61 64 65 20 61 73 79 6e 63 68 72 6f 6e 6f 75 .The.request.is.made.asynchronou
69c60 73 6c 79 20 73 6f 20 74 68 61 74 20 45 6d 61 63 73 20 77 69 6c 6c 20 6e 6f 74 20 62 6c 6f 63 6b sly.so.that.Emacs.will.not.block
69c80 20 2d 2d 20 66 6f 72 0a 6d 6f 64 65 72 61 74 65 6c 79 20 63 6f 6d 70 6c 65 78 20 73 6f 75 72 63 .--.for.moderately.complex.sourc
69ca0 65 20 66 69 6c 65 73 2c 20 69 74 20 63 61 6e 20 74 61 6b 65 20 73 6f 6d 65 20 73 65 63 6f 6e 64 e.files,.it.can.take.some.second
69cc0 73 20 73 69 6d 70 6c 79 0a 74 6f 20 66 75 6c 6c 79 20 65 78 70 61 6e 64 20 74 68 65 6d 2c 20 61 s.simply.to.fully.expand.them,.a
69ce0 73 20 77 65 6c 6c 20 61 73 20 61 20 6c 69 74 74 6c 65 20 6d 6f 72 65 20 74 69 6d 65 20 66 6f 72 s.well.as.a.little.more.time.for
69d00 20 74 68 65 0a 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 61 6e 61 6c 79 .the.drracket/check-syntax.analy
69d20 73 69 73 2e 20 57 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 72 65 61 64 79 2c sis..When.the.results.are.ready,
69d40 20 61 6c 6c 0a 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 62 75 66 66 65 72 20 .all.annotations.for.the.buffer.
69d60 61 72 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 72 65 66 72 65 73 68 65 64 2e 0a 0a 59 6f 75 20 6d are.completely.refreshed...You.m
69d80 61 79 20 61 6c 73 6f 20 73 65 74 20 60 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 ay.also.set.`racket-xp-after-cha
69da0 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 27 20 74 6f 20 6e 69 6c 0a 61 6e 64 20 75 73 nge-refresh-delay'.to.nil.and.us
69dc0 65 20 74 68 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 27 20 63 6f 6d 6d 61 e.the.`racket-xp-annotate'.comma
69de0 6e 64 20 6d 61 6e 75 61 6c 6c 79 2e 0a 0a 54 68 65 20 6d 6f 64 65 20 6c 69 6e 65 20 63 68 61 6e nd.manually...The.mode.line.chan
69e00 67 65 73 20 74 6f 20 72 65 66 6c 65 63 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 75 ges.to.reflect.the.current.statu
69e20 73 20 6f 66 0a 61 6e 6e 6f 74 61 74 69 6f 6e 73 2c 20 61 6e 64 20 77 68 65 74 68 65 72 20 6f 72 s.of.annotations,.and.whether.or
69e40 20 6e 6f 74 20 79 6f 75 20 68 61 64 20 61 20 73 79 6e 74 61 78 20 65 72 72 6f 72 2e 0a 0a 49 66 .not.you.had.a.syntax.error...If
69e60 20 79 6f 75 20 68 61 76 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 73 79 6e 74 61 78 20 65 72 72 .you.have.one.or.more.syntax.err
69e80 6f 72 73 2c 20 60 6e 65 78 74 2d 65 72 72 6f 72 27 20 61 6e 64 0a 60 70 72 65 76 69 6f 75 73 2d ors,.`next-error'.and.`previous-
69ea0 65 72 72 6f 72 27 20 6e 61 76 69 67 61 74 65 20 61 6d 6f 6e 67 20 74 68 65 6d 2e 20 41 6c 74 68 error'.navigate.among.them..Alth
69ec0 6f 75 67 68 20 6d 6f 73 74 20 6c 61 6e 67 75 61 67 65 73 0a 77 69 6c 6c 20 73 74 6f 70 20 61 66 ough.most.languages.will.stop.af
69ee0 74 65 72 20 74 68 65 20 66 69 72 73 74 20 73 79 6e 74 61 78 20 65 72 72 6f 72 2c 20 73 6f 6d 65 ter.the.first.syntax.error,.some
69f00 20 6c 69 6b 65 20 54 79 70 65 64 20 52 61 63 6b 65 74 0a 77 69 6c 6c 20 74 72 79 20 74 6f 20 63 .like.Typed.Racket.will.try.to.c
69f20 6f 6c 6c 65 63 74 20 61 6e 64 20 72 65 70 6f 72 74 20 6d 75 6c 74 69 70 6c 65 20 65 72 72 6f 72 ollect.and.report.multiple.error
69f40 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 75 73 65 20 60 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e s...You.may.use.`xref-find-defin
69f60 69 74 69 6f 6e 73 27 20 5c 5c 5b 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 itions'.\\[xref-find-definitions
69f80 5d 2c 0a 60 78 72 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 63 6b 27 20 5c 5c 5b 78 72 ],.`xref-pop-marker-stack'.\\[xr
69fa0 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 63 6b 5d 2c 20 61 6e 64 0a 60 78 72 65 66 2d ef-pop-marker-stack],.and.`xref-
69fc0 66 69 6e 64 2d 72 65 66 65 72 65 6e 63 65 73 27 3a 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 find-references':.`racket-xp-mod
69fe0 65 27 20 61 64 64 73 20 61 20 62 61 63 6b 65 6e 64 20 74 6f 20 74 68 65 0a 76 61 72 69 61 62 6c e'.adds.a.backend.to.the.variabl
6a000 65 20 60 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 27 2e 20 54 68 69 73 e.`xref-backend-functions'..This
6a020 20 62 61 63 6b 65 6e 64 20 75 73 65 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 66 72 6f 6d 20 74 .backend.uses.information.from.t
6a040 68 65 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 73 74 61 74 69 63 20 he.drracket/check-syntax.static.
6a060 61 6e 61 6c 79 73 69 73 2e 20 49 74 73 20 61 62 69 6c 69 74 79 20 74 6f 0a 66 69 6e 64 20 72 65 analysis..Its.ability.to.find.re
6a080 66 65 72 65 6e 63 65 73 20 69 73 20 6c 69 6d 69 74 65 64 20 74 6f 20 74 68 65 20 63 75 72 72 65 ferences.is.limited.to.the.curre
6a0a0 6e 74 20 66 69 6c 65 3b 20 77 68 65 6e 20 69 74 20 66 69 6e 64 73 0a 6e 6f 6e 65 20 69 74 20 77 nt.file;.when.it.finds.none.it.w
6a0c0 69 6c 6c 20 74 72 79 20 74 68 65 20 64 65 66 61 75 6c 74 20 78 72 65 66 20 62 61 63 6b 65 6e 64 ill.try.the.default.xref.backend
6a0e0 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 77 68 69 63 68 20 69 73 0a 67 72 65 70 2d 62 61 .implementation.which.is.grep-ba
6a100 73 65 64 2e 0a 0a 54 69 70 3a 20 54 68 69 73 20 6d 6f 64 65 20 66 6f 6c 6c 6f 77 73 20 74 68 65 sed...Tip:.This.mode.follows.the
6a120 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 74 68 61 74 20 61 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 6d 61 .convention.that.a.minor.mode.ma
6a140 79 20 6f 6e 6c 79 0a 75 73 65 20 61 20 70 72 65 66 69 78 20 6b 65 79 20 63 6f 6e 73 69 73 74 69 y.only.use.a.prefix.key.consisti
6a160 6e 67 20 6f 66 20 5c 22 43 2d 63 5c 22 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 70 75 6e 63 ng.of.\"C-c\".followed.by.a.punc
6a180 74 75 61 74 69 6f 6e 0a 6b 65 79 2e 20 41 73 20 61 20 72 65 73 75 6c 74 2c 20 60 72 61 63 6b 65 tuation.key..As.a.result,.`racke
6a1a0 74 2d 78 70 2d 63 6f 6e 74 72 6f 6c 2d 63 2d 68 61 73 68 2d 6b 65 79 6d 61 70 27 20 69 73 20 62 t-xp-control-c-hash-keymap'.is.b
6a1c0 6f 75 6e 64 20 74 6f 0a 5c 22 43 2d 63 20 23 5c 22 20 62 79 20 64 65 66 61 75 6c 74 2e 20 41 6c ound.to.\"C-c.#\".by.default..Al
6a1e0 74 68 6f 75 67 68 20 79 6f 75 20 6d 69 67 68 74 20 66 69 6e 64 20 74 68 69 73 20 61 77 6b 77 61 though.you.might.find.this.awkwa
6a200 72 64 20 74 6f 0a 74 79 70 65 2c 20 72 65 6d 65 6d 62 65 72 20 74 68 61 74 20 61 73 20 61 6e 20 rd.to.type,.remember.that.as.an.
6a220 45 6d 61 63 73 20 75 73 65 72 2c 20 79 6f 75 20 61 72 65 20 66 72 65 65 20 74 6f 20 62 69 6e 64 Emacs.user,.you.are.free.to.bind
6a240 20 74 68 69 73 0a 6d 61 70 20 74 6f 20 61 20 6d 6f 72 65 20 63 6f 6e 76 65 6e 69 65 6e 74 20 70 .this.map.to.a.more.convenient.p
6a260 72 65 66 69 78 2c 20 61 6e 64 2f 6f 72 20 62 69 6e 64 20 61 6e 79 20 69 6e 64 69 76 69 64 75 61 refix,.and/or.bind.any.individua
6a280 6c 0a 63 6f 6d 6d 61 6e 64 73 20 64 69 72 65 63 74 6c 79 20 74 6f 20 77 68 61 74 65 76 65 72 20 l.commands.directly.to.whatever.
6a2a0 6b 65 79 73 20 79 6f 75 20 70 72 65 66 65 72 2e 0a 0a 5c 5c 7b 72 61 63 6b 65 74 2d 78 70 2d 6d keys.you.prefer...\\{racket-xp-m
6a2c0 6f 64 65 2d 6d 61 70 7d 0a 22 0a 20 20 3a 6c 69 67 68 74 65 72 20 72 61 63 6b 65 74 2d 78 70 2d ode-map}."...:lighter.racket-xp-
6a2e0 6d 6f 64 65 2d 6c 69 67 68 74 65 72 0a 20 20 3a 6b 65 79 6d 61 70 20 72 61 63 6b 65 74 2d 78 70 mode-lighter...:keymap.racket-xp
6a300 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 65 64 69 74 -mode-map...(racket--assert-edit
6a320 2d 6d 6f 64 65 20 28 6c 61 6d 62 64 61 20 28 29 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 78 70 -mode.(lambda.().(setq.racket-xp
6a340 2d 6d 6f 64 65 20 6e 69 6c 29 29 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 74 65 78 74 2d -mode.nil)))...(setq-local.text-
6a360 70 72 6f 70 65 72 74 79 2d 64 65 66 61 75 6c 74 2d 6e 6f 6e 73 74 69 63 6b 79 0a 20 20 20 20 20 property-default-nonsticky......
6a380 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 64 .........(append.text-property-d
6a3a0 65 66 61 75 6c 74 2d 6e 6f 6e 73 74 69 63 6b 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 efault-nonsticky................
6a3c0 20 20 20 20 20 20 20 27 28 28 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 20 2e 20 74 29 0a 20 20 20 .......'((racket-xp-def...t)....
6a3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 78 70 2d .....................(racket-xp-
6a400 75 73 65 20 2e 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 use...t)........................
6a420 20 28 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 20 2e 20 74 29 0a 20 .(racket-xp-tail-position...t)..
6a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 78 .......................(racket-x
6a460 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 20 2e 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 p-tail-target...t)..............
6a480 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 78 70 2d 76 69 73 69 74 20 2e 20 74 29 ...........(racket-xp-visit...t)
6a4a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 .........................(racket
6a4c0 2d 78 70 2d 64 6f 63 20 2e 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -xp-doc...t)....................
6a4e0 20 20 20 20 20 28 72 61 63 6b 65 74 2d 78 70 2d 72 65 71 75 69 72 65 20 2e 20 74 29 29 29 29 0a .....(racket-xp-require...t)))).
6a500 20 20 28 63 6f 6e 64 20 28 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 ..(cond.(racket-xp-mode.........
6a520 20 28 69 66 20 28 3c 20 28 62 75 66 66 65 72 2d 73 69 7a 65 29 20 72 61 63 6b 65 74 2d 78 70 2d .(if.(<.(buffer-size).racket-xp-
6a540 62 75 66 66 65 72 2d 73 69 7a 65 2d 6c 69 6d 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 buffer-size-limit)..............
6a560 28 72 61 63 6b 65 74 2d 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 (racket--xp-annotate)...........
6a580 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 .(setq-local.racket-xp-after-cha
6a5a0 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 nge-refresh-delay.nil)..........
6a5c0 20 20 28 6d 65 73 73 61 67 65 20 22 45 78 74 72 65 6d 65 6c 79 20 6c 61 72 67 65 20 62 75 66 66 ..(message."Extremely.large.buff
6a5e0 65 72 3b 20 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 er;.racket-xp-after-change-refre
6a600 73 68 2d 64 65 6c 61 79 20 6c 6f 63 61 6c 6c 79 20 73 65 74 20 74 6f 20 6e 69 6c 22 29 29 0a 20 sh-delay.locally.set.to.nil"))..
6a620 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 61 66 74 65 72 2d 63 68 61 6e 67 65 2d ........(add-hook.'after-change-
6a640 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 functions....................#'r
6a660 61 63 6b 65 74 2d 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 68 6f 6f 6b 0a 20 20 20 20 acket--xp-after-change-hook.....
6a680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 ...............t.t)..........(re
6a6a0 6d 6f 76 65 2d 68 6f 6f 6b 20 27 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 move-hook.'completion-at-point-f
6a6c0 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 unctions.......................#
6a6e0 27 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 0a 20 20 20 20 20 20 'racket-complete-at-point.......
6a700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 61 64 64 ................t)..........(add
6a720 2d 68 6f 6f 6b 20 27 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 -hook.'completion-at-point-funct
6a740 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 ions....................#'racket
6a760 2d 78 70 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 20 20 20 -xp-complete-at-point...........
6a780 20 20 20 20 20 20 20 20 20 74 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d .........t.t)..........(racket--
6a7a0 63 6d 64 2f 61 73 79 6e 63 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cmd/async.nil...................
6a7c0 20 20 20 20 20 20 20 20 20 20 60 28 6d 6f 64 75 6c 65 2d 6e 61 6d 65 73 29 0a 20 20 20 20 20 20 ..........`(module-names).......
6a7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 ......................(lambda.(r
6a800 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 esult)..........................
6a820 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 78 70 2d 6d 6f 64 75 6c 65 2d 63 6f 6d .....(setq.racket--xp-module-com
6a840 70 6c 65 74 69 6f 6e 73 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 64 64 pletions.result)))..........(add
6a860 2d 68 6f 6f 6b 20 27 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 -hook.'xref-backend-functions...
6a880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 78 70 2d 78 72 65 .................#'racket-xp-xre
6a8a0 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 f-backend-function..............
6a8c0 20 20 20 20 20 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 ......nil.t)..........(setq-loca
6a8e0 6c 20 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 2d 66 75 6e 63 74 69 6f 6e 20 23 27 l.imenu-create-index-function.#'
6a900 72 61 63 6b 65 74 2d 78 70 2d 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 2d 66 75 6e racket-xp-imenu-create-index-fun
6a920 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 6e 65 78 74 ction)..........(setq-local.next
6a940 2d 65 72 72 6f 72 2d 66 75 6e 63 74 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 -error-function.#'racket-xp-next
6a960 2d 65 72 72 6f 72 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 -error-function)..........(add-h
6a980 6f 6f 6b 20 27 70 72 65 2d 72 65 64 69 73 70 6c 61 79 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 ook.'pre-redisplay-functions....
6a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 2d ................#'racket-xp-pre-
6a9c0 72 65 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c redisplay....................nil
6a9e0 20 74 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 .t)).........(t..........(racket
6aa00 2d 73 68 6f 77 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d -show.nil)..........(racket--xp-
6aa20 63 6c 65 61 72 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 61 66 clear)..........(remove-hook.'af
6aa40 74 65 72 2d 63 68 61 6e 67 65 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 ter-change-functions............
6aa60 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 2d 78 70 2d 61 66 74 65 72 2d 63 68 ...........#'racket--xp-after-ch
6aa80 61 6e 67 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ange-hook.......................
6aaa0 74 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 63 6f 6d 70 6c 65 t)..........(remove-hook.'comple
6aac0 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 tion-at-point-functions.........
6aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6d 70 6c 65 ..............#'racket-xp-comple
6ab00 74 65 2d 61 74 2d 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 te-at-point.....................
6ab20 20 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 63 6f 6d 70 6c 65 74 ..t)..........(add-hook.'complet
6ab40 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 ion-at-point-functions..........
6ab60 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 ..........#'racket-complete-at-p
6ab80 6f 69 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 20 74 29 0a 20 20 20 oint....................t.t)....
6aba0 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 6e 65 78 74 2d 65 72 72 6f 72 2d 66 75 6e ......(setq-local.next-error-fun
6abc0 63 74 69 6f 6e 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 ction.nil)..........(setq-local.
6abe0 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 2d 66 75 6e 63 74 69 6f 6e 20 23 27 72 61 imenu-create-index-function.#'ra
6ac00 63 6b 65 74 2d 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 2d 66 75 6e 63 74 69 6f 6e cket-imenu-create-index-function
6ac20 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 78 72 65 66 2d 62 61 )..........(remove-hook.'xref-ba
6ac40 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ckend-functions.................
6ac60 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 78 70 2d 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 ......#'racket-xp-xref-backend-f
6ac80 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 unction.......................t)
6aca0 0a 20 20 20 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 70 72 65 2d 72 65 64 69 ..........(remove-hook.'pre-redi
6acc0 73 70 6c 61 79 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 splay-functions.................
6ace0 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 2d 72 65 64 69 73 70 6c 61 79 0a ......#'racket-xp-pre-redisplay.
6ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 29 29 29 0a 0a 3b 3b 3b ......................t))))..;;;
6ad20 20 43 68 61 6e 67 65 20 68 6f 6f 6b 20 61 6e 64 20 69 64 6c 65 20 74 69 6d 65 72 0a 0a 28 64 65 .Change.hook.and.idle.timer..(de
6ad40 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 2d 69 fvar-local.racket--xp-annotate-i
6ad60 64 6c 65 2d 74 69 6d 65 72 20 6e 69 6c 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 dle-timer.nil)..(defvar-local.ra
6ad80 63 6b 65 74 2d 2d 78 70 2d 65 64 69 74 2d 67 65 6e 65 72 61 74 69 6f 6e 20 30 0a 20 20 22 41 20 cket--xp-edit-generation.0..."A.
6ada0 63 6f 75 6e 74 65 72 20 74 6f 20 64 65 74 65 63 74 20 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 63 counter.to.detect.check-syntax.c
6adc0 6f 6d 6d 61 6e 64 20 72 65 73 70 6f 6e 73 65 73 20 77 65 20 73 68 6f 75 6c 64 20 69 67 6e 6f 72 ommand.responses.we.should.ignor
6ade0 65 2e 0a 45 78 61 6d 70 6c 65 20 73 63 65 6e 61 72 69 6f 3a 20 55 73 65 72 20 65 64 69 74 73 2e e..Example.scenario:.User.edits.
6ae00 20 54 69 6d 65 72 20 73 65 74 2e 20 54 69 6d 65 72 20 65 78 70 69 72 65 73 3b 20 77 65 0a 72 65 .Timer.set..Timer.expires;.we.re
6ae20 71 75 65 73 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2e 20 57 68 69 6c 65 20 77 61 69 74 69 6e 67 quest.annotations..While.waiting
6ae40 20 66 6f 72 20 74 68 61 74 20 72 65 73 70 6f 6e 73 65 2c 20 75 73 65 72 20 6d 61 6b 65 73 0a 6d .for.that.response,.user.makes.m
6ae60 6f 72 65 20 65 64 69 74 73 2e 20 57 68 65 6e 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 6c 79 20 72 ore.edits..When.the.originally.r
6ae80 65 71 75 65 73 74 65 64 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 61 72 72 69 76 65 2c 20 77 65 0a equested.annotations.arrive,.we.
6aea0 63 61 6e 20 73 65 65 20 74 68 65 79 27 72 65 20 6f 75 74 20 6f 66 20 64 61 74 65 20 61 6e 64 20 can.see.they're.out.of.date.and.
6aec0 73 68 6f 75 6c 64 20 62 65 20 69 67 6e 6f 72 65 64 2e 20 49 6e 73 74 65 61 64 20 6a 75 73 74 20 should.be.ignored..Instead.just.
6aee0 77 61 69 74 0a 66 6f 72 20 74 68 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 72 65 73 75 6c 74 69 wait.for.the.annotations.resulti
6af00 6e 67 20 66 72 6f 6d 20 74 68 65 20 75 73 65 72 27 73 20 6c 61 74 65 72 20 65 64 69 74 73 2e 22 ng.from.the.user's.later.edits."
6af20 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 78 70 2d 69 6e 68 69 )..(defvar-local.racket--xp-inhi
6af40 62 69 74 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 68 6f 6f 6b 20 6e 69 6c 29 0a 0a 28 64 65 66 bit-after-change-hook.nil)..(def
6af60 75 6e 20 72 61 63 6b 65 74 2d 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 68 6f 6f 6b 20 un.racket--xp-after-change-hook.
6af80 28 5f 62 65 67 20 5f 65 6e 64 20 5f 6c 65 6e 29 0a 20 20 28 75 6e 6c 65 73 73 20 72 61 63 6b 65 (_beg._end._len)...(unless.racke
6afa0 74 2d 2d 78 70 2d 69 6e 68 69 62 69 74 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 68 6f 6f 6b 0a t--xp-inhibit-after-change-hook.
6afc0 20 20 20 20 28 63 6c 2d 69 6e 63 66 20 72 61 63 6b 65 74 2d 2d 78 70 2d 65 64 69 74 2d 67 65 6e ....(cl-incf.racket--xp-edit-gen
6afe0 65 72 61 74 69 6f 6e 29 0a 20 20 20 20 28 77 68 65 6e 20 28 74 69 6d 65 72 70 20 72 61 63 6b 65 eration).....(when.(timerp.racke
6b000 74 2d 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 2d 69 64 6c 65 2d 74 69 6d 65 72 29 0a 20 20 20 20 20 t--xp-annotate-idle-timer)......
6b020 20 28 63 61 6e 63 65 6c 2d 74 69 6d 65 72 20 72 61 63 6b 65 74 2d 2d 78 70 2d 61 6e 6e 6f 74 61 .(cancel-timer.racket--xp-annota
6b040 74 65 2d 69 64 6c 65 2d 74 69 6d 65 72 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d te-idle-timer)).....(racket--xp-
6b060 73 65 74 2d 73 74 61 74 75 73 20 27 6f 75 74 64 61 74 65 64 29 0a 20 20 20 20 28 77 68 65 6e 20 set-status.'outdated).....(when.
6b080 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 racket-xp-after-change-refresh-d
6b0a0 65 6c 61 79 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 73 74 61 72 74 2d 69 64 6c elay.......(racket--xp-start-idl
6b0c0 65 2d 74 69 6d 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 0a 0a 28 64 e-timer.(current-buffer)))))..(d
6b0e0 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 78 70 2d 73 74 61 72 74 2d 69 64 6c 65 2d 74 69 6d 65 72 efun.racket--xp-start-idle-timer
6b100 20 28 62 75 66 66 65 72 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 78 70 2d 61 6e 6e .(buffer)...(setq.racket--xp-ann
6b120 6f 74 61 74 65 2d 69 64 6c 65 2d 74 69 6d 65 72 0a 20 20 20 20 20 20 20 20 28 72 75 6e 2d 77 69 otate-idle-timer.........(run-wi
6b140 74 68 2d 69 64 6c 65 2d 74 69 6d 65 72 20 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 th-idle-timer.racket-xp-after-ch
6b160 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ange-refresh-delay..............
6b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 20 20 20 20 20 20 20 3b 6e 6f 20 72 ................nil........;no.r
6b1a0 65 70 65 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 epeat...........................
6b1c0 20 20 20 23 27 72 61 63 6b 65 74 2d 2d 78 70 2d 6f 6e 2d 69 64 6c 65 2d 74 69 6d 65 72 0a 20 20 ...#'racket--xp-on-idle-timer...
6b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 ...........................buffe
6b200 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 78 70 2d 6f 6e 2d 69 64 6c 65 2d r)))..(defun.racket--xp-on-idle-
6b220 74 69 6d 65 72 20 28 62 75 66 66 65 72 29 0a 20 20 22 48 61 6e 64 6c 65 20 61 66 74 65 72 2d 63 timer.(buffer)..."Handle.after-c
6b240 68 61 6e 67 65 2d 68 6f 6f 6b 20 3d 3e 20 69 64 6c 65 2d 74 69 6d 65 72 20 65 78 70 69 72 61 74 hange-hook.=>.idle-timer.expirat
6b260 69 6f 6e 2e 0a 0a 4f 6e 65 20 73 63 65 6e 61 72 69 6f 20 74 6f 20 6b 65 65 70 20 69 6e 20 6d 69 ion...One.scenario.to.keep.in.mi
6b280 6e 64 3a 20 54 68 65 20 75 73 65 72 20 68 61 73 20 74 79 70 65 64 20 61 20 66 65 77 20 63 68 61 nd:.The.user.has.typed.a.few.cha
6b2a0 72 61 63 74 65 72 73 0a 2d 2d 20 77 68 69 63 68 20 61 72 65 20 6c 69 6b 65 6c 79 20 74 6f 20 62 racters.--.which.are.likely.to.b
6b2c0 65 20 61 20 73 79 6e 74 61 78 20 65 72 72 6f 72 20 2d 2d 20 61 6e 64 20 69 73 20 69 6e 20 74 68 e.a.syntax.error.--.and.is.in.th
6b2e0 65 20 70 72 6f 63 65 73 73 0a 6f 66 20 75 73 69 6e 67 20 6d 61 6e 75 61 6c 20 6f 72 20 61 75 74 e.process.of.using.manual.or.aut
6b300 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e 20 57 65 20 64 6f 6e 27 74 20 77 61 6e 74 20 74 6f 20 61 o.completion..We.don't.want.to.a
6b320 6e 6e 6f 74 61 74 65 0a 79 65 74 2e 20 41 74 20 62 65 73 74 20 69 74 27 73 20 61 20 77 61 73 74 nnotate.yet..At.best.it's.a.wast
6b340 65 20 6f 66 20 77 6f 72 6b 2c 20 61 6e 64 20 61 74 20 77 6f 72 73 74 20 74 68 65 20 63 6f 6d 70 e.of.work,.and.at.worst.the.comp
6b360 6c 65 74 69 6f 6e 20 55 49 0a 61 6e 64 20 6f 75 72 20 55 49 20 6d 69 67 68 74 20 64 69 73 74 72 letion.UI.and.our.UI.might.distr
6b380 61 63 74 69 6e 67 6c 79 20 69 6e 74 65 72 66 65 72 65 20 77 69 74 68 20 65 61 63 68 20 6f 74 68 actingly.interfere.with.each.oth
6b3a0 65 72 2e 20 4a 75 73 74 20 64 6f 0a 6e 6f 74 68 69 6e 67 20 66 6f 72 20 6e 6f 77 2e 20 49 66 20 er..Just.do.nothing.for.now..If.
6b3c0 74 68 65 20 75 73 65 72 20 73 65 6c 65 63 74 73 20 61 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 the.user.selects.a.completion.ca
6b3e0 6e 64 69 61 74 65 2c 20 74 68 61 74 0a 62 75 66 66 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e ndiate,.that.buffer.modification
6b400 20 77 69 6c 6c 20 63 61 75 73 65 20 75 73 20 74 6f 20 72 75 6e 20 6c 61 74 65 72 20 2d 2d 20 77 .will.cause.us.to.run.later.--.w
6b420 68 69 63 68 20 69 73 0a 70 65 72 66 65 63 74 2e 20 49 66 20 74 68 65 79 20 63 61 6e 63 65 6c 20 hich.is.perfect..If.they.cancel.
6b440 63 6f 6d 70 6c 65 74 69 6f 6e 2c 20 74 68 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 77 6f 6e 27 74 completion,.the.annotation.won't
6b460 20 72 65 66 72 65 73 68 0a 61 6e 64 20 6d 69 67 68 74 20 6d 69 73 73 20 61 20 63 68 61 6e 67 65 .refresh.and.might.miss.a.change
6b480 20 66 72 6f 6d 20 62 65 66 6f 72 65 20 74 68 65 79 20 65 76 65 6e 20 73 74 61 72 74 65 64 20 63 .from.before.they.even.started.c
6b4a0 6f 6d 70 6c 65 74 69 6f 6e 0a 2d 2d 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 67 72 65 61 74 2c ompletion.--.which.is.not.great,
6b4c0 20 62 75 74 20 69 73 20 62 65 74 74 65 72 20 74 68 61 6e 20 6d 61 6b 69 6e 67 20 61 20 6d 69 73 .but.is.better.than.making.a.mis
6b4e0 74 61 6b 65 0a 72 65 73 63 68 65 64 75 6c 69 6e 67 20 61 6e 20 69 64 6c 65 2d 74 69 6d 65 72 20 take.rescheduling.an.idle-timer.
6b500 77 69 74 68 20 61 6e 20 61 6d 6f 75 6e 74 20 3c 3d 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 with.an.amount.<=.the.amount.of.
6b520 69 64 6c 65 0a 74 69 6d 65 20 74 68 61 74 20 68 61 73 20 61 6c 72 65 61 64 79 20 65 6c 61 70 73 idle.time.that.has.already.elaps
6b540 65 64 3a 20 73 65 65 20 23 35 30 34 2e 22 0a 20 20 28 77 68 65 6e 20 28 62 75 66 66 65 72 2d 6c ed:.see.#504."...(when.(buffer-l
6b560 69 76 65 2d 70 20 62 75 66 66 65 72 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d ive-p.buffer).....(with-current-
6b580 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 72 61 63 buffer.buffer.......(unless.(rac
6b5a0 6b 65 74 2d 2d 78 70 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 70 29 0a 20 20 20 20 20 20 20 20 28 72 ket--xp-completing-p).........(r
6b5c0 61 63 6b 65 74 2d 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 acket--xp-annotate)))))..(defun.
6b5e0 72 61 63 6b 65 74 2d 2d 78 70 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 70 20 28 29 0a 20 20 22 49 73 racket--xp-completing-p.()..."Is
6b600 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 75 6e 64 65 72 77 61 79 3f 0a 54 68 69 73 20 69 73 20 61 64 .completion.underway?.This.is.ad
6b620 20 68 6f 63 20 61 6e 64 20 66 6f 72 65 6e 73 69 63 2e 22 0a 20 20 28 6f 72 20 28 67 65 74 2d 62 .hoc.and.forensic."...(or.(get-b
6b640 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 22 2a 43 6f 6d 70 6c 65 74 69 6f 6e 73 2a 22 29 0a 20 20 uffer-window."*Completions*")...
6b660 20 20 20 20 28 61 6e 64 20 28 62 6f 75 6e 64 70 20 27 63 6f 6d 70 61 6e 79 2d 70 73 65 75 64 6f ....(and.(boundp.'company-pseudo
6b680 2d 74 6f 6f 6c 74 69 70 2d 6f 76 65 72 6c 61 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d -tooltip-overlay)............com
6b6a0 70 61 6e 79 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 2d 6f 76 65 72 6c 61 79 29 29 29 0a 0a pany-pseudo-tooltip-overlay)))..
6b6c0 3b 3b 3b 20 41 6e 6e 6f 74 61 74 69 6f 6e 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 ;;;.Annotation..(defun.racket-xp
6b6e0 2d 61 6e 6e 6f 74 61 74 65 2d 61 6c 6c 2d 62 75 66 66 65 72 73 20 28 29 0a 20 20 22 43 61 6c 6c -annotate-all-buffers.()..."Call
6b700 20 60 72 61 63 6b 65 74 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 27 20 69 6e 20 61 6c 6c 20 60 72 61 .`racket-xp-annotate'.in.all.`ra
6b720 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 73 2e 22 0a 20 20 28 69 6e 74 65 72 cket-xp-mode'.buffers."...(inter
6b740 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 73 20 28 73 65 71 2d 66 69 active)...(let.((buffers.(seq-fi
6b760 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 lter.(lambda.(buffer)...........
6b780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 62 75 66 66 .....................(when.(buff
6b7a0 65 72 2d 6c 69 76 65 2d 70 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er-live-p.buffer)...............
6b7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 ...................(with-current
6b7e0 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -buffer.buffer..................
6b800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 ..................racket-xp-mode
6b820 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))).............................
6b840 20 28 62 75 66 66 65 72 2d 6c 69 73 74 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 79 2d 6f .(buffer-list)))).....(when.(y-o
6b860 72 2d 6e 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 52 65 71 75 65 73 r-n-p............(format."Reques
6b880 74 20 72 65 2d 61 6e 6e 6f 74 61 74 69 6f 6e 20 6f 66 20 25 73 20 72 61 63 6b 65 74 2d 78 70 2d t.re-annotation.of.%s.racket-xp-
6b8a0 6d 6f 64 65 20 62 75 66 66 65 72 73 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mode.buffers?"..................
6b8c0 20 20 28 6c 65 6e 67 74 68 20 62 75 66 66 65 72 73 29 29 29 0a 20 20 20 20 20 20 28 6d 65 73 73 ..(length.buffers))).......(mess
6b8e0 61 67 65 20 22 22 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 6d 65 73 73 61 67 65 age."").......(with-temp-message
6b900 20 22 57 6f 72 6b 69 6e 67 2e 2e 2e 22 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 62 ."Working...".........(dolist.(b
6b920 75 66 66 65 72 20 62 75 66 66 65 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 uffer.buffers)...........(with-c
6b940 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 urrent-buffer.buffer............
6b960 20 28 72 61 63 6b 65 74 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 29 29 29 29 29 29 29 0a 0a 28 64 65 .(racket-xp-annotate)))))))..(de
6b980 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 20 28 29 0a 20 20 22 52 65 71 fun.racket-xp-annotate.()..."Req
6b9a0 75 65 73 74 20 74 68 65 20 62 75 66 66 65 72 20 74 6f 20 62 65 20 61 6e 61 6c 79 7a 65 64 20 61 uest.the.buffer.to.be.analyzed.a
6b9c0 6e 64 20 61 6e 6e 6f 74 61 74 65 64 2e 0a 0a 49 66 20 79 6f 75 20 68 61 76 65 20 73 65 74 20 60 nd.annotated...If.you.have.set.`
6b9e0 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 racket-xp-after-change-refresh-d
6ba00 65 6c 61 79 27 20 74 6f 20 6e 69 6c 20 2d 2d 0a 6f 72 20 74 6f 20 61 20 76 65 72 79 20 6c 61 72 elay'.to.nil.--.or.to.a.very.lar
6ba20 67 65 20 61 6d 6f 75 6e 74 20 2d 2d 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 63 6f ge.amount.--.you.can.use.this.co
6ba40 6d 6d 61 6e 64 20 74 6f 20 61 6e 6e 6f 74 61 74 65 0a 6d 61 6e 75 61 6c 6c 79 2e 22 0a 20 20 28 mmand.to.annotate.manually."...(
6ba60 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 72 61 63 6b 65 74 interactive)...(when.(and.racket
6ba80 2d 78 70 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 3c 20 28 62 75 -xp-mode..............(or.(<.(bu
6baa0 66 66 65 72 2d 73 69 7a 65 29 20 72 61 63 6b 65 74 2d 78 70 2d 62 75 66 66 65 72 2d 73 69 7a 65 ffer-size).racket-xp-buffer-size
6bac0 2d 6c 69 6d 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 79 65 73 2d 6f 72 -limit)..................(yes-or
6bae0 2d 6e 6f 2d 70 20 22 54 68 65 20 62 75 66 66 65 72 20 69 73 20 73 6f 20 6c 61 72 67 65 20 45 6d -no-p."The.buffer.is.so.large.Em
6bb00 61 63 73 20 77 69 6c 6c 20 70 72 6f 62 61 62 6c 79 20 27 66 72 65 65 7a 65 27 21 20 41 72 65 20 acs.will.probably.'freeze'!.Are.
6bb20 79 6f 75 20 73 75 72 65 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 63 6f 6e 74 69 6e 75 65 3f 20 22 you.sure.you.want.to.continue?."
6bb40 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 0a 20 20 20 ))).....(racket--xp-annotate....
6bb60 20 20 28 6c 65 74 20 28 28 77 69 6e 64 6f 77 73 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 6e ..(let.((windows.(get-buffer-win
6bb80 64 6f 77 2d 6c 69 73 74 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 20 6e 69 6c 20 74 29 dow-list.(current-buffer).nil.t)
6bba0 29 29 0a 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 28 64 ))........(lambda.()..........(d
6bbc0 6f 6c 69 73 74 20 28 77 69 6e 64 6f 77 20 77 69 6e 64 6f 77 73 29 0a 20 20 20 20 20 20 20 20 20 olist.(window.windows)..........
6bbe0 20 20 28 72 61 63 6b 65 74 2d 78 70 2d 2d 66 6f 72 63 65 2d 72 65 64 69 73 70 6c 61 79 20 77 69 ..(racket-xp--force-redisplay.wi
6bc00 6e 64 6f 77 29 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 ndow)))))))..(defvar-local.racke
6bc20 74 2d 2d 78 70 2d 69 6d 65 6e 75 2d 69 6e 64 65 78 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 72 t--xp-imenu-index.nil)..(defun.r
6bc40 61 63 6b 65 74 2d 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 61 66 acket--xp-annotate.(&optional.af
6bc60 74 65 72 2d 74 68 75 6e 6b 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 73 65 74 2d 73 74 61 ter-thunk)...(racket--xp-set-sta
6bc80 74 75 73 20 27 72 75 6e 6e 69 6e 67 29 0a 20 20 28 6c 65 74 20 28 28 67 65 6e 65 72 61 74 69 6f tus.'running)...(let.((generatio
6bca0 6e 2d 6f 66 2d 6f 75 72 2d 72 65 71 75 65 73 74 20 72 61 63 6b 65 74 2d 2d 78 70 2d 65 64 69 74 n-of-our-request.racket--xp-edit
6bcc0 2d 67 65 6e 65 72 61 74 69 6f 6e 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 -generation)).....(racket--cmd/a
6bce0 73 79 6e 63 0a 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 60 28 63 68 65 63 6b 2d 73 79 6e 74 61 sync......nil......`(check-synta
6bd00 78 20 2c 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 66 72 6f 6e 74 2d 74 6f 2d 62 61 x.,(racket-file-name-front-to-ba
6bd20 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 72 61 ck.......................(or.(ra
6bd40 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 20 28 62 75 66 66 65 72 2d cket--buffer-file-name).(buffer-
6bd60 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 73 61 name))).....................,(sa
6bd80 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ve-restriction..................
6bda0 20 20 20 20 20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(widen)...................
6bdc0 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 .....(buffer-substring-no-proper
6bde0 74 69 65 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a ties.(point-min).(point-max)))).
6be00 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 70 6f 6e 73 65 29 0a 20 20 20 20 20 20 20 28 .....(lambda.(response)........(
6be20 77 68 65 6e 20 28 3d 20 67 65 6e 65 72 61 74 69 6f 6e 2d 6f 66 2d 6f 75 72 2d 72 65 71 75 65 73 when.(=.generation-of-our-reques
6be40 74 20 72 61 63 6b 65 74 2d 2d 78 70 2d 65 64 69 74 2d 67 65 6e 65 72 61 74 69 6f 6e 29 0a 20 20 t.racket--xp-edit-generation)...
6be60 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 73 68 6f 77 20 22 22 29 0a 20 20 20 20 20 20 20 20 .......(racket-show."").........
6be80 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 63 6c 65 61 72 2d 65 72 72 6f 72 73 29 0a 20 20 20 20 20 .(racket--xp-clear-errors)......
6bea0 20 20 20 20 28 70 63 61 73 65 20 72 65 73 70 6f 6e 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 ....(pcase.response............(
6bec0 60 28 63 68 65 63 6b 2d 73 79 6e 74 61 78 2d 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 `(check-syntax-ok...............
6bee0 28 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 2e 20 2c 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 0a 20 20 20 (completions...,completions)....
6bf00 20 20 20 20 20 20 20 20 20 20 20 28 69 6d 65 6e 75 20 20 20 20 20 20 20 2e 20 2c 69 6d 65 6e 75 ...........(imenu.........,imenu
6bf20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 2e 20 2c )...............(annotations...,
6bf40 61 6e 6e 6f 74 61 74 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 20 annotations)).............;;.We.
6bf60 68 61 76 65 20 6e 6f 20 65 72 72 6f 72 73 3b 20 61 6c 6c 6f 77 20 60 6e 65 78 74 2d 65 72 72 6f have.no.errors;.allow.`next-erro
6bf80 72 2d 66 69 6e 64 2d 62 75 66 66 65 72 27 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b r-find-buffer'.to.............;;
6bfa0 20 70 69 63 6b 20 73 6f 6d 65 20 6f 74 68 65 72 20 62 75 66 66 65 72 2c 20 73 75 63 68 20 61 73 .pick.some.other.buffer,.such.as
6bfc0 20 61 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 0a 20 20 20 20 20 20 20 20 20 20 .a.`racket-repl-mode'...........
6bfe0 20 20 3b 3b 20 62 75 66 66 65 72 20 74 68 61 74 20 73 65 74 20 74 68 69 73 20 77 68 65 6e 20 69 ..;;.buffer.that.set.this.when.i
6c000 74 20 72 61 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 75 61 6c 20 t.ran..............(when.(equal.
6c020 6e 65 78 74 2d 65 72 72 6f 72 2d 6c 61 73 74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d next-error-last-buffer.(current-
6c040 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 78 buffer))...............(setq.nex
6c060 74 2d 65 72 72 6f 72 2d 6c 61 73 74 2d 62 75 66 66 65 72 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 t-error-last-buffer.nil)).......
6c080 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 63 6c 65 61 72 29 0a 20 20 20 20 20 20 20 ......(racket--xp-clear)........
6c0a0 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 63 6f .....(setq.racket--xp-binding-co
6c0c0 6d 70 6c 65 74 69 6f 6e 73 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 20 mpletions.completions)..........
6c0e0 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 78 70 2d 69 6d 65 6e 75 2d 69 6e 64 65 78 20 ...(setq.racket--xp-imenu-index.
6c100 69 6d 65 6e 75 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 69 imenu).............(racket--xp-i
6c120 6e 73 65 72 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 nsert.annotations).............(
6c140 72 61 63 6b 65 74 2d 2d 78 70 2d 73 65 74 2d 73 74 61 74 75 73 20 27 6f 6b 29 0a 20 20 20 20 20 racket--xp-set-status.'ok)......
6c160 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 61 66 .......(when.(and.annotations.af
6c180 74 65 72 2d 74 68 75 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c ter-thunk)...............(funcal
6c1a0 6c 20 61 66 74 65 72 2d 74 68 75 6e 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 60 28 63 l.after-thunk)))............(`(c
6c1c0 68 65 63 6b 2d 73 79 6e 74 61 78 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 heck-syntax-errors..............
6c1e0 20 28 65 72 72 6f 72 73 20 20 20 20 20 20 2e 20 2c 65 72 72 6f 72 73 29 0a 20 20 20 20 20 20 20 .(errors........,errors)........
6c200 20 20 20 20 20 20 20 28 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 2e 20 2c 61 6e 6e 6f 74 61 74 69 6f .......(annotations...,annotatio
6c220 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 65 74 20 74 68 69 73 20 73 6f 20 ns)).............;;.Set.this.so.
6c240 60 6e 65 78 74 2d 65 72 72 6f 72 2d 66 69 6e 64 2d 62 75 66 66 65 72 27 20 63 68 6f 6f 73 65 73 `next-error-find-buffer'.chooses
6c260 20 75 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 78 74 2d 65 72 72 6f .us..............(setq.next-erro
6c280 72 2d 6c 61 73 74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a r-last-buffer.(current-buffer)).
6c2a0 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 44 6f 6e 27 74 20 64 6f 20 66 75 6c 6c 20 60 72 61 ............;;.Don't.do.full.`ra
6c2c0 63 6b 65 74 2d 2d 78 70 2d 63 6c 65 61 72 27 3a 20 54 68 65 20 6f 6c 64 20 63 6f 6d 70 6c 65 74 cket--xp-clear':.The.old.complet
6c2e0 69 6f 6e 73 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 6f 6d 65 20 6f 6c 64 ions.and.............;;.some.old
6c300 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 68 65 6c 70 66 75 6c 20 74 6f 20 75 .annotations.may.be.helpful.to.u
6c320 73 65 72 20 77 68 69 6c 65 20 65 64 69 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b ser.while.editing.............;;
6c340 20 74 6f 20 63 6f 72 72 65 63 74 20 74 68 65 20 65 72 72 6f 72 2e 20 48 6f 77 65 76 65 72 20 64 .to.correct.the.error..However.d
6c360 6f 20 63 6c 65 61 72 20 74 68 69 6e 67 73 20 72 65 6c 61 74 65 64 20 74 6f 0a 20 20 20 20 20 20 o.clear.things.related.to.......
6c380 20 20 20 20 20 20 3b 3b 20 70 72 65 76 69 6f 75 73 20 5f 65 72 72 6f 72 73 5f 2e 0a 20 20 20 20 ......;;.previous._errors_......
6c3a0 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 63 6c 65 61 72 20 74 29 0a 20 20 20 ........(racket--xp-clear.t)....
6c3c0 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 69 6e 73 65 72 74 20 65 72 72 6f .........(racket--xp-insert.erro
6c3e0 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 69 6e 73 65 rs).............(racket--xp-inse
6c400 72 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 rt.annotations).............(rac
6c420 6b 65 74 2d 2d 78 70 2d 73 65 74 2d 73 74 61 74 75 73 20 27 65 72 72 29 0a 20 20 20 20 20 20 20 ket--xp-set-status.'err)........
6c440 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 61 66 74 65 .....(when.(and.annotations.afte
6c460 72 2d 74 68 75 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 r-thunk)...............(funcall.
6c480 61 66 74 65 72 2d 74 68 75 6e 6b 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 after-thunk)))))))))..(defun.rac
6c4a0 6b 65 74 2d 2d 78 70 2d 69 6e 73 65 72 74 20 28 78 73 29 0a 20 20 22 49 6e 73 65 72 74 20 74 65 ket--xp-insert.(xs)..."Insert.te
6c4c0 78 74 20 70 72 6f 70 65 72 74 69 65 73 2e 22 0a 20 20 28 77 69 74 68 2d 73 69 6c 65 6e 74 2d 6d xt.properties."...(with-silent-m
6c4e0 6f 64 69 66 69 63 61 74 69 6f 6e 73 0a 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 odifications.....(save-restricti
6c500 6f 6e 0a 20 20 20 20 20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d on.......(widen).......(overlay-
6c520 72 65 63 65 6e 74 65 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 64 6f 6c recenter.(point-max)).......(dol
6c540 69 73 74 20 28 78 20 78 73 29 0a 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 78 0a 20 20 20 20 ist.(x.xs).........(pcase.x.....
6c560 20 20 20 20 20 20 28 60 28 65 72 72 6f 72 20 2c 70 61 74 68 20 2c 62 65 67 20 2c 65 6e 64 20 2c ......(`(error.,path.,beg.,end.,
6c580 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 61 74 68 20 28 72 61 63 str)............(let.((path.(rac
6c5a0 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 6f 6e 74 20 70 61 74 68 ket-file-name-back-to-front.path
6c5c0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 61 64 64 )))..............(racket--xp-add
6c5e0 2d 65 72 72 6f 72 20 70 61 74 68 20 62 65 67 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 -error.path.beg.str)............
6c600 20 20 28 77 68 65 6e 20 28 65 71 75 61 6c 20 70 61 74 68 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 ..(when.(equal.path.(racket--buf
6c620 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 fer-file-name))................(
6c640 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 20 20 remove-text-properties..........
6c660 20 20 20 20 20 20 20 62 65 67 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .......beg.end.................(
6c680 6c 69 73 74 20 27 68 65 6c 70 2d 65 63 68 6f 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 list.'help-echo.....nil.........
6c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 20 6e 69 6c ..............'racket-xp-def.nil
6c6c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 78 .......................'racket-x
6c6e0 70 2d 75 73 65 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b p-use.nil))................(rack
6c700 65 74 2d 2d 61 64 64 2d 6f 76 65 72 6c 61 79 20 62 65 67 20 65 6e 64 20 72 61 63 6b 65 74 2d 78 et--add-overlay.beg.end.racket-x
6c720 70 2d 65 72 72 6f 72 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 p-error-face)................(pu
6c740 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 0a 20 20 20 20 20 20 20 20 t-text-property.beg.end.........
6c760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c 70 2d ..........................'help-
6c780 65 63 68 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 echo............................
6c7a0 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 2d 73 61 .......(racket--error-message-sa
6c7c0 6e 73 2d 6c 6f 63 61 74 69 6f 6e 2d 70 72 65 66 69 78 20 73 74 72 29 29 29 29 29 0a 20 20 20 20 ns-location-prefix.str))))).....
6c7e0 20 20 20 20 20 20 28 60 28 69 6e 66 6f 20 2c 62 65 67 20 2c 65 6e 64 20 2c 73 74 72 29 0a 20 20 ......(`(info.,beg.,end.,str)...
6c800 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 .........(put-text-property.beg.
6c820 65 6e 64 20 27 68 65 6c 70 2d 65 63 68 6f 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 end.'help-echo.str)............(
6c840 77 68 65 6e 20 28 61 6e 64 20 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 73 74 72 20 22 6e 6f 20 when.(and.(string-equal.str."no.
6c860 62 6f 75 6e 64 20 6f 63 63 75 72 72 65 6e 63 65 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 bound.occurrences").............
6c880 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 72 61 63 6b 65 74 ..........(string-match-p.racket
6c8a0 2d 78 70 2d 68 69 67 68 6c 69 67 68 74 2d 75 6e 75 73 65 64 2d 72 65 67 65 78 70 0a 20 20 20 20 -xp-highlight-unused-regexp.....
6c8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6c8e0 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 62 65 67 20 65 6e 64 29 29 29 0a 20 ..(buffer-substring.beg.end)))..
6c900 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 61 64 64 2d 6f 76 65 72 6c 61 79 ............(racket--add-overlay
6c920 20 62 65 67 20 65 6e 64 20 72 61 63 6b 65 74 2d 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 65 29 29 .beg.end.racket-xp-unused-face))
6c940 29 0a 20 20 20 20 20 20 20 20 20 20 28 60 28 75 6e 75 73 65 64 2d 72 65 71 75 69 72 65 20 2c 62 )...........(`(unused-require.,b
6c960 65 67 20 2c 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 eg.,end)............(put-text-pr
6c980 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 20 27 68 65 6c 70 2d 65 63 68 6f 20 22 75 6e 75 73 65 operty.beg.end.'help-echo."unuse
6c9a0 64 20 72 65 71 75 69 72 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d d.require")............(racket--
6c9c0 61 64 64 2d 6f 76 65 72 6c 61 79 20 62 65 67 20 65 6e 64 20 72 61 63 6b 65 74 2d 78 70 2d 75 6e add-overlay.beg.end.racket-xp-un
6c9e0 75 73 65 64 2d 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 60 28 72 65 71 75 69 72 65 used-face))...........(`(require
6ca00 20 2c 62 65 67 20 2c 65 6e 64 20 2c 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 .,beg.,end.,file)............(pu
6ca20 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 20 27 72 61 63 6b 65 74 2d t-text-property.beg.end.'racket-
6ca40 78 70 2d 72 65 71 75 69 72 65 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 60 28 64 xp-require.file))...........(`(d
6ca60 65 66 2f 75 73 65 73 20 2c 64 65 66 2d 62 65 67 20 2c 64 65 66 2d 65 6e 64 20 2c 72 65 71 20 2c ef/uses.,def-beg.,def-end.,req.,
6ca80 69 64 20 2c 75 73 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 2d id.,uses)............(let.((def-
6caa0 62 65 67 20 28 63 6f 70 79 2d 6d 61 72 6b 65 72 20 64 65 66 2d 62 65 67 20 74 29 29 0a 20 20 20 beg.(copy-marker.def-beg.t))....
6cac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 2d 65 6e 64 20 28 63 6f 70 79 2d 6d 61 72 ..............(def-end.(copy-mar
6cae0 6b 65 72 20 64 65 66 2d 65 6e 64 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ker.def-end.t)).................
6cb00 20 28 75 73 65 73 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 75 73 65 29 0a .(uses....(mapcar.(lambda.(use).
6cb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6cb40 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 70 6f 73 29 0a 20 20 20 20 20 20 ....(mapcar.(lambda.(pos).......
6cb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6cb80 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d 6d 61 72 6b 65 72 20 70 6f 73 20 74 29 29 0a 20 20 20 ........(copy-marker.pos.t))....
6cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6cbc0 20 20 20 20 20 20 20 20 20 75 73 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........use))..................
6cbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 73 29 29 29 0a 20 20 20 20 20 20 20 .................uses)))........
6cc00 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 6d 61 72 6b 65 72 ......(put-text-property.(marker
6cc20 2d 70 6f 73 69 74 69 6f 6e 20 64 65 66 2d 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -position.def-beg)..............
6cc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 ...................(marker-posit
6cc60 69 6f 6e 20 64 65 66 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion.def-end)....................
6cc80 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 20 28 6c 69 73 .............'racket-xp-def.(lis
6cca0 74 20 72 65 71 20 69 64 20 75 73 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 t.req.id.uses))..............(wh
6ccc0 65 6e 20 72 61 63 6b 65 74 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 0a 20 en.racket-xp-add-binding-faces..
6cce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 61 64 64 2d 64 65 ..............(racket--xp-add-de
6cd00 66 2d 66 61 63 65 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 64 65 66 2d 62 65 67 29 f-face.(marker-position.def-beg)
6cd20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6cd40 20 20 20 20 20 20 20 20 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 64 65 66 2d 65 6e .........(marker-position.def-en
6cd60 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d)..............................
6cd80 20 20 20 20 20 20 20 20 20 20 20 72 65 71 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 ...........req))..............(d
6cda0 6f 6c 69 73 74 20 28 75 73 65 20 75 73 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 olist.(use.uses)................
6cdc0 28 70 63 61 73 65 2d 6c 65 74 2a 20 28 28 60 28 2c 75 73 65 2d 62 65 67 20 2c 75 73 65 2d 65 6e (pcase-let*.((`(,use-beg.,use-en
6cde0 64 29 20 75 73 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 d).use))..................(put-t
6ce00 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 75 73 ext-property.(marker-position.us
6ce20 65 2d 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-beg)..........................
6ce40 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 75 73 65 2d ...........(marker-position.use-
6ce60 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 end)............................
6ce80 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 20 28 6c 69 73 74 20 64 65 .........'racket-xp-use.(list.de
6cea0 66 2d 62 65 67 20 64 65 66 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f-beg.def-end)).................
6cec0 20 28 77 68 65 6e 20 72 61 63 6b 65 74 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 .(when.racket-xp-add-binding-fac
6cee0 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 78 es....................(racket--x
6cf00 70 2d 61 64 64 2d 75 73 65 2d 66 61 63 65 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 p-add-use-face.(marker-position.
6cf20 75 73 65 2d 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 use-beg)........................
6cf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 72 6b 65 72 2d 70 6f 73 .....................(marker-pos
6cf60 69 74 69 6f 6e 20 75 73 65 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ition.use-end)..................
6cf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 29 29 ...........................req))
6cfa0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 60 28 74 61 72 67 65 74 2f 74 61 69 6c 73 20 2c ))))...........(`(target/tails.,
6cfc0 74 61 72 67 65 74 20 2c 63 61 6c 6c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 target.,calls)............(let.(
6cfe0 28 74 61 72 67 65 74 20 28 63 6f 70 79 2d 6d 61 72 6b 65 72 20 74 61 72 67 65 74 20 74 29 29 0a (target.(copy-marker.target.t)).
6d000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 6c 73 20 20 28 6d 61 70 63 61 72 .................(calls..(mapcar
6d020 20 28 6c 61 6d 62 64 61 20 28 63 61 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(lambda.(call).................
6d040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d 6d 61 72 6b 65 72 20 ...................(copy-marker.
6d060 63 61 6c 6c 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 call.t))........................
6d080 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........calls)))..............
6d0a0 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 (put-text-property.(marker-posit
6d0c0 69 6f 6e 20 74 61 72 67 65 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion.target).....................
6d0e0 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e ............(1+.(marker-position
6d100 20 74 61 72 67 65 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .target)).......................
6d120 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 ..........'racket-xp-tail-target
6d140 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6d160 20 63 61 6c 6c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 61 .calls)..............(dolist.(ca
6d180 6c 6c 20 63 61 6c 6c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 ll.calls)................(put-te
6d1a0 78 74 2d 70 72 6f 70 65 72 74 79 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 63 61 6c xt-property.(marker-position.cal
6d1c0 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l)..............................
6d1e0 20 20 20 20 20 28 31 2b 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 63 61 6c 6c 29 29 .....(1+.(marker-position.call))
6d200 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6d220 20 20 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 ...'racket-xp-tail-position.....
6d240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 ..............................ta
6d260 72 67 65 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 60 28 6a 75 6d 70 20 2c 62 65 67 20 rget))))...........(`(jump.,beg.
6d280 2c 65 6e 64 20 2c 70 61 74 68 20 2c 73 75 62 73 20 2c 69 64 73 29 0a 20 20 20 20 20 20 20 20 20 ,end.,path.,subs.,ids)..........
6d2a0 20 20 28 61 64 64 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 20 20 ..(add-text-properties..........
6d2c0 20 20 20 62 65 67 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 72 61 ...beg.end.............(list.'ra
6d2e0 63 6b 65 74 2d 78 70 2d 76 69 73 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cket-xp-visit...................
6d300 28 6c 69 73 74 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 63 6b 2d 74 6f 2d (list.(racket-file-name-back-to-
6d320 66 72 6f 6e 74 20 70 61 74 68 29 20 73 75 62 73 20 69 64 73 29 29 29 29 0a 20 20 20 20 20 20 20 front.path).subs.ids))))........
6d340 20 20 20 28 60 28 64 6f 63 20 2c 62 65 67 20 2c 65 6e 64 20 2c 70 61 74 68 20 2c 61 6e 63 68 6f ...(`(doc.,beg.,end.,path.,ancho
6d360 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 r)............(add-text-properti
6d380 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 65 67 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 es.............beg.end..........
6d3a0 20 20 20 28 6c 69 73 74 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 0a 20 20 20 20 20 20 20 20 ...(list.'racket-xp-doc.........
6d3c0 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d ..........(list.(racket-file-nam
6d3e0 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 6f 6e 74 20 70 61 74 68 29 20 61 6e 63 68 6f 72 29 29 29 29 e-back-to-front.path).anchor))))
6d400 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 65 72 72 6f 72 2d 6d 65 73 73 )))))..(defun.racket--error-mess
6d420 61 67 65 2d 73 61 6e 73 2d 6c 6f 63 61 74 69 6f 6e 2d 70 72 65 66 69 78 20 28 73 74 72 29 0a 20 age-sans-location-prefix.(str)..
6d440 20 22 52 65 6d 6f 76 65 20 5c 22 2f 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 72 6b 74 3a 6c 69 6e ."Remove.\"/path/to/file.rkt:lin
6d460 65 3a 63 6f 6c 3a 20 5c 22 20 6c 6f 63 61 74 69 6f 6e 20 70 72 65 66 69 78 20 66 72 6f 6d 20 61 e:col:.\".location.prefix.from.a
6d480 6e 0a 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2c 20 77 68 69 63 68 20 69 73 20 6a 75 73 74 20 6e n.error.message,.which.is.just.n
6d4a0 6f 69 73 65 20 66 6f 72 20 61 20 68 65 6c 70 2d 65 63 68 6f 20 61 74 20 74 68 61 74 0a 70 6f 69 oise.for.a.help-echo.at.that.poi
6d4c0 6e 74 2e 22 0a 20 20 28 73 61 76 65 2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 28 69 66 20 nt."...(save-match-data.....(if.
6d4e0 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 28 72 78 20 62 6f 73 0a 20 20 20 20 20 20 20 20 20 20 (string-match.(rx.bos...........
6d500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 3f 20 61 6e 79 74 68 69 6e 67 29 20 3f 3a ................(+?.anything).?:
6d520 20 28 2b 20 64 69 67 69 74 29 20 28 61 6e 79 20 3f 3a 20 3f 2e 29 20 28 2b 20 64 69 67 69 74 29 .(+.digit).(any.?:.?.).(+.digit)
6d540 20 3f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b .?:...........................(+
6d560 3f 20 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ?.space)........................
6d580 20 20 20 28 67 72 6f 75 70 2d 6e 20 31 20 28 2b 3f 20 61 6e 79 74 68 69 6e 67 29 29 0a 20 20 20 ...(group-n.1.(+?.anything))....
6d5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6f 73 29 0a 20 20 20 20 .......................eos).....
6d5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 28 ..................str).........(
6d5e0 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 73 74 72 29 0a 20 20 20 20 20 20 73 74 72 29 29 29 match-string.1.str).......str)))
6d600 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d ..(defun.racket--xp-add-binding-
6d620 66 61 63 65 20 28 62 65 67 20 65 6e 64 20 66 61 63 65 29 0a 20 20 28 61 64 64 2d 74 65 78 74 2d face.(beg.end.face)...(add-text-
6d640 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 properties.beg.end..............
6d660 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 ..........(list.'font-lock-face.
6d680 66 61 63 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 78 70 2d 61 64 64 2d 64 face)))..(defun.racket--xp-add-d
6d6a0 65 66 2d 66 61 63 65 20 28 62 65 67 20 65 6e 64 20 61 72 72 6f 77 2d 6b 69 6e 64 29 0a 20 20 28 ef-face.(beg.end.arrow-kind)...(
6d6c0 72 61 63 6b 65 74 2d 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 0a 20 20 20 62 racket--xp-add-binding-face....b
6d6e0 65 67 20 65 6e 64 0a 20 20 20 28 63 6c 2d 63 61 73 65 20 61 72 72 6f 77 2d 6b 69 6e 64 0a 20 20 eg.end....(cl-case.arrow-kind...
6d700 20 20 20 28 28 6d 6f 64 75 6c 65 2d 6c 61 6e 67 29 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 ...((module-lang).racket-xp-bind
6d720 69 6e 67 2d 6c 61 6e 67 2d 66 61 63 65 29 0a 20 20 20 20 20 28 28 69 6d 70 6f 72 74 29 20 20 20 ing-lang-face)......((import)...
6d740 20 20 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 66 61 63 65 ...racket-xp-binding-import-face
6d760 29 0a 20 20 20 20 20 28 28 6c 6f 63 61 6c 29 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 78 70 2d )......((local).......racket-xp-
6d780 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 66 61 63 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 binding-local-face))))..(defun.r
6d7a0 61 63 6b 65 74 2d 2d 78 70 2d 61 64 64 2d 75 73 65 2d 66 61 63 65 20 28 62 65 67 20 65 6e 64 20 acket--xp-add-use-face.(beg.end.
6d7c0 61 72 72 6f 77 2d 6b 69 6e 64 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 61 64 64 2d 62 69 arrow-kind)...(racket--xp-add-bi
6d7e0 6e 64 69 6e 67 2d 66 61 63 65 0a 20 20 20 62 65 67 20 65 6e 64 0a 20 20 20 28 63 6c 2d 63 61 73 nding-face....beg.end....(cl-cas
6d800 65 20 61 72 72 6f 77 2d 6b 69 6e 64 0a 20 20 20 20 20 28 28 6d 6f 64 75 6c 65 2d 6c 61 6e 67 29 e.arrow-kind......((module-lang)
6d820 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 75 73 65 2d 66 61 63 65 .racket-xp-binding-lang-use-face
6d840 29 0a 20 20 20 20 20 28 28 69 6d 70 6f 72 74 29 20 20 20 20 20 20 72 61 63 6b 65 74 2d 78 70 2d )......((import)......racket-xp-
6d860 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 75 73 65 2d 66 61 63 65 29 0a 20 20 20 20 20 28 28 binding-import-use-face)......((
6d880 6c 6f 63 61 6c 29 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c local).......racket-xp-binding-l
6d8a0 6f 63 61 6c 2d 75 73 65 2d 66 61 63 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 ocal-use-face))))..(defun.racket
6d8c0 2d 2d 78 70 2d 63 6c 65 61 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6f 6e 6c 79 2d 65 72 72 6f 72 --xp-clear.(&optional.only-error
6d8e0 73 2d 70 29 0a 20 20 28 77 69 74 68 2d 73 69 6c 65 6e 74 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e s-p)...(with-silent-modification
6d900 73 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 73 68 6f 77 20 22 22 29 0a 20 20 20 20 28 72 61 63 6b s.....(racket-show."").....(rack
6d920 65 74 2d 2d 78 70 2d 63 6c 65 61 72 2d 65 72 72 6f 72 73 29 0a 20 20 20 20 28 72 61 63 6b 65 74 et--xp-clear-errors).....(racket
6d940 2d 2d 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 2d 69 6e 2d 62 75 66 66 65 72 20 72 61 63 6b --remove-overlays-in-buffer.rack
6d960 65 74 2d 78 70 2d 65 72 72 6f 72 2d 66 61 63 65 29 0a 20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 et-xp-error-face).....(remove-te
6d980 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 xt-properties.(point-min).(point
6d9a0 2d 6d 61 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -max)...........................
6d9c0 20 20 28 6c 69 73 74 20 27 68 65 6c 70 2d 65 63 68 6f 20 6e 69 6c 29 29 0a 20 20 20 20 28 75 6e ..(list.'help-echo.nil)).....(un
6d9e0 6c 65 73 73 20 6f 6e 6c 79 2d 65 72 72 6f 72 73 2d 70 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 less.only-errors-p.......(setq.r
6da00 61 63 6b 65 74 2d 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 6e 69 acket--xp-binding-completions.ni
6da20 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 78 70 2d 69 6d 65 6e 75 2d l).......(setq.racket--xp-imenu-
6da40 69 6e 64 65 78 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 6d 6f 76 65 index.nil).......(racket--remove
6da60 2d 6f 76 65 72 6c 61 79 73 2d 69 6e 2d 62 75 66 66 65 72 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 -overlays-in-buffer.racket-xp-de
6da80 66 2d 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f-face..........................
6daa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d 66 61 ................racket-xp-use-fa
6dac0 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce..............................
6dae0 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 ............racket-xp-unused-fac
6db00 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e...............................
6db20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 ...........racket-xp-tail-positi
6db40 6f 6e 2d 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on-face.........................
6db60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d .................racket-xp-tail-
6db80 74 61 72 67 65 74 2d 66 61 63 65 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74 2d target-face).......(remove-text-
6dba0 70 72 6f 70 65 72 74 69 65 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 properties.(point-min).(point-ma
6dbc0 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x)..............................
6dbe0 20 28 6c 69 73 74 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 20 20 20 20 20 20 20 20 20 20 20 .(list.'racket-xp-def...........
6dc00 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nil.............................
6dc20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 20 20 20 20 20 20 20 20 20 20 ........'racket-xp-use..........
6dc40 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .nil............................
6dc60 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f .........'racket-xp-tail-positio
6dc80 6e 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.nil...........................
6dca0 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 ..........'racket-xp-tail-target
6dcc0 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...nil..........................
6dce0 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 78 70 2d 76 69 73 69 74 20 20 20 20 20 ...........'racket-xp-visit.....
6dd00 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....nil.........................
6dd20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 20 20 20 20 20 20 ............'racket-xp-doc......
6dd40 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....nil........................
6dd60 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 78 70 2d 72 65 71 75 69 72 65 20 .............'racket-xp-require.
6dd80 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......nil.......................
6dda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 53 68 6f 75 6c 64 6e 27 74 ..............;;.TODO:.Shouldn't
6ddc0 20 64 6f 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .do.this........................
6dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 2c .............;;.unconditionally,
6de00 20 6e 65 65 64 20 73 6f 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .need.some......................
6de20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 74 68 65 72 20 70 72 6f 70 20 74 6f 20 ...............;;.other.prop.to.
6de40 72 65 63 6f 72 64 20 73 70 61 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 record.spans....................
6de60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 68 65 72 65 20 57 45 20 61 64 64 .................;;.where.WE.add
6de80 65 64 20 74 68 69 73 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed.this,.and....................
6dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 6d 6f 76 65 20 6f 6e 6c 79 20 .................;;.remove.only.
6dec0 74 68 6f 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 those...........................
6dee0 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 20 20 20 20 20 ...........'font-lock-face......
6df00 20 20 20 20 6e 69 6c 29 29 29 29 29 0a 0a 3b 3b 3b 20 78 72 65 66 0a 0a 28 64 65 66 75 6e 20 72 ....nil)))))..;;;.xref..(defun.r
6df20 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 acket-xp-describe.(&optional.pre
6df40 66 69 78 29 0a 20 20 22 44 65 73 63 72 69 62 65 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 fix)..."Describe.the.identifier.
6df60 61 74 20 70 6f 69 6e 74 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 20 76 61 72 69 65 73 20 62 61 at.point...The.command.varies.ba
6df80 73 65 64 20 6f 6e 20 68 6f 77 20 6d 61 6e 79 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 sed.on.how.many.\\[universal-arg
6dfa0 75 6d 65 6e 74 5d 20 63 6f 6d 6d 61 6e 64 20 70 72 65 66 69 78 65 73 20 79 6f 75 20 73 75 70 70 ument].command.prefixes.you.supp
6dfc0 6c 79 2e 0a 5c 5c 3c 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 2d 6d 61 70 3e 0a 0a 2d 20 5c 5c ly..\\<racket-xp-mode-map>..-.\\
6dfe0 5b 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 5d 0a 0a 20 20 55 73 65 73 20 74 68 65 [racket-xp-describe]....Uses.the
6e000 20 73 79 6d 62 6f 6c 20 61 74 20 70 6f 69 6e 74 2e 20 49 66 20 6e 6f 20 73 75 63 68 20 73 79 6d .symbol.at.point..If.no.such.sym
6e020 62 6f 6c 20 65 78 69 73 74 73 2c 20 79 6f 75 20 61 72 65 0a 20 20 70 72 6f 6d 70 74 65 64 20 65 bol.exists,.you.are...prompted.e
6e040 6e 74 65 72 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 2c 20 62 75 74 20 69 6e 20 74 68 69 73 nter.the.identifier,.but.in.this
6e060 20 63 61 73 65 20 69 74 20 6f 6e 6c 79 0a 20 20 63 6f 6e 73 69 64 65 72 73 20 64 65 66 69 6e 69 .case.it.only...considers.defini
6e080 74 69 6f 6e 73 20 6f 72 20 69 6d 70 6f 72 74 73 20 61 74 20 74 68 65 20 66 69 6c 65 27 73 20 6d tions.or.imports.at.the.file's.m
6e0a0 6f 64 75 6c 65 20 6c 65 76 65 6c 20 2d 2d 0a 20 20 6e 6f 74 20 6c 6f 63 61 6c 20 62 69 6e 64 69 odule.level.--...not.local.bindi
6e0c0 6e 67 73 20 6e 6f 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 69 6e 20 73 75 62 6d 6f 64 75 6c 65 ngs.nor.definitions.in.submodule
6e0e0 73 2e 0a 0a 20 20 2d 20 49 66 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 68 61 73 20 69 6e s.....-.If.the.identifier.has.in
6e100 73 74 61 6c 6c 65 64 20 52 61 63 6b 65 74 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 74 68 stalled.Racket.documentation,.th
6e120 65 6e 20 61 0a 20 20 20 20 73 69 6d 70 6c 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 en.a.....simplified.version.of.t
6e140 68 65 20 48 54 4d 4c 20 69 73 20 70 72 65 73 65 6e 74 65 64 20 69 6e 20 74 68 65 20 62 75 66 66 he.HTML.is.presented.in.the.buff
6e160 65 72 2c 0a 20 20 20 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 5c 22 62 6c 75 65 20 62 6f 78 er,.....including.the.\"blue.box
6e180 5c 22 2c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 70 72 6f 73 65 2c 20 61 6e 64 0a 20 20 20 \",.documentation.prose,.and....
6e1a0 20 65 78 61 6d 70 6c 65 73 2e 0a 0a 20 20 2d 20 4f 74 68 65 72 77 69 73 65 2c 20 69 66 20 74 68 .examples.....-.Otherwise,.if.th
6e1c0 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 6e e.identifier.is.a.function,.then
6e1e0 20 69 74 73 0a 20 20 20 20 73 69 67 6e 61 74 75 72 65 20 69 73 20 64 69 73 70 6c 61 79 65 64 2c .its.....signature.is.displayed,
6e200 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 5c 22 5c 28 6e 61 6d 65 20 61 72 67 2d 31 2d 6e 61 6d 65 .for.example.\"\(name.arg-1-name
6e220 0a 20 20 20 20 61 72 67 2d 32 2d 6e 61 6d 65 5c 29 5c 22 2e 0a 0a 2d 20 5c 5c 5b 75 6e 69 76 65 .....arg-2-name\)\"...-.\\[unive
6e240 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 rsal-argument].\\[racket-xp-desc
6e260 72 69 62 65 5d 0a 0a 20 20 41 6c 77 61 79 73 20 70 72 6f 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 ribe]....Always.prompts.you.to.e
6e280 6e 74 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 nter.a.symbol,.defaulting.to.the
6e2a0 20 73 79 6d 62 6f 6c 0a 20 20 61 74 20 70 6f 69 6e 74 20 69 66 20 61 6e 79 2e 0a 0a 2d 20 5c 5c .symbol...at.point.if.any...-.\\
6e2c0 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 75 6e 69 76 65 72 73 61 [universal-argument].\\[universa
6e2e0 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 l-argument].\\[racket-xp-describ
6e300 65 5d 0a 0a 20 20 54 68 69 73 20 69 73 20 61 6e 20 61 6c 69 61 73 20 66 6f 72 20 60 72 61 63 6b e]....This.is.an.alias.for.`rack
6e320 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 27 2c 20 77 68 69 63 68 20 75 73 65 73 0a et-describe-search',.which.uses.
6e340 20 20 69 6e 73 74 61 6c 6c 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 61 20 60 ..installed.documentation.in.a.`
6e360 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 0a 20 20 69 racket-describe-mode'.buffer...i
6e380 6e 73 74 65 61 64 20 6f 66 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 77 65 62 20 62 72 6f 77 73 65 nstead.of.an.external.web.browse
6e3a0 72 2e 0a 0a 54 68 65 20 69 6e 74 65 6e 74 20 69 73 20 74 6f 20 67 69 76 65 20 61 20 71 75 69 63 r...The.intent.is.to.give.a.quic
6e3c0 6b 20 72 65 6d 69 6e 64 65 72 20 6f 72 20 69 6e 74 72 6f 64 75 63 74 69 6f 6e 20 74 6f 0a 73 6f k.reminder.or.introduction.to.so
6e3e0 6d 65 74 68 69 6e 67 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 69 mething,.regardless.of.whether.i
6e400 74 20 68 61 73 20 69 6e 73 74 61 6c 6c 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 2d 2d t.has.installed.documentation.--
6e420 20 61 6e 64 20 74 6f 20 64 6f 20 73 6f 20 77 69 74 68 69 6e 20 45 6d 61 63 73 2c 20 77 69 74 68 .and.to.do.so.within.Emacs,.with
6e440 6f 75 74 20 73 77 69 74 63 68 69 6e 67 20 74 6f 20 61 20 77 65 62 20 62 72 6f 77 73 65 72 2e 0a out.switching.to.a.web.browser..
6e460 0a 54 68 69 73 20 62 75 66 66 65 72 20 69 73 20 61 6c 73 6f 20 64 69 73 70 6c 61 79 65 64 20 77 .This.buffer.is.also.displayed.w
6e480 68 65 6e 20 79 6f 75 20 75 73 65 20 60 63 6f 6d 70 61 6e 79 2d 6d 6f 64 65 27 20 61 6e 64 0a 70 hen.you.use.`company-mode'.and.p
6e4a0 72 65 73 73 20 46 31 20 6f 72 20 43 2d 68 20 69 6e 20 69 74 73 20 70 6f 70 20 75 70 20 63 6f 6d ress.F1.or.C-h.in.its.pop.up.com
6e4c0 70 6c 65 74 69 6f 6e 20 6c 69 73 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 pletion.list."...(interactive."P
6e4e0 22 29 0a 20 20 28 69 66 20 28 65 71 75 61 6c 20 70 72 65 66 69 78 20 27 28 31 36 29 29 0a 20 20 ")...(if.(equal.prefix.'(16))...
6e500 20 20 20 20 28 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 29 0a 20 20 20 ....(racket-describe-search)....
6e520 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 74 2d 2d 73 79 6d 62 6f 6c 2d 61 74 2d 70 6f 69 6e 74 .(pcase.(racket--symbol-at-point
6e540 2d 6f 72 2d 70 72 6f 6d 70 74 20 70 72 65 66 69 78 20 22 44 65 73 63 72 69 62 65 3a 20 22 0a 20 -or-prompt.prefix."Describe:."..
6e560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6e580 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 78 70 2d 62 69 6e 64 69 6e 67 2d .............racket--xp-binding-
6e5a0 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 73 completions).......((and.(pred.s
6e5c0 74 72 69 6e 67 70 29 20 73 74 72 29 0a 20 20 20 20 20 20 20 3b 3b 20 57 68 65 6e 20 74 68 65 72 tringp).str)........;;.When.ther
6e5e0 65 20 69 73 20 61 20 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 20 70 72 6f 70 65 72 74 79 2c 20 75 e.is.a.racket-xp-doc.property,.u
6e600 73 65 20 69 74 73 20 70 61 74 68 20 61 6e 64 0a 20 20 20 20 20 20 20 3b 3b 20 61 6e 63 68 6f 72 se.its.path.and........;;.anchor
6e620 2c 20 62 65 63 61 75 73 65 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 63 6f 72 72 65 63 74 20 65 ,.because.that.will.be.correct.e
6e640 76 65 6e 20 66 6f 72 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 20 3b 3b 20 ven.for.an.identifier........;;.
6e660 69 6e 20 61 20 73 75 62 6d 6f 64 75 6c 65 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 69 6d in.a.submodule.with.different.im
6e680 70 6f 72 74 73 20 74 68 61 6e 20 74 68 65 20 66 69 6c 65 20 6d 6f 64 75 6c 65 2e 0a 20 20 20 20 ports.than.the.file.module......
6e6a0 20 20 20 3b 3b 20 45 6c 73 65 20 73 75 70 70 6c 79 20 74 68 65 20 66 69 6c 65 20 70 61 74 68 2d ...;;.Else.supply.the.file.path-
6e6c0 73 74 72 2c 20 61 6e 64 20 74 68 65 20 22 64 65 73 63 72 69 62 65 22 20 63 6f 6d 6d 61 6e 64 0a str,.and.the."describe".command.
6e6e0 20 20 20 20 20 20 20 3b 3b 20 77 69 6c 6c 20 74 72 65 61 74 20 69 74 20 61 73 20 61 20 66 69 6c .......;;.will.treat.it.as.a.fil
6e700 65 20 6d 6f 64 75 6c 65 20 69 64 65 6e 74 69 66 69 65 72 2e 0a 20 20 20 20 20 20 20 28 6c 65 74 e.module.identifier.........(let
6e720 20 28 28 68 6f 77 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 .((how.(pcase.(get-text-property
6e740 20 28 70 6f 69 6e 74 29 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 29 0a 20 20 20 20 20 20 20 .(point).'racket-xp-doc)........
6e760 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 70 61 74 68 20 2c 61 6e 63 68 6f 72 29 20 60 .............(`(,path.,anchor).`
6e780 28 2c 70 61 74 68 20 2e 20 2c 61 6e 63 68 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (,path...,anchor))..............
6e7a0 20 20 20 20 20 20 20 28 5f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 .......(_................(racket
6e7c0 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 --buffer-file-name))))).........
6e7e0 20 28 72 61 63 6b 65 74 2d 2d 64 6f 2d 64 65 73 63 72 69 62 65 20 68 6f 77 20 6e 69 6c 20 73 74 .(racket--do-describe.how.nil.st
6e800 72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 65 6c 64 6f 63 2d r))))))..(defun.racket-xp-eldoc-
6e820 66 75 6e 63 74 69 6f 6e 20 28 29 0a 20 20 22 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 function.()..."A.value.for.the.v
6e840 61 72 69 61 62 6c 65 20 60 65 6c 64 6f 63 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 66 75 6e ariable.`eldoc-documentation-fun
6e860 63 74 69 6f 6e 27 2e 0a 0a 42 79 20 64 65 66 61 75 6c 74 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d ction'...By.default.`racket-xp-m
6e880 6f 64 65 27 20 73 65 74 73 20 60 65 6c 64 6f 63 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 66 ode'.sets.`eldoc-documentation-f
6e8a0 75 6e 63 74 69 6f 6e 27 0a 74 6f 20 6e 69 6c 20 2d 2d 20 6e 6f 20 60 65 6c 64 6f 63 2d 6d 6f 64 unction'.to.nil.--.no.`eldoc-mod
6e8c0 65 27 20 73 75 70 70 6f 72 74 2e 20 59 6f 75 20 6d 61 79 20 73 65 74 20 69 74 20 74 6f 20 74 68 e'.support..You.may.set.it.to.th
6e8e0 69 73 0a 66 75 6e 63 74 69 6f 6e 20 69 6e 20 61 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 is.function.in.a.`racket-xp-mode
6e900 2d 68 6f 6f 6b 27 20 69 66 20 79 6f 75 20 72 65 61 6c 6c 79 20 77 61 6e 74 20 74 6f 20 75 73 65 -hook'.if.you.really.want.to.use
6e920 0a 60 65 6c 64 6f 63 2d 6d 6f 64 65 27 2e 20 42 75 74 20 69 74 20 69 73 20 6e 6f 74 20 61 20 76 .`eldoc-mode'..But.it.is.not.a.v
6e940 65 72 79 20 73 61 74 69 73 66 79 69 6e 67 20 65 78 70 65 72 69 65 6e 63 65 20 62 65 63 61 75 73 ery.satisfying.experience.becaus
6e960 65 0a 52 61 63 6b 65 74 20 69 73 20 6e 6f 74 20 61 20 76 65 72 79 20 5c 22 65 6c 64 6f 63 20 66 e.Racket.is.not.a.very.\"eldoc.f
6e980 72 69 65 6e 64 6c 79 5c 22 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 53 6f 6d 65 74 69 6d 65 73 20 77 riendly\".language...Sometimes.w
6e9a0 65 20 63 61 6e 20 64 69 73 63 6f 76 65 72 20 66 75 6e 63 74 69 6f 6e 20 73 69 67 6e 61 74 75 72 e.can.discover.function.signatur
6e9c0 65 73 20 66 72 6f 6d 20 73 6f 75 72 63 65 20 2d 2d 20 62 75 74 0a 74 68 69 73 20 63 61 6e 20 62 es.from.source.--.but.this.can.b
6e9e0 65 20 73 6c 6f 77 2e 0a 0a 4d 61 6e 79 20 69 6e 74 65 72 65 73 74 69 6e 67 20 52 61 63 6b 65 74 e.slow...Many.interesting.Racket
6ea00 20 66 6f 72 6d 73 20 61 72 65 20 73 79 6e 74 61 78 20 28 6d 61 63 72 6f 73 29 20 77 69 74 68 6f .forms.are.syntax.(macros).witho
6ea20 75 74 20 61 6e 79 0a 65 61 73 79 20 77 61 79 20 74 6f 20 64 69 73 63 6f 76 65 72 20 74 68 65 69 ut.any.easy.way.to.discover.thei
6ea40 72 20 5c 22 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 73 5c 22 2e 20 53 69 6d 69 6c 61 72 6c 79 20 r.\"argument.lists\"..Similarly.
6ea60 6d 61 6e 79 0a 52 61 63 6b 65 74 20 66 75 6e 63 74 69 6f 6e 73 20 6f 72 20 73 79 6e 74 61 78 20 many.Racket.functions.or.syntax.
6ea80 61 72 65 20 64 65 66 69 6e 65 64 20 69 6e 20 23 25 6b 65 72 6e 65 6c 20 61 6e 64 20 74 68 65 20 are.defined.in.#%kernel.and.the.
6eaa0 73 6f 75 72 63 65 0a 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 20 49 66 20 74 68 65 79 source.is.not.available..If.they
6eac0 20 68 61 76 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 77 69 74 68 20 61 20 5c 22 62 6c 75 .have.documentation.with.a.\"blu
6eae0 65 62 6f 78 5c 22 2c 0a 77 65 20 63 61 6e 20 73 68 6f 77 20 69 74 20 2d 2d 20 62 75 74 20 6f 66 ebox\",.we.can.show.it.--.but.of
6eb00 74 65 6e 20 69 74 20 69 73 20 6e 6f 74 20 61 20 73 69 6e 67 6c 65 2d 6c 69 6e 65 20 66 6f 72 6d ten.it.is.not.a.single-line.form
6eb20 61 74 0a 74 79 70 69 63 61 6c 20 66 6f 72 20 65 6c 64 6f 63 2e 0a 0a 46 69 6e 61 6c 6c 79 2c 20 at.typical.for.eldoc...Finally,.
6eb40 77 68 65 6e 20 60 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 when.`racket-xp-after-change-ref
6eb60 72 65 73 68 2d 64 65 6c 61 79 27 20 69 73 20 61 20 73 6d 61 6c 6c 0a 76 61 6c 75 65 2c 20 79 6f resh-delay'.is.a.small.value,.yo
6eb80 75 20 6d 61 79 20 73 74 61 72 74 20 74 6f 20 74 79 70 65 20 73 6f 6d 65 20 65 78 70 72 65 73 73 u.may.start.to.type.some.express
6eba0 69 6f 6e 2c 20 61 6e 64 20 70 61 75 73 65 20 66 6f 72 0a 67 75 69 64 61 6e 63 65 20 66 72 6f 6d ion,.and.pause.for.guidance.from
6ebc0 20 60 65 6c 64 6f 63 2d 6d 6f 64 65 27 2e 20 48 6f 77 65 76 65 72 20 69 6e 20 69 74 73 20 69 6e .`eldoc-mode'..However.in.its.in
6ebe0 63 6f 6d 70 6c 65 74 65 20 66 6f 72 6d 20 79 6f 75 72 0a 65 78 70 72 65 73 73 69 6f 6e 20 6d 69 complete.form.your.expression.mi
6ec00 67 68 74 20 62 65 20 61 20 73 79 6e 74 61 78 20 65 72 72 6f 72 2e 20 54 68 65 20 72 65 73 75 6c ght.be.a.syntax.error..The.resul
6ec20 74 69 6e 67 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 0a 6d 69 67 68 74 20 5c 22 66 69 67 68 74 ting.error.message.might.\"fight
6ec40 5c 22 20 77 69 74 68 20 60 65 6c 64 6f 63 2d 6d 6f 64 65 27 20 69 6e 20 74 68 65 20 65 63 68 6f \".with.`eldoc-mode'.in.the.echo
6ec60 20 61 72 65 61 2e 20 59 6f 75 20 63 6f 75 6c 64 0a 61 76 6f 69 64 20 74 68 69 73 20 62 79 20 73 .area..You.could.avoid.this.by.s
6ec80 65 74 74 69 6e 67 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 73 68 6f 77 etting.the.variable.`racket-show
6eca0 2d 66 75 6e 63 74 69 6f 6e 73 27 20 6e 6f 74 20 74 6f 0a 69 6e 63 6c 75 64 65 20 60 72 61 63 6b -functions'.not.to.include.`rack
6ecc0 65 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 61 27 2e 20 45 76 65 6e 20 73 6f 2c 20 61 6e 64 et-show-echo-area'..Even.so,.and
6ece0 20 77 6f 72 73 65 2c 20 74 68 65 20 73 79 6e 74 61 78 0a 65 72 72 6f 72 20 6d 69 67 68 74 20 72 .worse,.the.syntax.error.might.r
6ed00 65 73 75 6c 74 20 69 6e 20 61 20 6e 61 6d 65 73 70 61 63 65 20 74 68 61 74 20 69 73 20 65 6d 70 esult.in.a.namespace.that.is.emp
6ed20 74 79 20 2d 2d 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 0a 77 65 20 77 6f 6e 27 74 20 66 69 6e ty.--.in.which.case.we.won't.fin
6ed40 64 20 62 6c 75 65 62 6f 78 65 73 2c 20 74 79 70 65 73 2c 20 6f 72 20 63 6f 6e 74 72 61 63 74 73 d.blueboxes,.types,.or.contracts
6ed60 2e 0a 0a 53 6f 20 69 66 20 79 6f 75 20 61 72 65 20 65 78 70 65 63 74 69 6e 67 20 61 6e 20 65 6c ...So.if.you.are.expecting.an.el
6ed80 64 6f 63 20 65 78 70 65 72 69 65 6e 63 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 45 6d 61 63 73 0a doc.experience.similar.to.Emacs.
6eda0 4c 69 73 70 2c 20 79 6f 75 20 77 69 6c 6c 20 62 65 20 64 69 73 61 70 70 6f 69 6e 74 65 64 2e 0a Lisp,.you.will.be.disappointed..
6edc0 0a 41 20 6d 6f 72 65 20 73 61 74 69 73 66 79 69 6e 67 20 65 78 70 65 72 69 65 6e 63 65 20 69 73 .A.more.satisfying.experience.is
6ede0 20 74 6f 20 75 73 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 27 0a 6f 72 20 .to.use.`racket-xp-describe'.or.
6ee00 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 65 27 2e 22 0a 20 20 28 72 61 63 6b `racket-repl-describe'."...(rack
6ee20 65 74 2d 2d 64 6f 2d 65 6c 64 6f 63 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c et--do-eldoc.(racket--buffer-fil
6ee40 65 2d 6e 61 6d 65 29 20 6e 69 6c 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 61 64 e-name).nil))..(defun.racket--ad
6ee60 64 2d 6f 76 65 72 6c 61 79 20 28 62 65 67 20 65 6e 64 20 66 61 63 65 20 26 6f 70 74 69 6f 6e 61 d-overlay.(beg.end.face.&optiona
6ee80 6c 20 70 72 69 6f 72 69 74 79 29 0a 20 20 28 6c 65 74 20 28 28 6f 20 28 6d 61 6b 65 2d 6f 76 65 l.priority)...(let.((o.(make-ove
6eea0 72 6c 61 79 20 62 65 67 20 65 6e 64 29 29 29 0a 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 rlay.beg.end))).....(overlay-put
6eec0 20 6f 20 27 70 72 69 6f 72 69 74 79 20 28 6f 72 20 70 72 69 6f 72 69 74 79 20 30 29 29 20 3b 62 .o.'priority.(or.priority.0)).;b
6eee0 65 6c 6f 77 20 6f 74 68 65 72 20 6f 76 65 72 6c 61 79 73 20 65 2e 67 2e 20 69 73 65 61 72 63 68 elow.other.overlays.e.g..isearch
6ef00 0a 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 20 27 66 61 63 65 20 66 61 63 65 29 0a .....(overlay-put.o.'face.face).
6ef20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 70 20 27 28 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 68 6f ....(dolist.(p.'(modification-ho
6ef40 6f 6b 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 73 65 72 74 2d 69 6e 2d 66 oks..................insert-in-f
6ef60 72 6f 6e 74 2d 68 6f 6f 6b 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 73 65 ront-hooks..................inse
6ef80 72 74 2d 62 65 68 69 6e 64 2d 68 6f 6f 6b 73 29 29 0a 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 rt-behind-hooks)).......(overlay
6efa0 2d 70 75 74 20 6f 20 70 20 28 6c 69 73 74 20 23 27 72 61 63 6b 65 74 2d 2d 6d 6f 64 69 66 79 69 -put.o.p.(list.#'racket--modifyi
6efc0 6e 67 2d 6f 76 65 72 6c 61 79 2d 64 65 6c 65 74 65 73 2d 69 74 29 29 29 0a 20 20 20 20 28 6f 76 ng-overlay-deletes-it))).....(ov
6efe0 65 72 6c 61 79 2d 70 75 74 20 6f 20 27 69 6e 73 65 72 74 2d 69 6e 2d 66 72 6f 6e 74 2d 68 6f 6f erlay-put.o.'insert-in-front-hoo
6f000 6b 73 20 28 6c 69 73 74 20 23 27 72 61 63 6b 65 74 2d 2d 6d 6f 64 69 66 79 69 6e 67 2d 6f 76 65 ks.(list.#'racket--modifying-ove
6f020 72 6c 61 79 2d 64 65 6c 65 74 65 73 2d 69 74 29 29 0a 20 20 20 20 6f 29 29 0a 0a 28 64 65 66 75 rlay-deletes-it)).....o))..(defu
6f040 6e 20 72 61 63 6b 65 74 2d 2d 6d 6f 64 69 66 79 69 6e 67 2d 6f 76 65 72 6c 61 79 2d 64 65 6c 65 n.racket--modifying-overlay-dele
6f060 74 65 73 2d 69 74 20 28 6f 20 26 72 65 73 74 20 5f 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 68 69 tes-it.(o.&rest._)...(let.((inhi
6f080 62 69 74 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 68 6f 6f 6b 73 20 74 29 29 0a 20 20 20 20 28 bit-modification-hooks.t)).....(
6f0a0 64 65 6c 65 74 65 2d 6f 76 65 72 6c 61 79 20 6f 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b delete-overlay.o)))..(defun.rack
6f0c0 65 74 2d 2d 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20 28 62 65 67 20 65 6e 64 20 66 61 63 et--remove-overlays.(beg.end.fac
6f0e0 65 29 0a 20 20 28 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20 62 65 67 20 65 6e 64 20 27 66 e)...(remove-overlays.beg.end.'f
6f100 61 63 65 20 66 61 63 65 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 6d 6f 76 ace.face))..(defun.racket--remov
6f120 65 2d 6f 76 65 72 6c 61 79 73 2d 69 6e 2d 62 75 66 66 65 72 20 28 26 72 65 73 74 20 66 61 63 65 e-overlays-in-buffer.(&rest.face
6f140 73 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 66 61 63 65 20 66 61 63 65 73 29 0a 20 20 20 20 28 72 s)...(dolist.(face.faces).....(r
6f160 61 63 6b 65 74 2d 2d 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20 28 70 6f 69 6e 74 2d 6d 69 acket--remove-overlays.(point-mi
6f180 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 66 61 63 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 n).(point-max).face)))..(defun.r
6f1a0 61 63 6b 65 74 2d 78 70 2d 70 72 65 2d 72 65 64 69 73 70 6c 61 79 20 28 77 69 6e 64 6f 77 29 0a acket-xp-pre-redisplay.(window).
6f1c0 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 77 69 6e 64 6f 77 2d 62 ..(with-current-buffer.(window-b
6f1e0 75 66 66 65 72 20 77 69 6e 64 6f 77 29 0a 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 uffer.window).....(save-restrict
6f200 69 6f 6e 0a 20 20 20 20 20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 ion.......(widen).......(let.((p
6f220 6f 69 6e 74 20 28 77 69 6e 64 6f 77 2d 70 6f 69 6e 74 20 77 69 6e 64 6f 77 29 29 29 0a 20 20 20 oint.(window-point.window)))....
6f240 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 70 6f 69 6e 74 20 28 77 69 6e 64 6f .....(unless.(equal.point.(windo
6f260 77 2d 70 61 72 61 6d 65 74 65 72 20 77 69 6e 64 6f 77 20 27 72 61 63 6b 65 74 2d 78 70 2d 70 6f w-parameter.window.'racket-xp-po
6f280 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 70 61 72 61 int))...........(set-window-para
6f2a0 6d 65 74 65 72 20 77 69 6e 64 6f 77 20 27 72 61 63 6b 65 74 2d 78 70 2d 70 6f 69 6e 74 20 70 6f meter.window.'racket-xp-point.po
6f2c0 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 2d int)...........(pcase.(get-text-
6f2e0 70 72 6f 70 65 72 74 79 20 70 6f 69 6e 74 20 27 68 65 6c 70 2d 65 63 68 6f 29 0a 20 20 20 20 20 property.point.'help-echo)......
6f300 20 20 20 20 20 20 20 28 28 61 6e 64 20 73 20 28 70 72 65 64 20 72 61 63 6b 65 74 2d 2d 6e 6f 6e .......((and.s.(pred.racket--non
6f320 2d 65 6d 70 74 79 2d 73 74 72 69 6e 67 2d 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 -empty-string-p))..............(
6f340 72 61 63 6b 65 74 2d 73 68 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 0a 20 20 20 20 racket-show...............s.....
6f360 20 20 20 20 20 20 20 20 20 20 3b 3b 20 42 65 63 61 75 73 65 20 73 6f 6d 65 20 60 72 61 63 6b 65 ..........;;.Because.some.`racke
6f380 74 2d 73 68 6f 77 27 20 66 6c 61 76 6f 72 73 20 70 72 65 73 65 6e 74 20 61 20 74 6f 6f 6c 74 69 t-show'.flavors.present.a.toolti
6f3a0 70 2c 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70 6f 73 69 74 69 6f 6e 20 61 p,.a...............;;.position.a
6f3c0 66 74 65 72 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 70 61 6e 20 69 73 20 70 72 65 66 fter.the.end.of.the.span.is.pref
6f3e0 65 72 61 62 6c 65 3a 20 6c 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6c 69 erable:.less...............;;.li
6f400 6b 65 6c 79 20 74 6f 20 68 69 64 65 20 74 68 65 20 74 61 72 67 65 74 20 6f 66 20 74 68 65 20 61 kely.to.hide.the.target.of.the.a
6f420 6e 6e 6f 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 nnotation................(pcase.
6f440 28 6f 72 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 (or.(next-single-property-change
6f460 20 70 6f 69 6e 74 20 27 68 65 6c 70 2d 65 63 68 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .point.'help-echo)..............
6f480 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 ............(point-max))........
6f4a0 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 65 6e 64 20 28 67 75 61 72 64 20 28 70 6f 73 2d 76 .........((and.end.(guard.(pos-v
6f4c0 69 73 69 62 6c 65 2d 69 6e 2d 77 69 6e 64 6f 77 2d 70 20 65 6e 64 20 77 69 6e 64 6f 77 29 29 29 isible-in-window-p.end.window)))
6f4e0 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 42 75 74 20 69 66 20 .end).................;;.But.if.
6f500 65 6e 64 20 69 73 6e 27 74 20 76 69 73 69 62 6c 65 20 28 23 36 32 39 29 20 70 72 65 66 65 72 20 end.isn't.visible.(#629).prefer.
6f520 62 65 67 69 6e 6e 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 0a beginning..................(end.
6f540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 28 6f 72 20 28 70 72 65 .................(pcase.(or.(pre
6f560 76 69 6f 75 73 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 65 6e 64 vious-single-property-change.end
6f580 20 27 68 65 6c 70 2d 65 63 68 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .'help-echo)....................
6f5a0 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 .........(point-min))...........
6f5c0 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 62 65 67 20 28 67 75 61 72 64 20 28 70 6f 73 2d 76 .........((and.beg.(guard.(pos-v
6f5e0 69 73 69 62 6c 65 2d 69 6e 2d 77 69 6e 64 6f 77 2d 70 20 62 65 67 20 77 69 6e 64 6f 77 29 29 29 isible-in-window-p.beg.window)))
6f600 20 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 42 75 74 20 .beg)....................;;.But.
6f620 69 66 20 6e 65 69 74 68 65 72 20 62 65 67 69 6e 6e 69 6e 67 20 6e 6f 72 20 65 6e 64 20 61 72 65 if.neither.beginning.nor.end.are
6f640 20 76 69 73 69 62 6c 65 2c 20 6a 75 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .visible,.just..................
6f660 20 20 3b 3b 20 73 68 6f 77 20 73 74 61 72 74 69 6e 67 20 61 74 20 74 6f 70 20 6c 69 6e 65 20 6f ..;;.show.starting.at.top.line.o
6f680 66 20 77 69 6e 64 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 5f 20 f.window.....................(_.
6f6a0 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (save-excursion.................
6f6c0 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 77 69 6e 64 6f 77 2d 73 74 61 72 74 ........(goto-char.(window-start
6f6e0 20 77 69 6e 64 6f 77 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .window)).......................
6f700 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..(forward-line.-1).............
6f720 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 29 29 29 29 29 29 0a 20 20 20 20 20 ............(point))))))))......
6f740 20 20 20 20 20 20 20 28 5f 20 28 72 61 63 6b 65 74 2d 73 68 6f 77 20 22 22 29 29 29 0a 20 20 20 .......(_.(racket-show."")))....
6f760 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 .......(let.((def.(get-text-prop
6f780 65 72 74 79 20 70 6f 69 6e 74 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 29 29 0a 20 20 20 20 erty.point.'racket-xp-def)).....
6f7a0 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 ............(use.(get-text-prope
6f7c0 72 74 79 20 70 6f 69 6e 74 20 27 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 29 29 29 0a 20 20 20 20 rty.point.'racket-xp-use))).....
6f7e0 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 20 28 65 71 75 61 6c 20 64 65 66 20 ........(unless.(and.(equal.def.
6f800 28 77 69 6e 64 6f 77 2d 70 61 72 61 6d 65 74 65 72 20 77 69 6e 64 6f 77 20 27 72 61 63 6b 65 74 (window-parameter.window.'racket
6f820 2d 78 70 2d 64 65 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -xp-def)).......................
6f840 20 20 20 28 65 71 75 61 6c 20 75 73 65 20 28 77 69 6e 64 6f 77 2d 70 61 72 61 6d 65 74 65 72 20 ...(equal.use.(window-parameter.
6f860 77 69 6e 64 6f 77 20 27 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 29 29 29 0a 20 20 20 20 20 20 20 window.'racket-xp-use)))........
6f880 20 20 20 20 20 20 20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 70 61 72 61 6d 65 74 65 72 20 77 69 6e .......(set-window-parameter.win
6f8a0 64 6f 77 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 20 64 65 66 29 0a 20 20 20 20 20 20 20 20 dow.'racket-xp-def.def).........
6f8c0 20 20 20 20 20 20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 70 61 72 61 6d 65 74 65 72 20 77 69 6e 64 ......(set-window-parameter.wind
6f8e0 6f 77 20 27 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 20 75 73 65 29 0a 20 20 20 20 20 20 20 20 20 ow.'racket-xp-use.use)..........
6f900 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 2d 69 6e .....(racket--remove-overlays-in
6f920 2d 62 75 66 66 65 72 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 2d 66 61 63 65 0a 20 20 20 20 20 -buffer.racket-xp-def-face......
6f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6f960 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d 66 61 63 65 29 0a ............racket-xp-use-face).
6f980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 64 65 66 0a 20 20 20 20 20 20 20 ..............(pcase.def........
6f9a0 20 20 20 20 20 20 20 20 20 28 60 28 2c 6b 69 6e 64 20 2c 5f 69 64 20 2c 28 61 6e 64 20 75 73 65 .........(`(,kind.,_id.,(and.use
6f9c0 73 20 60 28 28 2c 62 65 67 20 2c 5f 65 6e 64 29 20 2e 20 2c 5f 29 29 29 0a 20 20 20 20 20 20 20 s.`((,beg.,_end)...,_)))........
6f9e0 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 65 71 20 6b 69 6e 64 20 27 6c 6f ..........(when.(or.(eq.kind.'lo
6fa00 63 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cal)............................
6fa20 72 61 63 6b 65 74 2d 78 70 2d 68 69 67 68 6c 69 67 68 74 2d 69 6d 70 6f 72 74 73 2d 70 29 0a 20 racket-xp-highlight-imports-p)..
6fa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 ..................(pcase.(get-te
6fa60 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 27 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 29 0a xt-property.beg.'racket-xp-use).
6fa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 62 65 67 20 2c 65 6e .....................(`(,beg.,en
6faa0 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 d).......................(racket
6fac0 2d 2d 61 64 64 2d 6f 76 65 72 6c 61 79 20 62 65 67 20 65 6e 64 20 72 61 63 6b 65 74 2d 78 70 2d --add-overlay.beg.end.racket-xp-
6fae0 64 65 66 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 def-face)))....................(
6fb00 64 6f 6c 69 73 74 20 28 75 73 65 20 75 73 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dolist.(use.uses)...............
6fb20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(pcase.use...............
6fb40 20 20 20 20 20 20 20 20 20 28 60 28 2c 62 65 67 20 2c 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 .........(`(,beg.,end)..........
6fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 61 64 64 2d 6f 76 65 72 ...............(racket--add-over
6fb80 6c 61 79 20 62 65 67 20 65 6e 64 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d 66 61 63 65 29 29 lay.beg.end.racket-xp-use-face))
6fba0 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 75 73 65 0a 20 )))))...............(pcase.use..
6fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 64 65 66 2d 62 65 67 20 2c 64 65 66 2d ...............(`(,def-beg.,def-
6fbe0 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 28 67 65 end)..................(pcase.(ge
6fc00 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 64 65 66 2d 62 65 67 20 27 72 61 63 6b 65 74 2d t-text-property.def-beg.'racket-
6fc20 78 70 2d 64 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 6b xp-def)....................(`(,k
6fc40 69 6e 64 20 2c 5f 69 64 20 2c 75 73 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ind.,_id.,uses).................
6fc60 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 65 71 20 6b 69 6e 64 20 27 6c 6f 63 61 6c 29 0a 20 ....(when.(or.(eq.kind.'local)..
6fc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 .............................rac
6fca0 6b 65 74 2d 78 70 2d 68 69 67 68 6c 69 67 68 74 2d 69 6d 70 6f 72 74 73 2d 70 29 0a 20 20 20 20 ket-xp-highlight-imports-p).....
6fcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 61 64 64 2d 6f ..................(racket--add-o
6fce0 76 65 72 6c 61 79 20 64 65 66 2d 62 65 67 20 64 65 66 2d 65 6e 64 20 72 61 63 6b 65 74 2d 78 70 verlay.def-beg.def-end.racket-xp
6fd00 2d 64 65 66 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -def-face)......................
6fd20 20 28 64 6f 6c 69 73 74 20 28 75 73 65 20 75 73 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(dolist.(use.uses).............
6fd40 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 ............(pcase.use..........
6fd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 62 65 67 20 2c 65 6e 64 29 0a 20 .................(`(,beg.,end)..
6fd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 ..........................(racke
6fda0 74 2d 2d 61 64 64 2d 6f 76 65 72 6c 61 79 20 62 65 67 20 65 6e 64 20 72 61 63 6b 65 74 2d 78 70 t--add-overlay.beg.end.racket-xp
6fdc0 2d 75 73 65 2d 66 61 63 65 29 29 29 29 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 -use-face)))))))))))...........(
6fde0 6c 65 74 20 28 28 74 61 72 67 65 74 20 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 let.((target..(get-text-property
6fe00 20 70 6f 69 6e 74 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 29 29 0a .point.'racket-xp-tail-target)).
6fe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 78 74 20 28 67 65 74 2d 74 65 ................(context.(get-te
6fe40 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6f 69 6e 74 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 xt-property.point.'racket-xp-tai
6fe60 6c 2d 70 6f 73 69 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 l-position))).............(unles
6fe80 73 20 28 61 6e 64 20 28 65 71 75 61 6c 20 74 61 72 67 65 74 20 28 77 69 6e 64 6f 77 2d 70 61 72 s.(and.(equal.target.(window-par
6fea0 61 6d 65 74 65 72 20 77 69 6e 64 6f 77 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 ameter.window.'racket-xp-tail-ta
6fec0 72 67 65 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rget))..........................
6fee0 28 65 71 75 61 6c 20 63 6f 6e 74 65 78 74 20 20 20 28 77 69 6e 64 6f 77 2d 70 61 72 61 6d 65 74 (equal.context...(window-paramet
6ff00 65 72 20 77 69 6e 64 6f 77 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 er.window.'racket-xp-tail-positi
6ff20 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 77 69 6e 64 6f 77 2d on)))...............(set-window-
6ff40 70 61 72 61 6d 65 74 65 72 20 77 69 6e 64 6f 77 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c parameter.window.'racket-xp-tail
6ff60 2d 74 61 72 67 65 74 20 20 74 61 72 67 65 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 -target..target)...............(
6ff80 73 65 74 2d 77 69 6e 64 6f 77 2d 70 61 72 61 6d 65 74 65 72 20 77 69 6e 64 6f 77 20 27 72 61 63 set-window-parameter.window.'rac
6ffa0 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 20 63 6f 6e 74 65 78 74 29 0a 20 20 ket-xp-tail-position.context)...
6ffc0 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 6d 6f 76 65 2d 6f 76 65 72 ............(racket--remove-over
6ffe0 6c 61 79 73 2d 69 6e 2d 62 75 66 66 65 72 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 lays-in-buffer.racket-xp-tail-ta
70000 72 67 65 74 2d 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rget-face.......................
70020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 ...........................racke
70040 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 t-xp-tail-position-face)........
70060 20 20 20 20 20 20 20 3b 3b 20 54 68 69 73 20 69 73 20 73 6c 69 67 68 74 6c 79 20 73 69 6d 70 6c .......;;.This.is.slightly.simpl
70080 65 72 20 74 68 61 6e 20 64 65 66 2f 75 73 65 73 20 62 65 63 61 75 73 65 20 74 68 65 72 65 20 61 er.than.def/uses.because.there.a
700a0 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6e 6f 20 62 65 67 2e 2e 65 6e 64 20 re...............;;.no.beg..end.
700c0 72 61 6e 67 65 73 2c 20 6a 75 73 74 20 73 69 6e 67 6c 65 20 70 6f 73 69 74 69 6f 6e 73 2e 0a 20 ranges,.just.single.positions...
700e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 74 61 72 67 65 74 0a 20 20 20 20 20 .............(pcase.target......
70100 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 6c 69 73 74 70 29 20 63 6f ...........((and.(pred.listp).co
70120 6e 74 65 78 74 73 20 60 28 2c 70 6f 73 20 2e 20 2c 5f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ntexts.`(,pos...,_))............
70140 20 20 20 20 20 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 ......(pcase.(get-text-property.
70160 70 6f 73 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 29 0a 20 20 pos.'racket-xp-tail-position)...
70180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 6d 61 72 .................((and.(pred.mar
701a0 6b 65 72 70 29 20 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 kerp).pos).....................(
701c0 72 61 63 6b 65 74 2d 2d 61 64 64 2d 6f 76 65 72 6c 61 79 20 70 6f 73 20 28 31 2b 20 70 6f 73 29 racket--add-overlay.pos.(1+.pos)
701e0 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 2d 66 61 63 65 20 31 29 0a .'racket-xp-tail-target-face.1).
70200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 6f 6e ....................(dolist.(con
70220 74 65 78 74 20 63 6f 6e 74 65 78 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 text.contexts)..................
70240 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 61 64 64 2d 6f 76 65 72 6c 61 79 20 63 6f 6e 74 65 78 .....(racket--add-overlay.contex
70260 74 20 28 31 2b 20 63 6f 6e 74 65 78 74 29 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 t.(1+.context).'racket-xp-tail-p
70280 6f 73 69 74 69 6f 6e 2d 66 61 63 65 20 32 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 osition-face.2))))))............
702a0 20 20 20 28 70 63 61 73 65 20 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(pcase.context...............
702c0 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 6d 61 72 6b 65 72 70 29 20 74 61 72 67 65 74 2d 70 6f ..((and.(pred.markerp).target-po
702e0 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 28 67 65 74 2d s)..................(pcase.(get-
70300 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 74 61 72 67 65 74 2d 70 6f 73 20 27 72 61 63 6b 65 74 text-property.target-pos.'racket
70320 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -xp-tail-target)................
70340 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 6c 69 73 74 70 29 20 63 6f 6e 74 65 78 74 73 29 ....((and.(pred.listp).contexts)
70360 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 61 64 .....................(racket--ad
70380 64 2d 6f 76 65 72 6c 61 79 20 74 61 72 67 65 74 2d 70 6f 73 20 28 31 2b 20 74 61 72 67 65 74 2d d-overlay.target-pos.(1+.target-
703a0 70 6f 73 29 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 2d 66 61 63 65 pos).'racket-xp-tail-target-face
703c0 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 .1).....................(dolist.
703e0 28 63 6f 6e 74 65 78 74 20 63 6f 6e 74 65 78 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (context.contexts)..............
70400 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 61 64 64 2d 6f 76 65 72 6c 61 79 20 63 6f .........(racket--add-overlay.co
70420 6e 74 65 78 74 20 28 31 2b 20 63 6f 6e 74 65 78 74 29 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 ntext.(1+.context).'racket-xp-ta
70440 69 6c 2d 70 6f 73 69 74 69 6f 6e 2d 66 61 63 65 20 32 29 29 29 29 29 29 29 29 29 29 29 29 29 0a il-position-face.2))))))))))))).
70460 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 2d 66 6f 72 63 65 2d 72 65 64 69 73 70 6c .(defun.racket-xp--force-redispl
70480 61 79 20 28 77 69 6e 64 6f 77 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 70 61 72 61 6d 20 27 28 72 ay.(window)...(dolist.(param.'(r
704a0 61 63 6b 65 74 2d 78 70 2d 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 acket-xp-point..................
704c0 20 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 0a 20 20 ..racket-xp-use.racket-xp-def...
704e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d .................racket-xp-tail-
70500 74 61 72 67 65 74 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 29 29 target.racket-xp-tail-position))
70520 0a 20 20 20 20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 70 61 72 61 6d 65 74 65 72 20 77 69 6e 64 6f .....(set-window-parameter.windo
70540 77 20 70 61 72 61 6d 20 6e 69 6c 29 29 0a 20 20 28 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 2d 72 w.param.nil))...(racket-xp-pre-r
70560 65 64 69 73 70 6c 61 79 20 77 69 6e 64 6f 77 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 edisplay.window))..(defun.racket
70580 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 -xp-documentation.(&optional.pre
705a0 66 69 78 29 0a 20 20 22 56 69 65 77 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 61 6e fix)..."View.documentation.in.an
705c0 20 65 78 74 65 72 6e 61 6c 20 77 65 62 20 62 72 6f 77 73 65 72 2e 0a 0a 54 68 65 20 63 6f 6d 6d .external.web.browser...The.comm
705e0 61 6e 64 20 76 61 72 69 65 73 20 62 61 73 65 64 20 6f 6e 20 68 6f 77 20 6d 61 6e 79 20 5c 5c 5b and.varies.based.on.how.many.\\[
70600 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 0a 63 6f 6d 6d 61 6e 64 20 70 72 65 66 universal-argument].command.pref
70620 69 78 65 73 20 79 6f 75 20 73 75 70 70 6c 79 2e 0a 5c 5c 3c 72 61 63 6b 65 74 2d 78 70 2d 6d 6f ixes.you.supply..\\<racket-xp-mo
70640 64 65 2d 6d 61 70 3e 0a 0a 2d 20 5c 5c 5b 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 de-map>..-.\\[racket-xp-document
70660 61 74 69 6f 6e 5d 0a 0a 20 20 55 73 65 73 20 74 68 65 20 73 79 6d 62 6f 6c 20 61 74 20 70 6f 69 ation]....Uses.the.symbol.at.poi
70680 6e 74 2e 20 54 72 69 65 73 20 74 6f 20 66 69 6e 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 nt..Tries.to.find.documentation.
706a0 66 6f 72 20 61 6e 0a 20 20 69 64 65 6e 74 69 66 65 72 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 for.an...identifer.defined.in.th
706c0 65 20 65 78 70 61 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 e.expansion.of.the.current.buffe
706e0 72 2e 0a 0a 20 20 49 66 20 6e 6f 20 73 75 63 68 20 69 64 65 6e 74 69 66 65 72 20 65 78 69 73 74 r.....If.no.such.identifer.exist
70700 73 2c 20 6f 70 65 6e 73 20 74 68 65 20 53 65 61 72 63 68 20 4d 61 6e 75 61 6c 73 20 70 61 67 65 s,.opens.the.Search.Manuals.page
70720 2e 20 49 6e 0a 20 20 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 ..In...this.case,.the.variable.`
70740 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 racket-documentation-search-loca
70760 74 69 6f 6e 27 0a 20 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 65 74 68 65 72 20 74 68 65 20 73 tion'...determines.whether.the.s
70780 65 61 72 63 68 20 69 73 20 64 6f 6e 65 20 6c 6f 63 61 6c 6c 79 20 61 73 20 77 69 74 68 20 60 72 earch.is.done.locally.as.with.`r
707a0 61 63 6f 0a 20 20 64 6f 63 60 2c 20 6f 72 20 76 69 73 69 74 73 20 61 20 55 52 4c 2e 0a 0a 2d 20 aco...doc`,.or.visits.a.URL...-.
707c0 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 72 61 63 6b 65 74 \\[universal-argument].\\[racket
707e0 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 5d 0a 0a 20 20 41 6c 77 61 79 73 20 70 72 6f -xp-documentation]....Always.pro
70800 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 6e 74 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 64 65 66 61 mpts.you.to.enter.a.symbol,.defa
70820 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 0a 20 20 61 74 20 70 6f 69 6e 74 20 ulting.to.the.symbol...at.point.
70840 69 66 20 61 6e 79 2e 0a 0a 2d 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 if.any...-.\\[universal-argument
70860 5d 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 72 61 63 6b ].\\[universal-argument].\\[rack
70880 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 5d 0a 0a 20 20 41 6c 77 61 79 73 20 70 et-xp-documentation]....Always.p
708a0 72 6f 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 6e 74 65 72 20 61 6e 79 74 68 69 6e 67 2c 20 64 65 rompts.you.to.enter.anything,.de
708c0 66 61 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 0a 20 20 61 74 20 70 6f 69 6e faulting.to.the.symbol...at.poin
708e0 74 20 69 66 20 61 6e 79 2e 0a 0a 20 20 50 72 6f 63 65 65 64 73 20 64 69 72 65 63 74 6c 79 20 74 t.if.any.....Proceeds.directly.t
70900 6f 20 74 68 65 20 53 65 61 72 63 68 20 4d 61 6e 75 61 6c 73 20 70 61 67 65 2e 20 55 73 65 20 74 o.the.Search.Manuals.page..Use.t
70920 68 69 73 20 69 66 20 79 6f 75 0a 20 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 73 65 65 20 64 his.if.you...would.like.to.see.d
70940 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 61 6c 6c 20 69 64 65 6e 74 69 66 69 65 72 73 ocumentation.for.all.identifiers
70960 20 6e 61 6d 65 64 0a 20 20 5c 22 64 65 66 69 6e 65 5c 22 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 .named...\"define\",.for.example
70980 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 70 63 61 73 65 20 ."...(interactive."P")...(pcase.
709a0 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 72 61 63 6b (get-text-property.(point).'rack
709c0 65 74 2d 78 70 2d 64 6f 63 29 0a 20 20 20 20 28 28 61 6e 64 20 60 28 2c 70 61 74 68 20 2c 61 6e et-xp-doc).....((and.`(,path.,an
709e0 63 68 6f 72 29 20 28 67 75 61 72 64 20 28 6e 6f 74 20 70 72 65 66 69 78 29 29 29 0a 20 20 20 20 chor).(guard.(not.prefix))).....
70a00 20 28 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 66 69 6c 65 2d 75 72 6c 20 70 61 74 68 20 61 6e .(racket-browse-file-url.path.an
70a20 63 68 6f 72 29 29 0a 20 20 20 20 28 5f 0a 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 6f 63 20 chor)).....(_......(racket--doc.
70a40 70 72 65 66 69 78 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 20 72 61 63 6b 65 74 prefix.(buffer-file-name).racket
70a60 2d 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 29 29 29 0a 0a 3b 3b --xp-binding-completions))))..;;
70a80 3b 20 4e 61 76 69 67 61 74 69 6f 6e 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 2d ;.Navigation..(defun.racket-xp--
70aa0 66 6f 72 77 61 72 64 2d 75 73 65 20 28 61 6d 74 29 0a 20 20 22 57 68 65 6e 20 70 6f 69 6e 74 20 forward-use.(amt)..."When.point.
70ac0 69 73 20 6f 6e 20 61 20 75 73 65 2c 20 67 6f 20 41 4d 54 20 75 73 65 73 20 66 6f 72 77 61 72 64 is.on.a.use,.go.AMT.uses.forward
70ae0 2e 20 41 4d 54 20 6d 61 79 20 62 65 20 6e 65 67 61 74 69 76 65 2e 0a 0a 4d 6f 76 69 6e 67 20 62 ..AMT.may.be.negative...Moving.b
70b00 65 66 6f 72 65 2f 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 2f 6c 61 73 74 20 75 73 65 20 77 efore/after.the.first/last.use.w
70b20 72 61 70 73 20 61 72 6f 75 6e 64 2e 0a 0a 49 66 20 70 6f 69 6e 74 20 69 73 20 69 6e 73 74 65 61 raps.around...If.point.is.instea
70b40 64 20 6f 6e 20 61 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 74 68 65 6e 20 67 6f 20 74 6f 20 69 74 d.on.a.definition,.then.go.to.it
70b60 73 20 66 69 72 73 74 20 75 73 65 2e 22 0a 20 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 s.first.use."...(pcase.(get-text
70b80 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 -property.(point).'racket-xp-use
70ba0 29 0a 20 20 20 20 28 60 28 2c 62 65 67 20 2c 5f 65 6e 64 29 0a 20 20 20 20 20 28 70 63 61 73 65 ).....(`(,beg.,_end)......(pcase
70bc0 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 27 72 61 63 6b 65 74 2d .(get-text-property.beg.'racket-
70be0 78 70 2d 64 65 66 29 0a 20 20 20 20 20 20 20 28 60 28 2c 5f 6b 69 6e 64 20 2c 5f 69 64 20 2c 75 xp-def)........(`(,_kind.,_id.,u
70c00 73 65 73 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 78 2d 74 68 69 73 20 28 73 65 ses).........(let*.((ix-this.(se
70c20 71 2d 70 6f 73 69 74 69 6f 6e 20 75 73 65 73 20 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 q-position.uses.(point).........
70c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c ..............................(l
70c60 61 6d 62 64 61 20 28 75 73 65 20 70 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ambda.(use.pt)..................
70c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 75 73 .......................(pcase.us
70ca0 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e...............................
70cc0 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 62 65 67 20 2c 65 6e 64 29 20 28 61 6e 64 20 28 ............(`(,beg.,end).(and.(
70ce0 3c 3d 20 62 65 67 20 70 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 <=.beg.pt)......................
70d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
70d20 20 20 20 20 20 20 20 20 28 3c 20 70 74 20 65 6e 64 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 ........(<.pt.end)))))))........
70d40 20 20 20 20 20 20 20 20 28 69 78 2d 6e 65 78 74 20 28 2b 20 69 78 2d 74 68 69 73 20 61 6d 74 29 ........(ix-next.(+.ix-this.amt)
70d60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 78 2d 6e 65 78 74 20 28 69 66 20 28 3e )................(ix-next.(if.(>
70d80 20 61 6d 74 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .amt.0).........................
70da0 20 20 20 20 28 69 66 20 28 3e 3d 20 69 78 2d 6e 65 78 74 20 28 6c 65 6e 67 74 68 20 75 73 65 73 ....(if.(>=.ix-next.(length.uses
70dc0 29 29 20 30 20 69 78 2d 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )).0.ix-next)...................
70de0 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 69 78 2d 6e 65 78 74 20 30 29 20 28 31 2d 20 28 6c ........(if.(<.ix-next.0).(1-.(l
70e00 65 6e 67 74 68 20 75 73 65 73 29 29 20 69 78 2d 6e 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 ength.uses)).ix-next))).........
70e20 20 20 20 20 20 20 20 28 6e 65 78 74 20 28 6e 74 68 20 69 78 2d 6e 65 78 74 20 75 73 65 73 29 29 .......(next.(nth.ix-next.uses))
70e40 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 63 61 72 20 6e 65 78 74 )...........(goto-char.(car.next
70e60 29 29 29 29 29 29 0a 20 20 20 20 28 5f 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 2d 70 )))))).....(_.(pcase.(get-text-p
70e80 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 29 0a roperty.(point).'racket-xp-def).
70ea0 20 20 20 20 20 20 20 20 20 28 60 28 2c 5f 6b 69 6e 64 20 2c 5f 69 64 20 28 28 2c 62 65 67 20 2c .........(`(,_kind.,_id.((,beg.,
70ec0 5f 65 6e 64 29 20 2e 20 2c 5f 29 29 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 67 29 29 29 29 29 _end)...,_)).(goto-char.beg)))))
70ee0 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 75 73 65 20 28 29 0a )..(defun.racket-xp-next-use.().
70f00 20 20 22 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 61 20 75 73 65 2c 20 67 6f 20 74 6f .."When.point.is.on.a.use,.go.to
70f20 20 74 68 65 20 6e 65 78 74 2c 20 73 69 62 6c 69 6e 67 20 75 73 65 2e 22 0a 20 20 28 69 6e 74 65 .the.next,.sibling.use."...(inte
70f40 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 78 70 2d 2d 66 6f 72 77 61 72 64 2d 75 ractive)...(racket-xp--forward-u
70f60 73 65 20 31 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 se.1))..(defun.racket-xp-previou
70f80 73 2d 75 73 65 20 28 29 0a 20 20 22 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 61 20 75 s-use.()..."When.point.is.on.a.u
70fa0 73 65 2c 20 67 6f 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 2c 20 73 69 62 6c 69 6e 67 20 se,.go.to.the.previous,.sibling.
70fc0 75 73 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d use."...(interactive)...(racket-
70fe0 78 70 2d 2d 66 6f 72 77 61 72 64 2d 75 73 65 20 2d 31 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 xp--forward-use.-1))..(defun.rac
71000 6b 65 74 2d 78 70 2d 72 65 6e 61 6d 65 20 28 29 0a 20 20 22 52 65 6e 61 6d 65 20 61 20 6c 6f 63 ket-xp-rename.()..."Rename.a.loc
71020 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 20 61 6e 64 20 69 74 73 20 75 73 65 73 20 69 6e 20 74 68 al.definition.and.its.uses.in.th
71040 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 e.current.file."...(interactive)
71060 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 0a 20 20 20 20 20 20 28 3b 3b 20 54 72 79 20 74 6f 20 ...(pcase-let*.......(;;.Try.to.
71080 67 65 74 20 61 20 64 65 66 20 70 72 6f 70 20 61 6e 64 20 61 20 75 73 65 20 70 72 6f 70 20 61 74 get.a.def.prop.and.a.use.prop.at
710a0 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 28 64 65 66 2d 70 72 6f 70 20 20 20 20 20 28 67 65 74 .point........(def-prop.....(get
710c0 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 72 61 63 6b 65 74 2d 78 -text-property.(point).'racket-x
710e0 70 2d 64 65 66 29 29 0a 20 20 20 20 20 20 20 28 75 73 65 73 2d 70 72 6f 70 20 20 20 20 28 67 65 p-def))........(uses-prop....(ge
71100 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 72 61 63 6b 65 74 2d t-text-property.(point).'racket-
71120 78 70 2d 75 73 65 29 29 0a 20 20 20 20 20 20 20 28 5f 20 20 20 20 20 20 20 20 20 20 20 20 28 75 xp-use))........(_............(u
71140 6e 6c 65 73 73 20 28 6f 72 20 75 73 65 73 2d 70 72 6f 70 20 64 65 66 2d 70 72 6f 70 29 0a 20 20 nless.(or.uses-prop.def-prop)...
71160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 .....................(user-error
71180 20 22 4e 6f 74 20 61 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 72 20 75 73 65 22 29 29 29 0a 20 20 ."Not.a.definition.or.use")))...
711a0 20 20 20 20 20 3b 3b 20 4f 4b 2c 20 77 65 20 68 61 76 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 70 .....;;.OK,.we.have.one.of.the.p
711c0 72 6f 70 73 2e 20 55 73 65 20 69 74 20 74 6f 20 67 65 74 20 74 68 65 20 74 68 65 20 6f 74 68 65 rops..Use.it.to.get.the.the.othe
711e0 72 20 6f 6e 65 2e 0a 20 20 20 20 20 20 20 28 75 73 65 73 2d 70 72 6f 70 20 20 20 20 28 6f 72 20 r.one.........(uses-prop....(or.
71200 75 73 65 73 2d 70 72 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uses-prop.......................
71220 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 5f 6b 69 6e 64 20 2c 5f 69 64 20 28 28 ...(pcase-let.((`(,_kind.,_id.((
71240 2c 62 65 67 20 2c 5f 65 6e 64 29 20 2e 20 2c 5f 29 29 20 64 65 66 2d 70 72 6f 70 29 29 0a 20 20 ,beg.,_end)...,_)).def-prop))...
71260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 74 65 .........................(get-te
71280 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 27 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 29 29 xt-property.beg.'racket-xp-use))
712a0 29 29 0a 20 20 20 20 20 20 20 28 64 65 66 2d 70 72 6f 70 20 20 20 20 20 28 6f 72 20 64 65 66 2d ))........(def-prop.....(or.def-
712c0 70 72 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 prop..........................(p
712e0 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 62 65 67 20 2c 5f 65 6e 64 29 20 75 73 65 73 2d 70 72 case-let.((`(,beg.,_end).uses-pr
71300 6f 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 op))............................
71320 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 27 72 61 63 6b 65 74 2d 78 (get-text-property.beg.'racket-x
71340 70 2d 64 65 66 29 29 29 29 0a 20 20 20 20 20 20 20 28 60 28 2c 6b 69 6e 64 20 2c 6f 6c 64 2d 69 p-def))))........(`(,kind.,old-i
71360 64 20 2c 75 73 65 73 2d 6c 6f 63 73 29 20 20 64 65 66 2d 70 72 6f 70 29 0a 20 20 20 20 20 20 20 d.,uses-locs)..def-prop)........
71380 28 5f 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 6b 69 6e 64 20 27 (_............(unless.(eq.kind.'
713a0 6c 6f 63 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 local)........................(u
713c0 73 65 72 2d 65 72 72 6f 72 20 22 43 61 6e 20 6f 6e 6c 79 20 72 65 6e 61 6d 65 20 6c 6f 63 61 6c ser-error."Can.only.rename.local
713e0 20 64 65 66 69 6e 69 74 69 6f 6e 73 2c 20 6e 6f 74 20 69 6d 70 6f 72 74 73 22 29 29 29 0a 20 20 .definitions,.not.imports")))...
71400 20 20 20 20 20 28 64 65 66 2d 6c 6f 63 20 20 20 20 20 20 75 73 65 73 2d 70 72 6f 70 29 0a 20 20 .....(def-loc......uses-prop)...
71420 20 20 20 20 20 28 6c 6f 63 73 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 64 65 66 2d 6c 6f 63 .....(locs.........(cons.def-loc
71440 20 75 73 65 73 2d 6c 6f 63 73 29 29 0a 20 20 20 20 20 20 20 28 6e 65 77 2d 69 64 20 20 20 20 20 .uses-locs))........(new-id.....
71460 20 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 52 65 6e 61 6d 65 20 25 ..(read-string.(format."Rename.%
71480 73 20 74 6f 3a 20 22 20 6f 6c 64 2d 69 64 29 20 6e 69 6c 20 6e 69 6c 20 6f 6c 64 2d 69 64 29 29 s.to:.".old-id).nil.nil.old-id))
714a0 0a 20 20 20 20 20 20 20 28 6d 61 72 6b 65 72 2d 70 61 69 72 73 20 28 6d 61 70 63 61 72 20 28 6c ........(marker-pairs.(mapcar.(l
714c0 61 6d 62 64 61 20 28 6c 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ambda.(loc).....................
714e0 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 62 65 67 20 28 6d 61 6b 65 2d 6d 61 72 6b ...........(let.((beg.(make-mark
71500 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er))............................
71520 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 6d 61 6b 65 2d 6d 61 72 6b 65 72 29 29 29 0a 20 ..........(end.(make-marker)))..
71540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
71560 28 73 65 74 2d 6d 61 72 6b 65 72 20 62 65 67 20 28 6e 74 68 20 30 20 6c 6f 63 29 20 28 63 75 72 (set-marker.beg.(nth.0.loc).(cur
71580 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rent-buffer))...................
715a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 6d 61 72 6b 65 72 20 65 6e 64 20 28 ...............(set-marker.end.(
715c0 6e 74 68 20 31 20 6c 6f 63 29 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 nth.1.loc).(current-buffer))....
715e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c ..............................(l
71600 69 73 74 20 62 65 67 20 65 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ist.beg.end)))..................
71620 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63 73 29 29 0a 20 20 20 20 20 20 20 28 70 6f 69 6e 74 ............locs))........(point
71640 2d 6d 61 72 6b 65 72 20 28 6c 65 74 20 28 28 6d 20 28 6d 61 6b 65 2d 6d 61 72 6b 65 72 29 29 29 -marker.(let.((m.(make-marker)))
71660 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 6d 61 72 ........................(set-mar
71680 6b 65 72 20 6d 20 28 70 6f 69 6e 74 29 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 ker.m.(point).(current-buffer)))
716a0 29 29 0a 20 20 20 20 3b 3b 20 44 6f 6e 27 74 20 6c 65 74 20 6f 75 72 20 61 66 74 65 72 2d 63 68 )).....;;.Don't.let.our.after-ch
716c0 61 6e 67 65 20 68 6f 6f 6b 20 72 75 6e 20 77 68 69 6c 65 20 77 65 20 6d 61 6b 65 20 63 68 61 6e ange.hook.run.while.we.make.chan
716e0 67 65 73 2c 0a 20 20 20 20 3b 3b 20 6f 74 68 65 72 77 69 73 65 20 63 68 65 63 6b 2d 73 79 6e 74 ges,.....;;.otherwise.check-synt
71700 61 78 20 77 69 6c 6c 20 66 69 6e 64 20 61 20 73 79 6e 74 61 78 20 65 72 72 6f 72 2e 20 4e 6f 74 ax.will.find.a.syntax.error..Not
71720 65 3a 0a 20 20 20 20 3b 3b 20 60 69 6e 68 69 62 69 74 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d e:.....;;.`inhibit-modification-
71740 68 6f 6f 6b 73 27 20 69 73 20 74 6f 6f 20 73 74 72 6f 6e 67 20 68 65 72 65 3b 20 69 6e 68 69 62 hooks'.is.too.strong.here;.inhib
71760 69 74 20 6a 75 73 74 0a 20 20 20 20 3b 3b 20 6f 75 72 20 68 6f 6f 6b 2e 0a 20 20 20 20 28 6c 65 it.just.....;;.our.hook......(le
71780 74 20 28 28 72 61 63 6b 65 74 2d 2d 78 70 2d 69 6e 68 69 62 69 74 2d 61 66 74 65 72 2d 63 68 61 t.((racket--xp-inhibit-after-cha
717a0 6e 67 65 2d 68 6f 6f 6b 20 74 29 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6d 61 72 6b nge-hook.t)).......(dolist.(mark
717c0 65 72 2d 70 61 69 72 20 6d 61 72 6b 65 72 2d 70 61 69 72 73 29 0a 20 20 20 20 20 20 20 20 28 6c er-pair.marker-pairs).........(l
717e0 65 74 20 28 28 62 65 67 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 28 6e 74 68 20 30 et.((beg.(marker-position.(nth.0
71800 20 6d 61 72 6b 65 72 2d 70 61 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 .marker-pair)))...............(e
71820 6e 64 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 28 6e 74 68 20 31 20 6d 61 72 6b 65 nd.(marker-position.(nth.1.marke
71840 72 2d 70 61 69 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 r-pair))))...........(delete-reg
71860 69 6f 6e 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 ion.beg.end)...........(goto-cha
71880 72 20 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 6e 65 77 2d 69 64 29 r.beg)...........(insert.new-id)
718a0 29 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 ))).....(goto-char.(marker-posit
718c0 69 6f 6e 20 70 6f 69 6e 74 2d 6d 61 72 6b 65 72 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 78 ion.point-marker)).....(racket-x
718e0 70 2d 61 6e 6e 6f 74 61 74 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 78 70 p-annotate)))..(defun.racket--xp
71900 2d 66 6f 72 77 61 72 64 2d 70 72 6f 70 20 28 70 72 6f 70 20 61 6d 74 29 0a 20 20 22 4d 6f 76 65 -forward-prop.(prop.amt)..."Move
71920 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 6e 65 78 74 20 6f 72 20 70 72 65 76 69 6f 75 73 20 6f .point.to.the.next.or.previous.o
71940 63 63 75 72 72 65 6e 63 65 20 6f 66 20 50 52 4f 50 2c 20 69 66 20 61 6e 79 2e 0a 49 66 20 6d 6f ccurrence.of.PROP,.if.any..If.mo
71960 76 65 64 2c 20 72 65 74 75 72 6e 20 74 68 65 20 6e 65 77 20 70 6f 73 69 74 69 6f 6e 2c 20 65 6c ved,.return.the.new.position,.el
71980 73 65 20 6e 69 6c 2e 22 0a 20 20 3b 3b 20 53 6f 6d 65 64 61 79 2f 6d 61 79 62 65 3a 20 48 61 6e se.nil."...;;.Someday/maybe:.Han
719a0 64 6c 65 20 6d 6f 72 65 20 74 68 61 6e 20 6a 75 73 74 20 2d 31 20 6f 72 20 31 2e 0a 20 20 28 6c dle.more.than.just.-1.or.1....(l
719c0 65 74 20 28 28 66 20 28 63 6c 2d 63 61 73 65 20 61 6d 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 et.((f.(cl-case.amt.............
719e0 20 28 2d 31 20 23 27 70 72 65 76 69 6f 75 73 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d .(-1.#'previous-single-property-
71a00 63 68 61 6e 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 31 20 23 27 6e 65 78 74 2d change)..............(.1.#'next-
71a20 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 29 29 29 29 0a 20 20 20 20 28 single-property-change)))).....(
71a40 70 63 61 73 65 20 28 61 6e 64 20 66 20 28 66 75 6e 63 61 6c 6c 20 66 20 28 70 6f 69 6e 74 29 20 pcase.(and.f.(funcall.f.(point).
71a60 70 72 6f 70 29 29 0a 20 20 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 69 6e 74 65 67 65 72 prop)).......((and.(pred.integer
71a80 70 29 20 70 6f 73 29 0a 20 20 20 20 20 20 20 3b 3b 20 55 6e 6c 65 73 73 20 74 68 69 73 20 69 73 p).pos)........;;.Unless.this.is
71aa0 20 77 68 65 72 65 20 74 68 65 20 70 72 6f 70 20 73 74 61 72 74 73 2c 20 66 69 6e 64 20 74 68 61 .where.the.prop.starts,.find.tha
71ac0 74 2e 0a 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 t.........(unless.(get-text-prop
71ae0 65 72 74 79 20 70 6f 73 20 70 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f erty.pos.prop)..........(setq.po
71b00 73 20 28 66 75 6e 63 61 6c 6c 20 66 20 70 6f 73 20 70 72 6f 70 29 29 29 0a 20 20 20 20 20 20 20 s.(funcall.f.pos.prop)))........
71b20 28 77 68 65 6e 20 70 6f 73 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 29 0a 20 20 20 20 20 (when.pos.(goto-char.pos))......
71b40 20 20 70 6f 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 ..pos))))..(defun.racket-xp-next
71b60 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28 29 0a 20 20 22 4d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 -definition.()..."Move.point.to.
71b80 74 68 65 20 6e 65 78 74 20 64 65 66 69 6e 69 74 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 the.next.definition."...(interac
71ba0 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 66 6f 72 77 61 72 64 2d 70 72 6f 70 tive)...(racket--xp-forward-prop
71bc0 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 20 31 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b .'racket-xp-def.1))..(defun.rack
71be0 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28 29 0a 20 20 22 et-xp-previous-definition.()..."
71c00 4d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 64 65 66 69 6e Move.point.to.the.previous.defin
71c20 69 74 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 ition."...(interactive)...(racke
71c40 74 2d 2d 78 70 2d 66 6f 72 77 61 72 64 2d 70 72 6f 70 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 65 t--xp-forward-prop.'racket-xp-de
71c60 66 20 2d 31 29 29 0a 0a 3b 3b 3b 20 74 61 69 6c 20 61 6e 64 20 65 6e 63 6c 6f 73 69 6e 67 20 65 f.-1))..;;;.tail.and.enclosing.e
71c80 78 70 72 65 73 73 69 6f 6e 73 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 xpressions..(defun.racket-xp-tai
71ca0 6c 2d 75 70 20 28 29 0a 20 20 22 47 6f 20 5c 22 75 70 5c 22 20 74 6f 20 74 68 65 20 65 78 70 72 l-up.()..."Go.\"up\".to.the.expr
71cc0 65 73 73 69 6f 6e 20 65 6e 63 6c 6f 73 69 6e 67 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 ession.enclosing.an.expression.i
71ce0 6e 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 n.tail.position...When.point.is.
71d00 6f 6e 20 74 68 65 20 6f 70 65 6e 69 6e 67 20 70 61 72 65 6e 74 68 65 73 69 73 20 6f 66 20 61 6e on.the.opening.parenthesis.of.an
71d20 20 65 78 70 72 65 73 73 69 6f 6e 20 69 6e 20 74 61 69 6c 0a 70 6f 73 69 74 69 6f 6e 2c 20 67 6f .expression.in.tail.position,.go
71d40 20 69 74 73 20 5c 22 74 61 72 67 65 74 5c 22 20 2d 2d 20 74 68 61 74 20 69 73 2c 20 67 6f 20 74 .its.\"target\".--.that.is,.go.t
71d60 6f 20 74 68 65 20 65 6e 63 6c 6f 73 69 6e 67 0a 65 78 70 72 65 73 73 69 6f 6e 20 77 69 74 68 20 o.the.enclosing.expression.with.
71d80 74 68 65 20 73 61 6d 65 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 61 73 20 74 68 65 20 74 61 69 the.same.continuation.as.the.tai
71da0 6c 20 65 78 70 72 65 73 73 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 l.expression."...(interactive)..
71dc0 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e .(pcase.(get-text-property.(poin
71de0 74 29 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 t).'racket-xp-tail-position)....
71e00 20 28 28 61 6e 64 20 28 70 72 65 64 20 6d 61 72 6b 65 72 70 29 20 70 6f 73 29 0a 20 20 20 20 20 .((and.(pred.markerp).pos)......
71e20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 29 0a 20 20 20 20 28 5f 20 28 75 73 65 72 2d 65 72 (goto-char.pos)).....(_.(user-er
71e40 72 6f 72 20 22 45 78 70 72 65 73 73 69 6f 6e 20 6e 6f 74 20 69 6e 20 74 61 69 6c 20 70 6f 73 69 ror."Expression.not.in.tail.posi
71e60 74 69 6f 6e 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c tion"))))..(defun.racket-xp-tail
71e80 2d 64 6f 77 6e 20 28 29 0a 20 20 22 47 6f 20 5c 22 64 6f 77 6e 5c 22 20 74 6f 20 74 68 65 20 66 -down.()..."Go.\"down\".to.the.f
71ea0 69 72 73 74 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 20 65 6e 63 6c 6f 73 65 64 20 62 79 20 74 irst.tail.position.enclosed.by.t
71ec0 68 65 20 63 75 72 72 65 6e 74 20 65 78 70 72 65 73 73 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 he.current.expression."...(inter
71ee0 61 63 74 69 76 65 29 0a 20 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 active)...(pcase.(get-text-prope
71f00 72 74 79 20 28 70 6f 69 6e 74 29 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 rty.(point).'racket-xp-tail-targ
71f20 65 74 29 0a 20 20 20 20 28 60 28 2c 70 6f 73 20 2e 20 2c 5f 29 20 28 67 6f 74 6f 2d 63 68 61 72 et).....(`(,pos...,_).(goto-char
71f40 20 70 6f 73 29 29 0a 20 20 20 20 28 5f 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 45 78 70 72 65 .pos)).....(_.(user-error."Expre
71f60 73 73 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 6e 63 6c 6f 73 65 20 61 6e 20 65 78 70 72 65 73 ssion.does.not.enclose.an.expres
71f80 73 69 6f 6e 20 69 6e 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 22 29 29 29 29 0a 0a 28 64 65 66 sion.in.tail.position"))))..(def
71fa0 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 2d 66 6f 72 77 61 72 64 2d 74 61 69 6c 20 28 61 6d 74 29 un.racket-xp--forward-tail.(amt)
71fc0 0a 20 20 22 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 61 20 74 61 69 6c 2c 20 67 6f 20 ..."When.point.is.on.a.tail,.go.
71fe0 41 4d 54 20 74 61 69 6c 73 20 66 6f 72 77 61 72 64 2e 20 41 4d 54 20 6d 61 79 20 62 65 20 6e 65 AMT.tails.forward..AMT.may.be.ne
72000 67 61 74 69 76 65 2e 0a 0a 4d 6f 76 69 6e 67 20 62 65 66 6f 72 65 2f 61 66 74 65 72 20 74 68 65 gative...Moving.before/after.the
72020 20 66 69 72 73 74 2f 6c 61 73 74 20 74 61 69 6c 20 77 72 61 70 73 20 61 72 6f 75 6e 64 2e 22 0a .first/last.tail.wraps.around.".
72040 20 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 ..(pcase.(get-text-property.(poi
72060 6e 74 29 20 27 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 29 0a 20 20 nt).'racket-xp-tail-position)...
72080 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 6d 61 72 6b 65 72 70 29 20 70 6f 73 29 0a 20 20 20 20 ..((and.(pred.markerp).pos).....
720a0 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27 .(pcase.(get-text-property.pos.'
720c0 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 29 0a 20 20 20 20 20 20 20 28 28 racket-xp-tail-target)........((
720e0 61 6e 64 20 28 70 72 65 64 20 6c 69 73 74 70 29 20 74 61 69 6c 73 29 0a 20 20 20 20 20 20 20 20 and.(pred.listp).tails).........
72100 28 6c 65 74 2a 20 28 28 69 78 2d 74 68 69 73 20 28 73 65 71 2d 70 6f 73 69 74 69 6f 6e 20 74 61 (let*.((ix-this.(seq-position.ta
72120 69 6c 73 20 28 70 6f 69 6e 74 2d 6d 61 72 6b 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ils.(point-marker)))............
72140 20 20 20 20 28 69 78 2d 6e 65 78 74 20 28 2b 20 69 78 2d 74 68 69 73 20 61 6d 74 29 29 0a 20 20 ....(ix-next.(+.ix-this.amt))...
72160 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 78 2d 6e 65 78 74 20 28 69 66 20 28 3e 20 61 6d 74 .............(ix-next.(if.(>.amt
72180 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .0).............................
721a0 28 69 66 20 28 3e 3d 20 69 78 2d 6e 65 78 74 20 28 6c 65 6e 67 74 68 20 74 61 69 6c 73 29 29 20 (if.(>=.ix-next.(length.tails)).
721c0 30 20 69 78 2d 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0.ix-next)......................
721e0 20 20 20 20 20 28 69 66 20 28 3c 20 69 78 2d 6e 65 78 74 20 30 29 20 28 31 2d 20 28 6c 65 6e 67 .....(if.(<.ix-next.0).(1-.(leng
72200 74 68 20 74 61 69 6c 73 29 29 20 69 78 2d 6e 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 th.tails)).ix-next)))...........
72220 20 20 20 20 20 28 6e 65 78 74 20 28 6e 74 68 20 69 78 2d 6e 65 78 74 20 74 61 69 6c 73 29 29 29 .....(next.(nth.ix-next.tails)))
72240 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6e 65 78 74 29 0a 20 20 20 20 ...........(goto-char.next).....
72260 20 20 20 20 20 20 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d ......t))))))..(defun.racket-xp-
72280 74 61 69 6c 2d 6e 65 78 74 2d 73 69 62 6c 69 6e 67 20 28 29 0a 20 20 22 47 6f 20 74 6f 20 74 68 tail-next-sibling.()..."Go.to.th
722a0 65 20 6e 65 78 74 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 20 73 68 61 72 69 6e 67 20 74 68 65 e.next.tail.position.sharing.the
722c0 20 73 61 6d 65 20 65 6e 63 6c 6f 73 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 22 0a 20 20 28 .same.enclosing.expression."...(
722e0 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 72 61 63 6b 65 74 2d 78 interactive)...(unless.(racket-x
72300 70 2d 2d 66 6f 72 77 61 72 64 2d 74 61 69 6c 20 31 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 p--forward-tail.1).....(user-err
72320 6f 72 20 22 45 78 70 72 65 73 73 69 6f 6e 20 69 73 20 6e 6f 74 20 69 6e 20 74 61 69 6c 20 70 6f or."Expression.is.not.in.tail.po
72340 73 69 74 69 6f 6e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 sition")))..(defun.racket-xp-tai
72360 6c 2d 70 72 65 76 69 6f 75 73 2d 73 69 62 6c 69 6e 67 20 28 29 0a 20 20 22 47 6f 20 74 6f 20 74 l-previous-sibling.()..."Go.to.t
72380 68 65 20 70 72 65 76 69 6f 75 73 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 20 73 68 61 72 69 6e he.previous.tail.position.sharin
723a0 67 20 74 68 65 20 73 61 6d 65 20 65 6e 63 6c 6f 73 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e g.the.same.enclosing.expression.
723c0 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 72 61 63 "...(interactive)...(unless.(rac
723e0 6b 65 74 2d 78 70 2d 2d 66 6f 72 77 61 72 64 2d 74 61 69 6c 20 2d 31 29 0a 20 20 20 20 28 75 73 ket-xp--forward-tail.-1).....(us
72400 65 72 2d 65 72 72 6f 72 20 22 45 78 70 72 65 73 73 69 6f 6e 20 69 73 20 6e 6f 74 20 69 6e 20 74 er-error."Expression.is.not.in.t
72420 61 69 6c 20 70 6f 73 69 74 69 6f 6e 22 29 29 29 0a 0a 3b 3b 3b 20 45 72 72 6f 72 73 0a 0a 28 64 ail.position")))..;;;.Errors..(d
72440 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 78 70 2d 65 72 72 6f 72 73 20 20 20 efvar-local.racket--xp-errors...
72460 20 20 20 20 28 76 65 63 74 6f 72 29 29 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b ....(vector)).(defvar-local.rack
72480 65 74 2d 2d 78 70 2d 65 72 72 6f 72 73 2d 69 6e 64 65 78 20 30 29 0a 0a 28 64 65 66 75 6e 20 72 et--xp-errors-index.0)..(defun.r
724a0 61 63 6b 65 74 2d 2d 78 70 2d 63 6c 65 61 72 2d 65 72 72 6f 72 73 20 28 29 0a 20 20 28 73 65 74 acket--xp-clear-errors.()...(set
724c0 71 20 72 61 63 6b 65 74 2d 2d 78 70 2d 65 72 72 6f 72 73 20 20 20 20 20 20 20 28 76 65 63 74 6f q.racket--xp-errors.......(vecto
724e0 72 29 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 78 70 2d 65 72 72 6f 72 73 2d 69 6e r))...(setq.racket--xp-errors-in
72500 64 65 78 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 78 70 2d 61 64 64 2d 65 dex.0))..(defun.racket--xp-add-e
72520 72 72 6f 72 20 28 70 61 74 68 20 62 65 67 20 73 74 72 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b rror.(path.beg.str)...(setq.rack
72540 65 74 2d 2d 78 70 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 28 76 63 6f 6e 63 61 74 20 72 et--xp-errors.........(vconcat.r
72560 61 63 6b 65 74 2d 2d 78 70 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 acket--xp-errors................
72580 20 20 28 76 65 63 74 6f 72 20 28 6c 69 73 74 20 70 61 74 68 20 62 65 67 20 73 74 72 29 29 29 29 ..(vector.(list.path.beg.str))))
725a0 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 65 72 72 6f 72 2d 66 )..(defun.racket-xp-next-error-f
725c0 75 6e 63 74 69 6f 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 61 6d 74 20 72 65 73 65 74 29 0a 20 20 unction.(&optional.amt.reset)...
725e0 22 4d 6f 76 65 20 41 4d 54 20 65 72 72 6f 72 73 2c 20 69 66 20 61 6e 79 2e 0a 0a 41 20 76 61 6c "Move.AMT.errors,.if.any...A.val
72600 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 6e 65 78 74 2d 65 72 72 6f 72 2d ue.for.the.variable.`next-error-
72620 66 75 6e 63 74 69 6f 6e 27 2e 0a 0a 49 66 20 74 68 65 72 65 20 61 72 65 20 61 6e 79 20 63 68 65 function'...If.there.are.any.che
72640 63 6b 2d 73 79 6e 74 61 78 20 65 72 72 6f 72 73 2c 20 6d 6f 76 65 73 20 61 6d 6f 6e 67 20 74 68 ck-syntax.errors,.moves.among.th
72660 65 6d 2c 20 77 72 61 70 70 69 6e 67 0a 61 72 6f 75 6e 64 20 61 74 20 74 68 65 20 66 69 72 73 74 em,.wrapping.around.at.the.first
72680 20 61 6e 64 20 6c 61 73 74 20 65 72 72 6f 72 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 .and.last.errors."...(interactiv
726a0 65 29 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e 20 28 6c 65 6e 67 74 68 20 72 61 63 6b 65 74 2d 2d e)...(let.((len.(length.racket--
726c0 78 70 2d 65 72 72 6f 72 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 7a 65 72 6f 70 20 xp-errors))).....(unless.(zerop.
726e0 6c 65 6e 29 0a 20 20 20 20 20 20 28 69 66 20 72 65 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 28 len).......(if.reset...........(
72700 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 78 70 2d 65 72 72 6f 72 73 2d 69 6e 64 65 78 20 30 29 0a setq.racket--xp-errors-index.0).
72720 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 78 70 2d 65 72 72 6f 72 73 2d ........(setq.racket--xp-errors-
72740 69 6e 64 65 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 20 28 2b 20 72 61 63 6b index...............(mod.(+.rack
72760 65 74 2d 2d 78 70 2d 65 72 72 6f 72 73 2d 69 6e 64 65 78 20 61 6d 74 29 0a 20 20 20 20 20 20 20 et--xp-errors-index.amt)........
72780 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 28 70 63 61 73 65 2d ............len))).......(pcase-
727a0 6c 65 74 20 28 28 60 28 2c 70 61 74 68 20 2c 70 6f 73 20 2c 73 74 72 29 0a 20 20 20 20 20 20 20 let.((`(,path.,pos.,str)........
727c0 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 72 61 63 6b 65 74 2d 2d 78 70 2d 65 72 72 ............(aref.racket--xp-err
727e0 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 ors..........................rac
72800 6b 65 74 2d 2d 78 70 2d 65 72 72 6f 72 73 2d 69 6e 64 65 78 29 29 29 0a 20 20 20 20 20 20 20 20 ket--xp-errors-index))).........
72820 28 63 6f 6e 64 20 28 28 65 71 75 61 6c 20 70 61 74 68 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 (cond.((equal.path.(racket--buff
72840 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 er-file-name))................(g
72860 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a oto-char.pos))...............(t.
72880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 70 61 74 68 29 0a ...............(find-file.path).
728a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 29 29 ...............(goto-char.pos)))
728c0 0a 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20 73 74 72 29 29 29 29 29 0a .........(message."%s".str))))).
728e0 0a 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 20 27 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d .(make-obsolete.'racket-xp-next-
72900 65 72 72 6f 72 20 27 6e 65 78 74 2d 65 72 72 6f 72 20 22 32 30 32 33 2d 31 31 2d 32 30 22 29 0a error.'next-error."2023-11-20").
72920 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 65 72 72 6f 72 20 28 29 0a 20 (defun.racket-xp-next-error.()..
72940 20 22 41 6e 20 6f 62 73 6f 6c 65 74 65 20 61 6c 69 61 73 20 66 6f 72 20 60 6e 65 78 74 2d 65 72 ."An.obsolete.alias.for.`next-er
72960 72 6f 72 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6e 65 78 74 2d 65 ror'."...(interactive)...(next-e
72980 72 72 6f 72 29 29 0a 0a 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 20 27 72 61 63 6b 65 74 2d 78 rror))..(make-obsolete.'racket-x
729a0 70 2d 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 20 27 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 p-previous-error.'previous-error
729c0 20 22 32 30 32 33 2d 31 31 2d 32 30 22 29 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d ."2023-11-20").(defun.racket-xp-
729e0 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 20 28 29 0a 20 20 22 41 6e 20 6f 62 73 6f 6c 65 74 65 previous-error.()..."An.obsolete
72a00 20 61 6c 69 61 73 20 66 6f 72 20 60 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 27 2e 22 0a 20 20 .alias.for.`previous-error'."...
72a20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 29 (interactive)...(previous-error)
72a40 29 0a 0a 3b 3b 3b 20 78 72 65 66 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 78 72 )..;;;.xref..(defun.racket-xp-xr
72a60 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 20 28 29 0a 20 20 27 72 61 63 6b 65 74 ef-backend-function.()...'racket
72a80 2d 78 70 2d 78 72 65 66 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 78 72 65 66 2d 62 61 -xp-xref)..(cl-defmethod.xref-ba
72aa0 63 6b 65 6e 64 2d 69 64 65 6e 74 69 66 69 65 72 2d 61 74 2d 70 6f 69 6e 74 20 28 28 5f 62 61 63 ckend-identifier-at-point.((_bac
72ac0 6b 65 6e 64 20 28 65 71 6c 20 72 61 63 6b 65 74 2d 78 70 2d 78 72 65 66 29 29 29 0a 20 20 28 6f kend.(eql.racket-xp-xref)))...(o
72ae0 72 20 28 73 65 71 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28 70 72 6f 70 29 0a 20 20 20 20 20 r.(seq-some.(lambda.(prop)......
72b00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f .............(when.(get-text-pro
72b20 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 70 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 perty.(point).prop).............
72b40 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 65 6e 64 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 ........(let*.((end.(next-single
72b60 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 28 70 6f 69 6e 74 29 20 70 72 6f 70 29 29 0a -property-change.(point).prop)).
72b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 65 67 20 ...........................(beg.
72ba0 28 70 72 65 76 69 6f 75 73 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 (previous-single-property-change
72bc0 20 65 6e 64 20 70 72 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .end.prop)))....................
72be0 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 20 28 77 69 64 65 6e 29 20 28 62 75 ...(save-restriction.(widen).(bu
72c00 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 62 65 67 20 65 6e 64 29 29 29 29 29 0a 20 20 20 20 ffer-substring.beg.end))))).....
72c20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 6f 6e 73 69 64 65 72 20 73 61 6d 65 20 70 72 6f ............;;.Consider.same.pro
72c40 70 73 20 6f 75 72 20 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 0a ps.our.xref-backend-definitions.
72c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6d 65 74 68 6f 64 20 6c 6f 6f 6b 73 20 ................;;.method.looks.
72c80 66 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 72 61 63 6b 65 74 2d 78 70 for..................'(racket-xp
72ca0 2d 72 65 71 75 69 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 -require...................racke
72cc0 74 2d 78 70 2d 76 69 73 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 t-xp-visit...................rac
72ce0 6b 65 74 2d 78 70 2d 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 ket-xp-use...................rac
72d00 6b 65 74 2d 78 70 2d 64 65 66 29 29 0a 20 20 20 20 20 20 28 74 68 69 6e 67 2d 61 74 2d 70 6f 69 ket-xp-def)).......(thing-at-poi
72d20 6e 74 20 27 73 79 6d 62 6f 6c 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 78 72 65 nt.'symbol)))..(cl-defmethod.xre
72d40 66 2d 62 61 63 6b 65 6e 64 2d 69 64 65 6e 74 69 66 69 65 72 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d f-backend-identifier-completion-
72d60 74 61 62 6c 65 20 28 28 5f 62 61 63 6b 65 6e 64 20 28 65 71 6c 20 72 61 63 6b 65 74 2d 78 70 2d table.((_backend.(eql.racket-xp-
72d80 78 72 65 66 29 29 29 0a 20 20 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d 74 61 62 6c 65 2d 64 79 6e 61 xref)))...(completion-table-dyna
72da0 6d 69 63 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 70 72 65 66 69 78 29 0a 20 20 20 20 20 28 61 6c mic....(lambda.(prefix)......(al
72dc0 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 70 72 65 66 69 78 20 72 61 63 6b 65 74 2d 2d 78 70 2d l-completions.prefix.racket--xp-
72de0 62 69 6e 64 69 6e 67 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 binding-completions))))..(cl-def
72e00 6d 65 74 68 6f 64 20 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 20 method.xref-backend-definitions.
72e20 28 28 5f 62 61 63 6b 65 6e 64 20 28 65 71 6c 20 72 61 63 6b 65 74 2d 78 70 2d 78 72 65 66 29 29 ((_backend.(eql.racket-xp-xref))
72e40 20 73 74 72 29 0a 20 20 28 6f 72 0a 20 20 20 3b 3b 20 53 6f 6d 65 74 68 69 6e 67 20 61 6e 6e 6f .str)...(or....;;.Something.anno
72e60 74 61 74 65 64 20 61 73 20 61 64 64 2d 6f 70 65 6e 2d 72 65 75 71 69 72 65 2d 6d 65 6e 75 20 62 tated.as.add-open-reuqire-menu.b
72e80 79 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 0a 20 20 20 28 77 68 65 6e y.drracket/check-syntax....(when
72ea0 2d 6c 65 74 20 28 70 61 74 68 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 30 20 -let.(path.(get-text-property.0.
72ec0 27 72 61 63 6b 65 74 2d 78 70 2d 72 65 71 75 69 72 65 20 73 74 72 29 29 0a 20 20 20 20 20 28 6c 'racket-xp-require.str))......(l
72ee0 69 73 74 20 28 78 72 65 66 2d 6d 61 6b 65 20 73 74 72 20 28 78 72 65 66 2d 6d 61 6b 65 2d 66 69 ist.(xref-make.str.(xref-make-fi
72f00 6c 65 2d 6c 6f 63 61 74 69 6f 6e 20 70 61 74 68 20 31 20 30 29 29 29 29 0a 20 20 20 3b 3b 20 53 le-location.path.1.0))))....;;.S
72f20 6f 6d 65 74 68 69 6e 67 20 61 6e 6e 6f 74 61 74 65 64 20 66 6f 72 20 6a 75 6d 70 2d 74 6f 2d 64 omething.annotated.for.jump-to-d
72f40 65 66 69 6e 69 74 69 6f 6e 20 62 79 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 efinition.by.drracket/check-synt
72f60 61 78 0a 20 20 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 ax....(pcase.(get-text-property.
72f80 30 20 27 72 61 63 6b 65 74 2d 78 70 2d 76 69 73 69 74 20 73 74 72 29 0a 20 20 20 20 20 28 60 28 0.'racket-xp-visit.str)......(`(
72fa0 2c 70 61 74 68 20 2c 73 75 62 73 20 2c 69 64 73 29 0a 20 20 20 20 20 20 28 70 63 61 73 65 20 28 ,path.,subs.,ids).......(pcase.(
72fc0 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 77 61 69 74 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 racket--cmd/await.nil...........
72fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 64 65 66 2f 64 72 72 0a ......................`(def/drr.
73000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
73020 20 20 20 2c 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 66 72 6f 6e 74 2d 74 6f 2d 62 ...,(racket-file-name-front-to-b
73040 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ack.............................
73060 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 .........(racket--buffer-file-na
73080 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 me))............................
730a0 20 20 20 20 20 20 20 20 2c 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 66 72 6f 6e 74 ........,(racket-file-name-front
730c0 2d 74 6f 2d 62 61 63 6b 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -to-back.path)..................
730e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 73 75 62 73 0a 20 20 20 20 20 20 20 20 ..................,subs.........
73100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 69 64 73 29 ...........................,ids)
73120 29 0a 20 20 20 20 20 20 20 20 28 60 28 2c 70 61 74 68 20 2c 6c 69 6e 65 20 2c 63 6f 6c 29 0a 20 ).........(`(,path.,line.,col)..
73140 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 78 72 65 66 2d 6d 61 6b 65 20 73 74 72 0a 20 20 20 ........(list.(xref-make.str....
73160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 72 65 66 2d 6d 61 6b .......................(xref-mak
73180 65 2d 66 69 6c 65 2d 6c 6f 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-file-location.................
731a0 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 63 ...........(racket-file-name-bac
731c0 6b 2d 74 6f 2d 66 72 6f 6e 74 20 70 61 74 68 29 20 6c 69 6e 65 20 63 6f 6c 29 29 29 29 29 29 29 k-to-front.path).line.col)))))))
731e0 0a 20 20 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 30 20 ....(pcase.(get-text-property.0.
73200 27 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 20 73 74 72 29 0a 20 20 20 20 20 28 60 28 2c 62 65 67 'racket-xp-use.str)......(`(,beg
73220 20 2c 65 6e 64 29 0a 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 20 20 20 28 78 72 65 66 2d .,end).......(list........(xref-
73240 6d 61 6b 65 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 20 28 77 69 64 65 6e 29 20 28 make.(save-restriction.(widen).(
73260 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 62 65 67 20 65 6e 64 29 29 0a 20 20 20 20 20 buffer-substring.beg.end))......
73280 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 72 65 66 2d 6d 61 6b 65 2d 62 75 66 66 65 72 2d 6c .............(xref-make-buffer-l
732a0 6f 63 61 74 69 6f 6e 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 ocation.(current-buffer)........
732c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
732e0 20 20 20 20 20 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 62 65 67 29 29 29 29 29 29 ......(marker-position.beg))))))
73300 0a 20 20 20 3b 3b 20 41 6e 6e 6f 74 61 74 65 64 20 62 79 20 64 72 2f 63 73 20 61 73 20 69 6d 70 ....;;.Annotated.by.dr/cs.as.imp
73320 6f 72 74 65 64 20 6d 6f 64 75 6c 65 3b 20 76 69 73 69 74 20 74 68 65 20 6d 6f 64 75 6c 65 0a 20 orted.module;.visit.the.module..
73340 20 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 30 20 27 72 ..(pcase.(get-text-property.0.'r
73360 61 63 6b 65 74 2d 78 70 2d 64 65 66 20 73 74 72 29 0a 20 20 20 20 20 28 60 28 69 6d 70 6f 72 74 acket-xp-def.str)......(`(import
73380 20 2c 69 64 20 2e 20 2c 5f 29 0a 20 20 20 20 20 20 28 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 64 .,id...,_).......(xref-backend-d
733a0 65 66 69 6e 69 74 69 6f 6e 73 20 27 72 61 63 6b 65 74 2d 78 72 65 66 2d 6d 6f 64 75 6c 65 20 69 efinitions.'racket-xref-module.i
733c0 64 29 29 29 0a 20 20 20 3b 3b 20 53 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 2c 20 66 6f 72 20 77 d)))....;;.Something.that,.for.w
733e0 68 61 74 65 76 65 72 20 72 65 61 73 6f 6e 2c 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 hatever.reason,.drracket/check-s
73400 79 6e 74 61 78 20 64 69 64 0a 20 20 20 3b 3b 20 6e 6f 74 20 61 6e 6e 6f 74 61 74 65 2e 0a 20 20 yntax.did....;;.not.annotate....
73420 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 77 61 69 74 20 6e 69 6c 20 60 .(pcase.(racket--cmd/await.nil.`
73440 28 64 65 66 20 2c 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 66 72 6f 6e 74 2d 74 6f (def.,(racket-file-name-front-to
73460 2d 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -back...........................
73480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 ...............(racket--buffer-f
734a0 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ile-name))......................
734c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f ..................,(substring-no
734e0 2d 70 72 6f 70 65 72 74 69 65 73 20 73 74 72 29 29 29 0a 20 20 20 20 20 28 60 28 2c 70 61 74 68 -properties.str)))......(`(,path
73500 20 2c 6c 69 6e 65 20 2c 63 6f 6c 29 0a 20 20 20 20 20 20 28 6c 69 73 74 20 28 78 72 65 66 2d 6d .,line.,col).......(list.(xref-m
73520 61 6b 65 20 73 74 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ake.str........................(
73540 78 72 65 66 2d 6d 61 6b 65 2d 66 69 6c 65 2d 6c 6f 63 61 74 69 6f 6e 20 70 61 74 68 20 6c 69 6e xref-make-file-location.path.lin
73560 65 20 63 6f 6c 29 29 29 29 0a 20 20 20 20 20 28 60 6b 65 72 6e 65 6c 0a 20 20 20 20 20 20 28 6c e.col))))......(`kernel.......(l
73580 69 73 74 20 28 78 72 65 66 2d 6d 61 6b 65 20 73 74 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ist.(xref-make.str..............
735a0 20 20 20 20 20 20 20 20 20 20 28 78 72 65 66 2d 6d 61 6b 65 2d 62 6f 67 75 73 2d 6c 6f 63 61 74 ..........(xref-make-bogus-locat
735c0 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 44 65 66 ion........................."Def
735e0 69 6e 65 64 20 69 6e 20 23 25 25 6b 65 72 6e 65 6c 20 2d 2d 20 73 6f 75 72 63 65 20 6e 6f 74 20 ined.in.#%%kernel.--.source.not.
73600 61 76 61 69 6c 61 62 6c 65 22 29 29 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 available")))))))..(cl-defmethod
73620 20 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 72 65 66 65 72 65 6e 63 65 73 20 28 28 62 61 63 6b 65 .xref-backend-references.((backe
73640 6e 64 20 28 65 71 6c 20 72 61 63 6b 65 74 2d 78 70 2d 78 72 65 66 29 29 20 73 74 72 29 0a 20 20 nd.(eql.racket-xp-xref)).str)...
73660 3b 3b 20 4e 6f 74 65 3a 20 4f 75 72 20 61 62 69 6c 69 74 79 20 74 6f 20 66 69 6e 64 20 72 65 66 ;;.Note:.Our.ability.to.find.ref
73680 65 72 65 6e 63 65 73 20 69 73 20 6c 69 6d 69 74 65 64 20 74 6f 20 74 68 6f 73 65 0a 20 20 3b 3b erences.is.limited.to.those...;;
736a0 20 61 6e 6e 6f 74 61 74 65 64 20 62 79 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e .annotated.by.drracket/check-syn
736c0 74 61 78 2e 20 43 75 72 72 65 6e 74 6c 79 20 74 68 69 73 20 69 6e 63 6c 75 64 65 73 20 6f 6e 6c tax..Currently.this.includes.onl
736e0 79 3a 0a 20 20 3b 3b 0a 20 20 3b 3b 20 31 2e 20 52 65 66 65 72 65 6e 63 65 73 20 77 69 74 68 69 y:...;;...;;.1..References.withi
73700 6e 20 74 68 69 73 20 66 69 6c 65 20 74 6f 20 62 69 6e 64 69 6e 67 73 20 64 65 66 69 6e 65 64 20 n.this.file.to.bindings.defined.
73720 77 69 74 68 69 6e 20 74 68 69 73 0a 20 20 3b 3b 20 20 20 20 66 69 6c 65 2e 20 28 54 68 65 20 67 within.this...;;....file..(The.g
73740 6f 6f 64 20 6e 65 77 73 20 69 73 2c 20 74 68 69 73 20 64 6f 65 73 20 69 6e 63 6c 75 64 65 20 6c ood.news.is,.this.does.include.l
73760 65 78 69 63 61 6c 20 62 69 6e 64 69 6e 67 73 2e 29 0a 20 20 3b 3b 0a 20 20 3b 3b 20 32 2e 20 52 exical.bindings.)...;;...;;.2..R
73780 65 66 65 72 65 6e 63 65 73 20 77 69 74 68 69 6e 20 74 68 69 73 20 66 69 6c 65 20 74 6f 20 62 69 eferences.within.this.file.to.bi
737a0 6e 64 69 6e 67 73 20 66 72 6f 6d 20 61 6e 20 69 6d 70 6f 72 74 65 64 0a 20 20 3b 3b 20 20 20 20 ndings.from.an.imported...;;....
737c0 6d 6f 64 75 6c 65 20 28 72 65 71 75 69 72 65 64 2c 20 6f 72 2c 20 74 68 65 20 23 6c 61 6e 67 29 module.(required,.or,.the.#lang)
737e0 2e 0a 20 20 3b 3b 0a 20 20 3b 3b 20 4f 74 68 65 72 77 69 73 65 2c 20 77 65 27 72 65 20 6f 75 74 ....;;...;;.Otherwise,.we're.out
73800 20 6f 66 20 6c 75 63 6b 20 62 65 63 61 75 73 65 20 74 68 65 72 65 20 65 78 69 73 74 73 20 6e 6f .of.luck.because.there.exists.no
73820 20 64 61 74 62 61 73 65 20 6f 66 0a 20 20 3b 3b 20 72 65 66 65 72 65 6e 63 65 73 20 70 72 6f 6a .datbase.of...;;.references.proj
73840 65 63 74 2d 77 69 64 65 2e 0a 20 20 28 6f 72 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 ect-wide....(or.(pcase.(get-text
73860 2d 70 72 6f 70 65 72 74 79 20 30 20 27 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 20 73 74 72 29 0a -property.0.'racket-xp-def.str).
73880 20 20 20 20 20 20 20 20 28 60 28 2c 5f 61 6e 79 2d 6b 69 6e 64 20 2c 5f 64 65 66 20 2c 75 73 65 ........(`(,_any-kind.,_def.,use
738a0 73 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 75 73 65 s)..........(mapcar.(lambda.(use
738c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 )....................(pcase-let.
738e0 28 28 60 28 2c 62 65 67 20 2c 65 6e 64 29 20 75 73 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ((`(,beg.,end).use))............
73900 20 20 20 20 20 20 20 20 20 20 28 78 72 65 66 2d 6d 61 6b 65 0a 20 20 20 20 20 20 20 20 20 20 20 ..........(xref-make............
73920 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 20 28 77 69 ...........(save-restriction.(wi
73940 64 65 6e 29 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 62 65 67 20 65 6e 64 29 29 den).(buffer-substring.beg.end))
73960 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 72 65 66 2d 6d 61 6b .......................(xref-mak
73980 65 2d 62 75 66 66 65 72 2d 6c 6f 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-buffer-location...............
739a0 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 20 28 6d 61 72 6b 65 .........(current-buffer).(marke
739c0 72 2d 70 6f 73 69 74 69 6f 6e 20 62 65 67 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 r-position.beg))))).............
739e0 20 20 20 20 20 75 73 65 73 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 41 73 20 61 20 66 61 6c 6c 62 .....uses))).......;;.As.a.fallb
73a00 61 63 6b 20 75 73 65 20 74 68 65 20 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 72 65 66 65 72 65 6e ack.use.the.xref-backend-referen
73a20 63 65 73 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 3b 3b 20 69 6d 70 6c 65 6d 65 6e 74 61 74 ces.default.......;;.implementat
73a40 69 6f 6e 2c 20 77 68 69 63 68 20 67 72 65 70 73 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 66 69 6c 65 ion,.which.greps.major-mode.file
73a60 73 20 77 69 74 68 69 6e 20 74 68 65 0a 20 20 20 20 20 20 3b 3b 20 70 72 6f 6a 65 63 74 2e 20 42 s.within.the.......;;.project..B
73a80 65 20 63 61 72 65 66 75 6c 20 74 6f 20 73 74 72 69 70 20 70 72 6f 70 65 72 74 69 65 73 20 62 65 e.careful.to.strip.properties.be
73aa0 63 61 75 73 65 20 69 74 20 69 73 20 67 69 76 65 6e 0a 20 20 20 20 20 20 3b 3b 20 74 6f 20 67 72 cause.it.is.given.......;;.to.gr
73ac0 65 70 2e 20 41 6c 73 6f 20 62 65 20 63 61 72 65 66 75 6c 20 77 69 74 68 20 6d 61 6a 6f 72 2d 6d ep..Also.be.careful.with.major-m
73ae0 6f 64 65 2d 61 6c 69 73 74 20 72 65 67 65 78 70 73 20 61 73 0a 20 20 20 20 20 20 3b 3b 20 74 68 ode-alist.regexps.as.......;;.th
73b00 65 79 27 72 65 20 67 69 76 65 6e 20 74 6f 20 67 72 65 70 2e 0a 20 20 20 20 20 20 28 63 6c 2d 63 ey're.given.to.grep........(cl-c
73b20 61 6c 6c 2d 6e 65 78 74 2d 6d 65 74 68 6f 64 20 62 61 63 6b 65 6e 64 20 28 73 75 62 73 74 72 69 all-next-method.backend.(substri
73b40 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 73 74 72 29 29 29 29 0a 0a 3b 3b 3b 20 4d 6f ng-no-properties.str))))..;;;.Mo
73b60 64 65 20 6c 69 6e 65 20 73 74 61 74 75 73 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 de.line.status..(defvar-local.ra
73b80 63 6b 65 74 2d 2d 78 70 2d 6d 6f 64 65 2d 73 74 61 74 75 73 20 6e 69 6c 29 0a 0a 28 64 65 66 75 cket--xp-mode-status.nil)..(defu
73ba0 6e 20 72 61 63 6b 65 74 2d 2d 78 70 2d 73 65 74 2d 73 74 61 74 75 73 20 28 26 6f 70 74 69 6f 6e n.racket--xp-set-status.(&option
73bc0 61 6c 20 77 68 69 63 68 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 78 70 2d 6d 6f 64 al.which)...(setq.racket--xp-mod
73be0 65 2d 73 74 61 74 75 73 20 77 68 69 63 68 29 0a 20 20 28 66 6f 72 63 65 2d 6d 6f 64 65 2d 6c 69 e-status.which)...(force-mode-li
73c00 6e 65 2d 75 70 64 61 74 65 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 78 70 2d 6d ne-update))..(defun.racket--xp-m
73c20 6f 64 65 2d 6c 69 67 68 74 65 72 20 28 29 0a 20 20 28 6c 65 74 20 28 28 70 72 65 66 69 78 20 22 ode-lighter.()...(let.((prefix."
73c40 52 6b 74 22 29 29 0a 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 0a 20 20 20 20 20 20 20 20 28 Rkt")).....(pcase-let*.........(
73c60 28 73 74 61 74 75 73 20 28 61 6e 64 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6f 70 65 6e 2d 70 (status.(and.(racket--cmd-open-p
73c80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d ).......................racket--
73ca0 78 70 2d 6d 6f 64 65 2d 73 74 61 74 75 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 60 28 2c 73 75 xp-mode-status))..........(`(,su
73cc0 66 66 69 78 20 2c 66 61 63 65 20 2c 68 65 6c 70 2d 65 63 68 6f 29 0a 20 20 20 20 20 20 20 20 20 ffix.,face.,help-echo)..........
73ce0 20 28 63 6c 2d 63 61 73 65 20 73 74 61 74 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6f .(cl-case.status.............((o
73d00 6b 29 20 20 20 20 20 20 20 27 28 22 e2 9c 93 22 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 k).......'("...".nil............
73d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 79 6e 74 61 78 20 4f 4b 22 29 29 0a 20 20 20 ..............."Syntax.OK"))....
73d40 20 20 20 20 20 20 20 20 20 28 28 65 72 72 29 20 20 20 20 20 20 60 28 22 e2 9c 97 22 20 28 66 61 .........((err)......`("...".(fa
73d60 63 65 20 28 3a 69 6e 68 65 72 69 74 20 65 72 72 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ce.(:inherit.error))............
73d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 79 6e 74 61 78 20 65 72 72 6f 72 22 29 29 0a ..............."Syntax.error")).
73da0 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6f 75 74 64 61 74 65 64 29 20 60 28 22 e2 80 a6 22 20 ............((outdated).`("...".
73dc0 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4f nil..........................."O
73de0 75 74 64 61 74 65 64 3a 20 57 61 69 74 69 6e 67 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 78 70 2d utdated:.Waiting.for.`racket-xp-
73e00 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 27 20 6f 72 20 6d after-change-refresh-delay'.or.m
73e20 61 6e 75 61 6c 20 60 72 61 63 6b 65 74 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 27 22 29 29 0a 20 20 anual.`racket-xp-annotate'"))...
73e40 20 20 20 20 20 20 20 20 20 20 28 28 72 75 6e 6e 69 6e 67 29 20 20 27 28 22 ce bb 22 20 6e 69 6c ..........((running)..'("..".nil
73e60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 47 65 74 74 ..........................."Gett
73e80 69 6e 67 20 61 6e 61 6c 79 73 69 73 20 66 72 6f 6d 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 62 61 ing.analysis.from.Racket.Mode.ba
73ea0 63 6b 2d 65 6e 64 20 61 6e 64 20 61 6e 6e 6f 74 61 74 69 6e 67 22 29 29 0a 20 20 20 20 20 20 20 ck-end.and.annotating"))........
73ec0 20 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 20 20 27 28 22 ce bb 22 20 28 66 61 63 65 20 28 3a .....(otherwise..'("..".(face.(:
73ee0 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 68 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 strike-through.t))..............
73f00 20 20 20 20 20 20 20 20 20 20 20 20 20 22 52 61 63 6b 65 74 20 4d 6f 64 65 20 62 61 63 6b 2d 65 ............."Racket.Mode.back-e
73f20 6e 64 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 22 29 29 29 29 29 0a 20 20 20 20 20 20 60 28 22 nd.not.available"))))).......`("
73f40 20 22 20 28 3a 70 72 6f 70 65 72 74 69 7a 65 20 2c 28 63 6f 6e 63 61 74 20 70 72 65 66 69 78 20 .".(:propertize.,(concat.prefix.
73f60 73 75 66 66 69 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 suffix).........................
73f80 20 2c 40 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .,@face.........................
73fa0 20 68 65 6c 70 2d 65 63 68 6f 20 2c 68 65 6c 70 2d 65 63 68 6f 29 29 29 29 29 0a 0a 28 64 65 66 .help-echo.,help-echo)))))..(def
73fc0 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 2d un.racket-xp-imenu-create-index-
73fe0 66 75 6e 63 74 69 6f 6e 20 28 29 0a 20 20 22 41 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 74 68 function.()..."A.function.for.th
74000 65 20 76 61 72 69 61 62 6c 65 20 60 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 2d 66 e.variable.`imenu-create-index-f
74020 75 6e 63 74 69 6f 6e 27 2e 0a 0a 42 75 69 6c 64 73 20 74 68 65 20 69 6e 64 65 78 20 66 72 6f 6d unction'...Builds.the.index.from
74040 20 73 79 6e 63 68 65 63 6b 3a 61 64 64 2d 64 65 66 69 6e 69 74 69 6f 6e 2d 74 61 72 67 65 74 20 .syncheck:add-definition-target.
74060 61 6e 6e 6f 74 61 74 69 6f 6e 73 2c 0a 77 68 69 63 68 20 73 65 65 6d 20 74 6f 20 63 6f 72 72 65 annotations,.which.seem.to.corre
74080 73 70 6f 6e 64 20 74 6f 20 6d 6f 64 75 6c 65 20 62 69 6e 64 69 6e 67 73 20 2d 2d 20 62 75 74 20 spond.to.module.bindings.--.but.
740a0 6e 6f 74 20 6c 65 78 69 63 61 6c 0a 62 69 6e 64 69 6e 67 73 2c 20 77 68 69 63 68 20 73 65 65 6d not.lexical.bindings,.which.seem
740c0 73 20 61 62 6f 75 74 20 72 69 67 68 74 20 66 6f 72 20 69 6d 65 6e 75 2e 22 0a 20 20 72 61 63 6b s.about.right.for.imenu."...rack
740e0 65 74 2d 2d 78 70 2d 69 6d 65 6e 75 2d 69 6e 64 65 78 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 et--xp-imenu-index)..(provide.'r
74100 61 63 6b 65 74 2d 78 70 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 78 70 2e 65 6c 20 65 6e 64 73 20 acket-xp)..;;.racket-xp.el.ends.
74120 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 here............................
74140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
741a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
741c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
741e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74200 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
74220 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-mode.el..................
74240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
74280 30 30 33 32 32 31 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 33 36 32 00 20 30 00 00 00 0032211.00000000000.016362..0...
742a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
742c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
742e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
74320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
74340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
743a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
743c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
743e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74400 3b 3b 3b 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 65 6c 20 2d 2d 2d 20 52 61 63 6b 65 74 20 65 64 ;;;.racket-mode.el.---.Racket.ed
74420 69 74 69 6e 67 2c 20 52 45 50 4c 2c 20 61 6e 64 20 6d 6f 72 65 20 20 2d 2a 2d 20 6c 65 78 69 63 iting,.REPL,.and.more..-*-.lexic
74440 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 al-binding:.t;.-*-..;;.Copyright
74460 20 28 63 29 20 32 30 31 33 2d 32 30 32 34 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f .(c).2013-2024.by.Greg.Hendersho
74480 74 74 2e 0a 0a 3b 3b 20 50 61 63 6b 61 67 65 3a 20 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 3b 3b 20 tt...;;.Package:.racket-mode.;;.
744a0 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 35 2e 31 22 Package-Requires:.((emacs."25.1"
744c0 29 29 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 20 3c )).;;.Author:.Greg.Hendershott.<
744e0 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 61 75 74 68 6f 72 40 67 72 65 67 68 65 6e 64 65 72 73 68 6f racket-mode-author@greghendersho
74500 74 74 2e 63 6f 6d 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e 65 72 3a 20 47 72 65 67 20 48 65 6e 64 tt.com>.;;.Maintainer:.Greg.Hend
74520 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 72 61 63 6b ershott.;;.URL:.https://www.rack
74540 65 74 2d 6d 6f 64 65 2e 63 6f 6d 2f 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 31 0a 0a 3b 3b 20 53 et-mode.com/.;;.Version:.1..;;.S
74560 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d PDX-License-Identifier:.GPL-3.0-
74580 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 47 6f or-later..;;;.Commentary:..;;.Go
745a0 61 6c 73 3a 0a 3b 3b 20 2d 20 46 6f 63 75 73 20 6f 6e 20 52 61 63 6b 65 74 20 6c 61 6e 67 2e 0a als:.;;.-.Focus.on.Racket.lang..
745c0 3b 3b 20 2d 20 46 6f 6c 6c 6f 77 20 44 72 52 61 63 6b 65 74 20 63 6f 6e 63 65 70 74 73 20 77 68 ;;.-.Follow.DrRacket.concepts.wh
745e0 65 72 65 20 61 70 70 6c 69 63 61 62 6c 65 2e 0a 3b 3b 20 2d 20 54 68 6f 72 6f 75 67 68 20 66 6f ere.applicable..;;.-.Thorough.fo
74600 6e 74 2d 6c 6f 63 6b 20 61 6e 64 20 69 6e 64 65 6e 74 2e 0a 3b 3b 20 2d 20 43 6f 6d 70 61 74 69 nt-lock.and.indent..;;.-.Compati
74620 62 6c 65 20 77 69 74 68 20 45 6d 61 63 73 20 32 35 2e 31 2b 20 61 6e 64 20 52 61 63 6b 65 74 20 ble.with.Emacs.25.1+.and.Racket.
74640 36 2e 31 32 2b 2e 0a 3b 3b 0a 3b 3b 20 44 65 74 61 69 6c 73 3a 20 68 74 74 70 73 3a 2f 2f 67 69 6.12+..;;.;;.Details:.https://gi
74660 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d thub.com/greghendershott/racket-
74680 6d 6f 64 65 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 mode..;;;.Code:..(require.'racke
746a0 74 2d 64 6f 63 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 65 64 69 74 29 0a 28 72 t-doc).(require.'racket-edit).(r
746c0 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 78 70 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 equire.'racket-xp).(require.'rac
746e0 6b 65 74 2d 63 75 73 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 73 6d 61 ket-custom).(require.'racket-sma
74700 72 74 2d 6f 70 65 6e 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 69 6d 65 6e 75 29 rt-open).(require.'racket-imenu)
74720 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 29 0a 28 72 65 71 75 .(require.'racket-profile).(requ
74740 69 72 65 20 27 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 ire.'racket-logger).(require.'ra
74760 63 6b 65 74 2d 73 68 65 6c 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 73 74 65 cket-shell).(require.'racket-ste
74780 70 70 65 72 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 28 72 65 pper).(require.'racket-repl).(re
747a0 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 0a quire.'racket-repl-buffer-name).
747c0 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 6f 6c 6c 65 63 74 69 6f 6e 29 0a 28 72 65 (require.'racket-collection).(re
747e0 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 6c 69 73 70 2d 6d 6f 64 65 29 0a 28 72 65 71 75 69 72 quire.'racket-lisp-mode).(requir
74800 65 20 27 72 61 63 6b 65 74 2d 62 75 67 2d 72 65 70 6f 72 74 29 0a 28 72 65 71 75 69 72 65 20 27 e.'racket-bug-report).(require.'
74820 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 28 72 65 71 75 69 72 65 20 27 65 61 73 79 6d 65 6e 75 29 racket-util).(require.'easymenu)
74840 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 72 61 63 ..(defvar.racket-mode-map...(rac
74860 6b 65 74 2d 2d 65 61 73 79 2d 6b 65 79 6d 61 70 2d 64 65 66 69 6e 65 0a 20 20 20 27 28 28 28 22 ket--easy-keymap-define....'((("
74880 43 2d 63 20 43 2d 63 22 0a 20 20 20 20 20 20 20 22 43 2d 63 20 43 2d 6b 22 29 20 20 20 72 61 63 C-c.C-c"........"C-c.C-k")...rac
748a0 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 20 28 22 ket-run-module-at-point)......("
748c0 43 2d 63 20 43 2d 7a 22 20 20 20 20 20 72 61 63 6b 65 74 2d 65 64 69 74 2d 73 77 69 74 63 68 2d C-c.C-z".....racket-edit-switch-
748e0 74 6f 2d 72 65 70 6c 29 0a 20 20 20 20 20 28 22 3c 66 35 3e 22 20 20 20 20 20 20 20 20 72 61 63 to-repl)......("<f5>"........rac
74900 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 29 0a 20 20 20 20 ket-run-and-switch-to-repl).....
74920 20 28 22 4d 2d 43 2d 3c 66 35 3e 22 20 20 20 20 72 61 63 6b 65 74 2d 72 61 63 6b 65 74 29 0a 20 .("M-C-<f5>"....racket-racket)..
74940 20 20 20 20 28 22 43 2d 3c 66 35 3e 22 20 20 20 20 20 20 72 61 63 6b 65 74 2d 74 65 73 74 29 0a ....("C-<f5>"......racket-test).
74960 20 20 20 20 20 28 22 43 2d 63 20 43 2d 74 22 20 20 20 20 20 72 61 63 6b 65 74 2d 74 65 73 74 29 .....("C-c.C-t".....racket-test)
74980 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 6c 22 20 20 20 20 20 72 61 63 6b 65 74 2d 6c 6f 67 67 ......("C-c.C-l".....racket-logg
749a0 65 72 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 6f 22 20 20 20 20 20 72 61 63 6b 65 74 2d 70 er)......("C-c.C-o".....racket-p
749c0 72 6f 66 69 6c 65 29 0a 20 20 20 20 20 28 22 4d 2d 43 2d 78 22 20 20 20 20 20 20 20 72 61 63 6b rofile)......("M-C-x".......rack
749e0 65 74 2d 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 29 0a 20 20 20 20 20 28 22 43 2d 78 20 43 et-send-definition)......("C-x.C
74a00 2d 65 22 20 20 20 20 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 74 2d 73 65 78 70 29 0a 20 -e".....racket-send-last-sexp)..
74a20 20 20 20 20 28 22 43 2d 63 20 43 2d 72 22 20 20 20 20 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 72 ....("C-c.C-r".....racket-send-r
74a40 65 67 69 6f 6e 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 65 20 66 22 20 20 20 72 61 63 6b 65 egion)......("C-c.C-e.f"...racke
74a60 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 65 20 78 22 t-expand-file)......("C-c.C-e.x"
74a80 20 20 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 29 0a 20 20 20 ...racket-expand-definition)....
74aa0 20 20 28 22 43 2d 63 20 43 2d 65 20 65 22 20 20 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c ..("C-c.C-e.e"...racket-expand-l
74ac0 61 73 74 2d 73 65 78 70 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 65 20 72 22 20 20 20 72 61 ast-sexp)......("C-c.C-e.r"...ra
74ae0 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 cket-expand-region)......("C-c.C
74b00 2d 78 20 43 2d 66 22 20 72 61 63 6b 65 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 -x.C-f".racket-open-require-path
74b20 29 0a 20 20 20 20 20 28 22 54 41 42 22 20 20 20 20 20 20 20 20 20 69 6e 64 65 6e 74 2d 66 6f 72 )......("TAB".........indent-for
74b40 2d 74 61 62 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 20 28 22 4d 2d 43 2d 75 22 20 20 20 20 20 -tab-command)......("M-C-u".....
74b60 20 20 72 61 63 6b 65 74 2d 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 29 0a 20 20 20 20 20 ..racket-backward-up-list)......
74b80 28 22 43 2d 63 20 43 2d 70 22 20 20 20 20 20 72 61 63 6b 65 74 2d 63 79 63 6c 65 2d 70 61 72 65 ("C-c.C-p".....racket-cycle-pare
74ba0 6e 2d 73 68 61 70 65 73 29 0a 20 20 20 20 20 28 22 4d 2d 43 2d 79 22 20 20 20 20 20 20 20 72 61 n-shapes)......("M-C-y".......ra
74bc0 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 cket-insert-lambda)......("C-c.C
74be0 2d 64 22 20 20 20 20 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 -d".....racket-documentation-sea
74c00 72 63 68 29 0a 20 20 20 20 20 28 28 22 43 2d 63 20 43 2d 73 22 0a 20 20 20 20 20 20 20 22 43 2d rch)......(("C-c.C-s"........"C-
74c20 63 20 43 2d 2e 22 29 20 20 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 c.C-.")...racket-describe-search
74c40 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 66 22 20 20 20 20 20 72 61 63 6b 65 74 2d 66 6f 6c )......("C-c.C-f".....racket-fol
74c60 64 2d 61 6c 6c 2d 74 65 73 74 73 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 75 22 20 20 20 20 d-all-tests)......("C-c.C-u"....
74c80 20 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 29 0a 20 20 20 20 20 28 .racket-unfold-all-tests)......(
74ca0 28 22 29 22 20 22 5d 22 20 22 7d 22 29 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 (")"."]"."}").racket-insert-clos
74cc0 69 6e 67 29 29 29 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 52 61 63 6b 65 74 20 6d 6f 64 65 ing)))..."Keymap.for.Racket.mode
74ce0 2e 22 29 0a 0a 28 65 61 73 79 2d 6d 65 6e 75 2d 64 65 66 69 6e 65 20 72 61 63 6b 65 74 2d 6d 6f .")..(easy-menu-define.racket-mo
74d00 64 65 2d 6d 65 6e 75 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 22 4d 65 6e 75 20 de-menu.racket-mode-map..."Menu.
74d20 66 6f 72 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 2e 22 0a 20 20 27 28 22 52 61 63 6b 65 74 22 for.`racket-mode'."...'("Racket"
74d40 0a 20 20 20 20 28 22 52 75 6e 22 0a 20 20 20 20 20 5b 22 69 6e 20 52 45 50 4c 22 20 72 61 63 6b .....("Run"......["in.REPL".rack
74d60 65 74 2d 72 75 6e 5d 0a 20 20 20 20 20 5b 22 69 6e 20 52 45 50 4c 20 61 6e 64 20 73 77 69 74 63 et-run]......["in.REPL.and.switc
74d80 68 20 74 6f 20 52 45 50 4c 22 20 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 h.to.REPL".racket-run-and-switch
74da0 2d 74 6f 2d 72 65 70 6c 5d 0a 20 20 20 20 20 5b 22 69 6e 20 2a 73 68 65 6c 6c 2a 20 75 73 69 6e -to-repl]......["in.*shell*.usin
74dc0 67 20 60 72 61 63 6b 65 74 60 22 20 72 61 63 6b 65 74 2d 72 61 63 6b 65 74 5d 29 0a 20 20 20 20 g.`racket`".racket-racket]).....
74de0 28 22 54 65 73 74 73 22 0a 20 20 20 20 20 5b 22 69 6e 20 52 45 50 4c 22 20 72 61 63 6b 65 74 2d ("Tests"......["in.REPL".racket-
74e00 74 65 73 74 5d 0a 20 20 20 20 20 5b 22 69 6e 20 2a 73 68 65 6c 6c 2a 20 75 73 69 6e 67 20 60 72 test]......["in.*shell*.using.`r
74e20 61 63 6f 20 74 65 73 74 60 22 20 72 61 63 6b 65 74 2d 72 61 63 6f 2d 74 65 73 74 5d 0a 20 20 20 aco.test`".racket-raco-test]....
74e40 20 20 22 2d 2d 2d 22 0a 20 20 20 20 20 5b 22 46 6f 6c 64 20 41 6c 6c 22 20 72 61 63 6b 65 74 2d .."---"......["Fold.All".racket-
74e60 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 5d 0a 20 20 20 20 20 5b 22 55 6e 66 6f 6c 64 20 41 6c fold-all-tests]......["Unfold.Al
74e80 6c 22 20 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 5d 29 0a 20 20 20 l".racket-unfold-all-tests])....
74ea0 20 28 22 45 76 61 6c 22 0a 20 20 20 20 20 5b 22 52 65 67 69 6f 6e 22 20 72 61 63 6b 65 74 2d 73 .("Eval"......["Region".racket-s
74ec0 65 6e 64 2d 72 65 67 69 6f 6e 20 3a 61 63 74 69 76 65 20 28 72 65 67 69 6f 6e 2d 61 63 74 69 76 end-region.:active.(region-activ
74ee0 65 2d 70 29 5d 0a 20 20 20 20 20 5b 22 44 65 66 69 6e 69 74 69 6f 6e 22 20 72 61 63 6b 65 74 2d e-p)]......["Definition".racket-
74f00 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 5d 0a 20 20 20 20 20 5b 22 4c 61 73 74 20 53 2d 45 send-definition]......["Last.S-E
74f20 78 70 72 65 73 73 69 6f 6e 22 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 74 2d 73 65 78 70 xpression".racket-send-last-sexp
74f40 5d 29 0a 20 20 20 20 28 22 4d 61 63 72 6f 20 45 78 70 61 6e 64 22 0a 20 20 20 20 20 5b 22 46 69 ]).....("Macro.Expand"......["Fi
74f60 6c 65 22 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 5d 0a 20 20 20 20 20 5b 22 52 le".racket-expand-file]......["R
74f80 65 67 69 6f 6e 22 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 20 20 3a 61 63 egion".racket-expand-region..:ac
74fa0 74 69 76 65 20 28 72 65 67 69 6f 6e 2d 61 63 74 69 76 65 2d 70 29 5d 0a 20 20 20 20 20 5b 22 44 tive.(region-active-p)]......["D
74fc0 65 66 69 6e 69 74 69 6f 6e 22 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 efinition".racket-expand-definit
74fe0 69 6f 6e 5d 0a 20 20 20 20 20 5b 22 4c 61 73 74 20 53 2d 45 78 70 72 65 73 73 69 6f 6e 22 20 72 ion]......["Last.S-Expression".r
75000 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 5d 29 0a 20 20 20 20 5b 22 53 acket-expand-last-sexp]).....["S
75020 77 69 74 63 68 20 74 6f 20 52 45 50 4c 22 20 72 61 63 6b 65 74 2d 72 65 70 6c 5d 0a 20 20 20 20 witch.to.REPL".racket-repl].....
75040 28 22 54 6f 6f 6c 73 22 0a 20 20 20 20 20 5b 22 50 72 6f 66 69 6c 65 22 20 72 61 63 6b 65 74 2d ("Tools"......["Profile".racket-
75060 70 72 6f 66 69 6c 65 5d 0a 20 20 20 20 20 5b 22 45 72 72 6f 72 20 54 72 61 63 65 22 20 72 61 63 profile]......["Error.Trace".rac
75080 6b 65 74 2d 72 75 6e 2d 77 69 74 68 2d 65 72 72 6f 72 74 72 61 63 65 5d 0a 20 20 20 20 20 5b 22 ket-run-with-errortrace]......["
750a0 53 74 65 70 20 44 65 62 75 67 22 20 72 61 63 6b 65 74 2d 72 75 6e 2d 77 69 74 68 2d 64 65 62 75 Step.Debug".racket-run-with-debu
750c0 67 67 69 6e 67 5d 0a 20 20 20 20 20 5b 22 54 6f 67 67 6c 65 20 58 50 20 4d 6f 64 65 22 20 72 61 gging]......["Toggle.XP.Mode".ra
750e0 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 5d 29 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 43 cket-xp-mode])....."---".....["C
75100 6f 6d 6d 65 6e 74 22 20 63 6f 6d 6d 65 6e 74 2d 64 77 69 6d 5d 0a 20 20 20 20 5b 22 49 6e 73 65 omment".comment-dwim].....["Inse
75120 72 74 20 ce bb 22 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 5d 0a 20 20 20 rt...".racket-insert-lambda]....
75140 20 5b 22 49 6e 64 65 6e 74 20 52 65 67 69 6f 6e 22 20 69 6e 64 65 6e 74 2d 72 65 67 69 6f 6e 5d .["Indent.Region".indent-region]
75160 0a 20 20 20 20 5b 22 43 79 63 6c 65 20 50 61 72 65 6e 20 53 68 61 70 65 73 22 20 72 61 63 6b 65 .....["Cycle.Paren.Shapes".racke
75180 74 2d 63 79 63 6c 65 2d 70 61 72 65 6e 2d 73 68 61 70 65 73 5d 0a 20 20 20 20 5b 22 41 6c 69 67 t-cycle-paren-shapes].....["Alig
751a0 6e 22 20 72 61 63 6b 65 74 2d 61 6c 69 67 6e 5d 0a 20 20 20 20 5b 22 55 6e 61 6c 69 67 6e 22 20 n".racket-align].....["Unalign".
751c0 72 61 63 6b 65 74 2d 75 6e 61 6c 69 67 6e 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 racket-unalign]....."---".....["
751e0 56 69 73 69 74 20 4d 6f 64 75 6c 65 22 20 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 Visit.Module".xref-find-definiti
75200 6f 6e 73 5d 0a 20 20 20 20 5b 22 52 65 74 75 72 6e 20 66 72 6f 6d 20 56 69 73 69 74 22 20 78 72 ons].....["Return.from.Visit".xr
75220 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 63 6b 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 ef-pop-marker-stack]....."---"..
75240 20 20 20 5b 22 4f 70 65 6e 20 52 65 71 75 69 72 65 20 50 61 74 68 22 20 72 61 63 6b 65 74 2d 6f ...["Open.Require.Path".racket-o
75260 70 65 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 5d 0a 20 20 20 20 5b 22 46 69 6e 64 20 43 6f 6c pen-require-path].....["Find.Col
75280 6c 65 63 74 69 6f 6e 22 20 72 61 63 6b 65 74 2d 66 69 6e 64 2d 63 6f 6c 6c 65 63 74 69 6f 6e 5d lection".racket-find-collection]
752a0 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 4e 65 78 74 20 45 72 72 6f 72 20 6f 72 20 4c ....."---".....["Next.Error.or.L
752c0 69 6e 6b 22 20 6e 65 78 74 2d 65 72 72 6f 72 5d 0a 20 20 20 20 5b 22 50 72 65 76 69 6f 75 73 20 ink".next-error].....["Previous.
752e0 45 72 72 6f 72 22 20 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 5d 0a 20 20 20 20 22 2d 2d 2d 22 Error".previous-error]....."---"
75300 0a 20 20 20 20 5b 22 54 69 64 79 20 52 65 71 75 69 72 65 73 22 20 72 61 63 6b 65 74 2d 74 69 64 .....["Tidy.Requires".racket-tid
75320 79 2d 72 65 71 75 69 72 65 73 5d 0a 20 20 20 20 5b 22 54 72 69 6d 20 52 65 71 75 69 72 65 73 22 y-requires].....["Trim.Requires"
75340 20 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 5d 0a 20 20 20 20 5b 22 55 73 65 .racket-trim-requires].....["Use
75360 20 23 6c 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 22 20 72 61 63 6b 65 74 2d 62 61 73 65 2d .#lang.racket/base".racket-base-
75380 72 65 71 75 69 72 65 73 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 53 74 61 72 74 20 requires]....."---".....["Start.
753a0 46 61 73 74 65 72 22 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 66 61 73 74 65 72 Faster".racket-mode-start-faster
753c0 5d 0a 20 20 20 20 5b 22 43 75 73 74 6f 6d 69 7a 65 2e 2e 2e 22 20 63 75 73 74 6f 6d 69 7a 65 2d ].....["Customize...".customize-
753e0 6d 6f 64 65 5d 29 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 72 61 63 6b 65 mode]))..(declare-function.racke
75400 74 2d 63 61 6c 6c 2d 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 t-call-racket-repl-buffer-name-f
75420 75 6e 63 74 69 6f 6e 20 22 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 unction."racket-repl-buffer-name
75440 22 20 28 29 29 0a 28 61 75 74 6f 6c 6f 61 64 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 63 ".()).(autoload........'racket-c
75460 61 6c 6c 2d 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 all-racket-repl-buffer-name-func
75480 74 69 6f 6e 20 22 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 22 29 0a tion."racket-repl-buffer-name").
754a0 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d .;;;###autoload.(define-derived-
754c0 6d 6f 64 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 20 70 72 6f 67 2d 6d 6f 64 65 0a 20 20 22 52 61 mode.racket-mode.prog-mode..."Ra
754e0 63 6b 65 74 22 0a 20 20 22 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 65 64 69 74 69 6e 67 20 cket"..."Major.mode.for.editing.
75500 52 61 63 6b 65 74 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2e 0a 0a 5c 5c 7b 72 61 63 6b 65 74 2d Racket.source.files...\\{racket-
75520 6d 6f 64 65 2d 6d 61 70 7d 22 0a 20 20 3b 3b 3b 20 53 79 6e 74 61 78 0a 20 20 28 73 65 74 2d 73 mode-map}"...;;;.Syntax...(set-s
75540 79 6e 74 61 78 2d 74 61 62 6c 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 74 yntax-table.racket-mode-syntax-t
75560 61 62 6c 65 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 6d 75 6c 74 69 62 79 74 65 2d 73 79 able)...(setq-local.multibyte-sy
75580 6e 74 61 78 2d 61 73 2d 73 79 6d 62 6f 6c 20 74 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 ntax-as-symbol.t)...(setq-local.
755a0 70 61 72 73 65 2d 73 65 78 70 2d 69 67 6e 6f 72 65 2d 63 6f 6d 6d 65 6e 74 73 20 74 29 0a 20 20 parse-sexp-ignore-comments.t)...
755c0 28 73 65 74 71 2d 6c 6f 63 61 6c 20 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 69 7a 65 2d 66 75 (setq-local.syntax-propertize-fu
755e0 6e 63 74 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 69 7a nction.#'racket-syntax-propertiz
75600 65 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 28 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 69 7a 65 e-function)...(syntax-propertize
75620 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 20 3b 66 6f 72 20 65 2e 67 2e 20 70 61 72 65 64 69 74 3a .(point-max)).;for.e.g..paredit:
75640 20 73 65 65 20 69 73 73 75 65 20 23 32 32 32 0a 20 20 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .see.issue.#222...;;.-----------
75660 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
75680 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 3b 3b 20 52 45 50 4c ----------------------...;;.REPL
756a0 0a 20 20 28 72 61 63 6b 65 74 2d 63 61 6c 6c 2d 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 ...(racket-call-racket-repl-buff
756c0 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6b er-name-function)...(add-hook.'k
756e0 69 6c 6c 2d 62 75 66 66 65 72 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 ill-buffer-hook.............#'ra
75700 63 6b 65 74 2d 6d 6f 64 65 2d 6d 61 79 62 65 2d 6f 66 66 65 72 2d 74 6f 2d 6b 69 6c 6c 2d 72 65 cket-mode-maybe-offer-to-kill-re
75720 70 6c 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 74 29 0a 20 20 3b pl-buffer.............nil.t)...;
75740 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ;.------------------------------
75760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
75780 2d 2d 2d 0a 20 20 3b 3b 20 46 6f 6e 74 2d 6c 6f 63 6b 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c ---...;;.Font-lock...(setq-local
757a0 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 65 66 61 75 6c 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 .font-lock-defaults.............
757c0 20 20 28 6c 69 73 74 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 ..(list.racket-font-lock-keyword
757e0 73 20 3b 6b 65 79 77 6f 72 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.;keywords.....................
75800 6e 69 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 6b 65 79 77 6f nil.......................;keywo
75820 72 64 73 2d 6f 6e 6c 79 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 rds-only?.....................ni
75840 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 63 61 73 65 2d 66 6f l.......................;case-fo
75860 6c 64 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 20 20 20 20 ld?.....................nil.....
75880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 73 79 6e 74 61 78 2d 61 6c 69 73 74 0a ..................;syntax-alist.
758a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 20 20 20 20 20 20 20 20 ....................nil.........
758c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 73 79 6e 74 61 78 2d 62 65 67 69 6e 0a 20 20 20 20 ..............;syntax-begin.....
758e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 64 64 69 74 69 6f 6e 61 6c 20 76 61 ................;;.Additional.va
75900 72 69 61 62 6c 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f riables:.....................(co
75920 6e 73 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 61 72 6b 2d 62 6c 6f 63 6b 2d 66 75 6e 63 74 69 6f ns.'font-lock-mark-block-functio
75940 6e 20 23 27 6d 61 72 6b 2d 64 65 66 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.#'mark-defun).................
75960 20 20 20 20 28 63 6f 6e 73 20 27 70 61 72 73 65 2d 73 65 78 70 2d 6c 6f 6f 6b 75 70 2d 70 72 6f ....(cons.'parse-sexp-lookup-pro
75980 70 65 72 74 69 65 73 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 perties.t).....................(
759a0 63 6f 6e 73 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 75 6c 74 69 6c 69 6e 65 20 74 29 0a 20 20 20 cons.'font-lock-multiline.t)....
759c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 66 6f 6e 74 2d 6c 6f 63 .................(cons.'font-loc
759e0 6b 2d 73 79 6e 74 61 63 74 69 63 2d 66 61 63 65 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 k-syntactic-face-function.......
75a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 66 6f 6e ....................#'racket-fon
75a20 74 2d 6c 6f 63 6b 2d 73 79 6e 74 61 63 74 69 63 2d 66 61 63 65 2d 66 75 6e 63 74 69 6f 6e 29 0a t-lock-syntactic-face-function).
75a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 66 6f 6e 74 2d ....................(list.'font-
75a60 6c 6f 63 6b 2d 65 78 74 65 6e 64 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 lock-extend-region-functions....
75a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 66 6f 6e 74 2d 6c 6f .......................#'font-lo
75aa0 63 6b 2d 65 78 74 65 6e 64 2d 72 65 67 69 6f 6e 2d 77 68 6f 6c 65 6c 69 6e 65 73 0a 20 20 20 20 ck-extend-region-wholelines.....
75ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 66 6f 6e 74 2d 6c 6f 63 ......................#'font-loc
75ae0 6b 2d 65 78 74 65 6e 64 2d 72 65 67 69 6f 6e 2d 6d 75 6c 74 69 6c 69 6e 65 29 29 29 0a 20 20 3b k-extend-region-multiline)))...;
75b00 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ;.------------------------------
75b20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
75b40 2d 2d 2d 0a 20 20 3b 3b 20 43 6f 6d 6d 65 6e 74 73 2e 20 4d 6f 73 74 6c 79 20 62 6f 72 72 6f 77 ---...;;.Comments..Mostly.borrow
75b60 65 64 20 66 72 6f 6d 20 6c 69 73 70 2d 6d 6f 64 65 20 61 6e 64 2f 6f 72 20 73 63 68 65 6d 65 2d ed.from.lisp-mode.and/or.scheme-
75b80 6d 6f 64 65 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 63 6f 6d 6d 65 6e 74 2d 73 74 61 72 74 mode...(setq-local.comment-start
75ba0 20 22 3b 22 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 63 6f 6d 6d 65 6e 74 2d 61 64 64 20 .";")...(setq-local.comment-add.
75bc0 31 29 20 20 20 20 20 20 20 20 3b 64 65 66 61 75 6c 74 20 74 6f 20 60 3b 3b 27 20 69 6e 20 63 6f 1)........;default.to.`;;'.in.co
75be0 6d 6d 65 6e 74 2d 72 65 67 69 6f 6e 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 63 6f 6d 6d 65 mment-region...(setq-local.comme
75c00 6e 74 2d 73 74 61 72 74 2d 73 6b 69 70 20 22 3b 2b 20 2a 22 29 0a 20 20 28 73 65 74 71 2d 6c 6f nt-start-skip.";+.*")...(setq-lo
75c20 63 61 6c 20 63 6f 6d 6d 65 6e 74 2d 63 6f 6c 75 6d 6e 20 34 30 29 0a 20 20 28 73 65 74 71 2d 6c cal.comment-column.40)...(setq-l
75c40 6f 63 61 6c 20 63 6f 6d 6d 65 6e 74 2d 6d 75 6c 74 69 2d 6c 69 6e 65 20 74 29 20 3b 66 6f 72 20 ocal.comment-multi-line.t).;for.
75c60 61 75 74 6f 2d 66 69 6c 6c 2d 6d 6f 64 65 20 61 6e 64 20 23 7c 7c 23 20 63 6f 6d 6d 65 6e 74 73 auto-fill-mode.and.#||#.comments
75c80 0a 20 20 3b 3b 20 46 6f 6e 74 20 6c 6f 63 6b 20 6d 6f 64 65 20 75 73 65 73 20 74 68 69 73 20 6f ...;;.Font.lock.mode.uses.this.o
75ca0 6e 6c 79 20 77 68 65 6e 20 69 74 20 6b 6e 6f 77 73 20 61 20 63 6f 6d 6d 65 6e 74 20 69 73 20 73 nly.when.it.knows.a.comment.is.s
75cc0 74 61 72 74 69 6e 67 3a 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 66 6f 6e 74 2d 6c 6f 63 6b tarting:...(setq-local.font-lock
75ce0 2d 63 6f 6d 6d 65 6e 74 2d 73 74 61 72 74 2d 73 6b 69 70 20 22 3b 2b 20 2a 22 29 0a 20 20 3b 3b -comment-start-skip.";+.*")...;;
75d00 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .-------------------------------
75d20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
75d40 2d 2d 0a 20 20 3b 3b 20 49 6e 64 65 6e 74 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 69 6e 64 --...;;.Indent...(setq-local.ind
75d60 65 6e 74 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 69 6e 64 65 6e ent-line-function.#'racket-inden
75d80 74 2d 6c 69 6e 65 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 69 6e 64 65 6e 74 2d 74 61 62 t-line)...(setq-local.indent-tab
75da0 73 2d 6d 6f 64 65 20 6e 69 6c 29 0a 20 20 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d s-mode.nil)...;;.---------------
75dc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
75de0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 3b 3b 20 43 6f 64 65 20 66 6f 6c ------------------...;;.Code.fol
75e00 64 69 6e 67 0a 20 20 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 68 73 2d 73 70 65 63 69 61 6c 2d ding...(add-to-list.'hs-special-
75e20 6d 6f 64 65 73 2d 61 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 72 61 63 modes-alist................'(rac
75e40 6b 65 74 2d 6d 6f 64 65 20 22 28 22 20 22 29 22 20 22 3b 22 20 6e 69 6c 20 6e 69 6c 29 29 0a 20 ket-mode."(".")".";".nil.nil))..
75e60 20 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .;;.----------------------------
75e80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
75ea0 2d 2d 2d 2d 2d 0a 20 20 3b 3b 3b 20 4d 69 73 63 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 6c -----...;;;.Misc...(setq-local.l
75ec0 6f 63 61 6c 2d 61 62 62 72 65 76 2d 74 61 62 6c 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 61 62 ocal-abbrev-table.racket-mode-ab
75ee0 62 72 65 76 2d 74 61 62 6c 65 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 70 61 72 61 67 72 brev-table)...(setq-local.paragr
75f00 61 70 68 2d 73 74 61 72 74 20 28 63 6f 6e 63 61 74 20 22 24 5c 5c 7c 22 20 70 61 67 65 2d 64 65 aph-start.(concat."$\\|".page-de
75f20 6c 69 6d 69 74 65 72 29 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 70 61 72 61 67 72 61 70 limiter))...(setq-local.paragrap
75f40 68 2d 73 65 70 61 72 61 74 65 20 70 61 72 61 67 72 61 70 68 2d 73 74 61 72 74 29 0a 20 20 28 73 h-separate.paragraph-start)...(s
75f60 65 74 71 2d 6c 6f 63 61 6c 20 70 61 72 61 67 72 61 70 68 2d 69 67 6e 6f 72 65 2d 66 69 6c 6c 2d etq-local.paragraph-ignore-fill-
75f80 70 72 65 66 69 78 20 74 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 66 69 6c 6c 2d 70 61 72 prefix.t)...(setq-local.fill-par
75fa0 61 67 72 61 70 68 2d 66 75 6e 63 74 69 6f 6e 20 23 27 6c 69 73 70 2d 66 69 6c 6c 2d 70 61 72 61 agraph-function.#'lisp-fill-para
75fc0 67 72 61 70 68 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 61 64 61 70 74 69 76 65 2d 66 69 graph)...(setq-local.adaptive-fi
75fe0 6c 6c 2d 6d 6f 64 65 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 6f 75 74 6c 69 ll-mode.nil)...(setq-local.outli
76000 6e 65 2d 72 65 67 65 78 70 20 22 3b 3b 3b 20 5c 5c 7c 28 2e 2e 2e 2e 22 29 0a 20 20 28 73 65 74 ne-regexp.";;;.\\|(....")...(set
76020 71 2d 6c 6f 63 61 6c 20 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 64 65 66 75 6e 2d 66 75 6e 63 74 q-local.beginning-of-defun-funct
76040 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 64 65 66 75 6e ion.#'racket--beginning-of-defun
76060 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 69 6d 65 6e 75 2d 63 -function)...(setq-local.imenu-c
76080 72 65 61 74 65 2d 69 6e 64 65 78 2d 66 75 6e 63 74 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 69 6d reate-index-function.#'racket-im
760a0 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 78 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 28 73 65 enu-create-index-function)...(se
760c0 74 71 2d 6c 6f 63 61 6c 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e tq-local.completion-at-point-fun
760e0 63 74 69 6f 6e 73 20 28 6c 69 73 74 20 23 27 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 2d 61 ctions.(list.#'racket-complete-a
76100 74 2d 70 6f 69 6e 74 29 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 65 6c 64 6f 63 2d 64 6f t-point))...(setq-local.eldoc-do
76120 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 29 0a 20 20 28 61 64 64 cumentation-function.nil)...(add
76140 2d 68 6f 6f 6b 20 27 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 -hook.'xref-backend-functions...
76160 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 78 72 65 66 2d 62 61 63 ..........#'racket-mode-xref-bac
76180 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 74 29 kend-function.............nil.t)
761a0 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 61 74 2d 70 6f ...(setq.racket-submodules-at-po
761c0 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 int-function.#'racket-submodules
761e0 2d 61 74 2d 70 6f 69 6e 74 2d 74 65 78 74 2d 73 65 78 70 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 -at-point-text-sexp))..;;;###aut
76200 6f 6c 6f 61 64 0a 28 70 72 6f 67 6e 0a 20 20 3b 3b 20 55 73 65 20 73 69 6d 70 6c 65 20 72 65 67 oload.(progn...;;.Use.simple.reg
76220 65 78 70 73 20 66 6f 72 20 61 75 74 6f 2d 6d 6f 64 65 2d 61 6c 69 73 74 20 61 73 20 74 68 65 79 exps.for.auto-mode-alist.as.they
76240 20 6d 61 79 20 62 65 20 67 69 76 65 6e 20 74 6f 0a 20 20 3b 3b 20 67 72 65 70 20 28 65 2e 67 2e .may.be.given.to...;;.grep.(e.g.
76260 20 62 79 20 64 65 66 61 75 6c 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 60 78 .by.default.implementation.of.`x
76280 72 65 66 2d 66 69 6e 64 2d 72 65 66 65 72 65 6e 63 65 73 27 29 2e 0a 20 20 28 61 64 64 2d 74 6f ref-find-references')....(add-to
762a0 2d 6c 69 73 74 20 27 61 75 74 6f 2d 6d 6f 64 65 2d 61 6c 69 73 74 20 27 28 22 5c 5c 2e 72 6b 74 -list.'auto-mode-alist.'("\\.rkt
762c0 5c 5c 27 22 20 2e 20 72 61 63 6b 65 74 2d 6d 6f 64 65 29 29 0a 20 20 28 61 64 64 2d 74 6f 2d 6c \\'"...racket-mode))...(add-to-l
762e0 69 73 74 20 27 61 75 74 6f 2d 6d 6f 64 65 2d 61 6c 69 73 74 20 27 28 22 5c 5c 2e 72 6b 74 64 5c ist.'auto-mode-alist.'("\\.rktd\
76300 5c 27 22 20 2e 20 72 61 63 6b 65 74 2d 6d 6f 64 65 29 29 0a 20 20 28 61 64 64 2d 74 6f 2d 6c 69 \'"...racket-mode))...(add-to-li
76320 73 74 20 27 61 75 74 6f 2d 6d 6f 64 65 2d 61 6c 69 73 74 20 27 28 22 5c 5c 2e 72 6b 74 6c 5c 5c st.'auto-mode-alist.'("\\.rktl\\
76340 27 22 20 2e 20 72 61 63 6b 65 74 2d 6d 6f 64 65 29 29 0a 20 20 3b 3b 20 22 46 61 6e 63 69 65 72 '"...racket-mode))...;;."Fancier
76360 22 20 72 65 67 65 78 70 20 4f 4b 20 68 65 72 65 3a 0a 20 20 28 6d 6f 64 69 66 79 2d 63 6f 64 69 ".regexp.OK.here:...(modify-codi
76380 6e 67 2d 73 79 73 74 65 6d 2d 61 6c 69 73 74 20 27 66 69 6c 65 20 22 5c 5c 2e 72 6b 74 5b 64 6c ng-system-alist.'file."\\.rkt[dl
763a0 5d 3f 5c 5c 27 22 20 20 27 75 74 66 2d 38 29 0a 20 20 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 ]?\\'"..'utf-8)...(add-to-list.'
763c0 69 6e 74 65 72 70 72 65 74 65 72 2d 6d 6f 64 65 2d 61 6c 69 73 74 20 27 28 22 72 61 63 6b 65 74 interpreter-mode-alist.'("racket
763e0 22 20 2e 20 72 61 63 6b 65 74 2d 6d 6f 64 65 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f "...racket-mode)))..;;;###autolo
76400 61 64 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 66 61 73 74 ad.(defun.racket-mode-start-fast
76420 65 72 20 28 29 0a 20 20 22 43 6f 6d 70 69 6c 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 27 73 20 2e er.()..."Compile.Racket.Mode's..
76440 72 6b 74 20 66 69 6c 65 73 20 66 6f 72 20 66 61 73 74 65 72 20 73 74 61 72 74 75 70 2e 0a 0a 52 rkt.files.for.faster.startup...R
76460 61 63 6b 65 74 20 4d 6f 64 65 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73 20 61 6e 20 acket.Mode.is.implemented.as.an.
76480 45 6d 61 63 73 20 4c 69 73 70 20 5c 22 66 72 6f 6e 74 20 65 6e 64 5c 22 20 74 68 61 74 0a 74 61 Emacs.Lisp.\"front.end\".that.ta
764a0 6c 6b 73 20 74 6f 20 61 20 52 61 63 6b 65 74 20 70 72 6f 63 65 73 73 20 5c 22 62 61 63 6b 20 65 lks.to.a.Racket.process.\"back.e
764c0 6e 64 5c 22 2e 20 42 65 63 61 75 73 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 69 73 0a 64 65 6c nd\"..Because.Racket.Mode.is.del
764e0 69 76 65 72 65 64 20 61 73 20 61 6e 20 45 6d 61 63 73 20 70 61 63 6b 61 67 65 20 69 6e 73 74 65 ivered.as.an.Emacs.package.inste
76500 61 64 20 6f 66 20 61 20 52 61 63 6b 65 74 20 70 61 63 6b 61 67 65 2c 0a 69 6e 73 74 61 6c 6c 69 ad.of.a.Racket.package,.installi
76520 6e 67 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 64 6f 20 74 68 65 20 60 72 61 63 6f 20 73 65 74 75 ng.it.does.not.do.the.`raco.setu
76540 70 60 20 74 68 61 74 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 64 6f 6e 65 0a 66 6f 72 20 52 61 63 p`.that.is.normally.done.for.Rac
76560 6b 65 74 20 70 61 63 6b 61 67 65 73 2e 0a 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c ket.packages...This.command.will
76580 20 64 6f 20 61 20 60 72 61 63 6f 20 6d 61 6b 65 60 20 6f 66 20 52 61 63 6b 65 74 20 4d 6f 64 65 .do.a.`raco.make`.of.Racket.Mode
765a0 27 73 20 2e 72 6b 74 20 66 69 6c 65 73 2c 0a 63 72 65 61 74 69 6e 67 20 62 79 74 65 63 6f 64 65 's..rkt.files,.creating.bytecode
765c0 20 66 69 6c 65 73 20 69 6e 20 60 63 6f 6d 70 69 6c 65 64 2f 60 20 73 75 62 64 69 72 65 63 74 6f .files.in.`compiled/`.subdirecto
765e0 72 69 65 73 2e 20 41 73 20 61 0a 72 65 73 75 6c 74 2c 20 77 68 65 6e 20 61 20 63 6f 6d 6d 61 6e ries..As.a.result,.when.a.comman
76600 64 20 6d 75 73 74 20 73 74 61 72 74 20 74 68 65 20 52 61 63 6b 65 74 20 70 72 6f 63 65 73 73 2c d.must.start.the.Racket.process,
76620 20 69 74 20 77 69 6c 6c 0a 73 74 61 72 74 20 73 6f 6d 65 77 68 61 74 20 66 61 73 74 65 72 2e 0a .it.will.start.somewhat.faster..
76640 0a 4f 6e 20 6d 61 6e 79 20 63 6f 6d 70 75 74 65 72 73 2c 20 74 68 65 20 72 65 73 75 6c 74 69 6e .On.many.computers,.the.resultin
76660 67 20 73 70 65 65 64 20 75 70 20 69 73 20 6e 65 67 6c 69 67 69 62 6c 65 2c 20 61 6e 64 0a 6d 69 g.speed.up.is.negligible,.and.mi
76680 67 68 74 20 6e 6f 74 20 62 65 20 77 6f 72 74 68 20 74 68 65 20 63 6f 6d 70 6c 69 63 61 74 69 6f ght.not.be.worth.the.complicatio
766a0 6e 2e 0a 0a 49 66 20 79 6f 75 20 72 75 6e 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 2c 20 65 76 65 n...If.you.run.this.command,.eve
766c0 72 2c 20 79 6f 75 20 77 69 6c 6c 20 6e 65 65 64 20 74 6f 20 72 75 6e 20 69 74 20 61 67 61 69 6e r,.you.will.need.to.run.it.again
766e0 0a 61 66 74 65 72 3a 0a 0a 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 61 6e 20 75 70 64 61 74 65 64 .after:..-.Installing.an.updated
76700 20 76 65 72 73 69 6f 6e 20 6f 66 20 52 61 63 6b 65 74 20 4d 6f 64 65 2e 20 4f 74 68 65 72 77 69 .version.of.Racket.Mode..Otherwi
76720 73 65 2c 20 79 6f 75 0a 20 20 6d 69 67 68 74 20 6c 6f 73 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 se,.you...might.lose.some.of.the
76740 20 73 70 65 65 64 2d 75 70 2e 0a 0a 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 61 20 6e 65 77 20 76 .speed-up...-.Installing.a.new.v
76760 65 72 73 69 6f 6e 20 6f 66 20 52 61 63 6b 65 74 20 61 6e 64 2f 6f 72 20 63 68 61 6e 67 69 6e 67 ersion.of.Racket.and/or.changing
76780 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 .the.value.of...the.variable.`ra
767a0 63 6b 65 74 2d 70 72 6f 67 72 61 6d 27 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 79 6f 75 20 6d 69 cket-program'..Otherwise,.you.mi
767c0 67 68 74 20 67 65 74 20 61 6e 0a 20 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 64 75 65 20 74 ght.get.an...error.message.due.t
767e0 6f 20 74 68 65 20 62 79 74 65 63 6f 64 65 20 62 65 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 76 o.the.bytecode.being.different.v
76800 65 72 73 69 6f 6e 73 2e 0a 0a 54 6f 20 72 65 76 65 72 74 20 74 6f 20 63 6f 6d 70 69 6c 69 6e 67 ersions...To.revert.to.compiling
76820 20 6f 6e 20 73 74 61 72 74 75 70 2c 20 75 73 65 0a 60 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 .on.startup,.use.`racket-mode-st
76840 61 72 74 2d 73 6c 6f 77 65 72 27 2e 20 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 art-slower'.."...(interactive)..
76860 20 28 6c 65 74 2a 20 28 28 72 61 63 6b 65 74 20 20 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e .(let*.((racket..(executable-fin
76880 64 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 6b 74 d.racket-program))..........(rkt
768a0 73 30 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 2a 2e 72 6b 74 22 20 72 s0...(expand-file-name."*.rkt".r
768c0 61 63 6b 65 74 2d 2d 72 6b 74 2d 73 6f 75 72 63 65 2d 64 69 72 29 20 29 0a 20 20 20 20 20 20 20 acket--rkt-source-dir).)........
768e0 20 20 28 72 6b 74 73 31 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 63 6f ..(rkts1...(expand-file-name."co
76900 6d 6d 61 6e 64 73 2f 2a 2e 72 6b 74 22 20 72 61 63 6b 65 74 2d 2d 72 6b 74 2d 73 6f 75 72 63 65 mmands/*.rkt".racket--rkt-source
76920 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 61 6e 64 20 28 66 6f 72 6d 61 74 -dir))..........(command.(format
76940 20 22 25 73 20 2d 6c 20 72 61 63 6f 20 6d 61 6b 65 20 2d 76 20 25 73 20 25 73 22 0a 20 20 20 20 ."%s.-l.raco.make.-v.%s.%s".....
76960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f ......................(shell-quo
76980 74 65 2d 77 69 6c 64 63 61 72 64 2d 70 61 74 74 65 72 6e 20 72 61 63 6b 65 74 29 0a 20 20 20 20 te-wildcard-pattern.racket).....
769a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f ......................(shell-quo
769c0 74 65 2d 77 69 6c 64 63 61 72 64 2d 70 61 74 74 65 72 6e 20 72 6b 74 73 30 29 0a 20 20 20 20 20 te-wildcard-pattern.rkts0)......
769e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 .....................(shell-quot
76a00 65 2d 77 69 6c 64 63 61 72 64 2d 70 61 74 74 65 72 6e 20 72 6b 74 73 31 29 29 29 0a 20 20 20 20 e-wildcard-pattern.rkts1))).....
76a20 20 20 20 20 20 28 70 72 6f 6d 70 74 20 28 66 6f 72 6d 61 74 20 22 44 6f 20 60 25 73 60 20 22 20 .....(prompt.(format."Do.`%s`.".
76a40 63 6f 6d 6d 61 6e 64 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 79 2d 6f 72 2d 6e 2d 70 20 70 command))).....(when.(y-or-n-p.p
76a60 72 6f 6d 70 74 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 73 74 6f 70 2d 62 61 63 6b 2d 65 rompt).......(racket-stop-back-e
76a80 6e 64 29 0a 20 20 20 20 20 20 28 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 63 nd).......(async-shell-command.c
76aa0 6f 6d 6d 61 6e 64 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 ommand))))..(defun.racket-mode-s
76ac0 74 61 72 74 2d 73 6c 6f 77 65 72 20 28 29 0a 20 20 22 44 65 6c 65 74 65 20 74 68 65 20 5c 22 63 tart-slower.()..."Delete.the.\"c
76ae0 6f 6d 70 69 6c 65 64 5c 22 20 64 69 72 65 63 74 6f 72 69 65 73 20 6d 61 64 65 20 62 79 20 60 72 ompiled\".directories.made.by.`r
76b00 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 66 61 73 74 65 72 27 2e 22 0a 20 20 28 69 6e acket-mode-start-faster'."...(in
76b20 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 64 69 72 30 20 28 65 78 70 61 6e teractive)...(let*.((dir0.(expan
76b40 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 63 6f 6d 70 69 6c 65 64 22 20 20 20 20 20 20 20 20 20 20 d-file-name."compiled"..........
76b60 72 61 63 6b 65 74 2d 2d 72 6b 74 2d 73 6f 75 72 63 65 2d 64 69 72 29 20 29 0a 20 20 20 20 20 20 racket--rkt-source-dir).).......
76b80 20 20 20 28 64 69 72 31 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 63 6f 6d 6d ...(dir1.(expand-file-name."comm
76ba0 61 6e 64 73 2f 63 6f 6d 70 69 6c 65 64 22 20 72 61 63 6b 65 74 2d 2d 72 6b 74 2d 73 6f 75 72 63 ands/compiled".racket--rkt-sourc
76bc0 65 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 70 74 20 28 66 6f 72 6d 61 74 e-dir))..........(prompt.(format
76be0 20 22 44 65 6c 65 74 65 20 25 73 20 61 6e 64 20 25 73 22 20 64 69 72 30 20 64 69 72 31 29 29 29 ."Delete.%s.and.%s".dir0.dir1)))
76c00 0a 20 20 20 20 28 77 68 65 6e 20 28 79 2d 6f 72 2d 6e 2d 70 20 70 72 6f 6d 70 74 29 0a 20 20 20 .....(when.(y-or-n-p.prompt)....
76c20 20 20 20 28 72 61 63 6b 65 74 2d 73 74 6f 70 2d 62 61 63 6b 2d 65 6e 64 29 0a 20 20 20 20 20 20 ...(racket-stop-back-end).......
76c40 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 64 65 6c 65 74 65 2d 64 69 72 65 63 74 6f 72 79 (ignore-errors.(delete-directory
76c60 20 64 69 72 30 20 74 29 29 0a 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 .dir0.t)).......(ignore-errors.(
76c80 64 65 6c 65 74 65 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 31 20 74 29 29 29 29 29 0a 0a 28 64 delete-directory.dir1.t)))))..(d
76ca0 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 efun.racket-documentation-search
76cc0 20 28 29 0a 20 20 22 53 65 61 72 63 68 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 54 68 .()..."Search.documentation...Th
76ce0 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 75 73 65 66 75 6c 20 69 6e 20 73 65 76 65 72 61 6c 20 is.command.is.useful.in.several.
76d00 73 69 74 75 61 74 69 6f 6e 73 3a 0a 0a 2d 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 75 73 69 6e 67 situations:..-.You.are.not.using
76d20 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 66 6f 72 20 61 20 60 72 61 63 6b 65 74 2d .`racket-xp-mode'.for.a.`racket-
76d40 6d 6f 64 65 27 20 65 64 69 74 0a 20 20 62 75 66 66 65 72 2c 20 73 6f 20 60 72 61 63 6b 65 74 2d mode'.edit...buffer,.so.`racket-
76d60 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 27 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 xp-documentation'.is.not.availab
76d80 6c 65 2e 0a 0a 2d 20 54 68 65 72 65 20 69 73 20 6e 6f 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d le...-.There.is.no.`racket-repl-
76da0 6d 6f 64 65 27 20 62 75 66 66 65 72 20 77 69 74 68 20 61 20 6c 69 76 65 20 6e 61 6d 65 73 70 61 mode'.buffer.with.a.live.namespa
76dc0 63 65 2c 20 73 6f 0a 20 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e 74 61 74 ce,.so...`racket-repl-documentat
76de0 69 6f 6e 27 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 6f 72 20 68 65 6c 70 66 75 6c ion'.is.not.available.or.helpful
76e00 2e 0a 0a 2d 20 59 6f 75 20 77 61 6e 74 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 20 64 65 66 69 ...-.You.want.to.search.for.defi
76e20 6e 69 74 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 61 6c 6c 20 6d 6f 64 75 6c 65 73 20 nitions.provided.by.all.modules.
76e40 2d 2d 0a 20 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 5c 22 64 65 66 69 6e 65 5c 22 --...for.example,.the.\"define\"
76e60 20 73 79 6e 74 61 78 20 70 72 6f 76 69 64 65 64 20 62 79 20 72 61 63 6b 65 74 2f 62 61 73 65 2c .syntax.provided.by.racket/base,
76e80 20 62 79 0a 20 20 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 62 61 73 65 2c 20 61 6e 64 20 62 79 20 .by...typed/racket/base,.and.by.
76ea0 6f 74 68 65 72 20 6d 6f 64 75 6c 65 73 2c 20 61 73 20 77 65 6c 6c 20 64 65 66 69 6e 69 74 69 6f other.modules,.as.well.definitio
76ec0 6e 73 20 6f 72 0a 20 20 74 6f 70 69 63 73 20 74 68 61 74 20 6d 65 72 65 6c 79 20 69 6e 63 6c 75 ns.or...topics.that.merely.inclu
76ee0 64 65 20 5c 22 64 65 66 69 6e 65 5c 22 2e 0a 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 64 6f 65 de.\"define\"...This.command.doe
76f00 73 20 6e 6f 74 20 74 72 79 20 74 6f 20 67 6f 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 s.not.try.to.go.directly.to.the.
76f20 68 65 6c 70 20 74 6f 70 69 63 20 66 6f 72 20 61 0a 64 65 66 69 6e 69 74 69 6f 6e 20 70 72 6f 76 help.topic.for.a.definition.prov
76f40 69 64 65 64 20 62 79 20 61 6e 79 20 73 70 65 63 69 66 69 63 20 6d 6f 64 75 6c 65 2e 20 49 6e 73 ided.by.any.specific.module..Ins
76f60 74 65 61 64 20 69 74 20 67 6f 65 73 20 74 6f 0a 74 68 65 20 52 61 63 6b 65 74 20 5c 22 53 65 61 tead.it.goes.to.the.Racket.\"Sea
76f80 72 63 68 20 4d 61 6e 75 61 6c 73 5c 22 20 70 61 67 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 rch.Manuals\".page."...(interact
76fa0 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 64 6f 63 20 27 28 31 36 29 20 6e 69 6c 20 6e 69 ive)...(racket--doc.'(16).nil.ni
76fc0 6c 29 29 0a 0a 3b 3b 3b 20 78 72 65 66 0a 0a 3b 3b 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 l))..;;;.xref..;;.Note.that.this
76fe0 20 62 61 63 6b 65 6e 64 20 77 69 6c 6c 20 62 65 20 69 67 6e 6f 72 65 64 20 77 68 65 6e 20 60 72 .backend.will.be.ignored.when.`r
77000 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 6d 69 6e 6f 72 0a 3b 3b 20 6d 6f 64 65 20 69 73 20 acket-xp-mode'.minor.;;.mode.is.
77020 61 63 74 69 76 65 2e 20 54 68 69 73 20 62 61 63 6b 65 6e 64 20 69 73 20 61 20 77 65 61 6b 20 65 active..This.backend.is.a.weak.e
77040 66 66 6f 72 74 20 74 6f 20 64 6f 20 2f 73 6f 6d 65 74 68 69 6e 67 2f 20 69 6e 0a 3b 3b 20 70 6c ffort.to.do./something/.in.;;.pl
77060 61 69 6e 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 65 64 69 74 20 62 75 66 66 65 72 73 2c 20 ain.`racket-mode'.edit.buffers,.
77080 77 69 74 68 6f 75 74 20 75 73 69 6e 67 20 74 68 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 0a 3b 3b without.using.the.Racket.Mode.;;
770a0 20 62 61 63 6b 20 65 6e 64 20 70 72 6f 63 65 73 73 2e 0a 3b 3b 0a 3b 3b 20 43 75 72 72 65 6e 74 .back.end.process..;;.;;.Current
770c0 6c 79 2c 20 61 73 69 64 65 20 66 72 6f 6d 20 62 65 69 6e 67 20 61 62 6c 65 20 74 6f 20 76 69 73 ly,.aside.from.being.able.to.vis
770e0 69 74 20 72 65 6c 61 74 69 76 65 20 72 65 71 75 69 72 65 20 66 69 6c 65 73 2c 0a 3b 3b 20 69 74 it.relative.require.files,.;;.it
77100 20 6a 75 73 74 20 73 75 67 67 65 73 74 73 20 75 73 69 6e 67 20 60 72 61 63 6b 65 74 2d 78 70 2d .just.suggests.using.`racket-xp-
77120 6d 6f 64 65 27 20 74 6f 20 66 69 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 3b 3b 0a 3b 3b mode'.to.find.definitions..;;.;;
77140 20 41 73 20 66 6f 72 20 66 69 6e 64 69 6e 67 20 72 65 66 65 72 65 6e 63 65 73 3a 20 57 65 20 6a .As.for.finding.references:.We.j
77160 75 73 74 20 75 73 65 20 74 68 65 20 64 65 66 61 75 6c 74 0a 3b 3b 20 60 78 72 65 66 2d 62 61 63 ust.use.the.default.;;.`xref-bac
77180 6b 65 6e 64 2d 72 65 66 65 72 65 6e 63 65 73 27 20 77 68 69 63 68 20 67 72 65 70 73 20 77 69 74 kend-references'.which.greps.wit
771a0 68 69 6e 20 61 20 70 72 6f 6a 65 63 74 2e 0a 3b 3b 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 hin.a.project..;;.`racket-xp-mod
771c0 65 27 20 69 73 20 62 65 74 74 65 72 20 6f 6e 6c 79 20 66 6f 72 20 69 6e 74 72 61 2d 66 69 6c 65 e'.is.better.only.for.intra-file
771e0 20 72 65 66 65 72 65 6e 63 65 73 20 66 6f 75 6e 64 20 62 79 0a 3b 3b 20 63 68 65 63 6b 2d 73 79 .references.found.by.;;.check-sy
77200 6e 74 61 78 3b 20 6f 74 68 65 72 77 69 73 65 20 69 74 20 64 65 66 65 72 73 20 74 6f 20 74 68 65 ntax;.otherwise.it.defers.to.the
77220 20 73 61 6d 65 20 64 65 66 61 75 6c 74 2c 20 74 6f 6f 2e 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b .same.default,.too...(defun.rack
77240 65 74 2d 6d 6f 64 65 2d 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 20 28 29 et-mode-xref-backend-function.()
77260 0a 20 20 27 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 78 72 65 66 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 ...'racket-mode-xref)..(cl-defme
77280 74 68 6f 64 20 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 69 64 65 6e 74 69 66 69 65 72 2d 61 74 2d thod.xref-backend-identifier-at-
772a0 70 6f 69 6e 74 20 28 28 5f 62 61 63 6b 65 6e 64 20 28 65 71 6c 20 72 61 63 6b 65 74 2d 6d 6f 64 point.((_backend.(eql.racket-mod
772c0 65 2d 78 72 65 66 29 29 29 0a 20 20 28 6f 72 20 28 72 61 63 6b 65 74 2d 2d 6d 6f 64 75 6c 65 2d e-xref)))...(or.(racket--module-
772e0 70 61 74 68 2d 6e 61 6d 65 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 28 74 68 69 6e 67 path-name-at-point).......(thing
77300 2d 61 74 2d 70 6f 69 6e 74 20 27 73 79 6d 62 6f 6c 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 -at-point.'symbol)))..(cl-defmet
77320 68 6f 64 20 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 69 64 65 6e 74 69 66 69 65 72 2d 63 6f 6d 70 hod.xref-backend-identifier-comp
77340 6c 65 74 69 6f 6e 2d 74 61 62 6c 65 20 28 28 5f 62 61 63 6b 65 6e 64 20 28 65 71 6c 20 72 61 63 letion-table.((_backend.(eql.rac
77360 6b 65 74 2d 6d 6f 64 65 2d 78 72 65 66 29 29 29 0a 20 20 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d 74 ket-mode-xref)))...(completion-t
77380 61 62 6c 65 2d 64 79 6e 61 6d 69 63 20 23 27 69 67 6e 6f 72 65 29 29 0a 0a 28 63 6c 2d 64 65 66 able-dynamic.#'ignore))..(cl-def
773a0 6d 65 74 68 6f 64 20 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 20 method.xref-backend-definitions.
773c0 28 28 5f 62 61 63 6b 65 6e 64 20 28 65 71 6c 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 78 72 65 66 ((_backend.(eql.racket-mode-xref
773e0 29 29 20 73 74 72 29 0a 20 20 28 6f 72 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 2d 70 )).str)...(or.(pcase.(get-text-p
77400 72 6f 70 65 72 74 79 20 30 20 27 72 61 63 6b 65 74 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 20 73 74 roperty.0.'racket-module-path.st
77420 72 29 0a 20 20 20 20 20 20 20 20 28 60 72 65 6c 61 74 69 76 65 0a 20 20 20 20 20 20 20 20 20 28 r).........(`relative..........(
77440 6c 65 74 20 28 28 70 61 74 68 20 28 72 61 63 6b 65 74 2d 2d 72 6b 74 2d 6f 72 2d 73 73 2d 70 61 let.((path.(racket--rkt-or-ss-pa
77460 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 th.......................(expand
77480 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 -file-name.(substring-no-propert
774a0 69 65 73 20 73 74 72 20 31 20 2d 31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 ies.str.1.-1)))))............(li
774c0 73 74 20 28 78 72 65 66 2d 6d 61 6b 65 20 73 74 72 20 28 78 72 65 66 2d 6d 61 6b 65 2d 66 69 6c st.(xref-make.str.(xref-make-fil
774e0 65 2d 6c 6f 63 61 74 69 6f 6e 20 70 61 74 68 20 31 20 30 29 29 29 29 29 29 0a 20 20 20 20 20 20 e-location.path.1.0)))))).......
77500 28 6c 69 73 74 20 28 78 72 65 66 2d 6d 61 6b 65 20 73 74 72 0a 20 20 20 20 20 20 20 20 20 20 20 (list.(xref-make.str............
77520 20 20 20 20 20 20 20 20 20 20 20 20 28 78 72 65 66 2d 6d 61 6b 65 2d 62 6f 67 75 73 2d 6c 6f 63 ............(xref-make-bogus-loc
77540 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 ation........................."C
77560 61 6e 6e 6f 74 20 66 69 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 69 6e 20 70 6c 61 69 6e 20 annot.find.definitions.in.plain.
77580 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 3b 20 73 65 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f `racket-mode';.see.`racket-xp-mo
775a0 64 65 27 22 29 29 29 29 29 0a 0a 3b 3b 20 55 73 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 60 78 de'")))))..;;.Use.the.default.`x
775c0 72 65 66 2d 62 61 63 6b 65 6e 64 2d 72 65 66 65 72 65 6e 63 65 73 27 2c 20 77 68 69 63 68 20 67 ref-backend-references',.which.g
775e0 72 65 70 73 20 77 69 74 68 69 6e 20 61 20 70 72 6f 6a 65 63 74 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d reps.within.a.project...;;;.Comm
77600 61 6e 64 73 20 74 68 61 74 20 70 72 65 64 61 74 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 ands.that.predate.`racket-xp-mod
77620 65 27 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 6f 63 20 28 29 0a 20 20 22 54 68 69 73 e'..(defun.racket-doc.()..."This
77640 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6f 62 73 6f 6c 65 74 65 2e 0a 0a 49 6e 73 74 65 61 64 20 70 .command.is.obsolete...Instead.p
77660 6c 65 61 73 65 20 75 73 65 20 60 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d lease.use.`racket-documentation-
77680 73 65 61 72 63 68 27 2c 0a 60 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f search',.`racket-xp-documentatio
776a0 6e 27 20 6f 72 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e n'.or.`racket-repl-documentation
776c0 27 2e 20 53 65 65 3a 0a 3c 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 '..See:.<https://github.com/greg
776e0 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2f 69 73 73 75 65 73 2f 34 hendershott/racket-mode/issues/4
77700 33 39 3e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 65 73 63 72 69 62 65 39>"...(interactive)...(describe
77720 2d 66 75 6e 63 74 69 6f 6e 20 27 72 61 63 6b 65 74 2d 64 6f 63 29 29 0a 0a 28 64 65 66 75 6e 20 -function.'racket-doc))..(defun.
77740 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 20 28 29 0a 20 20 22 49 6e 73 74 65 61 64 20 70 6c racket-describe.()..."Instead.pl
77760 65 61 73 65 20 75 73 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 27 20 6f 72 ease.use.`racket-xp-describe'.or
77780 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 65 27 2e 0a 53 65 65 3a 20 3c 68 .`racket-repl-describe'..See:.<h
777a0 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 ttps://github.com/greghendershot
777c0 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2f 69 73 73 75 65 73 2f 34 33 39 3e 22 0a 20 20 28 69 6e t/racket-mode/issues/439>"...(in
777e0 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 65 73 63 72 69 62 65 2d 66 75 6e 63 74 69 6f 6e 20 teractive)...(describe-function.
77800 27 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 29 29 0a 0a 3b 3b 20 53 65 65 20 61 6c 73 6f 20 'racket-describe))..;;.See.also.
77820 60 72 61 63 6b 65 74 2d 76 69 73 69 74 2d 64 65 66 69 6e 69 74 69 6f 6e 27 20 61 6c 69 61 73 20 `racket-visit-definition'.alias.
77840 69 6e 20 72 61 63 6b 65 74 2d 76 69 73 69 74 2e 65 6c 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 in.racket-visit.el..(provide.'ra
77860 63 6b 65 74 2d 6d 6f 64 65 29 0a 0a 3b 3b 3b 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 65 6c 20 65 cket-mode)..;;;.racket-mode.el.e
77880 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 nds.here........................
778a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
778c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
778e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
779a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
779c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
779e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77a00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
77a20 52 45 41 44 4d 45 2d 65 6c 70 61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 README-elpa.....................
77a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
77a80 30 30 30 33 35 36 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 34 35 33 00 20 30 00 00 00 0003562.00000000000.015453..0...
77aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
77b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
77b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77c00 31 20 52 61 63 6b 65 74 20 6d 6f 64 65 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 73 0a e2 95 90 e2 1.Racket.mode.for.GNU.Emacs.....
77c20 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 ................................
77c40 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 ................................
77c60 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 0a 0a 20 20 5b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 .................[https://github
77c80 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 .com/greghendershott/racket-mode
77ca0 2f 77 6f 72 6b 66 6c 6f 77 73 2f 43 49 2f 62 61 64 67 65 2e 73 76 67 5d 0a 20 20 5b 68 74 74 70 /workflows/CI/badge.svg]...[http
77cc0 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 72 61 63 6b 65 74 2d 6d 6f s://melpa.org/packages/racket-mo
77ce0 64 65 2d 62 61 64 67 65 2e 73 76 67 5d 0a 20 20 5b 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 6e 6f de-badge.svg]...[https://elpa.no
77d00 6e 67 6e 75 2e 6f 72 67 2f 6e 6f 6e 67 6e 75 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 73 76 67 5d ngnu.org/nongnu/racket-mode.svg]
77d20 0a 20 20 5b 68 74 74 70 73 3a 2f 2f 69 6d 67 2e 73 68 69 65 6c 64 73 2e 69 6f 2f 62 61 64 67 65 ...[https://img.shields.io/badge
77d40 2f 44 6f 63 73 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 62 6c 75 65 2e 73 76 67 5d 0a 0a 20 /Docs-Documentation-blue.svg]...
77d60 20 41 20 76 61 72 69 65 74 79 20 6f 66 20 45 6d 61 63 73 20 6d 61 6a 6f 72 20 61 6e 64 20 6d 69 .A.variety.of.Emacs.major.and.mi
77d80 6e 6f 72 20 6d 6f 64 65 73 20 66 6f 72 20 5b 52 61 63 6b 65 74 5d 3a 20 65 64 69 74 2c 20 52 45 nor.modes.for.[Racket]:.edit,.RE
77da0 50 4c 2c 0a 20 20 63 68 65 63 6b 2d 73 79 6e 74 61 78 2c 20 64 65 62 75 67 2c 20 70 72 6f 66 69 PL,...check-syntax,.debug,.profi
77dc0 6c 65 2c 20 6c 6f 67 67 69 6e 67 2c 20 61 6e 64 20 6d 6f 72 65 2e 20 54 68 65 20 65 64 69 74 2f le,.logging,.and.more..The.edit/
77de0 72 75 6e 0a 20 20 65 78 70 65 72 69 65 6e 63 65 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 5b run...experience.is.similar.to.[
77e00 44 72 52 61 63 6b 65 74 5d 2e 0a 0a 20 20 43 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 2a 45 DrRacket].....Compatible.with.*E
77e20 6d 61 63 73 20 32 35 2e 31 2b 2a 20 61 6e 64 20 2a 52 61 63 6b 65 74 20 36 2e 31 32 2b 2a 2e 0a macs.25.1+*.and.*Racket.6.12+*..
77e40 0a 0a 5b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 ..[https://github.com/greghender
77e60 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2f 77 6f 72 6b 66 6c 6f 77 73 2f 43 49 2f 62 shott/racket-mode/workflows/CI/b
77e80 61 64 67 65 2e 73 76 67 5d 0a 3c 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 adge.svg].<https://github.com/gr
77ea0 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2f 61 63 74 69 6f 6e eghendershott/racket-mode/action
77ec0 73 3e 0a 0a 5b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f s>..[https://melpa.org/packages/
77ee0 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 62 61 64 67 65 2e 73 76 67 5d 0a 3c 68 74 74 70 73 3a 2f 2f racket-mode-badge.svg].<https://
77f00 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 3e 0a 0a 5b 68 74 74 70 73 melpa.org/#/racket-mode>..[https
77f20 3a 2f 2f 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6e 6f 6e 67 6e 75 2f 72 61 63 6b 65 74 ://elpa.nongnu.org/nongnu/racket
77f40 2d 6d 6f 64 65 2e 73 76 67 5d 0a 3c 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e -mode.svg].<https://elpa.nongnu.
77f60 6f 72 67 2f 6e 6f 6e 67 6e 75 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 68 74 6d 6c 3e 0a 0a 5b 68 org/nongnu/racket-mode.html>..[h
77f80 74 74 70 73 3a 2f 2f 69 6d 67 2e 73 68 69 65 6c 64 73 2e 69 6f 2f 62 61 64 67 65 2f 44 6f 63 73 ttps://img.shields.io/badge/Docs
77fa0 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 62 6c 75 65 2e 73 76 67 5d 0a 3c 68 74 74 70 73 3a -Documentation-blue.svg].<https:
77fc0 2f 2f 77 77 77 2e 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 63 6f 6d 2f 3e 0a 0a 5b 52 61 63 6b 65 74 //www.racket-mode.com/>..[Racket
77fe0 5d 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 3e ].<https://www.racket-lang.org/>
78000 0a 0a 5b 44 72 52 61 63 6b 65 74 5d 20 3c 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b 65 ..[DrRacket].<https://docs.racke
78020 74 2d 6c 61 6e 67 2e 6f 72 67 2f 64 72 72 61 63 6b 65 74 2f 3e 0a 0a 31 2e 31 20 44 6f 63 75 6d t-lang.org/drracket/>..1.1.Docum
78040 65 6e 74 61 74 69 6f 6e 0a e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 entation........................
78060 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 0a 0a 20 20 ................................
78080 53 65 65 20 74 68 65 20 5b 47 75 69 64 65 20 61 6e 64 20 52 65 66 65 72 65 6e 63 65 5d 2e 0a 0a See.the.[Guide.and.Reference]...
780a0 0a 5b 47 75 69 64 65 20 61 6e 64 20 52 65 66 65 72 65 6e 63 65 5d 20 3c 68 74 74 70 73 3a 2f 2f .[Guide.and.Reference].<https://
780c0 77 77 77 2e 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 63 6f 6d 2f 3e 0a 0a 0a 31 2e 32 20 43 6f 6e 74 www.racket-mode.com/>...1.2.Cont
780e0 72 69 62 75 74 69 6e 67 0a e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 ributing........................
78100 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 0a 0a 20 20 50 75 6c .............................Pul
78120 6c 20 72 65 71 75 65 73 74 73 20 61 72 65 20 77 65 6c 63 6f 6d 65 3b 20 70 6c 65 61 73 65 20 73 l.requests.are.welcome;.please.s
78140 65 65 20 5b 43 4f 4e 54 52 49 42 55 54 49 4e 47 2e 6f 72 67 5d 2e 0a 0a 0a 5b 43 4f 4e 54 52 49 ee.[CONTRIBUTING.org]....[CONTRI
78160 42 55 54 49 4e 47 2e 6f 72 67 5d 0a 3c 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f BUTING.org].<https://github.com/
78180 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2f 62 6c 6f 62 greghendershott/racket-mode/blob
781a0 2f 6d 61 73 74 65 72 2f 43 4f 4e 54 52 49 42 55 54 49 4e 47 2e 6f 72 67 3e 0a 0a 0a 31 2e 33 20 /master/CONTRIBUTING.org>...1.3.
781c0 41 63 6b 6e 6f 77 6c 65 64 67 6d 65 6e 74 73 0a e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 Acknowledgments.................
781e0 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 ................................
78200 e2 94 80 e2 94 80 e2 94 80 0a 0a 20 20 5b 54 48 41 4e 4b 53 2e 6f 72 67 5d 2e 0a 0a 0a 5b 54 48 .............[THANKS.org]....[TH
78220 41 4e 4b 53 2e 6f 72 67 5d 0a 3c 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 ANKS.org].<https://github.com/gr
78240 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2f 62 6c 6f 62 2f 6d eghendershott/racket-mode/blob/m
78260 61 73 74 65 72 2f 54 48 41 4e 4b 53 2e 6f 72 67 3e 0a 0a 0a 31 2e 34 20 41 6c 74 65 72 6e 61 74 aster/THANKS.org>...1.4.Alternat
78280 69 76 65 73 0a e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 ives............................
782a0 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 e2 94 80 0a 0a 20 20 e2 80 a2 20 45 6d 61 .............................Ema
782c0 63 73 27 20 62 75 69 6c 74 2d 69 6e 20 60 73 63 68 65 6d 65 2d 6d 6f 64 65 60 20 6d 61 6a 6f 72 cs'.built-in.`scheme-mode`.major
782e0 20 6d 6f 64 65 20 70 6c 75 73 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 73 0a 20 20 20 20 5b .mode.plus.the.minor.modes.....[
78300 51 75 61 63 6b 5d 20 61 6e 64 2f 6f 72 20 5b 47 65 69 73 65 72 5d 2e 0a 0a 0a 5b 51 75 61 63 6b Quack].and/or.[Geiser]....[Quack
78320 5d 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 6e 65 69 6c 76 61 6e 64 79 6b 65 2e 6f 72 67 2f 71 ].<https://www.neilvandyke.org/q
78340 75 61 63 6b 2f 3e 0a 0a 5b 47 65 69 73 65 72 5d 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 6e 6f uack/>..[Geiser].<https://www.no
78360 6e 67 6e 75 2e 6f 72 67 2f 67 65 69 73 65 72 2f 3e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ngnu.org/geiser/>...............
78380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
783a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
783c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
783e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78400 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
78420 72 61 63 6b 65 74 2d 77 73 6c 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-wsl.el...................
78440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
78480 30 30 30 33 32 33 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 32 34 33 00 20 30 00 00 00 0003231.00000000000.016243..0...
784a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
784c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
784e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
78520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
78540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
785a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
785c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
785e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78600 3b 3b 3b 20 72 61 63 6b 65 74 2d 77 73 6c 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 ;;;.racket-wsl.el.-*-.lexical-bi
78620 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 nding:.t.-*-..;;.Copyright.(c).2
78640 30 32 30 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 020-2022.by.Greg.Hendershott..;;
78660 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d 31 39 38 .Portions.Copyright.(C).1985-198
78680 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 6,.1999-2013.Free.Software.Found
786a0 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 65 6e ation,.Inc...;;.Author:.Greg.Hen
786c0 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e dershott.;;.URL:.https://github.
786e0 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 0a com/greghendershott/racket-mode.
78700 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c .;;.SPDX-License-Identifier:.GPL
78720 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 77 -3.0-or-later..(defvar.racket--w
78740 73 6c 70 61 74 68 20 28 61 6e 64 20 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 67 6e 75 slpath.(and.(eq.system-type.'gnu
78760 2f 6c 69 6e 75 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /linux).........................
78780 20 20 20 20 20 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 22 77 73 6c 70 61 74 68 22 29 .....(executable-find."wslpath")
787a0 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 63 61 6c 6c 2d 77 73 6c 2d 70 61 74 68 ))..(defun.racket--call-wsl-path
787c0 20 28 70 61 74 68 6e 61 6d 65 20 66 6c 61 67 29 0a 20 20 22 57 72 61 70 70 65 72 20 66 6f 72 20 .(pathname.flag)..."Wrapper.for.
787e0 77 73 6c 70 61 74 68 2e 0a 0a 57 68 65 6e 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d wslpath...When.variable.`racket-
78800 2d 77 73 6c 70 61 74 68 27 20 69 73 20 6e 6f 74 20 6e 69 6c 2c 20 75 73 65 20 69 74 20 74 6f 20 -wslpath'.is.not.nil,.use.it.to.
78820 63 6f 6e 76 65 72 74 0a 50 41 54 48 4e 41 4d 45 20 75 73 69 6e 67 20 46 4c 41 47 2e 0a 0a 20 20 convert.PATHNAME.using.FLAG.....
78840 77 73 6c 70 61 74 68 20 75 73 61 67 65 3a 0a 20 20 20 20 2d 61 20 20 66 6f 72 63 65 20 72 65 73 wslpath.usage:.....-a..force.res
78860 75 6c 74 20 74 6f 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 20 66 6f 72 6d 61 74 0a 20 20 20 20 ult.to.absolute.path.format.....
78880 2d 75 20 20 74 72 61 6e 73 6c 61 74 65 20 66 72 6f 6d 20 61 20 57 69 6e 64 6f 77 73 20 70 61 74 -u..translate.from.a.Windows.pat
788a0 68 20 74 6f 20 61 20 57 53 4c 20 70 61 74 68 20 28 64 65 66 61 75 6c 74 29 0a 20 20 20 20 2d 77 h.to.a.WSL.path.(default).....-w
788c0 20 20 74 72 61 6e 73 6c 61 74 65 20 66 72 6f 6d 20 61 20 57 53 4c 20 70 61 74 68 20 74 6f 20 61 ..translate.from.a.WSL.path.to.a
788e0 20 57 69 6e 64 6f 77 73 20 70 61 74 68 0a 20 20 20 20 2d 6d 20 20 74 72 61 6e 73 6c 61 74 65 20 .Windows.path.....-m..translate.
78900 66 72 6f 6d 20 61 20 57 53 4c 20 70 61 74 68 20 74 6f 20 61 20 57 69 6e 64 6f 77 73 20 70 61 74 from.a.WSL.path.to.a.Windows.pat
78920 68 2c 20 77 69 74 68 20 5c 22 2f 5c 22 20 69 6e 73 74 65 61 64 20 6f 66 20 5c 22 5c 5c 5c 22 0a h,.with.\"/\".instead.of.\"\\\".
78940 22 0a 20 20 28 69 66 20 72 61 63 6b 65 74 2d 2d 77 73 6c 70 61 74 68 0a 20 20 20 20 20 20 28 77 "...(if.racket--wslpath.......(w
78960 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 ith-temp-buffer.........(let.((c
78980 6f 64 65 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 72 61 63 6b 65 74 2d 2d 77 73 6c 70 61 74 ode.(call-process.racket--wslpat
789a0 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h...............................
789c0 20 20 20 20 6e 69 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 69 6e 66 69 ....nil....................;infi
789e0 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le..............................
78a00 20 20 20 20 20 28 6c 69 73 74 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 20 3b 6f 75 74 .....(list.(current-buffer).;out
78a20 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 put.............................
78a40 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 73 74 ............nil).............;st
78a60 64 65 72 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 derr............................
78a80 20 20 20 20 20 20 20 6e 69 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 64 .......nil....................;d
78aa0 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 isplay..........................
78ac0 20 20 20 20 20 20 20 20 20 66 6c 61 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........flag...................
78ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 6e 61 6d 65 29 29 29 0a 20 20 20 20 ................pathname))).....
78b00 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 7a 65 72 6f 70 20 63 6f 64 65 29 0a 20 20 20 20 20 ......(unless.(zerop.code)......
78b20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 25 73 20 25 73 20 25 73 20 65 78 69 74 20 63 6f 64 .......(error."%s.%s.%s.exit.cod
78b40 65 20 25 73 22 20 72 61 63 6b 65 74 2d 2d 77 73 6c 70 61 74 68 20 66 6c 61 67 20 70 61 74 68 6e e.%s".racket--wslpath.flag.pathn
78b60 61 6d 65 20 63 6f 64 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 ame.code))).........(buffer-subs
78b80 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 tring-no-properties.(point-min).
78ba0 28 31 2d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 20 20 20 20 70 61 74 68 6e 61 6d 65 29 (1-.(point-max)))).....pathname)
78bc0 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 77 73 6c 2d 74 6f 2d 77 69 6e 64 6f 77 73 20 )..(defun.racket-wsl-to-windows.
78be0 28 70 61 74 68 6e 61 6d 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 63 61 6c 6c 2d 77 73 6c 2d 70 (pathname)...(racket--call-wsl-p
78c00 61 74 68 20 70 61 74 68 6e 61 6d 65 20 22 2d 77 22 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b ath.pathname."-w"))..(defun.rack
78c20 65 74 2d 77 69 6e 64 6f 77 73 2d 74 6f 2d 77 73 6c 20 28 70 61 74 68 6e 61 6d 65 29 0a 20 20 28 et-windows-to-wsl.(pathname)...(
78c40 72 61 63 6b 65 74 2d 2d 63 61 6c 6c 2d 77 73 6c 2d 70 61 74 68 20 70 61 74 68 6e 61 6d 65 20 22 racket--call-wsl-path.pathname."
78c60 2d 75 22 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 77 73 6c 29 0a 0a 3b 3b -u"))..(provide.'racket-wsl)..;;
78c80 20 72 61 63 6b 65 74 2d 77 73 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 .racket-wsl.el.ends.here........
78ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78e00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
78e20 72 61 63 6b 65 74 2d 6c 69 73 70 2d 6d 6f 64 65 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-lisp-mode.el.............
78e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
78e80 30 30 30 34 34 33 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 33 33 33 00 20 30 00 00 00 0004432.00000000000.017333..0...
78ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
78f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
78f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79000 3b 3b 3b 20 72 61 63 6b 65 74 2d 6c 69 73 70 2d 6d 6f 64 65 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 ;;;.racket-lisp-mode.el.-*-.lexi
79020 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 cal-binding:.t;.-*-..;;.Copyrigh
79040 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 34 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 t.(c).2013-2024.by.Greg.Hendersh
79060 6f 74 74 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 ott..;;.Portions.Copyright.(C).1
79080 39 38 35 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 985-1986,.1999-2013.Free.Softwar
790a0 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 e.Foundation,.Inc...;;.Author:.G
790c0 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f reg.Hendershott.;;.URL:.https://
790e0 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 github.com/greghendershott/racke
79100 74 2d 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 t-mode..;;.SPDX-License-Identifi
79120 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 20 53 6f 6d 65 20 70 61 er:.GPL-3.0-or-later..;;.Some.pa
79140 63 6b 61 67 65 73 20 6c 69 6b 65 20 70 61 72 65 64 69 74 20 61 6e 64 20 6c 69 73 70 79 20 64 69 ckages.like.paredit.and.lispy.di
79160 72 65 63 74 6c 79 20 63 61 6c 6c 20 60 6c 69 73 70 2d 6d 6f 64 65 27 0a 3b 3b 20 66 75 6e 63 74 rectly.call.`lisp-mode'.;;.funct
79180 69 6f 6e 73 20 60 6c 69 73 70 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 27 20 61 6e 64 20 60 69 6e 64 ions.`lisp-indent-line'.and.`ind
791a0 65 6e 74 2d 73 65 78 70 27 2e 20 28 41 73 20 6f 70 70 6f 73 65 64 20 74 6f 0a 3b 3b 20 63 61 6c ent-sexp'..(As.opposed.to.;;.cal
791c0 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 6c 69 6b 65 20 60 69 6e 64 65 6e 74 2d 6c 69 6e 65 ling.functions.like.`indent-line
791e0 2d 74 6f 27 20 61 6e 64 20 60 70 72 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 70 27 20 74 68 61 74 -to'.and.`prog-indent-sexp'.that
79200 0a 3b 3b 20 61 20 6d 6f 64 65 20 63 61 6e 20 73 70 65 63 69 61 6c 69 7a 65 20 76 69 61 20 60 69 .;;.a.mode.can.specialize.via.`i
79220 6e 64 65 6e 74 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 27 20 61 6e 64 0a 3b 3b 20 60 69 6e 64 ndent-line-function'.and.;;.`ind
79240 65 6e 74 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 27 2e 29 0a 3b 3b 0a 3b 3b 20 41 6c 74 ent-region-function'.).;;.;;.Alt
79260 68 6f 75 67 68 20 74 68 61 74 27 73 20 66 69 6e 65 20 66 6f 72 20 6d 6f 64 65 73 20 6c 69 6b 65 hough.that's.fine.for.modes.like
79280 20 60 73 63 68 65 6d 65 2d 6d 6f 64 65 27 20 64 65 72 69 76 65 64 20 66 72 6f 6d 0a 3b 3b 20 60 .`scheme-mode'.derived.from.;;.`
792a0 6c 69 73 70 2d 6d 6f 64 65 27 2c 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 69 73 20 6e 6f 74 lisp-mode',.`racket-mode'.is.not
792c0 2e 0a 3b 3b 0a 3b 3b 20 54 68 65 72 65 66 6f 72 65 20 69 66 20 75 73 65 72 73 20 77 61 6e 74 20 ..;;.;;.Therefore.if.users.want.
792e0 74 6f 20 75 73 65 20 73 75 63 68 20 70 61 63 6b 61 67 65 73 20 68 61 72 64 77 69 72 65 64 20 74 to.use.such.packages.hardwired.t
79300 6f 20 63 61 6c 6c 0a 3b 3b 20 74 68 6f 73 65 20 74 77 6f 20 60 6c 69 73 70 2d 6d 6f 64 65 27 20 o.call.;;.those.two.`lisp-mode'.
79320 66 75 6e 63 74 69 6f 6e 2c 20 41 46 41 49 43 54 20 77 65 20 68 61 76 65 20 6e 6f 20 63 68 6f 69 function,.AFAICT.we.have.no.choi
79340 63 65 20 62 75 74 20 74 6f 0a 3b 3b 20 61 64 76 69 73 65 20 74 68 6f 73 65 20 74 77 6f 20 66 75 ce.but.to.;;.advise.those.two.fu
79360 6e 63 74 69 6f 6e 73 2e 20 3a 28 0a 3b 3b 0a 3b 3b 20 46 75 72 74 68 65 72 6d 6f 72 65 20 6c 69 nctions..:(.;;.;;.Furthermore.li
79380 73 70 2d 6d 6f 64 65 27 73 20 60 69 6e 64 65 6e 74 2d 73 65 78 70 27 20 64 69 66 66 65 72 73 20 sp-mode's.`indent-sexp'.differs.
793a0 66 72 6f 6d 0a 3b 3b 20 60 70 72 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 70 27 20 61 73 20 65 78 from.;;.`prog-indent-sexp'.as.ex
793c0 70 6c 61 69 6e 65 64 20 62 65 6c 6f 77 20 69 6e 20 74 68 65 20 64 6f 63 20 73 74 72 69 6e 67 20 plained.below.in.the.doc.string.
793e0 66 6f 72 0a 3b 3b 20 60 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 78 70 2d 63 6f 6e 74 65 for.;;.`racket-indent-sexp-conte
79400 6e 74 73 27 2e 0a 0a 28 72 65 71 75 69 72 65 20 27 6c 69 73 70 2d 6d 6f 64 65 29 0a 28 72 65 71 nts'...(require.'lisp-mode).(req
79420 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 uire.'racket-util)..(defun.racke
79440 74 2d 2d 6c 69 73 70 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 61 64 76 69 63 65 20 28 6f 72 69 67 t--lisp-indent-line-advice.(orig
79460 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 28 61 70 70 6c 79 20 28 69 66 20 28 72 61 63 6b 65 .&rest.args)...(apply.(if.(racke
79480 74 2d 2d 6d 6f 64 65 2d 65 64 69 74 73 2d 72 61 63 6b 65 74 2d 70 29 0a 20 20 20 20 20 20 20 20 t--mode-edits-racket-p).........
794a0 20 20 20 20 20 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 .....indent-line-function.......
794c0 20 20 20 20 20 6f 72 69 67 29 0a 20 20 20 20 20 20 20 20 20 61 72 67 73 29 29 0a 0a 28 61 64 76 .....orig)..........args))..(adv
794e0 69 63 65 2d 61 64 64 20 23 27 6c 69 73 70 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 20 3a 61 72 6f 75 ice-add.#'lisp-indent-line.:arou
79500 6e 64 20 23 27 72 61 63 6b 65 74 2d 2d 6c 69 73 70 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 61 64 nd.#'racket--lisp-indent-line-ad
79520 76 69 63 65 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 69 6e 64 65 6e 74 2d 73 65 78 vice)..(defun.racket--indent-sex
79540 70 2d 61 64 76 69 63 65 20 28 6f 72 69 67 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 28 61 70 p-advice.(orig.&rest.args)...(ap
79560 70 6c 79 20 28 69 66 20 28 72 61 63 6b 65 74 2d 2d 6d 6f 64 65 2d 65 64 69 74 73 2d 72 61 63 6b ply.(if.(racket--mode-edits-rack
79580 65 74 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 69 6e 64 65 et-p)..............#'racket-inde
795a0 6e 74 2d 73 65 78 70 2d 63 6f 6e 74 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 6f 72 69 67 nt-sexp-contents............orig
795c0 29 0a 20 20 20 20 20 20 20 20 20 61 72 67 73 29 29 0a 0a 28 61 64 76 69 63 65 2d 61 64 64 20 23 )..........args))..(advice-add.#
795e0 27 69 6e 64 65 6e 74 2d 73 65 78 70 20 3a 61 72 6f 75 6e 64 20 23 27 72 61 63 6b 65 74 2d 2d 69 'indent-sexp.:around.#'racket--i
79600 6e 64 65 6e 74 2d 73 65 78 70 2d 61 64 76 69 63 65 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 ndent-sexp-advice)..(defun.racke
79620 74 2d 69 6e 64 65 6e 74 2d 73 65 78 70 2d 63 6f 6e 74 65 6e 74 73 20 28 29 0a 20 20 22 49 6e 64 t-indent-sexp-contents.()..."Ind
79640 65 6e 74 20 65 61 63 68 20 6c 69 6e 65 20 6f 66 20 74 68 65 20 73 65 78 70 20 73 74 61 72 74 69 ent.each.line.of.the.sexp.starti
79660 6e 67 20 6a 75 73 74 20 61 66 74 65 72 20 70 6f 69 6e 74 2e 0a 0a 55 6e 6c 69 6b 65 20 60 70 72 ng.just.after.point...Unlike.`pr
79680 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 70 27 2c 20 77 68 69 63 68 20 69 6e 64 65 6e 74 73 20 74 og-indent-sexp',.which.indents.t
796a0 68 65 20 65 6e 74 69 72 65 20 73 65 78 70 2c 20 74 68 69 73 0a 64 6f 65 73 20 2f 6e 6f 74 2f 20 he.entire.sexp,.this.does./not/.
796c0 69 6e 64 65 6e 74 20 74 68 65 20 66 69 72 73 74 20 6c 69 6e 65 20 61 74 20 70 6f 69 6e 74 2c 20 indent.the.first.line.at.point,.
796e0 6a 75 73 74 20 73 75 62 73 65 71 75 65 6e 74 20 6c 69 6e 65 73 0a 69 66 20 61 6e 79 2e 20 49 6e just.subsequent.lines.if.any..In
79700 20 6f 74 68 65 72 20 77 6f 72 64 73 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 64 65 6e 74 20 .other.words.it.does.not.indent.
79720 74 68 65 20 73 65 78 70 20 61 73 20 61 20 77 68 6f 6c 65 2c 0a 6a 75 73 74 20 69 74 73 20 63 6f the.sexp.as.a.whole,.just.its.co
79740 6e 74 65 6e 74 73 2e 20 49 6e 20 74 68 69 73 20 72 65 67 61 72 64 20 69 74 20 62 65 68 61 76 65 ntents..In.this.regard.it.behave
79760 73 20 6c 69 6b 65 20 74 68 65 0a 60 6c 69 73 70 2d 6d 6f 64 65 27 2d 73 70 65 63 69 66 69 63 20 s.like.the.`lisp-mode'-specific.
79780 66 75 6e 63 74 69 6f 6e 20 60 69 6e 64 65 6e 74 2d 73 65 78 70 27 2e 22 0a 20 20 28 69 6e 74 65 function.`indent-sexp'."...(inte
797a0 72 61 63 74 69 76 65 29 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 20 ractive)...(condition-case._....
797c0 20 20 20 28 6c 65 74 20 28 28 62 65 67 2d 6f 66 2d 32 6e 64 2d 6c 69 6e 65 20 20 20 28 73 61 76 ...(let.((beg-of-2nd-line...(sav
797e0 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 20 28 70 6f e-excursion.(forward-line.1).(po
79800 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d 65 78 70 72 65 int))).............(end-of-expre
79820 73 73 69 6f 6e 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 66 6f 72 77 61 72 64 2d 73 ssion.(save-excursion.(forward-s
79840 65 78 70 20 31 29 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 exp.1).(point)))).........(when.
79860 28 3c 20 62 65 67 2d 6f 66 2d 32 6e 64 2d 6c 69 6e 65 20 65 6e 64 2d 6f 66 2d 65 78 70 72 65 73 (<.beg-of-2nd-line.end-of-expres
79880 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 2d 72 65 67 69 6f 6e 20 62 sion)...........(indent-region.b
798a0 65 67 2d 6f 66 2d 32 6e 64 2d 6c 69 6e 65 20 65 6e 64 2d 6f 66 2d 65 78 70 72 65 73 73 69 6f 6e eg-of-2nd-line.end-of-expression
798c0 29 29 29 0a 20 20 20 20 28 73 63 61 6e 2d 65 72 72 6f 72 20 6e 69 6c 29 29 29 0a 0a 28 70 72 6f ))).....(scan-error.nil)))..(pro
798e0 76 69 64 65 20 27 72 61 63 6b 65 74 2d 6c 69 73 70 2d 6d 6f 64 65 29 0a 0a 3b 3b 20 72 61 63 6b vide.'racket-lisp-mode)..;;.rack
79900 65 74 2d 6c 69 73 70 2d 6d 6f 64 65 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 et-lisp-mode.el.ends.here.......
79920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
799a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
799c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
799e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79a00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
79a20 72 61 63 6b 65 74 2d 65 64 69 74 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-edit.el..................
79a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
79a80 30 30 34 30 30 37 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 33 36 36 00 20 30 00 00 00 0040071.00000000000.016366..0...
79aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
79b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
79b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79c00 3b 3b 3b 20 72 61 63 6b 65 74 2d 65 64 69 74 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 ;;;.racket-edit.el.-*-.lexical-b
79c20 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 inding:.t.-*-..;;.Copyright.(c).
79c40 32 30 31 33 2d 32 30 32 30 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 2013-2020.by.Greg.Hendershott..;
79c60 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d 31 39 ;.Portions.Copyright.(C).1985-19
79c80 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 86,.1999-2013.Free.Software.Foun
79ca0 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 65 dation,.Inc...;;.Author:.Greg.He
79cc0 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 ndershott.;;.URL:.https://github
79ce0 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 .com/greghendershott/racket-mode
79d00 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 ..;;.SPDX-License-Identifier:.GP
79d20 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 6d 6f 64 65 20 70 L-3.0-or-later..;;.racket-mode.p
79d40 65 72 20 73 65 2c 20 69 2e 65 2e 20 74 68 65 20 6d 6f 64 65 20 66 6f 72 20 2e 72 6b 74 20 66 69 er.se,.i.e..the.mode.for..rkt.fi
79d60 6c 65 20 62 75 66 66 65 72 73 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 le.buffers..(require.'cl-lib).(r
79d80 65 71 75 69 72 65 20 27 63 6c 2d 6d 61 63 73 29 0a 28 72 65 71 75 69 72 65 20 27 63 6f 6d 69 6e equire.'cl-macs).(require.'comin
79da0 74 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 75 73 74 6f 6d 29 0a 28 72 65 71 t).(require.'racket-custom).(req
79dc0 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 6d 64 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b uire.'racket-cmd).(require.'rack
79de0 65 74 2d 63 6f 6d 6d 6f 6e 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 6f 6d 70 et-common).(require.'racket-comp
79e00 6c 65 74 65 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 28 72 65 lete).(require.'racket-repl).(re
79e20 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 28 72 65 71 75 69 72 65 20 27 68 69 quire.'racket-util).(require.'hi
79e40 64 65 73 68 6f 77 29 0a 28 72 65 71 75 69 72 65 20 27 78 72 65 66 29 0a 0a 3b 3b 3b 20 53 68 6f deshow).(require.'xref)..;;;.Sho
79e60 77 2f 68 69 64 65 20 74 65 73 74 20 73 75 62 6d 6f 64 75 6c 65 73 0a 0a 28 64 65 66 75 6e 20 72 w/hide.test.submodules..(defun.r
79e80 61 63 6b 65 74 2d 2d 66 6f 6c 64 2d 74 65 73 74 73 20 28 66 6f 6c 64 2d 70 29 0a 20 20 3b 3b 20 acket--fold-tests.(fold-p)...;;.
79ea0 46 6f 72 20 74 68 69 73 20 74 6f 20 77 6f 72 6b 20 69 6e 20 60 72 61 63 6b 65 74 2d 68 61 73 68 For.this.to.work.in.`racket-hash
79ec0 2d 6c 61 6e 67 2d 6d 6f 64 65 27 20 66 6f 72 20 61 6c 6c 20 68 61 73 68 2d 6c 61 6e 67 73 2c 0a -lang-mode'.for.all.hash-langs,.
79ee0 20 20 3b 3b 20 28 61 29 20 77 65 27 64 20 6e 65 65 64 20 74 6f 20 6c 65 61 72 6e 20 74 68 65 20 ..;;.(a).we'd.need.to.learn.the.
79f00 74 65 73 74 20 73 75 62 6d 6f 64 75 6c 65 20 73 70 61 6e 73 20 66 72 6f 6d 20 61 6e 61 6c 79 73 test.submodule.spans.from.analys
79f20 69 73 20 6f 66 0a 20 20 3b 3b 20 66 75 6c 6c 79 2d 65 78 70 61 6e 64 65 64 20 63 6f 64 65 20 28 is.of...;;.fully-expanded.code.(
79f40 61 73 20 77 65 20 63 61 6e 20 64 6f 20 6f 6e 20 74 68 65 20 60 70 64 62 60 20 62 72 61 6e 63 68 as.we.can.do.on.the.`pdb`.branch
79f60 20 77 69 74 68 20 61 0a 20 20 3b 3b 20 73 75 66 66 69 63 69 65 6e 74 6c 79 20 6e 65 77 20 52 61 .with.a...;;.sufficiently.new.Ra
79f80 63 6b 65 74 29 2e 20 41 6e 64 20 74 68 65 6e 2c 20 28 62 29 20 77 65 27 64 20 6e 65 65 64 20 74 cket)..And.then,.(b).we'd.need.t
79fa0 6f 20 64 6f 20 74 68 65 0a 20 20 3b 3b 20 68 69 64 69 6e 67 20 6f 75 72 73 65 6c 76 65 73 2c 20 o.do.the...;;.hiding.ourselves,.
79fc0 77 69 74 68 6f 75 74 20 60 68 73 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 27 2c 20 77 68 69 63 68 20 41 without.`hs-minor-mode',.which.A
79fe0 46 41 49 43 54 20 64 65 6d 61 6e 64 73 0a 20 20 3b 3b 20 72 65 67 65 78 70 73 20 66 6f 72 20 62 FAICT.demands...;;.regexps.for.b
7a000 6c 6f 63 6b 20 73 74 61 72 74 73 20 61 6e 64 20 65 6e 64 73 2e 20 57 65 27 64 20 77 61 6e 74 20 lock.starts.and.ends..We'd.want.
7a020 61 20 22 70 6f 73 69 74 69 6f 6e 61 6c 22 20 6e 6f 74 0a 20 20 3b 3b 20 72 65 67 65 78 70 20 66 a."positional".not...;;.regexp.f
7a040 6c 61 76 6f 72 2c 20 77 68 69 63 68 20 41 46 41 49 4b 20 77 65 27 64 20 6e 65 65 64 20 74 6f 20 lavor,.which.AFAIK.we'd.need.to.
7a060 69 6d 70 6c 65 6d 65 6e 74 20 6f 75 72 73 65 6c 76 65 73 2e 0a 20 20 3b 3b 0a 20 20 3b 3b 20 54 implement.ourselves....;;...;;.T
7a080 4c 3b 44 52 3a 20 46 6f 72 20 6e 6f 77 20 72 65 71 75 69 72 65 20 60 72 61 63 6b 65 74 2d 73 65 L;DR:.For.now.require.`racket-se
7a0a0 78 70 2d 65 64 69 74 2d 6d 6f 64 65 27 2e 0a 20 20 28 75 6e 6c 65 73 73 20 68 73 2d 6d 69 6e 6f xp-edit-mode'....(unless.hs-mino
7a0c0 72 2d 6d 6f 64 65 0a 20 20 20 20 28 68 73 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 29 29 0a 20 20 28 73 r-mode.....(hs-minor-mode))...(s
7a0e0 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f ave-excursion.....(goto-char.(po
7a100 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6e 20 30 29 29 0a 20 20 20 20 20 int-min)).....(let.((n.0))......
7a120 20 28 77 68 69 6c 65 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5e 28 6d 6f .(while.(re-search-forward."^(mo
7a140 64 75 6c 65 5b 2b 2a 5d 3f 20 74 65 73 74 22 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 74 29 0a 20 dule[+*]?.test".(point-max).t)..
7a160 20 20 20 20 20 20 20 28 69 66 20 66 6f 6c 64 2d 70 20 28 68 73 2d 68 69 64 65 2d 62 6c 6f 63 6b .......(if.fold-p.(hs-hide-block
7a180 29 20 28 68 73 2d 73 68 6f 77 2d 62 6c 6f 63 6b 29 29 0a 20 20 20 20 20 20 20 20 28 63 6c 2d 69 ).(hs-show-block)).........(cl-i
7a1a0 6e 63 66 20 6e 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 74 63 68 ncf.n).........(goto-char.(match
7a1c0 2d 65 6e 64 20 30 29 29 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 20 25 64 20 -end.0))).......(message."%s.%d.
7a1e0 74 65 73 74 20 73 75 62 6d 6f 64 75 6c 65 73 22 20 28 69 66 20 66 6f 6c 64 2d 70 20 22 46 6f 6c test.submodules".(if.fold-p."Fol
7a200 64 65 64 22 20 22 55 6e 66 6f 6c 64 65 64 22 29 20 6e 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 ded"."Unfolded").n))))..(defun.r
7a220 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 20 28 29 0a 20 20 22 46 6f 6c 64 20 acket-fold-all-tests.()..."Fold.
7a240 28 68 69 64 65 29 20 61 6c 6c 20 74 65 73 74 20 73 75 62 6d 6f 64 75 6c 65 73 2e 22 0a 20 20 28 (hide).all.test.submodules."...(
7a260 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 73 interactive)...(racket--assert-s
7a280 65 78 70 2d 65 64 69 74 2d 6d 6f 64 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 66 6f 6c 64 2d 74 exp-edit-mode)...(racket--fold-t
7a2a0 65 73 74 73 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 ests.t))..(defun.racket-unfold-a
7a2c0 6c 6c 2d 74 65 73 74 73 20 28 29 0a 20 20 22 55 6e 66 6f 6c 64 20 28 73 68 6f 77 29 20 61 6c 6c ll-tests.()..."Unfold.(show).all
7a2e0 20 74 65 73 74 20 73 75 62 6d 6f 64 75 6c 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 .test.submodules."...(interactiv
7a300 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 73 65 78 70 2d 65 64 69 74 2d 6d e)...(racket--assert-sexp-edit-m
7a320 6f 64 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 66 6f 6c 64 2d 74 65 73 74 73 20 6e 69 6c 29 29 ode)...(racket--fold-tests.nil))
7a340 0a 0a 3b 3b 3b 20 72 65 71 75 69 72 65 73 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 74 69 ..;;;.requires..(defun.racket-ti
7a360 64 79 2d 72 65 71 75 69 72 65 73 20 28 29 0a 20 20 22 4d 61 6b 65 20 61 20 73 69 6e 67 6c 65 20 dy-requires.()..."Make.a.single.
7a380 5c 22 72 65 71 75 69 72 65 5c 22 20 66 6f 72 6d 2c 20 6d 6f 64 75 6c 65 73 20 73 6f 72 74 65 64 \"require\".form,.modules.sorted
7a3a0 2c 20 6f 6e 65 20 70 65 72 20 6c 69 6e 65 2e 0a 0a 54 68 65 20 73 63 6f 70 65 20 6f 66 20 74 68 ,.one.per.line...The.scope.of.th
7a3c0 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 6d 6f 64 75 is.command.is.the.innermost.modu
7a3e0 6c 65 20 61 72 6f 75 6e 64 20 70 6f 69 6e 74 2c 0a 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 6f le.around.point,.including.the.o
7a400 75 74 65 72 6d 6f 73 74 20 6d 6f 64 75 6c 65 20 66 6f 72 20 61 20 66 69 6c 65 20 75 73 69 6e 67 utermost.module.for.a.file.using
7a420 20 61 20 5c 22 23 6c 61 6e 67 5c 22 20 6c 69 6e 65 2e 0a 41 6c 6c 20 72 65 71 75 69 72 65 20 66 .a.\"#lang\".line..All.require.f
7a440 6f 72 6d 73 20 77 69 74 68 69 6e 20 74 68 61 74 20 6d 6f 64 75 6c 65 20 61 72 65 20 63 6f 6d 62 orms.within.that.module.are.comb
7a460 69 6e 65 64 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 0a 66 6f 72 6d 2e 20 57 69 74 68 69 6e 20 ined.into.a.single.form..Within.
7a480 74 68 61 74 20 66 6f 72 6d 3a 0a 0a 2d 20 41 20 73 69 6e 67 6c 65 20 73 75 62 66 6f 72 6d 20 69 that.form:..-.A.single.subform.i
7a4a0 73 20 75 73 65 64 20 66 6f 72 20 65 61 63 68 20 70 68 61 73 65 20 6c 65 76 65 6c 2c 20 73 6f 72 s.used.for.each.phase.level,.sor
7a4c0 74 65 64 20 69 6e 20 74 68 69 73 0a 20 20 6f 72 64 65 72 3a 20 66 6f 72 2d 73 79 6e 74 61 78 2c ted.in.this...order:.for-syntax,
7a4e0 20 66 6f 72 2d 74 65 6d 70 6c 61 74 65 2c 20 66 6f 72 2d 6c 61 62 65 6c 2c 20 66 6f 72 2d 6d 65 .for-template,.for-label,.for-me
7a500 74 61 2c 20 61 6e 64 0a 20 20 70 6c 61 69 6e 20 28 70 68 61 73 65 20 30 29 2e 0a 0a 20 20 2d 20 ta,.and...plain.(phase.0).....-.
7a520 57 69 74 68 69 6e 20 65 61 63 68 20 6c 65 76 65 6c 20 73 75 62 66 6f 72 6d 2c 20 74 68 65 20 6d Within.each.level.subform,.the.m
7a540 6f 64 75 6c 65 73 20 61 72 65 20 73 6f 72 74 65 64 3a 0a 0a 20 20 20 20 2d 20 43 6f 6c 6c 65 63 odules.are.sorted:......-.Collec
7a560 74 69 6f 6e 20 70 61 74 68 20 6d 6f 64 75 6c 65 73 20 2d 2d 20 73 6f 72 74 65 64 20 61 6c 70 68 tion.path.modules.--.sorted.alph
7a580 61 62 65 74 69 63 61 6c 6c 79 2e 0a 0a 20 20 20 20 2d 20 53 75 62 66 6f 72 6d 73 20 73 75 63 68 abetically.......-.Subforms.such
7a5a0 20 61 73 20 6f 6e 6c 79 2d 69 6e 2e 0a 0a 20 20 20 20 2d 20 51 75 6f 74 65 64 20 72 65 6c 61 74 .as.only-in.......-.Quoted.relat
7a5c0 69 76 65 20 72 65 71 75 69 72 65 73 20 2d 2d 20 73 6f 72 74 65 64 20 61 6c 70 68 61 62 65 74 69 ive.requires.--.sorted.alphabeti
7a5e0 63 61 6c 6c 79 2e 0a 0a 41 74 20 6d 6f 73 74 20 6f 6e 65 20 72 65 71 75 69 72 65 64 20 6d 6f 64 cally...At.most.one.required.mod
7a600 75 6c 65 20 69 73 20 6c 69 73 74 65 64 20 70 65 72 20 6c 69 6e 65 2e 0a 0a 53 65 65 20 61 6c 73 ule.is.listed.per.line...See.als
7a620 6f 3a 20 60 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 27 20 61 6e 64 20 60 72 o:.`racket-trim-requires'.and.`r
7a640 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 acket-base-requires'."...(intera
7a660 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 73 65 78 70 2d 65 64 ctive)...(racket--assert-sexp-ed
7a680 69 74 2d 6d 6f 64 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 74 69 64 79 2d 72 65 71 75 69 72 65 it-mode)...(racket--tidy-require
7a6a0 73 20 27 28 29 20 23 27 69 67 6e 6f 72 65 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d s.'().#'ignore))..(defun.racket-
7a6c0 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 20 28 61 64 64 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 -tidy-requires.(add.callback)...
7a6e0 28 70 63 61 73 65 20 28 61 70 70 65 6e 64 20 28 72 61 63 6b 65 74 2d 2d 6d 6f 64 75 6c 65 2d 72 (pcase.(append.(racket--module-r
7a700 65 71 75 69 72 65 73 20 27 66 69 6e 64 29 20 61 64 64 29 0a 20 20 20 20 28 60 28 29 20 28 75 73 equires.'find).add).....(`().(us
7a720 65 72 2d 65 72 72 6f 72 20 22 54 68 65 20 6d 6f 64 75 6c 65 20 68 61 73 20 6e 6f 20 72 65 71 75 er-error."The.module.has.no.requ
7a740 69 72 65 73 3b 20 6e 6f 74 68 69 6e 67 20 74 6f 20 64 6f 22 29 29 0a 20 20 20 20 28 72 65 71 73 ires;.nothing.to.do")).....(reqs
7a760 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 0a 20 20 20 20 20 20 20 20 20 20 20 6e .(racket--cmd/async............n
7a780 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 60 28 72 65 71 75 69 72 65 73 2f 74 69 64 79 20 2c 72 il............`(requires/tidy.,r
7a7a0 65 71 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 75 6c 74 29 eqs)............(lambda.(result)
7a7c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 72 65 73 75 6c 74 0a 20 20 20 20 ..............(pcase.result.....
7a7e0 20 20 20 20 20 20 20 20 20 20 20 28 22 22 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........("".nil).............
7a800 20 20 20 28 6e 65 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 28 ...(new.................(pcase.(
7a820 72 61 63 6b 65 74 2d 2d 6d 6f 64 75 6c 65 2d 72 65 71 75 69 72 65 73 20 27 6b 69 6c 6c 29 0a 20 racket--module-requires.'kill)..
7a840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 29 0a 20 20 20 20 20 20 20 20 20 20 .................(`()...........
7a860 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 72 61 63 6b 65 74 2d 2d 69 6e 73 .........(goto-char.(racket--ins
7a880 69 64 65 2d 69 6e 6e 65 72 6d 6f 73 74 2d 6d 6f 64 75 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 ide-innermost-module))..........
7a8a0 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 29 0a 20 20 20 20 ..........(forward-line.1)).....
7a8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 73 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f ..............(pos.(goto-char.po
7a8e0 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 74 20 28 s))).................(let.((pt.(
7a900 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 point)))...................(inse
7a920 72 74 20 6e 65 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 rt.new)...................(when.
7a940 28 65 71 20 28 63 68 61 72 2d 62 65 66 6f 72 65 20 70 74 29 20 3f 5c 6e 29 0a 20 20 20 20 20 20 (eq.(char-before.pt).?\n).......
7a960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 20 ..............(newline))........
7a980 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 2d 72 65 67 69 6f 6e 20 70 74 20 28 31 2b ...........(indent-region.pt.(1+
7a9a0 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f .(point)))...................(go
7a9c0 74 6f 2d 63 68 61 72 20 70 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e to-char.pt))))..............(fun
7a9e0 63 61 6c 6c 20 63 61 6c 6c 62 61 63 6b 20 72 65 73 75 6c 74 29 29 29 29 29 29 0a 0a 28 64 65 66 call.callback.result))))))..(def
7aa00 75 6e 20 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 20 28 29 0a 20 20 22 4c 69 un.racket-trim-requires.()..."Li
7aa20 6b 65 20 60 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 27 20 62 75 74 20 61 6c ke.`racket-tidy-requires'.but.al
7aa40 73 6f 20 64 65 6c 65 74 65 73 20 75 6e 6e 65 63 65 73 73 61 72 79 20 72 65 71 75 69 72 65 73 2e so.deletes.unnecessary.requires.
7aa60 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 65 ..Note:.This.only.works.when.the
7aa80 20 73 6f 75 72 63 65 20 66 69 6c 65 20 63 61 6e 20 62 65 20 66 75 6c 6c 79 20 65 78 70 61 6e 64 .source.file.can.be.fully.expand
7aaa0 65 64 0a 77 69 74 68 20 6e 6f 20 65 72 72 6f 72 73 2e 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 6f ed.with.no.errors...Note:.This.o
7aac0 6e 6c 79 20 77 6f 72 6b 73 20 66 6f 72 20 72 65 71 75 69 72 65 73 20 61 74 20 74 68 65 20 74 6f nly.works.for.requires.at.the.to
7aae0 70 20 6c 65 76 65 6c 20 6f 66 20 61 20 73 6f 75 72 63 65 0a 66 69 6c 65 20 75 73 69 6e 67 20 23 p.level.of.a.source.file.using.#
7ab00 6c 61 6e 67 2e 20 49 74 20 64 6f 65 73 20 4e 4f 54 20 77 6f 72 6b 20 66 6f 72 20 72 65 71 75 69 lang..It.does.NOT.work.for.requi
7ab20 72 65 20 66 6f 72 6d 73 20 69 6e 73 69 64 65 0a 6d 6f 64 75 6c 65 20 66 6f 72 6d 73 2e 20 46 75 re.forms.inside.module.forms..Fu
7ab40 72 74 68 65 72 6d 6f 72 65 2c 20 69 74 20 69 73 20 6e 6f 74 20 73 6d 61 72 74 20 61 62 6f 75 74 rthermore,.it.is.not.smart.about
7ab60 20 6d 6f 64 75 6c 65 2b 20 6f 72 0a 6d 6f 64 75 6c 65 2a 20 66 6f 72 6d 73 20 2d 2d 20 69 74 20 .module+.or.module*.forms.--.it.
7ab80 6d 69 67 68 74 20 64 65 6c 65 74 65 20 74 6f 70 20 6c 65 76 65 6c 20 72 65 71 75 69 72 65 73 20 might.delete.top.level.requires.
7aba0 74 68 61 74 20 61 72 65 0a 61 63 74 75 61 6c 6c 79 20 6e 65 65 64 65 64 20 62 79 20 73 75 63 68 that.are.actually.needed.by.such
7abc0 20 73 75 62 6d 6f 64 75 6c 65 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 72 61 63 6b 65 74 2d .submodules...See.also:.`racket-
7abe0 62 61 73 65 2d 72 65 71 75 69 72 65 73 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 base-requires'."...(interactive)
7ac00 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 65 64 69 74 2d 6d 6f 64 65 29 0a 20 20 ...(racket--assert-edit-mode)...
7ac20 28 77 68 65 6e 20 28 72 61 63 6b 65 74 2d 2d 73 75 62 6d 6f 64 75 6c 65 2d 79 2d 6f 72 2d 6e 2d (when.(racket--submodule-y-or-n-
7ac40 70 29 0a 20 20 20 28 72 61 63 6b 65 74 2d 2d 73 61 76 65 2d 69 66 2d 63 68 61 6e 67 65 64 29 0a p)....(racket--save-if-changed).
7ac60 20 20 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 74 2d 2d 6d 6f 64 75 6c 65 2d 72 65 71 75 69 72 ...(pcase.(racket--module-requir
7ac80 65 73 20 27 66 69 6e 64 20 74 29 0a 20 20 20 20 20 28 60 6e 69 6c 20 28 75 73 65 72 2d 65 72 72 es.'find.t)......(`nil.(user-err
7aca0 6f 72 20 22 54 68 65 20 66 69 6c 65 20 6d 6f 64 75 6c 65 20 68 61 73 20 6e 6f 20 72 65 71 75 69 or."The.file.module.has.no.requi
7acc0 72 65 73 3b 20 6e 6f 74 68 69 6e 67 20 74 6f 20 64 6f 22 29 29 0a 20 20 20 20 20 28 72 65 71 73 res;.nothing.to.do"))......(reqs
7ace0 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(racket--cmd/async.............
7ad00 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 28 72 65 71 75 69 72 65 73 2f 74 72 69 6d 0a nil.............`(requires/trim.
7ad20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 ..............,(racket--buffer-f
7ad40 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 72 65 71 73 29 0a 20 ile-name)...............,reqs)..
7ad60 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 ...........(lambda.(result).....
7ad80 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 ..........(pcase.result.........
7ada0 20 20 20 20 20 20 20 20 28 60 6e 69 6c 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 53 79 6e 74 61 ........(`nil.(user-error."Synta
7adc0 78 20 65 72 72 6f 72 20 69 6e 20 73 6f 75 72 63 65 20 66 69 6c 65 22 29 29 0a 20 20 20 20 20 20 x.error.in.source.file")).......
7ade0 20 20 20 20 20 20 20 20 20 20 28 22 22 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 72 61 63 6b ..........(""...(goto-char.(rack
7ae00 65 74 2d 2d 6d 6f 64 75 6c 65 2d 72 65 71 75 69 72 65 73 20 27 6b 69 6c 6c 20 74 29 29 29 0a 20 et--module-requires.'kill.t)))..
7ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 ...............(new..(goto-char.
7ae40 28 72 61 63 6b 65 74 2d 2d 6d 6f 64 75 6c 65 2d 72 65 71 75 69 72 65 73 20 27 6b 69 6c 6c 20 74 (racket--module-requires.'kill.t
7ae60 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 )).......................(insert
7ae80 20 28 63 6f 6e 63 61 74 20 6e 65 77 20 22 5c 6e 22 29 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 .(concat.new."\n"))))))))))..(de
7aea0 66 75 6e 20 72 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 20 28 29 0a 20 20 22 43 fun.racket-base-requires.()..."C
7aec0 68 61 6e 67 65 20 66 72 6f 6d 20 5c 22 23 6c 61 6e 67 20 72 61 63 6b 65 74 5c 22 20 74 6f 20 5c hange.from.\"#lang.racket\".to.\
7aee0 22 23 6c 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 5c 22 2e 0a 0a 41 64 64 73 20 65 78 70 6c "#lang.racket/base\"...Adds.expl
7af00 69 63 69 74 20 72 65 71 75 69 72 65 73 20 66 6f 72 20 69 6d 70 6f 72 74 73 20 74 68 61 74 20 61 icit.requires.for.imports.that.a
7af20 72 65 20 70 72 6f 76 69 64 65 64 20 62 79 0a 5c 22 72 61 63 6b 65 74 5c 22 20 62 75 74 20 6e 6f re.provided.by.\"racket\".but.no
7af40 74 20 62 79 20 5c 22 72 61 63 6b 65 74 2f 62 61 73 65 5c 22 2e 0a 0a 54 68 69 73 20 69 73 20 61 t.by.\"racket/base\"...This.is.a
7af60 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 66 6f 72 20 52 61 .recommended.optimization.for.Ra
7af80 63 6b 65 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 2e 0a 41 76 6f 69 64 69 6e 67 20 6c 6f 61 64 cket.applications..Avoiding.load
7afa0 69 6e 67 20 61 6c 6c 20 6f 66 20 5c 22 72 61 63 6b 65 74 5c 22 20 63 61 6e 20 72 65 64 75 63 65 ing.all.of.\"racket\".can.reduce
7afc0 20 6c 6f 61 64 20 74 69 6d 65 20 61 6e 64 0a 6d 65 6d 6f 72 79 20 66 6f 6f 74 70 72 69 6e 74 2e .load.time.and.memory.footprint.
7afe0 0a 0a 41 6c 73 6f 2c 20 61 73 20 64 6f 65 73 20 60 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 ..Also,.as.does.`racket-trim-req
7b000 75 69 72 65 73 27 2c 20 74 68 69 73 20 72 65 6d 6f 76 65 73 20 75 6e 6e 65 65 64 65 64 0a 6d 6f uires',.this.removes.unneeded.mo
7b020 64 75 6c 65 73 20 61 6e 64 20 74 69 64 69 65 73 20 65 76 65 72 79 74 68 69 6e 67 20 69 6e 74 6f dules.and.tidies.everything.into
7b040 20 61 20 73 69 6e 67 6c 65 2c 20 73 6f 72 74 65 64 20 72 65 71 75 69 72 65 20 66 6f 72 6d 2e 0a .a.single,.sorted.require.form..
7b060 0a 4e 6f 74 65 3a 20 54 68 69 73 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 65 20 .Note:.This.only.works.when.the.
7b080 73 6f 75 72 63 65 20 66 69 6c 65 20 63 61 6e 20 62 65 20 66 75 6c 6c 79 20 65 78 70 61 6e 64 65 source.file.can.be.fully.expande
7b0a0 64 0a 77 69 74 68 20 6e 6f 20 65 72 72 6f 72 73 2e 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 6f 6e d.with.no.errors...Note:.This.on
7b0c0 6c 79 20 77 6f 72 6b 73 20 66 6f 72 20 72 65 71 75 69 72 65 73 20 61 74 20 74 68 65 20 74 6f 70 ly.works.for.requires.at.the.top
7b0e0 20 6c 65 76 65 6c 20 6f 66 20 61 20 73 6f 75 72 63 65 0a 66 69 6c 65 20 75 73 69 6e 67 20 23 6c .level.of.a.source.file.using.#l
7b100 61 6e 67 2e 20 49 74 20 64 6f 65 73 20 4e 4f 54 20 77 6f 72 6b 20 66 6f 72 20 72 65 71 75 69 72 ang..It.does.NOT.work.for.requir
7b120 65 20 66 6f 72 6d 73 20 69 6e 73 69 64 65 0a 6d 6f 64 75 6c 65 20 66 6f 72 6d 73 2e 20 46 75 72 e.forms.inside.module.forms..Fur
7b140 74 68 65 72 6d 6f 72 65 2c 20 69 74 20 69 73 20 6e 6f 74 20 73 6d 61 72 74 20 61 62 6f 75 74 20 thermore,.it.is.not.smart.about.
7b160 6d 6f 64 75 6c 65 2b 20 6f 72 0a 6d 6f 64 75 6c 65 2a 20 66 6f 72 6d 73 20 2d 2d 20 69 74 20 6d module+.or.module*.forms.--.it.m
7b180 69 67 68 74 20 64 65 6c 65 74 65 20 74 6f 70 20 6c 65 76 65 6c 20 72 65 71 75 69 72 65 73 20 74 ight.delete.top.level.requires.t
7b1a0 68 61 74 20 61 72 65 0a 61 63 74 75 61 6c 6c 79 20 6e 65 65 64 65 64 20 62 79 20 73 75 63 68 20 hat.are.actually.needed.by.such.
7b1c0 73 75 62 6d 6f 64 75 6c 65 73 2e 0a 0a 4e 6f 74 65 3a 20 43 75 72 72 65 6e 74 6c 79 20 74 68 69 submodules...Note:.Currently.thi
7b1e0 73 20 6f 6e 6c 79 20 68 65 6c 70 73 20 63 68 61 6e 67 65 20 5c 22 23 6c 61 6e 67 20 72 61 63 6b s.only.helps.change.\"#lang.rack
7b200 65 74 5c 22 20 74 6f 0a 5c 22 23 6c 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 5c 22 2e 20 49 et\".to.\"#lang.racket/base\"..I
7b220 74 20 64 6f 65 73 20 6e 6f 74 20 68 65 6c 70 20 77 69 74 68 20 6f 74 68 65 72 20 73 69 6d 69 6c t.does.not.help.with.other.simil
7b240 61 72 0a 63 6f 6e 76 65 72 73 69 6f 6e 73 2c 20 73 75 63 68 20 61 73 20 63 68 61 6e 67 69 6e 67 ar.conversions,.such.as.changing
7b260 20 5c 22 23 6c 61 6e 67 20 74 79 70 65 64 2f 72 61 63 6b 65 74 5c 22 20 74 6f 20 5c 22 23 6c 61 .\"#lang.typed/racket\".to.\"#la
7b280 6e 67 0a 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 62 61 73 65 5c 22 2e 22 0a 20 20 28 69 6e 74 65 ng.typed/racket/base\"."...(inte
7b2a0 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 73 65 78 70 2d ractive)...(racket--assert-sexp-
7b2c0 65 64 69 74 2d 6d 6f 64 65 29 0a 20 20 28 77 68 65 6e 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 edit-mode)...(when.(racket--buff
7b2e0 65 72 2d 73 74 61 72 74 2d 72 65 20 22 5e 23 6c 61 6e 67 2e 2a 3f 20 72 61 63 6b 65 74 2f 62 61 er-start-re."^#lang.*?.racket/ba
7b300 73 65 24 22 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 41 6c 72 65 61 64 79 20 75 se$").....(user-error."Already.u
7b320 73 69 6e 67 20 23 6c 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 2e 20 4e 6f 74 68 69 6e 67 20 sing.#lang.racket/base..Nothing.
7b340 74 6f 20 63 68 61 6e 67 65 2e 22 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 72 61 63 6b 65 74 2d to.change."))...(unless.(racket-
7b360 2d 62 75 66 66 65 72 2d 73 74 61 72 74 2d 72 65 20 22 5e 23 6c 61 6e 67 2e 2a 3f 20 72 61 63 6b -buffer-start-re."^#lang.*?.rack
7b380 65 74 24 22 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 46 69 6c 65 20 64 6f 65 73 et$").....(user-error."File.does
7b3a0 20 6e 6f 74 20 75 73 65 20 75 73 65 20 23 6c 61 6e 67 20 72 61 63 6b 65 74 2e 20 43 61 6e 6e 6f .not.use.use.#lang.racket..Canno
7b3c0 74 20 63 68 61 6e 67 65 2e 22 29 29 0a 20 20 28 77 68 65 6e 20 28 72 61 63 6b 65 74 2d 2d 73 75 t.change."))...(when.(racket--su
7b3e0 62 6d 6f 64 75 6c 65 2d 79 2d 6f 72 2d 6e 2d 70 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 73 bmodule-y-or-n-p).....(racket--s
7b400 61 76 65 2d 69 66 2d 63 68 61 6e 67 65 64 29 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 71 73 20 ave-if-changed).....(let.((reqs.
7b420 28 72 61 63 6b 65 74 2d 2d 6d 6f 64 75 6c 65 2d 72 65 71 75 69 72 65 73 20 27 66 69 6e 64 20 74 (racket--module-requires.'find.t
7b440 29 29 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 0a 20 20 20 ))).......(racket--cmd/async....
7b460 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 60 28 72 65 71 75 69 72 65 73 2f 62 61 73 65 0a 20 ....nil........`(requires/base..
7b480 20 20 20 20 20 20 20 20 2c 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 ........,(racket--buffer-file-na
7b4a0 6d 65 29 0a 20 20 20 20 20 20 20 20 20 2c 72 65 71 73 29 0a 20 20 20 20 20 20 20 28 6c 61 6d 62 me)..........,reqs)........(lamb
7b4c0 64 61 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 72 65 73 75 da.(result)..........(pcase.resu
7b4e0 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 60 6e 69 6c 20 28 75 73 65 72 2d 65 72 72 6f 72 20 lt............(`nil.(user-error.
7b500 22 53 79 6e 74 61 78 20 65 72 72 6f 72 20 69 6e 20 73 6f 75 72 63 65 20 66 69 6c 65 22 29 29 0a "Syntax.error.in.source.file")).
7b520 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e ...........(new.(goto-char.(poin
7b540 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 2d 73 65 61 72 t-min)).................(re-sear
7b560 63 68 2d 66 6f 72 77 61 72 64 20 22 5e 23 6c 61 6e 67 2e 2a 3f 20 72 61 63 6b 65 74 24 22 29 0a ch-forward."^#lang.*?.racket$").
7b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 2f 62 61 73 65 22 29 ................(insert."/base")
7b5a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 6f 72 20 .................(goto-char.(or.
7b5c0 28 72 61 63 6b 65 74 2d 2d 6d 6f 64 75 6c 65 2d 72 65 71 75 69 72 65 73 20 27 6b 69 6c 6c 20 74 (racket--module-requires.'kill.t
7b5e0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
7b600 20 28 70 72 6f 67 6e 20 28 69 6e 73 65 72 74 20 22 5c 6e 5c 6e 22 29 20 28 70 6f 69 6e 74 29 29 .(progn.(insert."\n\n").(point))
7b620 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 )).................(unless.(stri
7b640 6e 67 3d 20 22 22 20 6e 65 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 ng=."".new)...................(i
7b660 6e 73 65 72 74 20 28 63 6f 6e 63 61 74 20 6e 65 77 20 22 5c 6e 22 29 29 29 29 29 29 29 29 29 29 nsert.(concat.new."\n"))))))))))
7b680 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 75 62 6d 6f 64 75 6c 65 2d 79 2d 6f 72 2d ..(defun.racket--submodule-y-or-
7b6a0 6e 2d 70 20 28 29 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 67 6f n-p.()...(save-excursion.....(go
7b6c0 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 6f 72 20 28 6e 6f to-char.(point-min)).....(or.(no
7b6e0 74 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 28 72 78 20 3f 5c 28 20 22 6d 6f t.(re-search-forward.(rx.?\(."mo
7b700 64 75 6c 65 22 20 28 6f 72 20 22 2b 22 20 22 2a 22 29 29 20 6e 69 6c 20 74 29 29 0a 20 20 20 20 dule".(or."+"."*")).nil.t)).....
7b720 20 20 20 20 28 70 72 6f 67 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 79 2d 6f 72 2d 6e 2d 70 ....(prog1.............(y-or-n-p
7b740 20 22 41 6e 61 6c 79 73 69 73 20 77 69 6c 6c 20 62 65 20 75 6e 72 65 6c 69 61 62 6c 65 20 64 75 ."Analysis.will.be.unreliable.du
7b760 65 20 74 6f 20 6d 6f 64 75 6c 65 2b 20 6f 72 20 6d 6f 64 75 6c 65 2a 20 66 6f 72 6d 73 20 2d 2d e.to.module+.or.module*.forms.--
7b780 20 70 72 6f 63 65 65 64 20 61 6e 79 77 61 79 3f 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d .proceed.anyway?.")...........(m
7b7a0 65 73 73 61 67 65 20 22 22 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 62 essage."")))))..(defun.racket--b
7b7c0 75 66 66 65 72 2d 73 74 61 72 74 2d 72 65 20 28 72 65 29 0a 20 20 28 73 61 76 65 2d 65 78 63 75 uffer-start-re.(re)...(save-excu
7b7e0 72 73 69 6f 6e 0a 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 28 rsion.....(ignore-errors.......(
7b800 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 72 65 goto-char.(point-min)).......(re
7b820 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 72 65 29 0a 20 20 20 20 20 20 74 29 29 29 0a 0a -search-forward.re).......t)))..
7b840 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6d 6f 64 75 6c 65 2d 72 65 71 75 69 72 65 73 20 28 (defun.racket--module-requires.(
7b860 77 68 61 74 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 75 74 65 72 6d 6f 73 74 2d 70 29 0a 20 20 22 49 what.&optional.outermost-p)..."I
7b880 64 65 6e 74 69 66 79 20 61 6c 6c 20 72 65 71 75 69 72 65 20 66 6f 72 6d 73 20 61 6e 64 20 64 6f dentify.all.require.forms.and.do
7b8a0 20 57 48 41 54 2e 0a 0a 57 68 65 6e 20 57 48 41 54 20 69 73 20 5c 22 66 69 6e 64 5c 22 2c 20 72 .WHAT...When.WHAT.is.\"find\",.r
7b8c0 65 74 75 72 6e 20 74 68 65 20 72 65 71 75 69 72 65 20 66 6f 72 6d 73 2e 0a 0a 57 68 65 6e 20 57 eturn.the.require.forms...When.W
7b8e0 48 41 54 20 69 73 20 5c 22 6b 69 6c 6c 5c 22 2c 20 6b 69 6c 6c 20 74 68 65 20 72 65 71 75 69 72 HAT.is.\"kill\",.kill.the.requir
7b900 65 20 66 6f 72 6d 73 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 0a 70 6f 73 69 74 69 6f 6e 20 e.forms.and.return.the.position.
7b920 77 68 65 72 65 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 20 68 61 64 20 73 74 61 72 74 65 64 2e where.the.first.one.had.started.
7b940 0a 0a 4f 55 54 45 52 4d 4f 53 54 2d 50 20 73 61 79 73 20 77 68 69 63 68 20 6d 6f 64 75 6c 65 27 ..OUTERMOST-P.says.which.module'
7b960 73 20 72 65 71 75 69 72 65 73 3a 20 74 72 75 65 20 6d 65 61 6e 73 20 74 68 65 0a 6f 75 74 65 72 s.requires:.true.means.the.outer
7b980 6d 6f 73 74 20 66 69 6c 65 20 6d 6f 64 75 6c 65 2c 20 6e 69 6c 20 6d 65 61 6e 73 20 74 68 65 20 most.file.module,.nil.means.the.
7b9a0 69 6e 6e 65 72 6d 6f 73 74 20 6d 6f 64 75 6c 65 20 61 72 6f 75 6e 64 0a 70 6f 69 6e 74 2e 22 0a innermost.module.around.point.".
7b9c0 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 ..(save-excursion.....(goto-char
7b9e0 20 28 69 66 20 6f 75 74 65 72 6d 6f 73 74 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(if.outermost-p................
7ba00 20 20 20 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(point-min).................
7ba20 20 28 72 61 63 6b 65 74 2d 2d 69 6e 73 69 64 65 2d 69 6e 6e 65 72 6d 6f 73 74 2d 6d 6f 64 75 6c .(racket--inside-innermost-modul
7ba40 65 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 69 72 73 74 2d 62 65 67 20 6e 69 6c 29 0a 20 e))).....(let.((first-beg.nil)..
7ba60 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 73 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 .........(requires.nil)).......(
7ba80 77 68 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 while...........(condition-case.
7baa0 5f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6e 64 20 28 70 72 6f 67 _...............(let.((end.(prog
7bac0 6e 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 20 31 29 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 n.(forward-sexp..1).(point)))...
7bae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 65 67 20 28 70 72 6f 67 6e 20 28 66 ..................(beg.(progn.(f
7bb00 6f 72 77 61 72 64 2d 73 65 78 70 20 2d 31 29 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 orward-sexp.-1).(point))))......
7bb20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 65 6e 64 20 28 70 ...........(unless.(equal.end.(p
7bb40 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 oint-max))...................(wh
7bb60 65 6e 20 28 70 72 6f 67 31 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 72 65 en.(prog1.(racket--looking-at-re
7bb80 71 75 69 72 65 2d 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 quire-form).....................
7bba0 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 ......(goto-char.end))..........
7bbc0 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 66 69 72 73 74 2d 62 65 67 20 28 73 65 ...........(unless.first-beg.(se
7bbe0 74 71 20 66 69 72 73 74 2d 62 65 67 20 62 65 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 tq.first-beg.beg))..............
7bc00 20 20 20 20 20 20 20 28 70 75 73 68 20 28 72 65 61 64 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 .......(push.(read.(buffer-subst
7bc20 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 29 29 0a 20 20 20 ring-no-properties.beg.end))....
7bc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 73 29 .......................requires)
7bc60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 27 .....................(when.(eq.'
7bc80 6b 69 6c 6c 20 77 68 61 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 kill.what)......................
7bca0 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 .(delete-region.beg.end)........
7bcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 62 6c 61 6e 6b 2d 6c 69 6e ...............(delete-blank-lin
7bce0 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 29 0a 20 20 20 20 es)))...................t)).....
7bd00 20 20 20 20 20 20 20 20 28 73 63 61 6e 2d 65 72 72 6f 72 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 ........(scan-error.nil)))......
7bd20 20 28 69 66 20 28 65 71 20 27 6b 69 6c 6c 20 77 68 61 74 29 20 66 69 72 73 74 2d 62 65 67 20 72 .(if.(eq.'kill.what).first-beg.r
7bd40 65 71 75 69 72 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 69 6e 73 69 equires))))..(defun.racket--insi
7bd60 64 65 2d 69 6e 6e 65 72 6d 6f 73 74 2d 6d 6f 64 75 6c 65 20 28 29 0a 20 20 22 50 6f 73 69 74 69 de-innermost-module.()..."Positi
7bd80 6f 6e 20 6f 66 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 69 6e 73 69 64 65 20 6f 66 on.of.the.start.of.the.inside.of
7bda0 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 6d 6f 64 75 6c 65 0a 61 72 6f 75 6e 64 20 70 6f 69 .the.innermost.module.around.poi
7bdc0 6e 74 2e 20 54 68 69 73 20 63 6f 75 6c 64 20 62 65 20 5c 22 28 70 6f 69 6e 74 2d 6d 69 6e 29 5c nt..This.could.be.\"(point-min)\
7bde0 22 20 69 66 20 70 6f 69 6e 74 20 69 73 20 77 69 74 68 69 6e 20 6e 6f 0a 6d 6f 64 75 6c 65 20 66 ".if.point.is.within.no.module.f
7be00 6f 72 6d 2c 20 6d 65 61 6e 69 6e 67 20 74 68 65 20 6f 75 74 65 72 6d 6f 73 74 2c 20 66 69 6c 65 orm,.meaning.the.outermost,.file
7be20 20 6d 6f 64 75 6c 65 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 .module."...(save-excursion.....
7be40 28 72 61 63 6b 65 74 2d 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 2d 6f 72 2d 63 6f 6d 6d 65 6e (racket--escape-string-or-commen
7be60 74 29 0a 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 20 20 20 20 20 t).....(condition-case._........
7be80 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 72 .(progn...........(while.(not.(r
7bea0 61 63 6b 65 74 2d 2d 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 6d 6f 64 75 6c 65 2d 66 6f 72 6d 29 29 0a acket--looking-at-module-form)).
7bec0 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 29 29 0a ............(backward-up-list)).
7bee0 20 20 20 20 20 20 20 20 20 20 28 64 6f 77 6e 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 ..........(down-list)...........
7bf00 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 73 63 61 6e 2d 65 72 72 6f 72 20 28 70 6f 69 6e (point)).......(scan-error.(poin
7bf20 74 2d 6d 69 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6c 6f 6f 6b 69 t-min)))))..(defun.racket--looki
7bf40 6e 67 2d 61 74 2d 72 65 71 75 69 72 65 2d 66 6f 72 6d 20 28 29 0a 20 20 3b 3b 20 41 73 73 75 6d ng-at-require-form.()...;;.Assum
7bf60 65 73 20 79 6f 75 20 6e 61 76 69 67 61 74 65 64 20 74 6f 20 70 6f 69 6e 74 20 75 73 69 6e 67 20 es.you.navigated.to.point.using.
7bf80 61 20 6d 65 74 68 6f 64 20 74 68 61 74 20 69 67 6e 6f 72 65 73 0a 20 20 3b 3b 20 73 74 72 69 6e a.method.that.ignores...;;.strin
7bfa0 67 73 20 61 6e 64 20 63 6f 6d 6d 65 6e 74 73 2c 20 70 72 65 66 65 72 61 62 6c 79 20 60 66 6f 72 gs.and.comments,.preferably.`for
7bfc0 77 61 72 64 2d 73 65 78 70 27 2e 0a 20 20 28 61 6e 64 20 28 65 71 20 3f 5c 28 20 28 63 68 61 72 ward-sexp'....(and.(eq.?\(.(char
7bfe0 2d 73 79 6e 74 61 78 20 28 63 68 61 72 2d 61 66 74 65 72 29 29 29 0a 20 20 20 20 20 20 20 28 73 -syntax.(char-after)))........(s
7c000 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 28 64 6f 77 6e 2d 6c 69 73 ave-excursion..........(down-lis
7c020 74 20 31 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 70 20 22 72 65 71 t.1)..........(looking-at-p."req
7c040 75 69 72 65 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 61 64 64 2d 72 65 71 uire"))))..(defun.racket-add-req
7c060 75 69 72 65 2d 66 6f 72 2d 69 64 65 6e 74 69 66 69 65 72 20 28 29 0a 20 20 22 41 64 64 20 61 20 uire-for-identifier.()..."Add.a.
7c080 72 65 71 75 69 72 65 20 66 6f 72 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 61 74 20 70 6f require.for.the.identifier.at.po
7c0a0 69 6e 74 2e 0a 0a 57 68 65 6e 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 6d 6f 64 75 6c 65 20 int...When.more.than.one.module.
7c0c0 73 75 70 70 6c 69 65 73 20 61 6e 20 69 64 65 6e 74 69 66 65 72 20 77 69 74 68 20 74 68 65 20 73 supplies.an.identifer.with.the.s
7c0e0 61 6d 65 0a 6e 61 6d 65 2c 20 74 68 65 79 20 61 72 65 20 6c 69 73 74 65 64 20 66 6f 72 20 79 6f ame.name,.they.are.listed.for.yo
7c100 75 20 74 6f 20 63 68 6f 6f 73 65 20 6f 6e 65 2e 20 54 68 65 20 6c 69 73 74 20 69 73 20 73 6f 72 u.to.choose.one..The.list.is.sor
7c120 74 65 64 0a 61 6c 70 68 61 62 65 74 69 63 61 6c 6c 79 2c 20 65 78 63 65 70 74 20 6d 6f 64 75 6c ted.alphabetically,.except.modul
7c140 65 73 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 5c 22 72 61 63 6b 65 74 2f 5c 22 20 61 6e 64 es.starting.with.\"racket/\".and
7c160 0a 5c 22 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 5c 22 20 61 72 65 20 73 6f 72 74 65 64 20 62 65 .\"typed/racket/\".are.sorted.be
7c180 66 6f 72 65 20 6f 74 68 65 72 73 2e 0a 0a 41 20 5c 22 72 65 71 75 69 72 65 5c 22 20 66 6f 72 6d fore.others...A.\"require\".form
7c1a0 20 69 73 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 74 68 65 20 62 75 66 66 65 72 2c 20 66 6f .is.inserted.into.the.buffer,.fo
7c1c0 6c 6c 6f 77 65 64 20 62 79 20 64 6f 69 6e 67 0a 61 20 60 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 llowed.by.doing.a.`racket-tidy-r
7c1e0 65 71 75 69 72 65 73 27 2e 0a 0a 43 61 76 65 61 74 3a 20 54 68 69 73 20 77 6f 72 6b 73 20 69 6e equires'...Caveat:.This.works.in
7c200 20 74 65 72 6d 73 20 6f 66 20 69 64 65 6e 74 69 66 69 65 72 73 20 74 68 61 74 20 61 72 65 20 64 .terms.of.identifiers.that.are.d
7c220 6f 63 75 6d 65 6e 74 65 64 2e 0a 54 68 65 20 6d 65 63 68 61 6e 69 73 6d 20 69 73 20 73 69 6d 69 ocumented..The.mechanism.is.simi
7c240 6c 61 72 20 74 6f 20 74 68 61 74 20 75 73 65 64 20 66 6f 72 20 52 61 63 6b 65 74 27 73 20 5c 22 lar.to.that.used.for.Racket's.\"
7c260 53 65 61 72 63 68 0a 4d 61 6e 75 61 6c 73 5c 22 20 66 65 61 74 75 72 65 2e 20 54 6f 64 61 79 20 Search.Manuals\".feature..Today.
7c280 74 68 65 72 65 20 65 78 69 73 74 73 20 6e 6f 20 73 79 73 74 65 6d 2d 77 69 64 65 20 64 61 74 61 there.exists.no.system-wide.data
7c2a0 62 61 73 65 20 6f 66 0a 69 64 65 6e 74 69 66 69 65 72 73 20 74 68 61 74 20 61 72 65 20 65 78 70 base.of.identifiers.that.are.exp
7c2c0 6f 72 74 65 64 20 62 75 74 20 6e 6f 74 20 64 6f 63 75 6d 65 6e 74 65 64 2e 22 0a 20 20 28 69 6e orted.but.not.documented."...(in
7c2e0 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 73 65 78 teractive)...(racket--assert-sex
7c300 70 2d 65 64 69 74 2d 6d 6f 64 65 29 0a 20 20 28 6c 65 74 20 28 28 73 79 6d 2d 61 74 2d 70 6f 69 p-edit-mode)...(let.((sym-at-poi
7c320 6e 74 20 28 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 20 27 73 79 6d 62 6f 6c 20 74 29 29 29 0a nt.(thing-at-point.'symbol.t))).
7c340 20 20 20 20 28 75 6e 6c 65 73 73 20 73 79 6d 2d 61 74 2d 70 6f 69 6e 74 0a 20 20 20 20 20 20 28 ....(unless.sym-at-point.......(
7c360 75 73 65 72 2d 65 72 72 6f 72 20 22 54 68 65 72 65 20 64 6f 65 73 20 6e 6f 74 20 73 65 65 6d 20 user-error."There.does.not.seem.
7c380 74 6f 20 62 65 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 61 74 20 70 6f 69 6e 74 22 29 29 0a to.be.an.identifier.at.point")).
7c3a0 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 0a 20 20 20 20 20 6e 69 6c 0a ....(racket--cmd/async......nil.
7c3c0 20 20 20 20 20 60 28 72 65 71 75 69 72 65 73 2f 66 69 6e 64 20 2c 73 79 6d 2d 61 74 2d 70 6f 69 .....`(requires/find.,sym-at-poi
7c3e0 6e 74 29 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 nt)......(lambda.(result).......
7c400 20 28 6c 65 74 20 28 28 6c 69 62 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 .(let.((lib...............(pcase
7c420 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 29 0a 20 20 20 .result.................(`()....
7c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 5c 22 25 73 5c 22 20 69 ..............(message."\"%s\".i
7c460 73 20 6e 6f 74 20 61 20 64 6f 63 75 6d 65 6e 74 65 64 20 65 78 70 6f 72 74 20 6f 66 20 61 6e 79 s.not.a.documented.export.of.any
7c480 20 69 6e 73 74 61 6c 6c 65 64 20 6c 69 62 72 61 72 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 .installed.library".............
7c4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 79 6d 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 ..............sym-at-point).....
7c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............nil)...............
7c4e0 20 20 28 60 28 2c 6c 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 62 29 ..(`(,lib)..................lib)
7c500 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 62 73 0a 20 20 20 20 20 20 20 20 20 .................(libs..........
7c520 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 0a 20 20 20 20 20 20 20 ........(completing-read........
7c540 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 5c 22 25 73 5c 22 20 69 73 20 70 72 ...........(format."\"%s\".is.pr
7c560 6f 76 69 64 65 64 20 62 79 20 6d 75 6c 74 69 70 6c 65 20 6c 69 62 72 61 72 69 65 73 2c 20 63 68 ovided.by.multiple.libraries,.ch
7c580 6f 6f 73 65 20 6f 6e 65 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oose.one:.".....................
7c5a0 20 20 20 20 20 20 73 79 6d 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......sym-at-point).............
7c5c0 20 20 20 20 20 20 6c 69 62 73 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 6c ......libs)))))..........(when.l
7c5e0 69 62 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 74 20 20 28 63 6f 70 79 2d 6d ib............(let.((pt..(copy-m
7c600 61 72 6b 65 72 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 arker.(point))).................
7c620 20 28 72 65 71 20 60 28 72 65 71 75 69 72 65 20 2c 28 69 6e 74 65 72 6e 20 6c 69 62 29 29 29 29 .(req.`(require.,(intern.lib))))
7c640 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 74 69 64 79 2d 72 65 71 75 ..............(racket--tidy-requ
7c660 69 72 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 72 65 71 29 0a 20 20 ires...............(list.req)...
7c680 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 75 6c 74 29 0a 20 20 20 ............(lambda.(result)....
7c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 74 29 0a 20 20 20 20 .............(goto-char.pt).....
7c6c0 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 ............(when.result........
7c6e0 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 41 64 64 65 64 20 5c 22 25 73 5c ...........(message."Added.\"%s\
7c700 22 20 61 6e 64 20 64 69 64 20 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 22 20 ".and.did.racket-tidy-requires".
7c720 72 65 71 29 29 29 29 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 61 6c 69 67 6e 0a 0a 28 64 65 66 75 req)))))))))))..;;;.align..(defu
7c740 6e 20 72 61 63 6b 65 74 2d 61 6c 69 67 6e 20 28 29 0a 20 20 22 41 6c 69 67 6e 20 76 61 6c 75 65 n.racket-align.()..."Align.value
7c760 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 63 6f 6c 75 6d 6e 2e 0a 0a 55 73 65 66 75 6c 20 66 6f s.in.the.same.column...Useful.fo
7c780 72 20 62 69 6e 64 69 6e 67 20 66 6f 72 6d 73 20 6c 69 6b 65 20 5c 22 6c 65 74 5c 22 20 61 6e 64 r.binding.forms.like.\"let\".and
7c7a0 20 5c 22 70 61 72 61 6d 65 74 65 72 69 7a 65 5c 22 2c 0a 63 6f 6e 64 69 74 69 6f 6e 61 6c 73 20 .\"parameterize\",.conditionals.
7c7c0 6c 69 6b 65 20 5c 22 63 6f 6e 64 5c 22 20 61 6e 64 20 5c 22 6d 61 74 63 68 5c 22 2c 20 61 73 73 like.\"cond\".and.\"match\",.ass
7c7e0 6f 63 69 61 74 69 6f 6e 20 6c 69 73 74 73 2c 20 61 6e 64 0a 61 6e 79 20 73 65 72 69 65 73 20 6f ociation.lists,.and.any.series.o
7c800 66 20 63 6f 75 70 6c 65 73 20 6c 69 6b 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 f.couples.like.the.arguments.to.
7c820 5c 22 68 61 73 68 5c 22 2e 0a 0a 42 65 66 6f 72 65 20 63 68 6f 6f 73 69 6e 67 20 74 68 69 73 20 \"hash\"...Before.choosing.this.
7c840 63 6f 6d 6d 61 6e 64 2c 20 70 75 74 20 70 6f 69 6e 74 20 6f 6e 20 74 68 65 20 66 69 72 73 74 20 command,.put.point.on.the.first.
7c860 6f 66 20 61 20 73 65 72 69 65 73 0a 6f 66 20 5c 22 63 6f 75 70 6c 65 73 5c 22 2e 20 41 20 63 6f of.a.series.of.\"couples\"..A.co
7c880 75 70 6c 65 20 69 73 3a 0a 0a 2d 20 41 20 6c 69 73 74 20 6f 66 20 74 77 6f 20 6f 72 20 6d 6f 72 uple.is:..-.A.list.of.two.or.mor
7c8a0 65 20 73 65 78 70 72 73 3a 20 5c 22 5b 73 65 78 70 72 20 76 61 6c 20 73 65 78 70 72 20 2e 2e 2e e.sexprs:.\"[sexpr.val.sexpr....
7c8c0 5d 5c 22 2e 0a 2d 20 54 77 6f 20 73 65 78 70 72 73 3a 20 5c 22 73 65 78 70 72 20 76 61 6c 5c 22 ]\"..-.Two.sexprs:.\"sexpr.val\"
7c8e0 2e 0a 0a 45 61 63 68 20 5c 22 76 61 6c 5c 22 20 6d 6f 76 65 73 20 74 6f 20 74 68 65 20 73 61 6d ...Each.\"val\".moves.to.the.sam
7c900 65 20 63 6f 6c 75 6d 6e 20 61 6e 64 20 69 73 0a 60 70 72 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 e.column.and.is.`prog-indent-sex
7c920 70 27 2d 65 64 20 28 69 6e 20 63 61 73 65 20 69 74 20 69 73 20 61 20 6d 75 6c 74 69 2d 6c 69 6e p'-ed.(in.case.it.is.a.multi-lin
7c940 65 20 66 6f 72 6d 29 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 70 6f 69 6e 74 e.form)...For.example.with.point
7c960 20 6f 6e 20 74 68 65 20 5c 22 5b 5c 22 20 62 65 66 6f 72 65 20 5c 22 61 5c 22 3a 0a 0a 23 2b 42 .on.the.\"[\".before.\"a\":..#+B
7c980 45 47 49 4e 5f 53 52 43 20 72 61 63 6b 65 74 0a 20 20 20 20 42 65 66 6f 72 65 20 20 20 20 20 20 EGIN_SRC.racket.....Before......
7c9a0 20 20 20 20 20 20 20 41 66 74 65 72 0a 0a 20 20 20 20 28 6c 65 74 20 28 5b 61 20 31 32 5d 20 20 .......After......(let.([a.12]..
7c9c0 20 20 20 20 20 28 6c 65 74 20 28 5b 61 20 20 20 31 32 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 62 .....(let.([a...12]...........[b
7c9e0 61 72 20 32 33 5d 29 20 20 20 20 20 20 20 20 20 20 5b 62 61 72 20 32 33 5d 29 0a 20 20 20 20 20 ar.23])..........[bar.23])......
7ca00 20 2e 2e 2e 2e 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 2e 29 0a 0a 20 20 20 20 28 .....)..................)......(
7ca20 5b 61 20 2e 20 31 32 5d 20 20 20 20 20 20 20 20 20 20 28 5b 61 20 20 20 2e 20 31 32 5d 0a 20 20 [a...12]..........([a.....12]...
7ca40 20 20 20 5b 62 61 72 20 2e 20 32 33 5d 29 20 20 20 20 20 20 20 20 5b 62 61 72 20 2e 20 32 33 5d ...[bar...23])........[bar...23]
7ca60 29 0a 0a 20 20 20 20 28 63 6f 6e 64 20 5b 61 3f 20 23 74 5d 20 20 20 20 20 20 28 63 6f 6e 64 20 )......(cond.[a?.#t]......(cond.
7ca80 5b 61 3f 20 20 20 23 74 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 62 3f 20 28 66 20 78 20 20 20 20 [a?...#t]...........[b?.(f.x....
7caa0 20 20 20 20 20 20 20 5b 62 3f 20 20 20 28 66 20 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......[b?...(f.x...............
7cac0 20 20 20 79 29 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 79 29 5d 0a 20 20 20 20 ...y)]..................y)].....
7cae0 20 20 20 20 20 20 5b 65 6c 73 65 20 23 66 5d 29 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 23 ......[else.#f]).........[else.#
7cb00 66 5d 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 4f 72 20 77 69 74 68 20 70 6f 69 6e 74 20 6f 6e 20 f]).#+END_SRC..Or.with.point.on.
7cb20 74 68 65 20 71 75 6f 74 65 20 62 65 66 6f 72 65 20 5c 22 61 5c 22 3a 0a 0a 23 2b 42 45 47 49 4e the.quote.before.\"a\":..#+BEGIN
7cb40 5f 53 52 43 20 72 61 63 6b 65 74 0a 20 20 20 20 28 6c 69 73 74 20 61 20 31 32 20 20 20 20 20 20 _SRC.racket.....(list.a.12......
7cb60 20 20 28 6c 69 73 74 20 61 20 20 20 31 32 0a 20 20 20 20 20 20 20 20 20 20 62 61 72 20 32 33 29 ..(list.a...12...........bar.23)
7cb80 20 20 20 20 20 20 20 20 20 20 20 62 61 72 20 32 33 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 49 66 ...........bar.23).#+END_SRC..If
7cba0 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 63 6f 75 70 6c 65 20 69 73 20 6f 6e 20 74 68 65 20 .more.than.one.couple.is.on.the.
7cbc0 73 61 6d 65 20 6c 69 6e 65 2c 20 6e 6f 6e 65 20 61 72 65 20 61 6c 69 67 6e 65 64 2c 0a 62 65 63 same.line,.none.are.aligned,.bec
7cbe0 61 75 73 65 20 69 74 20 69 73 20 75 6e 63 6c 65 61 72 20 77 68 65 72 65 20 74 68 65 20 76 61 6c ause.it.is.unclear.where.the.val
7cc00 75 65 20 63 6f 6c 75 6d 6e 20 73 68 6f 75 6c 64 20 62 65 2e 20 46 6f 72 0a 65 78 61 6d 70 6c 65 ue.column.should.be..For.example
7cc20 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 20 77 69 6c 6c 20 6e 6f 74 20 63 68 61 .the.following.form.will.not.cha
7cc40 6e 67 65 3b 20 60 72 61 63 6b 65 74 2d 61 6c 69 67 6e 27 20 77 69 6c 6c 0a 64 69 73 70 6c 61 79 nge;.`racket-align'.will.display
7cc60 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 .an.error.message:..#+BEGIN_SRC.
7cc80 72 61 63 6b 65 74 0a 20 20 20 20 28 6c 65 74 20 28 5b 61 20 30 5d 5b 62 20 31 5d 0a 20 20 20 20 racket.....(let.([a.0][b.1].....
7cca0 20 20 20 20 20 20 5b 63 20 32 5d 29 20 20 20 20 20 20 20 65 72 72 6f 72 3b 20 75 6e 63 68 61 6e ......[c.2]).......error;.unchan
7ccc0 67 65 64 0a 20 20 20 20 20 20 2e 2e 2e 2e 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 57 68 65 6e 20 ged...........).#+END_SRC..When.
7cce0 61 20 63 6f 75 70 6c 65 27 73 20 73 65 78 70 72 73 20 73 74 61 72 74 20 6f 6e 20 64 69 66 66 65 a.couple's.sexprs.start.on.diffe
7cd00 72 65 6e 74 20 6c 69 6e 65 73 2c 20 74 68 61 74 20 63 6f 75 70 6c 65 20 69 73 0a 69 67 6e 6f 72 rent.lines,.that.couple.is.ignor
7cd20 65 64 2e 20 4f 74 68 65 72 2c 20 73 69 6e 67 6c 65 2d 6c 69 6e 65 20 63 6f 75 70 6c 65 73 20 69 ed..Other,.single-line.couples.i
7cd40 6e 20 74 68 65 20 73 65 72 69 65 73 20 61 72 65 20 61 6c 69 67 6e 65 64 20 61 73 0a 75 73 75 61 n.the.series.are.aligned.as.usua
7cd60 6c 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 72 61 63 l..For.example:..#+BEGIN_SRC.rac
7cd80 6b 65 74 0a 20 20 20 20 28 6c 65 74 20 28 5b 66 6f 6f 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 ket.....(let.([foo.........(let.
7cda0 28 5b 66 6f 6f 0a 20 20 20 20 20 20 20 20 20 20 20 30 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 ([foo............0].............
7cdc0 20 20 20 20 30 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 62 61 72 20 31 5d 20 20 20 20 20 20 20 20 ....0]...........[bar.1]........
7cde0 20 20 20 20 5b 62 61 72 20 31 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 78 20 32 5d 29 20 20 20 20 ....[bar.1]...........[x.2])....
7ce00 20 20 20 20 20 20 20 20 20 5b 78 20 20 20 32 5d 29 0a 20 20 20 20 20 20 2e 2e 2e 2e 29 20 20 20 .........[x...2])...........)...
7ce20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 2e 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 53 65 65 20 ...............).#+END_SRC..See.
7ce40 61 6c 73 6f 3a 20 60 72 61 63 6b 65 74 2d 75 6e 61 6c 69 67 6e 27 2e 22 0a 20 20 28 69 6e 74 65 also:.`racket-unalign'."...(inte
7ce60 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 73 65 78 70 2d ractive)...(racket--assert-sexp-
7ce80 65 64 69 74 2d 6d 6f 64 65 29 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 edit-mode)...(save-excursion....
7cea0 20 28 6c 65 74 20 28 28 6c 69 73 74 70 20 28 65 71 20 3f 5c 28 20 28 63 68 61 72 2d 73 79 6e 74 .(let.((listp.(eq.?\(.(char-synt
7cec0 61 78 20 28 63 68 61 72 2d 61 66 74 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 ax.(char-after))))...........(pr
7cee0 65 76 2d 6c 69 6e 65 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 78 2d 63 6f 6c 20 30 29 ev-line.0)...........(max-col.0)
7cf00 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 66 6f 72 2d 65 61 63 68 2d 63 6f 75 70 6c 65 ).......(racket--for-each-couple
7cf20 20 6c 69 73 74 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .listp..........................
7cf40 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(lambda.()................
7cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 78 2d 63 6f 6c 20 ..................(setq.max-col.
7cf80 28 6d 61 78 20 6d 61 78 2d 63 6f 6c 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 0a (max.max-col.(current-column))).
7cfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7cfc0 20 28 6c 65 74 20 28 28 74 68 69 73 2d 6c 69 6e 65 20 28 6c 69 6e 65 2d 6e 75 6d 62 65 72 2d 61 .(let.((this-line.(line-number-a
7cfe0 74 2d 70 6f 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-pos)))........................
7d000 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3d 20 70 72 65 76 2d 6c 69 6e 65 20 74 ............(when.(=.prev-line.t
7d020 68 69 73 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 his-line).......................
7d040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 0a 20 20 20 20 20 ...............(user-error......
7d060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7d080 20 22 43 61 6e 27 74 20 61 6c 69 67 6e 20 69 66 20 61 6e 79 20 63 6f 75 70 6c 65 73 20 61 72 65 ."Can't.align.if.any.couples.are
7d0a0 20 6f 6e 20 73 61 6d 65 20 6c 69 6e 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .on.same.line"))................
7d0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 72 65 76 2d 6c ....................(setq.prev-l
7d0e0 69 6e 65 20 74 68 69 73 2d 6c 69 6e 65 29 29 29 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d ine.this-line)))).......(racket-
7d100 2d 66 6f 72 2d 65 61 63 68 2d 63 6f 75 70 6c 65 20 6c 69 73 74 70 0a 20 20 20 20 20 20 20 20 20 -for-each-couple.listp..........
7d120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 ......................(lambda.()
7d140 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7d160 20 20 28 69 6e 64 65 6e 74 2d 74 6f 20 6d 61 78 2d 63 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 ..(indent-to.max-col)...........
7d180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 2d 69 6e 64 .......................(prog-ind
7d1a0 65 6e 74 2d 73 65 78 70 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 75 6e ent-sexp))))))..(defun.racket-un
7d1c0 61 6c 69 67 6e 20 28 29 0a 20 20 22 54 68 65 20 6f 70 70 6f 73 69 74 65 20 6f 66 20 60 72 61 63 align.()..."The.opposite.of.`rac
7d1e0 6b 65 74 2d 61 6c 69 67 6e 27 2e 0a 0a 45 66 66 65 63 74 69 76 65 6c 79 20 64 6f 65 73 20 4d 2d ket-align'...Effectively.does.M-
7d200 78 20 60 6a 75 73 74 2d 6f 6e 65 2d 73 70 61 63 65 27 20 61 6e 64 20 60 70 72 6f 67 2d 69 6e 64 x.`just-one-space'.and.`prog-ind
7d220 65 6e 74 2d 73 65 78 70 27 20 66 6f 72 0a 65 61 63 68 20 63 6f 75 70 6c 65 27 73 20 76 61 6c 75 ent-sexp'.for.each.couple's.valu
7d240 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 e."...(interactive)...(racket--a
7d260 73 73 65 72 74 2d 73 65 78 70 2d 65 64 69 74 2d 6d 6f 64 65 29 0a 20 20 28 73 61 76 65 2d 65 78 ssert-sexp-edit-mode)...(save-ex
7d280 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 6c 69 73 74 70 20 28 65 71 20 3f 5c 28 cursion.....(let.((listp.(eq.?\(
7d2a0 20 28 63 68 61 72 2d 73 79 6e 74 61 78 20 28 63 68 61 72 2d 61 66 74 65 72 29 29 29 29 29 0a 20 .(char-syntax.(char-after)))))..
7d2c0 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 66 6f 72 2d 65 61 63 68 2d 63 6f 75 70 6c 65 20 6c 69 .....(racket--for-each-couple.li
7d2e0 73 74 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 stp.............................
7d300 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(lambda.()...................
7d320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6a 75 73 74 2d 6f 6e 65 2d 73 70 61 63 65 29 0a ...............(just-one-space).
7d340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7d360 20 28 70 72 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 70 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e .(prog-indent-sexp))))))..(defun
7d380 20 72 61 63 6b 65 74 2d 2d 66 6f 72 2d 65 61 63 68 2d 63 6f 75 70 6c 65 20 28 6c 69 73 74 70 20 .racket--for-each-couple.(listp.
7d3a0 66 29 0a 20 20 22 4d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 65 61 63 68 20 76 61 6c 75 65 20 73 f)..."Move.point.to.each.value.s
7d3c0 65 78 70 20 6f 66 20 61 20 63 6f 75 70 6c 65 2c 20 61 6e 64 20 60 66 75 6e 63 61 6c 6c 27 20 46 exp.of.a.couple,.and.`funcall'.F
7d3e0 2e 0a 0a 4f 6e 6c 79 20 63 61 6c 6c 20 46 20 77 68 65 6e 20 74 68 65 20 63 6f 75 70 6c 65 27 73 ...Only.call.F.when.the.couple's
7d400 20 73 65 78 70 72 73 20 61 72 65 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 6c 69 6e 65 2e 0a 0a 57 .sexprs.are.on.the.same.line...W
7d420 68 65 6e 20 4c 49 53 54 50 20 69 73 20 74 72 75 65 2c 20 65 78 70 65 63 74 73 20 63 6f 75 70 6c hen.LISTP.is.true,.expects.coupl
7d440 65 73 20 74 6f 20 62 65 20 60 5b 69 64 20 76 61 6c 5d 60 2c 20 65 6c 73 65 20 60 69 64 20 76 61 es.to.be.`[id.val]`,.else.`id.va
7d460 6c 60 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 63 6f 6e 64 l`."...(save-excursion.....(cond
7d480 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 74 0a 20 20 ition-case._.........(while.t...
7d4a0 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 6c 69 73 74 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........(when.listp.............
7d4c0 28 64 6f 77 6e 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d (down-list))...........(forward-
7d4e0 73 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 6e 65 20 28 6c 69 6e sexp)...........(let.((line.(lin
7d500 65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 e-number-at-pos))).............(
7d520 66 6f 72 77 61 72 64 2d 73 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 forward-sexp).............(backw
7d540 61 72 64 2d 73 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3d 20 6c ard-sexp).............(when.(=.l
7d560 69 6e 65 20 28 6c 69 6e 65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 ine.(line-number-at-pos)).......
7d580 20 20 20 20 20 20 20 20 3b 3b 20 44 65 66 65 6e 73 69 76 65 3a 20 42 61 63 6b 75 70 20 6f 76 65 ........;;.Defensive:.Backup.ove
7d5a0 72 20 61 6e 79 20 70 72 65 66 69 78 20 6f 72 20 70 75 6e 63 74 75 61 74 69 6f 6e 0a 20 20 20 20 r.any.prefix.or.punctuation.....
7d5c0 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 68 61 72 73 20 6a 75 73 74 20 69 6e 20 63 61 73 65 20 ..........;;.chars.just.in.case.
7d5e0 62 61 63 6b 77 61 72 64 2d 73 65 78 70 20 64 69 64 6e 27 74 20 28 61 6c 74 68 6f 75 67 68 20 69 backward-sexp.didn't.(although.i
7d600 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 68 6f 75 6c 64 20 68 61 76 65 20 69 t...............;;.should.have.i
7d620 66 20 6f 75 72 20 73 79 6e 74 61 78 20 74 61 62 6c 65 20 69 73 20 63 6f 72 72 65 63 74 29 2e 0a f.our.syntax.table.is.correct)..
7d640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6d 65 6d 71 20 28 63 68 61 72 ..............(while.(memq.(char
7d660 2d 73 79 6e 74 61 78 20 28 63 68 61 72 2d 62 65 66 6f 72 65 29 29 20 27 28 3f 5c 27 20 3f 5c 2e -syntax.(char-before)).'(?\'.?\.
7d680 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 31 )).................(goto-char.(1
7d6a0 2d 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 -.(point))))...............(func
7d6c0 61 6c 6c 20 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4f 6e 20 74 6f 20 74 68 65 20 all.f)))...........;;.On.to.the.
7d6e0 6e 65 78 74 20 63 6f 75 70 6c 65 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6c 69 73 next.couple..............(if.lis
7d700 74 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 70 2d 6c 69 73 74 29 0a 20 20 20 20 20 tp...............(up-list)......
7d720 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 29 29 29 0a 20 20 20 20 20 20 28 73 .......(forward-sexp))).......(s
7d740 63 61 6e 2d 65 72 72 6f 72 20 6e 69 6c 29 29 29 29 0a 0a 3b 3b 3b 20 43 6f 6d 70 6c 65 74 69 6f can-error.nil))))..;;;.Completio
7d760 6e 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d n..(defconst.racket--completion-
7d780 63 61 6e 64 69 64 61 74 65 73 0a 20 20 28 73 65 71 2d 73 6f 72 74 20 23 27 73 74 72 69 6e 67 2d candidates...(seq-sort.#'string-
7d7a0 6c 65 73 73 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 2d 72 65 64 75 63 65 20 28 6c lessp.............(seq-reduce.(l
7d7c0 61 6d 62 64 61 20 28 61 63 63 75 6d 20 78 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ambda.(accum.xs)................
7d7e0 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 61 63 63 75 6d 20 78 73 29 29 0a 20 20 ...........(append.accum.xs))...
7d800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 72 61 63 6b ......................(list.rack
7d820 65 74 2d 74 79 70 65 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 et-type-list....................
7d840 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 73 0a 20 20 20 20 20 ...........racket-keywords......
7d860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d .........................racket-
7d880 62 75 69 6c 74 69 6e 73 2d 31 2d 6f 66 2d 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 builtins-1-of-2.................
7d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 62 75 69 6c 74 69 6e 73 2d 32 2d ..............racket-builtins-2-
7d8c0 6f 66 2d 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 of-2).........................ni
7d8e0 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d l)))..(defun.racket-complete-at-
7d900 70 6f 69 6e 74 20 28 29 0a 20 20 22 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 point.()..."A.value.for.the.vari
7d920 61 62 6c 65 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 able.`completion-at-point-functi
7d940 6f 6e 73 27 2e 0a 0a 43 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 20 61 72 65 ons'...Completion.candidates.are
7d960 20 64 72 61 77 6e 20 66 72 6f 6d 20 74 68 65 20 73 61 6d 65 20 73 79 6d 62 6f 6c 73 20 75 73 65 .drawn.from.the.same.symbols.use
7d980 64 20 66 6f 72 0a 66 6f 6e 74 2d 6c 6f 63 6b 2e 20 54 68 69 73 20 69 73 20 61 20 73 74 61 74 69 d.for.font-lock..This.is.a.stati
7d9a0 63 20 6c 69 73 74 2e 20 49 66 20 79 6f 75 20 77 61 6e 74 20 64 79 6e 61 6d 69 63 2c 20 73 6d 61 c.list..If.you.want.dynamic,.sma
7d9c0 72 74 65 72 0a 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 2c 20 65 6e 61 62 rter.completion.candidates,.enab
7d9e0 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 le.the.minor.mode.`racket-xp-mod
7da00 65 27 2e 22 0a 20 20 28 72 61 63 6b 65 74 2d 2d 63 61 6c 6c 2d 77 69 74 68 2d 63 6f 6d 70 6c 65 e'."...(racket--call-with-comple
7da20 74 69 6f 6e 2d 70 72 65 66 69 78 2d 70 6f 73 69 74 69 6f 6e 73 0a 20 20 20 28 6c 61 6d 62 64 61 tion-prefix-positions....(lambda
7da40 20 28 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 28 6c 69 73 74 20 62 65 67 0a 20 20 20 20 20 20 .(beg.end)......(list.beg.......
7da60 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6f 6d .....end............(racket--com
7da80 70 6c 65 74 69 6f 6e 2d 74 61 62 6c 65 20 72 61 63 6b 65 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e pletion-table.racket--completion
7daa0 2d 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 3a 70 72 65 64 69 63 61 -candidates)............:predica
7dac0 74 65 20 23 27 69 64 65 6e 74 69 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 3a 65 78 63 6c 75 73 te.#'identity............:exclus
7dae0 69 76 65 20 27 6e 6f 29 29 29 29 0a 0a 3b 3b 3b 20 6c 69 73 70 79 0a 0a 3b 3b 20 3c 68 74 74 70 ive.'no))))..;;;.lispy..;;.<http
7db00 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 62 6f 2d 61 62 6f 2f 6c 69 73 70 79 2f 62 6c 6f s://github.com/abo-abo/lispy/blo
7db20 62 2f 6d 61 73 74 65 72 2f 6c 65 2d 72 61 63 6b 65 74 2e 65 6c 3e 20 65 78 70 65 63 74 73 0a 3b b/master/le-racket.el>.expects.;
7db40 3b 20 74 68 69 73 20 69 6e 20 27 72 61 63 6b 65 74 2d 65 64 69 74 0a 28 64 65 66 69 6e 65 2d 6f ;.this.in.'racket-edit.(define-o
7db60 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 72 61 63 6b 65 74 2d 6c bsolete-function-alias.'racket-l
7db80 69 73 70 79 2d 76 69 73 69 74 2d 73 79 6d 62 6f 6c 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 20 20 23 ispy-visit-symbol-definition...#
7dba0 27 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 20 22 32 30 32 30 2d 31 31 22 'xref-find-definitions."2020-11"
7dbc0 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 65 64 20 62 79 20 6c 69 73 70 79 2e 65 6c 27 ..."Function.called.by.lispy.el'
7dbe0 73 20 60 6c 69 73 70 79 2d 67 6f 74 6f 2d 73 79 6d 62 6f 6c 27 20 66 6f 72 20 52 61 63 6b 65 74 s.`lispy-goto-symbol'.for.Racket
7dc00 2e 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 65 64 69 74 29 0a 0a 3b 3b 20 .")..(provide.'racket-edit)..;;.
7dc20 72 61 63 6b 65 74 2d 65 64 69 74 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 racket-edit.el.ends.here........
7dc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7de00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
7de20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-describe.el..............
7de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7de60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
7de80 30 30 36 31 35 32 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 32 33 30 00 20 30 00 00 00 0061525.00000000000.017230..0...
7dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7df00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
7df20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
7df40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e000 3b 3b 3b 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 ;;;.racket-describe.el.-*-.lexic
7e020 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 al-binding:.t.-*-..;;.Copyright.
7e040 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 (c).2013-2022.by.Greg.Hendershot
7e060 74 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 t..;;.Portions.Copyright.(C).198
7e080 35 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 5-1986,.1999-2013.Free.Software.
7e0a0 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 Foundation,.Inc...;;.Author:.Gre
7e0c0 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 g.Hendershott.;;.URL:.https://gi
7e0e0 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d thub.com/greghendershott/racket-
7e100 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 mode..;;.SPDX-License-Identifier
7e120 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 73 68 :.GPL-3.0-or-later..(require.'sh
7e140 72 29 0a 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 0a 28 72 65 71 75 69 72 65 20 27 72 r).(require.'subr-x).(require.'r
7e160 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b acket-browse-url).(require.'rack
7e180 65 74 2d 63 6d 64 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 28 et-cmd).(require.'racket-util).(
7e1a0 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 76 69 73 69 74 29 0a 28 72 65 71 75 69 72 65 20 require.'racket-visit).(require.
7e1c0 27 72 61 63 6b 65 74 2d 73 63 72 69 62 62 6c 65 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 'racket-scribble).(require.'rack
7e1e0 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d et-browse-url).(require.'racket-
7e200 62 61 63 6b 2d 65 6e 64 29 0a 3b 3b 20 44 6f 6e 27 74 20 28 72 65 71 75 69 72 65 20 27 72 61 63 back-end).;;.Don't.(require.'rac
7e220 6b 65 74 2d 72 65 70 6c 29 2e 20 4d 75 74 75 61 6c 20 64 65 70 65 6e 64 65 6e 63 79 2e 20 49 6e ket-repl)..Mutual.dependency..In
7e240 73 74 65 61 64 3a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d stead:.(declare-function.racket-
7e260 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 20 22 72 61 63 6b 65 74 2d 72 65 70 6c 22 20 28 -repl-session-id."racket-repl".(
7e280 29 29 0a 28 61 75 74 6f 6c 6f 61 64 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 2d 72 65 )).(autoload.........'racket--re
7e2a0 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 20 22 72 61 63 6b 65 74 2d 72 65 70 6c 22 29 0a 0a 28 64 pl-session-id."racket-repl")..(d
7e2c0 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 68 65 72 efvar-local.racket--describe-her
7e2e0 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 63 75 72 72 65 6e 74 20 6e 61 76 69 67 61 74 69 6f 6e 20 e.nil..."The.current.navigation.
7e300 70 6f 69 6e 74 2e 20 45 69 74 68 65 72 20 6e 69 6c 20 6f 72 20 28 63 6f 6e 73 20 70 61 74 68 20 point..Either.nil.or.(cons.path.
7e320 70 6f 69 6e 74 29 2e 22 29 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d point).").(defvar-local.racket--
7e340 64 65 73 63 72 69 62 65 2d 73 74 61 63 6b 2d 62 61 63 6b 20 6e 69 6c 0a 20 20 22 42 61 63 6b 20 describe-stack-back.nil..."Back.
7e360 6e 61 76 69 67 61 74 69 6f 6e 20 6c 69 73 74 2e 20 45 61 63 68 20 69 74 65 6d 20 69 73 20 28 63 navigation.list..Each.item.is.(c
7e380 6f 6e 73 20 70 61 74 68 20 70 6f 69 6e 74 29 2e 22 29 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c ons.path.point).").(defvar-local
7e3a0 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 73 74 61 63 6b 2d 66 6f 72 77 61 72 64 20 .racket--describe-stack-forward.
7e3c0 6e 69 6c 0a 20 20 22 46 6f 72 77 61 72 64 20 6e 61 76 69 67 61 74 69 6f 6e 20 6c 69 73 74 2e 20 nil..."Forward.navigation.list..
7e3e0 45 61 63 68 20 69 74 65 6d 20 69 73 20 28 63 6f 6e 73 20 70 61 74 68 20 70 6f 69 6e 74 29 2e 22 Each.item.is.(cons.path.point)."
7e400 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 6f 2d 64 65 73 63 72 69 62 65 20 28 68 )..(defun.racket--do-describe.(h
7e420 6f 77 20 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 20 73 74 72 29 0a 20 20 22 47 65 74 20 6f ow.repl-session-id.str)..."Get.o
7e440 72 20 63 72 65 61 74 65 20 61 20 60 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 r.create.a.`racket-describe-mode
7e460 27 20 62 75 66 66 65 72 20 61 6e 64 20 64 69 73 70 6c 61 79 20 69 74 2e 0a 0a 48 4f 57 20 69 73 '.buffer.and.display.it...HOW.is
7e480 20 73 6f 6d 65 77 68 61 74 20 63 6f 6d 70 6c 69 63 61 74 65 64 2c 20 64 75 65 20 74 6f 20 74 68 .somewhat.complicated,.due.to.th
7e4a0 69 73 20 66 75 6e 63 74 69 6f 6e 20 62 65 69 6e 67 0a 6f 76 65 72 6c 6f 61 64 65 64 20 74 6f 20 is.function.being.overloaded.to.
7e4c0 68 61 6e 64 6c 65 20 62 6f 74 68 20 73 68 6f 77 69 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f handle.both.showing.documentatio
7e4e0 6e 20 66 6f 72 20 61 6e 0a 61 6c 72 65 61 64 79 2d 6b 6e 6f 77 6e 20 70 61 74 68 20 61 6e 64 20 n.for.an.already-known.path.and.
7e500 61 6e 63 68 6f 72 20 28 65 2e 67 2e 20 66 72 6f 6d 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 anchor.(e.g..from.`racket-xp-mod
7e520 65 27 29 20 61 73 0a 77 65 6c 6c 20 61 73 20 73 65 65 69 6e 67 20 69 66 20 53 54 52 20 69 73 20 e').as.well.as.seeing.if.STR.is.
7e540 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 69 6e 20 61 20 6e 61 6d 65 73 70 61 63 65 20 66 6f 72 an.identifier.in.a.namespace.for
7e560 20 77 68 69 63 68 0a 77 65 20 63 61 6e 20 66 69 6e 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e .which.we.can.find.documentation
7e580 2c 20 6f 72 20 6c 65 61 73 74 20 72 65 74 75 72 6e 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 ,.or.least.return.a.description.
7e5a0 6f 66 20 69 74 73 0a 73 69 67 6e 61 74 75 72 65 20 61 6e 64 2f 6f 72 20 74 79 70 65 2e 20 53 6f of.its.signature.and/or.type..So
7e5c0 3a 0a 0a 2d 20 57 68 65 6e 20 48 4f 57 20 69 73 20 28 63 6f 6e 73 20 70 61 74 68 20 61 6e 63 68 :..-.When.HOW.is.(cons.path.anch
7e5e0 6f 72 29 20 77 65 20 6c 6f 61 64 2f 73 68 6f 77 20 74 68 61 74 20 64 6f 63 75 6d 65 6e 74 61 74 or).we.load/show.that.documentat
7e600 69 6f 6e 2c 0a 20 20 61 6e 64 20 69 67 6e 6f 72 65 20 53 54 52 2e 20 57 65 20 64 6f 6e 27 74 20 ion,...and.ignore.STR..We.don't.
7e620 69 73 73 75 65 20 61 20 62 61 63 6b 20 65 6e 64 20 63 6f 6d 6d 61 6e 64 2e 20 28 45 61 72 6c 69 issue.a.back.end.command..(Earli
7e640 65 72 0a 20 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 75 73 65 er...versions.of.Racket.Mode.use
7e660 64 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 74 6f 20 66 65 74 63 68 20 74 68 65 20 48 54 4d 4c d.the.back.end.to.fetch.the.HTML
7e680 20 6f 72 0a 20 20 73 68 72 2d 64 6f 6d 2c 20 62 75 74 20 74 68 65 73 65 20 64 61 79 73 20 77 65 .or...shr-dom,.but.these.days.we
7e6a0 20 64 6f 20 69 74 20 61 6c 6c 20 69 6e 20 74 68 65 20 66 72 6f 6e 74 20 65 6e 64 2e 29 0a 20 20 .do.it.all.in.the.front.end.)...
7e6c0 52 45 50 4c 2d 53 45 53 53 49 4f 4e 2d 49 44 20 61 6e 64 20 53 54 52 20 61 72 65 20 75 6e 75 73 REPL-SESSION-ID.and.STR.are.unus
7e6e0 65 64 20 61 6e 64 20 6d 61 79 20 62 65 20 6e 69 6c 2e 0a 0a 2d 20 57 68 65 6e 20 48 4f 57 20 69 ed.and.may.be.nil...-.When.HOW.i
7e700 73 20 5c 22 6e 61 6d 65 73 70 61 63 65 5c 22 20 6f 72 20 61 20 73 74 72 69 6e 67 70 20 70 61 74 s.\"namespace\".or.a.stringp.pat
7e720 68 6e 61 6d 65 2c 20 77 65 20 75 73 65 20 74 68 61 74 20 61 73 0a 20 20 74 68 65 20 6e 61 6d 65 hname,.we.use.that.as...the.name
7e740 73 70 61 63 65 20 69 6e 20 77 68 69 63 68 20 74 6f 20 73 65 65 20 69 66 20 53 54 52 20 69 73 20 space.in.which.to.see.if.STR.is.
7e760 61 6e 20 69 64 65 6e 74 69 66 69 65 72 2c 20 75 73 69 6e 67 0a 20 20 74 68 65 20 5c 22 64 65 73 an.identifier,.using...the.\"des
7e780 63 72 69 62 65 5c 22 20 62 61 63 6b 20 65 6e 64 20 63 6f 6d 6d 61 6e 64 2e 20 54 68 65 20 63 6f cribe\".back.end.command..The.co
7e7a0 6d 6d 61 6e 64 20 63 61 6e 20 72 65 74 75 72 6e 20 61 20 66 65 77 0a 20 20 6b 69 6e 64 73 20 6f mmand.can.return.a.few...kinds.o
7e7c0 66 20 76 61 6c 75 65 73 3b 20 73 65 65 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e f.values;.see.the.implementation
7e7e0 20 62 65 6c 6f 77 2e 20 57 68 65 6e 20 48 4f 57 20 69 73 0a 20 20 5c 22 6e 61 6d 65 73 70 61 63 .below..When.HOW.is...\"namespac
7e800 65 5c 22 20 74 68 65 6e 20 52 45 50 4c 2d 53 45 53 53 49 4f 4e 2d 49 44 20 73 68 6f 75 6c 64 20 e\".then.REPL-SESSION-ID.should.
7e820 62 65 0a 20 20 60 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 27 3b 20 be...`racket--repl-session-id';.
7e840 65 6c 73 65 20 6d 61 79 20 62 65 20 6e 69 6c 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 75 66 2d 6e else.may.be.nil."...(let.((buf-n
7e860 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 2a 52 61 63 6b 65 74 20 44 65 73 63 72 69 62 65 20 3c 25 ame.(format."*Racket.Describe.<%
7e880 73 3e 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 s>*"...........................(
7e8a0 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 28 77 69 racket-back-end-name)))).....(wi
7e8c0 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 th-current-buffer.(get-buffer-cr
7e8e0 65 61 74 65 20 62 75 66 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 eate.buf-name).......(unless.(eq
7e900 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 .major-mode.'racket-describe-mod
7e920 65 29 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 e).........(racket-describe-mode
7e940 29 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 6d 61 79 62 65 )).......(racket--describe-maybe
7e960 2d 70 75 73 68 2d 68 65 72 65 20 27 62 61 63 6b 29 20 3b 64 6f 20 62 65 66 6f 72 65 20 65 72 61 -push-here.'back).;do.before.era
7e980 73 69 6e 67 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d sing.buffer.......(setq.racket--
7e9a0 64 65 73 63 72 69 62 65 2d 73 74 61 63 6b 2d 66 6f 72 77 61 72 64 20 6e 69 6c 29 0a 20 20 20 20 describe-stack-forward.nil).....
7e9c0 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20 6e 69 6c 29 29 0a ..(let.((buffer-read-only.nil)).
7e9e0 20 20 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 3b 3b ........(erase-buffer)).......;;
7ea00 20 73 68 72 2d 69 6e 73 65 72 74 2d 64 6f 63 75 6d 65 6e 74 20 73 65 65 6d 73 20 74 6f 20 6d 69 .shr-insert-document.seems.to.mi
7ea20 73 62 65 68 61 76 65 20 77 68 65 6e 20 62 75 66 66 65 72 20 68 61 73 20 6e 6f 0a 20 20 20 20 20 sbehave.when.buffer.has.no......
7ea40 20 3b 3b 20 77 69 6e 64 6f 77 20 73 6f 20 64 6f 20 74 68 69 73 20 65 61 72 6c 79 2e 0a 20 20 20 .;;.window.so.do.this.early.....
7ea60 20 20 20 28 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 ...(pop-to-buffer.(current-buffe
7ea80 72 29 29 0a 20 20 20 20 20 20 28 70 63 61 73 65 20 68 6f 77 0a 20 20 20 20 20 20 20 20 3b 3b 20 r)).......(pcase.how.........;;.
7eaa0 49 66 20 48 4f 57 20 69 73 20 74 68 65 20 64 6f 63 20 70 61 74 68 20 61 6e 64 20 61 6e 63 68 6f If.HOW.is.the.doc.path.and.ancho
7eac0 72 20 28 74 68 65 20 6c 61 74 74 65 72 20 63 61 6e 20 62 65 20 6e 69 6c 29 2c 0a 20 20 20 20 20 r.(the.latter.can.be.nil),......
7eae0 20 20 20 3b 3b 20 74 68 65 72 65 27 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 69 73 73 75 65 20 61 ...;;.there's.no.need.to.issue.a
7eb00 20 62 61 63 6b 20 65 6e 64 20 64 65 73 63 72 69 62 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 .back.end.describe.command......
7eb20 20 20 20 20 28 60 28 2c 28 61 6e 64 20 70 61 74 68 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 ....(`(,(and.path.(pred.stringp)
7eb40 29 20 2e 20 2c 61 6e 63 68 6f 72 29 0a 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 )...,anchor)..........(racket--d
7eb60 65 73 63 72 69 62 65 2d 69 6e 73 65 72 74 2d 64 6f 6d 20 70 61 74 68 0a 20 20 20 20 20 20 20 20 escribe-insert-dom.path.........
7eb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e ..............................an
7eba0 63 68 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 chor............................
7ebc0 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d 70 61 74 ...........(racket--scribble-pat
7ebe0 68 2d 3e 73 68 72 2d 64 6f 6d 20 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 49 66 h->shr-dom.path))).........;;.If
7ec00 20 48 4f 57 20 69 73 20 61 20 73 74 72 69 6e 67 20 70 61 74 68 6e 61 6d 65 20 6f 72 20 27 6e 61 .HOW.is.a.string.pathname.or.'na
7ec20 6d 73 70 61 63 65 2c 20 74 68 65 6e 20 77 65 20 6e 65 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 mspace,.then.we.need.to.........
7ec40 3b 3b 20 75 73 65 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 64 65 73 63 72 69 62 65 20 63 6f 6d ;;.use.the.back.end.describe.com
7ec60 6d 61 6e 64 2e 20 49 74 20 72 65 74 75 72 6e 73 20 6f 6e 65 20 6f 66 20 74 68 72 65 65 0a 20 20 mand..It.returns.one.of.three...
7ec80 20 20 20 20 20 20 3b 3b 20 6b 69 6e 64 73 20 6f 66 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 ......;;.kinds.of.values........
7eca0 20 20 28 28 67 75 61 72 64 20 28 6f 72 20 28 73 74 72 69 6e 67 70 20 68 6f 77 29 20 28 65 71 20 ..((guard.(or.(stringp.how).(eq.
7ecc0 68 6f 77 20 27 6e 61 6d 65 73 70 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 how.'namespace)))..........(setq
7ece0 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 .header-line-format.............
7ed00 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 66 6f 72 6d 61 74 20 22 47 65 74 74 69 6e 67 20 ...(propertize.(format."Getting.
7ed20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 62 61 63 6b 20 65 6e 64 20 61 62 6f 75 74 20 information.from.back.end.about.
7ed40 25 73 20 2e 2e 2e 22 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %s....".str)....................
7ed60 20 20 20 20 20 20 20 20 27 66 61 63 65 20 27 69 74 61 6c 69 63 29 29 0a 20 20 20 20 20 20 20 20 ........'face.'italic)).........
7ed80 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 0a 20 20 20 20 20 20 20 20 20 20 72 65 .(racket--cmd/async...........re
7eda0 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 60 28 64 65 73 63 72 69 pl-session-id...........`(descri
7edc0 62 65 20 2c 28 72 61 63 6b 65 74 2d 68 6f 77 2d 66 72 6f 6e 74 2d 74 6f 2d 62 61 63 6b 20 68 6f be.,(racket-how-front-to-back.ho
7ede0 77 29 20 2c 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 75 w).,str)...........(lambda.(resu
7ee00 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 72 65 73 75 6c 74 0a 20 20 lt).............(pcase.result...
7ee20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 54 52 20 68 61 73 20 64 6f 63 75 6d 65 6e 74 61 ............;;.STR.has.documenta
7ee40 74 69 6f 6e 20 61 74 20 70 61 74 68 20 61 6e 64 20 61 6e 63 68 6f 72 2e 20 48 61 6e 64 6c 65 20 tion.at.path.and.anchor..Handle.
7ee60 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 63 61 73 65 20 77 like...............;;.the.case.w
7ee80 68 65 72 65 20 77 65 20 6b 6e 65 77 20 74 68 65 20 70 61 74 68 20 61 6e 64 20 61 6e 63 68 6f 72 here.we.knew.the.path.and.anchor
7eea0 20 75 70 2d 66 72 6f 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 28 61 6e .up-front................(`(,(an
7eec0 64 20 70 61 74 68 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 29 20 2e 20 2c 61 6e 63 68 6f 72 d.path.(pred.stringp))...,anchor
7eee0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 61 74 68 20 28 72 61 )................(let.((path.(ra
7ef00 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 6f 6e 74 20 70 61 74 cket-file-name-back-to-front.pat
7ef20 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 h)))..................(racket--d
7ef40 65 73 63 72 69 62 65 2d 69 6e 73 65 72 74 2d 64 6f 6d 20 70 61 74 68 0a 20 20 20 20 20 20 20 20 escribe-insert-dom.path.........
7ef60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7ef80 20 20 20 20 20 20 61 6e 63 68 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......anchor....................
7efa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b ...........................(rack
7efc0 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d 70 61 74 68 2d 3e 73 68 72 2d 64 6f 6d 20 70 61 74 68 29 et--scribble-path->shr-dom.path)
7efe0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 54 52 20 64 6f 65 73 6e 27 74 )))...............;;.STR.doesn't
7f000 20 68 61 76 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 62 75 74 20 69 74 20 64 6f 65 73 .have.documentation,.but.it.does
7f020 20 68 61 76 65 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 69 67 6e 61 74 75 .have.a...............;;.signatu
7f040 72 65 20 61 6e 64 2f 6f 72 20 74 79 70 65 2c 20 61 6e 64 20 68 65 72 65 20 69 73 20 61 20 64 6f re.and/or.type,.and.here.is.a.do
7f060 6d 20 61 62 6f 75 74 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 65 m.about.that...............;;.we
7f080 20 63 61 6e 20 69 6e 73 65 72 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 73 68 .can.insert................(`(sh
7f0a0 72 2d 64 6f 6d 20 2c 64 6f 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b r-dom.,dom)................(rack
7f0c0 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 69 6e 73 65 72 74 2d 64 6f 6d 20 6e 69 6c 20 3b 70 61 74 et--describe-insert-dom.nil.;pat
7f0e0 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h...............................
7f100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 20 3b 61 6e 63 68 6f 72 0a 20 20 20 20 20 20 ..............str.;anchor.......
7f120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7f140 20 20 20 20 20 20 64 6f 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 54 52 ......dom))...............;;.STR
7f160 20 64 6f 65 73 6e 27 74 20 73 65 65 6d 20 74 6f 20 62 65 20 61 6e 20 69 64 65 6e 74 69 66 69 65 .doesn't.seem.to.be.an.identifie
7f180 72 20 77 65 20 63 61 6e 20 64 65 73 63 72 69 62 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 r.we.can.describe...............
7f1a0 20 28 60 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 .(`()................(racket--de
7f1c0 73 63 72 69 62 65 2d 69 6e 73 65 72 74 2d 64 6f 6d 20 6e 69 6c 20 3b 70 61 74 68 0a 20 20 20 20 scribe-insert-dom.nil.;path.....
7f1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7f200 20 20 20 20 20 20 20 20 73 74 72 20 3b 61 6e 63 68 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........str.;anchor.............
7f220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7f240 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 6e 6f 74 2d 66 6f 75 6e 64 2d 64 6f 6d 20 (racket--describe-not-found-dom.
7f260 73 74 72 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 5f 20 28 65 72 72 6f 72 20 22 42 61 str))))))).........(_.(error."Ba
7f280 64 20 76 61 6c 75 65 20 66 6f 72 20 60 68 6f 77 60 3a 20 25 73 22 20 68 6f 77 29 29 29 29 29 29 d.value.for.`how`:.%s".how))))))
7f2a0 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 6e 6f 74 2d 66 6f ..(defun.racket--describe-not-fo
7f2c0 75 6e 64 2d 64 6f 6d 20 28 73 74 72 29 0a 20 20 60 28 64 69 76 20 28 29 0a 20 20 20 20 20 20 20 und-dom.(str)...`(div.()........
7f2e0 20 28 70 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 22 4e 6f 20 64 6f 63 75 6d 65 6e 74 61 74 .(p.()............"No.documentat
7f300 69 6f 6e 2c 20 73 69 67 6e 61 74 75 72 65 2c 20 6f 72 20 74 79 70 65 20 66 6f 75 6e 64 20 66 6f ion,.signature,.or.type.found.fo
7f320 72 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 61 6e 63 68 6f 72 20 28 28 r."............(racket-anchor.((
7f340 6e 61 6d 65 20 2e 20 2c 73 74 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 6d 20 28 29 name...,str)))............(em.()
7f360 20 2c 73 74 72 29 29 0a 20 20 20 20 20 20 20 20 28 70 20 28 29 20 22 49 66 20 79 6f 75 20 63 61 .,str)).........(p.()."If.you.ca
7f380 6d 65 20 66 72 6f 6d 20 61 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 20 62 75 66 66 65 72 2c me.from.a.racket-xp-mode.buffer,
7f3a0 20 6d 61 79 62 65 20 69 74 20 64 69 64 6e 27 74 20 66 69 6e 69 73 68 20 61 6e 6e 6f 74 61 74 69 .maybe.it.didn't.finish.annotati
7f3c0 6e 67 2e 20 59 6f 75 20 63 6f 75 6c 64 20 70 72 65 73 73 20 22 20 28 73 74 72 6f 6e 67 20 28 29 ng..You.could.press.".(strong.()
7f3e0 20 22 71 22 29 20 22 20 72 65 74 75 72 6e 20 74 6f 20 74 68 61 74 20 62 75 66 66 65 72 2c 20 77 ."q").".return.to.that.buffer,.w
7f400 61 69 74 2c 20 74 68 65 6e 20 74 72 79 20 61 67 61 69 6e 2e 22 29 0a 20 20 20 20 20 20 20 20 28 ait,.then.try.again.").........(
7f420 70 20 28 29 20 22 4f 74 68 65 72 77 69 73 65 20 79 6f 75 20 63 61 6e 20 74 79 70 65 20 22 20 28 p.()."Otherwise.you.can.type.".(
7f440 73 74 72 6f 6e 67 20 28 29 20 20 22 43 2d 63 20 43 2d 73 22 29 20 22 20 74 6f 20 73 65 61 72 63 strong.().."C-c.C-s").".to.searc
7f460 68 20 66 6f 72 20 22 20 28 65 6d 20 28 29 20 2c 73 74 72 29 20 22 20 69 6e 20 74 68 65 20 64 6f h.for.".(em.().,str).".in.the.do
7f480 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 64 65 78 2e 22 29 29 29 0a 0a 28 64 65 66 76 61 72 2d cumentation.index.")))..(defvar-
7f4a0 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 6e 61 76 20 6e 69 6c 0a 20 local.racket--describe-nav.nil..
7f4c0 20 22 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 72 61 63 6b 65 74 2d 6e 61 76 20 65 6c ."The.value.of.the.racket-nav.el
7f4e0 65 6d 65 6e 74 20 65 78 74 72 61 63 74 65 64 20 66 72 6f 6d 20 61 20 70 61 67 65 2e 0a 55 73 65 ement.extracted.from.a.page..Use
7f500 20 60 64 6f 6d 2d 61 74 74 72 27 20 74 6f 20 65 78 74 72 61 63 74 20 74 68 65 20 74 6f 70 2c 20 .`dom-attr'.to.extract.the.top,.
7f520 75 70 2c 20 70 72 65 76 2c 20 6e 65 78 74 20 6c 69 6e 6b 73 2c 20 69 66 20 61 6e 79 2e 22 29 0a up,.prev,.next.links,.if.any.").
7f540 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 69 6e 73 65 72 74 2d .(defun.racket--describe-insert-
7f560 64 6f 6d 20 28 70 61 74 68 20 67 6f 74 6f 20 64 6f 6d 29 0a 20 20 22 49 6e 73 65 72 74 20 44 4f dom.(path.goto.dom)..."Insert.DO
7f580 4d 20 69 6e 74 6f 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2c 20 61 64 64 20 73 6f 6d 65 20 M.into.current.buffer,.add.some.
7f5a0 62 75 74 74 6f 6e 73 2c 20 61 6e 64 20 6d 6f 76 65 20 70 6f 69 6e 74 2e 0a 0a 47 4f 54 4f 20 64 buttons,.and.move.point...GOTO.d
7f5c0 65 74 65 72 6d 69 6e 65 73 20 77 68 65 72 65 20 70 6f 69 6e 74 20 69 73 20 6d 6f 76 65 64 3a 20 etermines.where.point.is.moved:.
7f5e0 49 66 20 73 74 72 69 6e 67 70 20 6d 6f 76 65 20 74 6f 20 74 68 61 74 0a 61 6e 63 68 6f 72 2e 20 If.stringp.move.to.that.anchor..
7f600 49 66 20 6e 75 6d 62 65 72 70 2c 20 6d 6f 76 65 20 74 6f 20 74 68 61 74 20 70 6f 73 69 74 69 6f If.numberp,.move.to.that.positio
7f620 6e 2e 22 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 68 65 72 n."...(setq.racket--describe-her
7f640 65 0a 20 20 20 20 20 20 20 20 28 69 66 20 70 61 74 68 20 28 63 6f 6e 73 20 70 61 74 68 20 67 6f e.........(if.path.(cons.path.go
7f660 74 6f 29 20 6e 69 6c 29 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 to).nil))...(setq.racket--descri
7f680 62 65 2d 6e 61 76 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d be-nav.nil)...(setq.header-line-
7f6a0 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 0a 20 20 20 20 20 format.........(propertize......
7f6c0 20 20 20 20 28 63 6f 6e 63 61 74 20 70 61 74 68 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 70 ....(concat.path.(cond.((stringp
7f6e0 20 67 6f 74 6f 29 20 28 63 6f 6e 63 61 74 20 22 20 22 20 67 6f 74 6f 29 29 0a 20 20 20 20 20 20 .goto).(concat.".".goto)).......
7f700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 75 6d 62 65 72 70 20 ......................((numberp.
7f720 67 6f 74 6f 29 20 28 66 6f 72 6d 61 74 20 22 20 25 73 22 20 67 6f 74 6f 29 29 29 29 0a 20 20 20 goto).(format.".%s".goto))))....
7f740 20 20 20 20 20 20 27 66 61 63 65 20 27 28 3a 68 65 69 67 68 74 20 30 2e 37 35 29 29 29 0a 20 20 ......'face.'(:height.0.75)))...
7f760 3b 3b 20 41 6c 74 68 6f 75 67 68 20 60 73 68 72 27 20 63 61 72 65 66 75 6c 6c 79 20 66 69 6c 6c ;;.Although.`shr'.carefully.fill
7f780 73 20 74 6f 20 66 69 74 20 77 69 6e 64 6f 77 20 77 69 64 74 68 2c 20 69 66 20 75 73 65 72 0a 20 s.to.fit.window.width,.if.user..
7f7a0 20 3b 3b 20 72 65 73 69 7a 65 73 20 77 69 6e 64 6f 77 20 6f 72 20 63 68 61 6e 67 65 73 20 74 65 .;;.resizes.window.or.changes.te
7f7c0 78 74 20 73 63 61 6c 69 6e 67 2c 20 77 65 20 64 6f 6e 27 74 20 77 61 6e 74 20 69 74 20 74 6f 20 xt.scaling,.we.don't.want.it.to.
7f7e0 77 72 61 70 2e 0a 20 20 28 73 65 74 71 20 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 20 74 29 0a wrap....(setq.truncate-lines.t).
7f800 20 20 3b 3b 20 4d 6f 64 65 73 20 74 68 61 74 20 73 68 6f 77 20 6c 69 6e 65 20 6e 75 6d 62 65 72 ..;;.Modes.that.show.line.number
7f820 73 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 6a 75 73 74 20 65 61 74 20 75 70 20 76 61 6c 75 s.in.the.buffer.just.eat.up.valu
7f840 61 62 6c 65 0a 20 20 3b 3b 20 73 70 61 63 65 3b 20 64 69 73 61 62 6c 65 2e 20 28 41 6c 73 6f 20 able...;;.space;.disable..(Also.
7f860 77 65 27 6c 6c 20 73 65 74 20 61 20 74 65 78 74 20 70 72 6f 70 20 62 65 6c 6f 77 2e 29 0a 20 20 we'll.set.a.text.prop.below.)...
7f880 28 77 68 65 6e 20 28 66 62 6f 75 6e 64 70 20 27 6c 69 6e 75 6d 2d 6d 6f 64 65 29 20 20 20 20 20 (when.(fboundp.'linum-mode).....
7f8a0 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 75 6d 2d 6d 6f 64 65 20 2d 31 29 29 0a 20 20 28 77 ...........(linum-mode.-1))...(w
7f8c0 68 65 6e 20 28 66 62 6f 75 6e 64 70 20 27 64 69 73 70 6c 61 79 2d 6c 69 6e 65 2d 6e 75 6d 62 65 hen.(fboundp.'display-line-numbe
7f8e0 72 73 2d 6d 6f 64 65 29 20 28 64 69 73 70 6c 61 79 2d 6c 69 6e 65 2d 6e 75 6d 62 65 72 73 2d 6d rs-mode).(display-line-numbers-m
7f900 6f 64 65 20 2d 31 29 29 0a 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e ode.-1))...(let.((buffer-read-on
7f920 6c 79 20 6e 69 6c 29 29 0a 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 ly.nil)).....(erase-buffer).....
7f940 28 6c 65 74 20 28 28 73 68 72 2d 75 73 65 2d 66 6f 6e 74 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 (let.((shr-use-fonts.nil).......
7f960 20 20 20 20 28 73 68 72 2d 65 78 74 65 72 6e 61 6c 2d 72 65 6e 64 65 72 69 6e 67 2d 66 75 6e 63 ....(shr-external-rendering-func
7f980 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 60 28 28 73 70 61 6e 20 20 20 20 20 20 20 20 tions............`((span........
7f9a0 20 20 20 20 20 20 2e 20 2c 23 27 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 73 70 61 ........,#'racket-render-tag-spa
7f9c0 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 31 20 20 20 20 20 20 20 20 20 20 20 20 20 n)..............(h1.............
7f9e0 20 20 20 2e 20 2c 23 27 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 68 65 61 64 69 6e .....,#'racket-render-tag-headin
7fa00 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 32 20 20 20 20 20 20 20 20 20 20 20 20 20 g)..............(h2.............
7fa20 20 20 20 2e 20 2c 23 27 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 68 65 61 64 69 6e .....,#'racket-render-tag-headin
7fa40 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 33 20 20 20 20 20 20 20 20 20 20 20 20 20 g)..............(h3.............
7fa60 20 20 20 2e 20 2c 23 27 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 68 65 61 64 69 6e .....,#'racket-render-tag-headin
7fa80 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 34 20 20 20 20 20 20 20 20 20 20 20 20 20 g)..............(h4.............
7faa0 20 20 20 2e 20 2c 23 27 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 68 65 61 64 69 6e .....,#'racket-render-tag-headin
7fac0 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 35 20 20 20 20 20 20 20 20 20 20 20 20 20 g)..............(h5.............
7fae0 20 20 20 2e 20 2c 23 27 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 68 65 61 64 69 6e .....,#'racket-render-tag-headin
7fb00 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 36 20 20 20 20 20 20 20 20 20 20 20 20 20 g)..............(h6.............
7fb20 20 20 20 2e 20 2c 23 27 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 68 65 61 64 69 6e .....,#'racket-render-tag-headin
7fb40 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 37 20 20 20 20 20 20 20 20 20 20 20 20 20 g)..............(h7.............
7fb60 20 20 20 2e 20 2c 23 27 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 68 65 61 64 69 6e .....,#'racket-render-tag-headin
7fb80 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b g)..............(racket-doc-link
7fba0 20 20 20 2e 20 2c 23 27 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 72 61 63 6b 65 74 .....,#'racket-render-tag-racket
7fbc0 2d 64 6f 63 2d 6c 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d -doc-link)..............(racket-
7fbe0 65 78 74 2d 6c 69 6e 6b 20 20 20 2e 20 2c 23 27 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 ext-link.....,#'racket-render-ta
7fc00 67 2d 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 g-racket-ext-link)..............
7fc20 28 72 61 63 6b 65 74 2d 61 6e 63 68 6f 72 20 20 20 20 20 2e 20 2c 23 27 72 61 63 6b 65 74 2d 72 (racket-anchor.......,#'racket-r
7fc40 65 6e 64 65 72 2d 74 61 67 2d 72 61 63 6b 65 74 2d 61 6e 63 68 6f 72 29 0a 20 20 20 20 20 20 20 ender-tag-racket-anchor)........
7fc60 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 6e 61 76 20 20 20 20 20 20 20 20 2e 20 2c 23 27 72 61 ......(racket-nav..........,#'ra
7fc80 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 72 61 63 6b 65 74 2d 6e 61 76 29 29 29 29 0a 20 cket-render-tag-racket-nav))))..
7fca0 20 20 20 20 20 28 73 68 72 2d 69 6e 73 65 72 74 2d 64 6f 63 75 6d 65 6e 74 20 64 6f 6d 29 29 0a .....(shr-insert-document.dom)).
7fcc0 20 20 20 20 3b 3b 20 53 65 65 20 64 6f 63 20 73 74 72 69 6e 67 20 66 6f 72 20 60 72 61 63 6b 65 ....;;.See.doc.string.for.`racke
7fce0 74 2d 2d 73 63 72 69 62 62 6c 65 2d 74 65 6d 70 2d 6e 62 73 70 27 2e 0a 20 20 20 20 28 67 6f 74 t--scribble-temp-nbsp'......(got
7fd00 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 o-char.(point-min)).....(while.(
7fd20 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 28 73 74 72 69 6e 67 20 72 61 63 6b 65 74 re-search-forward.(string.racket
7fd40 2d 2d 73 63 72 69 62 62 6c 65 2d 74 65 6d 70 2d 6e 62 73 70 29 20 6e 69 6c 20 74 29 0a 20 20 20 --scribble-temp-nbsp).nil.t)....
7fd60 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 20 22 20 74 20 74 29 29 0a 20 20 20 20 ...(replace-match.".".t.t)).....
7fd80 3b 3b 20 4a 75 73 74 20 69 6e 20 63 61 73 65 20 64 69 73 61 62 6c 69 6e 67 20 60 64 69 73 70 6c ;;.Just.in.case.disabling.`displ
7fda0 61 79 2d 6c 69 6e 65 2d 6e 75 6d 62 65 72 73 2d 6d 6f 64 65 27 20 64 6f 65 73 6e 27 74 0a 20 20 ay-line-numbers-mode'.doesn't...
7fdc0 20 20 3b 3b 20 73 75 66 66 69 63 65 20 28 23 36 37 38 29 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 ..;;.suffice.(#678),.as.well.as.
7fde0 74 6f 20 63 6f 76 65 72 20 65 2e 67 2e 20 75 73 65 72 20 65 6e 61 62 6c 69 6e 67 0a 20 20 20 20 to.cover.e.g..user.enabling.....
7fe00 3b 3b 20 60 67 6c 6f 62 61 6c 2d 64 69 73 70 6c 61 79 2d 6c 69 6e 65 2d 6e 75 6d 62 65 72 73 2d ;;.`global-display-line-numbers-
7fe20 6d 6f 64 65 27 20 6c 61 74 65 72 3a 0a 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 mode'.later:.....(put-text-prope
7fe40 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 27 64 69 73 rty.(point-min).(point-max).'dis
7fe60 70 6c 61 79 2d 6c 69 6e 65 2d 6e 75 6d 62 65 72 73 2d 64 69 73 61 62 6c 65 20 74 29 0a 20 20 20 play-line-numbers-disable.t)....
7fe80 20 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 67 6f 74 6f 20 67 6f 74 6f 29 29 29 0a .(racket--describe-goto.goto))).
7fea0 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 67 6f 74 6f 20 28 67 .(defun.racket--describe-goto.(g
7fec0 6f 74 6f 29 0a 20 20 22 4d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 47 4f 54 4f 2e 0a 0a 49 66 20 oto)..."Move.point.to.GOTO...If.
7fee0 60 6e 75 6d 62 65 72 70 27 2c 20 6d 6f 76 65 20 74 6f 20 74 68 61 74 20 70 6f 73 69 74 69 6f 6e `numberp',.move.to.that.position
7ff00 2e 0a 0a 49 66 20 60 73 74 72 69 6e 67 70 27 20 6d 6f 76 65 20 74 6f 20 74 68 65 20 70 6f 73 69 ...If.`stringp'.move.to.the.posi
7ff20 74 69 6f 6e 20 61 66 74 65 72 20 74 68 65 20 61 6e 63 68 6f 72 20 74 68 61 74 20 69 73 20 6e 6f tion.after.the.anchor.that.is.no
7ff40 74 0a 61 6e 63 68 6f 72 2e 20 54 68 65 72 65 20 63 6f 75 6c 64 20 62 65 20 6d 75 6c 74 69 70 6c t.anchor..There.could.be.multipl
7ff60 65 20 61 6e 63 68 6f 72 73 20 62 65 66 6f 72 65 20 73 6f 6d 65 20 6e 6f 6e 2d 61 6e 63 68 6f 72 e.anchors.before.some.non-anchor
7ff80 0a 74 65 78 74 2e 20 57 65 20 77 61 6e 74 20 70 6f 69 6e 74 20 6c 65 66 74 20 77 68 65 72 65 20 .text..We.want.point.left.where.
7ffa0 60 72 61 63 6b 65 74 2d 73 65 61 72 63 68 2d 64 65 73 63 72 69 62 65 27 20 63 61 6e 20 75 73 65 `racket-search-describe'.can.use
7ffc0 0a 60 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 27 20 74 6f 20 66 69 6e 64 20 61 20 73 79 6d 62 .`thing-at-point'.to.find.a.symb
7ffe0 6f 6c 2e 22 0a 20 20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 70 6f 69 6e 74 20 3b 69 6e 20 63 61 73 ol."...(set-window-point.;in.cas
80000 65 20 62 75 66 66 65 72 20 77 69 6e 64 6f 77 20 69 73 6e 74 27 20 73 65 6c 65 63 74 65 64 3b 20 e.buffer.window.isnt'.selected;.
80020 23 35 39 30 0a 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 28 63 75 72 72 #590....(get-buffer-window.(curr
80040 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 28 28 6e 75 6d 62 ent-buffer))....(cond.....((numb
80060 65 72 70 20 67 6f 74 6f 29 0a 20 20 20 20 20 67 6f 74 6f 29 0a 20 20 20 20 28 28 73 74 72 69 6e erp.goto)......goto).....((strin
80080 67 70 20 67 6f 74 6f 29 0a 20 20 20 20 20 28 6f 72 20 28 6c 65 74 20 28 28 69 20 6e 69 6c 29 29 gp.goto)......(or.(let.((i.nil))
800a0 20 3b 73 69 6c 65 6e 63 65 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 2e .;silence.byte-compiler.warning.
800c0 2e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 69 20 20 20 20 20 20 20 20 20 20 20 20 3b 2e 2e 2e 6f ..............i............;...o
800e0 6e 20 61 6c 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 65 6d 61 63 73 0a 20 20 20 20 20 20 20 20 n.all.versions.of.emacs.........
80100 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 69 20 62 65 69 6e 67 20 74 68 65 20 69 6e 74 65 ...(cl-loop.for.i.being.the.inte
80120 72 76 61 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 71 rvals.....................if.(eq
80140 75 61 6c 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 63 61 72 20 69 29 20 27 ual.(get-text-property.(car.i).'
80160 72 61 63 6b 65 74 2d 61 6e 63 68 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 racket-anchor)..................
80180 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 74 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .............goto)..............
801a0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 6a 20 66 72 6f .......return.(cl-loop.for.j.fro
801c0 6d 20 28 63 61 72 20 69 29 20 74 6f 20 28 70 6f 69 6e 74 2d 6d 61 78 29 0a 20 20 20 20 20 20 20 m.(car.i).to.(point-max)........
801e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 .............................if.
80200 28 6e 6f 74 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 6a 20 27 72 61 63 6b 65 (not.(get-text-property.j.'racke
80220 74 2d 61 6e 63 68 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-anchor))......................
80240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6a 29 29 29 0a 20 20 20 20 20 ...............return.j)))......
80260 20 20 20 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 0a 20 20 20 20 28 74 20 28 70 6f 69 6e 74 2d ....(point-min))).....(t.(point-
80280 6d 69 6e 29 29 29 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 min))))...(setq.racket--describe
802a0 2d 68 65 72 65 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63 61 72 20 72 61 63 6b 65 74 2d -here.........(cons.(car.racket-
802c0 2d 64 65 73 63 72 69 62 65 2d 68 65 72 65 29 20 28 70 6f 69 6e 74 29 29 29 29 0a 0a 28 64 65 66 -describe-here).(point))))..(def
802e0 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 2d 73 68 72 2d 66 61 63 65 73 0a 20 20 27 28 28 22 52 6b const.racket--shr-faces...'(("Rk
80300 74 53 79 6d 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b tSym"..................font-lock
80320 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 0a 20 20 20 20 28 22 52 6b 74 56 61 6c 22 20 20 20 20 -keyword-face).....("RktVal"....
80340 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74 ..............font-lock-constant
80360 2d 66 61 63 65 29 0a 20 20 20 20 28 22 52 6b 74 43 6d 74 22 20 20 20 20 20 20 20 20 20 20 20 20 -face).....("RktCmt"............
80380 20 20 20 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 29 0a 20 20 ......font-lock-comment-face)...
803a0 20 20 28 22 52 6b 74 45 72 72 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 65 72 72 ..("RktErr"..................err
803c0 6f 72 29 0a 20 20 20 20 28 22 52 6b 74 4f 75 74 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 or).....("RktOut"...............
803e0 20 2e 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6f 75 74 70 75 74 2d 66 61 63 65 29 0a 20 20 20 20 28 ...racket-doc-output-face).....(
80400 22 52 6b 74 52 65 73 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 66 6f 6e 74 2d 6c "RktRes"..................font-l
80420 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74 2d 66 61 63 65 29 0a 20 20 20 20 28 22 52 6b 74 56 61 72 22 ock-constant-face).....("RktVar"
80440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 ..................font-lock-vari
80460 61 62 6c 65 2d 6e 61 6d 65 2d 66 61 63 65 29 0a 20 20 20 20 28 22 52 6b 74 49 6e 42 47 22 20 20 able-name-face).....("RktInBG"..
80480 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 74 63 68 61 ...............racket-doc-litcha
804a0 72 2d 66 61 63 65 29 0a 20 20 20 20 28 22 52 6b 74 4d 6f 64 4c 69 6e 6b 22 20 20 20 20 20 20 20 r-face).....("RktModLink".......
804c0 20 20 20 20 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 0a 20 .......font-lock-keyword-face)..
804e0 20 20 20 28 22 74 65 63 68 69 6e 73 69 64 65 22 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 69 74 ...("techinside"..............it
80500 61 6c 69 63 29 0a 20 20 20 20 28 22 52 6b 74 56 61 6c 4c 69 6e 6b 22 20 20 20 20 20 20 20 20 20 alic).....("RktValLink".........
80520 20 20 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65 2d 6e 61 6d 65 2d 66 61 63 .....font-lock-variable-name-fac
80540 65 29 0a 20 20 20 20 28 22 52 6b 74 53 74 78 4c 69 6e 6b 22 20 20 20 20 20 20 20 20 20 20 20 20 e).....("RktStxLink"............
80560 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 0a 20 20 20 20 28 22 ..font-lock-keyword-face).....("
80580 52 6b 74 56 61 6c 44 65 66 20 52 6b 74 56 61 6c 4c 69 6e 6b 22 20 20 2e 20 62 6f 6c 64 29 0a 20 RktValDef.RktValLink"....bold)..
805a0 20 20 20 28 22 52 6b 74 53 74 78 44 65 66 20 52 6b 74 53 74 78 4c 69 6e 6b 22 20 20 2e 20 62 6f ...("RktStxDef.RktStxLink"....bo
805c0 6c 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 64 ld)))..(defun.racket--describe-d
805e0 6f 6d 2d 3e 66 61 63 65 20 28 64 6f 6d 29 0a 20 20 28 6c 65 74 20 28 28 63 6c 61 73 73 20 28 64 om->face.(dom)...(let.((class.(d
80600 6f 6d 2d 61 74 74 72 20 64 6f 6d 20 27 63 6c 61 73 73 29 29 29 0a 20 20 20 20 28 69 66 20 28 65 om-attr.dom.'class))).....(if.(e
80620 71 75 61 6c 20 63 6c 61 73 73 20 22 52 6b 74 50 6e 22 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 53 qual.class."RktPn").........;;.S
80640 63 72 69 62 62 6c 65 20 67 69 76 65 73 20 6b 65 79 77 6f 72 64 20 61 72 67 75 6d 65 6e 74 73 20 cribble.gives.keyword.arguments.
80660 22 52 6b 74 50 6e 22 20 73 74 79 6c 65 20 61 6e 64 20 43 53 53 0a 20 20 20 20 20 20 20 20 3b 3b "RktPn".style.and.CSS.........;;
80680 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 61 64 6a 75 73 74 73 2e 20 55 67 68 2e 20 44 6f 20 .conditionally.adjusts..Ugh..Do.
806a0 73 69 6d 69 6c 61 72 20 68 61 63 6b 20 68 65 72 65 2e 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 similar.hack.here..........(cond
806c0 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 23 3a 22 20 28 64 6f 6d 2d 74 65 78 .((string-match-p."^#:".(dom-tex
806e0 74 20 64 6f 6d 29 29 20 27 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 2d 61 72 67 75 6d 65 6e 74 t.dom)).'racket-keyword-argument
80700 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 66 61 63 65 70 20 27 70 61 -face)...............((facep.'pa
80720 72 65 6e 74 68 65 73 69 73 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70 61 72 renthesis)..................'par
80740 65 6e 74 68 65 73 69 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 20 enthesis)...............(t......
80760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 ...............................'
80780 64 65 66 61 75 6c 74 29 29 0a 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 6f 63 20 63 6c 61 73 default)).......(cdr.(assoc.clas
807a0 73 20 72 61 63 6b 65 74 2d 2d 73 68 72 2d 66 61 63 65 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e s.racket--shr-faces)))))..(defun
807c0 20 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 73 70 61 6e 20 28 64 6f 6d 29 0a 20 20 .racket-render-tag-span.(dom)...
807e0 22 48 61 6e 64 6c 65 20 73 6f 6d 65 20 74 68 69 6e 67 73 20 73 68 72 2d 74 61 67 2d 73 70 61 6e "Handle.some.things.shr-tag-span
80800 20 64 6f 65 73 20 6e 6f 74 2e 0a 0a 57 68 65 6e 20 73 70 61 6e 20 68 61 73 20 61 20 74 69 74 6c .does.not...When.span.has.a.titl
80820 65 20 61 74 74 72 69 62 75 74 65 2c 20 73 65 74 20 68 65 6c 70 2d 65 63 68 6f 20 70 72 6f 70 65 e.attribute,.set.help-echo.prope
80840 72 74 79 2e 0a 0a 57 68 65 6e 20 73 70 61 6e 20 68 61 73 20 61 20 52 6b 74 58 58 58 20 6f 72 20 rty...When.span.has.a.RktXXX.or.
80860 74 65 63 68 69 6e 73 69 64 65 20 63 6c 61 73 73 2c 20 73 65 74 20 74 68 65 20 66 61 63 65 2e 22 techinside.class,.set.the.face."
80880 0a 20 20 28 6c 65 74 20 28 28 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 69 ...(let.((start.(point))).....(i
808a0 66 2d 6c 65 74 20 28 66 61 63 65 20 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 64 6f f-let.(face.(racket--describe-do
808c0 6d 2d 3e 66 61 63 65 20 64 6f 6d 29 29 0a 20 20 20 20 20 20 20 20 28 73 68 72 2d 66 6f 6e 74 69 m->face.dom)).........(shr-fonti
808e0 7a 65 2d 64 6f 6d 20 64 6f 6d 20 66 61 63 65 29 0a 20 20 20 20 20 20 28 73 68 72 2d 67 65 6e 65 ze-dom.dom.face).......(shr-gene
80900 72 69 63 20 64 6f 6d 29 29 0a 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 74 69 74 6c 65 20 28 ric.dom)).....(when-let.(title.(
80920 64 6f 6d 2d 61 74 74 72 20 64 6f 6d 20 27 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 28 70 75 74 dom-attr.dom.'title)).......(put
80940 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 73 74 61 72 74 20 28 70 6f 69 6e 74 29 20 27 68 65 -text-property.start.(point).'he
80960 6c 70 2d 65 63 68 6f 20 74 69 74 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 lp-echo.title))))..(defun.racket
80980 2d 72 65 6e 64 65 72 2d 74 61 67 2d 68 65 61 64 69 6e 67 20 28 64 6f 6d 29 0a 20 20 28 70 63 61 -render-tag-heading.(dom)...(pca
809a0 73 65 2d 6c 65 74 20 28 28 60 28 2c 6c 65 76 65 6c 20 2e 20 2c 66 61 63 65 29 0a 20 20 20 20 20 se-let.((`(,level...,face)......
809c0 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 28 63 61 72 20 64 6f 6d 29 0a 20 20 20 20 20 ..........(pcase.(car.dom)......
809e0 20 20 20 20 20 20 20 20 20 20 20 20 28 27 68 31 20 27 28 31 20 2e 20 28 76 61 72 69 61 62 6c 65 ............('h1.'(1...(variable
80a00 2d 70 69 74 63 68 20 28 3a 68 65 69 67 68 74 20 32 2e 30 30 29 29 29 29 0a 20 20 20 20 20 20 20 -pitch.(:height.2.00))))........
80a20 20 20 20 20 20 20 20 20 20 20 28 27 68 32 20 27 28 32 20 2e 20 28 76 61 72 69 61 62 6c 65 2d 70 ..........('h2.'(2...(variable-p
80a40 69 74 63 68 20 28 3a 68 65 69 67 68 74 20 31 2e 39 30 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 itch.(:height.1.90))))..........
80a60 20 20 20 20 20 20 20 20 28 27 68 33 20 27 28 33 20 2e 20 28 76 61 72 69 61 62 6c 65 2d 70 69 74 ........('h3.'(3...(variable-pit
80a80 63 68 20 28 3a 68 65 69 67 68 74 20 31 2e 37 35 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ch.(:height.1.75))))............
80aa0 20 20 20 20 20 20 28 27 68 34 20 27 28 34 20 2e 20 28 76 61 72 69 61 62 6c 65 2d 70 69 74 63 68 ......('h4.'(4...(variable-pitch
80ac0 20 28 3a 68 65 69 67 68 74 20 31 2e 36 30 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(:height.1.60))))..............
80ae0 20 20 20 20 28 27 68 35 20 27 28 35 20 2e 20 28 76 61 72 69 61 62 6c 65 2d 70 69 74 63 68 20 28 ....('h5.'(5...(variable-pitch.(
80b00 3a 68 65 69 67 68 74 20 31 2e 34 35 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :height.1.45))))................
80b20 20 20 28 27 68 36 20 27 28 36 20 2e 20 28 76 61 72 69 61 62 6c 65 2d 70 69 74 63 68 20 28 3a 68 ..('h6.'(6...(variable-pitch.(:h
80b40 65 69 67 68 74 20 31 2e 34 30 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eight.1.40))))..................
80b60 28 27 68 37 20 27 28 37 20 2e 20 28 76 61 72 69 61 62 6c 65 2d 70 69 74 63 68 20 28 3a 68 65 69 ('h7.'(7...(variable-pitch.(:hei
80b80 67 68 74 20 31 2e 31 35 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 5f ght.1.15))))..................(_
80ba0 20 27 28 6e 69 6c 20 2e 20 28 76 61 72 69 61 62 6c 65 2d 70 69 74 63 68 20 28 3a 77 65 69 67 68 .'(nil...(variable-pitch.(:weigh
80bc0 74 20 62 6f 6c 64 29 29 29 29 29 29 29 0a 20 20 20 20 3b 3b 20 53 74 61 72 74 69 6e 67 20 69 6e t.bold))))))).....;;.Starting.in
80be0 20 45 6d 61 63 73 20 33 30 2e 30 2e 35 30 2c 20 60 73 68 72 2d 68 65 61 64 69 6e 67 27 20 61 73 .Emacs.30.0.50,.`shr-heading'.as
80c00 73 75 6d 65 73 20 74 68 65 20 66 61 63 65 20 69 73 20 61 0a 20 20 20 20 3b 3b 20 73 79 6d 62 6f sumes.the.face.is.a.....;;.symbo
80c20 6c 20 73 68 72 2d 68 4e 20 73 6f 20 69 74 20 63 61 6e 20 65 78 74 72 61 63 74 20 4e 20 74 6f 20 l.shr-hN.so.it.can.extract.N.to.
80c40 61 64 64 20 61 6e 20 6f 75 74 6c 69 6e 65 2d 6c 65 76 65 6c 20 74 65 78 74 0a 20 20 20 20 3b 3b add.an.outline-level.text.....;;
80c60 20 70 72 6f 70 65 72 74 79 2e 20 41 76 6f 69 64 20 63 61 6c 6c 69 6e 67 20 74 68 61 74 3b 20 69 .property..Avoid.calling.that;.i
80c80 6e 73 74 65 61 64 20 64 6f 20 65 71 75 69 76 61 6c 65 6e 74 2e 20 53 65 65 20 23 36 38 37 2e 0a nstead.do.equivalent..See.#687..
80ca0 20 20 20 20 28 73 68 72 2d 65 6e 73 75 72 65 2d 70 61 72 61 67 72 61 70 68 29 0a 20 20 20 20 28 ....(shr-ensure-paragraph).....(
80cc0 6c 65 74 20 28 28 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 28 73 68 72 let.((start.(point))).......(shr
80ce0 2d 66 6f 6e 74 69 7a 65 2d 64 6f 6d 20 64 6f 6d 20 66 61 63 65 29 0a 20 20 20 20 20 20 28 77 68 -fontize-dom.dom.face).......(wh
80d00 65 6e 20 6c 65 76 65 6c 0a 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 en.level.........(put-text-prope
80d20 72 74 79 20 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rty.start.......................
80d40 20 20 20 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 66 69 65 6c 64 2d 74 65 78 74 2d 6d .....(let.((inhibit-field-text-m
80d60 6f 74 69 6f 6e 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 otion.t)).......................
80d80 20 20 20 20 20 20 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 .......(line-end-position)).....
80da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6f 75 74 6c 69 6e 65 2d .......................'outline-
80dc0 6c 65 76 65 6c 20 6c 65 76 65 6c 29 29 29 0a 20 20 20 20 28 73 68 72 2d 65 6e 73 75 72 65 2d 70 level.level))).....(shr-ensure-p
80de0 61 72 61 67 72 61 70 68 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 62 75 74 74 6f 6e 2d 74 79 70 65 aragraph)))..(define-button-type
80e00 20 27 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 0a 20 20 27 61 63 74 69 6f 6e 20 23 27 72 61 .'racket-doc-link...'action.#'ra
80e20 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 64 6f 63 2d 6c 69 6e 6b 2d 62 75 74 74 6f 6e 29 0a 0a cket-describe-doc-link-button)..
80e40 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 72 61 63 6b 65 74 2d (defun.racket-render-tag-racket-
80e60 64 6f 63 2d 6c 69 6e 6b 20 28 64 6f 6d 29 0a 20 20 28 6c 65 74 20 28 28 70 61 74 68 20 20 20 28 doc-link.(dom)...(let.((path...(
80e80 64 6f 6d 2d 61 74 74 72 20 64 6f 6d 20 27 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 28 61 6e dom-attr.dom.'path)).........(an
80ea0 63 68 6f 72 20 28 64 6f 6d 2d 61 74 74 72 20 64 6f 6d 20 27 61 6e 63 68 6f 72 29 29 0a 20 20 20 chor.(dom-attr.dom.'anchor))....
80ec0 20 20 20 20 20 28 73 74 61 72 74 20 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 73 .....(start..(point)).........(s
80ee0 68 72 2d 73 74 61 72 74 20 6e 69 6c 29 29 0a 20 20 20 20 28 73 68 72 2d 67 65 6e 65 72 69 63 20 hr-start.nil)).....(shr-generic.
80f00 64 6f 6d 29 20 3b 74 68 69 73 20 77 69 6c 6c 20 61 64 64 20 66 61 63 65 73 20 74 6f 20 60 64 6f dom).;this.will.add.faces.to.`do
80f20 6d 27 20 6b 69 64 73 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 3d 20 73 74 61 72 74 20 28 70 6f m'.kids.....(unless.(=.start.(po
80f40 69 6e 74 29 29 0a 20 20 20 20 20 20 28 6d 61 6b 65 2d 74 65 78 74 2d 62 75 74 74 6f 6e 0a 20 20 int)).......(make-text-button...
80f60 20 20 20 20 20 73 74 61 72 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f .....start...................(po
80f80 69 6e 74 29 0a 20 20 20 20 20 20 20 27 74 79 70 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 int)........'type...............
80fa0 20 20 20 20 27 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 0a 20 20 20 20 20 20 20 27 72 61 63 ....'racket-doc-link........'rac
80fc0 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 70 61 74 68 20 20 20 70 61 74 68 0a 20 20 20 20 20 20 20 ket-doc-link-path...path........
80fe0 27 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 61 6e 63 68 6f 72 20 61 6e 63 68 6f 72 0a 20 'racket-doc-link-anchor.anchor..
81000 20 20 20 20 20 20 27 66 61 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 ......'face...................'r
81020 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 66 61 63 65 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 acket-doc-link-face))))..(define
81040 2d 62 75 74 74 6f 6e 2d 74 79 70 65 20 27 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 0a 20 20 -button-type.'racket-ext-link...
81060 27 61 63 74 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 65 78 74 2d 6c 69 'action.#'racket-describe-ext-li
81080 6e 6b 2d 62 75 74 74 6f 6e 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 nk-button)..(defun.racket-render
810a0 2d 74 61 67 2d 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 20 28 64 6f 6d 29 0a 20 20 28 6c 65 -tag-racket-ext-link.(dom)...(le
810c0 74 20 28 28 68 72 65 66 20 20 20 28 64 6f 6d 2d 61 74 74 72 20 64 6f 6d 20 27 68 72 65 66 29 29 t.((href...(dom-attr.dom.'href))
810e0 0a 20 20 20 20 20 20 20 20 28 73 74 61 72 74 20 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 .........(start..(point)).......
81100 20 20 28 73 68 72 2d 73 74 61 72 74 20 6e 69 6c 29 29 0a 20 20 20 20 28 73 68 72 2d 67 65 6e 65 ..(shr-start.nil)).....(shr-gene
81120 72 69 63 20 64 6f 6d 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 3d 20 73 74 61 72 74 20 28 70 ric.dom).....(unless.(=.start.(p
81140 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 6d 61 6b 65 2d 74 65 78 74 2d 62 75 74 74 6f 6e 0a 20 oint)).......(make-text-button..
81160 20 20 20 20 20 20 73 74 61 72 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 ......start.................(poi
81180 6e 74 29 0a 20 20 20 20 20 20 20 27 74 79 70 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt)........'type................
811a0 20 27 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 0a 20 20 20 20 20 20 20 27 66 61 63 65 20 20 .'racket-ext-link........'face..
811c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 2d ...............'racket-ext-link-
811e0 66 61 63 65 0a 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 2d 68 72 65 face........'racket-ext-link-hre
81200 66 20 68 72 65 66 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 f.href))))..(defun.racket-render
81220 2d 74 61 67 2d 72 61 63 6b 65 74 2d 61 6e 63 68 6f 72 20 28 64 6f 6d 29 0a 20 20 22 41 74 20 6c -tag-racket-anchor.(dom)..."At.l
81240 65 61 73 74 20 69 6e 20 45 6d 61 63 73 20 32 35 2e 32 20 73 68 72 2d 74 61 67 2d 61 20 69 73 6e east.in.Emacs.25.2.shr-tag-a.isn
81260 27 74 20 68 61 6e 64 6c 69 6e 67 20 3c 61 3e 20 61 6e 63 68 6f 72 73 20 61 74 20 61 6c 6c 2e 0a 't.handling.<a>.anchors.at.all..
81280 53 6f 20 77 65 20 68 61 76 65 20 6f 75 72 20 62 61 63 6b 20 65 6e 64 20 73 75 62 73 74 69 74 75 So.we.have.our.back.end.substitu
812a0 74 65 20 74 68 65 73 65 20 3c 72 61 63 6b 65 74 2d 61 6e 63 68 6f 72 3e 20 65 6c 65 6d 65 6e 74 te.these.<racket-anchor>.element
812c0 73 0a 66 6f 72 20 6f 75 72 20 63 75 73 74 6f 6d 20 73 68 72 20 68 61 6e 64 6c 65 72 2e 22 0a 20 s.for.our.custom.shr.handler."..
812e0 20 28 6c 65 74 20 28 28 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 .(let.((start.(point)).........(
81300 69 64 20 28 6f 72 20 28 64 6f 6d 2d 61 74 74 72 20 64 6f 6d 20 27 69 64 29 20 28 64 6f 6d 2d 61 id.(or.(dom-attr.dom.'id).(dom-a
81320 74 74 72 20 64 6f 6d 20 27 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 28 73 68 72 2d 67 65 6e 65 72 ttr.dom.'name)))).....(shr-gener
81340 69 63 20 64 6f 6d 29 0a 20 20 20 20 3b 3b 20 48 6f 77 20 74 6f 20 61 74 74 61 63 68 20 61 20 70 ic.dom).....;;.How.to.attach.a.p
81360 72 6f 70 65 72 74 79 20 74 6f 20 6e 6f 74 68 69 6e 67 3f 20 4d 61 6b 65 20 61 6e 20 69 6e 76 69 roperty.to.nothing?.Make.an.invi
81380 73 69 62 6c 65 0a 20 20 20 20 3b 3b 20 73 6f 6d 65 74 68 69 6e 67 3b 20 69 6e 73 65 72 74 20 61 sible.....;;.something;.insert.a
813a0 20 63 68 61 72 61 63 74 65 72 20 77 69 74 68 20 61 20 27 64 69 73 70 6c 61 79 20 70 72 6f 70 65 .character.with.a.'display.prope
813c0 72 74 79 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 3b 3b 20 22 22 2e 20 41 6c 74 68 6f 75 67 68 rty.value.of.....;;.""..Although
813e0 20 6e 6f 74 20 64 69 73 70 6c 61 79 65 64 20 74 6f 20 74 68 65 20 75 73 65 72 2c 20 74 68 65 20 .not.displayed.to.the.user,.the.
81400 63 68 61 72 61 63 74 65 72 20 65 78 69 73 74 73 20 69 6e 0a 20 20 20 20 3b 3b 20 74 68 65 20 62 character.exists.in.....;;.the.b
81420 75 66 66 65 72 2c 20 74 68 65 72 65 66 6f 72 65 20 74 68 65 20 63 68 6f 69 63 65 20 6f 66 20 63 uffer,.therefore.the.choice.of.c
81440 68 61 72 61 63 74 65 72 20 6d 61 74 74 65 72 73 2e 20 44 6f 6e 27 74 0a 20 20 20 20 3b 3b 20 75 haracter.matters..Don't.....;;.u
81460 73 65 20 61 20 73 70 61 63 65 20 62 65 63 61 75 73 65 20 73 68 72 20 6d 69 67 68 74 20 65 6c 69 se.a.space.because.shr.might.eli
81480 6d 69 6e 61 74 65 20 69 74 2e 20 44 6f 6e 27 74 20 75 73 65 20 73 6f 6d 65 74 68 69 6e 67 0a 20 minate.it..Don't.use.something..
814a0 20 20 20 3b 3b 20 74 68 61 74 20 60 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 27 20 63 6f 6e 73 ...;;.that.`thing-at-point'.cons
814c0 69 64 65 72 73 20 70 61 72 74 20 6f 66 20 61 20 73 79 6d 62 6f 6c 20 28 69 6e 20 63 61 73 65 20 iders.part.of.a.symbol.(in.case.
814e0 75 73 65 72 0a 20 20 20 20 3b 3b 20 69 6e 6f 76 6b 65 73 20 60 72 61 63 6b 65 74 2d 64 65 73 63 user.....;;.inovkes.`racket-desc
81500 72 69 62 65 2d 73 65 61 72 63 68 27 20 77 69 74 68 20 70 6f 69 6e 74 20 68 65 72 65 29 2e 0a 20 ribe-search'.with.point.here)...
81520 20 20 20 28 77 68 65 6e 20 28 3d 20 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 ...(when.(=.start.(point))......
81540 20 28 69 6e 73 65 72 74 20 3f 5e 29 0a 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f .(insert.?^).......(put-text-pro
81560 70 65 72 74 79 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 20 28 70 6f 69 6e 74 29 20 27 64 69 73 70 perty.(1-.(point)).(point).'disp
81580 6c 61 79 20 22 22 29 29 0a 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 lay."")).....(put-text-property.
815a0 73 74 61 72 74 20 28 31 2b 20 73 74 61 72 74 29 20 27 72 61 63 6b 65 74 2d 61 6e 63 68 6f 72 20 start.(1+.start).'racket-anchor.
815c0 69 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d id)))..(defun.racket-render-tag-
815e0 72 61 63 6b 65 74 2d 6e 61 76 20 28 64 6f 6d 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d racket-nav.(dom)...(setq.racket-
81600 2d 64 65 73 63 72 69 62 65 2d 6e 61 76 20 64 6f 6d 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b -describe-nav.dom))..(defun.rack
81620 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 6e 61 76 20 28 77 68 69 63 68 29 0a 20 20 28 69 6e 74 65 et--describe-nav.(which)...(inte
81640 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 70 61 74 68 20 28 64 6f 6d 2d 61 74 74 72 ractive)...(let.((path.(dom-attr
81660 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 6e 61 76 20 77 68 69 63 68 29 29 29 0a 20 .racket--describe-nav.which)))..
81680 20 20 20 28 75 6e 6c 65 73 73 20 70 61 74 68 0a 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f ...(unless.path.......(user-erro
816a0 72 20 22 54 68 65 72 65 20 69 73 20 6e 6f 20 25 73 20 70 61 67 65 20 61 76 61 69 6c 61 62 6c 65 r."There.is.no.%s.page.available
816c0 22 20 77 68 69 63 68 29 29 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 ".which)).....(setq.racket--desc
816e0 72 69 62 65 2d 73 74 61 63 6b 2d 66 6f 72 77 61 72 64 20 6e 69 6c 29 0a 20 20 20 20 28 72 61 63 ribe-stack-forward.nil).....(rac
81700 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 6d 61 79 62 65 2d 70 75 73 68 2d 68 65 72 65 20 27 62 ket--describe-maybe-push-here.'b
81720 61 63 6b 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 66 65 74 63 68 ack).....(racket--describe-fetch
81740 2d 61 6e 64 2d 73 68 6f 77 20 70 61 74 68 20 6e 69 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 -and-show.path.nil)))..(defun.ra
81760 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6e 61 76 2d 74 6f 70 20 28 29 0a 20 20 28 69 6e 74 65 cket-describe-nav-top.()...(inte
81780 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 6e 61 76 ractive)...(racket--describe-nav
817a0 20 27 74 6f 70 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d .'top))..(defun.racket-describe-
817c0 6e 61 76 2d 75 70 20 28 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 nav-up.()...(interactive)...(rac
817e0 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 6e 61 76 20 27 75 70 29 29 0a 0a 28 64 65 66 75 6e 20 ket--describe-nav.'up))..(defun.
81800 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6e 61 76 2d 70 72 65 76 20 28 29 0a 20 20 28 69 racket-describe-nav-prev.()...(i
81820 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d nteractive)...(racket--describe-
81840 6e 61 76 20 27 70 72 65 76 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 73 63 72 nav.'prev))..(defun.racket-descr
81860 69 62 65 2d 6e 61 76 2d 6e 65 78 74 20 28 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a ibe-nav-next.()...(interactive).
81880 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 6e 61 76 20 27 6e 65 78 74 29 29 0a ..(racket--describe-nav.'next)).
818a0 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 66 65 74 63 68 2d 61 .(defun.racket--describe-fetch-a
818c0 6e 64 2d 73 68 6f 77 20 28 70 61 74 68 20 67 6f 74 6f 29 0a 20 20 22 49 6e 73 65 72 74 20 73 68 nd-show.(path.goto)..."Insert.sh
818e0 72 20 64 6f 6d 20 66 6f 72 20 50 41 54 48 20 61 6e 64 20 6d 6f 76 65 20 70 6f 69 6e 74 20 74 6f r.dom.for.PATH.and.move.point.to
81900 20 47 4f 54 4f 2e 0a 0a 50 41 54 48 20 69 73 20 64 6f 63 20 70 61 74 68 2c 20 61 73 20 69 6e 20 .GOTO...PATH.is.doc.path,.as.in.
81920 74 68 65 20 5c 22 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 70 61 74 68 5c 22 20 62 75 74 the.\"racket-doc-link-path\".but
81940 74 6f 6e 0a 70 72 6f 70 65 72 74 79 2e 0a 0a 47 4f 54 4f 20 69 73 20 61 73 20 69 6e 20 60 72 61 ton.property...GOTO.is.as.in.`ra
81960 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 67 6f 74 6f 27 2e 22 0a 20 20 28 69 66 20 28 65 71 cket--describe-goto'."...(if.(eq
81980 75 61 6c 20 70 61 74 68 20 28 63 61 72 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 68 ual.path.(car.racket--describe-h
819a0 65 72 65 29 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 67 6f ere)).......(racket--describe-go
819c0 74 6f 20 67 6f 74 6f 29 20 3b 6a 75 73 74 20 6d 6f 76 65 2c 20 73 61 6d 65 20 70 61 67 65 0a 20 to.goto).;just.move,.same.page..
819e0 20 20 20 28 73 65 74 71 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 0a 20 20 20 20 ...(setq.header-line-format.....
81a00 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f ......(propertize............(fo
81a20 72 6d 61 74 20 22 57 61 69 74 69 6e 67 20 66 6f 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 rmat."Waiting.for.documentation.
81a40 66 69 6c 65 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 file.%s"....................path
81a60 29 0a 20 20 20 20 20 20 20 20 20 20 20 27 66 61 63 65 20 27 69 74 61 6c 69 63 29 29 0a 20 20 20 )............'face.'italic))....
81a80 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b .(condition-case.e.........(rack
81aa0 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 69 6e 73 65 72 74 2d 64 6f 6d 20 70 61 74 68 0a 20 20 20 et--describe-insert-dom.path....
81ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
81ae0 20 20 67 6f 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..goto..........................
81b00 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d 70 61 ............(racket--scribble-pa
81b20 74 68 2d 3e 73 68 72 2d 64 6f 6d 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 0a th->shr-dom.path)).......(error.
81b40 20 20 20 20 20 20 20 28 73 65 74 71 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 0a .......(setq.header-line-format.
81b60 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 66 6f 72 6d 61 74 .............(propertize.(format
81b80 20 22 25 53 22 20 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."%S".e)........................
81ba0 20 20 27 66 61 63 65 20 27 65 72 72 6f 72 29 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 ..'face.'error))........(setq.ra
81bc0 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 68 65 72 65 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 cket--describe-here.nil)))))..(d
81be0 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 6d 61 79 62 65 2d 70 75 73 68 efun.racket--describe-maybe-push
81c00 2d 68 65 72 65 20 28 77 68 69 63 68 29 0a 20 20 22 57 68 65 6e 20 69 74 20 69 73 20 61 20 70 61 -here.(which)..."When.it.is.a.pa
81c20 74 68 2c 20 70 75 73 68 20 60 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 68 65 72 65 27 th,.push.`racket--describe-here'
81c40 20 74 6f 20 57 48 49 43 48 20 73 74 61 63 6b 2e 0a 0a 49 74 20 6d 69 67 68 74 20 6e 6f 74 20 62 .to.WHICH.stack...It.might.not.b
81c60 65 20 61 20 70 61 74 68 20 77 68 65 6e 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 20 74 68 65 20 62 e.a.path.when.for.instance.the.b
81c80 61 63 6b 20 65 6e 64 20 64 65 73 63 72 69 62 65 0a 63 6f 6d 6d 61 6e 64 20 64 6f 65 73 20 6e 6f ack.end.describe.command.does.no
81ca0 74 20 66 69 6e 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 22 0a 20 20 28 70 63 61 73 65 20 t.find.documentation."...(pcase.
81cc0 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 68 65 72 65 0a 20 20 20 20 28 60 28 2c 28 61 racket--describe-here.....(`(,(a
81ce0 6e 64 20 70 61 74 68 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 29 20 2e 20 2c 5f 29 0a 20 20 nd.path.(pred.stringp))...,_)...
81d00 20 20 20 28 6c 65 74 20 28 28 76 20 28 63 6f 6e 73 20 70 61 74 68 20 28 70 6f 69 6e 74 29 29 29 ...(let.((v.(cons.path.(point)))
81d20 29 0a 20 20 20 20 20 20 20 28 70 63 61 73 65 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 28 )........(pcase.which..........(
81d40 27 62 61 63 6b 20 20 20 20 28 70 75 73 68 20 76 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 'back....(push.v.racket--describ
81d60 65 2d 73 74 61 63 6b 2d 62 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 20 28 27 66 6f 72 77 61 72 e-stack-back))..........('forwar
81d80 64 20 28 70 75 73 68 20 76 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 73 74 61 63 6b d.(push.v.racket--describe-stack
81da0 2d 66 6f 72 77 61 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 5f 20 20 20 20 20 20 20 20 28 65 -forward))..........(_........(e
81dc0 72 72 6f 72 20 22 62 61 64 20 76 61 6c 75 65 20 66 6f 72 20 57 48 49 43 48 20 25 73 22 20 77 68 rror."bad.value.for.WHICH.%s".wh
81de0 69 63 68 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 ich)))))))..(defun.racket-descri
81e00 62 65 2d 64 6f 63 2d 6c 69 6e 6b 2d 62 75 74 74 6f 6e 20 28 62 75 74 74 6f 6e 29 0a 20 20 22 41 be-doc-link-button.(button)..."A
81e20 63 74 69 6f 6e 20 66 6f 72 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 62 75 74 74 6f 6e ction.for.racket-doc-link-button
81e40 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 61 74 68 20 20 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 ."...(let.((path...(button-get.b
81e60 75 74 74 6f 6e 20 27 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 70 61 74 68 29 29 0a 20 20 utton.'racket-doc-link-path))...
81e80 20 20 20 20 20 20 28 61 6e 63 68 6f 72 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f 6e ......(anchor.(button-get.button
81ea0 20 27 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 61 6e 63 68 6f 72 29 29 29 0a 20 20 20 20 .'racket-doc-link-anchor))).....
81ec0 28 77 68 65 6e 20 70 61 74 68 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 (when.path.......(racket--descri
81ee0 62 65 2d 6d 61 79 62 65 2d 70 75 73 68 2d 68 65 72 65 20 27 62 61 63 6b 29 0a 20 20 20 20 20 20 be-maybe-push-here.'back).......
81f00 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 73 74 61 63 6b 2d 66 6f 72 (setq.racket--describe-stack-for
81f20 77 61 72 64 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 ward.nil).......(racket--describ
81f40 65 2d 66 65 74 63 68 2d 61 6e 64 2d 73 68 6f 77 20 70 61 74 68 20 61 6e 63 68 6f 72 29 29 29 29 e-fetch-and-show.path.anchor))))
81f60 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 62 61 63 6b 20 28 29 ..(defun.racket-describe-back.()
81f80 0a 20 20 22 47 6f 20 62 61 63 6b 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 74 6f 70 69 ..."Go.back.to.the.previous.topi
81fa0 63 2c 20 6c 69 6b 65 20 69 6e 20 61 20 77 65 62 20 62 72 6f 77 73 65 72 2e 22 0a 20 20 28 69 6e c,.like.in.a.web.browser."...(in
81fc0 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 72 61 63 6b 65 74 2d 2d 64 65 73 teractive)...(unless.racket--des
81fe0 63 72 69 62 65 2d 73 74 61 63 6b 2d 62 61 63 6b 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 cribe-stack-back.....(user-error
82000 20 22 4e 6f 20 62 61 63 6b 77 61 72 64 20 68 69 73 74 6f 72 79 22 29 29 0a 20 20 28 72 61 63 6b ."No.backward.history"))...(rack
82020 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 6d 61 79 62 65 2d 70 75 73 68 2d 68 65 72 65 20 27 66 6f et--describe-maybe-push-here.'fo
82040 72 77 61 72 64 29 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 70 61 74 68 20 2e 20 rward)...(pcase-let.((`(,path...
82060 2c 70 6f 73 29 20 28 70 6f 70 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 73 74 61 63 ,pos).(pop.racket--describe-stac
82080 6b 2d 62 61 63 6b 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d k-back))).....(racket--describe-
820a0 66 65 74 63 68 2d 61 6e 64 2d 73 68 6f 77 20 70 61 74 68 20 70 6f 73 29 29 29 0a 0a 28 64 65 66 fetch-and-show.path.pos)))..(def
820c0 75 6e 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 66 6f 72 77 61 72 64 20 28 29 0a 20 20 un.racket-describe-forward.()...
820e0 22 47 6f 20 66 6f 72 77 61 72 64 20 74 6f 20 74 68 65 20 74 6f 70 69 63 20 66 72 6f 6d 20 77 68 "Go.forward.to.the.topic.from.wh
82100 65 72 65 20 60 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 62 61 63 6b 27 20 63 61 6d 65 2e ere.`racket-describe-back'.came.
82120 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 72 61 63 6b "...(interactive)...(unless.rack
82140 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 73 74 61 63 6b 2d 66 6f 72 77 61 72 64 0a 20 20 20 20 28 et--describe-stack-forward.....(
82160 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 66 6f 72 77 61 72 64 20 68 69 73 74 6f 72 79 22 29 user-error."No.forward.history")
82180 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 6d 61 79 62 65 2d 70 75 73 68 )...(racket--describe-maybe-push
821a0 2d 68 65 72 65 20 27 62 61 63 6b 29 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 70 -here.'back)...(pcase-let.((`(,p
821c0 61 74 68 20 2e 20 2c 70 6f 73 29 20 28 70 6f 70 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 ath...,pos).(pop.racket--describ
821e0 65 2d 73 74 61 63 6b 2d 66 6f 72 77 61 72 64 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d e-stack-forward))).....(racket--
82200 64 65 73 63 72 69 62 65 2d 66 65 74 63 68 2d 61 6e 64 2d 73 68 6f 77 20 70 61 74 68 20 70 6f 73 describe-fetch-and-show.path.pos
82220 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 65 78 74 2d )))..(defun.racket-describe-ext-
82240 6c 69 6e 6b 2d 62 75 74 74 6f 6e 20 28 62 75 74 74 6f 6e 29 0a 20 20 22 41 63 74 69 6f 6e 20 66 link-button.(button)..."Action.f
82260 6f 72 20 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 2d 62 75 74 74 6f 6e 2e 22 0a 20 20 28 6c or.racket-ext-link-button."...(l
82280 65 74 20 28 28 68 72 65 66 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f 6e 20 27 72 61 et.((href.(button-get.button.'ra
822a0 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 2d 68 72 65 66 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 cket-ext-link-href))).....(racke
822c0 74 2d 62 72 6f 77 73 65 2d 75 72 6c 20 68 72 65 66 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 t-browse-url.href)))..(defun.rac
822e0 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 2d 72 65 76 65 72 74 2d 62 75 66 66 65 72 20 ket-describe-mode-revert-buffer.
82300 28 5f 69 67 6e 6f 72 65 2d 61 75 74 6f 20 5f 6e 6f 63 6f 6e 66 69 72 6d 29 0a 20 20 28 77 68 65 (_ignore-auto._noconfirm)...(whe
82320 6e 2d 6c 65 74 20 28 70 61 67 65 20 28 63 61 72 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 n-let.(page.(car.racket--describ
82340 65 2d 68 65 72 65 29 29 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 e-here)).....(setq.racket--descr
82360 69 62 65 2d 68 65 72 65 20 6e 69 6c 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 ibe-here.nil).....(racket--descr
82380 69 62 65 2d 66 65 74 63 68 2d 61 6e 64 2d 73 68 6f 77 20 70 61 67 65 20 28 70 6f 69 6e 74 29 29 ibe-fetch-and-show.page.(point))
823a0 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 62 72 6f 77 73 ))..(defun.racket-describe-brows
823c0 65 2d 65 78 74 65 72 6e 61 6c 20 28 29 0a 20 20 22 4f 70 65 6e 20 74 68 65 20 63 75 72 72 65 6e e-external.()..."Open.the.curren
823e0 74 20 70 61 67 65 20 75 73 69 6e 67 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 t.page.using.the.variable.`racke
82400 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 27 2e 0a 0a 54 68 65 20 61 6e 63 t-browse-url-function'...The.anc
82420 68 6f 72 20 69 73 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 20 61 74 20 6f 72 20 62 65 66 6f 72 hor.is.the.first.one.at.or.befor
82440 65 20 70 6f 69 6e 74 2c 20 69 66 20 61 6e 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 e.point,.if.any."...(interactive
82460 29 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 70 61 67 65 20 28 63 61 72 20 72 61 63 6b 65 74 2d )...(when-let.(page.(car.racket-
82480 2d 64 65 73 63 72 69 62 65 2d 68 65 72 65 29 29 0a 20 20 20 20 28 69 66 2d 6c 65 74 20 28 61 6e -describe-here)).....(if-let.(an
824a0 63 68 6f 72 20 28 6f 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 chor.(or.(get-text-property.(poi
824c0 6e 74 29 20 27 72 61 63 6b 65 74 2d 61 6e 63 68 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 nt).'racket-anchor).............
824e0 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 70 6f 73 20 28 70 72 65 76 ............(when-let.(pos.(prev
82500 69 6f 75 73 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 0a 20 20 20 20 ious-single-property-change.....
82520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
82540 20 20 20 20 28 70 6f 69 6e 74 29 20 27 72 61 63 6b 65 74 2d 61 6e 63 68 6f 72 29 29 0a 20 20 20 ....(point).'racket-anchor))....
82560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 67 65 74 2d .......................(or.(get-
82580 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27 72 61 63 6b 65 74 2d 61 6e 63 68 6f 72 text-property.pos.'racket-anchor
825a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
825c0 28 77 68 65 6e 20 28 3c 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 70 6f 73 29 0a 20 20 20 20 20 20 (when.(<.(point-min).pos).......
825e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 74 ..........................(get-t
82600 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 31 2d 20 70 6f 73 29 20 27 72 61 63 6b 65 74 2d 61 6e ext-property.(1-.pos).'racket-an
82620 63 68 6f 72 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 62 72 6f 77 73 chor)))))).........(racket-brows
82640 65 2d 75 72 6c 20 28 63 6f 6e 63 61 74 20 70 61 67 65 20 22 23 22 20 28 75 72 6c 2d 68 65 78 69 e-url.(concat.page."#".(url-hexi
82660 66 79 2d 73 74 72 69 6e 67 20 61 6e 63 68 6f 72 29 29 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 fy-string.anchor))).......(racke
82680 74 2d 62 72 6f 77 73 65 2d 75 72 6c 20 70 61 67 65 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 72 t-browse-url.page))))..(defvar.r
826a0 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 acket-describe-mode-map...(let.(
826c0 28 6d 61 70 20 28 72 61 63 6b 65 74 2d 2d 65 61 73 79 2d 6b 65 79 6d 61 70 2d 64 65 66 69 6e 65 (map.(racket--easy-keymap-define
826e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 22 3c 74 61 62 3e 22 20 20 20 20 20 20 20 ...............`(("<tab>".......
82700 20 20 20 20 20 20 2c 23 27 66 6f 72 77 61 72 64 2d 62 75 74 74 6f 6e 29 0a 20 20 20 20 20 20 20 ......,#'forward-button)........
82720 20 20 20 20 20 20 20 20 20 28 22 3c 62 61 63 6b 74 61 62 3e 22 20 20 20 20 20 20 20 20 20 2c 23 .........("<backtab>".........,#
82740 27 62 61 63 6b 77 61 72 64 2d 62 75 74 74 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 'backward-button)...............
82760 20 20 28 28 22 6c 22 20 22 62 22 20 22 43 2d 63 20 43 2d 62 22 29 20 2c 23 27 72 61 63 6b 65 74 ..(("l"."b"."C-c.C-b").,#'racket
82780 2d 64 65 73 63 72 69 62 65 2d 62 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -describe-back).................
827a0 28 28 22 72 22 20 22 66 22 20 22 43 2d 63 20 43 2d 66 22 29 20 2c 23 27 72 61 63 6b 65 74 2d 64 (("r"."f"."C-c.C-f").,#'racket-d
827c0 65 73 63 72 69 62 65 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 escribe-forward)................
827e0 20 28 28 22 43 2d 63 20 43 2d 73 22 20 22 69 22 29 20 20 20 20 20 2c 23 27 72 61 63 6b 65 74 2d .(("C-c.C-s"."i").....,#'racket-
82800 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 describe-search)................
82820 20 28 22 6e 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 23 27 72 61 63 6b 65 74 2d .("n".................,#'racket-
82840 64 65 73 63 72 69 62 65 2d 6e 61 76 2d 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 describe-nav-next)..............
82860 20 20 20 28 22 70 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 23 27 72 61 63 6b 65 ...("p".................,#'racke
82880 74 2d 64 65 73 63 72 69 62 65 2d 6e 61 76 2d 70 72 65 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 t-describe-nav-prev)............
828a0 20 20 20 20 20 28 22 5e 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 23 27 72 61 63 .....("^".................,#'rac
828c0 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6e 61 76 2d 75 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 ket-describe-nav-up)............
828e0 20 20 20 20 20 28 22 43 2d 5e 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 23 27 72 61 63 .....("C-^"...............,#'rac
82900 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6e 61 76 2d 74 6f 70 29 0a 20 20 20 20 20 20 20 20 20 20 ket-describe-nav-top)...........
82920 20 20 20 20 20 20 28 22 78 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 23 27 72 61 ......("x".................,#'ra
82940 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 62 72 6f 77 73 65 2d 65 78 74 65 72 6e 61 6c 29 29 29 cket-describe-browse-external)))
82960 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 58 46 38 36 42 61 63 6b )).....(define-key.map.[XF86Back
82980 5d 20 20 20 20 27 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 62 61 63 6b 29 0a 20 20 20 20 ]....'racket-describe-back).....
829a0 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 58 46 38 36 46 6f 72 77 61 72 64 5d 20 27 72 (define-key.map.[XF86Forward].'r
829c0 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 62 61 63 6b 29 0a 20 20 20 20 28 73 65 74 2d 6b 65 acket-describe-back).....(set-ke
829e0 79 6d 61 70 2d 70 61 72 65 6e 74 20 6d 61 70 20 73 70 65 63 69 61 6c 2d 6d 6f 64 65 2d 6d 61 70 ymap-parent.map.special-mode-map
82a00 29 0a 20 20 20 20 6d 61 70 29 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 52 61 63 6b 65 74 20 ).....map)..."Keymap.for.Racket.
82a20 44 65 73 63 72 69 62 65 20 6d 6f 64 65 2e 22 29 0a 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 Describe.mode.")..(define-derive
82a40 64 2d 6d 6f 64 65 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 20 73 70 65 63 d-mode.racket-describe-mode.spec
82a60 69 61 6c 2d 6d 6f 64 65 0a 20 20 22 52 61 63 6b 65 74 44 65 73 63 72 69 62 65 22 0a 20 20 22 4d ial-mode..."RacketDescribe"..."M
82a80 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 76 69 65 77 69 6e 67 20 52 61 63 6b 65 74 20 64 6f 63 ajor.mode.for.viewing.Racket.doc
82aa0 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 4d 61 6e 79 20 6f 66 20 74 68 65 20 64 65 66 61 75 6c 74 umentation...Many.of.the.default
82ac0 20 6b 65 79 20 62 69 6e 64 69 6e 67 73 20 61 72 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 60 49 6e .key.bindings.are.similar.to.`In
82ae0 66 6f 2d 6d 6f 64 65 27 2c 20 73 75 63 68 0a 61 73 3a 0a 0a 2d 20 54 41 42 20 61 6e 64 20 53 2d fo-mode',.such.as:..-.TAB.and.S-
82b00 54 41 42 20 74 6f 20 6d 6f 76 65 20 61 6d 6f 6e 67 20 6c 69 6e 6b 73 2e 0a 0a 2d 20 52 45 54 20 TAB.to.move.among.links...-.RET.
82b20 74 6f 20 66 6f 6c 6c 6f 77 20 74 68 65 20 6c 69 6e 6b 20 61 74 20 70 6f 69 6e 74 2e 0a 0a 2d 20 to.follow.the.link.at.point...-.
82b40 5e 2f 6e 2f 70 20 66 6f 72 20 75 70 2f 6e 65 78 74 2f 70 72 65 76 20 70 61 67 65 2e 0a 0a 2d 20 ^/n/p.for.up/next/prev.page...-.
82b60 6c 2f 72 20 66 6f 72 20 62 61 63 6b 2f 66 6f 72 77 61 72 64 20 68 69 73 74 6f 72 79 2e 0a 0a 2d l/r.for.back/forward.history...-
82b80 20 69 20 6f 72 20 43 2d 63 20 43 2d 73 20 74 6f 20 73 65 61 72 63 68 20 74 68 65 20 64 6f 63 75 .i.or.C-c.C-s.to.search.the.docu
82ba0 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 64 65 78 2e 0a 0a 41 6c 73 6f 20 6e 6f 74 61 62 6c 65 3a 0a mentation.index...Also.notable:.
82bc0 0a 2d 20 43 2d 5e 20 74 6f 20 67 6f 20 74 6f 20 74 68 65 20 76 65 72 79 20 74 6f 70 20 64 6f 63 .-.C-^.to.go.to.the.very.top.doc
82be0 75 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 64 65 78 20 70 61 67 65 2e 0a 0a 2d 20 78 20 74 6f 20 6f umentation.index.page...-.x.to.o
82c00 70 65 6e 20 74 68 65 20 70 61 67 65 20 75 73 69 6e 67 20 60 72 61 63 6b 65 74 2d 64 65 73 63 72 pen.the.page.using.`racket-descr
82c20 69 62 65 2d 62 72 6f 77 73 65 2d 65 78 74 65 72 6e 61 6c 27 2e 0a 0a 49 6e 74 65 72 6e 61 6c 2c ibe-browse-external'...Internal,
82c40 20 69 6e 74 72 61 2d 64 6f 63 20 6c 69 6e 6b 73 20 2d 2d 20 77 68 69 63 68 20 67 6f 20 74 6f 20 .intra-doc.links.--.which.go.to.
82c60 6f 74 68 65 72 20 64 6f 63 20 70 61 67 65 73 20 69 6e 20 74 68 65 0a 73 61 6d 65 20 60 72 61 63 other.doc.pages.in.the.same.`rac
82c80 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 20 69 6e 20 45 6d 61 ket-describe-mode'.buffer.in.Ema
82ca0 63 73 20 2d 2d 20 61 72 65 20 67 69 76 65 6e 0a 60 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 cs.--.are.given.`racket-describe
82cc0 2d 64 6f 63 2d 6c 69 6e 6b 2d 66 61 63 65 27 20 75 6e 6c 65 73 73 20 74 68 65 20 64 6f 63 75 6d -doc-link-face'.unless.the.docum
82ce0 65 6e 74 61 74 69 6f 6e 0a 73 70 65 63 69 66 69 65 73 20 73 6f 6d 65 20 6e 6f 6e 2d 64 65 66 61 entation.specifies.some.non-defa
82d00 75 6c 74 20 66 61 63 65 2e 0a 0a 45 78 74 65 72 6e 61 6c 20 6c 69 6e 6b 73 20 2d 2d 20 77 68 69 ult.face...External.links.--.whi
82d20 63 68 20 61 72 65 20 6f 70 65 6e 65 64 20 75 73 69 6e 67 20 74 68 65 20 76 61 72 69 61 62 6c 65 ch.are.opened.using.the.variable
82d40 0a 60 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 27 2c 20 62 .`racket-browse-url-function',.b
82d60 79 20 64 65 66 61 75 6c 74 20 69 6e 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 77 65 62 0a 62 72 6f y.default.in.an.external.web.bro
82d80 77 73 65 72 20 70 72 6f 67 72 61 6d 20 2d 2d 20 61 72 65 20 67 69 76 65 6e 20 60 72 61 63 6b 65 wser.program.--.are.given.`racke
82da0 74 2d 64 65 73 63 72 69 62 65 2d 65 78 74 2d 6c 69 6e 6b 2d 66 61 63 65 27 2e 0a 0a 5c 5c 7b 72 t-describe-ext-link-face'...\\{r
82dc0 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 2d 6d 61 70 7d 22 0a 20 20 28 73 65 74 acket-describe-mode-map}"...(set
82de0 71 20 73 68 6f 77 2d 74 72 61 69 6c 69 6e 67 2d 77 68 69 74 65 73 70 61 63 65 20 6e 69 6c 29 0a q.show-trailing-whitespace.nil).
82e00 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 65 76 65 72 74 2d 62 75 66 66 65 72 2d 66 75 6e 63 ..(setq-local.revert-buffer-func
82e20 74 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 2d 72 65 76 65 tion.#'racket-describe-mode-reve
82e40 72 74 2d 62 75 66 66 65 72 29 0a 20 20 28 62 75 66 66 65 72 2d 64 69 73 61 62 6c 65 2d 75 6e 64 rt-buffer)...(buffer-disable-und
82e60 6f 29 29 0a 0a 3b 3b 3b 20 53 65 61 72 63 68 20 61 6e 64 20 64 69 73 61 6d 62 69 67 75 61 74 69 o))..;;;.Search.and.disambiguati
82e80 6f 6e 20 75 73 69 6e 67 20 6c 6f 63 61 6c 20 64 6f 63 73 0a 0a 3b 3b 20 46 6f 72 20 70 65 6f 70 on.using.local.docs..;;.For.peop
82ea0 6c 65 20 77 68 6f 20 64 6f 6e 27 74 20 77 61 6e 74 20 74 6f 20 75 73 65 20 61 20 77 65 62 20 62 le.who.don't.want.to.use.a.web.b
82ec0 72 6f 77 73 65 72 20 61 74 20 61 6c 6c 3a 20 53 65 61 72 63 68 20 6c 6f 63 61 6c 0a 3b 3b 20 64 rowser.at.all:.Search.local.;;.d
82ee0 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 64 69 73 61 6d 62 69 67 75 61 74 65 20 69 6e 20 61 20 ocumentation,.disambiguate.in.a.
82f00 62 75 66 66 65 72 2c 20 61 6e 64 20 76 69 65 77 20 69 6e 20 61 0a 3b 3b 20 72 61 63 6b 65 74 2d buffer,.and.view.in.a.;;.racket-
82f20 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 20 62 75 66 66 65 72 2e 0a 0a 28 64 65 66 76 61 72 20 72 describe-mode.buffer...(defvar.r
82f40 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 74 65 72 6d 73 20 28 6d 61 6b 65 2d 68 61 73 68 acket--describe-terms.(make-hash
82f60 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 0a 20 20 22 55 73 65 64 20 66 6f 72 -table.:test.'equal)..."Used.for
82f80 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 2e 22 29 0a 0a 28 64 65 66 75 .completion.candidates.")..(defu
82fa0 6e 20 72 61 63 6b 65 74 2d 2d 72 65 6d 6f 76 65 2d 64 65 73 63 72 69 62 65 2d 74 65 72 6d 73 20 n.racket--remove-describe-terms.
82fc0 28 29 0a 20 20 22 41 20 60 72 61 63 6b 65 74 2d 73 74 6f 70 2d 62 61 63 6b 2d 65 6e 64 2d 68 6f ()..."A.`racket-stop-back-end-ho
82fe0 6f 6b 27 20 74 6f 20 63 6c 65 61 6e 20 75 70 20 60 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 ok'.to.clean.up.`racket--describ
83000 65 2d 74 65 72 6d 73 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 6b 65 79 20 28 72 61 63 6b 65 74 2d e-terms'."...(let.((key.(racket-
83020 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 6b 65 79 0a 20 back-end-name))).....(when.key..
83040 20 20 20 20 20 28 72 65 6d 68 61 73 68 20 6b 65 79 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 .....(remhash.key.racket--descri
83060 62 65 2d 74 65 72 6d 73 29 29 29 29 0a 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d be-terms))))..(add-hook.'racket-
83080 73 74 6f 70 2d 62 61 63 6b 2d 65 6e 64 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 2d 72 65 6d stop-back-end-hook.#'racket--rem
830a0 6f 76 65 2d 64 65 73 63 72 69 62 65 2d 74 65 72 6d 73 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b ove-describe-terms)..(defun.rack
830c0 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 74 65 72 6d 73 20 28 29 0a 20 20 28 6c 65 74 20 28 28 6b et--describe-terms.()...(let.((k
830e0 65 79 20 28 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 ey.(racket-back-end-name))).....
83100 28 70 63 61 73 65 20 28 67 65 74 68 61 73 68 20 6b 65 79 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 (pcase.(gethash.key.racket--desc
83120 72 69 62 65 2d 74 65 72 6d 73 29 0a 20 20 20 20 20 20 28 60 6e 69 6c 0a 20 20 20 20 20 20 20 28 ribe-terms).......(`nil........(
83140 70 75 74 68 61 73 68 20 6b 65 79 20 27 66 65 74 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 puthash.key.'fetching...........
83160 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 74 65 72 6d 73 29 0a 20 20 ......racket--describe-terms)...
83180 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 20 6e 69 6c 0a 20 20 20 20 .....(racket--cmd/async.nil.....
831a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 64 6f 63 2d 69 6e 64 65 ......................'(doc-inde
831c0 78 2d 6e 61 6d 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x-names)........................
831e0 20 20 20 28 6c 61 6d 62 64 61 20 28 6e 61 6d 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(lambda.(names)..............
83200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 68 61 73 68 20 6b 65 79 0a 20 20 20 20 ...............(puthash.key.....
83220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
83240 20 28 73 6f 72 74 20 6e 61 6d 65 73 20 23 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 29 0a 20 20 20 .(sort.names.#'string-lessp)....
83260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
83280 20 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 74 65 72 6d 73 29 29 29 0a 20 20 20 20 ..racket--describe-terms))).....
832a0 20 20 20 3b 3b 20 57 61 69 74 20 66 6f 72 20 72 65 73 70 6f 6e 73 65 20 62 75 74 20 69 66 20 77 ...;;.Wait.for.response.but.if.w
832c0 61 69 74 69 6e 67 20 74 6f 6f 20 6c 6f 6e 67 20 6a 75 73 74 20 72 65 74 75 72 6e 20 6e 69 6c 2c aiting.too.long.just.return.nil,
832e0 0a 20 20 20 20 20 20 20 3b 3b 20 61 6e 64 20 75 73 65 20 74 68 65 20 72 65 73 70 6f 6e 73 65 20 ........;;.and.use.the.response.
83300 6e 65 78 74 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 6d 65 73 next.time.........(with-temp-mes
83320 73 61 67 65 20 22 47 65 74 74 69 6e 67 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 sage."Getting.completion.candida
83340 74 65 73 20 66 72 6f 6d 20 62 61 63 6b 20 65 6e 64 2e 2e 2e 22 0a 20 20 20 20 20 20 20 20 28 77 tes.from.back.end...".........(w
83360 69 74 68 2d 74 69 6d 65 6f 75 74 20 28 35 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 ith-timeout.(5.nil)...........(w
83380 68 69 6c 65 20 28 65 71 75 61 6c 20 27 66 65 74 63 68 69 6e 67 20 28 67 65 74 68 61 73 68 20 6b hile.(equal.'fetching.(gethash.k
833a0 65 79 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 74 65 72 6d 73 29 29 0a 20 20 20 20 ey.racket--describe-terms)).....
833c0 20 20 20 20 20 20 20 20 28 61 63 63 65 70 74 2d 70 72 6f 63 65 73 73 2d 6f 75 74 70 75 74 20 6e ........(accept-process-output.n
833e0 69 6c 20 30 2e 30 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 65 74 68 61 73 68 20 6b 65 79 il.0.01))...........(gethash.key
83400 20 72 61 63 6b 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 74 65 72 6d 73 29 29 29 29 0a 20 20 20 20 .racket--describe-terms)))).....
83420 20 20 28 27 66 65 74 63 68 69 6e 67 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 28 61 6e 64 20 28 70 ..('fetching.nil).......((and.(p
83440 72 65 64 20 6c 69 73 74 70 29 20 6e 61 6d 65 73 29 20 6e 61 6d 65 73 29 29 29 29 0a 0a 28 64 65 red.listp).names).names))))..(de
83460 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 20 28 29 0a 20 20 fun.racket-describe-search.()...
83480 22 53 65 61 72 63 68 20 69 6e 73 74 61 6c 6c 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3b "Search.installed.documentation;
834a0 20 76 69 65 77 20 75 73 69 6e 67 20 60 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 .view.using.`racket-describe-mod
834c0 65 27 2e 0a 0a 41 6c 77 61 79 73 20 70 72 6f 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 6e 74 65 72 e'...Always.prompts.you.to.enter
834e0 20 61 20 73 79 6d 62 6f 6c 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 73 79 6d .a.symbol,.defaulting.to.the.sym
83500 62 6f 6c 20 61 74 0a 70 6f 69 6e 74 20 69 66 20 61 6e 79 2e 0a 0a 2d 20 49 66 20 6a 75 73 74 20 bol.at.point.if.any...-.If.just.
83520 6f 6e 65 20 6d 6f 64 75 6c 65 20 65 78 70 6f 72 74 73 20 74 68 65 20 6e 61 6d 65 2c 20 79 6f 75 one.module.exports.the.name,.you
83540 20 67 6f 20 64 69 72 65 63 74 6c 79 20 74 6f 20 61 0a 20 20 52 61 63 6b 65 74 20 44 65 73 63 72 .go.directly.to.a...Racket.Descr
83560 69 62 65 20 62 75 66 66 65 72 20 77 69 74 68 20 69 74 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f ibe.buffer.with.its.documentatio
83580 6e 2e 0a 0a 2d 20 49 66 20 6d 75 6c 74 69 70 6c 65 20 6d 6f 64 75 6c 65 73 20 65 78 70 6f 72 74 n...-.If.multiple.modules.export
835a0 20 74 68 65 20 6e 61 6d 65 2c 20 79 6f 75 20 67 6f 20 66 69 72 73 74 20 74 6f 20 61 0a 20 20 5c .the.name,.you.go.first.to.a...\
835c0 22 64 69 73 61 6d 62 69 67 75 61 74 69 6f 6e 5c 22 20 62 75 66 66 65 72 20 73 69 6d 69 6c 61 72 "disambiguation\".buffer.similar
835e0 20 74 6f 20 74 68 65 20 52 61 63 6b 65 74 20 5c 22 53 65 61 72 63 68 0a 20 20 4d 61 6e 75 61 6c .to.the.Racket.\"Search...Manual
83600 73 5c 22 20 77 65 62 20 70 61 67 65 2e 20 59 6f 75 20 6d 61 79 20 70 72 65 73 73 20 52 45 54 20 s\".web.page..You.may.press.RET.
83620 6f 6e 20 61 6e 79 20 69 74 65 6d 20 74 6f 20 67 65 74 20 61 0a 20 20 52 61 63 6b 65 74 20 44 65 on.any.item.to.get.a...Racket.De
83640 73 63 72 69 62 65 20 62 75 66 66 65 72 20 66 6f 72 20 74 68 61 74 20 6d 6f 64 75 6c 65 27 73 20 scribe.buffer.for.that.module's.
83660 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 74 68 69 6e 67 2e 0a 22 0a 20 20 28 69 6e 74 65 72 version.of.the.thing.."...(inter
83680 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 6e 61 6d 65 20 28 72 61 63 6b 65 74 2d 2d active)...(let*.((name.(racket--
836a0 73 79 6d 62 6f 6c 2d 61 74 2d 70 6f 69 6e 74 2d 6f 72 2d 70 72 6f 6d 70 74 20 74 20 22 44 65 73 symbol-at-point-or-prompt.t."Des
836c0 63 72 69 62 65 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cribe:."........................
836e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b ...........................(rack
83700 65 74 2d 2d 64 65 73 63 72 69 62 65 2d 74 65 72 6d 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 et--describe-terms)))..........(
83720 62 75 66 2d 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 2a 52 61 63 6b 65 74 20 53 65 61 72 63 68 buf-name.(format."*Racket.Search
83740 20 44 65 73 63 72 69 62 65 20 60 25 73 60 20 3c 25 73 3e 2a 22 0a 20 20 20 20 20 20 20 20 20 20 .Describe.`%s`.<%s>*"...........
83760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 .................name...........
83780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e .................(racket-back-en
837a0 64 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e d-name)))).....(racket--cmd/asyn
837c0 63 0a 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 60 28 64 6f 63 2d 69 6e 64 65 78 2d 6c 6f 6f 6b c......nil......`(doc-index-look
837e0 75 70 20 2c 6e 61 6d 65 29 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 75 6c 74 29 0a up.,name)......(lambda.(result).
83800 20 20 20 20 20 20 20 28 70 63 61 73 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 20 28 60 .......(pcase.result..........(`
83820 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4e 6f 20 64 6f 63 75 6d 65 ()...........(message."No.docume
83840 6e 74 69 6f 6e 20 66 6f 75 6e 64 20 66 6f 72 20 25 73 22 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 ntion.found.for.%s".name))......
83860 20 20 20 20 28 60 28 28 2c 5f 74 65 72 6d 20 2c 5f 77 68 61 74 20 2c 5f 66 72 6f 6d 20 2c 70 61 ....(`((,_term.,_what.,_from.,pa
83880 74 68 20 2c 61 6e 63 68 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 64 th.,anchor))...........(racket-d
838a0 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 2d 76 69 73 69 74 20 6e 61 6d 65 0a 20 20 20 20 20 20 escribe-search-visit.name.......
838c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
838e0 20 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 6f 6e ..(racket-file-name-back-to-fron
83900 74 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.path).........................
83920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 63 68 6f 72 29 29 0a 20 20 20 20 20 20 20 ................anchor))........
83940 20 20 28 76 73 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 ..(vs...........(with-current-bu
83960 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 ffer...............(get-buffer-c
83980 72 65 61 74 65 20 62 75 66 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 reate.buf-name).............(rac
839a0 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 ket-describe-search-mode).......
839c0 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 78 2d 74 65 72 6d 20 30 29 0a 20 20 20 20 20 20 20 ......(let.((max-term.0)........
839e0 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 78 2d 77 68 61 74 20 30 29 29 0a 20 20 20 20 20 20 20 ...........(max-what.0))........
83a00 20 20 20 20 20 20 20 28 73 65 74 71 20 74 61 62 75 6c 61 74 65 64 2d 6c 69 73 74 2d 65 6e 74 72 .......(setq.tabulated-list-entr
83a20 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 0a ies.....................(mapcar.
83a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 2d 6c 61 6d 62 .....................(pcase-lamb
83a60 64 61 20 28 60 28 2c 74 65 72 6d 20 2c 77 68 61 74 20 2c 66 72 6f 6d 20 2c 70 61 74 68 20 2c 61 da.(`(,term.,what.,from.,path.,a
83a80 6e 63 68 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 nchor))........................(
83aa0 6c 65 74 20 28 28 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 66 72 6f 6d 29 29 0a 20 let.((from.(format."%s".from))..
83ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 61 ............................(wha
83ae0 74 20 28 70 63 61 73 65 20 77 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.(pcase.what...................
83b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 6d 20 2e 20 2c 63 29 20 28 ...................(`(,m...,c).(
83b20 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6d 29 0a 20 20 20 20 20 20 20 20 20 concat.(symbol-name.m)..........
83b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
83b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 6f 66 20 22 0a 20 20 20 20 20 20 20 20 20 ................".of."..........
83b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
83ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 63 29 29 ................(symbol-name.c))
83bc0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
83be0 20 20 20 20 20 20 20 28 60 28 29 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(`()."").................
83c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 5f 20 28 73 79 6d 62 6f 6c 2d .....................(_.(symbol-
83c20 6e 61 6d 65 20 77 68 61 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 name.what)))))..................
83c40 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 78 2d 74 65 72 6d 20 28 6d 61 78 20 6d 61 78 2d ........(setq.max-term.(max.max-
83c60 74 65 72 6d 20 28 6c 65 6e 67 74 68 20 74 65 72 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 term.(length.term)))............
83c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 78 2d 77 68 61 74 20 28 6d 61 ..............(setq.max-what.(ma
83ca0 78 20 6d 61 78 2d 77 68 61 74 20 28 6c 65 6e 67 74 68 20 77 68 61 74 29 29 29 0a 20 20 20 20 20 x.max-what.(length.what)))......
83cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 6e 69 6c 0a 20 20 ....................(list.nil...
83ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 .............................(ve
83d00 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ctor............................
83d20 20 20 20 20 20 28 6c 69 73 74 20 74 65 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(list.term.................
83d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 61 6d 65 20 20 20 74 65 ......................'name...te
83d60 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rm..............................
83d80 20 20 20 20 20 20 20 20 20 27 70 61 74 68 20 20 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 .........'path...(racket-file-na
83da0 6d 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 6f 6e 74 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 me-back-to-front.path)..........
83dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 61 6e .............................'an
83de0 63 68 6f 72 20 61 6e 63 68 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 chor.anchor.....................
83e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 61 63 74 69 6f 6e 20 23 27 72 61 63 6b ..................'action.#'rack
83e20 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 2d 62 75 74 74 6f 6e 29 0a 20 20 20 20 20 et-describe-search-button)......
83e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 61 74 0a ...........................what.
83e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
83e80 66 72 6f 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 73 from))))......................vs
83ea0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 61 62 75 6c 61 74 65 64 ))...............(setq.tabulated
83ec0 2d 6c 69 73 74 2d 73 6f 72 74 2d 6b 65 79 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 -list-sort-key.nil).............
83ee0 20 20 28 73 65 74 71 20 74 61 62 75 6c 61 74 65 64 2d 6c 69 73 74 2d 66 6f 72 6d 61 74 0a 20 20 ..(setq.tabulated-list-format...
83f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 20 28 6c 69 73 74 20 ..................(vector.(list.
83f20 22 4e 61 6d 65 22 20 28 6d 61 78 20 6d 61 78 2d 74 65 72 6d 20 28 6c 65 6e 67 74 68 20 22 4e 61 "Name".(max.max-term.(length."Na
83f40 6d 65 20 22 29 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 me.")).nil).....................
83f60 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 22 4b 69 6e 64 22 20 28 6d 61 78 20 6d 61 78 2d 77 68 ........(list."Kind".(max.max-wh
83f80 61 74 20 28 6c 65 6e 67 74 68 20 22 4b 69 6e 64 20 22 29 29 20 74 29 0a 20 20 20 20 20 20 20 20 at.(length."Kind.")).t).........
83fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 22 46 72 6f 6d 22 ....................(list."From"
83fc0 20 39 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .99.............................
83fe0 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 61 62 75 6c 61 .t)))...............(setq.tabula
84000 74 65 64 2d 6c 69 73 74 2d 70 61 64 64 69 6e 67 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ted-list-padding.0).............
84020 20 20 28 74 61 62 75 6c 61 74 65 64 2d 6c 69 73 74 2d 69 6e 69 74 2d 68 65 61 64 65 72 29 0a 20 ..(tabulated-list-init-header)..
84040 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 61 62 75 6c 61 74 65 64 2d 6c 69 73 74 2d 70 72 69 .............(tabulated-list-pri
84060 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 nt)...............(pop-to-buffer
84080 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 .(current-buffer))))))))))..(def
840a0 75 6e 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 2d 62 75 74 74 6f 6e un.racket-describe-search-button
840c0 20 28 62 75 74 74 6f 6e 29 0a 20 20 28 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 .(button)...(racket-describe-sea
840e0 72 63 68 2d 76 69 73 69 74 0a 20 20 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f 6e 20 rch-visit....(button-get.button.
84100 27 6e 61 6d 65 29 0a 20 20 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f 6e 20 27 70 61 'name)....(button-get.button.'pa
84120 74 68 29 0a 20 20 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f 6e 20 27 61 6e 63 68 6f th)....(button-get.button.'ancho
84140 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 r)))..(defun.racket-describe-sea
84160 72 63 68 2d 76 69 73 69 74 20 28 74 65 72 6d 20 70 61 74 68 20 61 6e 63 68 6f 72 29 0a 20 20 28 rch-visit.(term.path.anchor)...(
84180 72 61 63 6b 65 74 2d 2d 64 6f 2d 64 65 73 63 72 69 62 65 0a 20 20 20 28 63 6f 6e 73 20 70 61 74 racket--do-describe....(cons.pat
841a0 68 20 61 6e 63 68 6f 72 29 0a 20 20 20 6e 69 6c 0a 20 20 20 74 65 72 6d 29 29 0a 0a 28 64 65 66 h.anchor)....nil....term))..(def
841c0 76 61 72 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 2d 6d 6f 64 65 2d var.racket-describe-search-mode-
841e0 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 72 61 63 6b 65 74 2d 2d 65 61 73 79 2d 6b map...(let.((map.(racket--easy-k
84200 65 79 6d 61 70 2d 64 65 66 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 28 22 43 eymap-define...............'(("C
84220 2d 63 20 43 2d 73 22 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 -c.C-s".......racket-describe-se
84240 61 72 63 68 29 29 29 29 29 0a 20 20 20 20 6d 61 70 29 29 0a 0a 28 64 65 66 69 6e 65 2d 64 65 72 arch))))).....map))..(define-der
84260 69 76 65 64 2d 6d 6f 64 65 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 ived-mode.racket-describe-search
84280 2d 6d 6f 64 65 20 74 61 62 75 6c 61 74 65 64 2d 6c 69 73 74 2d 6d 6f 64 65 0a 20 20 22 52 61 63 -mode.tabulated-list-mode..."Rac
842a0 6b 65 74 53 65 61 72 63 68 44 65 73 63 72 69 62 65 22 0a 20 20 22 4d 61 6a 6f 72 20 6d 6f 64 65 ketSearchDescribe"..."Major.mode
842c0 20 66 6f 72 20 64 69 73 61 6d 62 69 67 75 61 74 69 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f .for.disambiguating.documentatio
842e0 6e 20 73 65 61 72 63 68 20 72 65 73 75 6c 74 73 2e 0a 5c 5c 7b 72 61 63 6b 65 74 2d 64 65 73 63 n.search.results..\\{racket-desc
84300 72 69 62 65 2d 73 65 61 72 63 68 2d 6d 6f 64 65 2d 6d 61 70 7d 22 29 0a 0a 28 70 72 6f 76 69 64 ribe-search-mode-map}")..(provid
84320 65 20 27 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 64 e.'racket-describe)..;;.racket-d
84340 65 73 63 72 69 62 65 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 escribe.el.ends.here............
84360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
843a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
843c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
843e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84400 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
84420 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2e 65 6c 00 00 racket-unicode-input-method.el..
84440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
84480 30 30 32 30 35 36 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 31 35 31 31 00 20 30 00 00 00 0020566.00000000000.021511..0...
844a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
844c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
844e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
84520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
84540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
845a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
845c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
845e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84600 3b 3b 3b 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2e ;;;.racket-unicode-input-method.
84620 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a el.-*-.lexical-binding:.t;.-*-..
84640 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 35 2d 32 30 32 30 20 62 79 20 47 72 ;;.Copyright.(c).2015-2020.by.Gr
84660 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 eg.Hendershott.;;.Portions.Copyr
84680 69 67 68 74 20 28 63 29 20 32 30 31 30 2d 32 30 31 31 20 62 79 20 52 6f 65 6c 20 76 61 6e 20 44 ight.(c).2010-2011.by.Roel.van.D
846a0 69 6a 6b 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 ijk..;;.Author:.Greg.Hendershott
846c0 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 .;;.URL:.https://github.com/greg
846e0 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 hendershott/racket-mode..;;.SPDX
84700 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d -License-Identifier:.GPL-3.0-or-
84720 6c 61 74 65 72 0a 0a 3b 3b 20 46 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 65 78 61 6d 70 6c 65 20 later..;;.Following.the.example.
84740 6f 66 20 68 61 73 6b 65 6c 6c 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2e of.haskell-unicode-input-method.
84760 65 6c 0a 0a 28 72 65 71 75 69 72 65 20 27 71 75 61 69 6c 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f el..(require.'quail)..;;;###auto
84780 6c 6f 61 64 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 load.(defun.racket-unicode-input
847a0 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 20 28 29 0a 20 20 22 53 65 74 20 69 6e 70 75 74 20 6d -method-enable.()..."Set.input.m
847c0 65 74 68 6f 64 20 74 6f 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2e 0a 0a 54 68 65 20 72 61 ethod.to.racket-unicode...The.ra
847e0 63 6b 65 74 2d 75 6e 69 63 6f 64 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 20 6c 65 74 73 20 79 cket-unicode.input.method.lets.y
84800 6f 75 20 65 61 73 69 6c 79 20 74 79 70 65 20 76 61 72 69 6f 75 73 0a 55 6e 69 63 6f 64 65 20 73 ou.easily.type.various.Unicode.s
84820 79 6d 62 6f 6c 73 20 74 68 61 74 20 6d 69 67 68 74 20 62 65 20 75 73 65 66 75 6c 20 77 68 65 6e ymbols.that.might.be.useful.when
84840 20 77 72 69 74 69 6e 67 20 52 61 63 6b 65 74 20 63 6f 64 65 2e 0a 0a 54 6f 20 61 75 74 6f 6d 61 .writing.Racket.code...To.automa
84860 74 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 tically.enable.the.racket-unicod
84880 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 20 69 6e 0a 72 61 63 6b 65 74 2d 6d 6f 64 65 20 61 6e e.input.method.in.racket-mode.an
848a0 64 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 20 62 75 66 66 65 72 73 2c 20 70 75 74 20 d.racket-repl-mode.buffers,.put.
848c0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 0a 69 6e 20 79 6f 75 72 20 45 6d 61 63 73 the.following.code.in.your.Emacs
848e0 20 69 6e 69 74 20 66 69 6c 65 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 65 6c 69 73 70 0a 20 .init.file:..#+BEGIN_SRC.elisp..
84900 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 5c 5c 3d 27 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 68 6f 6f ...(add-hook.\\='racket-mode-hoo
84920 6b 20 23 5c 5c 3d 27 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 k.#\\='racket-unicode-input-meth
84940 6f 64 2d 65 6e 61 62 6c 65 29 0a 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 5c 5c 3d 27 72 61 63 od-enable).....(add-hook.\\='rac
84960 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 23 5c 5c 3d 27 72 61 63 6b 65 74 2d 75 ket-repl-mode-hook.#\\='racket-u
84980 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 29 0a 23 2b 45 4e nicode-input-method-enable).#+EN
849a0 44 5f 53 52 43 0a 0a 54 6f 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 65 6e 61 62 6c 65 20 74 68 69 D_SRC..To.temporarily.enable.thi
849c0 73 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 62 75 66 66 s.input.method.for.a.single.buff
849e0 65 72 20 79 6f 75 0a 63 61 6e 20 75 73 65 20 5c 22 4d 2d 78 20 72 61 63 6b 65 74 2d 75 6e 69 63 er.you.can.use.\"M-x.racket-unic
84a00 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 5c 22 2e 0a 0a 55 73 65 20 ode-input-method-enable\"...Use.
84a20 74 68 65 20 73 74 61 6e 64 61 72 64 20 45 6d 61 63 73 20 6b 65 79 20 43 2d 5c 5c 20 74 6f 20 74 the.standard.Emacs.key.C-\\.to.t
84a40 6f 67 67 6c 65 20 74 68 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 2e 0a 0a 57 68 65 6e 20 74 68 oggle.the.input.method...When.th
84a60 65 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 20 69 73 e.racket-unicode.input.method.is
84a80 20 61 63 74 69 76 65 2c 20 79 6f 75 20 63 61 6e 20 66 6f 72 0a 65 78 61 6d 70 6c 65 20 74 79 70 .active,.you.can.for.example.typ
84aa0 65 20 5c 22 41 6c 6c 5c 22 20 61 6e 64 20 69 74 20 69 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 e.\"All\".and.it.is.immediately.
84ac0 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 5c 22 e2 88 80 5c 22 2e 20 41 0a 66 65 77 20 6f 74 68 replaced.with.\"...\"..A.few.oth
84ae0 65 72 20 65 78 61 6d 70 6c 65 73 3a 0a 0a 7c 20 6f 6d 65 67 61 20 20 20 20 20 7c 20 cf 89 20 20 er.examples:..|.omega.....|.....
84b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 7c 20 78 5f 31 20 20 20 ......................|.|.x_1...
84b20 20 20 20 20 7c 20 78 e2 82 81 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....|.x.........................
84b40 20 7c 0a 7c 20 78 5e 31 20 20 20 20 20 20 20 7c 20 78 c2 b9 20 20 20 20 20 20 20 20 20 20 20 20 .|.|.x^1.......|.x..............
84b60 20 20 20 20 20 20 20 20 20 20 20 7c 0a 7c 20 41 20 20 20 20 20 20 20 20 20 7c 20 f0 9d 94 b8 20 ...........|.|.A.........|......
84b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 7c 20 74 65 73 74 2d .......................|.|.test-
84ba0 2d 3e 3e 45 20 7c 20 74 65 73 74 2d 2d 3e 3e e2 88 83 20 28 72 61 63 6b 65 74 2f 72 65 64 65 78 ->>E.|.test-->>....(racket/redex
84bc0 29 20 7c 0a 7c 20 76 64 61 73 68 20 20 20 20 20 7c 20 e2 8a a2 20 20 20 20 20 20 20 20 20 20 20 ).|.|.vdash.....|...............
84be0 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 0a 54 6f 20 73 65 65 20 61 20 74 61 62 6c 65 20 6f .............|..To.see.a.table.o
84c00 66 20 61 6c 6c 20 6b 65 79 20 73 65 71 75 65 6e 63 65 73 20 75 73 65 20 5c 22 4d 2d 78 0a 64 65 f.all.key.sequences.use.\"M-x.de
84c20 73 63 72 69 62 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 20 3c 52 45 54 3e 20 72 61 63 6b 65 74 scribe-input-method.<RET>.racket
84c40 2d 75 6e 69 63 6f 64 65 5c 22 2e 0a 0a 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 61 64 64 20 -unicode\"...If.you.want.to.add.
84c60 79 6f 75 72 20 6f 77 6e 20 6d 61 70 70 69 6e 67 73 20 74 6f 20 74 68 65 20 5c 22 72 61 63 6b 65 your.own.mappings.to.the.\"racke
84c80 74 2d 75 6e 69 63 6f 64 65 5c 22 0a 69 6e 70 75 74 20 6d 65 74 68 6f 64 2c 20 79 6f 75 20 6d 61 t-unicode\".input.method,.you.ma
84ca0 79 20 61 64 64 20 63 6f 64 65 20 6c 69 6b 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 y.add.code.like.the.following.ex
84cc0 61 6d 70 6c 65 20 69 6e 20 79 6f 75 72 0a 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 3a 0a 0a ample.in.your.Emacs.init.file:..
84ce0 23 2b 42 45 47 49 4e 5f 53 52 43 20 65 6c 69 73 70 0a 20 20 20 20 3b 3b 20 45 69 74 68 65 72 20 #+BEGIN_SRC.elisp.....;;.Either.
84d00 28 72 65 71 75 69 72 65 20 5c 5c 3d 27 72 61 63 6b 65 74 2d 6d 6f 64 65 29 20 68 65 72 65 2c 20 (require.\\='racket-mode).here,.
84d20 6f 72 2c 20 69 66 20 79 6f 75 20 75 73 65 0a 20 20 20 20 3b 3b 20 75 73 65 2d 70 61 63 6b 61 67 or,.if.you.use.....;;.use-packag
84d40 65 2c 20 70 75 74 20 74 68 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 69 6e 20 74 68 65 20 3a 63 6f e,.put.the.code.below.in.the.:co
84d60 6e 66 69 67 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 nfig.section......(with-temp-buf
84d80 66 65 72 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d fer.......(racket-unicode-input-
84da0 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 29 0a 20 20 20 20 20 20 28 73 65 74 2d 69 6e 70 75 74 2d method-enable).......(set-input-
84dc0 6d 65 74 68 6f 64 20 5c 22 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 5c 22 29 0a 20 20 20 20 20 method.\"racket-unicode\")......
84de0 20 28 6c 65 74 20 28 28 71 75 61 69 6c 2d 63 75 72 72 65 6e 74 2d 70 61 63 6b 61 67 65 20 28 61 .(let.((quail-current-package.(a
84e00 73 73 6f 63 20 5c 22 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 5c 22 0a 20 20 20 20 20 20 20 20 ssoc.\"racket-unicode\".........
84e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
84e40 20 20 71 75 61 69 6c 2d 70 61 63 6b 61 67 65 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 ..quail-package-alist)))........
84e60 20 28 71 75 61 69 6c 2d 64 65 66 69 6e 65 2d 72 75 6c 65 73 20 28 28 61 70 70 65 6e 64 20 2e 20 .(quail-define-rules.((append...
84e80 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t)).............................
84ea0 28 5c 22 5e 6f 5c 22 20 5b 5c 22 e1 b5 92 5c 22 5d 29 29 29 29 0a 23 2b 45 4e 44 5f 53 52 43 0a (\"^o\".[\"...\"])))).#+END_SRC.
84ec0 0a 49 66 20 79 6f 75 20 64 6f 6e e2 80 99 74 20 6c 69 6b 65 20 74 68 65 20 68 69 67 68 6c 69 67 .If.you.don...t.like.the.highlig
84ee0 68 74 69 6e 67 20 6f 66 20 70 61 72 74 69 61 6c 6c 79 20 6d 61 74 63 68 69 6e 67 20 74 6f 6b 65 hting.of.partially.matching.toke
84f00 6e 73 20 79 6f 75 0a 63 61 6e 20 74 75 72 6e 20 69 74 20 6f 66 66 20 62 79 20 73 65 74 74 69 6e ns.you.can.turn.it.off.by.settin
84f20 67 20 60 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 68 69 67 68 6c 69 67 68 74 2d 66 6c 61 67 27 20 g.`input-method-highlight-flag'.
84f40 74 6f 20 6e 69 6c 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 73 65 74 2d to.nil."...(interactive)...(set-
84f60 69 6e 70 75 74 2d 6d 65 74 68 6f 64 20 22 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 22 29 29 0a input-method."racket-unicode")).
84f80 0a 28 71 75 61 69 6c 2d 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 0a 20 22 72 61 63 6b 65 74 2d .(quail-define-package.."racket-
84fa0 75 6e 69 63 6f 64 65 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b unicode".......................;
84fc0 6e 61 6d 65 0a 20 22 55 54 46 2d 38 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 name.."UTF-8"...................
84fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 6c 61 6e 67 75 61 67 65 0a 20 22 ce bb 22 20 20 20 20 .............;language..".."....
85000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
85020 3b 74 69 74 6c 65 20 28 69 6e 20 6d 6f 64 65 20 6c 69 6e 65 29 0a 20 74 20 20 20 20 20 20 20 20 ;title.(in.mode.line)..t........
85040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 67 ..............................;g
85060 75 69 64 61 6e 63 65 0a 20 22 52 61 63 6b 65 74 20 55 6e 69 63 6f 64 65 20 69 6e 70 75 74 20 6d uidance.."Racket.Unicode.input.m
85080 65 74 68 6f 64 2e 22 20 20 20 20 20 20 20 20 20 3b 64 6f 63 73 74 72 69 6e 67 0a 20 6e 69 6c 20 ethod.".........;docstring..nil.
850a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
850c0 20 20 20 3b 74 72 61 6e 73 6c 61 74 69 6f 6e 2d 6b 65 79 73 0a 20 6e 69 6c 20 20 20 20 20 20 20 ...;translation-keys..nil.......
850e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 66 6f .............................;fo
85100 72 67 65 74 2d 6c 61 73 74 2d 73 65 6c 65 63 74 69 6f 6e 0a 20 6e 69 6c 20 20 20 20 20 20 20 20 rget-last-selection..nil........
85120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 64 65 74 ............................;det
85140 65 72 6d 69 6e 69 73 74 69 63 0a 20 6e 69 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erministic..nil.................
85160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 6b 62 64 2d 74 72 61 6e 73 6c 61 74 ...................;kbd-translat
85180 65 0a 20 6e 69 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e..nil..........................
851a0 20 20 20 20 20 20 20 20 20 20 3b 73 68 6f 77 2d 6c 61 79 6f 75 74 0a 20 6e 69 6c 20 20 20 20 20 ..........;show-layout..nil.....
851c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b ...............................;
851e0 63 72 65 61 74 65 2d 64 65 63 6f 64 65 2d 6d 61 70 0a 20 6e 69 6c 20 20 20 20 20 20 20 20 20 20 create-decode-map..nil..........
85200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 6d 61 78 69 6d ..........................;maxim
85220 75 6d 2d 73 68 6f 72 74 65 73 74 0a 20 6e 69 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 um-shortest..nil................
85240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 6f 76 65 72 6c 61 79 2d 70 6c 69 ....................;overlay-pli
85260 73 74 0a 20 6e 69 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st..nil.........................
85280 20 20 20 20 20 20 20 20 20 20 20 3b 75 70 64 61 74 65 2d 74 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 ...........;update-translation-f
852a0 75 6e 63 74 69 6f 6e 0a 20 6e 69 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 unction..nil....................
852c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 63 6f 6e 76 65 72 73 69 6f 6e 2d 6b 65 79 73 ................;conversion-keys
852e0 0a 20 74 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..t)............................
85300 20 20 20 20 20 20 20 20 20 3b 73 69 6d 70 6c 65 0a 0a 28 71 75 61 69 6c 2d 64 65 66 69 6e 65 2d .........;simple..(quail-define-
85320 72 75 6c 65 73 0a 20 3b 3b 20 54 79 70 65 64 20 52 61 63 6b 65 74 0a 20 28 22 41 6c 6c 20 22 20 rules..;;.Typed.Racket..("All.".
85340 20 20 20 20 20 20 20 20 20 5b 22 e2 88 80 22 5d 29 0a 20 28 22 55 6e 69 6f 6e 20 22 20 20 20 20 .........["..."])..("Union."....
85360 20 20 20 20 5b 22 55 22 5d 29 0a 20 28 22 49 6e 74 65 72 73 65 63 74 69 6f 6e 20 22 20 5b 22 e2 ....["U"])..("Intersection.".[".
85380 88 a9 22 5d 29 0a 0a 20 3b 3b 20 52 65 64 65 78 0a 20 28 22 74 65 73 74 2d 2d 3e 3e 45 20 22 20 .."])...;;.Redex..("test-->>E.".
853a0 20 20 20 5b 22 74 65 73 74 2d 2d 3e 3e e2 88 83 22 5d 29 0a 0a 20 3b 3b 20 54 75 72 6e 73 74 69 ...["test-->>..."])...;;.Turnsti
853c0 6c 65 0a 20 28 22 76 64 61 73 68 20 22 20 20 20 20 20 20 20 20 5b 22 e2 8a a2 22 5d 29 0a 20 28 le..("vdash."........["..."])..(
853e0 22 67 67 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 89 ab 22 5d 29 0a 20 28 22 72 69 67 68 "gg."...........["..."])..("righ
85400 74 61 72 72 6f 77 20 22 20 20 20 5b 22 e2 86 92 22 5d 29 0a 20 28 22 52 69 67 68 74 61 72 72 6f tarrow."...["..."])..("Rightarro
85420 77 20 22 20 20 20 5b 22 e2 87 92 22 5d 29 0a 20 28 22 4c 65 66 74 61 72 72 6f 77 20 22 20 20 20 w."...["..."])..("Leftarrow."...
85440 20 5b 22 e2 87 90 22 5d 29 0a 20 28 22 73 75 63 63 20 22 20 20 20 20 20 20 20 20 20 5b 22 e2 89 .["..."])..("succ.".........["..
85460 bb 22 5d 29 0a 0a 20 3b 3b 20 4f 74 68 65 72 20 74 79 70 65 20 72 75 6c 65 20 73 79 6d 62 6f 6c ."])...;;.Other.type.rule.symbol
85480 73 0a 20 3b 3b 20 28 61 64 64 65 64 3a 20 63 6f 6d 6d 6f 6e 20 6d 61 74 68 20 63 68 61 72 73 20 s..;;.(added:.common.math.chars.
854a0 63 75 72 72 65 6e 74 6c 79 20 75 6e 73 75 70 70 6f 72 74 65 64 29 0a 20 28 22 74 69 6d 65 73 20 currently.unsupported)..("times.
854c0 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 c3 97 22 5d 29 0a 20 28 22 55 70 61 72 72 6f "..............[".."])..("Uparro
854e0 77 20 22 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 87 91 22 5d 29 0a 20 28 22 44 6f 77 6e 61 w."............["..."])..("Downa
85500 72 72 6f 77 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 e2 87 93 22 5d 29 0a 20 28 22 4c 65 66 74 rrow."..........["..."])..("Left
85520 72 69 67 68 74 61 72 72 6f 77 20 22 20 20 20 20 20 5b 22 e2 87 94 22 5d 29 0a 20 28 22 72 69 67 rightarrow.".....["..."])..("rig
85540 68 74 61 72 72 6f 77 20 22 20 20 20 20 20 20 20 20 20 5b 22 e2 86 92 22 5d 29 0a 20 28 22 6c 65 htarrow.".........["..."])..("le
85560 66 74 61 72 72 6f 77 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 e2 86 90 22 5d 29 0a 20 28 22 52 ftarrow."..........["..."])..("R
85580 69 67 68 74 61 72 72 6f 77 20 22 20 20 20 20 20 20 20 20 20 5b 22 e2 87 92 22 5d 29 0a 20 28 22 ightarrow.".........["..."])..("
855a0 4c 65 66 74 61 72 72 6f 77 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 e2 87 90 22 5d 29 0a 20 28 Leftarrow."..........["..."])..(
855c0 22 6e 77 61 72 72 6f 77 20 22 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 86 96 22 5d 29 0a 20 "nwarrow."............["..."])..
855e0 28 22 6e 65 61 72 72 6f 77 20 22 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 86 97 22 5d 29 0a ("nearrow."............["..."]).
85600 20 28 22 75 70 61 72 72 6f 77 20 22 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 86 91 22 5d 29 .("uparrow."............["..."])
85620 0a 20 28 22 64 6f 77 6e 61 72 72 6f 77 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 e2 86 93 22 5d ..("downarrow."..........["..."]
85640 29 0a 20 28 22 73 65 61 72 72 6f 77 20 22 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 86 98 22 )..("searrow."............["..."
85660 5d 29 0a 20 28 22 73 77 61 72 72 6f 77 20 22 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 86 99 ])..("swarrow."............["...
85680 22 5d 29 0a 20 28 22 6c 65 66 74 72 69 67 68 74 61 72 72 6f 77 20 22 20 20 20 20 20 5b 22 e2 86 "])..("leftrightarrow.".....["..
856a0 94 22 5d 29 0a 20 28 22 75 70 64 6f 77 6e 61 72 72 6f 77 20 22 20 20 20 20 20 20 20 20 5b 22 e2 ."])..("updownarrow."........[".
856c0 87 95 22 5d 29 0a 20 28 22 61 6c 65 70 68 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 .."])..("aleph."..............["
856e0 d7 90 22 5d 29 0a 20 28 22 65 6d 70 74 79 73 65 74 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 .."])..("emptyset."...........["
85700 e2 88 85 22 5d 29 0a 20 28 22 6e 61 62 6c 61 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b ..."])..("nabla."..............[
85720 22 e2 88 87 22 5d 29 0a 20 28 22 73 75 72 64 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "..."])..("surd."...............
85740 5b 22 e2 88 9a 22 5d 29 0a 20 28 22 6e 65 67 61 74 69 6f 6e 20 22 20 20 20 20 20 20 20 20 20 20 ["..."])..("negation."..........
85760 20 5b 22 c2 ac 22 5d 29 0a 20 28 22 69 6e 66 69 6e 69 74 79 20 22 20 20 20 20 20 20 20 20 20 20 .[".."])..("infinity."..........
85780 20 5b 22 e2 88 9e 22 5d 29 0a 20 28 22 70 72 6f 64 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 .["..."])..("prod.".............
857a0 20 20 5b 22 e2 88 8f 22 5d 29 0a 20 28 22 63 6f 70 72 6f 64 22 20 20 20 20 20 20 20 20 20 20 20 ..["..."])..("coprod"...........
857c0 20 20 20 5b 22 e2 88 90 22 5d 29 0a 20 28 22 69 6e 74 65 67 72 61 74 65 20 22 20 20 20 20 20 20 ...["..."])..("integrate."......
857e0 20 20 20 20 5b 22 e2 88 ab 22 5d 29 0a 20 28 22 6f 69 6e 74 20 22 20 20 20 20 20 20 20 20 20 20 ....["..."])..("oint."..........
85800 20 20 20 20 20 5b 22 e2 88 ae 22 5d 29 0a 20 28 22 76 65 65 20 22 20 20 20 20 20 20 20 20 20 20 .....["..."])..("vee."..........
85820 20 20 20 20 20 20 5b 22 e2 88 a8 22 5d 29 0a 20 28 22 77 65 64 67 65 20 22 20 20 20 20 20 20 20 ......["..."])..("wedge.".......
85840 20 20 20 20 20 20 20 5b 22 e2 88 a7 22 5d 29 0a 20 28 22 66 6f 6c 6c 6f 77 73 20 22 20 20 20 20 .......["..."])..("follows."....
85860 20 20 20 20 20 20 20 20 5b 22 e2 88 98 22 5d 29 0a 20 28 22 73 65 74 69 6e 20 22 20 20 20 20 20 ........["..."])..("setin.".....
85880 20 20 20 20 20 20 20 20 20 5b 22 e2 88 88 22 5d 29 0a 20 28 22 6e 69 20 22 20 20 20 20 20 20 20 .........["..."])..("ni.".......
858a0 20 20 20 20 20 20 20 20 20 20 5b 22 e2 88 8b 22 5d 29 0a 20 28 22 6e 6f 74 69 6e 20 22 20 20 20 ..........["..."])..("notin."...
858c0 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 88 89 22 5d 29 0a 20 28 22 73 71 73 75 62 73 65 74 20 ...........["..."])..("sqsubset.
858e0 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 8a 8f 22 5d 29 0a 20 28 22 73 71 73 75 70 73 65 74 "...........["..."])..("sqsupset
85900 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 8a 90 22 5d 29 0a 20 28 22 73 71 73 75 62 73 65 ."...........["..."])..("sqsubse
85920 74 65 71 20 22 20 20 20 20 20 20 20 20 20 5b 22 e2 8a 91 22 5d 29 0a 20 28 22 73 71 73 75 70 73 teq.".........["..."])..("sqsups
85940 65 74 65 71 20 22 20 20 20 20 20 20 20 20 20 5b 22 e2 8a 92 22 5d 29 0a 20 28 22 73 75 62 73 65 eteq.".........["..."])..("subse
85960 74 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 8a 82 22 5d 29 0a 20 28 22 73 75 70 65 t.".............["..."])..("supe
85980 72 73 65 74 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 8a 83 22 5d 29 0a 20 28 22 73 75 62 rset."...........["..."])..("sub
859a0 73 65 74 65 71 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 8a 86 22 5d 29 0a 20 28 22 73 75 seteq."...........["..."])..("su
859c0 70 73 65 74 65 71 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 8a 87 22 5d 29 0a 20 28 22 61 pseteq."...........["..."])..("a
859e0 70 70 72 6f 78 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 89 88 22 5d 29 0a 20 28 22 pprox.".............["..."])..("
85a00 63 6f 6e 67 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 89 8c 22 5d 29 0a 20 28 cong."...............["..."])..(
85a20 22 6e 65 71 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 89 a0 22 5d 29 0a 20 "neq."................["..."])..
85a40 28 22 73 71 63 61 70 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 8a 93 22 5d 29 0a ("sqcap."..............["..."]).
85a60 20 28 22 73 71 63 75 70 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 8a 94 22 5d 29 .("sqcup."..............["..."])
85a80 0a 20 28 22 6d 6f 64 65 6c 73 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 8a a7 22 5d ..("models.".............["..."]
85aa0 29 0a 0a 20 3b 3b 20 47 72 65 65 6b 20 6c 65 74 74 65 72 73 0a 20 28 22 61 6c 70 68 61 20 22 20 )...;;.Greek.letters..("alpha.".
85ac0 20 20 20 20 20 20 20 5b 22 ce b1 22 5d 29 0a 20 28 22 41 6c 70 68 61 20 22 20 20 20 20 20 20 20 .......[".."])..("Alpha.".......
85ae0 20 5b 22 ce 91 22 5d 29 0a 20 28 22 62 65 74 61 20 22 20 20 20 20 20 20 20 20 20 5b 22 ce b2 22 .[".."])..("beta.".........[".."
85b00 5d 29 0a 20 28 22 42 65 74 61 20 22 20 20 20 20 20 20 20 20 20 5b 22 ce 92 22 5d 29 0a 20 28 22 ])..("Beta.".........[".."])..("
85b20 67 61 6d 6d 61 20 22 20 20 20 20 20 20 20 20 5b 22 ce b3 22 5d 29 0a 20 28 22 47 61 6d 6d 61 20 gamma."........[".."])..("Gamma.
85b40 22 20 20 20 20 20 20 20 20 5b 22 ce 93 22 5d 29 0a 20 28 22 64 65 6c 74 61 20 22 20 20 20 20 20 "........[".."])..("delta.".....
85b60 20 20 20 5b 22 ce b4 22 5d 29 0a 20 28 22 44 65 6c 74 61 20 22 20 20 20 20 20 20 20 20 5b 22 ce ...[".."])..("Delta."........[".
85b80 94 22 5d 29 0a 20 28 22 65 70 73 69 6c 6f 6e 20 22 20 20 20 20 20 20 5b 22 ce b5 22 5d 29 0a 20 ."])..("epsilon."......[".."])..
85ba0 28 22 45 70 73 69 6c 6f 6e 20 22 20 20 20 20 20 20 5b 22 ce 95 22 5d 29 0a 20 28 22 7a 65 74 61 ("Epsilon."......[".."])..("zeta
85bc0 20 22 20 20 20 20 20 20 20 20 20 5b 22 ce b6 22 5d 29 0a 20 28 22 5a 65 74 61 20 22 20 20 20 20 .".........[".."])..("Zeta."....
85be0 20 20 20 20 20 5b 22 ce 96 22 5d 29 0a 20 28 22 65 74 61 20 22 20 20 20 20 20 20 20 20 20 20 5b .....[".."])..("eta."..........[
85c00 22 ce b7 22 5d 29 0a 20 28 22 45 74 61 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 ce 97 22 5d 29 ".."])..("Eta."..........[".."])
85c20 0a 20 28 22 74 68 65 74 61 20 22 20 20 20 20 20 20 20 20 5b 22 ce b8 22 5d 29 0a 20 28 22 54 68 ..("theta."........[".."])..("Th
85c40 65 74 61 20 22 20 20 20 20 20 20 20 20 5b 22 ce 98 22 5d 29 0a 20 28 22 69 6f 74 61 20 22 20 20 eta."........[".."])..("iota."..
85c60 20 20 20 20 20 20 20 5b 22 ce b9 22 5d 29 0a 20 28 22 49 6f 74 61 20 22 20 20 20 20 20 20 20 20 .......[".."])..("Iota."........
85c80 20 5b 22 ce 99 22 5d 29 0a 20 28 22 6b 61 70 70 61 20 22 20 20 20 20 20 20 20 20 5b 22 ce ba 22 .[".."])..("kappa."........[".."
85ca0 5d 29 0a 20 28 22 4b 61 70 70 61 20 22 20 20 20 20 20 20 20 20 5b 22 ce 9a 22 5d 29 0a 20 28 22 ])..("Kappa."........[".."])..("
85cc0 6c 61 6d 62 64 61 20 22 20 20 20 20 20 20 20 5b 22 ce bb 22 5d 29 0a 20 28 22 4c 61 6d 62 64 61 lambda.".......[".."])..("Lambda
85ce0 20 22 20 20 20 20 20 20 20 5b 22 ce 9b 22 5d 29 0a 20 28 22 6c 61 6d 64 61 20 22 20 20 20 20 20 .".......[".."])..("lamda.".....
85d00 20 20 20 5b 22 ce bb 22 5d 29 0a 20 28 22 4c 61 6d 64 61 20 22 20 20 20 20 20 20 20 20 5b 22 ce ...[".."])..("Lamda."........[".
85d20 9b 22 5d 29 0a 20 28 22 6d 75 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 ce bc 22 5d 29 0a 20 ."])..("mu."...........[".."])..
85d40 28 22 4d 75 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 ce 9c 22 5d 29 0a 20 28 22 6e 75 20 22 ("Mu."...........[".."])..("nu."
85d60 20 20 20 20 20 20 20 20 20 20 20 5b 22 ce bd 22 5d 29 0a 20 28 22 4e 75 20 22 20 20 20 20 20 20 ...........[".."])..("Nu."......
85d80 20 20 20 20 20 5b 22 ce 9d 22 5d 29 0a 20 28 22 78 69 20 22 20 20 20 20 20 20 20 20 20 20 20 5b .....[".."])..("xi."...........[
85da0 22 ce be 22 5d 29 0a 20 28 22 58 69 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 ce 9e 22 5d 29 ".."])..("Xi."...........[".."])
85dc0 0a 20 28 22 6f 6d 69 63 72 6f 6e 20 22 20 20 20 20 20 20 5b 22 ce bf 22 5d 29 0a 20 28 22 4f 6d ..("omicron."......[".."])..("Om
85de0 69 63 72 6f 6e 20 22 20 20 20 20 20 20 5b 22 ce 9f 22 5d 29 0a 20 28 22 70 69 20 22 20 20 20 20 icron."......[".."])..("pi."....
85e00 20 20 20 20 20 20 20 5b 22 cf 80 22 5d 29 0a 20 28 22 50 69 20 22 20 20 20 20 20 20 20 20 20 20 .......[".."])..("Pi."..........
85e20 20 5b 22 ce a0 22 5d 29 0a 20 28 22 72 68 6f 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 cf 81 22 .[".."])..("rho."..........[".."
85e40 5d 29 0a 20 28 22 52 68 6f 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 ce a1 22 5d 29 0a 20 28 22 ])..("Rho."..........[".."])..("
85e60 73 69 67 6d 61 20 22 20 20 20 20 20 20 20 20 5b 22 cf 83 22 5d 29 0a 20 28 22 53 69 67 6d 61 20 sigma."........[".."])..("Sigma.
85e80 22 20 20 20 20 20 20 20 20 5b 22 ce a3 22 5d 29 0a 20 28 22 74 61 75 20 22 20 20 20 20 20 20 20 "........[".."])..("tau.".......
85ea0 20 20 20 5b 22 cf 84 22 5d 29 0a 20 28 22 54 61 75 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 ce ...[".."])..("Tau."..........[".
85ec0 a4 22 5d 29 0a 20 28 22 75 70 73 69 6c 6f 6e 20 22 20 20 20 20 20 20 5b 22 cf 85 22 5d 29 0a 20 ."])..("upsilon."......[".."])..
85ee0 28 22 55 70 73 69 6c 6f 6e 20 22 20 20 20 20 20 20 5b 22 ce a5 22 5d 29 0a 20 28 22 70 68 69 20 ("Upsilon."......[".."])..("phi.
85f00 22 20 20 20 20 20 20 20 20 20 20 5b 22 cf 86 22 5d 29 0a 20 28 22 50 68 69 20 22 20 20 20 20 20 "..........[".."])..("Phi.".....
85f20 20 20 20 20 20 5b 22 ce a6 22 5d 29 0a 20 28 22 63 68 69 20 22 20 20 20 20 20 20 20 20 20 20 5b .....[".."])..("chi."..........[
85f40 22 cf 87 22 5d 29 0a 20 28 22 43 68 69 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 ce a7 22 5d 29 ".."])..("Chi."..........[".."])
85f60 0a 20 28 22 70 73 69 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 cf 88 22 5d 29 0a 20 28 22 50 73 ..("psi."..........[".."])..("Ps
85f80 69 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 ce a8 22 5d 29 0a 20 28 22 6f 6d 65 67 61 20 22 20 i."..........[".."])..("omega.".
85fa0 20 20 20 20 20 20 20 5b 22 cf 89 22 5d 29 0a 20 28 22 4f 6d 65 67 61 20 22 20 20 20 20 20 20 20 .......[".."])..("Omega.".......
85fc0 20 5b 22 ce a9 22 5d 29 0a 20 28 22 64 69 67 61 6d 6d 61 20 22 20 20 20 20 20 20 5b 22 cf 9d 22 .[".."])..("digamma."......[".."
85fe0 5d 29 0a 20 28 22 44 69 67 61 6d 6d 61 20 22 20 20 20 20 20 20 5b 22 cf 9c 22 5d 29 0a 20 28 22 ])..("Digamma."......[".."])..("
86000 73 61 6e 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 cf bb 22 5d 29 0a 20 28 22 53 61 6e 20 22 20 san."..........[".."])..("San.".
86020 20 20 20 20 20 20 20 20 20 5b 22 cf ba 22 5d 29 0a 20 28 22 71 6f 70 70 61 20 22 20 20 20 20 20 .........[".."])..("qoppa.".....
86040 20 20 20 5b 22 cf 99 22 5d 29 0a 20 28 22 51 6f 70 70 61 20 22 20 20 20 20 20 20 20 20 5b 22 cf ...[".."])..("Qoppa."........[".
86060 98 22 5d 29 0a 20 28 22 73 61 6d 70 69 20 22 20 20 20 20 20 20 20 20 5b 22 cf a1 22 5d 29 0a 20 ."])..("sampi."........[".."])..
86080 28 22 53 61 6d 70 69 20 22 20 20 20 20 20 20 20 20 5b 22 cf a0 22 5d 29 0a 20 28 22 73 74 69 67 ("Sampi."........[".."])..("stig
860a0 6d 61 20 22 20 20 20 20 20 20 20 5b 22 cf 9b 22 5d 29 0a 20 28 22 53 74 69 67 6d 61 20 22 20 20 ma.".......[".."])..("Stigma."..
860c0 20 20 20 20 20 5b 22 cf 9a 22 5d 29 0a 20 28 22 68 65 74 61 20 22 20 20 20 20 20 20 20 20 20 5b .....[".."])..("heta.".........[
860e0 22 cd b1 22 5d 29 0a 20 28 22 48 65 74 61 20 22 20 20 20 20 20 20 20 20 20 5b 22 cd b0 22 5d 29 ".."])..("Heta.".........[".."])
86100 0a 20 28 22 73 68 6f 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 cf b8 22 5d 29 0a 20 28 22 53 68 ..("sho."..........[".."])..("Sh
86120 6f 20 22 20 20 20 20 20 20 20 20 20 20 5b 22 cf b7 22 5d 29 0a 0a 20 3b 3b 20 44 6f 75 62 6c 65 o."..........[".."])...;;.Double
86140 2d 73 74 72 75 63 6b 20 6c 65 74 74 65 72 73 0a 20 28 22 7c 41 7c 22 20 20 20 20 20 20 20 20 20 -struck.letters..("|A|".........
86160 20 20 5b 22 f0 9d 94 b8 22 5d 29 0a 20 28 22 7c 42 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 ..["...."])..("|B|"...........["
86180 f0 9d 94 b9 22 5d 29 0a 20 28 22 7c 43 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 84 82 22 ...."])..("|C|"...........["..."
861a0 5d 29 0a 20 28 22 7c 44 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 f0 9d 94 bb 22 5d 29 0a 20 ])..("|D|"...........["...."])..
861c0 28 22 7c 45 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 f0 9d 94 bc 22 5d 29 0a 20 28 22 7c 46 ("|E|"...........["...."])..("|F
861e0 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 f0 9d 94 bd 22 5d 29 0a 20 28 22 7c 47 7c 22 20 20 |"...........["...."])..("|G|"..
86200 20 20 20 20 20 20 20 20 20 5b 22 f0 9d 94 be 22 5d 29 0a 20 28 22 7c 48 7c 22 20 20 20 20 20 20 .........["...."])..("|H|"......
86220 20 20 20 20 20 5b 22 e2 84 8d 22 5d 29 0a 20 28 22 7c 49 7c 22 20 20 20 20 20 20 20 20 20 20 20 .....["..."])..("|I|"...........
86240 5b 22 f0 9d 95 80 22 5d 29 0a 20 28 22 7c 4a 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 f0 9d ["...."])..("|J|"...........["..
86260 95 81 22 5d 29 0a 20 28 22 7c 4b 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 f0 9d 95 82 22 5d .."])..("|K|"...........["...."]
86280 29 0a 20 28 22 7c 4c 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 f0 9d 95 83 22 5d 29 0a 20 28 )..("|L|"...........["...."])..(
862a0 22 7c 4d 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 f0 9d 95 84 22 5d 29 0a 20 28 22 7c 4e 7c "|M|"...........["...."])..("|N|
862c0 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 84 95 22 5d 29 0a 20 28 22 7c 4f 7c 22 20 20 20 20 "...........["..."])..("|O|"....
862e0 20 20 20 20 20 20 20 5b 22 f0 9d 95 86 22 5d 29 0a 20 28 22 7c 50 7c 22 20 20 20 20 20 20 20 20 .......["...."])..("|P|"........
86300 20 20 20 5b 22 e2 84 99 22 5d 29 0a 20 28 22 7c 51 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 ...["..."])..("|Q|"...........["
86320 e2 84 9a 22 5d 29 0a 20 28 22 7c 52 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 84 9d 22 5d ..."])..("|R|"...........["..."]
86340 29 0a 20 28 22 7c 53 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 f0 9d 95 8a 22 5d 29 0a 20 28 )..("|S|"...........["...."])..(
86360 22 7c 54 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 f0 9d 95 8b 22 5d 29 0a 20 28 22 7c 55 7c "|T|"...........["...."])..("|U|
86380 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 f0 9d 95 8c 22 5d 29 0a 20 28 22 7c 56 7c 22 20 20 20 "...........["...."])..("|V|"...
863a0 20 20 20 20 20 20 20 20 5b 22 f0 9d 95 8d 22 5d 29 0a 20 28 22 7c 57 7c 22 20 20 20 20 20 20 20 ........["...."])..("|W|".......
863c0 20 20 20 20 5b 22 f0 9d 95 8e 22 5d 29 0a 20 28 22 7c 58 7c 22 20 20 20 20 20 20 20 20 20 20 20 ....["...."])..("|X|"...........
863e0 5b 22 f0 9d 95 8f 22 5d 29 0a 20 28 22 7c 59 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 f0 9d ["...."])..("|Y|"...........["..
86400 95 90 22 5d 29 0a 20 28 22 7c 5a 7c 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 84 a4 22 5d 29 .."])..("|Z|"...........["..."])
86420 0a 20 28 22 7c 67 61 6d 6d 61 7c 22 20 20 20 20 20 20 20 5b 22 e2 84 bd 22 5d 29 0a 20 28 22 7c ..("|gamma|".......["..."])..("|
86440 47 61 6d 6d 61 7c 22 20 20 20 20 20 20 20 5b 22 e2 84 be 22 5d 29 0a 20 28 22 7c 70 69 7c 22 20 Gamma|".......["..."])..("|pi|".
86460 20 20 20 20 20 20 20 20 20 5b 22 e2 84 bc 22 5d 29 0a 20 28 22 7c 50 69 7c 22 20 20 20 20 20 20 .........["..."])..("|Pi|"......
86480 20 20 20 20 5b 22 e2 84 bf 22 5d 29 0a 0a 20 3b 3b 20 51 75 61 6e 74 69 66 69 65 72 73 0a 20 28 ....["..."])...;;.Quantifiers..(
864a0 22 66 6f 72 61 6c 6c 20 22 20 20 20 20 20 20 20 5b 22 e2 88 80 22 5d 29 0a 20 28 22 65 78 69 73 "forall.".......["..."])..("exis
864c0 74 73 20 22 20 20 20 20 20 20 20 5b 22 e2 88 83 22 5d 29 0a 0a 20 3b 3b 20 4e 75 6d 65 72 69 63 ts.".......["..."])...;;.Numeric
864e0 20 73 75 62 73 63 72 69 70 74 73 0a 20 28 22 5f 30 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 .subscripts..("_0."...........["
86500 e2 82 80 22 5d 29 0a 20 28 22 5f 31 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 82 81 22 5d ..."])..("_1."...........["..."]
86520 29 0a 20 28 22 5f 32 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 82 82 22 5d 29 0a 20 28 22 )..("_2."...........["..."])..("
86540 5f 33 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 82 83 22 5d 29 0a 20 28 22 5f 34 20 22 20 _3."...........["..."])..("_4.".
86560 20 20 20 20 20 20 20 20 20 20 5b 22 e2 82 84 22 5d 29 0a 20 28 22 5f 35 20 22 20 20 20 20 20 20 ..........["..."])..("_5."......
86580 20 20 20 20 20 5b 22 e2 82 85 22 5d 29 0a 20 28 22 5f 36 20 22 20 20 20 20 20 20 20 20 20 20 20 .....["..."])..("_6."...........
865a0 5b 22 e2 82 86 22 5d 29 0a 20 28 22 5f 37 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 82 87 ["..."])..("_7."...........["...
865c0 22 5d 29 0a 20 28 22 5f 38 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 82 88 22 5d 29 0a 20 "])..("_8."...........["..."])..
865e0 28 22 5f 39 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 82 89 22 5d 29 0a 0a 20 3b 3b 20 4e ("_9."...........["..."])...;;.N
86600 75 6d 65 72 69 63 20 73 75 70 65 72 73 63 72 69 70 74 73 0a 20 28 22 5e 30 20 22 20 20 20 20 20 umeric.superscripts..("^0.".....
86620 20 20 20 20 20 20 5b 22 e2 81 b0 22 5d 29 0a 20 28 22 5e 31 20 22 20 20 20 20 20 20 20 20 20 20 ......["..."])..("^1."..........
86640 20 5b 22 c2 b9 22 5d 29 0a 20 28 22 5e 32 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 c2 b2 22 .[".."])..("^2."...........[".."
86660 5d 29 0a 20 28 22 5e 33 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 c2 b3 22 5d 29 0a 20 28 22 ])..("^3."...........[".."])..("
86680 5e 34 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 81 b4 22 5d 29 0a 20 28 22 5e 35 20 22 20 ^4."...........["..."])..("^5.".
866a0 20 20 20 20 20 20 20 20 20 20 5b 22 e2 81 b5 22 5d 29 0a 20 28 22 5e 36 20 22 20 20 20 20 20 20 ..........["..."])..("^6."......
866c0 20 20 20 20 20 5b 22 e2 81 b6 22 5d 29 0a 20 28 22 5e 37 20 22 20 20 20 20 20 20 20 20 20 20 20 .....["..."])..("^7."...........
866e0 5b 22 e2 81 b7 22 5d 29 0a 20 28 22 5e 38 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 81 b8 ["..."])..("^8."...........["...
86700 22 5d 29 0a 20 28 22 5e 39 20 22 20 20 20 20 20 20 20 20 20 20 20 5b 22 e2 81 b9 22 5d 29 29 0a "])..("^9."...........["..."])).
86720 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d .(provide.'racket-unicode-input-
86740 6d 65 74 68 6f 64 29 0a 0a 3b 3b 3b 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 method)..;;;.racket-unicode-inpu
86760 74 2d 6d 65 74 68 6f 64 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 t-method.el.ends.here...........
86780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
867a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
867c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
867e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
86800 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
86820 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 73 2d 61 6e 64 2d 62 75 69 6c 74 69 6e 73 2e 65 6c 00 racket-keywords-and-builtins.el.
86840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
86860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
86880 30 32 30 33 32 32 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 31 36 37 35 00 20 30 00 00 00 0203221.00000000000.021675..0...
868a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
868c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
868e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
86900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
86920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
86940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
86960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
86980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
869a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
869c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
869e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
86a00 3b 3b 3b 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 73 2d 61 6e 64 2d 62 75 69 6c 74 69 6e 73 ;;;.racket-keywords-and-builtins
86a20 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a .el.-*-.lexical-binding:.t;.-*-.
86a40 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 30 20 62 79 20 47 .;;.Copyright.(c).2013-2020.by.G
86a60 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 reg.Hendershott...;;.Author:.Gre
86a80 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 g.Hendershott.;;.URL:.https://gi
86aa0 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d thub.com/greghendershott/racket-
86ac0 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 mode..;;.SPDX-License-Identifier
86ae0 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 :.GPL-3.0-or-later..(defconst.ra
86b00 63 6b 65 74 2d 74 79 70 65 2d 6c 69 73 74 0a 20 20 3b 3b 20 54 68 69 73 20 6c 69 73 74 20 77 61 cket-type-list...;;.This.list.wa
86b20 73 20 67 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 6b 65 79 77 6f 72 64 73 2e 72 6b 74 20 2d s.generated.using.keywords.rkt.-
86b40 2d 20 64 6f 6e 27 74 20 65 64 69 74 0a 20 20 3b 3b 20 69 6e 64 69 76 69 64 75 61 6c 20 69 74 65 -.don't.edit...;;.individual.ite
86b60 6d 73 20 68 65 72 65 21 0a 20 20 27 28 22 41 6c 6c 22 0a 20 20 20 20 22 41 6e 79 22 0a 20 20 20 ms.here!...'("All"....."Any"....
86b80 20 22 41 6e 79 56 61 6c 75 65 73 22 0a 20 20 20 20 22 41 73 79 6e 63 2d 43 68 61 6e 6e 65 6c 54 ."AnyValues"....."Async-ChannelT
86ba0 6f 70 22 0a 20 20 20 20 22 41 73 79 6e 63 2d 43 68 61 6e 6e 65 6c 6f 66 22 0a 20 20 20 20 22 42 op"....."Async-Channelof"....."B
86bc0 6f 6f 6c 65 61 6e 22 0a 20 20 20 20 22 42 6f 74 22 0a 20 20 20 20 22 42 6f 78 54 6f 70 22 0a 20 oolean"....."Bot"....."BoxTop"..
86be0 20 20 20 22 42 6f 78 6f 66 22 0a 20 20 20 20 22 42 79 74 65 22 0a 20 20 20 20 22 42 79 74 65 2d ..."Boxof"....."Byte"....."Byte-
86c00 50 52 65 67 65 78 70 22 0a 20 20 20 20 22 42 79 74 65 2d 52 65 67 65 78 70 22 0a 20 20 20 20 22 PRegexp"....."Byte-Regexp"....."
86c20 42 79 74 65 73 22 0a 20 20 20 20 22 42 79 74 65 73 2d 43 6f 6e 76 65 72 74 65 72 22 0a 20 20 20 Bytes"....."Bytes-Converter"....
86c40 20 22 43 68 61 6e 6e 65 6c 54 6f 70 22 0a 20 20 20 20 22 43 68 61 6e 6e 65 6c 6f 66 22 0a 20 20 ."ChannelTop"....."Channelof"...
86c60 20 20 22 43 68 61 72 22 0a 20 20 20 20 22 43 6c 61 73 73 22 0a 20 20 20 20 22 43 6c 61 73 73 54 .."Char"....."Class"....."ClassT
86c80 6f 70 22 0a 20 20 20 20 22 43 6f 6d 70 69 6c 65 64 2d 45 78 70 72 65 73 73 69 6f 6e 22 0a 20 20 op"....."Compiled-Expression"...
86ca0 20 20 22 43 6f 6d 70 69 6c 65 64 2d 4d 6f 64 75 6c 65 2d 45 78 70 72 65 73 73 69 6f 6e 22 0a 20 .."Compiled-Module-Expression"..
86cc0 20 20 20 22 43 6f 6d 70 6c 65 78 22 0a 20 20 20 20 22 43 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 4d ..."Complex"....."Continuation-M
86ce0 61 72 6b 2d 4b 65 79 54 6f 70 22 0a 20 20 20 20 22 43 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 4d 61 ark-KeyTop"....."Continuation-Ma
86d00 72 6b 2d 4b 65 79 6f 66 22 0a 20 20 20 20 22 43 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 4d 61 72 6b rk-Keyof"....."Continuation-Mark
86d20 2d 53 65 74 22 0a 20 20 20 20 22 43 75 73 74 6f 64 69 61 6e 22 0a 20 20 20 20 22 43 75 73 74 6f -Set"....."Custodian"....."Custo
86d40 64 69 61 6e 2d 42 6f 78 6f 66 22 0a 20 20 20 20 22 44 61 74 75 6d 22 0a 20 20 20 20 22 45 4f 46 dian-Boxof"....."Datum"....."EOF
86d60 22 0a 20 20 20 20 22 45 6e 76 69 72 6f 6e 6d 65 6e 74 2d 56 61 72 69 61 62 6c 65 73 22 0a 20 20 "....."Environment-Variables"...
86d80 20 20 22 45 70 68 65 6d 65 72 6f 6e 6f 66 22 0a 20 20 20 20 22 45 76 74 6f 66 22 0a 20 20 20 20 .."Ephemeronof"....."Evtof".....
86da0 22 45 78 61 63 74 2d 43 6f 6d 70 6c 65 78 22 0a 20 20 20 20 22 45 78 61 63 74 2d 49 6d 61 67 69 "Exact-Complex"....."Exact-Imagi
86dc0 6e 61 72 79 22 0a 20 20 20 20 22 45 78 61 63 74 2d 4e 6f 6e 6e 65 67 61 74 69 76 65 2d 49 6e 74 nary"....."Exact-Nonnegative-Int
86de0 65 67 65 72 22 0a 20 20 20 20 22 45 78 61 63 74 2d 4e 75 6d 62 65 72 22 0a 20 20 20 20 22 45 78 eger"....."Exact-Number"....."Ex
86e00 61 63 74 2d 50 6f 73 69 74 69 76 65 2d 49 6e 74 65 67 65 72 22 0a 20 20 20 20 22 45 78 61 63 74 act-Positive-Integer"....."Exact
86e20 2d 52 61 74 69 6f 6e 61 6c 22 0a 20 20 20 20 22 45 78 74 46 6c 56 65 63 74 6f 72 22 0a 20 20 20 -Rational"....."ExtFlVector"....
86e40 20 22 45 78 74 46 6c 6f 6e 75 6d 22 0a 20 20 20 20 22 45 78 74 46 6c 6f 6e 75 6d 2d 4e 61 6e 22 ."ExtFlonum"....."ExtFlonum-Nan"
86e60 0a 20 20 20 20 22 45 78 74 46 6c 6f 6e 75 6d 2d 4e 65 67 61 74 69 76 65 2d 5a 65 72 6f 22 0a 20 ....."ExtFlonum-Negative-Zero"..
86e80 20 20 20 22 45 78 74 46 6c 6f 6e 75 6d 2d 50 6f 73 69 74 69 76 65 2d 5a 65 72 6f 22 0a 20 20 20 ..."ExtFlonum-Positive-Zero"....
86ea0 20 22 45 78 74 46 6c 6f 6e 75 6d 2d 5a 65 72 6f 22 0a 20 20 20 20 22 46 53 65 6d 61 70 68 6f 72 ."ExtFlonum-Zero"....."FSemaphor
86ec0 65 22 0a 20 20 20 20 22 46 61 6c 73 65 22 0a 20 20 20 20 22 46 69 78 6e 75 6d 22 0a 20 20 20 20 e"....."False"....."Fixnum".....
86ee0 22 46 6c 56 65 63 74 6f 72 22 0a 20 20 20 20 22 46 6c 6f 61 74 22 0a 20 20 20 20 22 46 6c 6f 61 "FlVector"....."Float"....."Floa
86f00 74 2d 43 6f 6d 70 6c 65 78 22 0a 20 20 20 20 22 46 6c 6f 61 74 2d 4e 61 6e 22 0a 20 20 20 20 22 t-Complex"....."Float-Nan"....."
86f20 46 6c 6f 61 74 2d 4e 65 67 61 74 69 76 65 2d 5a 65 72 6f 22 0a 20 20 20 20 22 46 6c 6f 61 74 2d Float-Negative-Zero"....."Float-
86f40 50 6f 73 69 74 69 76 65 2d 5a 65 72 6f 22 0a 20 20 20 20 22 46 6c 6f 61 74 2d 5a 65 72 6f 22 0a Positive-Zero"....."Float-Zero".
86f60 20 20 20 20 22 46 6c 6f 6e 75 6d 22 0a 20 20 20 20 22 46 6c 6f 6e 75 6d 2d 4e 61 6e 22 0a 20 20 ...."Flonum"....."Flonum-Nan"...
86f80 20 20 22 46 6c 6f 6e 75 6d 2d 4e 65 67 61 74 69 76 65 2d 5a 65 72 6f 22 0a 20 20 20 20 22 46 6c .."Flonum-Negative-Zero"....."Fl
86fa0 6f 6e 75 6d 2d 50 6f 73 69 74 69 76 65 2d 5a 65 72 6f 22 0a 20 20 20 20 22 46 6c 6f 6e 75 6d 2d onum-Positive-Zero"....."Flonum-
86fc0 5a 65 72 6f 22 0a 20 20 20 20 22 46 75 74 75 72 65 6f 66 22 0a 20 20 20 20 22 46 78 56 65 63 74 Zero"....."Futureof"....."FxVect
86fe0 6f 72 22 0a 20 20 20 20 22 48 61 73 2d 53 74 72 75 63 74 2d 50 72 6f 70 65 72 74 79 22 0a 20 20 or"....."Has-Struct-Property"...
87000 20 20 22 48 61 73 68 54 61 62 6c 65 22 0a 20 20 20 20 22 48 61 73 68 54 61 62 6c 65 54 6f 70 22 .."HashTable"....."HashTableTop"
87020 0a 20 20 20 20 22 49 64 65 6e 74 69 66 69 65 72 22 0a 20 20 20 20 22 49 6d 61 67 69 6e 61 72 79 ....."Identifier"....."Imaginary
87040 22 0a 20 20 20 20 22 49 6d 6d 75 74 61 62 6c 65 2d 48 61 73 68 54 61 62 6c 65 22 0a 20 20 20 20 "....."Immutable-HashTable".....
87060 22 49 6d 6d 75 74 61 62 6c 65 2d 56 65 63 74 6f 72 22 0a 20 20 20 20 22 49 6d 6d 75 74 61 62 6c "Immutable-Vector"....."Immutabl
87080 65 2d 56 65 63 74 6f 72 6f 66 22 0a 20 20 20 20 22 49 6d 70 65 72 73 6f 6e 61 74 6f 72 2d 50 72 e-Vectorof"....."Impersonator-Pr
870a0 6f 70 65 72 74 79 22 0a 20 20 20 20 22 49 6e 64 65 78 22 0a 20 20 20 20 22 49 6e 65 78 61 63 74 operty"....."Index"....."Inexact
870c0 2d 43 6f 6d 70 6c 65 78 22 0a 20 20 20 20 22 49 6e 65 78 61 63 74 2d 49 6d 61 67 69 6e 61 72 79 -Complex"....."Inexact-Imaginary
870e0 22 0a 20 20 20 20 22 49 6e 65 78 61 63 74 2d 52 65 61 6c 22 0a 20 20 20 20 22 49 6e 65 78 61 63 "....."Inexact-Real"....."Inexac
87100 74 2d 52 65 61 6c 2d 4e 61 6e 22 0a 20 20 20 20 22 49 6e 65 78 61 63 74 2d 52 65 61 6c 2d 4e 65 t-Real-Nan"....."Inexact-Real-Ne
87120 67 61 74 69 76 65 2d 5a 65 72 6f 22 0a 20 20 20 20 22 49 6e 65 78 61 63 74 2d 52 65 61 6c 2d 50 gative-Zero"....."Inexact-Real-P
87140 6f 73 69 74 69 76 65 2d 5a 65 72 6f 22 0a 20 20 20 20 22 49 6e 65 78 61 63 74 2d 52 65 61 6c 2d ositive-Zero"....."Inexact-Real-
87160 5a 65 72 6f 22 0a 20 20 20 20 22 49 6e 70 75 74 2d 50 6f 72 74 22 0a 20 20 20 20 22 49 6e 73 70 Zero"....."Input-Port"....."Insp
87180 65 63 74 6f 72 22 0a 20 20 20 20 22 49 6e 73 74 61 6e 63 65 22 0a 20 20 20 20 22 49 6e 74 65 67 ector"....."Instance"....."Integ
871a0 65 72 22 0a 20 20 20 20 22 49 6e 74 65 72 6e 61 6c 2d 44 65 66 69 6e 69 74 69 6f 6e 2d 43 6f 6e er"....."Internal-Definition-Con
871c0 74 65 78 74 22 0a 20 20 20 20 22 49 6e 74 65 72 73 65 63 74 69 6f 6e 22 0a 20 20 20 20 22 4b 65 text"....."Intersection"....."Ke
871e0 79 77 6f 72 64 22 0a 20 20 20 20 22 4c 69 73 74 22 0a 20 20 20 20 22 4c 69 73 74 2a 22 0a 20 20 yword"....."List"....."List*"...
87200 20 20 22 4c 69 73 74 6f 66 22 0a 20 20 20 20 22 4c 6f 67 2d 4c 65 76 65 6c 22 0a 20 20 20 20 22 .."Listof"....."Log-Level"....."
87220 4c 6f 67 2d 52 65 63 65 69 76 65 72 22 0a 20 20 20 20 22 4c 6f 67 67 65 72 22 0a 20 20 20 20 22 Log-Receiver"....."Logger"....."
87240 4d 4c 69 73 74 6f 66 22 0a 20 20 20 20 22 4d 50 61 69 72 54 6f 70 22 0a 20 20 20 20 22 4d 50 61 MListof"....."MPairTop"....."MPa
87260 69 72 6f 66 22 0a 20 20 20 20 22 4d 6f 64 75 6c 65 2d 50 61 74 68 22 0a 20 20 20 20 22 4d 6f 64 irof"....."Module-Path"....."Mod
87280 75 6c 65 2d 50 61 74 68 2d 49 6e 64 65 78 22 0a 20 20 20 20 22 4d 75 74 61 62 6c 65 2d 48 61 73 ule-Path-Index"....."Mutable-Has
872a0 68 54 61 62 6c 65 22 0a 20 20 20 20 22 4d 75 74 61 62 6c 65 2d 48 61 73 68 54 61 62 6c 65 54 6f hTable"....."Mutable-HashTableTo
872c0 70 22 0a 20 20 20 20 22 4d 75 74 61 62 6c 65 2d 56 65 63 74 6f 72 22 0a 20 20 20 20 22 4d 75 74 p"....."Mutable-Vector"....."Mut
872e0 61 62 6c 65 2d 56 65 63 74 6f 72 54 6f 70 22 0a 20 20 20 20 22 4d 75 74 61 62 6c 65 2d 56 65 63 able-VectorTop"....."Mutable-Vec
87300 74 6f 72 6f 66 22 0a 20 20 20 20 22 4e 61 6d 65 73 70 61 63 65 22 0a 20 20 20 20 22 4e 61 6d 65 torof"....."Namespace"....."Name
87320 73 70 61 63 65 2d 41 6e 63 68 6f 72 22 0a 20 20 20 20 22 4e 61 74 75 72 61 6c 22 0a 20 20 20 20 space-Anchor"....."Natural".....
87340 22 4e 65 67 61 74 69 76 65 2d 45 78 61 63 74 2d 52 61 74 69 6f 6e 61 6c 22 0a 20 20 20 20 22 4e "Negative-Exact-Rational"....."N
87360 65 67 61 74 69 76 65 2d 45 78 74 46 6c 6f 6e 75 6d 22 0a 20 20 20 20 22 4e 65 67 61 74 69 76 65 egative-ExtFlonum"....."Negative
87380 2d 46 69 78 6e 75 6d 22 0a 20 20 20 20 22 4e 65 67 61 74 69 76 65 2d 46 6c 6f 61 74 22 0a 20 20 -Fixnum"....."Negative-Float"...
873a0 20 20 22 4e 65 67 61 74 69 76 65 2d 46 6c 6f 6e 75 6d 22 0a 20 20 20 20 22 4e 65 67 61 74 69 76 .."Negative-Flonum"....."Negativ
873c0 65 2d 49 6e 65 78 61 63 74 2d 52 65 61 6c 22 0a 20 20 20 20 22 4e 65 67 61 74 69 76 65 2d 49 6e e-Inexact-Real"....."Negative-In
873e0 74 65 67 65 72 22 0a 20 20 20 20 22 4e 65 67 61 74 69 76 65 2d 52 65 61 6c 22 0a 20 20 20 20 22 teger"....."Negative-Real"....."
87400 4e 65 67 61 74 69 76 65 2d 53 69 6e 67 6c 65 2d 46 6c 6f 6e 75 6d 22 0a 20 20 20 20 22 4e 6f 6e Negative-Single-Flonum"....."Non
87420 6e 65 67 61 74 69 76 65 2d 45 78 61 63 74 2d 52 61 74 69 6f 6e 61 6c 22 0a 20 20 20 20 22 4e 6f negative-Exact-Rational"....."No
87440 6e 6e 65 67 61 74 69 76 65 2d 45 78 74 46 6c 6f 6e 75 6d 22 0a 20 20 20 20 22 4e 6f 6e 6e 65 67 nnegative-ExtFlonum"....."Nonneg
87460 61 74 69 76 65 2d 46 69 78 6e 75 6d 22 0a 20 20 20 20 22 4e 6f 6e 6e 65 67 61 74 69 76 65 2d 46 ative-Fixnum"....."Nonnegative-F
87480 6c 6f 61 74 22 0a 20 20 20 20 22 4e 6f 6e 6e 65 67 61 74 69 76 65 2d 46 6c 6f 6e 75 6d 22 0a 20 loat"....."Nonnegative-Flonum"..
874a0 20 20 20 22 4e 6f 6e 6e 65 67 61 74 69 76 65 2d 49 6e 65 78 61 63 74 2d 52 65 61 6c 22 0a 20 20 ..."Nonnegative-Inexact-Real"...
874c0 20 20 22 4e 6f 6e 6e 65 67 61 74 69 76 65 2d 49 6e 74 65 67 65 72 22 0a 20 20 20 20 22 4e 6f 6e .."Nonnegative-Integer"....."Non
874e0 6e 65 67 61 74 69 76 65 2d 52 65 61 6c 22 0a 20 20 20 20 22 4e 6f 6e 6e 65 67 61 74 69 76 65 2d negative-Real"....."Nonnegative-
87500 53 69 6e 67 6c 65 2d 46 6c 6f 6e 75 6d 22 0a 20 20 20 20 22 4e 6f 6e 70 6f 73 69 74 69 76 65 2d Single-Flonum"....."Nonpositive-
87520 45 78 61 63 74 2d 52 61 74 69 6f 6e 61 6c 22 0a 20 20 20 20 22 4e 6f 6e 70 6f 73 69 74 69 76 65 Exact-Rational"....."Nonpositive
87540 2d 45 78 74 46 6c 6f 6e 75 6d 22 0a 20 20 20 20 22 4e 6f 6e 70 6f 73 69 74 69 76 65 2d 46 69 78 -ExtFlonum"....."Nonpositive-Fix
87560 6e 75 6d 22 0a 20 20 20 20 22 4e 6f 6e 70 6f 73 69 74 69 76 65 2d 46 6c 6f 61 74 22 0a 20 20 20 num"....."Nonpositive-Float"....
87580 20 22 4e 6f 6e 70 6f 73 69 74 69 76 65 2d 46 6c 6f 6e 75 6d 22 0a 20 20 20 20 22 4e 6f 6e 70 6f ."Nonpositive-Flonum"....."Nonpo
875a0 73 69 74 69 76 65 2d 49 6e 65 78 61 63 74 2d 52 65 61 6c 22 0a 20 20 20 20 22 4e 6f 6e 70 6f 73 sitive-Inexact-Real"....."Nonpos
875c0 69 74 69 76 65 2d 49 6e 74 65 67 65 72 22 0a 20 20 20 20 22 4e 6f 6e 70 6f 73 69 74 69 76 65 2d itive-Integer"....."Nonpositive-
875e0 52 65 61 6c 22 0a 20 20 20 20 22 4e 6f 6e 70 6f 73 69 74 69 76 65 2d 53 69 6e 67 6c 65 2d 46 6c Real"....."Nonpositive-Single-Fl
87600 6f 6e 75 6d 22 0a 20 20 20 20 22 4e 6f 74 68 69 6e 67 22 0a 20 20 20 20 22 4e 75 6c 6c 22 0a 20 onum"....."Nothing"....."Null"..
87620 20 20 20 22 4e 75 6d 62 65 72 22 0a 20 20 20 20 22 4f 62 6a 65 63 74 22 0a 20 20 20 20 22 4f 6e ..."Number"....."Object"....."On
87640 65 22 0a 20 20 20 20 22 4f 70 61 71 75 65 22 0a 20 20 20 20 22 4f 70 74 69 6f 6e 22 0a 20 20 20 e"....."Opaque"....."Option"....
87660 20 22 4f 75 74 70 75 74 2d 50 6f 72 74 22 0a 20 20 20 20 22 50 52 65 67 65 78 70 22 0a 20 20 20 ."Output-Port"....."PRegexp"....
87680 20 22 50 61 69 72 22 0a 20 20 20 20 22 50 61 69 72 6f 66 22 0a 20 20 20 20 22 50 61 72 61 6d 65 ."Pair"....."Pairof"....."Parame
876a0 74 65 72 22 0a 20 20 20 20 22 50 61 72 61 6d 65 74 65 72 69 7a 61 74 69 6f 6e 22 0a 20 20 20 20 ter"....."Parameterization".....
876c0 22 50 61 72 61 6d 65 74 65 72 6f 66 22 0a 20 20 20 20 22 50 61 74 68 22 0a 20 20 20 20 22 50 61 "Parameterof"....."Path"....."Pa
876e0 74 68 2d 46 6f 72 2d 53 6f 6d 65 2d 53 79 73 74 65 6d 22 0a 20 20 20 20 22 50 61 74 68 2d 53 74 th-For-Some-System"....."Path-St
87700 72 69 6e 67 22 0a 20 20 20 20 22 50 6c 61 63 65 22 0a 20 20 20 20 22 50 6c 61 63 65 2d 43 68 61 ring"....."Place"....."Place-Cha
87720 6e 6e 65 6c 22 0a 20 20 20 20 22 50 6f 72 74 22 0a 20 20 20 20 22 50 6f 73 69 74 69 76 65 2d 42 nnel"....."Port"....."Positive-B
87740 79 74 65 22 0a 20 20 20 20 22 50 6f 73 69 74 69 76 65 2d 45 78 61 63 74 2d 52 61 74 69 6f 6e 61 yte"....."Positive-Exact-Rationa
87760 6c 22 0a 20 20 20 20 22 50 6f 73 69 74 69 76 65 2d 45 78 74 46 6c 6f 6e 75 6d 22 0a 20 20 20 20 l"....."Positive-ExtFlonum".....
87780 22 50 6f 73 69 74 69 76 65 2d 46 69 78 6e 75 6d 22 0a 20 20 20 20 22 50 6f 73 69 74 69 76 65 2d "Positive-Fixnum"....."Positive-
877a0 46 6c 6f 61 74 22 0a 20 20 20 20 22 50 6f 73 69 74 69 76 65 2d 46 6c 6f 6e 75 6d 22 0a 20 20 20 Float"....."Positive-Flonum"....
877c0 20 22 50 6f 73 69 74 69 76 65 2d 49 6e 64 65 78 22 0a 20 20 20 20 22 50 6f 73 69 74 69 76 65 2d ."Positive-Index"....."Positive-
877e0 49 6e 65 78 61 63 74 2d 52 65 61 6c 22 0a 20 20 20 20 22 50 6f 73 69 74 69 76 65 2d 49 6e 74 65 Inexact-Real"....."Positive-Inte
87800 67 65 72 22 0a 20 20 20 20 22 50 6f 73 69 74 69 76 65 2d 52 65 61 6c 22 0a 20 20 20 20 22 50 6f ger"....."Positive-Real"....."Po
87820 73 69 74 69 76 65 2d 53 69 6e 67 6c 65 2d 46 6c 6f 6e 75 6d 22 0a 20 20 20 20 22 50 72 65 66 61 sitive-Single-Flonum"....."Prefa
87840 62 22 0a 20 20 20 20 22 50 72 65 66 61 62 54 6f 70 22 0a 20 20 20 20 22 50 72 65 74 74 79 2d 50 b"....."PrefabTop"....."Pretty-P
87860 72 69 6e 74 2d 53 74 79 6c 65 2d 54 61 62 6c 65 22 0a 20 20 20 20 22 50 72 6f 63 65 64 75 72 65 rint-Style-Table"....."Procedure
87880 22 0a 20 20 20 20 22 50 72 6f 6d 69 73 65 22 0a 20 20 20 20 22 50 72 6f 6d 70 74 2d 54 61 67 54 "....."Promise"....."Prompt-TagT
878a0 6f 70 22 0a 20 20 20 20 22 50 72 6f 6d 70 74 2d 54 61 67 6f 66 22 0a 20 20 20 20 22 50 73 65 75 op"....."Prompt-Tagof"....."Pseu
878c0 64 6f 2d 52 61 6e 64 6f 6d 2d 47 65 6e 65 72 61 74 6f 72 22 0a 20 20 20 20 22 52 65 61 64 2d 54 do-Random-Generator"....."Read-T
878e0 61 62 6c 65 22 0a 20 20 20 20 22 52 65 61 6c 22 0a 20 20 20 20 22 52 65 61 6c 2d 5a 65 72 6f 22 able"....."Real"....."Real-Zero"
87900 0a 20 20 20 20 22 52 65 63 22 0a 20 20 20 20 22 52 65 66 69 6e 65 22 0a 20 20 20 20 22 52 65 66 ....."Rec"....."Refine"....."Ref
87920 69 6e 65 6d 65 6e 74 22 0a 20 20 20 20 22 52 65 67 65 78 70 22 0a 20 20 20 20 22 52 65 73 6f 6c inement"....."Regexp"....."Resol
87940 76 65 64 2d 4d 6f 64 75 6c 65 2d 50 61 74 68 22 0a 20 20 20 20 22 52 6f 77 22 0a 20 20 20 20 22 ved-Module-Path"....."Row"....."
87960 53 65 63 75 72 69 74 79 2d 47 75 61 72 64 22 0a 20 20 20 20 22 53 65 6c 66 22 0a 20 20 20 20 22 Security-Guard"....."Self"....."
87980 53 65 6d 61 70 68 6f 72 65 22 0a 20 20 20 20 22 53 65 71 75 65 6e 63 65 54 6f 70 22 0a 20 20 20 Semaphore"....."SequenceTop"....
879a0 20 22 53 65 71 75 65 6e 63 65 6f 66 22 0a 20 20 20 20 22 53 65 74 6f 66 22 0a 20 20 20 20 22 53 ."Sequenceof"....."Setof"....."S
879c0 65 78 70 22 0a 20 20 20 20 22 53 65 78 70 6f 66 22 0a 20 20 20 20 22 53 69 6e 67 6c 65 2d 46 6c exp"....."Sexpof"....."Single-Fl
879e0 6f 6e 75 6d 22 0a 20 20 20 20 22 53 69 6e 67 6c 65 2d 46 6c 6f 6e 75 6d 2d 43 6f 6d 70 6c 65 78 onum"....."Single-Flonum-Complex
87a00 22 0a 20 20 20 20 22 53 69 6e 67 6c 65 2d 46 6c 6f 6e 75 6d 2d 4e 61 6e 22 0a 20 20 20 20 22 53 "....."Single-Flonum-Nan"....."S
87a20 69 6e 67 6c 65 2d 46 6c 6f 6e 75 6d 2d 4e 65 67 61 74 69 76 65 2d 5a 65 72 6f 22 0a 20 20 20 20 ingle-Flonum-Negative-Zero".....
87a40 22 53 69 6e 67 6c 65 2d 46 6c 6f 6e 75 6d 2d 50 6f 73 69 74 69 76 65 2d 5a 65 72 6f 22 0a 20 20 "Single-Flonum-Positive-Zero"...
87a60 20 20 22 53 69 6e 67 6c 65 2d 46 6c 6f 6e 75 6d 2d 5a 65 72 6f 22 0a 20 20 20 20 22 53 6f 6d 65 .."Single-Flonum-Zero"....."Some
87a80 22 0a 20 20 20 20 22 53 70 65 63 69 61 6c 2d 43 6f 6d 6d 65 6e 74 22 0a 20 20 20 20 22 53 74 72 "....."Special-Comment"....."Str
87aa0 69 6e 67 22 0a 20 20 20 20 22 53 74 72 75 63 74 22 0a 20 20 20 20 22 53 74 72 75 63 74 2d 50 72 ing"....."Struct"....."Struct-Pr
87ac0 6f 70 65 72 74 79 22 0a 20 20 20 20 22 53 74 72 75 63 74 2d 54 79 70 65 22 0a 20 20 20 20 22 53 operty"....."Struct-Type"....."S
87ae0 74 72 75 63 74 2d 54 79 70 65 2d 50 72 6f 70 65 72 74 79 22 0a 20 20 20 20 22 53 74 72 75 63 74 truct-Type-Property"....."Struct
87b00 2d 54 79 70 65 54 6f 70 22 0a 20 20 20 20 22 53 75 62 70 72 6f 63 65 73 73 22 0a 20 20 20 20 22 -TypeTop"....."Subprocess"....."
87b20 53 79 6d 62 6f 6c 22 0a 20 20 20 20 22 53 79 6e 74 61 78 22 0a 20 20 20 20 22 53 79 6e 74 61 78 Symbol"....."Syntax"....."Syntax
87b40 2d 45 22 0a 20 20 20 20 22 53 79 6e 74 61 78 6f 66 22 0a 20 20 20 20 22 54 43 50 2d 4c 69 73 74 -E"....."Syntaxof"....."TCP-List
87b60 65 6e 65 72 22 0a 20 20 20 20 22 54 68 72 65 61 64 22 0a 20 20 20 20 22 54 68 72 65 61 64 2d 43 ener"....."Thread"....."Thread-C
87b80 65 6c 6c 54 6f 70 22 0a 20 20 20 20 22 54 68 72 65 61 64 2d 43 65 6c 6c 6f 66 22 0a 20 20 20 20 ellTop"....."Thread-Cellof".....
87ba0 22 54 68 72 65 61 64 2d 47 72 6f 75 70 22 0a 20 20 20 20 22 54 6f 70 22 0a 20 20 20 20 22 54 72 "Thread-Group"....."Top"....."Tr
87bc0 75 65 22 0a 20 20 20 20 22 54 75 70 6c 65 22 0a 20 20 20 20 22 55 22 0a 20 20 20 20 22 55 44 50 ue"....."Tuple"....."U"....."UDP
87be0 2d 53 6f 63 6b 65 74 22 0a 20 20 20 20 22 55 6e 22 0a 20 20 20 20 22 55 6e 64 65 66 69 6e 65 64 -Socket"....."Un"....."Undefined
87c00 22 0a 20 20 20 20 22 55 6e 69 6f 6e 22 0a 20 20 20 20 22 55 6e 69 74 22 0a 20 20 20 20 22 55 6e "....."Union"....."Unit"....."Un
87c20 69 74 54 6f 70 22 0a 20 20 20 20 22 55 6e 71 75 6f 74 65 64 2d 50 72 69 6e 74 69 6e 67 2d 53 74 itTop"....."Unquoted-Printing-St
87c40 72 69 6e 67 22 0a 20 20 20 20 22 56 61 6c 75 65 73 22 0a 20 20 20 20 22 56 61 72 69 61 62 6c 65 ring"....."Values"....."Variable
87c60 2d 52 65 66 65 72 65 6e 63 65 22 0a 20 20 20 20 22 56 65 63 74 6f 72 22 0a 20 20 20 20 22 56 65 -Reference"....."Vector"....."Ve
87c80 63 74 6f 72 54 6f 70 22 0a 20 20 20 20 22 56 65 63 74 6f 72 6f 66 22 0a 20 20 20 20 22 56 6f 69 ctorTop"....."Vectorof"....."Voi
87ca0 64 22 0a 20 20 20 20 22 57 65 61 6b 2d 42 6f 78 54 6f 70 22 0a 20 20 20 20 22 57 65 61 6b 2d 42 d"....."Weak-BoxTop"....."Weak-B
87cc0 6f 78 6f 66 22 0a 20 20 20 20 22 57 65 61 6b 2d 48 61 73 68 54 61 62 6c 65 22 0a 20 20 20 20 22 oxof"....."Weak-HashTable"....."
87ce0 57 65 61 6b 2d 48 61 73 68 54 61 62 6c 65 54 6f 70 22 0a 20 20 20 20 22 57 69 6c 6c 2d 45 78 65 Weak-HashTableTop"....."Will-Exe
87d00 63 75 74 6f 72 22 0a 20 20 20 20 22 5a 65 72 6f 22 29 0a 20 20 22 54 79 70 65 64 20 52 61 63 6b cutor"....."Zero")..."Typed.Rack
87d20 65 74 20 62 75 69 6c 74 69 6e 20 74 79 70 65 73 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 et.builtin.types")..(defconst.ra
87d40 63 6b 65 74 2d 6b 65 79 77 6f 72 64 73 0a 20 20 3b 3b 20 54 68 69 73 20 6c 69 73 74 20 77 61 73 cket-keywords...;;.This.list.was
87d60 20 67 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 6b 65 79 77 6f 72 64 73 2e 72 6b 74 20 2d 2d .generated.using.keywords.rkt.--
87d80 20 64 6f 6e 27 74 20 65 64 69 74 0a 20 20 3b 3b 20 69 6e 64 69 76 69 64 75 61 6c 20 69 74 65 6d .don't.edit...;;.individual.item
87da0 73 20 68 65 72 65 21 0a 20 20 27 28 22 23 25 61 70 70 22 0a 20 20 20 20 22 23 25 64 61 74 75 6d s.here!...'("#%app"....."#%datum
87dc0 22 0a 20 20 20 20 22 23 25 64 65 63 6c 61 72 65 22 0a 20 20 20 20 22 23 25 65 78 70 72 65 73 73 "....."#%declare"....."#%express
87de0 69 6f 6e 22 0a 20 20 20 20 22 23 25 6d 6f 64 75 6c 65 2d 62 65 67 69 6e 22 0a 20 20 20 20 22 23 ion"....."#%module-begin"....."#
87e00 25 70 6c 61 69 6e 2d 61 70 70 22 0a 20 20 20 20 22 23 25 70 6c 61 69 6e 2d 6c 61 6d 62 64 61 22 %plain-app"....."#%plain-lambda"
87e20 0a 20 20 20 20 22 23 25 70 6c 61 69 6e 2d 6d 6f 64 75 6c 65 2d 62 65 67 69 6e 22 0a 20 20 20 20 ....."#%plain-module-begin".....
87e40 22 23 25 70 72 69 6e 74 69 6e 67 2d 6d 6f 64 75 6c 65 2d 62 65 67 69 6e 22 0a 20 20 20 20 22 23 "#%printing-module-begin"....."#
87e60 25 70 72 6f 76 69 64 65 22 0a 20 20 20 20 22 23 25 72 65 71 75 69 72 65 22 0a 20 20 20 20 22 23 %provide"....."#%require"....."#
87e80 25 73 74 72 61 74 69 66 69 65 64 2d 62 6f 64 79 22 0a 20 20 20 20 22 23 25 74 6f 70 22 0a 20 20 %stratified-body"....."#%top"...
87ea0 20 20 22 23 25 74 6f 70 2d 69 6e 74 65 72 61 63 74 69 6f 6e 22 0a 20 20 20 20 22 23 25 76 61 72 .."#%top-interaction"....."#%var
87ec0 69 61 62 6c 65 2d 72 65 66 65 72 65 6e 63 65 22 0a 20 20 20 20 22 2e 2e 2e 22 0a 20 20 20 20 22 iable-reference"....."..."....."
87ee0 3a 64 6f 2d 69 6e 22 0a 20 20 20 20 22 3d 3e 22 0a 20 20 20 20 22 5f 22 0a 20 20 20 20 22 61 6c :do-in"....."=>"....."_"....."al
87f00 6c 2d 64 65 66 69 6e 65 64 2d 6f 75 74 22 0a 20 20 20 20 22 61 6c 6c 2d 66 72 6f 6d 2d 6f 75 74 l-defined-out"....."all-from-out
87f20 22 0a 20 20 20 20 22 61 6e 64 22 0a 20 20 20 20 22 61 70 70 6c 79 22 0a 20 20 20 20 22 61 72 69 "....."and"....."apply"....."ari
87f40 74 79 2d 61 74 2d 6c 65 61 73 74 22 0a 20 20 20 20 22 62 65 67 69 6e 22 0a 20 20 20 20 22 62 65 ty-at-least"....."begin"....."be
87f60 67 69 6e 2d 66 6f 72 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 22 62 65 67 69 6e 30 22 0a 20 20 20 gin-for-syntax"....."begin0"....
87f80 20 22 63 61 6c 6c 2d 77 69 74 68 2d 69 6e 70 75 74 2d 66 69 6c 65 22 0a 20 20 20 20 22 63 61 6c ."call-with-input-file"....."cal
87fa0 6c 2d 77 69 74 68 2d 69 6e 70 75 74 2d 66 69 6c 65 2a 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 l-with-input-file*"....."call-wi
87fc0 74 68 2d 6f 75 74 70 75 74 2d 66 69 6c 65 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 6f th-output-file"....."call-with-o
87fe0 75 74 70 75 74 2d 66 69 6c 65 2a 22 0a 20 20 20 20 22 63 61 73 65 22 0a 20 20 20 20 22 63 61 73 utput-file*"....."case"....."cas
88000 65 2d 6c 61 6d 62 64 61 22 0a 20 20 20 20 22 63 6f 6d 62 69 6e 65 2d 69 6e 22 0a 20 20 20 20 22 e-lambda"....."combine-in"....."
88020 63 6f 6d 62 69 6e 65 2d 6f 75 74 22 0a 20 20 20 20 22 63 6f 6e 64 22 0a 20 20 20 20 22 64 61 74 combine-out"....."cond"....."dat
88040 65 22 0a 20 20 20 20 22 64 61 74 65 2a 22 0a 20 20 20 20 22 64 65 66 69 6e 65 22 0a 20 20 20 20 e"....."date*"....."define".....
88060 22 64 65 66 69 6e 65 2d 66 6f 72 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d "define-for-syntax"....."define-
88080 6c 6f 67 67 65 72 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 6e 61 6d 65 73 70 61 63 65 2d 61 6e logger"....."define-namespace-an
880a0 63 68 6f 72 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 73 65 71 75 65 6e 63 65 2d 73 79 6e 74 61 chor"....."define-sequence-synta
880c0 78 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 73 70 6c 69 63 69 6e 67 2d 66 6f 72 2d 63 6c 61 75 x"....."define-splicing-for-clau
880e0 73 65 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 73 74 72 75 63 74 22 0a 20 se-syntax"....."define-struct"..
88100 20 20 20 22 64 65 66 69 6e 65 2d 73 74 72 75 63 74 2f 64 65 72 69 76 65 64 22 0a 20 20 20 20 22 ..."define-struct/derived"....."
88120 64 65 66 69 6e 65 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 73 79 6e 74 61 define-syntax"....."define-synta
88140 78 2d 72 75 6c 65 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 73 79 6e 74 61 78 65 73 22 0a 20 20 x-rule"....."define-syntaxes"...
88160 20 20 22 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 76 61 .."define-values"....."define-va
88180 6c 75 65 73 2d 66 6f 72 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 22 64 6f 22 0a 20 20 20 20 22 65 lues-for-syntax"....."do"....."e
881a0 6c 73 65 22 0a 20 20 20 20 22 65 78 63 65 70 74 2d 69 6e 22 0a 20 20 20 20 22 65 78 63 65 70 74 lse"....."except-in"....."except
881c0 2d 6f 75 74 22 0a 20 20 20 20 22 65 78 6e 22 0a 20 20 20 20 22 65 78 6e 3a 62 72 65 61 6b 22 0a -out"....."exn"....."exn:break".
881e0 20 20 20 20 22 65 78 6e 3a 62 72 65 61 6b 3a 68 61 6e 67 2d 75 70 22 0a 20 20 20 20 22 65 78 6e ...."exn:break:hang-up"....."exn
88200 3a 62 72 65 61 6b 3a 74 65 72 6d 69 6e 61 74 65 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 22 :break:terminate"....."exn:fail"
88220 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 65 78 ....."exn:fail:contract"....."ex
88240 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 61 72 69 74 79 22 0a 20 20 20 20 22 65 78 6e 3a n:fail:contract:arity"....."exn:
88260 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 22 0a 20 20 20 20 fail:contract:continuation".....
88280 22 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 64 69 76 69 64 65 2d 62 79 2d 7a 65 72 "exn:fail:contract:divide-by-zer
882a0 6f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 6e 6f 6e 2d 66 69 o"....."exn:fail:contract:non-fi
882c0 78 6e 75 6d 2d 72 65 73 75 6c 74 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 xnum-result"....."exn:fail:contr
882e0 61 63 74 3a 76 61 72 69 61 62 6c 65 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 act:variable"....."exn:fail:file
88300 73 79 73 74 65 6d 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d system"....."exn:fail:filesystem
88320 3a 65 72 72 6e 6f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d :errno"....."exn:fail:filesystem
88340 3a 65 78 69 73 74 73 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 :exists"....."exn:fail:filesyste
88360 6d 3a 6d 69 73 73 69 6e 67 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a m:missing-module"....."exn:fail:
88380 66 69 6c 65 73 79 73 74 65 6d 3a 76 65 72 73 69 6f 6e 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 filesystem:version"....."exn:fai
883a0 6c 3a 6e 65 74 77 6f 72 6b 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 6e 65 74 77 6f 72 6b l:network"....."exn:fail:network
883c0 3a 65 72 72 6e 6f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 6f 75 74 2d 6f 66 2d 6d 65 6d :errno"....."exn:fail:out-of-mem
883e0 6f 72 79 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 72 65 61 64 22 0a 20 20 20 20 22 65 78 ory"....."exn:fail:read"....."ex
88400 6e 3a 66 61 69 6c 3a 72 65 61 64 3a 65 6f 66 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 72 n:fail:read:eof"....."exn:fail:r
88420 65 61 64 3a 6e 6f 6e 2d 63 68 61 72 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 ead:non-char"....."exn:fail:synt
88440 61 78 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 61 78 3a 6d 69 73 73 69 6e 67 ax"....."exn:fail:syntax:missing
88460 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 61 78 3a 75 6e -module"....."exn:fail:syntax:un
88480 62 6f 75 6e 64 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 75 6e 73 75 70 70 6f 72 74 65 64 bound"....."exn:fail:unsupported
884a0 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 75 73 65 72 22 0a 20 20 20 20 22 66 69 6c 65 22 "....."exn:fail:user"....."file"
884c0 0a 20 20 20 20 22 66 6f 72 22 0a 20 20 20 20 22 66 6f 72 2a 22 0a 20 20 20 20 22 66 6f 72 2a 2f ....."for"....."for*"....."for*/
884e0 61 6e 64 22 0a 20 20 20 20 22 66 6f 72 2a 2f 66 69 72 73 74 22 0a 20 20 20 20 22 66 6f 72 2a 2f and"....."for*/first"....."for*/
88500 66 6f 6c 64 22 0a 20 20 20 20 22 66 6f 72 2a 2f 66 6f 6c 64 2f 64 65 72 69 76 65 64 22 0a 20 20 fold"....."for*/fold/derived"...
88520 20 20 22 66 6f 72 2a 2f 66 6f 6c 64 72 22 0a 20 20 20 20 22 66 6f 72 2a 2f 66 6f 6c 64 72 2f 64 .."for*/foldr"....."for*/foldr/d
88540 65 72 69 76 65 64 22 0a 20 20 20 20 22 66 6f 72 2a 2f 68 61 73 68 22 0a 20 20 20 20 22 66 6f 72 erived"....."for*/hash"....."for
88560 2a 2f 68 61 73 68 61 6c 77 22 0a 20 20 20 20 22 66 6f 72 2a 2f 68 61 73 68 65 71 22 0a 20 20 20 */hashalw"....."for*/hasheq"....
88580 20 22 66 6f 72 2a 2f 68 61 73 68 65 71 76 22 0a 20 20 20 20 22 66 6f 72 2a 2f 6c 61 73 74 22 0a ."for*/hasheqv"....."for*/last".
885a0 20 20 20 20 22 66 6f 72 2a 2f 6c 69 73 74 22 0a 20 20 20 20 22 66 6f 72 2a 2f 6c 69 73 74 73 22 ...."for*/list"....."for*/lists"
885c0 0a 20 20 20 20 22 66 6f 72 2a 2f 6f 72 22 0a 20 20 20 20 22 66 6f 72 2a 2f 70 72 6f 64 75 63 74 ....."for*/or"....."for*/product
885e0 22 0a 20 20 20 20 22 66 6f 72 2a 2f 73 75 6d 22 0a 20 20 20 20 22 66 6f 72 2a 2f 76 65 63 74 6f "....."for*/sum"....."for*/vecto
88600 72 22 0a 20 20 20 20 22 66 6f 72 2d 6c 61 62 65 6c 22 0a 20 20 20 20 22 66 6f 72 2d 6d 65 74 61 r"....."for-label"....."for-meta
88620 22 0a 20 20 20 20 22 66 6f 72 2d 73 70 61 63 65 22 0a 20 20 20 20 22 66 6f 72 2d 73 79 6e 74 61 "....."for-space"....."for-synta
88640 78 22 0a 20 20 20 20 22 66 6f 72 2d 74 65 6d 70 6c 61 74 65 22 0a 20 20 20 20 22 66 6f 72 2f 61 x"....."for-template"....."for/a
88660 6e 64 22 0a 20 20 20 20 22 66 6f 72 2f 66 69 72 73 74 22 0a 20 20 20 20 22 66 6f 72 2f 66 6f 6c nd"....."for/first"....."for/fol
88680 64 22 0a 20 20 20 20 22 66 6f 72 2f 66 6f 6c 64 2f 64 65 72 69 76 65 64 22 0a 20 20 20 20 22 66 d"....."for/fold/derived"....."f
886a0 6f 72 2f 66 6f 6c 64 72 22 0a 20 20 20 20 22 66 6f 72 2f 66 6f 6c 64 72 2f 64 65 72 69 76 65 64 or/foldr"....."for/foldr/derived
886c0 22 0a 20 20 20 20 22 66 6f 72 2f 68 61 73 68 22 0a 20 20 20 20 22 66 6f 72 2f 68 61 73 68 61 6c "....."for/hash"....."for/hashal
886e0 77 22 0a 20 20 20 20 22 66 6f 72 2f 68 61 73 68 65 71 22 0a 20 20 20 20 22 66 6f 72 2f 68 61 73 w"....."for/hasheq"....."for/has
88700 68 65 71 76 22 0a 20 20 20 20 22 66 6f 72 2f 6c 61 73 74 22 0a 20 20 20 20 22 66 6f 72 2f 6c 69 heqv"....."for/last"....."for/li
88720 73 74 22 0a 20 20 20 20 22 66 6f 72 2f 6c 69 73 74 73 22 0a 20 20 20 20 22 66 6f 72 2f 6f 72 22 st"....."for/lists"....."for/or"
88740 0a 20 20 20 20 22 66 6f 72 2f 70 72 6f 64 75 63 74 22 0a 20 20 20 20 22 66 6f 72 2f 73 75 6d 22 ....."for/product"....."for/sum"
88760 0a 20 20 20 20 22 66 6f 72 2f 76 65 63 74 6f 72 22 0a 20 20 20 20 22 67 65 6e 3a 63 75 73 74 6f ....."for/vector"....."gen:custo
88780 6d 2d 77 72 69 74 65 22 0a 20 20 20 20 22 67 65 6e 3a 65 71 75 61 6c 2b 68 61 73 68 22 0a 20 20 m-write"....."gen:equal+hash"...
887a0 20 20 22 67 65 6e 3a 65 71 75 61 6c 2d 6d 6f 64 65 2b 68 61 73 68 22 0a 20 20 20 20 22 68 61 73 .."gen:equal-mode+hash"....."has
887c0 68 2d 63 6f 70 79 2d 63 6c 65 61 72 22 0a 20 20 20 20 22 68 61 73 68 2d 6d 61 70 2f 63 6f 70 79 h-copy-clear"....."hash-map/copy
887e0 22 0a 20 20 20 20 22 69 66 22 0a 20 20 20 20 22 69 6e 2d 62 79 74 65 73 22 0a 20 20 20 20 22 69 "....."if"....."in-bytes"....."i
88800 6e 2d 62 79 74 65 73 2d 6c 69 6e 65 73 22 0a 20 20 20 20 22 69 6e 2d 64 69 72 65 63 74 6f 72 79 n-bytes-lines"....."in-directory
88820 22 0a 20 20 20 20 22 69 6e 2d 65 70 68 65 6d 65 72 6f 6e 2d 68 61 73 68 22 0a 20 20 20 20 22 69 "....."in-ephemeron-hash"....."i
88840 6e 2d 65 70 68 65 6d 65 72 6f 6e 2d 68 61 73 68 2d 6b 65 79 73 22 0a 20 20 20 20 22 69 6e 2d 65 n-ephemeron-hash-keys"....."in-e
88860 70 68 65 6d 65 72 6f 6e 2d 68 61 73 68 2d 70 61 69 72 73 22 0a 20 20 20 20 22 69 6e 2d 65 70 68 phemeron-hash-pairs"....."in-eph
88880 65 6d 65 72 6f 6e 2d 68 61 73 68 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 22 69 6e 2d 68 61 73 68 emeron-hash-values"....."in-hash
888a0 22 0a 20 20 20 20 22 69 6e 2d 68 61 73 68 2d 6b 65 79 73 22 0a 20 20 20 20 22 69 6e 2d 68 61 73 "....."in-hash-keys"....."in-has
888c0 68 2d 70 61 69 72 73 22 0a 20 20 20 20 22 69 6e 2d 68 61 73 68 2d 76 61 6c 75 65 73 22 0a 20 20 h-pairs"....."in-hash-values"...
888e0 20 20 22 69 6e 2d 69 6d 6d 75 74 61 62 6c 65 2d 68 61 73 68 22 0a 20 20 20 20 22 69 6e 2d 69 6d .."in-immutable-hash"....."in-im
88900 6d 75 74 61 62 6c 65 2d 68 61 73 68 2d 6b 65 79 73 22 0a 20 20 20 20 22 69 6e 2d 69 6d 6d 75 74 mutable-hash-keys"....."in-immut
88920 61 62 6c 65 2d 68 61 73 68 2d 70 61 69 72 73 22 0a 20 20 20 20 22 69 6e 2d 69 6d 6d 75 74 61 62 able-hash-pairs"....."in-immutab
88940 6c 65 2d 68 61 73 68 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 22 69 6e 2d 69 6e 63 6c 75 73 69 76 le-hash-values"....."in-inclusiv
88960 65 2d 72 61 6e 67 65 22 0a 20 20 20 20 22 69 6e 2d 69 6e 64 65 78 65 64 22 0a 20 20 20 20 22 69 e-range"....."in-indexed"....."i
88980 6e 2d 69 6e 70 75 74 2d 70 6f 72 74 2d 62 79 74 65 73 22 0a 20 20 20 20 22 69 6e 2d 69 6e 70 75 n-input-port-bytes"....."in-inpu
889a0 74 2d 70 6f 72 74 2d 63 68 61 72 73 22 0a 20 20 20 20 22 69 6e 2d 6c 69 6e 65 73 22 0a 20 20 20 t-port-chars"....."in-lines"....
889c0 20 22 69 6e 2d 6c 69 73 74 22 0a 20 20 20 20 22 69 6e 2d 6d 6c 69 73 74 22 0a 20 20 20 20 22 69 ."in-list"....."in-mlist"....."i
889e0 6e 2d 6d 75 74 61 62 6c 65 2d 68 61 73 68 22 0a 20 20 20 20 22 69 6e 2d 6d 75 74 61 62 6c 65 2d n-mutable-hash"....."in-mutable-
88a00 68 61 73 68 2d 6b 65 79 73 22 0a 20 20 20 20 22 69 6e 2d 6d 75 74 61 62 6c 65 2d 68 61 73 68 2d hash-keys"....."in-mutable-hash-
88a20 70 61 69 72 73 22 0a 20 20 20 20 22 69 6e 2d 6d 75 74 61 62 6c 65 2d 68 61 73 68 2d 76 61 6c 75 pairs"....."in-mutable-hash-valu
88a40 65 73 22 0a 20 20 20 20 22 69 6e 2d 6e 61 74 75 72 61 6c 73 22 0a 20 20 20 20 22 69 6e 2d 70 6f es"....."in-naturals"....."in-po
88a60 72 74 22 0a 20 20 20 20 22 69 6e 2d 70 72 6f 64 75 63 65 72 22 0a 20 20 20 20 22 69 6e 2d 72 61 rt"....."in-producer"....."in-ra
88a80 6e 67 65 22 0a 20 20 20 20 22 69 6e 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 69 6e 2d 76 61 6c nge"....."in-string"....."in-val
88aa0 75 65 22 0a 20 20 20 20 22 69 6e 2d 76 65 63 74 6f 72 22 0a 20 20 20 20 22 69 6e 2d 77 65 61 6b ue"....."in-vector"....."in-weak
88ac0 2d 68 61 73 68 22 0a 20 20 20 20 22 69 6e 2d 77 65 61 6b 2d 68 61 73 68 2d 6b 65 79 73 22 0a 20 -hash"....."in-weak-hash-keys"..
88ae0 20 20 20 22 69 6e 2d 77 65 61 6b 2d 68 61 73 68 2d 70 61 69 72 73 22 0a 20 20 20 20 22 69 6e 2d ..."in-weak-hash-pairs"....."in-
88b00 77 65 61 6b 2d 68 61 73 68 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 22 6c 61 6d 62 64 61 22 0a 20 weak-hash-values"....."lambda"..
88b20 20 20 20 22 6c 65 74 22 0a 20 20 20 20 22 6c 65 74 2a 22 0a 20 20 20 20 22 6c 65 74 2a 2d 76 61 ..."let"....."let*"....."let*-va
88b40 6c 75 65 73 22 0a 20 20 20 20 22 6c 65 74 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 22 6c 65 74 2d lues"....."let-syntax"....."let-
88b60 73 79 6e 74 61 78 65 73 22 0a 20 20 20 20 22 6c 65 74 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 22 syntaxes"....."let-values"....."
88b80 6c 65 74 2f 63 63 22 0a 20 20 20 20 22 6c 65 74 2f 65 63 22 0a 20 20 20 20 22 6c 65 74 72 65 63 let/cc"....."let/ec"....."letrec
88ba0 22 0a 20 20 20 20 22 6c 65 74 72 65 63 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 22 6c 65 74 72 65 "....."letrec-syntax"....."letre
88bc0 63 2d 73 79 6e 74 61 78 65 73 22 0a 20 20 20 20 22 6c 65 74 72 65 63 2d 73 79 6e 74 61 78 65 73 c-syntaxes"....."letrec-syntaxes
88be0 2b 76 61 6c 75 65 73 22 0a 20 20 20 20 22 6c 65 74 72 65 63 2d 76 61 6c 75 65 73 22 0a 20 20 20 +values"....."letrec-values"....
88c00 20 22 6c 69 62 22 0a 20 20 20 20 22 6c 6f 63 61 6c 2d 72 65 71 75 69 72 65 22 0a 20 20 20 20 22 ."lib"....."local-require"....."
88c20 6c 6f 67 2d 64 65 62 75 67 22 0a 20 20 20 20 22 6c 6f 67 2d 65 72 72 6f 72 22 0a 20 20 20 20 22 log-debug"....."log-error"....."
88c40 6c 6f 67 2d 66 61 74 61 6c 22 0a 20 20 20 20 22 6c 6f 67 2d 69 6e 66 6f 22 0a 20 20 20 20 22 6c log-fatal"....."log-info"....."l
88c60 6f 67 2d 77 61 72 6e 69 6e 67 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 22 0a 20 20 20 20 22 6d 6f og-warning"....."module"....."mo
88c80 64 75 6c 65 2a 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2b 22 0a 20 20 20 20 22 6f 6e 6c 79 2d 69 dule*"....."module+"....."only-i
88ca0 6e 22 0a 20 20 20 20 22 6f 6e 6c 79 2d 6d 65 74 61 2d 69 6e 22 0a 20 20 20 20 22 6f 6e 6c 79 2d n"....."only-meta-in"....."only-
88cc0 73 70 61 63 65 2d 69 6e 22 0a 20 20 20 20 22 6f 70 65 6e 2d 69 6e 70 75 74 2d 66 69 6c 65 22 0a space-in"....."open-input-file".
88ce0 20 20 20 20 22 6f 70 65 6e 2d 69 6e 70 75 74 2d 6f 75 74 70 75 74 2d 66 69 6c 65 22 0a 20 20 20 ...."open-input-output-file"....
88d00 20 22 6f 70 65 6e 2d 6f 75 74 70 75 74 2d 66 69 6c 65 22 0a 20 20 20 20 22 6f 72 22 0a 20 20 20 ."open-output-file"....."or"....
88d20 20 22 70 61 72 61 6d 65 74 65 72 69 7a 65 22 0a 20 20 20 20 22 70 61 72 61 6d 65 74 65 72 69 7a ."parameterize"....."parameteriz
88d40 65 2a 22 0a 20 20 20 20 22 70 61 72 61 6d 65 74 65 72 69 7a 65 2d 62 72 65 61 6b 22 0a 20 20 20 e*"....."parameterize-break"....
88d60 20 22 70 6c 61 6e 65 74 22 0a 20 20 20 20 22 70 72 65 66 69 78 2d 69 6e 22 0a 20 20 20 20 22 70 ."planet"....."prefix-in"....."p
88d80 72 65 66 69 78 2d 6f 75 74 22 0a 20 20 20 20 22 70 72 6f 74 65 63 74 2d 6f 75 74 22 0a 20 20 20 refix-out"....."protect-out"....
88da0 20 22 70 72 6f 76 69 64 65 22 0a 20 20 20 20 22 71 75 61 73 69 71 75 6f 74 65 22 0a 20 20 20 20 ."provide"....."quasiquote".....
88dc0 22 71 75 61 73 69 73 79 6e 74 61 78 22 0a 20 20 20 20 22 71 75 61 73 69 73 79 6e 74 61 78 2f 6c "quasisyntax"....."quasisyntax/l
88de0 6f 63 22 0a 20 20 20 20 22 71 75 6f 74 65 22 0a 20 20 20 20 22 71 75 6f 74 65 2d 73 79 6e 74 61 oc"....."quote"....."quote-synta
88e00 78 22 0a 20 20 20 20 22 71 75 6f 74 65 2d 73 79 6e 74 61 78 2f 70 72 75 6e 65 22 0a 20 20 20 20 x"....."quote-syntax/prune".....
88e20 22 72 61 69 73 65 2d 73 79 6e 74 61 78 2d 65 72 72 6f 72 22 0a 20 20 20 20 22 72 65 67 65 78 70 "raise-syntax-error"....."regexp
88e40 2d 6d 61 74 63 68 2a 22 0a 20 20 20 20 22 72 65 67 65 78 70 2d 6d 61 74 63 68 2d 70 65 65 6b 2d -match*"....."regexp-match-peek-
88e60 70 6f 73 69 74 69 6f 6e 73 2a 22 0a 20 20 20 20 22 72 65 67 65 78 70 2d 6d 61 74 63 68 2d 70 6f positions*"....."regexp-match-po
88e80 73 69 74 69 6f 6e 73 2a 22 0a 20 20 20 20 22 72 65 6c 61 74 69 76 65 2d 69 6e 22 0a 20 20 20 20 sitions*"....."relative-in".....
88ea0 22 72 65 6e 61 6d 65 2d 69 6e 22 0a 20 20 20 20 22 72 65 6e 61 6d 65 2d 6f 75 74 22 0a 20 20 20 "rename-in"....."rename-out"....
88ec0 20 22 72 65 71 75 69 72 65 22 0a 20 20 20 20 22 73 65 74 21 22 0a 20 20 20 20 22 73 65 74 21 2d ."require"....."set!"....."set!-
88ee0 76 61 6c 75 65 73 22 0a 20 20 20 20 22 73 6f 72 74 22 0a 20 20 20 20 22 73 72 63 6c 6f 63 22 0a values"....."sort"....."srcloc".
88f00 20 20 20 20 22 73 74 72 75 63 74 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 63 6f 70 79 22 0a 20 ...."struct"....."struct-copy"..
88f20 20 20 20 22 73 74 72 75 63 74 2d 66 69 65 6c 64 2d 69 6e 64 65 78 22 0a 20 20 20 20 22 73 74 72 ..."struct-field-index"....."str
88f40 75 63 74 2d 6f 75 74 22 0a 20 20 20 20 22 73 74 72 75 63 74 2f 64 65 72 69 76 65 64 22 0a 20 20 uct-out"....."struct/derived"...
88f60 20 20 22 73 75 62 6d 6f 64 22 0a 20 20 20 20 22 73 79 6e 74 61 78 22 0a 20 20 20 20 22 73 79 6e .."submod"....."syntax"....."syn
88f80 74 61 78 2d 62 69 6e 64 69 6e 67 2d 73 65 74 2d 65 78 74 65 6e 64 22 0a 20 20 20 20 22 73 79 6e tax-binding-set-extend"....."syn
88fa0 74 61 78 2d 63 61 73 65 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 63 61 73 65 2a 22 0a 20 20 20 tax-case"....."syntax-case*"....
88fc0 20 22 73 79 6e 74 61 78 2d 64 65 73 65 72 69 61 6c 69 7a 65 22 0a 20 20 20 20 22 73 79 6e 74 61 ."syntax-deserialize"....."synta
88fe0 78 2d 69 64 2d 72 75 6c 65 73 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 72 75 6c 65 73 22 0a 20 x-id-rules"....."syntax-rules"..
89000 20 20 20 22 73 79 6e 74 61 78 2d 73 65 72 69 61 6c 69 7a 65 22 0a 20 20 20 20 22 73 79 6e 74 61 ..."syntax-serialize"....."synta
89020 78 2f 6c 6f 63 22 0a 20 20 20 20 22 74 69 6d 65 22 0a 20 20 20 20 22 75 6e 6c 65 73 73 22 0a 20 x/loc"....."time"....."unless"..
89040 20 20 20 22 75 6e 71 75 6f 74 65 22 0a 20 20 20 20 22 75 6e 71 75 6f 74 65 2d 73 70 6c 69 63 69 ..."unquote"....."unquote-splici
89060 6e 67 22 0a 20 20 20 20 22 75 6e 73 79 6e 74 61 78 22 0a 20 20 20 20 22 75 6e 73 79 6e 74 61 78 ng"....."unsyntax"....."unsyntax
89080 2d 73 70 6c 69 63 69 6e 67 22 0a 20 20 20 20 22 77 68 65 6e 22 0a 20 20 20 20 22 77 69 74 68 2d -splicing"....."when"....."with-
890a0 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 22 0a 20 20 20 20 22 77 69 74 68 2d 68 61 6e continuation-mark"....."with-han
890c0 64 6c 65 72 73 22 0a 20 20 20 20 22 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 2a 22 0a 20 20 20 20 dlers"....."with-handlers*".....
890e0 22 77 69 74 68 2d 69 6e 70 75 74 2d 66 72 6f 6d 2d 66 69 6c 65 22 0a 20 20 20 20 22 77 69 74 68 "with-input-from-file"....."with
89100 2d 6f 75 74 70 75 74 2d 74 6f 2d 66 69 6c 65 22 0a 20 20 20 20 22 77 69 74 68 2d 73 79 6e 74 61 -output-to-file"....."with-synta
89120 78 22 0a 20 20 20 20 22 7e 3f 22 0a 20 20 20 20 22 7e 40 22 0a 20 20 20 20 22 ce bb 22 29 0a 20 x"....."~?"....."~@"....."..")..
89140 20 22 52 61 63 6b 65 74 20 5c 22 6b 65 79 77 6f 72 64 73 5c 22 3a 20 73 79 6e 74 61 78 20 66 72 ."Racket.\"keywords\":.syntax.fr
89160 6f 6d 20 72 61 63 6b 65 74 2f 62 61 73 65 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b om.racket/base")..(defconst.rack
89180 65 74 2d 62 75 69 6c 74 69 6e 73 2d 31 2d 6f 66 2d 32 0a 20 20 3b 3b 20 54 68 69 73 20 6c 69 73 et-builtins-1-of-2...;;.This.lis
891a0 74 20 77 61 73 20 67 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 6b 65 79 77 6f 72 64 73 2e 72 t.was.generated.using.keywords.r
891c0 6b 74 20 2d 2d 20 64 6f 6e 27 74 20 65 64 69 74 0a 20 20 3b 3b 20 69 6e 64 69 76 69 64 75 61 6c kt.--.don't.edit...;;.individual
891e0 20 69 74 65 6d 73 20 68 65 72 65 21 0a 20 20 27 28 22 21 22 0a 20 20 20 20 22 2a 22 0a 20 20 20 .items.here!...'("!"....."*"....
89200 20 22 2a 6c 69 73 74 2f 63 22 0a 20 20 20 20 22 2b 22 0a 20 20 20 20 22 2d 22 0a 20 20 20 20 22 ."*list/c"....."+"....."-"....."
89220 2d 3e 22 0a 20 20 20 20 22 2d 3e 2a 22 0a 20 20 20 20 22 2d 3e 2a 6d 22 0a 20 20 20 20 22 2d 3e ->"....."->*"....."->*m"....."->
89240 64 22 0a 20 20 20 20 22 2d 3e 64 6d 22 0a 20 20 20 20 22 2d 3e 69 22 0a 20 20 20 20 22 2d 3e 6d d"....."->dm"....."->i"....."->m
89260 22 0a 20 20 20 20 22 2f 22 0a 20 20 20 20 22 3a 22 0a 20 20 20 20 22 3a 6b 69 6e 64 22 0a 20 20 "....."/".....":".....":kind"...
89280 20 20 22 3a 70 72 69 6e 74 2d 74 79 70 65 22 0a 20 20 20 20 22 3a 71 75 65 72 79 2d 74 79 70 65 ..":print-type".....":query-type
892a0 2f 61 72 67 73 22 0a 20 20 20 20 22 3a 71 75 65 72 79 2d 74 79 70 65 2f 72 65 73 75 6c 74 22 0a /args".....":query-type/result".
892c0 20 20 20 20 22 3a 74 79 70 65 22 0a 20 20 20 20 22 3c 22 0a 20 20 20 20 22 3c 2f 63 22 0a 20 20 ....":type"....."<"....."</c"...
892e0 20 20 22 3c 3d 22 0a 20 20 20 20 22 3c 3d 2f 63 22 0a 20 20 20 20 22 3d 22 0a 20 20 20 20 22 3d .."<="....."<=/c"....."="....."=
89300 2f 63 22 0a 20 20 20 20 22 3d 3d 22 0a 20 20 20 20 22 3e 22 0a 20 20 20 20 22 3e 2f 63 22 0a 20 /c"....."==".....">".....">/c"..
89320 20 20 20 22 3e 3d 22 0a 20 20 20 20 22 3e 3d 2f 63 22 0a 20 20 20 20 22 61 62 6f 72 74 2d 63 75 ...">=".....">=/c"....."abort-cu
89340 72 72 65 6e 74 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 22 0a 20 20 20 20 22 61 62 73 22 0a 20 20 rrent-continuation"....."abs"...
89360 20 20 22 61 62 73 65 6e 74 22 0a 20 20 20 20 22 61 62 73 6f 6c 75 74 65 2d 70 61 74 68 3f 22 0a .."absent"....."absolute-path?".
89380 20 20 20 20 22 61 62 73 74 72 61 63 74 22 0a 20 20 20 20 22 61 63 6f 73 22 0a 20 20 20 20 22 61 ...."abstract"....."acos"....."a
893a0 64 64 2d 62 65 74 77 65 65 6e 22 0a 20 20 20 20 22 61 64 64 31 22 0a 20 20 20 20 22 61 6c 61 72 dd-between"....."add1"....."alar
893c0 6d 2d 65 76 74 22 0a 20 20 20 20 22 61 6c 77 61 79 73 2d 65 76 74 22 0a 20 20 20 20 22 61 6e 64 m-evt"....."always-evt"....."and
893e0 2f 63 22 0a 20 20 20 20 22 61 6e 64 6d 61 70 22 0a 20 20 20 20 22 61 6e 67 6c 65 22 0a 20 20 20 /c"....."andmap"....."angle"....
89400 20 22 61 6e 6e 22 0a 20 20 20 20 22 61 6e 79 22 0a 20 20 20 20 22 61 6e 79 2f 63 22 0a 20 20 20 ."ann"....."any"....."any/c"....
89420 20 22 61 70 70 65 6e 64 22 0a 20 20 20 20 22 61 70 70 65 6e 64 2a 22 0a 20 20 20 20 22 61 70 70 ."append"....."append*"....."app
89440 65 6e 64 2d 6d 61 70 22 0a 20 20 20 20 22 61 72 67 6d 61 78 22 0a 20 20 20 20 22 61 72 67 6d 69 end-map"....."argmax"....."argmi
89460 6e 22 0a 20 20 20 20 22 61 72 69 74 68 6d 65 74 69 63 2d 73 68 69 66 74 22 0a 20 20 20 20 22 61 n"....."arithmetic-shift"....."a
89480 72 69 74 79 2d 61 74 2d 6c 65 61 73 74 2d 76 61 6c 75 65 22 0a 20 20 20 20 22 61 72 69 74 79 2d rity-at-least-value"....."arity-
894a0 61 74 2d 6c 65 61 73 74 3f 22 0a 20 20 20 20 22 61 72 69 74 79 2d 63 68 65 63 6b 69 6e 67 2d 77 at-least?"....."arity-checking-w
894c0 72 61 70 70 65 72 22 0a 20 20 20 20 22 61 72 69 74 79 2d 69 6e 63 6c 75 64 65 73 3f 22 0a 20 20 rapper"....."arity-includes?"...
894e0 20 20 22 61 72 69 74 79 3d 3f 22 0a 20 20 20 20 22 61 72 72 6f 77 2d 63 6f 6e 74 72 61 63 74 2d .."arity=?"....."arrow-contract-
89500 69 6e 66 6f 22 0a 20 20 20 20 22 61 72 72 6f 77 2d 63 6f 6e 74 72 61 63 74 2d 69 6e 66 6f 2d 61 info"....."arrow-contract-info-a
89520 63 63 65 70 74 73 2d 61 72 67 6c 69 73 74 22 0a 20 20 20 20 22 61 72 72 6f 77 2d 63 6f 6e 74 72 ccepts-arglist"....."arrow-contr
89540 61 63 74 2d 69 6e 66 6f 2d 63 68 61 70 65 72 6f 6e 65 2d 70 72 6f 63 65 64 75 72 65 22 0a 20 20 act-info-chaperone-procedure"...
89560 20 20 22 61 72 72 6f 77 2d 63 6f 6e 74 72 61 63 74 2d 69 6e 66 6f 2d 63 68 65 63 6b 2d 66 69 72 .."arrow-contract-info-check-fir
89580 73 74 2d 6f 72 64 65 72 22 0a 20 20 20 20 22 61 72 72 6f 77 2d 63 6f 6e 74 72 61 63 74 2d 69 6e st-order"....."arrow-contract-in
895a0 66 6f 3f 22 0a 20 20 20 20 22 61 73 69 6e 22 0a 20 20 20 20 22 61 73 73 65 72 74 22 0a 20 20 20 fo?"....."asin"....."assert"....
895c0 20 22 61 73 73 65 72 74 2d 74 79 70 65 63 68 65 63 6b 2d 66 61 69 6c 22 0a 20 20 20 20 22 61 73 ."assert-typecheck-fail"....."as
895e0 73 65 72 74 2d 75 6e 72 65 61 63 68 61 62 6c 65 22 0a 20 20 20 20 22 61 73 73 66 22 0a 20 20 20 sert-unreachable"....."assf"....
89600 20 22 61 73 73 6f 63 22 0a 20 20 20 20 22 61 73 73 71 22 0a 20 20 20 20 22 61 73 73 76 22 0a 20 ."assoc"....."assq"....."assv"..
89620 20 20 20 22 61 73 73 77 22 0a 20 20 20 20 22 61 74 61 6e 22 0a 20 20 20 20 22 61 75 67 6d 65 6e ..."assw"....."atan"....."augmen
89640 74 22 0a 20 20 20 20 22 61 75 67 6d 65 6e 74 2a 22 0a 20 20 20 20 22 61 75 67 6d 65 6e 74 2d 66 t"....."augment*"....."augment-f
89660 69 6e 61 6c 22 0a 20 20 20 20 22 61 75 67 6d 65 6e 74 2d 66 69 6e 61 6c 2a 22 0a 20 20 20 20 22 inal"....."augment-final*"....."
89680 61 75 67 72 69 64 65 22 0a 20 20 20 20 22 61 75 67 72 69 64 65 2a 22 0a 20 20 20 20 22 62 61 64 augride"....."augride*"....."bad
896a0 2d 6e 75 6d 62 65 72 2d 6f 66 2d 72 65 73 75 6c 74 73 22 0a 20 20 20 20 22 62 61 6e 6e 65 72 22 -number-of-results"....."banner"
896c0 0a 20 20 20 20 22 62 61 73 65 2d 3e 2d 64 6f 6d 73 2f 63 22 0a 20 20 20 20 22 62 61 73 65 2d 3e ....."base->-doms/c"....."base->
896e0 2d 72 6e 67 73 2f 63 22 0a 20 20 20 20 22 62 61 73 65 2d 3e 3f 22 0a 20 20 20 20 22 62 65 74 77 -rngs/c"....."base->?"....."betw
89700 65 65 6e 2f 63 22 0a 20 20 20 20 22 62 69 74 77 69 73 65 2d 61 6e 64 22 0a 20 20 20 20 22 62 69 een/c"....."bitwise-and"....."bi
89720 74 77 69 73 65 2d 62 69 74 2d 66 69 65 6c 64 22 0a 20 20 20 20 22 62 69 74 77 69 73 65 2d 62 69 twise-bit-field"....."bitwise-bi
89740 74 2d 73 65 74 3f 22 0a 20 20 20 20 22 62 69 74 77 69 73 65 2d 69 6f 72 22 0a 20 20 20 20 22 62 t-set?"....."bitwise-ior"....."b
89760 69 74 77 69 73 65 2d 6e 6f 74 22 0a 20 20 20 20 22 62 69 74 77 69 73 65 2d 78 6f 72 22 0a 20 20 itwise-not"....."bitwise-xor"...
89780 20 20 22 62 6c 61 6d 65 2d 61 64 64 2d 63 61 72 2d 63 6f 6e 74 65 78 74 22 0a 20 20 20 20 22 62 .."blame-add-car-context"....."b
897a0 6c 61 6d 65 2d 61 64 64 2d 63 64 72 2d 63 6f 6e 74 65 78 74 22 0a 20 20 20 20 22 62 6c 61 6d 65 lame-add-cdr-context"....."blame
897c0 2d 61 64 64 2d 63 6f 6e 74 65 78 74 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 61 64 64 2d 6d 69 73 -add-context"....."blame-add-mis
897e0 73 69 6e 67 2d 70 61 72 74 79 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 61 64 64 2d 6e 74 68 2d 61 sing-party"....."blame-add-nth-a
89800 72 67 2d 63 6f 6e 74 65 78 74 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 61 64 64 2d 72 61 6e 67 65 rg-context"....."blame-add-range
89820 2d 63 6f 6e 74 65 78 74 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 61 64 64 2d 75 6e 6b 6e 6f 77 6e -context"....."blame-add-unknown
89840 2d 63 6f 6e 74 65 78 74 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 63 6f 6e 74 65 78 74 22 0a 20 20 -context"....."blame-context"...
89860 20 20 22 62 6c 61 6d 65 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 66 6d .."blame-contract"....."blame-fm
89880 74 2d 3e 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 6d 69 73 73 69 6e 67 2d 70 t->-string"....."blame-missing-p
898a0 61 72 74 79 3f 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 6e 65 67 61 74 69 76 65 22 0a 20 20 20 20 arty?"....."blame-negative".....
898c0 22 62 6c 61 6d 65 2d 6f 72 69 67 69 6e 61 6c 3f 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 70 6f 73 "blame-original?"....."blame-pos
898e0 69 74 69 76 65 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 72 65 70 6c 61 63 65 2d 6e 65 67 61 74 69 itive"....."blame-replace-negati
89900 76 65 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 72 65 70 6c 61 63 65 64 2d 6e 65 67 61 74 69 76 65 ve"....."blame-replaced-negative
89920 3f 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 73 6f 75 72 63 65 22 0a 20 20 20 20 22 62 6c 61 6d 65 ?"....."blame-source"....."blame
89940 2d 73 77 61 70 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 73 77 61 70 70 65 64 3f 22 0a 20 20 20 20 -swap"....."blame-swapped?".....
89960 22 62 6c 61 6d 65 2d 75 70 64 61 74 65 22 0a 20 20 20 20 22 62 6c 61 6d 65 2d 76 61 6c 75 65 22 "blame-update"....."blame-value"
89980 0a 20 20 20 20 22 62 6c 61 6d 65 3f 22 0a 20 20 20 20 22 62 6c 6f 63 6b 2d 64 65 76 69 63 65 2d ....."blame?"....."block-device-
899a0 74 79 70 65 2d 62 69 74 73 22 0a 20 20 20 20 22 62 6f 6f 6c 65 61 6e 3d 3f 22 0a 20 20 20 20 22 type-bits"....."boolean=?"....."
899c0 62 6f 6f 6c 65 61 6e 3f 22 0a 20 20 20 20 22 62 6f 75 6e 64 2d 69 64 65 6e 74 69 66 69 65 72 3d boolean?"....."bound-identifier=
899e0 3f 22 0a 20 20 20 20 22 62 6f 78 22 0a 20 20 20 20 22 62 6f 78 2d 63 61 73 21 22 0a 20 20 20 20 ?"....."box"....."box-cas!".....
89a00 22 62 6f 78 2d 69 6d 6d 75 74 61 62 6c 65 22 0a 20 20 20 20 22 62 6f 78 2d 69 6d 6d 75 74 61 62 "box-immutable"....."box-immutab
89a20 6c 65 2f 63 22 0a 20 20 20 20 22 62 6f 78 2f 63 22 0a 20 20 20 20 22 62 6f 78 3f 22 0a 20 20 20 le/c"....."box/c"....."box?"....
89a40 20 22 62 72 65 61 6b 2d 65 6e 61 62 6c 65 64 22 0a 20 20 20 20 22 62 72 65 61 6b 2d 70 61 72 61 ."break-enabled"....."break-para
89a60 6d 65 74 65 72 69 7a 61 74 69 6f 6e 3f 22 0a 20 20 20 20 22 62 72 65 61 6b 2d 74 68 72 65 61 64 meterization?"....."break-thread
89a80 22 0a 20 20 20 20 22 62 75 69 6c 64 2d 63 68 61 70 65 72 6f 6e 65 2d 63 6f 6e 74 72 61 63 74 2d "....."build-chaperone-contract-
89aa0 70 72 6f 70 65 72 74 79 22 0a 20 20 20 20 22 62 75 69 6c 64 2d 63 6f 6d 70 6f 75 6e 64 2d 74 79 property"....."build-compound-ty
89ac0 70 65 2d 6e 61 6d 65 22 0a 20 20 20 20 22 62 75 69 6c 64 2d 63 6f 6e 74 72 61 63 74 2d 70 72 6f pe-name"....."build-contract-pro
89ae0 70 65 72 74 79 22 0a 20 20 20 20 22 62 75 69 6c 64 2d 66 6c 61 74 2d 63 6f 6e 74 72 61 63 74 2d perty"....."build-flat-contract-
89b00 70 72 6f 70 65 72 74 79 22 0a 20 20 20 20 22 62 75 69 6c 64 2d 6c 69 73 74 22 0a 20 20 20 20 22 property"....."build-list"....."
89b20 62 75 69 6c 64 2d 70 61 74 68 22 0a 20 20 20 20 22 62 75 69 6c 64 2d 70 61 74 68 2f 63 6f 6e 76 build-path"....."build-path/conv
89b40 65 6e 74 69 6f 6e 2d 74 79 70 65 22 0a 20 20 20 20 22 62 75 69 6c 64 2d 73 74 72 69 6e 67 22 0a ention-type"....."build-string".
89b60 20 20 20 20 22 62 75 69 6c 64 2d 76 65 63 74 6f 72 22 0a 20 20 20 20 22 62 79 74 65 2d 70 72 65 ...."build-vector"....."byte-pre
89b80 67 65 78 70 22 0a 20 20 20 20 22 62 79 74 65 2d 70 72 65 67 65 78 70 3f 22 0a 20 20 20 20 22 62 gexp"....."byte-pregexp?"....."b
89ba0 79 74 65 2d 72 65 61 64 79 3f 22 0a 20 20 20 20 22 62 79 74 65 2d 72 65 67 65 78 70 22 0a 20 20 yte-ready?"....."byte-regexp"...
89bc0 20 20 22 62 79 74 65 2d 72 65 67 65 78 70 3f 22 0a 20 20 20 20 22 62 79 74 65 3f 22 0a 20 20 20 .."byte-regexp?"....."byte?"....
89be0 20 22 62 79 74 65 73 22 0a 20 20 20 20 22 62 79 74 65 73 2d 3e 69 6d 6d 75 74 61 62 6c 65 2d 62 ."bytes"....."bytes->immutable-b
89c00 79 74 65 73 22 0a 20 20 20 20 22 62 79 74 65 73 2d 3e 6c 69 73 74 22 0a 20 20 20 20 22 62 79 74 ytes"....."bytes->list"....."byt
89c20 65 73 2d 3e 70 61 74 68 22 0a 20 20 20 20 22 62 79 74 65 73 2d 3e 70 61 74 68 2d 65 6c 65 6d 65 es->path"....."bytes->path-eleme
89c40 6e 74 22 0a 20 20 20 20 22 62 79 74 65 73 2d 3e 73 74 72 69 6e 67 2f 6c 61 74 69 6e 2d 31 22 0a nt"....."bytes->string/latin-1".
89c60 20 20 20 20 22 62 79 74 65 73 2d 3e 73 74 72 69 6e 67 2f 6c 6f 63 61 6c 65 22 0a 20 20 20 20 22 ...."bytes->string/locale"....."
89c80 62 79 74 65 73 2d 3e 73 74 72 69 6e 67 2f 75 74 66 2d 38 22 0a 20 20 20 20 22 62 79 74 65 73 2d bytes->string/utf-8"....."bytes-
89ca0 61 70 70 65 6e 64 22 0a 20 20 20 20 22 62 79 74 65 73 2d 61 70 70 65 6e 64 2a 22 0a 20 20 20 20 append"....."bytes-append*".....
89cc0 22 62 79 74 65 73 2d 63 6c 6f 73 65 2d 63 6f 6e 76 65 72 74 65 72 22 0a 20 20 20 20 22 62 79 74 "bytes-close-converter"....."byt
89ce0 65 73 2d 63 6f 6e 76 65 72 74 22 0a 20 20 20 20 22 62 79 74 65 73 2d 63 6f 6e 76 65 72 74 2d 65 es-convert"....."bytes-convert-e
89d00 6e 64 22 0a 20 20 20 20 22 62 79 74 65 73 2d 63 6f 6e 76 65 72 74 65 72 3f 22 0a 20 20 20 20 22 nd"....."bytes-converter?"....."
89d20 62 79 74 65 73 2d 63 6f 70 79 22 0a 20 20 20 20 22 62 79 74 65 73 2d 63 6f 70 79 21 22 0a 20 20 bytes-copy"....."bytes-copy!"...
89d40 20 20 22 62 79 74 65 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 2d 6e 61 .."bytes-environment-variable-na
89d60 6d 65 3f 22 0a 20 20 20 20 22 62 79 74 65 73 2d 66 69 6c 6c 21 22 0a 20 20 20 20 22 62 79 74 65 me?"....."bytes-fill!"....."byte
89d80 73 2d 6a 6f 69 6e 22 0a 20 20 20 20 22 62 79 74 65 73 2d 6c 65 6e 67 74 68 22 0a 20 20 20 20 22 s-join"....."bytes-length"....."
89da0 62 79 74 65 73 2d 6e 6f 2d 6e 75 6c 73 3f 22 0a 20 20 20 20 22 62 79 74 65 73 2d 6f 70 65 6e 2d bytes-no-nuls?"....."bytes-open-
89dc0 63 6f 6e 76 65 72 74 65 72 22 0a 20 20 20 20 22 62 79 74 65 73 2d 72 65 66 22 0a 20 20 20 20 22 converter"....."bytes-ref"....."
89de0 62 79 74 65 73 2d 73 65 74 21 22 0a 20 20 20 20 22 62 79 74 65 73 2d 75 74 66 2d 38 2d 69 6e 64 bytes-set!"....."bytes-utf-8-ind
89e00 65 78 22 0a 20 20 20 20 22 62 79 74 65 73 2d 75 74 66 2d 38 2d 6c 65 6e 67 74 68 22 0a 20 20 20 ex"....."bytes-utf-8-length"....
89e20 20 22 62 79 74 65 73 2d 75 74 66 2d 38 2d 72 65 66 22 0a 20 20 20 20 22 62 79 74 65 73 3c 3f 22 ."bytes-utf-8-ref"....."bytes<?"
89e40 0a 20 20 20 20 22 62 79 74 65 73 3d 3f 22 0a 20 20 20 20 22 62 79 74 65 73 3e 3f 22 0a 20 20 20 ....."bytes=?"....."bytes>?"....
89e60 20 22 62 79 74 65 73 3f 22 0a 20 20 20 20 22 63 61 61 61 61 72 22 0a 20 20 20 20 22 63 61 61 61 ."bytes?"....."caaaar"....."caaa
89e80 64 72 22 0a 20 20 20 20 22 63 61 61 61 72 22 0a 20 20 20 20 22 63 61 61 64 61 72 22 0a 20 20 20 dr"....."caaar"....."caadar"....
89ea0 20 22 63 61 61 64 64 72 22 0a 20 20 20 20 22 63 61 61 64 72 22 0a 20 20 20 20 22 63 61 61 72 22 ."caaddr"....."caadr"....."caar"
89ec0 0a 20 20 20 20 22 63 61 64 61 61 72 22 0a 20 20 20 20 22 63 61 64 61 64 72 22 0a 20 20 20 20 22 ....."cadaar"....."cadadr"....."
89ee0 63 61 64 61 72 22 0a 20 20 20 20 22 63 61 64 64 61 72 22 0a 20 20 20 20 22 63 61 64 64 64 72 22 cadar"....."caddar"....."cadddr"
89f00 0a 20 20 20 20 22 63 61 64 64 72 22 0a 20 20 20 20 22 63 61 64 72 22 0a 20 20 20 20 22 63 61 6c ....."caddr"....."cadr"....."cal
89f20 6c 2d 69 6e 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 22 0a 20 20 20 20 22 63 61 6c 6c 2d 69 6e 2d l-in-continuation"....."call-in-
89f40 6e 65 73 74 65 64 2d 74 68 72 65 61 64 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 61 74 nested-thread"....."call-with-at
89f60 6f 6d 69 63 2d 6f 75 74 70 75 74 2d 66 69 6c 65 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 omic-output-file"....."call-with
89f80 2d 62 72 65 61 6b 2d 70 61 72 61 6d 65 74 65 72 69 7a 61 74 69 6f 6e 22 0a 20 20 20 20 22 63 61 -break-parameterization"....."ca
89fa0 6c 6c 2d 77 69 74 68 2d 63 6f 6d 70 6f 73 61 62 6c 65 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 22 ll-with-composable-continuation"
89fc0 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 62 61 72 ....."call-with-continuation-bar
89fe0 72 69 65 72 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 63 6f 6e 74 69 6e 75 61 74 69 6f rier"....."call-with-continuatio
8a000 6e 2d 70 72 6f 6d 70 74 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 63 75 72 72 65 6e 74 n-prompt"....."call-with-current
8a020 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 64 65 -continuation"....."call-with-de
8a040 66 61 75 6c 74 2d 72 65 61 64 69 6e 67 2d 70 61 72 61 6d 65 74 65 72 69 7a 61 74 69 6f 6e 22 0a fault-reading-parameterization".
8a060 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 65 73 63 61 70 65 2d 63 6f 6e 74 69 6e 75 61 74 69 ...."call-with-escape-continuati
8a080 6f 6e 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 65 78 63 65 70 74 69 6f 6e 2d 68 61 6e on"....."call-with-exception-han
8a0a0 64 6c 65 72 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 66 69 6c 65 2d 6c 6f 63 6b 2f 74 dler"....."call-with-file-lock/t
8a0c0 69 6d 65 6f 75 74 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 69 6d 6d 65 64 69 61 74 65 imeout"....."call-with-immediate
8a0e0 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 -continuation-mark"....."call-wi
8a100 74 68 2d 69 6e 70 75 74 2d 62 79 74 65 73 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 69 th-input-bytes"....."call-with-i
8a120 6e 70 75 74 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 6f 75 74 70 nput-string"....."call-with-outp
8a140 75 74 2d 62 79 74 65 73 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 6f 75 74 70 75 74 2d ut-bytes"....."call-with-output-
8a160 73 74 72 69 6e 67 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 70 61 72 61 6d 65 74 65 72 string"....."call-with-parameter
8a180 69 7a 61 74 69 6f 6e 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 ization"....."call-with-semaphor
8a1a0 65 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 73 65 6d 61 70 68 6f 72 65 2f 65 6e 61 62 e"....."call-with-semaphore/enab
8a1c0 6c 65 2d 62 72 65 61 6b 22 0a 20 20 20 20 22 63 61 6c 6c 2d 77 69 74 68 2d 76 61 6c 75 65 73 22 le-break"....."call-with-values"
8a1e0 0a 20 20 20 20 22 63 61 6c 6c 2f 63 63 22 0a 20 20 20 20 22 63 61 6c 6c 2f 65 63 22 0a 20 20 20 ....."call/cc"....."call/ec"....
8a200 20 22 63 61 72 22 0a 20 20 20 20 22 63 61 72 74 65 73 69 61 6e 2d 70 72 6f 64 75 63 74 22 0a 20 ."car"....."cartesian-product"..
8a220 20 20 20 22 63 61 73 65 2d 3e 22 0a 20 20 20 20 22 63 61 73 65 2d 3e 6d 22 0a 20 20 20 20 22 63 ..."case->"....."case->m"....."c
8a240 61 73 65 2d 6c 61 6d 62 64 61 3a 22 0a 20 20 20 20 22 63 61 73 65 e2 86 92 22 0a 20 20 20 20 22 ase-lambda:"....."case..."....."
8a260 63 61 73 74 22 0a 20 20 20 20 22 63 64 61 61 61 72 22 0a 20 20 20 20 22 63 64 61 61 64 72 22 0a cast"....."cdaaar"....."cdaadr".
8a280 20 20 20 20 22 63 64 61 61 72 22 0a 20 20 20 20 22 63 64 61 64 61 72 22 0a 20 20 20 20 22 63 64 ...."cdaar"....."cdadar"....."cd
8a2a0 61 64 64 72 22 0a 20 20 20 20 22 63 64 61 64 72 22 0a 20 20 20 20 22 63 64 61 72 22 0a 20 20 20 addr"....."cdadr"....."cdar"....
8a2c0 20 22 63 64 64 61 61 72 22 0a 20 20 20 20 22 63 64 64 61 64 72 22 0a 20 20 20 20 22 63 64 64 61 ."cddaar"....."cddadr"....."cdda
8a2e0 72 22 0a 20 20 20 20 22 63 64 64 64 61 72 22 0a 20 20 20 20 22 63 64 64 64 64 72 22 0a 20 20 20 r"....."cdddar"....."cddddr"....
8a300 20 22 63 64 64 64 72 22 0a 20 20 20 20 22 63 64 64 72 22 0a 20 20 20 20 22 63 64 72 22 0a 20 20 ."cdddr"....."cddr"....."cdr"...
8a320 20 20 22 63 65 69 6c 69 6e 67 22 0a 20 20 20 20 22 63 68 61 6e 6e 65 6c 2d 67 65 74 22 0a 20 20 .."ceiling"....."channel-get"...
8a340 20 20 22 63 68 61 6e 6e 65 6c 2d 70 75 74 22 0a 20 20 20 20 22 63 68 61 6e 6e 65 6c 2d 70 75 74 .."channel-put"....."channel-put
8a360 2d 65 76 74 22 0a 20 20 20 20 22 63 68 61 6e 6e 65 6c 2d 70 75 74 2d 65 76 74 3f 22 0a 20 20 20 -evt"....."channel-put-evt?"....
8a380 20 22 63 68 61 6e 6e 65 6c 2d 74 72 79 2d 67 65 74 22 0a 20 20 20 20 22 63 68 61 6e 6e 65 6c 2f ."channel-try-get"....."channel/
8a3a0 63 22 0a 20 20 20 20 22 63 68 61 6e 6e 65 6c 3f 22 0a 20 20 20 20 22 63 68 61 70 65 72 6f 6e 65 c"....."channel?"....."chaperone
8a3c0 2d 62 6f 78 22 0a 20 20 20 20 22 63 68 61 70 65 72 6f 6e 65 2d 63 68 61 6e 6e 65 6c 22 0a 20 20 -box"....."chaperone-channel"...
8a3e0 20 20 22 63 68 61 70 65 72 6f 6e 65 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 6b .."chaperone-continuation-mark-k
8a400 65 79 22 0a 20 20 20 20 22 63 68 61 70 65 72 6f 6e 65 2d 63 6f 6e 74 72 61 63 74 2d 70 72 6f 70 ey"....."chaperone-contract-prop
8a420 65 72 74 79 3f 22 0a 20 20 20 20 22 63 68 61 70 65 72 6f 6e 65 2d 63 6f 6e 74 72 61 63 74 3f 22 erty?"....."chaperone-contract?"
8a440 0a 20 20 20 20 22 63 68 61 70 65 72 6f 6e 65 2d 65 76 74 22 0a 20 20 20 20 22 63 68 61 70 65 72 ....."chaperone-evt"....."chaper
8a460 6f 6e 65 2d 68 61 73 68 22 0a 20 20 20 20 22 63 68 61 70 65 72 6f 6e 65 2d 68 61 73 68 2d 73 65 one-hash"....."chaperone-hash-se
8a480 74 22 0a 20 20 20 20 22 63 68 61 70 65 72 6f 6e 65 2d 6f 66 3f 22 0a 20 20 20 20 22 63 68 61 70 t"....."chaperone-of?"....."chap
8a4a0 65 72 6f 6e 65 2d 70 72 6f 63 65 64 75 72 65 22 0a 20 20 20 20 22 63 68 61 70 65 72 6f 6e 65 2d erone-procedure"....."chaperone-
8a4c0 70 72 6f 63 65 64 75 72 65 2a 22 0a 20 20 20 20 22 63 68 61 70 65 72 6f 6e 65 2d 70 72 6f 6d 70 procedure*"....."chaperone-promp
8a4e0 74 2d 74 61 67 22 0a 20 20 20 20 22 63 68 61 70 65 72 6f 6e 65 2d 73 74 72 75 63 74 22 0a 20 20 t-tag"....."chaperone-struct"...
8a500 20 20 22 63 68 61 70 65 72 6f 6e 65 2d 73 74 72 75 63 74 2d 74 79 70 65 22 0a 20 20 20 20 22 63 .."chaperone-struct-type"....."c
8a520 68 61 70 65 72 6f 6e 65 2d 76 65 63 74 6f 72 22 0a 20 20 20 20 22 63 68 61 70 65 72 6f 6e 65 2d haperone-vector"....."chaperone-
8a540 76 65 63 74 6f 72 2a 22 0a 20 20 20 20 22 63 68 61 70 65 72 6f 6e 65 3f 22 0a 20 20 20 20 22 63 vector*"....."chaperone?"....."c
8a560 68 61 72 2d 3e 69 6e 74 65 67 65 72 22 0a 20 20 20 20 22 63 68 61 72 2d 61 6c 70 68 61 62 65 74 har->integer"....."char-alphabet
8a580 69 63 3f 22 0a 20 20 20 20 22 63 68 61 72 2d 62 6c 61 6e 6b 3f 22 0a 20 20 20 20 22 63 68 61 72 ic?"....."char-blank?"....."char
8a5a0 2d 63 69 3c 3d 3f 22 0a 20 20 20 20 22 63 68 61 72 2d 63 69 3c 3f 22 0a 20 20 20 20 22 63 68 61 -ci<=?"....."char-ci<?"....."cha
8a5c0 72 2d 63 69 3d 3f 22 0a 20 20 20 20 22 63 68 61 72 2d 63 69 3e 3d 3f 22 0a 20 20 20 20 22 63 68 r-ci=?"....."char-ci>=?"....."ch
8a5e0 61 72 2d 63 69 3e 3f 22 0a 20 20 20 20 22 63 68 61 72 2d 64 6f 77 6e 63 61 73 65 22 0a 20 20 20 ar-ci>?"....."char-downcase"....
8a600 20 22 63 68 61 72 2d 65 78 74 65 6e 64 65 64 2d 70 69 63 74 6f 67 72 61 70 68 69 63 3f 22 0a 20 ."char-extended-pictographic?"..
8a620 20 20 20 22 63 68 61 72 2d 66 6f 6c 64 63 61 73 65 22 0a 20 20 20 20 22 63 68 61 72 2d 67 65 6e ..."char-foldcase"....."char-gen
8a640 65 72 61 6c 2d 63 61 74 65 67 6f 72 79 22 0a 20 20 20 20 22 63 68 61 72 2d 67 72 61 70 68 65 6d eral-category"....."char-graphem
8a660 65 2d 62 72 65 61 6b 2d 70 72 6f 70 65 72 74 79 22 0a 20 20 20 20 22 63 68 61 72 2d 67 72 61 70 e-break-property"....."char-grap
8a680 68 65 6d 65 2d 73 74 65 70 22 0a 20 20 20 20 22 63 68 61 72 2d 67 72 61 70 68 69 63 3f 22 0a 20 heme-step"....."char-graphic?"..
8a6a0 20 20 20 22 63 68 61 72 2d 69 6e 22 0a 20 20 20 20 22 63 68 61 72 2d 69 6e 2f 63 22 0a 20 20 20 ..."char-in"....."char-in/c"....
8a6c0 20 22 63 68 61 72 2d 69 73 6f 2d 63 6f 6e 74 72 6f 6c 3f 22 0a 20 20 20 20 22 63 68 61 72 2d 6c ."char-iso-control?"....."char-l
8a6e0 6f 77 65 72 2d 63 61 73 65 3f 22 0a 20 20 20 20 22 63 68 61 72 2d 6e 75 6d 65 72 69 63 3f 22 0a ower-case?"....."char-numeric?".
8a700 20 20 20 20 22 63 68 61 72 2d 70 75 6e 63 74 75 61 74 69 6f 6e 3f 22 0a 20 20 20 20 22 63 68 61 ...."char-punctuation?"....."cha
8a720 72 2d 72 65 61 64 79 3f 22 0a 20 20 20 20 22 63 68 61 72 2d 73 79 6d 62 6f 6c 69 63 3f 22 0a 20 r-ready?"....."char-symbolic?"..
8a740 20 20 20 22 63 68 61 72 2d 74 69 74 6c 65 2d 63 61 73 65 3f 22 0a 20 20 20 20 22 63 68 61 72 2d ..."char-title-case?"....."char-
8a760 74 69 74 6c 65 63 61 73 65 22 0a 20 20 20 20 22 63 68 61 72 2d 75 70 63 61 73 65 22 0a 20 20 20 titlecase"....."char-upcase"....
8a780 20 22 63 68 61 72 2d 75 70 70 65 72 2d 63 61 73 65 3f 22 0a 20 20 20 20 22 63 68 61 72 2d 75 74 ."char-upper-case?"....."char-ut
8a7a0 66 2d 38 2d 6c 65 6e 67 74 68 22 0a 20 20 20 20 22 63 68 61 72 2d 77 68 69 74 65 73 70 61 63 65 f-8-length"....."char-whitespace
8a7c0 3f 22 0a 20 20 20 20 22 63 68 61 72 3c 3d 3f 22 0a 20 20 20 20 22 63 68 61 72 3c 3f 22 0a 20 20 ?"....."char<=?"....."char<?"...
8a7e0 20 20 22 63 68 61 72 3d 3f 22 0a 20 20 20 20 22 63 68 61 72 3e 3d 3f 22 0a 20 20 20 20 22 63 68 .."char=?"....."char>=?"....."ch
8a800 61 72 3e 3f 22 0a 20 20 20 20 22 63 68 61 72 3f 22 0a 20 20 20 20 22 63 68 61 72 61 63 74 65 72 ar>?"....."char?"....."character
8a820 2d 64 65 76 69 63 65 2d 74 79 70 65 2d 62 69 74 73 22 0a 20 20 20 20 22 63 68 65 63 6b 2d 64 75 -device-type-bits"....."check-du
8a840 70 6c 69 63 61 74 65 2d 69 64 65 6e 74 69 66 69 65 72 22 0a 20 20 20 20 22 63 68 65 63 6b 2d 64 plicate-identifier"....."check-d
8a860 75 70 6c 69 63 61 74 65 73 22 0a 20 20 20 20 22 63 68 65 63 6b 2d 74 61 69 6c 2d 63 6f 6e 74 72 uplicates"....."check-tail-contr
8a880 61 63 74 22 0a 20 20 20 20 22 63 68 65 63 6b 65 64 2d 70 72 6f 63 65 64 75 72 65 2d 63 68 65 63 act"....."checked-procedure-chec
8a8a0 6b 2d 61 6e 64 2d 65 78 74 72 61 63 74 22 0a 20 20 20 20 22 63 68 6f 69 63 65 2d 65 76 74 22 0a k-and-extract"....."choice-evt".
8a8c0 20 20 20 20 22 63 6c 61 73 73 22 0a 20 20 20 20 22 63 6c 61 73 73 2a 22 0a 20 20 20 20 22 63 6c ...."class"....."class*"....."cl
8a8e0 61 73 73 2d 3e 69 6e 74 65 72 66 61 63 65 22 0a 20 20 20 20 22 63 6c 61 73 73 2d 66 69 65 6c 64 ass->interface"....."class-field
8a900 2d 61 63 63 65 73 73 6f 72 22 0a 20 20 20 20 22 63 6c 61 73 73 2d 66 69 65 6c 64 2d 6d 75 74 61 -accessor"....."class-field-muta
8a920 74 6f 72 22 0a 20 20 20 20 22 63 6c 61 73 73 2d 69 6e 66 6f 22 0a 20 20 20 20 22 63 6c 61 73 73 tor"....."class-info"....."class
8a940 2d 73 65 61 6c 22 0a 20 20 20 20 22 63 6c 61 73 73 2d 75 6e 73 65 61 6c 22 0a 20 20 20 20 22 63 -seal"....."class-unseal"....."c
8a960 6c 61 73 73 2f 63 22 0a 20 20 20 20 22 63 6c 61 73 73 2f 64 65 72 69 76 65 64 22 0a 20 20 20 20 lass/c"....."class/derived".....
8a980 22 63 6c 61 73 73 3f 22 0a 20 20 20 20 22 63 6c 65 61 6e 73 65 2d 70 61 74 68 22 0a 20 20 20 20 "class?"....."cleanse-path".....
8a9a0 22 63 6c 6f 73 65 2d 69 6e 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 63 6c 6f 73 65 2d 6f 75 "close-input-port"....."close-ou
8a9c0 74 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 63 6f 65 72 63 65 2d 63 68 61 70 65 72 6f 6e 65 tput-port"....."coerce-chaperone
8a9e0 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 63 6f 65 72 63 65 2d 63 68 61 70 65 72 6f 6e 65 -contract"....."coerce-chaperone
8aa00 2d 63 6f 6e 74 72 61 63 74 73 22 0a 20 20 20 20 22 63 6f 65 72 63 65 2d 63 6f 6e 74 72 61 63 74 -contracts"....."coerce-contract
8aa20 22 0a 20 20 20 20 22 63 6f 65 72 63 65 2d 63 6f 6e 74 72 61 63 74 2f 66 22 0a 20 20 20 20 22 63 "....."coerce-contract/f"....."c
8aa40 6f 65 72 63 65 2d 63 6f 6e 74 72 61 63 74 73 22 0a 20 20 20 20 22 63 6f 65 72 63 65 2d 66 6c 61 oerce-contracts"....."coerce-fla
8aa60 74 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 63 6f 65 72 63 65 2d 66 6c 61 74 2d 63 6f 6e t-contract"....."coerce-flat-con
8aa80 74 72 61 63 74 73 22 0a 20 20 20 20 22 63 6f 6c 6c 65 63 74 2d 67 61 72 62 61 67 65 22 0a 20 20 tracts"....."collect-garbage"...
8aaa0 20 20 22 63 6f 6c 6c 65 63 74 69 6f 6e 2d 66 69 6c 65 2d 70 61 74 68 22 0a 20 20 20 20 22 63 6f .."collection-file-path"....."co
8aac0 6c 6c 65 63 74 69 6f 6e 2d 70 61 74 68 22 0a 20 20 20 20 22 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 llection-path"....."combinations
8aae0 22 0a 20 20 20 20 22 63 6f 6d 62 69 6e 65 2d 6f 75 74 70 75 74 22 0a 20 20 20 20 22 63 6f 6d 6d "....."combine-output"....."comm
8ab00 61 6e 64 2d 6c 69 6e 65 22 0a 20 20 20 20 22 63 6f 6d 70 69 6c 65 22 0a 20 20 20 20 22 63 6f 6d and-line"....."compile"....."com
8ab20 70 69 6c 65 2d 61 6c 6c 6f 77 2d 73 65 74 21 2d 75 6e 64 65 66 69 6e 65 64 22 0a 20 20 20 20 22 pile-allow-set!-undefined"....."
8ab40 63 6f 6d 70 69 6c 65 2d 63 6f 6e 74 65 78 74 2d 70 72 65 73 65 72 76 61 74 69 6f 6e 2d 65 6e 61 compile-context-preservation-ena
8ab60 62 6c 65 64 22 0a 20 20 20 20 22 63 6f 6d 70 69 6c 65 2d 65 6e 66 6f 72 63 65 2d 6d 6f 64 75 6c bled"....."compile-enforce-modul
8ab80 65 2d 63 6f 6e 73 74 61 6e 74 73 22 0a 20 20 20 20 22 63 6f 6d 70 69 6c 65 2d 73 79 6e 74 61 78 e-constants"....."compile-syntax
8aba0 22 0a 20 20 20 20 22 63 6f 6d 70 69 6c 65 2d 74 61 72 67 65 74 2d 6d 61 63 68 69 6e 65 3f 22 0a "....."compile-target-machine?".
8abc0 20 20 20 20 22 63 6f 6d 70 69 6c 65 64 2d 65 78 70 72 65 73 73 69 6f 6e 2d 72 65 63 6f 6d 70 69 ...."compiled-expression-recompi
8abe0 6c 65 22 0a 20 20 20 20 22 63 6f 6d 70 69 6c 65 64 2d 65 78 70 72 65 73 73 69 6f 6e 3f 22 0a 20 le"....."compiled-expression?"..
8ac00 20 20 20 22 63 6f 6d 70 69 6c 65 64 2d 6d 6f 64 75 6c 65 2d 65 78 70 72 65 73 73 69 6f 6e 3f 22 ..."compiled-module-expression?"
8ac20 0a 20 20 20 20 22 63 6f 6d 70 6c 65 74 65 2d 70 61 74 68 3f 22 0a 20 20 20 20 22 63 6f 6d 70 6c ....."complete-path?"....."compl
8ac40 65 78 3f 22 0a 20 20 20 20 22 63 6f 6d 70 6f 73 65 22 0a 20 20 20 20 22 63 6f 6d 70 6f 73 65 31 ex?"....."compose"....."compose1
8ac60 22 0a 20 20 20 20 22 63 6f 6d 70 6f 75 6e 64 2d 75 6e 69 74 22 0a 20 20 20 20 22 63 6f 6d 70 6f "....."compound-unit"....."compo
8ac80 75 6e 64 2d 75 6e 69 74 2f 69 6e 66 65 72 22 0a 20 20 20 20 22 63 6f 6e 6a 6f 69 6e 22 0a 20 20 und-unit/infer"....."conjoin"...
8aca0 20 20 22 63 6f 6e 6a 75 67 61 74 65 22 0a 20 20 20 20 22 63 6f 6e 73 22 0a 20 20 20 20 22 63 6f .."conjugate"....."cons"....."co
8acc0 6e 73 2f 63 22 0a 20 20 20 20 22 63 6f 6e 73 2f 64 63 22 0a 20 20 20 20 22 63 6f 6e 73 3f 22 0a ns/c"....."cons/dc"....."cons?".
8ace0 20 20 20 20 22 63 6f 6e 73 74 22 0a 20 20 20 20 22 63 6f 6e 73 74 2a 22 0a 20 20 20 20 22 63 6f ...."const"....."const*"....."co
8ad00 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 6b 65 79 2f 63 22 0a 20 20 20 20 22 63 6f 6e 74 ntinuation-mark-key/c"....."cont
8ad20 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 6b 65 79 3f 22 0a 20 20 20 20 22 63 6f 6e 74 69 6e 75 inuation-mark-key?"....."continu
8ad40 61 74 69 6f 6e 2d 6d 61 72 6b 2d 73 65 74 2d 3e 63 6f 6e 74 65 78 74 22 0a 20 20 20 20 22 63 6f ation-mark-set->context"....."co
8ad60 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 73 65 74 2d 3e 69 74 65 72 61 74 6f 72 22 0a 20 ntinuation-mark-set->iterator"..
8ad80 20 20 20 22 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 73 65 74 2d 3e 6c 69 73 74 22 ..."continuation-mark-set->list"
8ada0 0a 20 20 20 20 22 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 73 65 74 2d 3e 6c 69 73 ....."continuation-mark-set->lis
8adc0 74 2a 22 0a 20 20 20 20 22 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 73 65 74 2d 66 t*"....."continuation-mark-set-f
8ade0 69 72 73 74 22 0a 20 20 20 20 22 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 2d 73 65 74 irst"....."continuation-mark-set
8ae00 3f 22 0a 20 20 20 20 22 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 73 22 0a 20 20 20 20 ?"....."continuation-marks".....
8ae20 22 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 70 72 6f 6d 70 74 2d 61 76 61 69 6c 61 62 6c 65 3f 22 "continuation-prompt-available?"
8ae40 0a 20 20 20 20 22 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 70 72 6f 6d 70 74 2d 74 61 67 3f 22 0a ....."continuation-prompt-tag?".
8ae60 20 20 20 20 22 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 3f 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 ...."continuation?"....."contrac
8ae80 74 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 t"....."contract-continuation-ma
8aea0 72 6b 2d 6b 65 79 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 63 75 73 74 6f 6d 2d 77 72 69 rk-key"....."contract-custom-wri
8aec0 74 65 2d 70 72 6f 70 65 72 74 79 2d 70 72 6f 63 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d te-property-proc"....."contract-
8aee0 65 71 75 69 76 61 6c 65 6e 74 3f 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 65 78 65 72 63 equivalent?"....."contract-exerc
8af00 69 73 65 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 66 69 72 73 74 2d 6f 72 64 65 72 22 0a ise"....."contract-first-order".
8af20 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 66 69 72 73 74 2d 6f 72 64 65 72 2d 70 61 73 73 65 73 ...."contract-first-order-passes
8af40 3f 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 6c 61 74 65 2d 6e 65 67 2d 70 72 6f 6a 65 63 ?"....."contract-late-neg-projec
8af60 74 69 6f 6e 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 6e 61 6d 65 22 0a 20 20 20 20 22 63 tion"....."contract-name"....."c
8af80 6f 6e 74 72 61 63 74 2d 6f 75 74 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 70 6f 73 2f 6e ontract-out"....."contract-pos/n
8afa0 65 67 2d 64 6f 75 62 6c 69 6e 67 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 70 72 6f 63 22 eg-doubling"....."contract-proc"
8afc0 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 70 72 6f 6a 65 63 74 69 6f 6e 22 0a 20 20 20 20 22 ....."contract-projection"....."
8afe0 63 6f 6e 74 72 61 63 74 2d 70 72 6f 70 65 72 74 79 3f 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 contract-property?"....."contrac
8b000 74 2d 72 61 6e 64 6f 6d 2d 67 65 6e 65 72 61 74 65 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 t-random-generate"....."contract
8b020 2d 72 61 6e 64 6f 6d 2d 67 65 6e 65 72 61 74 65 2d 65 6e 76 3f 22 0a 20 20 20 20 22 63 6f 6e 74 -random-generate-env?"....."cont
8b040 72 61 63 74 2d 72 61 6e 64 6f 6d 2d 67 65 6e 65 72 61 74 65 2d 66 61 69 6c 22 0a 20 20 20 20 22 ract-random-generate-fail"....."
8b060 63 6f 6e 74 72 61 63 74 2d 72 61 6e 64 6f 6d 2d 67 65 6e 65 72 61 74 65 2d 66 61 69 6c 3f 22 0a contract-random-generate-fail?".
8b080 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 72 61 6e 64 6f 6d 2d 67 65 6e 65 72 61 74 65 2d 67 65 ...."contract-random-generate-ge
8b0a0 74 2d 63 75 72 72 65 6e 74 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 22 0a 20 20 20 20 22 63 6f 6e 74 t-current-environment"....."cont
8b0c0 72 61 63 74 2d 72 61 6e 64 6f 6d 2d 67 65 6e 65 72 61 74 65 2d 73 74 61 73 68 22 0a 20 20 20 20 ract-random-generate-stash".....
8b0e0 22 63 6f 6e 74 72 61 63 74 2d 72 61 6e 64 6f 6d 2d 67 65 6e 65 72 61 74 65 2f 63 68 6f 6f 73 65 "contract-random-generate/choose
8b100 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 73 74 72 6f 6e 67 65 72 3f 22 0a 20 20 20 20 22 "....."contract-stronger?"....."
8b120 63 6f 6e 74 72 61 63 74 2d 73 74 72 75 63 74 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 73 contract-struct"....."contract-s
8b140 74 72 75 63 74 2d 65 78 65 72 63 69 73 65 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 73 74 truct-exercise"....."contract-st
8b160 72 75 63 74 2d 67 65 6e 65 72 61 74 65 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 2d 73 74 72 ruct-generate"....."contract-str
8b180 75 63 74 2d 6c 61 74 65 2d 6e 65 67 2d 70 72 6f 6a 65 63 74 69 6f 6e 22 0a 20 20 20 20 22 63 6f uct-late-neg-projection"....."co
8b1a0 6e 74 72 61 63 74 2d 73 74 72 75 63 74 2d 6c 69 73 74 2d 63 6f 6e 74 72 61 63 74 3f 22 0a 20 20 ntract-struct-list-contract?"...
8b1c0 20 20 22 63 6f 6e 74 72 61 63 74 2d 76 61 6c 2d 66 69 72 73 74 2d 70 72 6f 6a 65 63 74 69 6f 6e .."contract-val-first-projection
8b1e0 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 3f 22 0a 20 20 20 20 22 63 6f 6e 74 72 61 63 74 65 "....."contract?"....."contracte
8b200 64 22 0a 20 20 20 20 22 63 6f 6e 76 65 72 74 2d 73 74 72 65 61 6d 22 0a 20 20 20 20 22 63 6f 70 d"....."convert-stream"....."cop
8b220 79 2d 64 69 72 65 63 74 6f 72 79 2f 66 69 6c 65 73 22 0a 20 20 20 20 22 63 6f 70 79 2d 66 69 6c y-directory/files"....."copy-fil
8b240 65 22 0a 20 20 20 20 22 63 6f 70 79 2d 70 6f 72 74 22 0a 20 20 20 20 22 63 6f 73 22 0a 20 20 20 e"....."copy-port"....."cos"....
8b260 20 22 63 6f 73 68 22 0a 20 20 20 20 22 63 6f 75 6e 74 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 ."cosh"....."count"....."current
8b280 2d 62 6c 61 6d 65 2d 66 6f 72 6d 61 74 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 62 72 65 61 -blame-format"....."current-brea
8b2a0 6b 2d 70 61 72 61 6d 65 74 65 72 69 7a 61 74 69 6f 6e 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 k-parameterization"....."current
8b2c0 2d 63 6f 64 65 2d 69 6e 73 70 65 63 74 6f 72 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 63 6f -code-inspector"....."current-co
8b2e0 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 22 0a 20 20 20 20 22 63 75 72 72 65 mmand-line-arguments"....."curre
8b300 6e 74 2d 63 6f 6d 70 69 6c 65 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 63 6f 6d 70 69 6c 65 nt-compile"....."current-compile
8b320 2d 72 65 61 6c 6d 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 63 6f 6d 70 69 6c 65 2d 74 61 72 -realm"....."current-compile-tar
8b340 67 65 74 2d 6d 61 63 68 69 6e 65 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 63 6f 6d 70 69 6c get-machine"....."current-compil
8b360 65 64 2d 66 69 6c 65 2d 72 6f 6f 74 73 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 63 6f 6e 74 ed-file-roots"....."current-cont
8b380 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 73 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 63 6f 6e inuation-marks"....."current-con
8b3a0 74 72 61 63 74 2d 72 65 67 69 6f 6e 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 63 75 73 74 6f tract-region"....."current-custo
8b3c0 64 69 61 6e 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 22 0a 20 20 dian"....."current-directory"...
8b3e0 20 20 22 63 75 72 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 2d 66 6f 72 2d 75 73 65 72 22 0a 20 .."current-directory-for-user"..
8b400 20 20 20 22 63 75 72 72 65 6e 74 2d 64 72 69 76 65 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d ..."current-drive"....."current-
8b420 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 73 22 0a 20 20 20 20 22 63 75 72 72 environment-variables"....."curr
8b440 65 6e 74 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 2d 61 64 6a 75 73 74 65 72 22 0a 20 20 20 20 ent-error-message-adjuster".....
8b460 22 63 75 72 72 65 6e 74 2d 65 72 72 6f 72 2d 70 6f 72 74 22 0a 20 20 20 20 22 63 75 72 72 65 6e "current-error-port"....."curren
8b480 74 2d 65 76 61 6c 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 65 76 74 2d 70 73 65 75 64 6f 2d t-eval"....."current-evt-pseudo-
8b4a0 72 61 6e 64 6f 6d 2d 67 65 6e 65 72 61 74 6f 72 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 66 random-generator"....."current-f
8b4c0 6f 72 63 65 2d 64 65 6c 65 74 65 2d 70 65 72 6d 69 73 73 69 6f 6e 73 22 0a 20 20 20 20 22 63 75 orce-delete-permissions"....."cu
8b4e0 72 72 65 6e 74 2d 66 75 74 75 72 65 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 67 63 2d 6d 69 rrent-future"....."current-gc-mi
8b500 6c 6c 69 73 65 63 6f 6e 64 73 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 67 65 74 2d 69 6e 74 lliseconds"....."current-get-int
8b520 65 72 61 63 74 69 6f 6e 2d 65 76 74 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 67 65 74 2d 69 eraction-evt"....."current-get-i
8b540 6e 74 65 72 61 63 74 69 6f 6e 2d 69 6e 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 63 75 72 72 nteraction-input-port"....."curr
8b560 65 6e 74 2d 69 6e 65 78 61 63 74 2d 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 22 0a 20 20 20 20 22 63 ent-inexact-milliseconds"....."c
8b580 75 72 72 65 6e 74 2d 69 6e 65 78 61 63 74 2d 6d 6f 6e 6f 74 6f 6e 69 63 2d 6d 69 6c 6c 69 73 65 urrent-inexact-monotonic-millise
8b5a0 63 6f 6e 64 73 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 69 6e 70 75 74 2d 70 6f 72 74 22 0a conds"....."current-input-port".
8b5c0 20 20 20 20 22 63 75 72 72 65 6e 74 2d 69 6e 73 70 65 63 74 6f 72 22 0a 20 20 20 20 22 63 75 72 ...."current-inspector"....."cur
8b5e0 72 65 6e 74 2d 6c 69 62 72 61 72 79 2d 63 6f 6c 6c 65 63 74 69 6f 6e 2d 6c 69 6e 6b 73 22 0a 20 rent-library-collection-links"..
8b600 20 20 20 22 63 75 72 72 65 6e 74 2d 6c 69 62 72 61 72 79 2d 63 6f 6c 6c 65 63 74 69 6f 6e 2d 70 ..."current-library-collection-p
8b620 61 74 68 73 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 6c 6f 61 64 22 0a 20 20 20 20 22 63 75 aths"....."current-load"....."cu
8b640 72 72 65 6e 74 2d 6c 6f 61 64 2d 65 78 74 65 6e 73 69 6f 6e 22 0a 20 20 20 20 22 63 75 72 72 65 rrent-load-extension"....."curre
8b660 6e 74 2d 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 2d 64 69 72 65 63 74 6f 72 79 22 0a 20 20 20 20 nt-load-relative-directory".....
8b680 22 63 75 72 72 65 6e 74 2d 6c 6f 61 64 2f 75 73 65 2d 63 6f 6d 70 69 6c 65 64 22 0a 20 20 20 20 "current-load/use-compiled".....
8b6a0 22 63 75 72 72 65 6e 74 2d 6c 6f 63 61 6c 65 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 6c 6f "current-locale"....."current-lo
8b6c0 67 67 65 72 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 6d 65 6d 6f 72 79 2d 75 73 65 22 0a 20 gger"....."current-memory-use"..
8b6e0 20 20 20 22 63 75 72 72 65 6e 74 2d 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 22 0a 20 20 20 20 22 63 ..."current-milliseconds"....."c
8b700 75 72 72 65 6e 74 2d 6d 6f 64 75 6c 65 2d 64 65 63 6c 61 72 65 2d 6e 61 6d 65 22 0a 20 20 20 20 urrent-module-declare-name".....
8b720 22 63 75 72 72 65 6e 74 2d 6d 6f 64 75 6c 65 2d 64 65 63 6c 61 72 65 2d 73 6f 75 72 63 65 22 0a "current-module-declare-source".
8b740 20 20 20 20 22 63 75 72 72 65 6e 74 2d 6d 6f 64 75 6c 65 2d 6e 61 6d 65 2d 72 65 73 6f 6c 76 65 ...."current-module-name-resolve
8b760 72 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 66 6f 72 2d r"....."current-module-path-for-
8b780 6c 6f 61 64 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 6e 61 6d 65 73 70 61 63 65 22 0a 20 20 load"....."current-namespace"...
8b7a0 20 20 22 63 75 72 72 65 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 63 75 72 .."current-output-port"....."cur
8b7c0 72 65 6e 74 2d 70 61 72 61 6d 65 74 65 72 69 7a 61 74 69 6f 6e 22 0a 20 20 20 20 22 63 75 72 72 rent-parameterization"....."curr
8b7e0 65 6e 74 2d 70 6c 75 6d 62 65 72 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 70 72 65 73 65 72 ent-plumber"....."current-preser
8b800 76 65 64 2d 74 68 72 65 61 64 2d 63 65 6c 6c 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 22 63 75 72 ved-thread-cell-values"....."cur
8b820 72 65 6e 74 2d 70 72 69 6e 74 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 70 72 6f 63 65 73 73 rent-print"....."current-process
8b840 2d 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 70 72 6f 6d -milliseconds"....."current-prom
8b860 70 74 2d 72 65 61 64 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 70 73 65 75 64 6f 2d 72 61 6e pt-read"....."current-pseudo-ran
8b880 64 6f 6d 2d 67 65 6e 65 72 61 74 6f 72 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 72 65 61 64 dom-generator"....."current-read
8b8a0 2d 69 6e 74 65 72 61 63 74 69 6f 6e 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 72 65 61 64 65 -interaction"....."current-reade
8b8c0 72 2d 67 75 61 72 64 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 72 65 61 64 74 61 62 6c 65 22 r-guard"....."current-readtable"
8b8e0 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 72 65 63 6f 72 64 65 64 2d 64 69 73 61 70 70 65 61 72 ....."current-recorded-disappear
8b900 65 64 2d 75 73 65 73 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 73 65 63 6f 6e 64 73 22 0a 20 ed-uses"....."current-seconds"..
8b920 20 20 20 22 63 75 72 72 65 6e 74 2d 73 65 63 75 72 69 74 79 2d 67 75 61 72 64 22 0a 20 20 20 20 ..."current-security-guard".....
8b940 22 63 75 72 72 65 6e 74 2d 73 75 62 70 72 6f 63 65 73 73 2d 63 75 73 74 6f 64 69 61 6e 2d 6d 6f "current-subprocess-custodian-mo
8b960 64 65 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 73 75 62 70 72 6f 63 65 73 73 2d 6b 65 65 70 de"....."current-subprocess-keep
8b980 2d 66 69 6c 65 2d 64 65 73 63 72 69 70 74 6f 72 73 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d -file-descriptors"....."current-
8b9a0 73 79 6e 74 61 78 2d 63 6f 6e 74 65 78 74 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 74 68 72 syntax-context"....."current-thr
8b9c0 65 61 64 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 74 68 72 65 61 64 2d 67 72 6f 75 70 22 0a ead"....."current-thread-group".
8b9e0 20 20 20 20 22 63 75 72 72 65 6e 74 2d 74 68 72 65 61 64 2d 69 6e 69 74 69 61 6c 2d 73 74 61 63 ...."current-thread-initial-stac
8ba00 6b 2d 73 69 7a 65 22 0a 20 20 20 20 22 63 75 72 72 65 6e 74 2d 77 72 69 74 65 2d 72 65 6c 61 74 k-size"....."current-write-relat
8ba20 69 76 65 2d 64 69 72 65 63 74 6f 72 79 22 0a 20 20 20 20 22 63 75 72 72 79 22 0a 20 20 20 20 22 ive-directory"....."curry"....."
8ba40 63 75 72 72 79 72 22 0a 20 20 20 20 22 63 75 73 74 6f 64 69 61 6e 2d 62 6f 78 2d 76 61 6c 75 65 curryr"....."custodian-box-value
8ba60 22 0a 20 20 20 20 22 63 75 73 74 6f 64 69 61 6e 2d 62 6f 78 3f 22 0a 20 20 20 20 22 63 75 73 74 "....."custodian-box?"....."cust
8ba80 6f 64 69 61 6e 2d 6c 69 6d 69 74 2d 6d 65 6d 6f 72 79 22 0a 20 20 20 20 22 63 75 73 74 6f 64 69 odian-limit-memory"....."custodi
8baa0 61 6e 2d 6d 61 6e 61 67 65 64 2d 6c 69 73 74 22 0a 20 20 20 20 22 63 75 73 74 6f 64 69 61 6e 2d an-managed-list"....."custodian-
8bac0 6d 65 6d 6f 72 79 2d 61 63 63 6f 75 6e 74 69 6e 67 2d 61 76 61 69 6c 61 62 6c 65 3f 22 0a 20 20 memory-accounting-available?"...
8bae0 20 20 22 63 75 73 74 6f 64 69 61 6e 2d 72 65 71 75 69 72 65 2d 6d 65 6d 6f 72 79 22 0a 20 20 20 .."custodian-require-memory"....
8bb00 20 22 63 75 73 74 6f 64 69 61 6e 2d 73 68 75 74 2d 64 6f 77 6e 3f 22 0a 20 20 20 20 22 63 75 73 ."custodian-shut-down?"....."cus
8bb20 74 6f 64 69 61 6e 2d 73 68 75 74 64 6f 77 6e 2d 61 6c 6c 22 0a 20 20 20 20 22 63 75 73 74 6f 64 todian-shutdown-all"....."custod
8bb40 69 61 6e 3f 22 0a 20 20 20 20 22 63 75 73 74 6f 6d 2d 70 72 69 6e 74 2d 71 75 6f 74 61 62 6c 65 ian?"....."custom-print-quotable
8bb60 2d 61 63 63 65 73 73 6f 72 22 0a 20 20 20 20 22 63 75 73 74 6f 6d 2d 70 72 69 6e 74 2d 71 75 6f -accessor"....."custom-print-quo
8bb80 74 61 62 6c 65 3f 22 0a 20 20 20 20 22 63 75 73 74 6f 6d 2d 77 72 69 74 65 2d 61 63 63 65 73 73 table?"....."custom-write-access
8bba0 6f 72 22 0a 20 20 20 20 22 63 75 73 74 6f 6d 2d 77 72 69 74 65 2d 70 72 6f 70 65 72 74 79 2d 70 or"....."custom-write-property-p
8bbc0 72 6f 63 22 0a 20 20 20 20 22 63 75 73 74 6f 6d 2d 77 72 69 74 65 3f 22 0a 20 20 20 20 22 64 61 roc"....."custom-write?"....."da
8bbe0 74 65 2a 2d 6e 61 6e 6f 73 65 63 6f 6e 64 22 0a 20 20 20 20 22 64 61 74 65 2a 2d 74 69 6d 65 2d te*-nanosecond"....."date*-time-
8bc00 7a 6f 6e 65 2d 6e 61 6d 65 22 0a 20 20 20 20 22 64 61 74 65 2a 3f 22 0a 20 20 20 20 22 64 61 74 zone-name"....."date*?"....."dat
8bc20 65 2d 64 61 79 22 0a 20 20 20 20 22 64 61 74 65 2d 64 73 74 3f 22 0a 20 20 20 20 22 64 61 74 65 e-day"....."date-dst?"....."date
8bc40 2d 68 6f 75 72 22 0a 20 20 20 20 22 64 61 74 65 2d 6d 69 6e 75 74 65 22 0a 20 20 20 20 22 64 61 -hour"....."date-minute"....."da
8bc60 74 65 2d 6d 6f 6e 74 68 22 0a 20 20 20 20 22 64 61 74 65 2d 73 65 63 6f 6e 64 22 0a 20 20 20 20 te-month"....."date-second".....
8bc80 22 64 61 74 65 2d 74 69 6d 65 2d 7a 6f 6e 65 2d 6f 66 66 73 65 74 22 0a 20 20 20 20 22 64 61 74 "date-time-zone-offset"....."dat
8bca0 65 2d 77 65 65 6b 2d 64 61 79 22 0a 20 20 20 20 22 64 61 74 65 2d 79 65 61 72 22 0a 20 20 20 20 e-week-day"....."date-year".....
8bcc0 22 64 61 74 65 2d 79 65 61 72 2d 64 61 79 22 0a 20 20 20 20 22 64 61 74 65 3f 22 0a 20 20 20 20 "date-year-day"....."date?".....
8bce0 22 64 61 74 75 6d 2d 3e 73 79 6e 74 61 78 22 0a 20 20 20 20 22 64 61 74 75 6d 2d 69 6e 74 65 72 "datum->syntax"....."datum-inter
8bd00 6e 2d 6c 69 74 65 72 61 6c 22 0a 20 20 20 20 22 64 65 63 6c 61 72 65 2d 72 65 66 69 6e 65 6d 65 n-literal"....."declare-refineme
8bd20 6e 74 22 0a 20 20 20 20 22 64 65 66 61 75 6c 74 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 70 72 nt"....."default-continuation-pr
8bd40 6f 6d 70 74 2d 74 61 67 22 0a 20 20 20 20 22 64 65 66 61 75 6c 74 2d 67 6c 6f 62 61 6c 2d 70 6f ompt-tag"....."default-global-po
8bd60 72 74 2d 70 72 69 6e 74 2d 68 61 6e 64 6c 65 72 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 63 6f rt-print-handler"....."define-co
8bd80 6d 70 6f 75 6e 64 2d 75 6e 69 74 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 63 6f 6d 70 6f 75 6e mpound-unit"....."define-compoun
8bda0 64 2d 75 6e 69 74 2f 69 6e 66 65 72 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 63 6f 6e 74 72 61 d-unit/infer"....."define-contra
8bdc0 63 74 2d 73 74 72 75 63 74 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 63 75 73 74 6f 6d 2d 68 61 ct-struct"....."define-custom-ha
8bde0 73 68 2d 74 79 70 65 73 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 63 75 73 74 6f 6d 2d 73 65 74 sh-types"....."define-custom-set
8be00 2d 74 79 70 65 73 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 6c 6f 63 61 6c 2d 6d 65 6d 62 65 72 -types"....."define-local-member
8be20 2d 6e 61 6d 65 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 6d 61 74 63 68 2d 65 78 70 61 6e 64 65 -name"....."define-match-expande
8be40 72 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 6d 65 6d 62 65 72 2d 6e 61 6d 65 22 0a 20 20 20 20 r"....."define-member-name".....
8be60 22 64 65 66 69 6e 65 2d 6d 6f 64 75 6c 65 2d 62 6f 75 6e 64 61 72 79 2d 63 6f 6e 74 72 61 63 74 "define-module-boundary-contract
8be80 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 6e 65 77 2d 73 75 62 74 79 70 65 22 0a 20 20 20 20 22 "....."define-new-subtype"....."
8bea0 64 65 66 69 6e 65 2d 6f 70 74 2f 63 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 70 72 65 64 69 63 define-opt/c"....."define-predic
8bec0 61 74 65 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 73 65 72 69 61 6c 69 7a 61 62 6c 65 2d 63 6c ate"....."define-serializable-cl
8bee0 61 73 73 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 73 65 72 69 61 6c 69 7a 61 62 6c 65 2d 63 6c ass"....."define-serializable-cl
8bf00 61 73 73 2a 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 73 69 67 6e 61 74 75 72 65 22 0a 20 20 20 ass*"....."define-signature"....
8bf20 20 22 64 65 66 69 6e 65 2d 73 69 67 6e 61 74 75 72 65 2d 66 6f 72 6d 22 0a 20 20 20 20 22 64 65 ."define-signature-form"....."de
8bf40 66 69 6e 65 2d 73 69 6d 70 6c 65 2d 6d 61 63 72 6f 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 73 fine-simple-macro"....."define-s
8bf60 74 72 75 63 74 2f 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 73 74 72 75 truct/contract"....."define-stru
8bf80 63 74 2f 65 78 65 63 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 73 74 72 75 63 74 2f 65 78 65 63 ct/exec"....."define-struct/exec
8bfa0 3a 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 73 74 72 75 63 74 3a 22 0a 20 20 20 20 22 64 65 66 :"....."define-struct:"....."def
8bfc0 69 6e 65 2d 74 79 70 65 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 74 79 70 65 2d 61 6c 69 61 73 ine-type"....."define-type-alias
8bfe0 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 74 79 70 65 64 2d 73 74 72 75 63 74 22 0a 20 20 20 20 "....."define-typed-struct".....
8c000 22 64 65 66 69 6e 65 2d 74 79 70 65 64 2d 73 74 72 75 63 74 2f 65 78 65 63 22 0a 20 20 20 20 22 "define-typed-struct/exec"....."
8c020 64 65 66 69 6e 65 2d 75 6e 69 74 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 75 6e 69 74 2d 62 69 define-unit"....."define-unit-bi
8c040 6e 64 69 6e 67 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 75 6e 69 74 2d 66 72 6f 6d 2d 63 6f 6e nding"....."define-unit-from-con
8c060 74 65 78 74 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 75 6e 69 74 2f 63 6f 6e 74 72 61 63 74 22 text"....."define-unit/contract"
8c080 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 75 6e 69 74 2f 6e 65 77 2d 69 6d 70 6f 72 74 2d 65 78 70 ....."define-unit/new-import-exp
8c0a0 6f 72 74 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2d 75 6e 69 74 2f 73 22 0a 20 20 20 20 22 64 65 ort"....."define-unit/s"....."de
8c0c0 66 69 6e 65 2d 76 61 6c 75 65 73 2d 66 6f 72 2d 65 78 70 6f 72 74 22 0a 20 20 20 20 22 64 65 66 fine-values-for-export"....."def
8c0e0 69 6e 65 2d 76 61 6c 75 65 73 2f 69 6e 76 6f 6b 65 2d 75 6e 69 74 22 0a 20 20 20 20 22 64 65 66 ine-values/invoke-unit"....."def
8c100 69 6e 65 2d 76 61 6c 75 65 73 2f 69 6e 76 6f 6b 65 2d 75 6e 69 74 2f 69 6e 66 65 72 22 0a 20 20 ine-values/invoke-unit/infer"...
8c120 20 20 22 64 65 66 69 6e 65 2f 61 75 67 6d 65 6e 74 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2f 61 .."define/augment"....."define/a
8c140 75 67 6d 65 6e 74 2d 66 69 6e 61 6c 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2f 61 75 67 72 69 64 ugment-final"....."define/augrid
8c160 65 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2f 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 64 65 e"....."define/contract"....."de
8c180 66 69 6e 65 2f 66 69 6e 61 6c 2d 70 72 6f 70 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2f 6d 61 74 fine/final-prop"....."define/mat
8c1a0 63 68 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2f 6f 76 65 72 6d 65 6e 74 22 0a 20 20 20 20 22 64 ch"....."define/overment"....."d
8c1c0 65 66 69 6e 65 2f 6f 76 65 72 72 69 64 65 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2f 6f 76 65 72 efine/override"....."define/over
8c1e0 72 69 64 65 2d 66 69 6e 61 6c 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2f 70 72 69 76 61 74 65 22 ride-final"....."define/private"
8c200 0a 20 20 20 20 22 64 65 66 69 6e 65 2f 70 75 62 6c 69 63 22 0a 20 20 20 20 22 64 65 66 69 6e 65 ....."define/public"....."define
8c220 2f 70 75 62 6c 69 63 2d 66 69 6e 61 6c 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2f 70 75 62 6d 65 /public-final"....."define/pubme
8c240 6e 74 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2f 73 75 62 65 78 70 72 65 73 73 69 6f 6e 2d 70 6f nt"....."define/subexpression-po
8c260 73 2d 70 72 6f 70 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2f 73 75 62 65 78 70 72 65 73 73 69 6f s-prop"....."define/subexpressio
8c280 6e 2d 70 6f 73 2d 70 72 6f 70 2f 6e 61 6d 65 22 0a 20 20 20 20 22 64 65 66 69 6e 65 2f 77 69 74 n-pos-prop/name"....."define/wit
8c2a0 68 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 22 64 65 66 69 6e 65 3a 22 0a 20 20 20 20 22 64 65 66 h-syntax"....."define:"....."def
8c2c0 69 6e 65 64 3f 22 0a 20 20 20 20 22 64 65 67 72 65 65 73 2d 3e 72 61 64 69 61 6e 73 22 0a 20 20 ined?"....."degrees->radians"...
8c2e0 20 20 22 64 65 6c 61 79 22 0a 20 20 20 20 22 64 65 6c 61 79 2f 69 64 6c 65 22 0a 20 20 20 20 22 .."delay"....."delay/idle"....."
8c300 64 65 6c 61 79 2f 6e 61 6d 65 22 0a 20 20 20 20 22 64 65 6c 61 79 2f 73 74 72 69 63 74 22 0a 20 delay/name"....."delay/strict"..
8c320 20 20 20 22 64 65 6c 61 79 2f 73 79 6e 63 22 0a 20 20 20 20 22 64 65 6c 61 79 2f 74 68 72 65 61 ..."delay/sync"....."delay/threa
8c340 64 22 0a 20 20 20 20 22 64 65 6c 65 74 65 2d 64 69 72 65 63 74 6f 72 79 22 0a 20 20 20 20 22 64 d"....."delete-directory"....."d
8c360 65 6c 65 74 65 2d 64 69 72 65 63 74 6f 72 79 2f 66 69 6c 65 73 22 0a 20 20 20 20 22 64 65 6c 65 elete-directory/files"....."dele
8c380 74 65 2d 66 69 6c 65 22 0a 20 20 20 20 22 64 65 6e 6f 6d 69 6e 61 74 6f 72 22 0a 20 20 20 20 22 te-file"....."denominator"....."
8c3a0 64 69 63 74 2d 3e 6c 69 73 74 22 0a 20 20 20 20 22 64 69 63 74 2d 63 61 6e 2d 66 75 6e 63 74 69 dict->list"....."dict-can-functi
8c3c0 6f 6e 61 6c 2d 73 65 74 3f 22 0a 20 20 20 20 22 64 69 63 74 2d 63 61 6e 2d 72 65 6d 6f 76 65 2d onal-set?"....."dict-can-remove-
8c3e0 6b 65 79 73 3f 22 0a 20 20 20 20 22 64 69 63 74 2d 63 6c 65 61 72 22 0a 20 20 20 20 22 64 69 63 keys?"....."dict-clear"....."dic
8c400 74 2d 63 6c 65 61 72 21 22 0a 20 20 20 20 22 64 69 63 74 2d 63 6f 70 79 22 0a 20 20 20 20 22 64 t-clear!"....."dict-copy"....."d
8c420 69 63 74 2d 63 6f 75 6e 74 22 0a 20 20 20 20 22 64 69 63 74 2d 65 6d 70 74 79 3f 22 0a 20 20 20 ict-count"....."dict-empty?"....
8c440 20 22 64 69 63 74 2d 66 6f 72 2d 65 61 63 68 22 0a 20 20 20 20 22 64 69 63 74 2d 68 61 73 2d 6b ."dict-for-each"....."dict-has-k
8c460 65 79 3f 22 0a 20 20 20 20 22 64 69 63 74 2d 69 6d 70 6c 65 6d 65 6e 74 73 2f 63 22 0a 20 20 20 ey?"....."dict-implements/c"....
8c480 20 22 64 69 63 74 2d 69 6d 70 6c 65 6d 65 6e 74 73 3f 22 0a 20 20 20 20 22 64 69 63 74 2d 69 74 ."dict-implements?"....."dict-it
8c4a0 65 72 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 64 69 63 74 2d 69 74 65 72 61 74 65 2d 66 er-contract"....."dict-iterate-f
8c4c0 69 72 73 74 22 0a 20 20 20 20 22 64 69 63 74 2d 69 74 65 72 61 74 65 2d 6b 65 79 22 0a 20 20 20 irst"....."dict-iterate-key"....
8c4e0 20 22 64 69 63 74 2d 69 74 65 72 61 74 65 2d 6e 65 78 74 22 0a 20 20 20 20 22 64 69 63 74 2d 69 ."dict-iterate-next"....."dict-i
8c500 74 65 72 61 74 65 2d 76 61 6c 75 65 22 0a 20 20 20 20 22 64 69 63 74 2d 6b 65 79 2d 63 6f 6e 74 terate-value"....."dict-key-cont
8c520 72 61 63 74 22 0a 20 20 20 20 22 64 69 63 74 2d 6b 65 79 73 22 0a 20 20 20 20 22 64 69 63 74 2d ract"....."dict-keys"....."dict-
8c540 6d 61 70 22 0a 20 20 20 20 22 64 69 63 74 2d 6d 61 70 2f 63 6f 70 79 22 0a 20 20 20 20 22 64 69 map"....."dict-map/copy"....."di
8c560 63 74 2d 6d 75 74 61 62 6c 65 3f 22 0a 20 20 20 20 22 64 69 63 74 2d 72 65 66 22 0a 20 20 20 20 ct-mutable?"....."dict-ref".....
8c580 22 64 69 63 74 2d 72 65 66 21 22 0a 20 20 20 20 22 64 69 63 74 2d 72 65 6d 6f 76 65 22 0a 20 20 "dict-ref!"....."dict-remove"...
8c5a0 20 20 22 64 69 63 74 2d 72 65 6d 6f 76 65 21 22 0a 20 20 20 20 22 64 69 63 74 2d 73 65 74 22 0a .."dict-remove!"....."dict-set".
8c5c0 20 20 20 20 22 64 69 63 74 2d 73 65 74 21 22 0a 20 20 20 20 22 64 69 63 74 2d 73 65 74 2a 22 0a ...."dict-set!"....."dict-set*".
8c5e0 20 20 20 20 22 64 69 63 74 2d 73 65 74 2a 21 22 0a 20 20 20 20 22 64 69 63 74 2d 75 70 64 61 74 ...."dict-set*!"....."dict-updat
8c600 65 22 0a 20 20 20 20 22 64 69 63 74 2d 75 70 64 61 74 65 21 22 0a 20 20 20 20 22 64 69 63 74 2d e"....."dict-update!"....."dict-
8c620 76 61 6c 75 65 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 64 69 63 74 2d 76 61 6c 75 65 73 value-contract"....."dict-values
8c640 22 0a 20 20 20 20 22 64 69 63 74 3f 22 0a 20 20 20 20 22 64 69 72 65 63 74 6f 72 79 2d 65 78 69 "....."dict?"....."directory-exi
8c660 73 74 73 3f 22 0a 20 20 20 20 22 64 69 72 65 63 74 6f 72 79 2d 6c 69 73 74 22 0a 20 20 20 20 22 sts?"....."directory-list"....."
8c680 64 69 72 65 63 74 6f 72 79 2d 74 79 70 65 2d 62 69 74 73 22 0a 20 20 20 20 22 64 69 73 6a 6f 69 directory-type-bits"....."disjoi
8c6a0 6e 22 0a 20 20 20 20 22 64 69 73 70 6c 61 79 22 0a 20 20 20 20 22 64 69 73 70 6c 61 79 2d 6c 69 n"....."display"....."display-li
8c6c0 6e 65 73 22 0a 20 20 20 20 22 64 69 73 70 6c 61 79 2d 6c 69 6e 65 73 2d 74 6f 2d 66 69 6c 65 22 nes"....."display-lines-to-file"
8c6e0 0a 20 20 20 20 22 64 69 73 70 6c 61 79 2d 74 6f 2d 66 69 6c 65 22 0a 20 20 20 20 22 64 69 73 70 ....."display-to-file"....."disp
8c700 6c 61 79 6c 6e 22 0a 20 20 20 20 22 64 6f 2d 73 74 61 6e 64 61 72 64 2d 69 6e 69 74 73 22 0a 20 layln"....."do-standard-inits"..
8c720 20 20 20 22 64 6f 3a 22 0a 20 20 20 20 22 64 6f 75 62 6c 65 2d 66 6c 6f 6e 75 6d 3f 22 0a 20 20 ..."do:"....."double-flonum?"...
8c740 20 20 22 64 72 6f 70 22 0a 20 20 20 20 22 64 72 6f 70 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 .."drop"....."drop-common-prefix
8c760 22 0a 20 20 20 20 22 64 72 6f 70 2d 72 69 67 68 74 22 0a 20 20 20 20 22 64 72 6f 70 66 22 0a 20 "....."drop-right"....."dropf"..
8c780 20 20 20 22 64 72 6f 70 66 2d 72 69 67 68 74 22 0a 20 20 20 20 22 64 75 6d 70 2d 6d 65 6d 6f 72 ..."dropf-right"....."dump-memor
8c7a0 79 2d 73 74 61 74 73 22 0a 20 20 20 20 22 64 75 70 2d 69 6e 70 75 74 2d 70 6f 72 74 22 0a 20 20 y-stats"....."dup-input-port"...
8c7c0 20 20 22 64 75 70 2d 6f 75 74 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 64 79 6e 61 6d 69 63 .."dup-output-port"....."dynamic
8c7e0 2d 3e 2a 22 0a 20 20 20 20 22 64 79 6e 61 6d 69 63 2d 67 65 74 2d 66 69 65 6c 64 22 0a 20 20 20 ->*"....."dynamic-get-field"....
8c800 20 22 64 79 6e 61 6d 69 63 2d 69 6e 73 74 61 6e 74 69 61 74 65 22 0a 20 20 20 20 22 64 79 6e 61 ."dynamic-instantiate"....."dyna
8c820 6d 69 63 2d 6f 62 6a 65 63 74 2f 63 22 0a 20 20 20 20 22 64 79 6e 61 6d 69 63 2d 70 6c 61 63 65 mic-object/c"....."dynamic-place
8c840 22 0a 20 20 20 20 22 64 79 6e 61 6d 69 63 2d 70 6c 61 63 65 2a 22 0a 20 20 20 20 22 64 79 6e 61 "....."dynamic-place*"....."dyna
8c860 6d 69 63 2d 72 65 71 75 69 72 65 22 0a 20 20 20 20 22 64 79 6e 61 6d 69 63 2d 72 65 71 75 69 72 mic-require"....."dynamic-requir
8c880 65 2d 66 6f 72 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 22 64 79 6e 61 6d 69 63 2d 73 65 6e 64 22 e-for-syntax"....."dynamic-send"
8c8a0 0a 20 20 20 20 22 64 79 6e 61 6d 69 63 2d 73 65 74 2d 66 69 65 6c 64 21 22 0a 20 20 20 20 22 64 ....."dynamic-set-field!"....."d
8c8c0 79 6e 61 6d 69 63 2d 77 69 6e 64 22 0a 20 20 20 20 22 65 69 67 68 74 68 22 0a 20 20 20 20 22 65 ynamic-wind"....."eighth"....."e
8c8e0 6d 70 74 79 22 0a 20 20 20 20 22 65 6d 70 74 79 2d 73 65 71 75 65 6e 63 65 22 0a 20 20 20 20 22 mpty"....."empty-sequence"....."
8c900 65 6d 70 74 79 2d 73 74 72 65 61 6d 22 0a 20 20 20 20 22 65 6d 70 74 79 3f 22 0a 20 20 20 20 22 empty-stream"....."empty?"....."
8c920 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 73 2d 63 6f 70 79 22 0a 20 20 20 20 environment-variables-copy".....
8c940 22 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 73 2d 6e 61 6d 65 73 22 0a 20 20 "environment-variables-names"...
8c960 20 20 22 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 73 2d 72 65 66 22 0a 20 20 .."environment-variables-ref"...
8c980 20 20 22 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 73 2d 73 65 74 21 22 0a 20 .."environment-variables-set!"..
8c9a0 20 20 20 22 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 73 3f 22 0a 20 20 20 20 ..."environment-variables?".....
8c9c0 22 65 6f 66 22 0a 20 20 20 20 22 65 6f 66 2d 65 76 74 22 0a 20 20 20 20 22 65 6f 66 2d 6f 62 6a "eof"....."eof-evt"....."eof-obj
8c9e0 65 63 74 3f 22 0a 20 20 20 20 22 65 70 68 65 6d 65 72 6f 6e 2d 76 61 6c 75 65 22 0a 20 20 20 20 ect?"....."ephemeron-value".....
8ca00 22 65 70 68 65 6d 65 72 6f 6e 3f 22 0a 20 20 20 20 22 65 70 72 69 6e 74 66 22 0a 20 20 20 20 22 "ephemeron?"....."eprintf"....."
8ca20 65 71 2d 63 6f 6e 74 72 61 63 74 2d 76 61 6c 22 0a 20 20 20 20 22 65 71 2d 63 6f 6e 74 72 61 63 eq-contract-val"....."eq-contrac
8ca40 74 3f 22 0a 20 20 20 20 22 65 71 2d 68 61 73 68 2d 63 6f 64 65 22 0a 20 20 20 20 22 65 71 3f 22 t?"....."eq-hash-code"....."eq?"
8ca60 0a 20 20 20 20 22 65 71 75 61 6c 2d 61 6c 77 61 79 73 2d 68 61 73 68 2d 63 6f 64 65 22 0a 20 20 ....."equal-always-hash-code"...
8ca80 20 20 22 65 71 75 61 6c 2d 61 6c 77 61 79 73 2d 73 65 63 6f 6e 64 61 72 79 2d 68 61 73 68 2d 63 .."equal-always-secondary-hash-c
8caa0 6f 64 65 22 0a 20 20 20 20 22 65 71 75 61 6c 2d 61 6c 77 61 79 73 3f 22 0a 20 20 20 20 22 65 71 ode"....."equal-always?"....."eq
8cac0 75 61 6c 2d 61 6c 77 61 79 73 3f 2f 72 65 63 75 72 22 0a 20 20 20 20 22 65 71 75 61 6c 2d 63 6f ual-always?/recur"....."equal-co
8cae0 6e 74 72 61 63 74 2d 76 61 6c 22 0a 20 20 20 20 22 65 71 75 61 6c 2d 63 6f 6e 74 72 61 63 74 3f ntract-val"....."equal-contract?
8cb00 22 0a 20 20 20 20 22 65 71 75 61 6c 2d 68 61 73 68 2d 63 6f 64 65 22 0a 20 20 20 20 22 65 71 75 "....."equal-hash-code"....."equ
8cb20 61 6c 2d 73 65 63 6f 6e 64 61 72 79 2d 68 61 73 68 2d 63 6f 64 65 22 0a 20 20 20 20 22 65 71 75 al-secondary-hash-code"....."equ
8cb40 61 6c 3c 25 3e 22 0a 20 20 20 20 22 65 71 75 61 6c 3f 22 0a 20 20 20 20 22 65 71 75 61 6c 3f 2f al<%>"....."equal?"....."equal?/
8cb60 72 65 63 75 72 22 0a 20 20 20 20 22 65 71 76 2d 68 61 73 68 2d 63 6f 64 65 22 0a 20 20 20 20 22 recur"....."eqv-hash-code"....."
8cb80 65 71 76 3f 22 0a 20 20 20 20 22 65 72 72 6f 72 22 0a 20 20 20 20 22 65 72 72 6f 72 2d 63 6f 6e eqv?"....."error"....."error-con
8cba0 74 72 61 63 74 2d 3e 61 64 6a 75 73 74 65 64 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 65 72 72 tract->adjusted-string"....."err
8cbc0 6f 72 2d 64 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 22 0a 20 20 20 20 22 65 72 72 6f 72 2d 65 or-display-handler"....."error-e
8cbe0 73 63 61 70 65 2d 68 61 6e 64 6c 65 72 22 0a 20 20 20 20 22 65 72 72 6f 72 2d 6d 65 73 73 61 67 scape-handler"....."error-messag
8cc00 65 2d 3e 61 64 6a 75 73 74 65 64 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 65 72 72 6f 72 2d 6d e->adjusted-string"....."error-m
8cc20 65 73 73 61 67 65 2d 61 64 6a 75 73 74 65 72 2d 6b 65 79 22 0a 20 20 20 20 22 65 72 72 6f 72 2d essage-adjuster-key"....."error-
8cc40 70 72 69 6e 74 2d 63 6f 6e 74 65 78 74 2d 6c 65 6e 67 74 68 22 0a 20 20 20 20 22 65 72 72 6f 72 print-context-length"....."error
8cc60 2d 70 72 69 6e 74 2d 73 6f 75 72 63 65 2d 6c 6f 63 61 74 69 6f 6e 22 0a 20 20 20 20 22 65 72 72 -print-source-location"....."err
8cc80 6f 72 2d 70 72 69 6e 74 2d 77 69 64 74 68 22 0a 20 20 20 20 22 65 72 72 6f 72 2d 73 79 6e 74 61 or-print-width"....."error-synta
8cca0 78 2d 3e 73 74 72 69 6e 67 2d 68 61 6e 64 6c 65 72 22 0a 20 20 20 20 22 65 72 72 6f 72 2d 76 61 x->string-handler"....."error-va
8ccc0 6c 75 65 2d 3e 73 74 72 69 6e 67 2d 68 61 6e 64 6c 65 72 22 0a 20 20 20 20 22 65 76 61 6c 22 0a lue->string-handler"....."eval".
8cce0 20 20 20 20 22 65 76 61 6c 2d 6a 69 74 2d 65 6e 61 62 6c 65 64 22 0a 20 20 20 20 22 65 76 61 6c ...."eval-jit-enabled"....."eval
8cd00 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 22 65 76 65 6e 3f 22 0a 20 20 20 20 22 65 76 74 2f 63 22 -syntax"....."even?"....."evt/c"
8cd20 0a 20 20 20 20 22 65 76 74 3f 22 0a 20 20 20 20 22 65 78 61 63 74 2d 3e 69 6e 65 78 61 63 74 22 ....."evt?"....."exact->inexact"
8cd40 0a 20 20 20 20 22 65 78 61 63 74 2d 63 65 69 6c 69 6e 67 22 0a 20 20 20 20 22 65 78 61 63 74 2d ....."exact-ceiling"....."exact-
8cd60 66 6c 6f 6f 72 22 0a 20 20 20 20 22 65 78 61 63 74 2d 69 6e 74 65 67 65 72 3f 22 0a 20 20 20 20 floor"....."exact-integer?".....
8cd80 22 65 78 61 63 74 2d 6e 6f 6e 6e 65 67 61 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 22 0a 20 20 20 "exact-nonnegative-integer?"....
8cda0 20 22 65 78 61 63 74 2d 70 6f 73 69 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 22 0a 20 20 20 20 22 ."exact-positive-integer?"....."
8cdc0 65 78 61 63 74 2d 72 6f 75 6e 64 22 0a 20 20 20 20 22 65 78 61 63 74 2d 74 72 75 6e 63 61 74 65 exact-round"....."exact-truncate
8cde0 22 0a 20 20 20 20 22 65 78 61 63 74 3f 22 0a 20 20 20 20 22 65 78 63 65 70 74 22 0a 20 20 20 20 "....."exact?"....."except".....
8ce00 22 65 78 65 63 75 74 61 62 6c 65 2d 79 69 65 6c 64 2d 68 61 6e 64 6c 65 72 22 0a 20 20 20 20 22 "executable-yield-handler"....."
8ce20 65 78 69 74 22 0a 20 20 20 20 22 65 78 69 74 2d 68 61 6e 64 6c 65 72 22 0a 20 20 20 20 22 65 78 exit"....."exit-handler"....."ex
8ce40 6e 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 73 22 0a 20 20 20 20 22 65 78 6e 2d 6d n-continuation-marks"....."exn-m
8ce60 65 73 73 61 67 65 22 0a 20 20 20 20 22 65 78 6e 3a 62 72 65 61 6b 2d 63 6f 6e 74 69 6e 75 61 74 essage"....."exn:break-continuat
8ce80 69 6f 6e 22 0a 20 20 20 20 22 65 78 6e 3a 62 72 65 61 6b 3a 68 61 6e 67 2d 75 70 3f 22 0a 20 20 ion"....."exn:break:hang-up?"...
8cea0 20 20 22 65 78 6e 3a 62 72 65 61 6b 3a 74 65 72 6d 69 6e 61 74 65 3f 22 0a 20 20 20 20 22 65 78 .."exn:break:terminate?"....."ex
8cec0 6e 3a 62 72 65 61 6b 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 n:break?"....."exn:fail:contract
8cee0 3a 61 72 69 74 79 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a :arity?"....."exn:fail:contract:
8cf00 62 6c 61 6d 65 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 62 6c blame"....."exn:fail:contract:bl
8cf20 61 6d 65 2d 6f 62 6a 65 63 74 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 ame-object"....."exn:fail:contra
8cf40 63 74 3a 62 6c 61 6d 65 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 ct:blame?"....."exn:fail:contrac
8cf60 74 3a 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 63 t:continuation?"....."exn:fail:c
8cf80 6f 6e 74 72 61 63 74 3a 64 69 76 69 64 65 2d 62 79 2d 7a 65 72 6f 3f 22 0a 20 20 20 20 22 65 78 ontract:divide-by-zero?"....."ex
8cfa0 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 6e 6f 6e 2d 66 69 78 6e 75 6d 2d 72 65 73 75 6c n:fail:contract:non-fixnum-resul
8cfc0 74 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 76 61 72 69 61 t?"....."exn:fail:contract:varia
8cfe0 62 6c 65 2d 69 64 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 76 ble-id"....."exn:fail:contract:v
8d000 61 72 69 61 62 6c 65 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 ariable?"....."exn:fail:contract
8d020 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d 3a 65 72 72 6e ?"....."exn:fail:filesystem:errn
8d040 6f 2d 65 72 72 6e 6f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 o-errno"....."exn:fail:filesyste
8d060 6d 3a 65 72 72 6e 6f 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 m:errno?"....."exn:fail:filesyst
8d080 65 6d 3a 65 78 69 73 74 73 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 em:exists?"....."exn:fail:filesy
8d0a0 73 74 65 6d 3a 6d 69 73 73 69 6e 67 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 22 0a 20 20 20 20 22 65 stem:missing-module-path"....."e
8d0c0 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d 3a 6d 69 73 73 69 6e 67 2d 6d 6f 64 75 6c xn:fail:filesystem:missing-modul
8d0e0 65 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d 3a 76 65 72 e?"....."exn:fail:filesystem:ver
8d100 73 69 6f 6e 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d 3f sion?"....."exn:fail:filesystem?
8d120 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 6e 65 74 77 6f 72 6b 3a 65 72 72 6e 6f 2d 65 72 "....."exn:fail:network:errno-er
8d140 72 6e 6f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 6e 65 74 77 6f 72 6b 3a 65 72 72 6e 6f rno"....."exn:fail:network:errno
8d160 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 6e 65 74 77 6f 72 6b 3f 22 0a 20 20 20 20 22 ?"....."exn:fail:network?"....."
8d180 65 78 6e 3a 66 61 69 6c 3a 6f 62 6a 65 63 74 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 6f exn:fail:object"....."exn:fail:o
8d1a0 62 6a 65 63 74 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 6f 75 74 2d 6f 66 2d 6d 65 6d bject?"....."exn:fail:out-of-mem
8d1c0 6f 72 79 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 72 65 61 64 2d 73 72 63 6c 6f 63 73 ory?"....."exn:fail:read-srclocs
8d1e0 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 72 65 61 64 3a 65 6f 66 3f 22 0a 20 20 20 20 22 "....."exn:fail:read:eof?"....."
8d200 65 78 6e 3a 66 61 69 6c 3a 72 65 61 64 3a 6e 6f 6e 2d 63 68 61 72 3f 22 0a 20 20 20 20 22 65 78 exn:fail:read:non-char?"....."ex
8d220 6e 3a 66 61 69 6c 3a 72 65 61 64 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 n:fail:read?"....."exn:fail:synt
8d240 61 78 2d 65 78 70 72 73 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 61 78 3a 6d ax-exprs"....."exn:fail:syntax:m
8d260 69 73 73 69 6e 67 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 issing-module-path"....."exn:fai
8d280 6c 3a 73 79 6e 74 61 78 3a 6d 69 73 73 69 6e 67 2d 6d 6f 64 75 6c 65 3f 22 0a 20 20 20 20 22 65 l:syntax:missing-module?"....."e
8d2a0 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 61 78 3a 75 6e 62 6f 75 6e 64 3f 22 0a 20 20 20 20 22 65 78 xn:fail:syntax:unbound?"....."ex
8d2c0 6e 3a 66 61 69 6c 3a 73 79 6e 74 61 78 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 75 6e n:fail:syntax?"....."exn:fail:un
8d2e0 73 75 70 70 6f 72 74 65 64 3f 22 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3a 75 73 65 72 3f 22 supported?"....."exn:fail:user?"
8d300 0a 20 20 20 20 22 65 78 6e 3a 66 61 69 6c 3f 22 0a 20 20 20 20 22 65 78 6e 3a 6d 69 73 63 3a 6d ....."exn:fail?"....."exn:misc:m
8d320 61 74 63 68 3f 22 0a 20 20 20 20 22 65 78 6e 3a 6d 69 73 73 69 6e 67 2d 6d 6f 64 75 6c 65 2d 61 atch?"....."exn:missing-module-a
8d340 63 63 65 73 73 6f 72 22 0a 20 20 20 20 22 65 78 6e 3a 6d 69 73 73 69 6e 67 2d 6d 6f 64 75 6c 65 ccessor"....."exn:missing-module
8d360 3f 22 0a 20 20 20 20 22 65 78 6e 3a 73 72 63 6c 6f 63 73 2d 61 63 63 65 73 73 6f 72 22 0a 20 20 ?"....."exn:srclocs-accessor"...
8d380 20 20 22 65 78 6e 3a 73 72 63 6c 6f 63 73 3f 22 0a 20 20 20 20 22 65 78 6e 3f 22 0a 20 20 20 20 .."exn:srclocs?"....."exn?".....
8d3a0 22 65 78 70 22 0a 20 20 20 20 22 65 78 70 61 6e 64 22 0a 20 20 20 20 22 65 78 70 61 6e 64 2d 6f "exp"....."expand"....."expand-o
8d3c0 6e 63 65 22 0a 20 20 20 20 22 65 78 70 61 6e 64 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 22 65 78 nce"....."expand-syntax"....."ex
8d3e0 70 61 6e 64 2d 73 79 6e 74 61 78 2d 6f 6e 63 65 22 0a 20 20 20 20 22 65 78 70 61 6e 64 2d 73 79 pand-syntax-once"....."expand-sy
8d400 6e 74 61 78 2d 74 6f 2d 74 6f 70 2d 66 6f 72 6d 22 0a 20 20 20 20 22 65 78 70 61 6e 64 2d 74 6f ntax-to-top-form"....."expand-to
8d420 2d 74 6f 70 2d 66 6f 72 6d 22 0a 20 20 20 20 22 65 78 70 61 6e 64 2d 75 73 65 72 2d 70 61 74 68 -top-form"....."expand-user-path
8d440 22 0a 20 20 20 20 22 65 78 70 6c 6f 64 65 2d 70 61 74 68 22 0a 20 20 20 20 22 65 78 70 6f 72 74 "....."explode-path"....."export
8d460 22 0a 20 20 20 20 22 65 78 70 74 22 0a 20 20 20 20 22 65 78 74 65 6e 64 73 22 0a 20 20 20 20 22 "....."expt"....."extends"....."
8d480 65 78 74 65 72 6e 61 6c 69 7a 61 62 6c 65 3c 25 3e 22 0a 20 20 20 20 22 66 61 69 6c 75 72 65 2d externalizable<%>"....."failure-
8d4a0 63 6f 6e 74 22 0a 20 20 20 20 22 66 61 69 6c 75 72 65 2d 72 65 73 75 6c 74 2f 63 22 0a 20 20 20 cont"....."failure-result/c"....
8d4c0 20 22 66 61 6c 73 65 22 0a 20 20 20 20 22 66 61 6c 73 65 2f 63 22 0a 20 20 20 20 22 66 61 6c 73 ."false"....."false/c"....."fals
8d4e0 65 3f 22 0a 20 20 20 20 22 66 69 65 6c 64 22 0a 20 20 20 20 22 66 69 65 6c 64 2d 62 6f 75 6e 64 e?"....."field"....."field-bound
8d500 3f 22 0a 20 20 20 20 22 66 69 65 6c 64 2d 6e 61 6d 65 73 22 0a 20 20 20 20 22 66 69 66 6f 2d 74 ?"....."field-names"....."fifo-t
8d520 79 70 65 2d 62 69 74 73 22 0a 20 20 20 20 22 66 69 66 74 68 22 0a 20 20 20 20 22 66 69 6c 65 2d ype-bits"....."fifth"....."file-
8d540 3e 62 79 74 65 73 22 0a 20 20 20 20 22 66 69 6c 65 2d 3e 62 79 74 65 73 2d 6c 69 6e 65 73 22 0a >bytes"....."file->bytes-lines".
8d560 20 20 20 20 22 66 69 6c 65 2d 3e 6c 69 6e 65 73 22 0a 20 20 20 20 22 66 69 6c 65 2d 3e 6c 69 73 ...."file->lines"....."file->lis
8d580 74 22 0a 20 20 20 20 22 66 69 6c 65 2d 3e 73 74 72 69 6e 67 22 0a 20 20 20 20 22 66 69 6c 65 2d t"....."file->string"....."file-
8d5a0 3e 76 61 6c 75 65 22 0a 20 20 20 20 22 66 69 6c 65 2d 65 78 69 73 74 73 3f 22 0a 20 20 20 20 22 >value"....."file-exists?"....."
8d5c0 66 69 6c 65 2d 6e 61 6d 65 2d 66 72 6f 6d 2d 70 61 74 68 22 0a 20 20 20 20 22 66 69 6c 65 2d 6f file-name-from-path"....."file-o
8d5e0 72 2d 64 69 72 65 63 74 6f 72 79 2d 69 64 65 6e 74 69 74 79 22 0a 20 20 20 20 22 66 69 6c 65 2d r-directory-identity"....."file-
8d600 6f 72 2d 64 69 72 65 63 74 6f 72 79 2d 6d 6f 64 69 66 79 2d 73 65 63 6f 6e 64 73 22 0a 20 20 20 or-directory-modify-seconds"....
8d620 20 22 66 69 6c 65 2d 6f 72 2d 64 69 72 65 63 74 6f 72 79 2d 70 65 72 6d 69 73 73 69 6f 6e 73 22 ."file-or-directory-permissions"
8d640 0a 20 20 20 20 22 66 69 6c 65 2d 6f 72 2d 64 69 72 65 63 74 6f 72 79 2d 73 74 61 74 22 0a 20 20 ....."file-or-directory-stat"...
8d660 20 20 22 66 69 6c 65 2d 6f 72 2d 64 69 72 65 63 74 6f 72 79 2d 74 79 70 65 22 0a 20 20 20 20 22 .."file-or-directory-type"....."
8d680 66 69 6c 65 2d 70 6f 73 69 74 69 6f 6e 22 0a 20 20 20 20 22 66 69 6c 65 2d 70 6f 73 69 74 69 6f file-position"....."file-positio
8d6a0 6e 2a 22 0a 20 20 20 20 22 66 69 6c 65 2d 73 69 7a 65 22 0a 20 20 20 20 22 66 69 6c 65 2d 73 74 n*"....."file-size"....."file-st
8d6c0 72 65 61 6d 2d 62 75 66 66 65 72 2d 6d 6f 64 65 22 0a 20 20 20 20 22 66 69 6c 65 2d 73 74 72 65 ream-buffer-mode"....."file-stre
8d6e0 61 6d 2d 70 6f 72 74 3f 22 0a 20 20 20 20 22 66 69 6c 65 2d 74 72 75 6e 63 61 74 65 22 0a 20 20 am-port?"....."file-truncate"...
8d700 20 20 22 66 69 6c 65 2d 74 79 70 65 2d 62 69 74 73 22 0a 20 20 20 20 22 66 69 6c 65 6e 61 6d 65 .."file-type-bits"....."filename
8d720 2d 65 78 74 65 6e 73 69 6f 6e 22 0a 20 20 20 20 22 66 69 6c 65 73 79 73 74 65 6d 2d 63 68 61 6e -extension"....."filesystem-chan
8d740 67 65 2d 65 76 74 22 0a 20 20 20 20 22 66 69 6c 65 73 79 73 74 65 6d 2d 63 68 61 6e 67 65 2d 65 ge-evt"....."filesystem-change-e
8d760 76 74 2d 63 61 6e 63 65 6c 22 0a 20 20 20 20 22 66 69 6c 65 73 79 73 74 65 6d 2d 63 68 61 6e 67 vt-cancel"....."filesystem-chang
8d780 65 2d 65 76 74 3f 22 0a 20 20 20 20 22 66 69 6c 65 73 79 73 74 65 6d 2d 72 6f 6f 74 2d 6c 69 73 e-evt?"....."filesystem-root-lis
8d7a0 74 22 0a 20 20 20 20 22 66 69 6c 74 65 72 22 0a 20 20 20 20 22 66 69 6c 74 65 72 2d 6d 61 70 22 t"....."filter"....."filter-map"
8d7c0 0a 20 20 20 20 22 66 69 6c 74 65 72 2d 6e 6f 74 22 0a 20 20 20 20 22 66 69 6c 74 65 72 2d 72 65 ....."filter-not"....."filter-re
8d7e0 61 64 2d 69 6e 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 66 69 6e 64 2d 63 6f 6d 70 69 6c 65 ad-input-port"....."find-compile
8d800 64 2d 66 69 6c 65 2d 72 6f 6f 74 73 22 0a 20 20 20 20 22 66 69 6e 64 2d 65 78 65 63 75 74 61 62 d-file-roots"....."find-executab
8d820 6c 65 2d 70 61 74 68 22 0a 20 20 20 20 22 66 69 6e 64 2d 66 69 6c 65 73 22 0a 20 20 20 20 22 66 le-path"....."find-files"....."f
8d840 69 6e 64 2d 6c 69 62 72 61 72 79 2d 63 6f 6c 6c 65 63 74 69 6f 6e 2d 6c 69 6e 6b 73 22 0a 20 20 ind-library-collection-links"...
8d860 20 20 22 66 69 6e 64 2d 6c 69 62 72 61 72 79 2d 63 6f 6c 6c 65 63 74 69 6f 6e 2d 70 61 74 68 73 .."find-library-collection-paths
8d880 22 0a 20 20 20 20 22 66 69 6e 64 2d 72 65 6c 61 74 69 76 65 2d 70 61 74 68 22 0a 20 20 20 20 22 "....."find-relative-path"....."
8d8a0 66 69 6e 64 2d 73 79 73 74 65 6d 2d 70 61 74 68 22 0a 20 20 20 20 22 66 69 6e 64 66 22 0a 20 20 find-system-path"....."findf"...
8d8c0 20 20 22 66 69 72 73 74 22 0a 20 20 20 20 22 66 69 72 73 74 2d 6f 72 2f 63 22 0a 20 20 20 20 22 .."first"....."first-or/c"....."
8d8e0 66 69 78 6e 75 6d 3f 22 0a 20 20 20 20 22 66 6c 61 74 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 fixnum?"....."flat-contract"....
8d900 20 22 66 6c 61 74 2d 63 6f 6e 74 72 61 63 74 2d 70 72 65 64 69 63 61 74 65 22 0a 20 20 20 20 22 ."flat-contract-predicate"....."
8d920 66 6c 61 74 2d 63 6f 6e 74 72 61 63 74 2d 70 72 6f 70 65 72 74 79 3f 22 0a 20 20 20 20 22 66 6c flat-contract-property?"....."fl
8d940 61 74 2d 63 6f 6e 74 72 61 63 74 2d 77 69 74 68 2d 65 78 70 6c 61 6e 61 74 69 6f 6e 22 0a 20 20 at-contract-with-explanation"...
8d960 20 20 22 66 6c 61 74 2d 63 6f 6e 74 72 61 63 74 3f 22 0a 20 20 20 20 22 66 6c 61 74 2d 6d 75 72 .."flat-contract?"....."flat-mur
8d980 65 63 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 66 6c 61 74 2d 6e 61 6d 65 64 2d 63 6f 6e ec-contract"....."flat-named-con
8d9a0 74 72 61 63 74 22 0a 20 20 20 20 22 66 6c 61 74 2d 72 65 63 2d 63 6f 6e 74 72 61 63 74 22 0a 20 tract"....."flat-rec-contract"..
8d9c0 20 20 20 22 66 6c 61 74 74 65 6e 22 0a 20 20 20 20 22 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 ..."flatten"....."floating-point
8d9e0 2d 62 79 74 65 73 2d 3e 72 65 61 6c 22 0a 20 20 20 20 22 66 6c 6f 6e 75 6d 3f 22 0a 20 20 20 20 -bytes->real"....."flonum?".....
8da00 22 66 6c 6f 6f 72 22 0a 20 20 20 20 22 66 6c 75 73 68 2d 6f 75 74 70 75 74 22 0a 20 20 20 20 22 "floor"....."flush-output"....."
8da20 66 6f 6c 64 2d 66 69 6c 65 73 22 0a 20 20 20 20 22 66 6f 6c 64 6c 22 0a 20 20 20 20 22 66 6f 6c fold-files"....."foldl"....."fol
8da40 64 72 22 0a 20 20 20 20 22 66 6f 72 2a 2f 61 6e 64 3a 22 0a 20 20 20 20 22 66 6f 72 2a 2f 61 73 dr"....."for*/and:"....."for*/as
8da60 79 6e 63 22 0a 20 20 20 20 22 66 6f 72 2a 2f 65 78 74 66 6c 76 65 63 74 6f 72 3a 22 0a 20 20 20 ync"....."for*/extflvector:"....
8da80 20 22 66 6f 72 2a 2f 66 69 72 73 74 3a 22 0a 20 20 20 20 22 66 6f 72 2a 2f 66 6c 76 65 63 74 6f ."for*/first:"....."for*/flvecto
8daa0 72 3a 22 0a 20 20 20 20 22 66 6f 72 2a 2f 66 6f 6c 64 3a 22 0a 20 20 20 20 22 66 6f 72 2a 2f 66 r:"....."for*/fold:"....."for*/f
8dac0 6f 6c 64 72 3a 22 0a 20 20 20 20 22 66 6f 72 2a 2f 68 61 73 68 3a 22 0a 20 20 20 20 22 66 6f 72 oldr:"....."for*/hash:"....."for
8dae0 2a 2f 68 61 73 68 61 6c 77 3a 22 0a 20 20 20 20 22 66 6f 72 2a 2f 68 61 73 68 65 71 3a 22 0a 20 */hashalw:"....."for*/hasheq:"..
8db00 20 20 20 22 66 6f 72 2a 2f 68 61 73 68 65 71 76 3a 22 0a 20 20 20 20 22 66 6f 72 2a 2f 6c 61 73 ..."for*/hasheqv:"....."for*/las
8db20 74 3a 22 0a 20 20 20 20 22 66 6f 72 2a 2f 6c 69 73 74 2f 63 6f 6e 63 75 72 72 65 6e 74 22 0a 20 t:"....."for*/list/concurrent"..
8db40 20 20 20 22 66 6f 72 2a 2f 6c 69 73 74 3a 22 0a 20 20 20 20 22 66 6f 72 2a 2f 6c 69 73 74 73 3a ..."for*/list:"....."for*/lists:
8db60 22 0a 20 20 20 20 22 66 6f 72 2a 2f 6d 75 74 61 62 6c 65 2d 73 65 74 22 0a 20 20 20 20 22 66 6f "....."for*/mutable-set"....."fo
8db80 72 2a 2f 6d 75 74 61 62 6c 65 2d 73 65 74 61 6c 77 22 0a 20 20 20 20 22 66 6f 72 2a 2f 6d 75 74 r*/mutable-setalw"....."for*/mut
8dba0 61 62 6c 65 2d 73 65 74 65 71 22 0a 20 20 20 20 22 66 6f 72 2a 2f 6d 75 74 61 62 6c 65 2d 73 65 able-seteq"....."for*/mutable-se
8dbc0 74 65 71 76 22 0a 20 20 20 20 22 66 6f 72 2a 2f 6f 72 3a 22 0a 20 20 20 20 22 66 6f 72 2a 2f 70 teqv"....."for*/or:"....."for*/p
8dbe0 72 6f 64 75 63 74 3a 22 0a 20 20 20 20 22 66 6f 72 2a 2f 73 65 74 22 0a 20 20 20 20 22 66 6f 72 roduct:"....."for*/set"....."for
8dc00 2a 2f 73 65 74 3a 22 0a 20 20 20 20 22 66 6f 72 2a 2f 73 65 74 61 6c 77 22 0a 20 20 20 20 22 66 */set:"....."for*/setalw"....."f
8dc20 6f 72 2a 2f 73 65 74 65 71 22 0a 20 20 20 20 22 66 6f 72 2a 2f 73 65 74 65 71 76 22 0a 20 20 20 or*/seteq"....."for*/seteqv"....
8dc40 20 22 66 6f 72 2a 2f 73 74 72 65 61 6d 22 0a 20 20 20 20 22 66 6f 72 2a 2f 73 75 6d 3a 22 0a 20 ."for*/stream"....."for*/sum:"..
8dc60 20 20 20 22 66 6f 72 2a 2f 76 65 63 74 6f 72 3a 22 0a 20 20 20 20 22 66 6f 72 2a 2f 77 65 61 6b ..."for*/vector:"....."for*/weak
8dc80 2d 73 65 74 22 0a 20 20 20 20 22 66 6f 72 2a 2f 77 65 61 6b 2d 73 65 74 61 6c 77 22 0a 20 20 20 -set"....."for*/weak-setalw"....
8dca0 20 22 66 6f 72 2a 2f 77 65 61 6b 2d 73 65 74 65 71 22 0a 20 20 20 20 22 66 6f 72 2a 2f 77 65 61 ."for*/weak-seteq"....."for*/wea
8dcc0 6b 2d 73 65 74 65 71 76 22 0a 20 20 20 20 22 66 6f 72 2a 3a 22 0a 20 20 20 20 22 66 6f 72 2d 63 k-seteqv"....."for*:"....."for-c
8dce0 6c 61 75 73 65 2d 73 79 6e 74 61 78 2d 70 72 6f 74 65 63 74 22 0a 20 20 20 20 22 66 6f 72 2d 65 lause-syntax-protect"....."for-e
8dd00 61 63 68 22 0a 20 20 20 20 22 66 6f 72 2f 61 6e 64 3a 22 0a 20 20 20 20 22 66 6f 72 2f 61 73 79 ach"....."for/and:"....."for/asy
8dd20 6e 63 22 0a 20 20 20 20 22 66 6f 72 2f 65 78 74 66 6c 76 65 63 74 6f 72 3a 22 0a 20 20 20 20 22 nc"....."for/extflvector:"....."
8dd40 66 6f 72 2f 66 69 72 73 74 3a 22 0a 20 20 20 20 22 66 6f 72 2f 66 6c 76 65 63 74 6f 72 3a 22 0a for/first:"....."for/flvector:".
8dd60 20 20 20 20 22 66 6f 72 2f 66 6f 6c 64 3a 22 0a 20 20 20 20 22 66 6f 72 2f 66 6f 6c 64 72 3a 22 ...."for/fold:"....."for/foldr:"
8dd80 0a 20 20 20 20 22 66 6f 72 2f 68 61 73 68 3a 22 0a 20 20 20 20 22 66 6f 72 2f 68 61 73 68 61 6c ....."for/hash:"....."for/hashal
8dda0 77 3a 22 0a 20 20 20 20 22 66 6f 72 2f 68 61 73 68 65 71 3a 22 0a 20 20 20 20 22 66 6f 72 2f 68 w:"....."for/hasheq:"....."for/h
8ddc0 61 73 68 65 71 76 3a 22 0a 20 20 20 20 22 66 6f 72 2f 6c 61 73 74 3a 22 0a 20 20 20 20 22 66 6f asheqv:"....."for/last:"....."fo
8dde0 72 2f 6c 69 73 74 2f 63 6f 6e 63 75 72 72 65 6e 74 22 0a 20 20 20 20 22 66 6f 72 2f 6c 69 73 74 r/list/concurrent"....."for/list
8de00 3a 22 0a 20 20 20 20 22 66 6f 72 2f 6c 69 73 74 73 3a 22 0a 20 20 20 20 22 66 6f 72 2f 6d 75 74 :"....."for/lists:"....."for/mut
8de20 61 62 6c 65 2d 73 65 74 22 0a 20 20 20 20 22 66 6f 72 2f 6d 75 74 61 62 6c 65 2d 73 65 74 61 6c able-set"....."for/mutable-setal
8de40 77 22 0a 20 20 20 20 22 66 6f 72 2f 6d 75 74 61 62 6c 65 2d 73 65 74 65 71 22 0a 20 20 20 20 22 w"....."for/mutable-seteq"....."
8de60 66 6f 72 2f 6d 75 74 61 62 6c 65 2d 73 65 74 65 71 76 22 0a 20 20 20 20 22 66 6f 72 2f 6f 72 3a for/mutable-seteqv"....."for/or:
8de80 22 0a 20 20 20 20 22 66 6f 72 2f 70 72 6f 64 75 63 74 3a 22 0a 20 20 20 20 22 66 6f 72 2f 73 65 "....."for/product:"....."for/se
8dea0 74 22 0a 20 20 20 20 22 66 6f 72 2f 73 65 74 3a 22 0a 20 20 20 20 22 66 6f 72 2f 73 65 74 61 6c t"....."for/set:"....."for/setal
8dec0 77 22 0a 20 20 20 20 22 66 6f 72 2f 73 65 74 65 71 22 0a 20 20 20 20 22 66 6f 72 2f 73 65 74 65 w"....."for/seteq"....."for/sete
8dee0 71 76 22 0a 20 20 20 20 22 66 6f 72 2f 73 74 72 65 61 6d 22 0a 20 20 20 20 22 66 6f 72 2f 73 75 qv"....."for/stream"....."for/su
8df00 6d 3a 22 0a 20 20 20 20 22 66 6f 72 2f 76 65 63 74 6f 72 3a 22 0a 20 20 20 20 22 66 6f 72 2f 77 m:"....."for/vector:"....."for/w
8df20 65 61 6b 2d 73 65 74 22 0a 20 20 20 20 22 66 6f 72 2f 77 65 61 6b 2d 73 65 74 61 6c 77 22 0a 20 eak-set"....."for/weak-setalw"..
8df40 20 20 20 22 66 6f 72 2f 77 65 61 6b 2d 73 65 74 65 71 22 0a 20 20 20 20 22 66 6f 72 2f 77 65 61 ..."for/weak-seteq"....."for/wea
8df60 6b 2d 73 65 74 65 71 76 22 0a 20 20 20 20 22 66 6f 72 3a 22 0a 20 20 20 20 22 66 6f 72 63 65 22 k-seteqv"....."for:"....."force"
8df80 0a 20 20 20 20 22 66 6f 72 6d 61 74 22 0a 20 20 20 20 22 66 6f 72 6d 61 74 2d 69 64 22 0a 20 20 ....."format"....."format-id"...
8dfa0 20 20 22 66 6f 72 6d 61 74 2d 73 79 6d 62 6f 6c 22 0a 20 20 20 20 22 66 6f 75 72 74 68 22 0a 20 .."format-symbol"....."fourth"..
8dfc0 20 20 20 22 66 70 72 69 6e 74 66 22 0a 20 20 20 20 22 66 72 65 65 2d 69 64 65 6e 74 69 66 69 65 ..."fprintf"....."free-identifie
8dfe0 72 3d 3f 22 0a 20 20 20 20 22 66 72 65 65 2d 6c 61 62 65 6c 2d 69 64 65 6e 74 69 66 69 65 72 3d r=?"....."free-label-identifier=
8e000 3f 22 0a 20 20 20 20 22 66 72 65 65 2d 74 65 6d 70 6c 61 74 65 2d 69 64 65 6e 74 69 66 69 65 72 ?"....."free-template-identifier
8e020 3d 3f 22 0a 20 20 20 20 22 66 72 65 65 2d 74 72 61 6e 73 66 6f 72 6d 65 72 2d 69 64 65 6e 74 69 =?"....."free-transformer-identi
8e040 66 69 65 72 3d 3f 22 0a 20 20 20 20 22 66 73 65 6d 61 70 68 6f 72 65 2d 63 6f 75 6e 74 22 0a 20 fier=?"....."fsemaphore-count"..
8e060 20 20 20 22 66 73 65 6d 61 70 68 6f 72 65 2d 70 6f 73 74 22 0a 20 20 20 20 22 66 73 65 6d 61 70 ..."fsemaphore-post"....."fsemap
8e080 68 6f 72 65 2d 74 72 79 2d 77 61 69 74 3f 22 0a 20 20 20 20 22 66 73 65 6d 61 70 68 6f 72 65 2d hore-try-wait?"....."fsemaphore-
8e0a0 77 61 69 74 22 0a 20 20 20 20 22 66 73 65 6d 61 70 68 6f 72 65 3f 22 0a 20 20 20 20 22 66 75 74 wait"....."fsemaphore?"....."fut
8e0c0 75 72 65 22 0a 20 20 20 20 22 66 75 74 75 72 65 3f 22 0a 20 20 20 20 22 66 75 74 75 72 65 73 2d ure"....."future?"....."futures-
8e0e0 65 6e 61 62 6c 65 64 3f 22 0a 20 20 20 20 22 67 63 64 22 0a 20 20 20 20 22 67 65 6e 3a 64 69 63 enabled?"....."gcd"....."gen:dic
8e100 74 22 0a 20 20 20 20 22 67 65 6e 3a 73 65 74 22 0a 20 20 20 20 22 67 65 6e 3a 73 74 72 65 61 6d t"....."gen:set"....."gen:stream
8e120 22 0a 20 20 20 20 22 67 65 6e 65 72 61 74 65 2d 6d 65 6d 62 65 72 2d 6b 65 79 22 0a 20 20 20 20 "....."generate-member-key".....
8e140 22 67 65 6e 65 72 61 74 65 2d 74 65 6d 70 6f 72 61 72 69 65 73 22 0a 20 20 20 20 22 67 65 6e 65 "generate-temporaries"....."gene
8e160 72 61 74 65 2d 74 65 6d 70 6f 72 61 72 79 22 0a 20 20 20 20 22 67 65 6e 65 72 69 63 22 0a 20 20 rate-temporary"....."generic"...
8e180 20 20 22 67 65 6e 65 72 69 63 2d 73 65 74 3f 22 0a 20 20 20 20 22 67 65 6e 65 72 69 63 3f 22 0a .."generic-set?"....."generic?".
8e1a0 20 20 20 20 22 67 65 6e 73 79 6d 22 0a 20 20 20 20 22 67 65 74 2d 66 69 65 6c 64 22 0a 20 20 20 ...."gensym"....."get-field"....
8e1c0 20 22 67 65 74 2d 6f 75 74 70 75 74 2d 62 79 74 65 73 22 0a 20 20 20 20 22 67 65 74 2d 6f 75 74 ."get-output-bytes"....."get-out
8e1e0 70 75 74 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 67 65 74 2d 70 72 65 66 65 72 65 6e 63 65 22 put-string"....."get-preference"
8e200 0a 20 20 20 20 22 67 65 74 2f 62 75 69 6c 64 2d 6c 61 74 65 2d 6e 65 67 2d 70 72 6f 6a 65 63 74 ....."get/build-late-neg-project
8e220 69 6f 6e 22 0a 20 20 20 20 22 67 65 74 2f 62 75 69 6c 64 2d 76 61 6c 2d 66 69 72 73 74 2d 70 72 ion"....."get/build-val-first-pr
8e240 6f 6a 65 63 74 69 6f 6e 22 0a 20 20 20 20 22 67 65 74 65 6e 76 22 0a 20 20 20 20 22 67 6c 6f 62 ojection"....."getenv"....."glob
8e260 61 6c 2d 70 6f 72 74 2d 70 72 69 6e 74 2d 68 61 6e 64 6c 65 72 22 0a 20 20 20 20 22 67 72 6f 75 al-port-print-handler"....."grou
8e280 70 2d 62 79 22 0a 20 20 20 20 22 67 72 6f 75 70 2d 65 78 65 63 75 74 65 2d 62 69 74 22 0a 20 20 p-by"....."group-execute-bit"...
8e2a0 20 20 22 67 72 6f 75 70 2d 70 65 72 6d 69 73 73 69 6f 6e 2d 62 69 74 73 22 0a 20 20 20 20 22 67 .."group-permission-bits"....."g
8e2c0 72 6f 75 70 2d 72 65 61 64 2d 62 69 74 22 0a 20 20 20 20 22 67 72 6f 75 70 2d 77 72 69 74 65 2d roup-read-bit"....."group-write-
8e2e0 62 69 74 22 0a 20 20 20 20 22 67 75 61 72 64 2d 65 76 74 22 0a 20 20 20 20 22 68 61 6e 64 6c 65 bit"....."guard-evt"....."handle
8e300 2d 65 76 74 22 0a 20 20 20 20 22 68 61 6e 64 6c 65 2d 65 76 74 3f 22 0a 20 20 20 20 22 68 61 73 -evt"....."handle-evt?"....."has
8e320 2d 62 6c 61 6d 65 3f 22 0a 20 20 20 20 22 68 61 73 2d 63 6f 6e 74 72 61 63 74 3f 22 0a 20 20 20 -blame?"....."has-contract?"....
8e340 20 22 68 61 73 68 22 0a 20 20 20 20 22 68 61 73 68 2d 3e 6c 69 73 74 22 0a 20 20 20 20 22 68 61 ."hash"....."hash->list"....."ha
8e360 73 68 2d 63 6c 65 61 72 22 0a 20 20 20 20 22 68 61 73 68 2d 63 6c 65 61 72 21 22 0a 20 20 20 20 sh-clear"....."hash-clear!".....
8e380 22 68 61 73 68 2d 63 6f 70 79 22 0a 20 20 20 20 22 68 61 73 68 2d 63 6f 75 6e 74 22 0a 20 20 20 "hash-copy"....."hash-count"....
8e3a0 20 22 68 61 73 68 2d 65 6d 70 74 79 3f 22 0a 20 20 20 20 22 68 61 73 68 2d 65 70 68 65 6d 65 72 ."hash-empty?"....."hash-ephemer
8e3c0 6f 6e 3f 22 0a 20 20 20 20 22 68 61 73 68 2d 65 71 3f 22 0a 20 20 20 20 22 68 61 73 68 2d 65 71 on?"....."hash-eq?"....."hash-eq
8e3e0 75 61 6c 2d 61 6c 77 61 79 73 3f 22 0a 20 20 20 20 22 68 61 73 68 2d 65 71 75 61 6c 3f 22 0a 20 ual-always?"....."hash-equal?"..
8e400 20 20 20 22 68 61 73 68 2d 65 71 76 3f 22 0a 20 20 20 20 22 68 61 73 68 2d 66 6f 72 2d 65 61 63 ..."hash-eqv?"....."hash-for-eac
8e420 68 22 0a 20 20 20 20 22 68 61 73 68 2d 68 61 73 2d 6b 65 79 3f 22 0a 20 20 20 20 22 68 61 73 68 h"....."hash-has-key?"....."hash
8e440 2d 69 74 65 72 61 74 65 2d 66 69 72 73 74 22 0a 20 20 20 20 22 68 61 73 68 2d 69 74 65 72 61 74 -iterate-first"....."hash-iterat
8e460 65 2d 6b 65 79 22 0a 20 20 20 20 22 68 61 73 68 2d 69 74 65 72 61 74 65 2d 6b 65 79 2b 76 61 6c e-key"....."hash-iterate-key+val
8e480 75 65 22 0a 20 20 20 20 22 68 61 73 68 2d 69 74 65 72 61 74 65 2d 6e 65 78 74 22 0a 20 20 20 20 ue"....."hash-iterate-next".....
8e4a0 22 68 61 73 68 2d 69 74 65 72 61 74 65 2d 70 61 69 72 22 0a 20 20 20 20 22 68 61 73 68 2d 69 74 "hash-iterate-pair"....."hash-it
8e4c0 65 72 61 74 65 2d 76 61 6c 75 65 22 0a 20 20 20 20 22 68 61 73 68 2d 6b 65 79 73 22 0a 20 20 20 erate-value"....."hash-keys"....
8e4e0 20 22 68 61 73 68 2d 6b 65 79 73 2d 73 75 62 73 65 74 3f 22 0a 20 20 20 20 22 68 61 73 68 2d 6d ."hash-keys-subset?"....."hash-m
8e500 61 70 22 0a 20 20 20 20 22 68 61 73 68 2d 70 6c 61 63 65 68 6f 6c 64 65 72 3f 22 0a 20 20 20 20 ap"....."hash-placeholder?".....
8e520 22 68 61 73 68 2d 72 65 66 22 0a 20 20 20 20 22 68 61 73 68 2d 72 65 66 21 22 0a 20 20 20 20 22 "hash-ref"....."hash-ref!"....."
8e540 68 61 73 68 2d 72 65 66 2d 6b 65 79 22 0a 20 20 20 20 22 68 61 73 68 2d 72 65 6d 6f 76 65 22 0a hash-ref-key"....."hash-remove".
8e560 20 20 20 20 22 68 61 73 68 2d 72 65 6d 6f 76 65 21 22 0a 20 20 20 20 22 68 61 73 68 2d 73 65 74 ...."hash-remove!"....."hash-set
8e580 22 0a 20 20 20 20 22 68 61 73 68 2d 73 65 74 21 22 0a 20 20 20 20 22 68 61 73 68 2d 73 65 74 2a "....."hash-set!"....."hash-set*
8e5a0 22 0a 20 20 20 20 22 68 61 73 68 2d 73 65 74 2a 21 22 0a 20 20 20 20 22 68 61 73 68 2d 73 74 72 "....."hash-set*!"....."hash-str
8e5c0 6f 6e 67 3f 22 0a 20 20 20 20 22 68 61 73 68 2d 75 70 64 61 74 65 22 0a 20 20 20 20 22 68 61 73 ong?"....."hash-update"....."has
8e5e0 68 2d 75 70 64 61 74 65 21 22 0a 20 20 20 20 22 68 61 73 68 2d 76 61 6c 75 65 73 22 0a 20 20 20 h-update!"....."hash-values"....
8e600 20 22 68 61 73 68 2d 77 65 61 6b 3f 22 0a 20 20 20 20 22 68 61 73 68 2f 63 22 0a 20 20 20 20 22 ."hash-weak?"....."hash/c"....."
8e620 68 61 73 68 2f 64 63 22 0a 20 20 20 20 22 68 61 73 68 3f 22 0a 20 20 20 20 22 68 61 73 68 61 6c hash/dc"....."hash?"....."hashal
8e640 77 22 0a 20 20 20 20 22 68 61 73 68 65 71 22 0a 20 20 20 20 22 68 61 73 68 65 71 76 22 0a 20 20 w"....."hasheq"....."hasheqv"...
8e660 20 20 22 69 64 65 6e 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 22 0a 20 20 20 20 22 69 64 65 6e .."identifier-binding"....."iden
8e680 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 2d 70 6f 72 74 61 6c 2d 73 79 6e 74 61 78 22 0a 20 20 tifier-binding-portal-syntax"...
8e6a0 20 20 22 69 64 65 6e 74 69 66 69 65 72 2d 62 69 6e 64 69 6e 67 2d 73 79 6d 62 6f 6c 22 0a 20 20 .."identifier-binding-symbol"...
8e6c0 20 20 22 69 64 65 6e 74 69 66 69 65 72 2d 64 69 73 74 69 6e 63 74 2d 62 69 6e 64 69 6e 67 22 0a .."identifier-distinct-binding".
8e6e0 20 20 20 20 22 69 64 65 6e 74 69 66 69 65 72 2d 6c 61 62 65 6c 2d 62 69 6e 64 69 6e 67 22 0a 20 ...."identifier-label-binding"..
8e700 20 20 20 22 69 64 65 6e 74 69 66 69 65 72 2d 70 72 75 6e 65 2d 6c 65 78 69 63 61 6c 2d 63 6f 6e ..."identifier-prune-lexical-con
8e720 74 65 78 74 22 0a 20 20 20 20 22 69 64 65 6e 74 69 66 69 65 72 2d 70 72 75 6e 65 2d 74 6f 2d 73 text"....."identifier-prune-to-s
8e740 6f 75 72 63 65 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 20 22 69 64 65 6e 74 69 66 69 65 72 2d 72 65 ource-module"....."identifier-re
8e760 6d 6f 76 65 2d 66 72 6f 6d 2d 64 65 66 69 6e 69 74 69 6f 6e 2d 63 6f 6e 74 65 78 74 22 0a 20 20 move-from-definition-context"...
8e780 20 20 22 69 64 65 6e 74 69 66 69 65 72 2d 74 65 6d 70 6c 61 74 65 2d 62 69 6e 64 69 6e 67 22 0a .."identifier-template-binding".
8e7a0 20 20 20 20 22 69 64 65 6e 74 69 66 69 65 72 2d 74 72 61 6e 73 66 6f 72 6d 65 72 2d 62 69 6e 64 ...."identifier-transformer-bind
8e7c0 69 6e 67 22 0a 20 20 20 20 22 69 64 65 6e 74 69 66 69 65 72 3f 22 0a 20 20 20 20 22 69 64 65 6e ing"....."identifier?"....."iden
8e7e0 74 69 74 79 22 0a 20 20 20 20 22 69 66 2f 63 22 0a 20 20 20 20 22 69 6d 61 67 2d 70 61 72 74 22 tity"....."if/c"....."imag-part"
8e800 0a 20 20 20 20 22 69 6d 6d 75 74 61 62 6c 65 3f 22 0a 20 20 20 20 22 69 6d 70 65 72 73 6f 6e 61 ....."immutable?"....."impersona
8e820 74 65 2d 62 6f 78 22 0a 20 20 20 20 22 69 6d 70 65 72 73 6f 6e 61 74 65 2d 63 68 61 6e 6e 65 6c te-box"....."impersonate-channel
8e840 22 0a 20 20 20 20 22 69 6d 70 65 72 73 6f 6e 61 74 65 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d "....."impersonate-continuation-
8e860 6d 61 72 6b 2d 6b 65 79 22 0a 20 20 20 20 22 69 6d 70 65 72 73 6f 6e 61 74 65 2d 68 61 73 68 22 mark-key"....."impersonate-hash"
8e880 0a 20 20 20 20 22 69 6d 70 65 72 73 6f 6e 61 74 65 2d 68 61 73 68 2d 73 65 74 22 0a 20 20 20 20 ....."impersonate-hash-set".....
8e8a0 22 69 6d 70 65 72 73 6f 6e 61 74 65 2d 70 72 6f 63 65 64 75 72 65 22 0a 20 20 20 20 22 69 6d 70 "impersonate-procedure"....."imp
8e8c0 65 72 73 6f 6e 61 74 65 2d 70 72 6f 63 65 64 75 72 65 2a 22 0a 20 20 20 20 22 69 6d 70 65 72 73 ersonate-procedure*"....."impers
8e8e0 6f 6e 61 74 65 2d 70 72 6f 6d 70 74 2d 74 61 67 22 0a 20 20 20 20 22 69 6d 70 65 72 73 6f 6e 61 onate-prompt-tag"....."impersona
8e900 74 65 2d 73 74 72 75 63 74 22 0a 20 20 20 20 22 69 6d 70 65 72 73 6f 6e 61 74 65 2d 76 65 63 74 te-struct"....."impersonate-vect
8e920 6f 72 22 0a 20 20 20 20 22 69 6d 70 65 72 73 6f 6e 61 74 65 2d 76 65 63 74 6f 72 2a 22 0a 20 20 or"....."impersonate-vector*"...
8e940 20 20 22 69 6d 70 65 72 73 6f 6e 61 74 6f 72 2d 63 6f 6e 74 72 61 63 74 3f 22 0a 20 20 20 20 22 .."impersonator-contract?"....."
8e960 69 6d 70 65 72 73 6f 6e 61 74 6f 72 2d 65 70 68 65 6d 65 72 6f 6e 22 0a 20 20 20 20 22 69 6d 70 impersonator-ephemeron"....."imp
8e980 65 72 73 6f 6e 61 74 6f 72 2d 6f 66 3f 22 0a 20 20 20 20 22 69 6d 70 65 72 73 6f 6e 61 74 6f 72 ersonator-of?"....."impersonator
8e9a0 2d 70 72 6f 70 3a 61 70 70 6c 69 63 61 74 69 6f 6e 2d 6d 61 72 6b 22 0a 20 20 20 20 22 69 6d 70 -prop:application-mark"....."imp
8e9c0 65 72 73 6f 6e 61 74 6f 72 2d 70 72 6f 70 3a 62 6c 61 6d 65 22 0a 20 20 20 20 22 69 6d 70 65 72 ersonator-prop:blame"....."imper
8e9e0 73 6f 6e 61 74 6f 72 2d 70 72 6f 70 3a 63 6f 6e 74 72 61 63 74 65 64 22 0a 20 20 20 20 22 69 6d sonator-prop:contracted"....."im
8ea00 70 65 72 73 6f 6e 61 74 6f 72 2d 70 72 6f 70 65 72 74 79 2d 61 63 63 65 73 73 6f 72 2d 70 72 6f personator-property-accessor-pro
8ea20 63 65 64 75 72 65 3f 22 0a 20 20 20 20 22 69 6d 70 65 72 73 6f 6e 61 74 6f 72 2d 70 72 6f 70 65 cedure?"....."impersonator-prope
8ea40 72 74 79 3f 22 0a 20 20 20 20 22 69 6d 70 65 72 73 6f 6e 61 74 6f 72 3f 22 0a 20 20 20 20 22 69 rty?"....."impersonator?"....."i
8ea60 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 3f 22 0a 20 20 20 20 22 69 6d 70 6c 65 6d 65 6e 74 61 74 mplementation?"....."implementat
8ea80 69 6f 6e 3f 2f 63 22 0a 20 20 20 20 22 69 6d 70 6c 69 65 73 22 0a 20 20 20 20 22 69 6d 70 6f 72 ion?/c"....."implies"....."impor
8eaa0 74 22 0a 20 20 20 20 22 69 6e 2d 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 22 0a 20 20 20 20 22 69 6e t"....."in-combinations"....."in
8eac0 2d 63 79 63 6c 65 22 0a 20 20 20 20 22 69 6e 2d 64 69 63 74 22 0a 20 20 20 20 22 69 6e 2d 64 69 -cycle"....."in-dict"....."in-di
8eae0 63 74 2d 6b 65 79 73 22 0a 20 20 20 20 22 69 6e 2d 64 69 63 74 2d 70 61 69 72 73 22 0a 20 20 20 ct-keys"....."in-dict-pairs"....
8eb00 20 22 69 6e 2d 64 69 63 74 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 22 69 6e 2d 69 6d 6d 75 74 61 ."in-dict-values"....."in-immuta
8eb20 62 6c 65 2d 73 65 74 22 0a 20 20 20 20 22 69 6e 2d 6d 75 74 61 62 6c 65 2d 73 65 74 22 0a 20 20 ble-set"....."in-mutable-set"...
8eb40 20 20 22 69 6e 2d 70 61 72 61 6c 6c 65 6c 22 0a 20 20 20 20 22 69 6e 2d 70 65 72 6d 75 74 61 74 .."in-parallel"....."in-permutat
8eb60 69 6f 6e 73 22 0a 20 20 20 20 22 69 6e 2d 73 65 71 75 65 6e 63 65 73 22 0a 20 20 20 20 22 69 6e ions"....."in-sequences"....."in
8eb80 2d 73 65 74 22 0a 20 20 20 20 22 69 6e 2d 73 6c 69 63 65 22 0a 20 20 20 20 22 69 6e 2d 73 74 72 -set"....."in-slice"....."in-str
8eba0 65 61 6d 22 0a 20 20 20 20 22 69 6e 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 22 69 6e 2d 76 61 6c eam"....."in-syntax"....."in-val
8ebc0 75 65 73 2a 2d 73 65 71 75 65 6e 63 65 22 0a 20 20 20 20 22 69 6e 2d 76 61 6c 75 65 73 2d 73 65 ues*-sequence"....."in-values-se
8ebe0 71 75 65 6e 63 65 22 0a 20 20 20 20 22 69 6e 2d 77 65 61 6b 2d 73 65 74 22 0a 20 20 20 20 22 69 quence"....."in-weak-set"....."i
8ec00 6e 63 6c 75 64 65 22 0a 20 20 20 20 22 69 6e 63 6c 75 64 65 2d 61 74 2f 72 65 6c 61 74 69 76 65 nclude"....."include-at/relative
8ec20 2d 74 6f 22 0a 20 20 20 20 22 69 6e 63 6c 75 64 65 2d 61 74 2f 72 65 6c 61 74 69 76 65 2d 74 6f -to"....."include-at/relative-to
8ec40 2f 72 65 61 64 65 72 22 0a 20 20 20 20 22 69 6e 63 6c 75 64 65 2f 72 65 61 64 65 72 22 0a 20 20 /reader"....."include/reader"...
8ec60 20 20 22 69 6e 63 6c 75 73 69 76 65 2d 72 61 6e 67 65 22 0a 20 20 20 20 22 69 6e 64 65 78 2d 6f .."inclusive-range"....."index-o
8ec80 66 22 0a 20 20 20 20 22 69 6e 64 65 78 2d 77 68 65 72 65 22 0a 20 20 20 20 22 69 6e 64 65 78 3f f"....."index-where"....."index?
8eca0 22 0a 20 20 20 20 22 69 6e 64 65 78 65 73 2d 6f 66 22 0a 20 20 20 20 22 69 6e 64 65 78 65 73 2d "....."indexes-of"....."indexes-
8ecc0 77 68 65 72 65 22 0a 20 20 20 20 22 69 6e 65 78 61 63 74 2d 3e 65 78 61 63 74 22 0a 20 20 20 20 where"....."inexact->exact".....
8ece0 22 69 6e 65 78 61 63 74 2d 72 65 61 6c 3f 22 0a 20 20 20 20 22 69 6e 65 78 61 63 74 3f 22 0a 20 "inexact-real?"....."inexact?"..
8ed00 20 20 20 22 69 6e 66 69 6e 69 74 65 3f 22 0a 20 20 20 20 22 69 6e 68 65 72 69 74 22 0a 20 20 20 ..."infinite?"....."inherit"....
8ed20 20 22 69 6e 68 65 72 69 74 2d 66 69 65 6c 64 22 0a 20 20 20 20 22 69 6e 68 65 72 69 74 2f 69 6e ."inherit-field"....."inherit/in
8ed40 6e 65 72 22 0a 20 20 20 20 22 69 6e 68 65 72 69 74 2f 73 75 70 65 72 22 0a 20 20 20 20 22 69 6e ner"....."inherit/super"....."in
8ed60 69 74 22 0a 20 20 20 20 22 69 6e 69 74 2d 64 65 70 65 6e 64 22 0a 20 20 20 20 22 69 6e 69 74 2d it"....."init-depend"....."init-
8ed80 66 69 65 6c 64 22 0a 20 20 20 20 22 69 6e 69 74 2d 72 65 73 74 22 0a 20 20 20 20 22 69 6e 6e 65 field"....."init-rest"....."inne
8eda0 72 22 0a 20 20 20 20 22 69 6e 70 75 74 2d 70 6f 72 74 2d 61 70 70 65 6e 64 22 0a 20 20 20 20 22 r"....."input-port-append"....."
8edc0 69 6e 70 75 74 2d 70 6f 72 74 3f 22 0a 20 20 20 20 22 69 6e 73 70 65 63 74 22 0a 20 20 20 20 22 input-port?"....."inspect"....."
8ede0 69 6e 73 70 65 63 74 6f 72 2d 73 75 70 65 72 69 6f 72 3f 22 0a 20 20 20 20 22 69 6e 73 70 65 63 inspector-superior?"....."inspec
8ee00 74 6f 72 3f 22 0a 20 20 20 20 22 69 6e 73 74 22 0a 20 20 20 20 22 69 6e 73 74 61 6e 63 65 6f 66 tor?"....."inst"....."instanceof
8ee20 2f 63 22 0a 20 20 20 20 22 69 6e 73 74 61 6e 74 69 61 74 65 22 0a 20 20 20 20 22 69 6e 74 65 67 /c"....."instantiate"....."integ
8ee40 65 72 2d 3e 63 68 61 72 22 0a 20 20 20 20 22 69 6e 74 65 67 65 72 2d 3e 69 6e 74 65 67 65 72 2d er->char"....."integer->integer-
8ee60 62 79 74 65 73 22 0a 20 20 20 20 22 69 6e 74 65 67 65 72 2d 62 79 74 65 73 2d 3e 69 6e 74 65 67 bytes"....."integer-bytes->integ
8ee80 65 72 22 0a 20 20 20 20 22 69 6e 74 65 67 65 72 2d 69 6e 22 0a 20 20 20 20 22 69 6e 74 65 67 65 er"....."integer-in"....."intege
8eea0 72 2d 6c 65 6e 67 74 68 22 0a 20 20 20 20 22 69 6e 74 65 67 65 72 2d 73 71 72 74 22 0a 20 20 20 r-length"....."integer-sqrt"....
8eec0 20 22 69 6e 74 65 67 65 72 2d 73 71 72 74 2f 72 65 6d 61 69 6e 64 65 72 22 0a 20 20 20 20 22 69 ."integer-sqrt/remainder"....."i
8eee0 6e 74 65 67 65 72 3f 22 0a 20 20 20 20 22 69 6e 74 65 72 61 63 74 69 76 65 2d 63 6f 6d 6d 61 6e nteger?"....."interactive-comman
8ef00 64 2d 70 72 6f 63 65 64 75 72 65 22 0a 20 20 20 20 22 69 6e 74 65 72 61 63 74 69 76 65 2d 63 6f d-procedure"....."interactive-co
8ef20 6d 6d 61 6e 64 3f 22 0a 20 20 20 20 22 69 6e 74 65 72 66 61 63 65 22 0a 20 20 20 20 22 69 6e 74 mmand?"....."interface"....."int
8ef40 65 72 66 61 63 65 2a 22 0a 20 20 20 20 22 69 6e 74 65 72 66 61 63 65 2d 3e 6d 65 74 68 6f 64 2d erface*"....."interface->method-
8ef60 6e 61 6d 65 73 22 0a 20 20 20 20 22 69 6e 74 65 72 66 61 63 65 2d 65 78 74 65 6e 73 69 6f 6e 3f names"....."interface-extension?
8ef80 22 0a 20 20 20 20 22 69 6e 74 65 72 66 61 63 65 3f 22 0a 20 20 20 20 22 69 6e 74 65 72 6e 61 6c "....."interface?"....."internal
8efa0 2d 64 65 66 69 6e 69 74 69 6f 6e 2d 63 6f 6e 74 65 78 74 2d 61 64 64 2d 73 63 6f 70 65 73 22 0a -definition-context-add-scopes".
8efc0 20 20 20 20 22 69 6e 74 65 72 6e 61 6c 2d 64 65 66 69 6e 69 74 69 6f 6e 2d 63 6f 6e 74 65 78 74 ...."internal-definition-context
8efe0 2d 61 70 70 6c 79 22 0a 20 20 20 20 22 69 6e 74 65 72 6e 61 6c 2d 64 65 66 69 6e 69 74 69 6f 6e -apply"....."internal-definition
8f000 2d 63 6f 6e 74 65 78 74 2d 62 69 6e 64 69 6e 67 2d 69 64 65 6e 74 69 66 69 65 72 73 22 0a 20 20 -context-binding-identifiers"...
8f020 20 20 22 69 6e 74 65 72 6e 61 6c 2d 64 65 66 69 6e 69 74 69 6f 6e 2d 63 6f 6e 74 65 78 74 2d 69 .."internal-definition-context-i
8f040 6e 74 72 6f 64 75 63 65 22 0a 20 20 20 20 22 69 6e 74 65 72 6e 61 6c 2d 64 65 66 69 6e 69 74 69 ntroduce"....."internal-definiti
8f060 6f 6e 2d 63 6f 6e 74 65 78 74 2d 73 65 61 6c 22 0a 20 20 20 20 22 69 6e 74 65 72 6e 61 6c 2d 64 on-context-seal"....."internal-d
8f080 65 66 69 6e 69 74 69 6f 6e 2d 63 6f 6e 74 65 78 74 2d 73 70 6c 69 63 65 2d 62 69 6e 64 69 6e 67 efinition-context-splice-binding
8f0a0 2d 69 64 65 6e 74 69 66 69 65 72 22 0a 20 20 20 20 22 69 6e 74 65 72 6e 61 6c 2d 64 65 66 69 6e -identifier"....."internal-defin
8f0c0 69 74 69 6f 6e 2d 63 6f 6e 74 65 78 74 3f 22 0a 20 20 20 20 22 69 6e 76 61 72 69 61 6e 74 2d 61 ition-context?"....."invariant-a
8f0e0 73 73 65 72 74 69 6f 6e 22 0a 20 20 20 20 22 69 6e 76 6f 6b 65 2d 75 6e 69 74 22 0a 20 20 20 20 ssertion"....."invoke-unit".....
8f100 22 69 6e 76 6f 6b 65 2d 75 6e 69 74 2f 69 6e 66 65 72 22 0a 20 20 20 20 22 69 73 2d 61 3f 22 0a "invoke-unit/infer"....."is-a?".
8f120 20 20 20 20 22 69 73 2d 61 3f 2f 63 22 0a 20 20 20 20 22 6b 65 79 77 6f 72 64 2d 3e 73 74 72 69 ...."is-a?/c"....."keyword->stri
8f140 6e 67 22 0a 20 20 20 20 22 6b 65 79 77 6f 72 64 2d 61 70 70 6c 79 22 0a 20 20 20 20 22 6b 65 79 ng"....."keyword-apply"....."key
8f160 77 6f 72 64 2d 61 70 70 6c 79 2f 64 69 63 74 22 0a 20 20 20 20 22 6b 65 79 77 6f 72 64 3c 3f 22 word-apply/dict"....."keyword<?"
8f180 0a 20 20 20 20 22 6b 65 79 77 6f 72 64 3f 22 0a 20 20 20 20 22 6b 65 79 77 6f 72 64 73 2d 6d 61 ....."keyword?"....."keywords-ma
8f1a0 74 63 68 22 0a 20 20 20 20 22 6b 69 6c 6c 2d 74 68 72 65 61 64 22 0a 20 20 20 20 22 6c 61 6d 62 tch"....."kill-thread"....."lamb
8f1c0 64 61 3a 22 0a 20 20 20 20 22 6c 61 73 74 22 0a 20 20 20 20 22 6c 61 73 74 2d 70 61 69 72 22 0a da:"....."last"....."last-pair".
8f1e0 20 20 20 20 22 6c 61 7a 79 22 0a 20 20 20 20 22 6c 63 6d 22 0a 20 20 20 20 22 6c 65 67 61 63 79 ...."lazy"....."lcm"....."legacy
8f200 2d 6d 61 74 63 68 2d 65 78 70 61 6e 64 65 72 3f 22 0a 20 20 20 20 22 6c 65 6e 67 74 68 22 0a 20 -match-expander?"....."length"..
8f220 20 20 20 22 6c 65 74 2a 2d 76 61 6c 75 65 73 3a 22 0a 20 20 20 20 22 6c 65 74 2a 3a 22 0a 20 20 ..."let*-values:"....."let*:"...
8f240 20 20 22 6c 65 74 2d 76 61 6c 75 65 73 3a 22 0a 20 20 20 20 22 6c 65 74 2f 63 63 3a 22 0a 20 20 .."let-values:"....."let/cc:"...
8f260 20 20 22 6c 65 74 2f 65 63 3a 22 0a 20 20 20 20 22 6c 65 74 3a 22 0a 20 20 20 20 22 6c 65 74 72 .."let/ec:"....."let:"....."letr
8f280 65 63 2d 76 61 6c 75 65 73 3a 22 0a 20 20 20 20 22 6c 65 74 72 65 63 3a 22 0a 20 20 20 20 22 6c ec-values:"....."letrec:"....."l
8f2a0 69 62 65 72 61 6c 2d 64 65 66 69 6e 65 2d 63 6f 6e 74 65 78 74 3f 22 0a 20 20 20 20 22 6c 69 6e iberal-define-context?"....."lin
8f2c0 6b 22 0a 20 20 20 20 22 6c 69 6e 6b 2d 65 78 69 73 74 73 3f 22 0a 20 20 20 20 22 6c 69 73 74 22 k"....."link-exists?"....."list"
8f2e0 0a 20 20 20 20 22 6c 69 73 74 2a 22 0a 20 20 20 20 22 6c 69 73 74 2a 6f 66 22 0a 20 20 20 20 22 ....."list*"....."list*of"....."
8f300 6c 69 73 74 2d 3e 62 79 74 65 73 22 0a 20 20 20 20 22 6c 69 73 74 2d 3e 6d 75 74 61 62 6c 65 2d list->bytes"....."list->mutable-
8f320 73 65 74 22 0a 20 20 20 20 22 6c 69 73 74 2d 3e 6d 75 74 61 62 6c 65 2d 73 65 74 61 6c 77 22 0a set"....."list->mutable-setalw".
8f340 20 20 20 20 22 6c 69 73 74 2d 3e 6d 75 74 61 62 6c 65 2d 73 65 74 65 71 22 0a 20 20 20 20 22 6c ...."list->mutable-seteq"....."l
8f360 69 73 74 2d 3e 6d 75 74 61 62 6c 65 2d 73 65 74 65 71 76 22 0a 20 20 20 20 22 6c 69 73 74 2d 3e ist->mutable-seteqv"....."list->
8f380 73 65 74 22 0a 20 20 20 20 22 6c 69 73 74 2d 3e 73 65 74 61 6c 77 22 0a 20 20 20 20 22 6c 69 73 set"....."list->setalw"....."lis
8f3a0 74 2d 3e 73 65 74 65 71 22 0a 20 20 20 20 22 6c 69 73 74 2d 3e 73 65 74 65 71 76 22 0a 20 20 20 t->seteq"....."list->seteqv"....
8f3c0 20 22 6c 69 73 74 2d 3e 73 74 72 69 6e 67 22 0a 20 20 20 20 22 6c 69 73 74 2d 3e 76 65 63 74 6f ."list->string"....."list->vecto
8f3e0 72 22 0a 20 20 20 20 22 6c 69 73 74 2d 3e 77 65 61 6b 2d 73 65 74 22 0a 20 20 20 20 22 6c 69 73 r"....."list->weak-set"....."lis
8f400 74 2d 3e 77 65 61 6b 2d 73 65 74 61 6c 77 22 0a 20 20 20 20 22 6c 69 73 74 2d 3e 77 65 61 6b 2d t->weak-setalw"....."list->weak-
8f420 73 65 74 65 71 22 0a 20 20 20 20 22 6c 69 73 74 2d 3e 77 65 61 6b 2d 73 65 74 65 71 76 22 0a 20 seteq"....."list->weak-seteqv"..
8f440 20 20 20 22 6c 69 73 74 2d 63 6f 6e 74 72 61 63 74 3f 22 0a 20 20 20 20 22 6c 69 73 74 2d 70 72 ..."list-contract?"....."list-pr
8f460 65 66 69 78 3f 22 0a 20 20 20 20 22 6c 69 73 74 2d 72 65 66 22 0a 20 20 20 20 22 6c 69 73 74 2d efix?"....."list-ref"....."list-
8f480 73 65 74 22 0a 20 20 20 20 22 6c 69 73 74 2d 74 61 69 6c 22 0a 20 20 20 20 22 6c 69 73 74 2d 75 set"....."list-tail"....."list-u
8f4a0 70 64 61 74 65 22 0a 20 20 20 20 22 6c 69 73 74 2f 63 22 0a 20 20 20 20 22 6c 69 73 74 3f 22 0a pdate"....."list/c"....."list?".
8f4c0 20 20 20 20 22 6c 69 73 74 65 6e 2d 70 6f 72 74 2d 6e 75 6d 62 65 72 3f 22 0a 20 20 20 20 22 6c ...."listen-port-number?"....."l
8f4e0 69 73 74 6f 66 22 0a 20 20 20 20 22 6c 6f 61 64 22 0a 20 20 20 20 22 6c 6f 61 64 2d 65 78 74 65 istof"....."load"....."load-exte
8f500 6e 73 69 6f 6e 22 0a 20 20 20 20 22 6c 6f 61 64 2d 6f 6e 2d 64 65 6d 61 6e 64 2d 65 6e 61 62 6c nsion"....."load-on-demand-enabl
8f520 65 64 22 0a 20 20 20 20 22 6c 6f 61 64 2d 72 65 6c 61 74 69 76 65 22 0a 20 20 20 20 22 6c 6f 61 ed"....."load-relative"....."loa
8f540 64 2d 72 65 6c 61 74 69 76 65 2d 65 78 74 65 6e 73 69 6f 6e 22 0a 20 20 20 20 22 6c 6f 61 64 2f d-relative-extension"....."load/
8f560 63 64 22 0a 20 20 20 20 22 6c 6f 61 64 2f 75 73 65 2d 63 6f 6d 70 69 6c 65 64 22 0a 20 20 20 20 cd"....."load/use-compiled".....
8f580 22 6c 6f 63 61 6c 22 0a 20 20 20 20 22 6c 6f 63 61 6c 2d 65 78 70 61 6e 64 22 0a 20 20 20 20 22 "local"....."local-expand"....."
8f5a0 6c 6f 63 61 6c 2d 65 78 70 61 6e 64 2f 63 61 70 74 75 72 65 2d 6c 69 66 74 73 22 0a 20 20 20 20 local-expand/capture-lifts".....
8f5c0 22 6c 6f 63 61 6c 2d 74 72 61 6e 73 66 6f 72 6d 65 72 2d 65 78 70 61 6e 64 22 0a 20 20 20 20 22 "local-transformer-expand"....."
8f5e0 6c 6f 63 61 6c 2d 74 72 61 6e 73 66 6f 72 6d 65 72 2d 65 78 70 61 6e 64 2f 63 61 70 74 75 72 65 local-transformer-expand/capture
8f600 2d 6c 69 66 74 73 22 0a 20 20 20 20 22 6c 6f 63 61 6c 65 2d 73 74 72 69 6e 67 2d 65 6e 63 6f 64 -lifts"....."locale-string-encod
8f620 69 6e 67 22 0a 20 20 20 20 22 6c 6f 67 22 0a 20 20 20 20 22 6c 6f 67 2d 61 6c 6c 2d 6c 65 76 65 ing"....."log"....."log-all-leve
8f640 6c 73 22 0a 20 20 20 20 22 6c 6f 67 2d 6c 65 76 65 6c 2d 65 76 74 22 0a 20 20 20 20 22 6c 6f 67 ls"....."log-level-evt"....."log
8f660 2d 6c 65 76 65 6c 3f 22 0a 20 20 20 20 22 6c 6f 67 2d 6d 61 78 2d 6c 65 76 65 6c 22 0a 20 20 20 -level?"....."log-max-level"....
8f680 20 22 6c 6f 67 2d 6d 65 73 73 61 67 65 22 0a 20 20 20 20 22 6c 6f 67 2d 72 65 63 65 69 76 65 72 ."log-message"....."log-receiver
8f6a0 3f 22 0a 20 20 20 20 22 6c 6f 67 67 65 72 2d 6e 61 6d 65 22 0a 20 20 20 20 22 6c 6f 67 67 65 72 ?"....."logger-name"....."logger
8f6c0 3f 22 0a 20 20 20 20 22 6d 61 67 6e 69 74 75 64 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 61 72 69 ?"....."magnitude"....."make-ari
8f6e0 74 79 2d 61 74 2d 6c 65 61 73 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 62 61 73 65 2d 65 6d 70 74 ty-at-least"....."make-base-empt
8f700 79 2d 6e 61 6d 65 73 70 61 63 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 62 61 73 65 2d 6e 61 6d 65 y-namespace"....."make-base-name
8f720 73 70 61 63 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 62 79 74 65 73 22 0a 20 20 20 20 22 6d 61 6b space"....."make-bytes"....."mak
8f740 65 2d 63 68 61 6e 6e 65 6c 22 0a 20 20 20 20 22 6d 61 6b 65 2d 63 68 61 70 65 72 6f 6e 65 2d 63 e-channel"....."make-chaperone-c
8f760 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d ontract"....."make-continuation-
8f780 6d 61 72 6b 2d 6b 65 79 22 0a 20 20 20 20 22 6d 61 6b 65 2d 63 6f 6e 74 69 6e 75 61 74 69 6f 6e mark-key"....."make-continuation
8f7a0 2d 70 72 6f 6d 70 74 2d 74 61 67 22 0a 20 20 20 20 22 6d 61 6b 65 2d 63 6f 6e 74 72 61 63 74 22 -prompt-tag"....."make-contract"
8f7c0 0a 20 20 20 20 22 6d 61 6b 65 2d 63 75 73 74 6f 64 69 61 6e 22 0a 20 20 20 20 22 6d 61 6b 65 2d ....."make-custodian"....."make-
8f7e0 63 75 73 74 6f 64 69 61 6e 2d 62 6f 78 22 0a 20 20 20 20 22 6d 61 6b 65 2d 63 75 73 74 6f 6d 2d custodian-box"....."make-custom-
8f800 68 61 73 68 22 0a 20 20 20 20 22 6d 61 6b 65 2d 63 75 73 74 6f 6d 2d 68 61 73 68 2d 74 79 70 65 hash"....."make-custom-hash-type
8f820 73 22 0a 20 20 20 20 22 6d 61 6b 65 2d 63 75 73 74 6f 6d 2d 73 65 74 22 0a 20 20 20 20 22 6d 61 s"....."make-custom-set"....."ma
8f840 6b 65 2d 63 75 73 74 6f 6d 2d 73 65 74 2d 74 79 70 65 73 22 0a 20 20 20 20 22 6d 61 6b 65 2d 64 ke-custom-set-types"....."make-d
8f860 61 74 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 64 61 74 65 2a 22 0a 20 20 20 20 22 6d 61 6b 65 2d ate"....."make-date*"....."make-
8f880 64 65 72 69 76 65 64 2d 70 61 72 61 6d 65 74 65 72 22 0a 20 20 20 20 22 6d 61 6b 65 2d 64 69 72 derived-parameter"....."make-dir
8f8a0 65 63 74 6f 72 79 22 0a 20 20 20 20 22 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 79 2a 22 0a 20 20 ectory"....."make-directory*"...
8f8c0 20 20 22 6d 61 6b 65 2d 64 6f 2d 73 65 71 75 65 6e 63 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 .."make-do-sequence"....."make-e
8f8e0 6d 70 74 79 2d 6e 61 6d 65 73 70 61 63 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 6e 76 69 72 6f mpty-namespace"....."make-enviro
8f900 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 73 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 70 68 65 6d nment-variables"....."make-ephem
8f920 65 72 6f 6e 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 70 68 65 6d 65 72 6f 6e 2d 68 61 73 68 22 0a eron"....."make-ephemeron-hash".
8f940 20 20 20 20 22 6d 61 6b 65 2d 65 70 68 65 6d 65 72 6f 6e 2d 68 61 73 68 61 6c 77 22 0a 20 20 20 ...."make-ephemeron-hashalw"....
8f960 20 22 6d 61 6b 65 2d 65 70 68 65 6d 65 72 6f 6e 2d 68 61 73 68 65 71 22 0a 20 20 20 20 22 6d 61 ."make-ephemeron-hasheq"....."ma
8f980 6b 65 2d 65 70 68 65 6d 65 72 6f 6e 2d 68 61 73 68 65 71 76 22 0a 20 20 20 20 22 6d 61 6b 65 2d ke-ephemeron-hasheqv"....."make-
8f9a0 65 78 6e 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 62 72 65 61 6b 22 0a 20 20 20 20 22 6d exn"....."make-exn:break"....."m
8f9c0 61 6b 65 2d 65 78 6e 3a 62 72 65 61 6b 3a 68 61 6e 67 2d 75 70 22 0a 20 20 20 20 22 6d 61 6b 65 ake-exn:break:hang-up"....."make
8f9e0 2d 65 78 6e 3a 62 72 65 61 6b 3a 74 65 72 6d 69 6e 61 74 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d -exn:break:terminate"....."make-
8fa00 65 78 6e 3a 66 61 69 6c 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e exn:fail"....."make-exn:fail:con
8fa20 74 72 61 63 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 tract"....."make-exn:fail:contra
8fa40 63 74 3a 61 72 69 74 79 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e ct:arity"....."make-exn:fail:con
8fa60 74 72 61 63 74 3a 62 6c 61 6d 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 69 6c 3a tract:blame"....."make-exn:fail:
8fa80 63 6f 6e 74 72 61 63 74 3a 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 22 0a 20 20 20 20 22 6d 61 6b 65 contract:continuation"....."make
8faa0 2d 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 64 69 76 69 64 65 2d 62 79 2d 7a 65 72 -exn:fail:contract:divide-by-zer
8fac0 6f 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 6e o"....."make-exn:fail:contract:n
8fae0 6f 6e 2d 66 69 78 6e 75 6d 2d 72 65 73 75 6c 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a on-fixnum-result"....."make-exn:
8fb00 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 76 61 72 69 61 62 6c 65 22 0a 20 20 20 20 22 6d 61 6b fail:contract:variable"....."mak
8fb20 65 2d 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d 22 0a 20 20 20 20 22 6d 61 6b 65 e-exn:fail:filesystem"....."make
8fb40 2d 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d 3a 65 72 72 6e 6f 22 0a 20 20 20 20 -exn:fail:filesystem:errno".....
8fb60 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d 3a 65 78 69 73 74 73 "make-exn:fail:filesystem:exists
8fb80 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d 3a "....."make-exn:fail:filesystem:
8fba0 6d 69 73 73 69 6e 67 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 missing-module"....."make-exn:fa
8fbc0 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d 3a 76 65 72 73 69 6f 6e 22 0a 20 20 20 20 22 6d 61 6b 65 il:filesystem:version"....."make
8fbe0 2d 65 78 6e 3a 66 61 69 6c 3a 6e 65 74 77 6f 72 6b 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e -exn:fail:network"....."make-exn
8fc00 3a 66 61 69 6c 3a 6e 65 74 77 6f 72 6b 3a 65 72 72 6e 6f 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 :fail:network:errno"....."make-e
8fc20 78 6e 3a 66 61 69 6c 3a 6f 62 6a 65 63 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 xn:fail:object"....."make-exn:fa
8fc40 69 6c 3a 6f 75 74 2d 6f 66 2d 6d 65 6d 6f 72 79 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a il:out-of-memory"....."make-exn:
8fc60 66 61 69 6c 3a 72 65 61 64 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 69 6c 3a 72 65 fail:read"....."make-exn:fail:re
8fc80 61 64 3a 65 6f 66 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 69 6c 3a 72 65 61 64 3a ad:eof"....."make-exn:fail:read:
8fca0 6e 6f 6e 2d 63 68 61 72 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 69 6c 3a 73 79 6e non-char"....."make-exn:fail:syn
8fcc0 74 61 78 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 61 78 3a 6d tax"....."make-exn:fail:syntax:m
8fce0 69 73 73 69 6e 67 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a 66 61 69 issing-module"....."make-exn:fai
8fd00 6c 3a 73 79 6e 74 61 78 3a 75 6e 62 6f 75 6e 64 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a l:syntax:unbound"....."make-exn:
8fd20 66 61 69 6c 3a 75 6e 73 75 70 70 6f 72 74 65 64 22 0a 20 20 20 20 22 6d 61 6b 65 2d 65 78 6e 3a fail:unsupported"....."make-exn:
8fd40 66 61 69 6c 3a 75 73 65 72 22 0a 20 20 20 20 22 6d 61 6b 65 2d 66 69 6c 65 2d 6f 72 2d 64 69 72 fail:user"....."make-file-or-dir
8fd60 65 63 74 6f 72 79 2d 6c 69 6e 6b 22 0a 20 20 20 20 22 6d 61 6b 65 2d 66 6c 61 74 2d 63 6f 6e 74 ectory-link"....."make-flat-cont
8fd80 72 61 63 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 66 73 65 6d 61 70 68 6f 72 65 22 0a 20 20 20 20 ract"....."make-fsemaphore".....
8fda0 22 6d 61 6b 65 2d 67 65 6e 65 72 69 63 22 0a 20 20 20 20 22 6d 61 6b 65 2d 68 61 6e 64 6c 65 2d "make-generic"....."make-handle-
8fdc0 67 65 74 2d 70 72 65 66 65 72 65 6e 63 65 2d 6c 6f 63 6b 65 64 22 0a 20 20 20 20 22 6d 61 6b 65 get-preference-locked"....."make
8fde0 2d 68 61 73 68 22 0a 20 20 20 20 22 6d 61 6b 65 2d 68 61 73 68 2d 70 6c 61 63 65 68 6f 6c 64 65 -hash"....."make-hash-placeholde
8fe00 72 22 0a 20 20 20 20 22 6d 61 6b 65 2d 68 61 73 68 61 6c 77 22 0a 20 20 20 20 22 6d 61 6b 65 2d r"....."make-hashalw"....."make-
8fe20 68 61 73 68 61 6c 77 2d 70 6c 61 63 65 68 6f 6c 64 65 72 22 0a 20 20 20 20 22 6d 61 6b 65 2d 68 hashalw-placeholder"....."make-h
8fe40 61 73 68 65 71 22 0a 20 20 20 20 22 6d 61 6b 65 2d 68 61 73 68 65 71 2d 70 6c 61 63 65 68 6f 6c asheq"....."make-hasheq-placehol
8fe60 64 65 72 22 0a 20 20 20 20 22 6d 61 6b 65 2d 68 61 73 68 65 71 76 22 0a 20 20 20 20 22 6d 61 6b der"....."make-hasheqv"....."mak
8fe80 65 2d 68 61 73 68 65 71 76 2d 70 6c 61 63 65 68 6f 6c 64 65 72 22 0a 20 20 20 20 22 6d 61 6b 65 e-hasheqv-placeholder"....."make
8fea0 2d 69 6d 6d 75 74 61 62 6c 65 2d 63 75 73 74 6f 6d 2d 68 61 73 68 22 0a 20 20 20 20 22 6d 61 6b -immutable-custom-hash"....."mak
8fec0 65 2d 69 6d 6d 75 74 61 62 6c 65 2d 68 61 73 68 22 0a 20 20 20 20 22 6d 61 6b 65 2d 69 6d 6d 75 e-immutable-hash"....."make-immu
8fee0 74 61 62 6c 65 2d 68 61 73 68 61 6c 77 22 0a 20 20 20 20 22 6d 61 6b 65 2d 69 6d 6d 75 74 61 62 table-hashalw"....."make-immutab
8ff00 6c 65 2d 68 61 73 68 65 71 22 0a 20 20 20 20 22 6d 61 6b 65 2d 69 6d 6d 75 74 61 62 6c 65 2d 68 le-hasheq"....."make-immutable-h
8ff20 61 73 68 65 71 76 22 0a 20 20 20 20 22 6d 61 6b 65 2d 69 6d 70 65 72 73 6f 6e 61 74 6f 72 2d 70 asheqv"....."make-impersonator-p
8ff40 72 6f 70 65 72 74 79 22 0a 20 20 20 20 22 6d 61 6b 65 2d 69 6e 70 75 74 2d 70 6f 72 74 22 0a 20 roperty"....."make-input-port"..
8ff60 20 20 20 22 6d 61 6b 65 2d 69 6e 70 75 74 2d 70 6f 72 74 2f 72 65 61 64 2d 74 6f 2d 70 65 65 6b ..."make-input-port/read-to-peek
8ff80 22 0a 20 20 20 20 22 6d 61 6b 65 2d 69 6e 73 70 65 63 74 6f 72 22 0a 20 20 20 20 22 6d 61 6b 65 "....."make-inspector"....."make
8ffa0 2d 69 6e 74 65 72 6e 65 64 2d 73 79 6e 74 61 78 2d 69 6e 74 72 6f 64 75 63 65 72 22 0a 20 20 20 -interned-syntax-introducer"....
8ffc0 20 22 6d 61 6b 65 2d 6b 65 79 77 6f 72 64 2d 70 72 6f 63 65 64 75 72 65 22 29 0a 20 20 22 52 61 ."make-keyword-procedure")..."Ra
8ffe0 63 6b 65 74 20 5c 22 62 75 69 6c 74 69 6e 73 5c 22 3a 20 65 78 74 72 61 20 66 72 6f 6d 20 23 6c cket.\"builtins\":.extra.from.#l
90000 61 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 23 6c 61 6e 67 20 74 79 70 65 64 2f 72 61 63 6b 65 ang.racket.and.#lang.typed/racke
90020 74 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 62 75 69 6c 74 69 6e 73 2d 32 t")..(defconst.racket-builtins-2
90040 2d 6f 66 2d 32 0a 20 20 3b 3b 20 54 68 69 73 20 6c 69 73 74 20 77 61 73 20 67 65 6e 65 72 61 74 -of-2...;;.This.list.was.generat
90060 65 64 20 75 73 69 6e 67 20 6b 65 79 77 6f 72 64 73 2e 72 6b 74 20 2d 2d 20 64 6f 6e 27 74 20 65 ed.using.keywords.rkt.--.don't.e
90080 64 69 74 0a 20 20 3b 3b 20 69 6e 64 69 76 69 64 75 61 6c 20 69 74 65 6d 73 20 68 65 72 65 21 0a dit...;;.individual.items.here!.
900a0 20 20 27 28 22 6d 61 6b 65 2d 6b 6e 6f 77 6e 2d 63 68 61 72 2d 72 61 6e 67 65 2d 6c 69 73 74 22 ..'("make-known-char-range-list"
900c0 0a 20 20 20 20 22 6d 61 6b 65 2d 6c 69 6d 69 74 65 64 2d 69 6e 70 75 74 2d 70 6f 72 74 22 0a 20 ....."make-limited-input-port"..
900e0 20 20 20 22 6d 61 6b 65 2d 6c 69 73 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 6c 6f 63 6b 2d 66 69 ..."make-list"....."make-lock-fi
90100 6c 65 2d 6e 61 6d 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 6c 6f 67 2d 72 65 63 65 69 76 65 72 22 le-name"....."make-log-receiver"
90120 0a 20 20 20 20 22 6d 61 6b 65 2d 6c 6f 67 67 65 72 22 0a 20 20 20 20 22 6d 61 6b 65 2d 6d 69 78 ....."make-logger"....."make-mix
90140 69 6e 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 6d 75 74 61 62 6c 65 2d 63 in-contract"....."make-mutable-c
90160 75 73 74 6f 6d 2d 73 65 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 6e 6f 6e 65 2f 63 22 0a 20 20 20 ustom-set"....."make-none/c"....
90180 20 22 6d 61 6b 65 2d 6f 62 6a 65 63 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 6f 75 74 70 75 74 2d ."make-object"....."make-output-
901a0 70 6f 72 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 70 61 72 61 6d 65 74 65 72 22 0a 20 20 20 20 22 port"....."make-parameter"....."
901c0 6d 61 6b 65 2d 70 61 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 2a 22 0a 20 20 20 20 22 6d 61 6b make-parent-directory*"....."mak
901e0 65 2d 70 68 61 6e 74 6f 6d 2d 62 79 74 65 73 22 0a 20 20 20 20 22 6d 61 6b 65 2d 70 69 70 65 22 e-phantom-bytes"....."make-pipe"
90200 0a 20 20 20 20 22 6d 61 6b 65 2d 70 69 70 65 2d 77 69 74 68 2d 73 70 65 63 69 61 6c 73 22 0a 20 ....."make-pipe-with-specials"..
90220 20 20 20 22 6d 61 6b 65 2d 70 6c 61 63 65 68 6f 6c 64 65 72 22 0a 20 20 20 20 22 6d 61 6b 65 2d ..."make-placeholder"....."make-
90240 70 6c 75 6d 62 65 72 22 0a 20 20 20 20 22 6d 61 6b 65 2d 70 6f 6c 61 72 22 0a 20 20 20 20 22 6d plumber"....."make-polar"....."m
90260 61 6b 65 2d 70 6f 72 74 61 6c 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 22 6d 61 6b 65 2d 70 72 65 ake-portal-syntax"....."make-pre
90280 64 69 63 61 74 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 70 72 65 66 61 62 2d 73 74 72 75 63 74 22 dicate"....."make-prefab-struct"
902a0 0a 20 20 20 20 22 6d 61 6b 65 2d 70 72 69 6d 69 74 69 76 65 2d 63 6c 61 73 73 22 0a 20 20 20 20 ....."make-primitive-class".....
902c0 22 6d 61 6b 65 2d 70 72 6f 6a 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 70 "make-proj-contract"....."make-p
902e0 73 65 75 64 6f 2d 72 61 6e 64 6f 6d 2d 67 65 6e 65 72 61 74 6f 72 22 0a 20 20 20 20 22 6d 61 6b seudo-random-generator"....."mak
90300 65 2d 72 65 61 64 65 72 2d 67 72 61 70 68 22 0a 20 20 20 20 22 6d 61 6b 65 2d 72 65 61 64 74 61 e-reader-graph"....."make-readta
90320 62 6c 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 72 65 63 74 61 6e 67 75 6c 61 72 22 0a 20 20 20 20 ble"....."make-rectangular".....
90340 22 6d 61 6b 65 2d 72 65 6e 61 6d 65 2d 74 72 61 6e 73 66 6f 72 6d 65 72 22 0a 20 20 20 20 22 6d "make-rename-transformer"....."m
90360 61 6b 65 2d 72 65 73 6f 6c 76 65 64 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 22 0a 20 20 20 20 22 6d ake-resolved-module-path"....."m
90380 61 6b 65 2d 73 65 63 75 72 69 74 79 2d 67 75 61 72 64 22 0a 20 20 20 20 22 6d 61 6b 65 2d 73 65 ake-security-guard"....."make-se
903a0 6d 61 70 68 6f 72 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 73 65 74 21 2d 74 72 61 6e 73 66 6f 72 maphore"....."make-set!-transfor
903c0 6d 65 72 22 0a 20 20 20 20 22 6d 61 6b 65 2d 73 68 61 72 65 64 2d 62 79 74 65 73 22 0a 20 20 20 mer"....."make-shared-bytes"....
903e0 20 22 6d 61 6b 65 2d 73 69 62 6c 69 6e 67 2d 69 6e 73 70 65 63 74 6f 72 22 0a 20 20 20 20 22 6d ."make-sibling-inspector"....."m
90400 61 6b 65 2d 73 70 65 63 69 61 6c 2d 63 6f 6d 6d 65 6e 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 73 ake-special-comment"....."make-s
90420 72 63 6c 6f 63 22 0a 20 20 20 20 22 6d 61 6b 65 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 6d 61 rcloc"....."make-string"....."ma
90440 6b 65 2d 73 74 72 75 63 74 2d 66 69 65 6c 64 2d 61 63 63 65 73 73 6f 72 22 0a 20 20 20 20 22 6d ke-struct-field-accessor"....."m
90460 61 6b 65 2d 73 74 72 75 63 74 2d 66 69 65 6c 64 2d 6d 75 74 61 74 6f 72 22 0a 20 20 20 20 22 6d ake-struct-field-mutator"....."m
90480 61 6b 65 2d 73 74 72 75 63 74 2d 74 79 70 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 73 74 72 75 63 ake-struct-type"....."make-struc
904a0 74 2d 74 79 70 65 2d 70 72 6f 70 65 72 74 79 22 0a 20 20 20 20 22 6d 61 6b 65 2d 73 79 6e 74 61 t-type-property"....."make-synta
904c0 78 2d 64 65 6c 74 61 2d 69 6e 74 72 6f 64 75 63 65 72 22 0a 20 20 20 20 22 6d 61 6b 65 2d 73 79 x-delta-introducer"....."make-sy
904e0 6e 74 61 78 2d 69 6e 74 72 6f 64 75 63 65 72 22 0a 20 20 20 20 22 6d 61 6b 65 2d 74 65 6d 70 6f ntax-introducer"....."make-tempo
90500 72 61 72 79 2d 64 69 72 65 63 74 6f 72 79 22 0a 20 20 20 20 22 6d 61 6b 65 2d 74 65 6d 70 6f 72 rary-directory"....."make-tempor
90520 61 72 79 2d 64 69 72 65 63 74 6f 72 79 2a 22 0a 20 20 20 20 22 6d 61 6b 65 2d 74 65 6d 70 6f 72 ary-directory*"....."make-tempor
90540 61 72 79 2d 66 69 6c 65 22 0a 20 20 20 20 22 6d 61 6b 65 2d 74 65 6d 70 6f 72 61 72 79 2d 66 69 ary-file"....."make-temporary-fi
90560 6c 65 2a 22 0a 20 20 20 20 22 6d 61 6b 65 2d 74 65 6e 74 61 74 69 76 65 2d 70 72 65 74 74 79 2d le*"....."make-tentative-pretty-
90580 70 72 69 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 6d 61 6b 65 2d 74 68 72 print-output-port"....."make-thr
905a0 65 61 64 2d 63 65 6c 6c 22 0a 20 20 20 20 22 6d 61 6b 65 2d 74 68 72 65 61 64 2d 67 72 6f 75 70 ead-cell"....."make-thread-group
905c0 22 0a 20 20 20 20 22 6d 61 6b 65 2d 76 65 63 74 6f 72 22 0a 20 20 20 20 22 6d 61 6b 65 2d 77 65 "....."make-vector"....."make-we
905e0 61 6b 2d 62 6f 78 22 0a 20 20 20 20 22 6d 61 6b 65 2d 77 65 61 6b 2d 63 75 73 74 6f 6d 2d 68 61 ak-box"....."make-weak-custom-ha
90600 73 68 22 0a 20 20 20 20 22 6d 61 6b 65 2d 77 65 61 6b 2d 63 75 73 74 6f 6d 2d 73 65 74 22 0a 20 sh"....."make-weak-custom-set"..
90620 20 20 20 22 6d 61 6b 65 2d 77 65 61 6b 2d 68 61 73 68 22 0a 20 20 20 20 22 6d 61 6b 65 2d 77 65 ..."make-weak-hash"....."make-we
90640 61 6b 2d 68 61 73 68 61 6c 77 22 0a 20 20 20 20 22 6d 61 6b 65 2d 77 65 61 6b 2d 68 61 73 68 65 ak-hashalw"....."make-weak-hashe
90660 71 22 0a 20 20 20 20 22 6d 61 6b 65 2d 77 65 61 6b 2d 68 61 73 68 65 71 76 22 0a 20 20 20 20 22 q"....."make-weak-hasheqv"....."
90680 6d 61 6b 65 2d 77 69 6c 6c 2d 65 78 65 63 75 74 6f 72 22 0a 20 20 20 20 22 6d 61 70 22 0a 20 20 make-will-executor"....."map"...
906a0 20 20 22 6d 61 74 63 68 22 0a 20 20 20 20 22 6d 61 74 63 68 2a 22 0a 20 20 20 20 22 6d 61 74 63 .."match"....."match*"....."matc
906c0 68 2a 2f 64 65 72 69 76 65 64 22 0a 20 20 20 20 22 6d 61 74 63 68 2d 2e 2e 2e 2d 6e 65 73 74 69 h*/derived"....."match-...-nesti
906e0 6e 67 22 0a 20 20 20 20 22 6d 61 74 63 68 2d 64 65 66 69 6e 65 22 0a 20 20 20 20 22 6d 61 74 63 ng"....."match-define"....."matc
90700 68 2d 64 65 66 69 6e 65 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 22 6d 61 74 63 68 2d 65 71 75 61 h-define-values"....."match-equa
90720 6c 69 74 79 2d 74 65 73 74 22 0a 20 20 20 20 22 6d 61 74 63 68 2d 65 78 70 61 6e 64 65 72 3f 22 lity-test"....."match-expander?"
90740 0a 20 20 20 20 22 6d 61 74 63 68 2d 6c 61 6d 62 64 61 22 0a 20 20 20 20 22 6d 61 74 63 68 2d 6c ....."match-lambda"....."match-l
90760 61 6d 62 64 61 2a 22 0a 20 20 20 20 22 6d 61 74 63 68 2d 6c 61 6d 62 64 61 2a 2a 22 0a 20 20 20 ambda*"....."match-lambda**"....
90780 20 22 6d 61 74 63 68 2d 6c 65 74 22 0a 20 20 20 20 22 6d 61 74 63 68 2d 6c 65 74 2a 22 0a 20 20 ."match-let"....."match-let*"...
907a0 20 20 22 6d 61 74 63 68 2d 6c 65 74 2a 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 22 6d 61 74 63 68 .."match-let*-values"....."match
907c0 2d 6c 65 74 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 22 6d 61 74 63 68 2d 6c 65 74 72 65 63 22 0a -let-values"....."match-letrec".
907e0 20 20 20 20 22 6d 61 74 63 68 2d 6c 65 74 72 65 63 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 22 6d ...."match-letrec-values"....."m
90800 61 74 63 68 2f 64 65 72 69 76 65 64 22 0a 20 20 20 20 22 6d 61 74 63 68 2f 76 61 6c 75 65 73 22 atch/derived"....."match/values"
90820 0a 20 20 20 20 22 6d 61 74 63 68 65 73 2d 61 72 69 74 79 2d 65 78 61 63 74 6c 79 3f 22 0a 20 20 ....."matches-arity-exactly?"...
90840 20 20 22 6d 61 78 22 0a 20 20 20 20 22 6d 63 61 72 22 0a 20 20 20 20 22 6d 63 64 72 22 0a 20 20 .."max"....."mcar"....."mcdr"...
90860 20 20 22 6d 63 6f 6e 73 22 0a 20 20 20 20 22 6d 65 6d 62 65 72 22 0a 20 20 20 20 22 6d 65 6d 62 .."mcons"....."member"....."memb
90880 65 72 2d 6e 61 6d 65 2d 6b 65 79 22 0a 20 20 20 20 22 6d 65 6d 62 65 72 2d 6e 61 6d 65 2d 6b 65 er-name-key"....."member-name-ke
908a0 79 2d 68 61 73 68 2d 63 6f 64 65 22 0a 20 20 20 20 22 6d 65 6d 62 65 72 2d 6e 61 6d 65 2d 6b 65 y-hash-code"....."member-name-ke
908c0 79 3d 3f 22 0a 20 20 20 20 22 6d 65 6d 62 65 72 2d 6e 61 6d 65 2d 6b 65 79 3f 22 0a 20 20 20 20 y=?"....."member-name-key?".....
908e0 22 6d 65 6d 66 22 0a 20 20 20 20 22 6d 65 6d 6f 72 79 2d 6f 72 64 65 72 2d 61 63 71 75 69 72 65 "memf"....."memory-order-acquire
90900 22 0a 20 20 20 20 22 6d 65 6d 6f 72 79 2d 6f 72 64 65 72 2d 72 65 6c 65 61 73 65 22 0a 20 20 20 "....."memory-order-release"....
90920 20 22 6d 65 6d 71 22 0a 20 20 20 20 22 6d 65 6d 76 22 0a 20 20 20 20 22 6d 65 6d 77 22 0a 20 20 ."memq"....."memv"....."memw"...
90940 20 20 22 6d 65 72 67 65 2d 69 6e 70 75 74 22 0a 20 20 20 20 22 6d 65 74 68 6f 64 2d 69 6e 2d 69 .."merge-input"....."method-in-i
90960 6e 74 65 72 66 61 63 65 3f 22 0a 20 20 20 20 22 6d 69 6e 22 0a 20 20 20 20 22 6d 69 78 69 6e 22 nterface?"....."min"....."mixin"
90980 0a 20 20 20 20 22 6d 69 78 69 6e 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 6d 6f 64 75 6c ....."mixin-contract"....."modul
909a0 65 2d 3e 65 78 70 6f 72 74 73 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 3e 69 6d 70 6f 72 74 73 e->exports"....."module->imports
909c0 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 3e 69 6e 64 69 72 65 63 74 2d 65 78 70 6f 72 74 73 22 "....."module->indirect-exports"
909e0 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 3e 6c 61 6e 67 75 61 67 65 2d 69 6e 66 6f 22 0a 20 20 20 ....."module->language-info"....
90a00 20 22 6d 6f 64 75 6c 65 2d 3e 6e 61 6d 65 73 70 61 63 65 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 ."module->namespace"....."module
90a20 2d 3e 72 65 61 6c 6d 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 63 61 63 68 65 2d 63 6c 65 61 72 ->realm"....."module-cache-clear
90a40 21 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 63 6f 6d 70 69 6c 65 64 2d 63 72 6f 73 73 2d 70 68 !"....."module-compiled-cross-ph
90a60 61 73 65 2d 70 65 72 73 69 73 74 65 6e 74 3f 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 63 6f 6d ase-persistent?"....."module-com
90a80 70 69 6c 65 64 2d 65 78 70 6f 72 74 73 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 63 6f 6d 70 69 piled-exports"....."module-compi
90aa0 6c 65 64 2d 69 6d 70 6f 72 74 73 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 63 6f 6d 70 69 6c 65 led-imports"....."module-compile
90ac0 64 2d 69 6e 64 69 72 65 63 74 2d 65 78 70 6f 72 74 73 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d d-indirect-exports"....."module-
90ae0 63 6f 6d 70 69 6c 65 64 2d 6c 61 6e 67 75 61 67 65 2d 69 6e 66 6f 22 0a 20 20 20 20 22 6d 6f 64 compiled-language-info"....."mod
90b00 75 6c 65 2d 63 6f 6d 70 69 6c 65 64 2d 6e 61 6d 65 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 63 ule-compiled-name"....."module-c
90b20 6f 6d 70 69 6c 65 64 2d 72 65 61 6c 6d 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 63 6f 6d 70 69 ompiled-realm"....."module-compi
90b40 6c 65 64 2d 73 75 62 6d 6f 64 75 6c 65 73 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 64 65 63 6c led-submodules"....."module-decl
90b60 61 72 65 64 3f 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 2d 6a 6f ared?"....."module-path-index-jo
90b80 69 6e 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 2d 72 65 73 6f 6c in"....."module-path-index-resol
90ba0 76 65 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 2d 73 70 6c 69 74 ve"....."module-path-index-split
90bc0 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 2d 73 75 62 6d 6f 64 75 "....."module-path-index-submodu
90be0 6c 65 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e 64 65 78 3f 22 0a 20 20 20 le"....."module-path-index?"....
90c00 20 22 6d 6f 64 75 6c 65 2d 70 61 74 68 3f 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 70 72 65 64 ."module-path?"....."module-pred
90c20 65 66 69 6e 65 64 3f 22 0a 20 20 20 20 22 6d 6f 64 75 6c 65 2d 70 72 6f 76 69 64 65 2d 70 72 6f efined?"....."module-provide-pro
90c40 74 65 63 74 65 64 3f 22 0a 20 20 20 20 22 6d 6f 64 75 6c 6f 22 0a 20 20 20 20 22 6d 70 61 69 72 tected?"....."modulo"....."mpair
90c60 3f 22 0a 20 20 20 20 22 6d 75 22 0a 20 20 20 20 22 6d 75 74 61 62 6c 65 2d 73 65 74 22 0a 20 20 ?"....."mu"....."mutable-set"...
90c80 20 20 22 6d 75 74 61 62 6c 65 2d 73 65 74 61 6c 77 22 0a 20 20 20 20 22 6d 75 74 61 62 6c 65 2d .."mutable-setalw"....."mutable-
90ca0 73 65 74 65 71 22 0a 20 20 20 20 22 6d 75 74 61 62 6c 65 2d 73 65 74 65 71 76 22 0a 20 20 20 20 seteq"....."mutable-seteqv".....
90cc0 22 6e 2d 3e 74 68 22 0a 20 20 20 20 22 6e 61 63 6b 2d 67 75 61 72 64 2d 65 76 74 22 0a 20 20 20 "n->th"....."nack-guard-evt"....
90ce0 20 22 6e 61 6d 65 73 70 61 63 65 2d 61 6e 63 68 6f 72 2d 3e 65 6d 70 74 79 2d 6e 61 6d 65 73 70 ."namespace-anchor->empty-namesp
90d00 61 63 65 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 61 6e 63 68 6f 72 2d 3e 6e 61 6d 65 ace"....."namespace-anchor->name
90d20 73 70 61 63 65 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 61 6e 63 68 6f 72 3f 22 0a 20 space"....."namespace-anchor?"..
90d40 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 61 74 74 61 63 68 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 ..."namespace-attach-module"....
90d60 20 22 6e 61 6d 65 73 70 61 63 65 2d 61 74 74 61 63 68 2d 6d 6f 64 75 6c 65 2d 64 65 63 6c 61 72 ."namespace-attach-module-declar
90d80 61 74 69 6f 6e 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 62 61 73 65 2d 70 68 61 73 65 ation"....."namespace-base-phase
90da0 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 63 61 6c 6c 2d 77 69 74 68 2d 72 65 67 69 73 "....."namespace-call-with-regis
90dc0 74 72 79 2d 6c 6f 63 6b 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 6d 61 70 70 65 64 2d try-lock"....."namespace-mapped-
90de0 73 79 6d 62 6f 6c 73 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 6d 6f 64 75 6c 65 2d 69 symbols"....."namespace-module-i
90e00 64 65 6e 74 69 66 69 65 72 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 6d 6f 64 75 6c 65 dentifier"....."namespace-module
90e20 2d 72 65 67 69 73 74 72 79 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 72 65 71 75 69 72 -registry"....."namespace-requir
90e40 65 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 72 65 71 75 69 72 65 2f 63 6f 6e 73 74 61 e"....."namespace-require/consta
90e60 6e 74 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 72 65 71 75 69 72 65 2f 63 6f 70 79 22 nt"....."namespace-require/copy"
90e80 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 72 65 71 75 69 72 65 2f 65 78 70 61 6e 73 69 6f ....."namespace-require/expansio
90ea0 6e 2d 74 69 6d 65 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 73 65 74 2d 76 61 72 69 61 n-time"....."namespace-set-varia
90ec0 62 6c 65 2d 76 61 6c 75 65 21 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 73 79 6d 62 6f ble-value!"....."namespace-symbo
90ee0 6c 2d 3e 69 64 65 6e 74 69 66 69 65 72 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 73 79 l->identifier"....."namespace-sy
90f00 6e 74 61 78 2d 69 6e 74 72 6f 64 75 63 65 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 65 2d 75 ntax-introduce"....."namespace-u
90f20 6e 64 65 66 69 6e 65 2d 76 61 72 69 61 62 6c 65 21 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 ndefine-variable!"....."namespac
90f40 65 2d 75 6e 70 72 6f 74 65 63 74 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 e-unprotect-module"....."namespa
90f60 63 65 2d 76 61 72 69 61 62 6c 65 2d 76 61 6c 75 65 22 0a 20 20 20 20 22 6e 61 6d 65 73 70 61 63 ce-variable-value"....."namespac
90f80 65 3f 22 0a 20 20 20 20 22 6e 61 6e 3f 22 0a 20 20 20 20 22 6e 61 6e 64 22 0a 20 20 20 20 22 6e e?"....."nan?"....."nand"....."n
90fa0 61 74 75 72 61 6c 2d 6e 75 6d 62 65 72 2f 63 22 0a 20 20 20 20 22 6e 61 74 75 72 61 6c 3f 22 0a atural-number/c"....."natural?".
90fc0 20 20 20 20 22 6e 65 67 61 74 65 22 0a 20 20 20 20 22 6e 65 67 61 74 69 76 65 2d 69 6e 74 65 67 ...."negate"....."negative-integ
90fe0 65 72 3f 22 0a 20 20 20 20 22 6e 65 67 61 74 69 76 65 3f 22 0a 20 20 20 20 22 6e 65 76 65 72 2d er?"....."negative?"....."never-
91000 65 76 74 22 0a 20 20 20 20 22 6e 65 77 22 0a 20 20 20 20 22 6e 65 77 2d e2 88 80 2f 63 22 0a 20 evt"....."new"....."new-.../c"..
91020 20 20 20 22 6e 65 77 2d e2 88 83 2f 63 22 0a 20 20 20 20 22 6e 65 77 6c 69 6e 65 22 0a 20 20 20 ..."new-.../c"....."newline"....
91040 20 22 6e 69 6e 74 68 22 0a 20 20 20 20 22 6e 6f 6e 2d 65 6d 70 74 79 2d 6c 69 73 74 6f 66 22 0a ."ninth"....."non-empty-listof".
91060 20 20 20 20 22 6e 6f 6e 2d 65 6d 70 74 79 2d 73 74 72 69 6e 67 3f 22 0a 20 20 20 20 22 6e 6f 6e ...."non-empty-string?"....."non
91080 65 2f 63 22 0a 20 20 20 20 22 6e 6f 6e 6e 65 67 61 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 22 0a e/c"....."nonnegative-integer?".
910a0 20 20 20 20 22 6e 6f 6e 70 6f 73 69 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 22 0a 20 20 20 20 22 ...."nonpositive-integer?"....."
910c0 6e 6f 72 22 0a 20 20 20 20 22 6e 6f 72 6d 61 6c 2d 63 61 73 65 2d 70 61 74 68 22 0a 20 20 20 20 nor"....."normal-case-path".....
910e0 22 6e 6f 72 6d 61 6c 69 7a 65 2d 61 72 69 74 79 22 0a 20 20 20 20 22 6e 6f 72 6d 61 6c 69 7a 65 "normalize-arity"....."normalize
91100 2d 70 61 74 68 22 0a 20 20 20 20 22 6e 6f 72 6d 61 6c 69 7a 65 64 2d 61 72 69 74 79 3f 22 0a 20 -path"....."normalized-arity?"..
91120 20 20 20 22 6e 6f 74 22 0a 20 20 20 20 22 6e 6f 74 2f 63 22 0a 20 20 20 20 22 6e 75 6c 6c 22 0a ..."not"....."not/c"....."null".
91140 20 20 20 20 22 6e 75 6c 6c 3f 22 0a 20 20 20 20 22 6e 75 6d 62 65 72 2d 3e 73 74 72 69 6e 67 22 ...."null?"....."number->string"
91160 0a 20 20 20 20 22 6e 75 6d 62 65 72 3f 22 0a 20 20 20 20 22 6e 75 6d 65 72 61 74 6f 72 22 0a 20 ....."number?"....."numerator"..
91180 20 20 20 22 6f 62 6a 65 63 74 25 22 0a 20 20 20 20 22 6f 62 6a 65 63 74 2d 3e 76 65 63 74 6f 72 ..."object%"....."object->vector
911a0 22 0a 20 20 20 20 22 6f 62 6a 65 63 74 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 6f 62 6a "....."object-contract"....."obj
911c0 65 63 74 2d 69 6e 66 6f 22 0a 20 20 20 20 22 6f 62 6a 65 63 74 2d 69 6e 74 65 72 66 61 63 65 22 ect-info"....."object-interface"
911e0 0a 20 20 20 20 22 6f 62 6a 65 63 74 2d 6d 65 74 68 6f 64 2d 61 72 69 74 79 2d 69 6e 63 6c 75 64 ....."object-method-arity-includ
91200 65 73 3f 22 0a 20 20 20 20 22 6f 62 6a 65 63 74 2d 6e 61 6d 65 22 0a 20 20 20 20 22 6f 62 6a 65 es?"....."object-name"....."obje
91220 63 74 2d 6f 72 2d 66 61 6c 73 65 3d 3f 22 0a 20 20 20 20 22 6f 62 6a 65 63 74 2f 63 22 0a 20 20 ct-or-false=?"....."object/c"...
91240 20 20 22 6f 62 6a 65 63 74 3d 2d 68 61 73 68 2d 63 6f 64 65 22 0a 20 20 20 20 22 6f 62 6a 65 63 .."object=-hash-code"....."objec
91260 74 3d 3f 22 0a 20 20 20 20 22 6f 62 6a 65 63 74 3f 22 0a 20 20 20 20 22 6f 64 64 3f 22 0a 20 20 t=?"....."object?"....."odd?"...
91280 20 20 22 6f 6e 65 2d 6f 66 2f 63 22 0a 20 20 20 20 22 6f 6e 6c 79 22 0a 20 20 20 20 22 6f 70 65 .."one-of/c"....."only"....."ope
912a0 6e 22 0a 20 20 20 20 22 6f 70 65 6e 2d 69 6e 70 75 74 2d 62 79 74 65 73 22 0a 20 20 20 20 22 6f n"....."open-input-bytes"....."o
912c0 70 65 6e 2d 69 6e 70 75 74 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 6f 70 65 6e 2d 6f 75 74 70 pen-input-string"....."open-outp
912e0 75 74 2d 62 79 74 65 73 22 0a 20 20 20 20 22 6f 70 65 6e 2d 6f 75 74 70 75 74 2d 6e 6f 77 68 65 ut-bytes"....."open-output-nowhe
91300 72 65 22 0a 20 20 20 20 22 6f 70 65 6e 2d 6f 75 74 70 75 74 2d 73 74 72 69 6e 67 22 0a 20 20 20 re"....."open-output-string"....
91320 20 22 6f 70 74 2d 6c 61 6d 62 64 61 3a 22 0a 20 20 20 20 22 6f 70 74 2f 63 22 0a 20 20 20 20 22 ."opt-lambda:"....."opt/c"....."
91340 6f 72 2f 63 22 0a 20 20 20 20 22 6f 72 64 65 72 2d 6f 66 2d 6d 61 67 6e 69 74 75 64 65 22 0a 20 or/c"....."order-of-magnitude"..
91360 20 20 20 22 6f 72 6d 61 70 22 0a 20 20 20 20 22 6f 74 68 65 72 2d 65 78 65 63 75 74 65 2d 62 69 ..."ormap"....."other-execute-bi
91380 74 22 0a 20 20 20 20 22 6f 74 68 65 72 2d 70 65 72 6d 69 73 73 69 6f 6e 2d 62 69 74 73 22 0a 20 t"....."other-permission-bits"..
913a0 20 20 20 22 6f 74 68 65 72 2d 72 65 61 64 2d 62 69 74 22 0a 20 20 20 20 22 6f 74 68 65 72 2d 77 ..."other-read-bit"....."other-w
913c0 72 69 74 65 2d 62 69 74 22 0a 20 20 20 20 22 6f 75 74 70 75 74 2d 70 6f 72 74 3f 22 0a 20 20 20 rite-bit"....."output-port?"....
913e0 20 22 6f 76 65 72 6d 65 6e 74 22 0a 20 20 20 20 22 6f 76 65 72 6d 65 6e 74 2a 22 0a 20 20 20 20 ."overment"....."overment*".....
91400 22 6f 76 65 72 72 69 64 65 22 0a 20 20 20 20 22 6f 76 65 72 72 69 64 65 2a 22 0a 20 20 20 20 22 "override"....."override*"....."
91420 6f 76 65 72 72 69 64 65 2d 66 69 6e 61 6c 22 0a 20 20 20 20 22 6f 76 65 72 72 69 64 65 2d 66 69 override-final"....."override-fi
91440 6e 61 6c 2a 22 0a 20 20 20 20 22 70 61 69 72 3f 22 0a 20 20 20 20 22 70 61 72 61 6d 65 74 65 72 nal*"....."pair?"....."parameter
91460 2d 70 72 6f 63 65 64 75 72 65 3d 3f 22 0a 20 20 20 20 22 70 61 72 61 6d 65 74 65 72 2f 63 22 0a -procedure=?"....."parameter/c".
91480 20 20 20 20 22 70 61 72 61 6d 65 74 65 72 3f 22 0a 20 20 20 20 22 70 61 72 61 6d 65 74 65 72 69 ...."parameter?"....."parameteri
914a0 7a 61 74 69 6f 6e 3f 22 0a 20 20 20 20 22 70 61 72 61 6d 65 74 72 69 63 2d 3e 2f 63 22 0a 20 20 zation?"....."parametric->/c"...
914c0 20 20 22 70 61 72 73 65 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 22 0a 20 20 20 20 22 70 61 72 74 .."parse-command-line"....."part
914e0 69 74 69 6f 6e 22 0a 20 20 20 20 22 70 61 74 68 2d 3e 62 79 74 65 73 22 0a 20 20 20 20 22 70 61 ition"....."path->bytes"....."pa
91500 74 68 2d 3e 63 6f 6d 70 6c 65 74 65 2d 70 61 74 68 22 0a 20 20 20 20 22 70 61 74 68 2d 3e 64 69 th->complete-path"....."path->di
91520 72 65 63 74 6f 72 79 2d 70 61 74 68 22 0a 20 20 20 20 22 70 61 74 68 2d 3e 73 74 72 69 6e 67 22 rectory-path"....."path->string"
91540 0a 20 20 20 20 22 70 61 74 68 2d 61 64 64 2d 65 78 74 65 6e 73 69 6f 6e 22 0a 20 20 20 20 22 70 ....."path-add-extension"....."p
91560 61 74 68 2d 61 64 64 2d 73 75 66 66 69 78 22 0a 20 20 20 20 22 70 61 74 68 2d 63 6f 6e 76 65 6e ath-add-suffix"....."path-conven
91580 74 69 6f 6e 2d 74 79 70 65 22 0a 20 20 20 20 22 70 61 74 68 2d 65 6c 65 6d 65 6e 74 2d 3e 62 79 tion-type"....."path-element->by
915a0 74 65 73 22 0a 20 20 20 20 22 70 61 74 68 2d 65 6c 65 6d 65 6e 74 2d 3e 73 74 72 69 6e 67 22 0a tes"....."path-element->string".
915c0 20 20 20 20 22 70 61 74 68 2d 65 6c 65 6d 65 6e 74 3f 22 0a 20 20 20 20 22 70 61 74 68 2d 66 6f ...."path-element?"....."path-fo
915e0 72 2d 73 6f 6d 65 2d 73 79 73 74 65 6d 3f 22 0a 20 20 20 20 22 70 61 74 68 2d 67 65 74 2d 65 78 r-some-system?"....."path-get-ex
91600 74 65 6e 73 69 6f 6e 22 0a 20 20 20 20 22 70 61 74 68 2d 68 61 73 2d 65 78 74 65 6e 73 69 6f 6e tension"....."path-has-extension
91620 3f 22 0a 20 20 20 20 22 70 61 74 68 2d 6c 69 73 74 2d 73 74 72 69 6e 67 2d 3e 70 61 74 68 2d 6c ?"....."path-list-string->path-l
91640 69 73 74 22 0a 20 20 20 20 22 70 61 74 68 2d 6f 6e 6c 79 22 0a 20 20 20 20 22 70 61 74 68 2d 72 ist"....."path-only"....."path-r
91660 65 70 6c 61 63 65 2d 65 78 74 65 6e 73 69 6f 6e 22 0a 20 20 20 20 22 70 61 74 68 2d 72 65 70 6c eplace-extension"....."path-repl
91680 61 63 65 2d 73 75 66 66 69 78 22 0a 20 20 20 20 22 70 61 74 68 2d 73 74 72 69 6e 67 3f 22 0a 20 ace-suffix"....."path-string?"..
916a0 20 20 20 22 70 61 74 68 3c 3f 22 0a 20 20 20 20 22 70 61 74 68 3f 22 0a 20 20 20 20 22 70 61 74 ..."path<?"....."path?"....."pat
916c0 68 6c 69 73 74 2d 63 6c 6f 73 75 72 65 22 0a 20 20 20 20 22 70 63 61 73 65 2d 6c 61 6d 62 64 61 hlist-closure"....."pcase-lambda
916e0 3a 22 0a 20 20 20 20 22 70 64 65 66 69 6e 65 3a 22 0a 20 20 20 20 22 70 65 65 6b 2d 62 79 74 65 :"....."pdefine:"....."peek-byte
91700 22 0a 20 20 20 20 22 70 65 65 6b 2d 62 79 74 65 2d 6f 72 2d 73 70 65 63 69 61 6c 22 0a 20 20 20 "....."peek-byte-or-special"....
91720 20 22 70 65 65 6b 2d 62 79 74 65 73 22 0a 20 20 20 20 22 70 65 65 6b 2d 62 79 74 65 73 21 22 0a ."peek-bytes"....."peek-bytes!".
91740 20 20 20 20 22 70 65 65 6b 2d 62 79 74 65 73 21 2d 65 76 74 22 0a 20 20 20 20 22 70 65 65 6b 2d ...."peek-bytes!-evt"....."peek-
91760 62 79 74 65 73 2d 61 76 61 69 6c 21 22 0a 20 20 20 20 22 70 65 65 6b 2d 62 79 74 65 73 2d 61 76 bytes-avail!"....."peek-bytes-av
91780 61 69 6c 21 2a 22 0a 20 20 20 20 22 70 65 65 6b 2d 62 79 74 65 73 2d 61 76 61 69 6c 21 2d 65 76 ail!*"....."peek-bytes-avail!-ev
917a0 74 22 0a 20 20 20 20 22 70 65 65 6b 2d 62 79 74 65 73 2d 61 76 61 69 6c 21 2f 65 6e 61 62 6c 65 t"....."peek-bytes-avail!/enable
917c0 2d 62 72 65 61 6b 22 0a 20 20 20 20 22 70 65 65 6b 2d 62 79 74 65 73 2d 65 76 74 22 0a 20 20 20 -break"....."peek-bytes-evt"....
917e0 20 22 70 65 65 6b 2d 63 68 61 72 22 0a 20 20 20 20 22 70 65 65 6b 2d 63 68 61 72 2d 6f 72 2d 73 ."peek-char"....."peek-char-or-s
91800 70 65 63 69 61 6c 22 0a 20 20 20 20 22 70 65 65 6b 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 70 pecial"....."peek-string"....."p
91820 65 65 6b 2d 73 74 72 69 6e 67 21 22 0a 20 20 20 20 22 70 65 65 6b 2d 73 74 72 69 6e 67 21 2d 65 eek-string!"....."peek-string!-e
91840 76 74 22 0a 20 20 20 20 22 70 65 65 6b 2d 73 74 72 69 6e 67 2d 65 76 74 22 0a 20 20 20 20 22 70 vt"....."peek-string-evt"....."p
91860 65 65 6b 69 6e 67 2d 69 6e 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 70 65 72 6d 75 74 61 74 eeking-input-port"....."permutat
91880 69 6f 6e 73 22 0a 20 20 20 20 22 70 68 61 6e 74 6f 6d 2d 62 79 74 65 73 3f 22 0a 20 20 20 20 22 ions"....."phantom-bytes?"....."
918a0 70 69 22 0a 20 20 20 20 22 70 69 2e 66 22 0a 20 20 20 20 22 70 69 70 65 2d 63 6f 6e 74 65 6e 74 pi"....."pi.f"....."pipe-content
918c0 2d 6c 65 6e 67 74 68 22 0a 20 20 20 20 22 70 6c 61 63 65 22 0a 20 20 20 20 22 70 6c 61 63 65 2a -length"....."place"....."place*
918e0 22 0a 20 20 20 20 22 70 6c 61 63 65 2d 62 72 65 61 6b 22 0a 20 20 20 20 22 70 6c 61 63 65 2d 63 "....."place-break"....."place-c
91900 68 61 6e 6e 65 6c 22 0a 20 20 20 20 22 70 6c 61 63 65 2d 63 68 61 6e 6e 65 6c 2d 67 65 74 22 0a hannel"....."place-channel-get".
91920 20 20 20 20 22 70 6c 61 63 65 2d 63 68 61 6e 6e 65 6c 2d 70 75 74 22 0a 20 20 20 20 22 70 6c 61 ...."place-channel-put"....."pla
91940 63 65 2d 63 68 61 6e 6e 65 6c 2d 70 75 74 2f 67 65 74 22 0a 20 20 20 20 22 70 6c 61 63 65 2d 63 ce-channel-put/get"....."place-c
91960 68 61 6e 6e 65 6c 3f 22 0a 20 20 20 20 22 70 6c 61 63 65 2d 64 65 61 64 2d 65 76 74 22 0a 20 20 hannel?"....."place-dead-evt"...
91980 20 20 22 70 6c 61 63 65 2d 65 6e 61 62 6c 65 64 3f 22 0a 20 20 20 20 22 70 6c 61 63 65 2d 6b 69 .."place-enabled?"....."place-ki
919a0 6c 6c 22 0a 20 20 20 20 22 70 6c 61 63 65 2d 6c 6f 63 61 74 69 6f 6e 3f 22 0a 20 20 20 20 22 70 ll"....."place-location?"....."p
919c0 6c 61 63 65 2d 6d 65 73 73 61 67 65 2d 61 6c 6c 6f 77 65 64 3f 22 0a 20 20 20 20 22 70 6c 61 63 lace-message-allowed?"....."plac
919e0 65 2d 77 61 69 74 22 0a 20 20 20 20 22 70 6c 61 63 65 2f 63 6f 6e 74 65 78 74 22 0a 20 20 20 20 e-wait"....."place/context".....
91a00 22 70 6c 61 63 65 3f 22 0a 20 20 20 20 22 70 6c 61 63 65 68 6f 6c 64 65 72 2d 67 65 74 22 0a 20 "place?"....."placeholder-get"..
91a20 20 20 20 22 70 6c 61 63 65 68 6f 6c 64 65 72 2d 73 65 74 21 22 0a 20 20 20 20 22 70 6c 61 63 65 ..."placeholder-set!"....."place
91a40 68 6f 6c 64 65 72 3f 22 0a 20 20 20 20 22 70 6c 61 6d 62 64 61 3a 22 0a 20 20 20 20 22 70 6c 65 holder?"....."plambda:"....."ple
91a60 74 3a 22 0a 20 20 20 20 22 70 6c 75 6d 62 65 72 2d 61 64 64 2d 66 6c 75 73 68 21 22 0a 20 20 20 t:"....."plumber-add-flush!"....
91a80 20 22 70 6c 75 6d 62 65 72 2d 66 6c 75 73 68 2d 61 6c 6c 22 0a 20 20 20 20 22 70 6c 75 6d 62 65 ."plumber-flush-all"....."plumbe
91aa0 72 2d 66 6c 75 73 68 2d 68 61 6e 64 6c 65 2d 72 65 6d 6f 76 65 21 22 0a 20 20 20 20 22 70 6c 75 r-flush-handle-remove!"....."plu
91ac0 6d 62 65 72 2d 66 6c 75 73 68 2d 68 61 6e 64 6c 65 3f 22 0a 20 20 20 20 22 70 6c 75 6d 62 65 72 mber-flush-handle?"....."plumber
91ae0 3f 22 0a 20 20 20 20 22 70 6f 6c 6c 2d 67 75 61 72 64 2d 65 76 74 22 0a 20 20 20 20 22 70 6f 70 ?"....."poll-guard-evt"....."pop
91b00 74 2d 6c 61 6d 62 64 61 3a 22 0a 20 20 20 20 22 70 6f 72 74 2d 3e 62 79 74 65 73 22 0a 20 20 20 t-lambda:"....."port->bytes"....
91b20 20 22 70 6f 72 74 2d 3e 62 79 74 65 73 2d 6c 69 6e 65 73 22 0a 20 20 20 20 22 70 6f 72 74 2d 3e ."port->bytes-lines"....."port->
91b40 6c 69 6e 65 73 22 0a 20 20 20 20 22 70 6f 72 74 2d 3e 6c 69 73 74 22 0a 20 20 20 20 22 70 6f 72 lines"....."port->list"....."por
91b60 74 2d 3e 73 74 72 69 6e 67 22 0a 20 20 20 20 22 70 6f 72 74 2d 63 6c 6f 73 65 64 2d 65 76 74 22 t->string"....."port-closed-evt"
91b80 0a 20 20 20 20 22 70 6f 72 74 2d 63 6c 6f 73 65 64 3f 22 0a 20 20 20 20 22 70 6f 72 74 2d 63 6f ....."port-closed?"....."port-co
91ba0 6d 6d 69 74 2d 70 65 65 6b 65 64 22 0a 20 20 20 20 22 70 6f 72 74 2d 63 6f 75 6e 74 2d 6c 69 6e mmit-peeked"....."port-count-lin
91bc0 65 73 21 22 0a 20 20 20 20 22 70 6f 72 74 2d 63 6f 75 6e 74 2d 6c 69 6e 65 73 2d 65 6e 61 62 6c es!"....."port-count-lines-enabl
91be0 65 64 22 0a 20 20 20 20 22 70 6f 72 74 2d 63 6f 75 6e 74 73 2d 6c 69 6e 65 73 3f 22 0a 20 20 20 ed"....."port-counts-lines?"....
91c00 20 22 70 6f 72 74 2d 64 69 73 70 6c 61 79 2d 68 61 6e 64 6c 65 72 22 0a 20 20 20 20 22 70 6f 72 ."port-display-handler"....."por
91c20 74 2d 66 69 6c 65 2d 69 64 65 6e 74 69 74 79 22 0a 20 20 20 20 22 70 6f 72 74 2d 66 69 6c 65 2d t-file-identity"....."port-file-
91c40 75 6e 6c 6f 63 6b 22 0a 20 20 20 20 22 70 6f 72 74 2d 6e 65 78 74 2d 6c 6f 63 61 74 69 6f 6e 22 unlock"....."port-next-location"
91c60 0a 20 20 20 20 22 70 6f 72 74 2d 6e 75 6d 62 65 72 3f 22 0a 20 20 20 20 22 70 6f 72 74 2d 70 72 ....."port-number?"....."port-pr
91c80 69 6e 74 2d 68 61 6e 64 6c 65 72 22 0a 20 20 20 20 22 70 6f 72 74 2d 70 72 6f 67 72 65 73 73 2d int-handler"....."port-progress-
91ca0 65 76 74 22 0a 20 20 20 20 22 70 6f 72 74 2d 70 72 6f 76 69 64 65 73 2d 70 72 6f 67 72 65 73 73 evt"....."port-provides-progress
91cc0 2d 65 76 74 73 3f 22 0a 20 20 20 20 22 70 6f 72 74 2d 72 65 61 64 2d 68 61 6e 64 6c 65 72 22 0a -evts?"....."port-read-handler".
91ce0 20 20 20 20 22 70 6f 72 74 2d 74 72 79 2d 66 69 6c 65 2d 6c 6f 63 6b 3f 22 0a 20 20 20 20 22 70 ...."port-try-file-lock?"....."p
91d00 6f 72 74 2d 77 61 69 74 69 6e 67 2d 70 65 65 72 3f 22 0a 20 20 20 20 22 70 6f 72 74 2d 77 72 69 ort-waiting-peer?"....."port-wri
91d20 74 65 2d 68 61 6e 64 6c 65 72 22 0a 20 20 20 20 22 70 6f 72 74 2d 77 72 69 74 65 73 2d 61 74 6f te-handler"....."port-writes-ato
91d40 6d 69 63 3f 22 0a 20 20 20 20 22 70 6f 72 74 2d 77 72 69 74 65 73 2d 73 70 65 63 69 61 6c 3f 22 mic?"....."port-writes-special?"
91d60 0a 20 20 20 20 22 70 6f 72 74 3f 22 0a 20 20 20 20 22 70 6f 72 74 61 6c 2d 73 79 6e 74 61 78 2d ....."port?"....."portal-syntax-
91d80 63 6f 6e 74 65 6e 74 22 0a 20 20 20 20 22 70 6f 72 74 61 6c 2d 73 79 6e 74 61 78 3f 22 0a 20 20 content"....."portal-syntax?"...
91da0 20 20 22 70 6f 73 69 74 69 76 65 2d 69 6e 74 65 67 65 72 3f 22 0a 20 20 20 20 22 70 6f 73 69 74 .."positive-integer?"....."posit
91dc0 69 76 65 3f 22 0a 20 20 20 20 22 70 72 65 64 22 0a 20 20 20 20 22 70 72 65 64 69 63 61 74 65 2f ive?"....."pred"....."predicate/
91de0 63 22 0a 20 20 20 20 22 70 72 65 66 61 62 2d 6b 65 79 2d 3e 73 74 72 75 63 74 2d 74 79 70 65 22 c"....."prefab-key->struct-type"
91e00 0a 20 20 20 20 22 70 72 65 66 61 62 2d 6b 65 79 3f 22 0a 20 20 20 20 22 70 72 65 66 61 62 2d 73 ....."prefab-key?"....."prefab-s
91e20 74 72 75 63 74 2d 6b 65 79 22 0a 20 20 20 20 22 70 72 65 66 61 62 2d 73 74 72 75 63 74 2d 74 79 truct-key"....."prefab-struct-ty
91e40 70 65 2d 6b 65 79 2b 66 69 65 6c 64 2d 63 6f 75 6e 74 22 0a 20 20 20 20 22 70 72 65 66 65 72 65 pe-key+field-count"....."prefere
91e60 6e 63 65 73 2d 6c 6f 63 6b 2d 66 69 6c 65 2d 6d 6f 64 65 22 0a 20 20 20 20 22 70 72 65 66 69 78 nces-lock-file-mode"....."prefix
91e80 22 0a 20 20 20 20 22 70 72 65 67 65 78 70 22 0a 20 20 20 20 22 70 72 65 67 65 78 70 3f 22 0a 20 "....."pregexp"....."pregexp?"..
91ea0 20 20 20 22 70 72 65 74 74 79 2d 64 69 73 70 6c 61 79 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d ..."pretty-display"....."pretty-
91ec0 66 6f 72 6d 61 74 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 22 0a 20 20 20 20 22 format"....."pretty-print"....."
91ee0 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 2e 2d 73 79 6d 62 6f 6c 2d 77 69 74 68 6f 75 74 2d 62 61 pretty-print-.-symbol-without-ba
91f00 72 73 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 61 62 62 72 65 76 69 61 74 65 rs"....."pretty-print-abbreviate
91f20 2d 72 65 61 64 2d 6d 61 63 72 6f 73 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 2d -read-macros"....."pretty-print-
91f40 63 6f 6c 75 6d 6e 73 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 63 75 72 72 65 columns"....."pretty-print-curre
91f60 6e 74 2d 73 74 79 6c 65 2d 74 61 62 6c 65 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e nt-style-table"....."pretty-prin
91f80 74 2d 64 65 70 74 68 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 65 78 61 63 74 t-depth"....."pretty-print-exact
91fa0 2d 61 73 2d 64 65 63 69 6d 61 6c 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 65 -as-decimal"....."pretty-print-e
91fc0 78 74 65 6e 64 2d 73 74 79 6c 65 2d 74 61 62 6c 65 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 xtend-style-table"....."pretty-p
91fe0 72 69 6e 74 2d 68 61 6e 64 6c 65 72 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 2d rint-handler"....."pretty-print-
92000 6e 65 77 6c 69 6e 65 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 70 6f 73 74 2d newline"....."pretty-print-post-
92020 70 72 69 6e 74 2d 68 6f 6f 6b 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 70 72 print-hook"....."pretty-print-pr
92040 65 2d 70 72 69 6e 74 2d 68 6f 6f 6b 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 2d e-print-hook"....."pretty-print-
92060 70 72 69 6e 74 2d 68 6f 6f 6b 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 70 72 print-hook"....."pretty-print-pr
92080 69 6e 74 2d 6c 69 6e 65 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 72 65 6d 61 int-line"....."pretty-print-rema
920a0 70 2d 73 74 79 6c 61 62 6c 65 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 73 68 p-stylable"....."pretty-print-sh
920c0 6f 77 2d 69 6e 65 78 61 63 74 6e 65 73 73 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e ow-inexactness"....."pretty-prin
920e0 74 2d 73 69 7a 65 2d 68 6f 6f 6b 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 2d 73 t-size-hook"....."pretty-print-s
92100 74 79 6c 65 2d 74 61 62 6c 65 3f 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 70 72 69 6e 74 69 6e tyle-table?"....."pretty-printin
92120 67 22 0a 20 20 20 20 22 70 72 65 74 74 79 2d 77 72 69 74 65 22 0a 20 20 20 20 22 70 72 69 6d 69 g"....."pretty-write"....."primi
92140 74 69 76 65 2d 63 6c 6f 73 75 72 65 3f 22 0a 20 20 20 20 22 70 72 69 6d 69 74 69 76 65 2d 72 65 tive-closure?"....."primitive-re
92160 73 75 6c 74 2d 61 72 69 74 79 22 0a 20 20 20 20 22 70 72 69 6d 69 74 69 76 65 3f 22 0a 20 20 20 sult-arity"....."primitive?"....
92180 20 22 70 72 69 6e 74 22 0a 20 20 20 20 22 70 72 69 6e 74 2d 61 73 2d 65 78 70 72 65 73 73 69 6f ."print"....."print-as-expressio
921a0 6e 22 0a 20 20 20 20 22 70 72 69 6e 74 2d 62 6f 6f 6c 65 61 6e 2d 6c 6f 6e 67 2d 66 6f 72 6d 22 n"....."print-boolean-long-form"
921c0 0a 20 20 20 20 22 70 72 69 6e 74 2d 62 6f 78 22 0a 20 20 20 20 22 70 72 69 6e 74 2d 67 72 61 70 ....."print-box"....."print-grap
921e0 68 22 0a 20 20 20 20 22 70 72 69 6e 74 2d 68 61 73 68 2d 74 61 62 6c 65 22 0a 20 20 20 20 22 70 h"....."print-hash-table"....."p
92200 72 69 6e 74 2d 6d 70 61 69 72 2d 63 75 72 6c 79 2d 62 72 61 63 65 73 22 0a 20 20 20 20 22 70 72 rint-mpair-curly-braces"....."pr
92220 69 6e 74 2d 70 61 69 72 2d 63 75 72 6c 79 2d 62 72 61 63 65 73 22 0a 20 20 20 20 22 70 72 69 6e int-pair-curly-braces"....."prin
92240 74 2d 72 65 61 64 65 72 2d 61 62 62 72 65 76 69 61 74 69 6f 6e 73 22 0a 20 20 20 20 22 70 72 69 t-reader-abbreviations"....."pri
92260 6e 74 2d 73 74 72 75 63 74 22 0a 20 20 20 20 22 70 72 69 6e 74 2d 73 79 6e 74 61 78 2d 77 69 64 nt-struct"....."print-syntax-wid
92280 74 68 22 0a 20 20 20 20 22 70 72 69 6e 74 2d 75 6e 72 65 61 64 61 62 6c 65 22 0a 20 20 20 20 22 th"....."print-unreadable"....."
922a0 70 72 69 6e 74 2d 76 61 6c 75 65 2d 63 6f 6c 75 6d 6e 73 22 0a 20 20 20 20 22 70 72 69 6e 74 2d print-value-columns"....."print-
922c0 76 65 63 74 6f 72 2d 6c 65 6e 67 74 68 22 0a 20 20 20 20 22 70 72 69 6e 74 61 62 6c 65 2f 63 22 vector-length"....."printable/c"
922e0 0a 20 20 20 20 22 70 72 69 6e 74 61 62 6c 65 3c 25 3e 22 0a 20 20 20 20 22 70 72 69 6e 74 66 22 ....."printable<%>"....."printf"
92300 0a 20 20 20 20 22 70 72 69 6e 74 6c 6e 22 0a 20 20 20 20 22 70 72 69 76 61 74 65 22 0a 20 20 20 ....."println"....."private"....
92320 20 22 70 72 69 76 61 74 65 2a 22 0a 20 20 20 20 22 70 72 6f 63 65 64 75 72 65 2d 3e 6d 65 74 68 ."private*"....."procedure->meth
92340 6f 64 22 0a 20 20 20 20 22 70 72 6f 63 65 64 75 72 65 2d 61 72 69 74 79 22 0a 20 20 20 20 22 70 od"....."procedure-arity"....."p
92360 72 6f 63 65 64 75 72 65 2d 61 72 69 74 79 2d 69 6e 63 6c 75 64 65 73 2f 63 22 0a 20 20 20 20 22 rocedure-arity-includes/c"....."
92380 70 72 6f 63 65 64 75 72 65 2d 61 72 69 74 79 2d 69 6e 63 6c 75 64 65 73 3f 22 0a 20 20 20 20 22 procedure-arity-includes?"....."
923a0 70 72 6f 63 65 64 75 72 65 2d 61 72 69 74 79 2d 6d 61 73 6b 22 0a 20 20 20 20 22 70 72 6f 63 65 procedure-arity-mask"....."proce
923c0 64 75 72 65 2d 61 72 69 74 79 3f 22 0a 20 20 20 20 22 70 72 6f 63 65 64 75 72 65 2d 63 6c 6f 73 dure-arity?"....."procedure-clos
923e0 75 72 65 2d 63 6f 6e 74 65 6e 74 73 2d 65 71 3f 22 0a 20 20 20 20 22 70 72 6f 63 65 64 75 72 65 ure-contents-eq?"....."procedure
92400 2d 65 78 74 72 61 63 74 2d 74 61 72 67 65 74 22 0a 20 20 20 20 22 70 72 6f 63 65 64 75 72 65 2d -extract-target"....."procedure-
92420 69 6d 70 65 72 73 6f 6e 61 74 6f 72 2a 3f 22 0a 20 20 20 20 22 70 72 6f 63 65 64 75 72 65 2d 6b impersonator*?"....."procedure-k
92440 65 79 77 6f 72 64 73 22 0a 20 20 20 20 22 70 72 6f 63 65 64 75 72 65 2d 72 65 61 6c 6d 22 0a 20 eywords"....."procedure-realm"..
92460 20 20 20 22 70 72 6f 63 65 64 75 72 65 2d 72 65 64 75 63 65 2d 61 72 69 74 79 22 0a 20 20 20 20 ..."procedure-reduce-arity".....
92480 22 70 72 6f 63 65 64 75 72 65 2d 72 65 64 75 63 65 2d 61 72 69 74 79 2d 6d 61 73 6b 22 0a 20 20 "procedure-reduce-arity-mask"...
924a0 20 20 22 70 72 6f 63 65 64 75 72 65 2d 72 65 64 75 63 65 2d 6b 65 79 77 6f 72 64 2d 61 72 69 74 .."procedure-reduce-keyword-arit
924c0 79 22 0a 20 20 20 20 22 70 72 6f 63 65 64 75 72 65 2d 72 65 64 75 63 65 2d 6b 65 79 77 6f 72 64 y"....."procedure-reduce-keyword
924e0 2d 61 72 69 74 79 2d 6d 61 73 6b 22 0a 20 20 20 20 22 70 72 6f 63 65 64 75 72 65 2d 72 65 6e 61 -arity-mask"....."procedure-rena
92500 6d 65 22 0a 20 20 20 20 22 70 72 6f 63 65 64 75 72 65 2d 72 65 73 75 6c 74 2d 61 72 69 74 79 22 me"....."procedure-result-arity"
92520 0a 20 20 20 20 22 70 72 6f 63 65 64 75 72 65 2d 73 70 65 63 69 61 6c 69 7a 65 22 0a 20 20 20 20 ....."procedure-specialize".....
92540 22 70 72 6f 63 65 64 75 72 65 2d 73 74 72 75 63 74 2d 74 79 70 65 3f 22 0a 20 20 20 20 22 70 72 "procedure-struct-type?"....."pr
92560 6f 63 65 64 75 72 65 3f 22 0a 20 20 20 20 22 70 72 6f 63 65 73 73 22 0a 20 20 20 20 22 70 72 6f ocedure?"....."process"....."pro
92580 63 65 73 73 2a 22 0a 20 20 20 20 22 70 72 6f 63 65 73 73 2a 2f 70 6f 72 74 73 22 0a 20 20 20 20 cess*"....."process*/ports".....
925a0 22 70 72 6f 63 65 73 73 2f 70 6f 72 74 73 22 0a 20 20 20 20 22 70 72 6f 63 65 73 73 6f 72 2d 63 "process/ports"....."processor-c
925c0 6f 75 6e 74 22 0a 20 20 20 20 22 70 72 6f 67 72 65 73 73 2d 65 76 74 3f 22 0a 20 20 20 20 22 70 ount"....."progress-evt?"....."p
925e0 72 6f 6d 69 73 65 2d 66 6f 72 63 65 64 3f 22 0a 20 20 20 20 22 70 72 6f 6d 69 73 65 2d 72 75 6e romise-forced?"....."promise-run
92600 6e 69 6e 67 3f 22 0a 20 20 20 20 22 70 72 6f 6d 69 73 65 2f 63 22 0a 20 20 20 20 22 70 72 6f 6d ning?"....."promise/c"....."prom
92620 69 73 65 2f 6e 61 6d 65 3f 22 0a 20 20 20 20 22 70 72 6f 6d 69 73 65 3f 22 0a 20 20 20 20 22 70 ise/name?"....."promise?"....."p
92640 72 6f 6d 70 74 2d 74 61 67 2f 63 22 0a 20 20 20 20 22 70 72 6f 70 3a 61 72 69 74 79 2d 73 74 72 rompt-tag/c"....."prop:arity-str
92660 69 6e 67 22 0a 20 20 20 20 22 70 72 6f 70 3a 61 72 72 6f 77 2d 63 6f 6e 74 72 61 63 74 22 0a 20 ing"....."prop:arrow-contract"..
92680 20 20 20 22 70 72 6f 70 3a 61 72 72 6f 77 2d 63 6f 6e 74 72 61 63 74 2d 67 65 74 2d 69 6e 66 6f ..."prop:arrow-contract-get-info
926a0 22 0a 20 20 20 20 22 70 72 6f 70 3a 61 72 72 6f 77 2d 63 6f 6e 74 72 61 63 74 3f 22 0a 20 20 20 "....."prop:arrow-contract?"....
926c0 20 22 70 72 6f 70 3a 61 75 74 68 65 6e 74 69 63 22 0a 20 20 20 20 22 70 72 6f 70 3a 62 6c 61 6d ."prop:authentic"....."prop:blam
926e0 65 22 0a 20 20 20 20 22 70 72 6f 70 3a 63 68 61 70 65 72 6f 6e 65 2d 63 6f 6e 74 72 61 63 74 22 e"....."prop:chaperone-contract"
92700 0a 20 20 20 20 22 70 72 6f 70 3a 63 68 65 63 6b 65 64 2d 70 72 6f 63 65 64 75 72 65 22 0a 20 20 ....."prop:checked-procedure"...
92720 20 20 22 70 72 6f 70 3a 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 70 72 6f 70 3a 63 6f 6e 74 .."prop:contract"....."prop:cont
92740 72 61 63 74 65 64 22 0a 20 20 20 20 22 70 72 6f 70 3a 63 75 73 74 6f 6d 2d 70 72 69 6e 74 2d 71 racted"....."prop:custom-print-q
92760 75 6f 74 61 62 6c 65 22 0a 20 20 20 20 22 70 72 6f 70 3a 63 75 73 74 6f 6d 2d 77 72 69 74 65 22 uotable"....."prop:custom-write"
92780 0a 20 20 20 20 22 70 72 6f 70 3a 64 69 63 74 22 0a 20 20 20 20 22 70 72 6f 70 3a 64 69 63 74 2f ....."prop:dict"....."prop:dict/
927a0 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 70 72 6f 70 3a 65 71 75 61 6c 2b 68 61 73 68 22 0a contract"....."prop:equal+hash".
927c0 20 20 20 20 22 70 72 6f 70 3a 65 76 74 22 0a 20 20 20 20 22 70 72 6f 70 3a 65 78 6e 3a 6d 69 73 ...."prop:evt"....."prop:exn:mis
927e0 73 69 6e 67 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 20 22 70 72 6f 70 3a 65 78 6e 3a 73 72 63 6c 6f sing-module"....."prop:exn:srclo
92800 63 73 22 0a 20 20 20 20 22 70 72 6f 70 3a 65 78 70 61 6e 73 69 6f 6e 2d 63 6f 6e 74 65 78 74 73 cs"....."prop:expansion-contexts
92820 22 0a 20 20 20 20 22 70 72 6f 70 3a 66 6c 61 74 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 "....."prop:flat-contract"....."
92840 70 72 6f 70 3a 69 6d 70 65 72 73 6f 6e 61 74 6f 72 2d 6f 66 22 0a 20 20 20 20 22 70 72 6f 70 3a prop:impersonator-of"....."prop:
92860 69 6e 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 70 72 6f 70 3a 6c 65 67 61 63 79 2d 6d 61 74 input-port"....."prop:legacy-mat
92880 63 68 2d 65 78 70 61 6e 64 65 72 22 0a 20 20 20 20 22 70 72 6f 70 3a 6c 69 62 65 72 61 6c 2d 64 ch-expander"....."prop:liberal-d
928a0 65 66 69 6e 65 2d 63 6f 6e 74 65 78 74 22 0a 20 20 20 20 22 70 72 6f 70 3a 6d 61 74 63 68 2d 65 efine-context"....."prop:match-e
928c0 78 70 61 6e 64 65 72 22 0a 20 20 20 20 22 70 72 6f 70 3a 6f 62 6a 65 63 74 2d 6e 61 6d 65 22 0a xpander"....."prop:object-name".
928e0 20 20 20 20 22 70 72 6f 70 3a 6f 72 63 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 70 72 6f ...."prop:orc-contract"....."pro
92900 70 3a 6f 72 63 2d 63 6f 6e 74 72 61 63 74 2d 67 65 74 2d 73 75 62 63 6f 6e 74 72 61 63 74 73 22 p:orc-contract-get-subcontracts"
92920 0a 20 20 20 20 22 70 72 6f 70 3a 6f 72 63 2d 63 6f 6e 74 72 61 63 74 3f 22 0a 20 20 20 20 22 70 ....."prop:orc-contract?"....."p
92940 72 6f 70 3a 6f 75 74 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 70 72 6f 70 3a 70 6c 61 63 65 rop:output-port"....."prop:place
92960 2d 6c 6f 63 61 74 69 6f 6e 22 0a 20 20 20 20 22 70 72 6f 70 3a 70 72 6f 63 65 64 75 72 65 22 0a -location"....."prop:procedure".
92980 20 20 20 20 22 70 72 6f 70 3a 72 65 63 75 72 73 69 76 65 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 ...."prop:recursive-contract"...
929a0 20 20 22 70 72 6f 70 3a 72 65 63 75 72 73 69 76 65 2d 63 6f 6e 74 72 61 63 74 2d 75 6e 72 6f 6c .."prop:recursive-contract-unrol
929c0 6c 22 0a 20 20 20 20 22 70 72 6f 70 3a 72 65 63 75 72 73 69 76 65 2d 63 6f 6e 74 72 61 63 74 3f l"....."prop:recursive-contract?
929e0 22 0a 20 20 20 20 22 70 72 6f 70 3a 72 65 6e 61 6d 65 2d 74 72 61 6e 73 66 6f 72 6d 65 72 22 0a "....."prop:rename-transformer".
92a00 20 20 20 20 22 70 72 6f 70 3a 73 65 61 6c 65 64 22 0a 20 20 20 20 22 70 72 6f 70 3a 73 65 71 75 ...."prop:sealed"....."prop:sequ
92a20 65 6e 63 65 22 0a 20 20 20 20 22 70 72 6f 70 3a 73 65 74 21 2d 74 72 61 6e 73 66 6f 72 6d 65 72 ence"....."prop:set!-transformer
92a40 22 0a 20 20 20 20 22 70 72 6f 70 3a 73 74 72 65 61 6d 22 0a 20 20 20 20 22 70 72 6f 70 65 72 2d "....."prop:stream"....."proper-
92a60 73 75 62 73 65 74 3f 22 0a 20 20 20 20 22 70 72 6f 70 65 72 74 79 2f 63 22 0a 20 20 20 20 22 70 subset?"....."property/c"....."p
92a80 72 6f 76 69 64 65 2d 73 69 67 6e 61 74 75 72 65 2d 65 6c 65 6d 65 6e 74 73 22 0a 20 20 20 20 22 rovide-signature-elements"....."
92aa0 70 72 6f 76 69 64 65 2f 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 70 72 6f 76 69 64 65 3a 22 provide/contract"....."provide:"
92ac0 0a 20 20 20 20 22 70 73 65 75 64 6f 2d 72 61 6e 64 6f 6d 2d 67 65 6e 65 72 61 74 6f 72 2d 3e 76 ....."pseudo-random-generator->v
92ae0 65 63 74 6f 72 22 0a 20 20 20 20 22 70 73 65 75 64 6f 2d 72 61 6e 64 6f 6d 2d 67 65 6e 65 72 61 ector"....."pseudo-random-genera
92b00 74 6f 72 2d 76 65 63 74 6f 72 3f 22 0a 20 20 20 20 22 70 73 65 75 64 6f 2d 72 61 6e 64 6f 6d 2d tor-vector?"....."pseudo-random-
92b20 67 65 6e 65 72 61 74 6f 72 3f 22 0a 20 20 20 20 22 70 75 62 6c 69 63 22 0a 20 20 20 20 22 70 75 generator?"....."public"....."pu
92b40 62 6c 69 63 2a 22 0a 20 20 20 20 22 70 75 62 6c 69 63 2d 66 69 6e 61 6c 22 0a 20 20 20 20 22 70 blic*"....."public-final"....."p
92b60 75 62 6c 69 63 2d 66 69 6e 61 6c 2a 22 0a 20 20 20 20 22 70 75 62 6d 65 6e 74 22 0a 20 20 20 20 ublic-final*"....."pubment".....
92b80 22 70 75 62 6d 65 6e 74 2a 22 0a 20 20 20 20 22 70 75 74 2d 70 72 65 66 65 72 65 6e 63 65 73 22 "pubment*"....."put-preferences"
92ba0 0a 20 20 20 20 22 70 75 74 65 6e 76 22 0a 20 20 20 20 22 71 75 6f 74 69 65 6e 74 22 0a 20 20 20 ....."putenv"....."quotient"....
92bc0 20 22 71 75 6f 74 69 65 6e 74 2f 72 65 6d 61 69 6e 64 65 72 22 0a 20 20 20 20 22 72 61 64 69 61 ."quotient/remainder"....."radia
92be0 6e 73 2d 3e 64 65 67 72 65 65 73 22 0a 20 20 20 20 22 72 61 69 73 65 22 0a 20 20 20 20 22 72 61 ns->degrees"....."raise"....."ra
92c00 69 73 65 2d 61 72 67 75 6d 65 6e 74 2d 65 72 72 6f 72 22 0a 20 20 20 20 22 72 61 69 73 65 2d 61 ise-argument-error"....."raise-a
92c20 72 67 75 6d 65 6e 74 2d 65 72 72 6f 72 2a 22 0a 20 20 20 20 22 72 61 69 73 65 2d 61 72 67 75 6d rgument-error*"....."raise-argum
92c40 65 6e 74 73 2d 65 72 72 6f 72 22 0a 20 20 20 20 22 72 61 69 73 65 2d 61 72 67 75 6d 65 6e 74 73 ents-error"....."raise-arguments
92c60 2d 65 72 72 6f 72 2a 22 0a 20 20 20 20 22 72 61 69 73 65 2d 61 72 69 74 79 2d 65 72 72 6f 72 22 -error*"....."raise-arity-error"
92c80 0a 20 20 20 20 22 72 61 69 73 65 2d 61 72 69 74 79 2d 65 72 72 6f 72 2a 22 0a 20 20 20 20 22 72 ....."raise-arity-error*"....."r
92ca0 61 69 73 65 2d 61 72 69 74 79 2d 6d 61 73 6b 2d 65 72 72 6f 72 22 0a 20 20 20 20 22 72 61 69 73 aise-arity-mask-error"....."rais
92cc0 65 2d 61 72 69 74 79 2d 6d 61 73 6b 2d 65 72 72 6f 72 2a 22 0a 20 20 20 20 22 72 61 69 73 65 2d e-arity-mask-error*"....."raise-
92ce0 62 6c 61 6d 65 2d 65 72 72 6f 72 22 0a 20 20 20 20 22 72 61 69 73 65 2d 63 6f 6e 74 72 61 63 74 blame-error"....."raise-contract
92d00 2d 65 72 72 6f 72 22 0a 20 20 20 20 22 72 61 69 73 65 2d 6d 69 73 6d 61 74 63 68 2d 65 72 72 6f -error"....."raise-mismatch-erro
92d20 72 22 0a 20 20 20 20 22 72 61 69 73 65 2d 6e 6f 74 2d 63 6f 6e 73 2d 62 6c 61 6d 65 2d 65 72 72 r"....."raise-not-cons-blame-err
92d40 6f 72 22 0a 20 20 20 20 22 72 61 69 73 65 2d 72 61 6e 67 65 2d 65 72 72 6f 72 22 0a 20 20 20 20 or"....."raise-range-error".....
92d60 22 72 61 69 73 65 2d 72 61 6e 67 65 2d 65 72 72 6f 72 2a 22 0a 20 20 20 20 22 72 61 69 73 65 2d "raise-range-error*"....."raise-
92d80 72 65 73 75 6c 74 2d 61 72 69 74 79 2d 65 72 72 6f 72 22 0a 20 20 20 20 22 72 61 69 73 65 2d 72 result-arity-error"....."raise-r
92da0 65 73 75 6c 74 2d 61 72 69 74 79 2d 65 72 72 6f 72 2a 22 0a 20 20 20 20 22 72 61 69 73 65 2d 72 esult-arity-error*"....."raise-r
92dc0 65 73 75 6c 74 2d 65 72 72 6f 72 22 0a 20 20 20 20 22 72 61 69 73 65 2d 72 65 73 75 6c 74 2d 65 esult-error"....."raise-result-e
92de0 72 72 6f 72 2a 22 0a 20 20 20 20 22 72 61 69 73 65 2d 74 79 70 65 2d 65 72 72 6f 72 22 0a 20 20 rror*"....."raise-type-error"...
92e00 20 20 22 72 61 69 73 65 2d 75 73 65 72 2d 65 72 72 6f 72 22 0a 20 20 20 20 22 72 61 6e 64 6f 6d .."raise-user-error"....."random
92e20 22 0a 20 20 20 20 22 72 61 6e 64 6f 6d 2d 73 65 65 64 22 0a 20 20 20 20 22 72 61 6e 67 65 22 0a "....."random-seed"....."range".
92e40 20 20 20 20 22 72 61 74 69 6f 6e 61 6c 3f 22 0a 20 20 20 20 22 72 61 74 69 6f 6e 61 6c 69 7a 65 ...."rational?"....."rationalize
92e60 22 0a 20 20 20 20 22 72 65 61 64 22 0a 20 20 20 20 22 72 65 61 64 2d 61 63 63 65 70 74 2d 62 61 "....."read"....."read-accept-ba
92e80 72 2d 71 75 6f 74 65 22 0a 20 20 20 20 22 72 65 61 64 2d 61 63 63 65 70 74 2d 62 6f 78 22 0a 20 r-quote"....."read-accept-box"..
92ea0 20 20 20 22 72 65 61 64 2d 61 63 63 65 70 74 2d 63 6f 6d 70 69 6c 65 64 22 0a 20 20 20 20 22 72 ..."read-accept-compiled"....."r
92ec0 65 61 64 2d 61 63 63 65 70 74 2d 64 6f 74 22 0a 20 20 20 20 22 72 65 61 64 2d 61 63 63 65 70 74 ead-accept-dot"....."read-accept
92ee0 2d 67 72 61 70 68 22 0a 20 20 20 20 22 72 65 61 64 2d 61 63 63 65 70 74 2d 69 6e 66 69 78 2d 64 -graph"....."read-accept-infix-d
92f00 6f 74 22 0a 20 20 20 20 22 72 65 61 64 2d 61 63 63 65 70 74 2d 6c 61 6e 67 22 0a 20 20 20 20 22 ot"....."read-accept-lang"....."
92f20 72 65 61 64 2d 61 63 63 65 70 74 2d 71 75 61 73 69 71 75 6f 74 65 22 0a 20 20 20 20 22 72 65 61 read-accept-quasiquote"....."rea
92f40 64 2d 61 63 63 65 70 74 2d 72 65 61 64 65 72 22 0a 20 20 20 20 22 72 65 61 64 2d 62 79 74 65 22 d-accept-reader"....."read-byte"
92f60 0a 20 20 20 20 22 72 65 61 64 2d 62 79 74 65 2d 6f 72 2d 73 70 65 63 69 61 6c 22 0a 20 20 20 20 ....."read-byte-or-special".....
92f80 22 72 65 61 64 2d 62 79 74 65 73 22 0a 20 20 20 20 22 72 65 61 64 2d 62 79 74 65 73 21 22 0a 20 "read-bytes"....."read-bytes!"..
92fa0 20 20 20 22 72 65 61 64 2d 62 79 74 65 73 21 2d 65 76 74 22 0a 20 20 20 20 22 72 65 61 64 2d 62 ..."read-bytes!-evt"....."read-b
92fc0 79 74 65 73 2d 61 76 61 69 6c 21 22 0a 20 20 20 20 22 72 65 61 64 2d 62 79 74 65 73 2d 61 76 61 ytes-avail!"....."read-bytes-ava
92fe0 69 6c 21 2a 22 0a 20 20 20 20 22 72 65 61 64 2d 62 79 74 65 73 2d 61 76 61 69 6c 21 2d 65 76 74 il!*"....."read-bytes-avail!-evt
93000 22 0a 20 20 20 20 22 72 65 61 64 2d 62 79 74 65 73 2d 61 76 61 69 6c 21 2f 65 6e 61 62 6c 65 2d "....."read-bytes-avail!/enable-
93020 62 72 65 61 6b 22 0a 20 20 20 20 22 72 65 61 64 2d 62 79 74 65 73 2d 65 76 74 22 0a 20 20 20 20 break"....."read-bytes-evt".....
93040 22 72 65 61 64 2d 62 79 74 65 73 2d 6c 69 6e 65 22 0a 20 20 20 20 22 72 65 61 64 2d 62 79 74 65 "read-bytes-line"....."read-byte
93060 73 2d 6c 69 6e 65 2d 65 76 74 22 0a 20 20 20 20 22 72 65 61 64 2d 63 61 73 65 2d 73 65 6e 73 69 s-line-evt"....."read-case-sensi
93080 74 69 76 65 22 0a 20 20 20 20 22 72 65 61 64 2d 63 64 6f 74 22 0a 20 20 20 20 22 72 65 61 64 2d tive"....."read-cdot"....."read-
930a0 63 68 61 72 22 0a 20 20 20 20 22 72 65 61 64 2d 63 68 61 72 2d 6f 72 2d 73 70 65 63 69 61 6c 22 char"....."read-char-or-special"
930c0 0a 20 20 20 20 22 72 65 61 64 2d 63 75 72 6c 79 2d 62 72 61 63 65 2d 61 73 2d 70 61 72 65 6e 22 ....."read-curly-brace-as-paren"
930e0 0a 20 20 20 20 22 72 65 61 64 2d 63 75 72 6c 79 2d 62 72 61 63 65 2d 77 69 74 68 2d 74 61 67 22 ....."read-curly-brace-with-tag"
93100 0a 20 20 20 20 22 72 65 61 64 2d 64 65 63 69 6d 61 6c 2d 61 73 2d 69 6e 65 78 61 63 74 22 0a 20 ....."read-decimal-as-inexact"..
93120 20 20 20 22 72 65 61 64 2d 65 76 61 6c 2d 70 72 69 6e 74 2d 6c 6f 6f 70 22 0a 20 20 20 20 22 72 ..."read-eval-print-loop"....."r
93140 65 61 64 2d 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2d 74 ead-installation-configuration-t
93160 61 62 6c 65 22 0a 20 20 20 20 22 72 65 61 64 2d 6c 61 6e 67 75 61 67 65 22 0a 20 20 20 20 22 72 able"....."read-language"....."r
93180 65 61 64 2d 6c 69 6e 65 22 0a 20 20 20 20 22 72 65 61 64 2d 6c 69 6e 65 2d 65 76 74 22 0a 20 20 ead-line"....."read-line-evt"...
931a0 20 20 22 72 65 61 64 2d 6f 6e 2d 64 65 6d 61 6e 64 2d 73 6f 75 72 63 65 22 0a 20 20 20 20 22 72 .."read-on-demand-source"....."r
931c0 65 61 64 2d 73 69 6e 67 6c 65 2d 66 6c 6f 6e 75 6d 22 0a 20 20 20 20 22 72 65 61 64 2d 73 71 75 ead-single-flonum"....."read-squ
931e0 61 72 65 2d 62 72 61 63 6b 65 74 2d 61 73 2d 70 61 72 65 6e 22 0a 20 20 20 20 22 72 65 61 64 2d are-bracket-as-paren"....."read-
93200 73 71 75 61 72 65 2d 62 72 61 63 6b 65 74 2d 77 69 74 68 2d 74 61 67 22 0a 20 20 20 20 22 72 65 square-bracket-with-tag"....."re
93220 61 64 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 72 65 61 64 2d 73 74 72 69 6e 67 21 22 0a 20 20 ad-string"....."read-string!"...
93240 20 20 22 72 65 61 64 2d 73 74 72 69 6e 67 21 2d 65 76 74 22 0a 20 20 20 20 22 72 65 61 64 2d 73 .."read-string!-evt"....."read-s
93260 74 72 69 6e 67 2d 65 76 74 22 0a 20 20 20 20 22 72 65 61 64 2d 73 79 6e 74 61 78 22 0a 20 20 20 tring-evt"....."read-syntax"....
93280 20 22 72 65 61 64 2d 73 79 6e 74 61 78 2d 61 63 63 65 70 74 2d 67 72 61 70 68 22 0a 20 20 20 20 ."read-syntax-accept-graph".....
932a0 22 72 65 61 64 2d 73 79 6e 74 61 78 2f 72 65 63 75 72 73 69 76 65 22 0a 20 20 20 20 22 72 65 61 "read-syntax/recursive"....."rea
932c0 64 2f 72 65 63 75 72 73 69 76 65 22 0a 20 20 20 20 22 72 65 61 64 74 61 62 6c 65 2d 6d 61 70 70 d/recursive"....."readtable-mapp
932e0 69 6e 67 22 0a 20 20 20 20 22 72 65 61 64 74 61 62 6c 65 3f 22 0a 20 20 20 20 22 72 65 61 6c 2d ing"....."readtable?"....."real-
93300 3e 64 65 63 69 6d 61 6c 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 72 65 61 6c 2d 3e 64 6f 75 62 >decimal-string"....."real->doub
93320 6c 65 2d 66 6c 6f 6e 75 6d 22 0a 20 20 20 20 22 72 65 61 6c 2d 3e 66 6c 6f 61 74 69 6e 67 2d 70 le-flonum"....."real->floating-p
93340 6f 69 6e 74 2d 62 79 74 65 73 22 0a 20 20 20 20 22 72 65 61 6c 2d 3e 73 69 6e 67 6c 65 2d 66 6c oint-bytes"....."real->single-fl
93360 6f 6e 75 6d 22 0a 20 20 20 20 22 72 65 61 6c 2d 69 6e 22 0a 20 20 20 20 22 72 65 61 6c 2d 70 61 onum"....."real-in"....."real-pa
93380 72 74 22 0a 20 20 20 20 22 72 65 61 6c 3f 22 0a 20 20 20 20 22 72 65 63 6f 6e 74 72 61 63 74 2d rt"....."real?"....."recontract-
933a0 6f 75 74 22 0a 20 20 20 20 22 72 65 63 6f 72 64 2d 64 69 73 61 70 70 65 61 72 65 64 2d 75 73 65 out"....."record-disappeared-use
933c0 73 22 0a 20 20 20 20 22 72 65 63 75 72 73 69 76 65 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 s"....."recursive-contract".....
933e0 22 72 65 65 6e 63 6f 64 65 2d 69 6e 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 72 65 65 6e 63 "reencode-input-port"....."reenc
93400 6f 64 65 2d 6f 75 74 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 72 65 67 65 78 70 22 0a 20 20 ode-output-port"....."regexp"...
93420 20 20 22 72 65 67 65 78 70 2d 6d 61 74 63 68 22 0a 20 20 20 20 22 72 65 67 65 78 70 2d 6d 61 74 .."regexp-match"....."regexp-mat
93440 63 68 2d 65 76 74 22 0a 20 20 20 20 22 72 65 67 65 78 70 2d 6d 61 74 63 68 2d 65 78 61 63 74 3f ch-evt"....."regexp-match-exact?
93460 22 0a 20 20 20 20 22 72 65 67 65 78 70 2d 6d 61 74 63 68 2d 70 65 65 6b 22 0a 20 20 20 20 22 72 "....."regexp-match-peek"....."r
93480 65 67 65 78 70 2d 6d 61 74 63 68 2d 70 65 65 6b 2d 69 6d 6d 65 64 69 61 74 65 22 0a 20 20 20 20 egexp-match-peek-immediate".....
934a0 22 72 65 67 65 78 70 2d 6d 61 74 63 68 2d 70 65 65 6b 2d 70 6f 73 69 74 69 6f 6e 73 22 0a 20 20 "regexp-match-peek-positions"...
934c0 20 20 22 72 65 67 65 78 70 2d 6d 61 74 63 68 2d 70 65 65 6b 2d 70 6f 73 69 74 69 6f 6e 73 2d 69 .."regexp-match-peek-positions-i
934e0 6d 6d 65 64 69 61 74 65 22 0a 20 20 20 20 22 72 65 67 65 78 70 2d 6d 61 74 63 68 2d 70 65 65 6b mmediate"....."regexp-match-peek
93500 2d 70 6f 73 69 74 69 6f 6e 73 2d 69 6d 6d 65 64 69 61 74 65 2f 65 6e 64 22 0a 20 20 20 20 22 72 -positions-immediate/end"....."r
93520 65 67 65 78 70 2d 6d 61 74 63 68 2d 70 65 65 6b 2d 70 6f 73 69 74 69 6f 6e 73 2f 65 6e 64 22 0a egexp-match-peek-positions/end".
93540 20 20 20 20 22 72 65 67 65 78 70 2d 6d 61 74 63 68 2d 70 6f 73 69 74 69 6f 6e 73 22 0a 20 20 20 ...."regexp-match-positions"....
93560 20 22 72 65 67 65 78 70 2d 6d 61 74 63 68 2d 70 6f 73 69 74 69 6f 6e 73 2f 65 6e 64 22 0a 20 20 ."regexp-match-positions/end"...
93580 20 20 22 72 65 67 65 78 70 2d 6d 61 74 63 68 2f 65 6e 64 22 0a 20 20 20 20 22 72 65 67 65 78 70 .."regexp-match/end"....."regexp
935a0 2d 6d 61 74 63 68 3f 22 0a 20 20 20 20 22 72 65 67 65 78 70 2d 6d 61 78 2d 6c 6f 6f 6b 62 65 68 -match?"....."regexp-max-lookbeh
935c0 69 6e 64 22 0a 20 20 20 20 22 72 65 67 65 78 70 2d 71 75 6f 74 65 22 0a 20 20 20 20 22 72 65 67 ind"....."regexp-quote"....."reg
935e0 65 78 70 2d 72 65 70 6c 61 63 65 22 0a 20 20 20 20 22 72 65 67 65 78 70 2d 72 65 70 6c 61 63 65 exp-replace"....."regexp-replace
93600 2a 22 0a 20 20 20 20 22 72 65 67 65 78 70 2d 72 65 70 6c 61 63 65 2d 71 75 6f 74 65 22 0a 20 20 *"....."regexp-replace-quote"...
93620 20 20 22 72 65 67 65 78 70 2d 72 65 70 6c 61 63 65 73 22 0a 20 20 20 20 22 72 65 67 65 78 70 2d .."regexp-replaces"....."regexp-
93640 73 70 6c 69 74 22 0a 20 20 20 20 22 72 65 67 65 78 70 2d 74 72 79 2d 6d 61 74 63 68 22 0a 20 20 split"....."regexp-try-match"...
93660 20 20 22 72 65 67 65 78 70 3f 22 0a 20 20 20 20 22 72 65 67 75 6c 61 72 2d 66 69 6c 65 2d 74 79 .."regexp?"....."regular-file-ty
93680 70 65 2d 62 69 74 73 22 0a 20 20 20 20 22 72 65 6c 61 74 69 76 65 2d 70 61 74 68 3f 22 0a 20 20 pe-bits"....."relative-path?"...
936a0 20 20 22 72 65 6c 6f 63 61 74 65 2d 69 6e 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 72 65 6c .."relocate-input-port"....."rel
936c0 6f 63 61 74 65 2d 6f 75 74 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 72 65 6d 61 69 6e 64 65 ocate-output-port"....."remainde
936e0 72 22 0a 20 20 20 20 22 72 65 6d 66 22 0a 20 20 20 20 22 72 65 6d 66 2a 22 0a 20 20 20 20 22 72 r"....."remf"....."remf*"....."r
93700 65 6d 6f 76 65 22 0a 20 20 20 20 22 72 65 6d 6f 76 65 2a 22 0a 20 20 20 20 22 72 65 6d 6f 76 65 emove"....."remove*"....."remove
93720 2d 64 75 70 6c 69 63 61 74 65 73 22 0a 20 20 20 20 22 72 65 6d 71 22 0a 20 20 20 20 22 72 65 6d -duplicates"....."remq"....."rem
93740 71 2a 22 0a 20 20 20 20 22 72 65 6d 76 22 0a 20 20 20 20 22 72 65 6d 76 2a 22 0a 20 20 20 20 22 q*"....."remv"....."remv*"....."
93760 72 65 6d 77 22 0a 20 20 20 20 22 72 65 6d 77 2a 22 0a 20 20 20 20 22 72 65 6e 61 6d 65 22 0a 20 remw"....."remw*"....."rename"..
93780 20 20 20 22 72 65 6e 61 6d 65 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 72 65 6e 61 6d 65 ..."rename-contract"....."rename
937a0 2d 66 69 6c 65 2d 6f 72 2d 64 69 72 65 63 74 6f 72 79 22 0a 20 20 20 20 22 72 65 6e 61 6d 65 2d -file-or-directory"....."rename-
937c0 69 6e 6e 65 72 22 0a 20 20 20 20 22 72 65 6e 61 6d 65 2d 73 75 70 65 72 22 0a 20 20 20 20 22 72 inner"....."rename-super"....."r
937e0 65 6e 61 6d 65 2d 74 72 61 6e 73 66 6f 72 6d 65 72 2d 74 61 72 67 65 74 22 0a 20 20 20 20 22 72 ename-transformer-target"....."r
93800 65 6e 61 6d 65 2d 74 72 61 6e 73 66 6f 72 6d 65 72 3f 22 0a 20 20 20 20 22 72 65 70 6c 61 63 65 ename-transformer?"....."replace
93820 2d 65 76 74 22 0a 20 20 20 20 22 72 65 71 75 69 72 65 2d 74 79 70 65 64 2d 73 74 72 75 63 74 22 -evt"....."require-typed-struct"
93840 0a 20 20 20 20 22 72 65 71 75 69 72 65 2d 74 79 70 65 64 2d 73 74 72 75 63 74 2f 70 72 6f 76 69 ....."require-typed-struct/provi
93860 64 65 22 0a 20 20 20 20 22 72 65 71 75 69 72 65 2f 6f 70 61 71 75 65 2d 74 79 70 65 22 0a 20 20 de"....."require/opaque-type"...
93880 20 20 22 72 65 71 75 69 72 65 2f 74 79 70 65 64 22 0a 20 20 20 20 22 72 65 71 75 69 72 65 2f 74 .."require/typed"....."require/t
938a0 79 70 65 64 2f 70 72 6f 76 69 64 65 22 0a 20 20 20 20 22 72 65 72 6f 6f 74 2d 70 61 74 68 22 0a yped/provide"....."reroot-path".
938c0 20 20 20 20 22 72 65 73 6f 6c 76 65 2d 70 61 74 68 22 0a 20 20 20 20 22 72 65 73 6f 6c 76 65 64 ...."resolve-path"....."resolved
938e0 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 6e 61 6d 65 22 0a 20 20 20 20 22 72 65 73 6f 6c 76 65 64 -module-path-name"....."resolved
93900 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 3f 22 0a 20 20 20 20 22 72 65 73 74 22 0a 20 20 20 20 22 72 -module-path?"....."rest"....."r
93920 65 76 65 72 73 65 22 0a 20 20 20 20 22 72 6f 75 6e 64 22 0a 20 20 20 20 22 72 6f 77 2d 69 6e 73 everse"....."round"....."row-ins
93940 74 22 0a 20 20 20 20 22 73 65 63 6f 6e 64 22 0a 20 20 20 20 22 73 65 63 6f 6e 64 73 2d 3e 64 61 t"....."second"....."seconds->da
93960 74 65 22 0a 20 20 20 20 22 73 65 63 75 72 69 74 79 2d 67 75 61 72 64 3f 22 0a 20 20 20 20 22 73 te"....."security-guard?"....."s
93980 65 6d 61 70 68 6f 72 65 2d 70 65 65 6b 2d 65 76 74 22 0a 20 20 20 20 22 73 65 6d 61 70 68 6f 72 emaphore-peek-evt"....."semaphor
939a0 65 2d 70 65 65 6b 2d 65 76 74 3f 22 0a 20 20 20 20 22 73 65 6d 61 70 68 6f 72 65 2d 70 6f 73 74 e-peek-evt?"....."semaphore-post
939c0 22 0a 20 20 20 20 22 73 65 6d 61 70 68 6f 72 65 2d 74 72 79 2d 77 61 69 74 3f 22 0a 20 20 20 20 "....."semaphore-try-wait?".....
939e0 22 73 65 6d 61 70 68 6f 72 65 2d 77 61 69 74 22 0a 20 20 20 20 22 73 65 6d 61 70 68 6f 72 65 2d "semaphore-wait"....."semaphore-
93a00 77 61 69 74 2f 65 6e 61 62 6c 65 2d 62 72 65 61 6b 22 0a 20 20 20 20 22 73 65 6d 61 70 68 6f 72 wait/enable-break"....."semaphor
93a20 65 3f 22 0a 20 20 20 20 22 73 65 6e 64 22 0a 20 20 20 20 22 73 65 6e 64 2a 22 0a 20 20 20 20 22 e?"....."send"....."send*"....."
93a40 73 65 6e 64 2b 22 0a 20 20 20 20 22 73 65 6e 64 2d 67 65 6e 65 72 69 63 22 0a 20 20 20 20 22 73 send+"....."send-generic"....."s
93a60 65 6e 64 2f 61 70 70 6c 79 22 0a 20 20 20 20 22 73 65 6e 64 2f 6b 65 79 77 6f 72 64 2d 61 70 70 end/apply"....."send/keyword-app
93a80 6c 79 22 0a 20 20 20 20 22 73 65 71 75 65 6e 63 65 2d 3e 6c 69 73 74 22 0a 20 20 20 20 22 73 65 ly"....."sequence->list"....."se
93aa0 71 75 65 6e 63 65 2d 3e 73 74 72 65 61 6d 22 0a 20 20 20 20 22 73 65 71 75 65 6e 63 65 2d 61 64 quence->stream"....."sequence-ad
93ac0 64 2d 62 65 74 77 65 65 6e 22 0a 20 20 20 20 22 73 65 71 75 65 6e 63 65 2d 61 6e 64 6d 61 70 22 d-between"....."sequence-andmap"
93ae0 0a 20 20 20 20 22 73 65 71 75 65 6e 63 65 2d 61 70 70 65 6e 64 22 0a 20 20 20 20 22 73 65 71 75 ....."sequence-append"....."sequ
93b00 65 6e 63 65 2d 63 6f 75 6e 74 22 0a 20 20 20 20 22 73 65 71 75 65 6e 63 65 2d 66 69 6c 74 65 72 ence-count"....."sequence-filter
93b20 22 0a 20 20 20 20 22 73 65 71 75 65 6e 63 65 2d 66 6f 6c 64 22 0a 20 20 20 20 22 73 65 71 75 65 "....."sequence-fold"....."seque
93b40 6e 63 65 2d 66 6f 72 2d 65 61 63 68 22 0a 20 20 20 20 22 73 65 71 75 65 6e 63 65 2d 67 65 6e 65 nce-for-each"....."sequence-gene
93b60 72 61 74 65 22 0a 20 20 20 20 22 73 65 71 75 65 6e 63 65 2d 67 65 6e 65 72 61 74 65 2a 22 0a 20 rate"....."sequence-generate*"..
93b80 20 20 20 22 73 65 71 75 65 6e 63 65 2d 6c 65 6e 67 74 68 22 0a 20 20 20 20 22 73 65 71 75 65 6e ..."sequence-length"....."sequen
93ba0 63 65 2d 6d 61 70 22 0a 20 20 20 20 22 73 65 71 75 65 6e 63 65 2d 6f 72 6d 61 70 22 0a 20 20 20 ce-map"....."sequence-ormap"....
93bc0 20 22 73 65 71 75 65 6e 63 65 2d 72 65 66 22 0a 20 20 20 20 22 73 65 71 75 65 6e 63 65 2d 74 61 ."sequence-ref"....."sequence-ta
93be0 69 6c 22 0a 20 20 20 20 22 73 65 71 75 65 6e 63 65 2f 63 22 0a 20 20 20 20 22 73 65 71 75 65 6e il"....."sequence/c"....."sequen
93c00 63 65 3f 22 0a 20 20 20 20 22 73 65 74 22 0a 20 20 20 20 22 73 65 74 21 2d 74 72 61 6e 73 66 6f ce?"....."set"....."set!-transfo
93c20 72 6d 65 72 2d 70 72 6f 63 65 64 75 72 65 22 0a 20 20 20 20 22 73 65 74 21 2d 74 72 61 6e 73 66 rmer-procedure"....."set!-transf
93c40 6f 72 6d 65 72 3f 22 0a 20 20 20 20 22 73 65 74 2d 3e 6c 69 73 74 22 0a 20 20 20 20 22 73 65 74 ormer?"....."set->list"....."set
93c60 2d 3e 73 74 72 65 61 6d 22 0a 20 20 20 20 22 73 65 74 2d 61 64 64 22 0a 20 20 20 20 22 73 65 74 ->stream"....."set-add"....."set
93c80 2d 61 64 64 21 22 0a 20 20 20 20 22 73 65 74 2d 62 6f 78 21 22 0a 20 20 20 20 22 73 65 74 2d 62 -add!"....."set-box!"....."set-b
93ca0 6f 78 2a 21 22 0a 20 20 20 20 22 73 65 74 2d 63 6c 65 61 72 22 0a 20 20 20 20 22 73 65 74 2d 63 ox*!"....."set-clear"....."set-c
93cc0 6c 65 61 72 21 22 0a 20 20 20 20 22 73 65 74 2d 63 6f 70 79 22 0a 20 20 20 20 22 73 65 74 2d 63 lear!"....."set-copy"....."set-c
93ce0 6f 70 79 2d 63 6c 65 61 72 22 0a 20 20 20 20 22 73 65 74 2d 63 6f 75 6e 74 22 0a 20 20 20 20 22 opy-clear"....."set-count"....."
93d00 73 65 74 2d 65 6d 70 74 79 3f 22 0a 20 20 20 20 22 73 65 74 2d 65 71 3f 22 0a 20 20 20 20 22 73 set-empty?"....."set-eq?"....."s
93d20 65 74 2d 65 71 75 61 6c 2d 61 6c 77 61 79 73 3f 22 0a 20 20 20 20 22 73 65 74 2d 65 71 75 61 6c et-equal-always?"....."set-equal
93d40 3f 22 0a 20 20 20 20 22 73 65 74 2d 65 71 76 3f 22 0a 20 20 20 20 22 73 65 74 2d 66 69 65 6c 64 ?"....."set-eqv?"....."set-field
93d60 21 22 0a 20 20 20 20 22 73 65 74 2d 66 69 72 73 74 22 0a 20 20 20 20 22 73 65 74 2d 66 6f 72 2d !"....."set-first"....."set-for-
93d80 65 61 63 68 22 0a 20 20 20 20 22 73 65 74 2d 67 72 6f 75 70 2d 69 64 2d 62 69 74 22 0a 20 20 20 each"....."set-group-id-bit"....
93da0 20 22 73 65 74 2d 69 6d 70 6c 65 6d 65 6e 74 73 2f 63 22 0a 20 20 20 20 22 73 65 74 2d 69 6d 70 ."set-implements/c"....."set-imp
93dc0 6c 65 6d 65 6e 74 73 3f 22 0a 20 20 20 20 22 73 65 74 2d 69 6e 74 65 72 73 65 63 74 22 0a 20 20 lements?"....."set-intersect"...
93de0 20 20 22 73 65 74 2d 69 6e 74 65 72 73 65 63 74 21 22 0a 20 20 20 20 22 73 65 74 2d 6d 61 70 22 .."set-intersect!"....."set-map"
93e00 0a 20 20 20 20 22 73 65 74 2d 6d 63 61 72 21 22 0a 20 20 20 20 22 73 65 74 2d 6d 63 64 72 21 22 ....."set-mcar!"....."set-mcdr!"
93e20 0a 20 20 20 20 22 73 65 74 2d 6d 65 6d 62 65 72 3f 22 0a 20 20 20 20 22 73 65 74 2d 6d 75 74 61 ....."set-member?"....."set-muta
93e40 62 6c 65 3f 22 0a 20 20 20 20 22 73 65 74 2d 70 68 61 6e 74 6f 6d 2d 62 79 74 65 73 21 22 0a 20 ble?"....."set-phantom-bytes!"..
93e60 20 20 20 22 73 65 74 2d 70 6f 72 74 2d 6e 65 78 74 2d 6c 6f 63 61 74 69 6f 6e 21 22 0a 20 20 20 ..."set-port-next-location!"....
93e80 20 22 73 65 74 2d 72 65 6d 6f 76 65 22 0a 20 20 20 20 22 73 65 74 2d 72 65 6d 6f 76 65 21 22 0a ."set-remove"....."set-remove!".
93ea0 20 20 20 20 22 73 65 74 2d 72 65 73 74 22 0a 20 20 20 20 22 73 65 74 2d 73 75 62 74 72 61 63 74 ...."set-rest"....."set-subtract
93ec0 22 0a 20 20 20 20 22 73 65 74 2d 73 75 62 74 72 61 63 74 21 22 0a 20 20 20 20 22 73 65 74 2d 73 "....."set-subtract!"....."set-s
93ee0 79 6d 6d 65 74 72 69 63 2d 64 69 66 66 65 72 65 6e 63 65 22 0a 20 20 20 20 22 73 65 74 2d 73 79 ymmetric-difference"....."set-sy
93f00 6d 6d 65 74 72 69 63 2d 64 69 66 66 65 72 65 6e 63 65 21 22 0a 20 20 20 20 22 73 65 74 2d 75 6e mmetric-difference!"....."set-un
93f20 69 6f 6e 22 0a 20 20 20 20 22 73 65 74 2d 75 6e 69 6f 6e 21 22 0a 20 20 20 20 22 73 65 74 2d 75 ion"....."set-union!"....."set-u
93f40 73 65 72 2d 69 64 2d 62 69 74 22 0a 20 20 20 20 22 73 65 74 2d 77 65 61 6b 3f 22 0a 20 20 20 20 ser-id-bit"....."set-weak?".....
93f60 22 73 65 74 2f 63 22 0a 20 20 20 20 22 73 65 74 3d 3f 22 0a 20 20 20 20 22 73 65 74 3f 22 0a 20 "set/c"....."set=?"....."set?"..
93f80 20 20 20 22 73 65 74 61 6c 77 22 0a 20 20 20 20 22 73 65 74 65 71 22 0a 20 20 20 20 22 73 65 74 ..."setalw"....."seteq"....."set
93fa0 65 71 76 22 0a 20 20 20 20 22 73 65 76 65 6e 74 68 22 0a 20 20 20 20 22 73 67 6e 22 0a 20 20 20 eqv"....."seventh"....."sgn"....
93fc0 20 22 73 68 61 31 2d 62 79 74 65 73 22 0a 20 20 20 20 22 73 68 61 32 32 34 2d 62 79 74 65 73 22 ."sha1-bytes"....."sha224-bytes"
93fe0 0a 20 20 20 20 22 73 68 61 32 35 36 2d 62 79 74 65 73 22 0a 20 20 20 20 22 73 68 61 72 65 64 22 ....."sha256-bytes"....."shared"
94000 0a 20 20 20 20 22 73 68 61 72 65 64 2d 62 79 74 65 73 22 0a 20 20 20 20 22 73 68 65 6c 6c 2d 65 ....."shared-bytes"....."shell-e
94020 78 65 63 75 74 65 22 0a 20 20 20 20 22 73 68 72 69 6e 6b 2d 70 61 74 68 2d 77 72 74 22 0a 20 20 xecute"....."shrink-path-wrt"...
94040 20 20 22 73 68 75 66 66 6c 65 22 0a 20 20 20 20 22 73 69 6d 70 6c 65 2d 66 6f 72 6d 2d 70 61 74 .."shuffle"....."simple-form-pat
94060 68 22 0a 20 20 20 20 22 73 69 6d 70 6c 69 66 79 2d 70 61 74 68 22 0a 20 20 20 20 22 73 69 6e 22 h"....."simplify-path"....."sin"
94080 0a 20 20 20 20 22 73 69 6e 67 6c 65 2d 66 6c 6f 6e 75 6d 2d 61 76 61 69 6c 61 62 6c 65 3f 22 0a ....."single-flonum-available?".
940a0 20 20 20 20 22 73 69 6e 67 6c 65 2d 66 6c 6f 6e 75 6d 3f 22 0a 20 20 20 20 22 73 69 6e 68 22 0a ...."single-flonum?"....."sinh".
940c0 20 20 20 20 22 73 69 78 74 68 22 0a 20 20 20 20 22 73 6b 69 70 2d 70 72 6f 6a 65 63 74 69 6f 6e ...."sixth"....."skip-projection
940e0 2d 77 72 61 70 70 65 72 3f 22 0a 20 20 20 20 22 73 6c 65 65 70 22 0a 20 20 20 20 22 73 6f 63 6b -wrapper?"....."sleep"....."sock
94100 65 74 2d 74 79 70 65 2d 62 69 74 73 22 0a 20 20 20 20 22 73 6f 6d 65 2d 73 79 73 74 65 6d 2d 70 et-type-bits"....."some-system-p
94120 61 74 68 2d 3e 73 74 72 69 6e 67 22 0a 20 20 20 20 22 73 70 65 63 69 61 6c 2d 63 6f 6d 6d 65 6e ath->string"....."special-commen
94140 74 2d 76 61 6c 75 65 22 0a 20 20 20 20 22 73 70 65 63 69 61 6c 2d 63 6f 6d 6d 65 6e 74 3f 22 0a t-value"....."special-comment?".
94160 20 20 20 20 22 73 70 65 63 69 61 6c 2d 66 69 6c 74 65 72 2d 69 6e 70 75 74 2d 70 6f 72 74 22 0a ...."special-filter-input-port".
94180 20 20 20 20 22 73 70 6c 69 74 2d 61 74 22 0a 20 20 20 20 22 73 70 6c 69 74 2d 61 74 2d 72 69 67 ...."split-at"....."split-at-rig
941a0 68 74 22 0a 20 20 20 20 22 73 70 6c 69 74 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 22 0a 20 20 ht"....."split-common-prefix"...
941c0 20 20 22 73 70 6c 69 74 2d 70 61 74 68 22 0a 20 20 20 20 22 73 70 6c 69 74 66 2d 61 74 22 0a 20 .."split-path"....."splitf-at"..
941e0 20 20 20 22 73 70 6c 69 74 66 2d 61 74 2d 72 69 67 68 74 22 0a 20 20 20 20 22 73 71 72 22 0a 20 ..."splitf-at-right"....."sqr"..
94200 20 20 20 22 73 71 72 74 22 0a 20 20 20 20 22 73 72 63 6c 6f 63 2d 3e 73 74 72 69 6e 67 22 0a 20 ..."sqrt"....."srcloc->string"..
94220 20 20 20 22 73 72 63 6c 6f 63 2d 63 6f 6c 75 6d 6e 22 0a 20 20 20 20 22 73 72 63 6c 6f 63 2d 6c ..."srcloc-column"....."srcloc-l
94240 69 6e 65 22 0a 20 20 20 20 22 73 72 63 6c 6f 63 2d 70 6f 73 69 74 69 6f 6e 22 0a 20 20 20 20 22 ine"....."srcloc-position"....."
94260 73 72 63 6c 6f 63 2d 73 6f 75 72 63 65 22 0a 20 20 20 20 22 73 72 63 6c 6f 63 2d 73 70 61 6e 22 srcloc-source"....."srcloc-span"
94280 0a 20 20 20 20 22 73 72 63 6c 6f 63 3f 22 0a 20 20 20 20 22 73 74 65 6e 63 69 6c 2d 76 65 63 74 ....."srcloc?"....."stencil-vect
942a0 6f 72 22 0a 20 20 20 20 22 73 74 65 6e 63 69 6c 2d 76 65 63 74 6f 72 2d 6c 65 6e 67 74 68 22 0a or"....."stencil-vector-length".
942c0 20 20 20 20 22 73 74 65 6e 63 69 6c 2d 76 65 63 74 6f 72 2d 6d 61 73 6b 22 0a 20 20 20 20 22 73 ...."stencil-vector-mask"....."s
942e0 74 65 6e 63 69 6c 2d 76 65 63 74 6f 72 2d 6d 61 73 6b 2d 77 69 64 74 68 22 0a 20 20 20 20 22 73 tencil-vector-mask-width"....."s
94300 74 65 6e 63 69 6c 2d 76 65 63 74 6f 72 2d 72 65 66 22 0a 20 20 20 20 22 73 74 65 6e 63 69 6c 2d tencil-vector-ref"....."stencil-
94320 76 65 63 74 6f 72 2d 73 65 74 21 22 0a 20 20 20 20 22 73 74 65 6e 63 69 6c 2d 76 65 63 74 6f 72 vector-set!"....."stencil-vector
94340 2d 75 70 64 61 74 65 22 0a 20 20 20 20 22 73 74 65 6e 63 69 6c 2d 76 65 63 74 6f 72 3f 22 0a 20 -update"....."stencil-vector?"..
94360 20 20 20 22 73 74 69 63 6b 79 2d 62 69 74 22 0a 20 20 20 20 22 73 74 6f 70 2d 61 66 74 65 72 22 ..."sticky-bit"....."stop-after"
94380 0a 20 20 20 20 22 73 74 6f 70 2d 62 65 66 6f 72 65 22 0a 20 20 20 20 22 73 74 72 65 61 6d 22 0a ....."stop-before"....."stream".
943a0 20 20 20 20 22 73 74 72 65 61 6d 2a 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d 3e 6c 69 73 74 22 ...."stream*"....."stream->list"
943c0 0a 20 20 20 20 22 73 74 72 65 61 6d 2d 61 64 64 2d 62 65 74 77 65 65 6e 22 0a 20 20 20 20 22 73 ....."stream-add-between"....."s
943e0 74 72 65 61 6d 2d 61 6e 64 6d 61 70 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d 61 70 70 65 6e 64 tream-andmap"....."stream-append
94400 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d 63 6f 6e 73 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d "....."stream-cons"....."stream-
94420 63 6f 75 6e 74 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d 65 6d 70 74 79 3f 22 0a 20 20 20 20 22 count"....."stream-empty?"....."
94440 73 74 72 65 61 6d 2d 66 69 6c 74 65 72 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d 66 69 72 73 74 stream-filter"....."stream-first
94460 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d 66 6f 6c 64 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d "....."stream-fold"....."stream-
94480 66 6f 72 2d 65 61 63 68 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d 66 6f 72 63 65 22 0a 20 20 20 for-each"....."stream-force"....
944a0 20 22 73 74 72 65 61 6d 2d 6c 61 7a 79 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d 6c 65 6e 67 74 ."stream-lazy"....."stream-lengt
944c0 68 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d 6d 61 70 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d h"....."stream-map"....."stream-
944e0 6f 72 6d 61 70 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d 72 65 66 22 0a 20 20 20 20 22 73 74 72 ormap"....."stream-ref"....."str
94500 65 61 6d 2d 72 65 73 74 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2d 74 61 69 6c 22 0a 20 20 20 20 eam-rest"....."stream-tail".....
94520 22 73 74 72 65 61 6d 2d 74 61 6b 65 22 0a 20 20 20 20 22 73 74 72 65 61 6d 2f 63 22 0a 20 20 20 "stream-take"....."stream/c"....
94540 20 22 73 74 72 65 61 6d 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 22 73 74 72 ."stream?"....."string"....."str
94560 69 6e 67 2d 3e 62 79 74 65 73 2f 6c 61 74 69 6e 2d 31 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d ing->bytes/latin-1"....."string-
94580 3e 62 79 74 65 73 2f 6c 6f 63 61 6c 65 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 3e 62 79 74 65 >bytes/locale"....."string->byte
945a0 73 2f 75 74 66 2d 38 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 3e 69 6d 6d 75 74 61 62 6c 65 2d s/utf-8"....."string->immutable-
945c0 73 74 72 69 6e 67 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 3e 6b 65 79 77 6f 72 64 22 0a 20 20 string"....."string->keyword"...
945e0 20 20 22 73 74 72 69 6e 67 2d 3e 6c 69 73 74 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 3e 6e 75 .."string->list"....."string->nu
94600 6d 62 65 72 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 3e 70 61 74 68 22 0a 20 20 20 20 22 73 74 mber"....."string->path"....."st
94620 72 69 6e 67 2d 3e 70 61 74 68 2d 65 6c 65 6d 65 6e 74 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d ring->path-element"....."string-
94640 3e 73 6f 6d 65 2d 73 79 73 74 65 6d 2d 70 61 74 68 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 3e >some-system-path"....."string->
94660 73 79 6d 62 6f 6c 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 3e 75 6e 69 6e 74 65 72 6e 65 64 2d symbol"....."string->uninterned-
94680 73 79 6d 62 6f 6c 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 3e 75 6e 72 65 61 64 61 62 6c 65 2d symbol"....."string->unreadable-
946a0 73 79 6d 62 6f 6c 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 22 0a 20 20 20 20 symbol"....."string-append".....
946c0 22 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 2a 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 61 70 70 "string-append*"....."string-app
946e0 65 6e 64 2d 69 6d 6d 75 74 61 62 6c 65 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 63 69 3c 3d 3f end-immutable"....."string-ci<=?
94700 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 63 69 3c 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d "....."string-ci<?"....."string-
94720 63 69 3d 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 63 69 3e 3d 3f 22 0a 20 20 20 20 22 73 74 ci=?"....."string-ci>=?"....."st
94740 72 69 6e 67 2d 63 69 3e 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 63 6f 6e 74 61 69 6e 73 3f ring-ci>?"....."string-contains?
94760 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 63 6f 70 79 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d "....."string-copy"....."string-
94780 63 6f 70 79 21 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 64 6f 77 6e 63 61 73 65 22 0a 20 20 20 copy!"....."string-downcase"....
947a0 20 22 73 74 72 69 6e 67 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 2d 6e 61 ."string-environment-variable-na
947c0 6d 65 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 66 69 6c 6c 21 22 0a 20 20 20 20 22 73 74 72 me?"....."string-fill!"....."str
947e0 69 6e 67 2d 66 6f 6c 64 63 61 73 65 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 67 72 61 70 68 65 ing-foldcase"....."string-graphe
94800 6d 65 2d 63 6f 75 6e 74 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 67 72 61 70 68 65 6d 65 2d 73 me-count"....."string-grapheme-s
94820 70 61 6e 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 6a 6f 69 6e 22 0a 20 20 20 20 22 73 74 72 69 pan"....."string-join"....."stri
94840 6e 67 2d 6c 65 6e 2f 63 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 6c 65 6e 67 74 68 22 0a 20 20 ng-len/c"....."string-length"...
94860 20 20 22 73 74 72 69 6e 67 2d 6c 6f 63 61 6c 65 2d 63 69 3c 3f 22 0a 20 20 20 20 22 73 74 72 69 .."string-locale-ci<?"....."stri
94880 6e 67 2d 6c 6f 63 61 6c 65 2d 63 69 3d 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 6c 6f 63 61 ng-locale-ci=?"....."string-loca
948a0 6c 65 2d 63 69 3e 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 6c 6f 63 61 6c 65 2d 64 6f 77 6e le-ci>?"....."string-locale-down
948c0 63 61 73 65 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 6c 6f 63 61 6c 65 2d 75 70 63 61 73 65 22 case"....."string-locale-upcase"
948e0 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 6c 6f 63 61 6c 65 3c 3f 22 0a 20 20 20 20 22 73 74 72 69 ....."string-locale<?"....."stri
94900 6e 67 2d 6c 6f 63 61 6c 65 3d 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 6c 6f 63 61 6c 65 3e ng-locale=?"....."string-locale>
94920 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 6e 6f 2d 6e 75 6c 73 3f 22 0a 20 20 20 20 22 73 74 ?"....."string-no-nuls?"....."st
94940 72 69 6e 67 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 6e 66 63 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d ring-normalize-nfc"....."string-
94960 6e 6f 72 6d 61 6c 69 7a 65 2d 6e 66 64 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 6e 6f 72 6d 61 normalize-nfd"....."string-norma
94980 6c 69 7a 65 2d 6e 66 6b 63 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 6e 6f 72 6d 61 6c 69 7a 65 lize-nfkc"....."string-normalize
949a0 2d 6e 66 6b 64 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 73 70 61 -nfkd"....."string-normalize-spa
949c0 63 65 73 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 70 6f 72 74 3f 22 0a 20 20 20 20 22 73 74 72 ces"....."string-port?"....."str
949e0 69 6e 67 2d 70 72 65 66 69 78 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 72 65 66 22 0a 20 20 ing-prefix?"....."string-ref"...
94a00 20 20 22 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 73 .."string-replace"....."string-s
94a20 65 74 21 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 73 70 6c 69 74 22 0a 20 20 20 20 22 73 74 72 et!"....."string-split"....."str
94a40 69 6e 67 2d 73 75 66 66 69 78 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 74 69 74 6c 65 63 61 ing-suffix?"....."string-titleca
94a60 73 65 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 74 72 69 6d 22 0a 20 20 20 20 22 73 74 72 69 6e se"....."string-trim"....."strin
94a80 67 2d 75 70 63 61 73 65 22 0a 20 20 20 20 22 73 74 72 69 6e 67 2d 75 74 66 2d 38 2d 6c 65 6e 67 g-upcase"....."string-utf-8-leng
94aa0 74 68 22 0a 20 20 20 20 22 73 74 72 69 6e 67 3c 3d 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 3c th"....."string<=?"....."string<
94ac0 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 3d 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 3e 3d 3f ?"....."string=?"....."string>=?
94ae0 22 0a 20 20 20 20 22 73 74 72 69 6e 67 3e 3f 22 0a 20 20 20 20 22 73 74 72 69 6e 67 3f 22 0a 20 "....."string>?"....."string?"..
94b00 20 20 20 22 73 74 72 75 63 74 2a 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 3e 76 65 63 74 6f 72 ..."struct*"....."struct->vector
94b20 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 61 63 63 65 73 73 6f 72 2d 70 72 6f 63 65 64 75 72 65 "....."struct-accessor-procedure
94b40 3f 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 63 6f 6e 73 74 72 75 63 74 6f 72 2d 70 72 6f 63 65 ?"....."struct-constructor-proce
94b60 64 75 72 65 3f 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 67 75 61 72 64 2f 63 22 0a 20 20 20 20 dure?"....."struct-guard/c".....
94b80 22 73 74 72 75 63 74 2d 69 6e 66 6f 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 6d 75 74 61 74 6f "struct-info"....."struct-mutato
94ba0 72 2d 70 72 6f 63 65 64 75 72 65 3f 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 70 72 65 64 69 63 r-procedure?"....."struct-predic
94bc0 61 74 65 2d 70 72 6f 63 65 64 75 72 65 3f 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 74 79 70 65 ate-procedure?"....."struct-type
94be0 2d 61 75 74 68 65 6e 74 69 63 3f 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 74 79 70 65 2d 69 6e -authentic?"....."struct-type-in
94c00 66 6f 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 74 79 70 65 2d 6d 61 6b 65 2d 63 6f 6e 73 74 72 fo"....."struct-type-make-constr
94c20 75 63 74 6f 72 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 74 79 70 65 2d 6d 61 6b 65 2d 70 72 65 uctor"....."struct-type-make-pre
94c40 64 69 63 61 74 65 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 74 79 70 65 2d 70 72 6f 70 65 72 74 dicate"....."struct-type-propert
94c60 79 2d 61 63 63 65 73 73 6f 72 2d 70 72 6f 63 65 64 75 72 65 3f 22 0a 20 20 20 20 22 73 74 72 75 y-accessor-procedure?"....."stru
94c80 63 74 2d 74 79 70 65 2d 70 72 6f 70 65 72 74 79 2d 70 72 65 64 69 63 61 74 65 2d 70 72 6f 63 65 ct-type-property-predicate-proce
94ca0 64 75 72 65 3f 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 74 79 70 65 2d 70 72 6f 70 65 72 74 79 dure?"....."struct-type-property
94cc0 2f 63 22 0a 20 20 20 20 22 73 74 72 75 63 74 2d 74 79 70 65 2d 70 72 6f 70 65 72 74 79 3f 22 0a /c"....."struct-type-property?".
94ce0 20 20 20 20 22 73 74 72 75 63 74 2d 74 79 70 65 2d 73 65 61 6c 65 64 3f 22 0a 20 20 20 20 22 73 ...."struct-type-sealed?"....."s
94d00 74 72 75 63 74 2d 74 79 70 65 3f 22 0a 20 20 20 20 22 73 74 72 75 63 74 2f 63 22 0a 20 20 20 20 truct-type?"....."struct/c".....
94d20 22 73 74 72 75 63 74 2f 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 73 74 72 75 63 74 2f 63 74 "struct/contract"....."struct/ct
94d40 63 22 0a 20 20 20 20 22 73 74 72 75 63 74 2f 64 63 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 22 c"....."struct/dc"....."struct:"
94d60 0a 20 20 20 20 22 73 74 72 75 63 74 3a 61 72 69 74 79 2d 61 74 2d 6c 65 61 73 74 22 0a 20 20 20 ....."struct:arity-at-least"....
94d80 20 22 73 74 72 75 63 74 3a 61 72 72 6f 77 2d 63 6f 6e 74 72 61 63 74 2d 69 6e 66 6f 22 0a 20 20 ."struct:arrow-contract-info"...
94da0 20 20 22 73 74 72 75 63 74 3a 64 61 74 65 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 64 61 74 65 .."struct:date"....."struct:date
94dc0 2a 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a *"....."struct:exn"....."struct:
94de0 65 78 6e 3a 62 72 65 61 6b 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 62 72 65 61 6b exn:break"....."struct:exn:break
94e00 3a 68 61 6e 67 2d 75 70 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 62 72 65 61 6b 3a :hang-up"....."struct:exn:break:
94e20 74 65 72 6d 69 6e 61 74 65 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 22 terminate"....."struct:exn:fail"
94e40 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 22 0a ....."struct:exn:fail:contract".
94e60 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 61 72 ...."struct:exn:fail:contract:ar
94e80 69 74 79 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 ity"....."struct:exn:fail:contra
94ea0 63 74 3a 62 6c 61 6d 65 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 63 ct:blame"....."struct:exn:fail:c
94ec0 6f 6e 74 72 61 63 74 3a 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 22 0a 20 20 20 20 22 73 74 72 75 63 ontract:continuation"....."struc
94ee0 74 3a 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 64 69 76 69 64 65 2d 62 79 2d 7a 65 t:exn:fail:contract:divide-by-ze
94f00 72 6f 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 ro"....."struct:exn:fail:contrac
94f20 74 3a 6e 6f 6e 2d 66 69 78 6e 75 6d 2d 72 65 73 75 6c 74 22 0a 20 20 20 20 22 73 74 72 75 63 74 t:non-fixnum-result"....."struct
94f40 3a 65 78 6e 3a 66 61 69 6c 3a 63 6f 6e 74 72 61 63 74 3a 76 61 72 69 61 62 6c 65 22 0a 20 20 20 :exn:fail:contract:variable"....
94f60 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d 22 0a 20 20 ."struct:exn:fail:filesystem"...
94f80 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d 3a 65 72 .."struct:exn:fail:filesystem:er
94fa0 72 6e 6f 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 rno"....."struct:exn:fail:filesy
94fc0 73 74 65 6d 3a 65 78 69 73 74 73 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 stem:exists"....."struct:exn:fai
94fe0 6c 3a 66 69 6c 65 73 79 73 74 65 6d 3a 6d 69 73 73 69 6e 67 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 l:filesystem:missing-module"....
95000 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 66 69 6c 65 73 79 73 74 65 6d 3a 76 65 72 ."struct:exn:fail:filesystem:ver
95020 73 69 6f 6e 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 6e 65 74 77 6f sion"....."struct:exn:fail:netwo
95040 72 6b 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 6e 65 74 77 6f 72 6b rk"....."struct:exn:fail:network
95060 3a 65 72 72 6e 6f 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 6f 62 6a :errno"....."struct:exn:fail:obj
95080 65 63 74 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 6f 75 74 2d 6f 66 ect"....."struct:exn:fail:out-of
950a0 2d 6d 65 6d 6f 72 79 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 72 65 -memory"....."struct:exn:fail:re
950c0 61 64 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 72 65 61 64 3a 65 6f ad"....."struct:exn:fail:read:eo
950e0 66 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 72 65 61 64 3a 6e 6f 6e f"....."struct:exn:fail:read:non
95100 2d 63 68 61 72 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 -char"....."struct:exn:fail:synt
95120 61 78 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 73 79 6e 74 61 78 3a ax"....."struct:exn:fail:syntax:
95140 6d 69 73 73 69 6e 67 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 65 78 6e 3a missing-module"....."struct:exn:
95160 66 61 69 6c 3a 73 79 6e 74 61 78 3a 75 6e 62 6f 75 6e 64 22 0a 20 20 20 20 22 73 74 72 75 63 74 fail:syntax:unbound"....."struct
95180 3a 65 78 6e 3a 66 61 69 6c 3a 75 6e 73 75 70 70 6f 72 74 65 64 22 0a 20 20 20 20 22 73 74 72 75 :exn:fail:unsupported"....."stru
951a0 63 74 3a 65 78 6e 3a 66 61 69 6c 3a 75 73 65 72 22 0a 20 20 20 20 22 73 74 72 75 63 74 3a 73 72 ct:exn:fail:user"....."struct:sr
951c0 63 6c 6f 63 22 0a 20 20 20 20 22 73 74 72 75 63 74 3f 22 0a 20 20 20 20 22 73 75 62 31 22 0a 20 cloc"....."struct?"....."sub1"..
951e0 20 20 20 22 73 75 62 62 79 74 65 73 22 0a 20 20 20 20 22 73 75 62 63 6c 61 73 73 3f 22 0a 20 20 ..."subbytes"....."subclass?"...
95200 20 20 22 73 75 62 63 6c 61 73 73 3f 2f 63 22 0a 20 20 20 20 22 73 75 62 70 72 6f 63 65 73 73 22 .."subclass?/c"....."subprocess"
95220 0a 20 20 20 20 22 73 75 62 70 72 6f 63 65 73 73 2d 67 72 6f 75 70 2d 65 6e 61 62 6c 65 64 22 0a ....."subprocess-group-enabled".
95240 20 20 20 20 22 73 75 62 70 72 6f 63 65 73 73 2d 6b 69 6c 6c 22 0a 20 20 20 20 22 73 75 62 70 72 ...."subprocess-kill"....."subpr
95260 6f 63 65 73 73 2d 70 69 64 22 0a 20 20 20 20 22 73 75 62 70 72 6f 63 65 73 73 2d 73 74 61 74 75 ocess-pid"....."subprocess-statu
95280 73 22 0a 20 20 20 20 22 73 75 62 70 72 6f 63 65 73 73 2d 77 61 69 74 22 0a 20 20 20 20 22 73 75 s"....."subprocess-wait"....."su
952a0 62 70 72 6f 63 65 73 73 3f 22 0a 20 20 20 20 22 73 75 62 73 65 74 3f 22 0a 20 20 20 20 22 73 75 bprocess?"....."subset?"....."su
952c0 62 73 74 72 69 6e 67 22 0a 20 20 20 20 22 73 75 67 67 65 73 74 2f 63 22 0a 20 20 20 20 22 73 75 bstring"....."suggest/c"....."su
952e0 70 65 72 22 0a 20 20 20 20 22 73 75 70 65 72 2d 69 6e 73 74 61 6e 74 69 61 74 65 22 0a 20 20 20 per"....."super-instantiate"....
95300 20 22 73 75 70 65 72 2d 6d 61 6b 65 2d 6f 62 6a 65 63 74 22 0a 20 20 20 20 22 73 75 70 65 72 2d ."super-make-object"....."super-
95320 6e 65 77 22 0a 20 20 20 20 22 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e 67 22 0a 20 20 20 20 22 73 new"....."symbol->string"....."s
95340 79 6d 62 6f 6c 2d 69 6e 74 65 72 6e 65 64 3f 22 0a 20 20 20 20 22 73 79 6d 62 6f 6c 2d 75 6e 72 ymbol-interned?"....."symbol-unr
95360 65 61 64 61 62 6c 65 3f 22 0a 20 20 20 20 22 73 79 6d 62 6f 6c 3c 3f 22 0a 20 20 20 20 22 73 79 eadable?"....."symbol<?"....."sy
95380 6d 62 6f 6c 3d 3f 22 0a 20 20 20 20 22 73 79 6d 62 6f 6c 3f 22 0a 20 20 20 20 22 73 79 6d 62 6f mbol=?"....."symbol?"....."symbo
953a0 6c 69 63 2d 6c 69 6e 6b 2d 74 79 70 65 2d 62 69 74 73 22 0a 20 20 20 20 22 73 79 6d 62 6f 6c 73 lic-link-type-bits"....."symbols
953c0 22 0a 20 20 20 20 22 73 79 6e 63 22 0a 20 20 20 20 22 73 79 6e 63 2f 65 6e 61 62 6c 65 2d 62 72 "....."sync"....."sync/enable-br
953e0 65 61 6b 22 0a 20 20 20 20 22 73 79 6e 63 2f 74 69 6d 65 6f 75 74 22 0a 20 20 20 20 22 73 79 6e eak"....."sync/timeout"....."syn
95400 63 2f 74 69 6d 65 6f 75 74 2f 65 6e 61 62 6c 65 2d 62 72 65 61 6b 22 0a 20 20 20 20 22 73 79 6e c/timeout/enable-break"....."syn
95420 74 61 78 2d 3e 64 61 74 75 6d 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 3e 6c 69 73 74 22 0a 20 tax->datum"....."syntax->list"..
95440 20 20 20 22 73 79 6e 74 61 78 2d 61 72 6d 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 62 69 6e 64 ..."syntax-arm"....."syntax-bind
95460 69 6e 67 2d 73 65 74 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 62 69 6e 64 69 6e 67 2d 73 65 74 ing-set"....."syntax-binding-set
95480 2d 3e 73 79 6e 74 61 78 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 62 69 6e 64 69 6e 67 2d 73 65 ->syntax"....."syntax-binding-se
954a0 74 3f 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 62 6f 75 6e 64 2d 70 68 61 73 65 73 22 0a 20 20 t?"....."syntax-bound-phases"...
954c0 20 20 22 73 79 6e 74 61 78 2d 62 6f 75 6e 64 2d 73 79 6d 62 6f 6c 73 22 0a 20 20 20 20 22 73 79 .."syntax-bound-symbols"....."sy
954e0 6e 74 61 78 2d 63 6f 6c 75 6d 6e 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 64 65 62 75 67 2d 69 ntax-column"....."syntax-debug-i
95500 6e 66 6f 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 64 69 73 61 72 6d 22 0a 20 20 20 20 22 73 79 nfo"....."syntax-disarm"....."sy
95520 6e 74 61 78 2d 65 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 6c 69 6e 65 22 0a 20 20 20 20 22 73 ntax-e"....."syntax-line"....."s
95540 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 61 70 70 6c 79 2d 74 72 61 6e 73 66 6f 72 6d 65 72 22 0a 20 yntax-local-apply-transformer"..
95560 20 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 62 69 6e 64 2d 73 79 6e 74 61 78 65 73 22 0a ..."syntax-local-bind-syntaxes".
95580 20 20 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 63 65 72 74 69 66 69 65 72 22 0a 20 20 20 ...."syntax-local-certifier"....
955a0 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 63 6f 6e 74 65 78 74 22 0a 20 20 20 20 22 73 79 6e ."syntax-local-context"....."syn
955c0 74 61 78 2d 6c 6f 63 61 6c 2d 65 76 61 6c 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 tax-local-eval"....."syntax-loca
955e0 6c 2d 65 78 70 61 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 22 0a 20 20 20 20 22 73 79 6e 74 61 78 l-expand-expression"....."syntax
95600 2d 6c 6f 63 61 6c 2d 67 65 74 2d 73 68 61 64 6f 77 65 72 22 0a 20 20 20 20 22 73 79 6e 74 61 78 -local-get-shadower"....."syntax
95620 2d 6c 6f 63 61 6c 2d 69 64 65 6e 74 69 66 69 65 72 2d 61 73 2d 62 69 6e 64 69 6e 67 22 0a 20 20 -local-identifier-as-binding"...
95640 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 69 6e 74 72 6f 64 75 63 65 22 0a 20 20 20 20 22 .."syntax-local-introduce"....."
95660 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 6c 69 66 74 2d 63 6f 6e 74 65 78 74 22 0a 20 20 20 20 22 syntax-local-lift-context"....."
95680 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 6c 69 66 74 2d 65 78 70 72 65 73 73 69 6f 6e 22 0a 20 20 syntax-local-lift-expression"...
956a0 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 6c 69 66 74 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 .."syntax-local-lift-module"....
956c0 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 6c 69 66 74 2d 6d 6f 64 75 6c 65 2d 65 6e 64 2d 64 ."syntax-local-lift-module-end-d
956e0 65 63 6c 61 72 61 74 69 6f 6e 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 6c 69 eclaration"....."syntax-local-li
95700 66 74 2d 70 72 6f 76 69 64 65 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 6c 69 ft-provide"....."syntax-local-li
95720 66 74 2d 72 65 71 75 69 72 65 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 6c 69 ft-require"....."syntax-local-li
95740 66 74 2d 76 61 6c 75 65 73 2d 65 78 70 72 65 73 73 69 6f 6e 22 0a 20 20 20 20 22 73 79 6e 74 61 ft-values-expression"....."synta
95760 78 2d 6c 6f 63 61 6c 2d 6d 61 6b 65 2d 64 65 66 69 6e 69 74 69 6f 6e 2d 63 6f 6e 74 65 78 74 22 x-local-make-definition-context"
95780 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 6d 61 6b 65 2d 64 65 6c 74 61 2d 69 6e ....."syntax-local-make-delta-in
957a0 74 72 6f 64 75 63 65 72 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 6d 61 74 63 troducer"....."syntax-local-matc
957c0 68 2d 69 6e 74 72 6f 64 75 63 65 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 6d h-introduce"....."syntax-local-m
957e0 6f 64 75 6c 65 2d 64 65 66 69 6e 65 64 2d 69 64 65 6e 74 69 66 69 65 72 73 22 0a 20 20 20 20 22 odule-defined-identifiers"....."
95800 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 6d 6f 64 75 6c 65 2d 65 78 70 6f 72 74 73 22 0a 20 20 20 syntax-local-module-exports"....
95820 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 6d 6f 64 75 6c 65 2d 69 6e 74 65 72 6e 65 64 2d 73 ."syntax-local-module-interned-s
95840 63 6f 70 65 2d 73 79 6d 62 6f 6c 73 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d cope-symbols"....."syntax-local-
95860 6d 6f 64 75 6c 65 2d 72 65 71 75 69 72 65 64 2d 69 64 65 6e 74 69 66 69 65 72 73 22 0a 20 20 20 module-required-identifiers"....
95880 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 6e 61 6d 65 22 0a 20 20 20 20 22 73 79 6e 74 61 78 ."syntax-local-name"....."syntax
958a0 2d 6c 6f 63 61 6c 2d 70 68 61 73 65 2d 6c 65 76 65 6c 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d -local-phase-level"....."syntax-
958c0 6c 6f 63 61 6c 2d 73 75 62 6d 6f 64 75 6c 65 73 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 6c 6f local-submodules"....."syntax-lo
958e0 63 61 6c 2d 74 72 61 6e 73 66 6f 72 6d 69 6e 67 2d 6d 6f 64 75 6c 65 2d 70 72 6f 76 69 64 65 73 cal-transforming-module-provides
95900 3f 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 76 61 6c 75 65 22 0a 20 20 20 20 ?"....."syntax-local-value".....
95920 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 76 61 6c 75 65 2f 69 6d 6d 65 64 69 61 74 65 22 0a 20 "syntax-local-value/immediate"..
95940 20 20 20 22 73 79 6e 74 61 78 2d 6c 6f 63 61 6c 2d 76 61 6c 75 65 2f 72 65 63 6f 72 64 22 0a 20 ..."syntax-local-value/record"..
95960 20 20 20 22 73 79 6e 74 61 78 2d 6f 72 69 67 69 6e 61 6c 3f 22 0a 20 20 20 20 22 73 79 6e 74 61 ..."syntax-original?"....."synta
95980 78 2d 70 61 72 73 65 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 70 61 72 73 65 72 22 0a 20 20 20 x-parse"....."syntax-parser"....
959a0 20 22 73 79 6e 74 61 78 2d 70 61 74 74 65 72 6e 2d 76 61 72 69 61 62 6c 65 3f 22 0a 20 20 20 20 ."syntax-pattern-variable?".....
959c0 22 73 79 6e 74 61 78 2d 70 6f 73 69 74 69 6f 6e 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 70 72 "syntax-position"....."syntax-pr
959e0 6f 70 65 72 74 79 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 79 2d 70 72 65 operty"....."syntax-property-pre
95a00 73 65 72 76 65 64 3f 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 79 2d 72 65 served?"....."syntax-property-re
95a20 6d 6f 76 65 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 79 2d 73 79 6d 62 6f move"....."syntax-property-symbo
95a40 6c 2d 6b 65 79 73 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 70 72 6f 74 65 63 74 22 0a 20 20 20 l-keys"....."syntax-protect"....
95a60 20 22 73 79 6e 74 61 78 2d 72 65 61 72 6d 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 72 65 63 65 ."syntax-rearm"....."syntax-rece
95a80 72 74 69 66 79 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 73 68 69 66 74 2d 70 68 61 73 65 2d 6c rtify"....."syntax-shift-phase-l
95aa0 65 76 65 6c 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 73 6f 75 72 63 65 22 0a 20 20 20 20 22 73 evel"....."syntax-source"....."s
95ac0 79 6e 74 61 78 2d 73 6f 75 72 63 65 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 20 22 73 79 6e 74 61 78 yntax-source-module"....."syntax
95ae0 2d 73 70 61 6e 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 74 61 69 6e 74 22 0a 20 20 20 20 22 73 -span"....."syntax-taint"....."s
95b00 79 6e 74 61 78 2d 74 61 69 6e 74 65 64 3f 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 74 72 61 63 yntax-tainted?"....."syntax-trac
95b20 6b 2d 6f 72 69 67 69 6e 22 0a 20 20 20 20 22 73 79 6e 74 61 78 2d 74 72 61 6e 73 66 6f 72 6d 69 k-origin"....."syntax-transformi
95b40 6e 67 2d 6d 6f 64 75 6c 65 2d 65 78 70 72 65 73 73 69 6f 6e 3f 22 0a 20 20 20 20 22 73 79 6e 74 ng-module-expression?"....."synt
95b60 61 78 2d 74 72 61 6e 73 66 6f 72 6d 69 6e 67 2d 77 69 74 68 2d 6c 69 66 74 73 3f 22 0a 20 20 20 ax-transforming-with-lifts?"....
95b80 20 22 73 79 6e 74 61 78 2d 74 72 61 6e 73 66 6f 72 6d 69 6e 67 3f 22 0a 20 20 20 20 22 73 79 6e ."syntax-transforming?"....."syn
95ba0 74 61 78 2f 63 22 0a 20 20 20 20 22 73 79 6e 74 61 78 3f 22 0a 20 20 20 20 22 73 79 73 74 65 6d tax/c"....."syntax?"....."system
95bc0 22 0a 20 20 20 20 22 73 79 73 74 65 6d 2a 22 0a 20 20 20 20 22 73 79 73 74 65 6d 2a 2f 65 78 69 "....."system*"....."system*/exi
95be0 74 2d 63 6f 64 65 22 0a 20 20 20 20 22 73 79 73 74 65 6d 2d 62 69 67 2d 65 6e 64 69 61 6e 3f 22 t-code"....."system-big-endian?"
95c00 0a 20 20 20 20 22 73 79 73 74 65 6d 2d 69 64 6c 65 2d 65 76 74 22 0a 20 20 20 20 22 73 79 73 74 ....."system-idle-evt"....."syst
95c20 65 6d 2d 6c 61 6e 67 75 61 67 65 2b 63 6f 75 6e 74 72 79 22 0a 20 20 20 20 22 73 79 73 74 65 6d em-language+country"....."system
95c40 2d 6c 69 62 72 61 72 79 2d 73 75 62 70 61 74 68 22 0a 20 20 20 20 22 73 79 73 74 65 6d 2d 70 61 -library-subpath"....."system-pa
95c60 74 68 2d 63 6f 6e 76 65 6e 74 69 6f 6e 2d 74 79 70 65 22 0a 20 20 20 20 22 73 79 73 74 65 6d 2d th-convention-type"....."system-
95c80 74 79 70 65 22 0a 20 20 20 20 22 73 79 73 74 65 6d 2f 65 78 69 74 2d 63 6f 64 65 22 0a 20 20 20 type"....."system/exit-code"....
95ca0 20 22 74 61 67 22 0a 20 20 20 20 22 74 61 69 6c 2d 6d 61 72 6b 73 2d 6d 61 74 63 68 3f 22 0a 20 ."tag"....."tail-marks-match?"..
95cc0 20 20 20 22 74 61 6b 65 22 0a 20 20 20 20 22 74 61 6b 65 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 ..."take"....."take-common-prefi
95ce0 78 22 0a 20 20 20 20 22 74 61 6b 65 2d 72 69 67 68 74 22 0a 20 20 20 20 22 74 61 6b 65 66 22 0a x"....."take-right"....."takef".
95d00 20 20 20 20 22 74 61 6b 65 66 2d 72 69 67 68 74 22 0a 20 20 20 20 22 74 61 6e 22 0a 20 20 20 20 ...."takef-right"....."tan".....
95d20 22 74 61 6e 68 22 0a 20 20 20 20 22 74 63 70 2d 61 62 61 6e 64 6f 6e 2d 70 6f 72 74 22 0a 20 20 "tanh"....."tcp-abandon-port"...
95d40 20 20 22 74 63 70 2d 61 63 63 65 70 74 22 0a 20 20 20 20 22 74 63 70 2d 61 63 63 65 70 74 2d 65 .."tcp-accept"....."tcp-accept-e
95d60 76 74 22 0a 20 20 20 20 22 74 63 70 2d 61 63 63 65 70 74 2d 72 65 61 64 79 3f 22 0a 20 20 20 20 vt"....."tcp-accept-ready?".....
95d80 22 74 63 70 2d 61 63 63 65 70 74 2f 65 6e 61 62 6c 65 2d 62 72 65 61 6b 22 0a 20 20 20 20 22 74 "tcp-accept/enable-break"....."t
95da0 63 70 2d 61 64 64 72 65 73 73 65 73 22 0a 20 20 20 20 22 74 63 70 2d 63 6c 6f 73 65 22 0a 20 20 cp-addresses"....."tcp-close"...
95dc0 20 20 22 74 63 70 2d 63 6f 6e 6e 65 63 74 22 0a 20 20 20 20 22 74 63 70 2d 63 6f 6e 6e 65 63 74 .."tcp-connect"....."tcp-connect
95de0 2f 65 6e 61 62 6c 65 2d 62 72 65 61 6b 22 0a 20 20 20 20 22 74 63 70 2d 6c 69 73 74 65 6e 22 0a /enable-break"....."tcp-listen".
95e00 20 20 20 20 22 74 63 70 2d 6c 69 73 74 65 6e 65 72 3f 22 0a 20 20 20 20 22 74 63 70 2d 70 6f 72 ...."tcp-listener?"....."tcp-por
95e20 74 3f 22 0a 20 20 20 20 22 74 65 6e 74 61 74 69 76 65 2d 70 72 65 74 74 79 2d 70 72 69 6e 74 2d t?"....."tentative-pretty-print-
95e40 70 6f 72 74 2d 63 61 6e 63 65 6c 22 0a 20 20 20 20 22 74 65 6e 74 61 74 69 76 65 2d 70 72 65 74 port-cancel"....."tentative-pret
95e60 74 79 2d 70 72 69 6e 74 2d 70 6f 72 74 2d 74 72 61 6e 73 66 65 72 22 0a 20 20 20 20 22 74 65 6e ty-print-port-transfer"....."ten
95e80 74 68 22 0a 20 20 20 20 22 74 65 72 6d 69 6e 61 6c 2d 70 6f 72 74 3f 22 0a 20 20 20 20 22 74 68 th"....."terminal-port?"....."th
95ea0 65 2d 75 6e 73 75 70 70 6c 69 65 64 2d 61 72 67 22 0a 20 20 20 20 22 74 68 69 72 64 22 0a 20 20 e-unsupplied-arg"....."third"...
95ec0 20 20 22 74 68 69 73 22 0a 20 20 20 20 22 74 68 69 73 25 22 0a 20 20 20 20 22 74 68 72 65 61 64 .."this"....."this%"....."thread
95ee0 22 0a 20 20 20 20 22 74 68 72 65 61 64 2d 63 65 6c 6c 2d 72 65 66 22 0a 20 20 20 20 22 74 68 72 "....."thread-cell-ref"....."thr
95f00 65 61 64 2d 63 65 6c 6c 2d 73 65 74 21 22 0a 20 20 20 20 22 74 68 72 65 61 64 2d 63 65 6c 6c 2d ead-cell-set!"....."thread-cell-
95f20 76 61 6c 75 65 73 3f 22 0a 20 20 20 20 22 74 68 72 65 61 64 2d 63 65 6c 6c 3f 22 0a 20 20 20 20 values?"....."thread-cell?".....
95f40 22 74 68 72 65 61 64 2d 64 65 61 64 2d 65 76 74 22 0a 20 20 20 20 22 74 68 72 65 61 64 2d 64 65 "thread-dead-evt"....."thread-de
95f60 61 64 3f 22 0a 20 20 20 20 22 74 68 72 65 61 64 2d 67 72 6f 75 70 3f 22 0a 20 20 20 20 22 74 68 ad?"....."thread-group?"....."th
95f80 72 65 61 64 2d 72 65 63 65 69 76 65 22 0a 20 20 20 20 22 74 68 72 65 61 64 2d 72 65 63 65 69 76 read-receive"....."thread-receiv
95fa0 65 2d 65 76 74 22 0a 20 20 20 20 22 74 68 72 65 61 64 2d 72 65 73 75 6d 65 22 0a 20 20 20 20 22 e-evt"....."thread-resume"....."
95fc0 74 68 72 65 61 64 2d 72 65 73 75 6d 65 2d 65 76 74 22 0a 20 20 20 20 22 74 68 72 65 61 64 2d 72 thread-resume-evt"....."thread-r
95fe0 65 77 69 6e 64 2d 72 65 63 65 69 76 65 22 0a 20 20 20 20 22 74 68 72 65 61 64 2d 72 75 6e 6e 69 ewind-receive"....."thread-runni
96000 6e 67 3f 22 0a 20 20 20 20 22 74 68 72 65 61 64 2d 73 65 6e 64 22 0a 20 20 20 20 22 74 68 72 65 ng?"....."thread-send"....."thre
96020 61 64 2d 73 75 73 70 65 6e 64 22 0a 20 20 20 20 22 74 68 72 65 61 64 2d 73 75 73 70 65 6e 64 2d ad-suspend"....."thread-suspend-
96040 65 76 74 22 0a 20 20 20 20 22 74 68 72 65 61 64 2d 74 72 79 2d 72 65 63 65 69 76 65 22 0a 20 20 evt"....."thread-try-receive"...
96060 20 20 22 74 68 72 65 61 64 2d 77 61 69 74 22 0a 20 20 20 20 22 74 68 72 65 61 64 2f 73 75 73 70 .."thread-wait"....."thread/susp
96080 65 6e 64 2d 74 6f 2d 6b 69 6c 6c 22 0a 20 20 20 20 22 74 68 72 65 61 64 3f 22 0a 20 20 20 20 22 end-to-kill"....."thread?"....."
960a0 74 68 75 6e 6b 22 0a 20 20 20 20 22 74 68 75 6e 6b 2a 22 0a 20 20 20 20 22 74 69 6d 65 2d 61 70 thunk"....."thunk*"....."time-ap
960c0 70 6c 79 22 0a 20 20 20 20 22 74 6f 75 63 68 22 0a 20 20 20 20 22 74 72 61 6e 73 70 6c 61 6e 74 ply"....."touch"....."transplant
960e0 2d 69 6e 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 74 72 61 6e 73 70 6c 61 6e 74 2d 6f 75 74 -input-port"....."transplant-out
96100 70 75 74 2d 70 6f 72 74 22 0a 20 20 20 20 22 74 72 75 65 22 0a 20 20 20 20 22 74 72 75 6e 63 61 put-port"....."true"....."trunca
96120 74 65 22 0a 20 20 20 20 22 74 79 70 65 63 68 65 63 6b 2d 66 61 69 6c 22 0a 20 20 20 20 22 75 64 te"....."typecheck-fail"....."ud
96140 70 2d 61 64 64 72 65 73 73 65 73 22 0a 20 20 20 20 22 75 64 70 2d 62 69 6e 64 21 22 0a 20 20 20 p-addresses"....."udp-bind!"....
96160 20 22 75 64 70 2d 62 6f 75 6e 64 3f 22 0a 20 20 20 20 22 75 64 70 2d 63 6c 6f 73 65 22 0a 20 20 ."udp-bound?"....."udp-close"...
96180 20 20 22 75 64 70 2d 63 6f 6e 6e 65 63 74 21 22 0a 20 20 20 20 22 75 64 70 2d 63 6f 6e 6e 65 63 .."udp-connect!"....."udp-connec
961a0 74 65 64 3f 22 0a 20 20 20 20 22 75 64 70 2d 6d 75 6c 74 69 63 61 73 74 2d 69 6e 74 65 72 66 61 ted?"....."udp-multicast-interfa
961c0 63 65 22 0a 20 20 20 20 22 75 64 70 2d 6d 75 6c 74 69 63 61 73 74 2d 6a 6f 69 6e 2d 67 72 6f 75 ce"....."udp-multicast-join-grou
961e0 70 21 22 0a 20 20 20 20 22 75 64 70 2d 6d 75 6c 74 69 63 61 73 74 2d 6c 65 61 76 65 2d 67 72 6f p!"....."udp-multicast-leave-gro
96200 75 70 21 22 0a 20 20 20 20 22 75 64 70 2d 6d 75 6c 74 69 63 61 73 74 2d 6c 6f 6f 70 62 61 63 6b up!"....."udp-multicast-loopback
96220 3f 22 0a 20 20 20 20 22 75 64 70 2d 6d 75 6c 74 69 63 61 73 74 2d 73 65 74 2d 69 6e 74 65 72 66 ?"....."udp-multicast-set-interf
96240 61 63 65 21 22 0a 20 20 20 20 22 75 64 70 2d 6d 75 6c 74 69 63 61 73 74 2d 73 65 74 2d 6c 6f 6f ace!"....."udp-multicast-set-loo
96260 70 62 61 63 6b 21 22 0a 20 20 20 20 22 75 64 70 2d 6d 75 6c 74 69 63 61 73 74 2d 73 65 74 2d 74 pback!"....."udp-multicast-set-t
96280 74 6c 21 22 0a 20 20 20 20 22 75 64 70 2d 6d 75 6c 74 69 63 61 73 74 2d 74 74 6c 22 0a 20 20 20 tl!"....."udp-multicast-ttl"....
962a0 20 22 75 64 70 2d 6f 70 65 6e 2d 73 6f 63 6b 65 74 22 0a 20 20 20 20 22 75 64 70 2d 72 65 63 65 ."udp-open-socket"....."udp-rece
962c0 69 76 65 21 22 0a 20 20 20 20 22 75 64 70 2d 72 65 63 65 69 76 65 21 2a 22 0a 20 20 20 20 22 75 ive!"....."udp-receive!*"....."u
962e0 64 70 2d 72 65 63 65 69 76 65 21 2d 65 76 74 22 0a 20 20 20 20 22 75 64 70 2d 72 65 63 65 69 76 dp-receive!-evt"....."udp-receiv
96300 65 21 2f 65 6e 61 62 6c 65 2d 62 72 65 61 6b 22 0a 20 20 20 20 22 75 64 70 2d 72 65 63 65 69 76 e!/enable-break"....."udp-receiv
96320 65 2d 72 65 61 64 79 2d 65 76 74 22 0a 20 20 20 20 22 75 64 70 2d 73 65 6e 64 22 0a 20 20 20 20 e-ready-evt"....."udp-send".....
96340 22 75 64 70 2d 73 65 6e 64 2a 22 0a 20 20 20 20 22 75 64 70 2d 73 65 6e 64 2d 65 76 74 22 0a 20 "udp-send*"....."udp-send-evt"..
96360 20 20 20 22 75 64 70 2d 73 65 6e 64 2d 72 65 61 64 79 2d 65 76 74 22 0a 20 20 20 20 22 75 64 70 ..."udp-send-ready-evt"....."udp
96380 2d 73 65 6e 64 2d 74 6f 22 0a 20 20 20 20 22 75 64 70 2d 73 65 6e 64 2d 74 6f 2a 22 0a 20 20 20 -send-to"....."udp-send-to*"....
963a0 20 22 75 64 70 2d 73 65 6e 64 2d 74 6f 2d 65 76 74 22 0a 20 20 20 20 22 75 64 70 2d 73 65 6e 64 ."udp-send-to-evt"....."udp-send
963c0 2d 74 6f 2f 65 6e 61 62 6c 65 2d 62 72 65 61 6b 22 0a 20 20 20 20 22 75 64 70 2d 73 65 6e 64 2f -to/enable-break"....."udp-send/
963e0 65 6e 61 62 6c 65 2d 62 72 65 61 6b 22 0a 20 20 20 20 22 75 64 70 2d 73 65 74 2d 72 65 63 65 69 enable-break"....."udp-set-recei
96400 76 65 2d 62 75 66 66 65 72 2d 73 69 7a 65 21 22 0a 20 20 20 20 22 75 64 70 2d 73 65 74 2d 74 74 ve-buffer-size!"....."udp-set-tt
96420 6c 21 22 0a 20 20 20 20 22 75 64 70 2d 74 74 6c 22 0a 20 20 20 20 22 75 64 70 3f 22 0a 20 20 20 l!"....."udp-ttl"....."udp?"....
96440 20 22 75 6e 62 6f 78 22 0a 20 20 20 20 22 75 6e 62 6f 78 2a 22 0a 20 20 20 20 22 75 6e 63 61 75 ."unbox"....."unbox*"....."uncau
96460 67 68 74 2d 65 78 63 65 70 74 69 6f 6e 2d 68 61 6e 64 6c 65 72 22 0a 20 20 20 20 22 75 6e 63 6f ght-exception-handler"....."unco
96480 6e 73 74 72 61 69 6e 65 64 2d 64 6f 6d 61 69 6e 2d 3e 22 0a 20 20 20 20 22 75 6e 69 74 22 0a 20 nstrained-domain->"....."unit"..
964a0 20 20 20 22 75 6e 69 74 2d 66 72 6f 6d 2d 63 6f 6e 74 65 78 74 22 0a 20 20 20 20 22 75 6e 69 74 ..."unit-from-context"....."unit
964c0 2f 63 22 0a 20 20 20 20 22 75 6e 69 74 2f 6e 65 77 2d 69 6d 70 6f 72 74 2d 65 78 70 6f 72 74 22 /c"....."unit/new-import-export"
964e0 0a 20 20 20 20 22 75 6e 69 74 2f 73 22 0a 20 20 20 20 22 75 6e 69 74 3f 22 0a 20 20 20 20 22 75 ....."unit/s"....."unit?"....."u
96500 6e 71 75 6f 74 65 64 2d 70 72 69 6e 74 69 6e 67 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 75 6e nquoted-printing-string"....."un
96520 71 75 6f 74 65 64 2d 70 72 69 6e 74 69 6e 67 2d 73 74 72 69 6e 67 2d 76 61 6c 75 65 22 0a 20 20 quoted-printing-string-value"...
96540 20 20 22 75 6e 71 75 6f 74 65 64 2d 70 72 69 6e 74 69 6e 67 2d 73 74 72 69 6e 67 3f 22 0a 20 20 .."unquoted-printing-string?"...
96560 20 20 22 75 6e 73 70 65 63 69 66 69 65 64 2d 64 6f 6d 22 0a 20 20 20 20 22 75 6e 73 75 70 70 6c .."unspecified-dom"....."unsuppl
96580 69 65 64 2d 61 72 67 3f 22 0a 20 20 20 20 22 75 73 65 2d 63 6f 6c 6c 65 63 74 69 6f 6e 2d 6c 69 ied-arg?"....."use-collection-li
965a0 6e 6b 2d 70 61 74 68 73 22 0a 20 20 20 20 22 75 73 65 2d 63 6f 6d 70 69 6c 65 64 2d 66 69 6c 65 nk-paths"....."use-compiled-file
965c0 2d 63 68 65 63 6b 22 0a 20 20 20 20 22 75 73 65 2d 63 6f 6d 70 69 6c 65 64 2d 66 69 6c 65 2d 70 -check"....."use-compiled-file-p
965e0 61 74 68 73 22 0a 20 20 20 20 22 75 73 65 2d 75 73 65 72 2d 73 70 65 63 69 66 69 63 2d 73 65 61 aths"....."use-user-specific-sea
96600 72 63 68 2d 70 61 74 68 73 22 0a 20 20 20 20 22 75 73 65 72 2d 65 78 65 63 75 74 65 2d 62 69 74 rch-paths"....."user-execute-bit
96620 22 0a 20 20 20 20 22 75 73 65 72 2d 70 65 72 6d 69 73 73 69 6f 6e 2d 62 69 74 73 22 0a 20 20 20 "....."user-permission-bits"....
96640 20 22 75 73 65 72 2d 72 65 61 64 2d 62 69 74 22 0a 20 20 20 20 22 75 73 65 72 2d 77 72 69 74 65 ."user-read-bit"....."user-write
96660 2d 62 69 74 22 0a 20 20 20 20 22 76 61 6c 75 65 2d 62 6c 61 6d 65 22 0a 20 20 20 20 22 76 61 6c -bit"....."value-blame"....."val
96680 75 65 2d 63 6f 6e 74 72 61 63 74 22 0a 20 20 20 20 22 76 61 6c 75 65 73 22 0a 20 20 20 20 22 76 ue-contract"....."values"....."v
966a0 61 6c 75 65 73 2f 64 72 6f 70 22 0a 20 20 20 20 22 76 61 72 69 61 62 6c 65 2d 72 65 66 65 72 65 alues/drop"....."variable-refere
966c0 6e 63 65 2d 3e 65 6d 70 74 79 2d 6e 61 6d 65 73 70 61 63 65 22 0a 20 20 20 20 22 76 61 72 69 61 nce->empty-namespace"....."varia
966e0 62 6c 65 2d 72 65 66 65 72 65 6e 63 65 2d 3e 6d 6f 64 75 6c 65 2d 62 61 73 65 2d 70 68 61 73 65 ble-reference->module-base-phase
96700 22 0a 20 20 20 20 22 76 61 72 69 61 62 6c 65 2d 72 65 66 65 72 65 6e 63 65 2d 3e 6d 6f 64 75 6c "....."variable-reference->modul
96720 65 2d 64 65 63 6c 61 72 61 74 69 6f 6e 2d 69 6e 73 70 65 63 74 6f 72 22 0a 20 20 20 20 22 76 61 e-declaration-inspector"....."va
96740 72 69 61 62 6c 65 2d 72 65 66 65 72 65 6e 63 65 2d 3e 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 69 6e riable-reference->module-path-in
96760 64 65 78 22 0a 20 20 20 20 22 76 61 72 69 61 62 6c 65 2d 72 65 66 65 72 65 6e 63 65 2d 3e 6d 6f dex"....."variable-reference->mo
96780 64 75 6c 65 2d 73 6f 75 72 63 65 22 0a 20 20 20 20 22 76 61 72 69 61 62 6c 65 2d 72 65 66 65 72 dule-source"....."variable-refer
967a0 65 6e 63 65 2d 3e 6e 61 6d 65 73 70 61 63 65 22 0a 20 20 20 20 22 76 61 72 69 61 62 6c 65 2d 72 ence->namespace"....."variable-r
967c0 65 66 65 72 65 6e 63 65 2d 3e 70 68 61 73 65 22 0a 20 20 20 20 22 76 61 72 69 61 62 6c 65 2d 72 eference->phase"....."variable-r
967e0 65 66 65 72 65 6e 63 65 2d 3e 72 65 73 6f 6c 76 65 64 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 22 0a eference->resolved-module-path".
96800 20 20 20 20 22 76 61 72 69 61 62 6c 65 2d 72 65 66 65 72 65 6e 63 65 2d 63 6f 6e 73 74 61 6e 74 ...."variable-reference-constant
96820 3f 22 0a 20 20 20 20 22 76 61 72 69 61 62 6c 65 2d 72 65 66 65 72 65 6e 63 65 2d 66 72 6f 6d 2d ?"....."variable-reference-from-
96840 75 6e 73 61 66 65 3f 22 0a 20 20 20 20 22 76 61 72 69 61 62 6c 65 2d 72 65 66 65 72 65 6e 63 65 unsafe?"....."variable-reference
96860 3f 22 0a 20 20 20 20 22 76 65 63 74 6f 72 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2a 2d 6c 65 6e ?"....."vector"....."vector*-len
96880 67 74 68 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2a 2d 72 65 66 22 0a 20 20 20 20 22 76 65 63 74 gth"....."vector*-ref"....."vect
968a0 6f 72 2a 2d 73 65 74 21 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 3e 69 6d 6d 75 74 61 62 6c 65 or*-set!"....."vector->immutable
968c0 2d 76 65 63 74 6f 72 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 3e 6c 69 73 74 22 0a 20 20 20 20 -vector"....."vector->list".....
968e0 22 76 65 63 74 6f 72 2d 3e 70 73 65 75 64 6f 2d 72 61 6e 64 6f 6d 2d 67 65 6e 65 72 61 74 6f 72 "vector->pseudo-random-generator
96900 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 3e 70 73 65 75 64 6f 2d 72 61 6e 64 6f 6d 2d 67 65 6e "....."vector->pseudo-random-gen
96920 65 72 61 74 6f 72 21 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 3e 76 61 6c 75 65 73 22 0a 20 20 erator!"....."vector->values"...
96940 20 20 22 76 65 63 74 6f 72 2d 61 70 70 65 6e 64 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 61 72 .."vector-append"....."vector-ar
96960 67 6d 61 78 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 61 72 67 6d 69 6e 22 0a 20 20 20 20 22 76 gmax"....."vector-argmin"....."v
96980 65 63 74 6f 72 2d 63 61 73 21 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 63 6f 70 79 22 0a 20 20 ector-cas!"....."vector-copy"...
969a0 20 20 22 76 65 63 74 6f 72 2d 63 6f 70 79 21 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 63 6f 75 .."vector-copy!"....."vector-cou
969c0 6e 74 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 64 72 6f 70 22 0a 20 20 20 20 22 76 65 63 74 6f nt"....."vector-drop"....."vecto
969e0 72 2d 64 72 6f 70 2d 72 69 67 68 74 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 65 6d 70 74 79 3f r-drop-right"....."vector-empty?
96a00 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 66 69 6c 6c 21 22 0a 20 20 20 20 22 76 65 63 74 6f 72 "....."vector-fill!"....."vector
96a20 2d 66 69 6c 74 65 72 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 66 69 6c 74 65 72 2d 6e 6f 74 22 -filter"....."vector-filter-not"
96a40 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 69 6d 6d 75 74 61 62 6c 65 22 0a 20 20 20 20 22 76 65 63 ....."vector-immutable"....."vec
96a60 74 6f 72 2d 69 6d 6d 75 74 61 62 6c 65 2f 63 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 69 6d 6d tor-immutable/c"....."vector-imm
96a80 75 74 61 62 6c 65 6f 66 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 6c 65 6e 67 74 68 22 0a 20 20 utableof"....."vector-length"...
96aa0 20 20 22 76 65 63 74 6f 72 2d 6d 61 70 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 6d 61 70 21 22 .."vector-map"....."vector-map!"
96ac0 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 6d 65 6d 62 65 72 22 0a 20 20 20 20 22 76 65 63 74 6f 72 ....."vector-member"....."vector
96ae0 2d 6d 65 6d 71 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 6d 65 6d 76 22 0a 20 20 20 20 22 76 65 -memq"....."vector-memv"....."ve
96b00 63 74 6f 72 2d 72 65 66 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 73 65 74 21 22 0a 20 20 20 20 ctor-ref"....."vector-set!".....
96b20 22 76 65 63 74 6f 72 2d 73 65 74 2a 21 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 73 65 74 2d 70 "vector-set*!"....."vector-set-p
96b40 65 72 66 6f 72 6d 61 6e 63 65 2d 73 74 61 74 73 21 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 73 erformance-stats!"....."vector-s
96b60 6f 72 74 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 73 6f 72 74 21 22 0a 20 20 20 20 22 76 65 63 ort"....."vector-sort!"....."vec
96b80 74 6f 72 2d 73 70 6c 69 74 2d 61 74 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 73 70 6c 69 74 2d tor-split-at"....."vector-split-
96ba0 61 74 2d 72 69 67 68 74 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2d 74 61 6b 65 22 0a 20 20 20 20 at-right"....."vector-take".....
96bc0 22 76 65 63 74 6f 72 2d 74 61 6b 65 2d 72 69 67 68 74 22 0a 20 20 20 20 22 76 65 63 74 6f 72 2f "vector-take-right"....."vector/
96be0 63 22 0a 20 20 20 20 22 76 65 63 74 6f 72 3f 22 0a 20 20 20 20 22 76 65 63 74 6f 72 6f 66 22 0a c"....."vector?"....."vectorof".
96c00 20 20 20 20 22 76 65 72 73 69 6f 6e 22 0a 20 20 20 20 22 76 6f 69 64 22 0a 20 20 20 20 22 76 6f ...."version"....."void"....."vo
96c20 69 64 3f 22 0a 20 20 20 20 22 77 65 61 6b 2d 62 6f 78 2d 76 61 6c 75 65 22 0a 20 20 20 20 22 77 id?"....."weak-box-value"....."w
96c40 65 61 6b 2d 62 6f 78 3f 22 0a 20 20 20 20 22 77 65 61 6b 2d 73 65 74 22 0a 20 20 20 20 22 77 65 eak-box?"....."weak-set"....."we
96c60 61 6b 2d 73 65 74 61 6c 77 22 0a 20 20 20 20 22 77 65 61 6b 2d 73 65 74 65 71 22 0a 20 20 20 20 ak-setalw"....."weak-seteq".....
96c80 22 77 65 61 6b 2d 73 65 74 65 71 76 22 0a 20 20 20 20 22 77 69 6c 6c 2d 65 78 65 63 75 74 65 22 "weak-seteqv"....."will-execute"
96ca0 0a 20 20 20 20 22 77 69 6c 6c 2d 65 78 65 63 75 74 6f 72 3f 22 0a 20 20 20 20 22 77 69 6c 6c 2d ....."will-executor?"....."will-
96cc0 72 65 67 69 73 74 65 72 22 0a 20 20 20 20 22 77 69 6c 6c 2d 74 72 79 2d 65 78 65 63 75 74 65 22 register"....."will-try-execute"
96ce0 0a 20 20 20 20 22 77 69 74 68 2d 61 73 73 65 72 74 73 22 0a 20 20 20 20 22 77 69 74 68 2d 63 6f ....."with-asserts"....."with-co
96d00 6e 74 72 61 63 74 22 0a 20 20 20 20 22 77 69 74 68 2d 63 6f 6e 74 72 61 63 74 2d 63 6f 6e 74 69 ntract"....."with-contract-conti
96d20 6e 75 61 74 69 6f 6e 2d 6d 61 72 6b 22 0a 20 20 20 20 22 77 69 74 68 2d 64 69 73 61 70 70 65 61 nuation-mark"....."with-disappea
96d40 72 65 64 2d 75 73 65 73 22 0a 20 20 20 20 22 77 69 74 68 2d 69 6e 70 75 74 2d 66 72 6f 6d 2d 62 red-uses"....."with-input-from-b
96d60 79 74 65 73 22 0a 20 20 20 20 22 77 69 74 68 2d 69 6e 70 75 74 2d 66 72 6f 6d 2d 73 74 72 69 6e ytes"....."with-input-from-strin
96d80 67 22 0a 20 20 20 20 22 77 69 74 68 2d 6d 65 74 68 6f 64 22 0a 20 20 20 20 22 77 69 74 68 2d 6f g"....."with-method"....."with-o
96da0 75 74 70 75 74 2d 74 6f 2d 62 79 74 65 73 22 0a 20 20 20 20 22 77 69 74 68 2d 6f 75 74 70 75 74 utput-to-bytes"....."with-output
96dc0 2d 74 6f 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 77 69 74 68 2d 73 79 6e 74 61 78 2a 22 0a 20 -to-string"....."with-syntax*"..
96de0 20 20 20 22 77 69 74 68 2d 74 79 70 65 22 0a 20 20 20 20 22 77 6f 75 6c 64 2d 62 65 2d 66 75 74 ..."with-type"....."would-be-fut
96e00 75 72 65 22 0a 20 20 20 20 22 77 72 61 70 2d 65 76 74 22 0a 20 20 20 20 22 77 72 69 74 61 62 6c ure"....."wrap-evt"....."writabl
96e20 65 3c 25 3e 22 0a 20 20 20 20 22 77 72 69 74 65 22 0a 20 20 20 20 22 77 72 69 74 65 2d 62 79 74 e<%>"....."write"....."write-byt
96e40 65 22 0a 20 20 20 20 22 77 72 69 74 65 2d 62 79 74 65 73 22 0a 20 20 20 20 22 77 72 69 74 65 2d e"....."write-bytes"....."write-
96e60 62 79 74 65 73 2d 61 76 61 69 6c 22 0a 20 20 20 20 22 77 72 69 74 65 2d 62 79 74 65 73 2d 61 76 bytes-avail"....."write-bytes-av
96e80 61 69 6c 2a 22 0a 20 20 20 20 22 77 72 69 74 65 2d 62 79 74 65 73 2d 61 76 61 69 6c 2d 65 76 74 ail*"....."write-bytes-avail-evt
96ea0 22 0a 20 20 20 20 22 77 72 69 74 65 2d 62 79 74 65 73 2d 61 76 61 69 6c 2f 65 6e 61 62 6c 65 2d "....."write-bytes-avail/enable-
96ec0 62 72 65 61 6b 22 0a 20 20 20 20 22 77 72 69 74 65 2d 63 68 61 72 22 0a 20 20 20 20 22 77 72 69 break"....."write-char"....."wri
96ee0 74 65 2d 73 70 65 63 69 61 6c 22 0a 20 20 20 20 22 77 72 69 74 65 2d 73 70 65 63 69 61 6c 2d 61 te-special"....."write-special-a
96f00 76 61 69 6c 2a 22 0a 20 20 20 20 22 77 72 69 74 65 2d 73 70 65 63 69 61 6c 2d 65 76 74 22 0a 20 vail*"....."write-special-evt"..
96f20 20 20 20 22 77 72 69 74 65 2d 73 74 72 69 6e 67 22 0a 20 20 20 20 22 77 72 69 74 65 2d 74 6f 2d ..."write-string"....."write-to-
96f40 66 69 6c 65 22 0a 20 20 20 20 22 77 72 69 74 65 6c 6e 22 0a 20 20 20 20 22 77 72 6f 6e 67 2d 73 file"....."writeln"....."wrong-s
96f60 79 6e 74 61 78 22 0a 20 20 20 20 22 78 6f 72 22 0a 20 20 20 20 22 7a 65 72 6f 3f 22 0a 20 20 20 yntax"....."xor"....."zero?"....
96f80 20 22 7e 2e 61 22 0a 20 20 20 20 22 7e 2e 73 22 0a 20 20 20 20 22 7e 2e 76 22 0a 20 20 20 20 22 ."~.a"....."~.s"....."~.v"....."
96fa0 7e 61 22 0a 20 20 20 20 22 7e 65 22 0a 20 20 20 20 22 7e 72 22 0a 20 20 20 20 22 7e 73 22 0a 20 ~a"....."~e"....."~r"....."~s"..
96fc0 20 20 20 22 7e 76 22 0a 20 20 20 20 22 ce bb 3a 22 0a 20 20 20 20 22 e2 86 92 22 0a 20 20 20 20 ..."~v"....."..:"....."...".....
96fe0 22 e2 88 80 22 0a 20 20 20 20 22 e2 88 a9 22 29 0a 20 20 22 52 61 63 6b 65 74 20 5c 22 62 75 69 "..."....."...")..."Racket.\"bui
97000 6c 74 69 6e 73 5c 22 3a 20 65 78 74 72 61 20 66 72 6f 6d 20 23 6c 61 6e 67 20 72 61 63 6b 65 74 ltins\":.extra.from.#lang.racket
97020 20 61 6e 64 20 23 6c 61 6e 67 20 74 79 70 65 64 2f 72 61 63 6b 65 74 22 29 0a 0a 28 70 72 6f 76 .and.#lang.typed/racket")..(prov
97040 69 64 65 20 27 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 73 2d 61 6e 64 2d 62 75 69 6c 74 69 6e ide.'racket-keywords-and-builtin
97060 73 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 73 2d 61 6e 64 2d 62 75 69 6c 74 s)..;;.racket-keywords-and-built
97080 69 6e 73 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ins.el.ends.here................
970a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
970c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
970e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
971a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
971c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
971e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97200 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
97220 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-font-lock.el.............
97240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
97280 30 30 35 31 34 36 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 33 34 32 00 20 30 00 00 00 0051461.00000000000.017342..0...
972a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
972c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
972e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
97320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
97340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
973a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
973c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
973e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97400 3b 3b 3b 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 ;;;.racket-font-lock.el.-*-.lexi
97420 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 cal-binding:.t;.-*-..;;.Copyrigh
97440 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 t.(c).2013-2022.by.Greg.Hendersh
97460 6f 74 74 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 ott...;;.Author:.Greg.Hendershot
97480 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 t.;;.URL:.https://github.com/gre
974a0 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 ghendershott/racket-mode..;;.SPD
974c0 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 X-License-Identifier:.GPL-3.0-or
974e0 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 -later..(require.'cl-lib).(requi
97500 72 65 20 27 63 6f 6c 6f 72 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 75 73 74 re.'color).(require.'racket-cust
97520 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 73 2d 61 6e om).(require.'racket-keywords-an
97540 64 2d 62 75 69 6c 74 69 6e 73 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 70 70 73 d-builtins).(require.'racket-pps
97560 73 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 0a 3b 3b 20 44 65 s).(require.'racket-util)..;;.De
97580 66 69 6e 65 20 34 20 6c 65 76 65 6c 73 20 6f 66 20 66 6f 6e 74 2d 6c 6f 63 6b 2c 20 61 73 20 64 fine.4.levels.of.font-lock,.as.d
975a0 6f 63 75 6d 65 6e 74 65 64 20 69 6e 20 32 33 2e 36 2e 35 20 22 4c 65 76 65 6c 73 20 6f 66 0a 3b ocumented.in.23.6.5."Levels.of.;
975c0 3b 20 46 6f 6e 74 20 4c 6f 63 6b 22 2e 20 55 73 65 72 20 6d 61 79 20 63 6f 6e 74 72 6f 6c 20 75 ;.Font.Lock"..User.may.control.u
975e0 73 69 6e 67 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 61 78 69 6d 75 6d 2d 64 65 63 6f 72 61 74 69 sing.`font-lock-maximum-decorati
97600 6f 6e 27 2e 0a 0a 3b 3b 20 4e 6f 74 65 3a 20 66 6f 6e 74 2d 6c 6f 63 6b 20 69 74 65 72 61 74 65 on'...;;.Note:.font-lock.iterate
97620 73 20 62 79 20 6d 61 74 63 68 65 72 2c 20 64 6f 69 6e 67 20 61 6e 20 72 65 2d 73 65 61 72 63 68 s.by.matcher,.doing.an.re-search
97640 2d 66 6f 72 77 61 72 64 0a 3b 3b 20 6f 76 65 72 20 74 68 65 20 65 6e 74 69 72 65 20 72 65 67 69 -forward.;;.over.the.entire.regi
97660 6f 6e 2e 20 41 73 20 61 20 72 65 73 75 6c 74 2c 20 69 74 27 73 20 66 61 73 74 65 72 20 74 6f 20 on..As.a.result,.it's.faster.to.
97680 63 6f 6e 73 6f 6c 69 64 61 74 65 0a 3b 3b 20 6d 61 74 63 68 65 72 73 20 74 68 61 74 20 77 69 6c consolidate.;;.matchers.that.wil
976a0 6c 20 79 69 65 6c 64 20 74 68 65 20 73 61 6d 65 20 72 65 73 75 6c 74 20 28 75 6e 6c 65 73 73 20 l.yield.the.same.result.(unless.
976c0 74 68 65 79 20 6e 65 65 64 20 74 6f 20 62 65 0a 3b 3b 20 74 72 69 65 64 20 69 6e 20 61 20 63 65 they.need.to.be.;;.tried.in.a.ce
976e0 72 74 61 69 6e 20 6f 72 64 65 72 29 2e 0a 0a 3b 3b 20 4e 6f 74 65 3a 20 54 68 69 73 20 72 65 6c rtain.order)...;;.Note:.This.rel
97700 69 65 73 20 6f 6e 20 6f 75 72 20 63 68 61 72 61 63 74 65 72 20 73 79 6e 74 61 78 20 61 6c 72 65 ies.on.our.character.syntax.alre
97720 61 64 79 20 68 61 76 69 6e 67 20 62 65 65 6e 0a 3b 3b 20 61 70 70 6c 69 65 64 2e 20 46 6f 72 20 ady.having.been.;;.applied..For.
97740 65 78 61 6d 70 6c 65 20 61 20 52 61 63 6b 65 74 20 69 64 65 6e 74 69 66 69 65 72 20 6c 69 6b 65 example.a.Racket.identifier.like
97760 20 60 7c 6e 61 6d 65 20 77 69 74 68 20 73 70 61 63 65 73 7c 60 0a 3b 3b 20 77 69 6c 6c 20 61 6c .`|name.with.spaces|`.;;.will.al
97780 72 65 61 64 79 20 68 61 76 65 20 77 6f 72 64 2f 73 79 6d 62 6f 6c 20 73 79 6e 74 61 78 20 6f 6e ready.have.word/symbol.syntax.on
977a0 20 65 76 65 72 79 74 68 69 6e 67 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 0a 3b 3b 20 70 69 70 .everything.including.the.;;.pip
977c0 65 20 61 6e 64 20 73 70 61 63 65 20 63 68 61 72 73 2e 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 e.and.space.chars...(defconst.ra
977e0 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 30 0a 20 20 28 65 76 61 cket-font-lock-keywords-0...(eva
97800 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 20 20 60 28 3b 3b 20 23 73 68 65 62 61 6e 67 l-when-compile.....`(;;.#shebang
97820 0a 20 20 20 20 20 20 28 2c 28 72 78 20 62 6f 6c 20 22 23 21 22 20 28 2b 20 6e 6f 6e 6c 29 20 65 .......(,(rx.bol."#!".(+.nonl).e
97840 6f 6c 29 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 29 0a 0a 20 ol)...font-lock-comment-face)...
97860 20 20 20 20 20 3b 3b 20 23 6c 61 6e 67 0a 20 20 20 20 20 20 28 2c 28 72 78 20 28 67 72 6f 75 70 .....;;.#lang.......(,(rx.(group
97880 20 28 67 72 6f 75 70 20 22 23 6c 61 6e 67 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(group."#lang")................
978a0 20 20 20 20 28 31 2b 20 22 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(1+.".")....................
978c0 28 67 72 6f 75 70 20 28 31 2b 20 6e 6f 74 2d 6e 65 77 6c 69 6e 65 29 29 29 29 0a 20 20 20 20 20 (group.(1+.not-newline))))......
978e0 20 20 28 32 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 20 6e 69 6c 20 ..(2.font-lock-keyword-face.nil.
97900 74 29 0a 20 20 20 20 20 20 20 28 33 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65 2d t)........(3.font-lock-variable-
97920 6e 61 6d 65 2d 66 61 63 65 20 6e 69 6c 20 74 29 29 0a 0a 20 20 20 20 20 20 3b 3b 20 23 3c 3c 20 name-face.nil.t))........;;.#<<.
97940 68 65 72 65 20 73 74 72 69 6e 67 73 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 3b 3b 20 57 here.strings.......;;.......;;.W
97960 65 20 6f 6e 6c 79 20 68 61 6e 64 6c 65 20 74 68 65 20 6f 70 65 6e 69 6e 67 20 23 3c 3c 49 44 20 e.only.handle.the.opening.#<<ID.
97980 68 65 72 65 2e 20 54 68 65 20 72 65 6d 61 69 6e 64 65 72 20 69 73 0a 20 20 20 20 20 20 3b 3b 20 here..The.remainder.is.......;;.
979a0 68 61 6e 64 6c 65 64 20 69 6e 20 60 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 73 79 6e handled.in.`racket-font-lock-syn
979c0 74 61 63 74 69 63 2d 66 61 63 65 2d 66 75 6e 63 74 69 6f 6e 27 2e 0a 20 20 20 20 20 20 28 2c 28 tactic-face-function'........(,(
979e0 72 78 20 28 67 72 6f 75 70 20 22 23 3c 3c 22 20 28 2b 3f 20 28 6e 6f 74 20 28 61 6e 79 20 3f 5c rx.(group."#<<".(+?.(not.(any.?\
97a00 6e 29 29 29 29 20 28 67 72 6f 75 70 20 3f 5c 6e 29 29 0a 20 20 20 20 20 20 20 28 31 20 72 61 63 n)))).(group.?\n))........(1.rac
97a20 6b 65 74 2d 68 65 72 65 2d 73 74 72 69 6e 67 2d 66 61 63 65 20 6e 69 6c 20 74 29 29 0a 20 20 20 ket-here-string-face.nil.t))....
97a40 20 29 29 0a 20 20 22 53 74 72 69 6e 67 73 2c 20 63 6f 6d 6d 65 6e 74 73 2c 20 23 6c 61 6e 67 2e .))..."Strings,.comments,.#lang.
97a60 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b ")..(defconst.racket-font-lock-k
97a80 65 79 77 6f 72 64 73 2d 31 0a 20 20 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 eywords-1...(eval-when-compile..
97aa0 20 20 20 60 28 3b 3b 20 4b 65 79 77 6f 72 64 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 ...`(;;.Keyword.arguments.......
97ac0 28 2c 28 72 78 20 22 23 3a 22 20 28 31 2b 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 (,(rx."#:".(1+.(or.(syntax.word)
97ae0 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 28 73 79 6e 74 61 78 20 70 75 6e 63 74 75 61 .(syntax.symbol).(syntax.punctua
97b00 74 69 6f 6e 29 29 29 29 0a 20 20 20 20 20 20 20 2e 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 tion))))..........racket-keyword
97b20 2d 61 72 67 75 6d 65 6e 74 2d 66 61 63 65 29 0a 20 20 20 20 20 20 3b 3b 20 43 68 61 72 61 63 74 -argument-face).......;;.Charact
97b40 65 72 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 20 20 28 2c 28 72 78 20 28 73 65 71 20 22 23 5c er.literals.......(,(rx.(seq."#\
97b60 5c 22 20 28 31 2b 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 20 28 73 79 6e 74 61 78 \".(1+.(or.(syntax.word).(syntax
97b80 20 73 79 6d 62 6f 6c 29 20 28 73 79 6e 74 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 29 .symbol).(syntax.punctuation))))
97ba0 29 0a 20 20 20 20 20 20 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74 2d 66 61 )..........font-lock-constant-fa
97bc0 63 65 29 0a 0a 20 20 20 20 20 20 3b 3b 20 52 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e ce)........;;.Regular.expression
97be0 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 20 20 28 2c 28 72 78 20 28 67 72 6f 75 70 20 28 6f 72 .literals.......(,(rx.(group.(or
97c00 20 22 23 72 78 22 20 22 23 70 78 22 29 29 20 3f 5c 22 29 0a 20 20 20 20 20 20 20 31 20 66 6f 6e ."#rx"."#px")).?\")........1.fon
97c20 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74 2d 66 61 63 65 29 0a 0a 20 20 20 20 20 20 3b 3b 20 t-lock-constant-face)........;;.
97c40 4d 69 73 63 20 72 65 61 64 65 72 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 20 20 28 2c 28 72 78 Misc.reader.literals.......(,(rx
97c60 0a 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 2d 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 ..........symbol-start..........
97c80 28 6f 72 20 22 23 74 22 20 22 23 54 22 20 22 23 74 72 75 65 22 0a 20 20 20 20 20 20 20 20 20 20 (or."#t"."#T"."#true"...........
97ca0 20 20 20 22 23 66 22 20 22 23 46 22 20 22 23 66 61 6c 73 65 22 0a 20 20 20 20 20 20 20 20 20 20 ..."#f"."#F"."#false"...........
97cc0 20 20 20 28 73 65 71 20 28 61 6e 79 20 22 2d 2b 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(seq.(any."-+")..............
97ce0 20 20 20 20 20 28 6f 72 20 28 72 65 67 65 78 70 20 22 5b 69 49 5d 5b 6e 4e 5d 5b 66 46 5d 22 29 .....(or.(regexp."[iI][nN][fF]")
97d00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 67 65 78 70 20 22 .......................(regexp."
97d20 5b 6e 4e 5d 5b 61 41 5d 5b 6e 4e 5d 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 [nN][aA][nN]")).................
97d40 20 20 22 2e 22 20 28 61 6e 79 20 22 30 66 46 74 54 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 73 ..".".(any."0fFtT")))..........s
97d60 79 6d 62 6f 6c 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f ymbol-end)..........font-lock-co
97d80 6e 73 74 61 6e 74 2d 66 61 63 65 29 0a 0a 20 20 20 20 20 20 3b 3b 20 4e 75 6d 65 72 69 63 20 6c nstant-face)........;;.Numeric.l
97da0 69 74 65 72 61 6c 73 0a 20 20 20 20 20 20 28 2c 28 72 78 0a 20 20 20 20 20 20 20 20 20 73 79 6d iterals.......(,(rx..........sym
97dc0 62 6f 6c 2d 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 28 6f 72 0a 20 20 20 20 20 20 20 20 20 bol-start..........(or..........
97de0 20 3b 3b 20 23 64 20 23 65 20 23 69 20 6f 72 20 6e 6f 20 68 61 73 68 20 70 72 65 66 69 78 0a 20 .;;.#d.#e.#i.or.no.hash.prefix..
97e00 20 20 20 20 20 20 20 20 20 28 73 65 71 20 28 3f 20 22 23 22 20 28 61 6e 79 20 22 64 44 65 45 69 .........(seq.(?."#".(any."dDeEi
97e20 49 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 I"))................(?.(any."-+"
97e40 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 64 69 67 69 74 29 0a 20 20 20 ))................(1+.digit)....
97e60 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2e 2f 22 29 20 28 31 2b 20 64 69 ............(?.(any."./").(1+.di
97e80 67 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 65 45 git))................(?.(any."eE
97ea0 66 46 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 fF")...................(?.(any."
97ec0 2d 2b 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 64 69 67 69 -+"))...................(1+.digi
97ee0 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 29 t))................(?.(any."-+")
97f00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 64 69 67 69 74 29 0a 20 20 ...................(1+.digit)...
97f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2e 2f 22 29 20 28 31 ................(?.(any."./").(1
97f40 2b 20 64 69 67 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 +.digit))...................(?.(
97f60 61 6e 79 20 22 65 45 66 46 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 any."eEfF").....................
97f80 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(?.(any."-+")).................
97fa0 20 20 20 20 20 28 31 2b 20 64 69 67 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(1+.digit))................
97fc0 20 20 20 28 61 6e 79 20 22 69 49 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 23 78 0a ...(any."iI")))...........;;.#x.
97fe0 20 20 20 20 20 20 20 20 20 20 28 73 65 71 20 22 23 22 20 28 61 6e 79 20 22 78 58 22 29 0a 20 20 ..........(seq."#".(any."xX")...
98000 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 29 29 0a 20 20 20 20 .............(?.(any."-+")).....
98020 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 68 65 78 2d 64 69 67 69 74 29 0a 20 20 20 20 20 20 ...........(1+.hex-digit).......
98040 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2e 2f 22 29 20 28 31 2b 20 68 65 78 2d 64 .........(?.(any."./").(1+.hex-d
98060 69 67 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2d igit))................(?.(any."-
98080 2b 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 68 65 78 2d 64 69 +")...................(1+.hex-di
980a0 67 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 git)...................(?.(any."
980c0 2e 2f 22 29 20 28 31 2b 20 68 65 78 2d 64 69 67 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ./").(1+.hex-digit))............
980e0 20 20 20 20 20 20 20 28 61 6e 79 20 22 69 49 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b .......(any."iI")))...........;;
98100 20 23 62 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 71 20 22 23 22 20 28 61 6e 79 20 22 62 42 22 .#b...........(seq."#".(any."bB"
98120 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 29 29 0a )................(?.(any."-+")).
98140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 28 61 6e 79 20 22 30 31 22 29 29 0a 20 ...............(1+.(any."01"))..
98160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2e 2f 22 29 20 28 31 2b 20 ..............(?.(any."./").(1+.
98180 28 61 6e 79 20 22 30 31 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 (any."01")))................(?.(
981a0 61 6e 79 20 22 65 45 66 46 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f any."eEfF")...................(?
981c0 20 28 61 6e 79 20 22 2d 2b 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .(any."-+"))...................(
981e0 31 2b 20 28 61 6e 79 20 22 30 31 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 1+.(any."01")))................(
98200 3f 20 28 61 6e 79 20 22 2d 2b 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ?.(any."-+")...................(
98220 31 2b 20 28 61 6e 79 20 22 30 31 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1+.(any."01"))..................
98240 20 28 3f 20 28 61 6e 79 20 22 2e 2f 22 29 20 28 31 2b 20 28 61 6e 79 20 22 30 31 22 29 29 29 0a .(?.(any."./").(1+.(any."01"))).
98260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 65 45 66 46 22 ..................(?.(any."eEfF"
98280 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 )......................(?.(any."
982a0 2d 2b 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 28 -+"))......................(1+.(
982c0 61 6e 79 20 22 30 31 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 any."01")))...................(a
982e0 6e 79 20 22 69 49 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 23 6f 0a 20 20 20 20 20 ny."iI")))...........;;.#o......
98300 20 20 20 20 20 28 73 65 71 20 22 23 22 20 28 61 6e 79 20 22 6f 4f 22 29 0a 20 20 20 20 20 20 20 .....(seq."#".(any."oO")........
98320 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 29 29 0a 20 20 20 20 20 20 20 20 20 ........(?.(any."-+"))..........
98340 20 20 20 20 20 20 28 31 2b 20 28 61 6e 79 20 22 30 2d 37 22 29 29 0a 20 20 20 20 20 20 20 20 20 ......(1+.(any."0-7"))..........
98360 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2e 2f 22 29 20 28 31 2b 20 28 61 6e 79 20 22 30 2d ......(?.(any."./").(1+.(any."0-
98380 37 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 65 45 7")))................(?.(any."eE
983a0 66 46 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 fF")...................(?.(any."
983c0 2d 2b 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 28 61 6e 79 -+"))...................(1+.(any
983e0 20 22 30 2d 37 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 ."0-7")))................(?.(any
98400 20 22 2d 2b 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 28 61 6e ."-+")...................(1+.(an
98420 79 20 22 30 2d 37 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 y."0-7"))...................(?.(
98440 61 6e 79 20 22 2e 2f 22 29 20 28 31 2b 20 28 61 6e 79 20 22 30 2d 37 22 29 29 29 0a 20 20 20 20 any."./").(1+.(any."0-7"))).....
98460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 65 45 66 46 22 29 0a 20 20 ..............(?.(any."eEfF")...
98480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 29 ...................(?.(any."-+")
984a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 28 61 6e 79 20 )......................(1+.(any.
984c0 22 30 2d 37 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 79 20 "0-7")))...................(any.
984e0 22 69 49 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 78 74 66 6c 6f 6e 75 6d 0a 20 "iI")))...........;;.extflonum..
98500 20 20 20 20 20 20 20 20 20 28 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 23 64 20 6f 72 .........(or............;;.#d.or
98520 20 6e 6f 20 68 61 73 68 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 20 .no.hash.prefix............(seq.
98540 28 3f 20 22 23 22 20 28 61 6e 79 20 22 64 44 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (?."#".(any."dD"))..............
98560 20 20 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(?.(any."-+"))...............
98580 20 20 28 31 2b 20 64 69 67 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 ..(1+.digit).................(?.
985a0 28 61 6e 79 20 22 2e 2f 22 29 20 28 31 2b 20 64 69 67 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 (any."./").(1+.digit))..........
985c0 20 20 20 20 20 20 20 28 61 6e 79 20 22 74 54 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(any."tT")...............
985e0 20 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(?.(any."-+"))................
98600 20 28 31 2b 20 64 69 67 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 23 78 0a 20 20 .(1+.digit))............;;.#x...
98620 20 20 20 20 20 20 20 20 20 28 73 65 71 20 22 23 22 20 28 61 6e 79 20 22 78 58 22 29 0a 20 20 20 .........(seq."#".(any."xX")....
98640 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 29 29 0a 20 20 20 20 .............(?.(any."-+")).....
98660 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 68 65 78 2d 64 69 67 69 74 29 0a 20 20 20 20 20 ............(1+.hex-digit)......
98680 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2e 2f 22 29 20 28 31 2b 20 68 65 78 ...........(?.(any."./").(1+.hex
986a0 2d 64 69 67 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 79 20 22 74 -digit)).................(any."t
986c0 54 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 T").................(?.(any."-+"
986e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 68 65 78 2d 64 69 67 69 74 )).................(1+.hex-digit
98700 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 23 62 0a 20 20 20 20 20 20 20 20 20 20 20 28 ))............;;.#b............(
98720 73 65 71 20 22 23 22 20 28 61 6e 79 20 22 62 42 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 seq."#".(any."bB")..............
98740 20 20 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(?.(any."-+"))...............
98760 20 20 28 31 2b 20 28 61 6e 79 20 22 30 31 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(1+.(any."01"))...............
98780 20 20 28 3f 20 28 61 6e 79 20 22 2e 2f 22 29 20 28 31 2b 20 28 61 6e 79 20 22 30 31 22 29 29 29 ..(?.(any."./").(1+.(any."01")))
987a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 79 20 22 74 54 22 29 0a 20 20 20 20 .................(any."tT").....
987c0 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 29 29 0a 20 20 20 20 20 ............(?.(any."-+"))......
987e0 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 28 61 6e 79 20 22 30 31 22 29 29 29 0a 20 20 20 20 ...........(1+.(any."01"))).....
98800 20 20 20 20 20 20 20 3b 3b 20 23 6f 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 20 22 23 22 .......;;.#o............(seq."#"
98820 20 28 61 6e 79 20 22 6f 4f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 .(any."oO").................(?.(
98840 61 6e 79 20 22 2d 2b 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 28 any."-+")).................(1+.(
98860 61 6e 79 20 22 30 2d 37 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 28 any."0-7")).................(?.(
98880 61 6e 79 20 22 2e 2f 22 29 20 28 31 2b 20 28 61 6e 79 20 22 30 2d 37 22 29 29 29 0a 20 20 20 20 any."./").(1+.(any."0-7"))).....
988a0 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 79 20 22 74 54 22 29 0a 20 20 20 20 20 20 20 20 20 ............(any."tT")..........
988c0 20 20 20 20 20 20 20 28 3f 20 28 61 6e 79 20 22 2d 2b 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 .......(?.(any."-+"))...........
988e0 20 20 20 20 20 20 28 31 2b 20 28 61 6e 79 20 22 30 2d 37 22 29 29 29 29 29 0a 20 20 20 20 20 20 ......(1+.(any."0-7"))))).......
98900 20 20 20 73 79 6d 62 6f 6c 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 2e 20 66 6f 6e 74 2d 6c 6f 63 ...symbol-end)..........font-loc
98920 6b 2d 63 6f 6e 73 74 61 6e 74 2d 66 61 63 65 29 0a 0a 20 20 20 20 20 20 3b 3b 20 28 71 75 61 73 k-constant-face)........;;.(quas
98940 69 29 73 79 6e 74 61 78 20 72 65 61 64 65 72 20 73 68 6f 72 74 68 61 6e 64 20 66 6f 72 20 73 79 i)syntax.reader.shorthand.for.sy
98960 6d 62 6f 6c 73 20 6f 6e 6c 79 0a 20 20 20 20 20 20 28 2c 28 72 78 20 3f 23 0a 20 20 20 20 20 20 mbols.only.......(,(rx.?#.......
98980 20 20 20 20 20 20 28 6f 72 20 3f 60 20 3f 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 ......(or.?`.?').............(or
989a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 20 3f 7c 20 28 2b 20 61 6e 79 29 20 3f 7c ..............(seq.?|.(+.any).?|
989c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 20 28 31 2b 20 28 6f 72 20 28 73 79 6e )..............(seq.(1+.(or.(syn
989e0 74 61 78 20 77 6f 72 64 29 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 28 73 79 6e 74 61 tax.word).(syntax.symbol).(synta
98a00 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 2e 20 72 61 63 x.punctuation))))))..........rac
98a20 6b 65 74 2d 72 65 61 64 65 72 2d 73 79 6e 74 61 78 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d ket-reader-syntax-quoted-symbol-
98a40 66 61 63 65 29 0a 0a 20 20 20 20 20 20 3b 3b 20 28 71 75 61 73 69 29 71 75 6f 74 65 20 72 65 61 face)........;;.(quasi)quote.rea
98a60 64 65 72 20 73 68 6f 72 74 68 61 6e 64 20 66 6f 72 20 73 79 6d 62 6f 6c 73 20 6f 6e 6c 79 0a 20 der.shorthand.for.symbols.only..
98a80 20 20 20 20 20 28 2c 28 72 78 20 28 6f 72 20 3f 60 20 3f 27 29 0a 20 20 20 20 20 20 20 20 20 20 .....(,(rx.(or.?`.?')...........
98aa0 20 20 28 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 20 3f 7c 20 28 2b 20 61 6e ..(or..............(seq.?|.(+.an
98ac0 79 29 20 3f 7c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 20 28 31 2b 20 28 6f 72 y).?|)..............(seq.(1+.(or
98ae0 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 28 .(syntax.word).(syntax.symbol).(
98b00 73 79 6e 74 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 syntax.punctuation))))))........
98b20 2e 20 72 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 ..racket-reader-quoted-symbol-fa
98b40 63 65 29 29 29 0a 20 20 22 53 79 6d 62 6f 6c 73 2c 20 63 6f 6e 73 74 61 6e 74 73 2c 20 72 65 67 ce)))..."Symbols,.constants,.reg
98b60 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 73 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 ular.expressions")..(defconst.ra
98b80 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 32 0a 20 20 28 65 76 61 cket-font-lock-keywords-2...(eva
98ba0 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 20 20 60 28 3b 3b 20 64 65 66 2a 20 2d 2d 20 l-when-compile.....`(;;.def*.--.
98bc0 76 61 72 69 61 62 6c 65 73 0a 20 20 20 20 20 20 28 2c 28 72 78 20 28 73 79 6e 74 61 78 20 6f 70 variables.......(,(rx.(syntax.op
98be0 65 6e 2d 70 61 72 65 6e 74 68 65 73 69 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 66 en-parenthesis)............."def
98c00 22 20 28 30 2b 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 20 28 73 79 6e 74 61 78 20 ".(0+.(or.(syntax.word).(syntax.
98c20 73 79 6d 62 6f 6c 29 20 28 73 79 6e 74 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 0a 20 symbol).(syntax.punctuation)))..
98c40 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 ...........(1+.space)...........
98c60 20 20 28 67 72 6f 75 70 20 28 31 2b 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 20 28 ..(group.(1+.(or.(syntax.word).(
98c80 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 28 73 79 6e 74 61 78 20 70 75 6e 63 74 75 61 74 69 syntax.symbol).(syntax.punctuati
98ca0 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b on)............................;
98cc0 3b 20 61 6c 6c 6f 77 20 65 2e 67 2e 20 40 20 69 6e 20 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d ;.allow.e.g..@.in.identifier.nam
98ce0 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 e............................(sy
98d00 6e 74 61 78 20 65 78 70 72 65 73 73 69 6f 6e 2d 70 72 65 66 69 78 29 29 29 29 29 0a 20 20 20 20 ntax.expression-prefix))))).....
98d20 20 20 20 31 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65 2d 6e 61 6d 65 2d 66 61 63 ...1.font-lock-variable-name-fac
98d40 65 29 0a 20 20 20 20 20 20 28 2c 28 72 78 20 28 73 79 6e 74 61 78 20 6f 70 65 6e 2d 70 61 72 65 e).......(,(rx.(syntax.open-pare
98d60 6e 74 68 65 73 69 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 22 64 65 66 69 6e 65 nthesis).............(or."define
98d80 2d 73 79 6e 74 61 78 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 66 69 -syntaxes"................."defi
98da0 6e 65 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 66 69 ne-values"................."defi
98dc0 6e 65 2d 76 61 6c 75 65 73 2d 66 6f 72 2d 73 79 6e 74 61 78 22 29 0a 20 20 20 20 20 20 20 20 20 ne-values-for-syntax")..........
98de0 20 20 20 28 31 2b 20 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 ...(1+.space).............(synta
98e00 78 20 6f 70 65 6e 2d 70 61 72 65 6e 74 68 65 73 69 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 x.open-parenthesis).............
98e20 28 67 72 6f 75 70 20 28 31 2b 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 20 28 73 79 (group.(1+.(or.(syntax.word).(sy
98e40 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 28 73 79 6e 74 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e ntax.symbol).(syntax.punctuation
98e60 29 20 73 70 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 20 63 ).space))).............(syntax.c
98e80 6c 6f 73 65 2d 70 61 72 65 6e 74 68 65 73 69 73 29 29 0a 20 20 20 20 20 20 20 31 20 66 6f 6e 74 lose-parenthesis))........1.font
98ea0 2d 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65 2d 6e 61 6d 65 2d 66 61 63 65 29 0a 0a 20 20 20 20 20 -lock-variable-name-face).......
98ec0 20 3b 3b 20 64 65 66 2a 20 2d 2d 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 28 2c 28 72 .;;.def*.--.functions.......(,(r
98ee0 78 20 28 73 79 6e 74 61 78 20 6f 70 65 6e 2d 70 61 72 65 6e 74 68 65 73 69 73 29 0a 20 20 20 20 x.(syntax.open-parenthesis).....
98f00 20 20 20 20 20 20 20 20 22 64 65 66 22 20 28 30 2b 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f ........"def".(0+.(or.(syntax.wo
98f20 72 64 29 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 28 73 79 6e 74 61 78 20 70 75 6e 63 rd).(syntax.symbol).(syntax.punc
98f40 74 75 61 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 73 70 61 63 65 tuation))).............(1+.space
98f60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 28 73 79 6e 74 61 78 20 6f 70 65 6e 2d 70 ).............(1+.(syntax.open-p
98f80 61 72 65 6e 74 68 65 73 69 73 29 29 20 3b 31 2b 20 62 2f 63 20 63 75 72 72 69 65 64 20 64 65 66 arenthesis)).;1+.b/c.curried.def
98fa0 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 20 28 31 2b 20 28 6f 72 20 28 ine.............(group.(1+.(or.(
98fc0 73 79 6e 74 61 78 20 77 6f 72 64 29 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 28 73 79 syntax.word).(syntax.symbol).(sy
98fe0 6e 74 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntax.punctuation)...............
99000 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6c 6c 6f 77 20 65 2e 67 2e 20 40 20 69 6e 20 .............;;.allow.e.g..@.in.
99020 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 identifier.name.................
99040 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 20 65 78 70 72 65 73 73 69 6f 6e 2d 70 72 ...........(syntax.expression-pr
99060 65 66 69 78 29 29 29 29 29 0a 20 20 20 20 20 20 20 31 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 75 6e efix)))))........1.font-lock-fun
99080 63 74 69 6f 6e 2d 6e 61 6d 65 2d 66 61 63 65 29 0a 0a 20 20 20 20 20 20 3b 3b 20 6c 65 74 20 69 ction-name-face)........;;.let.i
990a0 64 65 6e 74 69 66 69 65 72 73 0a 20 20 20 20 20 20 28 2c 23 27 72 61 63 6b 65 74 2d 2d 66 6f 6e dentifiers.......(,#'racket--fon
990c0 74 2d 6c 6f 63 6b 2d 6c 65 74 2d 69 64 65 6e 74 69 66 69 65 72 73 29 0a 0a 20 20 20 20 20 20 3b t-lock-let-identifiers)........;
990e0 3b 20 6d 6f 64 75 6c 65 20 61 6e 64 20 6d 6f 64 75 6c 65 2a 0a 20 20 20 20 20 20 28 2c 28 72 78 ;.module.and.module*.......(,(rx
99100 20 28 73 79 6e 74 61 78 20 6f 70 65 6e 2d 70 61 72 65 6e 74 68 65 73 69 73 29 0a 20 20 20 20 20 .(syntax.open-parenthesis)......
99120 20 20 20 20 20 20 20 28 67 72 6f 75 70 20 22 6d 6f 64 75 6c 65 22 20 28 3f 20 22 2a 22 29 29 0a .......(group."module".(?."*")).
99140 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 ............(1+.space)..........
99160 20 20 20 28 67 72 6f 75 70 20 28 31 2b 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 20 ...(group.(1+.(or.(syntax.word).
99180 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 28 73 79 6e 74 61 78 20 70 75 6e 63 74 75 61 74 (syntax.symbol).(syntax.punctuat
991a0 69 6f 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 73 70 61 63 65 29 0a 20 ion)))).............(1+.space)..
991c0 20 20 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 20 28 31 2b 20 28 6f 72 20 28 73 79 6e 74 61 ...........(group.(1+.(or.(synta
991e0 78 20 77 6f 72 64 29 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 28 73 79 6e 74 61 78 20 x.word).(syntax.symbol).(syntax.
99200 70 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 31 20 66 6f 6e 74 2d punctuation)))))........(1.font-
99220 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 lock-keyword-face.nil.t)........
99240 28 32 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 75 6e 63 74 69 6f 6e 2d 6e 61 6d 65 2d 66 61 63 65 20 (2.font-lock-function-name-face.
99260 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 28 33 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 61 nil.t)........(3.font-lock-varia
99280 62 6c 65 2d 6e 61 6d 65 2d 66 61 63 65 20 6e 69 6c 20 74 29 29 0a 20 20 20 20 20 20 3b 3b 20 6d ble-name-face.nil.t)).......;;.m
992a0 6f 64 75 6c 65 2b 0a 20 20 20 20 20 20 28 2c 28 72 78 20 28 73 79 6e 74 61 78 20 6f 70 65 6e 2d odule+.......(,(rx.(syntax.open-
992c0 70 61 72 65 6e 74 68 65 73 69 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 20 parenthesis).............(group.
992e0 22 6d 6f 64 75 6c 65 2b 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 73 70 61 63 65 "module+").............(1+.space
99300 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 20 28 31 2b 20 28 6f 72 20 28 73 79 ).............(group.(1+.(or.(sy
99320 6e 74 61 78 20 77 6f 72 64 29 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 28 73 79 6e 74 ntax.word).(syntax.symbol).(synt
99340 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 31 20 66 6f ax.punctuation)))))........(1.fo
99360 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 20 6e 69 6c 20 74 29 0a 20 20 20 20 nt-lock-keyword-face.nil.t).....
99380 20 20 20 28 32 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 75 6e 63 74 69 6f 6e 2d 6e 61 6d 65 2d 66 61 ...(2.font-lock-function-name-fa
993a0 63 65 20 6e 69 6c 20 74 29 29 29 29 0a 20 20 22 44 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 6d 73 ce.nil.t))))..."Definition.forms
993c0 2c 20 6c 65 74 2d 62 6f 75 6e 64 20 69 64 65 6e 74 69 66 69 65 72 73 2c 20 6d 6f 64 75 6c 65 20 ,.let-bound.identifiers,.module.
993e0 66 6f 72 6d 73 2e 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d forms.")..(defconst.racket-font-
99400 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 33 0a 20 20 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d lock-keywords-3...(eval-when-com
99420 70 69 6c 65 0a 20 20 20 20 60 28 28 2c 28 72 65 67 65 78 70 2d 6f 70 74 20 72 61 63 6b 65 74 2d pile.....`((,(regexp-opt.racket-
99440 6b 65 79 77 6f 72 64 73 20 27 73 79 6d 62 6f 6c 73 29 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b keywords.'symbols)...font-lock-k
99460 65 79 77 6f 72 64 2d 66 61 63 65 29 0a 20 20 20 20 20 20 28 2c 28 72 65 67 65 78 70 2d 6f 70 74 eyword-face).......(,(regexp-opt
99480 20 72 61 63 6b 65 74 2d 62 75 69 6c 74 69 6e 73 2d 31 2d 6f 66 2d 32 20 27 73 79 6d 62 6f 6c 73 .racket-builtins-1-of-2.'symbols
994a0 29 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 62 75 69 6c 74 69 6e 2d 66 61 63 65 29 0a 20 20 20 20 )...font-lock-builtin-face).....
994c0 20 20 28 2c 28 72 65 67 65 78 70 2d 6f 70 74 20 72 61 63 6b 65 74 2d 62 75 69 6c 74 69 6e 73 2d ..(,(regexp-opt.racket-builtins-
994e0 32 2d 6f 66 2d 32 20 27 73 79 6d 62 6f 6c 73 29 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 62 75 69 2-of-2.'symbols)...font-lock-bui
99500 6c 74 69 6e 2d 66 61 63 65 29 0a 20 20 20 20 20 20 28 2c 28 72 65 67 65 78 70 2d 6f 70 74 20 72 ltin-face).......(,(regexp-opt.r
99520 61 63 6b 65 74 2d 74 79 70 65 2d 6c 69 73 74 20 27 73 79 6d 62 6f 6c 73 29 20 2e 20 66 6f 6e 74 acket-type-list.'symbols)...font
99540 2d 6c 6f 63 6b 2d 74 79 70 65 2d 66 61 63 65 29 29 29 0a 20 20 22 41 20 63 75 72 61 74 65 64 20 -lock-type-face)))..."A.curated.
99560 6c 69 73 74 20 6f 66 20 70 6f 70 75 6c 61 72 20 52 61 63 6b 65 74 20 6c 61 6e 67 20 69 64 65 6e list.of.popular.Racket.lang.iden
99580 74 69 66 69 65 72 73 20 61 6e 64 20 54 79 70 65 64 20 52 61 63 6b 65 74 20 74 79 70 65 73 2e 0a tifiers.and.Typed.Racket.types..
995a0 0a 4e 6f 74 65 3a 20 54 6f 20 74 68 65 20 65 78 74 65 6e 74 20 79 6f 75 20 75 73 65 20 23 6c 61 .Note:.To.the.extent.you.use.#la
995c0 6e 67 20 72 61 63 6b 65 74 20 6f 72 20 23 74 79 70 65 64 2f 72 61 63 6b 65 74 2c 20 74 68 69 73 ng.racket.or.#typed/racket,.this
995e0 0a 6d 61 79 20 62 65 20 68 61 6e 64 79 2e 20 42 75 74 20 52 61 63 6b 65 74 20 69 73 20 61 6c 73 .may.be.handy..But.Racket.is.als
99600 6f 20 61 20 74 6f 6f 6c 20 74 6f 20 6d 61 6b 65 20 23 6c 61 6e 67 27 73 2c 20 61 6e 64 20 74 68 o.a.tool.to.make.#lang's,.and.th
99620 69 73 0a 64 6f 65 73 6e 27 74 20 72 65 61 6c 6c 79 20 66 69 74 20 74 68 61 74 2e 22 29 0a 0a 28 is.doesn't.really.fit.that.")..(
99640 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 defconst.racket-font-lock-keywor
99660 64 73 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 73 0a 20 20 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f ds-sexp-comments...(eval-when-co
99680 6d 70 69 6c 65 0a 20 20 20 20 60 28 28 2c 23 27 72 61 63 6b 65 74 2d 2d 66 6f 6e 74 2d 6c 6f 63 mpile.....`((,#'racket--font-loc
996a0 6b 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 73 29 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 k-sexp-comments))))..(defconst.r
996c0 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 6c 65 76 65 6c 2d 30 acket-font-lock-keywords-level-0
996e0 0a 20 20 28 61 70 70 65 6e 64 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 ...(append.racket-font-lock-keyw
99700 6f 72 64 73 2d 30 0a 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 ords-0...........racket-font-loc
99720 6b 2d 6b 65 79 77 6f 72 64 73 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 73 29 29 0a 0a 28 64 65 66 k-keywords-sexp-comments))..(def
99740 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d const.racket-font-lock-keywords-
99760 6c 65 76 65 6c 2d 31 0a 20 20 28 61 70 70 65 6e 64 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f level-1...(append.racket-font-lo
99780 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 30 0a 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 66 ck-keywords-0...........racket-f
997a0 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 31 0a 20 20 20 20 20 20 20 20 20 20 72 61 ont-lock-keywords-1...........ra
997c0 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 73 65 78 70 2d 63 6f 6d cket-font-lock-keywords-sexp-com
997e0 6d 65 6e 74 73 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c ments))..(defconst.racket-font-l
99800 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 6c 65 76 65 6c 2d 32 0a 20 20 28 61 70 70 65 6e 64 20 72 ock-keywords-level-2...(append.r
99820 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 30 0a 20 20 20 20 20 acket-font-lock-keywords-0......
99840 20 20 20 20 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 31 .....racket-font-lock-keywords-1
99860 0a 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 ...........racket-font-lock-keyw
99880 6f 72 64 73 2d 32 0a 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 ords-2...........racket-font-loc
998a0 6b 2d 6b 65 79 77 6f 72 64 73 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 73 29 29 0a 0a 28 64 65 66 k-keywords-sexp-comments))..(def
998c0 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d const.racket-font-lock-keywords-
998e0 6c 65 76 65 6c 2d 33 0a 20 20 28 61 70 70 65 6e 64 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f level-3...(append.racket-font-lo
99900 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 30 0a 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 66 ck-keywords-0...........racket-f
99920 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 31 0a 20 20 20 20 20 20 20 20 20 20 72 61 ont-lock-keywords-1...........ra
99940 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 32 0a 20 20 20 20 20 20 cket-font-lock-keywords-2.......
99960 20 20 20 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 33 0a ....racket-font-lock-keywords-3.
99980 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f ..........racket-font-lock-keywo
999a0 72 64 73 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 73 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 rds-sexp-comments))..(defconst.r
999c0 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 0a 20 20 28 6c 69 73 74 acket-font-lock-keywords...(list
999e0 20 27 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 6c 65 76 65 .'racket-font-lock-keywords-leve
99a00 6c 2d 30 0a 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 l-0.........'racket-font-lock-ke
99a20 79 77 6f 72 64 73 2d 6c 65 76 65 6c 2d 31 0a 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 66 ywords-level-1.........'racket-f
99a40 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 6c 65 76 65 6c 2d 32 0a 20 20 20 20 20 20 ont-lock-keywords-level-2.......
99a60 20 20 27 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 6c 65 76 ..'racket-font-lock-keywords-lev
99a80 65 6c 2d 33 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d el-3))..(defun.racket-font-lock-
99aa0 73 79 6e 74 61 63 74 69 63 2d 66 61 63 65 2d 66 75 6e 63 74 69 6f 6e 20 28 73 74 61 74 65 29 0a syntactic-face-function.(state).
99ac0 20 20 28 6c 65 74 20 28 28 71 20 28 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 73 74 72 69 6e 67 2d ..(let.((q.(racket--ppss-string-
99ae0 70 20 73 74 61 74 65 29 29 29 0a 20 20 20 20 28 69 66 20 71 0a 20 20 20 20 20 20 20 20 28 6c 65 p.state))).....(if.q.........(le
99b00 74 20 28 28 73 74 61 72 74 70 6f 73 20 28 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 73 74 72 69 6e t.((startpos.(racket--ppss-strin
99b20 67 2f 63 6f 6d 6d 65 6e 74 2d 73 74 61 72 74 20 73 74 61 74 65 29 29 29 0a 20 20 20 20 20 20 20 g/comment-start.state)))........
99b40 20 20 20 28 69 66 20 28 65 71 20 28 63 68 61 72 2d 61 66 74 65 72 20 73 74 61 72 74 70 6f 73 29 ...(if.(eq.(char-after.startpos)
99b60 20 3f 7c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 3b 61 20 7c 2e 2e 2e 7c 20 .?|)...............nil.;a.|...|.
99b80 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 63 68 61 72 61 63 74 65 symbol.............(if.(characte
99ba0 72 70 20 71 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 6c 6f 63 6b 2d rp.q).................font-lock-
99bc0 73 74 72 69 6e 67 2d 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 string-face...............racket
99be0 2d 68 65 72 65 2d 73 74 72 69 6e 67 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 66 6f 6e 74 2d -here-string-face))).......font-
99c00 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 29 29 29 0a 0a 3b 3b 3b 20 73 65 78 70 20 63 lock-comment-face)))..;;;.sexp.c
99c20 6f 6d 6d 65 6e 74 73 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 66 6f 6e 74 2d 6c 6f 63 omments..(defun.racket--font-loc
99c40 6b 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 73 20 28 6c 69 6d 69 74 29 0a 20 20 22 46 6f 6e 74 2d k-sexp-comments.(limit)..."Font-
99c60 6c 6f 63 6b 20 73 65 78 70 20 63 6f 6d 6d 65 6e 74 73 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 6f lock.sexp.comments...Note.that.o
99c80 75 72 20 73 79 6e 74 61 78 20 74 61 62 6c 65 20 69 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79 20 64 6f ur.syntax.table.intentionally.do
99ca0 65 73 20 6e 6f 74 20 6d 61 72 6b 20 74 68 65 73 65 20 61 73 0a 63 6f 6d 6d 65 6e 74 73 2e 20 41 es.not.mark.these.as.comments..A
99cc0 73 20 61 20 72 65 73 75 6c 74 2c 20 69 6e 64 65 6e 74 20 61 6e 64 20 6e 61 76 20 77 6f 72 6b 20 s.a.result,.indent.and.nav.work.
99ce0 77 69 74 68 69 6e 20 74 68 65 20 73 65 78 70 2e 0a 49 6e 73 74 65 61 64 20 77 65 20 6d 65 72 65 within.the.sexp..Instead.we.mere
99d00 6c 79 20 66 6f 6e 74 2d 6c 6f 63 6b 20 74 68 65 6d 20 74 6f 20 6c 6f 6f 6b 20 6c 69 6b 65 20 63 ly.font-lock.them.to.look.like.c
99d20 6f 6d 6d 65 6e 74 73 2e 0a 0a 53 65 65 20 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b 65 omments...See.https://docs.racke
99d40 74 2d 6c 61 6e 67 2e 6f 72 67 2f 73 72 66 69 2f 73 72 66 69 2d 73 74 64 2f 73 72 66 69 2d 36 32 t-lang.org/srfi/srfi-std/srfi-62
99d60 2e 68 74 6d 6c 20 66 6f 72 20 61 0a 64 69 73 63 75 73 73 69 6f 6e 20 6f 66 20 73 2d 65 78 70 72 .html.for.a.discussion.of.s-expr
99d80 65 73 73 69 6f 6e 20 63 6f 6d 6d 65 6e 74 73 2e 20 57 65 20 74 72 79 20 74 6f 20 68 61 6e 64 6c ession.comments..We.try.to.handl
99da0 65 20 6e 65 73 74 69 6e 67 0a 6c 69 6b 65 20 5c 22 23 3b 20 23 3b 20 31 20 32 5c 22 2e 20 46 6f e.nesting.like.\"#;.#;.1.2\"..Fo
99dc0 72 20 6d 6f 72 65 20 65 78 61 6d 70 6c 65 73 20 73 65 65 20 74 68 65 20 69 73 73 75 65 20 34 33 r.more.examples.see.the.issue.43
99de0 32 20 73 65 63 74 69 6f 6e 0a 6f 66 20 65 78 61 6d 70 6c 65 2f 65 78 61 6d 70 6c 65 2e 72 6b 74 2.section.of.example/example.rkt
99e00 2e 22 0a 20 20 28 77 68 69 6c 65 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 28 ."...(while.(re-search-forward.(
99e20 72 78 20 22 23 3b 22 29 20 6c 69 6d 69 74 20 74 29 0a 20 20 20 20 28 69 66 20 28 72 61 63 6b 65 rx."#;").limit.t).....(if.(racke
99e40 74 2d 2d 73 74 72 69 6e 67 2d 6f 72 2d 63 6f 6d 6d 65 6e 74 2d 70 20 28 6d 61 74 63 68 2d 62 65 t--string-or-comment-p.(match-be
99e60 67 69 6e 6e 69 6e 67 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 ginning.0)).........(goto-char.(
99e80 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 20 20 20 20 20 20 20 3b 69 73 73 75 65 73 20 23 33 38 38 match-end.0)).......;issues.#388
99ea0 2c 20 23 34 30 38 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 69 72 73 74 2d 70 72 65 66 69 78 ,.#408.......(let.((first-prefix
99ec0 2d 62 65 67 69 6e 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 29 29 0a 20 20 20 -begin.(match-beginning.0)))....
99ee0 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 67 69 6f 6e 2d 73 65 74 2d 66 61 63 65 20 28 6d .....(racket--region-set-face.(m
99f00 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 0a atch-beginning.0).(match-end.0).
99f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
99f40 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 64 65 6c 69 6d 69 74 65 72 2d 66 61 .'font-lock-comment-delimiter-fa
99f60 63 65 20 74 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 46 6f 6e 74 2d 6c 6f 63 6b 20 61 6e 64 20 63 ce.t).........;;.Font-lock.and.c
99f80 6f 75 6e 74 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 73 75 63 63 65 73 73 69 76 65 20 70 ount.any.additional.successive.p
99fa0 72 65 66 69 78 65 73 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 74 63 refixes.........(goto-char.(matc
99fc0 68 2d 65 6e 64 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 63 6f 6d 6d 65 h-end.0)).........(forward-comme
99fe0 6e 74 20 28 62 75 66 66 65 72 2d 73 69 7a 65 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 nt.(buffer-size)).........(let.(
9a000 28 6e 75 6d 2d 70 72 65 66 69 78 65 73 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 61 76 (num-prefixes.1))...........(sav
9a020 65 2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 e-match-data.............(while.
9a040 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 28 72 78 20 22 23 3b 22 29 29 0a 20 20 20 20 20 20 20 20 20 (looking-at.(rx."#;"))..........
9a060 20 20 20 20 20 28 63 6c 2d 69 6e 63 66 20 6e 75 6d 2d 70 72 65 66 69 78 65 73 29 0a 20 20 20 20 .....(cl-incf.num-prefixes).....
9a080 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 67 69 6f 6e 2d 73 65 74 2d 66 61 ..........(racket--region-set-fa
9a0a0 63 65 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 20 28 6d 61 74 63 68 2d 65 6e ce.(match-beginning.0).(match-en
9a0c0 64 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.0)............................
9a0e0 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 64 ............'font-lock-comment-d
9a100 65 6c 69 6d 69 74 65 72 2d 66 61 63 65 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 elimiter-face.t)...............(
9a120 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 0a 20 20 20 20 20 20 20 goto-char.(match-end.0))........
9a140 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 63 6f 6d 6d 65 6e 74 20 28 62 75 66 66 65 72 2d .......(forward-comment.(buffer-
9a160 73 69 7a 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 6f 6e 74 2d 6c 6f 63 6b 20 size))))...........;;.Font-lock.
9a180 61 73 20 6d 61 6e 79 20 73 75 63 63 65 73 73 69 76 65 20 73 65 78 70 72 73 20 61 73 20 70 72 65 as.many.successive.sexprs.as.pre
9a1a0 66 69 78 65 73 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 5f 20 6e 75 6d 2d fixes...........(dotimes.(_.num-
9a1c0 70 72 65 66 69 78 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 62 65 67 prefixes).............(let.((beg
9a1e0 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 .(point)))...............(forwar
9a200 64 2d 73 65 78 70 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d d-sexp.1)...............(racket-
9a220 2d 72 65 67 69 6f 6e 2d 74 72 61 6e 73 66 6f 72 6d 2d 66 61 63 65 73 20 62 65 67 20 28 70 6f 69 -region-transform-faces.beg.(poi
9a240 6e 74 29 20 23 27 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 29 nt).#'racket--sexp-comment-face)
9a260 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 63 6f 6d 6d 65 6e 74 20 ...............(forward-comment.
9a280 28 62 75 66 66 65 72 2d 73 69 7a 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 43 6f 76 (buffer-size))))).........;;.Cov
9a2a0 65 72 20 65 76 65 72 79 74 68 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 er.everything.from.the.beginning
9a2c0 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 70 72 65 66 69 78 20 74 6f 0a 20 20 20 20 20 20 20 20 .of.the.first.prefix.to.........
9a2e0 3b 3b 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 61 73 74 20 73 65 78 70 20 77 69 74 68 ;;.the.end.of.the.last.sexp.with
9a300 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 75 6c 74 69 6c 69 6e 65 3b 20 23 34 34 33 2e 0a 20 20 20 20 .font-lock-multiline;.#443......
9a320 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 66 69 72 73 74 2d 70 72 65 ....(put-text-property.first-pre
9a340 66 69 78 2d 62 65 67 69 6e 20 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fix-begin.(point)...............
9a360 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 75 6c 74 69 6c 69 6e .............'font-lock-multilin
9a380 65 20 74 29 29 29 29 0a 20 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 e.t))))...nil)..(defun.racket--s
9a3a0 74 72 69 6e 67 2d 6f 72 2d 63 6f 6d 6d 65 6e 74 2d 70 20 28 70 6f 73 29 0a 20 20 28 6c 65 74 20 tring-or-comment-p.(pos)...(let.
9a3c0 28 28 73 74 61 74 65 20 28 73 79 6e 74 61 78 2d 70 70 73 73 20 70 6f 73 29 29 29 0a 20 20 20 20 ((state.(syntax-ppss.pos))).....
9a3e0 28 6f 72 20 28 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 73 74 72 69 6e 67 2d 70 20 20 73 74 61 74 (or.(racket--ppss-string-p..stat
9a400 65 29 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 63 6f 6d 6d 65 6e 74 e).........(racket--ppss-comment
9a420 2d 70 20 73 74 61 74 65 29 29 29 29 0a 0a 3b 3b 3b 20 6c 65 74 20 66 6f 72 6d 73 0a 0a 28 64 65 -p.state))))..;;;.let.forms..(de
9a440 66 75 6e 20 72 61 63 6b 65 74 2d 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6c 65 74 2d 69 64 65 6e 74 69 fun.racket--font-lock-let-identi
9a460 66 69 65 72 73 20 28 6c 69 6d 69 74 29 0a 20 20 22 49 6e 20 6c 65 74 20 66 6f 72 6d 73 20 67 69 fiers.(limit)..."In.let.forms.gi
9a480 76 65 20 69 64 65 6e 74 69 66 69 65 72 73 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 61 62 ve.identifiers.`font-lock-variab
9a4a0 6c 65 2d 6e 61 6d 65 2d 66 61 63 65 27 2e 0a 0a 54 68 69 73 20 68 61 6e 64 6c 65 73 20 62 6f 74 le-name-face'...This.handles.bot
9a4c0 68 20 6c 65 74 20 61 6e 64 20 6c 65 74 2d 76 61 6c 75 65 73 20 73 74 79 6c 65 20 66 6f 72 6d 73 h.let.and.let-values.style.forms
9a4e0 20 28 62 69 6e 64 69 6e 67 73 20 77 69 74 68 0a 77 69 74 68 20 73 69 6e 67 6c 65 20 69 64 65 6e .(bindings.with.with.single.iden
9a500 74 69 66 69 65 72 73 20 6f 72 20 69 64 65 6e 74 69 66 69 65 72 20 6c 69 73 74 73 29 2e 0a 0a 4e tifiers.or.identifier.lists)...N
9a520 6f 74 65 3a 20 54 68 69 73 20 77 6f 72 6b 73 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 6c 65 ote:.This.works.only.when.the.le
9a540 74 20 66 6f 72 6d 20 68 61 73 20 61 20 63 6c 6f 73 69 6e 67 20 70 61 72 65 6e 2e 0a 5c 28 4f 74 t.form.has.a.closing.paren..\(Ot
9a560 68 65 72 77 69 73 65 2c 20 77 68 65 6e 20 79 6f 75 20 74 79 70 65 20 61 6e 20 69 6e 63 6f 6d 70 herwise,.when.you.type.an.incomp
9a580 6c 65 74 65 20 6c 65 74 20 66 6f 72 6d 20 62 65 66 6f 72 65 20 65 78 69 73 74 69 6e 67 0a 63 6f lete.let.form.before.existing.co
9a5a0 64 65 2c 20 74 68 69 73 20 77 6f 75 6c 64 20 6d 69 73 74 61 6b 65 6e 6c 79 20 74 72 65 61 74 20 de,.this.would.mistakenly.treat.
9a5c0 74 68 65 20 65 78 69 73 74 69 6e 67 20 63 6f 64 65 20 61 73 20 70 61 72 74 20 6f 66 0a 74 68 65 the.existing.code.as.part.of.the
9a5e0 20 6c 65 74 20 66 6f 72 6d 2e 29 20 54 68 65 20 66 6f 6e 74 2d 6c 6f 63 6b 20 77 69 6c 6c 20 6b .let.form.).The.font-lock.will.k
9a600 69 63 6b 20 69 6e 20 61 66 74 65 72 20 79 6f 75 20 74 79 70 65 20 74 68 65 0a 63 6c 6f 73 69 6e ick.in.after.you.type.the.closin
9a620 67 20 70 61 72 65 6e 2e 20 4f 72 20 69 66 20 79 6f 75 20 75 73 65 20 65 6c 65 63 74 72 69 63 2d g.paren..Or.if.you.use.electric-
9a640 70 61 69 72 2d 6d 6f 64 65 2c 20 70 61 72 65 64 69 74 2c 20 6f 72 0a 73 69 6d 69 6c 61 72 2c 20 pair-mode,.paredit,.or.similar,.
9a660 69 74 20 77 69 6c 6c 20 61 6c 72 65 61 64 79 20 62 65 20 74 68 65 72 65 2e 22 0a 20 20 28 77 68 it.will.already.be.there."...(wh
9a680 69 6c 65 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 0a 20 20 20 20 20 20 20 20 20 ile.(re-search-forward..........
9a6a0 20 28 72 78 20 28 73 79 6e 74 61 78 20 6f 70 65 6e 2d 70 61 72 65 6e 74 68 65 73 69 73 29 0a 20 .(rx.(syntax.open-parenthesis)..
9a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 28 73 79 6e 74 61 78 20 77 68 69 74 65 73 70 61 .............(*.(syntax.whitespa
9a6e0 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 2d 6e 20 31 20 22 6c ce))...............(group-n.1."l
9a700 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 28 6f et"........................(*.(o
9a720 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 r.(syntax.word).(syntax.symbol).
9a740 28 73 79 6e 74 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 29 29 0a 20 20 20 20 20 20 20 (syntax.punctuation)))))........
9a760 20 20 20 6c 69 6d 69 74 0a 20 20 20 20 20 20 20 20 20 20 74 29 0a 20 20 20 20 28 69 67 6e 6f 72 ...limit...........t).....(ignor
9a780 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 6e 6f 74 20 28 e-errors.......(when.(and.(not.(
9a7a0 6d 65 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 member.(match-string-no-properti
9a7c0 65 73 20 31 29 20 27 28 22 6c 65 74 2f 65 63 22 20 22 6c 65 74 2f 63 63 22 29 29 29 0a 20 20 20 es.1).'("let/ec"."let/cc")))....
9a7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 69 6e 73 69 64 65 2d 63 6f ..............(racket--inside-co
9a800 6d 70 6c 65 74 65 2d 73 65 78 70 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 52 65 73 75 6d 65 20 mplete-sexp)).........;;.Resume.
9a820 73 65 61 72 63 68 20 62 65 66 6f 72 65 20 74 68 69 73 20 6c 65 74 27 73 20 62 69 6e 64 69 6e 67 search.before.this.let's.binding
9a840 73 20 6c 69 73 74 2c 20 73 6f 20 77 65 20 63 61 6e 0a 20 20 20 20 20 20 20 20 3b 3b 20 63 68 65 s.list,.so.we.can.........;;.che
9a860 63 6b 20 72 68 73 20 6f 66 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 6d 6f 72 65 20 6c 65 74 73 ck.rhs.of.bindings.for.more.lets
9a880 2e 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 ..........(save-excursion.......
9a8a0 20 20 20 20 3b 3b 20 43 68 65 63 6b 20 66 6f 72 20 6e 61 6d 65 64 20 6c 65 74 0a 20 20 20 20 20 ....;;.Check.for.named.let......
9a8c0 20 20 20 20 20 28 77 68 65 6e 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 70 20 28 72 78 20 28 2b 20 .....(when.(looking-at-p.(rx.(+.
9a8e0 73 70 61 63 65 29 20 28 2b 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 0a 20 20 20 20 space).(+.(or.(syntax.word).....
9a900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 0a 20 ...............(syntax.symbol)..
9a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9a960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 20 70 75 6e 63 74 75 ..................(syntax.punctu
9a980 61 74 69 6f 6e 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d ation))))).............(forward-
9a9a0 73 65 78 70 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 73 65 sexp.1).............(backward-se
9a9c0 78 70 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d xp.1).............(racket--sexp-
9a9e0 73 65 74 2d 66 61 63 65 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 75 6e 63 74 69 6f 6e 2d 6e 61 6d 65 set-face.font-lock-function-name
9aa00 2d 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 65 74 20 66 6f 6e 74 2d 6c 6f -face))...........;;.Set.font-lo
9aa20 63 6b 2d 6d 75 6c 74 69 6c 69 6e 65 20 70 72 6f 70 65 72 74 79 20 6f 6e 20 65 6e 74 69 72 65 20 ck-multiline.property.on.entire.
9aa40 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6c 69 73 74 2e 20 41 76 identifier...........;;.list..Av
9aa60 6f 69 64 73 20 6e 65 65 64 20 66 6f 72 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 65 78 74 65 6e 64 2d 72 oids.need.for.font-lock-extend-r
9aa80 65 67 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 egion.function............(put-t
9aaa0 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 ext-property.(point)............
9aac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f ..................(save-excursio
9aae0 6e 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 31 29 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 n.(forward-sexp.1).(point)).....
9ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 6e 74 2d 6c .........................'font-l
9ab20 6f 63 6b 2d 6d 75 6c 74 69 6c 69 6e 65 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 77 6e ock-multiline.t)...........(down
9ab40 2d 6c 69 73 74 20 31 29 20 3b 74 6f 20 74 68 65 20 6f 70 65 6e 20 70 61 72 65 6e 20 6f 66 20 74 -list.1).;to.the.open.paren.of.t
9ab60 68 65 20 66 69 72 73 74 20 62 69 6e 64 69 6e 67 20 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 he.first.binding.form...........
9ab80 28 77 68 69 6c 65 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 (while.(ignore-errors...........
9aba0 20 20 20 20 20 20 20 20 20 28 64 6f 77 6e 2d 6c 69 73 74 20 31 29 20 3b 74 6f 20 74 68 65 20 69 .........(down-list.1).;to.the.i
9abc0 64 20 6f 72 20 6c 69 73 74 20 6f 66 20 69 64 27 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.or.list.of.id's...............
9abe0 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 70 20 22 5b 28 5b .....(if.(not.(looking-at-p."[([
9ac00 7b 5d 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 {]"))........................(ra
9ac20 63 6b 65 74 2d 2d 73 65 78 70 2d 73 65 74 2d 66 61 63 65 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 cket--sexp-set-face.font-lock-va
9ac40 72 69 61 62 6c 65 2d 6e 61 6d 65 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 riable-name-face)...............
9ac60 20 20 20 20 20 20 20 3b 3b 20 6c 69 73 74 20 6f 66 20 69 64 73 2c 20 65 2e 67 2e 20 6c 65 74 2d .......;;.list.of.ids,.e.g..let-
9ac80 76 61 6c 75 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 77 values......................(dow
9aca0 6e 2d 6c 69 73 74 20 31 29 20 20 20 20 3b 74 6f 20 66 69 72 73 74 20 69 64 0a 20 20 20 20 20 20 n-list.1)....;to.first.id.......
9acc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 ...............(cl-loop.........
9ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 73 ..............do.(racket--sexp-s
9ad00 65 74 2d 66 61 63 65 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65 2d 6e 61 6d 65 2d et-face.font-lock-variable-name-
9ad20 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c face).......................whil
9ad40 65 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 31 e.(ignore-errors.(forward-sexp.1
9ad60 29 20 28 62 61 63 6b 77 61 72 64 2d 73 65 78 70 20 31 29 20 74 29 29 0a 20 20 20 20 20 20 20 20 ).(backward-sexp.1).t)).........
9ad80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 29 29 .............(backward-up-list))
9ada0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 75 70 ....................(backward-up
9adc0 2d 6c 69 73 74 29 20 3b 74 6f 20 6f 70 65 6e 20 70 61 72 65 6e 20 6f 66 20 74 68 69 73 20 62 69 -list).;to.open.paren.of.this.bi
9ade0 6e 64 69 6e 67 20 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 nding.form....................(f
9ae00 6f 72 77 61 72 64 2d 73 65 78 70 20 31 29 20 20 20 3b 74 6f 20 6f 70 65 6e 20 70 61 72 65 6e 20 orward-sexp.1)...;to.open.paren.
9ae20 6f 66 20 6e 65 78 74 20 62 69 6e 64 69 6e 67 20 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 of.next.binding.form............
9ae40 20 20 20 20 20 20 20 20 74 29 29 29 29 29 29 0a 20 20 6e 69 6c 29 0a 0a 3b 3b 3b 20 6d 69 73 63 ........t))))))...nil)..;;;.misc
9ae60 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 69 6e 73 69 64 65 2d 63 6f 6d 70 6c 65 74 65 ..(defun.racket--inside-complete
9ae80 2d 73 65 78 70 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 77 68 65 74 68 65 72 20 70 6f 69 6e 74 -sexp.()..."Return.whether.point
9aea0 20 69 73 20 69 6e 73 69 64 65 20 61 20 63 6f 6d 70 6c 65 74 65 20 73 65 78 70 2e 22 0a 20 20 28 .is.inside.a.complete.sexp."...(
9aec0 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 condition-case._.......(save-exc
9aee0 75 72 73 69 6f 6e 20 28 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 29 20 28 66 6f 72 77 61 ursion.(backward-up-list).(forwa
9af00 72 64 2d 73 65 78 70 20 31 29 20 74 29 0a 20 20 20 20 28 65 72 72 6f 72 20 6e 69 6c 29 29 29 0a rd-sexp.1).t).....(error.nil))).
9af20 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 73 65 74 2d 66 61 63 65 20 28 66 .(defun.racket--sexp-set-face.(f
9af40 61 63 65 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 63 65 70 29 0a 20 20 22 53 65 74 20 5c 22 66 ace.&optional.forcep)..."Set.\"f
9af60 61 63 65 5c 22 20 70 72 6f 70 20 74 6f 20 46 41 43 45 2c 20 72 65 61 72 2d 6e 6f 6e 73 74 69 63 ace\".prop.to.FACE,.rear-nonstic
9af80 6b 79 2c 20 66 6f 72 20 74 68 65 20 73 65 78 70 20 73 74 61 72 74 69 6e 67 20 61 74 20 70 6f 69 ky,.for.the.sexp.starting.at.poi
9afa0 6e 74 2e 0a 55 6e 6c 65 73 73 20 46 4f 52 43 45 50 20 69 73 20 74 2c 20 64 6f 65 73 20 73 6f 20 nt..Unless.FORCEP.is.t,.does.so.
9afc0 6f 6e 6c 79 20 69 66 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 73 65 74 20 69 6e 20 74 68 65 0a 72 only.if.not.already.set.in.the.r
9afe0 65 67 69 6f 6e 2e 0a 0a 4d 6f 76 65 73 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 65 6e 64 20 6f egion...Moves.point.to.the.end.o
9b000 66 20 74 68 65 20 73 65 78 70 2e 22 0a 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 67 69 6f 6e 2d 73 f.the.sexp."...(racket--region-s
9b020 65 74 2d 66 61 63 65 20 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 et-face.(point).................
9b040 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 ...........(progn.(forward-sexp.
9b060 31 29 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1).(point)).....................
9b080 20 20 20 20 20 20 20 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......face.....................
9b0a0 20 20 20 20 20 20 20 66 6f 72 63 65 70 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d .......forcep))..(defun.racket--
9b0c0 72 65 67 69 6f 6e 2d 73 65 74 2d 66 61 63 65 20 28 62 65 67 20 65 6e 64 20 66 61 63 65 20 26 6f region-set-face.(beg.end.face.&o
9b0e0 70 74 69 6f 6e 61 6c 20 66 6f 72 63 65 70 29 0a 20 20 22 53 65 74 20 5c 22 66 61 63 65 5c 22 20 ptional.forcep)..."Set.\"face\".
9b100 70 72 6f 70 20 74 6f 20 46 41 43 45 2c 20 72 65 61 72 2d 6e 6f 6e 73 74 69 63 6b 79 2c 20 69 6e prop.to.FACE,.rear-nonsticky,.in
9b120 20 74 68 65 20 72 65 67 69 6f 6e 20 42 45 47 2e 2e 45 4e 44 2e 0a 55 6e 6c 65 73 73 20 46 4f 52 .the.region.BEG..END..Unless.FOR
9b140 43 45 50 20 69 73 20 74 2c 20 64 6f 65 73 20 73 6f 20 6f 6e 6c 79 20 69 66 20 6e 6f 74 20 61 6c CEP.is.t,.does.so.only.if.not.al
9b160 72 65 61 64 79 20 73 65 74 20 69 6e 20 74 68 65 0a 72 65 67 69 6f 6e 2e 22 0a 20 20 28 77 68 65 ready.set.in.the.region."...(whe
9b180 6e 20 28 6f 72 20 66 6f 72 63 65 70 20 28 6e 6f 74 20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 79 n.(or.forcep.(not.(text-property
9b1a0 2d 6e 6f 74 2d 61 6c 6c 20 62 65 67 20 65 6e 64 20 27 66 61 63 65 20 6e 69 6c 29 29 29 0a 20 20 -not-all.beg.end.'face.nil)))...
9b1c0 20 20 28 61 64 64 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 0a 20 ..(add-text-properties.beg.end..
9b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 66 61 63 65 20 2c ........................`(face.,
9b200 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 face............................
9b220 20 20 20 20 20 3b 3b 72 65 61 72 2d 6e 6f 6e 73 74 69 63 6b 79 20 28 66 61 63 65 29 0a 20 20 20 .....;;rear-nonsticky.(face)....
9b240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 29 29 .............................)))
9b260 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 67 69 6f 6e 2d 74 72 61 6e 73 66 6f )..(defun.racket--region-transfo
9b280 72 6d 2d 66 61 63 65 73 20 28 62 65 67 20 65 6e 64 20 66 75 6e 63 29 0a 20 20 28 6c 65 74 20 28 rm-faces.(beg.end.func)...(let.(
9b2a0 28 69 20 6e 69 6c 29 29 20 3b 73 69 6c 65 6e 63 65 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 72 20 (i.nil)).;silence.byte-compiler.
9b2c0 77 61 72 6e 69 6e 67 2e 2e 2e 0a 20 20 20 20 69 20 20 20 20 20 20 20 20 20 20 20 20 3b 2e 2e 2e warning........i............;...
9b2e0 6f 6e 20 61 6c 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 65 6d 61 63 73 0a 20 20 20 20 28 63 6c on.all.versions.of.emacs.....(cl
9b300 2d 6c 6f 6f 70 20 66 6f 72 20 69 20 62 65 69 6e 67 20 74 68 65 20 69 6e 74 65 72 76 61 6c 73 20 -loop.for.i.being.the.intervals.
9b320 66 72 6f 6d 20 62 65 67 20 74 6f 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 0a from.beg.to.end..............do.
9b340 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 67 69 6f 6e 2d 73 65 74 .............(racket--region-set
9b360 2d 66 61 63 65 20 28 63 61 72 20 69 29 20 28 63 64 72 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 -face.(car.i).(cdr.i)...........
9b380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e ............................(fun
9b3a0 63 61 6c 6c 20 66 75 6e 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 call.func.......................
9b3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 67 65 .........................(or.(ge
9b3e0 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 63 61 72 20 69 29 20 27 66 61 63 65 29 0a 20 t-text-property.(car.i).'face)..
9b400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9b420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 64 65 66 61 75 6c 74 29 29 0a 20 20 20 ..................'default))....
9b440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9b460 20 20 20 27 66 6f 72 63 65 29 29 29 29 0a 0a 3b 3b 3b 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 ...'force))))..;;;.s-expression.
9b480 63 6f 6d 6d 65 6e 74 20 66 61 64 65 73 0a 0a 3b 3b 20 43 68 61 6c 6c 65 6e 67 65 73 3a 20 45 6d comment.fades..;;.Challenges:.Em
9b4a0 61 63 73 20 64 6f 65 73 6e 27 74 20 68 61 76 65 20 61 20 66 61 63 65 20 70 72 6f 70 65 72 74 79 acs.doesn't.have.a.face.property
9b4c0 20 66 6f 72 20 61 6c 70 68 61 0a 3b 3b 20 74 72 61 6e 73 70 61 72 65 6e 63 79 2c 20 6f 72 20 65 .for.alpha.;;.transparency,.or.e
9b4e0 76 65 6e 20 61 20 74 65 63 68 6e 69 71 75 65 20 74 6f 20 61 70 70 6c 79 20 61 20 70 72 6f 63 65 ven.a.technique.to.apply.a.proce
9b500 64 75 72 61 6c 20 74 72 61 6e 73 66 6f 72 6d 0a 3b 3b 20 74 6f 20 61 6e 20 65 78 69 73 74 69 6e dural.transform.;;.to.an.existin
9b520 67 20 66 61 63 65 2e 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 65 20 75 73 65 72 20 63 6f g.face..Furthermore,.the.user.co
9b540 75 6c 64 20 63 75 73 74 6f 6d 69 7a 65 20 66 61 63 65 73 0a 3b 3b 20 69 6e 63 6c 75 64 69 6e 67 uld.customize.faces.;;.including
9b560 20 6c 6f 61 64 69 6e 67 20 61 6e 20 65 6e 74 69 72 65 20 6e 65 77 20 74 68 65 6d 65 20 61 74 20 .loading.an.entire.new.theme.at.
9b580 61 6e 79 20 74 69 6d 65 2e 0a 3b 3b 0a 3b 3b 20 54 68 65 72 65 66 6f 72 65 20 6f 75 72 20 61 70 any.time..;;.;;.Therefore.our.ap
9b5a0 70 72 6f 61 63 68 20 62 65 6c 6f 77 3a 0a 3b 3b 0a 3b 3b 20 54 68 65 20 66 75 6e 63 74 69 6f 6e proach.below:.;;.;;.The.function
9b5c0 20 60 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 27 2c 20 67 69 .`racket--sexp-comment-face',.gi
9b5e0 76 65 6e 20 73 6f 6d 65 20 65 78 69 73 74 69 6e 67 20 66 61 63 65 2c 0a 3b 3b 20 72 65 74 75 72 ven.some.existing.face,.;;.retur
9b600 6e 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 22 66 61 64 65 64 22 20 65 71 75 69 76 61 6c ns.the.name.of.a."faded".equival
9b620 65 6e 74 20 66 61 63 65 20 28 63 72 65 61 74 69 6e 67 20 74 68 61 74 20 66 61 63 65 0a 3b 3b 20 ent.face.(creating.that.face.;;.
9b640 69 66 20 6e 65 63 65 73 73 61 72 79 29 2e 20 54 68 65 20 6c 69 73 74 20 6f 66 20 6e 6f 6e 2d 66 if.necessary)..The.list.of.non-f
9b660 61 64 65 64 20 66 61 63 65 73 20 66 6f 72 20 77 68 69 63 68 20 77 65 27 76 65 20 63 72 65 61 74 aded.faces.for.which.we've.creat
9b680 65 64 0a 3b 3b 20 66 61 64 65 64 20 61 6c 74 65 72 6e 61 74 69 76 65 73 2c 20 73 6f 20 66 61 72 ed.;;.faded.alternatives,.so.far
9b6a0 2c 20 69 73 20 69 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 3b 3b 20 60 72 61 63 6b 65 74 2d ,.is.in.the.variable.;;.`racket-
9b6c0 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 65 64 2d 66 61 63 65 73 27 2e 20 54 68 65 20 63 6f 6d 6d -sexp-commented-faces'..The.comm
9b6e0 61 6e 64 0a 3b 3b 20 60 72 61 63 6b 65 74 2d 72 65 66 72 65 73 68 2d 73 65 78 70 2d 63 6f 6d 6d and.;;.`racket-refresh-sexp-comm
9b700 65 6e 74 2d 66 61 63 65 73 27 20 75 73 65 73 20 74 68 61 74 20 6c 69 73 74 20 74 6f 20 75 70 64 ent-faces'.uses.that.list.to.upd
9b720 61 74 65 20 74 68 65 0a 3b 3b 20 73 70 65 63 73 20 66 6f 72 20 74 68 65 20 66 61 64 65 64 20 66 ate.the.;;.specs.for.the.faded.f
9b740 61 63 65 73 3b 20 69 74 20 69 73 20 63 61 6c 6c 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 aces;.it.is.called.automatically
9b760 20 61 66 74 65 72 0a 3b 3b 20 60 6c 6f 61 64 2d 74 68 65 6d 65 27 20 61 6e 64 20 61 66 74 65 72 .after.;;.`load-theme'.and.after
9b780 20 63 75 73 74 6f 6d 69 7a 69 6e 67 20 28 76 69 61 20 74 68 65 20 55 49 29 20 74 68 65 20 76 61 .customizing.(via.the.UI).the.va
9b7a0 72 69 61 62 6c 65 0a 3b 3b 20 60 72 61 63 6b 65 74 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 riable.;;.`racket-sexp-comment-f
9b7c0 61 64 65 27 2e 20 49 6e 20 6f 74 68 65 72 20 73 69 74 75 61 74 69 6f 6e 73 20 74 68 65 20 75 73 ade'..In.other.situations.the.us
9b7e0 65 72 20 6d 61 79 20 6e 65 65 64 0a 3b 3b 20 74 6f 20 72 75 6e 20 6f 72 20 63 61 6c 6c 20 60 72 er.may.need.;;.to.run.or.call.`r
9b800 61 63 6b 65 74 2d 72 65 66 72 65 73 68 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 73 acket-refresh-sexp-comment-faces
9b820 27 20 6d 61 6e 75 61 6c 6c 79 2e 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 73 65 78 '.manually...(defvar.racket--sex
9b840 70 2d 63 6f 6d 6d 65 6e 74 65 64 2d 66 61 63 65 73 20 6e 69 6c 0a 20 20 22 54 68 65 20 6c 69 73 p-commented-faces.nil..."The.lis
9b860 74 20 6f 66 20 66 61 63 65 73 20 66 6f 72 20 77 68 69 63 68 20 77 65 27 76 65 20 63 72 65 61 74 t.of.faces.for.which.we've.creat
9b880 65 64 20 66 61 64 65 64 20 65 71 75 69 76 61 6c 65 6e 74 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 ed.faded.equivalents.")..(defun.
9b8a0 72 61 63 6b 65 74 2d 72 65 66 72 65 73 68 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 racket-refresh-sexp-comment-face
9b8c0 73 20 28 29 0a 20 20 22 52 65 66 72 65 73 68 20 61 6c 6c 20 61 6c 74 65 72 6e 61 74 69 76 65 20 s.()..."Refresh.all.alternative.
9b8e0 5c 22 66 61 64 65 64 5c 22 20 66 61 63 65 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 72 \"faded\".faces.automatically.cr
9b900 65 61 74 65 64 20 73 6f 20 66 61 72 2e 0a 0a 46 61 63 65 73 20 72 65 66 72 65 73 68 20 61 75 74 eated.so.far...Faces.refresh.aut
9b920 6f 6d 61 74 69 63 61 6c 6c 79 20 61 66 74 65 72 20 60 6c 6f 61 64 2d 74 68 65 6d 65 27 20 61 6e omatically.after.`load-theme'.an
9b940 64 20 61 66 74 65 72 0a 63 75 73 74 6f 6d 69 7a 69 6e 67 20 74 68 65 20 76 61 72 69 61 62 6c 65 d.after.customizing.the.variable
9b960 20 60 72 61 63 6b 65 74 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 64 65 27 2e 0a 0a 48 6f .`racket-sexp-comment-fade'...Ho
9b980 77 65 76 65 72 20 69 66 20 79 6f 75 20 63 75 73 74 6f 6d 69 7a 65 20 61 20 66 61 63 65 20 75 73 wever.if.you.customize.a.face.us
9b9a0 65 64 20 69 6e 20 61 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 63 6f 6d 6d 65 6e 74 0a 62 6f 64 ed.in.a.s-expression.comment.bod
9b9c0 79 20 2d 2d 20 61 73 20 6a 75 73 74 20 6f 6e 65 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 61 y.--.as.just.one.example,.the.fa
9b9e0 63 65 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 73 74 72 69 6e 67 2d 66 61 63 65 27 20 2d 2d 0a 79 6f ce.`font-lock-string-face'.--.yo
9ba00 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 72 75 6e 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 6d u.may.need.to.run.this.command.m
9ba20 61 6e 75 61 6c 6c 79 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 66 61 64 65 64 0a 65 71 75 69 76 61 anually.to.make.the.faded.equiva
9ba40 6c 65 6e 74 20 6d 61 74 63 68 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 lent.match."...(interactive)...(
9ba60 6d 61 70 63 20 23 27 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 mapc.#'racket--sexp-comment-face
9ba80 2d 73 70 65 63 2d 73 65 74 0a 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 63 -spec-set.........racket--sexp-c
9baa0 6f 6d 6d 65 6e 74 65 64 2d 66 61 63 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d ommented-faces))..(defun.racket-
9bac0 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 64 65 2d 73 65 74 20 28 73 79 6d 20 76 61 6c 29 0a sexp-comment-fade-set.(sym.val).
9bae0 20 20 22 41 20 74 61 72 67 65 74 20 66 6f 72 20 74 68 65 20 3a 73 65 74 20 70 72 6f 70 20 6f 66 .."A.target.for.the.:set.prop.of
9bb00 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 73 65 78 70 2d 63 6f 6d 6d 65 .the.variable.`racket-sexp-comme
9bb20 6e 74 2d 66 61 64 65 27 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 20 28 66 6c 6f 61 74 nt-fade'."...(unless.(and.(float
9bb40 70 20 76 61 6c 29 20 28 61 6e 64 20 28 3c 3d 20 30 2e 30 20 76 61 6c 29 20 28 3c 3d 20 76 61 6c p.val).(and.(<=.0.0.val).(<=.val
9bb60 20 31 2e 30 29 29 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 46 61 64 65 20 61 6d .1.0))).....(user-error."Fade.am
9bb80 6f 75 6e 74 20 6d 75 73 74 20 62 65 20 61 20 66 6c 6f 61 74 20 66 72 6f 6d 20 30 2e 30 20 74 6f ount.must.be.a.float.from.0.0.to
9bba0 20 31 2e 30 20 69 6e 63 6c 75 73 69 76 65 22 29 29 0a 20 20 28 73 65 74 20 73 79 6d 20 76 61 6c .1.0.inclusive"))...(set.sym.val
9bbc0 29 0a 20 20 28 72 61 63 6b 65 74 2d 72 65 66 72 65 73 68 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 )...(racket-refresh-sexp-comment
9bbe0 2d 66 61 63 65 73 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 73 65 78 70 -faces))..(defcustom.racket-sexp
9bc00 2d 63 6f 6d 6d 65 6e 74 2d 66 61 64 65 20 30 2e 35 0a 20 20 22 48 6f 77 20 6d 75 63 68 20 74 6f -comment-fade.0.5..."How.much.to
9bc20 20 66 61 64 65 20 66 61 63 65 73 20 75 73 65 64 20 69 6e 20 73 2d 65 78 70 72 65 73 73 69 6f 6e .fade.faces.used.in.s-expression
9bc40 20 63 6f 6d 6d 65 6e 74 20 62 6f 64 69 65 73 2e 0a 0a 41 20 6e 75 6d 62 65 72 20 66 72 6f 6d 20 .comment.bodies...A.number.from.
9bc60 30 2e 30 20 74 6f 20 31 2e 30 2c 20 77 68 65 72 65 20 30 2e 30 20 69 73 20 30 25 20 66 61 64 65 0.0.to.1.0,.where.0.0.is.0%.fade
9bc80 20 61 6e 64 20 31 2e 30 20 69 73 20 31 30 30 25 0a 66 61 64 65 20 28 69 6e 76 69 73 69 62 6c 65 .and.1.0.is.100%.fade.(invisible
9bca0 29 2e 0a 0a 54 68 69 73 20 66 65 61 74 75 72 65 20 77 6f 72 6b 73 20 62 79 20 63 72 65 61 74 69 )...This.feature.works.by.creati
9bcc0 6e 67 20 66 61 63 65 73 20 74 68 61 74 20 61 72 65 20 61 6c 74 65 72 6e 61 74 69 76 65 73 20 66 ng.faces.that.are.alternatives.f
9bce0 6f 72 0a 66 61 63 65 73 20 75 73 65 64 20 69 6e 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 63 6f or.faces.used.in.s-expression.co
9bd00 6d 6d 65 6e 74 73 2e 20 54 68 65 20 61 6c 65 72 6e 61 74 69 76 65 20 66 61 63 65 73 20 75 73 65 mments..The.alernative.faces.use
9bd20 20 61 0a 66 61 64 65 64 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 2e 20 54 68 65 20 63 .a.faded.foreground.color..The.c
9bd40 6f 6c 6f 72 73 20 61 72 65 20 72 65 63 61 6c 63 75 6c 61 74 65 64 20 61 75 74 6f 6d 61 74 69 63 olors.are.recalculated.automatic
9bd60 61 6c 6c 79 0a 61 66 74 65 72 20 79 6f 75 20 63 68 61 6e 67 65 20 74 68 65 20 76 61 6c 75 65 20 ally.after.you.change.the.value.
9bd80 6f 66 20 74 68 69 73 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 20 61 of.this.customization.variable.a
9bda0 6e 64 0a 61 66 74 65 72 20 61 6e 79 20 60 6c 6f 61 64 2d 74 68 65 6d 65 27 2e 20 48 6f 77 65 76 nd.after.any.`load-theme'..Howev
9bdc0 65 72 20 69 6e 20 6f 74 68 65 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 20 79 6f 75 20 6d 69 er.in.other.circumstances.you.mi
9bde0 67 68 74 0a 6e 65 65 64 20 74 6f 20 75 73 65 20 60 72 61 63 6b 65 74 2d 72 65 66 72 65 73 68 2d ght.need.to.use.`racket-refresh-
9be00 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 73 27 2e 22 0a 20 20 3a 74 61 67 20 22 52 61 sexp-comment-faces'."...:tag."Ra
9be20 63 6b 65 74 20 53 65 78 70 20 43 6f 6d 6d 65 6e 74 20 46 61 64 65 22 0a 20 20 3a 74 79 70 65 20 cket.Sexp.Comment.Fade"...:type.
9be40 27 66 6c 6f 61 74 0a 20 20 3a 73 61 66 65 20 74 0a 20 20 3a 73 65 74 20 23 27 72 61 63 6b 65 74 'float...:safe.t...:set.#'racket
9be60 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 64 65 2d 73 65 74 0a 20 20 3a 67 72 6f 75 70 20 -sexp-comment-fade-set...:group.
9be80 27 72 61 63 6b 65 74 2d 6f 74 68 65 72 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 'racket-other)..(defun.racket--s
9bea0 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 2d 6e 61 6d 65 20 28 66 61 63 65 29 0a 20 20 28 exp-comment-face-name.(face)...(
9bec0 75 6e 6c 65 73 73 20 28 66 61 63 65 70 20 66 61 63 65 29 20 28 65 72 72 6f 72 20 22 4e 6f 74 20 unless.(facep.face).(error."Not.
9bee0 61 20 66 61 63 65 20 6e 61 6d 65 3a 20 25 73 22 20 66 61 63 65 29 29 0a 20 20 28 69 6e 74 65 72 a.face.name:.%s".face))...(inter
9bf00 6e 20 28 66 6f 72 6d 61 74 20 22 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d n.(format."racket--sexp-comment-
9bf20 2d 25 73 22 20 66 61 63 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 65 78 -%s".face)))..(defun.racket--sex
9bf40 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 20 28 66 61 63 65 29 0a 20 20 22 47 69 76 65 6e 20 61 p-comment-face.(face)..."Given.a
9bf60 20 60 66 61 63 65 70 27 20 72 65 74 75 72 6e 20 61 20 70 6f 73 73 69 62 6c 79 20 64 69 66 66 65 .`facep'.return.a.possibly.diffe
9bf80 72 65 6e 74 20 60 66 61 63 65 70 27 20 74 6f 20 75 73 65 20 69 6e 73 74 65 61 64 2e 22 0a 20 20 rent.`facep'.to.use.instead."...
9bfa0 28 69 66 20 28 66 61 63 65 70 20 66 61 63 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 65 (if.(facep.face).......(let.((se
9bfc0 78 70 2d 66 61 63 65 20 28 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 xp-face.(racket--sexp-comment-fa
9bfe0 63 65 2d 6e 61 6d 65 20 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 ce-name.face))).........(unless.
9c000 28 66 61 63 65 70 20 73 65 78 70 2d 66 61 63 65 29 20 3b 63 72 65 61 74 65 20 69 66 20 77 65 20 (facep.sexp-face).;create.if.we.
9c020 68 61 76 65 6e 27 74 20 79 65 74 0a 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 73 haven't.yet...........(racket--s
9c040 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 2d 73 70 65 63 2d 73 65 74 20 66 61 63 65 29 0a exp-comment-face-spec-set.face).
9c060 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 66 61 63 65 20 72 61 63 6b 65 74 2d 2d 73 65 78 ..........(push.face.racket--sex
9c080 70 2d 63 6f 6d 6d 65 6e 74 65 64 2d 66 61 63 65 73 29 29 0a 20 20 20 20 20 20 20 20 73 65 78 70 p-commented-faces)).........sexp
9c0a0 2d 66 61 63 65 29 0a 20 20 20 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 -face).....'font-lock-comment-fa
9c0c0 63 65 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e ce))..(defun.racket--sexp-commen
9c0e0 74 2d 66 61 63 65 2d 73 70 65 63 2d 73 65 74 20 28 66 61 63 65 29 0a 20 20 22 43 72 65 61 74 65 t-face-spec-set.(face)..."Create
9c100 20 6f 72 20 72 65 66 72 65 73 68 20 61 20 66 61 64 65 64 20 76 61 72 69 61 6e 74 20 6f 66 20 46 .or.refresh.a.faded.variant.of.F
9c120 41 43 45 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 67 20 28 69 66 20 6e 6f 6e 69 6e 74 65 72 61 ACE."...(let*.((fg.(if.nonintera
9c140 63 74 69 76 65 20 22 62 6c 61 63 6b 22 20 28 66 61 63 65 2d 66 6f 72 65 67 72 6f 75 6e 64 20 66 ctive."black".(face-foreground.f
9c160 61 63 65 20 6e 69 6c 20 27 64 65 66 61 75 6c 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 67 ace.nil.'default)))..........(bg
9c180 20 28 69 66 20 6e 6f 6e 69 6e 74 65 72 61 63 74 69 76 65 20 22 77 68 69 74 65 22 20 28 66 61 63 .(if.noninteractive."white".(fac
9c1a0 65 2d 62 61 63 6b 67 72 6f 75 6e 64 20 66 61 63 65 20 6e 69 6c 20 27 64 65 66 61 75 6c 74 29 29 e-background.face.nil.'default))
9c1c0 29 0a 20 20 20 20 20 20 20 20 20 28 66 67 2d 72 67 62 20 28 63 6f 6c 6f 72 2d 6e 61 6d 65 2d 74 )..........(fg-rgb.(color-name-t
9c1e0 6f 2d 72 67 62 20 66 67 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 67 2d 72 67 62 20 28 63 6f 6c o-rgb.fg))..........(bg-rgb.(col
9c200 6f 72 2d 6e 61 6d 65 2d 74 6f 2d 72 67 62 20 62 67 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 63 or-name-to-rgb.bg))..........(pc
9c220 74 20 28 2d 20 31 2e 30 20 28 63 6f 6c 6f 72 2d 63 6c 61 6d 70 20 28 6f 72 20 72 61 63 6b 65 74 t.(-.1.0.(color-clamp.(or.racket
9c240 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 64 65 20 31 2e 30 29 29 29 29 0a 20 20 20 20 20 -sexp-comment-fade.1.0))))......
9c260 20 20 20 20 28 66 61 64 65 64 2d 72 67 62 20 28 63 6c 2d 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 ....(faded-rgb.(cl-mapcar.(lambd
9c280 61 20 28 66 67 20 62 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a.(fg.bg).......................
9c2a0 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6c 6f 72 2d 63 6c 61 6d 70 0a 20 20 20 20 20 20 20 20 ...........(color-clamp.........
9c2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 2a 20 ..........................(+.(*.
9c2e0 66 67 20 70 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fg.pct).........................
9c300 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 62 67 20 28 2d 20 31 2e 30 20 70 63 74 29 29 29 .............(*.bg.(-.1.0.pct)))
9c320 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
9c340 20 20 66 67 2d 72 67 62 20 62 67 2d 72 67 62 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 61 64 65 ..fg-rgb.bg-rgb))..........(fade
9c360 64 20 28 61 70 70 6c 79 20 23 27 63 6f 6c 6f 72 2d 72 67 62 2d 74 6f 2d 68 65 78 20 66 61 64 65 d.(apply.#'color-rgb-to-hex.fade
9c380 64 2d 72 67 62 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 2d 70 72 6f 70 73 20 28 61 d-rgb))..........(other-props.(a
9c3a0 70 70 6c 79 20 23 27 61 70 70 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pply.#'append...................
9c3c0 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 70 63 61 73 65 2d 6c 61 6d 62 64 61 ...........(mapcar.(pcase-lambda
9c3e0 20 28 60 28 2c 6b 20 2e 20 2c 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(`(,k...,v))...................
9c400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 .....................(unless.(or
9c420 20 28 65 71 20 6b 20 3a 66 6f 72 65 67 72 6f 75 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(eq.k.:foreground).............
9c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9c460 20 20 20 20 20 20 20 28 65 71 20 6b 20 3a 69 6e 68 65 72 69 74 29 0a 20 20 20 20 20 20 20 20 20 .......(eq.k.:inherit)..........
9c480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9c4a0 20 20 20 20 20 20 20 20 20 20 28 65 71 20 76 20 27 75 6e 73 70 65 63 69 66 69 65 64 29 29 0a 20 ..........(eq.v.'unspecified))..
9c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9c4e0 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 6b 20 76 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ........(list.k.v)))............
9c500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 61 63 65 2d ..........................(face-
9c520 61 6c 6c 2d 61 74 74 72 69 62 75 74 65 73 20 66 61 63 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 all-attributes.face)))).........
9c540 20 28 73 70 65 63 20 60 28 28 74 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 2c 66 61 64 65 64 20 .(spec.`((t.(:foreground.,faded.
9c560 2c 40 6f 74 68 65 72 2d 70 72 6f 70 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 6f 63 20 ,@other-props))))..........(doc.
9c580 28 66 6f 72 6d 61 74 20 22 41 20 66 61 64 65 64 20 76 61 72 69 61 6e 74 20 6f 66 20 74 68 65 20 (format."A.faded.variant.of.the.
9c5a0 66 61 63 65 20 60 25 73 27 2e 5c 6e 53 65 65 20 74 68 65 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f face.`%s'.\nSee.the.customizatio
9c5c0 6e 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d n.variable.`racket-sexp-comment-
9c5e0 66 61 64 65 27 2e 22 20 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 61 64 65 64 2d 66 fade'.".face))..........(faded-f
9c600 61 63 65 2d 6e 61 6d 65 20 28 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 ace-name.(racket--sexp-comment-f
9c620 61 63 65 2d 6e 61 6d 65 20 66 61 63 65 29 29 29 0a 20 20 20 20 28 66 61 63 65 2d 73 70 65 63 2d ace-name.face))).....(face-spec-
9c640 73 65 74 20 66 61 64 65 64 2d 66 61 63 65 2d 6e 61 6d 65 20 73 70 65 63 29 0a 20 20 20 20 28 73 set.faded-face-name.spec).....(s
9c660 65 74 2d 66 61 63 65 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 61 64 65 64 2d 66 61 63 65 et-face-documentation.faded-face
9c680 2d 6e 61 6d 65 20 64 6f 63 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 61 64 76 69 63 65 20 6c 6f 61 -name.doc)))..(define-advice.loa
9c6a0 64 2d 74 68 65 6d 65 20 28 3a 61 66 74 65 72 20 28 26 72 65 73 74 20 5f 61 72 67 73 29 20 72 61 d-theme.(:after.(&rest._args).ra
9c6c0 63 6b 65 74 2d 6d 6f 64 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 72 65 66 72 65 73 68 2d 73 65 78 cket-mode)...(racket-refresh-sex
9c6e0 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 73 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 p-comment-faces))..(provide.'rac
9c700 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c ket-font-lock)..;;.racket-font-l
9c720 6f 63 6b 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ock.el.ends.here................
9c740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c800 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
9c820 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-profile.el...............
9c840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
9c880 30 30 31 36 37 32 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 31 31 30 00 20 30 00 00 00 0016723.00000000000.017110..0...
9c8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
9c920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
9c940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ca00 3b 3b 3b 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 ;;;.racket-profile.el.-*-.lexica
9ca20 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 l-binding:.t.-*-..;;.Copyright.(
9ca40 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 c).2013-2022.by.Greg.Hendershott
9ca60 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 ..;;.Portions.Copyright.(C).1985
9ca80 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 -1986,.1999-2013.Free.Software.F
9caa0 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 oundation,.Inc...;;.Author:.Greg
9cac0 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 .Hendershott.;;.URL:.https://git
9cae0 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d hub.com/greghendershott/racket-m
9cb00 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a ode..;;.SPDX-License-Identifier:
9cb20 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 .GPL-3.0-or-later..(require.'rac
9cb40 6b 65 74 2d 72 65 70 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 ket-repl).(require.'racket-util)
9cb60 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 0a 0a 28 64 65 .(require.'racket-back-end)..(de
9cb80 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d 70 72 6f 6a 65 fvar-local.racket--profile-proje
9cba0 63 74 2d 72 6f 6f 74 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 ct-root.nil).(defvar-local.racke
9cbc0 74 2d 2d 70 72 6f 66 69 6c 65 2d 72 65 73 75 6c 74 73 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 2d t--profile-results.nil).(defvar-
9cbe0 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d 73 68 6f 77 2d 7a 65 72 6f 20 local.racket--profile-show-zero.
9cc00 6e 69 6c 29 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 nil).(defvar-local.racket--profi
9cc20 6c 65 2d 73 68 6f 77 2d 6e 6f 6e 2d 70 72 6f 6a 65 63 74 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e le-show-non-project.nil)..(defun
9cc40 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 20 28 29 0a 20 20 22 4c 69 6b 65 20 60 72 61 63 6b .racket-profile.()..."Like.`rack
9cc60 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 27 20 62 75 74 20 77 69 74 68 et-run-module-at-point'.but.with
9cc80 20 70 72 6f 66 69 6c 69 6e 67 2e 0a 0a 52 65 73 75 6c 74 73 20 61 72 65 20 70 72 65 73 65 6e 74 .profiling...Results.are.present
9cca0 65 64 20 69 6e 20 61 20 60 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 6d 6f 64 65 27 20 62 75 ed.in.a.`racket-profile-mode'.bu
9ccc0 66 66 65 72 2c 20 77 68 69 63 68 0a 61 6c 73 6f 20 6c 65 74 73 20 79 6f 75 20 71 75 69 63 6b 6c ffer,.which.also.lets.you.quickl
9cce0 79 20 76 69 65 77 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 0a 59 6f 75 20 6d 61 79 y.view.the.source.code...You.may
9cd00 20 65 76 61 6c 75 61 74 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 6e 20 74 68 65 20 52 45 50 .evaluate.expressions.in.the.REP
9cd20 4c 2e 20 54 68 65 79 20 61 72 65 20 61 6c 73 6f 20 70 72 6f 66 69 6c 65 64 2e 0a 55 73 65 20 60 L..They.are.also.profiled..Use.`
9cd40 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 72 65 66 72 65 73 68 27 20 74 6f 20 73 65 65 20 74 racket-profile-refresh'.to.see.t
9cd60 68 65 20 75 70 64 61 74 65 64 20 72 65 73 75 6c 74 73 2e 20 49 6e 0a 6f 74 68 65 72 20 77 6f 72 he.updated.results..In.other.wor
9cd80 64 73 20 61 20 70 6f 73 73 69 62 6c 65 20 77 6f 72 6b 66 6c 6f 77 20 69 73 3a 20 60 72 61 63 6b ds.a.possible.workflow.is:.`rack
9cda0 65 74 2d 70 72 6f 66 69 6c 65 27 20 61 20 2e 72 6b 74 20 66 69 6c 65 2c 0a 63 61 6c 6c 20 6f 6e et-profile'.a..rkt.file,.call.on
9cdc0 65 20 69 74 73 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 52 45 50 4c 2c 20 61 6e 64 e.its.functions.in.the.REPL,.and
9cde0 20 72 65 66 72 65 73 68 20 74 68 65 20 70 72 6f 66 69 6c 65 0a 72 65 73 75 6c 74 73 2e 0a 0a 43 .refresh.the.profile.results...C
9ce00 61 76 65 61 74 3a 20 4f 6e 6c 79 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 61 72 65 20 69 6e 73 aveat:.Only.source.files.are.ins
9ce20 74 72 75 6d 65 6e 74 65 64 2e 20 59 6f 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 0a 64 65 6c 65 74 trumented..You.may.need.to.delet
9ce40 65 20 63 6f 6d 70 69 6c 65 64 2f 2a 2e 7a 6f 20 66 69 6c 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 e.compiled/*.zo.files."...(inter
9ce60 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 65 64 69 74 2d 6d active)...(racket--assert-edit-m
9ce80 6f 64 65 29 0a 20 20 28 6d 65 73 73 61 67 65 20 22 52 75 6e 6e 69 6e 67 20 77 69 74 68 20 70 72 ode)...(message."Running.with.pr
9cea0 6f 66 69 6c 69 6e 67 20 69 6e 73 74 72 75 6d 65 6e 74 61 74 69 6f 6e 2e 2e 2e 22 29 0a 20 20 28 ofiling.instrumentation...")...(
9cec0 6c 65 74 20 28 28 62 75 66 2d 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 2a 52 61 63 6b 65 74 20 let.((buf-name.(format."*Racket.
9cee0 50 72 6f 66 69 6c 65 20 3c 25 73 3e 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Profile.<%s>*"..................
9cf00 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 29 29 .........(racket-back-end-name))
9cf20 29 0a 20 20 20 20 20 20 20 20 28 77 68 61 74 2d 74 6f 2d 72 75 6e 20 28 72 61 63 6b 65 74 2d 2d ).........(what-to-run.(racket--
9cf40 77 68 61 74 2d 74 6f 2d 72 75 6e 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c what-to-run))).....(racket--repl
9cf60 2d 72 75 6e 0a 20 20 20 20 20 77 68 61 74 2d 74 6f 2d 72 75 6e 0a 20 20 20 20 20 27 28 29 0a 20 -run......what-to-run......'()..
9cf80 20 20 20 20 27 70 72 6f 66 69 6c 65 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 ....'profile......(lambda.()....
9cfa0 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 47 65 74 74 69 6e 67 20 70 72 6f 66 69 6c 65 20 72 65 ....(message."Getting.profile.re
9cfc0 73 75 6c 74 73 2e 2e 2e 22 29 0a 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 sults...")........(racket--cmd/a
9cfe0 73 79 6e 63 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 sync.........(racket--repl-sessi
9d000 6f 6e 2d 69 64 29 0a 20 20 20 20 20 20 20 20 60 28 67 65 74 2d 70 72 6f 66 69 6c 65 29 0a 20 20 on-id).........`(get-profile)...
9d020 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 ......(lambda.(results).........
9d040 20 20 28 6d 65 73 73 61 67 65 20 22 50 72 65 70 61 72 69 6e 67 20 70 72 6f 66 69 6c 65 20 72 65 ..(message."Preparing.profile.re
9d060 73 75 6c 74 73 20 74 6f 20 64 69 73 70 6c 61 79 2e 2e 2e 22 29 0a 20 20 20 20 20 20 20 20 20 20 sults.to.display...")...........
9d080 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 (with-current-buffer............
9d0a0 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 62 75 66 2d 6e 61 6d 65 29 0a ...(get-buffer-create.buf-name).
9d0c0 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 6d 6f 64 65 ............(racket-profile-mode
9d0e0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 ).............(setq.racket--prof
9d100 69 6c 65 2d 72 65 73 75 6c 74 73 20 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 ile-results.results)............
9d120 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 .(setq.racket--profile-project-r
9d140 6f 6f 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 70 72 oot...................(racket-pr
9d160 6f 6a 65 63 74 2d 72 6f 6f 74 20 28 63 61 72 20 77 68 61 74 2d 74 6f 2d 72 75 6e 29 29 29 0a 20 oject-root.(car.what-to-run)))..
9d180 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d 64 72 61 77 ...........(racket--profile-draw
9d1a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 20 28 63 75 ).............(pop-to-buffer.(cu
9d1c0 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 rrent-buffer)))))))))..(defun.ra
9d1e0 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 72 65 66 72 65 73 68 20 28 29 0a 20 20 28 69 6e 74 65 72 cket-profile-refresh.()...(inter
9d200 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 20 28 72 61 active)...(racket--cmd/async.(ra
9d220 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 cket--repl-session-id)..........
9d240 20 20 20 20 20 20 20 20 20 20 20 20 60 28 67 65 74 2d 70 72 6f 66 69 6c 65 29 0a 20 20 20 20 20 ............`(get-profile)......
9d260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 75 6c 74 73 ................(lambda.(results
9d280 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 )........................(setq.r
9d2a0 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d 72 65 73 75 6c 74 73 0a 20 20 20 20 20 20 20 20 20 acket--profile-results..........
9d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 73 29 0a 20 20 20 ....................results)....
9d2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 70 72 6f ....................(racket--pro
9d300 66 69 6c 65 2d 64 72 61 77 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 70 72 file-draw))))..(defun.racket--pr
9d320 6f 66 69 6c 65 2d 64 72 61 77 20 28 29 0a 20 20 28 73 65 74 71 20 74 72 75 6e 63 61 74 65 2d 6c ofile-draw.()...(setq.truncate-l
9d340 69 6e 65 73 20 74 29 20 3b 6c 65 74 20 72 75 6e 20 6f 66 66 20 72 69 67 68 74 20 65 64 67 65 0a ines.t).;let.run.off.right.edge.
9d360 20 20 28 77 69 74 68 2d 73 69 6c 65 6e 74 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 0a 20 20 20 ..(with-silent-modifications....
9d380 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 20 .(erase-buffer).....(pcase-let*.
9d3a0 28 28 66 69 6c 74 65 72 65 64 20 28 73 65 71 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 20 ((filtered.(seq-filter..........
9d3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 2d 6c 61 6d 62 64 61 ...................(pcase-lambda
9d3e0 20 28 60 28 2c 63 61 6c 6c 73 20 2c 6d 73 65 63 20 2c 5f 6e 61 6d 65 20 2c 66 69 6c 65 20 2c 5f .(`(,calls.,msec.,_name.,file.,_
9d400 62 65 67 20 2c 5f 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 beg.,_end)).....................
9d420 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6f 72 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 ..........(and.(or.racket--profi
9d440 6c 65 2d 73 68 6f 77 2d 7a 65 72 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le-show-zero....................
9d460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 61 6e 64 20 28 7a ....................(not.(and.(z
9d480 65 72 6f 70 20 63 61 6c 6c 73 29 20 28 7a 65 72 6f 70 20 6d 73 65 63 29 29 29 29 0a 20 20 20 20 erop.calls).(zerop.msec)))).....
9d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
9d4c0 6f 72 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d 73 68 6f 77 2d 6e 6f 6e 2d 70 72 6f 6a or.racket--profile-show-non-proj
9d4e0 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ect.............................
9d500 20 20 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 28 72 61 63 6b 65 74 2d 70 72 6f 6a 65 63 ...........(equal.(racket-projec
9d520 74 2d 72 6f 6f 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-root..........................
9d540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 66 69 ......................(racket-fi
9d560 6c 65 2d 6e 61 6d 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 6f 6e 74 20 66 69 6c 65 29 29 0a 20 20 20 le-name-back-to-front.file))....
9d580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9d5a0 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d 70 72 6f 6a 65 ...........racket--profile-proje
9d5c0 63 74 2d 72 6f 6f 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ct-root)))).....................
9d5e0 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d 72 65 73 75 6c 74 73 29 ........racket--profile-results)
9d600 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 77 69 64 74 68 2d 63 61 6c )..................(`(,width-cal
9d620 6c 73 20 2c 77 69 64 74 68 2d 6d 73 65 63 20 2c 77 69 64 74 68 2d 6e 61 6d 65 29 0a 20 20 20 20 ls.,width-msec.,width-name).....
9d640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 2d 72 65 64 75 63 65 20 28 70 63 61 73 65 ..............(seq-reduce.(pcase
9d660 2d 6c 61 6d 62 64 61 20 28 60 28 2c 77 69 64 74 68 2d 63 61 6c 6c 73 20 2c 77 69 64 74 68 2d 6d -lambda.(`(,width-calls.,width-m
9d680 73 65 63 20 2c 77 69 64 74 68 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sec.,width-name)................
9d6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 ..............................`(
9d6c0 2c 63 61 6c 6c 73 20 2c 6d 73 65 63 20 2c 6e 61 6d 65 20 2e 20 2c 5f 29 29 0a 20 20 20 20 20 20 ,calls.,msec.,name...,_)).......
9d6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 ..........................(list.
9d700 28 6d 61 78 20 77 69 64 74 68 2d 63 61 6c 6c 73 20 28 6c 65 6e 67 74 68 20 28 66 6f 72 6d 61 74 (max.width-calls.(length.(format
9d720 20 22 25 73 22 20 63 61 6c 6c 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."%s".calls)))..................
9d740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 78 20 77 69 64 74 68 2d .....................(max.width-
9d760 6d 73 65 63 20 20 28 6c 65 6e 67 74 68 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 6d 73 65 63 29 msec..(length.(format."%s".msec)
9d780 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
9d7a0 20 20 20 20 20 20 20 20 20 28 6d 61 78 20 77 69 64 74 68 2d 6e 61 6d 65 20 20 28 6c 65 6e 67 74 .........(max.width-name..(lengt
9d7c0 68 20 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h.name))))......................
9d7e0 20 20 20 20 20 20 20 20 20 66 69 6c 74 65 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........filtered...............
9d800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 35 20 35 20 34 29 29 29 29 0a 20 20 20 20 ................`(5.5.4)))).....
9d820 20 20 28 63 6c 2d 66 6c 65 74 20 28 28 73 6f 72 74 2d 70 72 65 64 20 28 63 6f 6c 29 20 28 6c 61 ..(cl-flet.((sort-pred.(col).(la
9d840 6d 62 64 61 20 28 61 20 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mbda.(a.b)......................
9d860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 ..............(<.(string-to-numb
9d880 65 72 20 28 61 72 65 66 20 28 63 61 64 72 20 61 29 20 63 6f 6c 29 29 0a 20 20 20 20 20 20 20 20 er.(aref.(cadr.a).col)).........
9d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 ..............................(s
9d8c0 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 61 72 65 66 20 28 63 61 64 72 20 62 29 20 63 tring-to-number.(aref.(cadr.b).c
9d8e0 6f 6c 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 61 62 75 6c 61 74 65 64 ol)))))).........(setq.tabulated
9d900 2d 6c 69 73 74 2d 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 5b 28 22 43 -list-format...............`[("C
9d920 61 6c 6c 73 22 20 20 2c 77 69 64 74 68 2d 63 61 6c 6c 73 20 2c 28 73 6f 72 74 2d 70 72 65 64 20 alls"..,width-calls.,(sort-pred.
9d940 30 29 20 3a 72 69 67 68 74 2d 61 6c 69 67 6e 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 0).:right-align.t)..............
9d960 20 20 20 28 22 4d 73 65 63 22 20 20 20 2c 77 69 64 74 68 2d 6d 73 65 63 20 20 2c 28 73 6f 72 74 ...("Msec"...,width-msec..,(sort
9d980 2d 70 72 65 64 20 31 29 20 3a 72 69 67 68 74 2d 61 6c 69 67 6e 20 74 29 0a 20 20 20 20 20 20 20 -pred.1).:right-align.t)........
9d9a0 20 20 20 20 20 20 20 20 20 28 22 4e 61 6d 65 22 20 20 20 2c 77 69 64 74 68 2d 6e 61 6d 65 20 20 .........("Name"...,width-name..
9d9c0 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 53 6f 75 72 63 65 22 20 39 39 20 t).................("Source".99.
9d9e0 20 20 20 20 20 20 20 20 20 20 74 29 5d 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 74 61 62 75 ..........t)])).......(setq.tabu
9da00 6c 61 74 65 64 2d 6c 69 73 74 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 lated-list-entries.............(
9da20 73 65 71 2d 6d 61 70 20 28 70 63 61 73 65 2d 6c 61 6d 62 64 61 20 28 60 28 2c 63 61 6c 6c 73 20 seq-map.(pcase-lambda.(`(,calls.
9da40 2c 6d 73 65 63 20 2c 6e 61 6d 65 20 2c 66 69 6c 65 20 2c 62 65 67 20 2c 65 6e 64 29 29 0a 20 20 ,msec.,name.,file.,beg.,end))...
9da60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 66 69 6c .....................(let*.((fil
9da80 65 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 6f 6e e.(racket-file-name-back-to-fron
9daa0 74 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.file))........................
9dac0 20 20 20 20 20 20 20 28 73 69 6d 70 6c 69 66 69 65 64 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 .......(simplified-file.........
9dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 .......................(if.(equa
9db00 6c 20 28 72 61 63 6b 65 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 66 69 6c 65 29 0a 20 20 20 l.(racket-project-root.file)....
9db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9db40 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 .......racket--profile-project-r
9db60 6f 6f 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oot)............................
9db80 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 66 69 6c 65 ........(file-relative-name.file
9dba0 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 .racket--profile-project-root)..
9dbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9dbe0 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 file))).........................
9dc00 20 28 6c 69 73 74 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(list.nil......................
9dc20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........(vector...............
9dc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 63 ..................(format."%s".c
9dc60 61 6c 6c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 alls)...........................
9dc80 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 6d 73 65 63 29 0a 20 20 20 20 20 20 20 ......(format."%s".msec)........
9dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 .........................(proper
9dcc0 74 69 7a 65 20 28 6f 72 20 6e 61 6d 65 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tize.(or.name."")...............
9dce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 ..............................'f
9dd00 61 63 65 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 75 6e 63 74 69 6f 6e 2d 6e 61 6d 65 2d 66 61 63 65 ace.font-lock-function-name-face
9dd20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
9dd40 20 20 28 69 66 20 28 61 6e 64 20 66 69 6c 65 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 ..(if.(and.file.beg.end)........
9dd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 .............................(li
9dd80 73 74 20 73 69 6d 70 6c 69 66 69 65 64 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 st.simplified-file..............
9dda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 .............................'ra
9ddc0 63 6b 65 74 2d 66 69 6c 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cket-file.file..................
9dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 .........................'racket
9de00 2d 62 65 67 20 20 62 65 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -beg..beg.......................
9de20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 65 6e 64 20 ....................'racket-end.
9de40 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .end............................
9de60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 61 63 74 69 6f 6e 20 20 20 20 20 20 23 27 72 61 ...............'action......#'ra
9de80 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 62 75 74 74 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 cket-profile-button)............
9dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 6d 70 6c 69 66 69 65 .......................simplifie
9dec0 64 2d 66 69 6c 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-file))))).....................
9dee0 20 66 69 6c 74 65 72 65 64 29 29 0a 20 20 20 20 20 20 28 74 61 62 75 6c 61 74 65 64 2d 6c 69 73 .filtered)).......(tabulated-lis
9df00 74 2d 69 6e 69 74 2d 68 65 61 64 65 72 29 0a 20 20 20 20 20 20 28 74 61 62 75 6c 61 74 65 64 2d t-init-header).......(tabulated-
9df20 6c 69 73 74 2d 70 72 69 6e 74 29 0a 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f list-print).......(save-excursio
9df40 6e 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 n.........(goto-char.(point-max)
9df60 29 0a 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 ).........(newline).........(ins
9df80 65 72 74 20 28 63 6f 6e 63 61 74 20 28 69 66 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d ert.(concat.(if.racket--profile-
9dfa0 73 68 6f 77 2d 7a 65 72 6f 20 22 53 68 6f 77 69 6e 67 22 20 22 48 69 64 69 6e 67 22 29 0a 20 20 show-zero."Showing"."Hiding")...
9dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 30 20 63 61 6c 6c 73 20 ......................".0.calls.
9dfe0 61 6e 64 20 30 20 6d 73 65 63 2e 20 50 72 65 73 73 20 7a 20 74 6f 20 74 6f 67 67 6c 65 2e 22 29 and.0.msec..Press.z.to.toggle.")
9e000 29 0a 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 ).........(newline).........(ins
9e020 65 72 74 20 28 63 6f 6e 63 61 74 20 28 69 66 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d ert.(concat.(if.racket--profile-
9e040 73 68 6f 77 2d 6e 6f 6e 2d 70 72 6f 6a 65 63 74 20 22 53 68 6f 77 69 6e 67 22 20 22 48 69 64 69 show-non-project."Showing"."Hidi
9e060 6e 67 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 6e ng").........................".n
9e080 6f 6e 2d 70 72 6f 6a 65 63 74 20 66 69 6c 65 73 2e 20 50 72 65 73 73 20 66 20 74 6f 20 74 6f 67 on-project.files..Press.f.to.tog
9e0a0 67 6c 65 2e 22 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 gle."))))))..(defun.racket-profi
9e0c0 6c 65 2d 62 75 74 74 6f 6e 20 28 62 75 74 74 6f 6e 29 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 le-button.(button)...(let.((file
9e0e0 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f 6e 20 27 72 61 63 6b 65 74 2d 66 69 6c 65 .(button-get.button.'racket-file
9e100 29 29 0a 20 20 20 20 20 20 20 20 28 62 65 67 20 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 )).........(beg..(button-get.but
9e120 74 6f 6e 20 27 72 61 63 6b 65 74 2d 62 65 67 29 29 29 0a 20 20 20 20 28 78 72 65 66 2d 70 75 73 ton.'racket-beg))).....(xref-pus
9e140 68 2d 6d 61 72 6b 65 72 2d 73 74 61 63 6b 29 0a 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 66 h-marker-stack).....(find-file.f
9e160 69 6c 65 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 67 29 29 29 0a 0a 28 64 65 66 ile).....(goto-char.beg)))..(def
9e180 75 6e 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 76 69 73 69 74 20 28 29 0a 20 20 22 56 69 un.racket-profile-visit.()..."Vi
9e1a0 73 69 74 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20 74 68 65 20 70 72 6f 66 69 6c 65 20 69 74 sit.the.source.of.the.profile.it
9e1c0 65 6d 2e 0a 0a 55 73 65 20 5c 5c 5b 78 72 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 63 em...Use.\\[xref-pop-marker-stac
9e1e0 6b 5d 20 2d 2d 20 60 78 72 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 63 6b 27 20 2d 2d k].--.`xref-pop-marker-stack'.--
9e200 20 74 6f 20 72 65 74 75 72 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 .to.return."...(interactive)...(
9e220 70 63 61 73 65 20 28 74 61 62 75 6c 61 74 65 64 2d 6c 69 73 74 2d 67 65 74 2d 65 6e 74 72 79 20 pcase.(tabulated-list-get-entry.
9e240 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 60 5b 2c 5f 63 61 6c 6c 73 20 2c 5f 6d 73 65 63 20 2c (point)).....(`[,_calls.,_msec.,
9e260 5f 6e 61 6d 65 20 28 2c 5f 20 72 61 63 6b 65 74 2d 66 69 6c 65 20 2c 66 69 6c 65 20 72 61 63 6b _name.(,_.racket-file.,file.rack
9e280 65 74 2d 62 65 67 20 2c 62 65 67 20 2e 20 2c 5f 29 5d 0a 20 20 20 20 20 28 78 72 65 66 2d 70 75 et-beg.,beg...,_)]......(xref-pu
9e2a0 73 68 2d 6d 61 72 6b 65 72 2d 73 74 61 63 6b 29 0a 20 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 sh-marker-stack)......(find-file
9e2c0 20 66 69 6c 65 29 0a 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 67 29 29 29 29 0a 0a .file)......(goto-char.beg))))..
9e2e0 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 73 68 6f 77 2d 7a 65 72 6f 20 (defun.racket-profile-show-zero.
9e300 28 29 0a 20 20 22 54 6f 67 67 6c 65 20 62 65 74 77 65 65 6e 20 73 68 6f 77 69 6e 67 20 72 65 73 ()..."Toggle.between.showing.res
9e320 75 6c 74 73 20 77 69 74 68 20 7a 65 72 6f 20 43 61 6c 6c 73 20 6f 72 20 4d 73 65 63 2e 22 0a 20 ults.with.zero.Calls.or.Msec."..
9e340 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 70 .(interactive)...(setq.racket--p
9e360 72 6f 66 69 6c 65 2d 73 68 6f 77 2d 7a 65 72 6f 20 28 6e 6f 74 20 72 61 63 6b 65 74 2d 2d 70 72 rofile-show-zero.(not.racket--pr
9e380 6f 66 69 6c 65 2d 73 68 6f 77 2d 7a 65 72 6f 29 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 70 72 6f ofile-show-zero))...(racket--pro
9e3a0 66 69 6c 65 2d 64 72 61 77 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 file-draw))..(defun.racket-profi
9e3c0 6c 65 2d 73 68 6f 77 2d 6e 6f 6e 2d 70 72 6f 6a 65 63 74 20 28 29 0a 20 20 22 54 6f 67 67 6c 65 le-show-non-project.()..."Toggle
9e3e0 20 62 65 74 77 65 65 6e 20 73 68 6f 77 69 6e 67 20 72 65 73 75 6c 74 73 20 66 6f 72 20 66 69 6c .between.showing.results.for.fil
9e400 65 73 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 2e 0a 0a 54 68 65 20 5c 22 70 es.only.in.the.project...The.\"p
9e420 72 6f 6a 65 63 74 5c 22 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 60 72 61 63 6b 65 roject\".is.determined.by.`racke
9e440 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 t-project-root'."...(interactive
9e460 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d 73 68 6f 77 2d 6e )...(setq.racket--profile-show-n
9e480 6f 6e 2d 70 72 6f 6a 65 63 74 20 28 6e 6f 74 20 72 61 63 6b 65 74 2d 2d 70 72 6f 66 69 6c 65 2d on-project.(not.racket--profile-
9e4a0 73 68 6f 77 2d 6e 6f 6e 2d 70 72 6f 6a 65 63 74 29 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 70 72 show-non-project))...(racket--pr
9e4c0 6f 66 69 6c 65 2d 64 72 61 77 29 29 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 70 72 6f ofile-draw))..(defvar.racket-pro
9e4e0 66 69 6c 65 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 20 28 6d 61 6b 65 2d 73 file-mode-map...(let.((m.(make-s
9e500 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 73 65 74 2d 6b 65 79 6d 61 70 2d parse-keymap))).....(set-keymap-
9e520 70 61 72 65 6e 74 20 6d 20 6e 69 6c 29 0a 20 20 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 parent.m.nil).....(mapc.(lambda.
9e540 28 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 20 28 6b (x).............(define-key.m.(k
9e560 62 64 20 28 63 61 72 20 78 29 29 20 28 63 61 64 72 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 bd.(car.x)).(cadr.x)))..........
9e580 20 27 28 28 22 71 22 20 20 20 71 75 69 74 2d 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 20 20 20 .'(("q"...quit-window)..........
9e5a0 20 20 20 28 22 67 22 20 20 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 72 65 66 72 65 73 68 ...("g"...racket-profile-refresh
9e5c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 7a 22 20 20 20 72 61 63 6b 65 74 2d 70 72 6f 66 ).............("z"...racket-prof
9e5e0 69 6c 65 2d 73 68 6f 77 2d 7a 65 72 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 66 22 20 ile-show-zero).............("f".
9e600 20 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 73 68 6f 77 2d 6e 6f 6e 2d 70 72 6f 6a 65 63 ..racket-profile-show-non-projec
9e620 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 2e 22 20 20 20 72 61 63 6b 65 74 2d 70 72 6f t).............("."...racket-pro
9e640 66 69 6c 65 2d 76 69 73 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 52 45 54 22 20 72 file-visit).............("RET".r
9e660 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 76 69 73 69 74 29 29 29 0a 20 20 20 20 6d 29 0a 20 20 acket-profile-visit))).....m)...
9e680 22 4b 65 79 6d 61 70 20 66 6f 72 20 52 61 63 6b 65 74 20 50 72 6f 66 69 6c 65 20 6d 6f 64 65 2e "Keymap.for.Racket.Profile.mode.
9e6a0 22 29 0a 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 20 72 61 63 6b 65 74 2d ")..(define-derived-mode.racket-
9e6c0 70 72 6f 66 69 6c 65 2d 6d 6f 64 65 20 74 61 62 75 6c 61 74 65 64 2d 6c 69 73 74 2d 6d 6f 64 65 profile-mode.tabulated-list-mode
9e6e0 0a 20 20 22 52 61 63 6b 65 74 50 72 6f 66 69 6c 65 22 0a 20 20 22 4d 61 6a 6f 72 20 6d 6f 64 65 ..."RacketProfile"..."Major.mode
9e700 20 66 6f 72 20 72 65 73 75 6c 74 73 20 6f 66 20 60 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 27 .for.results.of.`racket-profile'
9e720 2e 0a 0a 5c 5c 7b 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 6d 6f 64 65 2d 6d 61 70 7d 0a 22 ...\\{racket-profile-mode-map}."
9e740 0a 20 20 28 73 65 74 71 20 73 68 6f 77 2d 74 72 61 69 6c 69 6e 67 2d 77 68 69 74 65 73 70 61 63 ...(setq.show-trailing-whitespac
9e760 65 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 74 61 62 75 6c 61 74 65 64 2d 6c 69 73 74 2d 73 6f e.nil)...(setq.tabulated-list-so
9e780 72 74 2d 6b 65 79 20 27 28 22 43 61 6c 6c 73 22 20 2e 20 74 29 29 29 0a 0a 28 70 72 6f 76 69 64 rt-key.'("Calls"...t)))..(provid
9e7a0 65 20 27 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 70 72 e.'racket-profile)..;;.racket-pr
9e7c0 6f 66 69 6c 65 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 ofile.el.ends.here..............
9e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e800 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
9e820 43 4f 4e 54 52 49 42 55 54 49 4e 47 2e 6f 72 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CONTRIBUTING.org................
9e840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
9e880 30 30 30 36 37 37 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 33 30 32 00 20 30 00 00 00 0006772.00000000000.016302..0...
9e8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
9e920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
9e940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ea00 2a 20 52 65 70 6f 72 74 69 6e 67 20 62 75 67 73 0a 0a 49 66 20 79 6f 75 27 72 65 20 67 6f 69 6e *.Reporting.bugs..If.you're.goin
9ea20 67 20 74 6f 20 72 65 70 6f 72 74 20 61 20 62 75 67 20 2d 2d 2d 20 74 68 61 6e 6b 20 79 6f 75 21 g.to.report.a.bug.---.thank.you!
9ea40 0a 0a 50 6c 65 61 73 65 20 75 73 65 20 3d 4d 2d 78 20 72 61 63 6b 65 74 2d 62 75 67 2d 72 65 70 ..Please.use.=M-x.racket-bug-rep
9ea60 6f 72 74 3d 20 74 6f 20 67 65 6e 65 72 61 74 65 20 61 20 62 75 66 66 65 72 20 77 69 74 68 0a 69 ort=.to.generate.a.buffer.with.i
9ea80 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 61 74 20 77 69 6c 6c 20 68 65 6c 70 20 74 6f 20 72 65 70 nformation.that.will.help.to.rep
9eaa0 72 6f 64 75 63 65 20 61 6e 64 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 62 75 67 3a 0a 0a roduce.and.understand.the.bug:..
9eac0 2d 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 2e 0a 2d 20 56 61 6c 75 65 20 6f 66 20 69 6d 70 6f -.Emacs.version..-.Value.of.impo
9eae0 72 74 61 6e 74 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 76 61 72 69 61 62 6c 65 73 2e 0a 2d 20 4d rtant.Racket.Mode.variables..-.M
9eb00 69 6e 6f 72 20 6d 6f 64 65 73 20 74 68 61 74 20 61 72 65 20 61 63 74 69 76 65 2e 0a 0a 50 6c 65 inor.modes.that.are.active...Ple
9eb20 61 73 65 20 63 6f 70 79 20 74 68 61 74 20 61 6e 64 20 70 61 73 74 65 20 69 6e 20 79 6f 75 72 20 ase.copy.that.and.paste.in.your.
9eb40 62 75 67 20 72 65 70 6f 72 74 2e 0a 0a 2a 20 4d 61 6b 69 6e 67 20 70 75 6c 6c 20 72 65 71 75 65 bug.report...*.Making.pull.reque
9eb60 73 74 73 0a 0a 49 66 20 79 6f 75 27 64 20 6c 69 6b 65 20 74 6f 20 6d 61 6b 65 20 61 20 70 75 6c sts..If.you'd.like.to.make.a.pul
9eb80 6c 20 72 65 71 75 65 73 74 20 2d 2d 2d 20 74 68 61 6e 6b 20 79 6f 75 21 0a 0a 48 65 72 65 20 69 l.request.---.thank.you!..Here.i
9eba0 73 20 73 6f 6d 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 6f 20 68 65 6c 70 20 79 6f 75 2e 0a s.some.information.to.help.you..
9ebc0 0a 2a 2a 20 50 61 63 6b 61 67 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 0a 0a 46 6f 72 20 65 6e .**.Package.dependencies..For.en
9ebe0 64 20 75 73 65 72 73 2c 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 63 75 72 72 65 6e 74 6c 79 20 68 d.users,.Racket.Mode.currently.h
9ec00 61 73 20 7a 65 72 6f 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 6e 20 6f 74 68 65 72 0a 70 61 as.zero.dependencies.on.other.pa
9ec20 63 6b 61 67 65 73 20 2d 2d 2d 20 69 6e 20 3d 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 65 6c 3d 20 3d ckages.---.in.=racket-mode.el=.=
9ec40 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 3d 20 69 73 20 6a 75 73 74 3a 0a 0a 23 2b 42 Package-Requires:=.is.just:..#+B
9ec60 45 47 49 4e 5f 53 52 43 20 65 6c 69 73 70 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 EGIN_SRC.elisp.;;.Package-Requir
9ec80 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 35 2e 31 22 29 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a es:.((emacs."25.1")).#+END_SRC..
9eca0 46 6f 72 20 68 61 63 6b 69 6e 67 20 6f 6e 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 61 6e 64 20 74 For.hacking.on.Racket.Mode.and.t
9ecc0 6f 20 72 75 6e 20 74 65 73 74 73 2c 20 61 20 63 6f 75 70 6c 65 20 70 61 63 6b 61 67 65 73 20 61 o.run.tests,.a.couple.packages.a
9ece0 72 65 0a 72 65 71 75 69 72 65 64 2e 20 54 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 6d 3a 20 3d 6d re.required..To.install.them:.=m
9ed00 61 6b 65 20 64 65 70 73 3d 2e 0a 0a 54 68 65 20 72 65 63 65 6e 74 20 74 72 65 6e 64 20 68 61 73 ake.deps=...The.recent.trend.has
9ed20 20 62 65 65 6e 20 66 6f 72 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 74 6f 20 64 65 70 65 6e 64 20 .been.for.Racket.Mode.to.depend.
9ed40 6f 6e 20 66 65 77 65 72 20 70 61 63 6b 61 67 65 73 2c 0a 6e 6f 74 20 6d 6f 72 65 2e 20 46 6f 72 on.fewer.packages,.not.more..For
9ed60 20 65 78 61 6d 70 6c 65 20 3d 64 61 73 68 2e 65 6c 3d 20 61 6e 64 20 3d 73 2e 65 6c 3d 20 77 65 .example.=dash.el=.and.=s.el=.we
9ed80 72 65 20 64 72 6f 70 70 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 0a 64 69 72 65 63 74 6c 79 20 re.dropped.in.favor.of.directly.
9eda0 75 73 69 6e 67 20 74 68 65 20 62 75 69 6c 74 2d 69 6e 20 45 6d 61 63 73 20 66 75 6e 63 74 69 6f using.the.built-in.Emacs.functio
9edc0 6e 73 20 77 72 61 70 70 65 64 20 62 79 20 74 68 6f 73 65 20 70 61 63 6b 61 67 65 73 2e 0a 0a 48 ns.wrapped.by.those.packages...H
9ede0 61 76 69 6e 67 20 73 61 69 64 20 74 68 61 74 2c 20 69 66 20 79 6f 75 72 20 50 52 20 70 72 6f 70 aving.said.that,.if.your.PR.prop
9ee00 6f 73 65 73 20 61 64 64 69 6e 67 20 61 20 64 65 70 65 6e 64 65 6e 63 79 20 6f 6e 20 61 20 6e 65 oses.adding.a.dependency.on.a.ne
9ee20 77 0a 70 61 63 6b 61 67 65 20 74 68 61 74 20 79 6f 75 20 74 68 69 6e 6b 20 69 73 20 77 6f 72 74 w.package.that.you.think.is.wort
9ee40 68 77 68 69 6c 65 2c 20 70 6c 65 61 73 65 20 6d 61 6b 65 20 73 75 72 65 20 79 6f 75 72 20 50 52 hwhile,.please.make.sure.your.PR
9ee60 20 75 70 64 61 74 65 73 0a 62 6f 74 68 3a 0a 0a 31 2e 20 74 68 65 20 3d 50 61 63 6b 61 67 65 2d .updates.both:..1..the.=Package-
9ee80 52 65 71 75 69 72 65 73 3a 3d 20 6c 69 6e 65 20 69 6e 20 3d 72 61 63 6b 65 74 2d 6d 6f 64 65 2e Requires:=.line.in.=racket-mode.
9eea0 65 6c 3d 0a 32 2e 20 74 68 65 20 3d 64 65 70 73 3d 20 74 61 72 67 65 74 20 69 6e 20 3d 4d 61 6b el=.2..the.=deps=.target.in.=Mak
9eec0 65 66 69 6c 65 3d 0a 0a 2a 2a 20 50 6f 69 6e 74 69 6e 67 20 45 6d 61 63 73 20 74 6f 20 79 6f 75 efile=..**.Pointing.Emacs.to.you
9eee0 72 20 47 69 74 20 63 6c 6f 6e 65 0a 0a 41 66 74 65 72 20 69 6e 73 74 61 6c 6c 69 6e 67 20 64 65 r.Git.clone..After.installing.de
9ef00 70 65 6e 64 65 6e 63 69 65 73 20 79 6f 75 20 73 68 6f 75 6c 64 20 6a 75 73 74 20 6e 65 65 64 20 pendencies.you.should.just.need.
9ef20 74 6f 20 61 64 64 20 74 68 65 20 70 61 74 68 20 74 6f 0a 79 6f 75 72 20 6c 6f 63 61 6c 20 63 6c to.add.the.path.to.your.local.cl
9ef40 6f 6e 65 20 6f 66 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 74 6f 20 3d 6c 6f 61 64 2d 70 61 74 68 one.of.Racket.Mode.to.=load-path
9ef60 3d 20 61 6e 64 20 72 65 71 75 69 72 65 20 69 74 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 65 =.and.require.it:..#+BEGIN_SRC.e
9ef80 6c 69 73 70 0a 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 6c 6f 61 64 2d 70 61 74 68 20 22 2f 70 lisp.(add-to-list.'load-path."/p
9efa0 61 74 68 2f 74 6f 2f 74 68 65 2f 67 69 74 2d 63 6c 6f 6e 65 2f 64 69 72 22 29 0a 28 72 65 71 75 ath/to/the/git-clone/dir").(requ
9efc0 69 72 65 20 27 72 61 63 6b 65 74 2d 6d 6f 64 65 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 49 66 20 ire.'racket-mode).#+END_SRC..If.
9efe0 79 6f 75 20 75 73 65 20 3d 75 73 65 2d 70 61 63 6b 61 67 65 3d 2c 20 79 6f 75 20 63 61 6e 20 73 you.use.=use-package=,.you.can.s
9f000 69 6d 70 6c 79 20 72 65 70 6c 61 63 65 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 65 6c 69 73 70 imply.replace..#+BEGIN_SRC.elisp
9f020 0a 28 75 73 65 2d 70 61 63 6b 61 67 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 20 20 3a 65 6e 73 .(use-package.racket-mode...:ens
9f040 75 72 65 20 74 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 77 69 74 68 0a 0a 23 2b 42 45 47 49 4e 5f ure.t).#+END_SRC..with..#+BEGIN_
9f060 53 52 43 20 65 6c 69 73 70 0a 28 75 73 65 2d 70 61 63 6b 61 67 65 20 72 61 63 6b 65 74 2d 6d 6f SRC.elisp.(use-package.racket-mo
9f080 64 65 0a 20 20 3a 6c 6f 61 64 2d 70 61 74 68 20 22 2f 70 61 74 68 2f 74 6f 2f 74 68 65 2f 67 69 de...:load-path."/path/to/the/gi
9f0a0 74 2d 63 6c 6f 6e 65 2f 64 69 72 22 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 49 66 20 79 6f 75 20 t-clone/dir").#+END_SRC..If.you.
9f0c0 68 61 76 65 20 70 72 65 76 69 6f 75 73 6c 79 20 62 65 65 6e 20 75 73 69 6e 67 20 52 61 63 6b 65 have.previously.been.using.Racke
9f0e0 74 20 4d 6f 64 65 20 61 73 20 61 20 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6c 6c 65 64 0a 66 72 t.Mode.as.a.package.installed.fr
9f100 6f 6d 20 4d 45 4c 50 41 2c 20 79 6f 75 20 6d 69 67 68 74 20 77 61 6e 74 20 74 6f 20 72 65 6d 6f om.MELPA,.you.might.want.to.remo
9f120 76 65 20 74 68 61 74 2c 20 61 74 20 6c 65 61 73 74 20 66 6f 72 20 74 68 65 20 64 75 72 61 74 69 ve.that,.at.least.for.the.durati
9f140 6f 6e 0a 6f 66 20 79 6f 75 72 20 68 61 63 6b 69 6e 67 3a 0a 0a 2d 20 3d 4d 2d 78 20 70 61 63 6b on.of.your.hacking:..-.=M-x.pack
9f160 61 67 65 2d 64 65 6c 65 74 65 3d 20 61 6e 64 20 65 6e 74 65 72 20 3d 72 61 63 6b 65 74 2d 6d 6f age-delete=.and.enter.=racket-mo
9f180 64 65 3d 2e 0a 2d 20 52 65 73 74 61 72 74 20 45 6d 61 63 73 2e 0a 0a 2a 2a 20 47 65 6e 65 72 61 de=..-.Restart.Emacs...**.Genera
9f1a0 74 69 6e 67 20 72 65 66 65 72 65 6e 63 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 0a 57 65 ting.reference.documentation..We
9f1c0 20 67 65 6e 65 72 61 74 65 20 72 65 66 65 72 65 6e 63 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f .generate.reference.documentatio
9f1e0 6e 20 66 72 6f 6d 20 64 6f 63 20 73 74 72 69 6e 67 73 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 2c n.from.doc.strings.for.commands,
9f200 0a 76 61 72 69 61 62 6c 65 73 2c 20 61 6e 64 20 66 61 63 65 73 2e 0a 0a 2d 20 49 66 20 79 6f 75 .variables,.and.faces...-.If.you
9f220 20 61 64 64 20 61 20 62 72 61 6e 64 2d 6e 65 77 20 63 6f 6d 6d 61 6e 64 20 3d 64 65 66 75 6e 3d .add.a.brand-new.command.=defun=
9f240 2c 20 3d 64 65 66 63 75 73 74 6f 6d 3d 2c 20 6f 72 20 3d 64 65 66 66 61 63 65 3d 2c 0a 20 20 70 ,.=defcustom=,.or.=defface=,...p
9f260 6c 65 61 73 65 20 61 6c 73 6f 20 61 64 64 20 69 74 20 74 6f 20 74 68 65 20 61 70 70 72 6f 70 72 lease.also.add.it.to.the.appropr
9f280 69 61 74 65 20 6c 69 73 74 20 69 6e 20 3d 64 6f 63 2f 67 65 6e 65 72 61 74 65 2e 65 6c 3d 2e 0a iate.list.in.=doc/generate.el=..
9f2a0 0a 2d 20 57 68 65 6e 65 76 65 72 20 79 6f 75 20 65 64 69 74 20 61 20 64 6f 63 20 73 74 72 69 6e .-.Whenever.you.edit.a.doc.strin
9f2c0 67 20 66 6f 72 20 61 20 63 6f 6d 6d 61 6e 64 20 3d 64 65 66 75 6e 3d 2c 20 3d 64 65 66 63 75 73 g.for.a.command.=defun=,.=defcus
9f2e0 74 6f 6d 3d 2c 0a 20 20 6f 72 20 3d 64 65 66 66 61 63 65 3d 2c 20 70 6c 65 61 73 65 20 3d 63 64 tom=,...or.=defface=,.please.=cd
9f300 20 64 6f 63 20 26 26 20 6d 61 6b 65 20 63 6c 65 61 6e 20 64 6f 63 73 3d 2c 20 61 6e 64 20 63 6f .doc.&&.make.clean.docs=,.and.co
9f320 6d 6d 69 74 20 74 68 65 0a 20 20 75 70 64 61 74 65 64 20 66 69 6c 65 73 2e 0a 0a 2a 2a 20 54 65 mmit.the...updated.files...**.Te
9f340 73 74 73 0a 0a 43 75 72 72 65 6e 74 6c 79 20 74 65 73 74 73 20 61 72 65 20 6f 6e 20 74 68 65 20 sts..Currently.tests.are.on.the.
9f360 6c 69 67 68 74 20 73 69 64 65 2e 20 4d 6f 72 65 20 61 72 65 20 77 65 6c 63 6f 6d 65 2e 0a 0a 50 light.side..More.are.welcome...P
9f380 6c 65 61 73 65 20 64 6f 20 72 75 6e 20 3d 6d 61 6b 65 20 74 65 73 74 3d 20 6c 6f 63 61 6c 6c 79 lease.do.run.=make.test=.locally
9f3a0 20 74 6f 20 65 6e 73 75 72 65 20 79 6f 75 72 20 63 68 61 6e 67 65 73 20 70 61 73 73 20 74 68 65 .to.ensure.your.changes.pass.the
9f3c0 0a 65 78 69 73 74 69 6e 67 20 74 65 73 74 73 2e 0a 0a 47 69 74 48 75 62 20 41 63 74 69 6f 6e 73 .existing.tests...GitHub.Actions
9f3e0 20 61 6c 73 6f 20 64 6f 65 73 20 3d 6d 61 6b 65 20 74 65 73 74 3d 20 61 75 74 6f 6d 61 74 69 63 .also.does.=make.test=.automatic
9f400 61 6c 6c 79 20 6f 6e 20 79 6f 75 72 20 70 75 6c 6c 0a 72 65 71 75 65 73 74 2e 0a 0a 47 69 74 48 ally.on.your.pull.request...GitH
9f420 75 62 20 62 72 61 6e 63 68 20 70 72 6f 74 65 63 74 69 6f 6e 20 69 73 20 65 6e 61 62 6c 65 64 20 ub.branch.protection.is.enabled.
9f440 66 6f 72 20 74 68 65 20 6d 61 69 6e 20 62 72 61 6e 63 68 20 2d 2d 2d 20 6d 65 72 67 65 73 0a 61 for.the.main.branch.---.merges.a
9f460 72 65 20 62 6c 6f 63 6b 65 64 20 75 6e 74 69 6c 20 74 65 73 74 73 20 70 61 73 73 2e 0a 0a 2a 2a re.blocked.until.tests.pass...**
9f480 2a 20 45 78 61 6d 70 6c 65 20 66 69 6c 65 73 20 66 6f 72 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 *.Example.files.for.indentation.
9f4a0 61 6e 64 20 66 6f 6e 74 2d 6c 6f 63 6b 0a 0a 53 6f 6d 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 and.font-lock..Some.Racket.Mode.
9f4c0 74 65 73 74 73 20 61 70 70 6c 79 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 61 6e 64 20 66 6f 6e 74 tests.apply.indentation.and.font
9f4e0 2d 6c 6f 63 6b 20 74 6f 20 74 68 65 0a 3d 74 65 73 74 2f 65 78 61 6d 70 6c 65 2f 65 78 61 6d 70 -lock.to.the.=test/example/examp
9f500 6c 65 2e 72 6b 74 3d 20 61 6e 64 20 3d 74 65 73 74 2f 65 78 61 6d 70 6c 65 2f 69 6e 64 65 6e 74 le.rkt=.and.=test/example/indent
9f520 2e 72 6b 74 3d 20 66 69 6c 65 73 20 61 6e 64 0a 63 6f 6d 70 61 72 65 20 74 68 65 20 72 65 73 75 .rkt=.files.and.compare.the.resu
9f540 6c 74 20 74 6f 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 3d 2e 66 61 63 65 75 70 3d 20 66 69 lt.to.corresponding.=.faceup=.fi
9f560 6c 65 73 20 28 67 65 6e 65 72 61 74 65 64 20 62 79 20 74 68 65 0a 3d 66 61 63 65 75 70 3d 20 70 les.(generated.by.the.=faceup=.p
9f580 61 63 6b 61 67 65 29 2e 0a 0a 41 73 20 61 20 72 65 73 75 6c 74 2c 20 69 66 20 79 6f 75 72 20 50 ackage)...As.a.result,.if.your.P
9f5a0 52 20 69 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79 20 6d 6f 64 69 66 69 65 73 20 69 6e 64 65 6e 74 61 R.intentionally.modifies.indenta
9f5c0 74 69 6f 6e 20 6f 72 0a 66 6f 6e 74 2d 6c 6f 63 6b 2c 20 79 6f 75 20 6d 61 79 20 6e 65 65 64 20 tion.or.font-lock,.you.may.need.
9f5e0 74 6f 20 72 65 67 65 6e 65 72 61 74 65 20 74 68 65 20 3d 2e 66 61 63 65 75 70 3d 20 66 69 6c 65 to.regenerate.the.=.faceup=.file
9f600 73 2e 20 54 6f 20 64 6f 20 73 6f 3a 0a 0a 31 2e 20 44 69 73 61 62 6c 65 20 61 6e 79 20 70 65 72 s..To.do.so:..1..Disable.any.per
9f620 73 6f 6e 61 6c 20 45 6d 61 63 73 20 66 65 61 74 75 72 65 73 20 74 68 61 74 20 61 66 66 65 63 74 sonal.Emacs.features.that.affect
9f640 20 66 6f 6e 74 2d 6c 6f 63 6b 20 6f 72 0a 20 20 20 69 6e 64 65 6e 74 61 74 69 6f 6e 2e 20 46 6f .font-lock.or....indentation..Fo
9f660 72 20 65 78 61 6d 70 6c 65 20 79 6f 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 3d 4d 2d 78 20 67 r.example.you.may.need.to.=M-x.g
9f680 6c 6f 62 61 6c 2d 70 61 72 65 6e 2d 6d 6f 64 65 3d 0a 20 20 20 61 6e 64 20 3d 4d 2d 78 20 70 72 lobal-paren-mode=....and.=M-x.pr
9f6a0 65 74 74 69 66 79 2d 73 79 6d 62 6f 6c 73 2d 6d 6f 64 65 3d 20 74 6f 20 64 69 73 61 62 6c 65 20 ettify-symbols-mode=.to.disable.
9f6c0 74 68 6f 73 65 2e 0a 0a 32 2e 20 46 6f 72 20 65 61 63 68 20 3d 2e 72 6b 74 3d 20 66 69 6c 65 3a those...2..For.each.=.rkt=.file:
9f6e0 0a 0a 20 20 20 20 2d 20 56 69 73 69 74 20 74 68 65 20 3d 2e 72 6b 74 3d 20 66 69 6c 65 2e 0a 0a ......-.Visit.the.=.rkt=.file...
9f700 20 20 20 20 2d 20 3d 4d 2d 78 20 6d 61 72 6b 2d 62 75 66 66 65 72 3d 20 61 6e 64 20 3d 4d 2d 78 ....-.=M-x.mark-buffer=.and.=M-x
9f720 20 69 6e 64 65 6e 74 2d 72 65 67 69 6f 6e 3d 2e 0a 0a 20 20 20 20 2d 20 3d 4d 2d 78 20 73 61 76 .indent-region=.......-.=M-x.sav
9f740 65 2d 62 75 66 66 65 72 3d 20 74 6f 20 73 61 76 65 20 74 68 65 20 3d 2e 72 6b 74 3d 20 66 69 6c e-buffer=.to.save.the.=.rkt=.fil
9f760 65 2e 0a 0a 20 20 20 20 2d 20 3d 4d 2d 78 20 66 61 63 65 75 70 2d 77 72 69 74 65 2d 66 69 6c 65 e.......-.=M-x.faceup-write-file
9f780 3d 20 61 6e 64 20 61 6e 73 77 65 72 2c 20 79 65 73 2c 20 72 65 70 6c 61 63 65 20 74 68 65 20 65 =.and.answer,.yes,.replace.the.e
9f7a0 78 69 73 74 69 6e 67 0a 20 20 20 20 20 20 3d 2e 66 61 63 65 75 70 3d 20 66 69 6c 65 2e 0a 0a 33 xisting.......=.faceup=.file...3
9f7c0 2e 20 52 65 2d 65 6e 61 62 6c 65 20 61 6e 79 20 70 65 72 73 6f 6e 61 6c 20 66 65 61 74 75 72 65 ..Re-enable.any.personal.feature
9f7e0 73 20 79 6f 75 20 64 69 73 61 62 6c 65 64 20 69 6e 20 73 74 65 70 20 31 2e 0a 00 00 00 00 00 00 s.you.disabled.in.step.1........
9f800 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
9f820 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-shell.el.................
9f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
9f880 30 30 30 35 32 37 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 35 35 36 00 20 30 00 00 00 0005274.00000000000.016556..0...
9f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
9f920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
9f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fa00 3b 3b 3b 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d ;;;.racket-shell.el.-*-.lexical-
9fa20 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 binding:.t.-*-..;;.Copyright.(c)
9fa40 20 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 50 6f .2022.by.Greg.Hendershott..;;.Po
9fa60 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d 31 39 38 36 2c 20 rtions.Copyright.(C).1985-1986,.
9fa80 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 1999-2013.Free.Software.Foundati
9faa0 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 65 6e 64 65 72 on,.Inc...;;.Author:.Greg.Hender
9fac0 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d shott.;;.URL:.https://github.com
9fae0 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 0a 3b 3b /greghendershott/racket-mode..;;
9fb00 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e .SPDX-License-Identifier:.GPL-3.
9fb20 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 75 73 0-or-later..(require.'racket-cus
9fb40 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 28 72 65 71 tom).(require.'racket-util).(req
9fb60 75 69 72 65 20 27 73 68 65 6c 6c 29 0a 28 72 65 71 75 69 72 65 20 27 74 65 72 6d 29 0a 0a 28 64 uire.'shell).(require.'term)..(d
9fb80 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 61 63 6b 65 74 20 28 29 0a 20 20 22 55 73 65 20 63 6f 6d efun.racket-racket.()..."Use.com
9fba0 6d 61 6e 64 2d 6c 69 6e 65 20 72 61 63 6b 65 74 20 74 6f 20 72 75 6e 20 74 68 65 20 66 69 6c 65 mand-line.racket.to.run.the.file
9fbc0 2e 0a 0a 55 73 65 73 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 62 75 66 66 ...Uses.a.shell.or.terminal.buff
9fbe0 65 72 20 61 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 er.as.specified.by.the.configura
9fc00 74 69 6f 6e 0a 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 tion.variable.`racket-shell-or-t
9fc20 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 erminal-function'."...(interacti
9fc40 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c ve)...(racket--shell-or-terminal
9fc60 0a 20 20 20 28 63 6f 6e 63 61 74 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e ....(concat.(shell-quote-argumen
9fc80 74 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 29 t.(racket--buffer-file-name)))))
9fca0 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 61 63 6f 2d 74 65 73 74 20 28 29 0a 20 20 22 ..(defun.racket-raco-test.()..."
9fcc0 55 73 65 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 72 61 63 6f 20 74 65 73 74 20 74 6f 20 72 75 Use.command-line.raco.test.to.ru
9fce0 6e 20 74 68 65 20 5c 22 74 65 73 74 5c 22 20 73 75 62 6d 6f 64 75 6c 65 2e 0a 0a 55 73 65 73 20 n.the.\"test\".submodule...Uses.
9fd00 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 62 75 66 66 65 72 20 61 73 20 73 70 a.shell.or.terminal.buffer.as.sp
9fd20 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a 76 61 72 ecified.by.the.configuration.var
9fd40 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d iable.`racket-shell-or-terminal-
9fd60 66 75 6e 63 74 69 6f 6e 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 function'."...(interactive)...(r
9fd80 61 63 6b 65 74 2d 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 0a 20 20 20 28 63 6f 6e acket--shell-or-terminal....(con
9fda0 63 61 74 20 22 2d 6c 20 72 61 63 6f 20 74 65 73 74 20 2d 78 20 22 0a 20 20 20 20 20 20 20 20 20 cat."-l.raco.test.-x."..........
9fdc0 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 28 72 61 63 6b 65 74 2d ..(shell-quote-argument.(racket-
9fde0 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 -buffer-file-name)))))..(defun.r
9fe00 61 63 6b 65 74 2d 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 20 28 61 72 67 73 29 0a acket--shell-or-terminal.(args).
9fe20 20 20 28 72 61 63 6b 65 74 2d 2d 73 61 76 65 2d 69 66 2d 63 68 61 6e 67 65 64 29 0a 20 20 28 6c ..(racket--save-if-changed)...(l
9fe40 65 74 2a 20 28 28 65 78 65 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 0a et*.((exe.(shell-quote-argument.
9fe60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 62 ...............(if.(file-name-ab
9fe80 73 6f 6c 75 74 65 2d 70 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 29 0a 20 20 20 20 20 20 20 solute-p.racket-program)........
9fea0 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 72 61 ............(expand-file-name.ra
9fec0 63 6b 65 74 2d 70 72 6f 67 72 61 6d 29 20 3b 68 61 6e 64 6c 65 20 65 2e 67 2e 20 7e 2f 0a 20 20 cket-program).;handle.e.g..~/...
9fee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 29 29 29 ...............racket-program)))
9ff00 0a 20 20 20 20 20 20 20 20 20 28 63 6d 64 20 28 63 6f 6e 63 61 74 20 65 78 65 20 22 20 22 20 61 ..........(cmd.(concat.exe.".".a
9ff20 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 69 6e 20 28 73 65 6c 65 63 74 65 64 2d 77 69 rgs))..........(win.(selected-wi
9ff40 6e 64 6f 77 29 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 61 63 6b 65 74 2d 73 68 65 6c ndow))).....(funcall.racket-shel
9ff60 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 20 63 6d 64 29 0a 20 20 20 20 l-or-terminal-function.cmd).....
9ff80 28 73 65 6c 65 63 74 2d 77 69 6e 64 6f 77 20 77 69 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 (select-window.win)))..(defun.ra
9ffa0 63 6b 65 74 2d 73 68 65 6c 6c 20 28 63 6d 64 29 0a 20 20 22 52 75 6e 20 43 4d 44 20 75 73 69 6e cket-shell.(cmd)..."Run.CMD.usin
9ffc0 67 20 60 73 68 65 6c 6c 27 2e 0a 0a 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 g.`shell'...A.value.for.the.vari
9ffe0 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 able.`racket-shell-or-terminal-f
a0000 75 6e 63 74 69 6f 6e 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 75 66 20 28 73 68 65 6c 6c 29 29 unction'."...(let.((buf.(shell))
a0020 29 0a 20 20 20 20 28 63 6f 6d 69 6e 74 2d 73 69 6d 70 6c 65 2d 73 65 6e 64 20 62 75 66 20 63 6d ).....(comint-simple-send.buf.cm
a0040 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 74 65 72 6d 20 28 63 6d 64 29 0a 20 d)))..(defun.racket-term.(cmd)..
a0060 20 22 52 75 6e 20 43 4d 44 20 75 73 69 6e 67 20 60 74 65 72 6d 27 2e 0a 0a 41 20 76 61 6c 75 65 ."Run.CMD.using.`term'...A.value
a0080 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d .for.the.variable.`racket-shell-
a00a0 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 27 2e 22 0a 20 20 28 6c 65 74 20 28 or-terminal-function'."...(let.(
a00c0 28 62 75 66 20 28 74 65 72 6d 20 28 6f 72 20 65 78 70 6c 69 63 69 74 2d 73 68 65 6c 6c 2d 66 69 (buf.(term.(or.explicit-shell-fi
a00e0 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 le-name........................(
a0100 67 65 74 65 6e 76 20 22 45 53 48 45 4c 4c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 getenv."ESHELL")................
a0120 20 20 20 20 20 20 20 20 28 67 65 74 65 6e 76 20 22 53 48 45 4c 4c 22 29 0a 20 20 20 20 20 20 20 ........(getenv."SHELL")........
a0140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2f 62 69 6e 2f 73 68 22 29 29 29 29 0a 20 20 ................"/bin/sh"))))...
a0160 20 20 28 74 65 72 6d 2d 73 69 6d 70 6c 65 2d 73 65 6e 64 20 62 75 66 20 63 6d 64 29 29 29 0a 0a ..(term-simple-send.buf.cmd)))..
a0180 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 61 6e 73 69 2d 74 65 72 6d 20 28 63 6d 64 29 0a 20 20 (defun.racket-ansi-term.(cmd)...
a01a0 22 52 75 6e 20 43 4d 44 20 75 73 69 6e 67 20 60 61 6e 73 69 2d 74 65 72 6d 27 2e 0a 0a 41 20 76 "Run.CMD.using.`ansi-term'...A.v
a01c0 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 73 68 alue.for.the.variable.`racket-sh
a01e0 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 27 2e 22 0a 20 20 28 6c ell-or-terminal-function'."...(l
a0200 65 74 20 28 28 62 75 66 20 28 61 6e 73 69 2d 74 65 72 6d 20 28 6f 72 20 65 78 70 6c 69 63 69 74 et.((buf.(ansi-term.(or.explicit
a0220 2d 73 68 65 6c 6c 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -shell-file-name................
a0240 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 65 6e 76 20 22 45 53 48 45 4c 4c 22 29 0a 20 .............(getenv."ESHELL")..
a0260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 65 ...........................(gete
a0280 6e 76 20 22 53 48 45 4c 4c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nv."SHELL").....................
a02a0 20 20 20 20 20 20 20 20 22 2f 62 69 6e 2f 73 68 22 29 29 29 29 0a 20 20 20 20 28 74 65 72 6d 2d ........"/bin/sh")))).....(term-
a02c0 73 69 6d 70 6c 65 2d 73 65 6e 64 20 62 75 66 20 63 6d 64 29 29 29 0a 0a 28 64 65 63 6c 61 72 65 simple-send.buf.cmd)))..(declare
a02e0 2d 66 75 6e 63 74 69 6f 6e 20 76 74 65 72 6d 20 22 65 78 74 3a 76 74 65 72 6d 22 29 0a 28 64 65 -function.vterm."ext:vterm").(de
a0300 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 76 74 65 72 6d 2d 73 65 6e 64 2d 72 65 74 75 72 6e clare-function.vterm-send-return
a0320 20 22 65 78 74 3a 76 74 65 72 6d 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 ."ext:vterm").(declare-function.
a0340 76 74 65 72 6d 2d 73 65 6e 64 2d 73 74 72 69 6e 67 20 22 65 78 74 3a 76 74 65 72 6d 22 29 0a 0a vterm-send-string."ext:vterm")..
a0360 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 76 74 65 72 6d 20 28 63 6d 64 29 0a 20 20 22 52 75 6e (defun.racket-vterm.(cmd)..."Run
a0380 20 43 4d 44 20 75 73 69 6e 67 20 60 76 74 65 72 6d 27 2c 20 69 66 20 74 68 61 74 20 70 61 63 6b .CMD.using.`vterm',.if.that.pack
a03a0 61 67 65 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 0a 41 20 76 61 6c 75 65 20 66 6f 72 20 74 age.is.installed...A.value.for.t
a03c0 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 he.variable.`racket-shell-or-ter
a03e0 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 27 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 72 65 71 minal-function'."...(unless.(req
a0400 75 69 72 65 20 27 76 74 65 72 6d 20 6e 69 6c 20 27 6e 6f 65 72 72 6f 72 29 0a 20 20 20 20 28 65 uire.'vterm.nil.'noerror).....(e
a0420 72 72 6f 72 20 22 50 61 63 6b 61 67 65 20 27 76 74 65 72 6d 27 20 69 73 20 6e 6f 74 20 61 76 61 rror."Package.'vterm'.is.not.ava
a0440 69 6c 61 62 6c 65 22 29 29 0a 20 20 28 76 74 65 72 6d 29 0a 20 20 28 76 74 65 72 6d 2d 73 65 6e ilable"))...(vterm)...(vterm-sen
a0460 64 2d 73 74 72 69 6e 67 20 63 6d 64 29 0a 20 20 28 76 74 65 72 6d 2d 73 65 6e 64 2d 72 65 74 75 d-string.cmd)...(vterm-send-retu
a0480 72 6e 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 73 68 65 6c 6c 29 0a 0a 3b rn))..(provide.'racket-shell)..;
a04a0 3b 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 ;.racket-shell.el.ends.here.....
a04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0600 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
a0620 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6d 70 6c 65 74 65 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 racket-xp-complete.el...........
a0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
a0680 30 30 31 30 31 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 36 37 32 00 20 30 00 00 00 0010106.00000000000.017672..0...
a06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
a0720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
a0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0800 3b 3b 3b 20 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6d 70 6c 65 74 65 2e 65 6c 20 2d 2a 2d 20 6c 65 ;;;.racket-xp-complete.el.-*-.le
a0820 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 xical-binding:.t.-*-..;;.Copyrig
a0840 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 30 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 ht.(c).2013-2020.by.Greg.Henders
a0860 68 6f 74 74 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 hott..;;.Portions.Copyright.(C).
a0880 31 39 38 35 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 1985-1986,.1999-2013.Free.Softwa
a08a0 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 re.Foundation,.Inc...;;.Author:.
a08c0 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f Greg.Hendershott.;;.URL:.https:/
a08e0 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b /github.com/greghendershott/rack
a0900 65 74 2d 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 et-mode..;;.SPDX-License-Identif
a0920 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 ier:.GPL-3.0-or-later..(require.
a0940 27 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 'racket-complete).(require.'rack
a0960 65 74 2d 64 65 73 63 72 69 62 65 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 6f et-describe).(require.'racket-co
a0980 6d 70 61 6e 79 2d 64 6f 63 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 mpany-doc)..(defvar-local.racket
a09a0 2d 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 6e 69 6c 0a 20 20 22 --xp-binding-completions.nil..."
a09c0 43 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 20 74 68 61 74 20 61 72 65 20 62 Completion.candidates.that.are.b
a09e0 69 6e 64 69 6e 67 73 2e 0a 53 65 74 20 62 79 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 indings..Set.by.`racket-xp-mode'
a0a00 2e 20 55 73 65 64 20 62 79 20 60 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 ..Used.by.`racket-xp-complete-at
a0a20 2d 70 6f 69 6e 74 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 -point'.")..(defvar-local.racket
a0a40 2d 2d 78 70 2d 6d 6f 64 75 6c 65 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 6e 69 6c 0a 20 20 22 43 --xp-module-completions.nil..."C
a0a60 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 20 74 68 61 74 20 61 72 65 20 61 76 ompletion.candidates.that.are.av
a0a80 61 69 6c 61 62 6c 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 6d 6f 64 75 6c 65 20 70 61 74 68 73 2e ailable.collection.module.paths.
a0aa0 0a 53 65 74 20 62 79 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 2e 20 55 73 65 64 20 62 .Set.by.`racket-xp-mode'..Used.b
a0ac0 79 20 60 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 27 2e y.`racket-xp-complete-at-point'.
a0ae0 22 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 ")..(defun.racket-xp-complete-at
a0b00 2d 70 6f 69 6e 74 20 28 29 0a 20 20 22 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 -point.()..."A.value.for.the.var
a0b20 69 61 62 6c 65 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 iable.`completion-at-point-funct
a0b40 69 6f 6e 73 27 2e 0a 0a 2d 20 57 69 74 68 69 6e 20 61 20 74 65 78 74 75 61 6c 6c 79 20 61 70 70 ions'...-.Within.a.textually.app
a0b60 61 72 65 6e 74 20 5c 22 72 65 71 75 69 72 65 5c 22 20 66 6f 72 6d 2c 20 77 68 65 6e 20 63 6f 6d arent.\"require\".form,.when.com
a0b80 70 6c 65 74 69 6e 67 3a 0a 0a 20 20 2d 20 41 20 73 79 6d 62 6f 6c 20 69 6d 6d 65 64 69 61 74 65 pleting:....-.A.symbol.immediate
a0ba0 6c 79 20 61 66 74 65 72 20 61 6e 20 6f 70 65 6e 69 6e 67 20 70 61 72 65 6e 3a 20 43 61 6e 64 69 ly.after.an.opening.paren:.Candi
a0bc0 64 61 74 65 73 20 61 72 65 0a 20 20 20 20 6e 61 6d 65 73 20 6f 66 20 72 65 71 75 69 72 65 20 74 dates.are.....names.of.require.t
a0be0 72 61 6e 73 66 6f 72 6d 65 72 73 2e 0a 0a 20 20 2d 20 41 6e 6f 74 68 65 72 20 73 79 6d 62 6f 6c ransformers.....-.Another.symbol
a0c00 3a 20 43 61 6e 64 69 64 61 74 65 73 20 61 72 65 20 61 62 73 6f 6c 75 74 65 20 6d 6f 64 75 6c 65 :.Candidates.are.absolute.module
a0c20 20 70 61 74 68 73 20 6c 69 6b 65 0a 20 20 20 20 5c 22 72 61 63 6b 65 74 2f 70 61 74 68 5c 22 2e .paths.like.....\"racket/path\".
a0c40 0a 0a 20 20 2d 20 41 6e 79 74 68 69 6e 67 20 60 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 27 20 ....-.Anything.`thing-at-point'.
a0c60 74 68 69 6e 6b 73 20 69 73 20 61 20 66 69 6c 65 6e 61 6d 65 3a 20 43 61 6e 64 69 64 61 74 65 73 thinks.is.a.filename:.Candidates
a0c80 0a 20 20 20 20 61 72 65 20 66 72 6f 6d 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 66 69 6c 65 2d 6e .....are.from.`completion-file-n
a0ca0 61 6d 65 2d 74 61 62 6c 65 27 2e 0a 0a 2d 20 4f 74 68 65 72 77 69 73 65 2c 20 77 68 65 6e 20 63 ame-table'...-.Otherwise,.when.c
a0cc0 6f 6d 70 6c 65 74 69 6e 67 20 61 20 73 79 6d 62 6f 6c 3a 20 43 61 6e 64 69 64 61 74 65 73 20 61 ompleting.a.symbol:.Candidates.a
a0ce0 72 65 20 62 69 6e 64 69 6e 67 73 20 61 73 0a 20 20 66 6f 75 6e 64 20 62 79 20 64 72 72 61 63 6b re.bindings.as...found.by.drrack
a0d00 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 70 6c 75 73 20 6f 75 72 20 6f 77 6e 20 62 61 63 et/check-syntax.plus.our.own.bac
a0d20 6b 20 65 6e 64 20 61 6e 61 6c 79 73 69 73 0a 20 20 6f 66 20 69 6d 70 6f 72 74 65 64 20 62 69 6e k.end.analysis...of.imported.bin
a0d40 64 69 6e 67 73 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 72 61 63 6b 65 74 2d 2d 69 6e 2d 72 65 71 dings."...(cond.((racket--in-req
a0d60 75 69 72 65 2d 66 6f 72 6d 2d 70 29 0a 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 72 61 63 6b 65 uire-form-p)..........(or.(racke
a0d80 74 2d 2d 63 61 6c 6c 2d 77 69 74 68 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 70 72 65 66 69 78 2d 70 t--call-with-completion-prefix-p
a0da0 6f 73 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 ositions...............(lambda.(
a0dc0 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 beg.end).................(if.(eq
a0de0 20 3f 5c 28 20 28 63 68 61 72 2d 73 79 6e 74 61 78 20 28 63 68 61 72 2d 62 65 66 6f 72 65 20 62 .?\(.(char-syntax.(char-before.b
a0e00 65 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 eg))).....................(racke
a0e20 74 2d 2d 78 70 2d 63 61 70 66 2d 72 65 71 75 69 72 65 2d 74 72 61 6e 73 66 6f 72 6d 65 72 73 20 t--xp-capf-require-transformers.
a0e40 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b beg.end)...................(rack
a0e60 65 74 2d 2d 78 70 2d 63 61 70 66 2d 61 62 73 6f 6c 75 74 65 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 et--xp-capf-absolute-module-path
a0e80 73 20 62 65 67 20 65 6e 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b s.beg.end))))..............(rack
a0ea0 65 74 2d 2d 78 70 2d 63 61 70 66 2d 72 65 6c 61 74 69 76 65 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 et--xp-capf-relative-module-path
a0ec0 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 s))).........(t..........(racket
a0ee0 2d 2d 63 61 6c 6c 2d 77 69 74 68 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 70 72 65 66 69 78 2d 70 6f --call-with-completion-prefix-po
a0f00 73 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 2d 78 70 2d 63 sitions...........#'racket--xp-c
a0f20 61 70 66 2d 62 69 6e 64 69 6e 67 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d apf-bindings))))..(defun.racket-
a0f40 2d 78 70 2d 63 61 70 66 2d 62 69 6e 64 69 6e 67 73 20 28 62 65 67 20 65 6e 64 29 0a 20 20 28 6c -xp-capf-bindings.(beg.end)...(l
a0f60 69 73 74 20 62 65 67 0a 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 28 72 61 63 ist.beg.........end.........(rac
a0f80 6b 65 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 74 61 62 6c 65 20 72 61 63 6b 65 74 2d 2d 78 70 ket--completion-table.racket--xp
a0fa0 2d 62 69 6e 64 69 6e 67 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 3a 65 -binding-completions).........:e
a0fc0 78 63 6c 75 73 69 76 65 20 20 20 20 20 20 20 20 20 20 27 6e 6f 0a 20 20 20 20 20 20 20 20 3a 63 xclusive..........'no.........:c
a0fe0 6f 6d 70 61 6e 79 2d 6c 6f 63 61 74 69 6f 6e 20 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 6d 61 ompany-location...(racket--xp-ma
a1000 6b 65 2d 63 6f 6d 70 61 6e 79 2d 6c 6f 63 61 74 69 6f 6e 2d 70 72 6f 63 29 0a 20 20 20 20 20 20 ke-company-location-proc).......
a1020 20 20 3a 63 6f 6d 70 61 6e 79 2d 64 6f 63 2d 62 75 66 66 65 72 20 28 72 61 63 6b 65 74 2d 2d 78 ..:company-doc-buffer.(racket--x
a1040 70 2d 6d 61 6b 65 2d 63 6f 6d 70 61 6e 79 2d 64 6f 63 2d 62 75 66 66 65 72 2d 70 72 6f 63 29 29 p-make-company-doc-buffer-proc))
a1060 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 78 70 2d 63 61 70 66 2d 72 65 71 75 69 72 )..(defun.racket--xp-capf-requir
a1080 65 2d 74 72 61 6e 73 66 6f 72 6d 65 72 73 20 28 62 65 67 20 65 6e 64 29 0a 20 20 22 4e 6f 74 65 e-transformers.(beg.end)..."Note
a10a0 3a 20 43 75 72 72 65 6e 74 6c 79 20 74 68 69 73 20 72 65 74 75 72 6e 73 20 74 6f 6f 20 6d 61 6e :.Currently.this.returns.too.man
a10c0 79 20 63 61 6e 64 69 64 61 74 65 73 20 2d 2d 20 61 6c 6c 0a 61 76 61 69 6c 61 62 6c 65 20 62 69 y.candidates.--.all.available.bi
a10e0 6e 64 69 6e 67 73 2c 20 6e 6f 74 20 6a 75 73 74 20 74 68 6f 73 65 20 74 68 61 74 20 61 72 65 20 ndings,.not.just.those.that.are.
a1100 72 65 71 75 69 72 65 20 74 72 61 6e 73 66 6f 72 6d 65 72 73 2e 0a 41 6c 74 68 6f 75 67 68 20 6e require.transformers..Although.n
a1120 6f 74 20 69 64 65 61 6c 2c 20 49 20 74 68 69 6e 6b 20 69 74 27 73 20 6c 65 73 73 2d 77 6f 72 73 ot.ideal,.I.think.it's.less-wors
a1140 65 20 74 68 61 6e 20 68 61 76 69 6e 67 20 73 6f 6d 65 0a 68 61 72 64 77 69 72 65 64 20 6c 69 73 e.than.having.some.hardwired.lis
a1160 74 20 6f 66 20 72 65 71 75 69 72 65 20 74 72 61 6e 73 66 6f 72 6d 65 72 73 2e 20 49 6e 20 67 65 t.of.require.transformers..In.ge
a1180 6e 65 72 61 6c 20 77 69 74 68 0a 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 neral.with.completion.candidates
a11a0 2c 20 69 66 20 79 6f 75 20 68 61 76 65 20 74 6f 20 65 72 72 2c 20 62 65 74 74 65 72 20 74 6f 20 ,.if.you.have.to.err,.better.to.
a11c0 65 72 72 20 6f 6e 20 74 68 65 0a 73 69 64 65 20 6f 66 20 74 6f 6f 20 6d 61 6e 79 20 6e 6f 74 20 err.on.the.side.of.too.many.not.
a11e0 74 6f 6f 20 66 65 77 2e 20 48 61 76 69 6e 67 20 73 61 69 64 20 74 68 61 74 2c 20 73 6f 6d 65 64 too.few..Having.said.that,.somed
a1200 61 79 20 6d 61 79 62 65 20 6f 75 72 0a 62 61 63 6b 20 65 6e 64 20 63 6f 75 6c 64 20 67 69 76 65 ay.maybe.our.back.end.could.give
a1220 20 75 73 20 74 68 65 20 65 78 61 63 74 20 73 75 62 73 65 74 20 6f 66 20 61 76 61 69 6c 61 62 6c .us.the.exact.subset.of.availabl
a1240 65 20 62 69 6e 64 69 6e 67 73 0a 74 68 61 74 20 61 72 65 20 72 65 71 75 69 72 65 20 74 72 61 6e e.bindings.that.are.require.tran
a1260 73 66 6f 72 6d 65 72 73 2e 22 0a 20 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 63 61 70 66 2d 62 69 sformers."...(racket--xp-capf-bi
a1280 6e 64 69 6e 67 73 20 62 65 67 20 65 6e 64 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d ndings.beg.end))..(defun.racket-
a12a0 2d 78 70 2d 63 61 70 66 2d 61 62 73 6f 6c 75 74 65 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 73 20 28 -xp-capf-absolute-module-paths.(
a12c0 62 65 67 20 65 6e 64 29 0a 20 20 28 6c 69 73 74 20 62 65 67 0a 20 20 20 20 20 20 20 20 65 6e 64 beg.end)...(list.beg.........end
a12e0 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 74 61 62 .........(racket--completion-tab
a1300 6c 65 20 72 61 63 6b 65 74 2d 2d 78 70 2d 6d 6f 64 75 6c 65 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 le.racket--xp-module-completions
a1320 29 0a 20 20 20 20 20 20 20 20 3a 65 78 63 6c 75 73 69 76 65 20 27 6e 6f 29 29 0a 0a 28 64 65 66 ).........:exclusive.'no))..(def
a1340 75 6e 20 72 61 63 6b 65 74 2d 2d 78 70 2d 63 61 70 66 2d 72 65 6c 61 74 69 76 65 2d 6d 6f 64 75 un.racket--xp-capf-relative-modu
a1360 6c 65 2d 70 61 74 68 73 20 28 29 0a 20 20 28 70 63 61 73 65 20 28 74 68 69 6e 67 2d 61 74 2d 70 le-paths.()...(pcase.(thing-at-p
a1380 6f 69 6e 74 20 27 66 69 6c 65 6e 61 6d 65 20 74 29 0a 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 oint.'filename.t).....((and.(pre
a13a0 64 20 73 74 72 69 6e 67 70 29 20 73 74 72 29 0a 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 d.stringp).str)......(pcase-let.
a13c0 28 28 60 28 2c 62 65 67 20 2e 20 2c 65 6e 64 29 20 28 62 6f 75 6e 64 73 2d 6f 66 2d 74 68 69 6e ((`(,beg...,end).(bounds-of-thin
a13e0 67 2d 61 74 2d 70 6f 69 6e 74 20 27 66 69 6c 65 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 28 g-at-point.'filename)))........(
a1400 70 63 61 73 65 20 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d 66 69 6c 65 2d 6e 61 6d 65 2d 74 61 62 6c pcase.(completion-file-name-tabl
a1420 65 20 73 74 72 20 23 27 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 74 29 0a 20 20 20 20 20 20 20 e.str.#'file-exists-p.t)........
a1440 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 6c 69 73 74 70 29 20 74 61 62 6c 65 29 0a 20 20 20 20 ..((and.(pred.listp).table).....
a1460 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 64 69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 ......(let*.((dir.(file-name-dir
a1480 65 63 74 6f 72 79 20 73 74 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 ectory.str))..................(t
a14a0 61 62 6c 65 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 76 29 20 28 63 6f 6e 63 61 74 able.(mapcar.(lambda.(v).(concat
a14c0 20 64 69 72 20 76 29 29 20 3b 23 34 36 36 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .dir.v)).;#466..................
a14e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 ...............table))).........
a1500 20 20 20 20 28 6c 69 73 74 20 62 65 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(list.beg...................
a1520 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 end...................(racket--c
a1540 6f 6d 70 6c 65 74 69 6f 6e 2d 74 61 62 6c 65 20 74 61 62 6c 65 20 27 66 69 6c 65 29 0a 20 20 20 ompletion-table.table.'file)....
a1560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 78 63 6c 75 73 69 76 65 20 27 6e 6f 29 29 29 ...............:exclusive.'no)))
a1580 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 78 70 2d 6d 61 6b 65 2d 63 6f )))))..(defun.racket--xp-make-co
a15a0 6d 70 61 6e 79 2d 6c 6f 63 61 74 69 6f 6e 2d 70 72 6f 63 20 28 29 0a 20 20 28 77 68 65 6e 20 28 mpany-location-proc.()...(when.(
a15c0 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6f 70 65 6e 2d 70 29 0a 20 20 20 20 28 6c 65 74 20 28 28 68 racket--cmd-open-p).....(let.((h
a15e0 6f 77 20 28 72 61 63 6b 65 74 2d 68 6f 77 2d 66 72 6f 6e 74 2d 74 6f 2d 62 61 63 6b 20 28 62 75 ow.(racket-how-front-to-back.(bu
a1600 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 ffer-file-name)))).......(lambda
a1620 20 28 73 74 72 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 74 72 20 28 73 75 62 73 74 .(str).........(let.((str.(subst
a1640 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 73 74 72 29 29 29 0a 20 20 20 20 20 20 ring-no-properties.str))).......
a1660 20 20 20 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 77 61 69 74 20 6e 69 ....(pcase.(racket--cmd/await.ni
a1680 6c 20 60 28 64 65 66 20 2c 68 6f 77 20 2c 73 74 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 l.`(def.,how.,str)).............
a16a0 28 60 28 2c 70 61 74 68 20 2c 6c 69 6e 65 20 2c 5f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (`(,path.,line.,_)..............
a16c0 28 63 6f 6e 73 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 63 6b 2d 74 6f 2d (cons.(racket-file-name-back-to-
a16e0 66 72 6f 6e 74 20 70 61 74 68 29 20 6c 69 6e 65 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e front.path).line))))))))..(defun
a1700 20 72 61 63 6b 65 74 2d 2d 78 70 2d 6d 61 6b 65 2d 63 6f 6d 70 61 6e 79 2d 64 6f 63 2d 62 75 66 .racket--xp-make-company-doc-buf
a1720 66 65 72 2d 70 72 6f 63 20 28 29 0a 20 20 28 77 68 65 6e 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 fer-proc.()...(when.(racket--cmd
a1740 2d 6f 70 65 6e 2d 70 29 0a 20 20 20 20 28 6c 65 74 20 28 28 68 6f 77 20 28 72 61 63 6b 65 74 2d -open-p).....(let.((how.(racket-
a1760 68 6f 77 2d 66 72 6f 6e 74 2d 74 6f 2d 62 61 63 6b 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e how-front-to-back.(buffer-file-n
a1780 61 6d 65 29 29 29 29 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 73 74 72 29 0a 20 20 20 20 ame)))).......(lambda.(str).....
a17a0 20 20 20 20 28 6c 65 74 20 28 28 73 74 72 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f ....(let.((str.(substring-no-pro
a17c0 70 65 72 74 69 65 73 20 73 74 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 perties.str)))...........(racket
a17e0 2d 2d 63 6f 6d 70 61 6e 79 2d 64 6f 63 2d 62 75 66 66 65 72 20 68 6f 77 20 73 74 72 29 29 29 29 --company-doc-buffer.how.str))))
a1800 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6d 70 6c 65 74 65 ))..(provide.'racket-xp-complete
a1820 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6d 70 6c 65 74 65 2e 65 6c 20 65 6e 64 73 )..;;.racket-xp-complete.el.ends
a1840 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .here...........................
a1860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a18a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a18c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a18e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a19a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a19c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a19e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1a00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
a1a20 4c 49 43 45 4e 53 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 LICENSE.........................
a1a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
a1a80 30 31 30 34 35 31 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 36 36 31 00 20 30 00 00 00 0104515.00000000000.014661..0...
a1aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
a1b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
a1b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 4e 55 20 47 45 4e 45 52 41 4c 20 ....................GNU.GENERAL.
a1c20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 PUBLIC.LICENSE..................
a1c40 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 33 2c 20 32 39 20 4a 75 6e 65 20 32 30 30 37 0a 0a 20 ......Version.3,.29.June.2007...
a1c60 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 37 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 Copyright.(C).2007.Free.Software
a1c80 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 20 3c 68 74 74 70 73 3a 2f 2f 66 73 66 2e 6f .Foundation,.Inc..<https://fsf.o
a1ca0 72 67 2f 3e 0a 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 63 rg/>..Everyone.is.permitted.to.c
a1cc0 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 opy.and.distribute.verbatim.copi
a1ce0 65 73 0a 20 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 es..of.this.license.document,.bu
a1d00 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 20 t.changing.it.is.not.allowed....
a1d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 61 6d ...........................Pream
a1d40 62 6c 65 0a 0a 20 20 54 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 ble....The.GNU.General.Public.Li
a1d60 63 65 6e 73 65 20 69 73 20 61 20 66 72 65 65 2c 20 63 6f 70 79 6c 65 66 74 20 6c 69 63 65 6e 73 cense.is.a.free,.copyleft.licens
a1d80 65 20 66 6f 72 0a 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f e.for.software.and.other.kinds.o
a1da0 66 20 77 6f 72 6b 73 2e 0a 0a 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 6d 6f 73 f.works.....The.licenses.for.mos
a1dc0 74 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 70 72 61 63 74 69 63 61 6c 20 77 t.software.and.other.practical.w
a1de0 6f 72 6b 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 0a 74 6f 20 74 61 6b 65 20 61 77 61 79 20 79 orks.are.designed.to.take.away.y
a1e00 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 our.freedom.to.share.and.change.
a1e20 74 68 65 20 77 6f 72 6b 73 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 0a 74 68 65 20 47 4e 55 the.works...By.contrast,.the.GNU
a1e40 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 73 20 69 6e 74 65 6e .General.Public.License.is.inten
a1e60 64 65 64 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f ded.to.guarantee.your.freedom.to
a1e80 0a 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 61 6c 6c 20 76 65 72 73 69 6f 6e 73 20 6f .share.and.change.all.versions.o
a1ea0 66 20 61 20 70 72 6f 67 72 61 6d 2d 2d 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 69 74 20 72 65 6d f.a.program--to.make.sure.it.rem
a1ec0 61 69 6e 73 20 66 72 65 65 0a 73 6f 66 74 77 61 72 65 20 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 ains.free.software.for.all.its.u
a1ee0 73 65 72 73 2e 20 20 57 65 2c 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 sers...We,.the.Free.Software.Fou
a1f00 6e 64 61 74 69 6f 6e 2c 20 75 73 65 20 74 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 ndation,.use.the.GNU.General.Pub
a1f20 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 73 74 20 6f 66 20 6f 75 72 20 73 6f 66 74 lic.License.for.most.of.our.soft
a1f40 77 61 72 65 3b 20 69 74 20 61 70 70 6c 69 65 73 20 61 6c 73 6f 20 74 6f 0a 61 6e 79 20 6f 74 68 ware;.it.applies.also.to.any.oth
a1f60 65 72 20 77 6f 72 6b 20 72 65 6c 65 61 73 65 64 20 74 68 69 73 20 77 61 79 20 62 79 20 69 74 73 er.work.released.this.way.by.its
a1f80 20 61 75 74 68 6f 72 73 2e 20 20 59 6f 75 20 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 0a 79 .authors...You.can.apply.it.to.y
a1fa0 6f 75 72 20 70 72 6f 67 72 61 6d 73 2c 20 74 6f 6f 2e 0a 0a 20 20 57 68 65 6e 20 77 65 20 73 70 our.programs,.too.....When.we.sp
a1fc0 65 61 6b 20 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 eak.of.free.software,.we.are.ref
a1fe0 65 72 72 69 6e 67 20 74 6f 20 66 72 65 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 65 2e 20 20 4f erring.to.freedom,.not.price...O
a2000 75 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 ur.General.Public.Licenses.are.d
a2020 65 73 69 67 6e 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0a 68 61 esigned.to.make.sure.that.you.ha
a2040 76 65 20 74 68 65 20 66 72 65 65 64 6f 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 ve.the.freedom.to.distribute.cop
a2060 69 65 73 20 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 ies.of.free.software.(and.charge
a2080 20 66 6f 72 0a 74 68 65 6d 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 .for.them.if.you.wish),.that.you
a20a0 20 72 65 63 65 69 76 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 .receive.source.code.or.can.get.
a20c0 69 74 20 69 66 20 79 6f 75 0a 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 it.if.you.want.it,.that.you.can.
a20e0 63 68 61 6e 67 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 change.the.software.or.use.piece
a2100 73 20 6f 66 20 69 74 20 69 6e 20 6e 65 77 0a 66 72 65 65 20 70 72 6f 67 72 61 6d 73 2c 20 61 6e s.of.it.in.new.free.programs,.an
a2120 64 20 74 68 61 74 20 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 d.that.you.know.you.can.do.these
a2140 20 74 68 69 6e 67 73 2e 0a 0a 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 .things.....To.protect.your.righ
a2160 74 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 70 72 65 76 65 6e 74 20 6f 74 68 65 72 73 20 66 72 ts,.we.need.to.prevent.others.fr
a2180 6f 6d 20 64 65 6e 79 69 6e 67 20 79 6f 75 0a 74 68 65 73 65 20 72 69 67 68 74 73 20 6f 72 20 61 om.denying.you.these.rights.or.a
a21a0 73 6b 69 6e 67 20 79 6f 75 20 74 6f 20 73 75 72 72 65 6e 64 65 72 20 74 68 65 20 72 69 67 68 74 sking.you.to.surrender.the.right
a21c0 73 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 79 6f 75 20 68 61 76 65 0a 63 65 72 74 61 69 6e 20 s...Therefore,.you.have.certain.
a21e0 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 responsibilities.if.you.distribu
a2200 74 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 te.copies.of.the.software,.or.if
a2220 0a 79 6f 75 20 6d 6f 64 69 66 79 20 69 74 3a 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 .you.modify.it:.responsibilities
a2240 20 74 6f 20 72 65 73 70 65 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 6f 74 68 65 72 .to.respect.the.freedom.of.other
a2260 73 2e 0a 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 s.....For.example,.if.you.distri
a2280 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2c 20 77 bute.copies.of.such.a.program,.w
a22a0 68 65 74 68 65 72 0a 67 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 66 65 65 2c 20 79 6f 75 20 hether.gratis.or.for.a.fee,.you.
a22c0 6d 75 73 74 20 70 61 73 73 20 6f 6e 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 must.pass.on.to.the.recipients.t
a22e0 68 65 20 73 61 6d 65 0a 66 72 65 65 64 6f 6d 73 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 he.same.freedoms.that.you.receiv
a2300 65 64 2e 20 20 59 6f 75 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 ed...You.must.make.sure.that.the
a2320 79 2c 20 74 6f 6f 2c 20 72 65 63 65 69 76 65 0a 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 20 73 y,.too,.receive.or.can.get.the.s
a2340 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 ource.code...And.you.must.show.t
a2360 68 65 6d 20 74 68 65 73 65 20 74 65 72 6d 73 20 73 6f 20 74 68 65 79 0a 6b 6e 6f 77 20 74 68 65 hem.these.terms.so.they.know.the
a2380 69 72 20 72 69 67 68 74 73 2e 0a 0a 20 20 44 65 76 65 6c 6f 70 65 72 73 20 74 68 61 74 20 75 73 ir.rights.....Developers.that.us
a23a0 65 20 74 68 65 20 47 4e 55 20 47 50 4c 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 e.the.GNU.GPL.protect.your.right
a23c0 73 20 77 69 74 68 20 74 77 6f 20 73 74 65 70 73 3a 0a 28 31 29 20 61 73 73 65 72 74 20 63 6f 70 s.with.two.steps:.(1).assert.cop
a23e0 79 72 69 67 68 74 20 6f 6e 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 28 32 29 20 yright.on.the.software,.and.(2).
a2400 6f 66 66 65 72 20 79 6f 75 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 67 69 76 69 6e 67 20 79 6f offer.you.this.License.giving.yo
a2420 75 20 6c 65 67 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 u.legal.permission.to.copy,.dist
a2440 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 20 20 46 6f 72 20 ribute.and/or.modify.it.....For.
a2460 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 27 20 61 6e 64 20 61 75 74 68 6f 72 73 27 20 70 72 6f the.developers'.and.authors'.pro
a2480 74 65 63 74 69 6f 6e 2c 20 74 68 65 20 47 50 4c 20 63 6c 65 61 72 6c 79 20 65 78 70 6c 61 69 6e tection,.the.GPL.clearly.explain
a24a0 73 0a 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 s.that.there.is.no.warranty.for.
a24c0 74 68 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 20 46 6f 72 20 62 6f 74 68 20 75 73 this.free.software...For.both.us
a24e0 65 72 73 27 20 61 6e 64 0a 61 75 74 68 6f 72 73 27 20 73 61 6b 65 2c 20 74 68 65 20 47 50 4c 20 ers'.and.authors'.sake,.the.GPL.
a2500 72 65 71 75 69 72 65 73 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 requires.that.modified.versions.
a2520 62 65 20 6d 61 72 6b 65 64 20 61 73 0a 63 68 61 6e 67 65 64 2c 20 73 6f 20 74 68 61 74 20 74 68 be.marked.as.changed,.so.that.th
a2540 65 69 72 20 70 72 6f 62 6c 65 6d 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 74 74 72 69 62 75 eir.problems.will.not.be.attribu
a2560 74 65 64 20 65 72 72 6f 6e 65 6f 75 73 6c 79 20 74 6f 0a 61 75 74 68 6f 72 73 20 6f 66 20 70 72 ted.erroneously.to.authors.of.pr
a2580 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 53 6f 6d 65 20 64 65 76 69 63 65 73 evious.versions.....Some.devices
a25a0 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 64 65 6e 79 20 75 73 65 72 73 20 61 63 63 65 .are.designed.to.deny.users.acce
a25c0 73 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6f 72 20 72 75 6e 0a 6d 6f 64 69 66 69 65 64 20 76 65 ss.to.install.or.run.modified.ve
a25e0 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 6e 73 69 64 65 20 74 68 rsions.of.the.software.inside.th
a2600 65 6d 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 65 20 6d 61 6e 75 66 61 63 74 75 72 65 72 0a 63 61 em,.although.the.manufacturer.ca
a2620 6e 20 64 6f 20 73 6f 2e 20 20 54 68 69 73 20 69 73 20 66 75 6e 64 61 6d 65 6e 74 61 6c 6c 79 20 n.do.so...This.is.fundamentally.
a2640 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 61 69 6d 20 6f 66 0a 70 72 6f incompatible.with.the.aim.of.pro
a2660 74 65 63 74 69 6e 67 20 75 73 65 72 73 27 20 66 72 65 65 64 6f 6d 20 74 6f 20 63 68 61 6e 67 65 tecting.users'.freedom.to.change
a2680 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 20 20 54 68 65 20 73 79 73 74 65 6d 61 74 69 63 0a 70 .the.software...The.systematic.p
a26a0 61 74 74 65 72 6e 20 6f 66 20 73 75 63 68 20 61 62 75 73 65 20 6f 63 63 75 72 73 20 69 6e 20 74 attern.of.such.abuse.occurs.in.t
a26c0 68 65 20 61 72 65 61 20 6f 66 20 70 72 6f 64 75 63 74 73 20 66 6f 72 20 69 6e 64 69 76 69 64 75 he.area.of.products.for.individu
a26e0 61 6c 73 20 74 6f 0a 75 73 65 2c 20 77 68 69 63 68 20 69 73 20 70 72 65 63 69 73 65 6c 79 20 77 als.to.use,.which.is.precisely.w
a2700 68 65 72 65 20 69 74 20 69 73 20 6d 6f 73 74 20 75 6e 61 63 63 65 70 74 61 62 6c 65 2e 20 20 54 here.it.is.most.unacceptable...T
a2720 68 65 72 65 66 6f 72 65 2c 20 77 65 0a 68 61 76 65 20 64 65 73 69 67 6e 65 64 20 74 68 69 73 20 herefore,.we.have.designed.this.
a2740 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 50 4c 20 74 6f 20 70 72 6f 68 69 62 69 74 20 74 version.of.the.GPL.to.prohibit.t
a2760 68 65 20 70 72 61 63 74 69 63 65 20 66 6f 72 20 74 68 6f 73 65 0a 70 72 6f 64 75 63 74 73 2e 20 he.practice.for.those.products..
a2780 20 49 66 20 73 75 63 68 20 70 72 6f 62 6c 65 6d 73 20 61 72 69 73 65 20 73 75 62 73 74 61 6e 74 .If.such.problems.arise.substant
a27a0 69 61 6c 6c 79 20 69 6e 20 6f 74 68 65 72 20 64 6f 6d 61 69 6e 73 2c 20 77 65 0a 73 74 61 6e 64 ially.in.other.domains,.we.stand
a27c0 20 72 65 61 64 79 20 74 6f 20 65 78 74 65 6e 64 20 74 68 69 73 20 70 72 6f 76 69 73 69 6f 6e 20 .ready.to.extend.this.provision.
a27e0 74 6f 20 74 68 6f 73 65 20 64 6f 6d 61 69 6e 73 20 69 6e 20 66 75 74 75 72 65 20 76 65 72 73 69 to.those.domains.in.future.versi
a2800 6f 6e 73 0a 6f 66 20 74 68 65 20 47 50 4c 2c 20 61 73 20 6e 65 65 64 65 64 20 74 6f 20 70 72 6f ons.of.the.GPL,.as.needed.to.pro
a2820 74 65 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 75 73 65 72 73 2e 0a 0a 20 20 46 69 tect.the.freedom.of.users.....Fi
a2840 6e 61 6c 6c 79 2c 20 65 76 65 72 79 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 72 65 61 74 65 6e nally,.every.program.is.threaten
a2860 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 20 70 61 74 65 6e 74 ed.constantly.by.software.patent
a2880 73 2e 0a 53 74 61 74 65 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 61 6c 6c 6f 77 20 70 61 74 65 6e s..States.should.not.allow.paten
a28a0 74 73 20 74 6f 20 72 65 73 74 72 69 63 74 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 75 ts.to.restrict.development.and.u
a28c0 73 65 20 6f 66 0a 73 6f 66 74 77 61 72 65 20 6f 6e 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 se.of.software.on.general-purpos
a28e0 65 20 63 6f 6d 70 75 74 65 72 73 2c 20 62 75 74 20 69 6e 20 74 68 6f 73 65 20 74 68 61 74 20 64 e.computers,.but.in.those.that.d
a2900 6f 2c 20 77 65 20 77 69 73 68 20 74 6f 0a 61 76 6f 69 64 20 74 68 65 20 73 70 65 63 69 61 6c 20 o,.we.wish.to.avoid.the.special.
a2920 64 61 6e 67 65 72 20 74 68 61 74 20 70 61 74 65 6e 74 73 20 61 70 70 6c 69 65 64 20 74 6f 20 61 danger.that.patents.applied.to.a
a2940 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6c 64 0a 6d 61 6b 65 20 69 74 20 65 66 66 65 .free.program.could.make.it.effe
a2960 63 74 69 76 65 6c 79 20 70 72 6f 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 72 65 76 65 6e 74 ctively.proprietary...To.prevent
a2980 20 74 68 69 73 2c 20 74 68 65 20 47 50 4c 20 61 73 73 75 72 65 73 20 74 68 61 74 0a 70 61 74 65 .this,.the.GPL.assures.that.pate
a29a0 6e 74 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 6e 64 65 72 20 74 68 65 nts.cannot.be.used.to.render.the
a29c0 20 70 72 6f 67 72 61 6d 20 6e 6f 6e 2d 66 72 65 65 2e 0a 0a 20 20 54 68 65 20 70 72 65 63 69 73 .program.non-free.....The.precis
a29e0 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 e.terms.and.conditions.for.copyi
a2a00 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0a 6d 6f 64 69 66 69 63 61 74 69 6f ng,.distribution.and.modificatio
a2a20 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.follow........................
a2a40 20 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 30 2e 20 44 65 66 ..TERMS.AND.CONDITIONS....0..Def
a2a60 69 6e 69 74 69 6f 6e 73 2e 0a 0a 20 20 22 54 68 69 73 20 4c 69 63 65 6e 73 65 22 20 72 65 66 65 initions....."This.License".refe
a2a80 72 73 20 74 6f 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 rs.to.version.3.of.the.GNU.Gener
a2aa0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 22 43 6f 70 79 72 69 67 68 74 al.Public.License....."Copyright
a2ac0 22 20 61 6c 73 6f 20 6d 65 61 6e 73 20 63 6f 70 79 72 69 67 68 74 2d 6c 69 6b 65 20 6c 61 77 73 ".also.means.copyright-like.laws
a2ae0 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 0a 77 6f .that.apply.to.other.kinds.of.wo
a2b00 72 6b 73 2c 20 73 75 63 68 20 61 73 20 73 65 6d 69 63 6f 6e 64 75 63 74 6f 72 20 6d 61 73 6b 73 rks,.such.as.semiconductor.masks
a2b20 2e 0a 0a 20 20 22 54 68 65 20 50 72 6f 67 72 61 6d 22 20 72 65 66 65 72 73 20 74 6f 20 61 6e 79 ....."The.Program".refers.to.any
a2b40 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 .copyrightable.work.licensed.und
a2b60 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2e 20 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 20 er.this.License...Each.licensee.
a2b80 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 22 79 6f 75 22 2e 20 20 22 4c 69 63 65 6e 73 65 is.addressed.as."you"..."License
a2ba0 65 73 22 20 61 6e 64 0a 22 72 65 63 69 70 69 65 6e 74 73 22 20 6d 61 79 20 62 65 20 69 6e 64 69 es".and."recipients".may.be.indi
a2bc0 76 69 64 75 61 6c 73 20 6f 72 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 73 2e 0a 0a 20 20 54 6f 20 viduals.or.organizations.....To.
a2be0 22 6d 6f 64 69 66 79 22 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f 20 63 6f 70 79 20 66 72 "modify".a.work.means.to.copy.fr
a2c00 6f 6d 20 6f 72 20 61 64 61 70 74 20 61 6c 6c 20 6f 72 20 70 61 72 74 20 6f 66 20 74 68 65 20 77 om.or.adapt.all.or.part.of.the.w
a2c20 6f 72 6b 0a 69 6e 20 61 20 66 61 73 68 69 6f 6e 20 72 65 71 75 69 72 69 6e 67 20 63 6f 70 79 72 ork.in.a.fashion.requiring.copyr
a2c40 69 67 68 74 20 70 65 72 6d 69 73 73 69 6f 6e 2c 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 ight.permission,.other.than.the.
a2c60 6d 61 6b 69 6e 67 20 6f 66 20 61 6e 0a 65 78 61 63 74 20 63 6f 70 79 2e 20 20 54 68 65 20 72 65 making.of.an.exact.copy...The.re
a2c80 73 75 6c 74 69 6e 67 20 77 6f 72 6b 20 69 73 20 63 61 6c 6c 65 64 20 61 20 22 6d 6f 64 69 66 69 sulting.work.is.called.a."modifi
a2ca0 65 64 20 76 65 72 73 69 6f 6e 22 20 6f 66 20 74 68 65 0a 65 61 72 6c 69 65 72 20 77 6f 72 6b 20 ed.version".of.the.earlier.work.
a2cc0 6f 72 20 61 20 77 6f 72 6b 20 22 62 61 73 65 64 20 6f 6e 22 20 74 68 65 20 65 61 72 6c 69 65 72 or.a.work."based.on".the.earlier
a2ce0 20 77 6f 72 6b 2e 0a 0a 20 20 41 20 22 63 6f 76 65 72 65 64 20 77 6f 72 6b 22 20 6d 65 61 6e 73 .work.....A."covered.work".means
a2d00 20 65 69 74 68 65 72 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 20 6f .either.the.unmodified.Program.o
a2d20 72 20 61 20 77 6f 72 6b 20 62 61 73 65 64 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a r.a.work.based.on.the.Program...
a2d40 20 20 54 6f 20 22 70 72 6f 70 61 67 61 74 65 22 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f ..To."propagate".a.work.means.to
a2d60 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 77 69 74 68 20 69 74 20 74 68 61 74 2c 20 77 69 74 68 6f .do.anything.with.it.that,.witho
a2d80 75 74 0a 70 65 72 6d 69 73 73 69 6f 6e 2c 20 77 6f 75 6c 64 20 6d 61 6b 65 20 79 6f 75 20 64 69 ut.permission,.would.make.you.di
a2da0 72 65 63 74 6c 79 20 6f 72 20 73 65 63 6f 6e 64 61 72 69 6c 79 20 6c 69 61 62 6c 65 20 66 6f 72 rectly.or.secondarily.liable.for
a2dc0 0a 69 6e 66 72 69 6e 67 65 6d 65 6e 74 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 63 .infringement.under.applicable.c
a2de0 6f 70 79 72 69 67 68 74 20 6c 61 77 2c 20 65 78 63 65 70 74 20 65 78 65 63 75 74 69 6e 67 20 69 opyright.law,.except.executing.i
a2e00 74 20 6f 6e 20 61 0a 63 6f 6d 70 75 74 65 72 20 6f 72 20 6d 6f 64 69 66 79 69 6e 67 20 61 20 70 t.on.a.computer.or.modifying.a.p
a2e20 72 69 76 61 74 65 20 63 6f 70 79 2e 20 20 50 72 6f 70 61 67 61 74 69 6f 6e 20 69 6e 63 6c 75 64 rivate.copy...Propagation.includ
a2e40 65 73 20 63 6f 70 79 69 6e 67 2c 0a 64 69 73 74 72 69 62 75 74 69 6f 6e 20 28 77 69 74 68 20 6f es.copying,.distribution.(with.o
a2e60 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 29 2c 20 6d 61 6b 69 6e 67 20 r.without.modification),.making.
a2e80 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 0a 70 75 62 6c 69 63 2c 20 61 6e 64 20 69 6e 20 available.to.the.public,.and.in.
a2ea0 73 6f 6d 65 20 63 6f 75 6e 74 72 69 65 73 20 6f 74 68 65 72 20 61 63 74 69 76 69 74 69 65 73 20 some.countries.other.activities.
a2ec0 61 73 20 77 65 6c 6c 2e 0a 0a 20 20 54 6f 20 22 63 6f 6e 76 65 79 22 20 61 20 77 6f 72 6b 20 6d as.well.....To."convey".a.work.m
a2ee0 65 61 6e 73 20 61 6e 79 20 6b 69 6e 64 20 6f 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 74 68 61 eans.any.kind.of.propagation.tha
a2f00 74 20 65 6e 61 62 6c 65 73 20 6f 74 68 65 72 0a 70 61 72 74 69 65 73 20 74 6f 20 6d 61 6b 65 20 t.enables.other.parties.to.make.
a2f20 6f 72 20 72 65 63 65 69 76 65 20 63 6f 70 69 65 73 2e 20 20 4d 65 72 65 20 69 6e 74 65 72 61 63 or.receive.copies...Mere.interac
a2f40 74 69 6f 6e 20 77 69 74 68 20 61 20 75 73 65 72 20 74 68 72 6f 75 67 68 0a 61 20 63 6f 6d 70 75 tion.with.a.user.through.a.compu
a2f60 74 65 72 20 6e 65 74 77 6f 72 6b 2c 20 77 69 74 68 20 6e 6f 20 74 72 61 6e 73 66 65 72 20 6f 66 ter.network,.with.no.transfer.of
a2f80 20 61 20 63 6f 70 79 2c 20 69 73 20 6e 6f 74 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 41 6e .a.copy,.is.not.conveying.....An
a2fa0 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 20 64 69 73 70 .interactive.user.interface.disp
a2fc0 6c 61 79 73 20 22 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 22 lays."Appropriate.Legal.Notices"
a2fe0 0a 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 74 68 61 74 20 69 74 20 69 6e 63 6c 75 64 65 73 20 .to.the.extent.that.it.includes.
a3000 61 20 63 6f 6e 76 65 6e 69 65 6e 74 20 61 6e 64 20 70 72 6f 6d 69 6e 65 6e 74 6c 79 20 76 69 73 a.convenient.and.prominently.vis
a3020 69 62 6c 65 0a 66 65 61 74 75 72 65 20 74 68 61 74 20 28 31 29 20 64 69 73 70 6c 61 79 73 20 61 ible.feature.that.(1).displays.a
a3040 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 2c 20 n.appropriate.copyright.notice,.
a3060 61 6e 64 20 28 32 29 0a 74 65 6c 6c 73 20 74 68 65 20 75 73 65 72 20 74 68 61 74 20 74 68 65 72 and.(2).tells.the.user.that.ther
a3080 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 74 68 65 20 77 6f 72 6b 20 28 65 e.is.no.warranty.for.the.work.(e
a30a0 78 63 65 70 74 20 74 6f 20 74 68 65 0a 65 78 74 65 6e 74 20 74 68 61 74 20 77 61 72 72 61 6e 74 xcept.to.the.extent.that.warrant
a30c0 69 65 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 29 2c 20 74 68 61 74 20 6c 69 63 65 6e 73 65 65 ies.are.provided),.that.licensee
a30e0 73 20 6d 61 79 20 63 6f 6e 76 65 79 20 74 68 65 0a 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 s.may.convey.the.work.under.this
a3100 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 76 69 65 77 20 61 20 63 6f 70 79 .License,.and.how.to.view.a.copy
a3120 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 0a 74 68 65 20 69 6e 74 65 72 66 .of.this.License...If.the.interf
a3140 61 63 65 20 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 20 75 73 65 72 20 63 6f 6d 6d ace.presents.a.list.of.user.comm
a3160 61 6e 64 73 20 6f 72 20 6f 70 74 69 6f 6e 73 2c 20 73 75 63 68 20 61 73 20 61 0a 6d 65 6e 75 2c ands.or.options,.such.as.a.menu,
a3180 20 61 20 70 72 6f 6d 69 6e 65 6e 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 65 .a.prominent.item.in.the.list.me
a31a0 65 74 73 20 74 68 69 73 20 63 72 69 74 65 72 69 6f 6e 2e 0a 0a 20 20 31 2e 20 53 6f 75 72 63 65 ets.this.criterion.....1..Source
a31c0 20 43 6f 64 65 2e 0a 0a 20 20 54 68 65 20 22 73 6f 75 72 63 65 20 63 6f 64 65 22 20 66 6f 72 20 .Code.....The."source.code".for.
a31e0 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d 20 a.work.means.the.preferred.form.
a3200 6f 66 20 74 68 65 20 77 6f 72 6b 0a 66 6f 72 20 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 74 of.the.work.for.making.modificat
a3220 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 22 4f 62 6a 65 63 74 20 63 6f 64 65 22 20 6d 65 61 6e 73 ions.to.it..."Object.code".means
a3240 20 61 6e 79 20 6e 6f 6e 2d 73 6f 75 72 63 65 0a 66 6f 72 6d 20 6f 66 20 61 20 77 6f 72 6b 2e 0a .any.non-source.form.of.a.work..
a3260 0a 20 20 41 20 22 53 74 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 22 20 6d 65 61 6e 73 20 ...A."Standard.Interface".means.
a3280 61 6e 20 69 6e 74 65 72 66 61 63 65 20 74 68 61 74 20 65 69 74 68 65 72 20 69 73 20 61 6e 20 6f an.interface.that.either.is.an.o
a32a0 66 66 69 63 69 61 6c 0a 73 74 61 6e 64 61 72 64 20 64 65 66 69 6e 65 64 20 62 79 20 61 20 72 65 fficial.standard.defined.by.a.re
a32c0 63 6f 67 6e 69 7a 65 64 20 73 74 61 6e 64 61 72 64 73 20 62 6f 64 79 2c 20 6f 72 2c 20 69 6e 20 cognized.standards.body,.or,.in.
a32e0 74 68 65 20 63 61 73 65 20 6f 66 0a 69 6e 74 65 72 66 61 63 65 73 20 73 70 65 63 69 66 69 65 64 the.case.of.interfaces.specified
a3300 20 66 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 .for.a.particular.programming.la
a3320 6e 67 75 61 67 65 2c 20 6f 6e 65 20 74 68 61 74 0a 69 73 20 77 69 64 65 6c 79 20 75 73 65 64 20 nguage,.one.that.is.widely.used.
a3340 61 6d 6f 6e 67 20 64 65 76 65 6c 6f 70 65 72 73 20 77 6f 72 6b 69 6e 67 20 69 6e 20 74 68 61 74 among.developers.working.in.that
a3360 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 20 20 54 68 65 20 22 53 79 73 74 65 6d 20 4c 69 62 72 61 72 .language.....The."System.Librar
a3380 69 65 73 22 20 6f 66 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 69 6e 63 6c 75 ies".of.an.executable.work.inclu
a33a0 64 65 20 61 6e 79 74 68 69 6e 67 2c 20 6f 74 68 65 72 0a 74 68 61 6e 20 74 68 65 20 77 6f 72 6b de.anything,.other.than.the.work
a33c0 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 74 68 61 74 20 28 61 29 20 69 73 20 69 6e 63 6c 75 64 65 .as.a.whole,.that.(a).is.include
a33e0 64 20 69 6e 20 74 68 65 20 6e 6f 72 6d 61 6c 20 66 6f 72 6d 20 6f 66 0a 70 61 63 6b 61 67 69 6e d.in.the.normal.form.of.packagin
a3400 67 20 61 20 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 62 75 74 20 77 68 69 63 68 20 69 g.a.Major.Component,.but.which.i
a3420 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 61 74 20 4d 61 6a 6f 72 0a 43 6f 6d 70 6f 6e 65 s.not.part.of.that.Major.Compone
a3440 6e 74 2c 20 61 6e 64 20 28 62 29 20 73 65 72 76 65 73 20 6f 6e 6c 79 20 74 6f 20 65 6e 61 62 6c nt,.and.(b).serves.only.to.enabl
a3460 65 20 75 73 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 77 69 74 68 20 74 68 61 74 0a 4d 61 6a 6f e.use.of.the.work.with.that.Majo
a3480 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 6f 72 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 61 20 53 r.Component,.or.to.implement.a.S
a34a0 74 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 20 66 6f 72 20 77 68 69 63 68 20 61 6e 0a 69 tandard.Interface.for.which.an.i
a34c0 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 mplementation.is.available.to.th
a34e0 65 20 70 75 62 6c 69 63 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 2e 20 20 41 e.public.in.source.code.form...A
a3500 0a 22 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 22 2c 20 69 6e 20 74 68 69 73 20 63 6f 6e 74 ."Major.Component",.in.this.cont
a3520 65 78 74 2c 20 6d 65 61 6e 73 20 61 20 6d 61 6a 6f 72 20 65 73 73 65 6e 74 69 61 6c 20 63 6f 6d ext,.means.a.major.essential.com
a3540 70 6f 6e 65 6e 74 0a 28 6b 65 72 6e 65 6c 2c 20 77 69 6e 64 6f 77 20 73 79 73 74 65 6d 2c 20 61 ponent.(kernel,.window.system,.a
a3560 6e 64 20 73 6f 20 6f 6e 29 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6f 70 65 72 61 74 nd.so.on).of.the.specific.operat
a3580 69 6e 67 20 73 79 73 74 65 6d 0a 28 69 66 20 61 6e 79 29 20 6f 6e 20 77 68 69 63 68 20 74 68 65 ing.system.(if.any).on.which.the
a35a0 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 72 75 6e 73 2c 20 6f 72 20 61 20 63 6f 6d 70 .executable.work.runs,.or.a.comp
a35c0 69 6c 65 72 20 75 73 65 64 20 74 6f 0a 70 72 6f 64 75 63 65 20 74 68 65 20 77 6f 72 6b 2c 20 6f iler.used.to.produce.the.work,.o
a35e0 72 20 61 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 75 73 65 r.an.object.code.interpreter.use
a3600 64 20 74 6f 20 72 75 6e 20 69 74 2e 0a 0a 20 20 54 68 65 20 22 43 6f 72 72 65 73 70 6f 6e 64 69 d.to.run.it.....The."Correspondi
a3620 6e 67 20 53 6f 75 72 63 65 22 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 ng.Source".for.a.work.in.object.
a3640 63 6f 64 65 20 66 6f 72 6d 20 6d 65 61 6e 73 20 61 6c 6c 0a 74 68 65 20 73 6f 75 72 63 65 20 63 code.form.means.all.the.source.c
a3660 6f 64 65 20 6e 65 65 64 65 64 20 74 6f 20 67 65 6e 65 72 61 74 65 2c 20 69 6e 73 74 61 6c 6c 2c ode.needed.to.generate,.install,
a3680 20 61 6e 64 20 28 66 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 0a 77 6f 72 6b 29 20 72 75 .and.(for.an.executable.work).ru
a36a0 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 20 74 6f 20 6d 6f 64 69 66 79 20 n.the.object.code.and.to.modify.
a36c0 74 68 65 20 77 6f 72 6b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 63 72 69 70 74 73 20 74 6f 0a 63 the.work,.including.scripts.to.c
a36e0 6f 6e 74 72 6f 6c 20 74 68 6f 73 65 20 61 63 74 69 76 69 74 69 65 73 2e 20 20 48 6f 77 65 76 65 ontrol.those.activities...Howeve
a3700 72 2c 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 74 68 65 20 77 6f 72 6b 27 r,.it.does.not.include.the.work'
a3720 73 0a 53 79 73 74 65 6d 20 4c 69 62 72 61 72 69 65 73 2c 20 6f 72 20 67 65 6e 65 72 61 6c 2d 70 s.System.Libraries,.or.general-p
a3740 75 72 70 6f 73 65 20 74 6f 6f 6c 73 20 6f 72 20 67 65 6e 65 72 61 6c 6c 79 20 61 76 61 69 6c 61 urpose.tools.or.generally.availa
a3760 62 6c 65 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 73 20 77 68 69 63 68 20 61 72 65 20 75 73 65 64 ble.free.programs.which.are.used
a3780 20 75 6e 6d 6f 64 69 66 69 65 64 20 69 6e 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 6f 73 65 20 .unmodified.in.performing.those.
a37a0 61 63 74 69 76 69 74 69 65 73 20 62 75 74 0a 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 70 61 72 activities.but.which.are.not.par
a37c0 74 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 43 6f 72 t.of.the.work...For.example,.Cor
a37e0 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 0a 69 6e 63 6c 75 64 65 73 20 69 6e 74 65 72 responding.Source.includes.inter
a3800 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 20 61 73 73 6f 63 69 61 74 65 64 face.definition.files.associated
a3820 20 77 69 74 68 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 66 6f 72 0a 74 68 65 20 77 6f 72 6b 2c .with.source.files.for.the.work,
a3840 20 61 6e 64 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 73 68 61 72 65 64 20 .and.the.source.code.for.shared.
a3860 6c 69 62 72 61 72 69 65 73 20 61 6e 64 20 64 79 6e 61 6d 69 63 61 6c 6c 79 0a 6c 69 6e 6b 65 64 libraries.and.dynamically.linked
a3880 20 73 75 62 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20 74 68 65 20 77 6f 72 6b 20 69 73 20 73 70 .subprograms.that.the.work.is.sp
a38a0 65 63 69 66 69 63 61 6c 6c 79 20 64 65 73 69 67 6e 65 64 20 74 6f 20 72 65 71 75 69 72 65 2c 0a ecifically.designed.to.require,.
a38c0 73 75 63 68 20 61 73 20 62 79 20 69 6e 74 69 6d 61 74 65 20 64 61 74 61 20 63 6f 6d 6d 75 6e 69 such.as.by.intimate.data.communi
a38e0 63 61 74 69 6f 6e 20 6f 72 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 62 65 74 77 65 65 6e 20 74 cation.or.control.flow.between.t
a3900 68 6f 73 65 0a 73 75 62 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 6f 74 68 65 72 20 70 61 72 74 73 hose.subprograms.and.other.parts
a3920 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 0a 0a 20 20 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 .of.the.work.....The.Correspondi
a3940 6e 67 20 53 6f 75 72 63 65 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 ng.Source.need.not.include.anyth
a3960 69 6e 67 20 74 68 61 74 20 75 73 65 72 73 0a 63 61 6e 20 72 65 67 65 6e 65 72 61 74 65 20 61 75 ing.that.users.can.regenerate.au
a3980 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 6f 74 68 65 72 20 70 61 72 74 73 20 6f 66 20 tomatically.from.other.parts.of.
a39a0 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 53 6f 75 72 63 65 2e 0a 0a 20 20 54 68 65 the.Corresponding.Source.....The
a39c0 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 20 77 6f 72 6b .Corresponding.Source.for.a.work
a39e0 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 20 69 73 20 74 68 61 74 0a 73 61 6d .in.source.code.form.is.that.sam
a3a00 65 20 77 6f 72 6b 2e 0a 0a 20 20 32 2e 20 42 61 73 69 63 20 50 65 72 6d 69 73 73 69 6f 6e 73 2e e.work.....2..Basic.Permissions.
a3a20 0a 0a 20 20 41 6c 6c 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 ....All.rights.granted.under.thi
a3a40 73 20 4c 69 63 65 6e 73 65 20 61 72 65 20 67 72 61 6e 74 65 64 20 66 6f 72 20 74 68 65 20 74 65 s.License.are.granted.for.the.te
a3a60 72 6d 20 6f 66 0a 63 6f 70 79 72 69 67 68 74 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 rm.of.copyright.on.the.Program,.
a3a80 61 6e 64 20 61 72 65 20 69 72 72 65 76 6f 63 61 62 6c 65 20 70 72 6f 76 69 64 65 64 20 74 68 65 and.are.irrevocable.provided.the
a3aa0 20 73 74 61 74 65 64 0a 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 2e 20 20 54 68 69 .stated.conditions.are.met...Thi
a3ac0 73 20 4c 69 63 65 6e 73 65 20 65 78 70 6c 69 63 69 74 6c 79 20 61 66 66 69 72 6d 73 20 79 6f 75 s.License.explicitly.affirms.you
a3ae0 72 20 75 6e 6c 69 6d 69 74 65 64 0a 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 72 75 6e 20 74 68 r.unlimited.permission.to.run.th
a3b00 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 2e 20 20 54 68 65 20 6f 75 74 70 75 e.unmodified.Program...The.outpu
a3b20 74 20 66 72 6f 6d 20 72 75 6e 6e 69 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 73 t.from.running.a.covered.work.is
a3b40 20 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 6f 6e 6c 79 20 69 66 .covered.by.this.License.only.if
a3b60 20 74 68 65 20 6f 75 74 70 75 74 2c 20 67 69 76 65 6e 20 69 74 73 0a 63 6f 6e 74 65 6e 74 2c 20 .the.output,.given.its.content,.
a3b80 63 6f 6e 73 74 69 74 75 74 65 73 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 69 constitutes.a.covered.work...Thi
a3ba0 73 20 4c 69 63 65 6e 73 65 20 61 63 6b 6e 6f 77 6c 65 64 67 65 73 20 79 6f 75 72 0a 72 69 67 68 s.License.acknowledges.your.righ
a3bc0 74 73 20 6f 66 20 66 61 69 72 20 75 73 65 20 6f 72 20 6f 74 68 65 72 20 65 71 75 69 76 61 6c 65 ts.of.fair.use.or.other.equivale
a3be0 6e 74 2c 20 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 nt,.as.provided.by.copyright.law
a3c00 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 6d 61 6b 65 2c 20 72 75 6e 20 61 6e 64 20 70 72 6f 70 61 .....You.may.make,.run.and.propa
a3c20 67 61 74 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 68 61 74 20 79 6f 75 20 64 6f 20 6e gate.covered.works.that.you.do.n
a3c40 6f 74 0a 63 6f 6e 76 65 79 2c 20 77 69 74 68 6f 75 74 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 6f ot.convey,.without.conditions.so
a3c60 20 6c 6f 6e 67 20 61 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 6f 74 68 65 72 77 69 73 65 20 .long.as.your.license.otherwise.
a3c80 72 65 6d 61 69 6e 73 0a 69 6e 20 66 6f 72 63 65 2e 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 remains.in.force...You.may.conve
a3ca0 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 6f 20 6f 74 68 65 72 73 20 66 6f 72 20 74 68 y.covered.works.to.others.for.th
a3cc0 65 20 73 6f 6c 65 20 70 75 72 70 6f 73 65 0a 6f 66 20 68 61 76 69 6e 67 20 74 68 65 6d 20 6d 61 e.sole.purpose.of.having.them.ma
a3ce0 6b 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 66 6f 72 ke.modifications.exclusively.for
a3d00 20 79 6f 75 2c 20 6f 72 20 70 72 6f 76 69 64 65 20 79 6f 75 0a 77 69 74 68 20 66 61 63 69 6c 69 .you,.or.provide.you.with.facili
a3d20 74 69 65 73 20 66 6f 72 20 72 75 6e 6e 69 6e 67 20 74 68 6f 73 65 20 77 6f 72 6b 73 2c 20 70 72 ties.for.running.those.works,.pr
a3d40 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 63 6f 6d 70 6c 79 20 77 69 74 68 0a 74 68 65 20 ovided.that.you.comply.with.the.
a3d60 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 63 6f 6e 76 65 79 69 terms.of.this.License.in.conveyi
a3d80 6e 67 20 61 6c 6c 20 6d 61 74 65 72 69 61 6c 20 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 64 6f ng.all.material.for.which.you.do
a3da0 0a 6e 6f 74 20 63 6f 6e 74 72 6f 6c 20 63 6f 70 79 72 69 67 68 74 2e 20 20 54 68 6f 73 65 20 74 .not.control.copyright...Those.t
a3dc0 68 75 73 20 6d 61 6b 69 6e 67 20 6f 72 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 hus.making.or.running.the.covere
a3de0 64 20 77 6f 72 6b 73 0a 66 6f 72 20 79 6f 75 20 6d 75 73 74 20 64 6f 20 73 6f 20 65 78 63 6c 75 d.works.for.you.must.do.so.exclu
a3e00 73 69 76 65 6c 79 20 6f 6e 20 79 6f 75 72 20 62 65 68 61 6c 66 2c 20 75 6e 64 65 72 20 79 6f 75 sively.on.your.behalf,.under.you
a3e20 72 20 64 69 72 65 63 74 69 6f 6e 0a 61 6e 64 20 63 6f 6e 74 72 6f 6c 2c 20 6f 6e 20 74 65 72 6d r.direction.and.control,.on.term
a3e40 73 20 74 68 61 74 20 70 72 6f 68 69 62 69 74 20 74 68 65 6d 20 66 72 6f 6d 20 6d 61 6b 69 6e 67 s.that.prohibit.them.from.making
a3e60 20 61 6e 79 20 63 6f 70 69 65 73 20 6f 66 0a 79 6f 75 72 20 63 6f 70 79 72 69 67 68 74 65 64 20 .any.copies.of.your.copyrighted.
a3e80 6d 61 74 65 72 69 61 6c 20 6f 75 74 73 69 64 65 20 74 68 65 69 72 20 72 65 6c 61 74 69 6f 6e 73 material.outside.their.relations
a3ea0 68 69 70 20 77 69 74 68 20 79 6f 75 2e 0a 0a 20 20 43 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 hip.with.you.....Conveying.under
a3ec0 20 61 6e 79 20 6f 74 68 65 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 20 69 73 20 70 65 72 6d .any.other.circumstances.is.perm
a3ee0 69 74 74 65 64 20 73 6f 6c 65 6c 79 20 75 6e 64 65 72 0a 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e itted.solely.under.the.condition
a3f00 73 20 73 74 61 74 65 64 20 62 65 6c 6f 77 2e 20 20 53 75 62 6c 69 63 65 6e 73 69 6e 67 20 69 73 s.stated.below...Sublicensing.is
a3f20 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 3b 20 73 65 63 74 69 6f 6e 20 31 30 0a 6d 61 6b 65 73 20 69 .not.allowed;.section.10.makes.i
a3f40 74 20 75 6e 6e 65 63 65 73 73 61 72 79 2e 0a 0a 20 20 33 2e 20 50 72 6f 74 65 63 74 69 6e 67 20 t.unnecessary.....3..Protecting.
a3f60 55 73 65 72 73 27 20 4c 65 67 61 6c 20 52 69 67 68 74 73 20 46 72 6f 6d 20 41 6e 74 69 2d 43 69 Users'.Legal.Rights.From.Anti-Ci
a3f80 72 63 75 6d 76 65 6e 74 69 6f 6e 20 4c 61 77 2e 0a 0a 20 20 4e 6f 20 63 6f 76 65 72 65 64 20 77 rcumvention.Law.....No.covered.w
a3fa0 6f 72 6b 20 73 68 61 6c 6c 20 62 65 20 64 65 65 6d 65 64 20 70 61 72 74 20 6f 66 20 61 6e 20 65 ork.shall.be.deemed.part.of.an.e
a3fc0 66 66 65 63 74 69 76 65 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 0a 6d 65 61 73 75 72 65 20 75 ffective.technological.measure.u
a3fe0 6e 64 65 72 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 66 75 6c 66 69 6c 6c 69 nder.any.applicable.law.fulfilli
a4000 6e 67 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 61 72 74 69 63 6c 65 0a 31 31 20 ng.obligations.under.article.11.
a4020 6f 66 20 74 68 65 20 57 49 50 4f 20 63 6f 70 79 72 69 67 68 74 20 74 72 65 61 74 79 20 61 64 6f of.the.WIPO.copyright.treaty.ado
a4040 70 74 65 64 20 6f 6e 20 32 30 20 44 65 63 65 6d 62 65 72 20 31 39 39 36 2c 20 6f 72 0a 73 69 6d pted.on.20.December.1996,.or.sim
a4060 69 6c 61 72 20 6c 61 77 73 20 70 72 6f 68 69 62 69 74 69 6e 67 20 6f 72 20 72 65 73 74 72 69 63 ilar.laws.prohibiting.or.restric
a4080 74 69 6e 67 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 73 75 63 68 0a 6d 65 61 73 75 ting.circumvention.of.such.measu
a40a0 72 65 73 2e 0a 0a 20 20 57 68 65 6e 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 res.....When.you.convey.a.covere
a40c0 64 20 77 6f 72 6b 2c 20 79 6f 75 20 77 61 69 76 65 20 61 6e 79 20 6c 65 67 61 6c 20 70 6f 77 65 d.work,.you.waive.any.legal.powe
a40e0 72 20 74 6f 20 66 6f 72 62 69 64 0a 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 74 65 63 r.to.forbid.circumvention.of.tec
a4100 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 74 6f 20 74 68 65 20 65 78 74 65 6e hnological.measures.to.the.exten
a4120 74 20 73 75 63 68 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 0a 69 73 20 65 66 66 65 63 74 65 64 t.such.circumvention.is.effected
a4140 20 62 79 20 65 78 65 72 63 69 73 69 6e 67 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 .by.exercising.rights.under.this
a4160 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 0a 74 68 65 20 63 6f 76 .License.with.respect.to.the.cov
a4180 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 79 6f 75 20 64 69 73 63 6c 61 69 6d 20 61 6e 79 20 ered.work,.and.you.disclaim.any.
a41a0 69 6e 74 65 6e 74 69 6f 6e 20 74 6f 20 6c 69 6d 69 74 20 6f 70 65 72 61 74 69 6f 6e 20 6f 72 0a intention.to.limit.operation.or.
a41c0 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 73 20 61 20 6d 65 modification.of.the.work.as.a.me
a41e0 61 6e 73 20 6f 66 20 65 6e 66 6f 72 63 69 6e 67 2c 20 61 67 61 69 6e 73 74 20 74 68 65 20 77 6f ans.of.enforcing,.against.the.wo
a4200 72 6b 27 73 0a 75 73 65 72 73 2c 20 79 6f 75 72 20 6f 72 20 74 68 69 72 64 20 70 61 72 74 69 65 rk's.users,.your.or.third.partie
a4220 73 27 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 74 6f 20 66 6f 72 62 69 64 20 63 69 72 63 75 6d s'.legal.rights.to.forbid.circum
a4240 76 65 6e 74 69 6f 6e 20 6f 66 0a 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 vention.of.technological.measure
a4260 73 2e 0a 0a 20 20 34 2e 20 43 6f 6e 76 65 79 69 6e 67 20 56 65 72 62 61 74 69 6d 20 43 6f 70 69 s.....4..Conveying.Verbatim.Copi
a4280 65 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 76 65 72 62 61 74 69 6d 20 63 es.....You.may.convey.verbatim.c
a42a0 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 27 73 20 73 6f 75 72 63 65 20 63 6f opies.of.the.Program's.source.co
a42c0 64 65 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e 79 20 6d 65 64 de.as.you.receive.it,.in.any.med
a42e0 69 75 6d 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 73 70 69 63 75 6f ium,.provided.that.you.conspicuo
a4300 75 73 6c 79 20 61 6e 64 0a 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 20 6f usly.and.appropriately.publish.o
a4320 6e 20 65 61 63 68 20 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 n.each.copy.an.appropriate.copyr
a4340 69 67 68 74 20 6e 6f 74 69 63 65 3b 0a 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 ight.notice;.keep.intact.all.not
a4360 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 ices.stating.that.this.License.a
a4380 6e 64 20 61 6e 79 0a 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 74 65 72 6d 73 20 61 64 64 65 nd.any.non-permissive.terms.adde
a43a0 64 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 65 63 74 69 6f 6e 20 37 20 61 70 70 6c 79 d.in.accord.with.section.7.apply
a43c0 20 74 6f 20 74 68 65 20 63 6f 64 65 3b 0a 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f .to.the.code;.keep.intact.all.no
a43e0 74 69 63 65 73 20 6f 66 20 74 68 65 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 tices.of.the.absence.of.any.warr
a4400 61 6e 74 79 3b 20 61 6e 64 20 67 69 76 65 20 61 6c 6c 0a 72 65 63 69 70 69 65 6e 74 73 20 61 20 anty;.and.give.all.recipients.a.
a4420 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 copy.of.this.License.along.with.
a4440 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 68 61 72 67 65 20 61 the.Program.....You.may.charge.a
a4460 6e 79 20 70 72 69 63 65 20 6f 72 20 6e 6f 20 70 72 69 63 65 20 66 6f 72 20 65 61 63 68 20 63 6f ny.price.or.no.price.for.each.co
a4480 70 79 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 76 65 79 2c 0a 61 6e 64 20 79 6f 75 20 6d 61 79 20 py.that.you.convey,.and.you.may.
a44a0 6f 66 66 65 72 20 73 75 70 70 6f 72 74 20 6f 72 20 77 61 72 72 61 6e 74 79 20 70 72 6f 74 65 63 offer.support.or.warranty.protec
a44c0 74 69 6f 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 20 20 35 2e 20 43 6f 6e 76 65 79 69 6e 67 20 tion.for.a.fee.....5..Conveying.
a44e0 4d 6f 64 69 66 69 65 64 20 53 6f 75 72 63 65 20 56 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 59 6f 75 Modified.Source.Versions.....You
a4500 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 .may.convey.a.work.based.on.the.
a4520 50 72 6f 67 72 61 6d 2c 20 6f 72 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f Program,.or.the.modifications.to
a4540 0a 70 72 6f 64 75 63 65 20 69 74 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 69 6e .produce.it.from.the.Program,.in
a4560 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 .the.form.of.source.code.under.t
a4580 68 65 0a 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 20 34 2c 20 70 72 6f 76 69 64 65 64 20 he.terms.of.section.4,.provided.
a45a0 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f 66 20 74 68 65 73 65 20 that.you.also.meet.all.of.these.
a45c0 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 61 29 20 54 68 65 20 77 6f 72 6b 20 6d 75 73 conditions:......a).The.work.mus
a45e0 74 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e t.carry.prominent.notices.statin
a4600 67 20 74 68 61 74 20 79 6f 75 20 6d 6f 64 69 66 69 65 64 0a 20 20 20 20 69 74 2c 20 61 6e 64 20 g.that.you.modified.....it,.and.
a4620 67 69 76 69 6e 67 20 61 20 72 65 6c 65 76 61 6e 74 20 64 61 74 65 2e 0a 0a 20 20 20 20 62 29 20 giving.a.relevant.date.......b).
a4640 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f The.work.must.carry.prominent.no
a4660 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 20 20 20 20 72 65 6c tices.stating.that.it.is.....rel
a4680 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 eased.under.this.License.and.any
a46a0 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 64 64 65 64 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 0a .conditions.added.under.section.
a46c0 20 20 20 20 37 2e 20 20 54 68 69 73 20 72 65 71 75 69 72 65 6d 65 6e 74 20 6d 6f 64 69 66 69 65 ....7...This.requirement.modifie
a46e0 73 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 6e 20 73 65 63 74 69 6f 6e 20 34 20 74 s.the.requirement.in.section.4.t
a4700 6f 0a 20 20 20 20 22 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 22 2e o....."keep.intact.all.notices".
a4720 0a 0a 20 20 20 20 63 29 20 59 6f 75 20 6d 75 73 74 20 6c 69 63 65 6e 73 65 20 74 68 65 20 65 6e ......c).You.must.license.the.en
a4740 74 69 72 65 20 77 6f 72 6b 2c 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 75 6e 64 65 72 20 74 68 69 tire.work,.as.a.whole,.under.thi
a4760 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 6e 79 6f 6e 65 20 77 68 6f 20 63 6f 6d 65 s.....License.to.anyone.who.come
a4780 73 20 69 6e 74 6f 20 70 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 61 20 63 6f 70 79 2e 20 20 54 68 s.into.possession.of.a.copy...Th
a47a0 69 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 74 68 65 72 65 66 6f 72 65 20 61 70 is.....License.will.therefore.ap
a47c0 70 6c 79 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 73 ply,.along.with.any.applicable.s
a47e0 65 63 74 69 6f 6e 20 37 0a 20 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 74 ection.7.....additional.terms,.t
a4800 6f 20 74 68 65 20 77 68 6f 6c 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 61 6c 6c o.the.whole.of.the.work,.and.all
a4820 20 69 74 73 20 70 61 72 74 73 2c 0a 20 20 20 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f .its.parts,.....regardless.of.ho
a4840 77 20 74 68 65 79 20 61 72 65 20 70 61 63 6b 61 67 65 64 2e 20 20 54 68 69 73 20 4c 69 63 65 6e w.they.are.packaged...This.Licen
a4860 73 65 20 67 69 76 65 73 20 6e 6f 0a 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 se.gives.no.....permission.to.li
a4880 63 65 6e 73 65 20 74 68 65 20 77 6f 72 6b 20 69 6e 20 61 6e 79 20 6f 74 68 65 72 20 77 61 79 2c cense.the.work.in.any.other.way,
a48a0 20 62 75 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 69 6e 76 61 6c 69 64 61 74 65 20 .but.it.does.not.....invalidate.
a48c0 73 75 63 68 20 70 65 72 6d 69 73 73 69 6f 6e 20 69 66 20 79 6f 75 20 68 61 76 65 20 73 65 70 61 such.permission.if.you.have.sepa
a48e0 72 61 74 65 6c 79 20 72 65 63 65 69 76 65 64 20 69 74 2e 0a 0a 20 20 20 20 64 29 20 49 66 20 74 rately.received.it.......d).If.t
a4900 68 65 20 77 6f 72 6b 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 he.work.has.interactive.user.int
a4920 65 72 66 61 63 65 73 2c 20 65 61 63 68 20 6d 75 73 74 20 64 69 73 70 6c 61 79 0a 20 20 20 20 41 erfaces,.each.must.display.....A
a4940 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 3b 20 68 6f 77 65 76 65 ppropriate.Legal.Notices;.howeve
a4960 72 2c 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 76 r,.if.the.Program.has.interactiv
a4980 65 0a 20 20 20 20 69 6e 74 65 72 66 61 63 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 64 69 73 e.....interfaces.that.do.not.dis
a49a0 70 6c 61 79 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 2c 20 play.Appropriate.Legal.Notices,.
a49c0 79 6f 75 72 0a 20 20 20 20 77 6f 72 6b 20 6e 65 65 64 20 6e 6f 74 20 6d 61 6b 65 20 74 68 65 6d your.....work.need.not.make.them
a49e0 20 64 6f 20 73 6f 2e 0a 0a 20 20 41 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f .do.so.....A.compilation.of.a.co
a4a00 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 68 20 6f 74 68 65 72 20 73 65 70 61 72 61 74 65 20 61 vered.work.with.other.separate.a
a4a20 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 0a 77 6f 72 6b 73 2c 20 77 68 69 63 68 20 61 72 65 20 nd.independent.works,.which.are.
a4a40 6e 6f 74 20 62 79 20 74 68 65 69 72 20 6e 61 74 75 72 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 6f not.by.their.nature.extensions.o
a4a60 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a 61 6e 64 20 77 68 69 63 68 20 61 72 f.the.covered.work,.and.which.ar
a4a80 65 20 6e 6f 74 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 69 74 20 73 75 63 68 20 61 73 20 74 e.not.combined.with.it.such.as.t
a4aa0 6f 20 66 6f 72 6d 20 61 20 6c 61 72 67 65 72 20 70 72 6f 67 72 61 6d 2c 0a 69 6e 20 6f 72 20 6f o.form.a.larger.program,.in.or.o
a4ac0 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 61 20 73 74 6f 72 61 67 65 20 6f 72 20 64 69 73 74 72 n.a.volume.of.a.storage.or.distr
a4ae0 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 2c 20 69 73 20 63 61 6c 6c 65 64 20 61 6e 0a 22 61 67 ibution.medium,.is.called.an."ag
a4b00 67 72 65 67 61 74 65 22 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 gregate".if.the.compilation.and.
a4b20 69 74 73 20 72 65 73 75 6c 74 69 6e 67 20 63 6f 70 79 72 69 67 68 74 20 61 72 65 20 6e 6f 74 0a its.resulting.copyright.are.not.
a4b40 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 61 63 63 65 73 73 20 6f 72 20 6c 65 67 61 used.to.limit.the.access.or.lega
a4b60 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 27 73 20 75 73 l.rights.of.the.compilation's.us
a4b80 65 72 73 0a 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 77 ers.beyond.what.the.individual.w
a4ba0 6f 72 6b 73 20 70 65 72 6d 69 74 2e 20 20 49 6e 63 6c 75 73 69 6f 6e 20 6f 66 20 61 20 63 6f 76 orks.permit...Inclusion.of.a.cov
a4bc0 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 6e 20 61 67 67 72 65 67 61 74 65 20 64 6f 65 73 20 6e ered.work.in.an.aggregate.does.n
a4be0 6f 74 20 63 61 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 70 70 6c 79 20 74 ot.cause.this.License.to.apply.t
a4c00 6f 20 74 68 65 20 6f 74 68 65 72 0a 70 61 72 74 73 20 6f 66 20 74 68 65 20 61 67 67 72 65 67 61 o.the.other.parts.of.the.aggrega
a4c20 74 65 2e 0a 0a 20 20 36 2e 20 43 6f 6e 76 65 79 69 6e 67 20 4e 6f 6e 2d 53 6f 75 72 63 65 20 46 te.....6..Conveying.Non-Source.F
a4c40 6f 72 6d 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 orms.....You.may.convey.a.covere
a4c60 64 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 66 6f 72 6d 20 75 6e 64 65 72 d.work.in.object.code.form.under
a4c80 20 74 68 65 20 74 65 72 6d 73 0a 6f 66 20 73 65 63 74 69 6f 6e 73 20 34 20 61 6e 64 20 35 2c 20 .the.terms.of.sections.4.and.5,.
a4ca0 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 63 6f 6e 76 65 79 20 74 68 provided.that.you.also.convey.th
a4cc0 65 0a 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 e.machine-readable.Corresponding
a4ce0 20 53 6f 75 72 63 65 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 .Source.under.the.terms.of.this.
a4d00 4c 69 63 65 6e 73 65 2c 0a 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 77 61 79 73 3a 0a 0a License,.in.one.of.these.ways:..
a4d20 20 20 20 20 61 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e ....a).Convey.the.object.code.in
a4d40 2c 20 6f 72 20 65 6d 62 6f 64 69 65 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f ,.or.embodied.in,.a.physical.pro
a4d60 64 75 63 74 0a 20 20 20 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 duct.....(including.a.physical.d
a4d80 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 istribution.medium),.accompanied
a4da0 20 62 79 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 .by.the.....Corresponding.Source
a4dc0 20 66 69 78 65 64 20 6f 6e 20 61 20 64 75 72 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 6d 65 64 .fixed.on.a.durable.physical.med
a4de0 69 75 6d 0a 20 20 20 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 ium.....customarily.used.for.sof
a4e00 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 2e 0a 0a 20 20 20 20 62 29 20 43 6f 6e 76 65 tware.interchange.......b).Conve
a4e20 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 2c 20 6f 72 20 65 6d 62 6f 64 69 65 y.the.object.code.in,.or.embodie
a4e40 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f 64 75 63 74 0a 20 20 20 20 28 69 6e d.in,.a.physical.product.....(in
a4e60 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 cluding.a.physical.distribution.
a4e80 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 61 0a 20 20 20 20 77 72 medium),.accompanied.by.a.....wr
a4ea0 69 74 74 65 6e 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 itten.offer,.valid.for.at.least.
a4ec0 74 68 72 65 65 20 79 65 61 72 73 20 61 6e 64 20 76 61 6c 69 64 20 66 6f 72 20 61 73 0a 20 20 20 three.years.and.valid.for.as....
a4ee0 20 6c 6f 6e 67 20 61 73 20 79 6f 75 20 6f 66 66 65 72 20 73 70 61 72 65 20 70 61 72 74 73 20 6f .long.as.you.offer.spare.parts.o
a4f00 72 20 63 75 73 74 6f 6d 65 72 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 61 74 20 70 72 6f 64 r.customer.support.for.that.prod
a4f20 75 63 74 0a 20 20 20 20 6d 6f 64 65 6c 2c 20 74 6f 20 67 69 76 65 20 61 6e 79 6f 6e 65 20 77 68 uct.....model,.to.give.anyone.wh
a4f40 6f 20 70 6f 73 73 65 73 73 65 73 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 65 69 74 68 o.possesses.the.object.code.eith
a4f60 65 72 20 28 31 29 20 61 0a 20 20 20 20 63 6f 70 79 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 70 er.(1).a.....copy.of.the.Corresp
a4f80 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 6c 6c 20 74 68 65 20 73 6f 66 74 77 61 onding.Source.for.all.the.softwa
a4fa0 72 65 20 69 6e 20 74 68 65 0a 20 20 20 20 70 72 6f 64 75 63 74 20 74 68 61 74 20 69 73 20 63 6f re.in.the.....product.that.is.co
a4fc0 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 6f 6e 20 61 20 64 75 72 61 vered.by.this.License,.on.a.dura
a4fe0 62 6c 65 20 70 68 79 73 69 63 61 6c 0a 20 20 20 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 ble.physical.....medium.customar
a5000 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 ily.used.for.software.interchang
a5020 65 2c 20 66 6f 72 20 61 20 70 72 69 63 65 20 6e 6f 0a 20 20 20 20 6d 6f 72 65 20 74 68 61 6e 20 e,.for.a.price.no.....more.than.
a5040 79 6f 75 72 20 72 65 61 73 6f 6e 61 62 6c 65 20 63 6f 73 74 20 6f 66 20 70 68 79 73 69 63 61 6c your.reasonable.cost.of.physical
a5060 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 69 73 0a 20 20 20 20 63 6f 6e 76 65 79 69 6e 67 ly.performing.this.....conveying
a5080 20 6f 66 20 73 6f 75 72 63 65 2c 20 6f 72 20 28 32 29 20 61 63 63 65 73 73 20 74 6f 20 63 6f 70 .of.source,.or.(2).access.to.cop
a50a0 79 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 y.the.....Corresponding.Source.f
a50c0 72 6f 6d 20 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 20 61 74 20 6e 6f 20 63 68 61 72 67 rom.a.network.server.at.no.charg
a50e0 65 2e 0a 0a 20 20 20 20 63 29 20 43 6f 6e 76 65 79 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 70 e.......c).Convey.individual.cop
a5100 69 65 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 61 20 63 6f ies.of.the.object.code.with.a.co
a5120 70 79 20 6f 66 20 74 68 65 0a 20 20 20 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 20 74 6f 20 70 py.of.the.....written.offer.to.p
a5140 72 6f 76 69 64 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e rovide.the.Corresponding.Source.
a5160 20 20 54 68 69 73 0a 20 20 20 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 20 61 6c 6c 6f 77 65 ..This.....alternative.is.allowe
a5180 64 20 6f 6e 6c 79 20 6f 63 63 61 73 69 6f 6e 61 6c 6c 79 20 61 6e 64 20 6e 6f 6e 63 6f 6d 6d 65 d.only.occasionally.and.noncomme
a51a0 72 63 69 61 6c 6c 79 2c 20 61 6e 64 0a 20 20 20 20 6f 6e 6c 79 20 69 66 20 79 6f 75 20 72 65 63 rcially,.and.....only.if.you.rec
a51c0 65 69 76 65 64 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 73 75 63 68 20 eived.the.object.code.with.such.
a51e0 61 6e 20 6f 66 66 65 72 2c 20 69 6e 20 61 63 63 6f 72 64 0a 20 20 20 20 77 69 74 68 20 73 75 62 an.offer,.in.accord.....with.sub
a5200 73 65 63 74 69 6f 6e 20 36 62 2e 0a 0a 20 20 20 20 64 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f section.6b.......d).Convey.the.o
a5220 62 6a 65 63 74 20 63 6f 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 20 61 63 63 65 73 73 20 66 72 bject.code.by.offering.access.fr
a5240 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 65 64 0a 20 20 20 20 70 6c 61 63 65 20 28 67 72 61 74 69 om.a.designated.....place.(grati
a5260 73 20 6f 72 20 66 6f 72 20 61 20 63 68 61 72 67 65 29 2c 20 61 6e 64 20 6f 66 66 65 72 20 65 71 s.or.for.a.charge),.and.offer.eq
a5280 75 69 76 61 6c 65 6e 74 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 uivalent.access.to.the.....Corre
a52a0 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 sponding.Source.in.the.same.way.
a52c0 74 68 72 6f 75 67 68 20 74 68 65 20 73 61 6d 65 20 70 6c 61 63 65 20 61 74 20 6e 6f 0a 20 20 20 through.the.same.place.at.no....
a52e0 20 66 75 72 74 68 65 72 20 63 68 61 72 67 65 2e 20 20 59 6f 75 20 6e 65 65 64 20 6e 6f 74 20 72 .further.charge...You.need.not.r
a5300 65 71 75 69 72 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 6f 20 63 6f 70 79 20 74 68 65 0a 20 20 equire.recipients.to.copy.the...
a5320 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 6c 6f 6e 67 20 77 69 74 ..Corresponding.Source.along.wit
a5340 68 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2e 20 20 49 66 20 74 68 65 20 70 6c 61 63 65 h.the.object.code...If.the.place
a5360 20 74 6f 0a 20 20 20 20 63 6f 70 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 .to.....copy.the.object.code.is.
a5380 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 2c 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 a.network.server,.the.Correspond
a53a0 69 6e 67 20 53 6f 75 72 63 65 0a 20 20 20 20 6d 61 79 20 62 65 20 6f 6e 20 61 20 64 69 66 66 65 ing.Source.....may.be.on.a.diffe
a53c0 72 65 6e 74 20 73 65 72 76 65 72 20 28 6f 70 65 72 61 74 65 64 20 62 79 20 79 6f 75 20 6f 72 20 rent.server.(operated.by.you.or.
a53e0 61 20 74 68 69 72 64 20 70 61 72 74 79 29 0a 20 20 20 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 a.third.party).....that.supports
a5400 20 65 71 75 69 76 61 6c 65 6e 74 20 63 6f 70 79 69 6e 67 20 66 61 63 69 6c 69 74 69 65 73 2c 20 .equivalent.copying.facilities,.
a5420 70 72 6f 76 69 64 65 64 20 79 6f 75 20 6d 61 69 6e 74 61 69 6e 0a 20 20 20 20 63 6c 65 61 72 20 provided.you.maintain.....clear.
a5440 64 69 72 65 63 74 69 6f 6e 73 20 6e 65 78 74 20 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f directions.next.to.the.object.co
a5460 64 65 20 73 61 79 69 6e 67 20 77 68 65 72 65 20 74 6f 20 66 69 6e 64 20 74 68 65 0a 20 20 20 20 de.saying.where.to.find.the.....
a5480 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 52 65 67 61 72 64 6c 65 73 Corresponding.Source...Regardles
a54a0 73 20 6f 66 20 77 68 61 74 20 73 65 72 76 65 72 20 68 6f 73 74 73 20 74 68 65 0a 20 20 20 20 43 s.of.what.server.hosts.the.....C
a54c0 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2c 20 79 6f 75 20 72 65 6d 61 69 6e 20 orresponding.Source,.you.remain.
a54e0 6f 62 6c 69 67 61 74 65 64 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 69 74 20 69 73 0a 20 obligated.to.ensure.that.it.is..
a5500 20 20 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 73 20 6c 6f 6e 67 20 61 73 20 6e 65 65 64 ...available.for.as.long.as.need
a5520 65 64 20 74 6f 20 73 61 74 69 73 66 79 20 74 68 65 73 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 ed.to.satisfy.these.requirements
a5540 2e 0a 0a 20 20 20 20 65 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 .......e).Convey.the.object.code
a5560 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e .using.peer-to-peer.transmission
a5580 2c 20 70 72 6f 76 69 64 65 64 0a 20 20 20 20 79 6f 75 20 69 6e 66 6f 72 6d 20 6f 74 68 65 72 20 ,.provided.....you.inform.other.
a55a0 70 65 65 72 73 20 77 68 65 72 65 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 20 peers.where.the.object.code.and.
a55c0 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 Corresponding.....Source.of.the.
a55e0 77 6f 72 6b 20 61 72 65 20 62 65 69 6e 67 20 6f 66 66 65 72 65 64 20 74 6f 20 74 68 65 20 67 65 work.are.being.offered.to.the.ge
a5600 6e 65 72 61 6c 20 70 75 62 6c 69 63 20 61 74 20 6e 6f 0a 20 20 20 20 63 68 61 72 67 65 20 75 6e neral.public.at.no.....charge.un
a5620 64 65 72 20 73 75 62 73 65 63 74 69 6f 6e 20 36 64 2e 0a 0a 20 20 41 20 73 65 70 61 72 61 62 6c der.subsection.6d.....A.separabl
a5640 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2c 20 77 68 e.portion.of.the.object.code,.wh
a5660 6f 73 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 65 78 63 6c 75 64 65 64 0a 66 72 6f 6d ose.source.code.is.excluded.from
a5680 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 73 20 61 20 53 .the.Corresponding.Source.as.a.S
a56a0 79 73 74 65 6d 20 4c 69 62 72 61 72 79 2c 20 6e 65 65 64 20 6e 6f 74 20 62 65 0a 69 6e 63 6c 75 ystem.Library,.need.not.be.inclu
a56c0 64 65 64 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 ded.in.conveying.the.object.code
a56e0 20 77 6f 72 6b 2e 0a 0a 20 20 41 20 22 55 73 65 72 20 50 72 6f 64 75 63 74 22 20 69 73 20 65 69 .work.....A."User.Product".is.ei
a5700 74 68 65 72 20 28 31 29 20 61 20 22 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 22 2c 20 77 ther.(1).a."consumer.product",.w
a5720 68 69 63 68 20 6d 65 61 6e 73 20 61 6e 79 0a 74 61 6e 67 69 62 6c 65 20 70 65 72 73 6f 6e 61 6c hich.means.any.tangible.personal
a5740 20 70 72 6f 70 65 72 74 79 20 77 68 69 63 68 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 .property.which.is.normally.used
a5760 20 66 6f 72 20 70 65 72 73 6f 6e 61 6c 2c 20 66 61 6d 69 6c 79 2c 0a 6f 72 20 68 6f 75 73 65 68 .for.personal,.family,.or.househ
a5780 6f 6c 64 20 70 75 72 70 6f 73 65 73 2c 20 6f 72 20 28 32 29 20 61 6e 79 74 68 69 6e 67 20 64 65 old.purposes,.or.(2).anything.de
a57a0 73 69 67 6e 65 64 20 6f 72 20 73 6f 6c 64 20 66 6f 72 20 69 6e 63 6f 72 70 6f 72 61 74 69 6f 6e signed.or.sold.for.incorporation
a57c0 0a 69 6e 74 6f 20 61 20 64 77 65 6c 6c 69 6e 67 2e 20 20 49 6e 20 64 65 74 65 72 6d 69 6e 69 6e .into.a.dwelling...In.determinin
a57e0 67 20 77 68 65 74 68 65 72 20 61 20 70 72 6f 64 75 63 74 20 69 73 20 61 20 63 6f 6e 73 75 6d 65 g.whether.a.product.is.a.consume
a5800 72 20 70 72 6f 64 75 63 74 2c 0a 64 6f 75 62 74 66 75 6c 20 63 61 73 65 73 20 73 68 61 6c 6c 20 r.product,.doubtful.cases.shall.
a5820 62 65 20 72 65 73 6f 6c 76 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 20 63 6f 76 65 72 61 67 65 be.resolved.in.favor.of.coverage
a5840 2e 20 20 46 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 0a 70 72 6f 64 75 63 74 20 72 65 63 65 ...For.a.particular.product.rece
a5860 69 76 65 64 20 62 79 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 2c 20 22 6e 6f 72 6d ived.by.a.particular.user,."norm
a5880 61 6c 6c 79 20 75 73 65 64 22 20 72 65 66 65 72 73 20 74 6f 20 61 0a 74 79 70 69 63 61 6c 20 6f ally.used".refers.to.a.typical.o
a58a0 72 20 63 6f 6d 6d 6f 6e 20 75 73 65 20 6f 66 20 74 68 61 74 20 63 6c 61 73 73 20 6f 66 20 70 72 r.common.use.of.that.class.of.pr
a58c0 6f 64 75 63 74 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 65 20 73 74 61 74 75 73 0a oduct,.regardless.of.the.status.
a58e0 6f 66 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 20 6f 72 20 6f 66 20 74 68 65 of.the.particular.user.or.of.the
a5900 20 77 61 79 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 .way.in.which.the.particular.use
a5920 72 0a 61 63 74 75 61 6c 6c 79 20 75 73 65 73 2c 20 6f 72 20 65 78 70 65 63 74 73 20 6f 72 20 69 r.actually.uses,.or.expects.or.i
a5940 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 75 73 65 2c 20 74 68 65 20 70 72 6f 64 75 63 74 2e 20 s.expected.to.use,.the.product..
a5960 20 41 20 70 72 6f 64 75 63 74 0a 69 73 20 61 20 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 .A.product.is.a.consumer.product
a5980 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 74 68 65 20 70 72 6f 64 75 .regardless.of.whether.the.produ
a59a0 63 74 20 68 61 73 20 73 75 62 73 74 61 6e 74 69 61 6c 0a 63 6f 6d 6d 65 72 63 69 61 6c 2c 20 69 ct.has.substantial.commercial,.i
a59c0 6e 64 75 73 74 72 69 61 6c 20 6f 72 20 6e 6f 6e 2d 63 6f 6e 73 75 6d 65 72 20 75 73 65 73 2c 20 ndustrial.or.non-consumer.uses,.
a59e0 75 6e 6c 65 73 73 20 73 75 63 68 20 75 73 65 73 20 72 65 70 72 65 73 65 6e 74 0a 74 68 65 20 6f unless.such.uses.represent.the.o
a5a00 6e 6c 79 20 73 69 67 6e 69 66 69 63 61 6e 74 20 6d 6f 64 65 20 6f 66 20 75 73 65 20 6f 66 20 74 nly.significant.mode.of.use.of.t
a5a20 68 65 20 70 72 6f 64 75 63 74 2e 0a 0a 20 20 22 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 he.product....."Installation.Inf
a5a40 6f 72 6d 61 74 69 6f 6e 22 20 66 6f 72 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 6d 65 61 ormation".for.a.User.Product.mea
a5a60 6e 73 20 61 6e 79 20 6d 65 74 68 6f 64 73 2c 0a 70 72 6f 63 65 64 75 72 65 73 2c 20 61 75 74 68 ns.any.methods,.procedures,.auth
a5a80 6f 72 69 7a 61 74 69 6f 6e 20 6b 65 79 73 2c 20 6f 72 20 6f 74 68 65 72 20 69 6e 66 6f 72 6d 61 orization.keys,.or.other.informa
a5aa0 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 0a 61 6e 64 20 65 78 65 tion.required.to.install.and.exe
a5ac0 63 75 74 65 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 20 63 6f 76 65 cute.modified.versions.of.a.cove
a5ae0 72 65 64 20 77 6f 72 6b 20 69 6e 20 74 68 61 74 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 66 72 red.work.in.that.User.Product.fr
a5b00 6f 6d 0a 61 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 73 20 43 6f 72 om.a.modified.version.of.its.Cor
a5b20 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 54 68 65 20 69 6e 66 6f 72 6d 61 74 responding.Source...The.informat
a5b40 69 6f 6e 20 6d 75 73 74 0a 73 75 66 66 69 63 65 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 ion.must.suffice.to.ensure.that.
a5b60 74 68 65 20 63 6f 6e 74 69 6e 75 65 64 20 66 75 6e 63 74 69 6f 6e 69 6e 67 20 6f 66 20 74 68 65 the.continued.functioning.of.the
a5b80 20 6d 6f 64 69 66 69 65 64 20 6f 62 6a 65 63 74 0a 63 6f 64 65 20 69 73 20 69 6e 20 6e 6f 20 63 .modified.object.code.is.in.no.c
a5ba0 61 73 65 20 70 72 65 76 65 6e 74 65 64 20 6f 72 20 69 6e 74 65 72 66 65 72 65 64 20 77 69 74 68 ase.prevented.or.interfered.with
a5bc0 20 73 6f 6c 65 6c 79 20 62 65 63 61 75 73 65 0a 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 68 61 73 .solely.because.modification.has
a5be0 20 62 65 65 6e 20 6d 61 64 65 2e 0a 0a 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 6e 20 .been.made.....If.you.convey.an.
a5c00 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 object.code.work.under.this.sect
a5c20 69 6f 6e 20 69 6e 2c 20 6f 72 20 77 69 74 68 2c 20 6f 72 0a 73 70 65 63 69 66 69 63 61 6c 6c 79 ion.in,.or.with,.or.specifically
a5c40 20 66 6f 72 20 75 73 65 20 69 6e 2c 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 2c 20 61 6e 64 .for.use.in,.a.User.Product,.and
a5c60 20 74 68 65 20 63 6f 6e 76 65 79 69 6e 67 20 6f 63 63 75 72 73 20 61 73 0a 70 61 72 74 20 6f 66 .the.conveying.occurs.as.part.of
a5c80 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 72 69 67 68 .a.transaction.in.which.the.righ
a5ca0 74 20 6f 66 20 70 6f 73 73 65 73 73 69 6f 6e 20 61 6e 64 20 75 73 65 20 6f 66 20 74 68 65 0a 55 t.of.possession.and.use.of.the.U
a5cc0 73 65 72 20 50 72 6f 64 75 63 74 20 69 73 20 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 74 68 ser.Product.is.transferred.to.th
a5ce0 65 20 72 65 63 69 70 69 65 6e 74 20 69 6e 20 70 65 72 70 65 74 75 69 74 79 20 6f 72 20 66 6f 72 e.recipient.in.perpetuity.or.for
a5d00 20 61 0a 66 69 78 65 64 20 74 65 72 6d 20 28 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f 77 .a.fixed.term.(regardless.of.how
a5d20 20 74 68 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 73 20 63 68 61 72 61 63 74 65 72 69 7a 65 .the.transaction.is.characterize
a5d40 64 29 2c 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 63 6f 6e d),.the.Corresponding.Source.con
a5d60 76 65 79 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 veyed.under.this.section.must.be
a5d80 20 61 63 63 6f 6d 70 61 6e 69 65 64 0a 62 79 20 74 68 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e .accompanied.by.the.Installation
a5da0 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 42 75 74 20 74 68 69 73 20 72 65 71 75 69 72 65 6d .Information...But.this.requirem
a5dc0 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 0a 69 66 20 6e 65 69 74 68 65 72 20 79 6f ent.does.not.apply.if.neither.yo
a5de0 75 20 6e 6f 72 20 61 6e 79 20 74 68 69 72 64 20 70 61 72 74 79 20 72 65 74 61 69 6e 73 20 74 68 u.nor.any.third.party.retains.th
a5e00 65 20 61 62 69 6c 69 74 79 20 74 6f 20 69 6e 73 74 61 6c 6c 0a 6d 6f 64 69 66 69 65 64 20 6f 62 e.ability.to.install.modified.ob
a5e20 6a 65 63 74 20 63 6f 64 65 20 6f 6e 20 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 28 66 ject.code.on.the.User.Product.(f
a5e40 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 77 6f 72 6b 20 68 61 73 0a 62 65 65 6e 20 69 6e or.example,.the.work.has.been.in
a5e60 73 74 61 6c 6c 65 64 20 69 6e 20 52 4f 4d 29 2e 0a 0a 20 20 54 68 65 20 72 65 71 75 69 72 65 6d stalled.in.ROM).....The.requirem
a5e80 65 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f ent.to.provide.Installation.Info
a5ea0 72 6d 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 0a 72 65 71 75 69 rmation.does.not.include.a.requi
a5ec0 72 65 6d 65 6e 74 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 70 72 6f 76 69 64 65 20 73 75 rement.to.continue.to.provide.su
a5ee0 70 70 6f 72 74 20 73 65 72 76 69 63 65 2c 20 77 61 72 72 61 6e 74 79 2c 20 6f 72 20 75 70 64 61 pport.service,.warranty,.or.upda
a5f00 74 65 73 0a 66 6f 72 20 61 20 77 6f 72 6b 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 tes.for.a.work.that.has.been.mod
a5f20 69 66 69 65 64 20 6f 72 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 74 68 65 20 72 65 63 69 70 69 ified.or.installed.by.the.recipi
a5f40 65 6e 74 2c 20 6f 72 20 66 6f 72 0a 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 6e 20 ent,.or.for.the.User.Product.in.
a5f60 77 68 69 63 68 20 69 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 6e which.it.has.been.modified.or.in
a5f80 73 74 61 6c 6c 65 64 2e 20 20 41 63 63 65 73 73 20 74 6f 20 61 0a 6e 65 74 77 6f 72 6b 20 6d 61 stalled...Access.to.a.network.ma
a5fa0 79 20 62 65 20 64 65 6e 69 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f y.be.denied.when.the.modificatio
a5fc0 6e 20 69 74 73 65 6c 66 20 6d 61 74 65 72 69 61 6c 6c 79 20 61 6e 64 0a 61 64 76 65 72 73 65 6c n.itself.materially.and.adversel
a5fe0 79 20 61 66 66 65 63 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6e y.affects.the.operation.of.the.n
a6000 65 74 77 6f 72 6b 20 6f 72 20 76 69 6f 6c 61 74 65 73 20 74 68 65 20 72 75 6c 65 73 20 61 6e 64 etwork.or.violates.the.rules.and
a6020 0a 70 72 6f 74 6f 63 6f 6c 73 20 66 6f 72 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 61 63 72 .protocols.for.communication.acr
a6040 6f 73 73 20 74 68 65 20 6e 65 74 77 6f 72 6b 2e 0a 0a 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e oss.the.network.....Correspondin
a6060 67 20 53 6f 75 72 63 65 20 63 6f 6e 76 65 79 65 64 2c 20 61 6e 64 20 49 6e 73 74 61 6c 6c 61 74 g.Source.conveyed,.and.Installat
a6080 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 2c 0a 69 6e 20 61 63 63 ion.Information.provided,.in.acc
a60a0 6f 72 64 20 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 69 6e ord.with.this.section.must.be.in
a60c0 20 61 20 66 6f 72 6d 61 74 20 74 68 61 74 20 69 73 20 70 75 62 6c 69 63 6c 79 0a 64 6f 63 75 6d .a.format.that.is.publicly.docum
a60e0 65 6e 74 65 64 20 28 61 6e 64 20 77 69 74 68 20 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f ented.(and.with.an.implementatio
a6100 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 69 6e 0a 73 6f 75 n.available.to.the.public.in.sou
a6120 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 29 2c 20 61 6e 64 20 6d 75 73 74 20 72 65 71 75 69 72 65 rce.code.form),.and.must.require
a6140 20 6e 6f 20 73 70 65 63 69 61 6c 20 70 61 73 73 77 6f 72 64 20 6f 72 20 6b 65 79 20 66 6f 72 0a .no.special.password.or.key.for.
a6160 75 6e 70 61 63 6b 69 6e 67 2c 20 72 65 61 64 69 6e 67 20 6f 72 20 63 6f 70 79 69 6e 67 2e 0a 0a unpacking,.reading.or.copying...
a6180 20 20 37 2e 20 41 64 64 69 74 69 6f 6e 61 6c 20 54 65 72 6d 73 2e 0a 0a 20 20 22 41 64 64 69 74 ..7..Additional.Terms....."Addit
a61a0 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 22 20 61 72 65 20 74 65 72 6d 73 20 74 68 61 ional.permissions".are.terms.tha
a61c0 74 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 0a 4c t.supplement.the.terms.of.this.L
a61e0 69 63 65 6e 73 65 20 62 79 20 6d 61 6b 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 20 66 72 6f 6d icense.by.making.exceptions.from
a6200 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 69 74 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a .one.or.more.of.its.conditions..
a6220 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 Additional.permissions.that.are.
a6240 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 74 68 65 20 65 6e 74 69 72 65 20 50 72 6f 67 72 61 6d applicable.to.the.entire.Program
a6260 20 73 68 61 6c 6c 0a 62 65 20 74 72 65 61 74 65 64 20 61 73 20 74 68 6f 75 67 68 20 74 68 65 79 .shall.be.treated.as.though.they
a6280 20 77 65 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 .were.included.in.this.License,.
a62a0 74 6f 20 74 68 65 20 65 78 74 65 6e 74 0a 74 68 61 74 20 74 68 65 79 20 61 72 65 20 76 61 6c 69 to.the.extent.that.they.are.vali
a62c0 64 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 2e 20 20 49 66 20 61 64 64 69 d.under.applicable.law...If.addi
a62e0 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 0a 61 70 70 6c 79 20 6f 6e 6c 79 20 74 6f tional.permissions.apply.only.to
a6300 20 70 61 72 74 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 61 74 20 70 61 72 74 20 .part.of.the.Program,.that.part.
a6320 6d 61 79 20 62 65 20 75 73 65 64 20 73 65 70 61 72 61 74 65 6c 79 0a 75 6e 64 65 72 20 74 68 6f may.be.used.separately.under.tho
a6340 73 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 62 75 74 20 74 68 65 20 65 6e 74 69 72 65 20 50 se.permissions,.but.the.entire.P
a6360 72 6f 67 72 61 6d 20 72 65 6d 61 69 6e 73 20 67 6f 76 65 72 6e 65 64 20 62 79 0a 74 68 69 73 20 rogram.remains.governed.by.this.
a6380 4c 69 63 65 6e 73 65 20 77 69 74 68 6f 75 74 20 72 65 67 61 72 64 20 74 6f 20 74 68 65 20 61 64 License.without.regard.to.the.ad
a63a0 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 20 20 57 68 65 6e 20 79 6f ditional.permissions.....When.yo
a63c0 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 70 79 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 u.convey.a.copy.of.a.covered.wor
a63e0 6b 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 0a 72 65 6d 6f 76 65 k,.you.may.at.your.option.remove
a6400 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 72 6f 6d .any.additional.permissions.from
a6420 20 74 68 61 74 20 63 6f 70 79 2c 20 6f 72 20 66 72 6f 6d 20 61 6e 79 20 70 61 72 74 20 6f 66 0a .that.copy,.or.from.any.part.of.
a6440 69 74 2e 20 20 28 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6d 61 79 it...(Additional.permissions.may
a6460 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 72 65 71 75 69 72 65 20 74 68 65 69 72 20 6f 77 6e .be.written.to.require.their.own
a6480 0a 72 65 6d 6f 76 61 6c 20 69 6e 20 63 65 72 74 61 69 6e 20 63 61 73 65 73 20 77 68 65 6e 20 79 .removal.in.certain.cases.when.y
a64a0 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 6b 2e 29 20 20 59 6f 75 20 6d 61 79 20 70 6c ou.modify.the.work.)..You.may.pl
a64c0 61 63 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f 6e 20 6d 61 ace.additional.permissions.on.ma
a64e0 74 65 72 69 61 6c 2c 20 61 64 64 65 64 20 62 79 20 79 6f 75 20 74 6f 20 61 20 63 6f 76 65 72 65 terial,.added.by.you.to.a.covere
a6500 64 20 77 6f 72 6b 2c 0a 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 68 61 76 65 20 6f 72 20 63 61 d.work,.for.which.you.have.or.ca
a6520 6e 20 67 69 76 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 70 65 72 n.give.appropriate.copyright.per
a6540 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e 79 20 mission.....Notwithstanding.any.
a6560 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c other.provision.of.this.License,
a6580 20 66 6f 72 20 6d 61 74 65 72 69 61 6c 20 79 6f 75 0a 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 .for.material.you.add.to.a.cover
a65a0 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 6d 61 79 20 28 69 66 20 61 75 74 68 6f 72 69 7a 65 64 20 ed.work,.you.may.(if.authorized.
a65c0 62 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 73 20 6f 66 0a 74 68 61 74 by.the.copyright.holders.of.that
a65e0 20 6d 61 74 65 72 69 61 6c 29 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 .material).supplement.the.terms.
a6600 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 74 65 72 6d 73 3a 0a 0a 20 20 20 of.this.License.with.terms:.....
a6620 20 61 29 20 44 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 72 61 6e 74 79 20 6f 72 20 6c 69 6d 69 .a).Disclaiming.warranty.or.limi
a6640 74 69 6e 67 20 6c 69 61 62 69 6c 69 74 79 20 64 69 66 66 65 72 65 6e 74 6c 79 20 66 72 6f 6d 20 ting.liability.differently.from.
a6660 74 68 65 0a 20 20 20 20 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 31 35 20 61 6e 64 the.....terms.of.sections.15.and
a6680 20 31 36 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 3b 20 6f 72 0a 0a 20 20 20 20 62 29 20 .16.of.this.License;.or......b).
a66a0 52 65 71 75 69 72 69 6e 67 20 70 72 65 73 65 72 76 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 66 Requiring.preservation.of.specif
a66c0 69 65 64 20 72 65 61 73 6f 6e 61 62 6c 65 20 6c 65 67 61 6c 20 6e 6f 74 69 63 65 73 20 6f 72 0a ied.reasonable.legal.notices.or.
a66e0 20 20 20 20 61 75 74 68 6f 72 20 61 74 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 74 68 61 74 20 ....author.attributions.in.that.
a6700 6d 61 74 65 72 69 61 6c 20 6f 72 20 69 6e 20 74 68 65 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c material.or.in.the.Appropriate.L
a6720 65 67 61 6c 0a 20 20 20 20 4e 6f 74 69 63 65 73 20 64 69 73 70 6c 61 79 65 64 20 62 79 20 77 6f egal.....Notices.displayed.by.wo
a6740 72 6b 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 74 3b 20 6f 72 0a 0a 20 20 20 20 63 29 20 50 72 rks.containing.it;.or......c).Pr
a6760 6f 68 69 62 69 74 69 6e 67 20 6d 69 73 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 ohibiting.misrepresentation.of.t
a6780 68 65 20 6f 72 69 67 69 6e 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 2c 20 6f 72 0a 20 he.origin.of.that.material,.or..
a67a0 20 20 20 72 65 71 75 69 72 69 6e 67 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 ...requiring.that.modified.versi
a67c0 6f 6e 73 20 6f 66 20 73 75 63 68 20 6d 61 74 65 72 69 61 6c 20 62 65 20 6d 61 72 6b 65 64 20 69 ons.of.such.material.be.marked.i
a67e0 6e 0a 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 65 20 77 61 79 73 20 61 73 20 64 69 66 66 65 72 65 n.....reasonable.ways.as.differe
a6800 6e 74 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 3b 20 6f 72 nt.from.the.original.version;.or
a6820 0a 0a 20 20 20 20 64 29 20 4c 69 6d 69 74 69 6e 67 20 74 68 65 20 75 73 65 20 66 6f 72 20 70 75 ......d).Limiting.the.use.for.pu
a6840 62 6c 69 63 69 74 79 20 70 75 72 70 6f 73 65 73 20 6f 66 20 6e 61 6d 65 73 20 6f 66 20 6c 69 63 blicity.purposes.of.names.of.lic
a6860 65 6e 73 6f 72 73 20 6f 72 0a 20 20 20 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 6d 61 74 ensors.or.....authors.of.the.mat
a6880 65 72 69 61 6c 3b 20 6f 72 0a 0a 20 20 20 20 65 29 20 44 65 63 6c 69 6e 69 6e 67 20 74 6f 20 67 erial;.or......e).Declining.to.g
a68a0 72 61 6e 74 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 72 61 64 65 6d 61 72 6b 20 6c 61 77 20 rant.rights.under.trademark.law.
a68c0 66 6f 72 20 75 73 65 20 6f 66 20 73 6f 6d 65 0a 20 20 20 20 74 72 61 64 65 20 6e 61 6d 65 73 2c for.use.of.some.....trade.names,
a68e0 20 74 72 61 64 65 6d 61 72 6b 73 2c 20 6f 72 20 73 65 72 76 69 63 65 20 6d 61 72 6b 73 3b 20 6f .trademarks,.or.service.marks;.o
a6900 72 0a 0a 20 20 20 20 66 29 20 52 65 71 75 69 72 69 6e 67 20 69 6e 64 65 6d 6e 69 66 69 63 61 74 r......f).Requiring.indemnificat
a6920 69 6f 6e 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 20 6f 66 20 ion.of.licensors.and.authors.of.
a6940 74 68 61 74 0a 20 20 20 20 6d 61 74 65 72 69 61 6c 20 62 79 20 61 6e 79 6f 6e 65 20 77 68 6f 20 that.....material.by.anyone.who.
a6960 63 6f 6e 76 65 79 73 20 74 68 65 20 6d 61 74 65 72 69 61 6c 20 28 6f 72 20 6d 6f 64 69 66 69 65 conveys.the.material.(or.modifie
a6980 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 20 20 20 20 69 74 29 20 77 69 74 68 20 63 6f 6e 74 72 d.versions.of.....it).with.contr
a69a0 61 63 74 75 61 6c 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 actual.assumptions.of.liability.
a69c0 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 2c 20 66 6f 72 0a 20 20 20 20 61 6e 79 20 6c 69 to.the.recipient,.for.....any.li
a69e0 61 62 69 6c 69 74 79 20 74 68 61 74 20 74 68 65 73 65 20 63 6f 6e 74 72 61 63 74 75 61 6c 20 61 ability.that.these.contractual.a
a6a00 73 73 75 6d 70 74 69 6f 6e 73 20 64 69 72 65 63 74 6c 79 20 69 6d 70 6f 73 65 20 6f 6e 0a 20 20 ssumptions.directly.impose.on...
a6a20 20 20 74 68 6f 73 65 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 2e 0a 0a ..those.licensors.and.authors...
a6a40 20 20 41 6c 6c 20 6f 74 68 65 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 61 64 64 69 74 ..All.other.non-permissive.addit
a6a60 69 6f 6e 61 6c 20 74 65 72 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 22 66 75 72 74 ional.terms.are.considered."furt
a6a80 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 22 20 77 69 74 68 69 6e 20 74 68 65 20 6d 65 61 her.restrictions".within.the.mea
a6aa0 6e 69 6e 67 20 6f 66 20 73 65 63 74 69 6f 6e 20 31 30 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 ning.of.section.10...If.the.Prog
a6ac0 72 61 6d 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 64 20 69 74 2c 20 6f 72 20 61 6e 79 20 70 ram.as.you.received.it,.or.any.p
a6ae0 61 72 74 20 6f 66 20 69 74 2c 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 6f 74 69 63 65 20 73 74 61 art.of.it,.contains.a.notice.sta
a6b00 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 69 73 ting.that.it.is.governed.by.this
a6b20 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 20 74 65 72 6d 20 74 68 61 74 20 .License.along.with.a.term.that.
a6b40 69 73 20 61 20 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 79 6f 75 20 6d 61 is.a.further.restriction,.you.ma
a6b60 79 20 72 65 6d 6f 76 65 20 74 68 61 74 20 74 65 72 6d 2e 20 20 49 66 20 61 20 6c 69 63 65 6e 73 y.remove.that.term...If.a.licens
a6b80 65 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 0a 61 20 66 75 72 74 68 65 72 20 72 65 e.document.contains.a.further.re
a6ba0 73 74 72 69 63 74 69 6f 6e 20 62 75 74 20 70 65 72 6d 69 74 73 20 72 65 6c 69 63 65 6e 73 69 6e striction.but.permits.relicensin
a6bc0 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 g.or.conveying.under.this.Licens
a6be0 65 2c 20 79 6f 75 20 6d 61 79 20 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b e,.you.may.add.to.a.covered.work
a6c00 20 6d 61 74 65 72 69 61 6c 20 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 65 20 74 65 72 6d 73 0a .material.governed.by.the.terms.
a6c20 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 70 72 6f 76 69 64 of.that.license.document,.provid
a6c40 65 64 20 74 68 61 74 20 74 68 65 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 6f 6e 20 ed.that.the.further.restriction.
a6c60 64 6f 65 73 0a 6e 6f 74 20 73 75 72 76 69 76 65 20 73 75 63 68 20 72 65 6c 69 63 65 6e 73 69 6e does.not.survive.such.relicensin
a6c80 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 49 66 20 79 6f 75 20 61 64 64 20 74 65 g.or.conveying.....If.you.add.te
a6ca0 72 6d 73 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 63 63 6f 72 64 20 rms.to.a.covered.work.in.accord.
a6cc0 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 2c 20 79 6f 75 0a 6d 75 73 74 20 70 6c 61 63 with.this.section,.you.must.plac
a6ce0 65 2c 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2c e,.in.the.relevant.source.files,
a6d00 20 61 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 74 .a.statement.of.the.additional.t
a6d20 65 72 6d 73 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f 73 65 20 66 69 6c 65 73 2c 20 erms.that.apply.to.those.files,.
a6d40 6f 72 20 61 20 6e 6f 74 69 63 65 20 69 6e 64 69 63 61 74 69 6e 67 0a 77 68 65 72 65 20 74 6f 20 or.a.notice.indicating.where.to.
a6d60 66 69 6e 64 20 74 68 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 65 72 6d 73 2e 0a 0a 20 20 41 64 find.the.applicable.terms.....Ad
a6d80 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 70 65 72 6d 69 73 73 69 76 65 20 6f 72 20 6e 6f ditional.terms,.permissive.or.no
a6da0 6e 2d 70 65 72 6d 69 73 73 69 76 65 2c 20 6d 61 79 20 62 65 20 73 74 61 74 65 64 20 69 6e 20 74 n-permissive,.may.be.stated.in.t
a6dc0 68 65 0a 66 6f 72 6d 20 6f 66 20 61 20 73 65 70 61 72 61 74 65 6c 79 20 77 72 69 74 74 65 6e 20 he.form.of.a.separately.written.
a6de0 6c 69 63 65 6e 73 65 2c 20 6f 72 20 73 74 61 74 65 64 20 61 73 20 65 78 63 65 70 74 69 6f 6e 73 license,.or.stated.as.exceptions
a6e00 3b 0a 74 68 65 20 61 62 6f 76 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 70 70 6c 79 20 65 ;.the.above.requirements.apply.e
a6e20 69 74 68 65 72 20 77 61 79 2e 0a 0a 20 20 38 2e 20 54 65 72 6d 69 6e 61 74 69 6f 6e 2e 0a 0a 20 ither.way.....8..Termination....
a6e40 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 6f 72 20 6d 6f 64 69 66 79 .You.may.not.propagate.or.modify
a6e60 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 .a.covered.work.except.as.expres
a6e80 73 6c 79 0a 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e sly.provided.under.this.License.
a6ea0 20 20 41 6e 79 20 61 74 74 65 6d 70 74 20 6f 74 68 65 72 77 69 73 65 20 74 6f 20 70 72 6f 70 61 ..Any.attempt.otherwise.to.propa
a6ec0 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 69 74 20 69 73 20 76 6f 69 64 2c 20 61 6e 64 20 77 gate.or.modify.it.is.void,.and.w
a6ee0 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 ill.automatically.terminate.your
a6f00 20 72 69 67 68 74 73 20 75 6e 64 65 72 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 69 6e 63 6c .rights.under.this.License.(incl
a6f20 75 64 69 6e 67 20 61 6e 79 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 20 67 72 61 6e 74 65 uding.any.patent.licenses.grante
a6f40 64 20 75 6e 64 65 72 20 74 68 65 20 74 68 69 72 64 0a 70 61 72 61 67 72 61 70 68 20 6f 66 20 73 d.under.the.third.paragraph.of.s
a6f60 65 63 74 69 6f 6e 20 31 31 29 2e 0a 0a 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f 75 20 63 ection.11).....However,.if.you.c
a6f80 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e ease.all.violation.of.this.Licen
a6fa0 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 0a 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 61 20 70 61 72 se,.then.your.license.from.a.par
a6fc0 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 20 72 65 69 6e ticular.copyright.holder.is.rein
a6fe0 73 74 61 74 65 64 20 28 61 29 0a 70 72 6f 76 69 73 69 6f 6e 61 6c 6c 79 2c 20 75 6e 6c 65 73 73 stated.(a).provisionally,.unless
a7000 20 61 6e 64 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 .and.until.the.copyright.holder.
a7020 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 0a 66 69 6e 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 explicitly.and.finally.terminate
a7040 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 2c 20 61 6e 64 20 28 62 29 20 70 65 72 6d 61 6e 65 6e s.your.license,.and.(b).permanen
a7060 74 6c 79 2c 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 0a 68 6f 6c 64 65 72 20 66 61 69 tly,.if.the.copyright.holder.fai
a7080 6c 73 20 74 6f 20 6e 6f 74 69 66 79 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f 6c 61 74 69 6f ls.to.notify.you.of.the.violatio
a70a0 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 0a 70 72 69 6f 72 n.by.some.reasonable.means.prior
a70c0 20 74 6f 20 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 74 69 6f 6e 2e .to.60.days.after.the.cessation.
a70e0 0a 0a 20 20 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 ....Moreover,.your.license.from.
a7100 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 a.particular.copyright.holder.is
a7120 0a 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 65 20 63 .reinstated.permanently.if.the.c
a7140 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 6f 66 20 opyright.holder.notifies.you.of.
a7160 74 68 65 0a 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 the.violation.by.some.reasonable
a7180 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 .means,.this.is.the.first.time.y
a71a0 6f 75 20 68 61 76 65 0a 72 65 63 65 69 76 65 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 6f 6c 61 ou.have.received.notice.of.viola
a71c0 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 66 6f 72 20 61 6e 79 20 77 6f tion.of.this.License.(for.any.wo
a71e0 72 6b 29 20 66 72 6f 6d 20 74 68 61 74 0a 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 rk).from.that.copyright.holder,.
a7200 61 6e 64 20 79 6f 75 20 63 75 72 65 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 69 6f 72 and.you.cure.the.violation.prior
a7220 20 74 6f 20 33 30 20 64 61 79 73 20 61 66 74 65 72 0a 79 6f 75 72 20 72 65 63 65 69 70 74 20 6f .to.30.days.after.your.receipt.o
a7240 66 20 74 68 65 20 6e 6f 74 69 63 65 2e 0a 0a 20 20 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 f.the.notice.....Termination.of.
a7260 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 64 your.rights.under.this.section.d
a7280 6f 65 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 0a 6c 69 63 65 6e 73 65 73 20 6f oes.not.terminate.the.licenses.o
a72a0 66 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 69 f.parties.who.have.received.copi
a72c0 65 73 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a 74 68 69 73 es.or.rights.from.you.under.this
a72e0 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 20 62 .License...If.your.rights.have.b
a7300 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 20 70 65 72 6d 61 6e 65 6e 74 een.terminated.and.not.permanent
a7320 6c 79 0a 72 65 69 6e 73 74 61 74 65 64 2c 20 79 6f 75 20 64 6f 20 6e 6f 74 20 71 75 61 6c 69 66 ly.reinstated,.you.do.not.qualif
a7340 79 20 74 6f 20 72 65 63 65 69 76 65 20 6e 65 77 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 74 68 y.to.receive.new.licenses.for.th
a7360 65 20 73 61 6d 65 0a 6d 61 74 65 72 69 61 6c 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 20 31 30 e.same.material.under.section.10
a7380 2e 0a 0a 20 20 39 2e 20 41 63 63 65 70 74 61 6e 63 65 20 4e 6f 74 20 52 65 71 75 69 72 65 64 20 .....9..Acceptance.Not.Required.
a73a0 66 6f 72 20 48 61 76 69 6e 67 20 43 6f 70 69 65 73 2e 0a 0a 20 20 59 6f 75 20 61 72 65 20 6e 6f for.Having.Copies.....You.are.no
a73c0 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 t.required.to.accept.this.Licens
a73e0 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 63 65 69 76 65 20 6f 72 0a 72 75 6e 20 61 20 63 e.in.order.to.receive.or.run.a.c
a7400 6f 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 20 20 41 6e 63 69 6c 6c 61 72 79 20 70 opy.of.the.Program...Ancillary.p
a7420 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 6f 63 63 ropagation.of.a.covered.work.occ
a7440 75 72 72 69 6e 67 20 73 6f 6c 65 6c 79 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f urring.solely.as.a.consequence.o
a7460 66 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 73 73 69 6f f.using.peer-to-peer.transmissio
a7480 6e 0a 74 6f 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6c 69 6b 65 77 69 73 65 20 64 6f 65 n.to.receive.a.copy.likewise.doe
a74a0 73 20 6e 6f 74 20 72 65 71 75 69 72 65 20 61 63 63 65 70 74 61 6e 63 65 2e 20 20 48 6f 77 65 76 s.not.require.acceptance...Howev
a74c0 65 72 2c 0a 6e 6f 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 20 4c 69 63 65 er,.nothing.other.than.this.Lice
a74e0 6e 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 6f nse.grants.you.permission.to.pro
a7500 70 61 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 pagate.or.modify.any.covered.wor
a7520 6b 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 69 6e 66 72 69 6e 67 65 20 63 6f 70 79 72 k...These.actions.infringe.copyr
a7540 69 67 68 74 20 69 66 20 79 6f 75 20 64 6f 0a 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 73 20 4c ight.if.you.do.not.accept.this.L
a7560 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 20 6d 6f 64 69 66 79 69 6e 67 icense...Therefore,.by.modifying
a7580 20 6f 72 20 70 72 6f 70 61 67 61 74 69 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 .or.propagating.a.covered.work,.
a75a0 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 you.indicate.your.acceptance.of.
a75c0 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2e 0a 0a 20 20 31 30 2e 20 41 75 this.License.to.do.so.....10..Au
a75e0 74 6f 6d 61 74 69 63 20 4c 69 63 65 6e 73 69 6e 67 20 6f 66 20 44 6f 77 6e 73 74 72 65 61 6d 20 tomatic.Licensing.of.Downstream.
a7600 52 65 63 69 70 69 65 6e 74 73 2e 0a 0a 20 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 63 6f 6e Recipients.....Each.time.you.con
a7620 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 74 68 65 20 72 65 63 69 70 69 65 6e vey.a.covered.work,.the.recipien
a7640 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 65 6e t.automatically.receives.a.licen
a7660 73 65 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 6f 72 73 2c 20 se.from.the.original.licensors,.
a7680 74 6f 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 61 to.run,.modify.and.propagate.tha
a76a0 74 20 77 6f 72 6b 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e t.work,.subject.to.this.License.
a76c0 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 0a 66 6f 72 20 65 6e ..You.are.not.responsible.for.en
a76e0 66 6f 72 63 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 forcing.compliance.by.third.part
a7700 69 65 73 20 77 69 74 68 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 41 6e 20 22 65 6e ies.with.this.License.....An."en
a7720 74 69 74 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 22 20 69 73 20 61 20 74 72 61 6e 73 61 63 74 69 tity.transaction".is.a.transacti
a7740 6f 6e 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 61 6e 0a 6f 72 on.transferring.control.of.an.or
a7760 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 61 6c 6c ganization,.or.substantially.all
a7780 20 61 73 73 65 74 73 20 6f 66 20 6f 6e 65 2c 20 6f 72 20 73 75 62 64 69 76 69 64 69 6e 67 20 61 .assets.of.one,.or.subdividing.a
a77a0 6e 0a 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 6d 65 72 67 69 6e 67 20 6f 72 67 61 6e n.organization,.or.merging.organ
a77c0 69 7a 61 74 69 6f 6e 73 2e 20 20 49 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 izations...If.propagation.of.a.c
a77e0 6f 76 65 72 65 64 0a 77 6f 72 6b 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 61 6e 20 65 6e 74 69 overed.work.results.from.an.enti
a7800 74 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 2c 20 65 61 63 68 20 70 61 72 74 79 20 74 6f 20 74 68 ty.transaction,.each.party.to.th
a7820 61 74 0a 74 72 61 6e 73 61 63 74 69 6f 6e 20 77 68 6f 20 72 65 63 65 69 76 65 73 20 61 20 63 6f at.transaction.who.receives.a.co
a7840 70 79 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 6c 73 6f 20 72 65 63 65 69 76 65 73 20 77 68 61 py.of.the.work.also.receives.wha
a7860 74 65 76 65 72 0a 6c 69 63 65 6e 73 65 73 20 74 6f 20 74 68 65 20 77 6f 72 6b 20 74 68 65 20 70 tever.licenses.to.the.work.the.p
a7880 61 72 74 79 27 73 20 70 72 65 64 65 63 65 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 20 68 arty's.predecessor.in.interest.h
a78a0 61 64 20 6f 72 20 63 6f 75 6c 64 0a 67 69 76 65 20 75 6e 64 65 72 20 74 68 65 20 70 72 65 76 69 ad.or.could.give.under.the.previ
a78c0 6f 75 73 20 70 61 72 61 67 72 61 70 68 2c 20 70 6c 75 73 20 61 20 72 69 67 68 74 20 74 6f 20 70 ous.paragraph,.plus.a.right.to.p
a78e0 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 ossession.of.the.Corresponding.S
a7900 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 72 6f 6d 20 74 68 65 20 70 72 65 64 65 ource.of.the.work.from.the.prede
a7920 63 65 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 2c 20 69 66 0a 74 68 65 20 70 72 65 64 65 cessor.in.interest,.if.the.prede
a7940 63 65 73 73 6f 72 20 68 61 73 20 69 74 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 77 69 74 68 cessor.has.it.or.can.get.it.with
a7960 20 72 65 61 73 6f 6e 61 62 6c 65 20 65 66 66 6f 72 74 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 .reasonable.efforts.....You.may.
a7980 6e 6f 74 20 69 6d 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 not.impose.any.further.restricti
a79a0 6f 6e 73 20 6f 6e 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 65 0a 72 69 67 68 74 ons.on.the.exercise.of.the.right
a79c0 73 20 67 72 61 6e 74 65 64 20 6f 72 20 61 66 66 69 72 6d 65 64 20 75 6e 64 65 72 20 74 68 69 73 s.granted.or.affirmed.under.this
a79e0 20 4c 69 63 65 6e 73 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 6d 61 79 0a .License...For.example,.you.may.
a7a00 6e 6f 74 20 69 6d 70 6f 73 65 20 61 20 6c 69 63 65 6e 73 65 20 66 65 65 2c 20 72 6f 79 61 6c 74 not.impose.a.license.fee,.royalt
a7a20 79 2c 20 6f 72 20 6f 74 68 65 72 20 63 68 61 72 67 65 20 66 6f 72 20 65 78 65 72 63 69 73 65 20 y,.or.other.charge.for.exercise.
a7a40 6f 66 0a 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 of.rights.granted.under.this.Lic
a7a60 65 6e 73 65 2c 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6e 69 74 69 61 74 65 20 6c ense,.and.you.may.not.initiate.l
a7a80 69 74 69 67 61 74 69 6f 6e 0a 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 63 72 6f 73 73 2d 63 6c 61 itigation.(including.a.cross-cla
a7aa0 69 6d 20 6f 72 20 63 6f 75 6e 74 65 72 63 6c 61 69 6d 20 69 6e 20 61 20 6c 61 77 73 75 69 74 29 im.or.counterclaim.in.a.lawsuit)
a7ac0 20 61 6c 6c 65 67 69 6e 67 20 74 68 61 74 0a 61 6e 79 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 20 .alleging.that.any.patent.claim.
a7ae0 69 73 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 73 is.infringed.by.making,.using,.s
a7b00 65 6c 6c 69 6e 67 2c 20 6f 66 66 65 72 69 6e 67 20 66 6f 72 0a 73 61 6c 65 2c 20 6f 72 20 69 6d elling,.offering.for.sale,.or.im
a7b20 70 6f 72 74 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 porting.the.Program.or.any.porti
a7b40 6f 6e 20 6f 66 20 69 74 2e 0a 0a 20 20 31 31 2e 20 50 61 74 65 6e 74 73 2e 0a 0a 20 20 41 20 22 on.of.it.....11..Patents.....A."
a7b60 63 6f 6e 74 72 69 62 75 74 6f 72 22 20 69 73 20 61 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 contributor".is.a.copyright.hold
a7b80 65 72 20 77 68 6f 20 61 75 74 68 6f 72 69 7a 65 73 20 75 73 65 20 75 6e 64 65 72 20 74 68 69 73 er.who.authorizes.use.under.this
a7ba0 0a 4c 69 63 65 6e 73 65 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 77 6f 72 .License.of.the.Program.or.a.wor
a7bc0 6b 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 62 61 73 65 64 2e k.on.which.the.Program.is.based.
a7be0 20 20 54 68 65 0a 77 6f 72 6b 20 74 68 75 73 20 6c 69 63 65 6e 73 65 64 20 69 73 20 63 61 6c 6c ..The.work.thus.licensed.is.call
a7c00 65 64 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 22 63 6f 6e 74 72 69 62 75 74 6f ed.the.contributor's."contributo
a7c20 72 20 76 65 72 73 69 6f 6e 22 2e 0a 0a 20 20 41 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 22 r.version".....A.contributor's."
a7c40 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 22 20 61 72 65 20 61 6c 6c essential.patent.claims".are.all
a7c60 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 0a 6f 77 6e 65 64 20 6f 72 20 63 6f 6e 74 72 6f 6c 6c .patent.claims.owned.or.controll
a7c80 65 64 20 62 79 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 2c 20 77 68 65 74 68 65 72 20 61 ed.by.the.contributor,.whether.a
a7ca0 6c 72 65 61 64 79 20 61 63 71 75 69 72 65 64 20 6f 72 0a 68 65 72 65 61 66 74 65 72 20 61 63 71 lready.acquired.or.hereafter.acq
a7cc0 75 69 72 65 64 2c 20 74 68 61 74 20 77 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 62 uired,.that.would.be.infringed.b
a7ce0 79 20 73 6f 6d 65 20 6d 61 6e 6e 65 72 2c 20 70 65 72 6d 69 74 74 65 64 0a 62 79 20 74 68 69 73 y.some.manner,.permitted.by.this
a7d00 20 4c 69 63 65 6e 73 65 2c 20 6f 66 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 6f 72 20 73 .License,.of.making,.using,.or.s
a7d20 65 6c 6c 69 6e 67 20 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2c 0a elling.its.contributor.version,.
a7d40 62 75 74 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 63 6c 61 69 6d 73 20 74 68 61 74 20 77 but.do.not.include.claims.that.w
a7d60 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 6f 6e 6c 79 20 61 73 20 61 0a 63 6f 6e 73 ould.be.infringed.only.as.a.cons
a7d80 65 71 75 65 6e 63 65 20 6f 66 20 66 75 72 74 68 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 equence.of.further.modification.
a7da0 6f 66 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 20 20 46 6f 72 of.the.contributor.version...For
a7dc0 0a 70 75 72 70 6f 73 65 73 20 6f 66 20 74 68 69 73 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 22 63 .purposes.of.this.definition,."c
a7de0 6f 6e 74 72 6f 6c 22 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 67 72 ontrol".includes.the.right.to.gr
a7e00 61 6e 74 0a 70 61 74 65 6e 74 20 73 75 62 6c 69 63 65 6e 73 65 73 20 69 6e 20 61 20 6d 61 6e 6e ant.patent.sublicenses.in.a.mann
a7e20 65 72 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 er.consistent.with.the.requireme
a7e40 6e 74 73 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 45 61 63 68 20 63 6f 6e nts.of.this.License.....Each.con
a7e60 74 72 69 62 75 74 6f 72 20 67 72 61 6e 74 73 20 79 6f 75 20 61 20 6e 6f 6e 2d 65 78 63 6c 75 73 tributor.grants.you.a.non-exclus
a7e80 69 76 65 2c 20 77 6f 72 6c 64 77 69 64 65 2c 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 0a 70 61 74 ive,.worldwide,.royalty-free.pat
a7ea0 65 6e 74 20 6c 69 63 65 6e 73 65 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f ent.license.under.the.contributo
a7ec0 72 27 73 20 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 2c 20 74 6f 0a r's.essential.patent.claims,.to.
a7ee0 6d 61 6b 65 2c 20 75 73 65 2c 20 73 65 6c 6c 2c 20 6f 66 66 65 72 20 66 6f 72 20 73 61 6c 65 2c make,.use,.sell,.offer.for.sale,
a7f00 20 69 6d 70 6f 72 74 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 20 72 75 6e 2c 20 6d 6f 64 69 66 .import.and.otherwise.run,.modif
a7f20 79 20 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 y.and.propagate.the.contents.of.
a7f40 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 49 6e 20 74 its.contributor.version.....In.t
a7f60 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 72 65 65 20 70 61 72 61 67 72 61 70 68 73 2c 20 61 he.following.three.paragraphs,.a
a7f80 20 22 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 22 20 69 73 20 61 6e 79 20 65 78 70 72 65 73 73 ."patent.license".is.any.express
a7fa0 0a 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d 69 74 6d 65 6e 74 2c 20 68 6f 77 65 76 65 .agreement.or.commitment,.howeve
a7fc0 72 20 64 65 6e 6f 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 20 r.denominated,.not.to.enforce.a.
a7fe0 70 61 74 65 6e 74 0a 28 73 75 63 68 20 61 73 20 61 6e 20 65 78 70 72 65 73 73 20 70 65 72 6d 69 patent.(such.as.an.express.permi
a8000 73 73 69 6f 6e 20 74 6f 20 70 72 61 63 74 69 63 65 20 61 20 70 61 74 65 6e 74 20 6f 72 20 63 6f ssion.to.practice.a.patent.or.co
a8020 76 65 6e 61 6e 74 20 6e 6f 74 20 74 6f 0a 73 75 65 20 66 6f 72 20 70 61 74 65 6e 74 20 69 6e 66 venant.not.to.sue.for.patent.inf
a8040 72 69 6e 67 65 6d 65 6e 74 29 2e 20 20 54 6f 20 22 67 72 61 6e 74 22 20 73 75 63 68 20 61 20 70 ringement)...To."grant".such.a.p
a8060 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 61 0a 70 61 72 74 79 20 6d 65 61 6e 73 20 74 atent.license.to.a.party.means.t
a8080 6f 20 6d 61 6b 65 20 73 75 63 68 20 61 6e 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d o.make.such.an.agreement.or.comm
a80a0 69 74 6d 65 6e 74 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 0a 70 61 74 65 6e 74 20 61 itment.not.to.enforce.a.patent.a
a80c0 67 61 69 6e 73 74 20 74 68 65 20 70 61 72 74 79 2e 0a 0a 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 gainst.the.party.....If.you.conv
a80e0 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 6b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c ey.a.covered.work,.knowingly.rel
a8100 79 69 6e 67 20 6f 6e 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 0a 61 6e 64 20 74 68 ying.on.a.patent.license,.and.th
a8120 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f e.Corresponding.Source.of.the.wo
a8140 72 6b 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 6e 79 6f 6e 65 0a 74 rk.is.not.available.for.anyone.t
a8160 6f 20 63 6f 70 79 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 20 61 6e 64 20 75 6e 64 65 72 o.copy,.free.of.charge.and.under
a8180 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 72 6f .the.terms.of.this.License,.thro
a81a0 75 67 68 20 61 0a 70 75 62 6c 69 63 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 6e 65 74 77 6f 72 6b ugh.a.publicly.available.network
a81c0 20 73 65 72 76 65 72 20 6f 72 20 6f 74 68 65 72 20 72 65 61 64 69 6c 79 20 61 63 63 65 73 73 69 .server.or.other.readily.accessi
a81e0 62 6c 65 20 6d 65 61 6e 73 2c 0a 74 68 65 6e 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 ble.means,.then.you.must.either.
a8200 28 31 29 20 63 61 75 73 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 (1).cause.the.Corresponding.Sour
a8220 63 65 20 74 6f 20 62 65 20 73 6f 0a 61 76 61 69 6c 61 62 6c 65 2c 20 6f 72 20 28 32 29 20 61 72 ce.to.be.so.available,.or.(2).ar
a8240 72 61 6e 67 65 20 74 6f 20 64 65 70 72 69 76 65 20 79 6f 75 72 73 65 6c 66 20 6f 66 20 74 68 65 range.to.deprive.yourself.of.the
a8260 20 62 65 6e 65 66 69 74 20 6f 66 20 74 68 65 0a 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 66 .benefit.of.the.patent.license.f
a8280 6f 72 20 74 68 69 73 20 70 61 72 74 69 63 75 6c 61 72 20 77 6f 72 6b 2c 20 6f 72 20 28 33 29 20 or.this.particular.work,.or.(3).
a82a0 61 72 72 61 6e 67 65 2c 20 69 6e 20 61 20 6d 61 6e 6e 65 72 0a 63 6f 6e 73 69 73 74 65 6e 74 20 arrange,.in.a.manner.consistent.
a82c0 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 69 73 20 4c 69 with.the.requirements.of.this.Li
a82e0 63 65 6e 73 65 2c 20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 70 61 74 65 6e 74 0a 6c 69 63 65 cense,.to.extend.the.patent.lice
a8300 6e 73 65 20 74 6f 20 64 6f 77 6e 73 74 72 65 61 6d 20 72 65 63 69 70 69 65 6e 74 73 2e 20 20 22 nse.to.downstream.recipients..."
a8320 4b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 6e 67 22 20 6d 65 61 6e 73 20 79 6f 75 20 68 61 76 Knowingly.relying".means.you.hav
a8340 65 0a 61 63 74 75 61 6c 20 6b 6e 6f 77 6c 65 64 67 65 20 74 68 61 74 2c 20 62 75 74 20 66 6f 72 e.actual.knowledge.that,.but.for
a8360 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 20 79 6f 75 72 20 63 6f 6e 76 65 79 .the.patent.license,.your.convey
a8380 69 6e 67 20 74 68 65 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 20 63 6f 75 6e 74 72 ing.the.covered.work.in.a.countr
a83a0 79 2c 20 6f 72 20 79 6f 75 72 20 72 65 63 69 70 69 65 6e 74 27 73 20 75 73 65 20 6f 66 20 74 68 y,.or.your.recipient's.use.of.th
a83c0 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 20 63 6f 75 6e 74 72 79 2c 20 77 6f 75 e.covered.work.in.a.country,.wou
a83e0 6c 64 20 69 6e 66 72 69 6e 67 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 69 64 65 6e 74 69 66 69 ld.infringe.one.or.more.identifi
a8400 61 62 6c 65 20 70 61 74 65 6e 74 73 20 69 6e 20 74 68 61 74 0a 63 6f 75 6e 74 72 79 20 74 68 61 able.patents.in.that.country.tha
a8420 74 20 79 6f 75 20 68 61 76 65 20 72 65 61 73 6f 6e 20 74 6f 20 62 65 6c 69 65 76 65 20 61 72 65 t.you.have.reason.to.believe.are
a8440 20 76 61 6c 69 64 2e 0a 0a 20 20 49 66 2c 20 70 75 72 73 75 61 6e 74 20 74 6f 20 6f 72 20 69 6e .valid.....If,.pursuant.to.or.in
a8460 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 74 72 61 6e 73 61 .connection.with.a.single.transa
a8480 63 74 69 6f 6e 20 6f 72 0a 61 72 72 61 6e 67 65 6d 65 6e 74 2c 20 79 6f 75 20 63 6f 6e 76 65 79 ction.or.arrangement,.you.convey
a84a0 2c 20 6f 72 20 70 72 6f 70 61 67 61 74 65 20 62 79 20 70 72 6f 63 75 72 69 6e 67 20 63 6f 6e 76 ,.or.propagate.by.procuring.conv
a84c0 65 79 61 6e 63 65 20 6f 66 2c 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 67 eyance.of,.a.covered.work,.and.g
a84e0 72 61 6e 74 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 73 6f 6d 65 20 6f 66 rant.a.patent.license.to.some.of
a8500 20 74 68 65 20 70 61 72 74 69 65 73 0a 72 65 63 65 69 76 69 6e 67 20 74 68 65 20 63 6f 76 65 72 .the.parties.receiving.the.cover
a8520 65 64 20 77 6f 72 6b 20 61 75 74 68 6f 72 69 7a 69 6e 67 20 74 68 65 6d 20 74 6f 20 75 73 65 2c ed.work.authorizing.them.to.use,
a8540 20 70 72 6f 70 61 67 61 74 65 2c 20 6d 6f 64 69 66 79 0a 6f 72 20 63 6f 6e 76 65 79 20 61 20 73 .propagate,.modify.or.convey.a.s
a8560 70 65 63 69 66 69 63 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b pecific.copy.of.the.covered.work
a8580 2c 20 74 68 65 6e 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 0a 79 6f 75 20 67 72 ,.then.the.patent.license.you.gr
a85a0 61 6e 74 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 78 74 65 6e 64 65 64 20 74 6f ant.is.automatically.extended.to
a85c0 20 61 6c 6c 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 0a 77 .all.recipients.of.the.covered.w
a85e0 6f 72 6b 20 61 6e 64 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 69 74 2e 0a 0a 20 20 41 20 ork.and.works.based.on.it.....A.
a8600 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 69 73 20 22 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 patent.license.is."discriminator
a8620 79 22 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 77 69 74 68 69 6e y".if.it.does.not.include.within
a8640 0a 74 68 65 20 73 63 6f 70 65 20 6f 66 20 69 74 73 20 63 6f 76 65 72 61 67 65 2c 20 70 72 6f 68 .the.scope.of.its.coverage,.proh
a8660 69 62 69 74 73 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 2c 20 6f 72 20 69 73 0a 63 6f 6e ibits.the.exercise.of,.or.is.con
a8680 64 69 74 69 6f 6e 65 64 20 6f 6e 20 74 68 65 20 6e 6f 6e 2d 65 78 65 72 63 69 73 65 20 6f 66 20 ditioned.on.the.non-exercise.of.
a86a0 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 20 61 one.or.more.of.the.rights.that.a
a86c0 72 65 0a 73 70 65 63 69 66 69 63 61 6c 6c 79 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 re.specifically.granted.under.th
a86e0 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e 76 65 79 20 is.License...You.may.not.convey.
a8700 61 20 63 6f 76 65 72 65 64 0a 77 6f 72 6b 20 69 66 20 79 6f 75 20 61 72 65 20 61 20 70 61 72 74 a.covered.work.if.you.are.a.part
a8720 79 20 74 6f 20 61 6e 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 77 69 74 68 20 61 20 74 68 69 72 64 y.to.an.arrangement.with.a.third
a8740 20 70 61 72 74 79 20 74 68 61 74 20 69 73 0a 69 6e 20 74 68 65 20 62 75 73 69 6e 65 73 73 20 6f .party.that.is.in.the.business.o
a8760 66 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 73 6f 66 74 77 61 72 65 2c 20 75 6e 64 65 72 20 77 f.distributing.software,.under.w
a8780 68 69 63 68 20 79 6f 75 20 6d 61 6b 65 20 70 61 79 6d 65 6e 74 0a 74 6f 20 74 68 65 20 74 68 69 hich.you.make.payment.to.the.thi
a87a0 72 64 20 70 61 72 74 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 65 78 74 65 6e 74 20 6f 66 20 rd.party.based.on.the.extent.of.
a87c0 79 6f 75 72 20 61 63 74 69 76 69 74 79 20 6f 66 20 63 6f 6e 76 65 79 69 6e 67 0a 74 68 65 20 77 your.activity.of.conveying.the.w
a87e0 6f 72 6b 2c 20 61 6e 64 20 75 6e 64 65 72 20 77 68 69 63 68 20 74 68 65 20 74 68 69 72 64 20 70 ork,.and.under.which.the.third.p
a8800 61 72 74 79 20 67 72 61 6e 74 73 2c 20 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 0a 70 61 72 74 69 arty.grants,.to.any.of.the.parti
a8820 65 73 20 77 68 6f 20 77 6f 75 6c 64 20 72 65 63 65 69 76 65 20 74 68 65 20 63 6f 76 65 72 65 64 es.who.would.receive.the.covered
a8840 20 77 6f 72 6b 20 66 72 6f 6d 20 79 6f 75 2c 20 61 20 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 .work.from.you,.a.discriminatory
a8860 0a 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 28 61 29 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f .patent.license.(a).in.connectio
a8880 6e 20 77 69 74 68 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 n.with.copies.of.the.covered.wor
a88a0 6b 0a 63 6f 6e 76 65 79 65 64 20 62 79 20 79 6f 75 20 28 6f 72 20 63 6f 70 69 65 73 20 6d 61 64 k.conveyed.by.you.(or.copies.mad
a88c0 65 20 66 72 6f 6d 20 74 68 6f 73 65 20 63 6f 70 69 65 73 29 2c 20 6f 72 20 28 62 29 20 70 72 69 e.from.those.copies),.or.(b).pri
a88e0 6d 61 72 69 6c 79 0a 66 6f 72 20 61 6e 64 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 marily.for.and.in.connection.wit
a8900 68 20 73 70 65 63 69 66 69 63 20 70 72 6f 64 75 63 74 73 20 6f 72 20 63 6f 6d 70 69 6c 61 74 69 h.specific.products.or.compilati
a8920 6f 6e 73 20 74 68 61 74 0a 63 6f 6e 74 61 69 6e 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 ons.that.contain.the.covered.wor
a8940 6b 2c 20 75 6e 6c 65 73 73 20 79 6f 75 20 65 6e 74 65 72 65 64 20 69 6e 74 6f 20 74 68 61 74 20 k,.unless.you.entered.into.that.
a8960 61 72 72 61 6e 67 65 6d 65 6e 74 2c 0a 6f 72 20 74 68 61 74 20 70 61 74 65 6e 74 20 6c 69 63 65 arrangement,.or.that.patent.lice
a8980 6e 73 65 20 77 61 73 20 67 72 61 6e 74 65 64 2c 20 70 72 69 6f 72 20 74 6f 20 32 38 20 4d 61 72 nse.was.granted,.prior.to.28.Mar
a89a0 63 68 20 32 30 30 37 2e 0a 0a 20 20 4e 6f 74 68 69 6e 67 20 69 6e 20 74 68 69 73 20 4c 69 63 65 ch.2007.....Nothing.in.this.Lice
a89c0 6e 73 65 20 73 68 61 6c 6c 20 62 65 20 63 6f 6e 73 74 72 75 65 64 20 61 73 20 65 78 63 6c 75 64 nse.shall.be.construed.as.exclud
a89e0 69 6e 67 20 6f 72 20 6c 69 6d 69 74 69 6e 67 0a 61 6e 79 20 69 6d 70 6c 69 65 64 20 6c 69 63 65 ing.or.limiting.any.implied.lice
a8a00 6e 73 65 20 6f 72 20 6f 74 68 65 72 20 64 65 66 65 6e 73 65 73 20 74 6f 20 69 6e 66 72 69 6e 67 nse.or.other.defenses.to.infring
a8a20 65 6d 65 6e 74 20 74 68 61 74 20 6d 61 79 0a 6f 74 68 65 72 77 69 73 65 20 62 65 20 61 76 61 69 ement.that.may.otherwise.be.avai
a8a40 6c 61 62 6c 65 20 74 6f 20 79 6f 75 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 70 61 lable.to.you.under.applicable.pa
a8a60 74 65 6e 74 20 6c 61 77 2e 0a 0a 20 20 31 32 2e 20 4e 6f 20 53 75 72 72 65 6e 64 65 72 20 6f 66 tent.law.....12..No.Surrender.of
a8a80 20 4f 74 68 65 72 73 27 20 46 72 65 65 64 6f 6d 2e 0a 0a 20 20 49 66 20 63 6f 6e 64 69 74 69 6f .Others'.Freedom.....If.conditio
a8aa0 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 ns.are.imposed.on.you.(whether.b
a8ac0 79 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 6f 74 68 65 y.court.order,.agreement.or.othe
a8ae0 72 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 rwise).that.contradict.the.condi
a8b00 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e tions.of.this.License,.they.do.n
a8b20 6f 74 0a 65 78 63 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e ot.excuse.you.from.the.condition
a8b40 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f s.of.this.License...If.you.canno
a8b60 74 20 63 6f 6e 76 65 79 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 6f 20 61 73 20 74 6f t.convey.a.covered.work.so.as.to
a8b80 20 73 61 74 69 73 66 79 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 20 6f 62 6c .satisfy.simultaneously.your.obl
a8ba0 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 61 6e 64 20 igations.under.this.License.and.
a8bc0 61 6e 79 20 6f 74 68 65 72 20 70 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c any.other.pertinent.obligations,
a8be0 20 74 68 65 6e 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 20 6d 61 79 0a 6e .then.as.a.consequence.you.may.n
a8c00 6f 74 20 63 6f 6e 76 65 79 20 69 74 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c ot.convey.it.at.all...For.exampl
a8c20 65 2c 20 69 66 20 79 6f 75 20 61 67 72 65 65 20 74 6f 20 74 65 72 6d 73 20 74 68 61 74 20 6f 62 e,.if.you.agree.to.terms.that.ob
a8c40 6c 69 67 61 74 65 20 79 6f 75 0a 74 6f 20 63 6f 6c 6c 65 63 74 20 61 20 72 6f 79 61 6c 74 79 20 ligate.you.to.collect.a.royalty.
a8c60 66 6f 72 20 66 75 72 74 68 65 72 20 63 6f 6e 76 65 79 69 6e 67 20 66 72 6f 6d 20 74 68 6f 73 65 for.further.conveying.from.those
a8c80 20 74 6f 20 77 68 6f 6d 20 79 6f 75 20 63 6f 6e 76 65 79 0a 74 68 65 20 50 72 6f 67 72 61 6d 2c .to.whom.you.convey.the.Program,
a8ca0 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 20 73 61 74 69 73 66 79 20 .the.only.way.you.could.satisfy.
a8cc0 62 6f 74 68 20 74 68 6f 73 65 20 74 65 72 6d 73 20 61 6e 64 20 74 68 69 73 0a 4c 69 63 65 6e 73 both.those.terms.and.this.Licens
a8ce0 65 20 77 6f 75 6c 64 20 62 65 20 74 6f 20 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 20 66 e.would.be.to.refrain.entirely.f
a8d00 72 6f 6d 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 31 33 rom.conveying.the.Program.....13
a8d20 2e 20 55 73 65 20 77 69 74 68 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 ..Use.with.the.GNU.Affero.Genera
a8d40 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 4e 6f 74 77 69 74 68 73 74 61 6e l.Public.License.....Notwithstan
a8d60 64 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 ding.any.other.provision.of.this
a8d80 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 68 61 76 65 0a 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f .License,.you.have.permission.to
a8da0 20 6c 69 6e 6b 20 6f 72 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 .link.or.combine.any.covered.wor
a8dc0 6b 20 77 69 74 68 20 61 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 0a 75 6e 64 65 72 20 76 65 72 k.with.a.work.licensed.under.ver
a8de0 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c sion.3.of.the.GNU.Affero.General
a8e00 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 0a 63 6f .Public.License.into.a.single.co
a8e20 6d 62 69 6e 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 74 6f 20 63 6f 6e 76 65 79 20 74 68 65 20 72 mbined.work,.and.to.convey.the.r
a8e40 65 73 75 6c 74 69 6e 67 20 77 6f 72 6b 2e 20 20 54 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 esulting.work...The.terms.of.thi
a8e60 73 0a 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 61 70 70 6c 79 s.License.will.continue.to.apply
a8e80 20 74 6f 20 74 68 65 20 70 61 72 74 20 77 68 69 63 68 20 69 73 20 74 68 65 20 63 6f 76 65 72 65 .to.the.part.which.is.the.covere
a8ea0 64 20 77 6f 72 6b 2c 0a 62 75 74 20 74 68 65 20 73 70 65 63 69 61 6c 20 72 65 71 75 69 72 65 6d d.work,.but.the.special.requirem
a8ec0 65 6e 74 73 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 ents.of.the.GNU.Affero.General.P
a8ee0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 0a 73 65 63 74 69 6f 6e 20 31 33 2c 20 63 6f 6e 63 65 ublic.License,.section.13,.conce
a8f00 72 6e 69 6e 67 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 74 68 72 6f 75 67 68 20 61 20 6e 65 74 77 rning.interaction.through.a.netw
a8f20 6f 72 6b 20 77 69 6c 6c 20 61 70 70 6c 79 20 74 6f 20 74 68 65 0a 63 6f 6d 62 69 6e 61 74 69 6f ork.will.apply.to.the.combinatio
a8f40 6e 20 61 73 20 73 75 63 68 2e 0a 0a 20 20 31 34 2e 20 52 65 76 69 73 65 64 20 56 65 72 73 69 6f n.as.such.....14..Revised.Versio
a8f60 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 54 68 65 20 46 72 65 65 20 ns.of.this.License.....The.Free.
a8f80 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 Software.Foundation.may.publish.
a8fa0 72 65 76 69 73 65 64 20 61 6e 64 2f 6f 72 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 74 revised.and/or.new.versions.of.t
a8fc0 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 72 he.GNU.General.Public.License.fr
a8fe0 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 20 76 65 72 73 69 om.time.to.time...Such.new.versi
a9000 6f 6e 73 20 77 69 6c 6c 0a 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f ons.will.be.similar.in.spirit.to
a9020 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 20 64 69 .the.present.version,.but.may.di
a9040 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c 20 74 6f 0a 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 ffer.in.detail.to.address.new.pr
a9060 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 0a 0a 20 20 45 61 63 68 20 76 65 72 73 oblems.or.concerns.....Each.vers
a9080 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 ion.is.given.a.distinguishing.ve
a90a0 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 66 20 74 68 65 0a 50 72 6f 67 72 61 6d 20 73 70 rsion.number...If.the.Program.sp
a90c0 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 65 64 20 ecifies.that.a.certain.numbered.
a90e0 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 version.of.the.GNU.General.Publi
a9100 63 20 4c 69 63 65 6e 73 65 20 22 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 22 c.License."or.any.later.version"
a9120 20 61 70 70 6c 69 65 73 20 74 6f 20 69 74 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 0a 6f 70 74 .applies.to.it,.you.have.the.opt
a9140 69 6f 6e 20 6f 66 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 ion.of.following.the.terms.and.c
a9160 6f 6e 64 69 74 69 6f 6e 73 20 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 6e 75 6d 62 65 72 65 onditions.either.of.that.numbere
a9180 64 0a 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f d.version.or.of.any.later.versio
a91a0 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 n.published.by.the.Free.Software
a91c0 0a 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 .Foundation...If.the.Program.doe
a91e0 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f s.not.specify.a.version.number.o
a9200 66 20 74 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 f.the.GNU.General.Public.License
a9220 2c 20 79 6f 75 20 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 ,.you.may.choose.any.version.eve
a9240 72 20 70 75 62 6c 69 73 68 65 64 0a 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 r.published.by.the.Free.Software
a9260 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 0a 0a 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 73 .Foundation.....If.the.Program.s
a9280 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 70 72 6f 78 79 20 63 61 6e 20 64 65 63 69 64 65 pecifies.that.a.proxy.can.decide
a92a0 20 77 68 69 63 68 20 66 75 74 75 72 65 0a 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 4e .which.future.versions.of.the.GN
a92c0 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 63 61 6e 20 62 65 20 U.General.Public.License.can.be.
a92e0 75 73 65 64 2c 20 74 68 61 74 20 70 72 6f 78 79 27 73 0a 70 75 62 6c 69 63 20 73 74 61 74 65 6d used,.that.proxy's.public.statem
a9300 65 6e 74 20 6f 66 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 61 20 76 65 72 73 69 6f 6e 20 70 ent.of.acceptance.of.a.version.p
a9320 65 72 6d 61 6e 65 6e 74 6c 79 20 61 75 74 68 6f 72 69 7a 65 73 20 79 6f 75 0a 74 6f 20 63 68 6f ermanently.authorizes.you.to.cho
a9340 6f 73 65 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 50 72 6f 67 72 61 6d ose.that.version.for.the.Program
a9360 2e 0a 0a 20 20 4c 61 74 65 72 20 6c 69 63 65 6e 73 65 20 76 65 72 73 69 6f 6e 73 20 6d 61 79 20 .....Later.license.versions.may.
a9380 67 69 76 65 20 79 6f 75 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 72 20 64 69 66 66 65 72 65 6e 74 give.you.additional.or.different
a93a0 0a 70 65 72 6d 69 73 73 69 6f 6e 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 6e 6f 20 61 64 64 69 74 .permissions...However,.no.addit
a93c0 69 6f 6e 61 6c 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e ional.obligations.are.imposed.on
a93e0 20 61 6e 79 0a 61 75 74 68 6f 72 20 6f 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 .any.author.or.copyright.holder.
a9400 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 79 6f 75 72 20 63 68 6f 6f 73 69 6e 67 20 74 6f 20 as.a.result.of.your.choosing.to.
a9420 66 6f 6c 6c 6f 77 20 61 0a 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 31 35 2e 20 44 follow.a.later.version.....15..D
a9440 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 57 61 72 72 61 6e 74 79 2e 0a 0a 20 20 54 48 45 52 45 20 isclaimer.of.Warranty.....THERE.
a9460 49 53 20 4e 4f 20 57 41 52 52 41 4e 54 59 20 46 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 IS.NO.WARRANTY.FOR.THE.PROGRAM,.
a9480 54 4f 20 54 48 45 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 59 0a 41 50 50 4c 49 TO.THE.EXTENT.PERMITTED.BY.APPLI
a94a0 43 41 42 4c 45 20 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 45 4e 20 4f 54 48 45 52 57 49 53 CABLE.LAW...EXCEPT.WHEN.OTHERWIS
a94c0 45 20 53 54 41 54 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 20 43 4f 50 59 52 49 47 48 E.STATED.IN.WRITING.THE.COPYRIGH
a94e0 54 0a 48 4f 4c 44 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 52 20 50 41 52 54 49 45 53 20 50 T.HOLDERS.AND/OR.OTHER.PARTIES.P
a9500 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 22 41 53 20 49 53 22 20 57 49 54 48 4f ROVIDE.THE.PROGRAM."AS.IS".WITHO
a9520 55 54 20 57 41 52 52 41 4e 54 59 0a 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 UT.WARRANTY.OF.ANY.KIND,.EITHER.
a9540 45 58 50 52 45 53 53 45 44 20 4f 52 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 2c EXPRESSED.OR.IMPLIED,.INCLUDING,
a9560 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 0a 54 48 45 20 49 4d 50 4c 49 45 44 .BUT.NOT.LIMITED.TO,.THE.IMPLIED
a9580 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 .WARRANTIES.OF.MERCHANTABILITY.A
a95a0 4e 44 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 0a 50 55 52 50 ND.FITNESS.FOR.A.PARTICULAR.PURP
a95c0 4f 53 45 2e 20 20 54 48 45 20 45 4e 54 49 52 45 20 52 49 53 4b 20 41 53 20 54 4f 20 54 48 45 20 OSE...THE.ENTIRE.RISK.AS.TO.THE.
a95e0 51 55 41 4c 49 54 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 50 QUALITY.AND.PERFORMANCE.OF.THE.P
a9600 52 4f 47 52 41 4d 0a 49 53 20 57 49 54 48 20 59 4f 55 2e 20 20 53 48 4f 55 4c 44 20 54 48 45 20 ROGRAM.IS.WITH.YOU...SHOULD.THE.
a9620 50 52 4f 47 52 41 4d 20 50 52 4f 56 45 20 44 45 46 45 43 54 49 56 45 2c 20 59 4f 55 20 41 53 53 PROGRAM.PROVE.DEFECTIVE,.YOU.ASS
a9640 55 4d 45 20 54 48 45 20 43 4f 53 54 20 4f 46 0a 41 4c 4c 20 4e 45 43 45 53 53 41 52 59 20 53 45 UME.THE.COST.OF.ALL.NECESSARY.SE
a9660 52 56 49 43 49 4e 47 2c 20 52 45 50 41 49 52 20 4f 52 20 43 4f 52 52 45 43 54 49 4f 4e 2e 0a 0a RVICING,.REPAIR.OR.CORRECTION...
a9680 20 20 31 36 2e 20 4c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 4c 69 61 62 69 6c 69 74 79 2e 0a 0a ..16..Limitation.of.Liability...
a96a0 20 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 ..IN.NO.EVENT.UNLESS.REQUIRED.BY
a96c0 20 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 .APPLICABLE.LAW.OR.AGREED.TO.IN.
a96e0 57 52 49 54 49 4e 47 0a 57 49 4c 4c 20 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 WRITING.WILL.ANY.COPYRIGHT.HOLDE
a9700 52 2c 20 4f 52 20 41 4e 59 20 4f 54 48 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 4f 44 49 46 49 R,.OR.ANY.OTHER.PARTY.WHO.MODIFI
a9720 45 53 20 41 4e 44 2f 4f 52 20 43 4f 4e 56 45 59 53 0a 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 ES.AND/OR.CONVEYS.THE.PROGRAM.AS
a9740 20 50 45 52 4d 49 54 54 45 44 20 41 42 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 .PERMITTED.ABOVE,.BE.LIABLE.TO.Y
a9760 4f 55 20 46 4f 52 20 44 41 4d 41 47 45 53 2c 20 49 4e 43 4c 55 44 49 4e 47 20 41 4e 59 0a 47 45 OU.FOR.DAMAGES,.INCLUDING.ANY.GE
a9780 4e 45 52 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 4f 52 20 43 4f NERAL,.SPECIAL,.INCIDENTAL.OR.CO
a97a0 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 20 4f 55 54 20 NSEQUENTIAL.DAMAGES.ARISING.OUT.
a97c0 4f 46 20 54 48 45 0a 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 20 54 OF.THE.USE.OR.INABILITY.TO.USE.T
a97e0 48 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 HE.PROGRAM.(INCLUDING.BUT.NOT.LI
a9800 4d 49 54 45 44 20 54 4f 20 4c 4f 53 53 20 4f 46 0a 44 41 54 41 20 4f 52 20 44 41 54 41 20 42 45 MITED.TO.LOSS.OF.DATA.OR.DATA.BE
a9820 49 4e 47 20 52 45 4e 44 45 52 45 44 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 4c 4f 53 53 45 ING.RENDERED.INACCURATE.OR.LOSSE
a9840 53 20 53 55 53 54 41 49 4e 45 44 20 42 59 20 59 4f 55 20 4f 52 20 54 48 49 52 44 0a 50 41 52 54 S.SUSTAINED.BY.YOU.OR.THIRD.PART
a9860 49 45 53 20 4f 52 20 41 20 46 41 49 4c 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 IES.OR.A.FAILURE.OF.THE.PROGRAM.
a9880 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 48 45 52 20 50 52 4f 47 52 41 TO.OPERATE.WITH.ANY.OTHER.PROGRA
a98a0 4d 53 29 2c 0a 45 56 45 4e 20 49 46 20 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 48 45 MS),.EVEN.IF.SUCH.HOLDER.OR.OTHE
a98c0 52 20 50 41 52 54 59 20 48 41 53 20 42 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 20 54 48 45 20 R.PARTY.HAS.BEEN.ADVISED.OF.THE.
a98e0 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 0a 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0a 0a 20 20 POSSIBILITY.OF.SUCH.DAMAGES.....
a9900 31 37 2e 20 49 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 17..Interpretation.of.Sections.1
a9920 35 20 61 6e 64 20 31 36 2e 0a 0a 20 20 49 66 20 74 68 65 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 5.and.16.....If.the.disclaimer.o
a9940 66 20 77 61 72 72 61 6e 74 79 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 6c 69 61 f.warranty.and.limitation.of.lia
a9960 62 69 6c 69 74 79 20 70 72 6f 76 69 64 65 64 0a 61 62 6f 76 65 20 63 61 6e 6e 6f 74 20 62 65 20 bility.provided.above.cannot.be.
a9980 67 69 76 65 6e 20 6c 6f 63 61 6c 20 6c 65 67 61 6c 20 65 66 66 65 63 74 20 61 63 63 6f 72 64 69 given.local.legal.effect.accordi
a99a0 6e 67 20 74 6f 20 74 68 65 69 72 20 74 65 72 6d 73 2c 0a 72 65 76 69 65 77 69 6e 67 20 63 6f 75 ng.to.their.terms,.reviewing.cou
a99c0 72 74 73 20 73 68 61 6c 6c 20 61 70 70 6c 79 20 6c 6f 63 61 6c 20 6c 61 77 20 74 68 61 74 20 6d rts.shall.apply.local.law.that.m
a99e0 6f 73 74 20 63 6c 6f 73 65 6c 79 20 61 70 70 72 6f 78 69 6d 61 74 65 73 0a 61 6e 20 61 62 73 6f ost.closely.approximates.an.abso
a9a00 6c 75 74 65 20 77 61 69 76 65 72 20 6f 66 20 61 6c 6c 20 63 69 76 69 6c 20 6c 69 61 62 69 6c 69 lute.waiver.of.all.civil.liabili
a9a20 74 79 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 0a 50 72 6f 67 72 61 ty.in.connection.with.the.Progra
a9a40 6d 2c 20 75 6e 6c 65 73 73 20 61 20 77 61 72 72 61 6e 74 79 20 6f 72 20 61 73 73 75 6d 70 74 69 m,.unless.a.warranty.or.assumpti
a9a60 6f 6e 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 61 63 63 6f 6d 70 61 6e 69 65 73 20 61 0a 63 6f on.of.liability.accompanies.a.co
a9a80 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 6e 20 72 65 74 75 72 6e 20 66 6f 72 20 py.of.the.Program.in.return.for.
a9aa0 61 20 66 65 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 a.fee........................END
a9ac0 20 4f 46 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 20 20 20 20 .OF.TERMS.AND.CONDITIONS........
a9ae0 20 20 20 20 20 20 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 ......How.to.Apply.These.Terms.t
a9b00 6f 20 59 6f 75 72 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0a 0a 20 20 49 66 20 79 6f 75 20 64 65 o.Your.New.Programs....If.you.de
a9b20 76 65 6c 6f 70 20 61 20 6e 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e velop.a.new.program,.and.you.wan
a9b40 74 20 69 74 20 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 t.it.to.be.of.the.greatest.possi
a9b60 62 6c 65 20 75 73 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 ble.use.to.the.public,.the.best.
a9b80 77 61 79 20 74 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 way.to.achieve.this.is.to.make.i
a9ba0 74 0a 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 t.free.software.which.everyone.c
a9bc0 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 an.redistribute.and.change.under
a9be0 20 74 68 65 73 65 20 74 65 72 6d 73 2e 0a 0a 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 .these.terms.....To.do.so,.attac
a9c00 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 h.the.following.notices.to.the.p
a9c20 72 6f 67 72 61 6d 2e 20 20 49 74 20 69 73 20 73 61 66 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 rogram...It.is.safest.to.attach.
a9c40 74 68 65 6d 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 them.to.the.start.of.each.source
a9c60 20 66 69 6c 65 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0a 73 74 61 74 65 20 .file.to.most.effectively.state.
a9c80 74 68 65 20 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 the.exclusion.of.warranty;.and.e
a9ca0 61 63 68 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 0a 74 68 ach.file.should.have.at.least.th
a9cc0 65 20 22 63 6f 70 79 72 69 67 68 74 22 20 6c 69 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 e."copyright".line.and.a.pointer
a9ce0 20 74 6f 20 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 .to.where.the.full.notice.is.fou
a9d00 6e 64 2e 0a 0a 20 20 20 20 3c 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 nd.......<one.line.to.give.the.p
a9d20 72 6f 67 72 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 65 66 20 69 64 65 61 20 6f rogram's.name.and.a.brief.idea.o
a9d40 66 20 77 68 61 74 20 69 74 20 64 6f 65 73 2e 3e 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 f.what.it.does.>.....Copyright.(
a9d60 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 3e 0a 0a 20 20 20 C).<year>..<name.of.author>.....
a9d80 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 .This.program.is.free.software:.
a9da0 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d you.can.redistribute.it.and/or.m
a9dc0 6f 64 69 66 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 odify.....it.under.the.terms.of.
a9de0 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 the.GNU.General.Public.License.a
a9e00 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 s.published.by.....the.Free.Soft
a9e20 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 ware.Foundation,.either.version.
a9e40 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 3.of.the.License,.or.....(at.you
a9e60 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 r.option).any.later.version.....
a9e80 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e ..This.program.is.distributed.in
a9ea0 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c .the.hope.that.it.will.be.useful
a9ec0 2c 0a 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 ,.....but.WITHOUT.ANY.WARRANTY;.
a9ee0 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 without.even.the.implied.warrant
a9f00 79 20 6f 66 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e y.of.....MERCHANTABILITY.or.FITN
a9f20 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 ESS.FOR.A.PARTICULAR.PURPOSE...S
a9f40 65 65 20 74 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 ee.the.....GNU.General.Public.Li
a9f60 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 cense.for.more.details.......You
a9f80 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 .should.have.received.a.copy.of.
a9fa0 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 the.GNU.General.Public.License..
a9fc0 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 ...along.with.this.program...If.
a9fe0 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 not,.see.<https://www.gnu.org/li
aa000 63 65 6e 73 65 73 2f 3e 2e 0a 0a 41 6c 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 censes/>...Also.add.information.
aa020 6f 6e 20 68 6f 77 20 74 6f 20 63 6f 6e 74 61 63 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f on.how.to.contact.you.by.electro
aa040 6e 69 63 20 61 6e 64 20 70 61 70 65 72 20 6d 61 69 6c 2e 0a 0a 20 20 49 66 20 74 68 65 20 70 72 nic.and.paper.mail.....If.the.pr
aa060 6f 67 72 61 6d 20 64 6f 65 73 20 74 65 72 6d 69 6e 61 6c 20 69 6e 74 65 72 61 63 74 69 6f 6e 2c ogram.does.terminal.interaction,
aa080 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 73 68 6f 72 74 0a 6e 6f 74 69 63 65 20 6c .make.it.output.a.short.notice.l
aa0a0 69 6b 65 20 74 68 69 73 20 77 68 65 6e 20 69 74 20 73 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e ike.this.when.it.starts.in.an.in
aa0c0 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 20 20 20 20 3c 70 72 6f 67 72 61 6d 3e 20 20 teractive.mode:......<program>..
aa0e0 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 Copyright.(C).<year>..<name.of.a
aa100 75 74 68 6f 72 3e 0a 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 63 6f 6d 65 73 20 77 69 uthor>.....This.program.comes.wi
aa120 74 68 20 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 th.ABSOLUTELY.NO.WARRANTY;.for.d
aa140 65 74 61 69 6c 73 20 74 79 70 65 20 60 73 68 6f 77 20 77 27 2e 0a 20 20 20 20 54 68 69 73 20 69 etails.type.`show.w'......This.i
aa160 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c s.free.software,.and.you.are.wel
aa180 63 6f 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0a 20 20 20 20 75 6e 64 65 come.to.redistribute.it.....unde
aa1a0 72 20 63 65 72 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 60 73 68 6f 77 r.certain.conditions;.type.`show
aa1c0 20 63 27 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 .c'.for.details...The.hypothetic
aa1e0 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 al.commands.`show.w'.and.`show.c
aa200 27 20 73 68 6f 75 6c 64 20 73 68 6f 77 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0a 70 61 '.should.show.the.appropriate.pa
aa220 72 74 73 20 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 rts.of.the.General.Public.Licens
aa240 65 2e 20 20 4f 66 20 63 6f 75 72 73 65 2c 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 27 73 20 63 6f e...Of.course,.your.program's.co
aa260 6d 6d 61 6e 64 73 0a 6d 69 67 68 74 20 62 65 20 64 69 66 66 65 72 65 6e 74 3b 20 66 6f 72 20 61 mmands.might.be.different;.for.a
aa280 20 47 55 49 20 69 6e 74 65 72 66 61 63 65 2c 20 79 6f 75 20 77 6f 75 6c 64 20 75 73 65 20 61 6e .GUI.interface,.you.would.use.an
aa2a0 20 22 61 62 6f 75 74 20 62 6f 78 22 2e 0a 0a 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f ."about.box".....You.should.also
aa2c0 20 67 65 74 20 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 .get.your.employer.(if.you.work.
aa2e0 61 73 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 20 73 63 68 6f 6f 6c 2c 0a 69 66 20 61 as.a.programmer).or.school,.if.a
aa300 6e 79 2c 20 74 6f 20 73 69 67 6e 20 61 20 22 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 ny,.to.sign.a."copyright.disclai
aa320 6d 65 72 22 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 20 6e 65 63 65 73 73 61 mer".for.the.program,.if.necessa
aa340 72 79 2e 0a 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 ry..For.more.information.on.this
aa360 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 61 70 70 6c 79 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 74 68 ,.and.how.to.apply.and.follow.th
aa380 65 20 47 4e 55 20 47 50 4c 2c 20 73 65 65 0a 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e e.GNU.GPL,.see.<https://www.gnu.
aa3a0 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 20 20 54 68 65 20 47 4e 55 20 47 65 6e 65 72 org/licenses/>.....The.GNU.Gener
aa3c0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 70 65 72 6d 69 al.Public.License.does.not.permi
aa3e0 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 0a 69 6e 74 t.incorporating.your.program.int
aa400 6f 20 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 66 20 79 6f 75 72 o.proprietary.programs...If.your
aa420 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 20 6c 69 62 72 61 72 79 .program.is.a.subroutine.library
aa440 2c 20 79 6f 75 0a 6d 61 79 20 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 20 75 73 65 66 75 ,.you.may.consider.it.more.usefu
aa460 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 65 74 61 72 79 20 l.to.permit.linking.proprietary.
aa480 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 0a 74 68 65 20 6c 69 62 72 61 72 79 2e 20 20 applications.with.the.library...
aa4a0 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 2c 20 If.this.is.what.you.want.to.do,.
aa4c0 75 73 65 20 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 use.the.GNU.Lesser.General.Publi
aa4e0 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 c.License.instead.of.this.Licens
aa500 65 2e 20 20 42 75 74 20 66 69 72 73 74 2c 20 70 6c 65 61 73 65 20 72 65 61 64 0a 3c 68 74 74 70 e...But.first,.please.read.<http
aa520 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 77 68 79 2d 6e 6f 74 s://www.gnu.org/licenses/why-not
aa540 2d 6c 67 70 6c 2e 68 74 6d 6c 3e 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -lgpl.html>.....................
aa560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa600 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
aa620 72 61 63 6b 65 74 2d 63 6f 6c 6c 65 63 74 69 6f 6e 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 racket-collection.el............
aa640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
aa680 30 30 32 33 33 31 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 35 37 35 00 20 30 00 00 00 0023314.00000000000.017575..0...
aa6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
aa720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
aa740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa800 3b 3b 3b 20 72 61 63 6b 65 74 2d 63 6f 6c 6c 65 63 74 69 6f 6e 2e 65 6c 20 2d 2a 2d 20 6c 65 78 ;;;.racket-collection.el.-*-.lex
aa820 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 ical-binding:.t;.-*-..;;.Copyrig
aa840 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 ht.(c).2013-2022.by.Greg.Henders
aa860 68 6f 74 74 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 hott..;;.Portions.Copyright.(C).
aa880 31 39 38 35 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 1985-1986,.1999-2013.Free.Softwa
aa8a0 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 re.Foundation,.Inc...;;.Author:.
aa8c0 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f Greg.Hendershott.;;.URL:.https:/
aa8e0 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b /github.com/greghendershott/rack
aa900 65 74 2d 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 et-mode..;;.SPDX-License-Identif
aa920 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 ier:.GPL-3.0-or-later..(require.
aa940 27 74 71 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 0a 'tq).(require.'racket-back-end).
aa960 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 28 72 65 71 75 69 72 65 20 (require.'racket-repl).(require.
aa980 27 72 61 63 6b 65 74 2d 63 75 73 74 6f 6d 29 20 3b 66 6f 72 20 60 72 61 63 6b 65 74 2d 70 72 6f 'racket-custom).;for.`racket-pro
aa9a0 67 72 61 6d 27 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 0a 28 64 gram'.(require.'racket-util)..(d
aa9c0 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 0a 20 20 efine-obsolete-function-alias...
aa9e0 27 72 61 63 6b 65 74 2d 66 69 6e 64 2d 63 6f 6c 6c 65 63 74 69 6f 6e 0a 20 20 27 72 61 63 6b 65 'racket-find-collection...'racke
aaa00 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 0a 20 20 22 32 30 32 31 2d 31 30 2d 31 t-open-require-path..."2021-10-1
aaa20 35 22 29 0a 0a 3b 3b 20 46 72 6f 6d 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 69 64 6f 2d 6d 6f 64 65 5")..;;.From.looking.at.ido-mode
aaa40 20 61 6e 64 20 69 64 6f 2d 76 65 72 74 69 63 61 6c 2d 6d 6f 64 65 3a 0a 3b 3b 0a 3b 3b 20 4a 75 .and.ido-vertical-mode:.;;.;;.Ju
aaa60 73 74 20 75 73 65 20 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 2e 0a 3b 3b 0a st.use.read-from-minibuffer..;;.
aaa80 3b 3b 20 57 65 27 72 65 20 64 6f 69 6e 67 20 76 65 72 74 69 63 61 6c 20 6d 6f 64 65 2c 20 73 6f ;;.We're.doing.vertical.mode,.so
aaaa0 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 76 61 72 20 6c 69 6b 65 20 69 64 6f 2d 65 6f 69 6e .we.don't.need.var.like.ido-eoin
aaac0 70 75 74 2e 0a 3b 3b 20 57 65 20 63 61 6e 20 73 69 6d 70 6c 79 20 6c 6f 6f 6b 20 66 6f 72 20 74 put..;;.We.can.simply.look.for.t
aaae0 68 65 20 66 69 72 73 74 20 5c 6e 20 69 6e 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 2d 2d he.first.\n.in.the.minibuffer.--
aab00 20 74 68 61 74 27 73 20 74 68 65 0a 3b 3b 20 65 6e 64 20 6f 66 20 75 73 65 72 20 69 6e 70 75 74 .that's.the.;;.end.of.user.input
aab20 2e 0a 3b 3b 0a 3b 3b 20 45 76 65 72 79 74 68 69 6e 67 20 61 66 74 65 72 20 74 68 65 20 69 6e 70 ..;;.;;.Everything.after.the.inp
aab40 75 74 20 61 6e 64 20 66 69 72 73 74 20 5c 6e 2c 20 69 73 20 74 68 65 20 63 61 6e 64 69 61 74 65 ut.and.first.\n,.is.the.candiate
aab60 73 20 77 65 0a 3b 3b 20 64 69 73 70 6c 61 79 2c 20 5c 6e 20 73 65 70 61 72 61 74 65 64 2e 20 54 s.we.;;.display,.\n.separated..T
aab80 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 72 6f 77 he.minibuffer.automatically.grow
aaba0 73 0a 3b 3b 20 76 65 72 74 69 63 61 6c 6c 79 2e 0a 3b 3b 0a 3b 3b 20 48 61 76 65 20 73 6f 6d 65 s.;;.vertically..;;.;;.Have.some
aabc0 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 63 61 6e 64 69 64 61 74 65 73 20 74 6f .maximum.number.of.candidates.to
aabe0 20 64 69 73 70 6c 61 79 20 28 31 30 3f 29 2e 20 49 66 20 3e 20 31 30 2c 20 70 72 69 6e 74 0a 3b .display.(10?)..If.>.10,.print.;
aac00 3b 20 6c 61 73 74 20 6c 69 6e 65 20 31 30 20 61 73 20 22 2e 2e 2e 22 2c 20 6c 69 6b 65 20 69 64 ;.last.line.10.as."...",.like.id
aac20 6f 2d 76 65 72 74 69 63 61 6c 2d 6d 6f 64 65 2e 0a 3b 3b 0a 3b 3b 20 41 6c 73 6f 20 75 73 65 20 o-vertical-mode..;;.;;.Also.use.
aac40 61 20 6b 65 79 6d 61 70 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 3a 0a 3b 3b 20 2d 20 43 2d 6e 20 a.keymap.for.commands:.;;.-.C-n.
aac60 61 6e 64 20 43 2d 70 2c 20 77 68 69 63 68 20 6d 6f 76 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 and.C-p,.which.move.through.the.
aac80 63 61 6e 64 69 64 61 74 65 73 0a 3b 3b 20 2d 20 45 4e 54 45 52 0a 3b 3b 20 20 20 2d 20 6f 6e 20 candidates.;;.-.ENTER.;;...-.on.
aaca0 61 20 64 69 72 20 77 69 6c 6c 20 61 64 64 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 74 6f 20 74 a.dir.will.add.its.contents.to.t
aacc0 68 65 20 63 61 6e 64 69 64 61 74 65 73 20 28 6c 69 6b 65 20 44 72 52 27 73 0a 3b 3b 20 20 20 20 he.candidates.(like.DrR's.;;....
aace0 22 45 6e 74 65 72 20 53 75 62 73 65 6c 6c 65 63 74 69 6f 6e 22 20 62 75 74 74 6f 6e 2e 0a 3b 3b "Enter.Subsellection".button..;;
aad00 20 20 20 2d 20 6f 6e 20 61 20 66 69 6c 65 20 77 69 6c 6c 20 65 78 69 74 20 61 6e 64 20 6f 70 65 ...-.on.a.file.will.exit.and.ope
aad20 6e 20 74 68 65 20 66 69 6c 65 2e 0a 3b 3b 0a 3b 3b 20 52 65 6d 65 6d 62 65 72 20 74 68 61 74 20 n.the.file..;;.;;.Remember.that.
aad40 74 79 70 69 6e 67 20 61 20 6c 65 74 74 65 72 20 74 72 69 67 67 65 72 73 20 60 73 65 6c 66 2d 69 typing.a.letter.triggers.`self-i
aad60 6e 73 65 72 74 2d 63 6f 6d 6d 61 6e 64 27 2e 0a 3b 3b 20 54 68 65 72 65 66 6f 72 65 20 74 68 65 nsert-command'..;;.Therefore.the
aad80 20 70 72 65 20 61 6e 64 20 70 6f 73 74 20 63 6f 6d 6d 61 6e 64 20 68 6f 6f 6b 73 20 77 69 6c 6c .pre.and.post.command.hooks.will
aada0 20 72 75 6e 20 74 68 65 6e 2c 20 74 6f 6f 2e 0a 3b 3b 0a 3b 3b 20 45 61 72 6c 79 20 76 65 72 73 .run.then,.too..;;.;;.Early.vers
aadc0 69 6f 6e 20 6f 66 20 74 68 69 73 20 75 73 65 64 20 72 61 63 6b 65 74 2d 2d 65 76 61 6c 2f 73 65 ion.of.this.used.racket--eval/se
aade0 78 70 72 2e 20 43 6f 75 6c 64 6e 27 74 20 6b 65 65 70 20 75 70 0a 3b 3b 20 77 69 74 68 20 74 79 xpr..Couldn't.keep.up.;;.with.ty
aae00 70 69 6e 67 2e 20 49 6e 73 74 65 61 64 3a 20 72 75 6e 20 64 65 64 69 63 61 74 65 64 20 52 61 63 ping..Instead:.run.dedicated.Rac
aae20 6b 65 74 20 70 72 6f 63 65 73 73 20 61 6e 64 20 6d 6f 72 65 20 64 69 72 65 63 74 0a 3b 3b 20 70 ket.process.and.more.direct.;;.p
aae40 69 70 65 20 73 74 79 6c 65 3b 20 74 68 65 20 70 72 6f 63 65 73 73 20 64 6f 65 73 20 61 20 72 65 ipe.style;.the.process.does.a.re
aae60 61 64 2d 6c 69 6e 65 20 61 6e 64 20 72 65 73 70 6f 6e 64 73 20 77 69 74 68 20 65 61 63 68 0a 3b ad-line.and.responds.with.each.;
aae80 3b 20 63 68 6f 69 63 65 20 6f 6e 20 69 74 73 20 6f 77 6e 20 6c 69 6e 65 2c 20 74 65 72 6d 69 6e ;.choice.on.its.own.line,.termin
aaea0 61 74 65 64 20 62 79 20 61 20 62 6c 61 6e 6b 20 6c 69 6b 65 20 28 6c 69 6b 65 20 48 54 54 50 0a ated.by.a.blank.like.(like.HTTP.
aaec0 3b 3b 20 68 65 61 64 65 72 73 29 2e 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 6f 72 ;;.headers)...(defvar.racket--or
aaee0 70 2f 74 71 20 6e 69 6c 0a 20 20 22 74 71 20 71 75 65 75 65 22 29 0a 28 64 65 66 76 61 72 20 72 p/tq.nil..."tq.queue").(defvar.r
aaf00 61 63 6b 65 74 2d 2d 6f 72 70 2f 61 63 74 69 76 65 20 6e 69 6c 20 3b 3b 46 49 58 4d 45 3a 20 55 acket--orp/active.nil.;;FIXME:.U
aaf20 73 65 20 6d 69 6e 69 62 75 66 66 65 72 2d 65 78 69 74 2d 68 6f 6f 6b 20 69 6e 73 74 65 61 64 3f se.minibuffer-exit-hook.instead?
aaf40 0a 20 20 22 49 73 20 60 72 61 63 6b 65 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 ..."Is.`racket-open-require-path
aaf60 27 20 75 73 69 6e 67 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 3f 22 29 0a 28 64 65 66 76 61 '.using.the.minibuffer?").(defva
aaf80 72 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 69 6e 70 75 74 20 22 22 0a 20 20 22 54 68 65 20 63 75 r.racket--orp/input.""..."The.cu
aafa0 72 72 65 6e 74 20 75 73 65 72 20 69 6e 70 75 74 2e 22 29 0a 28 64 65 66 76 61 72 20 72 61 63 6b rrent.user.input.").(defvar.rack
aafc0 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 65 73 20 6e 69 6c 0a 20 20 22 54 68 65 20 63 75 72 72 65 et--orp/matches.nil..."The.curre
aafe0 6e 74 20 75 73 65 72 20 6d 61 74 63 68 65 73 2e 22 29 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 nt.user.matches.").(defvar.racke
ab000 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 2d 69 6e 64 65 78 20 30 0a 20 20 22 54 68 65 20 69 6e 64 65 t--orp/match-index.0..."The.inde
ab020 78 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d 61 74 63 68 20 73 65 6c 65 63 74 65 64 20 x.of.the.current.match.selected.
ab040 62 79 20 74 68 65 20 75 73 65 72 2e 22 29 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 6f by.the.user.").(defvar.racket--o
ab060 72 70 2f 6d 61 78 2d 68 65 69 67 68 74 20 31 30 0a 20 20 22 54 68 65 20 6d 61 78 69 6d 75 6d 20 rp/max-height.10..."The.maximum.
ab080 68 65 69 67 68 74 20 6f 66 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 2e 22 29 0a 28 64 65 66 height.of.the.minibuffer.").(def
ab0a0 76 61 72 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6b 65 79 6d 61 70 0a 20 20 28 72 61 63 6b 65 74 var.racket--orp/keymap...(racket
ab0c0 2d 2d 65 61 73 79 2d 6b 65 79 6d 61 70 2d 64 65 66 69 6e 65 0a 20 20 20 27 28 28 28 22 52 45 54 --easy-keymap-define....'((("RET
ab0e0 22 20 22 43 2d 6a 22 29 20 20 20 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 65 6e 74 65 72 29 0a 20 "."C-j")....racket--orp/enter)..
ab100 20 20 20 20 28 22 43 2d 67 22 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 6f 72 ....("C-g"............racket--or
ab120 70 2f 71 75 69 74 29 0a 20 20 20 20 20 28 28 22 43 2d 70 22 20 22 3c 75 70 3e 22 29 20 20 20 72 p/quit)......(("C-p"."<up>")...r
ab140 61 63 6b 65 74 2d 2d 6f 72 70 2f 70 72 65 76 29 0a 20 20 20 20 20 28 28 22 43 2d 6e 22 20 22 3c acket--orp/prev)......(("C-n"."<
ab160 64 6f 77 6e 3e 22 29 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6e 65 78 74 29 0a 20 20 20 20 20 3b down>").racket--orp/next)......;
ab180 3b 20 53 6f 6d 65 20 6b 65 79 73 20 73 68 6f 75 6c 64 20 62 65 20 6e 6f 2d 6f 70 73 2e 0a 20 20 ;.Some.keys.should.be.no-ops....
ab1a0 20 20 20 28 28 22 53 50 43 22 20 22 54 41 42 22 20 22 43 2d 76 22 20 22 3c 6e 65 78 74 3e 22 20 ...(("SPC"."TAB"."C-v"."<next>".
ab1c0 22 4d 2d 76 22 20 22 3c 70 72 69 6f 72 3e 22 20 22 4d 2d 3c 22 20 22 3c 68 6f 6d 65 3e 22 20 22 "M-v"."<prior>"."M-<"."<home>"."
ab1e0 4d 2d 3e 22 20 22 3c 65 6e 64 3e 22 29 0a 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f M->"."<end>").......racket--orp/
ab200 6e 6f 70 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 6b 65 nop))))..(defun.racket--orp/make
ab220 2d 70 72 6f 63 65 73 73 20 28 29 0a 20 20 22 53 74 61 72 74 20 70 72 6f 63 65 73 73 20 74 6f 20 -process.()..."Start.process.to.
ab240 72 75 6e 20 66 69 6e 64 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 run.find-module-path-completions
ab260 2e 72 6b 74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 62 61 63 6b 2d 65 6e 64 20 20 28 72 61 63 6b .rkt."...(let*.((back-end..(rack
ab280 65 74 2d 62 61 63 6b 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 20 20 20 et-back-end))..........(name....
ab2a0 20 20 28 63 6f 6e 63 61 74 20 22 72 61 63 6b 65 74 2d 66 69 6e 64 2d 6d 6f 64 75 6c 65 2d 70 61 ..(concat."racket-find-module-pa
ab2c0 74 68 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 2d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 th-completions-"................
ab2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 6e 61 .............(racket-back-end-na
ab300 6d 65 20 62 61 63 6b 2d 65 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 6b 74 2d 66 69 6c me.back-end)))..........(rkt-fil
ab320 65 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 66 69 6e 64 2d 6d 6f 64 75 6c e..(expand-file-name."find-modul
ab340 65 2d 70 61 74 68 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 e-path-completions.rkt".........
ab360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 ..............................(i
ab380 66 20 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 6c 6f 63 61 6c 2d 70 20 62 61 63 6b f.(racket--back-end-local-p.back
ab3a0 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -end)...........................
ab3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 72 6b 74 2d 73 6f 75 72 ................racket--rkt-sour
ab3e0 63 65 2d 64 69 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce-dir..........................
ab400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 62 61 63 6b 2d 65 ...............(plist-get.back-e
ab420 6e 64 20 3a 72 65 6d 6f 74 65 2d 73 6f 75 72 63 65 2d 64 69 72 29 29 29 29 0a 20 20 20 20 20 20 nd.:remote-source-dir)))).......
ab440 20 20 20 28 63 6f 6d 6d 61 6e 64 20 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 61 72 ...(command.(racket--back-end-ar
ab460 67 73 2d 3e 63 6f 6d 6d 61 6e 64 20 62 61 63 6b 2d 65 6e 64 20 28 6c 69 73 74 20 72 6b 74 2d 66 gs->command.back-end.(list.rkt-f
ab480 69 6c 65 29 29 29 29 0a 20 20 20 20 28 6d 61 6b 65 2d 70 72 6f 63 65 73 73 20 3a 6e 61 6d 65 20 ile)))).....(make-process.:name.
ab4a0 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........name.................
ab4c0 20 20 3a 63 6f 6e 6e 65 63 74 69 6f 6e 2d 74 79 70 65 20 27 70 69 70 65 0a 20 20 20 20 20 20 20 ..:connection-type.'pipe........
ab4e0 20 20 20 20 20 20 20 20 20 20 20 3a 6e 6f 71 75 65 72 79 20 20 20 20 20 20 20 20 20 74 0a 20 20 ...........:noquery.........t...
ab500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 64 69 6e 67 20 20 20 20 20 20 20 20 20 ................:coding.........
ab520 20 27 75 74 66 2d 38 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 62 75 66 66 65 .'utf-8...................:buffe
ab540 72 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 20 2a 22 20 6e 61 6d 65 20 22 2a 22 r..........(concat.".*".name."*"
ab560 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 74 64 65 72 72 20 20 20 20 20 )...................:stderr.....
ab580 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 20 2a 22 20 6e 61 6d 65 20 22 2d 73 74 64 65 72 72 2a .....(concat.".*".name."-stderr*
ab5a0 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 6d 61 6e 64 20 20 20 ")...................:command...
ab5c0 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d ......command)))..(defun.racket-
ab5e0 2d 6f 72 70 2f 62 65 67 69 6e 20 28 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 -orp/begin.()...(setq.racket--or
ab600 70 2f 74 71 20 28 74 71 2d 63 72 65 61 74 65 20 28 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 6b p/tq.(tq-create.(racket--orp/mak
ab620 65 2d 70 72 6f 63 65 73 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6f 72 e-process))))..(defun.racket--or
ab640 70 2f 72 65 71 75 65 73 74 2d 74 78 2d 6d 61 74 63 68 65 73 20 28 69 6e 70 75 74 29 0a 20 20 22 p/request-tx-matches.(input)..."
ab660 52 65 71 75 65 73 74 20 6d 61 74 63 68 65 73 20 66 72 6f 6d 20 74 68 65 20 52 61 63 6b 65 74 20 Request.matches.from.the.Racket.
ab680 70 72 6f 63 65 73 73 3b 20 64 65 6c 69 76 65 72 65 64 20 74 6f 20 60 72 61 63 6b 65 74 2d 2d 6f process;.delivered.to.`racket--o
ab6a0 72 70 2f 72 78 2d 6d 61 74 63 68 65 73 27 2e 22 0a 20 20 28 77 68 65 6e 20 72 61 63 6b 65 74 2d rp/rx-matches'."...(when.racket-
ab6c0 2d 6f 72 70 2f 74 71 0a 20 20 20 20 28 74 71 2d 65 6e 71 75 65 75 65 20 72 61 63 6b 65 74 2d 2d -orp/tq.....(tq-enqueue.racket--
ab6e0 6f 72 70 2f 74 71 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 69 orp/tq.................(concat.i
ab700 6e 70 75 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2e 2a 5c 6e nput."\n").................".*\n
ab720 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 \n".................(current-buf
ab740 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 2d 6f 72 fer).................'racket--or
ab760 70 2f 72 78 2d 6d 61 74 63 68 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d p/rx-matches)))..(defun.racket--
ab780 6f 72 70 2f 72 78 2d 6d 61 74 63 68 65 73 20 28 62 75 66 66 65 72 20 61 6e 73 77 65 72 29 0a 20 orp/rx-matches.(buffer.answer)..
ab7a0 20 22 43 6f 6d 70 6c 65 74 69 6f 6e 20 70 72 6f 63 3b 20 72 65 63 65 69 76 65 73 20 61 6e 73 77 ."Completion.proc;.receives.answ
ab7c0 65 72 20 74 6f 20 72 65 71 75 65 73 74 20 62 79 20 60 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 72 65 er.to.request.by.`racket--orp/re
ab7e0 71 75 65 73 74 2d 74 78 2d 6d 61 74 63 68 65 73 27 2e 22 0a 20 20 28 77 68 65 6e 20 72 61 63 6b quest-tx-matches'."...(when.rack
ab800 65 74 2d 2d 6f 72 70 2f 61 63 74 69 76 65 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d et--orp/active.....(setq.racket-
ab820 2d 6f 72 70 2f 6d 61 74 63 68 65 73 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 61 6e 73 77 65 -orp/matches.(split-string.answe
ab840 72 20 22 5c 6e 22 20 74 29 29 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 70 r."\n".t)).....(setq.racket--orp
ab860 2f 6d 61 74 63 68 2d 69 6e 64 65 78 20 30 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e /match-index.0).....(with-curren
ab880 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6f t-buffer.buffer.......(racket--o
ab8a0 72 70 2f 64 72 61 77 2d 6d 61 74 63 68 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b rp/draw-matches))))..(defun.rack
ab8c0 65 74 2d 2d 6f 72 70 2f 65 6e 64 20 28 29 0a 20 20 28 77 68 65 6e 20 72 61 63 6b 65 74 2d 2d 6f et--orp/end.()...(when.racket--o
ab8e0 72 70 2f 74 71 0a 20 20 20 20 28 74 71 2d 63 6c 6f 73 65 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f rp/tq.....(tq-close.racket--orp/
ab900 74 71 29 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 74 71 20 6e 69 6c tq).....(setq.racket--orp/tq.nil
ab920 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 65 2d )))..(defun.racket-open-require-
ab940 70 61 74 68 20 28 29 0a 20 20 22 4c 69 6b 65 20 44 72 20 52 61 63 6b 65 74 27 73 20 4f 70 65 6e path.()..."Like.Dr.Racket's.Open
ab960 20 52 65 71 75 69 72 65 20 50 61 74 68 2e 0a 0a 54 79 70 65 20 28 6f 72 20 64 65 6c 65 74 65 29 .Require.Path...Type.(or.delete)
ab980 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 61 72 65 20 70 61 72 74 20 6f 66 20 61 20 6d .characters.that.are.part.of.a.m
ab9a0 6f 64 75 6c 65 20 70 61 74 68 20 6e 61 6d 65 2e 0a 5c 22 46 75 7a 7a 79 5c 22 20 6d 61 74 63 68 odule.path.name..\"Fuzzy\".match
ab9c0 65 73 20 61 70 70 65 61 72 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 74 72 79 20 74 79 70 69 6e es.appear..For.example.try.typin
ab9e0 67 20 5c 22 74 2f 74 2f 72 5c 22 2e 0a 0a 43 68 6f 69 63 65 73 20 61 72 65 20 64 69 73 70 6c 61 g.\"t/t/r\"...Choices.are.displa
aba00 79 65 64 20 69 6e 20 61 20 76 65 72 74 69 63 61 6c 20 6c 69 73 74 2e 20 54 68 65 20 63 75 72 72 yed.in.a.vertical.list..The.curr
aba20 65 6e 74 20 63 68 6f 69 63 65 20 69 73 0a 61 74 20 74 68 65 20 74 6f 70 2c 20 6d 61 72 6b 65 64 ent.choice.is.at.the.top,.marked
aba40 20 77 69 74 68 20 5c 22 2d 3e 5c 22 2e 0a 0a 2d 20 43 2d 6e 20 61 6e 64 20 43 2d 70 20 6d 6f 76 .with.\"->\"...-.C-n.and.C-p.mov
aba60 65 20 61 6d 6f 6e 67 20 74 68 65 20 63 68 6f 69 63 65 73 2e 0a 2d 20 52 45 54 20 6f 6e 20 61 20 e.among.the.choices..-.RET.on.a.
aba80 64 69 72 65 63 74 6f 72 79 20 61 64 64 73 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 74 6f 20 74 directory.adds.its.contents.to.t
abaa0 68 65 20 63 68 6f 69 63 65 73 2e 0a 2d 20 52 45 54 20 6f 6e 20 61 20 66 69 6c 65 20 65 78 69 74 he.choices..-.RET.on.a.file.exit
abac0 73 20 64 6f 69 6e 67 20 60 66 69 6e 64 2d 66 69 6c 65 27 2e 0a 2d 20 43 2d 67 20 61 62 6f 72 74 s.doing.`find-file'..-.C-g.abort
abae0 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 6f s."...(interactive)...(racket--o
abb00 72 70 2f 62 65 67 69 6e 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 61 63 rp/begin)...(setq.racket--orp/ac
abb20 74 69 76 65 20 74 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 tive.t)...(setq.racket--orp/matc
abb40 68 2d 69 6e 64 65 78 20 30 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 69 h-index.0)...(setq.racket--orp/i
abb60 6e 70 75 74 20 22 22 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 nput."")...(setq.racket--orp/mat
abb80 63 68 65 73 20 6e 69 6c 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6d 69 6e 69 62 75 66 66 65 ches.nil)...(add-hook.'minibuffe
abba0 72 2d 73 65 74 75 70 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 69 6e 69 62 r-setup-hook.#'racket--orp/minib
abbc0 75 66 66 65 72 2d 73 65 74 75 70 29 0a 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 uffer-setup)...(unwind-protect..
abbe0 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 66 72 6f 6d 2d 6d .....(progn.........(read-from-m
abc00 69 6e 69 62 75 66 66 65 72 20 22 4f 70 65 6e 20 72 65 71 75 69 72 65 20 70 61 74 68 3a 20 22 0a inibuffer."Open.require.path:.".
abc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 ..............................ra
abc40 63 6b 65 74 2d 2d 6f 72 70 2f 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cket--orp/input.................
abc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6b 65 79 6d 61 70 ..............racket--orp/keymap
abc80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e ...............................n
abca0 69 6c 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 il).........(when.racket--orp/ma
abcc0 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 28 72 61 63 6b tches...........(find-file.(rack
abce0 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 6f 6e 74 0a 20 20 20 20 20 et-file-name-back-to-front......
abd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 74 20 72 61 63 6b 65 74 2d 2d 6f 72 .................(elt.racket--or
abd20 70 2f 6d 61 74 63 68 65 73 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 2d 69 6e 64 65 p/matches.racket--orp/match-inde
abd40 78 29 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 69 6e 70 x))))).....(setq.racket--orp/inp
abd60 75 74 20 22 22 29 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 ut."").....(setq.racket--orp/mat
abd80 63 68 65 73 20 6e 69 6c 29 29 0a 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 6d 69 6e 69 62 ches.nil))...(remove-hook.'minib
abda0 75 66 66 65 72 2d 73 65 74 75 70 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d uffer-setup-hook.#'racket--orp/m
abdc0 69 6e 69 62 75 66 66 65 72 2d 73 65 74 75 70 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d inibuffer-setup)...(setq.racket-
abde0 2d 6f 72 70 2f 61 63 74 69 76 65 20 6e 69 6c 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 6f 72 70 2f -orp/active.nil)...(racket--orp/
abe00 65 6e 64 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 69 6e 69 62 75 end))..(defun.racket--orp/minibu
abe20 66 66 65 72 2d 73 65 74 75 70 20 28 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 70 72 65 2d 63 ffer-setup.()...(add-hook.'pre-c
abe40 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 20 23 27 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 70 72 65 2d 63 ommand-hook..#'racket--orp/pre-c
abe60 6f 6d 6d 61 6e 64 20 20 6e 69 6c 20 74 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 70 6f 73 74 ommand..nil.t)...(add-hook.'post
abe80 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 70 6f 73 74 -command-hook.#'racket--orp/post
abea0 2d 63 6f 6d 6d 61 6e 64 20 6e 69 6c 20 74 29 0a 20 20 28 77 68 65 6e 20 72 61 63 6b 65 74 2d 2d -command.nil.t)...(when.racket--
abec0 6f 72 70 2f 61 63 74 69 76 65 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 64 72 61 77 orp/active.....(racket--orp/draw
abee0 2d 6d 61 74 63 68 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f -matches)))..(defun.racket--orp/
abf00 65 6f 69 6e 70 75 74 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 70 6f 73 69 74 69 6f 6e 20 77 68 eoinput.()..."Return.position.wh
abf20 65 72 65 20 75 73 65 72 20 69 6e 70 75 74 20 65 6e 64 73 2c 20 69 2e 65 2e 20 74 68 65 20 66 69 ere.user.input.ends,.i.e..the.fi
abf40 72 73 74 20 5c 6e 20 62 65 66 6f 72 65 20 74 68 65 0a 63 61 6e 64 69 64 61 74 65 73 20 6f 72 20 rst.\n.before.the.candidates.or.
abf60 28 70 6f 69 6e 74 2d 6d 61 78 29 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a (point-max)."...(save-excursion.
abf80 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 ....(goto-char.(point-min)).....
abfa0 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 20 20 20 20 20 20 28 31 2d 20 28 72 (condition-case._.........(1-.(r
abfc0 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 28 65 e-search-forward."\n")).......(e
abfe0 72 72 6f 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 rror.(point-max)))))..(defun.rac
ac000 6b 65 74 2d 2d 6f 72 70 2f 67 65 74 2d 75 73 65 72 2d 69 6e 70 75 74 20 28 29 0a 20 20 22 47 65 ket--orp/get-user-input.()..."Ge
ac020 74 20 74 68 65 20 75 73 65 72 27 73 20 69 6e 70 75 74 20 66 72 6f 6d 20 74 68 65 20 6d 69 6e 69 t.the.user's.input.from.the.mini
ac040 2d 62 75 66 66 65 72 2e 22 0a 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f -buffer."...(buffer-substring-no
ac060 2d 70 72 6f 70 65 72 74 69 65 73 20 28 6d 69 6e 69 62 75 66 66 65 72 2d 70 72 6f 6d 70 74 2d 65 -properties.(minibuffer-prompt-e
ac080 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nd).............................
ac0a0 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 65 6f 69 6e 70 75 74 29 29 29 0a 0a 28 ......(racket--orp/eoinput)))..(
ac0c0 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 70 72 65 2d 63 6f 6d 6d 61 6e 64 20 28 29 defun.racket--orp/pre-command.()
ac0e0 0a 20 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 70 6f 73 74 ...nil)..(defun.racket--orp/post
ac100 2d 63 6f 6d 6d 61 6e 64 20 28 29 0a 20 20 22 55 70 64 61 74 65 20 6d 61 74 63 68 65 73 20 69 66 -command.()..."Update.matches.if
ac120 20 69 6e 70 75 74 20 63 68 61 6e 67 65 64 2e 0a 41 6c 73 6f 20 63 6f 6e 73 74 72 61 69 6e 20 70 .input.changed..Also.constrain.p
ac140 6f 69 6e 74 20 69 6e 20 63 61 73 65 20 75 73 65 72 20 74 72 69 65 64 20 74 6f 20 6e 61 76 69 67 oint.in.case.user.tried.to.navig
ac160 61 74 65 20 70 61 73 74 0a 60 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 65 6f 69 6e 70 75 74 27 2e 22 ate.past.`racket--orp/eoinput'."
ac180 0a 20 20 28 77 68 65 6e 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 61 63 74 69 76 65 0a 20 20 20 20 ...(when.racket--orp/active.....
ac1a0 28 6c 65 74 20 28 28 69 6e 70 75 74 20 28 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 67 65 74 2d 75 73 (let.((input.(racket--orp/get-us
ac1c0 65 72 2d 69 6e 70 75 74 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 73 74 er-input))).......(when.(not.(st
ac1e0 72 69 6e 67 2d 65 71 75 61 6c 20 69 6e 70 75 74 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 69 6e 70 ring-equal.input.racket--orp/inp
ac200 75 74 29 29 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6f 6e 2d 69 6e 70 ut)).........(racket--orp/on-inp
ac220 75 74 2d 63 68 61 6e 67 65 64 20 69 6e 70 75 74 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 65 ut-changed.input))).....(let.((e
ac240 6f 69 20 28 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 65 6f 69 6e 70 75 74 29 29 29 0a 20 20 20 20 20 oi.(racket--orp/eoinput)))......
ac260 20 28 77 68 65 6e 20 28 3e 20 28 70 6f 69 6e 74 29 20 65 6f 69 29 0a 20 20 20 20 20 20 20 20 28 .(when.(>.(point).eoi).........(
ac280 67 6f 74 6f 2d 63 68 61 72 20 65 6f 69 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 goto-char.eoi)))))..(defun.racke
ac2a0 74 2d 2d 6f 72 70 2f 6f 6e 2d 69 6e 70 75 74 2d 63 68 61 6e 67 65 64 20 28 69 6e 70 75 74 29 0a t--orp/on-input-changed.(input).
ac2c0 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 69 6e 70 75 74 20 69 6e 70 75 74 29 ..(setq.racket--orp/input.input)
ac2e0 0a 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 69 6e 70 75 74 20 22 22 ...(cond.((string-equal.input.""
ac300 29 20 3b 22 22 20 3d 3e 20 68 75 67 65 20 6c 69 73 74 3b 20 69 67 6e 6f 72 65 20 6c 69 6b 65 20 ).;"".=>.huge.list;.ignore.like.
ac320 44 72 52 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d DrR..........(setq.racket--orp/m
ac340 61 74 63 68 2d 69 6e 64 65 78 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 atch-index.0)..........(setq.rac
ac360 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 65 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 28 ket--orp/matches.nil)..........(
ac380 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 64 72 61 77 2d 6d 61 74 63 68 65 73 29 29 0a 20 20 20 20 20 racket--orp/draw-matches))......
ac3a0 20 20 20 28 74 20 28 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 72 65 71 75 65 73 74 2d 74 78 2d 6d 61 ...(t.(racket--orp/request-tx-ma
ac3c0 74 63 68 65 73 20 69 6e 70 75 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d tches.input))))..(defun.racket--
ac3e0 6f 72 70 2f 64 72 61 77 2d 6d 61 74 63 68 65 73 20 28 29 0a 20 20 28 73 61 76 65 2d 65 78 63 75 orp/draw-matches.()...(save-excu
ac400 72 73 69 6f 6e 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f rsion.....(let*.((inhibit-read-o
ac420 6e 6c 79 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 6f 69 20 28 72 61 63 6b 65 74 2d 2d nly.t)............(eoi.(racket--
ac440 6f 72 70 2f 65 6f 69 6e 70 75 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 20 28 6c orp/eoinput))............(len.(l
ac460 65 6e 67 74 68 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 65 73 29 29 0a 20 20 20 20 ength.racket--orp/matches)).....
ac480 20 20 20 20 20 20 20 28 6e 20 20 20 28 6d 69 6e 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 78 .......(n...(min.racket--orp/max
ac4a0 2d 68 65 69 67 68 74 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 20 20 20 72 61 -height.len))............(i...ra
ac4c0 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 2d 69 6e 64 65 78 29 29 0a 20 20 20 20 20 20 28 64 cket--orp/match-index)).......(d
ac4e0 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 65 6f 69 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 20 3b 64 elete-region.eoi.(point-max)).;d
ac500 65 6c 65 74 65 20 65 78 69 73 74 69 6e 67 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 6e elete.existing.......(while.(>.n
ac520 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 .0).........(insert."\n").......
ac540 20 20 28 63 6f 6e 64 20 28 28 3d 20 69 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 2d ..(cond.((=.i.racket--orp/match-
ac560 69 6e 64 65 78 29 20 28 69 6e 73 65 72 74 20 22 2d 3e 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 index).(insert."->."))..........
ac580 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(t.........................
ac5a0 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 20 22 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e ....(insert."..."))).........(in
ac5c0 73 65 72 74 20 28 65 6c 74 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 65 73 20 69 29 sert.(elt.racket--orp/matches.i)
ac5e0 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 20 28 31 2d 20 6e 29 29 0a 20 20 20 20 20 20 ).........(setq.n.(1-.n)).......
ac600 20 20 28 63 6f 6e 64 20 28 28 3c 20 28 31 2b 20 69 29 20 6c 65 6e 29 20 28 73 65 74 71 20 69 20 ..(cond.((<.(1+.i).len).(setq.i.
ac620 28 31 2b 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 (1+.i)))...............(t.......
ac640 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 30 29 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e .......(setq.i.0)))).......(when
ac660 20 28 3c 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 78 2d 68 65 69 67 68 74 20 6c 65 6e 29 0a .(<.racket--orp/max-height.len).
ac680 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 20 20 20 2e 2e 2e 22 29 29 0a 20 20 20 ........(insert."\n......"))....
ac6a0 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 65 6f 69 20 28 70 6f 69 6e 74 ...(put-text-property.eoi.(point
ac6c0 2d 6d 61 78 29 20 27 72 65 61 64 2d 6f 6e 6c 79 20 27 66 65 6e 63 65 29 29 29 29 0a 0a 28 64 65 -max).'read-only.'fence))))..(de
ac6e0 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 65 6e 74 65 72 20 28 29 0a 20 20 22 4f 6e 20 61 fun.racket--orp/enter.()..."On.a
ac700 20 64 69 72 2c 20 61 64 64 73 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 74 6f 20 63 68 6f 69 63 .dir,.adds.its.contents.to.choic
ac720 65 73 2e 20 4f 6e 20 61 20 66 69 6c 65 2c 20 6f 70 65 6e 73 20 74 68 65 20 66 69 6c 65 2e 22 0a es..On.a.file,.opens.the.file.".
ac740 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 68 65 6e 20 72 61 63 6b 65 74 2d 2d ..(interactive)...(when.racket--
ac760 6f 72 70 2f 61 63 74 69 76 65 0a 20 20 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 20 28 61 6e 64 orp/active.....(let.((match.(and
ac780 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 .racket--orp/matches............
ac7a0 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 74 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 ...........(elt.racket--orp/matc
ac7c0 68 65 73 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 2d 69 6e 64 65 78 29 29 29 29 0a hes.racket--orp/match-index)))).
ac7e0 20 20 20 20 20 20 28 63 6f 6e 64 20 28 3b 3b 20 50 72 65 73 73 69 6e 67 20 52 45 54 20 6f 6e 20 ......(cond.(;;.Pressing.RET.on.
ac800 61 20 64 69 72 65 63 74 6f 72 79 20 69 6e 73 65 72 74 73 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 a.directory.inserts.its.contents
ac820 2c 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 22 45 6e 74 65 72 20 73 75 ,.like..............;;."Enter.su
ac840 62 63 6f 6c 6c 65 63 74 69 6f 6e 22 20 62 75 74 74 6f 6e 20 69 6e 20 44 72 52 2e 0a 20 20 20 20 bcollection".button.in.DrR......
ac860 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 6d 61 74 63 68 20 28 66 69 6c 65 2d 64 69 72 65 63 74 .........(and.match.(file-direct
ac880 6f 72 79 2d 70 20 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 ory-p.match))..............(setq
ac8a0 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 .racket--orp/matches............
ac8c0 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 64 75 70 73 20 3b 69 66 20 74 68 65 79 20 52 45 ........(delete-dups.;if.they.RE
ac8e0 54 20 73 61 6d 65 20 69 74 65 6d 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 0a 20 20 20 20 20 T.same.item.more.than.once......
ac900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 6f 72 74 20 28 61 70 70 65 6e 64 20 72 61 63 ...............(sort.(append.rac
ac920 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ket--orp/matches................
ac940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 ...................(directory-fi
ac960 6c 65 73 20 6d 61 74 63 68 20 74 20 22 5b 5e 2e 5d 2b 24 22 29 29 0a 20 20 20 20 20 20 20 20 20 les.match.t."[^.]+$"))..........
ac980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 29 .................#'string-lessp)
ac9a0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 64 72 61 ))..............(racket--orp/dra
ac9c0 77 2d 6d 61 74 63 68 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 3b 3b 20 50 72 65 73 w-matches)).............(;;.Pres
ac9e0 73 69 6e 67 20 45 4e 54 45 52 20 6f 6e 20 61 20 66 69 6c 65 20 73 65 6c 65 63 74 73 20 69 74 2e sing.ENTER.on.a.file.selects.it.
aca00 20 57 65 20 65 78 69 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6d 69 6e .We.exit.the..............;;.min
aca20 69 62 75 66 66 65 72 3b 20 6f 75 72 20 6d 61 69 6e 20 66 75 6e 63 74 69 6f 6e 20 74 72 65 61 74 ibuffer;.our.main.function.treat
aca40 73 20 6e 6f 6e 2d 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 61 63 6b 65 74 s.non-nil..............;;.racket
aca60 2d 2d 6f 72 70 2f 6d 61 74 63 68 65 73 20 61 6e 64 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 --orp/matches.and.racket--orp/ma
aca80 74 63 68 2d 69 6e 64 65 78 20 61 73 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 tch-index.as.a..............;;.c
acaa0 68 6f 69 63 65 20 28 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 71 75 69 74 74 69 6e 67 20 77 2f hoice.(as.opposed.to.quitting.w/
acac0 6f 20 61 20 63 68 6f 69 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 74 0a 20 20 20 20 20 o.a.choice...............t......
acae0 20 20 20 20 20 20 20 20 28 65 78 69 74 2d 6d 69 6e 69 62 75 66 66 65 72 29 29 29 29 29 29 0a 0a ........(exit-minibuffer))))))..
acb00 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 71 75 69 74 20 28 29 0a 20 20 22 4f 75 (defun.racket--orp/quit.()..."Ou
acb20 72 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 60 6b 65 79 62 6f 61 72 64 2d 71 75 69 74 r.replacement.for.`keyboard-quit
acb40 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 68 65 6e 20 72 61 63 6b '."...(interactive)...(when.rack
acb60 65 74 2d 2d 6f 72 70 2f 61 63 74 69 76 65 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d et--orp/active.....(setq.racket-
acb80 2d 6f 72 70 2f 69 6e 70 75 74 20 22 22 29 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d -orp/input."").....(setq.racket-
acba0 2d 6f 72 70 2f 6d 61 74 63 68 65 73 20 6e 69 6c 29 0a 20 20 20 20 28 65 78 69 74 2d 6d 69 6e 69 -orp/matches.nil).....(exit-mini
acbc0 62 75 66 66 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6e 65 buffer)))..(defun.racket--orp/ne
acbe0 78 74 20 28 29 0a 20 20 22 53 65 6c 65 63 74 20 74 68 65 20 6e 65 78 74 20 6d 61 74 63 68 2e 22 xt.()..."Select.the.next.match."
acc00 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 68 65 6e 20 72 61 63 6b 65 74 2d ...(interactive)...(when.racket-
acc20 2d 6f 72 70 2f 61 63 74 69 76 65 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 -orp/active.....(setq.racket--or
acc40 70 2f 6d 61 74 63 68 2d 69 6e 64 65 78 20 28 31 2b 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 p/match-index.(1+.racket--orp/ma
acc60 74 63 68 2d 69 6e 64 65 78 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 3e 3d 20 72 61 63 6b 65 74 tch-index)).....(when.(>=.racket
acc80 2d 2d 6f 72 70 2f 6d 61 74 63 68 2d 69 6e 64 65 78 20 28 6c 65 6e 67 74 68 20 72 61 63 6b 65 74 --orp/match-index.(length.racket
acca0 2d 2d 6f 72 70 2f 6d 61 74 63 68 65 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b --orp/matches)).......(setq.rack
accc0 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 2d 69 6e 64 65 78 20 30 29 29 0a 20 20 20 20 28 72 61 63 et--orp/match-index.0)).....(rac
acce0 6b 65 74 2d 2d 6f 72 70 2f 64 72 61 77 2d 6d 61 74 63 68 65 73 29 29 29 0a 0a 28 64 65 66 75 6e ket--orp/draw-matches)))..(defun
acd00 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 70 72 65 76 20 28 29 0a 20 20 22 53 65 6c 65 63 74 20 74 .racket--orp/prev.()..."Select.t
acd20 68 65 20 70 72 65 76 69 6f 75 73 20 6d 61 74 63 68 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 he.previous.match."...(interacti
acd40 76 65 29 0a 20 20 28 77 68 65 6e 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 61 63 74 69 76 65 0a 20 ve)...(when.racket--orp/active..
acd60 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 2d 69 6e 64 65 78 ...(setq.racket--orp/match-index
acd80 20 28 31 2d 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 2d 69 6e 64 65 78 29 29 0a 20 .(1-.racket--orp/match-index))..
acda0 20 20 20 28 77 68 65 6e 20 28 3c 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 2d 69 6e ...(when.(<.racket--orp/match-in
acdc0 64 65 78 20 30 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6d dex.0).......(setq.racket--orp/m
acde0 61 74 63 68 2d 69 6e 64 65 78 20 28 6d 61 78 20 30 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 72 61 atch-index.(max.0.(1-.(length.ra
ace00 63 6b 65 74 2d 2d 6f 72 70 2f 6d 61 74 63 68 65 73 29 29 29 29 29 0a 20 20 20 20 28 72 61 63 6b cket--orp/matches))))).....(rack
ace20 65 74 2d 2d 6f 72 70 2f 64 72 61 77 2d 6d 61 74 63 68 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 et--orp/draw-matches)))..(defun.
ace40 72 61 63 6b 65 74 2d 2d 6f 72 70 2f 6e 6f 70 20 28 29 0a 20 20 22 41 20 64 6f 2d 6e 6f 74 68 69 racket--orp/nop.()..."A.do-nothi
ace60 6e 67 20 63 6f 6d 6d 61 6e 64 20 74 61 72 67 65 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 ng.command.target."...(interacti
ace80 76 65 29 0a 20 20 6e 69 6c 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 63 6f 6c ve)...nil)..(provide.'racket-col
acea0 6c 65 63 74 69 6f 6e 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 63 6f 6c 6c 65 63 74 69 6f 6e 2e 65 lection)..;;.racket-collection.e
acec0 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 l.ends.here.....................
acee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
acf00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
acf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
acf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
acf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
acf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
acfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
acfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
acfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad000 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
ad020 64 69 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dir.............................
ad040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
ad080 30 30 30 31 31 35 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 33 35 33 00 20 30 00 00 00 0001157.00000000000.014353..0...
ad0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
ad120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
ad140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad200 54 68 69 73 20 69 73 20 74 68 65 20 66 69 6c 65 20 2e 2e 2e 2f 69 6e 66 6f 2f 64 69 72 2c 20 77 This.is.the.file..../info/dir,.w
ad220 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 74 6f 70 6d 6f 73 74 20 6e 6f 64 65 20 6f hich.contains.the.topmost.node.o
ad240 66 20 74 68 65 20 49 6e 66 6f 20 68 69 65 72 61 72 63 68 79 2c 20 63 61 6c 6c 65 64 20 28 64 69 f.the.Info.hierarchy,.called.(di
ad260 72 29 54 6f 70 2e 0a 54 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 6f 75 20 69 6e 76 6f 6b 65 r)Top..The.first.time.you.invoke
ad280 20 49 6e 66 6f 20 79 6f 75 20 73 74 61 72 74 20 6f 66 66 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 74 .Info.you.start.off.looking.at.t
ad2a0 68 69 73 20 6e 6f 64 65 2e 0a 1f 0a 46 69 6c 65 3a 20 64 69 72 2c 09 4e 6f 64 65 3a 20 54 6f 70 his.node....File:.dir,.Node:.Top
ad2c0 09 54 68 69 73 20 69 73 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 49 4e 46 4f 20 74 72 65 .This.is.the.top.of.the.INFO.tre
ad2e0 65 0a 0a 20 20 54 68 69 73 20 28 74 68 65 20 44 69 72 65 63 74 6f 72 79 20 6e 6f 64 65 29 20 67 e....This.(the.Directory.node).g
ad300 69 76 65 73 20 61 20 6d 65 6e 75 20 6f 66 20 6d 61 6a 6f 72 20 74 6f 70 69 63 73 2e 0a 20 20 54 ives.a.menu.of.major.topics....T
ad320 79 70 69 6e 67 20 22 71 22 20 65 78 69 74 73 2c 20 22 48 22 20 6c 69 73 74 73 20 61 6c 6c 20 49 yping."q".exits,."H".lists.all.I
ad340 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 2c 20 22 64 22 20 72 65 74 75 72 6e 73 20 68 65 72 65 2c 0a nfo.commands,."d".returns.here,.
ad360 20 20 22 68 22 20 67 69 76 65 73 20 61 20 70 72 69 6d 65 72 20 66 6f 72 20 66 69 72 73 74 2d 74 .."h".gives.a.primer.for.first-t
ad380 69 6d 65 72 73 2c 0a 20 20 22 6d 45 6d 61 63 73 3c 52 65 74 75 72 6e 3e 22 20 76 69 73 69 74 73 imers,..."mEmacs<Return>".visits
ad3a0 20 74 68 65 20 45 6d 61 63 73 20 6d 61 6e 75 61 6c 2c 20 65 74 63 2e 0a 0a 20 20 49 6e 20 45 6d .the.Emacs.manual,.etc.....In.Em
ad3c0 61 63 73 2c 20 79 6f 75 20 63 61 6e 20 63 6c 69 63 6b 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 acs,.you.can.click.mouse.button.
ad3e0 32 20 6f 6e 20 61 20 6d 65 6e 75 20 69 74 65 6d 20 6f 72 20 63 72 6f 73 73 20 72 65 66 65 72 65 2.on.a.menu.item.or.cross.refere
ad400 6e 63 65 0a 20 20 74 6f 20 73 65 6c 65 63 74 20 69 74 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 45 6d nce...to.select.it...*.Menu:..Em
ad420 61 63 73 0a 2a 20 52 61 63 6b 65 74 20 4d 6f 64 65 3a 20 28 72 61 63 6b 65 74 2d 6d 6f 64 65 29 acs.*.Racket.Mode:.(racket-mode)
ad440 2e 20 20 20 45 64 69 74 20 61 6e 64 20 52 45 50 4c 20 6d 61 6a 6f 72 20 6d 6f 64 65 73 20 66 6f ....Edit.and.REPL.major.modes.fo
ad460 72 20 52 61 63 6b 65 74 20 6c 61 6e 67 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r.Racket.lang...................
ad480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad600 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
ad620 72 61 63 6b 65 74 2d 72 65 70 6c 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-repl.el..................
ad640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
ad680 30 32 31 35 35 37 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 34 32 30 00 20 30 00 00 00 0215575.00000000000.016420..0...
ad6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
ad720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
ad740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad800 3b 3b 3b 20 72 61 63 6b 65 74 2d 72 65 70 6c 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 ;;;.racket-repl.el.-*-.lexical-b
ad820 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 inding:.t;.-*-..;;.Copyright.(c)
ad840 20 32 30 31 33 2d 32 30 32 33 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a .2013-2023.by.Greg.Hendershott..
ad860 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d 31 ;;.Portions.Copyright.(C).1985-1
ad880 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 986,.1999-2013.Free.Software.Fou
ad8a0 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 3b 3b 20 49 6d 61 67 65 20 70 6f 72 74 69 6f 6e 73 20 ndation,.Inc..;;.Image.portions.
ad8c0 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 32 20 4a 6f 73 65 20 41 6e 74 6f 6e 69 6f 20 Copyright.(C).2012.Jose.Antonio.
ad8e0 4f 72 74 65 67 61 20 52 75 69 7a 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 65 Ortega.Ruiz...;;.Author:.Greg.He
ad900 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 ndershott.;;.URL:.https://github
ad920 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 .com/greghendershott/racket-mode
ad940 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 ..;;.SPDX-License-Identifier:.GP
ad960 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 L-3.0-or-later..(require.'racket
ad980 2d 62 72 6f 77 73 65 2d 75 72 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 6f -browse-url).(require.'racket-co
ad9a0 6d 70 61 6e 79 2d 64 6f 63 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 6f 6d 70 mpany-doc).(require.'racket-comp
ad9c0 6c 65 74 65 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 29 lete).(require.'racket-describe)
ad9e0 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 64 6f 63 29 0a 28 72 65 71 75 69 72 65 20 .(require.'racket-doc).(require.
ada00 27 72 61 63 6b 65 74 2d 65 6c 64 6f 63 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 'racket-eldoc).(require.'racket-
ada20 63 75 73 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 6f 6d 6d 6f 6e 29 custom).(require.'racket-common)
ada40 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 73 68 6f 77 29 0a 28 72 65 71 75 69 72 65 .(require.'racket-show).(require
ada60 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d .'racket-util).(require.'racket-
ada80 76 69 73 69 74 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 6d 64 29 0a 28 72 65 visit).(require.'racket-cmd).(re
adaa0 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 0a 28 72 65 71 75 69 72 65 quire.'racket-back-end).(require
adac0 20 27 61 6e 73 69 2d 63 6f 6c 6f 72 29 0a 28 72 65 71 75 69 72 65 20 27 63 6f 6d 70 69 6c 65 29 .'ansi-color).(require.'compile)
adae0 0a 28 72 65 71 75 69 72 65 20 27 65 61 73 79 6d 65 6e 75 29 0a 28 72 65 71 75 69 72 65 20 27 63 .(require.'easymenu).(require.'c
adb00 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6d 61 63 73 29 0a 28 72 65 71 75 69 l-lib).(require.'cl-macs).(requi
adb20 72 65 20 27 72 78 29 0a 28 72 65 71 75 69 72 65 20 27 78 72 65 66 29 0a 28 72 65 71 75 69 72 65 re.'rx).(require.'xref).(require
adb40 20 27 73 65 6d 61 6e 74 69 63 2f 73 79 6d 72 65 66 2f 67 72 65 70 29 0a 28 72 65 71 75 69 72 65 .'semantic/symref/grep).(require
adb60 20 27 72 69 6e 67 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 20 72 61 63 6b .'ring)..(declare-function..rack
adb80 65 74 2d 2d 77 68 61 74 2d 74 6f 2d 72 75 6e 2d 70 20 22 72 61 63 6b 65 74 2d 63 6f 6d 6d 6f 6e et--what-to-run-p."racket-common
adba0 22 20 28 76 29 29 0a 0a 3b 3b 20 44 6f 6e 27 74 20 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 ".(v))..;;.Don't.(require.'racke
adbc0 74 2d 64 65 62 75 67 29 2e 20 4d 75 74 75 61 6c 20 64 65 70 65 6e 64 65 6e 63 79 2e 20 49 6e 73 t-debug)..Mutual.dependency..Ins
adbe0 74 65 61 64 3a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 20 72 61 63 6b 65 74 2d tead:.(declare-function..racket-
adc00 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 20 20 20 20 20 20 22 72 61 63 6b 65 74 2d 64 -debuggable-files......"racket-d
adc20 65 62 75 67 22 20 28 66 69 6c 65 2d 74 6f 2d 72 75 6e 29 29 0a 28 61 75 74 6f 6c 6f 61 64 20 20 ebug".(file-to-run)).(autoload..
adc40 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 .......'racket--debuggable-files
adc60 20 20 20 20 20 20 22 72 61 63 6b 65 74 2d 64 65 62 75 67 22 29 0a 0a 3b 3b 3b 20 65 64 69 74 20 ......"racket-debug")..;;;.edit.
adc80 62 75 66 66 65 72 73 20 3c 3d 3e 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 buffers.<=>.`racket-repl-mode'.b
adca0 75 66 66 65 72 73 0a 0a 3b 3b 20 54 68 65 72 65 20 61 72 65 20 73 6f 6d 65 20 6e 75 61 6e 63 65 uffers..;;.There.are.some.nuance
adcc0 73 20 68 65 72 65 20 72 65 67 61 72 64 69 6e 67 20 74 68 65 73 65 20 76 61 72 69 61 62 6c 65 73 s.here.regarding.these.variables
adce0 20 62 65 69 6e 67 0a 3b 3b 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 6f 72 20 6e 6f 74 2c 20 61 .being.;;.buffer-local.or.not,.a
add00 6e 64 2c 20 77 68 65 74 68 65 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 68 61 76 65 20 61 nd,.whether.the.variables.have.a
add20 6e 79 20 6d 65 61 6e 69 6e 67 20 69 6e 0a 3b 3b 20 63 65 72 74 61 69 6e 20 6d 6f 64 65 73 2c 20 ny.meaning.in.;;.certain.modes,.
add40 6f 72 20 6e 6f 74 2e 20 57 65 20 75 73 65 20 45 6d 61 63 73 20 76 61 72 69 61 62 6c 65 20 73 65 or.not..We.use.Emacs.variable.se
add60 6d 61 6e 74 69 63 73 20 74 6f 20 68 61 6e 64 6c 65 0a 3b 3b 20 74 68 65 20 61 73 73 6f 63 69 61 mantics.to.handle.;;.the.associa
add80 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 6f 72 20 60 72 tion.between.`racket-mode'.or.`r
adda0 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 27 0a 3b 3b 20 65 64 69 74 20 62 75 acket-hash-lang-mode'.;;.edit.bu
addc0 66 66 65 72 73 20 61 6e 64 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 ffers.and.`racket-repl-mode'.buf
adde0 66 65 72 73 2c 20 66 6f 72 20 61 20 76 61 72 69 65 74 79 20 6f 66 20 75 73 65 0a 3b 3b 20 63 61 fers,.for.a.variety.of.use.;;.ca
ade00 73 65 73 20 74 68 65 20 75 73 65 72 20 6d 69 67 68 74 20 70 72 65 66 65 72 2e 20 54 68 65 73 65 ses.the.user.might.prefer..These
ade20 20 72 61 6e 67 65 20 66 72 6f 6d 20 61 6c 6c 20 65 64 69 74 20 62 75 66 66 65 72 73 0a 3b 3b 20 .range.from.all.edit.buffers.;;.
ade40 73 68 61 72 69 6e 67 20 6f 6e 65 20 52 45 50 4c 20 62 75 66 66 65 72 20 28 74 68 65 20 74 72 61 sharing.one.REPL.buffer.(the.tra
ade60 64 69 74 69 6f 6e 61 6c 20 64 65 66 61 75 6c 74 20 66 6f 72 20 52 61 63 6b 65 74 20 4d 6f 64 65 ditional.default.for.Racket.Mode
ade80 29 2c 0a 3b 3b 20 75 70 20 74 6f 20 65 61 63 68 20 65 64 69 74 20 62 75 66 66 65 72 73 20 68 61 ),.;;.up.to.each.edit.buffers.ha
adea0 76 69 6e 67 20 69 74 73 20 6f 77 6e 20 52 45 50 4c 20 28 61 73 20 69 6e 20 44 72 20 52 61 63 6b ving.its.own.REPL.(as.in.Dr.Rack
adec0 65 74 29 2c 20 6f 72 0a 3b 3b 20 61 6e 79 74 68 69 6e 67 20 69 6e 20 62 65 74 77 65 65 6e 20 28 et),.or.;;.anything.in.between.(
adee0 73 75 63 68 20 61 73 20 6f 6e 65 20 52 45 50 4c 20 70 65 72 20 70 72 6f 6a 65 63 74 69 6c 65 20 such.as.one.REPL.per.projectile.
adf00 70 72 6f 6a 65 63 74 2c 20 6f 72 0a 3b 3b 20 77 68 61 74 65 76 65 72 29 2e 0a 3b 3b 0a 3b 3b 20 project,.or.;;.whatever)..;;.;;.
adf20 41 6c 74 68 6f 75 67 68 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 20 73 63 65 6e 61 72 69 6f 73 Although.some.of.these.scenarios
adf40 20 6d 69 67 68 74 20 62 65 6e 65 66 69 74 20 66 72 6f 6d 20 61 20 68 69 67 68 65 72 2d 6c 65 76 .might.benefit.from.a.higher-lev
adf60 65 6c 0a 3b 3b 20 55 49 2c 20 74 68 65 79 20 61 6c 6c 20 63 6f 6d 65 20 64 6f 77 6e 20 74 6f 20 el.;;.UI,.they.all.come.down.to.
adf80 73 65 74 74 69 6e 67 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 3b 3b 20 60 72 61 63 6b 65 74 2d setting.the.variable.;;.`racket-
adfa0 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 27 20 67 6c 6f 62 61 6c 6c 79 20 61 6e 64 2f 6f repl-buffer-name'.globally.and/o
adfc0 72 20 6c 6f 63 61 6c 6c 79 20 66 6f 72 20 65 61 63 68 20 65 64 69 74 0a 3b 3b 20 62 75 66 66 65 r.locally.for.each.edit.;;.buffe
adfe0 72 20 2d 2d 20 74 68 61 74 20 69 73 20 74 68 65 20 66 75 6e 64 61 6d 65 6e 74 61 6c 20 72 65 70 r.--.that.is.the.fundamental.rep
ae000 72 65 73 65 6e 74 61 74 69 6f 6e 2e 0a 3b 3b 0a 3b 3b 20 53 69 6d 69 6c 61 72 6c 79 2c 20 65 61 resentation..;;.;;.Similarly,.ea
ae020 63 68 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 20 68 61 73 ch.`racket-repl-mode'.buffer.has
ae040 20 61 6e 0a 3b 3b 20 61 6c 77 61 79 73 2d 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 6c 75 65 .an.;;.always-buffer-local.value
ae060 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 3b 3b 20 60 72 61 63 6b 65 74 2d 2d 72 65 .for.the.variable.;;.`racket--re
ae080 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 27 2e 20 28 4e 6f 74 65 20 74 68 61 74 20 60 72 61 63 6b pl-session-id'..(Note.that.`rack
ae0a0 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 27 0a 3b 3b 20 6f 6e 6c 79 20 68 61 73 et-repl-buffer-name'.;;.only.has
ae0c0 20 6d 65 61 6e 69 6e 67 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 62 75 66 66 65 .meaning.for.`racket-mode'.buffe
ae0e0 72 73 2c 20 61 6e 64 0a 3b 3b 20 60 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e rs,.and.;;.`racket--repl-session
ae100 2d 69 64 27 20 6f 6e 6c 79 20 68 61 73 20 6d 65 61 6e 69 6e 67 20 66 6f 72 20 60 72 61 63 6b 65 -id'.only.has.meaning.for.`racke
ae120 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 0a 3b 3b 20 62 75 66 66 65 72 73 2e 20 45 6d 61 63 73 20 76 t-repl-mode'.;;.buffers..Emacs.v
ae140 61 72 69 61 62 6c 65 73 20 65 78 69 73 74 20 66 6f 72 20 61 6c 6c 20 62 75 66 66 65 72 73 20 75 ariables.exist.for.all.buffers.u
ae160 73 69 6e 67 20 61 6c 6c 20 6d 61 6a 6f 72 0a 3b 3b 20 6d 6f 64 65 73 2e 20 41 6c 6c 20 77 65 20 sing.all.major.;;.modes..All.we.
ae180 63 61 6e 20 64 6f 20 69 73 20 72 65 6d 65 6d 62 65 72 20 69 6e 20 77 68 69 63 68 20 62 75 66 66 can.do.is.remember.in.which.buff
ae1a0 65 72 73 20 74 68 65 79 20 6d 65 61 6e 0a 3b 3b 20 73 6f 6d 65 74 68 69 6e 67 20 61 73 20 6f 70 ers.they.mean.;;.something.as.op
ae1c0 70 6f 73 65 64 20 74 6f 20 62 65 69 6e 67 20 69 67 6e 6f 72 65 64 2e 29 0a 0a 28 64 65 66 76 61 posed.to.being.ignored.)..(defva
ae1e0 72 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 6e 69 6c 0a 20 20 r.racket-repl-buffer-name.nil...
ae200 22 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f "The.name.of.the.`racket-repl-mo
ae220 64 65 27 20 62 75 66 66 65 72 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 60 72 61 63 6b de'.buffer.associated.with.`rack
ae240 65 74 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 2e 0a 0a 49 6d 70 6f 72 74 61 6e 74 3a 20 54 68 69 et-mode'.buffer...Important:.Thi
ae260 73 20 76 61 72 69 61 62 6c 65 20 6f 6e 6c 79 20 6d 65 61 6e 73 20 73 6f 6d 65 74 68 69 6e 67 20 s.variable.only.means.something.
ae280 69 6e 20 65 61 63 68 0a 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 6f 72 20 60 72 61 63 6b 65 74 in.each.`racket-mode'.or.`racket
ae2a0 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 27 20 65 64 69 74 20 62 75 66 66 65 72 2e 20 49 74 -hash-lang-mode'.edit.buffer..It
ae2c0 20 68 61 73 20 6e 6f 0a 6d 65 61 6e 69 6e 67 20 69 6e 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d .has.no.meaning.in.`racket-repl-
ae2e0 6d 6f 64 65 27 20 6f 72 20 6f 74 68 65 72 20 62 75 66 66 65 72 73 2e 0a 0a 57 68 65 6e 20 6e 69 mode'.or.other.buffers...When.ni
ae300 6c 2c 20 61 6c 6c 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 65 64 69 74 20 62 75 66 66 65 72 l,.all.`racket-mode'.edit.buffer
ae320 73 20 73 68 61 72 65 20 74 68 65 20 73 61 6d 65 20 52 45 50 4c 2e 0a 48 6f 77 65 76 65 72 2c 20 s.share.the.same.REPL..However,.
ae340 61 20 62 75 66 66 65 72 20 6d 61 79 20 60 73 65 74 71 2d 6c 6f 63 61 6c 27 20 74 68 69 73 20 74 a.buffer.may.`setq-local'.this.t
ae360 6f 20 73 6f 6d 65 20 6f 74 68 65 72 20 76 61 6c 75 65 2e 20 53 65 65 0a 74 68 65 20 64 65 66 63 o.some.other.value..See.the.defc
ae380 75 73 74 6f 6d 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 ustom.`racket-repl-buffer-name-f
ae3a0 75 6e 63 74 69 6f 6e 27 20 61 73 20 77 65 6c 6c 20 61 73 20 73 65 76 65 72 61 6c 0a 76 61 6c 75 unction'.as.well.as.several.valu
ae3c0 65 73 20 66 6f 72 20 69 74 20 69 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d es.for.it.in.racket-repl-buffer-
ae3e0 6e 61 6d 65 2e 65 6c 2e 22 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 63 61 6c 6c 2d name.el.")..(defun.racket--call-
ae400 77 69 74 68 2d 72 65 70 6c 2d 62 75 66 66 65 72 20 28 74 68 75 6e 6b 29 0a 20 20 28 70 63 61 73 with-repl-buffer.(thunk)...(pcas
ae420 65 20 28 69 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 72 61 63 6b 65 74 2d 72 65 70 e.(if.(eq.major-mode.'racket-rep
ae440 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 6e 61 6d l-mode)..............(buffer-nam
ae460 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 e)............racket-repl-buffer
ae480 2d 6e 61 6d 65 29 0a 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 20 -name).....((and.(pred.stringp).
ae4a0 6e 61 6d 65 29 0a 20 20 20 20 20 28 70 63 61 73 65 20 28 67 65 74 2d 62 75 66 66 65 72 20 6e 61 name)......(pcase.(get-buffer.na
ae4c0 6d 65 29 0a 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 62 75 66 66 65 72 70 29 20 me)........((and.(pred.bufferp).
ae4e0 28 70 72 65 64 20 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 29 20 62 75 66 29 0a 20 20 20 20 20 20 (pred.buffer-live-p).buf).......
ae500 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 20 28 66 75 6e 63 ..(with-current-buffer.buf.(func
ae520 61 6c 6c 20 74 68 75 6e 6b 29 29 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 77 69 74 68 all.thunk)))))))..(defmacro.with
ae540 2d 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 20 28 26 72 65 73 74 20 62 6f 64 79 29 -racket-repl-buffer.(&rest.body)
ae560 0a 20 20 22 45 78 65 63 75 74 65 20 66 6f 72 6d 73 20 69 6e 20 42 4f 44 59 20 77 69 74 68 20 60 ..."Execute.forms.in.BODY.with.`
ae580 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 63 75 racket-repl-mode'.temporarily.cu
ae5a0 72 72 65 6e 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e rrent.buffer."...(declare.(inden
ae5c0 74 20 30 29 20 28 64 65 62 75 67 20 74 29 29 0a 20 20 60 28 72 61 63 6b 65 74 2d 2d 63 61 6c 6c t.0).(debug.t))...`(racket--call
ae5e0 2d 77 69 74 68 2d 72 65 70 6c 2d 62 75 66 66 65 72 20 28 6c 61 6d 62 64 61 20 28 29 20 2c 40 62 -with-repl-buffer.(lambda.().,@b
ae600 6f 64 79 29 29 29 0a 0a 3b 3b 3b 20 52 45 50 4c 20 62 61 63 6b 20 65 6e 64 20 73 65 73 73 69 6f ody)))..;;;.REPL.back.end.sessio
ae620 6e 73 20 3c 3d 3e 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 ns.<=>.`racket-repl-mode'.buffer
ae640 73 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6e 65 78 74 2d 73 65 73 s..(defvar.racket--repl-next-ses
ae660 73 69 6f 6e 2d 69 64 20 30 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 sion-id.0)..(defvar-local.racket
ae680 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 20 6e 69 6c 0a 20 20 22 41 6e 20 49 44 20 66 --repl-session-id.nil..."An.ID.f
ae6a0 6f 72 20 65 61 63 68 20 62 61 63 6b 20 65 6e 64 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 2e 0a 0a or.each.back.end.REPL.session...
ae6c0 43 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 61 72 65 20 61 62 6f 75 74 20 61 20 73 70 65 63 69 66 Commands.that.are.about.a.specif
ae6e0 69 63 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 6d 75 73 74 20 73 75 70 70 6c 79 20 74 68 69 73 ic.REPL.session.must.supply.this
ae700 3b 0a 73 65 65 20 60 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 27 2e 0a 0a 49 6d 70 6f ;.see.`racket--cmd/async'...Impo
ae720 72 74 61 6e 74 3a 20 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 6f 6e 6c 79 20 6d 65 61 6e 73 20 rtant:.This.variable.only.means.
ae740 73 6f 6d 65 74 68 69 6e 67 20 69 6e 20 65 61 63 68 0a 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d something.in.each.`racket-repl-m
ae760 6f 64 65 27 20 62 75 66 66 65 72 2e 20 49 74 20 68 61 73 20 6e 6f 20 6d 65 61 6e 69 6e 67 20 69 ode'.buffer..It.has.no.meaning.i
ae780 6e 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 6f 72 0a 6f 74 68 65 72 20 62 75 66 66 65 72 73 n.`racket-mode'.or.other.buffers
ae7a0 2e 20 46 75 74 68 65 72 6d 6f 72 65 2c 20 69 74 20 69 73 20 2f 61 6c 77 61 79 73 2f 20 62 75 66 ..Futhermore,.it.is./always/.buf
ae7c0 66 65 72 2d 6c 6f 63 61 6c 20 69 6e 20 65 61 63 68 0a 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d fer-local.in.each.`racket-repl-m
ae7e0 6f 64 65 27 20 62 75 66 66 65 72 2e 20 49 6e 73 74 65 61 64 20 6f 66 20 61 63 63 65 73 73 69 6e ode'.buffer..Instead.of.accessin
ae800 67 20 74 68 69 73 20 64 69 72 65 63 74 6c 79 2c 0a 75 73 65 20 74 68 65 20 66 75 6e 63 74 69 6f g.this.directly,.use.the.functio
ae820 6e 20 60 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 27 2c 20 77 68 69 n.`racket--repl-session-id',.whi
ae840 63 68 20 68 65 6c 70 73 20 73 65 6c 65 63 74 0a 74 68 65 20 63 6f 72 72 65 63 74 20 60 72 61 63 ch.helps.select.the.correct.`rac
ae860 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 2c 20 69 66 20 61 6e 79 2e 22 29 ket-repl-mode'.buffer,.if.any.")
ae880 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 ..(defun.racket--repl-session-id
ae8a0 20 28 29 0a 20 20 22 55 73 65 20 74 68 69 73 20 74 6f 20 67 65 74 20 61 20 52 45 50 4c 20 73 65 .()..."Use.this.to.get.a.REPL.se
ae8c0 73 73 69 6f 6e 20 49 44 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 6d 69 67 68 74 20 62 65 20 6e 69 ssion.ID..The.result.might.be.ni
ae8e0 6c 20 69 66 20 6e 6f 20 52 45 50 4c 20 62 75 66 66 65 72 20 65 78 69 73 74 73 2c 20 6f 72 20 69 l.if.no.REPL.buffer.exists,.or.i
ae900 66 20 69 74 20 64 6f 65 73 0a 62 75 74 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 20 6c 69 f.it.does.but.does.not.have.a.li
ae920 76 65 20 73 65 73 73 69 6f 6e 2e 22 0a 20 20 28 69 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 ve.session."...(if.(eq.major-mod
ae940 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 72 61 63 6b 65 e.'racket-repl-mode).......racke
ae960 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 0a 20 20 20 20 28 77 68 65 6e 20 28 73 74 t--repl-session-id.....(when.(st
ae980 72 69 6e 67 70 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 0a 20 ringp.racket-repl-buffer-name)..
ae9a0 20 20 20 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 72 .....(let.((buffer.(get-buffer.r
ae9c0 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 acket-repl-buffer-name))).......
ae9e0 20 20 28 77 68 65 6e 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 ..(when.buffer...........(with-c
aea00 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 urrent-buffer.racket-repl-buffer
aea20 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 -name.............racket--repl-s
aea40 65 73 73 69 6f 6e 2d 69 64 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d ession-id))))))..(defun.racket--
aea60 63 61 6c 6c 2d 77 69 74 68 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 20 28 69 64 20 70 72 call-with-repl-session-id.(id.pr
aea80 6f 63 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 46 69 6e 64 20 60 72 61 63 6b 65 74 2d 72 oc.&rest.args)..."Find.`racket-r
aeaa0 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 20 77 69 74 68 20 60 72 61 63 6b 65 74 2d 2d 72 epl-mode'.buffer.with.`racket--r
aeac0 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 27 0a 60 65 71 27 20 74 6f 20 49 44 2e 20 41 70 70 6c epl-session-id'.`eq'.to.ID..Appl
aeae0 79 20 41 52 47 53 20 74 6f 20 50 52 4f 43 20 77 68 69 6c 65 20 74 68 61 74 20 69 73 20 63 75 72 y.ARGS.to.PROC.while.that.is.cur
aeb00 72 65 6e 74 20 62 75 66 66 65 72 2e 22 0a 20 20 3b 3b 20 49 66 20 73 65 61 72 63 68 69 6e 67 20 rent.buffer."...;;.If.searching.
aeb20 62 75 66 66 65 72 2d 6c 69 73 74 20 74 6f 6f 20 73 6c 6f 77 2c 20 77 65 20 63 6f 75 6c 64 20 6d buffer-list.too.slow,.we.could.m
aeb40 61 69 6e 74 61 69 6e 20 61 20 68 61 73 68 20 74 61 62 6c 65 0a 20 20 3b 3b 20 61 6e 64 20 63 6c aintain.a.hash.table...;;.and.cl
aeb60 65 61 6e 20 69 74 20 77 69 74 68 20 61 20 6b 69 6c 6c 2d 62 75 66 66 65 72 20 68 6f 6f 6b 2e 0a ean.it.with.a.kill-buffer.hook..
aeb80 20 20 28 73 65 71 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28 62 75 66 29 0a 20 20 20 20 20 20 ..(seq-some.(lambda.(buf).......
aeba0 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 62 75 66 ........(when.(buffer-live-p.buf
aebc0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d ).................(with-current-
aebe0 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 buffer.buf...................(wh
aec00 65 6e 20 28 61 6e 64 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 72 61 63 6b 65 74 2d 72 en.(and.(eq.major-mode.'racket-r
aec20 65 70 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 epl-mode).......................
aec40 20 20 20 20 20 20 20 28 65 71 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d .......(eq.racket--repl-session-
aec60 69 64 20 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 id.id)).....................(app
aec80 6c 79 20 70 72 6f 63 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ly.proc.args)...................
aeca0 20 20 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 6c 69 73 74 ..t)))).............(buffer-list
aecc0 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 6e 2d 73 74 6f 70 )))..(defun.racket--repl-on-stop
aece0 2d 62 61 63 6b 2d 65 6e 64 20 28 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 62 75 66 20 28 62 75 66 -back-end.()...(dolist.(buf.(buf
aed00 66 65 72 2d 6c 69 73 74 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 fer-list)).....(with-current-buf
aed20 66 65 72 20 62 75 66 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 65 71 20 6d 61 6a fer.buf.......(when.(and.(eq.maj
aed40 6f 72 2d 6d 6f 64 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 or-mode.'racket-repl-mode)......
aed60 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 62 75 66 29 29 ............(buffer-live-p.buf))
aed80 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 73 65 72 74 2d 6f 75 .........(racket--repl-insert-ou
aeda0 74 70 75 74 20 27 65 78 69 74 20 22 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 73 74 6f 70 70 65 64 tput.'exit."REPL.session.stopped
aedc0 22 29 29 29 29 29 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 73 74 6f 70 2d 62 61 "))))).(add-hook.'racket-stop-ba
aede0 63 6b 2d 65 6e 64 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 6e 2d 73 74 ck-end-hook.#'racket--repl-on-st
aee00 6f 70 2d 62 61 63 6b 2d 65 6e 64 29 0a 0a 3b 3b 3b 20 4d 61 72 6b 65 72 73 20 66 6f 72 20 72 75 op-back-end)..;;;.Markers.for.ru
aee20 6e 2c 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 70 72 6f 6d 70 74 2c 20 61 6e 64 20 70 72 6f 67 n,.interactions.prompt,.and.prog
aee40 72 61 6d 20 49 2f 4f 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 72 ram.I/O..(defvar-local.racket--r
aee60 65 70 6c 2d 72 75 6e 2d 6d 61 72 6b 20 6e 69 6c 0a 20 20 22 54 68 65 20 70 6f 69 6e 74 20 61 74 epl-run-mark.nil..."The.point.at
aee80 20 77 68 69 63 68 20 61 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 20 77 61 73 20 69 73 73 75 65 64 2e .which.a.run.command.was.issued.
aeea0 22 29 0a 0a 3b 3b 20 4e 6f 74 65 3a 20 4f 6e 65 20 67 6f 61 6c 20 68 65 72 65 20 69 73 20 74 6f ")..;;.Note:.One.goal.here.is.to
aeec0 20 6d 61 6b 65 20 72 65 61 64 2d 6f 6e 6c 79 20 61 6c 6c 20 6f 66 20 74 68 65 20 6f 75 74 70 75 .make.read-only.all.of.the.outpu
aeee0 74 2c 20 61 73 20 77 65 6c 6c 0a 3b 3b 20 61 73 20 22 6f 6c 64 22 20 69 6e 70 75 74 20 74 68 61 t,.as.well.;;.as."old".input.tha
aef00 74 20 68 61 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20 73 75 62 6d 69 74 74 65 64 2e 20 54 68 t.has.already.been.submitted..Th
aef20 69 73 20 69 6e 76 6f 6c 76 65 73 0a 3b 3b 20 70 61 79 69 6e 67 20 63 61 72 65 66 75 6c 20 61 74 is.involves.;;.paying.careful.at
aef40 74 65 6e 74 69 6f 6e 20 74 6f 20 74 68 65 20 72 65 61 64 2d 6f 6e 6c 79 20 61 6e 64 20 72 65 61 tention.to.the.read-only.and.rea
aef60 72 2d 6e 6f 6e 73 74 69 63 6b 79 0a 3b 3b 20 70 72 6f 70 65 72 74 69 65 73 2e 0a 0a 28 64 65 66 r-nonsticky.;;.properties...(def
aef80 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 var-local.racket--repl-prompt-ma
aefa0 72 6b 20 6e 69 6c 0a 20 20 22 41 20 6d 61 72 6b 65 72 20 66 6f 72 20 74 68 65 20 73 74 61 72 74 rk.nil..."A.marker.for.the.start
aefc0 20 6f 66 20 74 68 65 20 61 63 74 69 76 65 20 70 72 6f 6d 70 74 2c 20 69 66 20 61 6e 79 2e 0a 0a .of.the.active.prompt,.if.any...
aefe0 4e 6f 6e 2d 6e 69 6c 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 52 45 50 4c 20 69 73 20 69 6e Non-nil.only.when.the.REPL.is.in
af000 20 61 20 70 72 6f 6d 70 74 2d 72 65 61 64 2e 0a 0a 4d 61 72 6b 65 72 20 69 6e 73 65 72 74 69 6f .a.prompt-read...Marker.insertio
af020 6e 20 74 79 70 65 20 69 73 20 6e 6f 6e 2d 6e 69 6c 3a 20 74 65 78 74 20 69 6e 73 65 72 74 65 64 n.type.is.non-nil:.text.inserted
af040 20 74 68 65 72 65 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 61 64 76 61 6e 63 65 73 20 74 68 .there.automatically.advances.th
af060 65 20 6d 61 72 6b 65 72 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 54 68 65 20 70 72 6f 6d 70 74 20 69 e.marker.position...The.prompt.i
af080 74 73 65 6c 66 20 69 73 20 72 65 61 64 2d 6f 6e 6c 79 2e 20 60 72 61 63 6b 65 74 2d 2d 72 65 70 tself.is.read-only..`racket--rep
af0a0 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 2d 65 6e 64 27 0a 67 69 76 65 73 20 74 68 65 20 70 6f 73 l-prompt-mark-end'.gives.the.pos
af0c0 69 74 69 6f 6e 20 77 68 65 72 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 65 61 64 2f 77 ition.where.the.following.read/w
af0e0 72 69 74 65 20 70 6f 72 74 69 6f 6e 0a 73 74 61 72 74 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d rite.portion.starts.")..(defvar-
af100 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 72 6b 20 6e local.racket--repl-output-mark.n
af120 69 6c 0a 20 20 22 41 20 6d 61 72 6b 65 72 20 77 68 65 72 65 20 52 45 50 4c 20 6f 75 74 70 75 74 il..."A.marker.where.REPL.output
af140 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 73 65 72 74 65 64 2c 20 61 6e 64 20 75 73 65 72 20 6d 61 .should.be.inserted,.and.user.ma
af160 79 20 69 6e 70 75 74 2e 0a 0a 50 6c 61 79 73 20 61 20 72 6f 6c 65 20 73 69 6d 69 6c 61 72 20 74 y.input...Plays.a.role.similar.t
af180 6f 20 60 70 72 6f 63 65 73 73 2d 6d 61 72 6b 27 20 69 6e 20 60 63 6f 6d 69 6e 74 2d 6d 6f 64 65 o.`process-mark'.in.`comint-mode
af1a0 27 2c 20 65 78 63 65 70 74 0a 77 65 20 68 61 76 65 20 6e 6f 20 70 72 6f 63 65 73 73 2e 0a 0a 56 ',.except.we.have.no.process...V
af1c0 61 72 69 6f 75 73 20 6b 69 6e 64 73 20 6f 66 20 6f 75 74 70 75 74 20 67 65 74 20 76 61 72 69 6f arious.kinds.of.output.get.vario
af1e0 75 73 20 66 69 65 6c 64 20 70 72 6f 70 65 72 74 79 20 76 61 6c 75 65 73 2e 20 41 6c 6c 0a 6f 75 us.field.property.values..All.ou
af200 74 70 75 74 20 69 73 20 72 65 61 64 2d 6f 6e 6c 79 2c 20 62 75 74 20 77 65 20 61 72 72 61 6e 67 tput.is.read-only,.but.we.arrang
af220 65 20 66 6f 72 20 74 68 65 20 6c 61 73 74 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 62 65 0a 72 e.for.the.last.character.to.be.r
af240 65 61 72 2d 6e 6f 6e 73 74 69 63 6b 79 20 73 6f 20 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f 6d ear-nonsticky.so.self-insert-com
af260 6d 61 6e 64 20 77 69 6c 6c 20 6c 65 74 20 74 68 65 20 75 73 65 72 20 74 79 70 65 0a 69 6e 70 75 mand.will.let.the.user.type.inpu
af280 74 2e 20 57 68 65 6e 20 74 68 65 20 75 73 65 72 20 74 79 70 65 73 20 74 65 78 74 20 74 68 65 72 t..When.the.user.types.text.ther
af2a0 65 20 61 6e 64 20 70 72 65 73 73 65 73 20 52 45 54 2c 20 74 68 65 6e 20 74 68 61 74 0a 69 73 20 e.and.presses.RET,.then.that.is.
af2c0 73 75 62 6d 69 74 74 65 64 20 61 73 20 70 6c 61 69 6e 20 69 6e 70 75 74 20 2d 2d 20 61 73 20 6f submitted.as.plain.input.--.as.o
af2e0 70 70 6f 73 65 64 20 74 6f 20 52 45 50 4c 20 69 6e 74 65 72 61 63 74 69 6f 6e 0a 69 6e 70 75 74 pposed.to.REPL.interaction.input
af300 2e 0a 0a 57 68 65 6e 20 60 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 ...When.`racket--repl-prompt-mar
af320 6b 27 20 6d 61 72 6b 65 72 20 65 78 69 73 74 73 2c 20 74 68 61 74 20 61 6c 77 61 79 73 0a 2f 66 k'.marker.exists,.that.always./f
af340 6f 6c 6c 6f 77 73 2f 20 60 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 72 ollows/.`racket--repl-output-mar
af360 6b 27 2e 20 49 66 20 65 2e 67 2e 20 74 68 65 20 75 73 65 72 20 70 72 6f 67 72 61 6d 0a 68 61 73 k'..If.e.g..the.user.program.has
af380 20 61 20 74 68 72 65 61 64 20 74 68 61 74 20 63 6f 6e 74 69 6e 75 65 73 20 74 6f 20 72 75 6e 20 .a.thread.that.continues.to.run.
af3a0 61 66 74 65 72 20 77 65 27 72 65 20 62 61 63 6b 20 61 74 20 61 20 70 72 6f 6d 70 74 2c 0a 69 74 after.we're.back.at.a.prompt,.it
af3c0 73 20 6f 75 74 70 75 74 20 69 73 20 64 69 73 70 6c 61 79 65 64 20 2f 62 65 66 6f 72 65 2f 20 74 s.output.is.displayed./before/.t
af3e0 68 65 20 70 72 6f 6d 70 74 2e 20 4f 74 68 65 72 77 69 73 65 20 77 69 74 68 20 6e 6f 0a 6c 69 76 he.prompt..Otherwise.with.no.liv
af400 65 20 70 72 6f 6d 70 74 20 74 68 69 73 20 6d 61 72 6b 65 72 20 77 69 6c 6c 20 62 65 20 61 74 20 e.prompt.this.marker.will.be.at.
af420 60 70 6f 69 6e 74 2d 6d 61 78 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 `point-max'.")..(defun.racket--r
af440 65 70 6c 2d 6d 61 6b 65 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 20 28 70 72 6f 6d 70 74 2d 73 74 72 epl-make-prompt-mark.(prompt-str
af460 29 0a 20 20 28 77 68 65 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 )...(when.racket--repl-prompt-ma
af480 72 6b 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 64 65 6c 65 74 65 2d 70 72 6f 6d rk.....(racket--repl-delete-prom
af4a0 70 74 2d 6d 61 72 6b 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 pt-mark.t))...(let.((inhibit-rea
af4c0 64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 d-only.t)).....(goto-char.(point
af4e0 2d 6d 61 78 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 62 6f 6c 70 29 0a 20 20 20 20 20 20 -max)).....(unless.(bolp).......
af500 28 69 6e 73 65 72 74 20 3f 5c 6e 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 73 74 61 72 74 20 28 (insert.?\n)).....(let.((start.(
af520 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 69 point))).......(insert.(properti
af540 7a 65 20 28 63 6f 6e 63 61 74 20 70 72 6f 6d 70 74 2d 73 74 72 20 22 20 22 29 0a 20 20 20 20 20 ze.(concat.prompt-str.".")......
af560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 65 61 64 2d 6f 6e 6c 79 20 .....................'read-only.
af580 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 6e t...........................'fon
af5a0 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 0a 20 t-lock-face.racket-repl-prompt..
af5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 69 65 6c 64 20 .........................'field.
af5e0 27 70 72 6f 6d 70 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 'prompt.........................
af600 20 20 27 72 61 63 6b 65 74 2d 70 72 6f 6d 70 74 20 74 29 29 0a 20 20 20 20 20 20 28 61 64 64 2d ..'racket-prompt.t)).......(add-
af620 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 20 28 70 6f text-properties.(1-.(point)).(po
af640 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 int)............................
af660 28 6c 69 73 74 20 27 72 65 61 72 2d 6e 6f 6e 73 74 69 63 6b 79 20 74 29 29 0a 20 20 20 20 20 20 (list.'rear-nonsticky.t)).......
af680 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 20 28 (setq.racket--repl-prompt-mark.(
af6a0 6d 61 6b 65 2d 6d 61 72 6b 65 72 29 29 0a 20 20 20 20 20 20 28 73 65 74 2d 6d 61 72 6b 65 72 20 make-marker)).......(set-marker.
af6c0 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 20 73 74 61 72 74 29 0a racket--repl-prompt-mark.start).
af6e0 20 20 20 20 20 20 3b 3b 20 4d 61 72 6b 65 72 20 2f 64 6f 65 73 2f 20 61 64 76 61 6e 63 65 20 77 ......;;.Marker./does/.advance.w
af700 68 65 6e 20 74 65 78 74 20 69 6e 73 65 72 74 65 64 20 74 68 65 72 65 2e 0a 20 20 20 20 20 20 28 hen.text.inserted.there........(
af720 73 65 74 2d 6d 61 72 6b 65 72 2d 69 6e 73 65 72 74 69 6f 6e 2d 74 79 70 65 20 72 61 63 6b 65 74 set-marker-insertion-type.racket
af740 2d 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 20 74 29 0a 20 20 20 20 20 20 3b 3b 20 45 --repl-prompt-mark.t).......;;.E
af760 6e 73 75 72 65 20 6f 75 74 70 75 74 20 6d 61 72 6b 65 72 20 70 6f 73 69 74 69 6f 6e 20 3c 3d 20 nsure.output.marker.position.<=.
af780 70 72 6f 6d 70 74 20 6d 61 72 6b 65 72 20 70 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 3b 3b prompt.marker.position;.......;;
af7a0 20 6f 75 74 70 75 74 20 61 6c 77 61 79 73 20 67 6f 65 73 20 2f 62 65 66 6f 72 65 2f 20 74 68 65 .output.always.goes./before/.the
af7c0 20 6c 61 73 74 20 61 63 74 69 76 65 20 70 72 6f 6d 70 74 2c 20 69 66 20 61 6e 79 2e 0a 20 20 20 .last.active.prompt,.if.any.....
af7e0 20 20 20 28 73 65 74 2d 6d 61 72 6b 65 72 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 70 ...(set-marker.racket--repl-outp
af800 75 74 2d 6d 61 72 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 69 6e 20 28 ut-mark...................(min.(
af820 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 marker-position.racket--repl-out
af840 70 75 74 2d 6d 61 72 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 put-mark).......................
af860 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 70 .(marker-position.racket--repl-p
af880 72 6f 6d 70 74 2d 6d 61 72 6b 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d rompt-mark))))))..(defun.racket-
af8a0 2d 72 65 70 6c 2d 64 65 6c 65 74 65 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 20 28 61 62 61 6e 64 6f -repl-delete-prompt-mark.(abando
af8c0 6e 2d 70 29 0a 20 20 28 77 68 65 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 n-p)...(when.racket--repl-prompt
af8e0 2d 6d 61 72 6b 0a 20 20 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e -mark.....(let.((inhibit-read-on
af900 6c 79 20 74 29 29 0a 20 20 20 20 20 20 28 69 66 20 61 62 61 6e 64 6f 6e 2d 70 0a 20 20 20 20 20 ly.t)).......(if.abandon-p......
af920 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c .....(delete-region.racket--repl
af940 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 -prompt-mark.(point-max)).......
af960 20 20 28 61 64 64 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 28 72 61 63 6b 65 74 2d 2d ..(add-text-properties.(racket--
af980 72 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 repl-prompt-mark-end)...........
af9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 2d 6d 61 78 29 0a 20 ...................(point-max)..
af9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 ............................(lis
af9e0 74 20 27 72 65 61 64 2d 6f 6e 6c 79 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.'read-only.t..................
afa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 69 65 6c 64 20 27 69 6e 70 75 74 29 ..................'field.'input)
afa20 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 )).......(goto-char.(point-max))
afa40 0a 20 20 20 20 20 20 28 73 65 74 2d 6d 61 72 6b 65 72 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d .......(set-marker.racket--repl-
afa60 70 72 6f 6d 70 74 2d 6d 61 72 6b 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 prompt-mark.nil).......(setq.rac
afa80 6b 65 74 2d 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 20 6e 69 6c 29 0a 20 20 20 20 20 ket--repl-prompt-mark.nil)......
afaa0 20 28 73 65 74 2d 6d 61 72 6b 65 72 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 70 75 74 .(set-marker.racket--repl-output
afac0 2d 6d 61 72 6b 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 -mark.(point-max)))))..(defun.ra
afae0 63 6b 65 74 2d 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 2d 65 6e 64 20 28 29 0a 20 20 cket--repl-prompt-mark-end.()...
afb00 22 4d 61 79 20 72 65 74 75 72 6e 20 6e 69 6c 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f "May.return.nil.when.there.is.no
afb20 20 6c 69 76 65 20 70 72 6f 6d 70 74 2e 22 0a 20 20 28 77 68 65 6e 20 72 61 63 6b 65 74 2d 2d 72 .live.prompt."...(when.racket--r
afb40 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 0a 20 20 20 20 28 6f 72 20 28 6e 65 78 74 2d 73 69 epl-prompt-mark.....(or.(next-si
afb60 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 72 61 63 6b 65 74 2d 2d 72 65 70 ngle-property-change.racket--rep
afb80 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 20 27 72 61 63 6b 65 74 2d 70 72 6f 6d 70 74 29 0a 20 20 l-prompt-mark.'racket-prompt)...
afba0 20 20 20 20 20 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 0a 3b 3b 3b 20 4f 75 74 70 75 74 ......(point-max))))..;;;.Output
afbc0 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 6e 2d 6f 75 74 70 75 74 20 ..(defun.racket--repl-on-output.
afbe0 28 73 65 73 73 69 6f 6e 2d 69 64 20 6b 69 6e 64 20 76 61 6c 75 65 29 0a 20 20 3b 3b 3b 28 6d 65 (session-id.kind.value)...;;;(me
afc00 73 73 61 67 65 20 22 25 53 22 20 28 6c 69 73 74 20 27 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f ssage."%S".(list.'racket--repl-o
afc20 6e 2d 6f 75 74 70 75 74 20 73 65 73 73 69 6f 6e 2d 69 64 20 6b 69 6e 64 20 76 61 6c 75 65 29 29 n-output.session-id.kind.value))
afc40 0a 20 20 28 72 61 63 6b 65 74 2d 2d 63 61 6c 6c 2d 77 69 74 68 2d 72 65 70 6c 2d 73 65 73 73 69 ...(racket--call-with-repl-sessi
afc60 6f 6e 2d 69 64 20 73 65 73 73 69 6f 6e 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on-id.session-id................
afc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 2d ......................#'racket--
afca0 72 65 70 6c 2d 69 6e 73 65 72 74 2d 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 repl-insert-output..............
afcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 69 6e 64 20 76 61 6c ........................kind.val
afce0 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 73 65 72 74 ue))..(defun.racket--repl-insert
afd00 2d 6f 75 74 70 75 74 20 28 6b 69 6e 64 20 76 61 6c 75 65 29 0a 20 20 28 6c 65 74 20 28 28 6d 6f -output.(kind.value)...(let.((mo
afd20 76 69 6e 67 20 28 3d 20 28 70 6f 69 6e 74 29 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 ving.(=.(point).racket--repl-out
afd40 70 75 74 2d 6d 61 72 6b 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 put-mark)).........(inhibit-read
afd60 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 -only.t)).....(save-excursion...
afd80 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 70 ....(goto-char.racket--repl-outp
afda0 75 74 2d 6d 61 72 6b 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 74 20 28 70 6f 69 6e 74 29 ut-mark).......(let.((pt.(point)
afdc0 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 50 72 65 76 69 6f 75 73 20 63 68 75 6e 6b 73 20 6f 66 )).........;;.Previous.chunks.of
afde0 20 6f 75 74 70 75 74 20 6d 61 79 20 68 61 76 65 20 65 6e 64 65 64 20 77 69 74 68 20 61 0a 20 20 .output.may.have.ended.with.a...
afe00 20 20 20 20 20 20 3b 3b 20 72 65 61 72 2d 6e 6f 6e 73 74 69 63 6b 79 20 70 72 6f 70 65 72 74 79 ......;;.rear-nonsticky.property
afe20 20 74 6f 20 61 6c 6c 6f 77 20 69 6e 70 75 74 20 74 6f 20 66 6f 6c 6c 6f 77 2e 20 4e 6f 77 20 74 .to.allow.input.to.follow..Now.t
afe40 68 61 74 0a 20 20 20 20 20 20 20 20 3b 3b 20 77 65 27 72 65 20 61 64 64 69 6e 67 20 6d 6f 72 65 hat.........;;.we're.adding.more
afe60 20 6f 75 74 70 75 74 2c 20 72 65 6d 6f 76 65 20 74 68 61 74 20 70 72 6f 70 65 72 74 79 20 73 6f .output,.remove.that.property.so
afe80 20 74 68 65 72 65 20 61 72 65 0a 20 20 20 20 20 20 20 20 3b 3b 20 6e 6f 20 72 65 61 64 2f 77 72 .there.are.........;;.no.read/wr
afea0 69 74 65 20 22 73 65 61 6d 73 22 20 62 65 74 77 65 65 6e 20 63 68 75 6e 6b 73 2e 0a 20 20 20 20 ite."seams".between.chunks......
afec0 20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 28 70 6f 69 ....(remove-text-properties.(poi
afee0 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 29 20 27 28 72 65 61 72 2d 6e 6f 6e 73 74 69 63 6b 79 nt-min).(point).'(rear-nonsticky
aff00 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 28 63 6c 2d 66 6c 65 74 2a 0a 20 20 20 20 20 20 20 .nil)).........(cl-flet*........
aff20 20 20 20 20 20 28 28 66 72 65 73 68 2d 6c 69 6e 65 20 28 29 20 28 75 6e 6c 65 73 73 20 28 62 6f .....((fresh-line.().(unless.(bo
aff40 6c 70 29 20 28 6e 65 77 6c 69 6e 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 61 lp).(newline)))..............(fa
aff60 63 65 64 20 28 73 74 72 20 66 61 63 65 29 20 28 70 72 6f 70 65 72 74 69 7a 65 20 73 74 72 20 27 ced.(str.face).(propertize.str.'
aff80 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 font-lock-face.face))...........
affa0 20 20 20 28 69 6e 73 65 72 74 2d 66 61 63 65 64 20 28 73 74 72 20 66 61 63 65 29 20 28 69 6e 73 ...(insert-faced.(str.face).(ins
affc0 65 72 74 20 28 66 61 63 65 64 20 73 74 72 20 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 ert.(faced.str.face)))..........
affe0 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 74 65 72 65 64 20 28 73 74 72 20 66 61 63 65 29 20 ....(insert-filtered.(str.face).
b0000 28 69 6e 73 65 72 74 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 66 69 6c 74 65 72 2d 6f 75 74 (insert.(racket--repl-filter-out
b0020 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 put.............................
b0040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 61 63 65 64 20 73 74 72 ......................(faced.str
b0060 20 66 61 63 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 63 61 73 65 20 6b 69 .face)))))...........(cl-case.ki
b0080 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 72 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 nd.............((run)...........
b00a0 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 64 65 6c 65 74 65 2d 70 72 6f 6d 70 74 2d 6d ...(racket--repl-delete-prompt-m
b00c0 61 72 6b 20 27 61 62 61 6e 64 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 ark.'abandon)..............(unle
b00e0 73 73 20 28 65 71 75 61 6c 20 76 61 6c 75 65 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ss.(equal.value."").............
b0100 20 20 20 28 66 72 65 73 68 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...(fresh-line)................(
b0120 69 6e 73 65 72 74 2d 66 61 63 65 64 20 28 66 6f 72 6d 61 74 20 22 e2 80 94 e2 80 94 e2 80 94 e2 insert-faced.(format."..........
b0140 80 94 e2 80 94 20 72 75 6e 20 25 73 20 e2 80 94 e2 80 94 e2 80 94 e2 80 94 e2 80 94 5c 6e 22 20 ......run.%s................\n".
b0160 76 61 6c 75 65 29 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 29 29 29 0a 20 value).'racket-repl-message)))..
b0180 20 20 20 20 20 20 20 20 20 20 20 28 28 70 72 6f 6d 70 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 ...........((prompt)............
b01a0 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6d 61 6b 65 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b ..(racket--repl-make-prompt-mark
b01c0 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 73 73 61 67 65 29 0a .value)).............((message).
b01e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 72 65 73 68 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 .............(fresh-line).......
b0200 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 61 63 65 64 20 76 61 6c 75 65 20 27 72 61 63 6b .......(insert-faced.value.'rack
b0220 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 et-repl-message)..............(u
b0240 6e 6c 65 73 73 20 28 62 6f 6c 70 29 20 28 6e 65 77 6c 69 6e 65 29 29 29 0a 20 20 20 20 20 20 20 nless.(bolp).(newline)))........
b0260 20 20 20 20 20 28 28 65 78 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 .....((exit)..............(racke
b0280 74 2d 2d 72 65 70 6c 2d 64 65 6c 65 74 65 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 20 27 61 62 61 6e t--repl-delete-prompt-mark.'aban
b02a0 64 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 72 65 73 68 2d 6c 69 6e 65 29 0a 20 don)..............(fresh-line)..
b02c0 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 61 63 65 64 20 76 61 6c 75 65 20 ............(insert-faced.value.
b02e0 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 'racket-repl-message)...........
b0300 20 20 20 28 75 6e 6c 65 73 73 20 28 62 6f 6c 70 29 20 28 6e 65 77 6c 69 6e 65 29 29 0a 20 20 20 ...(unless.(bolp).(newline))....
b0320 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 6f 76 69 6e 67 20 74 29 20 3b 6c 65 61 76 65 ..........(setq.moving.t).;leave
b0340 20 70 6f 69 6e 74 20 61 66 74 65 72 2c 20 66 6f 72 20 74 65 73 74 73 0a 20 20 20 20 20 20 20 20 .point.after,.for.tests.........
b0360 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d .....(setq.racket--repl-session-
b0380 69 64 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 76 61 6c 75 65 29 0a 20 20 id.nil)).............((value)...
b03a0 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 61 63 65 64 20 76 61 6c 75 65 20 27 ...........(insert-faced.value.'
b03c0 72 61 63 6b 65 74 2d 72 65 70 6c 2d 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 racket-repl-value)).............
b03e0 28 28 76 61 6c 75 65 2d 73 70 65 63 69 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 ((value-special)..............(p
b0400 63 61 73 65 2d 6c 65 74 20 28 28 60 28 69 6d 61 67 65 20 2e 20 2c 66 69 6c 65 29 20 76 61 6c 75 case-let.((`(image...,file).valu
b0420 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c e))................(racket--repl
b0440 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 -insert-image.file)))...........
b0460 20 20 28 28 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 76 ..((error)..............(pcase.v
b0480 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 6d 73 67 20 2c 73 72 63 alue................(`(,msg.,src
b04a0 6c 6f 63 73 20 28 2c 63 6f 6e 74 65 78 74 2d 6b 69 6e 64 20 2e 20 2c 63 6f 6e 74 65 78 74 2d 6e locs.(,context-kind...,context-n
b04c0 61 6d 65 73 2d 61 6e 64 2d 6c 6f 63 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ames-and-locs)).................
b04e0 28 66 72 65 73 68 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e (fresh-line).................(in
b0500 73 65 72 74 2d 66 61 63 65 64 20 6d 73 67 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f sert-faced.msg.'racket-repl-erro
b0520 72 2d 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 6c r-message).................(newl
b0540 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 48 65 75 72 69 73 74 69 ine).................;;.Heuristi
b0560 63 3a 20 57 68 65 6e 20 73 6f 6d 65 74 68 69 6e 67 20 73 75 70 70 6c 69 65 73 20 65 78 6e 2d 73 c:.When.something.supplies.exn-s
b0580 72 63 6c 6f 63 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 68 6f 77 20 rclocs,.................;;.show.
b05a0 74 68 6f 73 65 20 6f 6e 6c 79 2e 20 4f 74 68 65 72 77 69 73 65 20 73 68 6f 77 20 63 6f 6e 74 65 those.only..Otherwise.show.conte
b05c0 78 74 20 69 66 20 61 6e 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 xt.if.any..................;;.Th
b05e0 69 73 20 73 65 65 6d 73 20 74 6f 20 77 6f 72 6b 20 77 65 6c 6c 20 66 6f 72 20 6d 6f 73 74 20 72 is.seems.to.work.well.for.most.r
b0600 75 6e 74 69 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 78 63 65 70 74 untime.................;;.except
b0620 69 6f 6e 73 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 66 6f 72 20 72 61 63 6b 75 6e 69 74 20 74 65 ions,.as.well.as.for.rackunit.te
b0640 73 74 20 66 61 69 6c 75 72 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 28 st.failures.................;;.(
b0660 77 68 65 72 65 20 74 68 65 20 73 72 63 6c 6f 63 20 73 75 66 66 69 63 65 73 20 61 6e 64 20 74 68 where.the.srcloc.suffices.and.th
b0680 65 20 63 6f 6e 74 65 78 74 20 65 73 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b e.context.esp.................;;
b06a0 20 77 2f 65 72 72 6f 72 74 72 61 63 65 20 69 73 20 75 73 65 6c 65 73 73 20 6e 6f 69 73 65 29 2e .w/errortrace.is.useless.noise).
b06c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 73 72 63 6c 6f 63 73 0a .................(cond.(srclocs.
b06e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 .......................(dolist.(
b0700 6c 6f 63 20 73 72 63 6c 6f 63 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 loc.srclocs)....................
b0720 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(insert.".")..............
b0740 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 72 61 63 6b 65 74 2d 2d 66 6f 72 ............(insert.(racket--for
b0760 6d 61 74 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 20 6c 6f 63 29 29 0a 20 20 20 20 20 20 20 mat-error-location.loc))........
b0780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 29 29 0a 20 20 ..................(newline)))...
b07a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 78 74 2d 6e 61 6d ....................(context-nam
b07c0 65 73 2d 61 6e 64 2d 6c 6f 63 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es-and-locs.....................
b07e0 20 20 20 28 69 6e 73 65 72 74 2d 66 61 63 65 64 20 28 66 6f 72 6d 61 74 20 22 43 6f 6e 74 65 78 ...(insert-faced.(format."Contex
b0800 74 20 28 25 73 29 3a 22 20 63 6f 6e 74 65 78 74 2d 6b 69 6e 64 29 0a 20 20 20 20 20 20 20 20 20 t.(%s):".context-kind)..........
b0820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 ............................'rac
b0840 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 ket-repl-error-message).........
b0860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 ...............(newline)........
b0880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 76 20 63 6f 6e 74 65 ................(dolist.(v.conte
b08a0 78 74 2d 6e 61 6d 65 73 2d 61 6e 64 2d 6c 6f 63 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 xt-names-and-locs)..............
b08c0 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 6e 61 6d 65 ............(pcase-let.((`(,name
b08e0 20 2e 20 2c 6c 6f 63 29 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...,loc).v))....................
b0900 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 ........(insert.".")............
b0920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 72 61 63 6b 65 74 2d ................(insert.(racket-
b0940 2d 66 6f 72 6d 61 74 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 20 6c 6f 63 29 29 0a 20 20 20 -format-error-location.loc))....
b0960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 ........................(insert.
b0980 22 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ".")............................
b09a0 28 77 68 65 6e 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (when.name......................
b09c0 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 61 63 65 64 20 6e 61 6d 65 20 27 72 61 63 6b ........(insert-faced.name.'rack
b09e0 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6c 61 62 65 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 et-repl-error-label)))..........
b0a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 29 29 29 29 29 29 0a ................(newline))))))).
b0a20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 64 6f 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 ............((stdout)...........
b0a40 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 74 65 72 65 64 20 76 61 6c 75 65 20 27 72 61 63 6b 65 ...(insert-filtered.value.'racke
b0a60 74 2d 72 65 70 6c 2d 73 74 64 6f 75 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 t-repl-stdout)).............((st
b0a80 64 65 72 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 74 65 derr)..............(insert-filte
b0aa0 72 65 64 20 76 61 6c 75 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 65 72 72 29 29 0a red.value.'racket-repl-stderr)).
b0ac0 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 ............(otherwise..........
b0ae0 20 20 20 20 28 66 72 65 73 68 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 ....(fresh-line)..............(i
b0b00 6e 73 65 72 74 2d 66 61 63 65 64 20 76 61 6c 75 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d nsert-faced.value.'racket-repl-m
b0b20 65 73 73 61 67 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 6b essage)))).........(unless.(eq.k
b0b40 69 6e 64 20 27 70 72 6f 6d 70 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 74 65 78 74 ind.'prompt)...........(add-text
b0b60 2d 70 72 6f 70 65 72 74 69 65 73 20 70 74 20 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 -properties.pt.(point)..........
b0b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 ......................(list.....
b0ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 65 61 ............................'rea
b0bc0 64 2d 6f 6e 6c 79 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-only.t........................
b0be0 20 20 20 20 20 20 20 20 20 27 66 69 65 6c 64 20 6b 69 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 .........'field.kind))..........
b0c00 20 3b 3b 20 4d 61 6b 65 20 6c 61 73 74 20 63 68 61 72 61 63 74 65 72 20 72 65 61 72 2d 6e 6f 6e .;;.Make.last.character.rear-non
b0c20 73 74 69 63 6b 79 2e 20 41 6d 6f 6e 67 20 6f 74 68 65 72 20 74 68 69 6e 67 73 2c 0a 20 20 20 20 sticky..Among.other.things,.....
b0c40 20 20 20 20 20 20 3b 3b 20 6d 65 61 6e 73 20 60 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 ......;;.means.`racket--repl-out
b0c60 70 75 74 2d 6d 61 72 6b 27 20 77 6f 6e 27 74 20 62 65 20 72 65 61 64 2d 6f 6e 6c 79 3b 20 61 6e put-mark'.won't.be.read-only;.an
b0c80 64 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 75 73 65 72 20 6d 61 79 20 69 6e 70 75 74 20 74 68 d...........;;.user.may.input.th
b0ca0 65 72 65 20 28 66 6f 72 20 75 73 65 72 20 70 72 6f 67 72 61 6d 20 72 65 61 64 69 6e 67 20 66 72 ere.(for.user.program.reading.fr
b0cc0 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 75 72 72 65 6e 74 2d 69 6e 70 75 74 2d 70 6f om...........;;.current-input-po
b0ce0 72 74 29 2e 0a 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 rt)............(add-text-propert
b0d00 69 65 73 20 28 6d 61 78 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 31 2d 20 28 70 6f 69 6e 74 29 ies.(max.(point-min).(1-.(point)
b0d20 29 29 20 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )).(point)......................
b0d40 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 72 65 61 72 2d 6e 6f 6e 73 74 69 63 6b 79 20 ..........(list.'rear-nonsticky.
b0d60 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 6d 61 72 6b 65 72 20 72 61 63 6b 65 74 t))...........(set-marker.racket
b0d80 2d 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 72 6b 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 --repl-output-mark.(point)).....
b0da0 20 20 20 20 20 20 3b 3b 20 57 68 65 6e 20 73 74 64 6f 75 74 2f 73 74 64 65 72 72 20 6f 75 74 70 ......;;.When.stdout/stderr.outp
b0dc0 75 74 20 65 6e 64 73 20 77 69 74 68 20 70 72 6f 6d 70 74 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 6e ut.ends.with.prompt.following.on
b0de0 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 61 6d 65 20 6c 69 6e 65 2c 20 70 75 73 68 20 74 68 ...........;;.same.line,.push.th
b0e00 65 20 70 72 6f 6d 70 74 20 64 6f 77 6e 20 74 6f 20 69 74 73 20 6f 77 6e 20 6c 69 6e 65 2e 0a 20 e.prompt.down.to.its.own.line...
b0e20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 6d 65 6d 71 20 6b 69 6e 64 20 27 .........(when.(and.(memq.kind.'
b0e40 28 73 74 64 6f 75 74 20 73 74 64 65 72 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (stdout.stderr))................
b0e60 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 0a 20 ......racket--repl-prompt-mark..
b0e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 28 70 6f 69 6e ....................(equal.(poin
b0ea0 74 29 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c t).(marker-position.racket--repl
b0ec0 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 -prompt-mark))).............(ins
b0ee0 65 72 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 ert.(propertize."\n"............
b0f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 65 61 64 2d 6f 6e 6c 79 20 .....................'read-only.
b0f20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t...............................
b0f40 20 20 27 66 69 65 6c 64 20 6b 69 6e 64 29 29 29 29 29 29 0a 20 20 20 20 3b 3b 20 49 66 20 77 65 ..'field.kind)))))).....;;.If.we
b0f60 20 6a 75 73 74 20 69 6e 73 65 72 74 65 64 20 61 20 6e 65 77 20 70 72 6f 6d 70 74 2c 20 70 6f 73 .just.inserted.a.new.prompt,.pos
b0f80 69 74 69 6f 6e 20 61 66 74 65 72 20 69 74 2e 0a 20 20 20 20 28 6c 65 74 20 28 28 77 69 6e 20 28 ition.after.it......(let.((win.(
b0fa0 67 65 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 get-buffer-window.(current-buffe
b0fc0 72 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 65 71 20 6b 69 6e 64 20 27 70 72 6f 6d 70 74 r)))).......(if.(eq.kind.'prompt
b0fe0 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 6f 73 20 28 72 61 63 6b 65 74 2d 2d )...........(let.((pos.(racket--
b1000 72 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 2d 65 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 repl-prompt-mark-end))).........
b1020 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....(goto-char.pos).............
b1040 28 77 68 65 6e 20 77 69 6e 20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 70 6f 69 6e 74 20 77 69 6e 20 (when.win.(set-window-point.win.
b1060 70 6f 73 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 57 68 65 6e 20 70 6f 69 6e 74 20 77 61 73 pos))).........;;.When.point.was
b1080 20 65 78 61 63 74 6c 79 20 61 74 20 74 68 65 20 6f 6c 64 20 6f 75 74 70 75 74 20 6d 61 72 6b 65 .exactly.at.the.old.output.marke
b10a0 72 20 76 61 6c 75 65 2c 20 6d 6f 76 65 0a 20 20 20 20 20 20 20 20 3b 3b 20 70 6f 69 6e 74 20 74 r.value,.move.........;;.point.t
b10c0 6f 20 66 6f 6c 6c 6f 77 20 69 74 2e 20 28 4f 74 68 65 72 77 69 73 65 20 75 73 65 72 20 69 73 20 o.follow.it..(Otherwise.user.is.
b10e0 6e 61 76 69 67 61 74 69 6e 67 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 20 20 20 3b 3b 20 62 75 navigating.through.........;;.bu
b1100 66 66 65 72 2c 20 6c 65 61 76 65 20 74 68 65 6d 20 61 6c 6f 6e 65 2e 29 0a 20 20 20 20 20 20 20 ffer,.leave.them.alone.)........
b1120 20 28 77 68 65 6e 20 6d 6f 76 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 .(when.moving...........(goto-ch
b1140 61 72 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 72 6b 29 0a 20 20 20 ar.racket--repl-output-mark)....
b1160 20 20 20 20 20 20 20 28 77 68 65 6e 20 77 69 6e 20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 70 6f 69 .......(when.win.(set-window-poi
b1180 6e 74 20 77 69 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 72 6b 29 nt.win.racket--repl-output-mark)
b11a0 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6f 75 74 70 ))))))..(defvar.racket-repl-outp
b11c0 75 74 2d 66 69 6c 74 65 72 2d 66 75 6e 63 74 69 6f 6e 73 20 28 6c 69 73 74 20 23 27 61 6e 73 69 ut-filter-functions.(list.#'ansi
b11e0 2d 63 6f 6c 6f 72 2d 61 70 70 6c 79 29 0a 20 20 22 4c 69 73 74 20 6f 66 20 66 75 6e 63 74 69 6f -color-apply)..."List.of.functio
b1200 6e 73 20 74 6f 20 63 61 6c 6c 20 62 65 66 6f 72 65 20 69 6e 73 65 72 74 69 6e 67 20 73 74 64 6f ns.to.call.before.inserting.stdo
b1220 75 74 2f 73 74 64 65 72 72 20 6f 75 74 70 75 74 2e 0a 0a 53 69 6d 69 6c 61 72 20 74 6f 20 60 63 ut/stderr.output...Similar.to.`c
b1240 6f 6d 69 6e 74 2d 70 72 65 6f 75 74 70 75 74 2d 66 69 6c 74 65 72 2d 66 75 6e 63 74 69 6f 6e 73 omint-preoutput-filter-functions
b1260 27 2c 20 62 75 74 20 6c 69 6d 69 74 65 64 20 74 6f 0a 73 74 64 6f 75 74 2f 73 74 64 65 72 72 20 ',.but.limited.to.stdout/stderr.
b1280 6b 69 6e 64 73 20 6f 66 20 6f 75 74 70 75 74 2e 0a 0a 45 61 63 68 20 66 75 6e 63 74 69 6f 6e 20 kinds.of.output...Each.function.
b12a0 67 65 74 73 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2c 20 61 20 73 74 72 69 6e 67 20 70 72 6f 70 gets.one.argument,.a.string.prop
b12c0 65 72 74 69 7a 65 64 20 62 79 20 64 65 66 61 75 6c 74 0a 77 69 74 68 20 61 20 66 61 63 65 20 66 ertized.by.default.with.a.face.f
b12e0 6f 72 20 73 74 64 6f 75 74 20 6f 72 20 73 74 64 65 72 72 2e 20 49 74 20 73 68 6f 75 6c 64 20 72 or.stdout.or.stderr..It.should.r
b1300 65 74 75 72 6e 20 61 20 73 74 72 69 6e 67 20 74 6f 0a 69 6e 73 65 72 74 20 69 6e 73 74 65 61 64 eturn.a.string.to.insert.instead
b1320 2e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 63 6f 6d 70 6f 73 65 64 2e 0a 0a 59 ..The.functions.are.composed...Y
b1340 6f 75 20 63 61 6e 20 75 73 65 20 60 61 64 64 2d 68 6f 6f 6b 27 20 74 6f 20 61 64 64 20 66 75 6e ou.can.use.`add-hook'.to.add.fun
b1360 63 74 69 6f 6e 73 20 74 6f 20 74 68 69 73 20 6c 69 73 74 20 65 69 74 68 65 72 0a 67 6c 6f 62 61 ctions.to.this.list.either.globa
b1380 6c 6c 79 20 6f 72 20 6c 6f 63 61 6c 6c 79 2e 0a 0a 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e lly.or.locally...If.the.function
b13a0 20 75 73 65 73 20 73 74 61 74 65 20 74 68 61 74 20 73 68 6f 75 6c 64 20 62 65 20 72 65 73 65 74 .uses.state.that.should.be.reset
b13c0 20 62 65 74 77 65 65 6e 20 72 75 6e 73 2c 20 64 6f 0a 74 68 61 74 20 76 69 61 20 60 72 61 63 6b .between.runs,.do.that.via.`rack
b13e0 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 27 3b 20 66 6f 72 20 65 78 61 6d 70 6c 65 et-before-run-hook';.for.example
b1400 20 73 65 65 0a 60 72 61 63 6b 65 74 2d 61 6e 73 69 2d 63 6f 6c 6f 72 2d 63 6f 6e 74 65 78 74 2d .see.`racket-ansi-color-context-
b1420 72 65 73 65 74 27 2e 22 29 0a 0a 3b 3b 20 42 65 63 61 75 73 65 20 77 65 20 64 65 66 61 75 6c 74 reset'.")..;;.Because.we.default
b1440 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 66 69 6c 74 65 72 2d 66 75 6e 63 .`racket-repl-output-filter-func
b1460 74 69 6f 6e 73 27 20 74 6f 0a 3b 3b 20 60 61 6e 73 69 2d 63 6f 6c 6f 72 2d 61 70 70 6c 79 27 2c tions'.to.;;.`ansi-color-apply',
b1480 20 77 65 20 77 61 6e 74 20 74 6f 20 72 65 73 65 74 20 69 74 73 20 73 74 61 74 65 20 66 6f 72 20 .we.want.to.reset.its.state.for.
b14a0 61 20 52 45 50 4c 20 62 65 66 6f 72 65 0a 3b 3b 20 65 76 65 72 79 20 72 75 6e 2e 20 41 6c 74 68 a.REPL.before.;;.every.run..Alth
b14c0 6f 75 67 68 20 77 65 20 63 6f 75 6c 64 20 68 61 72 64 2d 63 6f 64 65 20 74 68 61 74 2c 20 75 73 ough.we.could.hard-code.that,.us
b14e0 65 20 74 68 65 20 62 65 66 6f 72 65 2d 72 75 6e 0a 3b 3b 20 68 6f 6f 6b 20 74 6f 20 73 65 74 20 e.the.before-run.;;.hook.to.set.
b1500 61 6e 20 65 78 61 6d 70 6c 65 20 66 6f 72 20 75 73 65 72 73 2e 0a 28 64 65 66 75 6e 20 72 61 63 an.example.for.users..(defun.rac
b1520 6b 65 74 2d 61 6e 73 69 2d 63 6f 6c 6f 72 2d 63 6f 6e 74 65 78 74 2d 72 65 73 65 74 20 28 29 0a ket-ansi-color-context-reset.().
b1540 20 20 28 77 69 74 68 2d 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 0a 20 20 20 20 28 ..(with-racket-repl-buffer.....(
b1560 73 65 74 71 2d 6c 6f 63 61 6c 20 61 6e 73 69 2d 63 6f 6c 6f 72 2d 63 6f 6e 74 65 78 74 20 6e 69 setq-local.ansi-color-context.ni
b1580 6c 29 29 29 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 l))).(add-hook.'racket-before-ru
b15a0 6e 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 61 6e 73 69 2d 63 6f 6c 6f 72 2d 63 6f 6e 74 65 n-hook.#'racket-ansi-color-conte
b15c0 78 74 2d 72 65 73 65 74 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 66 xt-reset)..(defun.racket--repl-f
b15e0 69 6c 74 65 72 2d 6f 75 74 70 75 74 20 28 73 74 72 69 6e 67 29 0a 20 20 3b 3b 20 42 65 61 75 73 ilter-output.(string)...;;.Beaus
b1600 65 20 74 68 65 72 65 20 69 73 20 6e 6f 20 72 75 6e 2d 68 6f 6f 6b 73 2d 78 78 78 20 76 61 72 69 e.there.is.no.run-hooks-xxx.vari
b1620 61 6e 74 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 0a 20 20 3b 3b 20 ant.equivalent.to.function...;;.
b1640 63 6f 6d 70 6f 73 69 74 69 6f 6e 2c 20 77 65 20 62 6f 72 72 6f 77 20 74 68 65 20 65 71 75 69 76 composition,.we.borrow.the.equiv
b1660 61 6c 65 6e 74 20 63 6f 64 65 20 66 72 6f 6d 20 63 6f 6d 69 6e 74 2c 20 77 68 69 63 68 0a 20 20 alent.code.from.comint,.which...
b1680 3b 3b 20 61 6c 73 6f 20 68 61 6e 64 6c 65 73 20 74 68 65 20 77 72 69 6e 6b 6c 65 20 6f 66 20 62 ;;.also.handles.the.wrinkle.of.b
b16a0 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 6c 75 65 73 2e 0a 20 20 28 6c 65 74 20 28 28 66 75 6e uffer-local.values....(let.((fun
b16c0 63 74 69 6f 6e 73 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 66 69 6c 74 65 72 ctions.racket-repl-output-filter
b16e0 2d 66 75 6e 63 74 69 6f 6e 73 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 66 75 6e -functions)).....(while.(and.fun
b1700 63 74 69 6f 6e 73 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 28 69 66 20 28 65 71 20 28 63 61 ctions.string).......(if.(eq.(ca
b1720 72 20 66 75 6e 63 74 69 6f 6e 73 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 r.functions).t)...........(let.(
b1740 28 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 (functions..................(def
b1760 61 75 6c 74 2d 76 61 6c 75 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 66 ault-value.'racket-repl-output-f
b1780 69 6c 74 65 72 2d 66 75 6e 63 74 69 6f 6e 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 ilter-functions))).............(
b17a0 77 68 69 6c 65 20 28 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 20 73 74 72 69 6e 67 29 0a 20 20 20 while.(and.functions.string)....
b17c0 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 74 72 69 6e 67 20 28 66 75 6e 63 61 6c 6c ...........(setq.string.(funcall
b17e0 20 28 63 61 72 20 66 75 6e 63 74 69 6f 6e 73 29 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 .(car.functions).string)).......
b1800 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 75 6e 63 74 69 6f 6e 73 20 28 63 64 72 20 66 75 6e ........(setq.functions.(cdr.fun
b1820 63 74 69 6f 6e 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 74 72 69 6e 67 20 ctions)))).........(setq.string.
b1840 28 66 75 6e 63 61 6c 6c 20 28 63 61 72 20 66 75 6e 63 74 69 6f 6e 73 29 20 73 74 72 69 6e 67 29 (funcall.(car.functions).string)
b1860 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 66 75 6e 63 74 69 6f 6e 73 20 28 63 64 72 20 66 75 )).......(setq.functions.(cdr.fu
b1880 6e 63 74 69 6f 6e 73 29 29 29 29 0a 20 20 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 75 6e 20 72 61 nctions))))...string)..(defun.ra
b18a0 63 6b 65 74 2d 2d 72 65 70 6c 2d 63 61 6c 6c 2d 77 69 74 68 2d 76 61 6c 75 65 2d 61 6e 64 2d 69 cket--repl-call-with-value-and-i
b18c0 6e 70 75 74 2d 72 61 6e 67 65 73 20 28 66 72 6f 6d 20 75 70 74 6f 20 70 72 6f 63 29 0a 20 20 22 nput-ranges.(from.upto.proc)..."
b18e0 43 61 6c 6c 20 50 52 4f 43 20 77 69 74 68 20 73 75 62 2d 72 61 6e 67 65 73 20 6f 66 20 46 52 4f Call.PROC.with.sub-ranges.of.FRO
b1900 4d 2e 2e 55 50 54 4f 2c 20 73 61 79 69 6e 67 20 77 68 65 74 68 65 72 20 65 61 63 68 0a 69 73 20 M..UPTO,.saying.whether.each.is.
b1920 61 20 76 61 6c 75 65 20 6f 72 20 69 6e 70 75 74 20 73 69 6e 63 65 20 60 72 61 63 6b 65 74 2d 2d a.value.or.input.since.`racket--
b1940 72 65 70 6c 2d 72 75 6e 2d 6d 61 72 6b 27 2e 22 0a 20 20 28 73 65 74 71 20 75 70 74 6f 20 28 6d repl-run-mark'."...(setq.upto.(m
b1960 69 6e 20 75 70 74 6f 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 3b 3b 20 45 76 65 72 79 in.upto.(point-max)))...;;.Every
b1980 74 68 69 6e 67 20 62 65 66 6f 72 65 20 74 68 65 20 6c 61 73 74 20 72 75 6e 20 69 73 20 22 73 74 thing.before.the.last.run.is."st
b19a0 61 6c 65 22 3a 20 4e 6f 2e 0a 20 20 28 77 68 65 6e 20 28 3c 20 66 72 6f 6d 20 72 61 63 6b 65 74 ale":.No....(when.(<.from.racket
b19c0 2d 2d 72 65 70 6c 2d 72 75 6e 2d 6d 61 72 6b 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 70 72 --repl-run-mark).....(funcall.pr
b19e0 6f 63 20 66 72 6f 6d 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 72 75 6e 2d 6d 61 72 6b 20 6e 69 oc.from.racket--repl-run-mark.ni
b1a00 6c 29 0a 20 20 20 20 28 73 65 74 71 20 66 72 6f 6d 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 72 l).....(setq.from.racket--repl-r
b1a20 75 6e 2d 6d 61 72 6b 29 29 0a 20 20 28 6c 65 74 20 28 28 70 72 6f 6d 70 74 2d 65 6e 64 20 28 6f un-mark))...(let.((prompt-end.(o
b1a40 72 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 2d 65 6e 64 29 r.(racket--repl-prompt-mark-end)
b1a60 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 66 72 .(point-max)))).....(while.(<.fr
b1a80 6f 6d 20 75 70 74 6f 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 3b 3b 20 49 om.upto).......(cond........;;.I
b1aa0 66 20 77 65 27 72 65 20 61 74 2f 61 66 74 65 72 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 f.we're.at/after.the.end.of.the.
b1ac0 6c 61 73 74 2c 20 6c 69 76 65 20 70 72 6f 6d 70 74 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 3b last,.live.prompt,.then........;
b1ae0 3b 20 65 76 65 72 79 74 68 69 6e 67 20 72 65 6d 61 69 6e 69 6e 67 20 69 73 20 69 6e 70 75 74 2c ;.everything.remaining.is.input,
b1b00 20 79 65 73 2c 20 61 6e 64 20 77 65 27 72 65 20 64 6f 6e 65 2e 0a 20 20 20 20 20 20 20 28 28 3c .yes,.and.we're.done.........((<
b1b20 3d 20 70 72 6f 6d 70 74 2d 65 6e 64 20 66 72 6f 6d 29 0a 20 20 20 20 20 20 20 20 28 66 75 6e 63 =.prompt-end.from).........(func
b1b40 61 6c 6c 20 70 72 6f 63 20 66 72 6f 6d 20 75 70 74 6f 20 74 29 0a 20 20 20 20 20 20 20 20 28 73 all.proc.from.upto.t).........(s
b1b60 65 74 71 20 66 72 6f 6d 20 75 70 74 6f 29 29 0a 20 20 20 20 20 20 20 3b 3b 20 4b 65 65 70 20 67 etq.from.upto))........;;.Keep.g
b1b80 65 74 74 69 6e 67 20 63 68 75 6e 6b 73 20 61 74 20 72 61 63 6b 65 74 2d 6f 75 74 70 75 74 20 70 etting.chunks.at.racket-output.p
b1ba0 72 6f 70 20 63 68 61 6e 67 65 20 62 6f 75 6e 64 61 72 69 65 73 2c 0a 20 20 20 20 20 20 20 3b 3b rop.change.boundaries,........;;
b1bc0 20 75 6e 74 69 6c 20 77 65 20 72 65 61 63 68 20 74 68 65 20 65 61 72 6c 69 65 72 20 6f 66 20 70 .until.we.reach.the.earlier.of.p
b1be0 72 6f 6d 70 74 2d 65 6e 64 20 6f 72 20 70 6f 69 6e 74 2d 6d 61 78 2e 0a 20 20 20 20 20 20 20 28 rompt-end.or.point-max.........(
b1c00 74 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 6e 20 28 6d 65 6d 71 20 28 67 65 74 2d 74 t.........(let.((in.(memq.(get-t
b1c20 65 78 74 2d 70 72 6f 70 65 72 74 79 20 66 72 6f 6d 20 27 66 69 65 6c 64 29 20 27 28 76 61 6c 75 ext-property.from.'field).'(valu
b1c40 65 20 69 6e 70 75 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 73 20 28 6d e.input)))...............(pos.(m
b1c60 69 6e 20 28 6f 72 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 in.(or.(next-single-property-cha
b1c80 6e 67 65 20 66 72 6f 6d 20 27 66 69 65 6c 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nge.from.'field)................
b1ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 .............(point-max)).......
b1cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 6d 70 74 2d 65 6e 64 29 29 29 0a ..................prompt-end))).
b1ce0 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 70 72 6f 63 20 66 72 6f 6d 20 28 6d 69 ..........(funcall.proc.from.(mi
b1d00 6e 20 70 6f 73 20 75 70 74 6f 29 20 69 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 n.pos.upto).in)...........(setq.
b1d20 66 72 6f 6d 20 70 6f 73 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 53 75 62 6d 69 74 0a 0a 28 64 65 from.pos)))))))..;;;.Submit..(de
b1d40 66 61 6c 69 61 73 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 76 61 6c 2d 6f 72 2d 6e 65 77 6c falias.'racket-repl-eval-or-newl
b1d60 69 6e 65 2d 61 6e 64 2d 69 6e 64 65 6e 74 20 23 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 75 62 ine-and-indent.#'racket-repl-sub
b1d80 6d 69 74 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d mit)..(defvar-local.racket-repl-
b1da0 73 75 62 6d 69 74 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 submit-function.nil)..(defun.rac
b1dc0 6b 65 74 2d 72 65 70 6c 2d 73 75 62 6d 69 74 20 28 29 0a 20 20 22 53 75 62 6d 69 74 20 69 6e 74 ket-repl-submit.()..."Submit.int
b1de0 65 72 61 63 74 69 6f 6e 20 6f 72 20 69 6e 70 75 74 2e 0a 0a 57 68 65 6e 20 61 74 20 61 20 52 45 eraction.or.input...When.at.a.RE
b1e00 50 4c 20 70 72 6f 6d 70 74 2c 20 73 75 62 6d 69 74 20 61 73 20 61 6e 20 69 6e 74 65 72 61 63 74 PL.prompt,.submit.as.an.interact
b1e20 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 4f 74 68 65 72 77 69 73 65 20 73 65 6e 64 20 74 ion.expression..Otherwise.send.t
b1e40 6f 20 63 75 72 72 65 6e 74 2d 69 6e 70 75 74 2d 70 6f 72 74 20 6f 66 20 75 73 65 72 20 70 72 6f o.current-input-port.of.user.pro
b1e60 67 72 61 6d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 gram."...(interactive)...(unless
b1e80 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 20 20 28 .(racket--repl-session-id).....(
b1ea0 75 73 65 72 2d 65 72 72 6f 72 20 22 6e 6f 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 22 29 29 0a 20 user-error."no.REPL.session"))..
b1ec0 20 28 6c 65 74 20 28 28 70 72 6f 6d 70 74 2d 65 6e 64 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c .(let.((prompt-end.(racket--repl
b1ee0 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 2d 65 6e 64 29 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 -prompt-mark-end))).....(if.(and
b1f00 20 70 72 6f 6d 70 74 2d 65 6e 64 20 28 3c 20 70 72 6f 6d 70 74 2d 65 6e 64 20 28 70 6f 69 6e 74 .prompt-end.(<.prompt-end.(point
b1f20 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 6e 70 75 74 20 28 62 -max))).........(let*.((input.(b
b1f40 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 70 72 uffer-substring-no-properties.pr
b1f60 6f 6d 70 74 2d 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 ompt-end.(point-max)))..........
b1f80 20 20 20 20 20 20 28 69 6e 70 75 74 2b 72 65 74 20 28 63 6f 6e 63 61 74 20 69 6e 70 75 74 20 22 ......(input+ret.(concat.input."
b1fa0 5c 6e 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 69 66 20 72 61 63 6b 65 \n")))...........(when.(if.racke
b1fc0 74 2d 72 65 70 6c 2d 73 75 62 6d 69 74 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 t-repl-submit-function..........
b1fe0 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d ...........(funcall.racket-repl-
b2000 73 75 62 6d 69 74 2d 66 75 6e 63 74 69 6f 6e 20 69 6e 70 75 74 2b 72 65 74 29 0a 20 20 20 20 20 submit-function.input+ret)......
b2020 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 63 6f 6d 70 6c .............(racket--repl-compl
b2040 65 74 65 2d 73 65 78 70 2d 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 ete-sexp-p)).............(racket
b2060 2d 2d 72 65 70 6c 2d 61 64 64 2d 74 6f 2d 69 6e 70 75 74 2d 68 69 73 74 6f 72 79 20 69 6e 70 75 --repl-add-to-input-history.inpu
b2080 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 t).............(goto-char.(point
b20a0 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 3f 5c 6e 29 0a -max)).............(insert.?\n).
b20c0 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 ............(add-text-properties
b20e0 20 70 72 6f 6d 70 74 2d 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78 29 0a 20 20 20 20 20 20 20 20 .prompt-end.(point-max).........
b2100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 .........................(list.'
b2120 72 65 61 64 2d 6f 6e 6c 79 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 read-only.t.....................
b2140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 65 61 72 2d 6e 6f 6e 73 74 69 63 ...................'rear-nonstic
b2160 6b 79 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c ky.t)).............(racket--repl
b2180 2d 64 65 6c 65 74 65 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 -delete-prompt-mark.nil)........
b21a0 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 20 28 72 61 63 6b 65 74 2d .....(racket--cmd/async.(racket-
b21c0 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 20 60 28 72 65 70 6c 2d 73 75 62 6d 69 74 20 -repl-session-id).`(repl-submit.
b21e0 2c 69 6e 70 75 74 2b 72 65 74 29 29 29 29 0a 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d 6c 69 6e ,input+ret)))).......(end-of-lin
b2200 65 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 3c 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f e).......(when.(<.racket--repl-o
b2220 75 74 70 75 74 2d 6d 61 72 6b 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 utput-mark.(point)).........(let
b2240 20 28 28 69 6e 70 75 74 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 .((input.(buffer-substring-no-pr
b2260 6f 70 65 72 74 69 65 73 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 72 operties.racket--repl-output-mar
b2280 6b 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 74 65 6e 74 k.(point))))...........;;.Intent
b22a0 69 6f 6e 61 6c 6c 79 20 64 6f 20 4e 4f 54 20 60 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 61 64 64 ionally.do.NOT.`racket--repl-add
b22c0 2d 74 6f 2d 69 6e 70 75 74 2d 68 69 73 74 6f 72 79 27 2e 0a 20 20 20 20 20 20 20 20 20 20 28 69 -to-input-history'............(i
b22e0 6e 73 65 72 74 20 3f 5c 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 74 65 78 74 2d 70 nsert.?\n)...........(add-text-p
b2300 72 6f 70 65 72 74 69 65 73 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 roperties.racket--repl-output-ma
b2320 72 6b 20 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rk.(point)......................
b2340 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 72 65 61 64 2d 6f 6e 6c 79 20 74 0a 20 20 20 ..........(list.'read-only.t....
b2360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b2380 20 20 27 72 65 61 72 2d 6e 6f 6e 73 74 69 63 6b 79 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 ..'rear-nonsticky.t))...........
b23a0 28 73 65 74 2d 6d 61 72 6b 65 72 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d (set-marker.racket--repl-output-
b23c0 6d 61 72 6b 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d mark.(point))...........(racket-
b23e0 2d 63 6d 64 2f 61 73 79 6e 63 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e -cmd/async.(racket--repl-session
b2400 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -id)............................
b2420 20 20 60 28 72 65 70 6c 2d 69 6e 70 75 74 20 2c 28 63 6f 6e 63 61 74 20 69 6e 70 75 74 20 22 5c ..`(repl-input.,(concat.input."\
b2440 6e 22 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d n"))))))))..(defun.racket--repl-
b2460 63 6f 6d 70 6c 65 74 65 2d 73 65 78 70 2d 70 20 28 29 0a 20 20 22 49 73 20 74 68 65 72 65 20 61 complete-sexp-p.()..."Is.there.a
b2480 74 20 6c 65 61 73 74 20 6f 6e 65 20 63 6f 6d 70 6c 65 74 65 20 73 65 78 70 20 61 74 20 52 45 50 t.least.one.complete.sexp.at.REP
b24a0 4c 20 70 72 6f 6d 70 74 3f 22 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 L.prompt?"...(condition-case._..
b24c0 20 20 20 20 20 28 6c 65 74 2a 20 28 28 62 65 67 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 70 .....(let*.((beg.(racket--repl-p
b24e0 72 6f 6d 70 74 2d 6d 61 72 6b 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 rompt-mark-end))..............(e
b2500 6e 64 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 nd.(save-excursion..............
b2520 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 .......(goto-char.beg)..........
b2540 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 28 70 6f 69 6e 74 29 20 28 70 6f ...........(while.(<.(point).(po
b2560 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 int-max)).......................
b2580 3b 3b 20 54 68 69 73 20 77 69 6c 6c 20 73 63 61 6e 2d 65 72 72 6f 72 20 75 6e 6c 65 73 73 20 63 ;;.This.will.scan-error.unless.c
b25a0 6f 6d 70 6c 65 74 65 20 73 65 78 70 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 omplete.sexp,.or................
b25c0 20 20 20 20 20 20 20 3b 3b 20 61 6c 6c 20 77 68 69 74 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 .......;;.all.whitespace........
b25e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 73 74 20 31 29 ................(forward-list.1)
b2600 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 29 29 ).....................(point))))
b2620 0a 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6f 72 20 28 65 71 75 61 6c 20 62 65 67 20 65 6e 64 .........(not.(or.(equal.beg.end
b2640 29 20 20 20 20 20 20 20 20 3b 6e 6f 74 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )........;nothing...............
b2660 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 20 20 20 20 20 20 20 3b 73 6f 6d 65 74 ...(string-match-p........;somet
b2680 68 69 6e 67 20 62 75 74 20 61 6c 6c 20 77 68 69 74 65 73 70 61 63 65 0a 20 20 20 20 20 20 20 20 hing.but.all.whitespace.........
b26a0 20 20 20 20 20 20 20 20 20 20 28 72 78 20 62 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........(rx.bos...............
b26c0 20 20 20 20 20 20 20 20 28 31 2b 20 28 6f 72 20 28 73 79 6e 74 61 78 20 77 68 69 74 65 73 70 61 ........(1+.(or.(syntax.whitespa
b26e0 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce).............................
b2700 20 20 28 73 79 6e 74 61 78 20 63 6f 6d 6d 65 6e 74 2d 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 ..(syntax.comment-start)........
b2720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 20 63 .......................(syntax.c
b2740 6f 6d 6d 65 6e 74 2d 65 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 omment-end)))...................
b2760 20 20 20 20 65 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 ....eos)...................(buff
b2780 65 72 2d 73 75 62 73 74 72 69 6e 67 20 62 65 67 20 65 6e 64 29 29 29 29 29 0a 20 20 20 20 28 73 er-substring.beg.end))))).....(s
b27a0 63 61 6e 2d 65 72 72 6f 72 20 6e 69 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d can-error.nil)))..(defun.racket-
b27c0 72 65 70 6c 2d 62 72 65 61 6b 20 28 29 0a 20 20 22 53 65 6e 64 20 61 6e 20 69 6e 74 65 72 72 75 repl-break.()..."Send.an.interru
b27e0 70 74 20 62 72 65 61 6b 20 74 6f 20 74 68 65 20 52 45 50 4c 2e 22 0a 20 20 28 69 6e 74 65 72 61 pt.break.to.the.REPL."...(intera
b2800 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6f 70 ctive)...(unless.(racket--cmd-op
b2820 65 6e 2d 70 29 20 3b 64 6f 6e 27 74 20 61 75 74 6f 2d 73 74 61 72 74 20 74 68 65 20 62 61 63 6b en-p).;don't.auto-start.the.back
b2840 20 65 6e 64 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 42 61 63 6b 20 65 6e 64 20 69 .end.....(user-error."Back.end.i
b2860 73 20 6e 6f 74 20 72 75 6e 6e 69 6e 67 22 29 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f s.not.running"))...(racket--cmd/
b2880 61 73 79 6e 63 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 20 async.(racket--repl-session-id).
b28a0 60 28 72 65 70 6c 2d 62 72 65 61 6b 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 `(repl-break)))..(defun.racket-r
b28c0 65 70 6c 2d 65 78 69 74 20 28 29 0a 20 20 22 45 78 69 74 20 74 68 65 20 52 45 50 4c 20 73 65 73 epl-exit.()..."Exit.the.REPL.ses
b28e0 73 69 6f 6e 2e 0a 0a 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 65 6e 74 65 72 69 6e 67 20 5c 22 sion...Equivalent.to.entering.\"
b2900 28 65 78 69 74 29 5c 22 20 61 74 20 74 68 65 20 52 45 50 4c 20 70 72 6f 6d 70 74 2c 20 62 75 74 (exit)\".at.the.REPL.prompt,.but
b2920 20 77 6f 72 6b 73 0a 65 76 65 6e 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 .works.even.when.the.module.lang
b2940 75 61 67 65 20 64 6f 65 73 6e 27 74 20 70 72 6f 76 69 64 65 20 61 6e 79 20 62 69 6e 64 69 6e 67 uage.doesn't.provide.any.binding
b2960 20 66 6f 72 0a 5c 22 65 78 69 74 5c 22 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a .for.\"exit\"."...(interactive).
b2980 20 20 3b 3b 20 41 76 6f 69 64 20 73 65 6e 64 69 6e 67 20 61 20 63 6f 6d 6d 61 6e 64 20 61 62 6f ..;;.Avoid.sending.a.command.abo
b29a0 75 74 20 65 78 69 74 69 6e 67 20 61 20 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 74 68 61 74 20 63 ut.exiting.a.REPL.session.that.c
b29c0 61 6e 27 74 0a 20 20 3b 3b 20 65 78 69 73 74 20 62 65 63 61 75 73 65 20 74 68 65 20 62 61 63 6b an't...;;.exist.because.the.back
b29e0 20 65 6e 64 20 69 73 6e 27 74 20 72 75 6e 6e 69 6e 67 2e 20 54 68 61 74 27 73 20 77 6f 72 73 65 .end.isn't.running..That's.worse
b2a00 20 74 68 61 6e 20 61 0a 20 20 3b 3b 20 6e 6f 2d 6f 70 3b 20 74 68 61 74 20 77 6f 75 6c 64 20 61 .than.a...;;.no-op;.that.would.a
b2a20 75 74 6f 2d 73 74 61 72 74 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 66 6f 72 20 6e 6f 20 67 6f uto-start.the.back.end.for.no.go
b2a40 6f 64 20 72 65 61 73 6f 6e 20 6e 6f 77 2e 0a 20 20 28 77 68 65 6e 20 28 72 61 63 6b 65 74 2d 2d od.reason.now....(when.(racket--
b2a60 63 6d 64 2d 6f 70 65 6e 2d 70 29 0a 20 20 20 20 28 77 68 65 6e 20 28 72 61 63 6b 65 74 2d 2d 72 cmd-open-p).....(when.(racket--r
b2a80 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 20 20 20 20 3b 3b 20 4e 6f 74 65 3a 20 57 epl-session-id).......;;.Note:.W
b2aa0 65 20 64 6f 6e 27 74 20 60 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 e.don't.`(setq.racket--repl-sess
b2ac0 69 6f 6e 2d 69 64 20 6e 69 6c 29 60 20 68 65 72 65 0a 20 20 20 20 20 20 3b 3b 20 62 65 63 61 75 ion-id.nil)`.here.......;;.becau
b2ae0 73 65 20 28 31 29 20 74 68 65 20 72 65 70 6c 20 62 75 66 66 65 72 20 69 73 6e 27 74 20 6e 65 63 se.(1).the.repl.buffer.isn't.nec
b2b00 65 73 73 61 72 69 6c 79 20 63 75 72 72 65 6e 74 20 61 6e 64 0a 20 20 20 20 20 20 3b 3b 20 61 6e essarily.current.and.......;;.an
b2b20 79 77 61 79 20 28 32 29 20 77 65 20 77 61 6e 74 20 74 6f 20 61 6c 6c 6f 77 20 6f 75 72 20 6f 75 yway.(2).we.want.to.allow.our.ou
b2b40 74 70 75 74 20 68 61 6e 64 6c 65 72 20 66 75 6e 63 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 20 3b tput.handler.function.to.......;
b2b60 3b 20 67 65 74 20 74 68 65 20 22 65 78 69 74 22 20 6d 65 73 73 61 67 65 20 66 72 6f 6d 20 74 68 ;.get.the."exit".message.from.th
b2b80 65 20 62 61 63 6b 20 65 6e 64 3b 20 69 74 20 77 69 6c 6c 20 73 65 74 20 6e 69 6c 2c 0a 20 20 20 e.back.end;.it.will.set.nil,....
b2ba0 20 20 20 3b 3b 20 74 68 65 6e 2e 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 ...;;.then........(racket--cmd/a
b2bc0 73 79 6e 63 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 20 60 sync.(racket--repl-session-id).`
b2be0 28 72 65 70 6c 2d 65 78 69 74 29 29 29 29 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 (repl-exit)))))..(declare-functi
b2c00 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 on.racket-repl-buffer-name-uniqu
b2c20 65 20 22 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 22 20 28 29 29 0a e."racket-repl-buffer-name".()).
b2c40 28 61 75 74 6f 6c 6f 61 64 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 (autoload........'racket-repl-bu
b2c60 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 20 22 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 ffer-name-unique."racket-repl-bu
b2c80 66 66 65 72 2d 6e 61 6d 65 22 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 ffer-name")..;;;###autoload.(def
b2ca0 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 6f 73 65 6c 65 un.racket-repl.(&optional.nosele
b2cc0 63 74 29 0a 20 20 22 53 68 6f 77 20 61 20 52 61 63 6b 65 74 20 52 45 50 4c 20 62 75 66 66 65 72 ct)..."Show.a.Racket.REPL.buffer
b2ce0 20 69 6e 20 73 6f 6d 65 20 77 69 6e 64 6f 77 2e 0a 0a 54 68 65 20 69 6e 74 65 6e 64 65 64 20 75 .in.some.window...The.intended.u
b2d00 73 65 20 6f 66 20 52 61 63 6b 65 74 20 4d 6f 64 65 27 73 20 52 45 50 4c 20 69 73 20 74 68 61 74 se.of.Racket.Mode's.REPL.is.that
b2d20 20 79 6f 75 20 60 66 69 6e 64 2d 66 69 6c 65 27 0a 73 6f 6d 65 20 73 70 65 63 69 66 69 63 20 66 .you.`find-file'.some.specific.f
b2d40 69 6c 65 2c 20 74 68 65 6e 20 72 75 6e 20 69 74 20 75 73 69 6e 67 20 61 20 63 6f 6d 6d 61 6e 64 ile,.then.run.it.using.a.command
b2d60 20 6c 69 6b 65 20 60 72 61 63 6b 65 74 2d 72 75 6e 27 0a 6f 72 20 60 72 61 63 6b 65 74 2d 72 75 .like.`racket-run'.or.`racket-ru
b2d80 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 27 2e 20 54 68 65 20 72 65 73 75 6c 74 69 6e n-module-at-point'..The.resultin
b2da0 67 20 52 45 50 4c 20 77 69 6c 6c 0a 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 74 68 6f 73 65 20 g.REPL.will.correspond.to.those.
b2dc0 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 6d 61 74 63 68 20 79 6f 75 72 20 65 78 70 65 63 definitions.and.match.your.expec
b2de0 74 61 74 69 6f 6e 73 2e 0a 0a 54 68 65 72 65 66 6f 72 65 20 74 68 69 73 20 60 72 61 63 6b 65 74 tations...Therefore.this.`racket
b2e00 2d 72 65 70 6c 27 20 63 6f 6d 6d 61 6e 64 20 2d 2d 20 77 68 69 63 68 20 69 73 20 69 6e 74 65 6e -repl'.command.--.which.is.inten
b2e20 64 65 64 20 61 73 20 61 0a 63 6f 6e 76 65 6e 69 65 6e 63 65 20 66 6f 72 20 70 65 6f 70 6c 65 20 ded.as.a.convenience.for.people.
b2e40 77 68 6f 20 77 61 6e 74 20 74 6f 20 5c 22 6a 75 73 74 20 67 65 74 20 61 20 71 75 69 63 6b 20 73 who.want.to.\"just.get.a.quick.s
b2e60 63 72 61 74 63 68 0a 52 45 50 4c 5c 22 20 2d 2d 20 69 73 20 61 63 74 75 61 6c 6c 79 20 69 6d 70 cratch.REPL\".--.is.actually.imp
b2e80 6c 65 6d 65 6e 74 65 64 20 61 73 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 20 6e 61 6d lemented.as.running.the.file.nam
b2ea0 65 64 20 69 6e 0a 74 68 65 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 ed.in.the.customization.variable
b2ec0 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 27 2e 20 57 68 65 .`racket-repl-command-file'..Whe
b2ee0 6e 20 74 68 61 74 0a 66 69 6c 65 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 2c 20 69 74 20 69 73 n.that.file.doesn't.exist,.it.is
b2f00 20 63 72 65 61 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 6a 75 73 74 20 5c 22 23 6c 61 6e 67 .created.to.contain.just.\"#lang
b2f20 0a 72 61 63 6b 65 74 2f 62 61 73 65 5c 22 2e 20 59 6f 75 20 6d 61 79 20 65 64 69 74 20 74 68 65 .racket/base\"..You.may.edit.the
b2f40 20 66 69 6c 65 20 74 6f 20 75 73 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 6c 61 6e 67 2c 0a 72 .file.to.use.a.different.lang,.r
b2f60 65 71 75 69 72 65 20 6f 74 68 65 72 20 6d 6f 64 75 6c 65 73 2c 20 6f 72 20 77 68 61 74 65 76 65 equire.other.modules,.or.whateve
b2f80 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 3b 3b 20 43 72 65 r."...(interactive."P")...;;.Cre
b2fa0 61 74 65 20 66 69 6c 65 20 69 66 20 69 74 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 0a 20 20 28 ate.file.if.it.doesn't.exist...(
b2fc0 75 6e 6c 65 73 73 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 72 61 63 6b 65 74 2d 72 65 70 unless.(file-exists-p.racket-rep
b2fe0 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 29 0a 20 20 20 20 28 6c 65 74 20 28 28 64 69 72 20 28 l-command-file).....(let.((dir.(
b3000 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d file-name-directory.racket-repl-
b3020 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 66 command-file))).......(unless.(f
b3040 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 64 69 72 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d ile-exists-p.dir).........(make-
b3060 64 69 72 65 63 74 6f 72 79 20 64 69 72 20 74 29 29 29 0a 20 20 20 20 28 77 72 69 74 65 2d 72 65 directory.dir.t))).....(write-re
b3080 67 69 6f 6e 20 22 3b 3b 20 55 73 65 64 20 62 79 20 4d 2d 78 20 72 61 63 6b 65 74 2d 72 65 70 6c gion.";;.Used.by.M-x.racket-repl
b30a0 3b 20 79 6f 75 20 6d 61 79 20 65 64 69 74 5c 6e 23 6c 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 ;.you.may.edit\n#lang.racket/bas
b30c0 65 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 72 61 63 6b 65 e\n"...................nil.racke
b30e0 74 2d 72 65 70 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 29 29 0a 20 20 3b 3b 20 56 69 73 69 74 t-repl-command-file))...;;.Visit
b3100 20 74 68 65 20 66 69 6c 65 20 77 69 74 68 6f 75 74 20 73 65 6c 65 63 74 69 6e 67 20 69 74 2c 20 .the.file.without.selecting.it,.
b3120 61 6e 64 20 72 75 6e 20 69 74 2e 0a 20 20 28 6c 65 74 20 28 28 72 61 63 6b 65 74 2d 72 65 70 6c and.run.it....(let.((racket-repl
b3140 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 72 -buffer-name-function.#'racket-r
b3160 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 29 29 0a 20 20 20 20 28 77 69 epl-buffer-name-unique)).....(wi
b3180 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 66 69 6e 64 2d 66 69 6c 65 2d 6e 6f 73 th-current-buffer.(find-file-nos
b31a0 65 6c 65 63 74 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 29 0a elect.racket-repl-command-file).
b31c0 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 72 75 6e 0a 20 20 20 20 20 20 20 28 ......(racket--repl-run........(
b31e0 6c 69 73 74 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 29 0a 20 list.racket-repl-command-file)..
b3200 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 28 6c 61 6d ......nil........nil........(lam
b3220 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 20 bda.()..........(display-buffer.
b3240 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 racket-repl-buffer-name)........
b3260 20 20 28 75 6e 6c 65 73 73 20 6e 6f 73 65 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 ..(unless.noselect............(s
b3280 65 6c 65 63 74 2d 77 69 6e 64 6f 77 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 elect-window.(get-buffer-window.
b32a0 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 74 29 29 29 29 29 29 29 racket-repl-buffer-name.t)))))))
b32c0 29 0a 0a 3b 3b 3b 20 52 75 6e 0a 0a 3b 3b 20 4e 6f 74 65 3a 20 54 68 65 73 65 20 63 6f 6d 6d 61 )..;;;.Run..;;.Note:.These.comma
b32e0 6e 64 73 20 61 72 65 20 74 6f 20 62 65 20 72 75 6e 20 77 68 65 6e 20 63 75 72 72 65 6e 74 2d 62 nds.are.to.be.run.when.current-b
b3300 75 66 66 65 72 20 69 73 20 61 0a 3b 3b 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 62 75 66 66 uffer.is.a.;;.`racket-mode'.buff
b3320 65 72 2e 20 54 68 65 20 72 65 61 73 6f 6e 20 74 68 65 79 20 61 72 65 20 64 65 66 69 6e 65 64 20 er..The.reason.they.are.defined.
b3340 68 65 72 65 20 69 73 20 62 65 63 61 75 73 65 0a 3b 3b 20 74 68 65 79 20 75 73 65 20 61 20 60 72 here.is.because.;;.they.use.a.`r
b3360 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 2c 20 61 6e 64 2c 20 6f 6e acket-repl-mode'.buffer,.and,.on
b3380 65 20 63 6f 75 6c 64 20 75 73 65 0a 3b 3b 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 74 6f 20 e.could.use.;;.`racket-mode'.to.
b33a0 65 64 69 74 20 66 69 6c 65 73 20 77 69 74 68 6f 75 74 20 75 73 69 6e 67 20 74 68 65 73 65 20 63 edit.files.without.using.these.c
b33c0 6f 6d 6d 61 6e 64 73 2e 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 ommands...;;;###autoload.(defun.
b33e0 72 61 63 6b 65 74 2d 72 75 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 29 0a 20 20 racket-run.(&optional.prefix)...
b3400 22 53 61 76 65 20 74 68 65 20 62 75 66 66 65 72 20 69 6e 20 52 45 50 4c 20 61 6e 64 20 72 75 6e "Save.the.buffer.in.REPL.and.run
b3420 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 2e 0a 0a 41 73 20 77 65 6c 6c 20 61 73 20 65 76 61 6c 75 .your.program...As.well.as.evalu
b3440 61 74 69 6e 67 20 74 68 65 20 6f 75 74 65 72 6d 6f 73 74 2c 20 66 69 6c 65 20 6d 6f 64 75 6c 65 ating.the.outermost,.file.module
b3460 2c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 72 75 6e 73 20 74 68 65 20 73 75 62 6d 6f 64 75 ,.automatically.runs.the.submodu
b3480 6c 65 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 63 75 73 74 6f 6d 69 7a 61 74 69 les.specified.by.the.customizati
b34a0 6f 6e 20 76 61 72 69 61 62 6c 65 0a 60 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 74 on.variable.`racket-submodules-t
b34c0 6f 2d 72 75 6e 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f o-run'...See.also.`racket-run-mo
b34e0 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 27 2c 20 77 68 69 63 68 20 72 75 6e 73 20 6a 75 73 74 20 dule-at-point',.which.runs.just.
b3500 74 68 65 0a 73 70 65 63 69 66 69 63 20 6d 6f 64 75 6c 65 20 61 74 20 70 6f 69 6e 74 2e 0a 0a 54 the.specific.module.at.point...T
b3520 68 65 20 63 6f 6d 6d 61 6e 64 20 76 61 72 69 65 73 20 62 61 73 65 64 20 6f 6e 20 68 6f 77 20 6d he.command.varies.based.on.how.m
b3540 61 6e 79 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 0a 70 72 65 66 69 any.\\[universal-argument].prefi
b3560 78 20 61 72 67 75 6d 65 6e 74 73 20 79 6f 75 20 73 75 70 70 6c 79 2e 0a 5c 5c 3c 72 61 63 6b 65 x.arguments.you.supply..\\<racke
b3580 74 2d 6d 6f 64 65 2d 6d 61 70 3e 0a 0a 2d 20 5c 5c 5b 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 t-mode-map>..-.\\[racket-run-and
b35a0 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 5d 0a 0a 20 20 46 6f 6c 6c 6f 77 73 20 74 68 65 20 -switch-to-repl]....Follows.the.
b35c0 60 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 27 20 73 65 74 74 69 6e 67 2e 0a `racket-error-context'.setting..
b35e0 0a 2d 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 72 61 63 .-.\\[universal-argument].\\[rac
b3600 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 5d 0a 0a 20 20 55 ket-run-and-switch-to-repl]....U
b3620 73 65 73 20 65 72 72 6f 72 74 72 61 63 65 20 66 6f 72 20 69 6d 70 72 6f 76 65 64 20 73 74 61 63 ses.errortrace.for.improved.stac
b3640 6b 20 74 72 61 63 65 73 2c 20 61 73 20 69 66 0a 20 20 60 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d k.traces,.as.if...`racket-error-
b3660 63 6f 6e 74 65 78 74 27 20 77 65 72 65 20 73 65 74 20 74 6f 20 5c 22 68 69 67 68 5c 22 2e 0a 0a context'.were.set.to.\"high\"...
b3680 20 20 54 68 69 73 20 6c 65 74 73 20 79 6f 75 20 6b 65 65 70 20 60 72 61 63 6b 65 74 2d 65 72 72 ..This.lets.you.keep.`racket-err
b36a0 6f 72 2d 63 6f 6e 74 65 78 74 27 20 73 65 74 20 74 6f 20 61 20 66 61 73 74 65 72 0a 20 20 76 61 or-context'.set.to.a.faster...va
b36c0 6c 75 65 20 6c 69 6b 65 20 5c 22 6c 6f 77 5c 22 20 6f 72 20 5c 22 6d 65 64 69 75 6d 5c 22 2c 20 lue.like.\"low\".or.\"medium\",.
b36e0 74 68 65 6e 20 63 6f 6e 76 65 6e 69 65 6e 74 6c 79 20 72 65 2d 72 75 6e 0a 20 20 77 68 65 6e 20 then.conveniently.re-run...when.
b3700 79 6f 75 20 6e 65 65 64 20 61 20 62 65 74 74 65 72 20 73 74 72 61 63 6b 20 74 72 61 63 65 2e 0a you.need.a.better.strack.trace..
b3720 0a 2d 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 75 6e 69 .-.\\[universal-argument].\\[uni
b3740 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 72 61 63 6b 65 74 2d 72 75 6e 2d 61 versal-argument].\\[racket-run-a
b3760 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 5d 0a 0a 20 20 49 6e 73 74 72 75 6d 65 6e 74 nd-switch-to-repl]....Instrument
b3780 73 20 63 6f 64 65 20 66 6f 72 20 73 74 65 70 20 64 65 62 75 67 67 69 6e 67 2e 20 53 65 65 20 60 s.code.for.step.debugging..See.`
b37a0 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 27 0a 20 20 61 6e 64 20 74 68 65 20 76 61 72 racket-debug-mode'...and.the.var
b37c0 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 27 2e iable.`racket-debuggable-files'.
b37e0 0a 0a 45 61 63 68 20 72 75 6e 20 6f 63 63 75 72 73 20 77 69 74 68 69 6e 20 61 20 52 61 63 6b 65 ..Each.run.occurs.within.a.Racke
b3800 74 20 63 75 73 74 6f 64 69 61 6e 2e 20 41 6e 79 20 70 72 69 6f 72 20 72 75 6e 27 73 0a 63 75 73 t.custodian..Any.prior.run's.cus
b3820 74 6f 64 69 61 6e 20 69 73 20 73 68 75 74 20 64 6f 77 6e 2c 20 72 65 6c 65 61 73 69 6e 67 20 72 todian.is.shut.down,.releasing.r
b3840 65 73 6f 75 72 63 65 73 20 6c 69 6b 65 20 74 68 72 65 61 64 73 20 61 6e 64 0a 70 6f 72 74 73 2e esources.like.threads.and.ports.
b3860 20 45 61 63 68 20 72 75 6e 27 73 20 65 76 61 6c 75 61 74 69 6f 6e 20 65 6e 76 69 72 6f 6e 6d 65 .Each.run's.evaluation.environme
b3880 6e 74 20 69 73 20 72 65 73 65 74 20 74 6f 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 0a 6f 66 20 74 nt.is.reset.to.the.contents.of.t
b38a0 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 he.source.file..In.other.words,.
b38c0 6c 69 6b 65 20 44 72 20 52 61 63 6b 65 74 2c 20 74 68 69 73 20 70 72 6f 76 69 64 65 73 0a 74 68 like.Dr.Racket,.this.provides.th
b38e0 65 20 62 65 6e 65 66 69 74 20 74 68 61 74 20 79 6f 75 72 20 73 6f 75 72 63 65 20 66 69 6c 65 20 e.benefit.that.your.source.file.
b3900 69 73 20 74 68 65 20 5c 22 73 69 6e 67 6c 65 20 73 6f 75 72 63 65 20 6f 66 0a 74 72 75 74 68 5c is.the.\"single.source.of.truth\
b3920 22 2e 20 41 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2c 20 74 68 65 20 72 75 6e 20 67 69 76 "..At.the.same.time,.the.run.giv
b3940 65 73 20 79 6f 75 20 61 20 52 45 50 4c 20 69 6e 73 69 64 65 20 74 68 65 0a 6e 61 6d 65 73 70 61 es.you.a.REPL.inside.the.namespa
b3960 63 65 20 6f 66 20 74 68 65 20 6d 6f 64 75 6c 65 2c 20 67 69 76 69 6e 67 20 79 6f 75 20 74 68 65 ce.of.the.module,.giving.you.the
b3980 20 61 62 69 6c 69 74 79 20 74 6f 20 65 78 70 6c 6f 72 65 20 69 74 0a 69 6e 74 65 72 61 63 74 69 .ability.to.explore.it.interacti
b39a0 76 65 6c 79 2e 20 41 6e 79 20 65 78 70 6c 6f 72 61 74 69 6f 6e 73 20 61 72 65 20 74 65 6d 70 6f vely..Any.explorations.are.tempo
b39c0 72 61 72 79 2c 20 75 6e 6c 65 73 73 20 79 6f 75 20 61 6c 73 6f 0a 6d 61 6b 65 20 74 68 65 6d 20 rary,.unless.you.also.make.them.
b39e0 74 6f 20 79 6f 75 72 20 73 6f 75 72 63 65 20 66 69 6c 65 2c 20 74 68 65 79 20 77 69 6c 6c 20 62 to.your.source.file,.they.will.b
b3a00 65 20 6c 6f 73 74 20 6f 6e 20 74 68 65 20 6e 65 78 74 20 72 75 6e 2e 0a 0a 53 65 65 20 61 6c 73 e.lost.on.the.next.run...See.als
b3a20 6f 20 60 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c o.`racket-run-and-switch-to-repl
b3a40 27 2c 20 77 68 69 63 68 20 69 73 20 65 76 65 6e 20 6d 6f 72 65 20 6c 69 6b 65 0a 44 72 20 52 61 ',.which.is.even.more.like.Dr.Ra
b3a60 63 6b 65 74 27 73 20 52 75 6e 20 63 6f 6d 6d 61 6e 64 20 62 65 63 61 75 73 65 20 69 74 20 73 65 cket's.Run.command.because.it.se
b3a80 6c 65 63 74 73 20 74 68 65 20 52 45 50 4c 20 77 69 6e 64 6f 77 20 61 66 74 65 72 0a 72 75 6e 6e lects.the.REPL.window.after.runn
b3aa0 69 6e 67 2e 0a 0a 54 6f 20 76 69 73 69 74 20 65 72 72 6f 72 20 6c 6f 63 61 74 69 6f 6e 73 2c 20 ing...To.visit.error.locations,.
b3ac0 6d 6f 76 65 20 70 6f 69 6e 74 20 74 68 65 72 65 20 61 6e 64 20 70 72 65 73 73 20 52 45 54 20 6f move.point.there.and.press.RET.o
b3ae0 72 20 6d 6f 75 73 65 0a 63 6c 69 63 6b 2e 20 4f 72 2c 20 75 73 65 20 74 68 65 20 73 74 61 6e 64 r.mouse.click..Or,.use.the.stand
b3b00 61 72 64 20 60 6e 65 78 74 2d 65 72 72 6f 72 27 20 61 6e 64 20 60 70 72 65 76 69 6f 75 73 2d 65 ard.`next-error'.and.`previous-e
b3b20 72 72 6f 72 27 0a 63 6f 6d 6d 61 6e 64 73 20 66 72 6f 6d 20 65 69 74 68 65 72 20 74 68 65 20 65 rror'.commands.from.either.the.e
b3b40 64 69 74 20 6f 72 20 52 45 50 4c 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 dit.or.REPL.buffer."...(interact
b3b60 69 76 65 20 22 50 22 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 72 75 6e 20 28 6c 69 ive."P")...(racket--repl-run.(li
b3b80 73 74 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 st.(racket--buffer-file-name))..
b3ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 ...................racket-submod
b3bc0 75 6c 65 73 2d 74 6f 2d 72 75 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ules-to-run.....................
b3be0 28 70 63 61 73 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (pcase.prefix...................
b3c00 20 20 20 20 28 60 28 34 29 20 20 27 68 69 67 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(`(4)..'high)...............
b3c20 20 20 20 20 20 20 20 20 28 60 28 31 36 29 20 27 64 65 62 75 67 29 0a 20 20 20 20 20 20 20 20 20 ........(`(16).'debug)..........
b3c40 20 20 20 20 20 20 20 20 20 20 20 20 20 28 5f 20 20 20 20 20 72 61 63 6b 65 74 2d 65 72 72 6f 72 .............(_.....racket-error
b3c60 2d 63 6f 6e 74 65 78 74 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 -context))))..;;;###autoload.(de
b3c80 66 75 6e 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 20 28 fun.racket-run-module-at-point.(
b3ca0 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 29 0a 20 20 22 53 61 76 65 20 74 68 65 20 62 75 &optional.prefix)..."Save.the.bu
b3cc0 66 66 65 72 20 61 6e 64 20 72 75 6e 20 74 68 65 20 6d 6f 64 75 6c 65 20 61 74 20 70 6f 69 6e 74 ffer.and.run.the.module.at.point
b3ce0 2e 0a 0a 4c 69 6b 65 20 60 72 61 63 6b 65 74 2d 72 75 6e 27 20 62 75 74 20 72 75 6e 73 20 74 68 ...Like.`racket-run'.but.runs.th
b3d00 65 20 69 6e 6e 65 72 6d 6f 73 74 20 6d 6f 64 75 6c 65 20 61 72 6f 75 6e 64 20 70 6f 69 6e 74 2c e.innermost.module.around.point,
b3d20 0a 77 68 69 63 68 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 74 65 78 74 75 61 6c 6c 79 20 62 .which.is.determined.textually.b
b3d40 79 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 5c 22 6d 6f 64 75 6c 65 5c 22 2c 0a 5c 22 6d 6f 64 75 y.looking.for.\"module\",.\"modu
b3d60 6c 65 2a 5c 22 2c 20 6f 72 20 5c 22 6d 6f 64 75 6c 65 2b 5c 22 20 66 6f 72 6d 73 20 6e 65 73 74 le*\",.or.\"module+\".forms.nest
b3d80 65 64 20 74 6f 20 61 6e 79 20 64 65 70 74 68 2c 20 65 6c 73 65 0a 73 69 6d 70 6c 79 20 74 68 65 ed.to.any.depth,.else.simply.the
b3da0 20 6f 75 74 65 72 6d 6f 73 74 2c 20 66 69 6c 65 20 6d 6f 64 75 6c 65 2e 22 0a 20 20 28 69 6e 74 .outermost,.file.module."...(int
b3dc0 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 72 75 eractive."P")...(racket--repl-ru
b3de0 6e 20 28 72 61 63 6b 65 74 2d 2d 77 68 61 74 2d 74 6f 2d 72 75 6e 29 0a 20 20 20 20 20 20 20 20 n.(racket--what-to-run).........
b3e00 20 20 20 20 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............'().................
b3e20 20 20 20 20 28 70 63 61 73 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(pcase.prefix...............
b3e40 20 20 20 20 20 20 20 20 28 60 28 34 29 20 20 27 68 69 67 68 29 0a 20 20 20 20 20 20 20 20 20 20 ........(`(4)..'high)...........
b3e60 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 31 36 29 20 27 64 65 62 75 67 29 0a 20 20 20 20 20 ............(`(16).'debug)......
b3e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 5f 20 20 20 20 20 72 61 63 6b 65 74 2d 65 .................(_.....racket-e
b3ea0 72 72 6f 72 2d 63 6f 6e 74 65 78 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d rror-context))))..(defun.racket-
b3ec0 72 75 6e 2d 77 69 74 68 2d 65 72 72 6f 72 74 72 61 63 65 20 28 29 0a 20 20 22 52 75 6e 20 77 69 run-with-errortrace.()..."Run.wi
b3ee0 74 68 20 60 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 27 20 74 65 6d 70 6f 72 th.`racket-error-context'.tempor
b3f00 61 72 69 6c 79 20 73 65 74 20 74 6f 20 5c 22 68 69 67 68 5c 22 2e 0a 0a 5c 5c 3c 72 61 63 6b 65 arily.set.to.\"high\"...\\<racke
b3f20 74 2d 6d 6f 64 65 2d 6d 61 70 3e 0a 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 t-mode-map>.This.is.equivalent.t
b3f40 6f 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 72 61 63 6b o.\\[universal-argument].\\[rack
b3f60 65 74 2d 72 75 6e 5d 2e 0a 0a 44 65 66 69 6e 65 64 20 61 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 et-run]...Defined.as.a.function.
b3f80 73 6f 20 69 74 20 63 61 6e 20 62 65 20 61 20 6d 65 6e 75 20 74 61 72 67 65 74 2e 22 0a 20 20 28 so.it.can.be.a.menu.target."...(
b3fa0 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 72 75 6e 20 27 28 34 29 29 interactive)...(racket-run.'(4))
b3fc0 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 75 6e 2d 77 69 74 68 2d 64 65 62 75 67 67 )..(defun.racket-run-with-debugg
b3fe0 69 6e 67 20 28 29 0a 20 20 22 52 75 6e 20 77 69 74 68 20 60 72 61 63 6b 65 74 2d 65 72 72 6f 72 ing.()..."Run.with.`racket-error
b4000 2d 63 6f 6e 74 65 78 74 27 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 73 65 74 20 74 6f 20 5c 22 64 -context'.temporarily.set.to.\"d
b4020 65 62 75 67 5c 22 2e 0a 0a 5c 5c 3c 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 6d 61 70 3e 0a 54 68 69 ebug\"...\\<racket-mode-map>.Thi
b4040 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d s.is.equivalent.to.\\[universal-
b4060 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d argument].\\[universal-argument]
b4080 20 5c 5c 5b 72 61 63 6b 65 74 2d 72 75 6e 5d 2e 0a 0a 44 65 66 69 6e 65 64 20 61 73 20 61 20 66 .\\[racket-run]...Defined.as.a.f
b40a0 75 6e 63 74 69 6f 6e 20 73 6f 20 69 74 20 63 61 6e 20 62 65 20 61 20 6d 65 6e 75 20 74 61 72 67 unction.so.it.can.be.a.menu.targ
b40c0 65 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 72 et."...(interactive)...(racket-r
b40e0 75 6e 20 27 28 31 36 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e un.'(16)))..(defun.racket-run-an
b4100 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 d-switch-to-repl.(&optional.pref
b4120 69 78 29 0a 20 20 22 54 68 69 73 20 69 73 20 60 72 61 63 6b 65 74 2d 72 75 6e 27 20 66 6f 6c 6c ix)..."This.is.`racket-run'.foll
b4140 6f 77 65 64 20 62 79 20 73 65 6c 65 63 74 69 6e 67 20 74 68 65 20 52 45 50 4c 20 62 75 66 66 65 owed.by.selecting.the.REPL.buffe
b4160 72 20 77 69 6e 64 6f 77 2e 0a 0a 54 68 69 73 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 68 6f r.window...This.is.similar.to.ho
b4180 77 20 44 72 20 52 61 63 6b 65 74 20 62 65 68 61 76 65 73 2e 0a 0a 5c 5c 3c 72 61 63 6b 65 74 2d w.Dr.Racket.behaves...\\<racket-
b41a0 6d 6f 64 65 2d 6d 61 70 3e 0a 54 6f 20 6d 61 6b 65 20 69 74 20 65 76 65 6e 20 6d 6f 72 65 20 73 mode-map>.To.make.it.even.more.s
b41c0 69 6d 69 6c 61 72 2c 20 79 6f 75 20 6d 61 79 20 61 64 64 20 60 72 61 63 6b 65 74 2d 72 65 70 6c imilar,.you.may.add.`racket-repl
b41e0 2d 63 6c 65 61 72 27 20 74 6f 0a 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d -clear'.to.the.variable.`racket-
b4200 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 before-run-hook'."...(interactiv
b4220 65 20 22 50 22 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 72 75 6e 20 28 6c 69 73 74 e."P")...(racket--repl-run.(list
b4240 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 .(racket--buffer-file-name))....
b4260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c .................racket-submodul
b4280 65 73 2d 74 6f 2d 72 75 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 es-to-run.....................(p
b42a0 63 61 73 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 case.prefix.....................
b42c0 20 20 28 60 28 34 29 20 20 27 68 69 67 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(`(4)..'high).................
b42e0 20 20 20 20 20 20 28 60 28 31 36 29 20 27 64 65 62 75 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 ......(`(16).'debug)............
b4300 20 20 20 20 20 20 20 20 20 20 20 28 5f 20 20 20 20 20 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 63 ...........(_.....racket-error-c
b4320 6f 6e 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 ontext)).....................#'r
b4340 61 63 6b 65 74 2d 65 64 69 74 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 29 29 0a 0a 28 64 65 acket-edit-switch-to-repl))..(de
b4360 66 75 6e 20 72 61 63 6b 65 74 2d 74 65 73 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 fun.racket-test.(&optional.prefi
b4380 78 29 0a 20 20 22 52 75 6e 20 74 68 65 20 5c 22 74 65 73 74 5c 22 20 73 75 62 6d 6f 64 75 6c 65 x)..."Run.the.\"test\".submodule
b43a0 2e 0a 0a 50 75 74 20 79 6f 75 72 20 74 65 73 74 73 20 69 6e 20 61 20 5c 22 74 65 73 74 5c 22 20 ...Put.your.tests.in.a.\"test\".
b43c0 73 75 62 6d 6f 64 75 6c 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 23 2b 42 45 47 49 4e submodule..For.example:..#+BEGIN
b43e0 5f 53 52 43 20 72 61 63 6b 65 74 0a 20 20 20 20 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a 20 20 _SRC.racket.....(module+.test...
b4400 20 20 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 29 0a 20 20 20 20 20 20 28 63 68 ....(require.rackunit).......(ch
b4420 65 63 6b 2d 74 72 75 65 20 23 74 29 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 0a 41 6e 79 20 72 61 63 eck-true.#t)).#+END_SRC..Any.rac
b4440 6b 75 6e 69 74 20 74 65 73 74 20 66 61 69 6c 75 72 65 20 6d 65 73 73 61 67 65 73 20 73 68 6f 77 kunit.test.failure.messages.show
b4460 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 2e 20 59 6f 75 20 6d 61 79 20 75 73 65 0a 60 6e 65 78 74 .the.location..You.may.use.`next
b4480 2d 65 72 72 6f 72 27 20 74 6f 20 6a 75 6d 70 20 74 6f 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 -error'.to.jump.to.the.location.
b44a0 6f 66 20 65 61 63 68 20 66 61 69 6c 69 6e 67 20 74 65 73 74 2e 0a 0a 57 69 74 68 20 5c 5c 5b 75 of.each.failing.test...With.\\[u
b44c0 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 75 73 65 73 20 65 72 72 6f 72 74 72 61 niversal-argument].uses.errortra
b44e0 63 65 20 66 6f 72 20 69 6d 70 72 6f 76 65 64 20 73 74 61 63 6b 20 74 72 61 63 65 73 2e 0a 4f 74 ce.for.improved.stack.traces..Ot
b4500 68 65 72 77 69 73 65 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 60 72 61 63 6b 65 74 2d 65 72 72 6f herwise.follows.the.`racket-erro
b4520 72 2d 63 6f 6e 74 65 78 74 27 20 73 65 74 74 69 6e 67 2e 0a 0a 57 69 74 68 20 5c 5c 5b 75 6e 69 r-context'.setting...With.\\[uni
b4540 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 versal-argument].\\[universal-ar
b4560 67 75 6d 65 6e 74 5d 20 61 6c 73 6f 20 72 75 6e 73 20 74 68 65 0a 74 65 73 74 73 20 77 69 74 68 gument].also.runs.the.tests.with
b4580 20 63 6f 76 65 72 61 67 65 20 69 6e 73 74 72 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 20 68 69 .coverage.instrumentation.and.hi
b45a0 67 68 6c 69 67 68 74 73 20 75 6e 63 6f 76 65 72 65 64 20 63 6f 64 65 0a 75 73 69 6e 67 20 60 66 ghlights.uncovered.code.using.`f
b45c0 6f 6e 74 2d 6c 6f 63 6b 2d 77 61 72 6e 69 6e 67 2d 66 61 63 65 27 2e 0a 0a 53 65 65 20 61 6c 73 ont-lock-warning-face'...See.als
b45e0 6f 3a 0a 2d 20 60 72 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 27 0a 2d 20 60 o:.-.`racket-fold-all-tests'.-.`
b4600 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 27 0a 22 0a 20 20 28 69 6e racket-unfold-all-tests'."...(in
b4620 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 6c 65 74 20 28 28 6d 6f 64 2d 70 61 74 68 teractive."P")...(let.((mod-path
b4640 20 28 6c 69 73 74 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 .(list.(racket--buffer-file-name
b4660 29 20 27 74 65 73 74 29 29 0a 20 20 20 20 20 20 20 20 28 62 75 66 20 28 63 75 72 72 65 6e 74 2d ).'test)).........(buf.(current-
b4680 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 3b 3b 20 4f 72 69 67 69 6e 61 6c 6c 79 20 74 68 69 73 buffer))).....;;.Originally.this
b46a0 20 66 75 6e 63 74 69 6f 6e 27 73 20 73 69 6e 67 6c 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 .function's.single.optional.argu
b46c0 6d 65 6e 74 20 77 61 73 20 61 0a 20 20 20 20 3b 3b 20 60 63 6f 76 65 72 61 67 65 2d 70 60 20 62 ment.was.a.....;;.`coverage-p`.b
b46e0 6f 6f 6c 65 61 6e 2e 20 46 6f 72 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 oolean..For.backward.compatibili
b4700 74 79 20 69 6e 20 63 61 73 65 20 61 6e 79 6f 6e 65 0a 20 20 20 20 3b 3b 20 68 61 73 20 45 6d 61 ty.in.case.anyone.....;;.has.Ema
b4720 63 73 20 4c 69 73 70 20 63 61 6c 6c 69 6e 67 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6e 6f cs.Lisp.calling.this.function.no
b4740 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 77 65 20 6b 65 65 70 0a 20 20 20 20 3b 3b 20 n-interactively,.we.keep.....;;.
b4760 73 75 70 70 6f 72 74 69 6e 67 20 74 20 61 6e 64 20 6e 69 6c 20 76 61 6c 75 65 73 2e 0a 20 20 20 supporting.t.and.nil.values.....
b4780 20 28 70 63 61 73 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 28 60 28 29 20 20 28 72 61 63 6b .(pcase.prefix.......(`()..(rack
b47a0 65 74 2d 2d 72 65 70 6c 2d 72 75 6e 20 6d 6f 64 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 28 60 et--repl-run.mod-path)).......(`
b47c0 28 34 29 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 72 75 6e 20 6d 6f 64 2d 70 61 74 68 20 6e (4).(racket--repl-run.mod-path.n
b47e0 69 6c 20 27 68 69 67 68 29 29 0a 20 20 20 20 20 20 28 28 6f 72 20 27 28 31 36 29 20 27 74 29 0a il.'high)).......((or.'(16).'t).
b4800 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 52 75 6e 6e 69 6e 67 20 74 65 73 74 20 73 75 .......(message."Running.test.su
b4820 62 6d 6f 64 75 6c 65 20 77 69 74 68 20 63 6f 76 65 72 61 67 65 20 69 6e 73 74 72 75 6d 65 6e 74 bmodule.with.coverage.instrument
b4840 61 74 69 6f 6e 2e 2e 2e 22 29 0a 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d ation...")........(racket--repl-
b4860 72 75 6e 0a 20 20 20 20 20 20 20 20 6d 6f 64 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 6e 69 6c run.........mod-path.........nil
b4880 0a 20 20 20 20 20 20 20 20 27 63 6f 76 65 72 61 67 65 0a 20 20 20 20 20 20 20 20 28 6c 61 6d 62 .........'coverage.........(lamb
b48a0 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 47 65 74 74 69 6e da.()...........(message."Gettin
b48c0 67 20 63 6f 76 65 72 61 67 65 20 72 65 73 75 6c 74 73 2e 2e 2e 22 29 0a 20 20 20 20 20 20 20 20 g.coverage.results...").........
b48e0 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 0a 20 20 20 20 20 20 20 20 20 20 20 ..(racket--cmd/async............
b4900 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 20 20 20 20 (racket--repl-session-id).......
b4920 20 20 20 20 20 60 28 67 65 74 2d 75 6e 63 6f 76 65 72 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 .....`(get-uncovered)...........
b4940 20 28 6c 61 6d 62 64 61 20 28 78 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 .(lambda.(xs)..............(pcas
b4960 65 20 78 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 29 20 28 6d 65 73 73 61 67 e.xs................(`().(messag
b4980 65 20 22 46 75 6c 6c 20 63 6f 76 65 72 61 67 65 2e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 e."Full.coverage."))............
b49a0 20 20 20 20 28 28 61 6e 64 20 78 73 20 60 28 28 2c 62 65 67 30 20 2e 20 2c 5f 29 20 2e 20 2c 5f ....((and.xs.`((,beg0...,_)...,_
b49c0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4d 69 73 )).................(message."Mis
b49e0 73 69 6e 67 20 63 6f 76 65 72 61 67 65 20 69 6e 20 25 73 20 70 6c 61 63 65 28 73 29 2e 22 20 28 sing.coverage.in.%s.place(s).".(
b4a00 6c 65 6e 67 74 68 20 78 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 length.xs)).................(wit
b4a20 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 20 20 20 20 20 20 20 h-current-buffer.buf............
b4a40 20 20 20 20 20 20 20 28 77 69 74 68 2d 73 69 6c 65 6e 74 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e .......(with-silent-modification
b4a60 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 72 s.....................(overlay-r
b4a80 65 63 65 6e 74 65 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ecenter.(point-max))............
b4aa0 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 78 20 78 73 29 0a 20 20 20 20 20 20 20 20 .........(dolist.(x.xs).........
b4ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 20 28 6d 61 6b 65 2d 6f 76 65 ..............(let.((o.(make-ove
b4ae0 72 6c 61 79 20 28 63 61 72 20 78 29 20 28 63 64 72 20 78 29 20 62 75 66 29 29 29 0a 20 20 20 20 rlay.(car.x).(cdr.x).buf))).....
b4b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 ....................(overlay-put
b4b20 20 6f 20 27 6e 61 6d 65 20 27 72 61 63 6b 65 74 2d 75 6e 63 6f 76 65 72 65 64 2d 6f 76 65 72 6c .o.'name.'racket-uncovered-overl
b4b40 61 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 76 65 ay).........................(ove
b4b60 72 6c 61 79 2d 70 75 74 20 6f 20 27 70 72 69 6f 72 69 74 79 20 31 30 30 29 0a 20 20 20 20 20 20 rlay-put.o.'priority.100).......
b4b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f ..................(overlay-put.o
b4ba0 20 27 66 61 63 65 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 77 61 72 6e 69 6e 67 2d 66 61 63 65 29 29 29 .'face.font-lock-warning-face)))
b4bc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 .....................(goto-char.
b4be0 62 65 67 30 29 29 29 29 29 29 29 29 29 29 29 29 29 0a 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 beg0)))))))))))))..(add-hook.'ra
b4c00 63 6b 65 74 2d 2d 72 65 70 6c 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 20 23 27 72 61 63 cket--repl-before-run-hook.#'rac
b4c20 6b 65 74 2d 2d 72 65 6d 6f 76 65 2d 63 6f 76 65 72 61 67 65 2d 6f 76 65 72 6c 61 79 73 29 0a 0a ket--remove-coverage-overlays)..
b4c40 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 6d 6f 76 65 2d 63 6f 76 65 72 61 67 65 2d 6f (defun.racket--remove-coverage-o
b4c60 76 65 72 6c 61 79 73 20 28 29 0a 20 20 28 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20 28 70 verlays.()...(remove-overlays.(p
b4c80 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 27 6e 61 6d 65 20 27 72 61 63 oint-min).(point-max).'name.'rac
b4ca0 6b 65 74 2d 75 6e 63 6f 76 65 72 65 64 2d 6f 76 65 72 6c 61 79 29 29 0a 0a 28 64 65 66 76 61 72 ket-uncovered-overlay))..(defvar
b4cc0 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 75 73 65 72 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d -local.racket-user-command-line-
b4ce0 61 72 67 75 6d 65 6e 74 73 0a 20 20 6e 69 6c 0a 20 20 22 4c 69 73 74 20 6f 66 20 63 6f 6d 6d 61 arguments...nil..."List.of.comma
b4d00 6e 64 2d 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 73 75 70 70 6c 79 20 74 6f 20 79 nd-line.arguments.to.supply.to.y
b4d20 6f 75 72 20 52 61 63 6b 65 74 20 70 72 6f 67 72 61 6d 2e 0a 0a 41 63 63 65 73 73 69 62 6c 65 20 our.Racket.program...Accessible.
b4d40 69 6e 20 79 6f 75 72 20 52 61 63 6b 65 74 20 70 72 6f 67 72 61 6d 20 69 6e 20 74 68 65 20 75 73 in.your.Racket.program.in.the.us
b4d60 75 61 6c 20 77 61 79 20 2d 2d 2d 20 74 68 65 0a 70 61 72 61 6d 65 74 65 72 20 60 63 75 72 72 65 ual.way.---.the.parameter.`curre
b4d80 6e 74 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 60 20 61 6e 64 20 66 nt-command-line-arguments`.and.f
b4da0 72 69 65 6e 64 73 2e 0a 0a 54 68 69 73 20 69 73 20 61 6e 20 45 6d 61 63 73 20 62 75 66 66 65 72 riends...This.is.an.Emacs.buffer
b4dc0 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 2d 2d 2d 20 63 6f 6e 76 65 6e 69 65 6e 74 20 74 -local.variable.---.convenient.t
b4de0 6f 20 73 65 74 20 61 73 20 61 0a 66 69 6c 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 2e 20 o.set.as.a.file.local.variable..
b4e00 46 6f 72 20 65 78 61 6d 70 6c 65 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 79 6f 75 72 20 2e For.example.at.the.end.of.your..
b4e20 72 6b 74 20 66 69 6c 65 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 65 6c 69 73 70 0a 20 20 20 rkt.file:..#+BEGIN_SRC.elisp....
b4e40 20 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 20 20 20 20 3b 3b 20 72 61 63 6b .;;.Local.Variables:.....;;.rack
b4e60 65 74 2d 75 73 65 72 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 3a 20 et-user-command-line-arguments:.
b4e80 28 5c 22 2d 66 5c 22 20 5c 22 62 61 72 5c 22 29 0a 20 20 20 20 3b 3b 20 45 6e 64 3a 0a 23 2b 45 (\"-f\".\"bar\").....;;.End:.#+E
b4ea0 4e 44 5f 53 52 43 0a 0a 53 65 74 20 74 68 69 73 20 77 61 79 2c 20 74 68 65 20 76 61 6c 75 65 20 ND_SRC..Set.this.way,.the.value.
b4ec0 6d 75 73 74 20 62 65 20 61 6e 20 2a 75 6e 71 75 6f 74 65 64 2a 20 6c 69 73 74 20 6f 66 20 73 74 must.be.an.*unquoted*.list.of.st
b4ee0 72 69 6e 67 73 2e 0a 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 rings..For.example:..#+BEGIN_SRC
b4f00 20 65 6c 69 73 70 0a 20 20 20 20 28 5c 22 2d 66 5c 22 20 5c 22 62 61 72 5c 22 29 0a 23 2b 45 4e .elisp.....(\"-f\".\"bar\").#+EN
b4f20 44 5f 53 52 43 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 20 77 69 6c 6c D_SRC..The.following.values.will
b4f40 20 2f 6e 6f 74 2f 20 77 6f 72 6b 3a 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 65 6c 69 73 70 0a ./not/.work:..#+BEGIN_SRC.elisp.
b4f60 20 20 20 20 5c 5c 3d 27 28 5c 22 2d 66 5c 22 20 5c 22 62 61 72 5c 22 29 0a 20 20 20 20 28 6c 69 ....\\='(\"-f\".\"bar\").....(li
b4f80 73 74 20 5c 22 2d 66 5c 22 20 5c 22 62 61 72 5c 22 29 0a 23 2b 45 4e 44 5f 53 52 43 0a 22 29 0a st.\"-f\".\"bar\").#+END_SRC.").
b4fa0 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 62 65 66 6f 72 65 2d 72 75 6e .(defvar.racket--repl-before-run
b4fc0 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 54 68 75 6e 6b 73 20 74 6f 20 64 6f 20 62 65 66 6f 72 65 -hook.nil..."Thunks.to.do.before
b4fe0 20 65 61 63 68 20 60 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 72 75 6e 27 2e 0a 0a 48 65 72 65 20 .each.`racket--repl-run'...Here.
b5000 5c 22 62 65 66 6f 72 65 5c 22 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 60 72 61 63 6b 65 \"before\".means.that.the.`racke
b5020 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 20 6d 69 67 68 74 20 6e 6f 74 0a 65 78 t-repl-mode'.buffer.might.not.ex
b5040 69 73 74 20 79 65 74 2e 0a 0a 54 68 69 73 20 68 6f 6f 6b 20 69 73 20 66 6f 72 20 69 6e 74 65 72 ist.yet...This.hook.is.for.inter
b5060 6e 61 6c 20 75 73 65 20 62 79 20 52 61 63 6b 65 74 20 4d 6f 64 65 2e 20 41 6e 20 65 71 75 69 76 nal.use.by.Racket.Mode..An.equiv
b5080 61 6c 65 6e 74 20 68 6f 6f 6b 0a 66 6f 72 20 65 6e 64 20 75 73 65 72 20 63 75 73 74 6f 6d 69 7a alent.hook.for.end.user.customiz
b50a0 61 74 69 6f 6e 20 69 73 20 60 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b ation.is.`racket-before-run-hook
b50c0 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 61 66 74 65 72 '.")..(defvar.racket--repl-after
b50e0 2d 72 75 6e 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 54 68 75 6e 6b 73 20 74 6f 20 64 6f 20 61 66 -run-hook.nil..."Thunks.to.do.af
b5100 74 65 72 20 65 61 63 68 20 60 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 72 75 6e 27 2e 0a 0a 54 68 ter.each.`racket--repl-run'...Th
b5120 69 73 20 68 6f 6f 6b 20 69 73 20 66 6f 72 20 69 6e 74 65 72 6e 61 6c 20 75 73 65 20 62 79 20 52 is.hook.is.for.internal.use.by.R
b5140 61 63 6b 65 74 20 4d 6f 64 65 2e 20 41 6e 20 65 71 75 69 76 61 6c 65 6e 74 20 68 6f 6f 6b 0a 66 acket.Mode..An.equivalent.hook.f
b5160 6f 72 20 65 6e 64 20 75 73 65 72 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 69 73 20 60 72 61 or.end.user.customization.is.`ra
b5180 63 6b 65 74 2d 61 66 74 65 72 2d 72 75 6e 2d 68 6f 6f 6b 27 2e 0a 0a 48 65 72 65 20 5c 22 61 66 cket-after-run-hook'...Here.\"af
b51a0 74 65 72 5c 22 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 72 75 6e 20 68 61 73 20 63 6f 6d ter\".means.that.the.run.has.com
b51c0 70 6c 65 74 65 64 20 61 6e 64 20 65 2e 67 2e 20 74 68 65 20 52 45 50 4c 0a 69 73 20 77 61 69 74 pleted.and.e.g..the.REPL.is.wait
b51e0 69 6e 67 20 61 74 20 61 6e 6f 74 68 65 72 20 70 72 6f 6d 70 74 2e 22 29 0a 0a 3b 3b 20 44 6f 6e ing.at.another.prompt.")..;;.Don
b5200 27 74 20 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 29 2e 20 't.(require.'racket-hash-lang)..
b5220 4d 75 74 75 61 6c 20 64 65 70 65 6e 64 65 6e 63 79 2e 20 49 6e 73 74 65 61 64 3a 0a 28 64 65 63 Mutual.dependency..Instead:.(dec
b5240 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 2d 63 6f 6e 66 69 67 75 72 65 2d lare-function.racket--configure-
b5260 72 65 70 6c 2d 62 75 66 66 65 72 2d 66 72 6f 6d 2d 65 64 69 74 2d 62 75 66 66 65 72 20 22 72 61 repl-buffer-from-edit-buffer."ra
b5280 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 22 20 28 65 64 69 74 2d 62 75 66 20 72 65 70 6c 2d 62 cket-hash-lang".(edit-buf.repl-b
b52a0 75 66 29 29 0a 28 61 75 74 6f 6c 6f 61 64 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 2d 63 uf)).(autoload........'racket--c
b52c0 6f 6e 66 69 67 75 72 65 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 66 72 6f 6d 2d 65 64 69 74 2d 62 onfigure-repl-buffer-from-edit-b
b52e0 75 66 66 65 72 20 22 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 22 29 0a 0a 28 64 65 66 75 uffer."racket-hash-lang")..(defu
b5300 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 72 75 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 77 68 n.racket--repl-run.(&optional.wh
b5320 61 74 20 65 78 74 72 61 2d 73 75 62 6d 6f 64 73 20 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c 20 63 at.extra-submods.context-level.c
b5340 61 6c 6c 62 61 63 6b 29 0a 20 20 22 44 6f 20 61 6e 20 69 6e 69 74 69 61 6c 20 6f 72 20 73 75 62 allback)..."Do.an.initial.or.sub
b5360 73 65 71 75 65 6e 74 20 72 75 6e 2e 0a 0a 57 48 41 54 20 6d 75 73 74 20 62 65 20 60 72 61 63 6b sequent.run...WHAT.must.be.`rack
b5380 65 74 2d 2d 77 68 61 74 2d 74 6f 2d 72 75 6e 2d 70 27 2c 20 77 68 65 72 65 20 6e 69 6c 20 64 65 et--what-to-run-p',.where.nil.de
b53a0 66 61 75 6c 74 73 20 74 6f 0a 60 72 61 63 6b 65 74 2d 2d 77 68 61 74 2d 74 6f 2d 72 75 6e 27 2e faults.to.`racket--what-to-run'.
b53c0 0a 0a 45 58 54 52 41 2d 53 55 42 4d 4f 44 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 ..EXTRA-SUBMODS.should.be.a.list
b53e0 20 6f 66 20 73 79 6d 62 6f 6c 73 2c 20 6e 61 6d 65 73 20 6f 66 20 65 78 74 72 61 0a 73 75 62 6d .of.symbols,.names.of.extra.subm
b5400 6f 64 75 6c 65 73 20 74 6f 20 72 75 6e 2c 20 65 2e 67 2e 20 28 74 65 73 74 20 6d 61 69 6e 29 2e odules.to.run,.e.g..(test.main).
b5420 20 54 68 69 73 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 75 73 65 20 62 79 0a 60 72 61 .This.is.intended.for.use.by.`ra
b5440 63 6b 65 74 2d 72 75 6e 27 2c 20 77 68 69 63 68 20 6d 6f 72 65 20 63 6c 6f 73 65 6c 79 20 65 6d cket-run',.which.more.closely.em
b5460 75 6c 61 74 65 73 20 44 72 52 61 63 6b 65 74 2c 20 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 0a 60 ulates.DrRacket,.as.opposed.to.`
b5480 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 27 2e 0a 0a 43 4f racket-run-module-at-point'...CO
b54a0 4e 54 45 58 54 2d 4c 45 56 45 4c 20 73 68 6f 75 6c 64 20 62 65 20 61 20 76 61 6c 69 64 20 76 61 NTEXT-LEVEL.should.be.a.valid.va
b54c0 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 60 72 61 63 6b 65 74 2d 65 72 72 lue.for.the.variable.`racket-err
b54e0 6f 72 2d 63 6f 6e 74 65 78 74 27 2c 20 5c 22 63 6f 76 65 72 61 67 65 5c 22 2c 20 6f 72 20 5c 22 or-context',.\"coverage\",.or.\"
b5500 70 72 6f 66 69 6c 65 5c 22 2e 20 4f 72 20 69 66 20 6e 69 6c 2c 0a 64 65 66 61 75 6c 74 73 20 74 profile\"..Or.if.nil,.defaults.t
b5520 6f 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e o.the.variable.`racket-error-con
b5540 74 65 78 74 27 2e 0a 0a 43 41 4c 4c 42 41 43 4b 20 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 text'...CALLBACK.is.used.as.the.
b5560 63 61 6c 6c 62 61 63 6b 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 27 callback.for.`racket--cmd/async'
b5580 3b 20 69 74 20 6d 61 79 0a 62 65 20 6e 69 6c 20 77 68 69 63 68 20 69 73 20 65 71 75 69 76 61 6c ;.it.may.be.nil.which.is.equival
b55a0 65 6e 74 20 74 6f 20 23 5c 5c 3d 27 69 67 6e 6f 72 65 2e 22 0a 20 20 28 72 61 63 6b 65 74 2d 2d ent.to.#\\='ignore."...(racket--
b55c0 61 73 73 65 72 74 2d 65 64 69 74 2d 6d 6f 64 65 29 0a 20 20 3b 3b 20 53 75 70 70 6f 72 74 20 72 assert-edit-mode)...;;.Support.r
b55e0 75 6e 6e 69 6e 67 20 62 75 66 66 65 72 73 20 63 72 65 61 74 65 64 20 62 79 20 60 6f 72 67 2d 65 unning.buffers.created.by.`org-e
b5600 64 69 74 2d 73 72 63 2d 63 6f 64 65 27 3a 20 73 65 65 0a 20 20 3b 3b 20 69 73 73 75 65 73 20 23 dit-src-code':.see...;;.issues.#
b5620 36 32 36 2c 20 23 36 33 30 2e 0a 20 20 28 77 68 65 6e 20 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 626,.#630....(when.(bound-and-tr
b5640 75 65 2d 70 20 6f 72 67 2d 73 72 63 2d 6d 6f 64 65 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 62 ue-p.org-src-mode).....(unless.b
b5660 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 3b 3b 20 47 69 76 65 20 74 68 uffer-file-name.......;;.Give.th
b5680 65 20 62 75 66 66 65 72 20 61 20 74 65 6d 70 20 66 69 6c 65 20 77 65 20 63 61 6e 20 72 75 6e 2e e.buffer.a.temp.file.we.can.run.
b56a0 20 54 68 65 20 63 6f 72 72 65 63 74 20 74 68 69 6e 67 20 74 6f 0a 20 20 20 20 20 20 3b 3b 20 75 .The.correct.thing.to.......;;.u
b56c0 73 65 20 69 73 20 60 73 65 74 2d 76 69 73 69 74 65 64 2d 66 69 6c 65 2d 6e 61 6d 65 27 2c 20 77 se.is.`set-visited-file-name',.w
b56e0 68 69 63 68 20 68 61 6e 64 6c 65 73 20 6d 61 6e 79 20 74 68 69 6e 67 73 0a 20 20 20 20 20 20 3b hich.handles.many.things.......;
b5700 3b 20 62 65 73 69 64 65 73 20 73 65 74 74 69 6e 67 20 60 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e ;.besides.setting.`buffer-file-n
b5720 61 6d 65 27 2e 20 53 6f 6d 65 20 77 65 20 77 61 6e 74 2c 20 65 2e 67 2e 0a 20 20 20 20 20 20 3b ame'..Some.we.want,.e.g........;
b5740 3b 20 73 65 74 74 69 6e 67 20 74 68 65 20 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 20 66 6c ;.setting.the.buffer-modified.fl
b5760 61 67 2e 20 53 6f 6d 65 20 77 65 20 64 6f 6e 27 74 2c 20 65 2e 67 2e 0a 20 20 20 20 20 20 3b 3b ag..Some.we.don't,.e.g........;;
b5780 20 72 65 6e 61 6d 69 6e 67 20 74 68 65 20 62 75 66 66 65 72 2c 20 77 68 69 63 68 20 77 65 20 72 .renaming.the.buffer,.which.we.r
b57a0 65 6e 61 6d 65 20 62 61 63 6b 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 20 20 20 20 20 ename.back.to.the.original......
b57c0 20 3b 3b 20 62 65 63 61 75 73 65 20 6f 72 67 2d 73 72 63 20 64 6f 65 73 20 74 68 69 6e 67 73 20 .;;.because.org-src.does.things.
b57e0 77 69 74 68 20 72 65 67 65 78 70 73 20 6f 6e 20 74 68 65 73 65 20 62 75 66 66 65 72 0a 20 20 20 with.regexps.on.these.buffer....
b5800 20 20 20 3b 3b 20 6e 61 6d 65 73 2e 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 72 69 67 2d 62 ...;;.names........(let.((orig-b
b5820 75 66 66 65 72 2d 6e 61 6d 65 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 uffer-name.(buffer-name)))......
b5840 20 20 20 28 73 65 74 2d 76 69 73 69 74 65 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 6d 61 6b 65 2d ...(set-visited-file-name.(make-
b5860 74 65 6d 70 2d 66 69 6c 65 20 22 72 61 63 6b 65 74 2d 6f 72 67 2d 65 64 69 74 2d 22 20 6e 69 6c temp-file."racket-org-edit-".nil
b5880 20 22 2e 72 6b 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 72 65 6e 61 6d 65 2d 62 75 66 66 65 72 .".rkt")).........(rename-buffer
b58a0 20 6f 72 69 67 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 .orig-buffer-name)).......(setq.
b58c0 77 68 61 74 20 28 6c 69 73 74 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d what.(list.(racket--buffer-file-
b58e0 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 6f 72 67 2d 73 72 63 20 61 64 64 73 20 74 6f name))).......;;.org-src.adds.to
b5900 20 60 77 72 69 74 65 2d 63 6f 6e 74 65 6e 74 73 2d 66 75 6e 63 74 69 6f 6e 73 27 20 61 20 68 6f .`write-contents-functions'.a.ho
b5920 6f 6b 20 74 68 61 74 0a 20 20 20 20 20 20 3b 3b 20 70 72 65 76 65 6e 74 73 20 60 73 61 76 65 2d ok.that.......;;.prevents.`save-
b5940 62 75 66 66 65 72 27 20 61 63 74 75 61 6c 6c 79 20 77 72 69 74 69 6e 67 20 74 6f 20 66 69 6c 65 buffer'.actually.writing.to.file
b5960 3b 20 69 6e 73 74 65 61 64 20 69 74 0a 20 20 20 20 20 20 3b 3b 20 63 6f 70 69 65 73 20 63 6f 6e ;.instead.it.......;;.copies.con
b5980 74 65 6e 74 73 20 62 61 63 6b 20 74 6f 20 74 68 65 20 6d 61 69 6e 20 6f 72 67 20 62 75 66 66 65 tents.back.to.the.main.org.buffe
b59a0 72 2e 20 41 63 63 6f 6d 6d 6f 64 61 74 65 20 74 68 61 74 0a 20 20 20 20 20 20 3b 3b 20 62 79 20 r..Accommodate.that.......;;.by.
b59c0 70 72 65 70 65 6e 64 69 6e 67 20 6f 75 72 20 6f 77 6e 20 68 6f 6f 6b 2c 20 77 68 69 63 68 20 61 prepending.our.own.hook,.which.a
b59e0 63 74 75 61 6c 6c 79 20 77 72 69 74 65 73 20 74 6f 20 66 69 6c 65 2e 20 49 74 0a 20 20 20 20 20 ctually.writes.to.file..It......
b5a00 20 3b 3b 20 72 65 74 75 72 6e 73 20 6e 69 6c 20 74 6f 20 6d 65 61 6e 20 6f 74 68 65 72 20 68 6f .;;.returns.nil.to.mean.other.ho
b5a20 6f 6b 73 20 73 68 6f 75 6c 64 20 73 74 69 6c 6c 20 62 65 20 72 75 6e 2c 20 73 6f 20 74 68 69 73 oks.should.still.be.run,.so.this
b5a40 0a 20 20 20 20 20 20 3b 3b 20 64 6f 65 73 6e 27 74 20 69 6e 74 65 72 66 65 72 65 20 77 69 74 68 .......;;.doesn't.interfere.with
b5a60 20 6f 72 67 27 73 20 68 6f 6f 6b 2e 0a 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 77 72 .org's.hook........(add-hook.'wr
b5a80 69 74 65 2d 63 6f 6e 74 65 6e 74 73 2d 66 75 6e 63 74 69 6f 6e 73 20 23 27 72 61 63 6b 65 74 2d ite-contents-functions.#'racket-
b5aa0 2d 77 72 69 74 65 2d 63 6f 6e 74 65 6e 74 73 20 6e 69 6c 20 74 29 29 29 0a 20 20 3b 3b 20 53 61 -write-contents.nil.t)))...;;.Sa
b5ac0 76 65 20 62 75 66 66 65 72 20 61 6e 64 20 76 61 6c 69 64 61 74 65 20 57 48 41 54 20 74 6f 20 72 ve.buffer.and.validate.WHAT.to.r
b5ae0 75 6e 2e 0a 20 20 28 75 6e 6c 65 73 73 20 28 70 72 6f 67 6e 20 28 72 61 63 6b 65 74 2d 2d 73 61 un....(unless.(progn.(racket--sa
b5b00 76 65 2d 69 66 2d 63 68 61 6e 67 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ve-if-changed)..................
b5b20 28 72 61 63 6b 65 74 2d 2d 77 68 61 74 2d 74 6f 2d 72 75 6e 2d 70 20 77 68 61 74 29 29 0a 20 20 (racket--what-to-run-p.what))...
b5b40 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 60 ..(signal.'wrong-type-argument.`
b5b60 28 72 61 63 6b 65 74 2d 2d 77 68 61 74 2d 74 6f 2d 72 75 6e 2d 70 20 2c 77 68 61 74 29 29 29 0a (racket--what-to-run-p.,what))).
b5b80 20 20 3b 3b 20 48 61 6e 64 6c 65 20 74 68 65 20 72 65 73 74 61 72 74 2d 77 61 74 63 68 2d 64 69 ..;;.Handle.the.restart-watch-di
b5ba0 72 65 63 74 6f 72 69 65 73 20 66 65 61 74 75 72 65 3b 20 23 36 30 32 0a 20 20 28 77 68 65 6e 2d rectories.feature;.#602...(when-
b5bc0 6c 65 74 20 28 63 68 61 6e 67 65 73 20 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 77 let.(changes.(racket--back-end-w
b5be0 61 74 63 68 2d 72 65 61 64 2f 72 65 73 65 74 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 79 2d 6f atch-read/reset)).....(when.(y-o
b5c00 72 2d 6e 2d 70 20 28 66 6f 72 6d 61 74 20 22 43 68 61 6e 67 65 64 3a 20 25 53 20 2d 2d 20 72 65 r-n-p.(format."Changed:.%S.--.re
b5c20 73 74 61 72 74 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 62 61 63 6b 20 65 6e 64 20 25 53 3f 20 22 start.Racket.Mode.back.end.%S?."
b5c40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 .............................cha
b5c60 6e 67 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nges............................
b5c80 20 28 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 .(racket-back-end-name))).......
b5ca0 28 6d 65 73 73 61 67 65 20 22 22 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 73 74 61 72 74 (message."").......(racket-start
b5cc0 2d 62 61 63 6b 2d 65 6e 64 29 29 29 0a 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 0a 20 20 20 20 -back-end)))....(pcase-let*.....
b5ce0 20 20 28 28 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c 20 28 6f 72 20 63 6f 6e 74 65 78 74 2d 6c 65 ..((context-level.(or.context-le
b5d00 76 65 6c 20 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 29 29 0a 20 20 20 20 20 vel.racket-error-context))......
b5d20 20 20 28 77 68 61 74 20 28 6f 72 20 77 68 61 74 20 28 72 61 63 6b 65 74 2d 2d 77 68 61 74 2d 74 ..(what.(or.what.(racket--what-t
b5d40 6f 2d 72 75 6e 29 29 29 0a 20 20 20 20 20 20 20 28 60 28 2c 77 68 61 74 20 2c 64 65 62 75 67 2d o-run)))........(`(,what.,debug-
b5d60 66 69 6c 65 73 29 0a 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 77 68 61 74 0a 20 20 20 20 20 files).........(pcase.what......
b5d80 20 20 20 20 20 28 60 28 2c 66 69 6c 65 20 2e 20 2c 73 75 62 73 29 0a 20 20 20 20 20 20 20 20 20 .....(`(,file...,subs)..........
b5da0 20 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d ..(list.(cons.(racket-file-name-
b5dc0 66 72 6f 6e 74 2d 74 6f 2d 62 61 63 6b 20 66 69 6c 65 29 20 73 75 62 73 29 0a 20 20 20 20 20 20 front-to-back.file).subs).......
b5de0 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 63 6f 6e 74 65 78 74 2d 6c 65 76 ...........(when.(eq.context-lev
b5e00 65 6c 20 27 64 65 62 75 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 el.'debug)....................(r
b5e20 61 63 6b 65 74 2d 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 20 66 69 6c 65 29 29 29 29 acket--debuggable-files.file))))
b5e40 0a 20 20 20 20 20 20 20 20 20 20 28 60 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 ...........(`()............(list
b5e60 20 6e 69 6c 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 28 63 6d 64 20 28 6c 69 73 74 20 27 .nil.nil))))........(cmd.(list.'
b5e80 72 75 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 61 74 0a 20 20 20 20 20 run...................what......
b5ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 74 72 61 2d 73 75 62 6d 6f 64 73 0a 20 20 20 20 20 .............extra-submods......
b5ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 .............racket-memory-limit
b5ee0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 ...................racket-pretty
b5f00 2d 70 72 69 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 6e 64 6f 77 -print...................(window
b5f20 2d 77 69 64 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 -width)...................(racke
b5f40 74 2d 2d 63 68 61 72 2d 70 69 78 65 6c 2d 77 69 64 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 t--char-pixel-width)............
b5f60 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 2d 6c 65 76 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 .......context-level............
b5f80 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 75 73 65 72 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d .......racket-user-command-line-
b5fa0 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 62 75 arguments...................debu
b5fc0 67 2d 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 28 65 64 69 74 2d 62 75 66 66 65 72 20 28 63 g-files))........(edit-buffer.(c
b5fe0 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 28 61 66 74 65 72 20 28 6c urrent-buffer))........(after.(l
b6000 61 6d 62 64 61 20 28 5f 69 67 6e 6f 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ambda.(_ignore).................
b6020 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 64 69 74 2d 62 75 66 66 65 72 (with-current-buffer.edit-buffer
b6040 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 72 ...................(run-hooks.'r
b6060 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 61 66 74 65 72 2d 72 75 6e 2d 68 6f 6f 6b 0a 20 20 20 20 20 acket--repl-after-run-hook......
b6080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d ........................'racket-
b60a0 61 66 74 65 72 2d 72 75 6e 2d 68 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 after-run-hook).................
b60c0 20 20 28 77 68 65 6e 20 63 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(when.callback................
b60e0 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 61 6c 6c 62 61 63 6b 29 29 29 29 29 29 0a 20 20 20 .....(funcall.callback))))))....
b6100 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 65 6e 73 75 72 65 2d 62 75 66 66 65 72 2d 61 6e 64 .(racket--repl-ensure-buffer-and
b6120 2d 73 65 73 73 69 6f 6e 0a 20 20 20 20 20 65 64 69 74 2d 62 75 66 66 65 72 0a 20 20 20 20 20 28 -session......edit-buffer......(
b6140 6c 61 6d 62 64 61 20 28 5f 72 65 70 6c 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 28 77 69 lambda.(_repl-buffer)........(wi
b6160 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 64 69 74 2d 62 75 66 66 65 72 0a 20 20 th-current-buffer.edit-buffer...
b6180 20 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d .......(run-hooks.'racket--repl-
b61a0 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 before-run-hook.................
b61c0 20 20 20 20 27 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 29 29 0a 20 20 ....'racket-before-run-hook))...
b61e0 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 20 28 72 61 63 6b 65 74 2d .....(racket--cmd/async.(racket-
b6200 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 20 63 6d 64 20 61 66 74 65 72 29 29 29 29 29 -repl-session-id).cmd.after)))))
b6220 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 77 72 69 74 65 2d 63 6f 6e 74 65 6e 74 73 20 ..(defun.racket--write-contents.
b6240 28 29 0a 20 20 28 77 72 69 74 65 2d 72 65 67 69 6f 6e 20 6e 69 6c 20 6e 69 6c 20 62 75 66 66 65 ()...(write-region.nil.nil.buffe
b6260 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b r-file-name)...nil)..(defun.rack
b6280 65 74 2d 2d 63 68 61 72 2d 70 69 78 65 6c 2d 77 69 64 74 68 20 28 29 0a 20 20 28 77 69 74 68 2d et--char-pixel-width.()...(with-
b62a0 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 69 6e 73 65 72 74 20 22 4d 22 29 0a 20 20 20 temp-buffer.....(insert."M")....
b62c0 20 28 73 61 76 65 2d 77 69 6e 64 6f 77 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 28 73 .(save-window-excursion.......(s
b62e0 65 74 2d 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 20 6e 69 6c 20 28 63 75 72 72 65 6e 74 2d 62 75 et-window-buffer.nil.(current-bu
b6300 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 63 61 72 20 28 77 69 6e 64 6f 77 2d 74 65 78 74 2d 70 ffer)).......(car.(window-text-p
b6320 69 78 65 6c 2d 73 69 7a 65 20 6e 69 6c 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 70 6f ixel-size.nil.(line-beginning-po
b6340 73 69 74 69 6f 6e 29 20 28 70 6f 69 6e 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 sition).(point))))))..(defun.rac
b6360 6b 65 74 2d 2d 72 65 70 6c 2d 65 6e 73 75 72 65 2d 62 75 66 66 65 72 2d 61 6e 64 2d 73 65 73 73 ket--repl-ensure-buffer-and-sess
b6380 69 6f 6e 20 28 65 64 69 74 2d 62 75 66 66 65 72 20 63 6f 6e 74 69 6e 75 65 29 0a 20 20 22 45 6e ion.(edit-buffer.continue)..."En
b63a0 73 75 72 65 20 61 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 sure.a.`racket-repl-mode'.buffer
b63c0 20 65 78 69 73 74 73 20 77 69 74 68 20 61 20 6c 69 76 65 20 73 65 73 73 69 6f 6e 2e 0a 0a 43 72 .exists.with.a.live.session...Cr
b63e0 65 61 74 65 20 74 68 65 20 62 75 66 66 65 72 20 69 66 20 6e 65 63 65 73 73 61 72 79 2c 20 65 6e eate.the.buffer.if.necessary,.en
b6400 61 62 6c 69 6e 67 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 2e 0a 0a 53 74 61 72 abling.`racket-repl-mode'...Star
b6420 74 20 74 68 65 20 73 65 73 73 69 6f 6e 20 69 66 20 6e 65 63 65 73 73 61 72 79 2e 0a 0a 57 68 65 t.the.session.if.necessary...Whe
b6440 6e 20 45 44 49 54 2d 42 55 46 46 45 52 20 69 73 20 6e 6f 74 20 6e 69 6c 2c 20 75 73 65 20 69 74 n.EDIT-BUFFER.is.not.nil,.use.it
b6460 20 74 6f 20 63 61 6c 6c 0a 60 72 61 63 6b 65 74 2d 2d 63 6f 6e 66 69 67 75 72 65 2d 72 65 70 6c .to.call.`racket--configure-repl
b6480 2d 62 75 66 66 65 72 2d 66 72 6f 6d 2d 65 64 69 74 2d 62 75 66 66 65 72 27 20 61 66 74 65 72 20 -buffer-from-edit-buffer'.after.
b64a0 74 68 65 20 72 65 70 6c 0a 62 75 66 66 65 72 20 69 73 20 66 75 6c 6c 79 20 69 6e 69 74 69 61 6c the.repl.buffer.is.fully.initial
b64c0 69 7a 65 64 20 28 61 6e 64 20 69 66 20 74 68 65 20 72 65 70 6c 20 73 65 73 73 69 6f 6e 20 69 73 ized.(and.if.the.repl.session.is
b64e0 6e 27 74 0a 73 74 61 72 74 65 64 2c 20 62 65 66 6f 72 65 20 73 74 61 72 74 69 6e 67 20 69 74 29 n't.started,.before.starting.it)
b6500 2e 0a 0a 43 61 6c 6c 73 20 43 4f 4e 54 49 4e 55 45 20 77 69 74 68 20 6f 6e 65 20 61 72 67 75 6d ...Calls.CONTINUE.with.one.argum
b6520 65 6e 74 2c 20 74 68 65 20 72 65 70 6c 20 62 75 66 66 65 72 2e 0a 0a 54 68 69 73 20 64 69 73 70 ent,.the.repl.buffer...This.disp
b6540 6c 61 79 73 20 74 68 65 20 62 75 66 66 65 72 20 62 75 74 20 64 6f 65 73 20 6e 6f 74 20 63 68 61 lays.the.buffer.but.does.not.cha
b6560 6e 67 65 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 6c 65 74 nge.the.selected.window."...(let
b6580 20 28 28 72 65 70 6c 2d 62 75 66 20 28 6f 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 72 61 63 6b .((repl-buf.(or.(get-buffer.rack
b65a0 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 et-repl-buffer-name)............
b65c0 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 ...........(with-current-buffer.
b65e0 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 (get-buffer-create.racket-repl-b
b6600 75 66 66 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uffer-name).....................
b6620 20 20 20 20 28 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 ....(racket-repl-mode)..........
b6640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 62 ...............(add-hook.'kill-b
b6660 75 66 66 65 72 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 78 69 74 20 6e 69 uffer-hook.#'racket-repl-exit.ni
b6680 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 l.t).........................(cu
b66a0 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 0a 20 20 20 20 28 64 69 73 70 6c 61 79 2d 62 rrent-buffer))))).....(display-b
b66c0 75 66 66 65 72 20 72 65 70 6c 2d 62 75 66 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e uffer.repl-buf).....(with-curren
b66e0 74 2d 62 75 66 66 65 72 20 72 65 70 6c 2d 62 75 66 0a 20 20 20 20 20 20 28 69 66 20 72 61 63 6b t-buffer.repl-buf.......(if.rack
b6700 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 28 70 et--repl-session-id...........(p
b6720 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 65 64 69 74 2d 62 75 66 66 rogn.............(when.edit-buff
b6740 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6f 6e 66 69 67 er...............(racket--config
b6760 75 72 65 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 66 72 6f 6d 2d 65 64 69 74 2d 62 75 66 66 65 72 ure-repl-buffer-from-edit-buffer
b6780 20 65 64 69 74 2d 62 75 66 66 65 72 20 72 65 70 6c 2d 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 .edit-buffer.repl-buf)).........
b67a0 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 72 65 70 6c 2d 62 75 66 29 29 ....(funcall.continue.repl-buf))
b67c0 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 .........(setq.racket--repl-sess
b67e0 69 6f 6e 2d 69 64 20 28 63 6c 2d 69 6e 63 66 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6e 65 78 ion-id.(cl-incf.racket--repl-nex
b6800 74 2d 73 65 73 73 69 6f 6e 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 6e 6f 6e t-session-id)).........(when.non
b6820 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 28 66 6f interactive...........(princ.(fo
b6840 72 6d 61 74 20 22 7b 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 74 61 72 74 7d 3a 20 70 69 63 6b rmat."{racket--repl-start}:.pick
b6860 65 64 20 6e 65 78 74 20 73 65 73 73 69 6f 6e 20 69 64 20 25 53 5c 6e 22 0a 20 20 20 20 20 20 20 ed.next.session.id.%S\n"........
b6880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 ..................racket--repl-s
b68a0 65 73 73 69 6f 6e 2d 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 ession-id))).........(goto-char.
b68c0 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 (point-max)).........(racket--re
b68e0 70 6c 2d 64 65 6c 65 74 65 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 20 74 29 0a 20 20 20 20 20 20 20 pl-delete-prompt-mark.t)........
b6900 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 72 75 6e 2d 6d 61 72 6b 20 28 70 6f .(setq.racket--repl-run-mark.(po
b6920 69 6e 74 2d 6d 61 72 6b 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 int-marker)).........(setq.racke
b6940 74 2d 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 72 6b 20 28 70 6f 69 6e 74 2d 6d 61 72 6b 65 t--repl-output-mark.(point-marke
b6960 72 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 2d 6d 61 72 6b 65 72 2d 69 6e 73 65 72 74 69 6f r)).........(set-marker-insertio
b6980 6e 2d 74 79 70 65 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 72 6b 20 n-type.racket--repl-output-mark.
b69a0 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 65 64 69 74 2d 62 75 66 66 65 72 0a 20 nil).........(when.edit-buffer..
b69c0 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6f 6e 66 69 67 75 72 65 2d 72 65 70 6c .........(racket--configure-repl
b69e0 2d 62 75 66 66 65 72 2d 66 72 6f 6d 2d 65 64 69 74 2d 62 75 66 66 65 72 20 65 64 69 74 2d 62 75 -buffer-from-edit-buffer.edit-bu
b6a00 66 66 65 72 20 72 65 70 6c 2d 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 ffer.repl-buf)).........(unless.
b6a20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6f 70 65 6e 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 28 (racket--cmd-open-p)...........(
b6a40 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 73 65 72 74 2d 6f 75 74 70 75 74 20 27 6d 65 73 73 racket--repl-insert-output.'mess
b6a60 61 67 65 20 22 53 74 61 72 74 69 6e 67 20 62 61 63 6b 20 65 6e 64 2e 2e 2e 22 29 29 0a 20 20 20 age."Starting.back.end..."))....
b6a80 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 20 6e 69 6c 0a 20 20 20 20 .....(racket--cmd/async.nil.....
b6aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 72 65 70 6c 2d 73 74 .......................`(repl-st
b6ac0 61 72 74 20 2c 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 art.,racket--repl-session-id)...
b6ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 .........................(lambda
b6b00 20 28 5f 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(_id)..........................
b6b20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 72 65 70 6c 2d 62 75 66 29 29 ....(funcall.continue.repl-buf))
b6b40 29 29 29 29 29 0a 0a 3b 3b 3b 20 53 77 69 74 63 68 20 62 65 74 77 65 65 6e 20 61 73 73 6f 63 69 )))))..;;;.Switch.between.associ
b6b60 63 61 74 65 64 20 65 64 69 74 20 61 6e 64 20 52 45 50 4c 20 62 75 66 66 65 72 73 0a 0a 28 64 65 cated.edit.and.REPL.buffers..(de
b6b80 66 75 6e 20 72 61 63 6b 65 74 2d 65 64 69 74 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 20 28 fun.racket-edit-switch-to-repl.(
b6ba0 29 0a 20 20 22 53 65 6c 65 63 74 20 52 45 50 4c 20 62 75 66 66 65 72 20 61 73 73 6f 63 69 61 74 )..."Select.REPL.buffer.associat
b6bc0 65 64 20 77 69 74 68 20 74 68 65 20 65 64 69 74 20 62 75 66 66 65 72 2e 0a 0a 57 68 65 6e 20 6e ed.with.the.edit.buffer...When.n
b6be0 6f 20 73 75 63 68 20 62 75 66 66 65 72 20 65 78 69 73 74 73 20 79 65 74 2c 20 64 6f 20 6e 6f 74 o.such.buffer.exists.yet,.do.not
b6c00 68 69 6e 67 20 62 75 74 20 73 61 79 20 73 6f 20 61 6e 64 20 73 75 67 67 65 73 74 0a 75 73 69 6e hing.but.say.so.and.suggest.usin
b6c20 67 20 61 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 g.a.run.command."...(interactive
b6c40 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 65 64 69 74 2d 6d 6f 64 65 29 0a 20 )...(racket--assert-edit-mode)..
b6c60 20 28 70 63 61 73 65 20 28 67 65 74 2d 62 75 66 66 65 72 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d .(pcase.(get-buffer.racket-repl-
b6c80 62 75 66 66 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 28 28 61 6e 64 20 72 65 70 6c 2d 62 75 66 20 buffer-name).....((and.repl-buf.
b6ca0 28 70 72 65 64 20 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 29 29 0a 20 20 20 20 20 28 64 69 73 70 (pred.buffer-live-p))......(disp
b6cc0 6c 61 79 2d 62 75 66 66 65 72 20 72 65 70 6c 2d 62 75 66 29 0a 20 20 20 20 20 28 73 65 6c 65 63 lay-buffer.repl-buf)......(selec
b6ce0 74 2d 77 69 6e 64 6f 77 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 72 65 70 6c t-window.(get-buffer-window.repl
b6d00 2d 62 75 66 20 74 29 29 29 0a 20 20 20 20 28 5f 20 28 75 73 65 72 2d 65 72 72 6f 72 0a 20 20 20 -buf.t))).....(_.(user-error....
b6d20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 4e 6f 20 52 45 50 4c 20 62 75 66 66 65 72 20 65 78 69 .....(format."No.REPL.buffer.exi
b6d40 73 74 73 20 66 6f 72 20 25 73 3b 20 75 73 65 20 61 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 22 0a 20 sts.for.%s;.use.a.run.command"..
b6d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 29 29 29 ...............(buffer-name)))))
b6d80 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 66 69 6c 65 2d 6e 61 6d 65 20 )..(defun.racket-repl-file-name.
b6da0 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 6c 65 20 72 75 6e 6e 69 6e 67 20 69 6e ()..."Return.the.file.running.in
b6dc0 20 74 68 65 20 52 45 50 4c 2c 20 6f 72 20 6e 69 6c 2e 0a 0a 54 68 65 20 72 65 73 75 6c 74 20 63 .the.REPL,.or.nil...The.result.c
b6de0 61 6e 20 62 65 20 6e 69 6c 20 69 66 20 74 68 65 20 52 45 50 4c 20 69 73 20 6e 6f 74 20 73 74 61 an.be.nil.if.the.REPL.is.not.sta
b6e00 72 74 65 64 2e 22 0a 20 20 28 77 68 65 6e 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 rted."...(when.(racket--repl-ses
b6e20 73 69 6f 6e 2d 69 64 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 77 61 69 74 20 sion-id).....(racket--cmd/await.
b6e40 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 20 60 28 70 61 74 68 (racket--repl-session-id).`(path
b6e60 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 69 6e 2d 72 65 70 6c 2d 6f 72 2d ))))..(defun.racket--in-repl-or-
b6e80 69 74 73 2d 66 69 6c 65 2d 70 20 28 29 0a 20 20 22 49 73 20 63 75 72 72 65 6e 74 2d 62 75 66 66 its-file-p.()..."Is.current-buff
b6ea0 65 72 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 6f 72 20 62 75 66 66 65 72 20 er.`racket-repl-mode'.or.buffer.
b6ec0 66 6f 72 20 66 69 6c 65 20 61 63 74 69 76 65 20 69 6e 20 69 74 3f 22 0a 20 20 28 6f 72 20 28 65 for.file.active.in.it?"...(or.(e
b6ee0 71 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 65 q.(current-buffer)...........(ge
b6f00 74 2d 62 75 66 66 65 72 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 t-buffer.racket-repl-buffer-name
b6f20 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 62 75 66 2d 66 69 6c 65 20 20 28 72 61 63 6b 65 )).......(let.((buf-file..(racke
b6f40 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 t--buffer-file-name))...........
b6f60 20 20 28 72 65 70 6c 2d 66 69 6c 65 20 28 72 61 63 6b 65 74 2d 72 65 70 6c 2d 66 69 6c 65 2d 6e ..(repl-file.(racket-repl-file-n
b6f80 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 62 75 66 2d 66 69 6c 65 20 72 65 70 ame))).........(and.buf-file.rep
b6fa0 6c 2d 66 69 6c 65 20 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 62 75 66 2d 66 69 6c 65 20 72 65 l-file.(string-equal.buf-file.re
b6fc0 70 6c 2d 66 69 6c 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c pl-file)))))..(defun.racket-repl
b6fe0 2d 73 77 69 74 63 68 2d 74 6f 2d 65 64 69 74 20 28 29 0a 20 20 22 53 65 6c 65 63 74 20 65 64 69 -switch-to-edit.()..."Select.edi
b7000 74 20 62 75 66 66 65 72 20 6f 66 20 74 68 65 20 66 69 6c 65 20 72 75 6e 6e 69 6e 67 20 69 6e 20 t.buffer.of.the.file.running.in.
b7020 74 68 65 20 52 45 50 4c 2e 0a 0a 49 66 20 6e 6f 20 62 75 66 66 65 72 20 69 73 20 76 69 73 74 69 the.REPL...If.no.buffer.is.visti
b7040 6e 67 20 74 68 65 20 66 69 6c 65 2c 20 60 66 69 6e 64 2d 66 69 6c 65 27 20 69 74 20 69 6e 20 60 ng.the.file,.`find-file'.it.in.`
b7060 6f 74 68 65 72 2d 77 69 6e 64 6f 77 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a other-window'."...(interactive).
b7080 20 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 74 2d 72 65 70 6c 2d 66 69 6c 65 2d 6e 61 6d 65 29 ..(pcase.(racket-repl-file-name)
b70a0 0a 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 20 70 61 74 68 29 0a .....((and.(pred.stringp).path).
b70c0 20 20 20 20 20 28 70 63 61 73 65 20 28 66 69 6e 64 2d 62 75 66 66 65 72 2d 76 69 73 69 74 69 6e .....(pcase.(find-buffer-visitin
b70e0 67 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 62 75 66 66 65 g.path)........((and.(pred.buffe
b7100 72 70 29 20 62 75 66 66 65 72 29 20 28 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 65 rp).buffer).(pop-to-buffer.buffe
b7120 72 20 74 29 29 0a 20 20 20 20 20 20 20 28 5f 20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 29 r.t))........(_.(other-window.1)
b7140 0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 70 61 74 68 29 29 29 29 0a 20 ...........(find-file.path))))..
b7160 20 20 20 28 5f 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 74 2d 2d 6d 6f 73 74 2d 72 65 63 65 6e ...(_.(pcase.(racket--most-recen
b7180 74 2d 65 64 69 74 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 70 t-edit-buffer)..........((and.(p
b71a0 72 65 64 20 62 75 66 66 65 72 70 29 20 62 75 66 66 65 72 29 20 28 70 6f 70 2d 74 6f 2d 62 75 66 red.bufferp).buffer).(pop-to-buf
b71c0 66 65 72 20 62 75 66 66 65 72 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 5f 20 28 75 73 65 72 fer.buffer.t))..........(_.(user
b71e0 2d 65 72 72 6f 72 20 22 54 68 65 72 65 20 61 72 65 20 6e 6f 20 72 61 63 6b 65 74 2d 6d 6f 64 65 -error."There.are.no.racket-mode
b7200 20 62 75 66 66 65 72 73 22 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d .buffers"))))))..(defun.racket--
b7220 6d 6f 73 74 2d 72 65 63 65 6e 74 2d 65 64 69 74 2d 62 75 66 66 65 72 20 28 29 0a 20 20 28 63 6c most-recent-edit-buffer.()...(cl
b7240 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 -some.(lambda.(b)..............(
b7260 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 0a 20 20 20 20 20 20 20 20 20 20 with-current-buffer.b...........
b7280 20 20 20 20 20 28 61 6e 64 20 28 72 61 63 6b 65 74 2d 2d 65 64 69 74 2d 6d 6f 64 65 2d 70 29 20 .....(and.(racket--edit-mode-p).
b72a0 62 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 6c 69 73 74 29 29 29 0a b)))............(buffer-list))).
b72c0 0a 3b 3b 3b 20 73 65 6e 64 20 74 6f 20 52 45 50 4c 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 .;;;.send.to.REPL..(defun.racket
b72e0 2d 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 2d 74 6f 2d 72 65 70 6c 20 28 73 74 61 72 74 20 65 6e 64 --send-region-to-repl.(start.end
b7300 20 26 6f 70 74 69 6f 6e 61 6c 20 65 63 68 6f 2d 70 29 0a 20 20 22 49 6e 74 65 72 6e 61 6c 20 66 .&optional.echo-p)..."Internal.f
b7320 75 6e 63 74 69 6f 6e 20 74 6f 20 73 65 6e 64 20 74 68 65 20 72 65 67 69 6f 6e 20 74 6f 20 74 68 unction.to.send.the.region.to.th
b7340 65 20 52 61 63 6b 65 74 20 52 45 50 4c 2e 0a 0a 52 65 71 75 69 72 65 73 20 74 68 65 20 52 45 50 e.Racket.REPL...Requires.the.REP
b7360 4c 20 61 6c 72 65 61 64 79 20 74 6f 20 62 65 20 73 74 61 72 74 65 64 2c 20 65 2e 67 2e 20 66 72 L.already.to.be.started,.e.g..fr
b7380 6f 6d 20 61 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 42 65 66 6f 72 65 20 73 65 6e 64 69 6e om.a.run.command...Before.sendin
b73a0 67 20 74 68 65 20 72 65 67 69 6f 6e 2c 20 63 61 6c 6c 73 20 60 72 61 63 6b 65 74 2d 2d 72 65 70 g.the.region,.calls.`racket--rep
b73c0 6c 2d 66 6f 72 67 65 74 2d 65 72 72 6f 72 73 27 2e 0a 41 6c 73 6f 20 69 6e 73 65 72 74 73 20 61 l-forget-errors'..Also.inserts.a
b73e0 20 3f 5c 6e 20 61 74 20 74 68 65 20 70 72 6f 63 65 73 73 20 6d 61 72 6b 20 73 6f 20 74 68 61 74 .?\n.at.the.process.mark.so.that
b7400 20 6f 75 74 70 75 74 20 67 6f 65 73 20 6f 6e 20 61 0a 66 72 65 73 68 20 6c 69 6e 65 2c 20 6e 6f .output.goes.on.a.fresh.line,.no
b7420 74 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 6c 69 6e 65 20 61 73 20 74 68 65 20 70 72 6f 6d 70 74 t.on.the.same.line.as.the.prompt
b7440 2e 0a 0a 46 69 6e 61 6c 6c 79 2c 20 64 69 73 70 6c 61 79 73 20 74 68 65 20 52 45 50 4c 20 62 75 ...Finally,.displays.the.REPL.bu
b7460 66 66 65 72 20 69 6e 20 73 6f 6d 65 20 77 69 6e 64 6f 77 2c 20 73 6f 20 74 68 65 20 75 73 65 72 ffer.in.some.window,.so.the.user
b7480 20 6d 61 79 0a 73 65 65 20 74 68 65 20 72 65 73 75 6c 74 73 2e 22 0a 20 20 28 75 6e 6c 65 73 73 .may.see.the.results."...(unless
b74a0 20 28 61 6e 64 20 73 74 61 72 74 20 65 6e 64 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 73 74 61 .(and.start.end).....(error."sta
b74c0 72 74 20 61 6e 64 20 65 6e 64 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 6e 69 6c 22 29 29 0a 20 20 rt.and.end.must.not.be.nil"))...
b74e0 28 75 6e 6c 65 73 73 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 (unless.(racket--repl-session-id
b7500 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 52 45 50 4c 20 73 65 73 73 69 ).....(user-error."No.REPL.sessi
b7520 6f 6e 20 61 76 61 69 6c 61 62 6c 65 3b 20 72 75 6e 20 74 68 65 20 66 69 6c 65 20 66 69 72 73 74 on.available;.run.the.file.first
b7540 22 29 29 0a 20 20 3b 3b 20 43 61 70 74 75 72 65 20 73 6f 75 72 63 65 20 62 75 66 66 65 72 20 69 "))...;;.Capture.source.buffer.i
b7560 6e 20 63 61 73 65 20 73 6f 6d 65 74 68 69 6e 67 20 63 68 61 6e 67 65 73 3b 20 73 65 65 20 65 2e n.case.something.changes;.see.e.
b7580 67 2e 20 23 34 30 37 2e 0a 20 20 28 6c 65 74 20 28 28 73 6f 75 72 63 65 2d 62 75 66 66 65 72 20 g..#407....(let.((source-buffer.
b75a0 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d (current-buffer))).....(racket--
b75c0 72 65 70 6c 2d 66 6f 72 67 65 74 2d 65 72 72 6f 72 73 29 0a 20 20 20 20 28 77 69 74 68 2d 72 61 repl-forget-errors).....(with-ra
b75e0 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 cket-repl-buffer.......(save-exc
b7600 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 64 65 6c ursion.........(racket--repl-del
b7620 65 74 65 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 67 6f ete-prompt-mark.nil).........(go
b7640 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e to-char.(point-max)).........(in
b7660 73 65 72 74 20 3f 5c 6e 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 65 63 68 6f 2d 70 0a 20 sert.?\n).........(when.echo-p..
b7680 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 .........(insert.(with-current-b
b76a0 75 66 66 65 72 20 73 6f 75 72 63 65 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 uffer.source-buffer.............
b76c0 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 73 74 61 72 74 20 ........(buffer-substring.start.
b76e0 65 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 65 72 end)))...........(insert.(proper
b7700 74 69 7a 65 20 22 5c 6e 3d 3e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tize."\n=>\n"...................
b7720 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 27 72 61 63 ............'font-lock-face.'rac
b7740 6b 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 64 64 ket-repl-message))).........(add
b7760 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 -text-properties.racket--repl-ou
b7780 74 70 75 74 2d 6d 61 72 6b 20 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tput-mark.(point)...............
b77a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 66 69 65 6c 64 20 27 73 65 6e ...............(list.'field.'sen
b77c0 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d...............................
b77e0 20 20 20 20 20 27 72 65 61 64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 .....'read-only.t)).........(set
b7800 2d 6d 61 72 6b 65 72 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 75 74 70 75 74 2d 6d 61 72 6b -marker.racket--repl-output-mark
b7820 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 .(point)))).....(racket--cmd/asy
b7840 6e 63 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 20 nc.(racket--repl-session-id)....
b7860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 72 65 70 6c 2d 73 75 62 6d 69 ....................`(repl-submi
b7880 74 20 2c 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 73 6f 75 72 63 65 2d 62 t.,(with-current-buffer.source-b
b78a0 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uffer...........................
b78c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d ..............(buffer-substring-
b78e0 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 73 74 61 72 74 20 65 6e 64 29 29 29 29 0a 20 20 20 20 no-properties.start.end)))).....
b7900 28 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 (display-buffer.racket-repl-buff
b7920 65 72 2d 6e 61 6d 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 72 er-name)))..(defun.racket-send-r
b7940 65 67 69 6f 6e 20 28 73 74 61 72 74 20 65 6e 64 29 0a 20 20 22 53 65 6e 64 20 74 68 65 20 63 75 egion.(start.end)..."Send.the.cu
b7960 72 72 65 6e 74 20 72 65 67 69 6f 6e 20 28 69 66 20 61 6e 79 29 20 74 6f 20 74 68 65 20 52 61 63 rrent.region.(if.any).to.the.Rac
b7980 6b 65 74 20 52 45 50 4c 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 72 22 29 0a 20 ket.REPL."...(interactive."r")..
b79a0 20 28 75 6e 6c 65 73 73 20 28 72 65 67 69 6f 6e 2d 61 63 74 69 76 65 2d 70 29 0a 20 20 20 20 28 .(unless.(region-active-p).....(
b79c0 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 72 65 67 69 6f 6e 22 29 29 0a 20 20 28 72 61 63 6b user-error."No.region"))...(rack
b79e0 65 74 2d 2d 61 73 73 65 72 74 2d 65 64 69 74 2d 6d 6f 64 65 29 0a 20 20 28 72 61 63 6b 65 74 2d et--assert-edit-mode)...(racket-
b7a00 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 2d 74 6f 2d 72 65 70 6c 20 73 74 61 72 74 20 65 6e 64 29 29 -send-region-to-repl.start.end))
b7a20 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 20 ..(defun.racket-send-definition.
b7a40 28 29 0a 20 20 22 53 65 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 65 66 69 6e 69 74 69 6f ()..."Send.the.current.definitio
b7a60 6e 20 74 6f 20 74 68 65 20 52 61 63 6b 65 74 20 52 45 50 4c 2e 22 0a 20 20 28 69 6e 74 65 72 61 n.to.the.Racket.REPL."...(intera
b7a80 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 73 65 78 70 2d 65 64 ctive)...(racket--assert-sexp-ed
b7aa0 69 74 2d 6d 6f 64 65 29 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 it-mode)...(save-excursion.....(
b7ac0 65 6e 64 2d 6f 66 2d 64 65 66 75 6e 29 0a 20 20 20 20 28 6c 65 74 20 28 28 65 6e 64 20 28 70 6f end-of-defun).....(let.((end.(po
b7ae0 69 6e 74 29 29 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 64 65 66 75 6e int))).......(beginning-of-defun
b7b00 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 2d 74 6f 2d ).......(racket--send-region-to-
b7b20 72 65 70 6c 20 28 70 6f 69 6e 74 29 20 65 6e 64 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 repl.(point).end))))..(defun.rac
b7b40 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 74 2d 73 65 78 70 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 ket-send-last-sexp.(&optional.pr
b7b60 65 66 69 78 29 0a 20 20 22 53 65 6e 64 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 62 65 66 efix)..."Send.the.expression.bef
b7b80 6f 72 65 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 52 61 63 6b 65 74 20 52 45 50 4c 2e 0a 0a 54 ore.point.to.the.Racket.REPL...T
b7ba0 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 6d 61 79 20 62 65 20 65 69 74 68 65 72 20 61 6e 20 61 he.expression.may.be.either.an.a
b7bc0 74 2d 65 78 70 72 65 73 73 69 6f 6e 20 6f 72 20 61 6e 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 2e t-expression.or.an.s-expression.
b7be0 0a 0a 57 68 65 6e 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 61 20 73 65 78 70 20 ..When.the.expression.is.a.sexp.
b7c00 63 6f 6d 6d 65 6e 74 2c 20 74 68 65 20 73 65 78 70 20 69 74 73 65 6c 66 20 69 73 20 73 65 6e 74 comment,.the.sexp.itself.is.sent
b7c20 2c 0a 77 69 74 68 6f 75 74 20 74 68 65 20 23 3b 20 70 72 65 66 69 78 2e 0a 0a 5c 5c 3c 72 61 63 ,.without.the.#;.prefix...\\<rac
b7c40 6b 65 74 2d 6d 6f 64 65 2d 6d 61 70 3e 0a 57 69 74 68 20 61 20 70 72 65 66 69 78 20 61 72 67 75 ket-mode-map>.With.a.prefix.argu
b7c60 6d 65 6e 74 20 28 65 2e 67 2e 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 ment.(e.g..\\[universal-argument
b7c80 5d 20 5c 5c 5b 72 61 63 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 74 2d 73 65 78 70 5d 29 2c 20 74 68 ].\\[racket-send-last-sexp]),.th
b7ca0 65 20 73 65 78 70 20 69 73 20 63 6f 70 69 65 64 0a 69 6e 74 6f 20 74 68 65 20 52 45 50 4c 2c 20 e.sexp.is.copied.into.the.REPL,.
b7cc0 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 5c 22 3d 3e 5c 22 20 6c 69 6e 65 2c 20 74 6f 20 64 69 followed.by.a.\"=>\".line,.to.di
b7ce0 73 74 69 6e 67 75 69 73 68 20 69 74 0a 66 72 6f 6d 20 74 68 65 20 7a 65 72 6f 20 6f 72 20 6d 6f stinguish.it.from.the.zero.or.mo
b7d00 72 65 20 76 61 6c 75 65 73 20 74 6f 20 77 68 69 63 68 20 69 74 20 65 76 61 6c 75 61 74 65 73 2e re.values.to.which.it.evaluates.
b7d20 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 72 61 63 6b 65 74 2d "...(interactive."P")...(racket-
b7d40 2d 61 73 73 65 72 74 2d 73 65 78 70 2d 65 64 69 74 2d 6d 6f 64 65 29 0a 20 20 28 72 61 63 6b 65 -assert-sexp-edit-mode)...(racke
b7d60 74 2d 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 2d 74 6f 2d 72 65 70 6c 20 28 72 61 63 6b 65 74 2d 2d t--send-region-to-repl.(racket--
b7d80 73 74 61 72 74 2d 6f 66 2d 70 72 65 76 69 6f 75 73 2d 65 78 70 72 65 73 73 69 6f 6e 29 0a 20 20 start-of-previous-expression)...
b7da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f .............................(po
b7dc0 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 int)............................
b7de0 20 20 20 20 70 72 65 66 69 78 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 65 76 61 6c ....prefix))..(defun.racket-eval
b7e00 2d 6c 61 73 74 2d 73 65 78 70 20 28 29 0a 20 20 22 45 76 61 6c 20 74 68 65 20 65 78 70 72 65 73 -last-sexp.()..."Eval.the.expres
b7e20 73 69 6f 6e 20 62 65 66 6f 72 65 20 70 6f 69 6e 74 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 sion.before.point.asynchronously
b7e40 2e 0a 0a 54 68 65 20 65 76 65 6e 74 75 61 6c 20 72 65 73 75 6c 74 73 20 61 72 65 20 70 72 65 73 ...The.eventual.results.are.pres
b7e60 65 6e 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 60 72 61 63 6b 65 74 ented.using.the.variable.`racket
b7e80 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 27 2e 0a 0a 54 68 65 20 65 78 70 72 65 73 73 69 6f -show-functions'...The.expressio
b7ea0 6e 20 6d 61 79 20 62 65 20 65 69 74 68 65 72 20 61 6e 20 61 74 2d 65 78 70 72 65 73 73 69 6f 6e n.may.be.either.an.at-expression
b7ec0 20 6f 72 20 61 6e 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 .or.an.s-expression."...(interac
b7ee0 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 73 65 78 70 2d 65 64 69 tive)...(racket--assert-sexp-edi
b7f00 74 2d 6d 6f 64 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d t-mode)...(unless.(racket--repl-
b7f20 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 session-id).....(user-error."No.
b7f40 52 45 50 4c 20 73 65 73 73 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 3b 20 72 75 6e 20 74 68 65 20 REPL.session.available;.run.the.
b7f60 66 69 6c 65 20 66 69 72 73 74 22 29 29 0a 20 20 28 6c 65 74 20 28 28 62 65 67 20 28 72 61 63 6b file.first"))...(let.((beg.(rack
b7f80 65 74 2d 2d 73 74 61 72 74 2d 6f 66 2d 70 72 65 76 69 6f 75 73 2d 65 78 70 72 65 73 73 69 6f 6e et--start-of-previous-expression
b7fa0 29 29 0a 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 28 72 61 )).........(end.(point)))....(ra
b7fc0 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 cket--cmd/async.....(racket--rep
b7fe0 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 20 20 60 28 65 76 61 6c 20 2c 28 62 75 66 66 65 l-session-id).....`(eval.,(buffe
b8000 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 6e r-substring-no-properties.beg.en
b8020 64 29 29 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 76 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 d)).....(lambda.(v).......(racke
b8040 74 2d 73 68 6f 77 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 76 29 20 65 6e 64 20 74 29 29 29 29 t-show.(format."%s".v).end.t))))
b8060 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 74 61 72 74 2d 6f 66 2d 70 72 65 76 69 )..(defun.racket--start-of-previ
b8080 6f 75 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 28 29 0a 20 20 22 48 61 6e 64 6c 65 73 20 62 6f 74 ous-expression.()..."Handles.bot
b80a0 68 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 73 20 61 6e 64 20 61 74 2d 65 78 70 72 65 73 73 69 6f h.s-expressions.and.at-expressio
b80c0 6e 73 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 63 6c 2d 66 ns."...(save-excursion.....(cl-f
b80e0 6c 65 74 2a 20 28 28 62 61 63 6b 20 28 29 20 28 61 6e 64 20 28 3c 20 28 70 6f 69 6e 74 2d 6d 69 let*.((back.().(and.(<.(point-mi
b8100 6e 29 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n).(point)).....................
b8120 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 62 61 63 6b 77 61 72 .........(ignore-errors.(backwar
b8140 64 2d 73 65 78 70 29 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 d-sexp).t)))................(bac
b8160 6b 2d 74 6f 20 28 63 68 29 20 28 61 6e 64 20 28 62 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 k-to.(ch).(and.(back)...........
b8180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 63 68 61 ........................(eq.(cha
b81a0 72 2d 61 66 74 65 72 20 28 70 6f 69 6e 74 29 29 20 63 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 r-after.(point)).ch)))..........
b81c0 20 20 20 20 20 20 28 62 61 63 6b 2d 74 6f 2a 20 28 26 72 65 73 74 20 63 68 73 29 20 28 6c 65 74 ......(back-to*.(&rest.chs).(let
b81e0 20 28 28 70 74 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .((pt.(point))).................
b8200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 73 65 71 2d .......................(or.(seq-
b8220 65 76 65 72 79 2d 70 20 23 27 62 61 63 6b 2d 74 6f 20 63 68 73 29 0a 20 20 20 20 20 20 20 20 20 every-p.#'back-to.chs)..........
b8240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b8260 20 20 28 70 72 6f 67 6e 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 74 29 20 6e 69 6c 29 29 29 29 29 ..(progn.(goto-char.pt).nil)))))
b8280 0a 20 20 20 20 20 20 28 6f 72 20 28 62 61 63 6b 2d 74 6f 2a 20 3f 5c 7b 20 3f 5c 5b 20 3f 40 29 .......(or.(back-to*.?\{.?\[.?@)
b82a0 20 3b 40 7e 61 5b 22 66 6f 6f 22 5d 7b 62 61 72 7d 0a 20 20 20 20 20 20 20 20 20 20 28 62 61 63 .;@~a["foo"]{bar}...........(bac
b82c0 6b 2d 74 6f 2a 20 20 20 20 20 3f 5c 7b 20 3f 40 29 20 3b 40 7e 61 7b 61 62 63 7d 0a 20 20 20 20 k-to*.....?\{.?@).;@~a{abc}.....
b82e0 20 20 20 20 20 20 28 62 61 63 6b 2d 74 6f 2a 20 20 20 20 20 3f 5c 5b 20 3f 40 29 20 3b 40 2b 5b ......(back-to*.....?\[.?@).;@+[
b8300 31 20 32 5d 0a 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 29 20 20 20 20 20 20 20 20 20 20 20 1.2]...........(back)...........
b8320 20 20 20 20 20 3b 40 28 2b 20 31 20 32 29 20 40 31 20 6f 72 20 61 6e 79 20 73 2d 65 78 70 72 65 .....;@(+.1.2).@1.or.any.s-expre
b8340 73 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 ssion...........(user-error."No.
b8360 70 72 65 76 69 6f 75 73 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 6f 72 20 61 74 2d 65 78 70 72 previous.s-expression.or.at-expr
b8380 65 73 73 69 6f 6e 22 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 2d ession")).......(if.(looking-at-
b83a0 70 20 22 23 3b 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 70 6f 69 6e 74 29 20 32 29 0a p."#;")...........(+.(point).2).
b83c0 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 29 29 29 0a 0a 3b 3b 3b 20 49 6e 6c 69 6e 65 20 ........(point)))))..;;;.Inline.
b83e0 69 6d 61 67 65 73 20 69 6e 20 52 45 50 4c 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 69 images.in.REPL..(defvar.racket-i
b8400 6d 61 67 65 2d 63 61 63 68 65 2d 64 69 72 20 6e 69 6c 29 0a 0a 28 64 65 66 76 61 72 20 72 61 63 mage-cache-dir.nil)..(defvar.rac
b8420 6b 65 74 2d 69 6d 61 67 65 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 6d 61 6b 65 ket-image-map...(let.((map.(make
b8440 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 -sparse-keymap))).....(define-ke
b8460 79 20 6d 61 70 20 5b 6d 6f 75 73 65 2d 32 5d 20 23 27 72 61 63 6b 65 74 2d 76 69 65 77 2d 69 6d y.map.[mouse-2].#'racket-view-im
b8480 61 67 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 43 2d 6d 22 20 age).....(define-key.map."\C-m".
b84a0 23 27 72 61 63 6b 65 74 2d 76 69 65 77 2d 69 6d 61 67 65 29 0a 20 20 20 20 6d 61 70 29 0a 20 20 #'racket-view-image).....map)...
b84c0 22 4b 65 79 6d 61 70 20 66 6f 72 20 69 6d 61 67 65 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 72 61 "Keymap.for.images.")..(defun.ra
b84e0 63 6b 65 74 2d 72 65 70 6c 2d 2d 6c 69 73 74 2d 69 6d 61 67 65 2d 63 61 63 68 65 20 28 29 0a 20 cket-repl--list-image-cache.()..
b8500 20 22 4c 69 73 74 20 61 6c 6c 20 74 68 65 20 69 6d 61 67 65 73 20 69 6e 20 74 68 65 20 69 6d 61 ."List.all.the.images.in.the.ima
b8520 67 65 20 63 61 63 68 65 2e 22 0a 20 20 28 61 6e 64 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 2d 63 ge.cache."...(and.racket-image-c
b8540 61 63 68 65 2d 64 69 72 0a 20 20 20 20 20 20 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d ache-dir........(file-directory-
b8560 70 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 2d 63 61 63 68 65 2d 64 69 72 29 0a 20 20 20 20 20 20 p.racket-image-cache-dir).......
b8580 20 28 6c 65 74 20 28 28 66 69 6c 65 73 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 2d 61 .(let.((files.(directory-files-a
b85a0 6e 64 2d 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nd-attributes...................
b85c0 20 20 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 2d 63 61 63 68 65 2d 64 69 72 20 74 20 22 5e 72 61 ...racket-image-cache-dir.t."^ra
b85e0 63 6b 65 74 2d 69 6d 61 67 65 2d 2e 2b 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 cket-image-.+")))..........(mapc
b8600 61 72 20 23 27 63 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 6f 72 74 20 ar.#'car..................(sort.
b8620 66 69 6c 65 73 20 28 6c 61 6d 62 64 61 20 28 61 20 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 files.(lambda.(a.b).............
b8640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 28 66 6c 6f 61 74 2d 74 69 6d ...................(<.(float-tim
b8660 65 20 28 6e 74 68 20 36 20 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.(nth.6.a))....................
b8680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6c 6f 61 74 2d 74 69 6d 65 20 28 6e 74 68 20 ...............(float-time.(nth.
b86a0 36 20 62 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 6.b)))))))))..(defun.racket-repl
b86c0 2d 2d 63 6c 65 61 6e 2d 69 6d 61 67 65 2d 63 61 63 68 65 20 28 29 0a 20 20 22 43 6c 65 61 6e 20 --clean-image-cache.()..."Clean.
b86e0 61 6c 6c 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 74 20 60 72 61 63 6b 65 74 2d all.except.for.the.last.`racket-
b8700 69 6d 61 67 65 73 2d 6b 65 65 70 2d 6c 61 73 74 27 0a 69 6d 61 67 65 73 20 69 6e 20 60 72 61 63 images-keep-last'.images.in.`rac
b8720 6b 65 74 2d 69 6d 61 67 65 2d 63 61 63 68 65 2d 64 69 72 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 ket-image-cache-dir'."...(intera
b8740 63 74 69 76 65 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 66 69 6c 65 20 28 62 75 74 6c 61 73 74 20 ctive)...(dolist.(file.(butlast.
b8760 28 72 61 63 6b 65 74 2d 72 65 70 6c 2d 2d 6c 69 73 74 2d 69 6d 61 67 65 2d 63 61 63 68 65 29 0a (racket-repl--list-image-cache).
b8780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d .........................racket-
b87a0 69 6d 61 67 65 73 2d 6b 65 65 70 2d 6c 61 73 74 29 29 0a 20 20 20 20 28 64 65 6c 65 74 65 2d 66 images-keep-last)).....(delete-f
b87c0 69 6c 65 20 66 69 6c 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c ile.file)))..(defun.racket--repl
b87e0 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 28 66 69 6c 65 29 0a 20 20 28 6c 65 74 20 28 28 62 65 -insert-image.(file)...(let.((be
b8800 67 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 72 61 63 6b 65 74 2d g.(point))).....(if.(and.racket-
b8820 69 6d 61 67 65 73 2d 69 6e 6c 69 6e 65 20 28 64 69 73 70 6c 61 79 2d 69 6d 61 67 65 73 2d 70 29 images-inline.(display-images-p)
b8840 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 ).........(insert-image.........
b8860 20 28 61 70 70 6c 79 20 23 27 63 72 65 61 74 65 2d 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 20 .(apply.#'create-image..........
b8880 20 20 20 20 20 20 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 .......file.................(and
b88a0 20 28 69 6d 61 67 65 2d 74 79 70 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 20 27 69 6d 61 67 65 6d .(image-type-available-p.'imagem
b88c0 61 67 69 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b agick)......................rack
b88e0 65 74 2d 69 6d 61 67 65 6d 61 67 69 63 6b 2d 70 72 6f 70 73 0a 20 20 20 20 20 20 20 20 20 20 20 et-imagemagick-props............
b8900 20 20 20 20 20 20 20 20 20 20 27 69 6d 61 67 65 6d 61 67 69 63 6b 29 0a 20 20 20 20 20 20 20 20 ..........'imagemagick).........
b8920 20 20 20 20 20 20 20 20 6e 69 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........nil.....................
b8940 3b 64 61 74 61 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 0a ;data-p.................(append.
b8960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 3a 73 63 61 6c 65 20 31 2e 30 29 20 20 .................'(:scale.1.0)..
b8980 20 20 20 20 20 20 20 20 3b 23 35 32 39 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ........;#529..................(
b89a0 61 6e 64 20 28 69 6d 61 67 65 2d 74 79 70 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 20 27 69 6d 61 and.(image-type-available-p.'ima
b89c0 67 65 6d 61 67 69 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gemagick).......................
b89e0 72 61 63 6b 65 74 2d 69 6d 61 67 65 6d 61 67 69 63 6b 2d 70 72 6f 70 73 29 29 29 29 0a 20 20 20 racket-imagemagick-props))))....
b8a00 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 66 6f 72 6d 61 74 20 22 ...(insert.(propertize.(format."
b8a20 5b 66 69 6c 65 3a 2f 2f 25 73 5d 22 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 [file://%s]".file)..............
b8a40 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 27 69 74 .............'font-lock-face.'it
b8a60 61 6c 69 63 29 29 29 0a 20 20 20 20 28 61 64 64 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 alic))).....(add-text-properties
b8a80 20 62 65 67 20 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .beg.(point)....................
b8aa0 20 20 20 20 20 20 28 6c 69 73 74 20 27 6b 65 79 6d 61 70 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 ......(list.'keymap.racket-image
b8ac0 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -map............................
b8ae0 20 20 20 20 27 72 61 63 6b 65 74 2d 69 6d 61 67 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 ....'racket-image.file..........
b8b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c 70 2d 65 63 68 6f ......................'help-echo
b8b20 20 22 52 45 54 20 6f 72 20 4d 6f 75 73 65 2d 32 20 74 6f 20 76 69 65 77 20 69 6d 61 67 65 22 29 ."RET.or.Mouse-2.to.view.image")
b8b40 29 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 2d 63 61 63 68 65 2d 64 ).....(setq.racket-image-cache-d
b8b60 69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 29 0a 20 ir.(file-name-directory.file))..
b8b80 20 20 20 28 72 61 63 6b 65 74 2d 72 65 70 6c 2d 2d 63 6c 65 61 6e 2d 69 6d 61 67 65 2d 63 61 63 ...(racket-repl--clean-image-cac
b8ba0 68 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 76 69 65 77 2d 69 6d 61 67 65 20 he)))..(defun.racket-view-image.
b8bc0 28 29 0a 20 20 22 56 69 65 77 20 74 68 65 20 69 6d 61 67 65 20 61 74 20 70 6f 69 6e 74 20 75 73 ()..."View.the.image.at.point.us
b8be0 69 6e 67 20 60 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 73 79 73 74 65 6d 2d 76 69 65 77 65 72 ing.`racket-images-system-viewer
b8c00 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 70 63 61 73 65 20 28 67 65 '."...(interactive)...(pcase.(ge
b8c20 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 72 61 63 6b 65 74 2d t-text-property.(point).'racket-
b8c40 69 6d 61 67 65 29 0a 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 20 image).....((and.(pred.stringp).
b8c60 66 69 6c 65 29 0a 20 20 20 20 20 28 73 74 61 72 74 2d 70 72 6f 63 65 73 73 20 22 52 61 63 6b 65 file)......(start-process."Racke
b8c80 74 20 69 6d 61 67 65 20 76 69 65 77 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.image.view"...................
b8ca0 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b ...nil......................rack
b8cc0 65 74 2d 69 6d 61 67 65 73 2d 73 79 73 74 65 6d 2d 76 69 65 77 65 72 0a 20 20 20 20 20 20 20 20 et-images-system-viewer.........
b8ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 .............file))))..(defun.ra
b8d00 63 6b 65 74 2d 76 69 65 77 2d 6c 61 73 74 2d 69 6d 61 67 65 20 28 6e 29 0a 20 20 22 4f 70 65 6e cket-view-last-image.(n)..."Open
b8d20 20 74 68 65 20 6c 61 73 74 20 64 69 73 70 6c 61 79 65 64 20 69 6d 61 67 65 20 75 73 69 6e 67 20 .the.last.displayed.image.using.
b8d40 60 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 73 79 73 74 65 6d 2d 76 69 65 77 65 72 27 2e 0a 0a `racket-images-system-viewer'...
b8d60 57 69 74 68 20 61 20 6e 75 6d 65 72 69 63 20 63 6f 6d 6d 61 6e 64 20 70 72 65 66 69 78 20 61 72 With.a.numeric.command.prefix.ar
b8d80 67 75 6d 65 6e 74 2c 20 6f 70 65 6e 20 74 68 65 20 4e 2d 74 68 20 6c 61 73 74 20 73 68 6f 77 6e gument,.open.the.N-th.last.shown
b8da0 0a 69 6d 61 67 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 .image."...(interactive."p")...(
b8dc0 6c 65 74 20 28 28 69 6d 61 67 65 73 20 28 72 65 76 65 72 73 65 20 28 72 61 63 6b 65 74 2d 72 65 let.((images.(reverse.(racket-re
b8de0 70 6c 2d 2d 6c 69 73 74 2d 69 6d 61 67 65 2d 63 61 63 68 65 29 29 29 29 0a 20 20 20 20 28 69 66 pl--list-image-cache)))).....(if
b8e00 20 28 3e 3d 20 28 6c 65 6e 67 74 68 20 69 6d 61 67 65 73 29 20 6e 29 0a 20 20 20 20 20 20 20 20 .(>=.(length.images).n).........
b8e20 28 73 74 61 72 74 2d 70 72 6f 63 65 73 73 20 22 52 61 63 6b 65 74 20 69 6d 61 67 65 20 76 69 65 (start-process."Racket.image.vie
b8e40 77 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 w"........................nil...
b8e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 69 6d 61 67 .....................racket-imag
b8e80 65 73 2d 73 79 73 74 65 6d 2d 76 69 65 77 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es-system-viewer................
b8ea0 20 20 20 20 20 20 20 20 28 6e 74 68 20 28 2d 20 6e 20 31 29 20 69 6d 61 67 65 73 29 29 0a 20 20 ........(nth.(-.n.1).images))...
b8ec0 20 20 20 20 28 65 72 72 6f 72 20 22 54 68 65 72 65 20 61 72 65 6e 27 74 20 25 64 20 72 65 63 65 ....(error."There.aren't.%d.rece
b8ee0 6e 74 20 69 6d 61 67 65 73 22 20 6e 29 29 29 29 0a 0a 3b 3b 3b 20 43 6f 6d 70 6c 65 74 69 6f 6e nt.images".n))))..;;;.Completion
b8f00 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6e 61 6d 65 73 70 61 63 65 ..(defvar.racket--repl-namespace
b8f20 2d 73 79 6d 62 6f 6c 73 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 -symbols.nil)..(defun.racket--re
b8f40 70 6c 2d 72 65 66 72 65 73 68 2d 6e 61 6d 65 73 70 61 63 65 2d 73 79 6d 62 6f 6c 73 20 28 29 0a pl-refresh-namespace-symbols.().
b8f60 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 20 28 72 61 63 6b 65 74 2d 2d 72 65 ..(racket--cmd/async.(racket--re
b8f80 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pl-session-id)..................
b8fa0 20 20 20 20 27 28 73 79 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....'(syms).....................
b8fc0 20 28 6c 61 6d 62 64 61 20 28 73 79 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(lambda.(syms).................
b8fe0 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6e 61 6d 65 73 70 .......(setq.racket--repl-namesp
b9000 61 63 65 2d 73 79 6d 62 6f 6c 73 20 73 79 6d 73 29 29 29 29 0a 0a 28 61 64 64 2d 68 6f 6f 6b 20 ace-symbols.syms))))..(add-hook.
b9020 27 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 61 66 74 65 72 2d 72 75 6e 2d 68 6f 6f 6b 20 20 20 23 'racket--repl-after-run-hook...#
b9040 27 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 72 65 66 72 65 73 68 2d 6e 61 6d 65 73 70 61 63 65 2d 'racket--repl-refresh-namespace-
b9060 73 79 6d 62 6f 6c 73 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d symbols)..(defun.racket-repl-com
b9080 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 20 28 29 0a 20 20 22 41 20 76 61 6c 75 65 20 66 6f 72 plete-at-point.()..."A.value.for
b90a0 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 .the.variable.`completion-at-poi
b90c0 6e 74 2d 66 75 6e 63 74 69 6f 6e 73 27 2e 0a 0a 43 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 nt-functions'...Completion.candi
b90e0 64 61 74 65 73 20 61 72 65 20 64 72 61 77 6e 20 66 72 6f 6d 20 74 68 65 20 52 45 50 4c 20 6e 61 dates.are.drawn.from.the.REPL.na
b9100 6d 65 73 70 61 63 65 20 73 79 6d 62 6f 6c 73 2e 0a 0a 52 65 74 75 72 6e 73 20 65 78 74 72 61 20 mespace.symbols...Returns.extra.
b9120 3a 63 6f 6d 70 61 6e 79 2d 64 6f 63 2d 62 75 66 66 65 72 20 61 6e 64 20 3a 63 6f 6d 70 61 6e 79 :company-doc-buffer.and.:company
b9140 2d 6c 6f 63 61 74 69 6f 6e 0a 70 72 6f 70 65 72 74 69 65 73 20 66 6f 72 20 75 73 65 20 62 79 20 -location.properties.for.use.by.
b9160 74 68 65 20 60 63 6f 6d 70 61 6e 79 2d 6d 6f 64 65 27 20 62 61 63 6b 65 6e 64 20 60 63 6f 6d 70 the.`company-mode'.backend.`comp
b9180 61 6e 79 2d 63 61 70 66 27 0a 2d 2d 20 62 75 74 20 6e 6f 74 20 3a 63 6f 6d 70 61 6e 79 2d 64 6f any-capf'.--.but.not.:company-do
b91a0 63 73 69 67 2c 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 66 72 65 71 75 65 6e 74 6c 79 20 69 csig,.because.it.is.frequently.i
b91c0 6d 70 6f 73 73 69 62 6c 65 0a 74 6f 20 73 75 70 70 6c 79 20 74 68 69 73 20 71 75 69 63 6b 6c 79 mpossible.to.supply.this.quickly
b91e0 20 65 6e 6f 75 67 68 20 6f 72 20 61 74 20 61 6c 6c 2e 22 0a 20 20 28 72 61 63 6b 65 74 2d 2d 63 .enough.or.at.all."...(racket--c
b9200 61 6c 6c 2d 77 69 74 68 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 70 72 65 66 69 78 2d 70 6f 73 69 74 all-with-completion-prefix-posit
b9220 69 6f 6e 73 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 28 ions....(lambda.(beg.end)......(
b9240 6c 69 73 74 20 62 65 67 0a 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 0a 20 20 20 20 20 20 20 20 list.beg............end.........
b9260 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 74 61 62 6c 65 20 72 61 63 ...(racket--completion-table.rac
b9280 6b 65 74 2d 2d 72 65 70 6c 2d 6e 61 6d 65 73 70 61 63 65 2d 73 79 6d 62 6f 6c 73 29 0a 20 20 20 ket--repl-namespace-symbols)....
b92a0 20 20 20 20 20 20 20 20 3a 70 72 65 64 69 63 61 74 65 20 23 27 69 64 65 6e 74 69 74 79 0a 20 20 ........:predicate.#'identity...
b92c0 20 20 20 20 20 20 20 20 20 3a 65 78 63 6c 75 73 69 76 65 20 27 6e 6f 0a 20 20 20 20 20 20 20 20 .........:exclusive.'no.........
b92e0 20 20 20 3a 63 6f 6d 70 61 6e 79 2d 64 6f 63 2d 62 75 66 66 65 72 20 23 27 72 61 63 6b 65 74 2d ...:company-doc-buffer.#'racket-
b9300 2d 72 65 70 6c 2d 63 6f 6d 70 61 6e 79 2d 64 6f 63 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 -repl-company-doc-buffer........
b9320 20 20 20 20 3a 63 6f 6d 70 61 6e 79 2d 6c 6f 63 61 74 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 2d ....:company-location.#'racket--
b9340 72 65 70 6c 2d 63 6f 6d 70 61 6e 79 2d 6c 6f 63 61 74 69 6f 6e 29 29 29 29 0a 0a 28 64 65 66 75 repl-company-location))))..(defu
b9360 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 63 6f 6d 70 61 6e 79 2d 64 6f 63 2d 62 75 66 66 65 n.racket--repl-company-doc-buffe
b9380 72 20 28 73 74 72 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 63 6f 6d 70 61 6e 79 2d 64 6f 63 2d 62 r.(str)...(racket--company-doc-b
b93a0 75 66 66 65 72 20 27 6e 61 6d 65 73 70 61 63 65 20 73 74 72 29 29 0a 0a 28 64 65 66 75 6e 20 72 uffer.'namespace.str))..(defun.r
b93c0 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 63 6f 6d 70 61 6e 79 2d 6c 6f 63 61 74 69 6f 6e 20 28 73 74 acket--repl-company-location.(st
b93e0 72 29 0a 20 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 77 61 69 74 20 28 r)...(pcase.(racket--cmd/await.(
b9400 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 20 20 20 20 20 racket--repl-session-id)........
b9420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 64 65 66 2d 69 6e 2d 6e 61 .....................`(def-in-na
b9440 6d 65 73 70 61 63 65 20 2c 73 74 72 29 29 0a 20 20 20 20 28 60 28 2c 70 61 74 68 20 2c 6c 69 6e mespace.,str)).....(`(,path.,lin
b9460 65 20 2c 5f 29 20 28 63 6f 6e 73 20 70 61 74 68 20 6c 69 6e 65 29 29 29 29 0a 0a 28 64 65 66 75 e.,_).(cons.path.line))))..(defu
b9480 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 6c 64 6f 63 2d 66 75 6e 63 74 69 6f 6e 20 28 29 0a n.racket-repl-eldoc-function.().
b94a0 20 20 22 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 65 6c 64 .."A.value.for.the.variable.`eld
b94c0 6f 63 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 27 2e 0a 0a 42 79 20 oc-documentation-function'...By.
b94e0 64 65 66 61 75 6c 74 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 73 65 74 73 20 default.`racket-repl-mode'.sets.
b9500 60 65 6c 64 6f 63 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 27 0a 74 `eldoc-documentation-function'.t
b9520 6f 20 6e 69 6c 20 2d 2d 20 6e 6f 20 60 65 6c 64 6f 63 2d 6d 6f 64 65 27 20 73 75 70 70 6f 72 74 o.nil.--.no.`eldoc-mode'.support
b9540 2e 20 59 6f 75 20 6d 61 79 20 73 65 74 20 69 74 20 74 6f 20 74 68 69 73 0a 66 75 6e 63 74 69 6f ..You.may.set.it.to.this.functio
b9560 6e 20 69 6e 20 61 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 27 20 69 n.in.a.`racket-repl-mode-hook'.i
b9580 66 20 79 6f 75 20 72 65 61 6c 6c 79 20 77 61 6e 74 20 74 6f 20 75 73 65 0a 60 65 6c 64 6f 63 2d f.you.really.want.to.use.`eldoc-
b95a0 6d 6f 64 65 27 2e 20 42 75 74 20 69 74 20 69 73 20 6e 6f 74 20 61 20 76 65 72 79 20 73 61 74 69 mode'..But.it.is.not.a.very.sati
b95c0 73 66 79 69 6e 67 20 65 78 70 65 72 69 65 6e 63 65 20 62 65 63 61 75 73 65 0a 52 61 63 6b 65 74 sfying.experience.because.Racket
b95e0 20 69 73 20 6e 6f 74 20 61 20 76 65 72 79 20 5c 22 65 6c 64 6f 63 20 66 72 69 65 6e 64 6c 79 5c .is.not.a.very.\"eldoc.friendly\
b9600 22 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 53 6f 6d 65 74 69 6d 65 73 20 77 65 20 63 61 6e 20 64 69 ".language...Sometimes.we.can.di
b9620 73 63 6f 76 65 72 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 73 20 66 72 6f 6d 20 73 6f 75 72 63 scover.argument.lists.from.sourc
b9640 65 20 2d 2d 20 62 75 74 20 74 68 69 73 0a 63 61 6e 20 62 65 20 73 6c 6f 77 2e 0a 0a 46 6f 72 20 e.--.but.this.can.be.slow...For.
b9660 63 6f 64 65 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 72 75 6e 20 69 6e 20 74 68 65 20 52 45 code.that.has.been.run.in.the.RE
b9680 50 4c 2c 20 77 65 20 63 61 6e 20 75 73 65 20 69 74 73 20 6e 61 6d 65 73 70 61 63 65 0a 74 6f 20 PL,.we.can.use.its.namespace.to.
b96a0 64 69 73 63 6f 76 65 72 20 63 6f 6e 74 72 61 63 74 73 20 6f 72 20 74 79 70 65 73 20 2d 2d 20 62 discover.contracts.or.types.--.b
b96c0 75 74 20 6f 74 68 65 72 77 69 73 65 20 77 65 20 63 61 6e 6e 6f 74 2e 0a 0a 4d 61 6e 79 20 69 6e ut.otherwise.we.cannot...Many.in
b96e0 74 65 72 65 73 74 69 6e 67 20 52 61 63 6b 65 74 20 66 6f 72 6d 73 20 61 72 65 20 73 79 6e 74 61 teresting.Racket.forms.are.synta
b9700 78 20 28 6d 61 63 72 6f 73 29 20 77 69 74 68 6f 75 74 20 61 6e 79 0a 65 61 73 79 20 77 61 79 20 x.(macros).without.any.easy.way.
b9720 74 6f 20 64 69 73 63 6f 76 65 72 20 74 68 65 69 72 20 5c 22 61 72 67 75 6d 65 6e 74 20 6c 69 73 to.discover.their.\"argument.lis
b9740 74 73 5c 22 2e 20 53 69 6d 69 6c 61 72 6c 79 20 6d 61 6e 79 0a 52 61 63 6b 65 74 20 66 75 6e 63 ts\"..Similarly.many.Racket.func
b9760 74 69 6f 6e 73 20 6f 72 20 73 79 6e 74 61 78 20 61 72 65 20 64 65 66 69 6e 65 64 20 69 6e 20 23 tions.or.syntax.are.defined.in.#
b9780 25 6b 65 72 6e 65 6c 20 61 6e 64 20 74 68 65 20 73 6f 75 72 63 65 0a 69 73 20 6e 6f 74 20 61 76 %kernel.and.the.source.is.not.av
b97a0 61 69 6c 61 62 6c 65 2e 20 49 66 20 74 68 65 79 20 68 61 76 65 20 64 6f 63 75 6d 65 6e 74 61 74 ailable..If.they.have.documentat
b97c0 69 6f 6e 20 77 69 74 68 20 61 20 5c 22 62 6c 75 65 62 6f 78 5c 22 2c 0a 77 65 20 63 61 6e 20 73 ion.with.a.\"bluebox\",.we.can.s
b97e0 68 6f 77 20 69 74 20 2d 2d 20 62 75 74 20 6f 66 74 65 6e 20 69 74 20 69 73 20 6e 6f 74 20 61 20 how.it.--.but.often.it.is.not.a.
b9800 73 69 6e 67 6c 65 2d 6c 69 6e 65 20 66 6f 72 6d 61 74 0a 74 79 70 69 63 61 6c 20 66 6f 72 20 65 single-line.format.typical.for.e
b9820 6c 64 6f 63 2e 0a 0a 53 6f 20 69 66 20 79 6f 75 20 61 72 65 20 65 78 70 65 63 74 69 6e 67 20 61 ldoc...So.if.you.are.expecting.a
b9840 6e 20 65 6c 64 6f 63 20 65 78 70 65 72 69 65 6e 63 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 45 6d n.eldoc.experience.similar.to.Em
b9860 61 63 73 0a 4c 69 73 70 2c 20 79 6f 75 20 77 69 6c 6c 20 62 65 20 64 69 73 61 70 70 6f 69 6e 74 acs.Lisp,.you.will.be.disappoint
b9880 65 64 2e 0a 0a 41 20 6d 6f 72 65 20 73 61 74 69 73 66 79 69 6e 67 20 65 78 70 65 72 69 65 6e 63 ed...A.more.satisfying.experienc
b98a0 65 20 69 73 20 74 6f 20 75 73 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 e.is.to.use.`racket-repl-describ
b98c0 65 27 20 6f 72 0a 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e e'.or.`racket-repl-documentation
b98e0 27 2e 22 0a 20 20 28 72 61 63 6b 65 74 2d 2d 64 6f 2d 65 6c 64 6f 63 20 27 6e 61 6d 65 73 70 61 '."...(racket--do-eldoc.'namespa
b9900 63 65 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 29 29 0a 0a ce.(racket--repl-session-id)))..
b9920 3b 3b 3b 20 64 65 73 63 72 69 62 65 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c ;;;.describe..(defun.racket-repl
b9940 2d 64 65 73 63 72 69 62 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 29 0a 20 20 22 -describe.(&optional.prefix)..."
b9960 44 65 73 63 72 69 62 65 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 61 74 20 70 6f 69 6e 74 Describe.the.identifier.at.point
b9980 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 20 76 61 72 69 65 73 20 62 61 73 65 64 20 6f 6e 20 68 ...The.command.varies.based.on.h
b99a0 6f 77 20 6d 61 6e 79 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 70 ow.many.\\[universal-argument].p
b99c0 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 73 20 79 6f 75 20 73 75 70 70 6c 79 2e 0a 5c 5c 3c 72 refix.arguments.you.supply..\\<r
b99e0 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 6d 61 70 3e 0a 0a 2d 20 5c 5c 5b 72 61 63 6b 65 acket-repl-mode-map>..-.\\[racke
b9a00 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 65 5d 0a 0a 20 20 55 73 65 73 20 74 68 65 20 73 79 6d t-repl-describe]....Uses.the.sym
b9a20 62 6f 6c 20 61 74 20 70 6f 69 6e 74 2e 20 49 66 20 6e 6f 20 73 75 63 68 20 73 79 6d 62 6f 6c 20 bol.at.point..If.no.such.symbol.
b9a40 65 78 69 73 74 73 2c 20 79 6f 75 20 61 72 65 0a 20 20 70 72 6f 6d 70 74 65 64 20 65 6e 74 65 72 exists,.you.are...prompted.enter
b9a60 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20 63 61 73 .the.identifier,.but.in.this.cas
b9a80 65 20 69 74 20 6f 6e 6c 79 0a 20 20 63 6f 6e 73 69 64 65 72 73 20 64 65 66 69 6e 69 74 69 6f 6e e.it.only...considers.definition
b9aa0 73 20 6f 72 20 69 6d 70 6f 72 74 73 20 61 74 20 74 68 65 20 66 69 6c 65 27 73 20 6d 6f 64 75 6c s.or.imports.at.the.file's.modul
b9ac0 65 20 6c 65 76 65 6c 20 2d 2d 0a 20 20 6e 6f 74 20 6c 6f 63 61 6c 20 62 69 6e 64 69 6e 67 73 20 e.level.--...not.local.bindings.
b9ae0 6e 6f 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 69 6e 20 73 75 62 6d 6f 64 75 6c 65 73 2e 0a 0a nor.definitions.in.submodules...
b9b00 20 20 2d 20 49 66 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 68 61 73 20 69 6e 73 74 61 6c ..-.If.the.identifier.has.instal
b9b20 6c 65 64 20 52 61 63 6b 65 74 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 74 68 65 6e 20 61 led.Racket.documentation,.then.a
b9b40 0a 20 20 20 20 73 69 6d 70 6c 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 48 .....simplified.version.of.the.H
b9b60 54 4d 4c 20 69 73 20 70 72 65 73 65 6e 74 65 64 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 2c 0a TML.is.presented.in.the.buffer,.
b9b80 20 20 20 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 5c 22 62 6c 75 65 20 62 6f 78 5c 22 2c 20 ....including.the.\"blue.box\",.
b9ba0 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 70 72 6f 73 65 2c 20 61 6e 64 0a 20 20 20 20 65 78 61 documentation.prose,.and.....exa
b9bc0 6d 70 6c 65 73 2e 0a 0a 20 20 2d 20 4f 74 68 65 72 77 69 73 65 2c 20 69 66 20 74 68 65 20 69 64 mples.....-.Otherwise,.if.the.id
b9be0 65 6e 74 69 66 69 65 72 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 6e 20 69 74 73 entifier.is.a.function,.then.its
b9c00 0a 20 20 20 20 73 69 67 6e 61 74 75 72 65 20 69 73 20 64 69 73 70 6c 61 79 65 64 2c 20 66 6f 72 .....signature.is.displayed,.for
b9c20 20 65 78 61 6d 70 6c 65 20 5c 22 5c 28 6e 61 6d 65 20 61 72 67 2d 31 2d 6e 61 6d 65 0a 20 20 20 .example.\"\(name.arg-1-name....
b9c40 20 61 72 67 2d 32 2d 6e 61 6d 65 5c 29 5c 22 2e 0a 0a 2d 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c .arg-2-name\)\"...-.\\[universal
b9c60 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 -argument].\\[racket-repl-descri
b9c80 62 65 5d 0a 0a 20 20 41 6c 77 61 79 73 20 70 72 6f 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 6e 74 be]....Always.prompts.you.to.ent
b9ca0 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 73 er.a.symbol,.defaulting.to.the.s
b9cc0 79 6d 62 6f 6c 0a 20 20 61 74 20 70 6f 69 6e 74 20 69 66 20 61 6e 79 2e 0a 0a 2d 20 5c 5c 5b 75 ymbol...at.point.if.any...-.\\[u
b9ce0 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d niversal-argument].\\[universal-
b9d00 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 argument].\\[racket-repl-describ
b9d20 65 5d 0a 0a 20 20 54 68 69 73 20 69 73 20 61 6e 20 61 6c 69 61 73 20 66 6f 72 20 60 72 61 63 6b e]....This.is.an.alias.for.`rack
b9d40 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 27 2c 20 77 68 69 63 68 20 75 73 65 73 0a et-describe-search',.which.uses.
b9d60 20 20 69 6e 73 74 61 6c 6c 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 61 20 60 ..installed.documentation.in.a.`
b9d80 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 0a 20 20 69 racket-describe-mode'.buffer...i
b9da0 6e 73 74 65 61 64 20 6f 66 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 77 65 62 20 62 72 6f 77 73 65 nstead.of.an.external.web.browse
b9dc0 72 2e 0a 0a 54 68 65 20 69 6e 74 65 6e 74 20 69 73 20 74 6f 20 67 69 76 65 20 61 20 71 75 69 63 r...The.intent.is.to.give.a.quic
b9de0 6b 20 72 65 6d 69 6e 64 65 72 20 6f 72 20 69 6e 74 72 6f 64 75 63 74 69 6f 6e 20 74 6f 0a 73 6f k.reminder.or.introduction.to.so
b9e00 6d 65 74 68 69 6e 67 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 69 mething,.regardless.of.whether.i
b9e20 74 20 68 61 73 20 69 6e 73 74 61 6c 6c 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 2d 2d t.has.installed.documentation.--
b9e40 20 61 6e 64 20 74 6f 20 64 6f 20 73 6f 20 77 69 74 68 69 6e 20 45 6d 61 63 73 2c 20 77 69 74 68 .and.to.do.so.within.Emacs,.with
b9e60 6f 75 74 20 73 77 69 74 63 68 69 6e 67 20 74 6f 20 61 20 77 65 62 20 62 72 6f 77 73 65 72 2e 22 out.switching.to.a.web.browser."
b9e80 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 69 66 20 28 65 71 75 61 ...(interactive."P")...(if.(equa
b9ea0 6c 20 70 72 65 66 69 78 20 27 28 31 36 29 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 64 65 l.prefix.'(16)).......(racket-de
b9ec0 73 63 72 69 62 65 2d 73 65 61 72 63 68 29 0a 20 20 20 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 scribe-search).....(pcase.(racke
b9ee0 74 2d 2d 73 79 6d 62 6f 6c 2d 61 74 2d 70 6f 69 6e 74 2d 6f 72 2d 70 72 6f 6d 70 74 20 70 72 65 t--symbol-at-point-or-prompt.pre
b9f00 66 69 78 20 22 44 65 73 63 72 69 62 65 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fix."Describe:."................
b9f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 ...............................r
b9f40 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6e 61 6d 65 73 70 61 63 65 2d 73 79 6d 62 6f 6c 73 29 0a 20 acket--repl-namespace-symbols)..
b9f60 20 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 20 73 74 72 29 0a 20 .....((and.(pred.stringp).str)..
b9f80 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 6f 2d 64 65 73 63 72 69 62 65 20 27 6e 61 6d 65 ......(racket--do-describe.'name
b9fa0 73 70 61 63 65 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 20 space.(racket--repl-session-id).
b9fc0 73 74 72 29 29 29 29 29 0a 0a 3b 3b 3b 20 72 61 63 6b 65 74 2d 78 72 65 66 2d 72 65 70 6c 0a 0a str)))))..;;;.racket-xref-repl..
b9fe0 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d (defun.racket-repl-xref-backend-
ba000 66 75 6e 63 74 69 6f 6e 20 28 29 0a 20 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 78 72 65 66 29 function.()...'racket-repl-xref)
ba020 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 69 64 65 ..(cl-defmethod.xref-backend-ide
ba040 6e 74 69 66 69 65 72 2d 61 74 2d 70 6f 69 6e 74 20 28 28 5f 62 61 63 6b 65 6e 64 20 28 65 71 6c ntifier-at-point.((_backend.(eql
ba060 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 78 72 65 66 29 29 29 0a 20 20 28 6f 72 20 28 72 61 63 6b .racket-repl-xref)))...(or.(rack
ba080 65 74 2d 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 2d 6e 61 6d 65 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 et--module-path-name-at-point)..
ba0a0 20 20 20 20 20 28 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 20 27 73 79 6d 62 6f 6c 29 29 29 0a .....(thing-at-point.'symbol))).
ba0c0 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 69 64 65 6e .(cl-defmethod.xref-backend-iden
ba0e0 74 69 66 69 65 72 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 74 61 62 6c 65 20 28 28 5f 62 61 63 6b 65 tifier-completion-table.((_backe
ba100 6e 64 20 28 65 71 6c 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 78 72 65 66 29 29 29 0a 20 20 28 63 nd.(eql.racket-repl-xref)))...(c
ba120 6f 6d 70 6c 65 74 69 6f 6e 2d 74 61 62 6c 65 2d 64 79 6e 61 6d 69 63 0a 20 20 20 28 6c 61 6d 62 ompletion-table-dynamic....(lamb
ba140 64 61 20 28 70 72 65 66 69 78 29 0a 20 20 20 20 20 28 61 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e da.(prefix)......(all-completion
ba160 73 20 70 72 65 66 69 78 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6e 61 6d 65 73 70 61 63 65 2d s.prefix.racket--repl-namespace-
ba180 73 79 6d 62 6f 6c 73 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 78 72 65 66 2d symbols))))..(cl-defmethod.xref-
ba1a0 62 61 63 6b 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 20 28 28 5f 62 61 63 6b 65 6e 64 20 28 backend-definitions.((_backend.(
ba1c0 65 71 6c 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 78 72 65 66 29 29 20 73 74 72 29 0a 20 20 28 6f eql.racket-repl-xref)).str)...(o
ba1e0 72 0a 20 20 20 28 70 63 61 73 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 30 r....(pcase.(get-text-property.0
ba200 20 27 72 61 63 6b 65 74 2d 6d 6f 64 75 6c 65 2d 70 61 74 68 20 73 74 72 29 0a 20 20 20 20 20 28 .'racket-module-path.str)......(
ba220 60 61 62 73 6f 6c 75 74 65 0a 20 20 20 20 20 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 74 2d 2d `absolute.......(pcase.(racket--
ba240 63 6d 64 2f 61 77 61 69 74 20 6e 69 6c 20 60 28 6d 6f 64 20 2c 28 73 75 62 73 74 72 69 6e 67 2d cmd/await.nil.`(mod.,(substring-
ba260 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 73 74 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 60 28 no-properties.str))).........(`(
ba280 2c 70 61 74 68 20 2c 6c 69 6e 65 20 2c 63 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 ,path.,line.,col)..........(list
ba2a0 0a 20 20 20 20 20 20 20 20 20 20 28 78 72 65 66 2d 6d 61 6b 65 20 73 74 72 0a 20 20 20 20 20 20 ...........(xref-make.str.......
ba2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 72 65 66 2d 6d 61 6b 65 2d 66 69 6c 65 2d 6c ...............(xref-make-file-l
ba2e0 6f 63 61 74 69 6f 6e 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 63 6b 2d 74 ocation.(racket-file-name-back-t
ba300 6f 2d 66 72 6f 6e 74 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 o-front.path)...................
ba320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 6e 65 ............................line
ba340 20 63 6f 6c 29 29 29 29 29 29 0a 20 20 20 20 20 28 60 72 65 6c 61 74 69 76 65 0a 20 20 20 20 20 .col))))))......(`relative......
ba360 20 28 6c 65 74 20 28 28 70 61 74 68 20 28 72 61 63 6b 65 74 2d 2d 72 6b 74 2d 6f 72 2d 73 73 2d .(let.((path.(racket--rkt-or-ss-
ba380 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d path....................(expand-
ba3a0 66 69 6c 65 2d 6e 61 6d 65 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 file-name.(substring-no-properti
ba3c0 65 73 20 73 74 72 20 31 20 2d 31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 0a 20 es.str.1.-1))))).........(list..
ba3e0 20 20 20 20 20 20 20 20 28 78 72 65 66 2d 6d 61 6b 65 20 73 74 72 0a 20 20 20 20 20 20 20 20 20 ........(xref-make.str..........
ba400 20 20 20 20 20 20 20 20 20 20 20 28 78 72 65 66 2d 6d 61 6b 65 2d 66 69 6c 65 2d 6c 6f 63 61 74 ...........(xref-make-file-locat
ba420 69 6f 6e 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 ion.(racket-file-name-back-to-fr
ba440 6f 6e 74 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ont.path).......................
ba460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 20 30 29 29 29 29 29 29 .......................1.0))))))
ba480 0a 20 20 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 77 61 69 74 20 72 61 ....(pcase.(racket--cmd/await.ra
ba4a0 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 20 60 28 64 65 66 20 6e 61 6d 65 cket--repl-session-id.`(def.name
ba4c0 73 70 61 63 65 20 2c 73 74 72 29 29 0a 20 20 20 20 20 28 60 28 2c 70 61 74 68 20 2c 6c 69 6e 65 space.,str))......(`(,path.,line
ba4e0 20 2c 63 6f 6c 29 0a 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 20 20 20 28 78 72 65 66 2d .,col).......(list........(xref-
ba500 6d 61 6b 65 20 73 74 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 72 65 66 make.str...................(xref
ba520 2d 6d 61 6b 65 2d 66 69 6c 65 2d 6c 6f 63 61 74 69 6f 6e 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 -make-file-location.(racket-file
ba540 2d 6e 61 6d 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 6f 6e 74 20 70 61 74 68 29 0a 20 20 20 20 20 20 -name-back-to-front.path).......
ba560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ba580 20 20 20 20 20 6c 69 6e 65 20 63 6f 6c 29 29 29 29 0a 20 20 20 20 20 28 60 6b 65 72 6e 65 6c 0a .....line.col))))......(`kernel.
ba5a0 20 20 20 20 20 20 28 6c 69 73 74 20 28 78 72 65 66 2d 6d 61 6b 65 20 73 74 72 20 28 78 72 65 66 ......(list.(xref-make.str.(xref
ba5c0 2d 6d 61 6b 65 2d 62 6f 67 75 73 2d 6c 6f 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 -make-bogus-location............
ba5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 44 65 66 69 6e 65 64 20 69 6e 20 23 25 25 ................."Defined.in.#%%
ba600 6b 65 72 6e 65 6c 20 2d 2d 20 73 6f 75 72 63 65 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 22 29 kernel.--.source.not.available")
ba620 29 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 78 72 65 66 2d 62 61 63 6b 65 ))))))..(cl-defmethod.xref-backe
ba640 6e 64 2d 72 65 66 65 72 65 6e 63 65 73 20 28 28 62 61 63 6b 65 6e 64 20 28 65 71 6c 20 72 61 63 nd-references.((backend.(eql.rac
ba660 6b 65 74 2d 72 65 70 6c 2d 78 72 65 66 29 29 20 73 74 72 29 0a 20 20 3b 3b 20 53 65 65 20 63 6f ket-repl-xref)).str)...;;.See.co
ba680 6d 6d 65 6e 74 73 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 69 6d 70 6c mments.for.`racket-xp-mode'.impl
ba6a0 65 6d 65 6e 74 69 61 74 69 6f 6e 2e 0a 20 20 28 63 6c 2d 63 61 6c 6c 2d 6e 65 78 74 2d 6d 65 74 ementiation....(cl-call-next-met
ba6c0 68 6f 64 20 62 61 63 6b 65 6e 64 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 hod.backend.(substring-no-proper
ba6e0 74 69 65 73 20 73 74 72 29 29 29 0a 0a 3b 3b 3b 20 44 6f 63 0a 0a 28 64 65 66 75 6e 20 72 61 63 ties.str)))..;;;.Doc..(defun.rac
ba700 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 28 26 6f 70 74 69 6f 6e 61 ket-repl-documentation.(&optiona
ba720 6c 20 70 72 65 66 69 78 29 0a 20 20 22 56 69 65 77 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 l.prefix)..."View.documentation.
ba740 69 6e 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 77 65 62 20 62 72 6f 77 73 65 72 2e 0a 0a 54 68 65 in.an.external.web.browser...The
ba760 20 63 6f 6d 6d 61 6e 64 20 76 61 72 69 65 73 20 62 61 73 65 64 20 6f 6e 20 68 6f 77 20 6d 61 6e .command.varies.based.on.how.man
ba780 79 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 63 6f 6d 6d 61 6e 64 y.\\[universal-argument].command
ba7a0 20 70 72 65 66 69 78 65 73 20 79 6f 75 20 73 75 70 70 6c 79 2e 0a 5c 5c 3c 72 61 63 6b 65 74 2d .prefixes.you.supply..\\<racket-
ba7c0 72 65 70 6c 2d 6d 6f 64 65 2d 6d 61 70 3e 0a 0a 2d 20 5c 5c 5b 72 61 63 6b 65 74 2d 72 65 70 6c repl-mode-map>..-.\\[racket-repl
ba7e0 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 5d 0a 0a 20 20 55 73 65 73 20 74 68 65 20 73 79 6d 62 -documentation]....Uses.the.symb
ba800 6f 6c 20 61 74 20 70 6f 69 6e 74 2e 20 54 72 69 65 73 20 74 6f 20 66 69 6e 64 20 64 6f 63 75 6d ol.at.point..Tries.to.find.docum
ba820 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 61 6e 0a 20 20 69 64 65 6e 74 69 66 65 72 20 64 65 66 69 entation.for.an...identifer.defi
ba840 6e 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e 61 6d 65 73 70 61 63 65 2e 0a 0a 20 ned.in.the.current.namespace....
ba860 20 49 66 20 6e 6f 20 73 75 63 68 20 69 64 65 6e 74 69 66 65 72 20 65 78 69 73 74 73 2c 20 6f 70 .If.no.such.identifer.exists,.op
ba880 65 6e 73 20 74 68 65 20 53 65 61 72 63 68 20 4d 61 6e 75 61 6c 73 20 70 61 67 65 2e 20 49 6e 0a ens.the.Search.Manuals.page..In.
ba8a0 20 20 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 ..this.case,.the.variable.`racke
ba8c0 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 74 69 6f 6e 27 t-documentation-search-location'
ba8e0 0a 20 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 65 74 68 65 72 20 74 68 65 20 73 65 61 72 63 68 ...determines.whether.the.search
ba900 20 69 73 20 64 6f 6e 65 20 6c 6f 63 61 6c 6c 79 20 61 73 20 77 69 74 68 20 60 72 61 63 6f 0a 20 .is.done.locally.as.with.`raco..
ba920 20 64 6f 63 60 2c 20 6f 72 20 76 69 73 69 74 73 20 61 20 55 52 4c 2e 0a 0a 2d 20 5c 5c 5b 75 6e .doc`,.or.visits.a.URL...-.\\[un
ba940 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 72 61 63 6b 65 74 2d 72 65 70 6c iversal-argument].\\[racket-repl
ba960 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 5d 0a 0a 20 20 50 72 6f 6d 70 74 73 20 79 6f 75 20 74 -documentation]....Prompts.you.t
ba980 6f 20 65 6e 74 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 74 6f 20 o.enter.a.symbol,.defaulting.to.
ba9a0 74 68 65 20 73 79 6d 62 6f 6c 20 61 74 0a 20 20 70 6f 69 6e 74 20 69 66 20 61 6e 79 2e 0a 0a 2d the.symbol.at...point.if.any...-
ba9c0 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 75 6e 69 76 65 .\\[universal-argument].\\[unive
ba9e0 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 5c 5c 5b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f rsal-argument].\\[racket-repl-do
baa00 63 75 6d 65 6e 74 61 74 69 6f 6e 5d 0a 0a 20 20 50 72 6f 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 cumentation]....Prompts.you.to.e
baa20 6e 74 65 72 20 61 6e 79 74 68 69 6e 67 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 nter.anything,.defaulting.to.the
baa40 20 73 79 6d 62 6f 6c 20 61 74 0a 20 20 70 6f 69 6e 74 20 69 66 20 61 6e 79 2e 0a 0a 20 20 50 72 .symbol.at...point.if.any.....Pr
baa60 6f 63 65 65 64 73 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 53 65 61 72 63 68 20 4d 61 oceeds.directly.to.the.Search.Ma
baa80 6e 75 61 6c 73 20 70 61 67 65 2e 20 55 73 65 20 74 68 69 73 20 69 66 20 79 6f 75 0a 20 20 77 6f nuals.page..Use.this.if.you...wo
baaa0 75 6c 64 20 6c 69 6b 65 20 74 6f 20 73 65 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f uld.like.to.see.documentation.fo
baac0 72 20 61 6c 6c 20 69 64 65 6e 74 69 66 69 65 72 73 20 6e 61 6d 65 64 0a 20 20 5c 22 64 65 66 69 r.all.identifiers.named...\"defi
baae0 6e 65 5c 22 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 ne\",.for.example."...(interacti
bab00 76 65 20 22 50 22 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 64 6f 63 20 70 72 65 66 69 78 20 27 6e ve."P")...(racket--doc.prefix.'n
bab20 61 6d 65 73 70 61 63 65 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6e 61 6d 65 73 70 61 63 65 2d amespace.racket--repl-namespace-
bab40 73 79 6d 62 6f 6c 73 29 29 0a 0a 3b 3b 3b 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 20 symbols))..;;;.racket-repl-mode.
bab60 64 65 66 69 6e 69 74 69 6f 6e 20 70 65 72 20 73 65 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 definition.per.se..(defvar.racke
bab80 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 72 61 63 6b 65 74 2d 2d 65 61 73 79 2d t-repl-mode-map...(racket--easy-
baba0 6b 65 79 6d 61 70 2d 64 65 66 69 6e 65 0a 20 20 20 27 28 28 22 43 2d 6d 22 20 20 20 20 20 20 20 keymap-define....'(("C-m".......
babc0 20 20 20 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 75 62 6d 69 74 29 0a 20 20 20 20 20 28 ......racket-repl-submit)......(
babe0 22 43 2d 6a 22 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 6c 69 6e 65 2d 61 6e 64 2d 69 6e "C-j".............newline-and-in
bac00 64 65 6e 74 29 0a 20 20 20 20 20 28 22 54 41 42 22 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e dent)......("TAB".............in
bac20 64 65 6e 74 2d 66 6f 72 2d 74 61 62 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 20 28 22 43 2d 4d dent-for-tab-command)......("C-M
bac40 2d 75 22 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 62 61 63 6b 77 61 72 64 2d 75 70 -u"...........racket-backward-up
bac60 2d 6c 69 73 74 29 0a 20 20 20 20 20 28 22 43 2d 4d 2d 71 22 20 20 20 20 20 20 20 20 20 20 20 70 -list)......("C-M-q"...........p
bac80 72 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 70 29 0a 20 20 20 20 20 28 22 4d 2d 70 22 20 20 20 20 rog-indent-sexp)......("M-p"....
baca0 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 65 76 69 6f 75 73 2d 69 6e .........racket-repl-previous-in
bacc0 70 75 74 29 0a 20 20 20 20 20 28 22 4d 2d 6e 22 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 put)......("M-n".............rac
bace0 6b 65 74 2d 72 65 70 6c 2d 6e 65 78 74 2d 69 6e 70 75 74 29 0a 20 20 20 20 20 28 22 43 2d 63 20 ket-repl-next-input)......("C-c.
bad00 43 2d 75 22 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d 69 C-u".........racket-repl-clear-i
bad20 6e 70 75 74 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 70 22 20 20 20 20 20 20 20 20 20 72 61 nput)......("C-c.C-p".........ra
bad40 63 6b 65 74 2d 72 65 70 6c 2d 70 72 65 76 69 6f 75 73 2d 70 72 6f 6d 70 74 2d 6f 72 2d 72 75 6e cket-repl-previous-prompt-or-run
bad60 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 6e 22 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 )......("C-c.C-n".........racket
bad80 2d 72 65 70 6c 2d 6e 65 78 74 2d 70 72 6f 6d 70 74 2d 6f 72 2d 72 75 6e 29 0a 20 20 20 20 20 28 -repl-next-prompt-or-run)......(
bada0 22 43 2d 63 20 43 2d 6f 22 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 "C-c.C-o".........racket-repl-de
badc0 6c 65 74 65 2d 6f 75 74 70 75 74 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 65 20 66 22 20 20 lete-output)......("C-c.C-e.f"..
bade0 20 20 20 20 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 29 0a 20 20 20 20 20 28 22 .....racket-expand-file)......("
bae00 43 2d 63 20 43 2d 65 20 78 22 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 C-c.C-e.x".......racket-expand-d
bae20 65 66 69 6e 69 74 69 6f 6e 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 65 20 65 22 20 20 20 20 efinition)......("C-c.C-e.e"....
bae40 20 20 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 29 0a 20 20 20 20 ...racket-expand-last-sexp).....
bae60 20 28 22 43 2d 63 20 43 2d 65 20 72 22 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 65 78 70 61 6e .("C-c.C-e.r".......racket-expan
bae80 64 2d 72 65 67 69 6f 6e 29 0a 20 20 20 20 20 28 22 4d 2d 43 2d 79 22 20 20 20 20 20 20 20 20 20 d-region)......("M-C-y".........
baea0 20 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 29 0a 20 20 20 20 20 28 22 43 ..racket-insert-lambda)......("C
baec0 2d 63 20 43 2d 64 22 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 -c.C-d".........racket-repl-docu
baee0 6d 65 6e 74 61 74 69 6f 6e 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 2e 22 20 20 20 20 20 20 mentation)......("C-c.C-."......
baf00 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 65 29 0a 20 20 20 20 20 28 22 ...racket-repl-describe)......("
baf20 43 2d 63 20 43 2d 73 22 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 C-c.C-s".........racket-describe
baf40 2d 73 65 61 72 63 68 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 7a 22 20 20 20 20 20 20 20 20 -search)......("C-c.C-z"........
baf60 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 77 69 74 63 68 2d 74 6f 2d 65 64 69 74 29 0a 20 20 20 .racket-repl-switch-to-edit)....
baf80 20 20 28 22 43 2d 63 20 43 2d 6c 22 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 6c 6f 67 67 ..("C-c.C-l".........racket-logg
bafa0 65 72 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 63 22 20 20 20 20 20 20 20 20 20 72 61 63 6b er)......("C-c.C-c".........rack
bafc0 65 74 2d 72 65 70 6c 2d 62 72 65 61 6b 29 0a 20 20 20 20 20 28 22 43 2d 63 20 43 2d 5c 5c 22 20 et-repl-break)......("C-c.C-\\".
bafe0 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 78 69 74 29 0a 20 20 20 20 20 28 28 .......racket-repl-exit)......((
bb000 22 29 22 20 22 5d 22 20 22 7d 22 29 20 20 20 20 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 ")"."]"."}").....racket-insert-c
bb020 6c 6f 73 69 6e 67 29 29 29 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 52 61 63 6b 65 74 20 52 losing)))..."Keymap.for.Racket.R
bb040 45 50 4c 20 6d 6f 64 65 2e 22 29 0a 0a 28 65 61 73 79 2d 6d 65 6e 75 2d 64 65 66 69 6e 65 20 72 EPL.mode.")..(easy-menu-define.r
bb060 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 6d 65 6e 75 20 72 61 63 6b 65 74 2d 72 65 70 6c acket-repl-mode-menu.racket-repl
bb080 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 22 4d 65 6e 75 20 66 6f 72 20 52 61 63 6b 65 74 20 52 45 50 -mode-map..."Menu.for.Racket.REP
bb0a0 4c 20 6d 6f 64 65 2e 22 0a 20 20 27 28 22 52 61 63 6b 65 74 2d 52 45 50 4c 22 0a 20 20 20 20 5b L.mode."...'("Racket-REPL".....[
bb0c0 22 42 72 65 61 6b 22 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 72 65 61 6b 5d 0a 20 20 20 20 5b "Break".racket-repl-break].....[
bb0e0 22 45 78 69 74 22 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 78 69 74 5d 0a 20 20 20 20 22 2d 2d "Exit".racket-repl-exit]....."--
bb100 2d 22 0a 20 20 20 20 5b 22 49 6e 73 65 72 74 20 4c 61 6d 62 64 61 22 20 72 61 63 6b 65 74 2d 69 -".....["Insert.Lambda".racket-i
bb120 6e 73 65 72 74 2d 6c 61 6d 62 64 61 5d 20 3b ce bb 20 69 6e 20 73 74 72 69 6e 67 20 62 72 65 61 nsert-lambda].;...in.string.brea
bb140 6b 73 20 6d 65 6e 75 0a 20 20 20 20 5b 22 49 6e 64 65 6e 74 20 52 65 67 69 6f 6e 22 20 69 6e 64 ks.menu.....["Indent.Region".ind
bb160 65 6e 74 2d 72 65 67 69 6f 6e 5d 0a 20 20 20 20 5b 22 43 79 63 6c 65 20 50 61 72 65 6e 20 53 68 ent-region].....["Cycle.Paren.Sh
bb180 61 70 65 73 22 20 72 61 63 6b 65 74 2d 63 79 63 6c 65 2d 70 61 72 65 6e 2d 73 68 61 70 65 73 5d apes".racket-cycle-paren-shapes]
bb1a0 0a 20 20 20 20 28 22 4d 61 63 72 6f 20 45 78 70 61 6e 64 22 0a 20 20 20 20 20 5b 22 46 69 6c 65 .....("Macro.Expand"......["File
bb1c0 22 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 5d 0a 20 20 20 20 20 5b 22 52 65 67 ".racket-expand-file]......["Reg
bb1e0 69 6f 6e 22 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 20 20 3a 61 63 74 69 ion".racket-expand-region..:acti
bb200 76 65 20 28 72 65 67 69 6f 6e 2d 61 63 74 69 76 65 2d 70 29 5d 0a 20 20 20 20 20 5b 22 44 65 66 ve.(region-active-p)]......["Def
bb220 69 6e 69 74 69 6f 6e 22 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f inition".racket-expand-definitio
bb240 6e 5d 0a 20 20 20 20 20 5b 22 4c 61 73 74 20 53 2d 45 78 70 72 65 73 73 69 6f 6e 22 20 72 61 63 n]......["Last.S-Expression".rac
bb260 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 5d 29 0a 20 20 20 20 22 2d 2d 2d 22 ket-expand-last-sexp])....."---"
bb280 0a 20 20 20 20 5b 22 56 69 73 69 74 20 44 65 66 69 6e 69 74 69 6f 6e 22 20 78 72 65 66 2d 66 69 .....["Visit.Definition".xref-fi
bb2a0 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 5d 0a 20 20 20 20 5b 22 52 65 74 75 72 6e 20 66 72 6f nd-definitions].....["Return.fro
bb2c0 6d 20 56 69 73 69 74 22 20 78 72 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 63 6b 5d 0a m.Visit".xref-pop-marker-stack].
bb2e0 20 20 20 20 5b 22 46 69 6e 64 20 52 65 66 65 72 65 6e 63 65 73 22 20 78 72 65 66 2d 66 69 6e 64 ....["Find.References".xref-find
bb300 2d 72 65 66 65 72 65 6e 63 65 73 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 52 61 63 -references]....."---".....["Rac
bb320 6b 65 74 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 22 20 72 61 63 6b 65 74 2d 64 6f 63 5d 0a 20 ket.Documentation".racket-doc]..
bb340 20 20 20 5b 22 44 65 73 63 72 69 62 65 22 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 5d 0a ...["Describe".racket-describe].
bb360 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 53 77 69 74 63 68 20 74 6f 20 45 64 69 74 20 42 ...."---".....["Switch.to.Edit.B
bb380 75 66 66 65 72 22 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 77 69 74 63 68 2d 74 6f 2d 65 64 69 uffer".racket-repl-switch-to-edi
bb3a0 74 5d 29 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c t]))..(defvar-local.racket--repl
bb3c0 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 20 23 27 66 6f 6e 74 2d -fontify-region-function.#'font-
bb3e0 6c 6f 63 6b 2d 64 65 66 61 75 6c 74 2d 66 6f 6e 74 69 66 79 2d 62 75 66 66 65 72 29 0a 28 64 65 lock-default-fontify-buffer).(de
bb400 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e 20 fun.racket--repl-fontify-region.
bb420 28 62 65 67 20 65 6e 64 20 6c 6f 75 64 6c 79 29 0a 20 20 22 4c 69 6d 69 74 20 74 6f 20 69 6e 70 (beg.end.loudly)..."Limit.to.inp
bb440 75 74 20 61 6e 64 20 76 61 6c 75 65 20 73 70 61 6e 73 2e 22 0a 20 20 28 72 61 63 6b 65 74 2d 2d ut.and.value.spans."...(racket--
bb460 72 65 70 6c 2d 63 61 6c 6c 2d 77 69 74 68 2d 76 61 6c 75 65 2d 61 6e 64 2d 69 6e 70 75 74 2d 72 repl-call-with-value-and-input-r
bb480 61 6e 67 65 73 0a 20 20 20 62 65 67 20 65 6e 64 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 62 65 67 anges....beg.end....(lambda.(beg
bb4a0 20 65 6e 64 20 76 29 0a 20 20 20 20 20 28 77 68 65 6e 20 76 0a 20 20 20 20 20 20 20 28 66 75 6e .end.v)......(when.v........(fun
bb4c0 63 61 6c 6c 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e call.racket--repl-fontify-region
bb4e0 2d 66 75 6e 63 74 69 6f 6e 20 62 65 67 20 65 6e 64 20 6c 6f 75 64 6c 79 29 29 29 29 0a 20 20 28 -function.beg.end.loudly))))...(
bb500 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 20 27 66 6f 6e 74 69 put-text-property.beg.end.'fonti
bb520 66 69 65 64 20 74 29 0a 20 20 60 28 6a 69 74 2d 6c 6f 63 6b 2d 62 6f 75 6e 64 73 20 2c 62 65 67 fied.t)...`(jit-lock-bounds.,beg
bb540 20 2e 20 2c 65 6e 64 29 29 0a 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 20 ...,end))..(define-derived-mode.
bb560 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 20 66 75 6e 64 61 6d 65 6e 74 61 6c 2d 6d 6f 64 racket-repl-mode.fundamental-mod
bb580 65 20 22 52 61 63 6b 65 74 2d 52 45 50 4c 22 0a 20 20 22 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f e."Racket-REPL"..."Major.mode.fo
bb5a0 72 20 52 61 63 6b 65 74 20 52 45 50 4c 2e 0a 0a 59 6f 75 20 6d 61 79 20 75 73 65 20 60 78 72 65 r.Racket.REPL...You.may.use.`xre
bb5c0 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 27 20 5c 5c 5b 78 72 65 66 2d 66 69 6e 64 f-find-definitions'.\\[xref-find
bb5e0 2d 64 65 66 69 6e 69 74 69 6f 6e 73 5d 20 61 6e 64 0a 60 78 72 65 66 2d 70 6f 70 2d 6d 61 72 6b -definitions].and.`xref-pop-mark
bb600 65 72 2d 73 74 61 63 6b 27 20 5c 5c 5b 78 72 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 er-stack'.\\[xref-pop-marker-sta
bb620 63 6b 5d 3a 0a 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 61 64 64 73 20 61 20 62 ck]:.`racket-repl-mode'.adds.a.b
bb640 61 63 6b 65 6e 64 20 74 6f 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 60 78 72 65 66 2d 62 61 63 ackend.to.the.variable.`xref-bac
bb660 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 27 2e 20 54 68 69 73 20 62 61 63 6b 65 6e 64 20 75 73 kend-functions'..This.backend.us
bb680 65 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 0a 69 64 65 6e 74 69 66 69 65 72 20 es.information.about.identifier.
bb6a0 62 69 6e 64 69 6e 67 73 20 61 6e 64 20 6d 6f 64 75 6c 65 73 20 66 72 6f 6d 20 74 68 65 20 52 45 bindings.and.modules.from.the.RE
bb6c0 50 4c 27 73 20 6e 61 6d 65 73 70 61 63 65 2e 0a 0a 5c 5c 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d PL's.namespace...\\{racket-repl-
bb6e0 6d 6f 64 65 2d 6d 61 70 7d 22 0a 20 20 3b 3b 20 48 65 72 65 20 77 65 20 73 65 74 20 73 6f 6d 65 mode-map}"...;;.Here.we.set.some
bb700 20 76 61 6c 75 65 73 20 74 68 61 74 20 77 69 6c 6c 20 64 65 66 69 6e 69 74 65 6c 79 20 62 65 20 .values.that.will.definitely.be.
bb720 75 73 65 64 20 77 68 65 6e 20 74 68 65 0a 20 20 3b 3b 20 62 75 66 66 65 72 20 69 73 20 63 72 65 used.when.the...;;.buffer.is.cre
bb740 61 74 65 64 20 62 79 20 74 68 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 27 20 63 6f 6d 6d 61 6e ated.by.the.`racket-repl'.comman
bb760 64 2e 20 4f 74 68 65 72 77 69 73 65 2c 0a 20 20 3b 3b 20 60 72 61 63 6b 65 74 2d 2d 68 61 73 68 d..Otherwise,...;;.`racket--hash
bb780 2d 6c 61 6e 67 2d 63 6f 6e 66 69 67 75 72 65 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 66 72 6f 6d -lang-configure-repl-buffer-from
bb7a0 2d 65 64 69 74 2d 62 75 66 66 65 72 27 20 77 69 6c 6c 0a 20 20 3b 3b 20 72 65 66 72 65 73 68 20 -edit-buffer'.will...;;.refresh.
bb7c0 74 68 65 73 65 20 75 70 6f 6e 20 65 61 63 68 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 20 76 69 61 0a these.upon.each.run.command.via.
bb7e0 20 20 3b 3b 20 60 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f ..;;.`racket--repl-before-run-ho
bb800 6f 6b 27 2c 20 64 72 61 77 69 6e 67 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 74 68 65 0a 20 20 3b ok',.drawing.values.from.the...;
bb820 3b 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 6f 72 20 60 72 61 63 6b 65 74 2d 68 61 73 68 2d ;.`racket-mode'.or.`racket-hash-
bb840 6c 61 6e 67 2d 6d 6f 64 65 27 20 65 64 69 74 20 62 75 66 66 65 72 20 74 6f 20 61 6c 73 6f 20 75 lang-mode'.edit.buffer.to.also.u
bb860 73 65 0a 20 20 3b 3b 20 69 6e 20 74 68 65 20 72 65 70 6c 2e 0a 20 20 28 73 65 74 71 2d 6c 6f 63 se...;;.in.the.repl....(setq-loc
bb880 61 6c 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 al.font-lock-fontify-region-func
bb8a0 74 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 tion.#'racket--repl-fontify-regi
bb8c0 6f 6e 29 0a 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 73 65 74 2d 64 65 66 61 75 6c 74 73 29 0a 20 on)...(font-lock-set-defaults)..
bb8e0 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 77 69 6e 64 6f 77 2d 70 6f 69 6e 74 2d 69 6e 73 65 72 74 .(setq-local.window-point-insert
bb900 69 6f 6e 2d 74 79 70 65 20 74 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 69 6e 64 65 6e 74 ion-type.t)...(setq-local.indent
bb920 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c -line-function.#'racket-indent-l
bb940 69 6e 65 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 69 6e 64 65 6e 74 2d 74 61 62 73 2d 6d ine)...(setq-local.indent-tabs-m
bb960 6f 64 65 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 63 6f 6d 70 6c 65 74 69 6f ode.nil)...(setq-local.completio
bb980 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 73 20 28 6c 69 73 74 20 23 27 72 61 63 n-at-point-functions.(list.#'rac
bb9a0 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 0a 20 20 28 ket-repl-complete-at-point))...(
bb9c0 73 65 74 71 2d 6c 6f 63 61 6c 20 65 6c 64 6f 63 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 66 setq-local.eldoc-documentation-f
bb9e0 75 6e 63 74 69 6f 6e 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 6e 65 78 74 2d unction.nil)...(setq-local.next-
bba00 65 72 72 6f 72 2d 66 75 6e 63 74 69 6f 6e 20 23 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6e 65 78 error-function.#'racket-repl-nex
bba20 74 2d 65 72 72 6f 72 29 0a 20 20 28 72 61 63 6b 65 74 2d 72 65 70 6c 2d 72 65 61 64 2d 68 69 73 t-error)...(racket-repl-read-his
bba40 74 6f 72 79 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 68 tory)...(add-hook.'kill-buffer-h
bba60 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 77 72 69 74 65 2d 68 69 73 74 6f 72 79 20 ook.#'racket-repl-write-history.
bba80 6e 69 6c 20 74 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 65 6d 61 63 73 2d 68 nil.t)...(add-hook.'kill-emacs-h
bbaa0 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 77 72 69 74 65 2d 61 6c 6c 2d 68 69 73 74 ook.#'racket-repl-write-all-hist
bbac0 6f 72 69 65 73 20 6e 69 6c 20 74 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 78 72 65 66 2d 62 ories.nil.t)...(add-hook.'xref-b
bbae0 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 20 23 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 78 ackend-functions.#'racket-repl-x
bbb00 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 20 74 29 0a 20 20 28 61 ref-backend-function.nil.t)...(a
bbb20 64 64 2d 74 6f 2d 6c 69 73 74 20 27 73 65 6d 61 6e 74 69 63 2d 73 79 6d 72 65 66 2d 66 69 6c 65 dd-to-list.'semantic-symref-file
bbb40 70 61 74 74 65 72 6e 2d 61 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 72 pattern-alist................'(r
bbb60 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 20 22 2a 2e 72 6b 74 22 20 22 2a 2e 72 6b 74 64 22 acket-repl-mode."*.rkt"."*.rktd"
bbb80 20 22 2a 2e 72 6b 74 6c 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c ."*.rktl")))..(defun.racket-repl
bbba0 2d 77 72 69 74 65 2d 61 6c 6c 2d 68 69 73 74 6f 72 69 65 73 20 28 29 0a 20 20 22 43 61 6c 6c 20 -write-all-histories.()..."Call.
bbbc0 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 77 72 69 74 65 2d 68 69 73 74 6f 72 79 27 20 66 6f 72 20 `racket-repl-write-history'.for.
bbbe0 61 6c 6c 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 73 2e 0a all.`racket-repl-mode'.buffers..
bbc00 41 20 73 75 69 74 61 62 6c 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 68 6f 6f 6b 20 60 6b A.suitable.value.for.the.hook.`k
bbc20 69 6c 6c 2d 65 6d 61 63 73 2d 68 6f 6f 6b 27 2e 22 0a 20 20 28 64 6f 6c 69 73 74 20 28 62 75 66 ill-emacs-hook'."...(dolist.(buf
bbc40 20 28 62 75 66 66 65 72 2d 6c 69 73 74 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e .(buffer-list)).....(with-curren
bbc60 74 2d 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 6d 61 6a t-buffer.buf.......(when.(eq.maj
bbc80 6f 72 2d 6d 6f 64 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 or-mode.'racket-repl-mode)......
bbca0 20 20 20 28 72 61 63 6b 65 74 2d 72 65 70 6c 2d 77 72 69 74 65 2d 68 69 73 74 6f 72 79 29 29 29 ...(racket-repl-write-history)))
bbcc0 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 ))..(defun.racket--buffer-name-s
bbce0 6c 75 67 20 28 29 0a 20 20 22 43 68 61 6e 67 65 20 60 62 75 66 66 65 72 2d 6e 61 6d 65 27 20 74 lug.()..."Change.`buffer-name'.t
bbd00 6f 20 61 20 73 74 72 69 6e 67 20 74 68 61 74 20 69 73 20 61 20 76 61 6c 69 64 20 66 69 6c 65 6e o.a.string.that.is.a.valid.filen
bbd20 61 6d 65 2e 22 0a 20 20 3b 3b 20 32 2e 20 42 75 74 20 6e 6f 74 20 6c 65 61 64 69 6e 67 20 6f 72 ame."...;;.2..But.not.leading.or
bbd40 20 74 72 61 69 6c 69 6e 67 20 3f 2d 0a 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 .trailing.?-...(replace-regexp-i
bbd60 6e 2d 73 74 72 69 6e 67 0a 20 20 20 28 72 78 20 28 6f 72 20 28 73 65 71 20 62 6f 73 20 28 2b 20 n-string....(rx.(or.(seq.bos.(+.
bbd80 3f 2d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 20 28 2b 20 3f 2d 29 20 65 6f 73 29 ?-))............(seq.(+.?-).eos)
bbda0 29 29 0a 20 20 20 22 22 0a 20 20 20 3b 3b 20 31 2e 20 52 65 70 6c 61 63 65 20 72 75 6e 73 20 6f ))....""....;;.1..Replace.runs.o
bbdc0 66 20 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f 74 20 61 6c 6e 75 6d 20 77 69 74 f.anything.that.is.not.alnum.wit
bbde0 68 20 61 20 73 69 6e 67 6c 65 20 3f 2d 2e 0a 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 h.a.single.?-.....(replace-regex
bbe00 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 28 72 78 20 28 2b 20 28 6e 6f 74 20 28 61 6e 79 p-in-string.....(rx.(+.(not.(any
bbe20 20 61 6c 6e 75 6d 29 29 29 29 0a 20 20 20 20 22 2d 22 0a 20 20 20 20 28 62 75 66 66 65 72 2d 6e .alnum))))....."-".....(buffer-n
bbe40 61 6d 65 29 29 29 29 0a 0a 3b 3b 3b 20 43 6c 65 61 72 69 6e 67 20 74 68 65 20 52 45 50 4c 0a 0a ame))))..;;;.Clearing.the.REPL..
bbe60 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 20 28 29 0a 20 20 22 44 (defun.racket-repl-clear.()..."D
bbe80 65 6c 65 74 65 20 61 6c 6c 20 74 65 78 74 20 69 6e 20 74 68 65 20 52 45 50 4c 2e 0a 0a 41 20 73 elete.all.text.in.the.REPL...A.s
bbea0 75 69 74 61 62 6c 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 68 6f 6f 6b 20 60 72 61 63 6b uitable.value.for.the.hook.`rack
bbec0 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 27 20 69 66 20 79 6f 75 0a 77 61 6e 74 20 et-before-run-hook'.if.you.want.
bbee0 74 68 65 20 52 45 50 4c 20 62 75 66 66 65 72 20 74 6f 20 62 65 20 63 6c 65 61 72 65 64 20 62 65 the.REPL.buffer.to.be.cleared.be
bbf00 66 6f 72 65 20 65 61 63 68 20 72 75 6e 2c 20 6d 75 63 68 20 6c 69 6b 65 0a 77 69 74 68 20 44 72 fore.each.run,.much.like.with.Dr
bbf20 20 52 61 63 6b 65 74 2e 20 54 6f 20 64 6f 20 73 6f 20 79 6f 75 20 63 61 6e 20 75 73 65 20 60 63 .Racket..To.do.so.you.can.use.`c
bbf40 75 73 74 6f 6d 69 7a 65 27 2c 20 6f 72 2c 20 61 64 64 20 74 6f 20 79 6f 75 72 0a 45 6d 61 63 73 ustomize',.or,.add.to.your.Emacs
bbf60 20 69 6e 69 74 20 66 69 6c 65 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 3a 0a 0a 20 20 28 61 .init.file.something.like:....(a
bbf80 64 64 2d 68 6f 6f 6b 20 5c 5c 3d 27 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f dd-hook.\\='racket-before-run-ho
bbfa0 6f 6b 20 23 5c 5c 3d 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 29 0a 0a 53 65 65 20 ok.#\\='racket-repl-clear)..See.
bbfc0 61 6c 73 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c also.the.command.`racket-repl-cl
bbfe0 65 61 72 2d 6c 65 61 76 69 6e 67 2d 6c 61 73 74 2d 70 72 6f 6d 70 74 27 2e 22 0a 20 20 28 72 61 ear-leaving-last-prompt'."...(ra
bc000 63 6b 65 74 2d 2d 64 6f 2d 72 65 70 6c 2d 63 6c 65 61 72 20 6e 69 6c 29 29 0a 0a 28 64 65 66 75 cket--do-repl-clear.nil))..(defu
bc020 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d 6c 65 61 76 69 6e 67 2d 6c 61 73 74 n.racket-repl-clear-leaving-last
bc040 2d 70 72 6f 6d 70 74 20 28 29 0a 20 20 22 44 65 6c 65 74 65 20 61 6c 6c 20 74 65 78 74 20 69 6e -prompt.()..."Delete.all.text.in
bc060 20 74 68 65 20 52 45 50 4c 2c 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 74 20 70 .the.REPL,.except.for.the.last.p
bc080 72 6f 6d 70 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 rompt."...(interactive)...(racke
bc0a0 74 2d 2d 64 6f 2d 72 65 70 6c 2d 63 6c 65 61 72 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 t--do-repl-clear.t))..(defun.rac
bc0c0 6b 65 74 2d 2d 64 6f 2d 72 65 70 6c 2d 63 6c 65 61 72 20 28 6c 65 61 76 65 2d 6c 61 73 74 2d 70 ket--do-repl-clear.(leave-last-p
bc0e0 72 6f 6d 70 74 2d 70 29 0a 20 20 28 63 6f 6e 64 20 28 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 rompt-p)...(cond.((eq.major-mode
bc100 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 28 72 61 .'racket-repl-mode)..........(ra
bc120 63 6b 65 74 2d 2d 64 65 6c 65 74 65 2d 61 6c 6c 2d 62 75 66 66 65 72 2d 74 65 78 74 20 6c 65 61 cket--delete-all-buffer-text.lea
bc140 76 65 2d 6c 61 73 74 2d 70 72 6f 6d 70 74 2d 70 29 29 0a 20 20 20 20 20 20 20 20 28 28 72 61 63 ve-last-prompt-p)).........((rac
bc160 6b 65 74 2d 2d 65 64 69 74 2d 6d 6f 64 65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e ket--edit-mode-p)..........(when
bc180 20 28 67 65 74 2d 62 75 66 66 65 72 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d .(get-buffer.racket-repl-buffer-
bc1a0 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 name)............(with-current-b
bc1c0 75 66 66 65 72 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 0a 20 20 uffer.racket-repl-buffer-name...
bc1e0 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 6c 65 74 65 2d 61 6c 6c 2d 62 ...........(racket--delete-all-b
bc200 75 66 66 65 72 2d 74 65 78 74 20 6c 65 61 76 65 2d 6c 61 73 74 2d 70 72 6f 6d 70 74 2d 70 29 29 uffer-text.leave-last-prompt-p))
bc220 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 )).........(t..........(user-err
bc240 6f 72 20 22 43 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 69 73 20 6e 6f 74 20 61 20 52 61 63 6b or."Current.buffer.is.not.a.Rack
bc260 65 74 20 65 64 69 74 20 6f 72 20 52 45 50 4c 20 62 75 66 66 65 72 22 29 29 29 29 0a 0a 28 64 65 et.edit.or.REPL.buffer"))))..(de
bc280 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 6c 65 74 65 2d 61 6c 6c 2d 62 75 66 66 65 72 2d 74 65 fun.racket--delete-all-buffer-te
bc2a0 78 74 20 28 6c 65 61 76 65 2d 6c 61 73 74 2d 70 72 6f 6d 70 74 2d 70 29 0a 20 20 28 77 69 64 65 xt.(leave-last-prompt-p)...(wide
bc2c0 6e 29 0a 20 20 28 6c 65 74 20 28 28 65 6e 64 20 28 69 66 20 6c 65 61 76 65 2d 6c 61 73 74 2d 70 n)...(let.((end.(if.leave-last-p
bc2e0 72 6f 6d 70 74 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 rompt-p..................(save-e
bc300 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 xcursion....................(got
bc320 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 o-char.(point-max)).............
bc340 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 65 76 69 6f 75 73 2d 70 72 6f .......(racket-repl-previous-pro
bc360 6d 70 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d mpt)....................(racket-
bc380 72 65 70 6c 2d 6e 65 78 74 2d 70 72 6f 6d 70 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 repl-next-prompt)...............
bc3a0 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 30 29 20 20 20 3b 42 4f 4c 20 69 67 6e .....(forward-line.0)...;BOL.ign
bc3c0 6f 72 69 6e 67 20 66 69 65 6c 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oring.fields....................
bc3e0 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 2d 6d (point))................(point-m
bc400 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 ax))).........(inhibit-read-only
bc420 20 74 29 29 0a 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d .t)).....(delete-region.(point-m
bc440 69 6e 29 20 65 6e 64 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d in).end).....(goto-char.(point-m
bc460 61 78 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 77 69 6e 20 28 67 65 74 2d 62 75 66 66 65 ax)).....(dolist.(win.(get-buffe
bc480 72 2d 77 69 6e 64 6f 77 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 2d 77 69 6e 64 6f r-window-list)).......(set-windo
bc4a0 77 2d 70 6f 69 6e 74 20 77 69 6e 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 0a 3b 3b 3b w-point.win.(point-max)))))..;;;
bc4c0 20 45 72 72 6f 72 73 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 .Errors..(defvar.racket-repl-err
bc4e0 6f 72 2d 6c 6f 63 61 74 69 6f 6e 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 6d 61 or-location-map...(let.((map.(ma
bc500 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d ke-sparse-keymap))).....(define-
bc520 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 52 45 54 22 29 20 23 27 72 61 63 6b 65 74 2d 72 65 70 key.map.(kbd."RET").#'racket-rep
bc540 6c 2d 67 6f 74 6f 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 29 0a 20 20 20 20 6d 61 70 29 29 l-goto-error-location).....map))
bc560 0a 0a 3b 3b 20 4e 6f 74 65 20 61 62 6f 75 74 20 65 72 72 6f 72 20 6c 6f 63 61 74 69 6f 6e 73 3a ..;;.Note.about.error.locations:
bc580 20 4f 6e 20 74 68 65 20 6f 6e 65 20 68 61 6e 64 2c 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 65 .On.the.one.hand,.representing.e
bc5a0 72 72 6f 72 0a 3b 3b 20 6c 6f 63 61 74 69 6f 6e 73 20 75 73 69 6e 67 20 6d 61 72 6b 65 72 73 20 rror.;;.locations.using.markers.
bc5c0 68 61 73 20 61 20 62 65 6e 65 66 69 74 3a 20 54 68 65 20 75 73 65 72 20 63 61 6e 20 65 64 69 74 has.a.benefit:.The.user.can.edit
bc5e0 20 74 68 65 20 66 69 6c 65 0a 3b 3b 20 74 6f 20 66 69 78 20 74 68 65 20 65 72 72 6f 72 20 6f 72 .the.file.;;.to.fix.the.error.or
bc600 20 74 65 73 74 20 66 61 69 6c 75 72 65 2c 20 77 69 74 68 6f 75 74 20 64 69 73 74 75 72 62 69 6e .test.failure,.without.disturbin
bc620 67 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 0a 3b 3b 20 76 69 73 69 74 20 73 75 62 73 65 71 g.the.ability.to.;;.visit.subseq
bc640 75 65 6e 74 20 65 72 72 6f 72 20 6c 6f 63 61 74 69 6f 6e 73 2e 20 4f 6e 20 74 68 65 20 6f 74 68 uent.error.locations..On.the.oth
bc660 65 72 20 68 61 6e 64 2c 20 6d 61 72 6b 65 72 73 20 69 6d 70 6f 73 65 0a 3b 3b 20 73 6f 6d 65 20 er.hand,.markers.impose.;;.some.
bc680 63 6f 73 74 20 6f 6e 20 65 64 69 74 20 6f 70 65 72 61 74 69 6f 6e 73 3b 20 61 6e 64 20 61 6e 79 cost.on.edit.operations;.and.any
bc6a0 77 61 79 20 77 65 20 63 61 6e 20 6f 6e 6c 79 20 63 72 65 61 74 65 20 61 0a 3b 3b 20 6d 61 72 6b way.we.can.only.create.a.;;.mark
bc6c0 65 72 20 69 66 20 61 20 62 75 66 66 65 72 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 20 66 6f er.if.a.buffer.already.exists.fo
bc6e0 72 20 74 68 65 20 66 69 6c 65 2e 20 4f 75 72 20 74 61 63 74 69 63 20 74 6f 20 70 61 79 0a 3b 3b r.the.file..Our.tactic.to.pay.;;
bc700 20 74 68 65 20 63 6f 73 74 20 6f 6e 6c 79 20 77 68 65 6e 20 77 65 20 67 65 74 20 74 68 65 20 62 .the.cost.only.when.we.get.the.b
bc720 65 6e 65 66 69 74 3a 20 49 6e 69 74 69 61 6c 6c 79 20 63 72 65 61 74 65 20 74 68 65 0a 3b 3b 20 enefit:.Initially.create.the.;;.
bc740 6c 6f 63 61 74 69 6f 6e 73 20 75 73 69 6e 67 20 70 6f 73 69 74 69 6f 6e 73 2e 20 57 68 65 6e 20 locations.using.positions..When.
bc760 74 68 65 20 75 73 65 72 20 77 61 6e 74 73 20 74 6f 20 76 69 73 69 74 20 61 20 6c 6f 63 61 74 69 the.user.wants.to.visit.a.locati
bc780 6f 6e 2c 0a 3b 3b 20 22 75 70 67 72 61 64 65 22 20 6f 75 72 20 76 61 6c 75 65 73 20 66 6f 72 20 on,.;;."upgrade".our.values.for.
bc7a0 74 68 61 74 20 66 69 6c 65 20 74 6f 20 75 73 65 20 6d 61 72 6b 65 72 73 20 28 62 75 74 20 6f 6e that.file.to.use.markers.(but.on
bc7c0 6c 79 20 73 69 6e 63 65 0a 3b 3b 20 74 68 65 20 6c 61 73 74 20 72 75 6e 29 2c 20 76 69 73 69 74 ly.since.;;.the.last.run),.visit
bc7e0 69 6e 67 20 74 68 65 20 66 69 6c 65 20 69 66 20 6e 65 63 65 73 73 61 72 79 2e 20 41 6e 64 20 6f ing.the.file.if.necessary..And.o
bc800 75 72 0a 3b 3b 20 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 20 74 68 61 74 20 72 65 73 65 74 ur.;;.before-run-hook.that.reset
bc820 73 20 6e 65 78 74 2d 65 72 72 6f 72 20 61 6c 73 6f 20 22 64 6f 77 6e 67 72 61 64 65 73 22 20 2f s.next-error.also."downgrades"./
bc840 61 6c 6c 2f 20 6c 6f 63 73 0a 3b 3b 20 66 72 6f 6d 20 6d 61 72 6b 65 72 73 20 62 61 63 6b 20 74 all/.locs.;;.from.markers.back.t
bc860 6f 20 70 6f 73 69 74 69 6f 6e 73 2e 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 66 6f 72 o.positions...(defun.racket--for
bc880 6d 61 74 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 20 28 72 61 77 2d 6c 6f 63 29 0a 20 20 3b mat-error-location.(raw-loc)...;
bc8a0 3b 20 49 6e 69 74 69 61 6c 6c 79 20 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 6c 6f 63 20 69 73 20 ;.Initially.racket-error-loc.is.
bc8c0 28 6c 69 73 74 20 66 69 6c 65 20 62 65 67 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 29 2e 0a 20 20 28 (list.file.beg-pos.end-pos)....(
bc8e0 70 63 61 73 65 20 72 61 77 2d 6c 6f 63 0a 20 20 20 20 28 60 28 2c 73 74 72 20 2c 66 69 6c 65 20 pcase.raw-loc.....(`(,str.,file.
bc900 2c 5f 6c 69 6e 65 20 2c 5f 63 6f 6c 20 2c 70 6f 73 20 2c 73 70 61 6e 29 0a 20 20 20 20 20 28 70 ,_line.,_col.,pos.,span)......(p
bc920 72 6f 70 65 72 74 69 7a 65 20 73 74 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 ropertize.str..................'
bc940 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 6c 6f 63 20 28 6c 69 73 74 20 66 69 6c 65 20 70 6f 73 20 racket-error-loc.(list.file.pos.
bc960 28 2b 20 70 6f 73 20 73 70 61 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 (+.pos.span))..................'
bc980 72 65 61 72 2d 6e 6f 6e 73 74 69 63 6b 79 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rear-nonsticky.t................
bc9a0 20 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 ..'font-lock-face.'racket-repl-e
bc9c0 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 rror-location..................'
bc9e0 6b 65 79 6d 61 70 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f keymap.racket-repl-error-locatio
bca00 6e 2d 6d 61 70 29 29 0a 20 20 20 20 28 5f 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 6c 6f 63 61 n-map)).....(_.(propertize."loca
bca20 74 69 6f 6e 20 4e 2f 41 22 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 27 69 74 61 6c 69 tion.N/A".'font-lock-face.'itali
bca40 63 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 75 70 67 72 61 c))))..(defun.racket--repl-upgra
bca60 64 65 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 73 20 28 66 69 6c 65 29 0a 20 20 3b 3b 20 43 de-error-locations.(file)...;;.C
bca80 68 61 6e 67 65 20 61 6c 6c 20 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 6c 6f 63 73 20 66 6f 72 20 hange.all.racket-error-locs.for.
bcaa0 46 49 4c 45 2c 20 73 69 6e 63 65 20 74 68 65 20 6c 61 73 74 20 72 75 6e 2c 20 77 68 69 63 68 0a FILE,.since.the.last.run,.which.
bcac0 20 20 3b 3b 20 75 73 65 20 70 6f 73 69 74 69 6f 6e 73 2c 20 69 6e 73 74 65 61 64 20 74 6f 20 75 ..;;.use.positions,.instead.to.u
bcae0 73 65 20 6d 61 72 6b 65 72 73 2c 20 6c 6f 61 64 69 6e 67 20 46 49 4c 45 20 69 6e 20 61 20 62 75 se.markers,.loading.FILE.in.a.bu
bcb00 66 66 65 72 0a 20 20 3b 3b 20 69 66 20 6e 65 63 65 73 73 61 72 79 2e 0a 20 20 28 6c 65 74 20 28 ffer...;;.if.necessary....(let.(
bcb20 28 62 75 66 20 28 6f 72 20 28 67 65 74 2d 66 69 6c 65 2d 62 75 66 66 65 72 20 66 69 6c 65 29 0a (buf.(or.(get-file-buffer.file).
bcb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 69 6e 64 2d 66 69 6c .................(let.((find-fil
bcb60 65 2d 73 75 70 70 72 65 73 73 2d 73 61 6d 65 2d 66 69 6c 65 2d 77 61 72 6e 69 6e 67 73 20 74 29 e-suppress-same-file-warnings.t)
bcb80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 2d )....................(find-file-
bcba0 6e 6f 73 65 6c 65 63 74 20 66 69 6c 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 66 72 6f 6d 20 noselect.file)))).........(from.
bcbc0 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (save-excursion.................
bcbe0 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 61 66 74 65 72 2d 70 72 65 76 69 6f 75 73 2d 66 69 65 (racket--repl-after-previous-fie
bcc00 6c 64 20 27 28 72 75 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e ld.'(run)).................(poin
bcc20 74 29 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6d 61 70 2d 65 72 72 6f 72 2d 6c 6f 63 t)))).....(racket--map-error-loc
bcc40 61 74 69 6f 6e 73 0a 20 20 20 20 20 66 72 6f 6d 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 76 ations......from......(lambda.(v
bcc60 29 0a 20 20 20 20 20 20 20 28 70 63 61 73 65 20 76 0a 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 )........(pcase.v..........((and
bcc80 20 60 28 2c 74 68 69 73 2d 66 69 6c 65 20 2c 62 65 67 20 2c 65 6e 64 29 20 28 67 75 61 72 64 20 .`(,this-file.,beg.,end).(guard.
bcca0 28 65 71 75 61 6c 20 74 68 69 73 2d 66 69 6c 65 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 (equal.this-file.file)))........
bccc0 20 20 20 28 69 67 6e 6f 72 65 20 74 68 69 73 2d 66 69 6c 65 29 20 3b 22 75 6e 75 73 65 64 20 6c ...(ignore.this-file).;"unused.l
bcce0 65 78 69 63 61 6c 20 76 61 72 69 61 62 6c 65 22 20 6f 6e 20 73 6f 6d 65 20 45 6d 61 63 73 0a 20 exical.variable".on.some.Emacs..
bcd00 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 73 65 74 2d 6d 61 72 6b 65 72 20 28 6d 61 6b 65 .........(list.(set-marker.(make
bcd20 2d 6d 61 72 6b 65 72 29 20 62 65 67 20 62 75 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -marker).beg.buf)...............
bcd40 20 20 28 73 65 74 2d 6d 61 72 6b 65 72 20 28 6d 61 6b 65 2d 6d 61 72 6b 65 72 29 20 65 6e 64 20 ..(set-marker.(make-marker).end.
bcd60 62 75 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 76 20 76 29 29 29 29 29 29 0a 0a 28 64 65 66 buf)))..........(v.v))))))..(def
bcd80 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 64 6f 77 6e 67 72 61 64 65 2d 65 72 72 6f 72 2d un.racket--repl-downgrade-error-
bcda0 6c 6f 63 61 74 69 6f 6e 73 20 28 29 0a 20 20 3b 3b 20 43 68 61 6e 67 65 20 61 6c 6c 20 72 61 63 locations.()...;;.Change.all.rac
bcdc0 6b 65 74 2d 65 72 72 6f 72 2d 6c 6f 63 73 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 2c 20 77 68 ket-error-locs.in.the.buffer,.wh
bcde0 69 63 68 20 75 73 65 20 6d 61 72 6b 65 72 73 2c 0a 20 20 3b 3b 20 69 6e 73 74 65 61 64 20 74 6f ich.use.markers,...;;.instead.to
bce00 20 75 73 65 20 70 6f 73 69 74 69 6f 6e 73 2c 20 61 6e 64 20 6d 61 6b 65 20 74 68 65 20 6f 6c 64 .use.positions,.and.make.the.old
bce20 20 6d 61 72 6b 65 72 73 20 70 6f 69 6e 74 20 6e 6f 77 68 65 72 65 2e 0a 20 20 28 72 61 63 6b 65 .markers.point.nowhere....(racke
bce40 74 2d 2d 6d 61 70 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 73 0a 20 20 20 28 70 6f 69 6e 74 t--map-error-locations....(point
bce60 2d 6d 69 6e 29 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 76 29 0a 20 20 20 20 20 28 70 63 61 73 65 -min)....(lambda.(v)......(pcase
bce80 20 76 0a 20 20 20 20 20 20 20 28 60 28 2c 62 65 67 20 2c 65 6e 64 29 0a 20 20 20 20 20 20 20 20 .v........(`(,beg.,end).........
bcea0 28 70 72 6f 67 31 20 28 6c 69 73 74 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 (prog1.(list.(buffer-file-name.(
bcec0 6d 61 72 6b 65 72 2d 62 75 66 66 65 72 20 62 65 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 marker-buffer.beg)).............
bcee0 20 20 20 20 20 20 20 20 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 74 69 6f 6e 20 62 65 67 29 0a 20 .........(marker-position.beg)..
bcf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 ....................(marker-posi
bcf20 74 69 6f 6e 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 6d 61 72 6b 65 72 tion.end))...........(set-marker
bcf40 20 62 65 67 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 6d 61 72 6b 65 72 20 .beg.nil)...........(set-marker.
bcf60 65 6e 64 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 28 76 20 76 29 29 29 29 29 0a 0a 28 64 65 end.nil)))........(v.v)))))..(de
bcf80 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6d 61 70 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 73 20 fun.racket--map-error-locations.
bcfa0 28 73 74 61 72 74 20 66 75 6e 29 0a 20 20 3b 3b 20 41 70 70 6c 79 20 46 55 4e 20 74 6f 20 72 61 (start.fun)...;;.Apply.FUN.to.ra
bcfc0 63 6b 65 74 2d 65 72 72 6f 72 2d 6c 6f 63 20 70 72 6f 70 65 72 74 79 20 73 70 61 6e 73 20 61 66 cket-error-loc.property.spans.af
bcfe0 74 65 72 20 53 54 41 52 54 20 74 6f 20 65 6f 62 2e 0a 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 ter.START.to.eob....(let.((inhib
bd000 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 70 20 27 72 it-read-only.t).........(prop.'r
bd020 61 63 6b 65 74 2d 65 72 72 6f 72 2d 6c 6f 63 29 29 0a 20 20 20 20 28 77 68 69 6c 65 0a 20 20 20 acket-error-loc)).....(while....
bd040 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 62 65 67 20 28 6e 65 78 74 2d 73 69 6e 67 6c .....(when-let.((beg.(next-singl
bd060 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 73 74 61 72 74 20 70 72 6f 70 29 29 0a 20 e-property-change.start.prop))..
bd080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 6e 65 78 74 2d 73 69 6e ..................(end.(next-sin
bd0a0 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 62 65 67 20 20 20 70 72 6f 70 29 29 gle-property-change.beg...prop))
bd0c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 20 28 67 65 74 2d 74 65 ....................(val.(get-te
bd0e0 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 70 72 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 xt-property.beg.prop))).........
bd100 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 20 70 72 6f ..(put-text-property.beg.end.pro
bd120 70 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 76 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 p.(funcall.fun.val))...........(
bd140 73 65 74 71 20 73 74 61 72 74 20 65 6e 64 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b setq.start.end)))))..(defun.rack
bd160 65 74 2d 72 65 70 6c 2d 67 6f 74 6f 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 20 28 29 0a 20 et-repl-goto-error-location.()..
bd180 20 22 57 68 65 6e 20 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 6c 6f 63 20 70 72 6f 70 20 65 78 69 ."When.racket-error-loc.prop.exi
bd1a0 73 74 73 20 61 74 20 70 6f 69 6e 74 2c 20 60 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 67 6f 74 6f 2d sts.at.point,.`compilation-goto-
bd1c0 6c 6f 63 75 73 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 70 63 61 73 locus'."...(interactive)...(pcas
bd1e0 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 72 61 e.(get-text-property.(point).'ra
bd200 63 6b 65 74 2d 65 72 72 6f 72 2d 6c 6f 63 29 0a 20 20 20 20 3b 3b 20 41 20 72 61 63 6b 65 74 2d cket-error-loc).....;;.A.racket-
bd220 65 72 72 6f 72 2d 6c 6f 63 20 70 72 6f 70 65 72 74 79 20 75 73 69 6e 67 20 66 69 6c 65 20 70 6c error-loc.property.using.file.pl
bd240 75 73 20 70 6f 73 69 74 69 6f 6e 20 69 6e 74 65 67 65 72 73 2e 0a 20 20 20 20 28 60 28 2c 66 69 us.position.integers......(`(,fi
bd260 6c 65 20 2c 5f 62 65 67 20 2c 5f 65 6e 64 29 0a 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 le.,_beg.,_end)......(racket--re
bd280 70 6c 2d 75 70 67 72 61 64 65 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 73 20 66 69 6c 65 29 pl-upgrade-error-locations.file)
bd2a0 0a 20 20 20 20 20 28 72 61 63 6b 65 74 2d 72 65 70 6c 2d 67 6f 74 6f 2d 65 72 72 6f 72 2d 6c 6f ......(racket-repl-goto-error-lo
bd2c0 63 61 74 69 6f 6e 29 29 0a 20 20 20 20 3b 3b 20 41 20 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 6c cation)).....;;.A.racket-error-l
bd2e0 6f 63 20 70 72 6f 70 65 72 74 79 20 75 73 69 6e 67 20 6d 61 72 6b 65 72 73 20 70 6f 69 6e 74 69 oc.property.using.markers.pointi
bd300 6e 67 20 69 6e 74 6f 20 74 68 65 0a 20 20 20 20 3b 3b 20 62 75 66 66 65 72 2e 0a 20 20 20 20 28 ng.into.the.....;;.buffer......(
bd320 60 28 2c 62 65 67 20 2c 65 6e 64 29 0a 20 20 20 20 20 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 67 `(,beg.,end)......(compilation-g
bd340 6f 74 6f 2d 6c 6f 63 75 73 20 28 70 6f 69 6e 74 2d 6d 61 72 6b 65 72 29 20 62 65 67 20 65 6e 64 oto-locus.(point-marker).beg.end
bd360 29 29 29 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 65 72 72 6f ))))..(defvar-local.racket--erro
bd380 72 73 2d 72 65 73 65 74 20 74 29 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 rs-reset.t).(defvar-local.racket
bd3a0 2d 2d 65 72 72 6f 72 73 2d 70 6f 69 6e 74 2d 6d 69 6e 20 6e 69 6c 29 0a 28 64 65 66 75 6e 20 72 --errors-point-min.nil).(defun.r
bd3c0 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 66 6f 72 67 65 74 2d 65 72 72 6f 72 73 20 28 29 0a 20 20 22 acket--repl-forget-errors.()..."
bd3e0 46 6f 72 67 65 74 20 65 78 69 73 74 69 6e 67 20 65 72 72 6f 72 73 20 69 6e 20 74 68 65 20 52 45 Forget.existing.errors.in.the.RE
bd400 50 4c 2e 0a 41 6c 74 68 6f 75 67 68 20 74 68 65 79 20 72 65 6d 61 69 6e 20 63 6c 69 63 6b 61 62 PL..Although.they.remain.clickab
bd420 6c 65 20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 69 67 6e 6f 72 65 64 20 62 79 0a 60 6e 65 78 74 le.they.will.be.ignored.by.`next
bd440 2d 65 72 72 6f 72 27 20 61 6e 64 20 60 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 27 2e 22 0a 20 -error'.and.`previous-error'."..
bd460 20 28 77 69 74 68 2d 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 0a 20 20 20 20 28 72 .(with-racket-repl-buffer.....(r
bd480 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 64 6f 77 6e 67 72 61 64 65 2d 65 72 72 6f 72 2d 6c 6f 63 61 acket--repl-downgrade-error-loca
bd4a0 74 69 6f 6e 73 29 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 65 72 72 6f 72 73 2d tions).....(setq.racket--errors-
bd4c0 72 65 73 65 74 20 74 29 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 65 72 72 6f 72 reset.t).....(setq.racket--error
bd4e0 73 2d 70 6f 69 6e 74 2d 6d 69 6e 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 3b 3b 20 s-point-min.(point-max)).....;;.
bd500 53 65 74 20 74 68 69 73 20 73 6f 20 60 6e 65 78 74 2d 65 72 72 6f 72 2d 66 69 6e 64 2d 62 75 66 Set.this.so.`next-error-find-buf
bd520 66 65 72 27 20 63 68 6f 6f 73 65 73 20 75 73 2e 0a 20 20 20 20 28 73 65 74 71 20 6e 65 78 74 2d fer'.chooses.us......(setq.next-
bd540 65 72 72 6f 72 2d 6c 61 73 74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 error-last-buffer.(current-buffe
bd560 72 29 29 29 29 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 62 65 r)))).(add-hook.'racket--repl-be
bd580 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 66 6f 72 fore-run-hook.#'racket--repl-for
bd5a0 67 65 74 2d 65 72 72 6f 72 73 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d get-errors)..(defun.racket-repl-
bd5c0 6e 65 78 74 2d 65 72 72 6f 72 20 28 63 6f 75 6e 74 20 72 65 73 65 74 29 0a 20 20 22 41 20 76 61 next-error.(count.reset)..."A.va
bd5e0 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 6e 65 78 74 2d 65 72 72 6f 72 lue.for.the.variable.`next-error
bd600 2d 66 75 6e 63 74 69 6f 6e 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 72 6f 70 20 27 72 61 63 6b -function'."...(let.((prop.'rack
bd620 65 74 2d 65 72 72 6f 72 2d 6c 6f 63 29 29 0a 20 20 20 20 28 63 6c 2d 66 6c 65 74 2a 20 28 28 67 et-error-loc)).....(cl-flet*.((g
bd640 65 74 20 28 29 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 et.().(get-text-property.(point)
bd660 20 70 72 6f 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 20 28 29 20 .prop))................(next.().
bd680 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 28 70 6f (next-single-property-change.(po
bd6a0 69 6e 74 29 20 70 72 6f 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 76 int).prop))................(prev
bd6c0 20 28 29 20 28 70 72 65 76 69 6f 75 73 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 .().(previous-single-property-ch
bd6e0 61 6e 67 65 20 28 70 6f 69 6e 74 29 20 70 72 6f 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ange.(point).prop)).............
bd700 20 20 20 28 67 6f 2d 6e 65 78 74 20 28 29 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 6f 72 20 28 6e ...(go-next.().(goto-char.(or.(n
bd720 65 78 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ext).(point-max)))).............
bd740 20 20 20 28 67 6f 2d 70 72 65 76 20 28 29 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 78 20 28 ...(go-prev.().(goto-char.(max.(
bd760 6f 72 20 28 70 72 65 76 29 20 72 61 63 6b 65 74 2d 2d 65 72 72 6f 72 73 2d 70 6f 69 6e 74 2d 6d or.(prev).racket--errors-point-m
bd780 69 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 in).............................
bd7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 65 72 72 6f 72 73 2d 70 6f ...............racket--errors-po
bd7c0 69 6e 74 2d 6d 69 6e 29 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 72 65 73 65 int-min)))).......(when.(or.rese
bd7e0 74 20 72 61 63 6b 65 74 2d 2d 65 72 72 6f 72 73 2d 72 65 73 65 74 29 0a 20 20 20 20 20 20 20 20 t.racket--errors-reset).........
bd800 28 67 6f 74 6f 2d 63 68 61 72 20 72 61 63 6b 65 74 2d 2d 65 72 72 6f 72 73 2d 70 6f 69 6e 74 2d (goto-char.racket--errors-point-
bd820 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 65 72 72 6f 72 73 min)).......(setq.racket--errors
bd840 2d 72 65 73 65 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 69 66 20 28 3c 20 30 20 63 6f 75 6e 74 -reset.nil).......(if.(<.0.count
bd860 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 5f 20 63 6f 75 6e 74 29 0a 20 )...........(dotimes.(_.count)..
bd880 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 67 65 74 29 20 28 67 6f 2d 6e 65 78 74 29 ...........(when.(get).(go-next)
bd8a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 2d 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 ).............(go-next).........
bd8c0 20 20 20 20 28 75 6e 6c 65 73 73 20 28 67 65 74 29 20 28 67 6f 2d 6e 65 78 74 29 29 29 0a 20 20 ....(unless.(get).(go-next)))...
bd8e0 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 5f 20 28 2d 20 63 6f 75 6e 74 29 29 0a 20 20 20 ......(dotimes.(_.(-.count))....
bd900 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 67 65 74 29 20 28 67 6f 2d 70 72 65 76 29 29 0a 20 20 .......(when.(get).(go-prev))...
bd920 20 20 20 20 20 20 20 20 28 67 6f 2d 70 72 65 76 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c ........(go-prev)...........(unl
bd940 65 73 73 20 28 67 65 74 29 20 28 67 6f 2d 70 72 65 76 29 29 29 29 0a 20 20 20 20 20 20 28 75 6e ess.(get).(go-prev)))).......(un
bd960 6c 65 73 73 20 28 67 65 74 29 0a 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 less.(get).........(user-error."
bd980 4e 6f 20 6d 6f 72 65 20 65 72 72 6f 72 73 22 29 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d No.more.errors")).......(racket-
bd9a0 72 65 70 6c 2d 67 6f 74 6f 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 29 29 29 29 0a 0a 3b 3b repl-goto-error-location))))..;;
bd9c0 3b 20 4e 61 76 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 61 66 74 65 72 ;.Nav..(defun.racket--repl-after
bd9e0 2d 70 72 65 76 69 6f 75 73 2d 66 69 65 6c 64 20 28 6b 69 6e 64 73 29 0a 20 20 3b 3b 20 49 66 20 -previous-field.(kinds)...;;.If.
bda00 61 6c 72 65 61 64 79 20 64 65 73 69 72 65 64 20 6b 69 6e 64 20 6f 66 20 66 69 65 6c 64 2c 20 6d already.desired.kind.of.field,.m
bda20 6f 76 65 20 62 65 66 6f 72 65 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 6e 6f 74 20 28 62 6f ove.before...(when.(and.(not.(bo
bda40 62 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 71 20 28 66 69 65 6c 64 2d 61 bp))..............(memq.(field-a
bda60 74 2d 70 6f 73 20 28 70 6f 69 6e 74 29 29 20 6b 69 6e 64 73 29 29 0a 20 20 20 20 28 67 6f 74 6f t-pos.(point)).kinds)).....(goto
bda80 2d 63 68 61 72 20 28 66 69 65 6c 64 2d 62 65 67 69 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 29 20 74 -char.(field-beginning.(point).t
bdaa0 29 29 29 0a 20 20 3b 3b 20 57 68 69 6c 65 20 6e 6f 74 20 64 65 73 69 72 65 64 20 6b 69 6e 64 20 )))...;;.While.not.desired.kind.
bdac0 6f 66 20 66 69 65 6c 64 2c 20 6d 6f 76 65 20 62 65 66 6f 72 65 2e 0a 20 20 28 77 68 69 6c 65 20 of.field,.move.before....(while.
bdae0 28 61 6e 64 20 28 6e 6f 74 20 28 62 6f 62 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (and.(not.(bobp))...............
bdb00 28 6e 6f 74 20 28 6d 65 6d 71 20 28 66 69 65 6c 64 2d 61 74 2d 70 6f 73 20 28 70 6f 69 6e 74 29 (not.(memq.(field-at-pos.(point)
bdb20 29 20 6b 69 6e 64 73 29 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 66 69 65 6c 64 ).kinds))).....(goto-char.(field
bdb40 2d 62 65 67 69 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 29 20 74 29 29 29 29 0a 0a 28 64 65 66 75 6e -beginning.(point).t))))..(defun
bdb60 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 61 66 74 65 72 2d 6e 65 78 74 2d 66 69 65 6c 64 20 28 .racket--repl-after-next-field.(
bdb80 6b 69 6e 64 73 29 0a 20 20 3b 3b 20 49 66 20 61 6c 72 65 61 64 79 20 64 65 73 69 72 65 64 20 6b kinds)...;;.If.already.desired.k
bdba0 69 6e 64 20 6f 66 20 66 69 65 6c 64 2c 20 6d 6f 76 65 20 61 66 74 65 72 20 69 74 2e 0a 20 20 28 ind.of.field,.move.after.it....(
bdbc0 77 68 65 6e 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 6f 62 70 29 29 0a 20 20 20 20 20 20 20 20 20 when.(and.(not.(eobp))..........
bdbe0 20 20 20 20 28 6d 65 6d 71 20 28 66 69 65 6c 64 2d 61 74 2d 70 6f 73 20 28 31 2b 20 28 70 6f 69 ....(memq.(field-at-pos.(1+.(poi
bdc00 6e 74 29 29 29 20 6b 69 6e 64 73 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 66 69 nt))).kinds)).....(goto-char.(fi
bdc20 65 6c 64 2d 65 6e 64 20 28 70 6f 69 6e 74 29 20 74 29 29 29 0a 20 20 3b 3b 20 57 68 69 6c 65 20 eld-end.(point).t)))...;;.While.
bdc40 6e 6f 74 20 64 65 73 69 72 65 64 20 6b 69 6e 64 20 6f 66 20 66 69 65 6c 64 2c 20 6d 6f 76 65 20 not.desired.kind.of.field,.move.
bdc60 61 66 74 65 72 2e 0a 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 6f 62 70 29 after....(while.(and.(not.(eobp)
bdc80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6d 65 6d 71 20 28 66 69 65 6c )...............(not.(memq.(fiel
bdca0 64 2d 61 74 2d 70 6f 73 20 28 31 2b 20 28 70 6f 69 6e 74 29 29 29 20 6b 69 6e 64 73 29 29 29 0a d-at-pos.(1+.(point))).kinds))).
bdcc0 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 66 69 65 6c 64 2d 65 6e 64 20 28 70 6f 69 6e 74 ....(goto-char.(field-end.(point
bdce0 29 20 74 29 29 29 0a 20 20 3b 3b 20 57 68 65 6e 20 77 65 27 76 65 20 66 6f 75 6e 64 20 74 68 65 ).t)))...;;.When.we've.found.the
bdd00 20 64 65 73 69 72 65 64 20 6b 69 6e 64 2c 20 6d 6f 76 65 20 61 66 74 65 72 20 69 74 2e 0a 20 20 .desired.kind,.move.after.it....
bdd20 28 77 68 65 6e 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 6f 62 70 29 29 0a 20 20 20 20 20 20 20 20 (when.(and.(not.(eobp)).........
bdd40 20 20 20 20 20 28 6d 65 6d 71 20 28 66 69 65 6c 64 2d 61 74 2d 70 6f 73 20 28 31 2b 20 28 70 6f .....(memq.(field-at-pos.(1+.(po
bdd60 69 6e 74 29 29 29 20 6b 69 6e 64 73 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 66 int))).kinds)).....(goto-char.(f
bdd80 69 65 6c 64 2d 65 6e 64 20 28 70 6f 69 6e 74 29 20 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 ield-end.(point).t))))..(defun.r
bdda0 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 65 76 69 6f 75 73 2d 70 72 6f 6d 70 74 20 28 29 0a 20 20 acket-repl-previous-prompt.()...
bddc0 22 4d 6f 76 65 20 74 6f 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 61 66 74 65 72 20 74 68 65 "Move.to.the.character.after.the
bdde0 20 70 72 65 76 69 6f 75 73 20 70 72 6f 6d 70 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 .previous.prompt."...(interactiv
bde00 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 61 66 74 65 72 2d 70 72 65 76 69 6f 75 e)...(racket--repl-after-previou
bde20 73 2d 66 69 65 6c 64 20 27 28 70 72 6f 6d 70 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b s-field.'(prompt)))..(defun.rack
bde40 65 74 2d 72 65 70 6c 2d 6e 65 78 74 2d 70 72 6f 6d 70 74 20 28 29 0a 20 20 22 4d 6f 76 65 20 74 et-repl-next-prompt.()..."Move.t
bde60 6f 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 61 66 74 65 72 20 74 68 65 20 6e 65 78 74 20 70 o.the.character.after.the.next.p
bde80 72 6f 6d 70 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 rompt."...(interactive)...(racke
bdea0 74 2d 2d 72 65 70 6c 2d 61 66 74 65 72 2d 6e 65 78 74 2d 66 69 65 6c 64 20 27 28 70 72 6f 6d 70 t--repl-after-next-field.'(promp
bdec0 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 65 76 69 6f 75 t)))..(defun.racket-repl-previou
bdee0 73 2d 70 72 6f 6d 70 74 2d 6f 72 2d 72 75 6e 20 28 29 0a 20 20 22 4d 6f 76 65 20 74 6f 20 74 68 s-prompt-or-run.()..."Move.to.th
bdf00 65 20 63 68 61 72 61 63 74 65 72 20 61 66 74 65 72 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 e.character.after.the.previous.p
bdf20 72 6f 6d 70 74 20 6f 72 20 72 75 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 rompt.or.run."...(interactive)..
bdf40 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 61 66 74 65 72 2d 70 72 65 76 69 6f 75 73 2d 66 69 .(racket--repl-after-previous-fi
bdf60 65 6c 64 20 27 28 70 72 6f 6d 70 74 20 72 75 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b eld.'(prompt.run)))..(defun.rack
bdf80 65 74 2d 72 65 70 6c 2d 6e 65 78 74 2d 70 72 6f 6d 70 74 2d 6f 72 2d 72 75 6e 20 28 29 0a 20 20 et-repl-next-prompt-or-run.()...
bdfa0 22 4d 6f 76 65 20 74 6f 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 61 66 74 65 72 20 74 68 65 "Move.to.the.character.after.the
bdfc0 20 6e 65 78 74 20 70 72 6f 6d 70 74 20 6f 72 20 72 75 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 .next.prompt.or.run."...(interac
bdfe0 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 61 66 74 65 72 2d 6e 65 78 74 tive)...(racket--repl-after-next
be000 2d 66 69 65 6c 64 20 27 28 70 72 6f 6d 70 74 20 72 75 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 -field.'(prompt.run)))..(defun.r
be020 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 6c 65 74 65 2d 6f 75 74 70 75 74 20 28 29 0a 20 20 22 44 acket-repl-delete-output.()..."D
be040 65 6c 65 74 65 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 52 45 50 4c 20 69 6e 74 65 72 61 63 74 69 elete.output.from.REPL.interacti
be060 6f 6e 2e 0a 0a 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 77 69 74 68 69 6e 20 61 20 70 72 6f 6d on...When.point.is.within.a.prom
be080 70 74 20 6f 72 20 69 6e 70 75 74 2c 20 64 65 6c 65 74 65 20 74 68 65 20 6f 75 74 70 75 74 20 6f pt.or.input,.delete.the.output.o
be0a0 66 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 69 6e 74 65 72 61 63 74 69 6f 6e 2e 0a 0a 57 68 65 f.the.previous.interaction...Whe
be0c0 6e 20 70 6f 69 6e 74 20 69 73 20 77 69 74 68 69 6e 20 6f 75 74 70 75 74 2c 20 64 65 6c 65 74 65 n.point.is.within.output,.delete
be0e0 20 61 6c 6c 20 6f 66 20 74 68 61 74 20 63 6f 6e 67 74 69 67 75 6f 75 73 0a 6f 75 74 70 75 74 2e .all.of.that.congtiguous.output.
be100 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 70 74 20 28 "...(interactive)...(let*.((pt.(
be120 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 75 74 70 75 74 2d 66 69 65 6c 64 73 20 point))..........(output-fields.
be140 27 28 76 61 6c 75 65 20 73 74 64 6f 75 74 20 73 74 64 65 72 72 20 65 72 72 6f 72 20 64 65 6c 65 '(value.stdout.stderr.error.dele
be160 74 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 65 67 2d 6f 66 2d 6f 75 74 70 75 74 20 28 70 ted))..........(beg-of-output.(p
be180 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b rogn...........................;
be1a0 3b 20 53 6b 69 70 20 62 61 63 6b 77 61 72 64 20 6f 76 65 72 20 6e 6f 6e 2d 6f 75 74 70 75 74 20 ;.Skip.backward.over.non-output.
be1c0 66 69 65 6c 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fields..........................
be1e0 20 28 75 6e 6c 65 73 73 20 28 6d 65 6d 71 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 .(unless.(memq.(get-text-propert
be200 79 20 28 70 6f 69 6e 74 29 20 27 66 69 65 6c 64 29 20 6f 75 74 70 75 74 2d 66 69 65 6c 64 73 29 y.(point).'field).output-fields)
be220 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 .............................(wh
be240 69 6c 65 20 28 61 6e 64 20 28 6e 6f 74 20 28 62 6f 62 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 ile.(and.(not.(bobp))...........
be260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e ..............................(n
be280 6f 74 20 28 6d 65 6d 71 20 28 66 69 65 6c 64 2d 61 74 2d 70 6f 73 20 28 70 6f 69 6e 74 29 29 20 ot.(memq.(field-at-pos.(point)).
be2a0 6f 75 74 70 75 74 2d 66 69 65 6c 64 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 output-fields)))................
be2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 66 69 65 6c 64 ...............(goto-char.(field
be2e0 2d 62 65 67 69 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 29 20 74 29 29 29 29 0a 20 20 20 20 20 20 20 -beginning.(point).t))))........
be300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 6b 69 70 20 62 61 63 6b 77 ...................;;.Skip.backw
be320 61 72 64 20 6f 76 65 72 20 6f 75 74 70 75 74 20 66 69 65 6c 64 73 0a 20 20 20 20 20 20 20 20 20 ard.over.output.fields..........
be340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 6e 6f .................(while.(and.(no
be360 74 20 28 62 6f 62 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.(bobp)).......................
be380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 71 20 28 66 69 65 6c 64 2d 61 74 2d ................(memq.(field-at-
be3a0 70 6f 73 20 28 70 6f 69 6e 74 29 29 20 6f 75 74 70 75 74 2d 66 69 65 6c 64 73 29 29 0a 20 20 20 pos.(point)).output-fields))....
be3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 .........................(goto-c
be3e0 68 61 72 20 28 66 69 65 6c 64 2d 62 65 67 69 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 29 20 74 29 29 har.(field-beginning.(point).t))
be400 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 )...........................(poi
be420 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d 6f 75 74 70 75 74 20 28 70 nt)))..........(end-of-output.(p
be440 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 rogn...........................(
be460 77 68 69 6c 65 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 6f 62 70 29 29 0a 20 20 20 20 20 20 20 20 while.(and.(not.(eobp)).........
be480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f ..............................(o
be4a0 72 20 28 6d 65 6d 71 20 28 66 69 65 6c 64 2d 61 74 2d 70 6f 73 20 28 31 2b 20 28 70 6f 69 6e 74 r.(memq.(field-at-pos.(1+.(point
be4c0 29 29 29 20 6f 75 74 70 75 74 2d 66 69 65 6c 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ))).output-fields)..............
be4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 .............................;;.
be500 41 66 74 65 72 20 73 74 64 6f 75 74 2f 73 74 64 65 72 72 20 74 68 65 72 65 0a 20 20 20 20 20 20 After.stdout/stderr.there.......
be520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
be540 20 20 20 20 3b 3b 20 6d 69 67 68 74 20 62 65 20 61 20 5c 6e 20 77 69 74 68 20 6e 69 6c 0a 20 20 ....;;.might.be.a.\n.with.nil...
be560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
be580 20 20 20 20 20 20 20 20 3b 3b 20 66 69 65 6c 64 20 70 72 6f 70 65 72 74 79 2e 0a 20 20 20 20 20 ........;;.field.property.......
be5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
be5c0 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 28 66 69 65 6c 64 2d 61 74 2d 70 6f 73 20 28 31 2b .....(and.(not.(field-at-pos.(1+
be5e0 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(point)))).....................
be600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 3f ...........................(eq.?
be620 5c 6e 20 28 63 68 61 72 2d 61 66 74 65 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 \n.(char-after))))).............
be640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 66 69 65 6c ................(goto-char.(fiel
be660 64 2d 65 6e 64 20 28 70 6f 69 6e 74 29 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 d-end.(point).t)))..............
be680 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 28 69 66 20 .............(point)))).....(if.
be6a0 28 61 6e 64 20 28 3c 20 62 65 67 2d 6f 66 2d 6f 75 74 70 75 74 20 65 6e 64 2d 6f 66 2d 6f 75 74 (and.(<.beg-of-output.end-of-out
be6c0 70 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 28 66 69 65 6c put)..............(not.(eq.(fiel
be6e0 64 2d 61 74 2d 70 6f 73 20 28 31 2b 20 62 65 67 2d 6f 66 2d 6f 75 74 70 75 74 29 29 20 27 64 65 d-at-pos.(1+.beg-of-output)).'de
be700 6c 65 74 65 64 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d leted))).........(let.((inhibit-
be720 72 65 61 64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d read-only.t))...........(delete-
be740 72 65 67 69 6f 6e 20 62 65 67 2d 6f 66 2d 6f 75 74 70 75 74 20 65 6e 64 2d 6f 66 2d 6f 75 74 70 region.beg-of-output.end-of-outp
be760 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 ut)...........(save-excursion...
be780 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 67 2d 6f 66 2d 6f 75 74 70 ..........(goto-char.beg-of-outp
be7a0 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 ut).............(insert.(propert
be7c0 69 7a 65 20 22 28 6f 75 74 70 75 74 20 64 65 6c 65 74 65 64 29 5c 6e 22 0a 20 20 20 20 20 20 20 ize."(output.deleted)\n"........
be7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 69 65 6c 64 20 .........................'field.
be800 27 64 65 6c 65 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 'deleted........................
be820 20 20 20 20 20 20 20 20 20 27 72 65 61 64 2d 6f 6e 6c 79 20 74 0a 20 20 20 20 20 20 20 20 20 20 .........'read-only.t...........
be840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 6e 74 2d 6c 6f 63 6b ......................'font-lock
be860 2d 66 61 63 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 29 29 29 29 0a 20 20 -face.racket-repl-message))))...
be880 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 74 29 0a 20 20 20 20 20 20 28 75 73 65 72 2d 65 ....(goto-char.pt).......(user-e
be8a0 72 72 6f 72 20 22 43 61 6e 27 74 20 66 69 6e 64 20 6f 75 74 70 75 74 20 74 6f 20 64 65 6c 65 74 rror."Can't.find.output.to.delet
be8c0 65 22 29 29 29 29 0a 0a 3b 3b 3b 20 49 6e 70 75 74 20 68 69 73 74 6f 72 79 0a 0a 3b 3b 20 54 4f e"))))..;;;.Input.history..;;.TO
be8e0 44 4f 3a 20 4d 61 6b 65 20 64 65 66 63 75 73 74 6f 6d 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 DO:.Make.defcustom.(defvar.racke
be900 74 2d 72 65 70 6c 2d 68 69 73 74 6f 72 79 2d 73 69 7a 65 20 31 32 38 29 0a 0a 28 64 65 66 76 61 t-repl-history-size.128)..(defva
be920 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 20 r-local.racket--repl-input-ring.
be940 6e 69 6c 29 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d nil).(defvar-local.racket--repl-
be960 69 6e 70 75 74 2d 72 69 6e 67 2d 69 6e 64 65 78 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 72 61 input-ring-index.nil)..(defun.ra
be980 63 6b 65 74 2d 2d 72 65 70 6c 2d 61 64 64 2d 74 6f 2d 69 6e 70 75 74 2d 68 69 73 74 6f 72 79 20 cket--repl-add-to-input-history.
be9a0 28 69 6e 70 75 74 29 0a 20 20 22 54 6f 20 62 65 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 60 72 61 (input)..."To.be.called.from.`ra
be9c0 63 6b 65 74 2d 72 65 70 6c 2d 73 75 62 6d 69 74 27 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 72 cket-repl-submit'."...(unless.(r
be9e0 69 6e 67 2d 70 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 29 0a 20 ing-p.racket--repl-input-ring)..
bea00 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 ...(setq.racket--repl-input-ring
bea20 20 28 6d 61 6b 65 2d 72 69 6e 67 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 68 69 73 74 6f 72 79 2d .(make-ring.racket-repl-history-
bea40 73 69 7a 65 29 29 29 0a 20 20 28 77 68 65 6e 20 28 6f 72 20 28 72 69 6e 67 2d 65 6d 70 74 79 2d size)))...(when.(or.(ring-empty-
bea60 70 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 29 0a 20 20 20 20 20 p.racket--repl-input-ring)......
bea80 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 28 72 69 6e 67 2d .......(not.(string-equal.(ring-
beaa0 72 65 66 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 20 30 29 20 69 ref.racket--repl-input-ring.0).i
beac0 6e 70 75 74 29 29 29 0a 20 20 20 20 28 72 69 6e 67 2d 69 6e 73 65 72 74 20 72 61 63 6b 65 74 2d nput))).....(ring-insert.racket-
beae0 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 20 69 6e 70 75 74 29 29 0a 20 20 28 73 65 74 71 -repl-input-ring.input))...(setq
beb00 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 2d 69 6e 64 65 78 20 6e .racket--repl-input-ring-index.n
beb20 69 6c 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 65 76 69 6f 75 il))..(defun.racket-repl-previou
beb40 73 2d 69 6e 70 75 74 20 28 61 72 67 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 2a 70 s-input.(arg)...(interactive."*p
beb60 22 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 20 28 72 69 6e 67 2d 70 20 72 61 63 6b 65 74 ")...(unless.(and.(ring-p.racket
beb80 2d 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 --repl-input-ring)..............
beba0 20 20 28 6e 6f 74 20 28 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 72 61 63 6b 65 74 2d 2d 72 65 70 ..(not.(ring-empty-p.racket--rep
bebc0 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 29 29 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 l-input-ring))).....(user-error.
bebe0 22 4e 6f 20 68 69 73 74 6f 72 79 22 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 72 61 63 6b 65 74 "No.history"))...(unless.(racket
bec00 2d 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 2d 6d 61 72 6b 2d 65 6e 64 29 0a 20 20 20 20 28 75 73 65 --repl-prompt-mark-end).....(use
bec20 72 2d 65 72 72 6f 72 20 22 4e 6f 20 70 72 6f 6d 70 74 22 29 29 0a 20 20 28 73 65 74 71 20 72 61 r-error."No.prompt"))...(setq.ra
bec40 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 2d 69 6e 64 65 78 0a 20 20 20 20 cket--repl-input-ring-index.....
bec60 20 20 20 20 28 69 66 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 2d ....(if.racket--repl-input-ring-
bec80 69 6e 64 65 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 72 61 63 6b 65 74 2d 2d 72 65 70 index.............(+.racket--rep
beca0 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 2d 69 6e 64 65 78 20 61 72 67 29 0a 20 20 20 20 20 20 20 20 l-input-ring-index.arg).........
becc0 20 20 28 69 66 20 28 3c 20 30 20 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 ..(if.(<.0.arg)...............(1
bece0 2d 20 61 72 67 29 20 3b 30 20 69 73 20 61 6c 72 65 61 64 79 20 70 72 65 76 69 6f 75 73 20 69 74 -.arg).;0.is.already.previous.it
bed00 65 6d 20 69 6e 20 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 67 29 29 29 0a 20 20 em.in.ring.............arg)))...
bed20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 70 72 6f (delete-region.(racket--repl-pro
bed40 6d 70 74 2d 6d 61 72 6b 2d 65 6e 64 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 28 6c 65 mpt-mark-end).(point-max))...(le
bed60 74 20 28 28 69 6e 70 75 74 20 28 72 69 6e 67 2d 72 65 66 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c t.((input.(ring-ref.racket--repl
bed80 2d 69 6e 70 75 74 2d 72 69 6e 67 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 -input-ring.racket--repl-input-r
beda0 69 6e 67 2d 69 6e 64 65 78 29 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 69 6e 70 75 74 29 29 ing-index))).....(insert.input))
bedc0 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6e 65 78 74 2d 69 6e 70 75 74 )..(defun.racket-repl-next-input
bede0 20 28 61 72 67 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 2a 70 22 29 0a 20 20 28 72 .(arg)...(interactive."*p")...(r
bee00 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 65 76 69 6f 75 73 2d 69 6e 70 75 74 20 28 2d 20 61 72 67 acket-repl-previous-input.(-.arg
bee20 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d 69 6e )))..(defun.racket-repl-clear-in
bee40 70 75 74 20 28 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 68 65 6e 2d 6c put.()...(interactive)...(when-l
bee60 65 74 20 28 70 72 6f 6d 70 74 2d 65 6e 64 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 70 72 6f et.(prompt-end.(racket--repl-pro
bee80 6d 70 74 2d 6d 61 72 6b 2d 65 6e 64 29 29 0a 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f mpt-mark-end)).....(delete-regio
beea0 6e 20 70 72 6f 6d 70 74 2d 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 28 73 65 n.prompt-end.(point-max)))...(se
beec0 74 71 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 2d 69 6e 64 65 78 tq.racket--repl-input-ring-index
beee0 20 6e 69 6c 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 68 69 73 74 .nil))..(defun.racket--repl-hist
bef00 6f 72 79 2d 66 69 6c 65 6e 61 6d 65 20 28 29 0a 20 20 28 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 ory-filename.()...(make-director
bef20 79 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 68 69 73 74 6f 72 79 2d 64 69 72 65 63 74 6f 72 79 20 y.racket-repl-history-directory.
bef40 74 29 0a 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 63 6f 6e 63 61 74 20 22 t)...(expand-file-name.(concat."
bef60 69 6e 70 75 74 2d 68 69 73 74 6f 72 79 2d 22 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d input-history-".(racket--buffer-
bef80 6e 61 6d 65 2d 73 6c 75 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 name-slug)).....................
befa0 72 61 63 6b 65 74 2d 72 65 70 6c 2d 68 69 73 74 6f 72 79 2d 64 69 72 65 63 74 6f 72 79 29 29 0a racket-repl-history-directory)).
befc0 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 77 72 69 74 65 2d 68 69 73 74 6f 72 .(defun.racket-repl-write-histor
befe0 79 20 28 29 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 72 69 6e 67 2d 70 20 72 61 63 6b 65 74 y.()...(when.(and.(ring-p.racket
bf000 2d 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 --repl-input-ring)..............
bf020 28 6e 6f 74 20 28 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d (not.(ring-empty-p.racket--repl-
bf040 69 6e 70 75 74 2d 72 69 6e 67 29 29 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 69 74 65 6d 73 20 input-ring))).....(let*.((items.
bf060 28 72 69 6e 67 2d 65 6c 65 6d 65 6e 74 73 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 70 75 (ring-elements.racket--repl-inpu
bf080 74 2d 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 20 20 20 28 66 6f 72 6d t-ring))............(str...(form
bf0a0 61 74 20 22 25 53 22 20 69 74 65 6d 73 29 29 29 0a 20 20 20 20 20 20 28 77 72 69 74 65 2d 72 65 at."%S".items))).......(write-re
bf0c0 67 69 6f 6e 20 73 74 72 20 6e 69 6c 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 68 69 73 74 6f gion.str.nil.(racket--repl-histo
bf0e0 72 79 2d 66 69 6c 65 6e 61 6d 65 29 20 6e 69 6c 20 27 6e 6f 2d 6d 65 73 73 61 67 65 29 29 29 29 ry-filename).nil.'no-message))))
bf100 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 72 65 61 64 2d 68 69 73 74 6f 72 ..(defun.racket-repl-read-histor
bf120 79 20 28 29 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 65 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 y.()...(let*.((file.(racket--rep
bf140 6c 2d 68 69 73 74 6f 72 79 2d 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 l-history-filename))..........(i
bf160 74 65 6d 73 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 tems.(with-temp-buffer..........
bf180 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 .........(ignore-errors.........
bf1a0 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 ............(insert-file-content
bf1c0 73 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 s.file).....................(got
bf1e0 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 o-char.(point-min)).............
bf200 20 20 20 20 20 20 20 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 ........(read.(current-buffer)))
bf220 29 29 29 0a 20 20 20 20 3b 3b 20 41 6c 74 68 6f 75 67 68 20 60 72 69 6e 67 2d 63 6f 6e 76 65 72 ))).....;;.Although.`ring-conver
bf240 74 2d 73 65 71 75 65 6e 63 65 2d 74 6f 2d 72 69 6e 67 27 20 6c 6f 6f 6b 73 20 68 61 6e 64 79 2c t-sequence-to-ring'.looks.handy,
bf260 20 69 74 0a 20 20 20 20 3b 3b 20 63 72 65 61 74 65 73 20 61 20 72 69 6e 67 20 77 69 74 68 6f 75 .it.....;;.creates.a.ring.withou
bf280 74 20 6c 65 74 74 69 6e 67 20 75 73 20 73 65 74 20 74 68 65 20 73 69 7a 65 20 28 63 61 70 61 63 t.letting.us.set.the.size.(capac
bf2a0 69 74 79 29 2e 0a 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 70 ity)......(setq.racket--repl-inp
bf2c0 75 74 2d 72 69 6e 67 20 28 6d 61 6b 65 2d 72 69 6e 67 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 68 ut-ring.(make-ring.racket-repl-h
bf2e0 69 73 74 6f 72 79 2d 73 69 7a 65 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 69 74 65 6d 20 istory-size)).....(dolist.(item.
bf300 69 74 65 6d 73 29 0a 20 20 20 20 20 20 28 72 69 6e 67 2d 69 6e 73 65 72 74 2d 61 74 2d 62 65 67 items).......(ring-insert-at-beg
bf320 69 6e 6e 69 6e 67 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 69 6e 70 75 74 2d 72 69 6e 67 20 69 inning.racket--repl-input-ring.i
bf340 74 65 6d 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a tem))))..(provide.'racket-repl).
bf360 0a 3b 3b 20 72 61 63 6b 65 74 2d 72 65 70 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 .;;.racket-repl.el.ends.here....
bf380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf400 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
bf420 72 61 63 6b 65 74 2d 75 74 69 6c 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-util.el..................
bf440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
bf480 30 30 31 35 30 35 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 34 31 37 00 20 30 00 00 00 0015052.00000000000.016417..0...
bf4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
bf520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
bf540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf600 3b 3b 3b 20 72 61 63 6b 65 74 2d 75 74 69 6c 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 ;;;.racket-util.el.-*-.lexical-b
bf620 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 inding:.t.-*-..;;.Copyright.(c).
bf640 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 2013-2022.by.Greg.Hendershott..;
bf660 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d 31 39 ;.Portions.Copyright.(C).1985-19
bf680 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 86,.1999-2013.Free.Software.Foun
bf6a0 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 65 dation,.Inc...;;.Author:.Greg.He
bf6c0 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 ndershott.;;.URL:.https://github
bf6e0 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 .com/greghendershott/racket-mode
bf700 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 ..;;.SPDX-License-Identifier:.GP
bf720 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d 78 L-3.0-or-later..(require.'subr-x
bf740 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 75 73 74 6f 6d 29 0a 0a 28 64 65 66 ).(require.'racket-custom)..(def
bf760 75 6e 20 72 61 63 6b 65 74 2d 2d 65 61 73 79 2d 6b 65 79 6d 61 70 2d 64 65 66 69 6e 65 20 28 73 un.racket--easy-keymap-define.(s
bf780 70 65 63 29 0a 20 20 22 4d 61 6b 65 20 61 20 73 70 61 72 73 65 20 6b 65 79 6d 61 70 20 77 69 74 pec)..."Make.a.sparse.keymap.wit
bf7a0 68 20 74 68 65 20 62 69 6e 64 69 6e 67 73 20 69 6e 20 53 50 45 43 2e 0a 0a 53 50 45 43 20 69 73 h.the.bindings.in.SPEC...SPEC.is
bf7c0 0a 20 20 28 6c 69 73 74 20 28 6c 69 73 74 20 4b 45 59 2d 4f 52 2d 4b 45 59 53 20 44 45 46 29 20 ...(list.(list.KEY-OR-KEYS.DEF).
bf7e0 2e 2e 2e 29 0a 0a 4b 45 59 2d 4f 52 2d 4b 45 59 73 20 69 73 20 65 69 74 68 65 72 20 61 20 73 69 ...)..KEY-OR-KEYs.is.either.a.si
bf800 6e 67 6c 65 20 6b 65 79 2c 20 6f 72 2c 20 61 73 20 61 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 77 ngle.key,.or,.as.a.convenience.w
bf820 68 65 6e 0a 6d 75 6c 74 69 70 6c 65 20 6b 65 79 73 20 62 69 6e 64 20 74 6f 20 74 68 65 20 73 61 hen.multiple.keys.bind.to.the.sa
bf840 6d 65 20 63 6f 6d 6d 61 6e 64 2c 20 61 20 6c 69 73 74 20 6f 66 20 6b 65 79 73 2e 0a 0a 45 61 63 me.command,.a.list.of.keys...Eac
bf860 68 20 6b 65 79 20 69 73 20 65 69 74 68 65 72 20 61 20 73 74 72 69 6e 67 2c 20 77 68 69 63 68 20 h.key.is.either.a.string,.which.
bf880 74 72 61 6e 73 66 6f 72 6d 65 64 20 62 79 20 60 6b 62 64 27 20 62 65 66 6f 72 65 0a 62 65 69 6e transformed.by.`kbd'.before.bein
bf8a0 67 20 67 69 76 65 6e 20 74 6f 20 60 64 65 66 69 6e 65 2d 6b 65 79 27 2c 20 6f 72 20 61 6e 6f 74 g.given.to.`define-key',.or.anot
bf8c0 68 65 72 20 76 61 6c 75 65 20 67 69 76 65 6e 20 64 69 72 65 63 74 6c 79 20 74 6f 0a 60 64 65 66 her.value.given.directly.to.`def
bf8e0 69 6e 65 2d 6b 65 79 27 2e 20 41 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 74 68 65 20 6c 61 74 74 ine-key'..An.example.of.the.latt
bf900 65 72 20 69 73 20 5b 72 65 6d 61 70 20 63 6f 6d 6d 61 6e 64 2d 6e 61 6d 65 5d 2e 0a 0a 44 45 46 er.is.[remap.command-name]...DEF
bf920 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 44 45 46 20 66 6f 72 20 60 64 65 66 69 6e 65 2d .is.the.same.as.DEF.for.`define-
bf940 6b 65 79 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b key'."...(let.((m.(make-sparse-k
bf960 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 78 29 0a 20 eymap))).....(mapc.(lambda.(x)..
bf980 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6b 65 79 73 20 28 69 66 20 28 6c 69 73 74 ...........(let.((keys.(if.(list
bf9a0 70 20 28 63 61 72 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.(car.x))......................
bf9c0 20 20 20 20 20 20 20 28 63 61 72 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(car.x)..................
bf9e0 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 61 72 20 78 29 29 29 29 0a 20 20 20 20 20 20 .........(list.(car.x)))).......
bfa00 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 20 20 28 63 61 64 72 20 78 29 29 29 0a 20 20 20 ............(def..(cadr.x)))....
bfa20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 6b 65 79 29 0a 20 ...........(mapc.(lambda.(key)..
bfa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 .....................(define-key
bfa60 20 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 .m.........................(if.(
bfa80 73 74 72 69 6e 67 70 20 6b 65 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 stringp.key)....................
bfaa0 20 20 20 20 20 20 20 20 20 28 6b 62 64 20 6b 65 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .........(kbd.key)..............
bfac0 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............key)...............
bfae0 20 20 20 20 20 20 20 20 20 20 64 65 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........def)).................
bfb00 20 20 20 20 6b 65 79 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 73 70 65 63 29 0a 20 20 20 20 ....keys)))...........spec).....
bfb20 6d 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d m))..(defun.racket--buffer-file-
bfb40 6e 61 6d 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 6f 2d 72 65 70 6c 61 63 65 2d 73 6c 61 73 68 name.(&optional.no-replace-slash
bfb60 29 0a 20 20 22 4c 69 6b 65 20 60 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 27 20 62 75 74 )..."Like.`buffer-file-name'.but
bfb80 20 61 64 6a 75 73 74 65 64 20 66 6f 72 20 75 73 65 20 6f 75 74 73 69 64 65 20 45 6d 61 63 73 2e .adjusted.for.use.outside.Emacs.
bfba0 0a 0a 41 6c 77 61 79 73 20 61 20 6e 6f 6e 2d 70 72 6f 70 65 72 74 69 7a 65 64 20 73 74 72 69 6e ..Always.a.non-propertized.strin
bfbc0 67 2e 0a 0a 57 68 65 6e 20 6f 6e 20 57 69 6e 64 6f 77 73 20 61 6e 64 20 75 6e 6c 65 73 73 20 4e g...When.on.Windows.and.unless.N
bfbe0 4f 2d 52 45 50 4c 41 43 45 2d 53 4c 41 53 48 20 69 73 20 6e 6f 74 20 6e 69 6c 2c 20 72 65 70 6c O-REPLACE-SLASH.is.not.nil,.repl
bfc00 61 63 65 73 0a 62 61 63 6b 20 73 6c 61 73 68 65 73 20 77 69 74 68 20 66 6f 72 77 61 72 64 20 73 aces.back.slashes.with.forward.s
bfc20 6c 61 73 68 65 73 2e 20 45 6d 61 63 73 20 75 73 65 73 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 lashes..Emacs.uses.forward.slash
bfc40 65 73 20 66 6f 72 0a 62 75 66 66 65 72 20 66 69 6c 65 20 6e 61 6d 65 73 20 65 76 65 6e 20 6f 6e es.for.buffer.file.names.even.on
bfc60 20 57 69 6e 64 6f 77 73 2c 20 73 6f 20 77 65 20 6e 65 65 64 20 74 6f 20 5c 22 72 65 76 65 72 73 .Windows,.so.we.need.to.\"revers
bfc80 65 5c 22 0a 74 68 69 73 20 74 6f 20 75 73 65 20 74 68 65 20 6e 61 6d 65 73 20 77 69 74 68 20 73 e\".this.to.use.the.names.with.s
bfca0 68 65 6c 6c 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 61 20 52 61 63 6b 65 74 20 62 61 63 6b 20 65 hell.programs.or.a.Racket.back.e
bfcc0 6e 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 76 20 28 61 6e 64 20 28 62 75 66 66 65 72 2d 66 69 6c nd."...(let.((v.(and.(buffer-fil
bfce0 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 e-name).................(substri
bfd00 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 ng-no-properties.(buffer-file-na
bfd20 6d 65 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 72 61 63 6b 65 74 2d 2d 77 69 6e me))))).....(if.(and.racket--win
bfd40 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 6e 6f 2d 72 65 70 6c 61 63 65 2d 73 p..............(not.no-replace-s
bfd60 6c 61 73 68 29 29 0a 20 20 20 20 20 20 20 20 28 73 75 62 73 74 2d 63 68 61 72 2d 69 6e 2d 73 74 lash)).........(subst-char-in-st
bfd80 72 69 6e 67 20 3f 5c 5c 20 3f 2f 20 76 29 0a 20 20 20 20 20 20 76 29 29 29 0a 0a 28 64 65 66 75 ring.?\\.?/.v).......v)))..(defu
bfda0 6e 20 72 61 63 6b 65 74 2d 2d 73 61 76 65 2d 69 66 2d 63 68 61 6e 67 65 64 20 28 29 0a 20 20 28 n.racket--save-if-changed.()...(
bfdc0 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 65 64 69 74 2d 6d 6f 64 65 29 0a 20 20 28 77 68 65 racket--assert-edit-mode)...(whe
bfde0 6e 20 28 6f 72 20 28 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 29 0a 20 20 20 20 20 20 n.(or.(buffer-modified-p).......
bfe00 20 20 20 20 20 20 28 61 6e 64 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 ......(and.(buffer-file-name)...
bfe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 66 69 6c 65 2d 65 78 69 73 74 73 ...............(not.(file-exists
bfe40 2d 70 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 29 0a 20 20 20 20 28 73 -p.(buffer-file-name))))).....(s
bfe60 61 76 65 2d 62 75 66 66 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6d 6f ave-buffer)))..(defun.racket--mo
bfe80 64 65 2d 65 64 69 74 73 2d 72 61 63 6b 65 74 2d 70 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 6e de-edits-racket-p.()..."Return.n
bfea0 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d 61 6a 6f 72 20 6d 6f 64 65 on-nil.if.the.current.major.mode
bfec0 20 69 73 20 6f 6e 65 20 74 68 61 74 20 65 64 69 74 73 20 52 61 63 6b 65 74 20 63 6f 64 65 2e 0a .is.one.that.edits.Racket.code..
bfee0 0a 54 68 69 73 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 75 73 65 64 20 77 69 74 .This.is.intended.to.be.used.wit
bff00 68 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 65 69 72 0a h.commands.that.customize.their.
bff20 62 65 68 61 76 69 6f 72 20 62 61 73 65 64 20 6f 6e 20 77 68 65 74 68 65 72 20 74 68 65 79 20 61 behavior.based.on.whether.they.a
bff40 72 65 20 65 64 69 74 69 6e 67 20 52 61 63 6b 65 74 2c 20 73 75 63 68 20 61 73 0a 50 61 72 65 64 re.editing.Racket,.such.as.Pared
bff60 69 74 20 62 69 6e 64 69 6e 67 73 2c 20 77 69 74 68 6f 75 74 20 65 61 63 68 20 6f 66 20 74 68 6f it.bindings,.without.each.of.tho
bff80 73 65 20 63 6f 6d 6d 61 6e 64 73 20 6e 65 65 64 69 6e 67 20 74 6f 20 68 61 76 65 0a 61 20 6c 69 se.commands.needing.to.have.a.li
bffa0 73 74 20 6f 66 20 61 6c 6c 20 6d 6f 64 65 73 20 69 6e 20 77 68 69 63 68 20 52 61 63 6b 65 74 20 st.of.all.modes.in.which.Racket.
bffc0 69 73 20 65 64 69 74 65 64 2e 22 0a 20 20 28 6d 65 6d 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 is.edited."...(memq.major-mode.'
bffe0 28 72 61 63 6b 65 74 2d 6d 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 29 29 29 (racket-mode.racket-repl-mode)))
c0000 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 78 73 20 ..(defun.racket--take-while.(xs.
c0020 70 72 65 64 29 0a 20 20 28 70 63 61 73 65 20 78 73 0a 20 20 20 20 28 60 28 29 20 20 20 20 20 20 pred)...(pcase.xs.....(`()......
c0040 20 20 20 60 28 29 29 0a 20 20 20 20 28 60 28 2c 78 20 2e 20 2c 78 73 29 20 28 69 66 20 28 66 75 ...`()).....(`(,x...,xs).(if.(fu
c0060 6e 63 61 6c 6c 20 70 72 65 64 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ncall.pred.x)...................
c0080 20 20 20 28 63 6f 6e 73 20 78 20 28 72 61 63 6b 65 74 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 78 ...(cons.x.(racket--take-while.x
c00a0 73 20 70 72 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 29 29 s.pred))....................`())
c00c0 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 2d 65 6c 2d 73 6f 75 72 63 65 )))..(defconst.racket--el-source
c00e0 2d 64 69 72 0a 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 28 6f 72 20 -dir...(file-name-directory.(or.
c0100 6c 6f 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 load-file-name.(racket--buffer-f
c0120 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20 22 50 61 74 68 20 74 6f 20 64 69 72 20 6f 66 20 6f 75 ile-name)))..."Path.to.dir.of.ou
c0140 72 20 45 6d 61 63 73 20 4c 69 73 70 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2e 0a 57 68 65 6e 20 r.Emacs.Lisp.source.files..When.
c0160 69 6e 73 74 61 6c 6c 65 64 20 61 73 20 61 20 70 61 63 6b 61 67 65 2c 20 74 68 69 73 20 63 61 6e installed.as.a.package,.this.can
c0180 20 62 65 20 66 6f 75 6e 64 20 66 72 6f 6d 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 60 6c 6f 61 .be.found.from.the.variable.`loa
c01a0 64 2d 66 69 6c 65 2d 6e 61 6d 65 27 2e 20 57 68 65 6e 20 64 65 76 65 6c 6f 70 69 6e 67 20 69 6e d-file-name'..When.developing.in
c01c0 74 65 72 61 63 74 69 76 65 6c 79 2c 20 67 65 74 20 69 74 20 66 72 6f 6d 20 74 68 65 0a 2e 65 6c teractively,.get.it.from.the..el
c01e0 20 62 75 66 66 65 72 20 66 69 6c 65 20 6e 61 6d 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 72 61 .buffer.file.name.")..(defvar.ra
c0200 63 6b 65 74 2d 2d 72 6b 74 2d 73 6f 75 72 63 65 2d 64 69 72 0a 20 20 28 65 78 70 61 6e 64 2d 66 cket--rkt-source-dir...(expand-f
c0220 69 6c 65 2d 6e 61 6d 65 20 22 2e 2f 72 61 63 6b 65 74 2f 22 20 72 61 63 6b 65 74 2d 2d 65 6c 2d ile-name."./racket/".racket--el-
c0240 73 6f 75 72 63 65 2d 64 69 72 29 0a 20 20 22 50 61 74 68 20 74 6f 20 64 69 72 20 6f 66 20 6f 75 source-dir)..."Path.to.dir.of.ou
c0260 72 20 52 61 63 6b 65 74 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2e 20 22 29 0a 0a 28 64 65 66 75 r.Racket.source.files..")..(defu
c0280 6e 20 72 61 63 6b 65 74 2d 2d 72 65 73 74 6f 72 69 6e 67 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 n.racket--restoring-current-buff
c02a0 65 72 20 28 70 72 6f 63 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 70 72 6f 63 65 64 75 72 65 20 er.(proc)..."Return.a.procedure.
c02c0 72 65 73 74 6f 72 69 6e 67 20 60 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 27 20 64 75 72 69 6e restoring.`current-buffer'.durin
c02e0 67 20 74 68 65 20 64 79 6e 61 6d 69 63 20 65 78 74 65 6e 74 20 6f 66 20 50 52 4f 43 2e 22 0a 20 g.the.dynamic.extent.of.PROC."..
c0300 20 28 6c 65 74 20 28 28 62 75 66 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 .(let.((buf.(current-buffer)))..
c0320 20 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 20 28 77 ...(lambda.(&rest.args).......(w
c0340 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 20 20 20 20 28 ith-current-buffer.buf.........(
c0360 61 70 70 6c 79 20 70 72 6f 63 20 61 72 67 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 apply.proc.args)))))..(defun.rac
c0380 6b 65 74 2d 2d 6e 6f 6e 2d 65 6d 70 74 79 2d 73 74 72 69 6e 67 2d 70 20 28 76 29 0a 20 20 28 61 ket--non-empty-string-p.(v)...(a
c03a0 6e 64 20 28 73 74 72 69 6e 67 70 20 76 29 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 62 6c 61 6e nd.(stringp.v).(not.(string-blan
c03c0 6b 2d 70 20 76 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 79 6d 62 6f 6c k-p.v))))..(defun.racket--symbol
c03e0 2d 61 74 2d 70 6f 69 6e 74 2d 6f 72 2d 70 72 6f 6d 70 74 20 28 66 6f 72 63 65 2d 70 72 6f 6d 70 -at-point-or-prompt.(force-promp
c0400 74 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-p.............................
c0420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 6d 70 74 0a 20 20 20 20 20 20 20 20 20 20 20 ..............prompt............
c0440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 ...............................&
c0460 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 optional........................
c0480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 0a 20 ...................completions..
c04a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c04c0 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 77 2d 62 6c 61 6e 6b 2d 70 29 0a 20 20 22 49 66 20 73 79 .........allow-blank-p)..."If.sy
c04e0 6d 62 6f 6c 20 61 74 20 70 6f 69 6e 74 20 72 65 74 75 72 6e 20 69 74 2c 20 65 6c 73 65 20 70 72 mbol.at.point.return.it,.else.pr
c0500 6f 6d 70 74 20 75 73 65 72 2e 0a 0a 57 68 65 6e 20 46 4f 52 43 45 2d 50 52 4f 4d 50 54 2d 50 20 ompt.user...When.FORCE-PROMPT-P.
c0520 61 6c 77 61 79 73 20 70 72 6f 6d 70 74 2e 20 54 68 65 20 70 72 6f 6d 70 74 20 75 73 65 73 0a 60 always.prompt..The.prompt.uses.`
c0540 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 27 20 77 68 65 6e 20 43 4f 4d 50 4c read-from-minibuffer'.when.COMPL
c0560 45 54 49 4f 4e 53 20 69 73 20 6e 69 6c 2c 20 65 6c 73 65 0a 60 63 6f 6d 70 6c 65 74 69 6e 67 2d ETIONS.is.nil,.else.`completing-
c0580 72 65 61 64 27 2e 0a 0a 52 65 74 75 72 6e 73 20 60 73 74 72 69 6e 67 70 27 20 6e 6f 74 20 60 73 read'...Returns.`stringp'.not.`s
c05a0 79 6d 62 6f 6c 70 27 20 74 6f 20 73 69 6d 70 6c 69 66 79 20 75 73 69 6e 67 20 74 68 65 20 72 65 ymbolp'.to.simplify.using.the.re
c05c0 73 75 6c 74 20 69 6e 20 61 0a 73 65 78 70 72 20 74 68 61 74 20 63 61 6e 20 62 65 20 70 61 73 73 sult.in.a.sexpr.that.can.be.pass
c05e0 65 64 20 74 6f 20 52 61 63 6b 65 74 20 62 61 63 6b 65 6e 64 2e 20 4c 69 6b 65 77 69 73 65 20 74 ed.to.Racket.backend..Likewise.t
c0600 68 65 20 73 74 72 69 6e 67 0a 69 73 20 74 72 69 6d 6d 65 64 20 61 6e 64 20 74 65 78 74 20 70 72 he.string.is.trimmed.and.text.pr
c0620 6f 70 65 72 74 69 65 73 20 61 72 65 20 73 74 72 69 70 70 65 64 2e 0a 0a 55 6e 6c 65 73 73 20 41 operties.are.stripped...Unless.A
c0640 4c 4c 4f 57 2d 42 4c 41 4e 4b 2d 50 2c 20 61 20 62 6c 61 6e 6b 20 73 74 72 69 6e 67 20 61 66 74 LLOW-BLANK-P,.a.blank.string.aft
c0660 65 72 20 74 72 69 6d 6d 69 6e 67 20 72 65 74 75 72 6e 73 20 6e 69 6c 0a 61 73 20 69 66 20 74 68 er.trimming.returns.nil.as.if.th
c0680 65 20 75 73 65 72 20 68 61 64 20 43 2d 67 20 74 6f 20 71 75 69 74 2e 22 0a 20 20 28 6c 65 74 20 e.user.had.C-g.to.quit."...(let.
c06a0 28 28 73 61 70 20 28 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 20 27 73 79 6d 62 6f 6c 20 74 29 ((sap.(thing-at-point.'symbol.t)
c06c0 29 29 0a 20 20 20 20 28 69 66 20 28 6f 72 20 66 6f 72 63 65 2d 70 72 6f 6d 70 74 2d 70 0a 20 20 )).....(if.(or.force-prompt-p...
c06e0 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 73 61 70 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 ..........(not.sap)).........(le
c0700 74 2a 20 28 28 73 20 28 69 66 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 t*.((s.(if.completions..........
c0720 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 70 72 .............(completing-read.pr
c0740 6f 6d 70 74 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 6e 69 6c 20 6e 69 6c 20 73 61 70 29 0a 20 20 ompt.completions.nil.nil.sap)...
c0760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e ..................(read-from-min
c0780 69 62 75 66 66 65 72 20 70 72 6f 6d 70 74 20 73 61 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ibuffer.prompt.sap)))...........
c07a0 20 20 20 20 20 28 73 20 28 69 66 20 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(s.(if.s...................
c07c0 20 20 20 20 28 73 74 72 69 6e 67 2d 74 72 69 6d 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 ....(string-trim.(substring-no-p
c07e0 72 6f 70 65 72 74 69 65 73 20 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 roperties.s))...................
c0800 20 20 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 6e 6f 74 20 73 29 ..s)))...........(if.(or.(not.s)
c0820 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 61 6c 6c ...................(and.(not.all
c0840 6f 77 2d 62 6c 61 6e 6b 2d 70 29 20 28 73 74 72 69 6e 67 2d 62 6c 61 6e 6b 2d 70 20 73 29 29 29 ow-blank-p).(string-blank-p.s)))
c0860 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 ...............nil.............s
c0880 29 29 0a 20 20 20 20 20 20 73 61 70 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 70 )).......sap)))..(defun.racket-p
c08a0 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 28 66 69 6c 65 29 0a 20 20 22 47 69 76 65 6e 20 61 6e 20 61 roject-root.(file)..."Given.an.a
c08c0 62 73 6f 6c 75 74 65 20 70 61 74 68 6e 61 6d 65 20 66 6f 72 20 46 49 4c 45 2c 20 72 65 74 75 72 bsolute.pathname.for.FILE,.retur
c08e0 6e 20 69 74 73 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 54 n.its.project.root.directory...T
c0900 68 65 20 5c 22 70 72 6f 6a 65 63 74 5c 22 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 he.\"project\".is.determined.by.
c0920 74 72 79 69 6e 67 2c 20 69 6e 20 6f 72 64 65 72 3a 0a 0a 2d 20 60 70 72 6f 6a 65 63 74 69 6c 65 trying,.in.order:..-.`projectile
c0940 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 27 0a 2d 20 60 76 63 2d 72 6f 6f 74 2d 64 69 72 27 0a 2d -project-root'.-.`vc-root-dir'.-
c0960 20 60 70 72 6f 6a 65 63 74 2d 63 75 72 72 65 6e 74 27 0a 2d 20 60 66 69 6c 65 2d 6e 61 6d 65 2d .`project-current'.-.`file-name-
c0980 64 69 72 65 63 74 6f 72 79 27 22 0a 20 20 28 6c 65 74 20 28 28 64 69 72 20 28 69 66 20 66 69 6c directory'"...(let.((dir.(if.fil
c09a0 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 e..................(file-name-di
c09c0 72 65 63 74 6f 72 79 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 rectory.file)................def
c09e0 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 28 6f 72 20 28 61 6e 64 20 28 ault-directory))).....(or.(and.(
c0a00 66 62 6f 75 6e 64 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 fboundp.'projectile-project-root
c0a20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 )..............(projectile-proje
c0a40 63 74 2d 72 6f 6f 74 20 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 66 62 6f 75 ct-root.dir)).........(and.(fbou
c0a60 6e 64 70 20 27 76 63 2d 72 6f 6f 74 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ndp.'vc-root-dir)..............(
c0a80 76 63 2d 72 6f 6f 74 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 66 62 6f 75 vc-root-dir)).........(and.(fbou
c0aa0 6e 64 70 20 27 70 72 6f 6a 65 63 74 2d 63 75 72 72 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 ndp.'project-current)...........
c0ac0 20 20 20 28 63 64 72 20 28 70 72 6f 6a 65 63 74 2d 63 75 72 72 65 6e 74 20 6e 69 6c 20 64 69 72 ...(cdr.(project-current.nil.dir
c0ae0 29 29 29 0a 20 20 20 20 20 20 20 20 64 69 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 ))).........dir)))..(defun.racke
c0b00 74 2d 2d 65 64 69 74 2d 6d 6f 64 65 2d 70 20 28 29 0a 20 20 28 61 6e 64 20 28 73 65 71 2d 73 6f t--edit-mode-p.()...(and.(seq-so
c0b20 6d 65 20 23 27 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 27 28 72 61 63 6b 65 74 2d 6d 6f 64 me.#'derived-mode-p.'(racket-mod
c0b40 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 29 29 20 74 29 29 0a 0a 28 e.racket-hash-lang-mode)).t))..(
c0b60 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 65 64 69 74 2d 6d 6f 64 65 20 28 defun.racket--assert-edit-mode.(
c0b80 26 6f 70 74 69 6f 6e 61 6c 20 66 61 69 6c 2d 74 68 75 6e 6b 29 0a 20 20 28 75 6e 6c 65 73 73 20 &optional.fail-thunk)...(unless.
c0ba0 28 72 61 63 6b 65 74 2d 2d 65 64 69 74 2d 6d 6f 64 65 2d 70 29 0a 20 20 20 20 28 77 68 65 6e 20 (racket--edit-mode-p).....(when.
c0bc0 66 61 69 6c 2d 74 68 75 6e 6b 20 28 66 75 6e 63 61 6c 6c 20 66 61 69 6c 2d 74 68 75 6e 6b 29 29 fail-thunk.(funcall.fail-thunk))
c0be0 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 25 53 20 77 6f 72 6b 73 20 6f 6e 6c 79 20 .....(user-error."%S.works.only.
c0c00 69 6e 20 72 61 63 6b 65 74 2d 6d 6f 64 65 20 6f 72 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 in.racket-mode.or.racket-hash-la
c0c20 6e 67 2d 6d 6f 64 65 20 65 64 69 74 20 62 75 66 66 65 72 73 22 0a 20 20 20 20 20 20 20 20 20 20 ng-mode.edit.buffers"...........
c0c40 20 20 20 20 20 20 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 ......this-command)))..(defun.ra
c0c60 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 65 64 69 74 2d 6f 72 2d 72 65 70 6c 2d 6d 6f 64 65 20 28 cket--assert-edit-or-repl-mode.(
c0c80 26 6f 70 74 69 6f 6e 61 6c 20 66 61 69 6c 2d 74 68 75 6e 6b 29 0a 20 20 28 75 6e 6c 65 73 73 20 &optional.fail-thunk)...(unless.
c0ca0 28 6f 72 20 28 72 61 63 6b 65 74 2d 2d 65 64 69 74 2d 6d 6f 64 65 2d 70 29 0a 20 20 20 20 20 20 (or.(racket--edit-mode-p).......
c0cc0 20 20 20 20 20 20 20 20 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 27 72 61 63 6b 65 74 2d ........(derived-mode-p.'racket-
c0ce0 72 65 70 6c 2d 6d 6f 64 65 29 29 0a 20 20 20 20 28 77 68 65 6e 20 66 61 69 6c 2d 74 68 75 6e 6b repl-mode)).....(when.fail-thunk
c0d00 20 28 66 75 6e 63 61 6c 6c 20 66 61 69 6c 2d 74 68 75 6e 6b 29 29 0a 20 20 20 20 28 75 73 65 72 .(funcall.fail-thunk)).....(user
c0d20 2d 65 72 72 6f 72 20 22 25 53 20 77 6f 72 6b 73 20 6f 6e 6c 79 20 69 6e 20 72 61 63 6b 65 74 2d -error."%S.works.only.in.racket-
c0d40 6d 6f 64 65 20 6f 72 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 20 65 64 mode.or.racket-hash-lang-mode.ed
c0d60 69 74 20 62 75 66 66 65 72 73 2c 20 6f 72 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 20 it.buffers,.or.racket-repl-mode.
c0d80 62 75 66 66 65 72 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2d 63 6f buffers".................this-co
c0da0 6d 6d 61 6e 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 65 78 70 2d 65 64 mmand)))..(defun.racket--sexp-ed
c0dc0 69 74 2d 6d 6f 64 65 2d 70 20 28 29 0a 20 20 22 45 69 74 68 65 72 20 60 72 61 63 6b 65 74 2d 6d it-mode-p.()..."Either.`racket-m
c0de0 6f 64 65 27 20 6f 72 20 60 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 27 2c ode'.or.`racket-hash-lang-mode',
c0e00 20 70 72 6f 76 69 64 65 64 20 74 68 65 0a 6c 61 74 74 65 72 20 68 61 73 20 2f 6e 6f 74 2f 20 73 .provided.the.latter.has./not/.s
c0e20 65 74 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 66 6f 72 77 61 72 64 2d 73 65 78 70 2d 66 75 et.the.variable.`forward-sexp-fu
c0e40 6e 63 74 69 6f 6e 27 20 62 65 63 61 75 73 65 0a 74 68 65 20 68 61 73 68 2d 6c 61 6e 67 20 75 73 nction'.because.the.hash-lang.us
c0e60 65 73 20 72 61 63 6b 65 74 2d 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 2e 20 49 6e 20 es.racket-grouping-position..In.
c0e80 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 77 68 65 6e 0a 60 66 6f 72 77 61 72 64 2d 73 65 78 70 2d other.words,.when.`forward-sexp-
c0ea0 66 75 6e 63 74 69 6f 6e 27 20 69 73 20 6e 69 6c 20 77 65 20 6d 61 79 20 61 73 73 75 6d 65 20 74 function'.is.nil.we.may.assume.t
c0ec0 68 61 74 20 74 68 65 20 6c 61 6e 67 20 75 73 65 73 0a 73 2d 65 78 70 72 65 73 73 69 6f 6e 73 2e hat.the.lang.uses.s-expressions.
c0ee0 22 0a 20 20 28 61 6e 64 20 28 72 61 63 6b 65 74 2d 2d 65 64 69 74 2d 6d 6f 64 65 2d 70 29 0a 20 "...(and.(racket--edit-mode-p)..
c0f00 20 20 20 20 20 20 28 6e 6f 74 20 66 6f 72 77 61 72 64 2d 73 65 78 70 2d 66 75 6e 63 74 69 6f 6e ......(not.forward-sexp-function
c0f20 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 73 65 78 70 2d )))..(defun.racket--assert-sexp-
c0f40 65 64 69 74 2d 6d 6f 64 65 20 28 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 72 61 63 6b 65 74 2d 2d edit-mode.()...(unless.(racket--
c0f60 73 65 78 70 2d 65 64 69 74 2d 6d 6f 64 65 2d 70 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f sexp-edit-mode-p).....(user-erro
c0f80 72 20 22 25 53 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 69 6e 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2c r."%S.only.works.in.racket-mode,
c0fa0 20 6f 72 2c 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 20 77 68 65 6e 20 .or,.racket-hash-lang-mode.when.
c0fc0 74 68 65 20 6c 61 6e 67 20 75 73 65 73 20 73 65 78 70 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 the.lang.uses.sexps"............
c0fe0 20 20 20 20 20 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 .....this-command)))..(provide.'
c1000 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 75 74 69 6c 2e 65 6c 20 racket-util)..;;.racket-util.el.
c1020 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ends.here.......................
c1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c10a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c10c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c10e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c11a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c11c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c11e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1200 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
c1220 72 61 63 6b 65 74 2d 63 75 73 74 6f 6d 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-custom.el................
c1240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
c1280 30 30 37 33 33 31 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 37 35 35 00 20 30 00 00 00 0073310.00000000000.016755..0...
c12a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c12c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c12e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
c1320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
c1340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c13a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c13c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c13e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1400 3b 3b 3b 20 72 61 63 6b 65 74 2d 63 75 73 74 6f 6d 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c ;;;.racket-custom.el.-*-.lexical
c1420 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 -binding:.t;.-*-..;;.Copyright.(
c1440 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 c).2013-2022.by.Greg.Hendershott
c1460 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 ..;;.Portions.Copyright.(C).1985
c1480 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 -1986,.1999-2013.Free.Software.F
c14a0 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 oundation,.Inc...;;.Author:.Greg
c14c0 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 .Hendershott.;;.URL:.https://git
c14e0 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d hub.com/greghendershott/racket-m
c1500 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a ode..;;.SPDX-License-Identifier:
c1520 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 3b 20 41 6c 6c 20 60 64 65 66 63 .GPL-3.0-or-later..;;;.All.`defc
c1540 75 73 74 6f 6d 27 73 20 61 6e 64 20 60 64 65 66 66 61 63 65 27 73 20 67 6f 20 68 65 72 65 2e 0a ustom's.and.`defface's.go.here..
c1560 3b 3b 3b 20 54 68 69 73 20 6d 61 6b 65 73 20 69 74 20 65 61 73 69 65 72 20 74 6f 20 70 72 6f 76 ;;;.This.makes.it.easier.to.prov
c1580 69 64 65 20 61 20 63 6f 6e 73 69 73 74 65 6e 74 20 55 49 2e 0a 0a 3b 3b 20 4e 4f 54 45 3a 20 60 ide.a.consistent.UI...;;.NOTE:.`
c15a0 3a 70 72 65 66 69 78 60 20 69 73 20 64 69 73 61 62 6c 65 64 20 61 73 20 6f 66 20 45 6d 61 63 73 :prefix`.is.disabled.as.of.Emacs
c15c0 20 32 34 2e 33 2c 20 73 6f 20 49 27 6d 20 75 73 69 6e 67 20 65 78 70 6c 69 63 69 74 0a 3b 3b 20 .24.3,.so.I'm.using.explicit.;;.
c15e0 60 3a 74 61 67 60 73 2e 20 42 75 74 20 61 6c 73 6f 20 6e 6f 74 65 20 74 68 61 74 20 6f 70 74 69 `:tag`s..But.also.note.that.opti
c1600 6f 6e 73 20 61 72 65 20 73 6f 72 74 65 64 20 28 62 79 20 64 65 66 61 75 6c 74 3b 20 75 73 65 72 ons.are.sorted.(by.default;.user
c1620 0a 3b 3b 20 63 61 6e 20 74 75 72 6e 20 74 68 61 74 20 6f 66 66 29 20 62 61 73 65 64 20 6f 6e 20 .;;.can.turn.that.off).based.on.
c1640 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 20 6e 6f 74 20 74 68 65 20 60 3a 74 61 the.identifier.name.not.the.`:ta
c1660 67 60 2e 20 41 73 0a 3b 3b 20 61 20 72 65 73 75 6c 74 2c 20 49 27 6d 20 64 65 66 69 6e 69 6e 67 g`..As.;;.a.result,.I'm.defining
c1680 20 60 3a 74 61 67 60 73 20 41 53 20 49 46 20 60 3a 70 72 65 66 69 78 20 22 72 61 63 6b 65 74 2d .`:tag`s.AS.IF.`:prefix."racket-
c16a0 22 60 20 64 69 64 20 77 6f 72 6b 2e 0a 3b 3b 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 20 64 "`.did.work..;;.In.other.words.d
c16c0 65 66 63 75 73 74 6f 6d 20 6f 66 20 72 61 63 6b 65 74 2d 66 6f 6f 2d 62 61 72 20 68 61 73 20 61 efcustom.of.racket-foo-bar.has.a
c16e0 20 3a 74 61 67 20 22 46 6f 6f 20 42 61 72 22 2e 0a 0a 28 72 65 71 75 69 72 65 20 27 72 78 29 0a .:tag."Foo.Bar"...(require.'rx).
c1700 28 72 65 71 75 69 72 65 20 27 73 68 2d 73 63 72 69 70 74 29 20 3b 66 6f 72 20 73 68 2d 68 65 72 (require.'sh-script).;for.sh-her
c1720 65 64 6f 63 20 66 61 63 65 0a 28 72 65 71 75 69 72 65 20 27 63 6f 6d 69 6e 74 29 20 3b 66 6f 72 edoc.face.(require.'comint).;for
c1740 20 63 6f 6d 69 6e 74 2d 73 69 6d 70 6c 65 2d 73 65 6e 64 20 69 6e 20 72 61 63 6b 65 74 2d 73 68 .comint-simple-send.in.racket-sh
c1760 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 0a 0a 28 64 65 66 67 72 6f 75 70 20 72 61 63 6b 65 ell-or-terminal..(defgroup.racke
c1780 74 20 6e 69 6c 0a 20 20 22 4d 6f 64 65 73 20 66 6f 72 20 74 68 65 20 52 61 63 6b 65 74 20 6c 61 t.nil..."Modes.for.the.Racket.la
c17a0 6e 67 75 61 67 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 6c 61 6e 67 75 61 67 65 73 0a 20 20 3a nguage."...:group.'languages...:
c17c0 6c 69 6e 6b 20 27 28 75 72 6c 2d 6c 69 6e 6b 20 3a 74 61 67 20 22 52 45 41 44 4d 45 20 6f 6e 20 link.'(url-link.:tag."README.on.
c17e0 47 69 74 48 75 62 22 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 GitHub"."https://github.com/greg
c1800 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2f 62 6c 6f 62 2f 6d 61 73 hendershott/racket-mode/blob/mas
c1820 74 65 72 2f 52 45 41 44 4d 45 2e 6d 64 22 29 29 0a 0a 3b 3b 20 54 68 65 73 65 20 61 6c 69 61 73 ter/README.md"))..;;.These.alias
c1840 65 73 20 6e 65 65 64 20 62 65 20 5f 62 65 66 6f 72 65 5f 20 74 68 65 20 60 64 65 66 63 75 73 74 es.need.be._before_.the.`defcust
c1860 6f 6d 27 20 6f 66 20 60 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 27 0a 3b 3b 20 28 73 65 65 20 om'.of.`racket-program'.;;.(see.
c1880 6e 6f 74 65 20 69 6e 20 64 6f 63 20 66 6f 72 20 60 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 note.in.doc.for.`define-obsolete
c18a0 2d 76 61 72 69 61 62 6c 65 2d 61 6c 69 61 73 27 29 2e 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c -variable-alias')..(define-obsol
c18c0 65 74 65 2d 76 61 72 69 61 62 6c 65 2d 61 6c 69 61 73 20 27 72 61 63 6b 65 74 2d 72 61 63 6b 65 ete-variable-alias.'racket-racke
c18e0 74 2d 70 72 6f 67 72 61 6d 20 27 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 20 22 32 30 31 37 2d t-program.'racket-program."2017-
c1900 30 36 2d 30 32 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 06-02").(define-obsolete-variabl
c1920 65 2d 61 6c 69 61 73 20 27 72 61 63 6b 65 74 2d 72 61 63 6f 2d 70 72 6f 67 72 61 6d 20 20 20 27 e-alias.'racket-raco-program...'
c1940 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 20 22 32 30 31 37 2d 30 36 2d 30 32 22 29 0a 0a 28 64 racket-program."2017-06-02")..(d
c1960 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 6d 61 63 70 20 28 65 71 20 27 64 61 72 77 69 6e 20 73 efvar.racket--macp.(eq.'darwin.s
c1980 79 73 74 65 6d 2d 74 79 70 65 29 29 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 77 69 6e ystem-type)).(defvar.racket--win
c19a0 70 20 28 65 71 20 27 77 69 6e 64 6f 77 73 2d 6e 74 20 73 79 73 74 65 6d 2d 74 79 70 65 29 29 0a p.(eq.'windows-nt.system-type)).
c19c0 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 20 28 69 66 20 72 .(defcustom.racket-program.(if.r
c19e0 61 63 6b 65 74 2d 2d 77 69 6e 70 20 22 52 61 63 6b 65 74 2e 65 78 65 22 20 22 72 61 63 6b 65 74 acket--winp."Racket.exe"."racket
c1a00 22 29 0a 20 20 22 50 61 74 68 6e 61 6d 65 20 6f 66 20 74 68 65 20 52 61 63 6b 65 74 20 65 78 65 ")..."Pathname.of.the.Racket.exe
c1a20 63 75 74 61 62 6c 65 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 61 20 62 61 63 6b 20 65 6e 64 20 63 cutable...Note.that.a.back.end.c
c1a40 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 63 61 6e 20 6f 76 65 72 72 69 64 65 20 74 68 69 73 20 77 onfiguration.can.override.this.w
c1a60 69 74 68 20 61 0a 6e 6f 6e 2d 6e 69 6c 20 60 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 60 20 70 ith.a.non-nil.`racket-program`.p
c1a80 72 6f 70 65 72 74 79 20 6c 69 73 74 20 76 61 6c 75 65 2e 20 53 65 65 0a 60 72 61 63 6b 65 74 2d roperty.list.value..See.`racket-
c1aa0 61 64 64 2d 62 61 63 6b 2d 65 6e 64 27 2e 22 0a 20 20 3a 74 61 67 20 22 52 61 63 6b 65 74 20 50 add-back-end'."...:tag."Racket.P
c1ac0 72 6f 67 72 61 6d 22 0a 20 20 3a 74 79 70 65 20 27 28 66 69 6c 65 20 3a 6d 75 73 74 2d 6d 61 74 rogram"...:type.'(file.:must-mat
c1ae0 63 68 20 74 29 0a 20 20 3a 72 69 73 6b 79 20 74 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 ch.t)...:risky.t...:group.'racke
c1b00 74 29 0a 0a 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65 20 27 72 61 63 t)..(make-obsolete-variable.'rac
c1b20 6b 65 74 2d 63 6f 6d 6d 61 6e 64 2d 70 6f 72 74 20 6e 69 6c 20 22 32 30 32 30 2d 30 34 2d 32 35 ket-command-port.nil."2020-04-25
c1b40 22 29 0a 0a 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65 20 27 72 61 63 ")..(make-obsolete-variable.'rac
c1b60 6b 65 74 2d 63 6f 6d 6d 61 6e 64 2d 73 74 61 72 74 75 70 20 6e 69 6c 20 22 32 30 32 30 2d 30 31 ket-command-startup.nil."2020-01
c1b80 2d 32 33 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 63 6f 6d 6d 61 6e 64 -23")..(defcustom.racket-command
c1ba0 2d 74 69 6d 65 6f 75 74 20 31 30 0a 20 20 22 48 6f 77 20 6d 61 6e 79 20 73 65 63 6f 6e 64 73 20 -timeout.10..."How.many.seconds.
c1bc0 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 20 73 65 72 76 65 72 20 72 65 73 70 6f to.wait.for.command.server.respo
c1be0 6e 73 65 73 2e 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 69 73 20 6d 6f 73 74 6c 79 20 6f 62 73 6f nses...Note:.This.is.mostly.obso
c1c00 6c 65 74 65 2c 20 66 6f 72 74 75 6e 61 74 65 6c 79 2c 20 62 65 63 61 75 73 65 20 69 74 20 61 70 lete,.fortunately,.because.it.ap
c1c20 70 6c 69 65 73 0a 6f 6e 6c 79 20 74 6f 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 6d 75 73 74 plies.only.to.commands.that.must
c1c40 20 62 6c 6f 63 6b 20 74 68 65 20 45 6d 61 63 73 20 55 49 20 75 6e 74 69 6c 20 74 68 65 79 20 67 .block.the.Emacs.UI.until.they.g
c1c60 65 74 20 61 0a 72 65 73 70 6f 6e 73 65 2e 20 49 6e 73 74 65 61 64 20 6d 6f 73 74 20 52 61 63 6b et.a.response..Instead.most.Rack
c1c80 65 74 20 4d 6f 64 65 20 63 6f 6d 6d 61 6e 64 73 20 74 68 65 73 65 20 64 61 79 73 20 72 65 63 65 et.Mode.commands.these.days.rece
c1ca0 69 76 65 0a 74 68 65 69 72 20 72 65 73 70 6f 6e 73 65 20 61 73 79 63 68 72 6f 6e 6f 75 73 6c 79 ive.their.response.asychronously
c1cc0 2e 22 0a 20 20 3a 74 61 67 20 22 43 6f 6d 6d 61 6e 64 20 54 69 6d 65 6f 75 74 22 0a 20 20 3a 74 ."...:tag."Command.Timeout"...:t
c1ce0 79 70 65 20 27 69 6e 74 65 67 65 72 0a 20 20 3a 72 69 73 6b 79 20 74 0a 20 20 3a 67 72 6f 75 70 ype.'integer...:risky.t...:group
c1d00 20 27 72 61 63 6b 65 74 29 0a 0a 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 .'racket)..(make-obsolete-variab
c1d20 6c 65 20 27 72 61 63 6b 65 74 2d 70 61 74 68 2d 66 72 6f 6d 2d 65 6d 61 63 73 2d 74 6f 2d 72 61 le.'racket-path-from-emacs-to-ra
c1d40 63 6b 65 74 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 20 22 32 30 32 30 2d 30 38 2d 32 36 22 29 0a cket-function.nil."2020-08-26").
c1d60 0a 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65 20 27 72 61 63 6b 65 74 .(make-obsolete-variable.'racket
c1d80 2d 70 61 74 68 2d 66 72 6f 6d 2d 72 61 63 6b 65 74 2d 74 6f 2d 65 6d 61 63 73 2d 66 75 6e 63 74 -path-from-racket-to-emacs-funct
c1da0 69 6f 6e 20 6e 69 6c 20 22 32 30 32 30 2d 30 38 2d 32 36 22 29 0a 0a 28 64 65 66 63 75 73 74 6f ion.nil."2020-08-26")..(defcusto
c1dc0 6d 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 28 m.racket-browse-url-function...(
c1de0 69 66 20 72 61 63 6b 65 74 2d 2d 6d 61 63 70 0a 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 62 72 if.racket--macp.......'racket-br
c1e00 6f 77 73 65 2d 75 72 6c 2d 75 73 69 6e 67 2d 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 0a 20 20 owse-url-using-temporary-file...
c1e20 20 20 27 62 72 6f 77 73 65 2d 75 72 6c 29 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 74 6f 20 63 61 ..'browse-url)..."Function.to.ca
c1e40 6c 6c 20 74 6f 20 62 72 6f 77 73 65 20 61 20 55 52 4c 2e 0a 0a 44 65 66 61 75 6c 74 73 20 74 6f ll.to.browse.a.URL...Defaults.to
c1e60 20 60 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 75 73 69 6e 67 2d 74 65 6d 70 6f 72 .`racket-browse-url-using-tempor
c1e80 61 72 79 2d 66 69 6c 65 27 20 6f 6e 20 6d 61 63 4f 53 20 61 6e 64 0a 60 62 72 6f 77 73 65 2d 75 ary-file'.on.macOS.and.`browse-u
c1ea0 72 6c 27 20 6f 6e 20 6f 74 68 65 72 20 70 6c 61 74 66 6f 72 6d 73 2e 22 0a 20 20 3a 74 61 67 20 rl'.on.other.platforms."...:tag.
c1ec0 22 42 72 6f 77 73 65 20 55 52 4c 20 46 75 6e 63 74 69 6f 6e 22 0a 20 20 3a 74 79 70 65 20 27 66 "Browse.URL.Function"...:type.'f
c1ee0 75 6e 63 74 69 6f 6e 0a 20 20 3a 72 69 73 6b 79 20 74 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 unction...:risky.t...:group.'rac
c1f00 6b 65 74 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 ket)..(defcustom.racket-document
c1f20 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 74 69 6f 6e 0a 20 20 22 68 74 74 70 73 3a 2f ation-search-location..."https:/
c1f40 2f 64 6f 63 73 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 73 65 61 72 63 68 2f 69 6e 64 /docs.racket-lang.org/search/ind
c1f60 65 78 2e 68 74 6d 6c 3f 71 3d 25 73 22 0a 20 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 ex.html?q=%s"..."The.location.of
c1f80 20 74 68 65 20 52 61 63 6b 65 74 20 5c 22 53 65 61 72 63 68 20 4d 61 6e 75 61 6c 73 5c 22 20 77 .the.Racket.\"Search.Manuals\".w
c1fa0 65 62 20 70 61 67 65 2e 0a 57 68 65 72 65 20 60 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 eb.page..Where.`racket-documenta
c1fc0 74 69 6f 6e 2d 73 65 61 72 63 68 27 2c 20 60 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e tion-search',.`racket-xp-documen
c1fe0 74 61 74 69 6f 6e 27 0a 61 6e 64 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e tation'.and.`racket-repl-documen
c2000 74 61 74 69 6f 6e 27 20 73 68 6f 75 6c 64 20 6c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 73 65 61 72 tation'.should.look.for.the.sear
c2020 63 68 20 70 61 67 65 2e 0a 0a 2d 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 69 73 ch.page...-.If.the.value.of.this
c2040 20 76 61 72 69 61 62 6c 65 20 69 73 20 74 68 65 20 73 79 6d 62 6f 6c 20 5c 22 6c 6f 63 61 6c 5c .variable.is.the.symbol.\"local\
c2060 22 2c 20 6f 70 65 6e 20 74 68 65 0a 20 20 73 65 61 72 63 68 20 70 61 67 65 20 66 72 6f 6d 20 74 ",.open.the...search.page.from.t
c2080 68 65 20 6c 6f 63 61 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 61 73 20 77 69 74 68 20 he.local.documentation,.as.with.
c20a0 5c 22 72 61 63 6f 20 64 6f 63 5c 22 2e 0a 0a 2d 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 \"raco.doc\"...-.Otherwise,.the.
c20c0 76 61 6c 75 65 20 69 73 20 61 20 73 74 72 69 6e 67 20 72 65 63 6f 67 6e 69 7a 61 62 6c 65 20 62 value.is.a.string.recognizable.b
c20e0 79 20 60 66 6f 72 6d 61 74 27 2c 20 77 69 74 68 0a 20 20 5c 22 25 73 5c 22 20 61 74 20 74 68 65 y.`format',.with...\"%s\".at.the
c2100 20 70 6f 69 6e 74 20 61 74 20 77 68 69 63 68 20 74 6f 20 69 6e 73 65 72 74 20 74 68 65 20 75 73 .point.at.which.to.insert.the.us
c2120 65 72 27 73 20 73 65 61 72 63 68 20 74 65 78 74 0a 20 20 61 66 74 65 72 20 61 70 70 6c 79 69 6e er's.search.text...after.applyin
c2140 67 20 60 75 72 6c 2d 68 65 78 69 66 79 2d 73 74 72 69 6e 67 27 2e 20 41 70 61 72 74 20 66 72 6f g.`url-hexify-string'..Apart.fro
c2160 6d 20 5c 22 25 73 5c 22 2c 20 74 68 65 0a 20 20 73 74 72 69 6e 67 20 73 68 6f 75 6c 64 20 62 65 m.\"%s\",.the...string.should.be
c2180 20 61 20 70 72 6f 70 65 72 6c 79 20 65 6e 63 6f 64 65 64 20 55 52 4c 2e 22 0a 20 20 3a 74 61 67 .a.properly.encoded.URL."...:tag
c21a0 20 22 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 53 65 61 72 63 68 20 4c 6f 63 61 74 69 6f 6e 22 ."Documentation.Search.Location"
c21c0 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 73 74 72 69 6e 67 20 3a 74 61 67 20 22 ...:type.'(choice.(string.:tag."
c21e0 55 52 4c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 URL")..................(const.:t
c2200 61 67 20 22 4c 6f 63 61 6c 22 20 6c 6f 63 61 6c 29 29 0a 20 20 3a 73 61 66 65 20 28 6c 61 6d 62 ag."Local".local))...:safe.(lamb
c2220 64 61 20 28 76 61 6c 29 20 28 6f 72 20 28 73 74 72 69 6e 67 70 20 76 61 6c 29 20 28 65 71 20 76 da.(val).(or.(stringp.val).(eq.v
c2240 61 6c 20 27 6c 6f 63 61 6c 29 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 29 0a 0a al.'local)))...:group.'racket)..
c2260 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 (defcustom.racket-shell-or-termi
c2280 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 72 61 63 6b 65 74 2d 73 68 65 6c 6c 0a 20 20 22 48 6f nal-function.'racket-shell..."Ho
c22a0 77 20 60 72 61 63 6b 65 74 2d 72 61 63 6b 65 74 27 20 61 6e 64 20 60 72 61 63 6b 65 74 2d 72 61 w.`racket-racket'.and.`racket-ra
c22c0 63 6f 2d 74 65 73 74 27 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 54 68 65 20 66 75 6e 63 co-test'.run.commands...The.func
c22e0 74 69 6f 6e 20 73 68 6f 75 6c 64 20 61 63 63 65 70 74 20 61 20 63 6f 6d 6d 61 6e 64 20 73 74 72 tion.should.accept.a.command.str
c2300 69 6e 67 2c 20 6e 6f 74 20 69 6e 63 6c 75 64 69 6e 67 20 61 0a 6e 65 77 6c 69 6e 65 2c 20 67 65 ing,.not.including.a.newline,.ge
c2320 74 20 6f 72 20 63 72 65 61 74 65 20 61 20 73 75 69 74 61 62 6c 65 20 62 75 66 66 65 72 2c 20 73 t.or.create.a.suitable.buffer,.s
c2340 65 6e 64 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2c 20 61 6e 64 0a 73 65 6e 64 20 61 20 6e 65 77 6c end.the.command,.and.send.a.newl
c2360 69 6e 65 20 6f 72 20 65 6e 74 65 72 2e 0a 0a 50 72 65 64 65 66 69 6e 65 64 20 63 68 6f 69 63 65 ine.or.enter...Predefined.choice
c2380 73 20 69 6e 63 6c 75 64 65 20 60 72 61 63 6b 65 74 2d 73 68 65 6c 6c 27 2c 20 60 72 61 63 6b 65 s.include.`racket-shell',.`racke
c23a0 74 2d 74 65 72 6d 27 2c 0a 60 72 61 63 6b 65 74 2d 61 6e 73 69 2d 74 65 72 6d 27 2c 20 61 6e 64 t-term',.`racket-ansi-term',.and
c23c0 20 60 72 61 63 6b 65 74 2d 76 74 65 72 6d 27 2e 22 0a 20 20 3a 74 61 67 20 22 53 68 65 6c 6c 20 .`racket-vterm'."...:tag."Shell.
c23e0 6f 72 20 54 65 72 6d 69 6e 61 6c 22 0a 20 20 3a 74 79 70 65 20 27 66 75 6e 63 74 69 6f 6e 0a 20 or.Terminal"...:type.'function..
c2400 20 3a 6f 70 74 69 6f 6e 73 20 27 28 72 61 63 6b 65 74 2d 73 68 65 6c 6c 0a 20 20 20 20 20 20 20 .:options.'(racket-shell........
c2420 20 20 20 20 20 20 72 61 63 6b 65 74 2d 74 65 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 ......racket-term..............r
c2440 61 63 6b 65 74 2d 61 6e 73 69 2d 74 65 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 acket-ansi-term..............rac
c2460 6b 65 74 2d 76 74 65 72 6d 29 0a 20 20 3a 72 69 73 6b 79 20 74 0a 20 20 3a 67 72 6f 75 70 20 27 ket-vterm)...:risky.t...:group.'
c2480 72 61 63 6b 65 74 29 0a 0a 3b 3b 3b 20 58 70 20 4d 6f 64 65 0a 0a 28 64 65 66 67 72 6f 75 70 20 racket)..;;;.Xp.Mode..(defgroup.
c24a0 72 61 63 6b 65 74 2d 78 70 20 6e 69 6c 0a 20 20 22 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 racket-xp.nil..."`racket-xp-mode
c24c0 27 20 6f 70 74 69 6f 6e 73 22 0a 20 20 3a 74 61 67 20 22 58 70 20 4d 6f 64 65 22 0a 20 20 3a 67 '.options"...:tag."Xp.Mode"...:g
c24e0 72 6f 75 70 20 27 72 61 63 6b 65 74 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 roup.'racket)..(defcustom.racket
c2500 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 20 31 -xp-after-change-refresh-delay.1
c2520 0a 20 20 22 53 65 63 6f 6e 64 73 20 74 6f 20 77 61 69 74 20 62 65 66 6f 72 65 20 72 65 66 72 65 ..."Seconds.to.wait.before.refre
c2540 73 68 69 6e 67 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 61 6e 6e 6f 74 61 74 69 6f shing.`racket-xp-mode'.annotatio
c2560 6e 73 2e 0a 0a 53 65 74 20 74 6f 20 6e 69 6c 20 74 6f 20 64 69 73 61 62 6c 65 20 61 75 74 6f 6d ns...Set.to.nil.to.disable.autom
c2580 61 74 69 63 20 72 65 66 72 65 73 68 20 61 6e 64 20 6d 61 6e 75 61 6c 6c 79 20 75 73 65 20 60 72 atic.refresh.and.manually.use.`r
c25a0 61 63 6b 65 74 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 27 2e 22 0a 20 20 3a 74 61 67 20 22 52 61 63 acket-xp-annotate'."...:tag."Rac
c25c0 6b 65 74 20 58 50 20 4d 6f 64 65 20 41 66 74 65 72 20 43 68 61 6e 67 65 20 52 65 66 72 65 73 68 ket.XP.Mode.After.Change.Refresh
c25e0 20 44 65 6c 61 79 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 69 6e 74 65 67 65 .Delay"...:type.'(choice.(intege
c2600 72 20 3a 74 61 67 20 22 53 65 63 6f 6e 64 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.:tag."Seconds")...............
c2620 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 4f 66 66 22 20 6e 69 6c 29 29 0a 20 20 3a 73 61 ...(const.:tag."Off".nil))...:sa
c2640 66 65 20 23 27 69 6e 74 65 67 65 72 70 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 78 fe.#'integerp...:group.'racket-x
c2660 70 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 2d 6c 69 p)..(defcustom.racket-xp-mode-li
c2680 67 68 74 65 72 0a 20 20 27 28 3a 65 76 61 6c 20 28 72 61 63 6b 65 74 2d 2d 78 70 2d 6d 6f 64 65 ghter...'(:eval.(racket--xp-mode
c26a0 2d 6c 69 67 68 74 65 72 29 29 0a 20 20 22 4d 6f 64 65 20 6c 69 6e 65 20 6c 69 67 68 74 65 72 20 -lighter))..."Mode.line.lighter.
c26c0 66 6f 72 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 2e 0a 0a 53 65 74 20 74 6f 20 6e 69 for.`racket-xp-mode'...Set.to.ni
c26e0 6c 20 74 6f 20 64 69 73 61 62 6c 65 20 74 68 65 20 6d 6f 64 65 20 6c 69 6e 65 20 63 6f 6d 70 6c l.to.disable.the.mode.line.compl
c2700 65 74 65 6c 79 2e 22 0a 20 20 3a 74 61 67 20 22 52 61 63 6b 65 74 20 58 70 20 4d 6f 64 65 20 4c etely."...:tag."Racket.Xp.Mode.L
c2720 69 67 68 74 65 72 22 0a 20 20 3a 74 79 70 65 20 27 73 65 78 70 0a 20 20 3a 72 69 73 6b 79 20 74 ighter"...:type.'sexp...:risky.t
c2740 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 78 70 29 0a 0a 28 64 65 66 63 75 73 74 6f ...:group.'racket-xp)..(defcusto
c2760 6d 20 72 61 63 6b 65 74 2d 78 70 2d 68 69 67 68 6c 69 67 68 74 2d 75 6e 75 73 65 64 2d 72 65 67 m.racket-xp-highlight-unused-reg
c2780 65 78 70 20 22 5e 5b 5e 5f 5d 22 0a 20 20 22 4f 6e 6c 79 20 67 69 76 65 20 60 72 61 63 6b 65 74 exp."^[^_]"..."Only.give.`racket
c27a0 2d 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 65 27 20 74 6f 20 75 6e 75 73 65 64 20 62 69 6e 64 69 -xp-unused-face'.to.unused.bindi
c27c0 6e 67 73 20 74 68 61 74 20 6d 61 74 63 68 20 74 68 69 73 20 72 65 67 65 78 70 2e 0a 0a 54 68 65 ngs.that.match.this.regexp...The
c27e0 20 64 65 66 61 75 6c 74 20 69 73 20 74 6f 20 68 69 67 68 6c 69 67 68 74 20 69 64 65 6e 74 69 66 .default.is.to.highlight.identif
c2800 69 65 72 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 73 74 61 72 74 20 77 69 74 68 0a 61 6e 20 75 iers.that.do.not.start.with.an.u
c2820 6e 64 65 72 6c 69 6e 65 2c 20 77 68 69 63 68 20 69 73 20 61 20 63 6f 6d 6d 6f 6e 20 63 6f 6e 76 nderline,.which.is.a.common.conv
c2840 65 6e 74 69 6f 6e 2e 22 0a 20 20 3a 74 61 67 20 22 52 61 63 6b 65 74 20 58 70 20 4d 6f 64 65 20 ention."...:tag."Racket.Xp.Mode.
c2860 44 6f 20 4e 6f 74 20 48 69 67 68 6c 69 67 68 74 20 55 6e 75 73 65 64 20 52 65 67 65 78 70 22 0a Do.Not.Highlight.Unused.Regexp".
c2880 20 20 3a 74 79 70 65 20 27 72 65 67 65 78 70 0a 20 20 3a 73 61 66 65 20 23 27 73 74 72 69 6e 67 ..:type.'regexp...:safe.#'string
c28a0 70 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 78 70 29 0a 0a 28 64 65 66 63 75 73 74 p...:group.'racket-xp)..(defcust
c28c0 6f 6d 20 72 61 63 6b 65 74 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 20 6e om.racket-xp-add-binding-faces.n
c28e0 69 6c 0a 20 20 22 48 61 76 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 66 6f 6e 74 il..."Have.`racket-xp-mode'.font
c2900 69 66 79 20 62 69 6e 64 69 6e 67 20 69 64 65 6e 74 69 66 69 65 72 20 73 69 74 65 73 2e 0a 0a 41 ify.binding.identifier.sites...A
c2920 20 5c 5c 3d 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 70 72 6f 70 65 72 74 79 20 69 73 20 .\\='font-lock-face.property.is.
c2940 61 64 64 65 64 20 66 6f 72 20 62 69 6e 64 69 6e 67 73 20 66 72 6f 6d 3a 0a 0a 20 20 2d 20 74 68 added.for.bindings.from:....-.th
c2960 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 2c 20 75 73 69 6e 67 20 60 72 61 63 6b 65 74 e.module.language,.using.`racket
c2980 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 66 61 63 65 27 20 61 6e 64 0a 20 20 20 20 60 -xp-binding-lang-face'.and.....`
c29a0 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 75 73 65 2d 66 61 63 65 27 racket-xp-binding-lang-use-face'
c29c0 2e 0a 0a 20 20 2d 20 6f 74 68 65 72 20 69 6d 70 6f 72 74 73 2c 20 75 73 69 6e 67 20 60 72 61 63 .....-.other.imports,.using.`rac
c29e0 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 66 61 63 65 27 20 61 6e 64 0a ket-xp-binding-import-face'.and.
c2a00 20 20 20 20 60 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 75 73 ....`racket-xp-binding-import-us
c2a20 65 2d 66 61 63 65 27 2e 0a 0a 20 20 2d 20 6c 6f 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 2c e-face'.....-.local.definitions,
c2a40 20 75 73 69 6e 67 20 60 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d .using.`racket-xp-binding-local-
c2a60 66 61 63 65 27 20 61 6e 64 0a 20 20 20 20 60 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 face'.and.....`racket-xp-binding
c2a80 2d 6c 6f 63 61 6c 2d 75 73 65 2d 66 61 63 65 27 2e 0a 0a 54 68 69 73 20 68 61 73 20 61 20 76 69 -local-use-face'...This.has.a.vi
c2aa0 73 69 62 6c 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 sible.effect.only.when.there.is.
c2ac0 2f 6e 6f 74 2f 20 61 6c 73 6f 20 61 0a 5c 5c 3d 27 66 61 63 65 20 70 72 6f 70 65 72 74 79 20 61 /not/.also.a.\\='face.property.a
c2ae0 70 70 6c 69 65 64 20 62 79 20 74 68 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 27 73 20 66 6f 6e 74 69 pplied.by.the.major.mode's.fonti
c2b00 66 69 63 61 74 69 6f 6e 2e 22 0a 20 20 3a 74 61 67 20 22 52 61 63 6b 65 74 20 58 70 20 4d 6f 64 fication."...:tag."Racket.Xp.Mod
c2b20 65 20 42 69 6e 64 69 6e 67 20 46 6f 6e 74 20 4c 6f 63 6b 20 46 61 63 65 20 4d 6f 64 65 73 22 0a e.Binding.Font.Lock.Face.Modes".
c2b40 20 20 3a 74 79 70 65 20 27 28 72 65 70 65 61 74 20 73 79 6d 62 6f 6c 29 0a 20 20 3a 73 61 66 65 ..:type.'(repeat.symbol)...:safe
c2b60 20 23 27 6c 69 73 74 70 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 78 70 29 0a 0a 3b .#'listp...:group.'racket-xp)..;
c2b80 3b 3b 20 48 61 73 68 20 4c 61 6e 67 0a 0a 28 64 65 66 67 72 6f 75 70 20 72 61 63 6b 65 74 2d 68 ;;.Hash.Lang..(defgroup.racket-h
c2ba0 61 73 68 2d 6c 61 6e 67 20 6e 69 6c 0a 20 20 22 60 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e ash-lang.nil..."`racket-hash-lan
c2bc0 67 2d 6d 6f 64 65 27 20 6f 70 74 69 6f 6e 73 22 0a 20 20 3a 74 61 67 20 22 48 61 73 68 20 4c 61 g-mode'.options"...:tag."Hash.La
c2be0 6e 67 22 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 29 0a 0a 28 64 65 66 63 75 73 74 6f ng"...:group.'racket)..(defcusto
c2c00 6d 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 74 6f 6b 65 6e 2d 66 61 63 65 2d 61 6c m.racket-hash-lang-token-face-al
c2c20 69 73 74 0a 20 20 60 28 28 63 6f 6e 73 74 61 6e 74 20 20 20 20 20 20 20 20 20 20 20 2e 20 66 6f ist...`((constant.............fo
c2c40 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74 2d 66 61 63 65 29 0a 20 20 20 20 28 65 72 72 6f nt-lock-constant-face).....(erro
c2c60 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 65 72 72 6f 72 29 0a 20 20 20 20 28 6f 74 68 r................error).....(oth
c2c80 65 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 6f 63 2d er................font-lock-doc-
c2ca0 66 61 63 65 29 0a 20 20 20 20 28 6b 65 79 77 6f 72 64 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 face).....(keyword..............
c2cc0 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 0a 20 20 20 20 28 68 61 73 font-lock-keyword-face).....(has
c2ce0 68 2d 63 6f 6c 6f 6e 2d 6b 65 79 77 6f 72 64 20 2e 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 h-colon-keyword...racket-keyword
c2d00 2d 61 72 67 75 6d 65 6e 74 2d 66 61 63 65 29 0a 20 20 20 20 28 61 74 20 20 20 20 20 20 20 20 20 -argument-face).....(at.........
c2d20 20 20 20 20 20 20 20 20 2e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 6f 63 2d 66 61 63 65 29 29 0a 20 ..........font-lock-doc-face))..
c2d40 20 22 41 6e 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 6c 69 73 74 20 66 72 6f 6d 20 63 6f 6c 6f 72 ."An.association.list.from.color
c2d60 2d 6c 65 78 65 72 20 74 6f 6b 65 6e 20 73 79 6d 62 6f 6c 73 20 74 6f 20 66 61 63 65 20 73 79 6d -lexer.token.symbols.to.face.sym
c2d80 62 6f 6c 73 2e 0a 0a 4e 6f 74 65 3a 20 49 6e 20 6d 61 6e 79 20 52 61 63 6b 65 74 20 6c 61 6e 67 bols...Note:.In.many.Racket.lang
c2da0 75 61 67 65 73 2c 20 74 68 65 20 6c 65 78 65 72 20 63 6c 61 73 73 69 66 69 65 73 20 74 6f 6b 65 uages,.the.lexer.classifies.toke
c2dc0 6e 73 20 66 6f 72 0a 69 64 65 6e 74 69 66 69 65 72 73 20 61 73 20 5c 5c 3d 27 73 79 6d 62 6f 6c ns.for.identifiers.as.\\='symbol
c2de0 2e 20 49 6e 20 6d 61 6e 79 20 70 72 6f 67 72 61 6d 73 2c 20 61 20 6d 61 6a 6f 72 69 74 79 20 6f ..In.many.programs,.a.majority.o
c2e00 66 20 74 68 65 0a 73 6f 75 72 63 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 69 64 65 6e 74 69 66 f.the.source.consists.of.identif
c2e20 69 65 72 73 20 61 74 20 62 69 6e 64 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 20 61 6e 64 20 75 iers.at.binding.definition.and.u
c2e40 73 65 0a 73 69 74 65 73 2e 20 54 68 65 72 65 66 6f 72 65 20 74 68 65 20 61 70 70 65 61 72 61 6e se.sites..Therefore.the.appearan
c2e60 63 65 20 6f 66 20 5c 22 73 79 6d 62 6f 6c 5c 22 20 74 6f 6b 65 6e 73 20 69 73 0a 73 69 67 6e 69 ce.of.\"symbol\".tokens.is.signi
c2e80 66 69 63 61 6e 74 2c 20 61 6e 64 20 61 20 6d 61 74 74 65 72 20 6f 66 20 70 65 72 73 6f 6e 61 6c ficant,.and.a.matter.of.personal
c2ea0 20 70 72 65 66 65 72 65 6e 63 65 2e 0a 0a 20 20 2d 20 49 66 20 79 6f 75 20 70 72 65 66 65 72 20 .preference.....-.If.you.prefer.
c2ec0 61 20 5c 22 70 6c 61 69 6e 65 72 5c 22 20 61 70 70 65 61 72 61 6e 63 65 2c 20 73 69 6d 69 6c 61 a.\"plainer\".appearance,.simila
c2ee0 72 20 74 6f 20 44 72 20 52 61 63 6b 65 74 3a 0a 20 20 20 20 41 64 64 20 5c 5c 3d 27 73 79 6d 62 r.to.Dr.Racket:.....Add.\\='symb
c2f00 6f 6c 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 5c 5c 3d 27 64 65 66 61 75 6c 74 2e 20 54 ol.with.the.value.\\='default..T
c2f20 68 69 73 20 67 69 76 65 73 20 61 6e 0a 20 20 20 20 65 78 70 6c 69 63 69 74 20 5c 5c 3d 27 66 61 his.gives.an.....explicit.\\='fa
c2f40 63 65 20 70 72 6f 70 65 72 74 79 20 74 68 61 74 20 70 72 65 76 61 69 6c 73 20 6f 76 65 72 20 61 ce.property.that.prevails.over.a
c2f60 6e 79 0a 20 20 20 20 5c 5c 3d 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 70 72 6f 70 65 72 ny.....\\='font-lock-face.proper
c2f80 74 79 20 74 68 61 74 20 61 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 6d 69 67 68 74 20 61 70 70 6c 79 ty.that.a.minor.mode.might.apply
c2fa0 20 74 6f 0a 20 20 20 20 65 6e 68 61 6e 63 65 20 74 68 65 20 62 61 73 69 63 20 66 6f 6e 74 69 66 .to.....enhance.the.basic.fontif
c2fc0 69 63 61 74 69 6f 6e 2e 0a 0a 20 20 2d 20 49 66 20 79 6f 75 20 70 72 65 66 65 72 20 61 20 6d 6f ication.....-.If.you.prefer.a.mo
c2fe0 72 65 20 5c 22 63 6f 6c 6f 72 66 75 6c 5c 22 20 61 70 70 65 61 72 61 6e 63 65 2c 20 73 69 6d 69 re.\"colorful\".appearance,.simi
c3000 6c 61 72 20 74 6f 0a 20 20 20 20 5c 22 63 6c 61 73 73 69 63 5c 22 20 60 72 61 63 6b 65 74 2d 6d lar.to.....\"classic\".`racket-m
c3020 6f 64 65 27 3a 20 44 6f 20 2f 6e 6f 74 2f 20 6d 61 70 20 5c 5c 3d 27 73 79 6d 62 6f 6c 20 74 6f ode':.Do./not/.map.\\='symbol.to
c3040 6b 65 6e 73 20 69 6e 0a 20 20 20 20 74 68 69 73 20 6c 69 73 74 2e 20 53 65 65 20 60 72 61 63 6b kens.in.....this.list..See.`rack
c3060 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f et-hash-lang-module-language-hoo
c3080 6b 27 20 66 6f 72 0a 20 20 20 20 69 64 65 61 73 2e 0a 0a 4e 6f 74 65 3a 20 53 6f 6d 65 20 74 6f k'.for.....ideas...Note:.Some.to
c30a0 6b 65 6e 73 20 61 72 65 20 68 61 72 64 77 69 72 65 64 20 61 6e 64 20 6e 6f 74 20 63 75 73 74 6f kens.are.hardwired.and.not.custo
c30c0 6d 69 7a 61 62 6c 65 20 62 79 20 74 68 69 73 0a 6c 69 73 74 3a 20 43 6f 6d 6d 65 6e 74 20 74 6f mizable.by.this.list:.Comment.to
c30e0 6b 65 6e 73 20 75 73 65 20 74 68 65 20 66 61 63 65 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d kens.use.the.face.`font-lock-com
c3100 6d 65 6e 74 2d 66 61 63 65 27 2c 0a 73 6f 6d 65 74 69 6d 65 73 20 62 6c 65 6e 64 65 64 20 77 69 ment-face',.sometimes.blended.wi
c3120 74 68 20 6f 74 68 65 72 20 66 61 63 65 73 2e 20 50 61 72 65 6e 74 68 65 73 69 73 20 74 6f 6b 65 th.other.faces..Parenthesis.toke
c3140 6e 73 20 75 73 65 20 74 68 65 0a 66 61 63 65 20 60 70 61 72 65 6e 74 68 65 73 69 73 27 20 69 66 ns.use.the.face.`parenthesis'.if
c3160 20 64 65 66 69 6e 65 64 2c 20 61 73 20 62 79 20 74 68 65 20 70 61 72 65 6e 2d 66 61 63 65 20 70 .defined,.as.by.the.paren-face.p
c3180 61 63 6b 61 67 65 2e 0a 53 74 72 69 6e 67 20 74 6f 6b 65 6e 73 20 75 73 65 20 60 66 6f 6e 74 2d ackage..String.tokens.use.`font-
c31a0 6c 6f 63 6b 2d 73 74 72 69 6e 67 2d 66 61 63 65 27 2e 20 54 65 78 74 20 74 6f 6b 65 6e 73 2c 20 lock-string-face'..Text.tokens,.
c31c0 65 2e 67 2e 0a 53 63 72 69 62 62 6c 65 20 74 65 78 74 2c 20 75 73 65 20 74 68 65 20 66 61 63 65 e.g..Scribble.text,.use.the.face
c31e0 20 60 64 65 66 61 75 6c 74 27 22 0a 20 20 3a 74 61 67 20 22 48 61 73 68 20 4c 61 6e 67 20 54 6f .`default'"...:tag."Hash.Lang.To
c3200 6b 65 6e 20 46 61 63 65 20 41 73 73 6f 63 69 61 74 69 6f 6e 20 4c 69 73 74 22 0a 20 20 3a 74 79 ken.Face.Association.List"...:ty
c3220 70 65 20 27 28 61 6c 69 73 74 20 3a 6b 65 79 2d 74 79 70 65 20 73 79 6d 62 6f 6c 20 3a 76 61 6c pe.'(alist.:key-type.symbol.:val
c3240 75 65 2d 74 79 70 65 20 66 61 63 65 29 0a 20 20 3a 73 61 66 65 20 23 27 6c 69 73 74 70 0a 20 20 ue-type.face)...:safe.#'listp...
c3260 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 29 0a 0a 3b 3b 3b 20 52 :group.'racket-hash-lang)..;;;.R
c3280 45 50 4c 0a 0a 28 64 65 66 67 72 6f 75 70 20 72 61 63 6b 65 74 2d 72 65 70 6c 20 6e 69 6c 0a 20 EPL..(defgroup.racket-repl.nil..
c32a0 20 22 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 6f 70 74 69 6f 6e 73 22 0a 20 20 ."`racket-repl-mode'.options"...
c32c0 3a 74 61 67 20 22 52 45 50 4c 22 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 29 0a 0a 28 :tag."REPL"...:group.'racket)..(
c32e0 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d defcustom.racket-repl-buffer-nam
c3300 65 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 0a 20 20 22 48 6f 77 20 74 6f 20 61 73 73 6f 63 69 61 e-function.nil..."How.to.associa
c3320 74 65 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 65 64 69 74 20 62 75 66 66 65 72 73 20 77 69 te.`racket-mode'.edit.buffers.wi
c3340 74 68 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 73 2e 0a 0a th.`racket-repl-mode'.buffers...
c3360 54 68 65 20 64 65 66 61 75 6c 74 20 69 73 20 6e 69 6c 2c 20 77 68 69 63 68 20 69 73 20 65 71 75 The.default.is.nil,.which.is.equ
c3380 69 76 61 6c 65 6e 74 20 74 6f 20 73 75 70 70 6c 79 69 6e 67 0a 60 72 61 63 6b 65 74 2d 72 65 70 ivalent.to.supplying.`racket-rep
c33a0 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 61 72 65 64 27 3a 20 4f 6e 65 20 52 45 50 4c 20 l-buffer-name-shared':.One.REPL.
c33c0 62 75 66 66 65 72 20 69 73 20 73 68 61 72 65 64 2e 0a 0a 4f 74 68 65 72 20 70 72 65 64 65 66 69 buffer.is.shared...Other.predefi
c33e0 6e 65 64 20 63 68 6f 69 63 65 73 20 69 6e 63 6c 75 64 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c ned.choices.include.`racket-repl
c3400 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 27 0a 61 6e 64 20 60 72 61 63 6b 65 74 -buffer-name-unique'.and.`racket
c3420 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 70 72 6f 6a 65 63 74 27 2e 0a 0a 54 68 69 -repl-buffer-name-project'...Thi
c3440 73 20 69 73 20 75 73 65 64 20 77 68 65 6e 20 61 20 60 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 62 s.is.used.when.a.`racket-mode'.b
c3460 75 66 66 65 72 20 69 73 20 63 72 65 61 74 65 64 2e 20 43 68 61 6e 67 69 6e 67 0a 74 68 69 73 20 uffer.is.created..Changing.this.
c3480 74 6f 20 61 20 6e 65 77 20 76 61 6c 75 65 20 6f 6e 6c 79 20 61 66 66 65 63 74 73 20 60 72 61 63 to.a.new.value.only.affects.`rac
c34a0 6b 65 74 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 73 20 63 72 65 61 74 65 64 0a 6c 61 74 65 72 2e ket-mode'.buffers.created.later.
c34c0 0a 0a 41 6e 79 20 73 75 63 68 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 6e 6f 20 61 72 67 ..Any.such.function.takes.no.arg
c34e0 75 6d 65 6e 74 73 2c 20 73 68 6f 75 6c 64 20 6c 6f 6f 6b 20 61 74 20 74 68 65 20 76 61 72 69 61 uments,.should.look.at.the.varia
c3500 62 6c 65 0a 60 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 27 20 69 66 20 6e 65 63 65 73 73 ble.`buffer-file-name'.if.necess
c3520 61 72 79 2c 20 61 6e 64 20 65 69 74 68 65 72 20 60 73 65 74 71 2d 64 65 66 61 75 6c 74 27 20 6f ary,.and.either.`setq-default'.o
c3540 72 0a 60 73 65 74 71 2d 6c 6f 63 61 6c 27 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 r.`setq-local'.the.variable.`rac
c3560 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 27 20 74 6f 20 61 20 64 65 73 69 72 ket-repl-buffer-name'.to.a.desir
c3580 65 64 0a 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 20 6e 61 6d ed.`racket-repl-mode'.buffer.nam
c35a0 65 2e 20 41 73 20 61 20 72 65 73 75 6c 74 2c 20 60 72 61 63 6b 65 74 2d 72 75 6e 27 0a 63 6f 6d e..As.a.result,.`racket-run'.com
c35c0 6d 61 6e 64 73 20 77 69 6c 6c 20 75 73 65 20 61 20 62 75 66 66 65 72 20 6f 66 20 74 68 61 74 20 mands.will.use.a.buffer.of.that.
c35e0 6e 61 6d 65 2c 20 63 72 65 61 74 69 6e 67 20 69 74 20 69 66 0a 6e 65 63 65 73 73 61 72 79 2e 22 name,.creating.it.if.necessary."
c3600 0a 20 20 3a 74 61 67 20 22 52 45 50 4c 20 42 75 66 66 65 72 20 4e 61 6d 65 20 46 75 6e 63 74 69 ...:tag."REPL.Buffer.Name.Functi
c3620 6f 6e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 63 6f 6e 73 74 20 3a 74 61 67 on"...:type.'(choice.(const.:tag
c3640 20 22 4f 6e 65 20 52 45 50 4c 20 62 75 66 66 65 72 20 66 6f 72 20 61 6c 6c 20 65 64 69 74 20 62 ."One.REPL.buffer.for.all.edit.b
c3660 75 66 66 65 72 73 22 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 uffers".nil)..................(c
c3680 6f 6e 73 74 20 3a 74 61 67 20 22 4f 6e 65 20 52 45 50 4c 20 62 75 66 66 65 72 20 66 6f 72 20 61 onst.:tag."One.REPL.buffer.for.a
c36a0 6c 6c 20 70 72 6f 6a 65 63 74 20 65 64 69 74 20 62 75 66 66 65 72 73 22 20 72 61 63 6b 65 74 2d ll.project.edit.buffers".racket-
c36c0 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 70 72 6f 6a 65 63 74 29 0a 20 20 20 20 20 20 repl-buffer-name-project).......
c36e0 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 4f 6e 65 20 52 45 50 4c ...........(const.:tag."One.REPL
c3700 20 62 75 66 66 65 72 20 66 6f 72 20 65 61 63 68 20 65 64 69 74 20 62 75 66 66 65 72 22 20 72 61 .buffer.for.each.edit.buffer".ra
c3720 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 29 0a 20 20 cket-repl-buffer-name-unique)...
c3740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 20 3a 74 61 67 20 22 4f ...............(function.:tag."O
c3760 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 22 29 29 0a 20 20 3a 72 69 73 6b 79 20 74 0a 20 20 3a 67 ther.function"))...:risky.t...:g
c3780 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 roup.'racket-repl)..(defcustom.r
c37a0 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 74 6f 2d 72 75 6e 20 27 28 28 74 65 73 74 29 acket-submodules-to-run.'((test)
c37c0 20 28 6d 61 69 6e 29 29 0a 20 20 22 45 78 74 72 61 20 73 75 62 6d 6f 64 75 6c 65 73 20 74 6f 20 .(main))..."Extra.submodules.to.
c37e0 72 75 6e 2e 0a 0a 54 68 69 73 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 73 75 62 6d 6f 64 75 6c run...This.is.a.list.of.submodul
c3800 65 73 2e 20 45 61 63 68 20 73 75 62 6d 6f 64 75 6c 65 20 69 73 20 64 65 73 63 72 69 62 65 64 20 es..Each.submodule.is.described.
c3820 61 73 20 61 0a 6c 69 73 74 2c 20 74 6f 20 73 75 70 70 6f 72 74 20 73 75 62 6d 6f 64 75 6c 65 73 as.a.list,.to.support.submodules
c3840 20 6e 65 73 74 65 64 20 74 6f 20 61 6e 79 20 64 65 70 74 68 2e 0a 0a 54 68 69 73 20 69 73 20 75 .nested.to.any.depth...This.is.u
c3860 73 65 64 20 62 79 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 65 6d 75 6c 61 74 65 20 74 68 65 sed.by.commands.that.emulate.the
c3880 20 44 72 52 61 63 6b 65 74 20 52 75 6e 20 63 6f 6d 6d 61 6e 64 3a 0a 0a 5c 5c 3c 72 61 63 6b 65 .DrRacket.Run.command:..\\<racke
c38a0 74 2d 6d 6f 64 65 2d 6d 61 70 3e 0a 0a 20 2d 20 60 72 61 63 6b 65 74 2d 72 75 6e 27 0a 20 2d 20 t-mode-map>...-.`racket-run'..-.
c38c0 60 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 27 20 `racket-run-and-switch-to-repl'.
c38e0 5c 5c 5b 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c \\[racket-run-and-switch-to-repl
c3900 5d 0a 0a 49 74 20 69 73 20 4e 4f 54 20 75 73 65 64 20 62 79 20 63 6f 6d 6d 61 6e 64 73 20 74 68 ]..It.is.NOT.used.by.commands.th
c3920 61 74 20 72 75 6e 20 6f 6e 65 20 73 70 65 63 69 66 69 63 20 6d 6f 64 75 6c 65 2c 20 73 75 63 68 at.run.one.specific.module,.such
c3940 20 61 73 3a 0a 0a 20 2d 20 60 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 .as:...-.`racket-run-module-at-p
c3960 6f 69 6e 74 27 20 5c 5c 5b 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f oint'.\\[racket-run-module-at-po
c3980 69 6e 74 5d 0a 20 2d 20 60 72 61 63 6b 65 74 2d 74 65 73 74 27 20 5c 5c 5b 72 61 63 6b 65 74 2d int]..-.`racket-test'.\\[racket-
c39a0 74 65 73 74 5d 0a 20 2d 20 60 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 27 22 0a 20 20 3a 74 61 test]..-.`racket-profile'"...:ta
c39c0 67 20 22 53 75 62 6d 6f 64 75 6c 65 73 20 74 6f 20 52 75 6e 22 0a 20 20 3a 74 79 70 65 20 27 28 g."Submodules.to.Run"...:type.'(
c39e0 72 65 70 65 61 74 20 28 72 65 70 65 61 74 20 3a 74 61 67 20 22 4d 6f 64 75 6c 65 20 70 61 74 68 repeat.(repeat.:tag."Module.path
c3a00 22 20 73 79 6d 62 6f 6c 29 29 0a 20 20 3a 73 61 66 65 20 23 27 6c 69 73 74 70 0a 20 20 3a 67 72 ".symbol))...:safe.#'listp...:gr
c3a20 6f 75 70 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 oup.'racket-repl)..(defcustom.ra
c3a40 63 6b 65 74 2d 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 20 32 30 34 38 0a 20 20 22 54 65 72 6d 69 6e cket-memory-limit.2048..."Termin
c3a60 61 74 65 20 74 68 65 20 52 61 63 6b 65 74 20 70 72 6f 63 65 73 73 20 69 66 20 6d 65 6d 6f 72 79 ate.the.Racket.process.if.memory
c3a80 20 75 73 65 20 65 78 63 65 65 64 73 20 74 68 69 73 20 76 61 6c 75 65 20 69 6e 20 4d 42 2e 0a 0a .use.exceeds.this.value.in.MB...
c3aa0 43 68 61 6e 67 65 73 20 74 6f 20 74 68 69 73 20 76 61 6c 75 65 20 74 61 6b 65 20 65 66 66 65 63 Changes.to.this.value.take.effec
c3ac0 74 20 75 70 6f 6e 20 74 68 65 20 6e 65 78 74 20 60 72 61 63 6b 65 74 2d 72 75 6e 27 2e 20 41 20 t.upon.the.next.`racket-run'..A.
c3ae0 76 61 6c 75 65 0a 6f 66 20 30 20 6d 65 61 6e 73 20 6e 6f 20 6c 69 6d 69 74 2e 0a 0a 43 61 76 65 value.of.0.means.no.limit...Cave
c3b00 61 74 3a 20 54 68 69 73 20 75 73 65 73 20 52 61 63 6b 65 74 27 73 20 60 63 75 73 74 6f 64 69 61 at:.This.uses.Racket's.`custodia
c3b20 6e 2d 6c 69 6d 69 74 2d 6d 65 6d 6f 72 79 60 2c 20 77 68 69 63 68 20 64 6f 65 73 0a 6e 6f 74 20 n-limit-memory`,.which.does.not.
c3b40 65 6e 66 6f 72 63 65 20 74 68 65 20 6c 69 6d 69 74 20 65 78 61 63 74 6c 79 2e 20 49 6e 73 74 65 enforce.the.limit.exactly..Inste
c3b60 61 64 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 62 65 0a 74 65 72 6d 69 6e 61 74 ad,.the.program.will.be.terminat
c3b80 65 64 20 75 70 6f 6e 20 74 68 65 20 66 69 72 73 74 20 67 61 72 62 61 67 65 20 63 6f 6c 6c 65 63 ed.upon.the.first.garbage.collec
c3ba0 74 69 6f 6e 20 77 68 65 72 65 20 6d 65 6d 6f 72 79 20 65 78 63 65 65 64 73 0a 74 68 65 20 6c 69 tion.where.memory.exceeds.the.li
c3bc0 6d 69 74 20 28 6d 61 79 62 65 20 62 79 20 61 20 73 69 67 6e 69 66 69 63 61 6e 74 20 61 6d 6f 75 mit.(maybe.by.a.significant.amou
c3be0 6e 74 29 2e 22 0a 20 20 3a 74 61 67 20 22 4d 65 6d 6f 72 79 20 4c 69 6d 69 74 22 0a 20 20 3a 74 nt)."...:tag."Memory.Limit"...:t
c3c00 79 70 65 20 27 69 6e 74 65 67 65 72 0a 20 20 3a 73 61 66 65 20 23 27 69 6e 74 65 67 65 72 70 0a ype.'integer...:safe.#'integerp.
c3c20 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 0a 28 64 65 66 63 75 73 74 ..:group.'racket-repl)..(defcust
c3c40 6f 6d 20 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 20 27 6d 65 64 69 75 6d 0a om.racket-error-context.'medium.
c3c60 20 20 22 54 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 63 6f 6e 74 65 78 74 20 66 6f 72 20 65 72 72 .."The.amount.of.context.for.err
c3c80 6f 72 20 6d 65 73 73 61 67 65 73 2e 0a 0a 45 61 63 68 20 69 6e 63 72 65 61 73 69 6e 67 20 6c 65 or.messages...Each.increasing.le
c3ca0 76 65 6c 20 73 75 70 70 6c 69 65 73 20 62 65 74 74 65 72 20 63 6f 6e 74 65 78 74 20 28 5c 22 73 vel.supplies.better.context.(\"s
c3cc0 74 61 63 6b 20 74 72 61 63 65 5c 22 29 0a 66 6f 72 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 tack.trace\").for.error.messages
c3ce0 2c 20 62 75 74 20 63 61 75 73 69 6e 67 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 74 6f 20 72 75 ,.but.causing.your.program.to.ru
c3d00 6e 20 6d 6f 72 65 20 73 6c 6f 77 6c 79 2e 0a 0a 20 20 2d 20 6c 6f 77 20 63 6f 72 72 65 73 70 6f n.more.slowly.....-.low.correspo
c3d20 6e 64 73 20 74 6f 20 63 6f 6d 70 69 6c 65 2d 65 6e 66 6f 72 63 65 2d 6d 6f 64 75 6c 65 2d 63 6f nds.to.compile-enforce-module-co
c3d40 6e 73 74 61 6e 74 73 20 23 74 20 61 6e 64 0a 20 20 20 20 63 6f 6d 70 69 6c 65 2d 63 6f 6e 74 65 nstants.#t.and.....compile-conte
c3d60 78 74 2d 70 72 65 73 65 72 76 61 74 69 6f 6e 2d 65 6e 61 62 6c 65 64 20 23 66 2e 0a 0a 20 20 2d xt-preservation-enabled.#f.....-
c3d80 20 6d 65 64 69 75 6d 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 63 6f 6d 70 69 6c 65 2d 65 .medium.corresponds.to.compile-e
c3da0 6e 66 6f 72 63 65 2d 6d 6f 64 75 6c 65 2d 63 6f 6e 73 74 61 6e 74 73 20 23 66 20 61 6e 64 0a 20 nforce-module-constants.#f.and..
c3dc0 20 20 20 63 6f 6d 70 69 6c 65 2d 63 6f 6e 74 65 78 74 2d 70 72 65 73 65 72 76 61 74 69 6f 6e 2d ...compile-context-preservation-
c3de0 65 6e 61 62 6c 65 64 20 23 74 2c 20 77 68 69 63 68 20 64 69 73 61 62 6c 65 73 20 73 6f 6d 65 0a enabled.#t,.which.disables.some.
c3e00 20 20 20 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 6c 69 6b 65 20 69 6e 6c 69 6e 69 6e 67 2e ....optimizations.like.inlining.
c3e20 0a 0a 20 20 2d 20 68 69 67 68 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 6d 65 64 69 75 6d ....-.high.corresponds.to.medium
c3e40 20 70 6c 75 73 20 74 68 65 20 75 73 65 20 6f 66 20 65 72 72 6f 72 74 72 61 63 65 2c 20 77 68 69 .plus.the.use.of.errortrace,.whi
c3e60 63 68 0a 20 20 20 20 65 78 74 65 6e 73 69 76 65 6c 79 20 69 6e 73 74 72 75 6d 65 6e 74 73 20 79 ch.....extensively.instruments.y
c3e80 6f 75 72 20 63 6f 64 65 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 6d 69 67 68 74 20 63 61 75 our.code.and.therefore.might.cau
c3ea0 73 65 0a 20 20 20 20 69 74 20 74 6f 20 72 75 6e 20 73 69 67 6e 69 66 69 63 61 6e 74 6c 79 20 73 se.....it.to.run.significantly.s
c3ec0 6c 6f 77 65 72 2e 0a 0a 54 69 70 3a 20 52 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 69 73 20 lower...Tip:.Regardless.of.this.
c3ee0 73 65 74 74 69 6e 67 2c 20 79 6f 75 20 63 61 6e 20 65 6e 61 62 6c 65 20 68 69 67 68 20 65 72 72 setting,.you.can.enable.high.err
c3f00 6f 72 74 72 61 63 65 0a 66 6f 72 20 61 20 73 70 65 63 69 66 69 63 20 60 72 61 63 6b 65 74 2d 72 ortrace.for.a.specific.`racket-r
c3f20 75 6e 27 20 6f 72 20 60 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 un'.or.`racket-run-module-at-poi
c3f40 6e 74 27 20 62 79 0a 75 73 69 6e 67 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 nt'.by.using.\\[universal-argume
c3f60 6e 74 5d 2e 20 54 68 69 73 20 6c 65 74 73 20 79 6f 75 20 6e 6f 72 6d 61 6c 6c 79 20 72 75 6e 20 nt]..This.lets.you.normally.run.
c3f80 77 69 74 68 20 61 0a 6c 6f 77 65 72 2c 20 66 61 73 74 65 72 20 73 65 74 74 69 6e 67 2c 20 61 6e with.a.lower,.faster.setting,.an
c3fa0 64 20 72 65 2d 72 75 6e 20 77 68 65 6e 20 64 65 73 69 72 65 64 20 74 6f 20 67 65 74 20 61 0a 6d d.re-run.when.desired.to.get.a.m
c3fc0 6f 72 65 2d 68 65 6c 70 66 75 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 22 0a 20 20 3a 74 ore-helpful.error.message."...:t
c3fe0 61 67 20 22 45 72 72 6f 72 20 43 6f 6e 74 65 78 74 22 0a 20 20 3a 74 79 70 65 20 27 28 72 61 64 ag."Error.Context"...:type.'(rad
c4000 69 6f 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 4c 6f 77 22 20 6c 6f 77 29 0a 20 20 20 20 20 20 io.(const.:tag."Low".low).......
c4020 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 4d 65 64 69 75 6d 20 28 62 ..........(const.:tag."Medium.(b
c4040 65 74 74 65 72 20 63 6f 6e 74 65 78 74 20 62 75 74 20 73 6c 6f 77 65 72 29 22 20 6d 65 64 69 75 etter.context.but.slower)".mediu
c4060 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 m).................(const.:tag."
c4080 48 69 67 68 20 28 62 65 73 74 20 63 6f 6e 74 65 78 74 20 62 75 74 20 73 6c 6f 77 65 73 74 29 22 High.(best.context.but.slowest)"
c40a0 20 68 69 67 68 29 29 0a 20 20 3a 72 69 73 6b 79 20 74 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 .high))...:risky.t...:group.'rac
c40c0 6b 65 74 2d 72 65 70 6c 29 0a 0a 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 ket-repl)..(make-obsolete-variab
c40e0 6c 65 20 27 72 61 63 6b 65 74 2d 72 65 74 72 79 2d 61 73 2d 73 6b 65 6c 65 74 6f 6e 20 6e 69 6c le.'racket-retry-as-skeleton.nil
c4100 20 22 32 30 32 30 2d 30 32 2d 32 36 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 ."2020-02-26")..(defcustom.racke
c4120 74 2d 72 65 70 6c 2d 68 69 73 74 6f 72 79 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 28 6c 6f 63 61 t-repl-history-directory...(loca
c4140 74 65 2d 75 73 65 72 2d 65 6d 61 63 73 2d 66 69 6c 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 te-user-emacs-file.(file-name-as
c4160 2d 64 69 72 65 63 74 6f 72 79 20 22 72 61 63 6b 65 74 2d 6d 6f 64 65 22 29 29 0a 20 20 22 44 69 -directory."racket-mode"))..."Di
c4180 72 65 63 74 6f 72 79 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 68 rectory.for.`racket-repl-mode'.h
c41a0 69 73 74 6f 72 79 20 66 69 6c 65 73 2e 22 0a 20 20 3a 74 61 67 20 22 52 45 50 4c 20 48 69 73 74 istory.files."...:tag."REPL.Hist
c41c0 6f 72 79 20 44 69 72 65 63 74 6f 72 79 22 0a 20 20 3a 74 79 70 65 20 27 66 69 6c 65 0a 20 20 3a ory.Directory"...:type.'file...:
c41e0 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 group.'racket-repl)..(defcustom.
c4200 72 61 63 6b 65 74 2d 68 69 73 74 6f 72 79 2d 66 69 6c 74 65 72 2d 72 65 67 65 78 70 20 22 5c 5c racket-history-filter-regexp."\\
c4220 60 5c 5c 73 20 2a 5c 5c 27 22 0a 20 20 22 49 6e 70 75 74 20 6d 61 74 63 68 69 6e 67 20 74 68 69 `\\s.*\\'"..."Input.matching.thi
c4240 73 20 72 65 67 65 78 70 20 61 72 65 20 4e 4f 54 20 73 61 76 65 64 20 6f 6e 20 74 68 65 20 68 69 s.regexp.are.NOT.saved.on.the.hi
c4260 73 74 6f 72 79 20 6c 69 73 74 2e 0a 44 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 73 20 61 20 72 story.list..Default.value.is.a.r
c4280 65 67 65 78 70 20 74 6f 20 69 67 6e 6f 72 65 20 69 6e 70 75 74 20 74 68 61 74 20 69 73 20 61 6c egexp.to.ignore.input.that.is.al
c42a0 6c 20 77 68 69 74 65 73 70 61 63 65 2e 22 0a 20 20 3a 74 61 67 20 22 48 69 73 74 6f 72 79 20 46 l.whitespace."...:tag."History.F
c42c0 69 6c 74 65 72 20 52 65 67 65 78 70 22 0a 20 20 3a 74 79 70 65 20 27 72 65 67 65 78 70 0a 20 20 ilter.Regexp"...:type.'regexp...
c42e0 3a 73 61 66 65 20 23 27 73 74 72 69 6e 67 70 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 :safe.#'stringp...:group.'racket
c4300 2d 72 65 70 6c 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 -repl)..(defcustom.racket-images
c4320 2d 69 6e 6c 69 6e 65 20 74 0a 20 20 22 57 68 65 74 68 65 72 20 74 6f 20 64 69 73 70 6c 61 79 20 -inline.t..."Whether.to.display.
c4340 69 6e 6c 69 6e 65 20 69 6d 61 67 65 73 20 69 6e 20 74 68 65 20 52 45 50 4c 2e 22 0a 20 20 3a 74 inline.images.in.the.REPL."...:t
c4360 61 67 20 22 49 6d 61 67 65 73 20 49 6e 6c 69 6e 65 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c ag."Images.Inline"...:type.'bool
c4380 65 61 6e 0a 20 20 3a 73 61 66 65 20 23 27 62 6f 6f 6c 65 61 6e 70 0a 20 20 3a 67 72 6f 75 70 20 ean...:safe.#'booleanp...:group.
c43a0 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 'racket-repl)..(defcustom.racket
c43c0 2d 69 6d 61 67 65 6d 61 67 69 63 6b 2d 70 72 6f 70 73 20 6e 69 6c 0a 20 20 22 55 73 65 20 49 6d -imagemagick-props.nil..."Use.Im
c43e0 61 67 65 4d 61 67 69 63 6b 20 77 69 74 68 20 74 68 65 73 65 20 70 72 6f 70 65 72 74 69 65 73 20 ageMagick.with.these.properties.
c4400 66 6f 72 20 52 45 50 4c 20 69 6d 61 67 65 73 2e 0a 0a 57 68 65 6e 20 74 68 69 73 20 70 72 6f 70 for.REPL.images...When.this.prop
c4420 65 72 74 79 20 6c 69 73 74 20 69 73 20 6e 6f 74 20 65 6d 70 74 79 20 2d 2d 20 61 6e 64 20 74 68 erty.list.is.not.empty.--.and.th
c4440 65 20 76 61 72 69 61 62 6c 65 0a 60 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 69 6e 6c 69 6e 65 e.variable.`racket-images-inline
c4460 27 20 69 73 20 74 72 75 65 2c 20 61 6e 64 20 45 6d 61 63 73 20 69 73 20 62 75 69 6c 74 20 77 69 '.is.true,.and.Emacs.is.built.wi
c4480 74 68 20 77 69 74 68 0a 49 6d 61 67 65 4d 61 67 69 63 6b 20 73 75 70 70 6f 72 74 20 2d 2d 20 74 th.with.ImageMagick.support.--.t
c44a0 68 65 6e 20 60 63 72 65 61 74 65 2d 69 6d 61 67 65 27 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 hen.`create-image'.is.called.wit
c44c0 68 0a 5c 22 69 6d 61 67 65 6d 61 67 69 63 6b 5c 22 20 61 73 20 74 68 65 20 74 79 70 65 20 61 6e h.\"imagemagick\".as.the.type.an
c44e0 64 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 70 65 72 74 79 20 6c 69 73 74 2e 0a 0a 46 6f 72 20 d.with.this.property.list...For.
c4500 65 78 61 6d 70 6c 65 2c 20 74 6f 20 73 63 61 6c 65 20 69 6d 61 67 65 73 20 77 68 6f 73 65 20 77 example,.to.scale.images.whose.w
c4520 69 64 74 68 20 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 35 30 30 0a 70 69 78 65 6c 73 2c 20 idth.is.larger.than.500.pixels,.
c4540 73 75 70 70 6c 79 20 28 3a 6d 61 78 2d 77 69 64 74 68 20 35 30 30 29 2e 22 0a 20 20 3a 74 61 67 supply.(:max-width.500)."...:tag
c4560 20 22 49 6d 61 67 65 4d 61 67 69 63 6b 20 50 72 6f 70 73 22 0a 20 20 3a 74 79 70 65 20 27 28 70 ."ImageMagick.Props"...:type.'(p
c4580 6c 69 73 74 20 3a 6b 65 79 2d 74 79 70 65 20 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 list.:key-type.symbol...........
c45a0 20 20 20 20 20 20 3a 76 61 6c 75 65 2d 74 79 70 65 20 28 63 68 6f 69 63 65 20 6e 75 6d 62 65 72 ......:value-type.(choice.number
c45c0 20 73 74 72 69 6e 67 29 29 0a 20 20 3a 6f 70 74 69 6f 6e 73 20 27 28 28 3a 6d 61 78 2d 77 69 64 .string))...:options.'((:max-wid
c45e0 74 68 20 69 6e 74 65 67 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 6d 61 78 2d 68 th.integer)..............(:max-h
c4600 65 69 67 68 74 20 69 6e 74 65 67 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 62 61 eight.integer)..............(:ba
c4620 63 6b 67 72 6f 75 6e 64 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a ckground.string)..............(:
c4640 77 69 64 74 68 20 69 6e 74 65 67 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 68 65 width.integer)..............(:he
c4660 69 67 68 74 20 69 6e 74 65 67 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 72 6f 74 ight.integer)..............(:rot
c4680 61 74 69 6f 6e 20 66 6c 6f 61 74 29 29 0a 20 20 3a 72 69 73 6b 79 20 74 0a 20 20 3a 67 72 6f 75 ation.float))...:risky.t...:grou
c46a0 70 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b p.'racket-repl)..(defcustom.rack
c46c0 65 74 2d 69 6d 61 67 65 73 2d 6b 65 65 70 2d 6c 61 73 74 20 31 30 30 0a 20 20 22 48 6f 77 20 6d et-images-keep-last.100..."How.m
c46e0 61 6e 79 20 69 6d 61 67 65 73 20 74 6f 20 6b 65 65 70 20 69 6e 20 74 68 65 20 69 6d 61 67 65 20 any.images.to.keep.in.the.image.
c4700 63 61 63 68 65 2e 22 0a 20 20 3a 74 61 67 20 22 49 6d 61 67 65 73 20 4b 65 65 70 20 4c 61 73 74 cache."...:tag."Images.Keep.Last
c4720 22 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 0a 20 20 3a 73 61 66 65 20 23 27 69 6e 74 "...:type.'integer...:safe.#'int
c4740 65 67 65 72 70 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 0a 28 64 egerp...:group.'racket-repl)..(d
c4760 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 73 79 73 74 65 6d 2d 76 69 efcustom.racket-images-system-vi
c4780 65 77 65 72 20 28 69 66 20 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 64 61 72 77 69 6e ewer.(if.(eq.system-type.'darwin
c47a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
c47c0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 70 65 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ............."open".............
c47e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 69 ............................."di
c4800 73 70 6c 61 79 22 29 0a 20 20 22 54 68 65 20 69 6d 61 67 65 20 76 69 65 77 65 72 20 70 72 6f 67 splay")..."The.image.viewer.prog
c4820 72 61 6d 20 74 6f 20 75 73 65 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 76 69 65 77 2d 69 6d 61 67 ram.to.use.for.`racket-view-imag
c4840 65 27 2e 22 0a 20 20 3a 74 61 67 20 22 49 6d 61 67 65 73 20 53 79 73 74 65 6d 20 56 69 65 77 65 e'."...:tag."Images.System.Viewe
c4860 72 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20 20 3a 72 69 73 6b 79 20 74 0a 20 20 r"...:type.'string...:risky.t...
c4880 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d :group.'racket-repl)..(defcustom
c48a0 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 70 72 69 6e 74 20 74 0a 20 20 22 55 73 65 20 70 72 .racket-pretty-print.t..."Use.pr
c48c0 65 74 74 79 2d 70 72 69 6e 74 20 69 6e 73 74 65 61 64 20 6f 66 20 70 72 69 6e 74 20 69 6e 20 52 etty-print.instead.of.print.in.R
c48e0 45 50 4c 3f 22 0a 20 20 3a 74 61 67 20 22 50 72 65 74 74 79 20 50 72 69 6e 74 22 0a 20 20 3a 74 EPL?"...:tag."Pretty.Print"...:t
c4900 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 73 61 66 65 20 23 27 62 6f 6f 6c 65 61 6e 70 0a ype.'boolean...:safe.#'booleanp.
c4920 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 0a 28 64 65 66 63 75 73 74 ..:group.'racket-repl)..(defcust
c4940 6f 6d 20 72 61 63 6b 65 74 2d 75 73 65 2d 72 65 70 6c 2d 73 75 62 6d 69 74 2d 70 72 65 64 69 63 om.racket-use-repl-submit-predic
c4960 61 74 65 20 6e 69 6c 0a 20 20 22 53 68 6f 75 6c 64 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 ate.nil..."Should.`racket-repl-s
c4980 75 62 6d 69 74 27 20 75 73 65 20 61 20 64 72 72 61 63 6b 65 74 3a 73 75 62 6d 69 74 2d 70 72 65 ubmit'.use.a.drracket:submit-pre
c49a0 64 69 63 61 74 65 3f 0a 0a 41 20 6c 61 6e 67 75 61 67 65 20 63 61 6e 20 70 72 6f 76 69 64 65 20 dicate?..A.language.can.provide.
c49c0 73 75 63 68 20 61 20 70 72 65 64 69 63 61 74 65 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 77 68 such.a.predicate,.for.example.wh
c49e0 65 6e 20 74 68 65 0a 6c 61 6e 67 75 61 67 65 20 73 79 6e 74 61 78 20 69 73 20 6e 6f 74 20 73 2d en.the.language.syntax.is.not.s-
c4a00 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 57 68 65 6e 20 74 20 60 72 61 63 6b 65 74 2d 72 65 70 6c expressions..When.t.`racket-repl
c4a20 2d 73 75 62 6d 69 74 27 0a 77 69 6c 6c 20 75 73 65 20 74 68 69 73 20 74 6f 20 64 65 63 69 64 65 -submit'.will.use.this.to.decide
c4a40 20 77 68 65 74 68 65 72 20 74 6f 20 73 75 62 6d 69 74 20 79 6f 75 72 20 69 6e 70 75 74 2c 20 79 .whether.to.submit.your.input,.y
c4a60 65 74 2e 22 0a 20 20 3a 74 61 67 20 22 55 73 65 20 52 45 50 4c 20 53 75 62 6d 69 74 20 50 72 65 et."...:tag."Use.REPL.Submit.Pre
c4a80 64 69 63 61 74 65 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 73 61 66 65 dicate"...:type.'boolean...:safe
c4aa0 20 23 27 62 6f 6f 6c 65 61 6e 70 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 72 65 70 .#'booleanp...:group.'racket-rep
c4ac0 6c 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e l)..(defcustom.racket-before-run
c4ae0 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 4e 6f 72 6d 61 6c 20 68 6f 6f 6b 20 64 6f 6e 65 20 62 65 -hook.nil..."Normal.hook.done.be
c4b00 66 6f 72 65 20 76 61 72 69 6f 75 73 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 72 75 6e 20 63 6f 6d fore.various.Racket.Mode.run.com
c4b20 6d 61 6e 64 73 2e 0a 0a 48 65 72 65 20 5c 22 62 65 66 6f 72 65 5c 22 20 6d 65 61 6e 73 20 74 68 mands...Here.\"before\".means.th
c4b40 61 74 20 74 68 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 at.the.`racket-repl-mode'.buffer
c4b60 20 6d 69 67 68 74 20 6e 6f 74 0a 65 78 69 73 74 20 79 65 74 2e 0a 0a 57 68 65 6e 20 68 6f 6f 6b .might.not.exist.yet...When.hook
c4b80 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 63 61 6c 6c 65 64 2c 20 60 63 75 72 72 65 6e 74 2d .functions.are.called,.`current-
c4ba0 62 75 66 66 65 72 27 20 69 73 20 74 68 61 74 20 6f 66 20 74 68 65 0a 65 64 69 74 20 62 75 66 66 buffer'.is.that.of.the.edit.buff
c4bc0 65 72 20 77 68 65 6e 20 74 68 65 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 20 77 61 73 20 69 73 73 75 er.when.the.run.command.was.issu
c4be0 65 64 2e 20 49 66 20 61 20 68 6f 6f 6b 20 66 75 6e 63 74 69 6f 6e 0a 69 6e 73 74 65 61 64 20 6e ed..If.a.hook.function.instead.n
c4c00 65 65 64 73 20 74 68 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 eeds.the.`racket-repl-mode'.buff
c4c20 65 72 2c 20 69 74 20 73 68 6f 75 6c 64 20 67 65 74 20 74 68 61 74 0a 66 72 6f 6d 20 74 68 65 20 er,.it.should.get.that.from.the.
c4c40 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d variable.`racket-repl-buffer-nam
c4c60 65 27 2e 22 0a 20 20 3a 74 61 67 20 22 42 65 66 6f 72 65 20 52 75 6e 20 48 6f 6f 6b 22 0a 20 20 e'."...:tag."Before.Run.Hook"...
c4c80 3a 74 79 70 65 20 27 68 6f 6f 6b 0a 20 20 3a 72 69 73 6b 79 20 74 0a 20 20 3a 67 72 6f 75 70 20 :type.'hook...:risky.t...:group.
c4ca0 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 'racket-repl)..(defcustom.racket
c4cc0 2d 61 66 74 65 72 2d 72 75 6e 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 4e 6f 72 6d 61 6c 20 68 6f -after-run-hook.nil..."Normal.ho
c4ce0 6f 6b 20 64 6f 6e 65 20 61 66 74 65 72 20 76 61 72 69 6f 75 73 20 52 61 63 6b 65 74 20 4d 6f 64 ok.done.after.various.Racket.Mod
c4d00 65 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 48 65 72 65 20 5c 22 61 66 74 65 72 5c 22 20 e.run.commands...Here.\"after\".
c4d20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 72 75 6e 20 68 61 73 20 63 6f 6d 70 6c 65 74 65 64 means.that.the.run.has.completed
c4d40 20 61 6e 64 20 74 68 65 20 52 45 50 4c 20 69 73 0a 77 61 69 74 69 6e 67 20 61 74 20 61 6e 6f 74 .and.the.REPL.is.waiting.at.anot
c4d60 68 65 72 20 70 72 6f 6d 70 74 2e 0a 0a 57 68 65 6e 20 68 6f 6f 6b 20 66 75 6e 63 74 69 6f 6e 73 her.prompt...When.hook.functions
c4d80 20 61 72 65 20 63 61 6c 6c 65 64 2c 20 60 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 27 20 69 73 .are.called,.`current-buffer'.is
c4da0 20 74 68 61 74 20 6f 66 20 74 68 65 0a 62 75 66 66 65 72 20 77 68 65 6e 20 74 68 65 20 72 75 6e .that.of.the.buffer.when.the.run
c4dc0 20 63 6f 6d 6d 61 6e 64 20 77 61 73 20 69 73 73 75 65 64 2e 20 49 66 20 61 20 68 6f 6f 6b 20 66 .command.was.issued..If.a.hook.f
c4de0 75 6e 63 74 69 6f 6e 0a 69 6e 73 74 65 61 64 20 6e 65 65 64 73 20 74 68 65 20 60 72 61 63 6b 65 unction.instead.needs.the.`racke
c4e00 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 2c 20 69 74 20 73 68 6f 75 6c 64 20 67 t-repl-mode'.buffer,.it.should.g
c4e20 65 74 20 74 68 61 74 0a 66 72 6f 6d 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 et.that.from.the.variable.`racke
c4e40 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 27 2e 22 0a 20 20 3a 74 61 67 20 22 41 66 t-repl-buffer-name'."...:tag."Af
c4e60 74 65 72 20 52 75 6e 20 48 6f 6f 6b 22 0a 20 20 3a 74 79 70 65 20 27 68 6f 6f 6b 0a 20 20 3a 72 ter.Run.Hook"...:type.'hook...:r
c4e80 69 73 6b 79 20 74 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 0a 28 isky.t...:group.'racket-repl)..(
c4ea0 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 69 defcustom.racket-repl-command-fi
c4ec0 6c 65 0a 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 72 65 70 6c 2e 72 6b 74 le...(expand-file-name."repl.rkt
c4ee0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 63 61 74 65 2d 75 73 ".....................(locate-us
c4f00 65 72 2d 65 6d 61 63 73 2d 66 69 6c 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 er-emacs-file.(file-name-as-dire
c4f20 63 74 6f 72 79 20 22 72 61 63 6b 65 74 2d 6d 6f 64 65 22 29 29 29 0a 20 20 22 4e 61 6d 65 20 6f ctory."racket-mode")))..."Name.o
c4f40 66 20 74 68 65 20 66 69 6c 65 20 75 73 65 64 20 62 79 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 27 f.the.file.used.by.`racket-repl'
c4f60 2e 22 0a 20 20 3a 74 61 67 20 22 52 45 50 4c 20 43 6f 6d 6d 61 6e 64 20 46 69 6c 65 22 0a 20 20 ."...:tag."REPL.Command.File"...
c4f80 3a 74 79 70 65 20 27 66 69 6c 65 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 72 65 70 :type.'file...:group.'racket-rep
c4fa0 6c 29 0a 0a 3b 3b 3b 20 4f 74 68 65 72 0a 0a 28 64 65 66 67 72 6f 75 70 20 72 61 63 6b 65 74 2d l)..;;;.Other..(defgroup.racket-
c4fc0 6f 74 68 65 72 20 6e 69 6c 0a 20 20 22 4f 74 68 65 72 20 4f 70 74 69 6f 6e 73 22 0a 20 20 3a 74 other.nil..."Other.Options"...:t
c4fe0 61 67 20 22 4f 74 68 65 72 22 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 29 0a 0a 28 64 ag."Other"...:group.'racket)..(d
c5000 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 63 75 72 6c 79 2d 61 73 2d efcustom.racket-indent-curly-as-
c5020 73 65 71 75 65 6e 63 65 20 74 0a 20 20 22 49 6e 64 65 6e 74 20 60 7b 7d 60 20 77 69 74 68 20 69 sequence.t..."Indent.`{}`.with.i
c5040 74 65 6d 73 20 61 6c 69 67 6e 65 64 20 77 69 74 68 20 74 68 65 20 68 65 61 64 20 69 74 65 6d 3f tems.aligned.with.the.head.item?
c5060 0a 0a 54 68 69 73 20 69 73 20 69 6e 64 69 72 65 63 74 6c 79 20 64 69 73 61 62 6c 65 64 20 69 66 ..This.is.indirectly.disabled.if
c5080 20 60 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 27 20 .`racket-indent-sequence-depth'.
c50a0 69 73 20 30 2e 0a 54 68 69 73 20 69 73 20 73 61 66 65 20 74 6f 20 73 65 74 20 61 73 20 61 20 66 is.0..This.is.safe.to.set.as.a.f
c50c0 69 6c 65 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 3a 74 61 67 20 22 49 6e 64 ile-local.variable."...:tag."Ind
c50e0 65 6e 74 20 43 75 72 6c 79 20 41 73 20 53 65 71 75 65 6e 63 65 22 0a 20 20 3a 74 79 70 65 20 27 ent.Curly.As.Sequence"...:type.'
c5100 62 6f 6f 6c 65 61 6e 0a 20 20 3a 73 61 66 65 20 23 27 62 6f 6f 6c 65 61 6e 70 0a 20 20 3a 67 72 boolean...:safe.#'booleanp...:gr
c5120 6f 75 70 20 27 72 61 63 6b 65 74 2d 6f 74 68 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 oup.'racket-other)..(defcustom.r
c5140 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 20 30 0a 20 20 acket-indent-sequence-depth.0...
c5160 22 54 6f 20 77 68 61 74 20 64 65 70 74 68 20 73 68 6f 75 6c 64 20 60 72 61 63 6b 65 74 2d 69 6e "To.what.depth.should.`racket-in
c5180 64 65 6e 74 2d 6c 69 6e 65 27 20 73 65 61 72 63 68 2e 0a 0a 54 68 69 73 20 61 66 66 65 63 74 73 dent-line'.search...This.affects
c51a0 20 74 68 65 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 6f 66 20 66 6f 72 6d 73 20 6c 69 6b 65 20 5c .the.indentation.of.forms.like.\
c51c0 5c 3d 27 28 29 20 5c 5c 3d 60 28 29 20 23 28 29 20 2d 2d 0a 61 6e 64 20 7b 7d 20 69 66 20 60 72 \='().\\=`().#().--.and.{}.if.`r
c51e0 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 65 27 20 acket-indent-curly-as-sequence'.
c5200 69 73 20 74 20 2d 2d 2d 20 62 75 74 20 6e 6f 74 0a 23 5c 5c 3d 27 28 29 20 23 5c 5c 3d 60 28 29 is.t.---.but.not.#\\='().#\\=`()
c5220 20 2c 28 29 20 2c 40 28 29 2e 20 41 20 7a 65 72 6f 20 76 61 6c 75 65 20 64 69 73 61 62 6c 65 73 .,().,@()..A.zero.value.disables
c5240 2c 20 67 69 76 69 6e 67 20 74 68 65 0a 6e 6f 72 6d 61 6c 20 69 6e 64 65 6e 74 20 62 65 68 61 76 ,.giving.the.normal.indent.behav
c5260 69 6f 72 20 6f 66 20 44 72 52 61 63 6b 65 74 20 6f 72 20 45 6d 61 63 73 20 60 6c 69 73 70 2d 6d ior.of.DrRacket.or.Emacs.`lisp-m
c5280 6f 64 65 27 20 64 65 72 69 76 65 64 0a 6d 6f 64 65 73 20 6c 69 6b 65 20 60 73 63 68 65 6d 65 2d ode'.derived.modes.like.`scheme-
c52a0 6d 6f 64 65 27 2e 20 53 65 74 74 69 6e 67 20 74 68 69 73 20 74 6f 20 61 20 68 69 67 68 20 76 61 mode'..Setting.this.to.a.high.va
c52c0 6c 75 65 20 63 61 6e 20 6d 61 6b 65 0a 69 6e 64 65 6e 74 61 74 69 6f 6e 20 6e 6f 74 69 63 65 61 lue.can.make.indentation.noticea
c52e0 62 6c 79 20 73 6c 6f 77 65 72 2e 20 54 68 69 73 20 69 73 20 73 61 66 65 20 74 6f 20 73 65 74 20 bly.slower..This.is.safe.to.set.
c5300 61 73 20 61 0a 66 69 6c 65 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 3a 74 61 as.a.file-local.variable."...:ta
c5320 67 20 22 49 6e 64 65 6e 74 20 53 65 71 75 65 6e 63 65 20 44 65 70 74 68 22 0a 20 20 3a 74 79 70 g."Indent.Sequence.Depth"...:typ
c5340 65 20 27 69 6e 74 65 67 65 72 0a 20 20 3a 73 61 66 65 20 23 27 69 6e 74 65 67 65 72 70 0a 20 20 e.'integer...:safe.#'integerp...
c5360 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 6f 74 68 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f :group.'racket-other)..(defcusto
c5380 6d 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 6c 61 6d 62 64 61 20 6e 69 6c 0a 20 20 22 44 69 m.racket-pretty-lambda.nil..."Di
c53a0 73 70 6c 61 79 20 6c 61 6d 62 64 61 20 6b 65 79 77 6f 72 64 73 20 75 73 69 6e 67 20 ce bb 2e 20 splay.lambda.keywords.using.....
c53c0 54 68 69 73 20 69 73 20 44 45 50 52 45 43 41 54 45 44 2e 0a 0a 49 6e 73 74 65 61 64 20 75 73 65 This.is.DEPRECATED...Instead.use
c53e0 20 60 70 72 65 74 74 69 66 79 2d 73 79 6d 62 6f 6c 73 2d 6d 6f 64 65 27 20 69 6e 20 6e 65 77 65 .`prettify-symbols-mode'.in.newe
c5400 72 20 76 65 72 69 73 6f 6e 73 20 6f 66 20 45 6d 61 63 73 2c 0a 6f 72 2c 20 75 73 65 20 60 72 61 r.verisons.of.Emacs,.or,.use.`ra
c5420 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 27 20 74 6f 20 69 6e 73 65 72 74 20 61 63 cket-insert-lambda'.to.insert.ac
c5440 74 75 61 6c 20 ce bb 20 63 68 61 72 61 63 74 65 72 73 2e 22 0a 20 20 3a 74 61 67 20 22 50 72 65 tual....characters."...:tag."Pre
c5460 74 74 79 20 4c 61 6d 62 64 61 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a tty.Lambda"...:type.'boolean...:
c5480 73 61 66 65 20 23 27 62 6f 6f 6c 65 61 6e 70 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 safe.#'booleanp...:group.'racket
c54a0 2d 6f 74 68 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 -other)..(defcustom.racket-smart
c54c0 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 65 6e 61 62 6c 65 20 6e 69 6c 0a 20 20 22 54 68 69 73 -open-bracket-enable.nil..."This
c54e0 20 76 61 72 69 61 62 6c 65 20 69 73 20 6f 62 73 6f 6c 65 74 65 20 61 6e 64 20 68 61 73 20 6e 6f .variable.is.obsolete.and.has.no
c5500 20 65 66 66 65 63 74 2e 0a 0a 49 6e 73 74 65 61 64 20 6f 66 20 75 73 69 6e 67 20 74 68 69 73 20 .effect...Instead.of.using.this.
c5520 76 61 72 69 61 62 6c 65 2c 20 79 6f 75 20 6d 61 79 20 62 69 6e 64 20 74 68 65 20 60 5b 60 20 6b variable,.you.may.bind.the.`[`.k
c5540 65 79 20 74 6f 20 74 68 65 0a 60 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 ey.to.the.`racket-smart-open-bra
c5560 63 6b 65 74 27 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20 60 72 61 63 6b 65 74 2d 6d 6f 64 cket'.command.in.the.`racket-mod
c5580 65 2d 6d 61 70 27 0a 61 6e 64 2f 6f 72 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d e-map'.and/or.`racket-repl-mode-
c55a0 6d 61 70 27 20 6b 65 79 6d 61 70 73 2e 22 0a 20 20 3a 74 61 67 20 22 53 6d 61 72 74 20 4f 70 65 map'.keymaps."...:tag."Smart.Ope
c55c0 6e 20 42 72 61 63 6b 65 74 20 45 6e 61 62 6c 65 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 n.Bracket.Enable"...:type.'boole
c55e0 61 6e 0a 20 20 3a 73 61 66 65 20 23 27 62 6f 6f 6c 65 61 6e 70 0a 20 20 3a 67 72 6f 75 70 20 27 an...:safe.#'booleanp...:group.'
c5600 72 61 63 6b 65 74 2d 6f 74 68 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 racket-other)..(defcustom.racket
c5620 2d 6d 6f 64 75 6c 65 2d 66 6f 72 6d 73 0a 20 20 28 72 78 20 28 73 79 6e 74 61 78 20 3f 5c 28 29 -module-forms...(rx.(syntax.?\()
c5640 0a 20 20 20 20 20 20 28 6f 72 20 28 73 65 71 20 22 6d 6f 64 75 6c 65 22 20 28 7a 65 72 6f 2d 6f .......(or.(seq."module".(zero-o
c5660 72 2d 6f 6e 65 20 28 61 6e 79 20 3f 2a 20 3f 2b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 22 6c r-one.(any.?*.?+)))..........."l
c5680 69 62 72 61 72 79 22 29 29 0a 20 20 22 52 65 67 65 78 70 20 66 6f 72 20 74 68 65 20 73 74 61 72 ibrary"))..."Regexp.for.the.star
c56a0 74 20 6f 66 20 61 20 60 6d 6f 64 75 6c 65 60 2d 6c 69 6b 65 20 66 6f 72 6d 2e 0a 0a 41 66 66 65 t.of.a.`module`-like.form...Affe
c56c0 63 74 73 20 77 68 61 74 20 60 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 64 65 66 75 6e 27 20 77 69 cts.what.`beginning-of-defun'.wi
c56e0 6c 6c 20 6d 6f 76 65 20 74 6f 2e 20 54 68 69 73 20 69 73 20 73 61 66 65 20 74 6f 0a 73 65 74 20 ll.move.to..This.is.safe.to.set.
c5700 61 73 20 61 20 66 69 6c 65 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 3a 74 61 as.a.file-local.variable."...:ta
c5720 67 20 22 54 6f 70 20 4c 65 76 65 6c 20 46 6f 72 6d 73 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 g."Top.Level.Forms"...:type.'str
c5740 69 6e 67 0a 20 20 3a 73 61 66 65 20 23 27 73 74 72 69 6e 67 70 0a 20 20 3a 67 72 6f 75 70 20 27 ing...:safe.#'stringp...:group.'
c5760 72 61 63 6b 65 74 2d 6f 74 68 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 racket-other)..(defcustom.racket
c5780 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 0a 20 20 27 28 28 63 6d 2d 61 63 63 6f 6d 70 6c 69 63 -logger-config...'((cm-accomplic
c57a0 65 20 20 20 20 20 20 20 20 20 20 20 2e 20 77 61 72 6e 69 6e 67 29 0a 20 20 20 20 28 47 43 20 20 e.............warning).....(GC..
c57c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 69 6e 66 6f 29 0a 20 20 20 20 ......................info).....
c57e0 28 6d 6f 64 75 6c 65 2d 70 72 65 66 65 74 63 68 20 20 20 20 20 20 20 20 20 2e 20 77 61 72 6e 69 (module-prefetch...........warni
c5800 6e 67 29 0a 20 20 20 20 28 6f 70 74 69 6d 69 7a 65 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng).....(optimizer..............
c5820 20 2e 20 69 6e 66 6f 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2f 63 6f 6e 74 72 61 63 74 20 20 20 ...info).....(racket/contract...
c5840 20 20 20 20 20 20 2e 20 65 72 72 6f 72 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 6d 6f 64 65 2d ........error).....(racket-mode-
c5860 64 65 62 75 67 67 65 72 20 20 20 20 2e 20 69 6e 66 6f 29 0a 20 20 20 20 28 73 65 71 75 65 6e 63 debugger......info).....(sequenc
c5880 65 2d 73 70 65 63 69 61 6c 69 7a 61 74 69 6f 6e 20 2e 20 69 6e 66 6f 29 0a 20 20 20 20 28 2a 20 e-specialization...info).....(*.
c58a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 66 61 74 61 6c 29 29 0a ........................fatal)).
c58c0 20 20 22 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 66 20 60 72 61 63 6b 65 74 2d 6c 6f 67 67 .."Configuration.of.`racket-logg
c58e0 65 72 2d 6d 6f 64 65 27 20 74 6f 70 69 63 73 20 61 6e 64 20 6c 65 76 65 6c 73 2e 0a 0a 54 68 65 er-mode'.topics.and.levels...The
c5900 20 74 6f 70 69 63 20 5c 22 2a 5c 22 20 72 65 73 70 72 65 73 65 6e 74 73 20 74 68 65 20 64 65 66 .topic.\"*\".respresents.the.def
c5920 61 75 6c 74 20 6c 65 76 65 6c 20 75 73 65 64 20 66 6f 72 20 74 6f 70 69 63 73 20 6e 6f 74 0a 61 ault.level.used.for.topics.not.a
c5940 73 73 69 67 6e 65 64 20 61 20 6c 65 76 65 6c 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 ssigned.a.level..Otherwise,.the.
c5960 74 6f 70 69 63 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 0a 75 73 topic.symbols.are.the.same.as.us
c5980 65 64 20 62 79 20 52 61 63 6b 65 74 27 73 20 60 64 65 66 69 6e 65 2d 6c 6f 67 67 65 72 60 2e 0a ed.by.Racket's.`define-logger`..
c59a0 0a 54 68 65 20 6c 65 76 65 6c 73 20 61 72 65 20 74 68 6f 73 65 20 75 73 65 64 20 62 79 20 52 61 .The.levels.are.those.used.by.Ra
c59c0 63 6b 65 74 27 73 20 6c 6f 67 67 69 6e 67 20 73 79 73 74 65 6d 3a 20 5c 22 64 65 62 75 67 5c 22 cket's.logging.system:.\"debug\"
c59e0 2c 0a 5c 22 69 6e 66 6f 5c 22 2c 20 5c 22 77 61 72 6e 69 6e 67 5c 22 2c 20 5c 22 65 72 72 6f 72 ,.\"info\",.\"warning\",.\"error
c5a00 5c 22 2c 20 5c 22 66 61 74 61 6c 5c 22 2e 0a 0a 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 \",.\"fatal\"...For.more.informa
c5a20 74 69 6f 6e 20 73 65 65 3a 0a 20 20 3c 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b 65 74 tion.see:...<https://docs.racket
c5a40 2d 6c 61 6e 67 2e 6f 72 67 2f 72 65 66 65 72 65 6e 63 65 2f 6c 6f 67 67 69 6e 67 2e 68 74 6d 6c -lang.org/reference/logging.html
c5a60 3e 0a 0a 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 73 65 74 73 20 73 6f 6d 65 20 6b >..The.default.value.sets.some.k
c5a80 6e 6f 77 6e 20 5c 22 6e 6f 69 73 79 5c 22 20 74 6f 70 69 63 73 20 74 6f 20 62 65 20 6f 6e 65 0a nown.\"noisy\".topics.to.be.one.
c5aa0 6c 65 76 65 6c 20 71 75 69 65 74 65 72 2e 20 54 68 61 74 20 77 61 79 20 79 6f 75 20 63 61 6e 20 level.quieter..That.way.you.can.
c5ac0 73 65 74 20 74 68 65 20 5c 22 2a 5c 22 20 74 6f 70 69 63 20 74 6f 20 61 20 6c 65 76 65 6c 0a 6c set.the.\"*\".topic.to.a.level.l
c5ae0 69 6b 65 20 5c 22 64 65 62 75 67 5c 22 20 61 6e 64 20 6e 6f 74 20 67 65 74 20 6f 76 65 72 68 77 ike.\"debug\".and.not.get.overhw
c5b00 65 6c 6d 65 64 20 62 79 20 74 68 65 73 65 20 6e 6f 69 73 79 20 74 6f 70 69 63 73 2e 22 0a 20 20 elmed.by.these.noisy.topics."...
c5b20 3a 74 61 67 20 22 4c 6f 67 67 65 72 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 22 0a 20 20 3a 74 :tag."Logger.Configuration"...:t
c5b40 79 70 65 20 27 28 61 6c 69 73 74 20 3a 6b 65 79 2d 74 79 70 65 20 73 79 6d 62 6f 6c 20 3a 76 61 ype.'(alist.:key-type.symbol.:va
c5b60 6c 75 65 2d 74 79 70 65 20 73 79 6d 62 6f 6c 29 0a 20 20 3a 73 61 66 65 20 28 6c 61 6d 62 64 61 lue-type.symbol)...:safe.(lambda
c5b80 20 28 78 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 65 76 65 72 79 20 28 6c 61 6d 62 64 .(xs)...........(cl-every.(lambd
c5ba0 61 20 28 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 a.(x).......................(and
c5bc0 20 28 73 79 6d 62 6f 6c 70 20 28 63 61 72 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(symbolp.(car.x))..............
c5be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 70 20 28 63 64 72 20 78 29 29 29 ..............(symbolp.(cdr.x)))
c5c00 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 73 29 29 0a 20 20 3a 6c 6f ).....................xs))...:lo
c5c20 61 64 20 22 72 61 63 6b 65 74 2d 63 6d 64 22 0a 20 20 3a 73 65 74 20 28 6c 61 6d 62 64 61 20 28 ad."racket-cmd"...:set.(lambda.(
c5c40 76 61 72 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 64 65 66 61 75 6c 74 20 76 var.val)..........(set-default.v
c5c60 61 72 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 62 6f 75 6e 64 70 20 ar.val)..........(when.(fboundp.
c5c80 27 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 61 63 74 69 76 61 74 65 2d 63 6f 6e 66 69 67 29 'racket--logger-activate-config)
c5ca0 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 61 63 74 69 ............(racket--logger-acti
c5cc0 76 61 74 65 2d 63 6f 6e 66 69 67 29 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d vate-config)))...:group.'racket-
c5ce0 6f 74 68 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 other)..(defcustom.racket-show-f
c5d00 75 6e 63 74 69 6f 6e 73 0a 20 20 28 6c 69 73 74 20 27 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 unctions...(list.'racket-show-ps
c5d20 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 29 0a 20 20 22 41 6e 20 5c 22 61 62 6e 6f 72 6d 61 6c 20 68 eudo-tooltip)..."An.\"abnormal.h
c5d40 6f 6f 6b 5c 22 20 76 61 72 69 61 62 6c 65 20 74 6f 20 63 75 73 74 6f 6d 69 7a 65 20 60 72 61 63 ook\".variable.to.customize.`rac
c5d60 6b 65 74 2d 73 68 6f 77 27 2e 0a 0a 54 68 69 73 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6f 6e ket-show'...This.is.a.list.of.on
c5d80 65 20 6f 72 20 6d 6f 72 65 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 45 61 63 68 20 73 75 63 68 20 e.or.more.functions...Each.such.
c5da0 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 61 63 63 65 70 74 20 74 77 6f 20 61 72 67 75 6d 65 6e function.must.accept.two.argumen
c5dc0 74 73 3a 20 53 54 52 20 61 6e 64 20 50 4f 53 2e 0a 0a 53 54 52 20 69 73 20 6f 6e 65 20 6f 66 3a ts:.STR.and.POS...STR.is.one.of:
c5de0 0a 0a 20 20 2d 20 4e 6f 6e 2d 62 6c 61 6e 6b 20 73 74 72 69 6e 67 3a 20 44 69 73 70 6c 61 79 20 ....-.Non-blank.string:.Display.
c5e00 74 68 65 20 73 74 72 69 6e 67 20 73 6f 6d 65 68 6f 77 2e 0a 0a 20 20 2d 20 42 6c 61 6e 6b 20 73 the.string.somehow.....-.Blank.s
c5e20 74 72 69 6e 67 3a 20 48 69 64 65 20 61 6e 79 20 70 72 65 76 69 6f 75 73 6c 79 20 64 69 73 70 6c tring:.Hide.any.previously.displ
c5e40 61 79 65 64 20 73 74 72 69 6e 67 2e 0a 0a 20 20 2d 20 6e 69 6c 3a 20 48 69 64 65 20 61 6e 79 20 ayed.string.....-.nil:.Hide.any.
c5e60 70 65 72 73 69 73 74 65 6e 74 20 55 49 20 74 68 61 74 20 6d 69 67 68 74 20 68 61 76 65 20 62 65 persistent.UI.that.might.have.be
c5e80 65 6e 20 63 72 65 61 74 65 64 2e 20 46 6f 72 0a 20 20 20 20 69 6e 73 74 61 6e 63 65 20 60 72 61 en.created..For.....instance.`ra
c5ea0 63 6b 65 74 2d 73 68 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 27 20 68 69 64 65 73 20 74 68 65 cket-show-header-line'.hides.the
c5ec0 20 68 65 61 64 65 72 20 6c 69 6e 65 2e 0a 0a 50 4f 53 20 6d 61 79 20 62 65 20 6e 69 6c 20 77 68 .header.line...POS.may.be.nil.wh
c5ee0 65 6e 20 53 54 52 20 69 73 20 6e 69 6c 20 6f 72 20 61 20 62 6c 61 6e 6b 20 73 74 72 69 6e 67 2e en.STR.is.nil.or.a.blank.string.
c5f00 0a 0a 4f 74 68 65 72 77 69 73 65 20 50 4f 53 20 69 73 20 74 68 65 20 62 75 66 66 65 72 20 70 6f ..Otherwise.POS.is.the.buffer.po
c5f20 73 69 74 69 6f 6e 20 2d 2d 20 74 79 70 69 63 61 6c 6c 79 20 74 68 65 20 65 6e 64 20 6f 66 20 61 sition.--.typically.the.end.of.a
c5f40 0a 73 70 61 6e 20 2d 2d 20 74 68 61 74 20 74 68 65 20 6e 6f 6e 2d 62 6c 61 6e 6b 20 53 54 52 20 .span.--.that.the.non-blank.STR.
c5f60 64 65 73 63 72 69 62 65 73 2e 0a 0a 41 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 73 68 6f 77 describes...A.function.that.show
c5f80 73 20 53 54 52 20 6e 65 61 72 20 50 4f 53 20 73 68 6f 75 6c 64 20 70 6f 73 69 74 69 6f 6e 20 69 s.STR.near.POS.should.position.i
c5fa0 74 20 6e 6f 74 20 74 6f 20 68 69 64 65 0a 74 68 65 20 73 70 61 6e 2c 20 69 2e 65 2e 20 62 65 6c t.not.to.hide.the.span,.i.e..bel
c5fc0 6f 77 20 61 6e 64 2f 6f 72 20 72 69 67 68 74 20 6f 66 20 50 4f 53 2e 20 45 78 61 6d 70 6c 65 73 ow.and/or.right.of.POS..Examples
c5fe0 3a 0a 60 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 27 20 61 :.`racket-show-pseudo-tooltip'.a
c6000 6e 64 20 60 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 27 2e 0a 0a 41 20 66 75 6e nd.`racket-show-pos-tip'...A.fun
c6020 63 74 69 6f 6e 20 74 68 61 74 20 73 68 6f 77 73 20 53 54 52 20 69 6e 20 61 20 66 69 78 65 64 20 ction.that.shows.STR.in.a.fixed.
c6040 6c 6f 63 61 74 69 6f 6e 20 6d 61 79 20 6f 66 20 63 6f 75 72 73 65 0a 69 67 6e 6f 72 65 20 50 4f location.may.of.course.ignore.PO
c6060 53 2e 20 45 78 61 6d 70 6c 65 73 3a 20 60 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 S..Examples:.`racket-show-echo-a
c6080 72 65 61 27 20 61 6e 64 0a 60 72 61 63 6b 65 74 2d 73 68 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e rea'.and.`racket-show-header-lin
c60a0 65 27 22 0a 20 20 3a 74 61 67 20 22 52 61 63 6b 65 74 20 53 68 6f 77 20 46 75 6e 63 74 69 6f 6e e'"...:tag."Racket.Show.Function
c60c0 73 22 0a 20 20 3a 74 79 70 65 20 27 28 72 65 70 65 61 74 20 66 75 6e 63 74 69 6f 6e 29 0a 20 20 s"...:type.'(repeat.function)...
c60e0 3a 6f 70 74 69 6f 6e 73 20 27 28 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 75 64 6f 2d 74 6f :options.'(racket-show-pseudo-to
c6100 6f 6c 74 69 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 oltip..............racket-show-e
c6120 63 68 6f 2d 61 72 65 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 73 68 6f cho-area..............racket-sho
c6140 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 w-header-line..............racke
c6160 74 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 29 0a 20 20 3a 72 69 73 6b 79 20 74 0a 20 20 3a 67 72 t-show-pos-tip)...:risky.t...:gr
c6180 6f 75 70 20 27 72 61 63 6b 65 74 2d 6f 74 68 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 72 oup.'racket-other)..(defcustom.r
c61a0 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 20 27 73 74 61 6e 64 61 72 64 0a 20 20 acket-expand-hiding.'standard...
c61c0 22 54 68 65 20 6d 61 63 72 6f 20 68 69 64 69 6e 67 20 70 6f 6c 69 63 79 20 66 6f 72 20 63 6f 6d "The.macro.hiding.policy.for.com
c61e0 6d 61 6e 64 73 20 6c 69 6b 65 20 60 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 27 2e mands.like.`racket-expand-file'.
c6200 22 0a 20 20 3a 74 61 67 20 22 52 61 63 6b 65 74 20 45 78 70 61 6e 64 20 48 69 64 69 6e 67 22 0a "...:tag."Racket.Expand.Hiding".
c6220 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 ..:type.'(choice...........(cons
c6240 74 20 3a 74 61 67 20 22 44 69 73 61 62 6c 65 22 20 64 69 73 61 62 6c 65 29 0a 20 20 20 20 20 20 t.:tag."Disable".disable).......
c6260 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 53 74 61 6e 64 61 72 64 22 20 73 74 61 6e 64 ....(const.:tag."Standard".stand
c6280 61 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 74 61 67 20 22 43 75 73 74 6f ard)...........(list.:tag."Custo
c62a0 6d 22 20 3a 76 61 6c 75 65 20 28 74 20 74 20 74 20 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 m".:value.(t.t.t.t.nil).........
c62c0 20 20 20 20 20 20 20 20 28 62 6f 6f 6c 65 61 6e 20 3a 74 61 67 20 22 48 69 64 65 20 72 61 63 6b ........(boolean.:tag."Hide.rack
c62e0 65 74 20 73 79 6e 74 61 78 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 6f 6f et.syntax").................(boo
c6300 6c 65 61 6e 20 3a 74 61 67 20 22 48 69 64 65 20 6c 69 62 72 61 72 79 20 73 79 6e 74 61 78 22 29 lean.:tag."Hide.library.syntax")
c6320 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 6f 6f 6c 65 61 6e 20 3a 74 61 67 20 22 .................(boolean.:tag."
c6340 48 69 64 65 20 63 6f 6e 74 72 61 63 74 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Hide.contracts")................
c6360 20 28 62 6f 6f 6c 65 61 6e 20 3a 74 61 67 20 22 48 69 64 65 20 70 68 61 73 65 3e 30 22 29 0a 20 .(boolean.:tag."Hide.phase>0")..
c6380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 65 61 74 0a 20 20 20 20 20 20 20 20 20 ...............(repeat..........
c63a0 20 20 20 20 20 20 20 20 3a 74 61 67 20 22 4d 6f 72 65 20 72 75 6c 65 73 20 28 73 65 65 20 6d 61 ........:tag."More.rules.(see.ma
c63c0 63 72 6f 2d 64 65 62 75 67 67 65 72 2f 6d 6f 64 65 6c 2f 68 69 64 69 6e 67 2d 70 6f 6c 69 63 69 cro-debugger/model/hiding-polici
c63e0 65 73 20 5c 22 45 6e 74 72 79 5c 22 20 61 6e 64 20 5c 22 43 6f 6e 64 69 74 69 6f 6e 5c 22 29 22 es.\"Entry\".and.\"Condition\")"
c6400 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 68 6f 69 63 65 20 ..................(list.(choice.
c6420 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 73 68 6f 77 2d 69 66 22 20 73 68 6f 77 2d 69 66 29 0a 20 (const.:tag."show-if".show-if)..
c6440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 ..............................(c
c6460 6f 6e 73 74 20 3a 74 61 67 20 22 68 69 64 65 2d 69 66 22 20 68 69 64 65 2d 69 66 29 29 0a 20 20 onst.:tag."hide-if".hide-if))...
c6480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 6f 69 63 65 20 28 63 6f .....................(choice.(co
c64a0 6e 73 74 20 3a 74 61 67 20 22 6c 65 78 69 63 61 6c 22 20 28 6c 65 78 69 63 61 6c 29 29 0a 20 20 nst.:tag."lexical".(lexical))...
c64c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f .............................(co
c64e0 6e 73 74 20 3a 74 61 67 20 22 75 6e 62 6f 75 6e 64 22 20 28 75 6e 62 6f 75 6e 64 29 29 0a 20 20 nst.:tag."unbound".(unbound))...
c6500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f .............................(co
c6520 6e 73 74 20 3a 74 61 67 20 22 66 72 6f 6d 2d 6b 65 72 6e 65 6c 2d 6d 6f 64 75 6c 65 22 20 28 66 nst.:tag."from-kernel-module".(f
c6540 72 6f 6d 2d 6b 65 72 6e 65 6c 2d 6d 6f 64 75 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 rom-kernel-module)).............
c6560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 74 61 67 20 22 66 ...................(list.:tag."f
c6580 72 6f 6d 2d 64 65 66 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rom-def-module".................
c65a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 66 72 6f 6d .....................(const.from
c65c0 2d 64 65 66 2d 6d 6f 64 75 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -def-module)....................
c65e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 6f 69 63 65 20 3a 74 61 67 20 22 ..................(choice.:tag."
c6600 6d 6f 64 75 6c 65 20 70 61 74 68 22 20 73 74 72 69 6e 67 20 73 79 6d 62 6f 6c 29 29 0a 20 20 20 module.path".string.symbol))....
c6620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 ............................(lis
c6640 74 20 3a 74 61 67 20 22 66 72 6f 6d 2d 6e 6f 6d 2d 6d 6f 64 75 6c 65 22 0a 20 20 20 20 20 20 20 t.:tag."from-nom-module"........
c6660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 ..............................(c
c6680 6f 6e 73 74 20 66 72 6f 6d 2d 6e 6f 6d 2d 6d 6f 64 75 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 onst.from-nom-module)...........
c66a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 6f 69 ...........................(choi
c66c0 63 65 20 3a 74 61 67 20 22 6d 6f 64 75 6c 65 20 70 61 74 68 22 20 73 74 72 69 6e 67 20 73 79 6d ce.:tag."module.path".string.sym
c66e0 62 6f 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bol))...........................
c6700 20 20 20 20 20 28 6c 69 73 74 20 3a 74 61 67 20 22 66 72 6f 6d 2d 63 6f 6c 6c 65 63 74 69 6f 6e .....(list.:tag."from-collection
c6720 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "...............................
c6740 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 66 72 6f 6d 2d 63 6f 6c 6c 65 63 74 69 6f 6e 29 0a 20 .......(const.from-collection)..
c6760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c6780 20 20 20 20 28 72 65 70 65 61 74 20 3a 74 61 67 20 22 63 6f 6c 6c 65 63 74 69 6f 6e 2d 73 74 72 ....(repeat.:tag."collection-str
c67a0 69 6e 67 22 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ing".string))...................
c67c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 74 61 67 20 22 73 79 6d 62 6f 6c 3d .............(list.:tag."symbol=
c67e0 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ?"..............................
c6800 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 73 79 6d 62 6f 6c 3d 3f 29 0a 20 20 20 20 20 20 20 ........(const.symbol=?)........
c6820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 ..............................(s
c6840 79 6d 62 6f 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ymbol)).........................
c6860 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 74 61 67 20 22 73 79 6d 62 6f 6c 2d 6c 69 6b 65 22 0a .......(list.:tag."symbol-like".
c6880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c68a0 20 20 20 20 20 28 63 6f 6e 73 74 20 73 79 6d 62 6f 6c 2d 6c 69 6b 65 29 0a 20 20 20 20 20 20 20 .....(const.symbol-like)........
c68c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 ..............................(s
c68e0 74 72 69 6e 67 20 3a 74 61 67 20 22 72 61 63 6b 65 74 20 72 65 67 65 78 70 22 29 29 0a 20 20 20 tring.:tag."racket.regexp"))....
c6900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 ............................(lis
c6920 74 20 3a 74 61 67 20 22 70 68 61 73 65 3e 3d 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.:tag."phase>=?"...............
c6940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 70 68 .......................(const.ph
c6960 61 73 65 3e 3d 3f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ase>=?).........................
c6980 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 61 74 6e 75 6d 20 3a 74 61 67 20 22 6e 61 74 75 72 .............(natnum.:tag."natur
c69a0 61 6c 20 6e 75 6d 62 65 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 al.number"))....................
c69c0 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 78 70 20 3a 74 61 67 20 22 73 65 78 70 22 29 29 29 ............(sexp.:tag."sexp")))
c69e0 29 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 6f 74 68 65 72 29 0a 0a 3b 3b 3b )))...:group.'racket-other)..;;;
c6a00 20 46 61 63 65 73 0a 0a 28 64 65 66 67 72 6f 75 70 20 72 61 63 6b 65 74 2d 66 61 63 65 73 20 6e .Faces..(defgroup.racket-faces.n
c6a20 69 6c 0a 20 20 22 52 61 63 6b 65 74 20 46 61 63 65 73 22 0a 20 20 3a 74 61 67 20 22 52 61 63 6b il..."Racket.Faces"...:tag."Rack
c6a40 65 74 20 46 61 63 65 73 22 0a 20 20 3a 67 72 6f 75 70 20 27 66 61 63 65 73 0a 20 20 3a 67 72 6f et.Faces"...:group.'faces...:gro
c6a60 75 70 20 27 72 61 63 6b 65 74 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 64 65 66 66 61 63 65 2d 72 up.'racket)..(defmacro.defface-r
c6a80 61 63 6b 65 74 20 28 69 64 20 66 61 63 65 73 70 65 63 20 64 6f 63 73 74 72 20 74 61 67 29 0a 20 acket.(id.facespec.docstr.tag)..
c6aa0 20 60 28 70 72 6f 67 6e 0a 20 20 20 20 20 28 64 65 66 63 6f 6e 73 74 20 2c 69 64 20 27 2c 69 64 .`(progn......(defconst.,id.',id
c6ac0 29 0a 20 20 20 20 20 28 64 65 66 66 61 63 65 20 2c 69 64 0a 20 20 20 20 20 20 20 2c 66 61 63 65 )......(defface.,id........,face
c6ae0 73 70 65 63 0a 20 20 20 20 20 20 20 2c 64 6f 63 73 74 72 0a 20 20 20 20 20 20 20 3a 74 61 67 20 spec........,docstr........:tag.
c6b00 2c 74 61 67 0a 20 20 20 20 20 20 20 3a 67 72 6f 75 70 20 27 72 61 63 6b 65 74 2d 66 61 63 65 73 ,tag........:group.'racket-faces
c6b20 29 29 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 78 70 2d 64 )))..(defface-racket.racket-xp-d
c6b40 65 66 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 6d 61 74 63 68 20 3a ef-face...'((t.(:inherit.match.:
c6b60 75 6e 64 65 72 6c 69 6e 65 20 28 3a 73 74 79 6c 65 20 6c 69 6e 65 29 29 29 29 0a 20 20 22 46 61 underline.(:style.line))))..."Fa
c6b80 63 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 75 73 65 73 20 77 68 65 6e 20 70 6f ce.`racket-xp-mode'.uses.when.po
c6ba0 69 6e 74 20 69 73 20 6f 6e 20 61 20 64 65 66 69 6e 69 74 69 6f 6e 2e 22 0a 20 20 22 44 65 66 69 int.is.on.a.definition."..."Defi
c6bc0 6e 69 74 69 6f 6e 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 nition.Face")..(defface-racket.r
c6be0 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 acket-xp-use-face...'((t.(:inher
c6c00 69 74 20 6d 61 74 63 68 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d it.match)))..."Face.`racket-xp-m
c6c20 6f 64 65 27 20 75 73 65 73 20 77 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 61 20 75 73 65 ode'.uses.when.point.is.on.a.use
c6c40 2e 22 0a 20 20 22 55 73 65 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 ."..."Use.Face")..(defface-racke
c6c60 74 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 66 61 63 65 0a 20 20 t.racket-xp-binding-lang-face...
c6c80 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 6f 63 2d 66 61 63 '((t.(:inherit.font-lock-doc-fac
c6ca0 65 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 67 69 e)))..."Face.`racket-xp-mode'.gi
c6cc0 76 65 73 20 74 6f 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 20 6e 61 6d 65 2e ves.to.the.module.language.name.
c6ce0 0a 0a 53 65 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 62 69 ..See.the.variable.`racket-xp-bi
c6d00 6e 64 69 6e 67 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 2d 6d 6f 64 65 73 27 2e 22 0a 20 20 nding-font-lock-face-modes'."...
c6d20 22 42 69 6e 64 69 6e 67 20 4c 61 6e 67 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 "Binding.Lang.Face")..(defface-r
c6d40 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 75 73 65 acket.racket-xp-binding-lang-use
c6d60 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b -face...'((t.(:inherit.font-lock
c6d80 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 6b 65 74 -keyword-face)))..."Face.`racket
c6da0 2d 78 70 2d 6d 6f 64 65 27 20 67 69 76 65 73 20 75 73 65 73 20 6f 66 20 62 69 6e 64 69 6e 67 73 -xp-mode'.gives.uses.of.bindings
c6dc0 20 69 6d 70 6f 72 74 65 64 20 66 72 6f 6d 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 .imported.from.the.module.langua
c6de0 67 65 2e 0a 0a 53 65 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 78 70 ge...See.the.variable.`racket-xp
c6e00 2d 62 69 6e 64 69 6e 67 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 2d 6d 6f 64 65 73 27 2e 22 -binding-font-lock-face-modes'."
c6e20 0a 20 20 22 42 69 6e 64 69 6e 67 20 4c 61 6e 67 20 55 73 65 20 46 61 63 65 22 29 0a 0a 28 64 65 ..."Binding.Lang.Use.Face")..(de
c6e40 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 fface-racket.racket-xp-binding-i
c6e60 6d 70 6f 72 74 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 64 65 66 61 mport-face...'((t.(:inherit.defa
c6e80 75 6c 74 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 ult)))..."Face.`racket-xp-mode'.
c6ea0 67 69 76 65 73 20 74 6f 20 69 6d 70 6f 72 74 65 64 20 6d 6f 64 75 6c 65 20 6e 61 6d 65 73 2e 0a gives.to.imported.module.names..
c6ec0 0a 53 65 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e .See.the.variable.`racket-xp-bin
c6ee0 64 69 6e 67 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 2d 6d 6f 64 65 73 27 2e 22 0a 20 20 22 ding-font-lock-face-modes'."..."
c6f00 42 69 6e 64 69 6e 67 20 49 6d 70 6f 72 74 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d Binding.Import.Face")..(defface-
c6f20 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d racket.racket-xp-binding-import-
c6f40 75 73 65 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c use-face...'((t.(:inherit.font-l
c6f60 6f 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 ock-keyword-face)))..."Face.`rac
c6f80 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 67 69 76 65 73 20 75 73 65 73 20 6f 66 20 69 6d 70 6f 72 ket-xp-mode'.gives.uses.of.impor
c6fa0 74 65 64 20 62 69 6e 64 69 6e 67 73 2e 0a 0a 53 65 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 ted.bindings...See.the.variable.
c6fc0 60 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 `racket-xp-binding-font-lock-fac
c6fe0 65 2d 6d 6f 64 65 73 27 2e 22 0a 20 20 22 42 69 6e 64 69 6e 67 20 49 6d 70 6f 72 74 20 55 73 65 e-modes'."..."Binding.Import.Use
c7000 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d .Face")..(defface-racket.racket-
c7020 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a 69 xp-binding-local-face...'((t.(:i
c7040 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65 2d 6e 61 6d 65 2d 66 nherit.font-lock-variable-name-f
c7060 61 63 65 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 ace)))..."Face.`racket-xp-mode'.
c7080 67 69 76 65 73 20 74 6f 20 6c 6f 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 53 65 65 gives.to.local.definitions...See
c70a0 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 .the.variable.`racket-xp-binding
c70c0 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 2d 6d 6f 64 65 73 27 2e 22 0a 20 20 22 42 69 6e 64 -font-lock-face-modes'."..."Bind
c70e0 69 6e 67 20 4c 6f 63 61 6c 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 ing.Local.Face")..(defface-racke
c7100 74 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 75 73 65 2d 66 61 t.racket-xp-binding-local-use-fa
c7120 63 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 29 0a 20 ce...'((t.(:inherit.default)))..
c7140 20 22 46 61 63 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 67 69 76 65 73 20 74 6f ."Face.`racket-xp-mode'.gives.to
c7160 20 75 73 65 73 20 6f 66 20 6c 6f 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 53 65 65 .uses.of.local.definitions...See
c7180 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 .the.variable.`racket-xp-binding
c71a0 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 2d 6d 6f 64 65 73 27 2e 22 0a 20 20 22 42 69 6e 64 -font-lock-face-modes'."..."Bind
c71c0 69 6e 67 20 4c 6f 63 61 6c 20 55 73 65 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 ing.Local.Use.Face")..(defface-r
c71e0 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 78 70 2d 65 72 72 6f 72 2d 66 61 63 65 0a 20 20 27 28 28 acket.racket-xp-error-face...'((
c7200 74 20 28 3a 75 6e 64 65 72 6c 69 6e 65 20 28 3a 63 6f 6c 6f 72 20 22 72 65 64 22 20 3a 73 74 79 t.(:underline.(:color."red".:sty
c7220 6c 65 20 77 61 76 65 29 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 6b 65 74 2d 78 70 2d 6d le.wave))))..."Face.`racket-xp-m
c7240 6f 64 65 27 20 75 73 65 73 20 74 6f 20 68 69 67 68 6c 69 67 68 74 20 65 72 72 6f 72 73 2e 22 0a ode'.uses.to.highlight.errors.".
c7260 20 20 22 45 72 72 6f 72 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 .."Error.Face")..(defface-racket
c7280 20 72 61 63 6b 65 74 2d 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a .racket-xp-unused-face...'((t.(:
c72a0 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 68 20 74 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 strike-through.t)))..."Face.`rac
c72c0 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 75 73 65 73 20 74 6f 20 68 69 67 68 6c 69 67 68 74 20 75 ket-xp-mode'.uses.to.highlight.u
c72e0 6e 75 73 65 64 20 72 65 71 75 69 72 65 73 20 6f 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 22 0a nused.requires.or.definitions.".
c7300 20 20 22 55 6e 75 73 65 64 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 .."Unused.Face")..(defface-racke
c7320 74 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 2d 66 61 63 65 0a 20 20 27 t.racket-xp-tail-target-face...'
c7340 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 6d 61 74 63 68 20 3a 75 6e 64 65 72 6c 69 6e 65 20 28 ((t.(:inherit.match.:underline.(
c7360 3a 73 74 79 6c 65 20 77 61 76 65 29 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 6b 65 74 2d :style.wave))))..."Face.`racket-
c7380 78 70 2d 6d 6f 64 65 27 20 75 73 65 73 20 74 6f 20 68 69 67 68 6c 69 67 68 74 20 74 61 72 67 65 xp-mode'.uses.to.highlight.targe
c73a0 74 73 20 6f 66 20 61 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 2e 22 0a 20 20 22 54 61 69 6c 20 ts.of.a.tail.position."..."Tail.
c73c0 54 61 72 67 65 74 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 Target.Face")..(defface-racket.r
c73e0 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 2d 66 61 63 65 0a 20 20 27 28 acket-xp-tail-position-face...'(
c7400 28 74 20 28 3a 69 6e 68 65 72 69 74 20 6d 61 74 63 68 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 (t.(:inherit.match)))..."Face.`r
c7420 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 75 73 65 73 20 74 6f 20 68 69 67 68 6c 69 67 68 74 acket-xp-mode'.uses.to.highlight
c7440 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 6e 20 61 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 2e .expressions.in.a.tail.position.
c7460 22 0a 20 20 22 54 61 69 6c 20 50 6f 73 69 74 69 6f 6e 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 "..."Tail.Position.Face")..(deff
c7480 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 2d 61 72 67 75 6d 65 ace-racket.racket-keyword-argume
c74a0 6e 74 2d 66 61 63 65 0a 20 20 27 28 28 28 28 62 61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 nt-face...'((((background.dark))
c74c0 0a 20 20 20 20 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 49 6e 64 69 61 6e 52 65 64 22 29 29 ......(:foreground."IndianRed"))
c74e0 0a 20 20 20 20 28 28 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 .....(((background.light))......
c7500 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 52 65 64 33 22 29 29 29 0a 20 20 22 46 61 63 65 20 66 (:foreground."Red3")))..."Face.f
c7520 6f 72 20 60 23 3a 6b 65 79 77 6f 72 64 60 20 61 72 67 75 6d 65 6e 74 73 2e 22 0a 20 20 22 4b 65 or.`#:keyword`.arguments."..."Ke
c7540 79 77 6f 72 64 20 41 72 67 75 6d 65 6e 74 20 46 61 63 65 22 29 0a 0a 3b 3b 20 4e 6f 74 65 3a 20 yword.Argument.Face")..;;.Note:.
c7560 44 6f 6e 27 74 20 75 73 65 20 60 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 61 63 65 2d Don't.use.`define-obsolete-face-
c7580 61 6c 69 61 73 27 3b 20 73 65 65 20 69 73 73 75 65 20 23 35 38 33 2e 0a 28 64 65 66 66 61 63 65 alias';.see.issue.#583..(defface
c75a0 20 72 61 63 6b 65 74 2d 70 61 72 65 6e 2d 66 61 63 65 20 6e 69 6c 0a 20 20 22 54 68 69 73 20 66 .racket-paren-face.nil..."This.f
c75c0 61 63 65 20 69 73 20 75 6e 75 73 65 64 20 73 69 6e 63 65 20 32 30 31 37 2d 30 36 2d 31 33 2e 0a ace.is.unused.since.2017-06-13..
c75e0 0a 49 6e 73 74 65 61 64 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 65 20 66 61 63 65 20 60 70 61 72 .Instead.customize.the.face.`par
c7600 65 6e 2d 66 61 63 65 27 2c 20 77 68 69 63 68 20 69 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 en-face',.which.is.provided.by.t
c7620 68 65 0a 6f 70 74 69 6f 6e 61 6c 20 70 61 63 6b 61 67 65 20 60 70 61 72 65 6e 2d 66 61 63 65 27 he.optional.package.`paren-face'
c7640 2e 22 29 0a 0a 3b 3b 20 4e 6f 74 65 3a 20 44 6f 6e 27 74 20 75 73 65 20 60 64 65 66 69 6e 65 2d .")..;;.Note:.Don't.use.`define-
c7660 6f 62 73 6f 6c 65 74 65 2d 66 61 63 65 2d 61 6c 69 61 73 27 3b 20 73 65 65 20 69 73 73 75 65 20 obsolete-face-alias';.see.issue.
c7680 23 35 38 33 2e 0a 28 64 65 66 66 61 63 65 20 72 61 63 6b 65 74 2d 73 65 6c 66 65 76 61 6c 2d 66 #583..(defface.racket-selfeval-f
c76a0 61 63 65 20 6e 69 6c 0a 20 20 22 54 68 69 73 20 66 61 63 65 20 69 73 20 75 6e 75 73 65 64 20 73 ace.nil..."This.face.is.unused.s
c76c0 69 6e 63 65 20 32 30 32 31 2d 31 30 2d 32 30 2e 0a 0a 49 6e 73 74 65 61 64 20 63 75 73 74 6f 6d ince.2021-10-20...Instead.custom
c76e0 69 7a 65 20 74 68 65 20 66 61 63 65 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74 ize.the.face.`font-lock-constant
c7700 2d 66 61 63 65 27 2e 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 -face'.")..(defface-racket.racke
c7720 74 2d 72 65 61 64 65 72 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 0a 20 20 27 28 t-reader-quoted-symbol-face...'(
c7740 28 74 20 28 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74 2d (t.(:inherit.font-lock-constant-
c7760 66 61 63 65 29 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 73 79 6d 62 6f 6c 73 20 71 75 6f 74 face)))..."Face.for.symbols.quot
c7780 65 64 20 75 73 69 6e 67 20 5c 5c 3d 27 20 6f 72 20 5c 5c 3d 60 2e 0a 0a 54 68 69 73 20 66 61 63 ed.using.\\='.or.\\=`...This.fac
c77a0 65 20 69 73 20 67 69 76 65 6e 20 6f 6e 6c 79 20 74 6f 20 73 79 6d 62 6f 6c 73 20 64 69 72 65 63 e.is.given.only.to.symbols.direc
c77c0 74 6c 79 20 71 75 6f 74 65 64 20 75 73 69 6e 67 20 74 68 65 0a 72 65 61 64 65 72 20 73 68 6f 72 tly.quoted.using.the.reader.shor
c77e0 74 68 61 6e 64 73 20 5c 5c 3d 27 20 6f 72 20 5c 5c 3d 60 2e 20 41 6c 6c 20 6f 74 68 65 72 20 64 thands.\\='.or.\\=`..All.other.d
c7800 69 72 65 63 74 6c 79 20 71 75 6f 74 65 64 20 76 61 6c 75 65 73 2c 0a 69 6e 63 6c 75 64 69 6e 67 irectly.quoted.values,.including
c7820 20 73 79 6d 62 6f 6c 73 20 71 75 6f 74 65 64 20 75 73 69 6e 67 20 5c 22 71 75 6f 74 65 5c 22 20 .symbols.quoted.using.\"quote\".
c7840 6f 72 20 5c 22 71 75 61 73 69 71 75 6f 74 65 5c 22 2c 20 67 65 74 0a 74 68 65 20 66 61 63 65 20 or.\"quasiquote\",.get.the.face.
c7860 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74 2d 66 61 63 65 27 2e 22 0a 20 20 22 52 `font-lock-constant-face'."..."R
c7880 65 61 64 65 72 20 51 75 6f 74 65 64 20 53 79 6d 62 6f 6c 20 46 61 63 65 22 29 0a 0a 28 64 65 66 eader.Quoted.Symbol.Face")..(def
c78a0 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 73 79 6e 74 61 78 face-racket.racket-reader-syntax
c78c0 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 -quoted-symbol-face...'((t.(:inh
c78e0 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 73 79 6d 62 erit.default)))..."Face.for.symb
c7900 6f 6c 73 20 71 75 6f 74 65 64 20 75 73 69 6e 67 20 23 5c 5c 3d 27 20 6f 72 20 23 5c 5c 3d 60 2e ols.quoted.using.#\\='.or.#\\=`.
c7920 0a 0a 54 68 69 73 20 66 61 63 65 20 69 73 20 67 69 76 65 6e 20 6f 6e 6c 79 20 74 6f 20 73 79 6d ..This.face.is.given.only.to.sym
c7940 62 6f 6c 73 20 64 69 72 65 63 74 6c 79 20 71 75 6f 74 65 64 20 75 73 69 6e 67 20 74 68 65 0a 72 bols.directly.quoted.using.the.r
c7960 65 61 64 65 72 20 73 68 6f 72 74 68 61 6e 64 73 20 23 5c 5c 3d 27 20 6f 72 20 23 5c 5c 3d 60 2e eader.shorthands.#\\='.or.#\\=`.
c7980 20 41 6c 6c 20 6f 74 68 65 72 20 64 69 72 65 63 74 6c 79 20 71 75 6f 74 65 64 0a 76 61 6c 75 65 .All.other.directly.quoted.value
c79a0 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 79 6d 62 6f 6c 73 20 71 75 6f 74 65 64 20 75 73 69 6e s,.including.symbols.quoted.usin
c79c0 67 20 5c 22 73 79 6e 74 61 78 5c 22 20 6f 72 0a 5c 22 71 75 61 73 69 73 79 6e 74 61 78 5c 22 2c g.\"syntax\".or.\"quasisyntax\",
c79e0 20 67 65 74 20 74 68 65 20 66 61 63 65 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e .get.the.face.`font-lock-constan
c7a00 74 2d 66 61 63 65 27 2e 22 0a 20 20 22 52 65 61 64 65 72 20 53 79 6e 74 61 78 20 51 75 6f 74 65 t-face'."..."Reader.Syntax.Quote
c7a20 64 20 53 79 6d 62 6f 6c 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 d.Symbol.Face")..(defface-racket
c7a40 20 72 61 63 6b 65 74 2d 68 65 72 65 2d 73 74 72 69 6e 67 2d 66 61 63 65 0a 20 20 27 28 28 74 20 .racket-here-string-face...'((t.
c7a60 28 3a 69 6e 68 65 72 69 74 20 73 68 2d 68 65 72 65 64 6f 63 29 29 29 0a 20 20 22 46 61 63 65 20 (:inherit.sh-heredoc)))..."Face.
c7a80 66 6f 72 20 68 65 72 65 20 73 74 72 69 6e 67 73 2e 22 0a 20 20 22 48 65 72 65 20 53 74 72 69 6e for.here.strings."..."Here.Strin
c7aa0 67 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 g.Face")..(defface-racket.racket
c7ac0 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 -logger-config-face...'((t.(:inh
c7ae0 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 20 3a 73 6c 61 erit.font-lock-comment-face.:sla
c7b00 6e 74 20 69 74 61 6c 69 63 29 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 60 72 61 63 6b 65 74 nt.italic)))..."Face.for.`racket
c7b20 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 27 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 22 0a 20 20 -logger-mode'.configuration."...
c7b40 22 52 61 63 6b 65 74 20 4c 6f 67 67 65 72 20 43 6f 6e 66 69 67 20 46 61 63 65 22 29 0a 0a 28 64 "Racket.Logger.Config.Face")..(d
c7b60 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 efface-racket.racket-logger-topi
c7b80 63 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 c-face...'((t.(:inherit.font-loc
c7ba0 6b 2d 66 75 6e 63 74 69 6f 6e 2d 6e 61 6d 65 2d 66 61 63 65 20 3a 73 6c 61 6e 74 20 69 74 61 6c k-function-name-face.:slant.ital
c7bc0 69 63 29 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 ic)))..."Face.for.`racket-logger
c7be0 2d 6d 6f 64 65 27 20 74 6f 70 69 63 73 2e 22 0a 20 20 22 52 61 63 6b 65 74 20 4c 6f 67 67 65 72 -mode'.topics."..."Racket.Logger
c7c00 20 43 6f 6e 66 69 67 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 .Config.Face")..(defface-racket.
c7c20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 66 61 74 61 6c 2d 66 61 63 65 0a 20 20 27 28 28 74 20 racket-logger-fatal-face...'((t.
c7c40 28 3a 69 6e 68 65 72 69 74 20 65 72 72 6f 72 20 3a 77 65 69 67 68 74 20 62 6f 6c 64 29 29 29 0a (:inherit.error.:weight.bold))).
c7c60 20 20 22 46 61 63 65 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 27 .."Face.for.`racket-logger-mode'
c7c80 20 66 61 74 61 6c 20 6c 65 76 65 6c 2e 22 0a 20 20 22 52 61 63 6b 65 74 20 4c 6f 67 67 65 72 20 .fatal.level."..."Racket.Logger.
c7ca0 46 61 74 61 6c 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 Fatal.Face")..(defface-racket.ra
c7cc0 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 65 72 72 6f 72 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a cket-logger-error-face...'((t.(:
c7ce0 69 6e 68 65 72 69 74 20 65 72 72 6f 72 29 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 60 72 61 inherit.error)))..."Face.for.`ra
c7d00 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 27 20 65 72 72 6f 72 20 6c 65 76 65 6c 2e 22 0a cket-logger-mode'.error.level.".
c7d20 20 20 22 52 61 63 6b 65 74 20 4c 6f 67 67 65 72 20 45 72 72 6f 72 20 46 61 63 65 22 29 0a 0a 28 .."Racket.Logger.Error.Face")..(
c7d40 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 77 61 72 defface-racket.racket-logger-war
c7d60 6e 69 6e 67 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 77 61 72 6e 69 ning-face...'((t.(:inherit.warni
c7d80 6e 67 29 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 ng)))..."Face.for.`racket-logger
c7da0 2d 6d 6f 64 65 27 20 77 61 72 6e 69 6e 67 20 6c 65 76 65 6c 2e 22 0a 20 20 22 52 61 63 6b 65 74 -mode'.warning.level."..."Racket
c7dc0 20 4c 6f 67 67 65 72 20 57 61 72 6e 69 6e 67 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 .Logger.Warning.Face")..(defface
c7de0 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 69 6e 66 6f 2d 66 61 63 65 0a -racket.racket-logger-info-face.
c7e00 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 73 74 72 69 6e ..'((t.(:inherit.font-lock-strin
c7e20 67 2d 66 61 63 65 29 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 6c 6f g-face)))..."Face.for.`racket-lo
c7e40 67 67 65 72 2d 6d 6f 64 65 27 20 69 6e 66 6f 20 6c 65 76 65 6c 2e 22 0a 20 20 22 52 61 63 6b 65 gger-mode'.info.level."..."Racke
c7e60 74 20 4c 6f 67 67 65 72 20 49 6e 66 6f 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 t.Logger.Info.Face")..(defface-r
c7e80 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 64 65 62 75 67 2d 66 61 63 65 0a 20 acket.racket-logger-debug-face..
c7ea0 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 .'((t.(:inherit.font-lock-consta
c7ec0 6e 74 2d 66 61 63 65 29 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 6c nt-face)))..."Face.for.`racket-l
c7ee0 6f 67 67 65 72 2d 6d 6f 64 65 27 20 64 65 62 75 67 20 6c 65 76 65 6c 2e 22 0a 20 20 22 52 61 63 ogger-mode'.debug.level."..."Rac
c7f00 6b 65 74 20 4c 6f 67 67 65 72 20 44 65 62 75 67 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 ket.Logger.Debug.Face")..(deffac
c7f20 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 62 72 65 61 6b 2d 66 61 63 65 e-racket.racket-debug-break-face
c7f40 0a 20 20 27 28 28 74 20 28 3a 62 61 63 6b 67 72 6f 75 6e 64 20 22 72 65 64 22 29 29 29 0a 20 20 ...'((t.(:background."red")))...
c7f60 22 46 61 63 65 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 27 20 62 72 "Face.for.`racket-debug-mode'.br
c7f80 65 61 6b 20 70 6f 73 69 74 69 6f 6e 2e 22 0a 20 20 22 52 61 63 6b 65 74 20 44 65 62 75 67 20 42 eak.position."..."Racket.Debug.B
c7fa0 72 65 61 6b 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 reak.Face")..(defface-racket.rac
c7fc0 6b 65 74 2d 64 65 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 2d 66 61 63 65 0a 20 20 27 28 28 74 ket-debug-breakpoint-face...'((t
c7fe0 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 72 65 64 22 20 3a 77 65 69 67 68 74 20 62 6f 6c 64 .(:foreground."red".:weight.bold
c8000 29 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f )))..."Face.for.`racket-debug-mo
c8020 64 65 27 20 62 72 65 61 6b 70 6f 69 6e 74 20 6f 76 65 72 6c 61 79 73 2e 22 0a 20 20 22 52 61 63 de'.breakpoint.overlays."..."Rac
c8040 6b 65 74 20 44 65 62 75 67 20 42 72 65 61 6b 70 6f 69 6e 74 20 46 61 63 65 22 29 0a 0a 28 64 65 ket.Debug.Breakpoint.Face")..(de
c8060 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6c 6f 63 61 6c 73 fface-racket.racket-debug-locals
c8080 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b -face...'((t.(:inherit.font-lock
c80a0 2d 63 6f 6e 73 74 61 6e 74 2d 66 61 63 65 20 3a 62 6f 78 20 28 3a 6c 69 6e 65 2d 77 69 64 74 68 -constant-face.:box.(:line-width
c80c0 20 2d 31 29 20 3a 73 6c 61 6e 74 20 69 74 61 6c 69 63 29 29 29 0a 20 20 22 46 61 63 65 20 66 6f .-1).:slant.italic)))..."Face.fo
c80e0 72 20 60 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 27 20 6c 6f 63 61 6c 20 76 61 72 69 r.`racket-debug-mode'.local.vari
c8100 61 62 6c 65 73 2e 22 0a 20 20 22 52 61 63 6b 65 74 20 44 65 62 75 67 20 4c 6f 63 61 6c 73 20 46 ables."..."Racket.Debug.Locals.F
c8120 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 64 65 ace")..(defface-racket.racket-de
c8140 62 75 67 2d 72 65 73 75 6c 74 2d 66 61 63 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 bug-result-face...'((t.(:inherit
c8160 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74 2d 66 61 63 65 20 3a 62 6f 78 20 28 3a .font-lock-constant-face.:box.(:
c8180 6c 69 6e 65 2d 77 69 64 74 68 20 2d 31 29 20 3a 73 6c 61 6e 74 20 69 74 61 6c 69 63 20 3a 77 65 line-width.-1).:slant.italic.:we
c81a0 69 67 68 74 20 62 6f 6c 64 29 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 60 72 61 63 6b 65 74 ight.bold)))..."Face.for.`racket
c81c0 2d 64 65 62 75 67 2d 6d 6f 64 65 27 20 72 65 73 75 6c 74 20 76 61 6c 75 65 73 2e 22 0a 20 20 22 -debug-mode'.result.values."..."
c81e0 52 61 63 6b 65 74 20 44 65 62 75 67 20 52 65 73 75 6c 74 20 46 61 63 65 22 29 0a 0a 28 64 65 66 Racket.Debug.Result.Face")..(def
c8200 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 66 61 63 65 face-racket.racket-doc-link-face
c8220 0a 20 20 27 28 28 74 20 28 3a 75 6e 64 65 72 6c 69 6e 65 20 28 3a 63 6f 6c 6f 72 20 22 67 72 61 ...'((t.(:underline.(:color."gra
c8240 79 22 20 3a 73 74 79 6c 65 20 6c 69 6e 65 29 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 6b y".:style.line))))..."Face.`rack
c8260 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 27 20 75 73 65 73 20 66 6f 72 20 6c 69 6e 6b 73 et-describe-mode'.uses.for.links
c8280 20 77 69 74 68 69 6e 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 4e 6f 74 65 3a 20 57 68 65 .within.documentation..Note:.Whe
c82a0 6e 20 73 6f 6d 65 20 73 70 65 63 69 61 6c 20 66 61 63 65 20 69 73 20 61 6c 72 65 61 64 79 20 73 n.some.special.face.is.already.s
c82c0 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 0a 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 74 pecified.by.the.documentation,.t
c82e0 68 65 6e 20 74 6f 20 61 76 6f 69 64 20 76 69 73 75 61 6c 20 63 6c 75 74 74 65 72 20 74 68 69 73 hen.to.avoid.visual.clutter.this
c8300 20 66 61 63 65 20 69 73 20 4e 4f 54 20 61 6c 73 6f 0a 61 64 64 65 64 2e 22 0a 20 20 22 52 61 63 .face.is.NOT.also.added."..."Rac
c8320 6b 65 74 20 44 6f 63 20 4c 69 6e 6b 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 ket.Doc.Link.Face")..(defface-ra
c8340 63 6b 65 74 20 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 2d 66 61 63 65 0a 20 20 27 28 28 74 cket.racket-ext-link-face...'((t
c8360 20 28 3a 75 6e 64 65 72 6c 69 6e 65 20 28 3a 73 74 79 6c 65 20 77 61 76 65 29 20 3a 73 6c 61 6e .(:underline.(:style.wave).:slan
c8380 74 20 69 74 61 6c 69 63 20 3a 77 65 69 67 68 74 20 62 6f 6c 64 29 29 29 0a 20 20 22 46 61 63 65 t.italic.:weight.bold)))..."Face
c83a0 20 60 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 27 20 75 73 65 73 20 66 6f 72 .`racket-describe-mode'.uses.for
c83c0 20 65 78 74 65 72 6e 61 6c 20 6c 69 6e 6b 73 2e 0a 53 65 65 20 74 68 65 20 76 61 72 69 61 62 6c .external.links..See.the.variabl
c83e0 65 20 60 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 27 2e 22 e.`racket-browse-url-function'."
c8400 0a 20 20 22 52 61 63 6b 65 74 20 45 78 74 20 4c 69 6e 6b 20 46 61 63 65 22 29 0a 0a 28 64 65 66 ..."Racket.Ext.Link.Face")..(def
c8420 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6f 75 74 70 75 74 2d 66 61 face-racket.racket-doc-output-fa
c8440 63 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 66 69 78 65 64 2d 70 69 74 63 68 2d ce...'((t.(:inherit.fixed-pitch-
c8460 73 65 72 69 66 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 serif)))..."Face.`racket-describ
c8480 65 2d 6d 6f 64 65 27 20 75 73 65 73 20 66 6f 72 20 53 63 72 69 62 62 6c 65 20 40 65 78 61 6d 70 e-mode'.uses.for.Scribble.@examp
c84a0 6c 65 20 6f 72 20 40 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 6f 75 74 70 75 74 2e 22 0a 20 20 22 le.or.@interactions.output."..."
c84c0 52 61 63 6b 65 74 20 44 6f 63 20 4f 75 74 70 75 74 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 Racket.Doc.Output.Face")..(deffa
c84e0 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 74 63 68 61 72 2d 66 61 63 ce-racket.racket-doc-litchar-fac
c8500 65 0a 20 20 27 28 28 74 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 64 61 72 6b 20 72 65 64 22 e...'((t.(:foreground."dark.red"
c8520 20 3a 62 61 63 6b 67 72 6f 75 6e 64 20 22 67 72 61 79 22 29 29 29 0a 20 20 22 46 61 63 65 20 60 .:background."gray")))..."Face.`
c8540 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 27 20 75 73 65 73 20 66 6f 72 20 53 racket-describe-mode'.uses.for.S
c8560 63 72 69 62 62 6c 65 20 40 6c 69 74 63 68 61 72 2e 22 0a 20 20 22 52 61 63 6b 65 74 20 44 6f 63 cribble.@litchar."..."Racket.Doc
c8580 20 4c 69 74 63 68 61 72 20 46 61 63 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 .Litchar.Face")..(defface-racket
c85a0 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 0a 20 20 27 28 28 74 20 28 3a 69 6e .racket-repl-message...'((t.(:in
c85c0 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 20 3a 73 6c herit.font-lock-comment-face.:sl
c85e0 61 6e 74 20 69 74 61 6c 69 63 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 6b 65 74 2d 72 65 ant.italic)))..."Face.`racket-re
c8600 70 6c 2d 6d 6f 64 65 27 20 75 73 65 73 20 66 6f 72 20 6d 65 73 73 61 67 65 73 20 66 72 6f 6d 20 pl-mode'.uses.for.messages.from.
c8620 74 68 65 20 62 61 63 6b 20 65 6e 64 2e 22 0a 20 20 22 52 61 63 6b 65 74 20 52 45 50 4c 20 4d 65 the.back.end."..."Racket.REPL.Me
c8640 73 73 61 67 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d ssage")..(defface-racket.racket-
c8660 72 65 70 6c 2d 70 72 6f 6d 70 74 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 62 6f 6c repl-prompt...'((t.(:inherit.bol
c8680 64 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 d)))..."Face.`racket-repl-mode'.
c86a0 75 73 65 73 20 66 6f 72 20 70 72 6f 6d 70 74 73 2e 22 0a 20 20 22 52 61 63 6b 65 74 20 52 45 50 uses.for.prompts."..."Racket.REP
c86c0 4c 20 50 72 6f 6d 70 74 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b L.Prompt")..(defface-racket.rack
c86e0 65 74 2d 72 65 70 6c 2d 76 61 6c 75 65 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 66 et-repl-value...'((t.(:inherit.f
c8700 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74 2d 66 61 63 65 29 29 29 0a 20 20 22 46 61 63 ont-lock-constant-face)))..."Fac
c8720 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 75 73 65 73 20 66 6f 72 20 76 61 e.`racket-repl-mode'.uses.for.va
c8740 6c 75 65 73 20 6f 75 74 70 75 74 20 62 79 20 63 75 72 72 65 6e 74 2d 70 72 69 6e 74 2e 22 0a 20 lues.output.by.current-print."..
c8760 20 22 52 61 63 6b 65 74 20 52 45 50 4c 20 56 61 6c 75 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d ."Racket.REPL.Value")..(defface-
c8780 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 racket.racket-repl-error-message
c87a0 0a 20 20 27 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 65 72 72 6f 72 29 29 29 0a 20 20 22 46 61 ...'((t.(:inherit.error)))..."Fa
c87c0 63 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 75 73 65 73 20 66 6f 72 20 65 ce.`racket-repl-mode'.uses.for.e
c87e0 72 72 6f 72 20 6d 65 73 73 61 67 65 73 2e 22 0a 20 20 22 52 61 63 6b 65 74 20 52 45 50 4c 20 45 rror.messages."..."Racket.REPL.E
c8800 72 72 6f 72 20 4d 65 73 73 61 67 65 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 rror.Message")..(defface-racket.
c8820 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 0a 20 20 27 28 28 racket-repl-error-location...'((
c8840 74 20 28 3a 69 6e 68 65 72 69 74 20 75 6e 64 65 72 6c 69 6e 65 29 29 29 0a 20 20 22 46 61 63 65 t.(:inherit.underline)))..."Face
c8860 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 75 73 65 73 20 66 6f 72 20 65 72 72 .`racket-repl-mode'.uses.for.err
c8880 6f 72 20 6c 6f 63 61 74 69 6f 6e 73 2e 22 0a 20 20 22 52 61 63 6b 65 74 20 52 45 50 4c 20 45 72 or.locations."..."Racket.REPL.Er
c88a0 72 6f 72 20 4c 6f 63 61 74 69 6f 6e 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 61 63 6b 65 74 20 ror.Location")..(defface-racket.
c88c0 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6c 61 62 65 6c 0a 20 20 27 28 28 74 20 28 racket-repl-error-label...'((t.(
c88e0 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65 2d 6e 61 6d 65 :inherit.font-lock-variable-name
c8900 2d 66 61 63 65 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f -face)))..."Face.`racket-repl-mo
c8920 64 65 27 20 75 73 65 73 20 66 6f 72 20 65 72 72 6f 72 20 6c 61 62 65 6c 73 2e 22 0a 20 20 22 52 de'.uses.for.error.labels."..."R
c8940 61 63 6b 65 74 20 52 45 50 4c 20 45 72 72 6f 72 20 4c 61 62 65 6c 22 29 0a 0a 28 64 65 66 66 61 acket.REPL.Error.Label")..(deffa
c8960 63 65 2d 72 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 6f 75 74 0a 20 20 27 ce-racket.racket-repl-stdout...'
c8980 28 28 74 20 28 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 29 0a 20 20 22 46 61 63 65 ((t.(:inherit.default)))..."Face
c89a0 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 75 73 65 73 20 66 6f 72 20 6f 75 74 .`racket-repl-mode'.uses.for.out
c89c0 70 75 74 20 74 6f 20 63 75 72 72 65 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 74 2e 22 0a 20 20 22 put.to.current-output-port."..."
c89e0 52 61 63 6b 65 74 20 52 45 50 4c 20 53 74 64 6f 75 74 22 29 0a 0a 28 64 65 66 66 61 63 65 2d 72 Racket.REPL.Stdout")..(defface-r
c8a00 61 63 6b 65 74 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 65 72 72 0a 20 20 27 28 28 74 20 acket.racket-repl-stderr...'((t.
c8a20 28 3a 69 6e 68 65 72 69 74 20 65 72 72 6f 72 29 29 29 0a 20 20 22 46 61 63 65 20 60 72 61 63 6b (:inherit.error)))..."Face.`rack
c8a40 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 75 73 65 73 20 66 6f 72 20 6f 75 74 70 75 74 20 74 6f et-repl-mode'.uses.for.output.to
c8a60 20 63 75 72 72 65 6e 74 2d 65 72 72 6f 72 2d 70 6f 72 74 2e 22 0a 20 20 22 52 61 63 6b 65 74 20 .current-error-port."..."Racket.
c8a80 52 45 50 4c 20 53 74 64 65 72 72 22 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d REPL.Stderr")..(provide.'racket-
c8aa0 63 75 73 74 6f 6d 29 0a 0a 3b 3b 3b 20 72 61 63 6b 65 74 2d 63 75 73 74 6f 6d 2e 65 6c 20 65 6e custom)..;;;.racket-custom.el.en
c8ac0 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ds.here.........................
c8ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8c00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
c8c20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-logger.el................
c8c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
c8c80 30 30 31 37 36 36 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 37 33 32 00 20 30 00 00 00 0017662.00000000000.016732..0...
c8ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
c8d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
c8d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8e00 3b 3b 3b 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c ;;;.racket-logger.el.-*-.lexical
c8e20 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 -binding:.t;.-*-..;;.Copyright.(
c8e40 63 29 20 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 c).2013-2022.by.Greg.Hendershott
c8e60 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 ..;;.Portions.Copyright.(C).1985
c8e80 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 -1986,.1999-2013.Free.Software.F
c8ea0 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 oundation,.Inc...;;.Author:.Greg
c8ec0 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 .Hendershott.;;.URL:.https://git
c8ee0 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d hub.com/greghendershott/racket-m
c8f00 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a ode..;;.SPDX-License-Identifier:
c8f20 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 65 61 73 .GPL-3.0-or-later..(require.'eas
c8f40 79 6d 65 6e 75 29 0a 28 72 65 71 75 69 72 65 20 27 72 78 29 0a 28 72 65 71 75 69 72 65 20 27 72 ymenu).(require.'rx).(require.'r
c8f60 61 63 6b 65 74 2d 63 75 73 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 72 acket-custom).(require.'racket-r
c8f80 65 70 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 0a epl).(require.'racket-back-end).
c8fa0 0a 3b 3b 20 4e 65 65 64 20 74 6f 20 64 65 66 69 6e 65 20 74 68 69 73 20 62 65 66 6f 72 65 20 72 .;;.Need.to.define.this.before.r
c8fc0 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 acket-logger-mode.(defvar.racket
c8fe0 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 72 61 63 6b 65 74 2d 2d 65 61 73 79 -logger-mode-map...(racket--easy
c9000 2d 6b 65 79 6d 61 70 2d 64 65 66 69 6e 65 0a 20 20 20 27 28 28 22 6c 22 20 20 20 20 20 20 20 72 -keymap-define....'(("l".......r
c9020 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 6c 65 76 65 6c 29 0a 20 20 20 20 20 28 acket-logger-topic-level)......(
c9040 22 77 22 20 20 20 20 20 20 20 74 6f 67 67 6c 65 2d 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 29 "w".......toggle-truncate-lines)
c9060 0a 20 20 20 20 20 28 22 6e 22 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6e ......("n".......racket-logger-n
c9080 65 78 74 2d 69 74 65 6d 29 0a 20 20 20 20 20 28 22 70 22 20 20 20 20 20 20 20 72 61 63 6b 65 74 ext-item)......("p".......racket
c90a0 2d 6c 6f 67 67 65 72 2d 70 72 65 76 69 6f 75 73 2d 69 74 65 6d 29 0a 20 20 20 20 20 28 22 67 22 -logger-previous-item)......("g"
c90c0 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6c 65 61 72 29 29 29 29 0a 0a .......racket-logger-clear))))..
c90e0 28 65 61 73 79 2d 6d 65 6e 75 2d 64 65 66 69 6e 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d (easy-menu-define.racket-logger-
c9100 6d 6f 64 65 2d 6d 65 6e 75 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 2d 6d 61 70 mode-menu.racket-logger-mode-map
c9120 0a 20 20 22 4d 65 6e 75 20 66 6f 72 20 52 61 63 6b 65 74 20 6c 6f 67 67 65 72 20 6d 6f 64 65 2e ..."Menu.for.Racket.logger.mode.
c9140 22 0a 20 20 27 28 22 52 61 63 6b 65 74 2d 4c 6f 67 67 65 72 22 0a 20 20 20 20 5b 22 43 6f 6e 66 "...'("Racket-Logger".....["Conf
c9160 69 67 75 72 65 20 54 6f 70 69 63 20 61 6e 64 20 4c 65 76 65 6c 22 20 72 61 63 6b 65 74 2d 6c 6f igure.Topic.and.Level".racket-lo
c9180 67 67 65 72 2d 74 6f 70 69 63 2d 6c 65 76 65 6c 5d 0a 20 20 20 20 5b 22 54 6f 67 67 6c 65 20 54 gger-topic-level].....["Toggle.T
c91a0 72 75 6e 63 61 74 65 20 4c 69 6e 65 73 22 20 74 6f 67 67 6c 65 2d 74 72 75 6e 63 61 74 65 2d 6c runcate.Lines".toggle-truncate-l
c91c0 69 6e 65 73 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 43 6c 65 61 72 22 20 72 61 63 ines]....."---".....["Clear".rac
c91e0 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6c 65 61 72 5d 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 ket-logger-clear]))..(defconst.r
c9200 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 0a acket-logger-font-lock-keywords.
c9220 20 20 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 20 20 60 28 28 2c 23 27 72 ..(eval-when-compile.....`((,#'r
c9240 61 63 6b 65 74 2d 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 66 69 67 20 2e 20 72 61 63 6b 65 74 acket--font-lock-config...racket
c9260 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 2d 66 61 63 65 29 0a 20 20 20 20 20 20 28 2c 28 72 78 -logger-config-face).......(,(rx
c9280 20 62 6f 6c 20 22 5b 20 20 66 61 74 61 6c 5d 22 29 20 20 20 20 20 20 20 2e 20 72 61 63 6b 65 74 .bol."[..fatal]").........racket
c92a0 2d 6c 6f 67 67 65 72 2d 66 61 74 61 6c 2d 66 61 63 65 29 0a 20 20 20 20 20 20 28 2c 28 72 78 20 -logger-fatal-face).......(,(rx.
c92c0 62 6f 6c 20 22 5b 20 20 65 72 72 6f 72 5d 22 29 20 20 20 20 20 20 20 2e 20 72 61 63 6b 65 74 2d bol."[..error]").........racket-
c92e0 6c 6f 67 67 65 72 2d 65 72 72 6f 72 2d 66 61 63 65 29 0a 20 20 20 20 20 20 28 2c 28 72 78 20 62 logger-error-face).......(,(rx.b
c9300 6f 6c 20 22 5b 77 61 72 6e 69 6e 67 5d 22 29 20 20 20 20 20 20 20 2e 20 72 61 63 6b 65 74 2d 6c ol."[warning]").........racket-l
c9320 6f 67 67 65 72 2d 77 61 72 6e 69 6e 67 2d 66 61 63 65 29 0a 20 20 20 20 20 20 28 2c 28 72 78 20 ogger-warning-face).......(,(rx.
c9340 62 6f 6c 20 22 5b 20 20 20 69 6e 66 6f 5d 22 29 20 20 20 20 20 20 20 2e 20 72 61 63 6b 65 74 2d bol."[...info]").........racket-
c9360 6c 6f 67 67 65 72 2d 69 6e 66 6f 2d 66 61 63 65 29 0a 20 20 20 20 20 20 28 2c 28 72 78 20 62 6f logger-info-face).......(,(rx.bo
c9380 6c 20 22 5b 20 20 64 65 62 75 67 5d 22 29 20 20 20 20 20 20 20 2e 20 72 61 63 6b 65 74 2d 6c 6f l."[..debug]").........racket-lo
c93a0 67 67 65 72 2d 64 65 62 75 67 2d 66 61 63 65 29 0a 20 20 20 20 20 20 28 2c 28 72 78 20 62 6f 6c gger-debug-face).......(,(rx.bol
c93c0 20 3f 5c 5b 20 28 2b 3f 20 61 6e 79 74 68 69 6e 67 29 20 3f 5c 5d 20 73 70 61 63 65 0a 20 20 20 .?\[.(+?.anything).?\].space....
c93e0 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 20 28 2b 3f 20 61 6e 79 74 68 69 6e 67 29 20 3f 3a .........(group.(+?.anything).?:
c9400 29 20 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 31 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d ).space)........1.racket-logger-
c9420 74 6f 70 69 63 2d 66 61 63 65 29 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 topic-face))))..(defconst.racket
c9440 2d 2d 6c 6f 67 67 65 72 2d 70 72 69 6e 74 2d 63 6f 6e 66 69 67 2d 70 72 65 66 69 78 0a 20 20 22 --logger-print-config-prefix..."
c9460 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 3a 5c 6e 22 29 0a 0a 28 64 65 66 75 racket-logger-config:\n")..(defu
c9480 6e 20 72 61 63 6b 65 74 2d 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 66 69 67 20 28 6c 69 6d 69 n.racket--font-lock-config.(limi
c94a0 74 29 0a 20 20 22 48 61 6e 64 6c 65 20 6d 75 6c 74 69 2d 6c 69 6e 65 20 66 6f 6e 74 2d 6c 6f 63 t)..."Handle.multi-line.font-loc
c94c0 6b 20 6f 66 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 6e 66 6f 2e 22 0a 20 20 k.of.the.configuration.info."...
c94e0 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 28 77 68 65 6e 20 28 72 65 2d 73 65 61 (ignore-errors.....(when.(re-sea
c9500 72 63 68 2d 66 6f 72 77 61 72 64 20 28 63 6f 6e 63 61 74 20 22 5e 22 20 72 61 63 6b 65 74 2d 2d rch-forward.(concat."^".racket--
c9520 6c 6f 67 67 65 72 2d 70 72 69 6e 74 2d 63 6f 6e 66 69 67 2d 70 72 65 66 69 78 29 20 6c 69 6d 69 logger-print-config-prefix).limi
c9540 74 20 74 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 64 20 28 6d 61 74 63 68 2d 64 61 74 61 t.t).......(let.((md.(match-data
c9560 29 29 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 74 63 68 2d 65 6e ))).........(goto-char.(match-en
c9580 64 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 31 29 0a 20 d.0)).........(forward-sexp.1)..
c95a0 20 20 20 20 20 20 20 28 73 65 74 66 20 28 65 6c 74 20 6d 64 20 31 29 20 28 70 6f 69 6e 74 29 29 .......(setf.(elt.md.1).(point))
c95c0 20 3b 3b 20 73 65 74 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 0a 20 20 20 20 20 20 20 20 28 73 .;;.set.(match-end.0).........(s
c95e0 65 74 2d 6d 61 74 63 68 2d 64 61 74 61 20 6d 64 29 0a 20 20 20 20 20 20 20 20 74 29 29 29 29 0a et-match-data.md).........t)))).
c9600 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 20 72 61 63 6b 65 74 2d 6c 6f 67 .(define-derived-mode.racket-log
c9620 67 65 72 2d 6d 6f 64 65 20 73 70 65 63 69 61 6c 2d 6d 6f 64 65 20 22 52 61 63 6b 65 74 2d 4c 6f ger-mode.special-mode."Racket-Lo
c9640 67 67 65 72 22 0a 20 20 22 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 52 61 63 6b 65 74 20 6c gger"..."Major.mode.for.Racket.l
c9660 6f 67 67 65 72 20 6f 75 74 70 75 74 2e 0a 5c 5c 3c 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d ogger.output..\\<racket-logger-m
c9680 6f 64 65 2d 6d 61 70 3e 0a 0a 54 68 65 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 76 61 72 69 ode-map>..The.customization.vari
c96a0 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 27 20 64 65 74 65 able.`racket-logger-config'.dete
c96c0 72 6d 69 6e 65 73 20 74 68 65 0a 6c 65 76 65 6c 73 20 66 6f 72 20 74 6f 70 69 63 73 2e 20 44 75 rmines.the.levels.for.topics..Du
c96e0 72 69 6e 67 20 61 20 73 65 73 73 69 6f 6e 20 79 6f 75 20 6d 61 79 20 63 68 61 6e 67 65 20 74 6f ring.a.session.you.may.change.to
c9700 70 69 63 20 6c 65 76 65 6c 73 0a 75 73 69 6e 67 20 60 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d pic.levels.using.`racket-logger-
c9720 74 6f 70 69 63 2d 6c 65 76 65 6c 27 2e 0a 0a 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 topic-level'...For.more.informat
c9740 69 6f 6e 20 73 65 65 3a 0a 20 20 3c 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b 65 74 2d ion.see:...<https://docs.racket-
c9760 6c 61 6e 67 2e 6f 72 67 2f 72 65 66 65 72 65 6e 63 65 2f 6c 6f 67 67 69 6e 67 2e 68 74 6d 6c 3e lang.org/reference/logging.html>
c9780 0a 0a 5c 5c 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 2d 6d 61 70 7d 0a 22 0a 20 ..\\{racket-logger-mode-map}."..
c97a0 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 65 66 61 75 6c 74 73 20 .(setq-local.font-lock-defaults.
c97c0 28 6c 69 73 74 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 (list.racket-logger-font-lock-ke
c97e0 79 77 6f 72 64 73 29 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 74 72 75 6e 63 61 74 65 2d ywords))...(setq-local.truncate-
c9800 6c 69 6e 65 73 20 74 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 62 75 66 66 65 72 2d 75 6e lines.t)...(setq-local.buffer-un
c9820 64 6f 2d 6c 69 73 74 20 74 29 20 3b 64 69 73 61 62 6c 65 20 75 6e 64 6f 0a 20 20 28 73 65 74 71 do-list.t).;disable.undo...(setq
c9840 2d 6c 6f 63 61 6c 20 77 69 6e 64 6f 77 2d 70 6f 69 6e 74 2d 69 6e 73 65 72 74 69 6f 6e 2d 74 79 -local.window-point-insertion-ty
c9860 70 65 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 62 75 pe.t))..(defun.racket--logger-bu
c9880 66 66 65 72 2d 6e 61 6d 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 61 63 6b 2d 65 6e 64 2d 6e 61 ffer-name.(&optional.back-end-na
c98a0 6d 65 29 0a 20 20 28 66 6f 72 6d 61 74 20 22 2a 52 61 63 6b 65 74 20 4c 6f 67 67 65 72 20 3c 25 me)...(format."*Racket.Logger.<%
c98c0 73 3e 2a 22 20 28 6f 72 20 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 s>*".(or.back-end-name..........
c98e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 ............................(rac
c9900 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 ket-back-end-name))))..(defun.ra
c9920 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 28 cket--logger-get-buffer-create.(
c9940 26 6f 70 74 69 6f 6e 61 6c 20 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 29 0a 20 20 22 43 72 65 61 &optional.back-end-name)..."Crea
c9960 74 65 20 62 75 66 66 65 72 20 69 66 20 6e 65 63 65 73 73 61 72 79 2e 20 44 6f 20 6e 6f 74 20 64 te.buffer.if.necessary..Do.not.d
c9980 69 73 70 6c 61 79 20 6f 72 20 73 65 6c 65 63 74 20 69 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 6e isplay.or.select.it."...(let.((n
c99a0 61 6d 65 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 ame.(racket--logger-buffer-name.
c99c0 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 67 65 back-end-name))).....(unless.(ge
c99e0 74 2d 62 75 66 66 65 72 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 t-buffer.name).......(with-curre
c9a00 6e 74 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 6e 61 6d nt-buffer.(get-buffer-create.nam
c9a20 65 29 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 29 0a e).........(racket-logger-mode).
c9a40 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 61 63 74 69 76 61 74 65 ........(racket--logger-activate
c9a60 2d 63 6f 6e 66 69 67 29 29 29 0a 20 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 20 6e 61 6d 65 29 -config))).....(get-buffer.name)
c9a80 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 6f 6e 2d 6e 6f 74 ))..(defun.racket--logger-on-not
c9aa0 69 66 79 20 28 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 20 73 74 72 29 0a 20 20 22 54 68 69 73 20 ify.(back-end-name.str)..."This.
c9ac0 69 73 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 60 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 64 69 73 70 is.called.from.`racket--cmd-disp
c9ae0 61 74 63 68 2d 72 65 73 70 6f 6e 73 65 27 2e 0a 0a 41 73 20 61 20 72 65 73 75 6c 74 2c 20 77 65 atch-response'...As.a.result,.we
c9b00 20 6d 69 67 68 74 20 63 72 65 61 74 65 20 74 68 69 73 20 62 75 66 66 65 72 20 62 65 66 6f 72 65 .might.create.this.buffer.before
c9b20 20 74 68 65 20 75 73 65 72 20 64 6f 65 73 20 61 0a 60 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d .the.user.does.a.`racket-logger-
c9b40 6d 6f 64 65 27 20 63 6f 6d 6d 61 6e 64 2e 22 0a 20 20 28 77 68 65 6e 20 6e 6f 6e 69 6e 74 65 72 mode'.command."...(when.noninter
c9b60 61 63 74 69 76 65 20 3b 65 6d 61 63 73 20 2d 2d 62 61 74 63 68 0a 20 20 20 20 28 70 72 69 6e 63 active.;emacs.--batch.....(princ
c9b80 20 28 66 6f 72 6d 61 74 20 22 7b 6c 6f 67 67 65 72 20 25 73 7d 3a 20 25 73 22 0a 20 20 20 20 20 .(format."{logger.%s}:.%s"......
c9ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 6e ..............(racket-back-end-n
c9bc0 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 29 29 29 0a 20 ame)....................str)))..
c9be0 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 72 61 63 6b 65 74 2d 2d 6c .(with-current-buffer.(racket--l
c9c00 6f 67 67 65 72 2d 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 62 61 63 6b 2d 65 6e 64 ogger-get-buffer-create.back-end
c9c20 2d 6e 61 6d 65 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d -name).....(let*.((inhibit-read-
c9c40 6f 6e 6c 79 20 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 69 67 69 6e 61 6c 2d 70 6f only..t)............(original-po
c9c60 69 6e 74 20 20 20 20 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 int.....(point))............(poi
c9c80 6e 74 2d 77 61 73 2d 61 74 2d 65 6e 64 2d 70 20 28 65 71 75 61 6c 20 6f 72 69 67 69 6e 61 6c 2d nt-was-at-end-p.(equal.original-
c9ca0 70 6f 69 6e 74 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f point.(point-max)))).......(goto
c9cc0 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 -char.(point-max)).......(insert
c9ce0 20 73 74 72 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 70 6f 69 6e 74 2d 77 61 73 2d 61 74 .str).......(unless.point-was-at
c9d00 2d 65 6e 64 2d 70 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6f 72 69 67 69 6e -end-p.........(goto-char.origin
c9d20 61 6c 2d 70 6f 69 6e 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6c 6f al-point)))))..(defun.racket--lo
c9d40 67 67 65 72 2d 61 63 74 69 76 61 74 65 2d 63 6f 6e 66 69 67 20 28 29 0a 20 20 22 53 65 6e 64 20 gger-activate-config.()..."Send.
c9d60 63 6f 6e 66 69 67 20 74 6f 20 6c 6f 67 67 65 72 20 61 6e 64 20 64 69 73 70 6c 61 79 20 69 74 20 config.to.logger.and.display.it.
c9d80 69 6e 20 74 68 65 20 62 75 66 66 65 72 2e 22 0a 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 in.the.buffer."...(racket--cmd/a
c9da0 73 79 6e 63 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 sync.nil......................`(
c9dc0 6c 6f 67 67 65 72 20 2c 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 29 29 0a 20 logger.,racket-logger-config))..
c9de0 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 72 61 63 6b 65 74 2d 2d 6c .(with-current-buffer.(racket--l
c9e00 6f 67 67 65 72 2d 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 29 0a 20 20 20 20 28 6c 65 ogger-get-buffer-create).....(le
c9e20 74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 20 20 t.((inhibit-read-only.t)).......
c9e40 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 69 (goto-char.(point-max)).......(i
c9e60 6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 63 6f 6e 63 61 74 20 72 61 63 6b 65 74 nsert.(propertize.(concat.racket
c9e80 2d 2d 6c 6f 67 67 65 72 2d 70 72 69 6e 74 2d 63 6f 6e 66 69 67 2d 70 72 65 66 69 78 0a 20 20 20 --logger-print-config-prefix....
c9ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
c9ec0 70 70 2d 74 6f 2d 73 74 72 69 6e 67 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 pp-to-string.racket-logger-confi
c9ee0 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 g))...........................'f
c9f00 6f 6e 74 2d 6c 6f 63 6b 2d 6d 75 6c 74 69 6c 69 6e 65 20 74 29 29 0a 20 20 20 20 20 20 28 67 6f ont-lock-multiline.t)).......(go
c9f20 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 to-char.(point-max)))))..(defun.
c9f40 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 73 65 74 20 28 74 6f 70 69 63 20 6c 65 76 65 6c 29 racket--logger-set.(topic.level)
c9f60 0a 20 20 28 75 6e 6c 65 73 73 20 28 73 79 6d 62 6f 6c 70 20 74 6f 70 69 63 29 20 28 65 72 72 6f ...(unless.(symbolp.topic).(erro
c9f80 72 20 22 54 4f 50 49 43 20 6d 75 73 74 20 62 65 20 73 79 6d 62 6f 6c 70 22 29 29 0a 20 20 28 75 r."TOPIC.must.be.symbolp"))...(u
c9fa0 6e 6c 65 73 73 20 28 73 79 6d 62 6f 6c 70 20 6c 65 76 65 6c 29 20 28 65 72 72 6f 72 20 22 4c 45 nless.(symbolp.level).(error."LE
c9fc0 56 45 4c 20 6d 75 73 74 20 62 65 20 73 79 6d 62 6f 6c 70 22 29 29 0a 20 20 28 70 63 61 73 65 20 VEL.must.be.symbolp"))...(pcase.
c9fe0 28 61 73 73 71 20 74 6f 70 69 63 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 (assq.topic.racket-logger-config
ca000 29 0a 20 20 20 20 28 60 28 29 20 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 72 61 63 6b 65 74 2d ).....(`().(add-to-list.'racket-
ca020 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 20 28 63 6f 6e 73 20 74 6f 70 69 63 20 6c 65 76 65 6c 29 logger-config.(cons.topic.level)
ca040 29 29 0a 20 20 20 20 28 76 20 20 20 28 73 65 74 63 64 72 20 76 20 6c 65 76 65 6c 29 29 29 0a 20 )).....(v...(setcdr.v.level)))..
ca060 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 61 63 74 69 76 61 74 65 2d 63 6f 6e 66 69 67 .(racket--logger-activate-config
ca080 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 75 6e 73 65 74 20 ))..(defun.racket--logger-unset.
ca0a0 28 74 6f 70 69 63 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 73 79 6d 62 6f 6c 70 20 74 6f 70 69 63 (topic)...(unless.(symbolp.topic
ca0c0 29 20 28 65 72 72 6f 72 20 22 54 4f 50 49 43 20 6d 75 73 74 20 62 65 20 73 79 6d 62 6f 6c 70 22 ).(error."TOPIC.must.be.symbolp"
ca0e0 29 29 0a 20 20 28 77 68 65 6e 20 28 65 71 20 74 6f 70 69 63 20 27 2a 29 0a 20 20 20 20 28 75 73 ))...(when.(eq.topic.'*).....(us
ca100 65 72 2d 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 75 6e 73 65 74 20 74 68 65 20 6c 65 76 65 6c er-error."Cannot.unset.the.level
ca120 20 66 6f 72 20 74 68 65 20 27 2a 20 74 6f 70 69 63 22 29 29 0a 20 20 28 73 65 74 71 20 72 61 63 .for.the.'*.topic"))...(setq.rac
ca140 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 0a 20 20 20 20 20 20 20 20 28 61 73 73 71 2d ket-logger-config.........(assq-
ca160 64 65 6c 65 74 65 2d 61 6c 6c 20 74 6f 70 69 63 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 delete-all.topic.racket-logger-c
ca180 6f 6e 66 69 67 29 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 61 63 74 69 76 61 onfig))...(racket--logger-activa
ca1a0 74 65 2d 63 6f 6e 66 69 67 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 te-config))..(defun.racket--logg
ca1c0 65 72 2d 74 6f 70 69 63 73 20 28 29 0a 20 20 22 45 66 66 65 63 74 69 76 65 6c 79 20 28 73 6f 72 er-topics.()..."Effectively.(sor
ca1e0 74 20 28 64 69 63 74 2d 6b 65 79 73 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 t.(dict-keys.racket-logger-confi
ca200 67 29 29 2e 22 0a 20 20 28 73 6f 72 74 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 g))."...(sort.(mapcar.(lambda.(x
ca220 29 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 28 63 61 72 20 78 29 29 29 0a 20 20 20 20 20 20 20 ).(format."%s".(car.x)))........
ca240 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 29 0a 20 .........racket-logger-config)..
ca260 20 20 20 20 20 20 20 23 27 73 74 72 69 6e 67 3c 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 .......#'string<))..(defun.racke
ca280 74 2d 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 6c 65 76 65 6c 20 28 74 6f 70 69 63 20 6e 6f 74 t--logger-topic-level.(topic.not
ca2a0 2d 66 6f 75 6e 64 29 0a 20 20 22 45 66 66 65 63 74 69 76 65 6c 79 20 28 64 69 63 74 2d 72 65 66 -found)..."Effectively.(dict-ref
ca2c0 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 20 74 6f 70 69 63 20 6e 6f 74 2d .racket-logger-config.topic.not-
ca2e0 66 6f 75 6e 64 29 2e 22 0a 20 20 28 6f 72 20 28 63 64 72 20 28 61 73 73 71 20 74 6f 70 69 63 20 found)."...(or.(cdr.(assq.topic.
ca300 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 29 29 0a 20 20 20 20 20 20 6e 6f 74 racket-logger-config)).......not
ca320 2d 66 6f 75 6e 64 29 29 0a 0a 3b 3b 3b 20 63 6f 6d 6d 61 6e 64 73 0a 0a 28 64 65 66 75 6e 20 72 -found))..;;;.commands..(defun.r
ca340 61 63 6b 65 74 2d 6c 6f 67 67 65 72 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 74 68 65 20 60 72 acket-logger.()..."Create.the.`r
ca360 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 27 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 acket-logger-mode'.buffer."...(i
ca380 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 67 65 nteractive)...(racket--logger-ge
ca3a0 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 29 0a 20 20 3b 3b 20 47 69 76 65 20 69 74 20 61 20 t-buffer-create)...;;.Give.it.a.
ca3c0 77 69 6e 64 6f 77 20 69 66 20 6e 65 63 65 73 73 61 72 79 0a 20 20 28 75 6e 6c 65 73 73 20 28 67 window.if.necessary...(unless.(g
ca3e0 65 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 et-buffer-window.(racket--logger
ca400 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 0a 20 20 20 20 28 64 69 73 70 6c 61 79 2d 62 75 66 66 -buffer-name)).....(display-buff
ca420 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 62 er.(get-buffer.(racket--logger-b
ca440 75 66 66 65 72 2d 6e 61 6d 65 29 29 29 29 0a 20 20 3b 3b 20 53 65 6c 65 63 74 20 74 68 65 20 77 uffer-name))))...;;.Select.the.w
ca460 69 6e 64 6f 77 0a 20 20 28 73 65 6c 65 63 74 2d 77 69 6e 64 6f 77 20 28 67 65 74 2d 62 75 66 66 indow...(select-window.(get-buff
ca480 65 72 2d 77 69 6e 64 6f 77 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 62 75 66 66 65 72 er-window.(racket--logger-buffer
ca4a0 2d 6e 61 6d 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d -name))))..(defun.racket-logger-
ca4c0 63 6c 65 61 72 20 28 29 0a 20 20 22 43 6c 65 61 72 20 74 68 65 20 62 75 66 66 65 72 20 61 6e 64 clear.()..."Clear.the.buffer.and
ca4e0 20 72 65 63 6f 6e 6e 65 63 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 .reconnect."...(interactive)...(
ca500 77 68 65 6e 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 72 61 63 6b 65 74 2d 6c 6f 67 67 when.(eq.major-mode.'racket-logg
ca520 65 72 2d 6d 6f 64 65 29 0a 20 20 20 20 28 77 68 65 6e 20 28 79 2d 6f 72 2d 6e 2d 70 20 22 43 6c er-mode).....(when.(y-or-n-p."Cl
ca540 65 61 72 20 62 75 66 66 65 72 3f 20 22 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 6e 68 69 ear.buffer?.").......(let.((inhi
ca560 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 bit-read-only.t)).........(delet
ca580 65 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 e-region.(point-min).(point-max)
ca5a0 29 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 61 63 74 69 76 61 74 )).......(racket--logger-activat
ca5c0 65 2d 63 6f 6e 66 69 67 29 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 2d e-config))))..(defconst.racket--
ca5e0 6c 6f 67 67 65 72 2d 69 74 65 6d 2d 72 78 0a 20 20 28 72 78 20 62 6f 6c 20 3f 5c 5b 20 28 30 2b logger-item-rx...(rx.bol.?\[.(0+
ca600 20 73 70 61 63 65 29 20 28 6f 72 20 22 66 61 74 61 6c 22 20 22 65 72 72 6f 72 22 20 22 77 61 72 .space).(or."fatal"."error"."war
ca620 6e 69 6e 67 22 20 22 69 6e 66 6f 22 20 22 64 65 62 75 67 22 29 20 3f 5c 5d 20 73 70 61 63 65 29 ning"."info"."debug").?\].space)
ca640 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6e 65 78 74 2d 69 74 65 )..(defun.racket-logger-next-ite
ca660 6d 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 75 6e 74 29 0a 20 20 22 4d 6f 76 65 20 70 6f 69 6e m.(&optional.count)..."Move.poin
ca680 74 20 4e 20 69 74 65 6d 73 20 66 6f 72 77 61 72 64 2e 0a 0a 41 6e 20 5c 22 69 74 65 6d 5c 22 20 t.N.items.forward...An.\"item\".
ca6a0 69 73 20 61 20 6c 69 6e 65 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 61 20 6c 6f 67 20 6c 65 is.a.line.starting.with.a.log.le
ca6c0 76 65 6c 20 69 6e 20 62 72 61 63 6b 65 74 73 2e 0a 0a 49 6e 74 65 72 61 63 74 69 76 65 6c 79 2c vel.in.brackets...Interactively,
ca6e0 20 4e 20 69 73 20 74 68 65 20 6e 75 6d 65 72 69 63 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e .N.is.the.numeric.prefix.argumen
ca700 74 2e 0a 49 66 20 4e 20 69 73 20 6f 6d 69 74 74 65 64 20 6f 72 20 6e 69 6c 2c 20 6d 6f 76 65 20 t..If.N.is.omitted.or.nil,.move.
ca720 70 6f 69 6e 74 20 31 20 69 74 65 6d 20 66 6f 72 77 61 72 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 point.1.item.forward."...(intera
ca740 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 66 6f 72 77 61 72 64 2d 63 68 61 72 20 31 29 0a 20 20 ctive."P")...(forward-char.1)...
ca760 28 69 66 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 72 61 63 6b 65 74 2d 2d 6c (if.(re-search-forward.racket--l
ca780 6f 67 67 65 72 2d 69 74 65 6d 2d 72 78 20 6e 69 6c 20 74 20 63 6f 75 6e 74 29 0a 20 20 20 20 20 ogger-item-rx.nil.t.count)......
ca7a0 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 28 62 61 63 6b 77 61 .(beginning-of-line).....(backwa
ca7c0 72 64 2d 63 68 61 72 20 31 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 6c 6f 67 67 rd-char.1)))..(defun.racket-logg
ca7e0 65 72 2d 70 72 65 76 69 6f 75 73 2d 69 74 65 6d 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 75 6e er-previous-item.(&optional.coun
ca800 74 29 0a 20 20 22 4d 6f 76 65 20 70 6f 69 6e 74 20 4e 20 69 74 65 6d 73 20 62 61 63 6b 77 61 72 t)..."Move.point.N.items.backwar
ca820 64 2e 0a 0a 41 6e 20 5c 22 69 74 65 6d 5c 22 20 69 73 20 61 20 6c 69 6e 65 20 73 74 61 72 74 69 d...An.\"item\".is.a.line.starti
ca840 6e 67 20 77 69 74 68 20 61 20 6c 6f 67 20 6c 65 76 65 6c 20 69 6e 20 62 72 61 63 6b 65 74 73 2e ng.with.a.log.level.in.brackets.
ca860 0a 0a 49 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 4e 20 69 73 20 74 68 65 20 6e 75 6d 65 72 69 ..Interactively,.N.is.the.numeri
ca880 63 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 2e 0a 49 66 20 4e 20 69 73 20 6f 6d 69 74 74 c.prefix.argument..If.N.is.omitt
ca8a0 65 64 20 6f 72 20 6e 69 6c 2c 20 6d 6f 76 65 20 70 6f 69 6e 74 20 31 20 69 74 65 6d 20 62 61 63 ed.or.nil,.move.point.1.item.bac
ca8c0 6b 77 61 72 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 72 kward."...(interactive."P")...(r
ca8e0 65 2d 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 20 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 e-search-backward.racket--logger
ca900 2d 69 74 65 6d 2d 72 78 20 6e 69 6c 20 74 20 63 6f 75 6e 74 29 29 0a 0a 28 64 65 66 75 6e 20 72 -item-rx.nil.t.count))..(defun.r
ca920 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 6c 65 76 65 6c 20 28 29 0a 20 20 22 53 acket-logger-topic-level.()..."S
ca940 65 74 20 6f 72 20 75 6e 73 65 74 20 74 68 65 20 6c 65 76 65 6c 20 66 6f 72 20 61 20 74 6f 70 69 et.or.unset.the.level.for.a.topi
ca960 63 2e 0a 0a 54 68 65 20 74 6f 70 69 63 20 6c 61 62 65 6c 65 64 20 5c 22 2a 5c 22 20 69 73 20 74 c...The.topic.labeled.\"*\".is.t
ca980 68 65 20 6c 65 76 65 6c 20 74 6f 20 75 73 65 20 66 6f 72 20 61 6c 6c 20 74 6f 70 69 63 73 20 6e he.level.to.use.for.all.topics.n
ca9a0 6f 74 0a 73 70 65 63 69 66 69 63 61 6c 6c 79 20 61 73 73 69 67 6e 65 64 20 61 20 6c 65 76 65 6c ot.specifically.assigned.a.level
ca9c0 2e 0a 0a 54 68 65 20 6c 65 76 65 6c 20 63 68 6f 69 63 65 20 5c 22 2a 5c 22 20 6d 65 61 6e 73 20 ...The.level.choice.\"*\".means.
ca9e0 74 68 65 20 74 6f 70 69 63 20 77 69 6c 6c 20 6e 6f 20 6c 6f 6e 67 65 72 20 68 61 76 65 20 69 74 the.topic.will.no.longer.have.it
caa00 73 0a 6f 77 6e 20 6c 65 76 65 6c 2c 20 74 68 65 72 65 66 6f 72 65 20 77 69 6c 6c 20 66 6f 6c 6c s.own.level,.therefore.will.foll
caa20 6f 77 20 74 68 65 20 6c 65 76 65 6c 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 20 74 68 65 0a 5c ow.the.level.specified.for.the.\
caa40 22 2a 5c 22 20 74 6f 70 69 63 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 "*\".topic."...(interactive)...(
caa60 6c 65 74 2a 20 28 28 74 6f 70 69 63 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 0a 20 let*.((topic..(completing-read..
caa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 54 6f 70 69 63 3a 20 22 0a 20 20 20 20 20 ................."Topic:."......
caaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 74 6f 70 .............(racket--logger-top
caac0 69 63 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 6f 70 69 63 20 20 28 70 63 61 73 65 20 74 ics)))..........(topic..(pcase.t
caae0 6f 70 69 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 22 20 22 2a 22 29 opic....................(""."*")
cab00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 20 20 76 29 29 29 0a 20 20 20 ....................(v..v)))....
cab20 20 20 20 20 20 20 28 74 6f 70 69 63 20 20 28 69 6e 74 65 72 6e 20 74 6f 70 69 63 29 29 0a 20 20 ......(topic..(intern.topic))...
cab40 20 20 20 20 20 20 20 28 6c 65 76 65 6c 73 20 28 6c 69 73 74 20 22 66 61 74 61 6c 22 20 22 65 72 .......(levels.(list."fatal"."er
cab60 72 6f 72 22 20 22 77 61 72 6e 69 6e 67 22 20 22 69 6e 66 6f 22 20 22 64 65 62 75 67 22 29 29 0a ror"."warning"."info"."debug")).
cab80 20 20 20 20 20 20 20 20 20 28 6c 65 76 65 6c 73 20 28 69 66 20 28 65 71 20 74 6f 70 69 63 20 27 .........(levels.(if.(eq.topic.'
caba0 2a 29 20 6c 65 76 65 6c 73 20 28 63 6f 6e 73 20 22 2a 22 20 6c 65 76 65 6c 73 29 29 29 0a 20 20 *).levels.(cons."*".levels)))...
cabc0 20 20 20 20 20 20 20 28 6c 65 76 65 6c 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 0a .......(level..(completing-read.
cabe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 4c 65 76 65 6c ..................(format."Level
cac00 20 66 6f 72 20 74 6f 70 69 63 20 60 25 73 27 3a 20 22 20 74 6f 70 69 63 29 0a 20 20 20 20 20 20 .for.topic.`%s':.".topic).......
cac20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 76 65 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ............levels..............
cac40 20 20 20 20 20 6e 69 6c 20 74 20 6e 69 6c 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .....nil.t.nil.nil..............
cac60 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 .....(format."%s".(racket--logge
cac80 72 2d 74 6f 70 69 63 2d 6c 65 76 65 6c 20 74 6f 70 69 63 20 22 2a 22 29 29 29 29 0a 20 20 20 20 r-topic-level.topic."*")))).....
caca0 20 20 20 20 20 28 6c 65 76 65 6c 20 20 28 70 63 61 73 65 20 6c 65 76 65 6c 0a 20 20 20 20 20 20 .....(level..(pcase.level.......
cacc0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 22 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 .............(""..nil)..........
cace0 20 20 20 20 20 20 20 20 20 20 28 22 2a 22 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..........("*".nil).............
cad00 20 20 20 20 20 20 20 28 76 20 20 20 28 69 6e 74 65 72 6e 20 76 29 29 29 29 29 0a 20 20 20 20 28 .......(v...(intern.v))))).....(
cad20 69 66 20 6c 65 76 65 6c 0a 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 if.level.........(racket--logger
cad40 2d 73 65 74 20 74 6f 70 69 63 20 6c 65 76 65 6c 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d -set.topic.level).......(racket-
cad60 2d 6c 6f 67 67 65 72 2d 75 6e 73 65 74 20 74 6f 70 69 63 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 -logger-unset.topic))))..(provid
cad80 65 20 27 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 29 0a 0a 3b 3b 3b 20 72 61 63 6b 65 74 2d 6c 6f e.'racket-logger)..;;;.racket-lo
cada0 67 67 65 72 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 gger.el.ends.here...............
cadc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cade0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cae00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
cae20 54 48 41 4e 4b 53 2e 6f 72 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 THANKS.org......................
cae40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cae60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
cae80 30 30 30 31 34 33 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 33 34 37 00 20 30 00 00 00 0001432.00000000000.015347..0...
caea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
caec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
caee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
caf00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
caf20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
caf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
caf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
caf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cafa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cafc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cafe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb000 2a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 0a 54 68 61 6e 6b 73 20 74 6f 20 65 76 65 72 79 6f *.Contributors..Thanks.to.everyo
cb020 6e 65 20 77 68 6f 20 68 61 73 20 63 6f 6e 74 72 69 62 75 74 65 64 20 5b 5b 68 74 74 70 73 3a 2f ne.who.has.contributed.[[https:/
cb040 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b /github.com/greghendershott/rack
cb060 65 74 2d 6d 6f 64 65 2f 67 72 61 70 68 73 2f 63 6f 6e 74 72 69 62 75 74 6f 72 73 5d 5b 70 75 6c et-mode/graphs/contributors][pul
cb080 6c 20 72 65 71 75 65 73 74 73 5d 5d 20 61 6e 64 20 5b 5b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 l.requests]].and.[[https://githu
cb0a0 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 b.com/greghendershott/racket-mod
cb0c0 65 2f 69 73 73 75 65 73 3f 75 74 66 38 25 33 44 25 32 35 45 32 25 32 35 39 43 25 32 35 39 33 26 e/issues?utf8%3D%25E2%259C%2593&
cb0e0 71 25 33 44 69 73 25 32 35 33 41 69 73 73 75 65 5d 5b 69 73 73 75 65 73 5d 5d 2e 0a 0a 2a 2a 20 q%3Dis%253Aissue][issues]]...**.
cb100 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 0a 0a 2d 20 54 68 65 20 65 78 69 73 74 69 6e 67 Acknowledgements..-.The.existing
cb120 20 45 6d 61 63 73 20 53 63 68 65 6d 65 20 6d 6f 64 65 20 61 6e 64 20 49 6e 66 65 72 69 6f 72 20 .Emacs.Scheme.mode.and.Inferior.
cb140 53 63 68 65 6d 65 20 6d 6f 64 65 2e 0a 0a 2d 20 54 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 Scheme.mode...-.The.source.code.
cb160 66 6f 72 20 66 6f 72 20 5b 5b 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 65 69 6c 76 61 6e 64 79 6b 65 for.for.[[http://www.neilvandyke
cb180 2e 6f 72 67 2f 71 75 61 63 6b 2f 5d 5b 51 75 61 63 6b 5d 5d 20 62 79 20 4e 65 69 6c 20 56 61 6e .org/quack/][Quack]].by.Neil.Van
cb1a0 20 44 79 6b 65 20 70 72 6f 76 69 64 65 64 20 61 20 6d 6f 64 65 6c 20 66 6f 72 0a 20 20 6d 61 6e .Dyke.provided.a.model.for...man
cb1c0 79 20 6f 66 20 74 68 65 20 73 63 68 65 6d 65 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 y.of.the.scheme-indent-function.
cb1e0 73 65 74 74 69 6e 67 73 2c 20 73 6d 61 72 74 20 70 61 72 65 6e 20 63 6c 6f 73 69 6e 67 2c 0a 20 settings,.smart.paren.closing,..
cb200 20 61 6e 64 20 70 72 65 74 74 79 20 6c 61 6d 62 64 61 2e 0a 0a 2d 20 54 68 65 20 73 6f 75 72 63 .and.pretty.lambda...-.The.sourc
cb220 65 20 63 6f 64 65 20 66 6f 72 20 5b 5b 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f e.code.for.[[http://www.nongnu.o
cb240 72 67 2f 67 65 69 73 65 72 2f 5d 5b 47 65 69 73 65 72 5d 5d 20 62 79 20 4a 6f 73 65 20 41 2e 20 rg/geiser/][Geiser]].by.Jose.A..
cb260 4f 72 74 65 67 61 20 52 75 69 7a 20 68 65 6c 70 65 64 20 6d 65 0a 20 20 75 6e 64 65 72 73 74 61 Ortega.Ruiz.helped.me...understa
cb280 6e 64 20 68 6f 77 20 74 6f 20 73 75 70 70 6f 72 74 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 61 6e nd.how.to.support.completions.an
cb2a0 64 20 65 73 70 65 63 69 61 6c 6c 79 20 63 6f 6d 70 61 6e 79 2d 6d 6f 64 65 2e 0a 20 20 49 6e 20 d.especially.company-mode....In.
cb2c0 61 64 64 69 74 69 6f 6e 2c 20 49 20 77 61 73 20 61 62 6c 65 20 74 6f 20 6d 61 6b 65 20 68 65 61 addition,.I.was.able.to.make.hea
cb2e0 76 79 20 75 73 65 20 6f 66 20 61 20 70 75 6c 6c 20 72 65 71 75 65 73 74 20 74 6f 0a 20 20 64 69 vy.use.of.a.pull.request.to...di
cb300 73 70 6c 61 79 20 69 6d 61 67 65 73 20 69 6e 20 74 68 65 20 52 45 50 4c 2e 0a 00 00 00 00 00 00 splay.images.in.the.REPL........
cb320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb400 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
cb420 64 6f 63 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 doc/............................
cb440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb460 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
cb480 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 34 31 33 00 20 35 00 00 00 0000000.00000000000.014413..5...
cb4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
cb520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
cb540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb600 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
cb620 64 6f 63 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 74 65 78 69 00 00 00 00 00 00 00 00 00 00 00 00 doc/racket-mode.texi............
cb640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
cb680 30 33 37 34 30 30 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 35 31 32 00 20 30 00 00 00 0374005.00000000000.017512..0...
cb6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
cb720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
cb740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb800 5c 69 6e 70 75 74 20 74 65 78 69 6e 66 6f 20 20 20 20 40 63 20 2d 2a 2d 20 74 65 78 69 6e 66 6f \input.texinfo....@c.-*-.texinfo
cb820 20 2d 2a 2d 0a 40 63 20 25 2a 2a 73 74 61 72 74 20 6f 66 20 68 65 61 64 65 72 0a 40 73 65 74 66 .-*-.@c.%**start.of.header.@setf
cb840 69 6c 65 6e 61 6d 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 69 6e 66 6f 0a 40 73 65 74 74 69 74 ilename.racket-mode.info.@settit
cb860 6c 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 0a 40 64 6f 63 75 6d 65 6e 74 65 6e 63 6f 64 69 6e 67 le.Racket.Mode.@documentencoding
cb880 20 55 54 46 2d 38 0a 40 64 6f 63 75 6d 65 6e 74 6c 61 6e 67 75 61 67 65 20 65 6e 0a 40 73 79 6e .UTF-8.@documentlanguage.en.@syn
cb8a0 63 6f 64 65 69 6e 64 65 78 20 70 67 20 63 70 0a 40 63 20 25 2a 2a 65 6e 64 20 6f 66 20 68 65 61 codeindex.pg.cp.@c.%**end.of.hea
cb8c0 64 65 72 0a 0a 40 63 6f 70 79 69 6e 67 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 33 der..@copying.Copyright.(C).2013
cb8e0 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 0a 53 50 44 58 -2022.by.Greg.Hendershott...SPDX
cb900 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d -License-Identifier:.GPL-3.0-or-
cb920 6c 61 74 65 72 0a 40 65 6e 64 20 63 6f 70 79 69 6e 67 0a 0a 40 64 69 72 63 61 74 65 67 6f 72 79 later.@end.copying..@dircategory
cb940 20 45 6d 61 63 73 0a 40 64 69 72 65 6e 74 72 79 0a 2a 20 52 61 63 6b 65 74 20 4d 6f 64 65 3a 20 .Emacs.@direntry.*.Racket.Mode:.
cb960 28 72 61 63 6b 65 74 2d 6d 6f 64 65 29 2e 20 45 64 69 74 20 61 6e 64 20 52 45 50 4c 20 6d 61 6a (racket-mode)..Edit.and.REPL.maj
cb980 6f 72 20 6d 6f 64 65 73 20 66 6f 72 20 52 61 63 6b 65 74 20 6c 61 6e 67 2e 0a 40 65 6e 64 20 64 or.modes.for.Racket.lang..@end.d
cb9a0 69 72 65 6e 74 72 79 0a 0a 40 66 69 6e 61 6c 6f 75 74 0a 40 74 69 74 6c 65 70 61 67 65 0a 40 74 irentry..@finalout.@titlepage.@t
cb9c0 69 74 6c 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 0a 40 61 75 74 68 6f 72 20 47 72 65 67 20 48 65 itle.Racket.Mode.@author.Greg.He
cb9e0 6e 64 65 72 73 68 6f 74 74 20 28 40 65 6d 61 69 6c 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 61 75 ndershott.(@email{racket-mode-au
cba00 74 68 6f 72 40 40 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2e 63 6f 6d 7d 29 0a 40 70 61 67 thor@@greghendershott.com}).@pag
cba20 65 0a 40 76 73 6b 69 70 20 30 70 74 20 70 6c 75 73 20 31 66 69 6c 6c 6c 0a 40 69 6e 73 65 72 74 e.@vskip.0pt.plus.1filll.@insert
cba40 63 6f 70 79 69 6e 67 0a 40 65 6e 64 20 74 69 74 6c 65 70 61 67 65 0a 0a 40 63 6f 6e 74 65 6e 74 copying.@end.titlepage..@content
cba60 73 0a 0a 40 69 66 6e 6f 74 74 65 78 0a 40 6e 6f 64 65 20 54 6f 70 0a 40 74 6f 70 20 52 61 63 6b s..@ifnottex.@node.Top.@top.Rack
cba80 65 74 20 4d 6f 64 65 0a 40 65 6e 64 20 69 66 6e 6f 74 74 65 78 0a 0a 40 6d 65 6e 75 0a 2a 20 49 et.Mode.@end.ifnottex..@menu.*.I
cbaa0 6e 74 72 6f 64 75 63 74 69 6f 6e 3a 3a 0a 2a 20 49 6e 73 74 61 6c 6c 2c 20 55 70 64 61 74 65 2c ntroduction::.*.Install,.Update,
cbac0 20 61 6e 64 20 55 6e 69 6e 73 74 61 6c 6c 3a 20 49 6e 73 74 61 6c 6c 20 55 70 64 61 74 65 20 61 .and.Uninstall:.Install.Update.a
cbae0 6e 64 20 55 6e 69 6e 73 74 61 6c 6c 2e 20 0a 2a 20 43 6f 6e 66 69 67 75 72 65 3a 3a 0a 2a 20 41 nd.Uninstall...*.Configure::.*.A
cbb00 72 63 68 69 74 65 63 74 75 72 65 3a 3a 0a 2a 20 52 65 66 65 72 65 6e 63 65 3a 3a 0a 2a 20 43 6f rchitecture::.*.Reference::.*.Co
cbb20 6d 6d 61 6e 64 73 3a 3a 0a 2a 20 56 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 43 6f 6e 66 69 67 75 mmands::.*.Variables::.*.Configu
cbb40 72 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 3a 3a 0a 2a 20 46 61 63 65 73 3a 3a 0a 0a 40 64 ration.functions::.*.Faces::..@d
cbb60 65 74 61 69 6c 6d 65 6e 75 0a 2d 2d 2d 20 54 68 65 20 44 65 74 61 69 6c 65 64 20 4e 6f 64 65 20 etailmenu.---.The.Detailed.Node.
cbb80 4c 69 73 74 69 6e 67 20 2d 2d 2d 0a 0a 49 6e 73 74 61 6c 6c 2c 20 55 70 64 61 74 65 2c 20 61 6e Listing.---..Install,.Update,.an
cbba0 64 20 55 6e 69 6e 73 74 61 6c 6c 0a 0a 2a 20 55 73 65 20 45 6d 61 63 73 20 32 38 2e 31 20 6f 72 d.Uninstall..*.Use.Emacs.28.1.or
cbbc0 20 6e 65 77 65 72 20 77 69 74 68 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 3a 20 55 73 65 20 45 6d 61 .newer.with.NonGNU.ELPA:.Use.Ema
cbbe0 63 73 20 32 38 31 20 6f 72 20 6e 65 77 65 72 20 77 69 74 68 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 cs.281.or.newer.with.NonGNU.ELPA
cbc00 2e 20 0a 2a 20 43 6f 6e 66 69 67 75 72 65 20 45 6d 61 63 73 20 74 6f 20 75 73 65 20 4d 45 4c 50 ...*.Configure.Emacs.to.use.MELP
cbc20 41 3a 3a 0a 2a 20 49 6e 73 74 61 6c 6c 3a 3a 0a 2a 20 4d 69 6e 69 6d 61 6c 20 52 61 63 6b 65 74 A::.*.Install::.*.Minimal.Racket
cbc40 3a 3a 0a 2a 20 55 6e 69 6e 73 74 61 6c 6c 3a 3a 0a 2a 20 55 70 64 61 74 65 3a 3a 0a 0a 55 70 64 ::.*.Uninstall::.*.Update::..Upd
cbc60 61 74 65 0a 0a 2a 20 55 70 67 72 61 64 69 6e 67 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 3a 3a 0a ate..*.Upgrading.all.packages::.
cbc80 2a 20 55 70 64 61 74 69 6e 67 20 6a 75 73 74 20 52 61 63 6b 65 74 20 4d 6f 64 65 3a 3a 0a 0a 43 *.Updating.just.Racket.Mode::..C
cbca0 6f 6e 66 69 67 75 72 65 0a 0a 2a 20 57 68 69 63 68 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 74 6f 20 onfigure..*.Which.major.mode.to.
cbcc0 75 73 65 3a 3a 0a 2a 20 4b 65 79 20 62 69 6e 64 69 6e 67 73 3a 3a 0a 2a 20 46 6f 6e 74 2d 6c 6f use::.*.Key.bindings::.*.Font-lo
cbce0 63 6b 20 28 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 29 3a 3a 0a 2a 20 43 6f 6d ck.(syntax.highlighting)::.*.Com
cbd00 70 6c 65 74 69 6f 6e 20 61 74 20 70 6f 69 6e 74 3a 3a 0a 2a 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 pletion.at.point::.*.Completion.
cbd20 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 3a 3a 0a 2a 20 58 72 65 66 20 28 64 65 66 69 6e 69 74 69 in.minibuffer::.*.Xref.(definiti
cbd40 6f 6e 73 20 61 6e 64 20 72 65 66 65 72 65 6e 63 65 73 29 3a 3a 0a 2a 20 49 6e 64 65 6e 74 3a 3a ons.and.references)::.*.Indent::
cbd60 0a 2a 20 70 61 72 65 64 69 74 3a 3a 0a 2a 20 73 6d 61 72 74 70 61 72 65 6e 73 3a 3a 0a 2a 20 41 .*.paredit::.*.smartparens::.*.A
cbd80 70 70 65 61 72 61 6e 63 65 20 6f 66 20 70 61 72 65 6e 74 68 65 73 65 73 3a 3a 0a 2a 20 45 64 69 ppearance.of.parentheses::.*.Edi
cbda0 74 20 62 75 66 66 65 72 73 20 61 6e 64 20 52 45 50 4c 20 62 75 66 66 65 72 73 3a 3a 0a 2a 20 65 t.buffers.and.REPL.buffers::.*.e
cbdc0 6c 64 6f 63 3a 3a 0a 2a 20 53 74 61 72 74 20 66 61 73 74 65 72 3a 3a 0a 2a 20 55 6e 69 63 6f 64 ldoc::.*.Start.faster::.*.Unicod
cbde0 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 3a 3a 0a 2a 20 4c 69 67 61 74 75 72 65 73 3a 3a 0a 0a e.input.method::.*.Ligatures::..
cbe00 43 6f 6d 6d 61 6e 64 73 0a 0a 2a 20 45 64 69 74 3a 3a 0a 2a 20 48 61 73 68 20 4c 61 6e 67 73 3a Commands..*.Edit::.*.Hash.Langs:
cbe20 3a 0a 2a 20 45 78 70 6c 6f 72 65 3a 3a 0a 2a 20 52 75 6e 3a 3a 0a 2a 20 54 65 73 74 3a 3a 0a 2a :.*.Explore::.*.Run::.*.Test::.*
cbe40 20 45 76 61 6c 3a 3a 0a 2a 20 43 6f 6c 6c 65 63 74 69 6f 6e 73 3a 3a 0a 2a 20 4d 61 63 72 6f 20 .Eval::.*.Collections::.*.Macro.
cbe60 65 78 70 61 6e 64 3a 3a 0a 2a 20 4f 74 68 65 72 3a 3a 0a 0a 45 64 69 74 0a 0a 2a 20 72 61 63 6b expand::.*.Other::..Edit..*.rack
cbe80 65 74 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 et-mode::.*.racket-insert-lambda
cbea0 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 3a 3a 0a 2a 20 72 ::.*.racket-fold-all-tests::.*.r
cbec0 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 3a 3a 0a 2a 20 72 61 63 6b 65 acket-unfold-all-tests::.*.racke
cbee0 74 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 74 72 69 6d 2d t-tidy-requires::.*.racket-trim-
cbf00 72 65 71 75 69 72 65 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 requires::.*.racket-base-require
cbf20 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 61 64 64 2d 72 65 71 75 69 72 65 2d 66 6f 72 2d 69 64 65 s::.*.racket-add-require-for-ide
cbf40 6e 74 69 66 69 65 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 3a 3a ntifier::.*.racket-indent-line::
cbf60 0a 2a 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 .*.racket-smart-open-bracket-mod
cbf80 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 3a 3a 0a 2a 20 e::.*.racket-insert-closing::.*.
cbfa0 72 61 63 6b 65 74 2d 63 79 63 6c 65 2d 70 61 72 65 6e 2d 73 68 61 70 65 73 3a 3a 0a 2a 20 72 61 racket-cycle-paren-shapes::.*.ra
cbfc0 63 6b 65 74 2d 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 cket-backward-up-list::.*.racket
cbfe0 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 3a 3a 0a 2a -unicode-input-method-enable::.*
cc000 20 72 61 63 6b 65 74 2d 61 6c 69 67 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 75 6e 61 6c 69 67 6e .racket-align::.*.racket-unalign
cc020 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 3a 3a 0a ::.*.racket-complete-at-point::.
cc040 0a 48 61 73 68 20 4c 61 6e 67 73 0a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d .Hash.Langs..*.racket-hash-lang-
cc060 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 mode::.*.racket-hash-lang-backwa
cc080 72 64 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 66 6f 72 77 61 72 64 3a rd::.*.racket-hash-lang-forward:
cc0a0 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 75 70 3a 3a 0a 2a 20 72 61 63 6b :.*.racket-hash-lang-up::.*.rack
cc0c0 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 6f 77 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 et-hash-lang-down::.*.racket-has
cc0e0 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d 64 77 69 6d 3a 3a 0a 0a 45 78 70 6c 6f 72 65 0a 0a 2a 20 h-lang-C-M-q-dwim::..Explore..*.
cc100 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 racket-xp-mode::.*.racket-xp-des
cc120 63 72 69 62 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f cribe::.*.racket-xp-documentatio
cc140 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 64 65 66 69 6e 69 74 69 6f 6e 3a n::.*.racket-xp-next-definition:
cc160 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 64 65 66 69 6e 69 74 69 6f :.*.racket-xp-previous-definitio
cc180 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 75 73 65 3a 3a 0a 2a 20 72 61 63 n::.*.racket-xp-next-use::.*.rac
cc1a0 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 75 73 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 ket-xp-previous-use::.*.racket-x
cc1c0 70 2d 6e 65 78 74 2d 65 72 72 6f 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 p-next-error::.*.racket-xp-previ
cc1e0 6f 75 73 2d 65 72 72 6f 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 3a ous-error::.*.racket-xp-tail-up:
cc200 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 64 6f 77 6e 3a 3a 0a 2a 20 72 61 63 6b :.*.racket-xp-tail-down::.*.rack
cc220 65 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 62 6c 69 6e 67 3a 3a 0a 2a 20 72 61 63 6b et-xp-tail-next-sibling::.*.rack
cc240 65 74 2d 78 70 2d 74 61 69 6c 2d 70 72 65 76 69 6f 75 73 2d 73 69 62 6c 69 6e 67 3a 3a 0a 2a 20 et-xp-tail-previous-sibling::.*.
cc260 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 3a 3a 0a 2a 20 racket-documentation-search::.*.
cc280 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 3a 3a 0a 0a 52 75 6e 0a 0a 2a racket-describe-search::..Run..*
cc2a0 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 75 6e .racket-repl-mode::.*.racket-run
cc2c0 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 ::.*.racket-run-and-switch-to-re
cc2e0 70 6c 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e pl::.*.racket-run-module-at-poin
cc300 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 t::.*.racket-repl::.*.racket-rep
cc320 6c 2d 64 65 73 63 72 69 62 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d l-describe::.*.racket-repl-docum
cc340 65 6e 74 61 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 61 63 6b 65 74 3a 3a 0a 2a 20 72 entation::.*.racket-racket::.*.r
cc360 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 acket-profile::.*.racket-profile
cc380 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 3a 3a 0a 2a 20 72 61 63 6b -mode::.*.racket-logger::.*.rack
cc3a0 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d et-logger-mode::.*.racket-debug-
cc3c0 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 3a 3a 0a 2a 20 72 mode::.*.racket-repl-clear::.*.r
cc3e0 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d 6c 65 61 76 69 6e 67 2d 6c 61 73 74 2d 70 72 acket-repl-clear-leaving-last-pr
cc400 6f 6d 70 74 3a 3a 0a 0a 54 65 73 74 0a 0a 2a 20 72 61 63 6b 65 74 2d 74 65 73 74 3a 3a 0a 2a 20 ompt::..Test..*.racket-test::.*.
cc420 72 61 63 6b 65 74 2d 72 61 63 6f 2d 74 65 73 74 3a 3a 0a 0a 45 76 61 6c 0a 0a 2a 20 72 61 63 6b racket-raco-test::..Eval..*.rack
cc440 65 74 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 64 et-send-region::.*.racket-send-d
cc460 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 74 2d 73 efinition::.*.racket-send-last-s
cc480 65 78 70 3a 3a 0a 0a 43 6f 6c 6c 65 63 74 69 6f 6e 73 0a 0a 2a 20 72 61 63 6b 65 74 2d 6f 70 65 exp::..Collections..*.racket-ope
cc4a0 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 3a 3a 0a 0a 4d 61 63 72 6f 20 65 78 70 61 6e 64 0a 0a n-require-path::..Macro.expand..
cc4c0 2a 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 *.racket-stepper-mode::.*.racket
cc4e0 2d 65 78 70 61 6e 64 2d 66 69 6c 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 -expand-file::.*.racket-expand-r
cc500 65 67 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 egion::.*.racket-expand-definiti
cc520 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 3a 3a on::.*.racket-expand-last-sexp::
cc540 0a 0a 4f 74 68 65 72 0a 0a 2a 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 6f 67 67 6c 65 2d 62 ..Other..*.racket-debug-toggle-b
cc560 72 65 61 6b 70 6f 69 6e 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d reakpoint::.*.racket-mode-start-
cc580 66 61 73 74 65 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 73 6c 6f faster::.*.racket-mode-start-slo
cc5a0 77 65 72 3a 3a 0a 0a 56 61 72 69 61 62 6c 65 73 0a 0a 2a 20 47 65 6e 65 72 61 6c 20 76 61 72 69 wer::..Variables..*.General.vari
cc5c0 61 62 6c 65 73 3a 3a 0a 2a 20 48 61 73 68 20 6c 61 6e 67 20 76 61 72 69 61 62 6c 65 73 3a 3a 0a ables::.*.Hash.lang.variables::.
cc5e0 2a 20 52 45 50 4c 20 76 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 4f 74 68 65 72 20 76 61 72 69 61 *.REPL.variables::.*.Other.varia
cc600 62 6c 65 73 3a 3a 0a 2a 20 45 78 70 65 72 69 6d 65 6e 74 61 6c 20 64 65 62 75 67 67 65 72 20 76 bles::.*.Experimental.debugger.v
cc620 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e ariables::.*.Showing.information
cc640 3a 3a 0a 2a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d ::.*.Running.racket.and.raco.com
cc660 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 3a 3a 0a 0a mands.in.a.shell.or.terminal::..
cc680 47 65 6e 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 6f 67 General.variables..*.racket-prog
cc6a0 72 61 6d 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 63 6f 6d 6d 61 6e 64 2d 74 69 6d 65 6f 75 74 3a 3a ram::.*.racket-command-timeout::
cc6c0 0a 2a 20 72 61 63 6b 65 74 2d 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 3a 3a 0a 2a 20 72 61 63 6b 65 .*.racket-memory-limit::.*.racke
cc6e0 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 75 73 65 72 2d t-error-context::.*.racket-user-
cc700 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 3a 3a 0a 2a 20 72 61 63 6b 65 command-line-arguments::.*.racke
cc720 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 t-browse-url-function::.*.racket
cc740 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 3a 3a -xp-after-change-refresh-delay::
cc760 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 68 69 67 68 6c 69 67 68 74 2d 75 6e 75 73 65 64 2d 72 65 .*.racket-xp-highlight-unused-re
cc780 67 65 78 70 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 gexp::.*.racket-xp-add-binding-f
cc7a0 61 63 65 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 aces::.*.racket-documentation-se
cc7c0 61 72 63 68 2d 6c 6f 63 61 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d arch-location::.*.racket-expand-
cc7e0 68 69 64 69 6e 67 3a 3a 0a 0a 48 61 73 68 20 6c 61 6e 67 20 76 61 72 69 61 62 6c 65 73 0a 0a 2a hiding::..Hash.lang.variables..*
cc800 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 74 6f 6b 65 6e 2d 66 61 63 65 2d 61 6c 69 .racket-hash-lang-token-face-ali
cc820 73 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 3a 3a 0a st::.*.racket-hash-lang-pairs::.
cc840 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 *.racket-hash-lang-module-langua
cc860 67 65 2d 68 6f 6f 6b 3a 3a 0a 0a 52 45 50 4c 20 76 61 72 69 61 62 6c 65 73 0a 0a 2a 20 72 61 63 ge-hook::..REPL.variables..*.rac
cc880 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 3a 3a 0a ket-repl-buffer-name-function::.
cc8a0 2a 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 74 6f 2d 72 75 6e 3a 3a 0a 2a 20 72 *.racket-submodules-to-run::.*.r
cc8c0 61 63 6b 65 74 2d 72 65 70 6c 2d 68 69 73 74 6f 72 79 2d 64 69 72 65 63 74 6f 72 79 3a 3a 0a 2a acket-repl-history-directory::.*
cc8e0 20 72 61 63 6b 65 74 2d 68 69 73 74 6f 72 79 2d 66 69 6c 74 65 72 2d 72 65 67 65 78 70 3a 3a 0a .racket-history-filter-regexp::.
cc900 2a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 69 6e 6c 69 6e 65 3a 3a 0a 2a 20 72 61 63 6b 65 *.racket-images-inline::.*.racke
cc920 74 2d 69 6d 61 67 65 6d 61 67 69 63 6b 2d 70 72 6f 70 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 t-imagemagick-props::.*.racket-i
cc940 6d 61 67 65 73 2d 6b 65 65 70 2d 6c 61 73 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 mages-keep-last::.*.racket-image
cc960 73 2d 73 79 73 74 65 6d 2d 76 69 65 77 65 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 65 74 74 s-system-viewer::.*.racket-prett
cc980 79 2d 70 72 69 6e 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 6d 61 6e 64 2d y-print::.*.racket-repl-command-
cc9a0 66 69 6c 65 3a 3a 0a 0a 4f 74 68 65 72 20 76 61 72 69 61 62 6c 65 73 0a 0a 2a 20 72 61 63 6b 65 file::..Other.variables..*.racke
cc9c0 74 2d 69 6e 64 65 6e 74 2d 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 65 3a 3a 0a 2a 20 72 t-indent-curly-as-sequence::.*.r
cc9e0 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 3a 3a 0a 2a 20 acket-indent-sequence-depth::.*.
cca00 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 6c 61 6d 62 64 61 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d racket-pretty-lambda::.*.racket-
cca20 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 65 6e 61 62 6c 65 3a 3a 0a 2a 20 72 61 smart-open-bracket-enable::.*.ra
cca40 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 62 65 cket-logger-config::.*.racket-be
cca60 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 61 66 74 65 72 2d 72 fore-run-hook::.*.racket-after-r
cca80 75 6e 2d 68 6f 6f 6b 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d un-hook::.*.racket-sexp-comment-
ccaa0 66 61 64 65 3a 3a 0a 0a 45 78 70 65 72 69 6d 65 6e 74 61 6c 20 64 65 62 75 67 67 65 72 20 76 61 fade::..Experimental.debugger.va
ccac0 72 69 61 62 6c 65 73 0a 0a 2a 20 72 61 63 6b 65 74 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c riables..*.racket-debuggable-fil
ccae0 65 73 3a 3a 0a 0a 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a 2a 20 72 61 63 es::..Showing.information..*.rac
ccb00 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 3a 3a 0a 0a 52 75 6e 6e 69 6e 67 20 72 61 ket-show-functions::..Running.ra
ccb20 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c cket.and.raco.commands.in.a.shel
ccb40 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 0a 0a 2a 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 l.or.terminal..*.racket-shell-or
ccb60 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 3a 3a 0a 0a 43 6f 6e 66 69 67 75 72 61 74 -terminal-function::..Configurat
ccb80 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 0a 0a 2a 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 ion.functions..*.Showing.informa
ccba0 74 69 6f 6e 3a 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 28 31 29 2e 20 0a tion:.Showing.information.(1)...
ccbc0 2a 20 41 73 73 6f 63 69 61 74 69 6e 67 20 65 64 69 74 20 62 75 66 66 65 72 73 20 77 69 74 68 20 *.Associating.edit.buffers.with.
ccbe0 52 45 50 4c 20 62 75 66 66 65 72 73 3a 3a 0a 2a 20 42 72 6f 77 73 69 6e 67 20 66 69 6c 65 20 55 REPL.buffers::.*.Browsing.file.U
ccc00 52 4c 73 20 77 69 74 68 20 61 6e 63 68 6f 72 73 3a 3a 0a 2a 20 43 6f 6e 66 69 67 75 72 69 6e 67 RLs.with.anchors::.*.Configuring
ccc20 20 62 61 63 6b 20 65 6e 64 73 3a 3a 0a 2a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e .back.ends::.*.Running.racket.an
ccc40 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 d.raco.commands.in.a.shell.or.te
ccc60 72 6d 69 6e 61 6c 3a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 rminal:.Running.racket.and.raco.
ccc80 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 commands.in.a.shell.or.terminal.
ccca0 28 31 29 2e 20 0a 0a 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a 2a 20 72 61 (1)....Showing.information..*.ra
cccc0 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 3a 3a 0a 2a 20 72 61 63 cket-show-pseudo-tooltip::.*.rac
ccce0 6b 65 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 61 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 68 ket-show-echo-area::.*.racket-sh
ccd00 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 ow-header-line::.*.racket-show-p
ccd20 6f 73 2d 74 69 70 3a 3a 0a 0a 41 73 73 6f 63 69 61 74 69 6e 67 20 65 64 69 74 20 62 75 66 66 65 os-tip::..Associating.edit.buffe
ccd40 72 73 20 77 69 74 68 20 52 45 50 4c 20 62 75 66 66 65 72 73 0a 0a 2a 20 72 61 63 6b 65 74 2d 72 rs.with.REPL.buffers..*.racket-r
ccd60 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 61 72 65 64 3a 3a 0a 2a 20 72 61 63 6b 65 epl-buffer-name-shared::.*.racke
ccd80 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 3a 3a 0a 2a 20 72 61 t-repl-buffer-name-unique::.*.ra
ccda0 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 70 72 6f 6a 65 63 74 3a 3a 0a cket-repl-buffer-name-project::.
ccdc0 2a 20 72 61 63 6b 65 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 3a 3a 0a 0a 42 72 6f 77 73 69 6e *.racket-project-root::..Browsin
ccde0 67 20 66 69 6c 65 20 55 52 4c 73 20 77 69 74 68 20 61 6e 63 68 6f 72 73 0a 0a 2a 20 72 61 63 6b g.file.URLs.with.anchors..*.rack
cce00 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 75 73 69 6e 67 2d 74 65 6d 70 6f 72 61 72 79 2d 66 69 et-browse-url-using-temporary-fi
cce20 6c 65 3a 3a 0a 0a 43 6f 6e 66 69 67 75 72 69 6e 67 20 62 61 63 6b 20 65 6e 64 73 0a 0a 2a 20 72 le::..Configuring.back.ends..*.r
cce40 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 3a 3a 0a 0a 52 75 6e 6e 69 6e 67 20 72 61 acket-add-back-end::..Running.ra
cce60 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c cket.and.raco.commands.in.a.shel
cce80 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 0a 0a 2a 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 3a 3a 0a l.or.terminal..*.racket-shell::.
ccea0 2a 20 72 61 63 6b 65 74 2d 74 65 72 6d 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 61 6e 73 69 2d 74 65 *.racket-term::.*.racket-ansi-te
ccec0 72 6d 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 76 74 65 72 6d 3a 3a 0a 0a 46 61 63 65 73 0a 0a 2a 20 rm::.*.racket-vterm::..Faces..*.
ccee0 41 6c 6c 3a 3a 0a 0a 41 6c 6c 0a 0a 2a 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 2d 61 72 67 All::..All..*.racket-keyword-arg
ccf00 75 6d 65 6e 74 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 71 75 6f ument-face::.*.racket-reader-quo
ccf20 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 61 64 65 ted-symbol-face::.*.racket-reade
ccf40 72 2d 73 79 6e 74 61 78 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 3a 3a 0a 2a 20 r-syntax-quoted-symbol-face::.*.
ccf60 72 61 63 6b 65 74 2d 68 65 72 65 2d 73 74 72 69 6e 67 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b racket-here-string-face::.*.rack
ccf80 65 74 2d 78 70 2d 64 65 66 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 et-xp-def-face::.*.racket-xp-use
ccfa0 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 65 3a -face::.*.racket-xp-unused-face:
ccfc0 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 2d 66 61 63 65 3a 3a :.*.racket-xp-tail-target-face::
ccfe0 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 2d 66 61 63 65 3a .*.racket-xp-tail-position-face:
cd000 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 66 61 63 65 3a :.*.racket-xp-binding-lang-face:
cd020 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 75 73 65 2d 66 :.*.racket-xp-binding-lang-use-f
cd040 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 ace::.*.racket-xp-binding-import
cd060 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f -face::.*.racket-xp-binding-impo
cd080 72 74 2d 75 73 65 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e rt-use-face::.*.racket-xp-bindin
cd0a0 67 2d 6c 6f 63 61 6c 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 g-local-face::.*.racket-xp-bindi
cd0c0 6e 67 2d 6c 6f 63 61 6c 2d 75 73 65 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 ng-local-use-face::.*.racket-log
cd0e0 67 65 72 2d 63 6f 6e 66 69 67 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 ger-config-face::.*.racket-logge
cd100 72 2d 74 6f 70 69 63 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 66 r-topic-face::.*.racket-logger-f
cd120 61 74 61 6c 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 65 72 72 6f atal-face::.*.racket-logger-erro
cd140 72 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 77 61 72 6e 69 6e 67 r-face::.*.racket-logger-warning
cd160 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 69 6e 66 6f 2d 66 61 63 -face::.*.racket-logger-info-fac
cd180 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 64 65 62 75 67 2d 66 61 63 65 3a 3a e::.*.racket-logger-debug-face::
cd1a0 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b .*.racket-doc-link-face::.*.rack
cd1c0 65 74 2d 65 78 74 2d 6c 69 6e 6b 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 2d et-ext-link-face::.*.racket-doc-
cd1e0 6f 75 74 70 75 74 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 74 63 68 output-face::.*.racket-doc-litch
cd200 61 72 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 3a ar-face::.*.racket-repl-message:
cd220 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 3a 3a 0a 2a 20 72 61 63 6b 65 :.*.racket-repl-prompt::.*.racke
cd240 74 2d 72 65 70 6c 2d 76 61 6c 75 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 t-repl-value::.*.racket-repl-err
cd260 6f 72 2d 6d 65 73 73 61 67 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 or-message::.*.racket-repl-error
cd280 2d 6c 6f 63 61 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 6f 75 74 -location::.*.racket-repl-stdout
cd2a0 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 65 72 72 3a 3a 0a 0a 40 65 6e 64 20 ::.*.racket-repl-stderr::..@end.
cd2c0 64 65 74 61 69 6c 6d 65 6e 75 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 49 6e 74 72 detailmenu.@end.menu..@node.Intr
cd2e0 6f 64 75 63 74 69 6f 6e 0a 40 63 68 61 70 74 65 72 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 0a oduction.@chapter.Introduction..
cd300 54 68 65 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 77 77 77 2e 72 61 63 6b 65 74 2d 6d 6f 64 The.@uref{https://www.racket-mod
cd320 65 2e 63 6f 6d 2f 2c 20 52 61 63 6b 65 74 20 4d 6f 64 65 7d 20 70 61 63 6b 61 67 65 20 63 6f 6e e.com/,.Racket.Mode}.package.con
cd340 73 69 73 74 73 20 6f 66 20 61 20 76 61 72 69 65 74 79 20 6f 66 20 45 6d 61 63 73 20 6d 61 6a 6f sists.of.a.variety.of.Emacs.majo
cd360 72 20 61 6e 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 73 2c 20 69 6e 63 6c 75 64 69 6e 67 3a 0a 0a 40 r.and.minor.modes,.including:..@
cd380 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d itemize.@item.@code{racket-mode}
cd3a0 3a 20 41 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 74 6f 20 65 64 69 74 20 40 63 6f 64 65 7b 2e 72 6b :.A.major.mode.to.edit.@code{.rk
cd3c0 74 7d 20 66 69 6c 65 73 2e 20 47 65 6e 65 72 61 6c 6c 79 20 61 73 73 75 6d 65 73 20 40 63 6f 64 t}.files..Generally.assumes.@cod
cd3e0 65 7b 23 6c 61 6e 67 20 72 61 63 6b 65 74 7d 2e 0a 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 e{#lang.racket}...@item.@ref{rac
cd400 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 3a 20 41 6e 20 61 6c 74 65 72 6e 61 74 ket-hash-lang-mode}:.An.alternat
cd420 69 76 65 20 74 6f 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 75 73 69 6e 67 20 ive.to.@code{racket-mode}.using.
cd440 62 65 68 61 76 69 6f 72 20 73 70 65 63 69 66 69 65 64 20 62 79 20 61 20 40 63 6f 64 65 7b 23 6c behavior.specified.by.a.@code{#l
cd460 61 6e 67 7d 20 66 6f 72 20 63 6f 6c 6f 72 73 2c 20 69 6e 64 65 6e 74 2c 20 65 78 70 72 65 73 73 ang}.for.colors,.indent,.express
cd480 69 6f 6e 20 6e 61 76 69 67 61 74 69 6f 6e 2c 20 65 74 63 2e 20 40 65 6d 70 68 7b 45 78 70 65 72 ion.navigation,.etc..@emph{Exper
cd4a0 69 6d 65 6e 74 61 6c 7d 2e 0a 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d imental}...@item.@ref{racket-xp-
cd4c0 6d 6f 64 65 7d 3a 20 41 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 74 6f 20 65 6e 68 61 6e 63 65 20 65 mode}:.A.minor.mode.to.enhance.e
cd4e0 69 74 68 65 72 20 65 64 69 74 20 6d 6f 64 65 2e 20 45 78 70 6c 61 69 6e 20 61 6e 64 20 65 78 70 ither.edit.mode..Explain.and.exp
cd500 6c 6f 72 65 20 63 6f 64 65 2c 20 73 69 6d 69 6c 61 72 20 74 6f 20 62 61 63 6b 67 72 6f 75 6e 64 lore.code,.similar.to.background
cd520 20 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 69 6e 20 44 72 20 52 61 63 6b 65 74 2e 0a 0a 40 69 74 .check-syntax.in.Dr.Racket...@it
cd540 65 6d 0a 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 3a 20 41 20 6d 61 em.@code{racket-repl-mode}:.A.ma
cd560 6a 6f 72 20 6d 6f 64 65 20 74 6f 20 72 75 6e 20 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 75 73 65 jor.mode.to.run.programs.and.use
cd580 20 61 20 52 45 50 4c 40 2e 0a 0a 40 69 74 65 6d 0a 56 61 72 69 6f 75 73 20 6f 74 68 65 72 20 6d .a.REPL@...@item.Various.other.m
cd5a0 6f 64 65 73 20 74 6f 20 73 75 70 70 6f 72 74 20 73 70 65 63 69 66 69 63 20 66 65 61 74 75 72 65 odes.to.support.specific.feature
cd5c0 73 3a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 6c 6f s:.@itemize.@item.@ref{racket-lo
cd5e0 67 67 65 72 2d 6d 6f 64 65 7d 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 70 72 6f gger-mode}.@item.@ref{racket-pro
cd600 66 69 6c 65 2d 6d 6f 64 65 7d 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 64 65 62 file-mode}.@item.@ref{racket-deb
cd620 75 67 2d 6d 6f 64 65 7d 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 40 65 6e 64 20 69 74 65 6d 69 ug-mode}.@end.itemize.@end.itemi
cd640 7a 65 0a 0a 46 6f 72 20 63 6f 64 65 2c 20 69 73 73 75 65 73 2c 20 61 6e 64 20 70 75 6c 6c 20 72 ze..For.code,.issues,.and.pull.r
cd660 65 71 75 65 73 74 73 2c 20 73 65 65 20 74 68 65 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 67 equests,.see.the.@uref{https://g
cd680 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 ithub.com/greghendershott/racket
cd6a0 2d 6d 6f 64 65 2c 20 47 69 74 20 72 65 70 6f 7d 2e 0a 0a 54 6f 20 73 70 6f 6e 73 6f 72 20 74 68 -mode,.Git.repo}...To.sponsor.th
cd6c0 69 73 20 77 6f 72 6b 2c 20 73 65 65 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 is.work,.see.@uref{https://githu
cd6e0 62 2e 63 6f 6d 2f 75 73 65 72 73 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 73 70 6f 6e b.com/users/greghendershott/spon
cd700 73 6f 72 73 68 69 70 2c 20 47 69 74 48 75 62 20 53 70 6f 6e 73 6f 72 73 7d 20 6f 72 20 40 75 72 sorship,.GitHub.Sponsors}.or.@ur
cd720 65 66 7b 68 74 74 70 73 3a 2f 2f 77 77 77 2e 70 61 79 70 61 6c 2e 6d 65 2f 67 72 65 67 68 65 6e ef{https://www.paypal.me/greghen
cd740 64 65 72 73 68 6f 74 74 2c 20 50 61 79 50 61 6c 7d 2e 0a 0a 40 6e 6f 64 65 20 49 6e 73 74 61 6c dershott,.PayPal}...@node.Instal
cd760 6c 20 55 70 64 61 74 65 20 61 6e 64 20 55 6e 69 6e 73 74 61 6c 6c 0a 40 63 68 61 70 74 65 72 20 l.Update.and.Uninstall.@chapter.
cd780 49 6e 73 74 61 6c 6c 2c 20 55 70 64 61 74 65 2c 20 61 6e 64 20 55 6e 69 6e 73 74 61 6c 6c 0a 0a Install,.Update,.and.Uninstall..
cd7a0 54 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 77 61 79 20 74 6f 20 75 73 65 20 52 61 63 6b 65 The.most.common.way.to.use.Racke
cd7c0 74 20 4d 6f 64 65 20 69 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 66 72 6f 6d 20 61 20 70 61 63 6b t.Mode.is.to.install.from.a.pack
cd7e0 61 67 65 20 61 72 63 68 69 76 65 20 6c 69 6b 65 20 4d 45 4c 50 41 20 6f 72 20 4e 6f 6e 47 4e 55 age.archive.like.MELPA.or.NonGNU
cd800 20 45 4c 50 41 40 2e 0a 0a 53 6f 6d 65 20 70 65 6f 70 6c 65 20 61 6c 73 6f 20 75 73 65 20 61 20 .ELPA@...Some.people.also.use.a.
cd820 73 79 73 74 65 6d 20 6c 69 6b 65 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 system.like.@uref{https://github
cd840 2e 63 6f 6d 2f 72 61 64 69 61 6e 2d 73 6f 66 74 77 61 72 65 2f 73 74 72 61 69 67 68 74 2e 65 6c .com/radian-software/straight.el
cd860 2c 20 73 74 72 61 69 67 68 74 2e 65 6c 7d 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 52 61 63 6b 65 ,.straight.el}...Note.that.Racke
cd880 74 20 4d 6f 64 65 20 69 73 20 6f 6e 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 4d 45 4c 50 t.Mode.is.only.available.on.MELP
cd8a0 41 20 28 40 65 6d 70 68 7b 6e 6f 74 7d 20 60 60 4d 45 4c 50 41 20 53 74 61 62 6c 65 27 27 29 2c A.(@emph{not}.``MELPA.Stable''),
cd8c0 20 61 6e 64 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 60 60 72 6f 6c 6c 69 6e 67 .and.is.available.as.a.``rolling
cd8e0 20 72 65 6c 65 61 73 65 27 27 20 66 72 6f 6d 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 40 2e 0a 0a 40 .release''.from.NonGNU.ELPA@...@
cd900 6d 65 6e 75 0a 2a 20 55 73 65 20 45 6d 61 63 73 20 32 38 2e 31 20 6f 72 20 6e 65 77 65 72 20 77 menu.*.Use.Emacs.28.1.or.newer.w
cd920 69 74 68 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 3a 20 55 73 65 20 45 6d 61 63 73 20 32 38 31 20 6f ith.NonGNU.ELPA:.Use.Emacs.281.o
cd940 72 20 6e 65 77 65 72 20 77 69 74 68 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 2e 20 0a 2a 20 43 6f 6e r.newer.with.NonGNU.ELPA...*.Con
cd960 66 69 67 75 72 65 20 45 6d 61 63 73 20 74 6f 20 75 73 65 20 4d 45 4c 50 41 3a 3a 0a 2a 20 49 6e figure.Emacs.to.use.MELPA::.*.In
cd980 73 74 61 6c 6c 3a 3a 0a 2a 20 4d 69 6e 69 6d 61 6c 20 52 61 63 6b 65 74 3a 3a 0a 2a 20 55 6e 69 stall::.*.Minimal.Racket::.*.Uni
cd9a0 6e 73 74 61 6c 6c 3a 3a 0a 2a 20 55 70 64 61 74 65 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 nstall::.*.Update::.@end.menu..@
cd9c0 6e 6f 64 65 20 55 73 65 20 45 6d 61 63 73 20 32 38 31 20 6f 72 20 6e 65 77 65 72 20 77 69 74 68 node.Use.Emacs.281.or.newer.with
cd9e0 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 0a 40 73 65 63 74 69 6f 6e 20 55 73 65 20 45 6d 61 63 73 20 .NonGNU.ELPA.@section.Use.Emacs.
cda00 32 38 2e 31 20 6f 72 20 6e 65 77 65 72 20 77 69 74 68 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 0a 0a 28.1.or.newer.with.NonGNU.ELPA..
cda20 45 6d 61 63 73 20 32 38 2e 31 20 6f 72 20 6e 65 77 65 72 20 63 6f 6d 65 73 20 63 6f 6e 66 69 67 Emacs.28.1.or.newer.comes.config
cda40 75 72 65 64 20 74 6f 20 75 73 65 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 6e ured.to.use.@uref{https://elpa.n
cda60 6f 6e 67 6e 75 2e 6f 72 67 2c 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 7d 2c 20 69 6e 20 77 68 69 63 ongnu.org,.NonGNU.ELPA},.in.whic
cda80 68 20 63 61 73 65 20 79 6f 75 20 63 61 6e 20 73 6b 69 70 20 61 68 65 61 64 20 74 6f 20 40 72 65 h.case.you.can.skip.ahead.to.@re
cdaa0 66 7b 49 6e 73 74 61 6c 6c 7d 2e 0a 0a 57 69 74 68 20 6f 6c 64 65 72 20 76 65 72 73 69 6f 6e 73 f{Install}...With.older.versions
cdac0 20 6f 66 20 45 6d 61 63 73 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 4d 45 4c 50 41 40 2e 0a 0a .of.Emacs,.you.can.use.MELPA@...
cdae0 40 6e 6f 64 65 20 43 6f 6e 66 69 67 75 72 65 20 45 6d 61 63 73 20 74 6f 20 75 73 65 20 4d 45 4c @node.Configure.Emacs.to.use.MEL
cdb00 50 41 0a 40 73 65 63 74 69 6f 6e 20 43 6f 6e 66 69 67 75 72 65 20 45 6d 61 63 73 20 74 6f 20 75 PA.@section.Configure.Emacs.to.u
cdb20 73 65 20 4d 45 4c 50 41 0a 0a 46 6f 6c 6c 6f 77 69 6e 67 20 69 73 20 61 20 71 75 69 63 6b 20 67 se.MELPA..Following.is.a.quick.g
cdb40 75 69 64 65 20 74 68 61 74 20 6d 61 79 20 77 6f 72 6b 20 66 6f 72 20 79 6f 75 2e 20 28 46 6f 72 uide.that.may.work.for.you..(For
cdb60 20 64 65 66 69 6e 69 74 69 76 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 .definitive.instructions.and.the
cdb80 20 6c 61 74 65 73 74 20 74 72 6f 75 62 6c 65 2d 73 68 6f 6f 74 69 6e 67 20 74 69 70 73 2c 20 70 .latest.trouble-shooting.tips,.p
cdba0 6c 65 61 73 65 20 73 65 65 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 lease.see.@uref{https://melpa.or
cdbc0 67 2f 23 2f 67 65 74 74 69 6e 67 2d 73 74 61 72 74 65 64 7d 2e 29 0a 0a 40 69 74 65 6d 69 7a 65 g/#/getting-started}.)..@itemize
cdbe0 0a 40 69 74 65 6d 0a 41 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 79 6f 75 72 .@item.Add.the.following.to.your
cdc00 20 40 73 61 6d 70 7b 7e 2f 2e 65 6d 61 63 73 7d 20 6f 72 20 40 73 61 6d 70 7b 7e 2f 2e 65 6d 61 .@samp{~/.emacs}.or.@samp{~/.ema
cdc20 63 73 2e 64 2f 69 6e 69 74 2e 65 6c 7d 3a 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 40 6c 69 cs.d/init.el}:.@end.itemize..@li
cdc40 73 70 0a 28 72 65 71 75 69 72 65 20 27 70 61 63 6b 61 67 65 29 0a 28 61 64 64 2d 74 6f 2d 6c 69 sp.(require.'package).(add-to-li
cdc60 73 74 20 27 70 61 63 6b 61 67 65 2d 61 72 63 68 69 76 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 st.'package-archives............
cdc80 20 20 20 27 28 22 6d 65 6c 70 61 22 20 2e 20 22 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 ...'("melpa"..."https://melpa.or
cdca0 67 2f 70 61 63 6b 61 67 65 73 2f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 0a 28 g/packages/")...............t).(
cdcc0 70 61 63 6b 61 67 65 2d 69 6e 69 74 69 61 6c 69 7a 65 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 package-initialize).@end.lisp..@
cdce0 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 52 65 73 74 61 72 74 20 45 6d 61 63 73 2e 0a 40 65 6e itemize.@item.Restart.Emacs..@en
cdd00 64 20 69 74 65 6d 69 7a 65 0a 0a 40 71 75 6f 74 61 74 69 6f 6e 0a 4e 4f 54 45 3a 20 49 66 20 79 d.itemize..@quotation.NOTE:.If.y
cdd20 6f 75 20 65 76 65 72 20 67 65 74 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 61 62 6f ou.ever.get.an.error.message.abo
cdd40 75 74 20 60 60 63 6f 6e 74 61 63 74 69 6e 67 20 61 20 68 6f 73 74 27 27 20 6f 72 20 60 60 64 6f ut.``contacting.a.host''.or.``do
cdd60 77 6e 6c 6f 61 64 69 6e 67 20 61 6e 20 61 72 63 68 69 76 65 27 27 2c 20 74 68 65 20 70 72 6f 62 wnloading.an.archive'',.the.prob
cdd80 6c 65 6d 20 69 73 20 6e 6f 74 20 75 6e 69 71 75 65 20 74 6f 20 52 61 63 6b 65 74 20 4d 6f 64 65 lem.is.not.unique.to.Racket.Mode
cdda0 2e 20 50 6c 65 61 73 65 20 73 65 65 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 ..Please.see.@uref{https://melpa
cddc0 2e 6f 72 67 2f 23 2f 67 65 74 74 69 6e 67 2d 73 74 61 72 74 65 64 7d 2e 0a 0a 40 65 6e 64 20 71 .org/#/getting-started}...@end.q
cdde0 75 6f 74 61 74 69 6f 6e 0a 0a 40 6e 6f 64 65 20 49 6e 73 74 61 6c 6c 0a 40 73 65 63 74 69 6f 6e uotation..@node.Install.@section
cde00 20 49 6e 73 74 61 6c 6c 0a 0a 57 68 65 6e 20 45 6d 61 63 73 20 69 73 20 63 6f 6e 66 69 67 75 72 .Install..When.Emacs.is.configur
cde20 65 64 20 74 6f 20 75 73 65 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 20 6f 72 20 4d 45 4c 50 41 3a 0a ed.to.use.NonGNU.ELPA.or.MELPA:.
cde40 0a 40 65 6e 75 6d 65 72 61 74 65 0a 40 69 74 65 6d 0a 54 79 70 65 20 40 6b 62 64 7b 4d 2d 78 7d .@enumerate.@item.Type.@kbd{M-x}
cde60 20 20 40 63 6f 64 65 7b 70 61 63 6b 61 67 65 2d 69 6e 69 74 69 61 6c 69 7a 65 7d 20 40 6b 62 64 ..@code{package-initialize}.@kbd
cde80 7b 52 45 54 7d 20 2e 0a 0a 40 69 74 65 6d 0a 54 79 70 65 20 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 {RET}....@item.Type.@kbd{M-x}..@
cdea0 63 6f 64 65 7b 70 61 63 6b 61 67 65 2d 72 65 66 72 65 73 68 2d 63 6f 6e 74 65 6e 74 73 7d 20 40 code{package-refresh-contents}.@
cdec0 6b 62 64 7b 52 45 54 7d 20 2e 0a 0a 40 69 74 65 6d 0a 54 79 70 65 20 40 6b 62 64 7b 4d 2d 78 7d kbd{RET}....@item.Type.@kbd{M-x}
cdee0 20 20 40 63 6f 64 65 7b 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 7d 20 40 6b 62 64 7b 52 45 ..@code{package-install}.@kbd{RE
cdf00 54 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 40 6b 62 64 7b 52 45 54 7d T}..@code{racket-mode}.@kbd{RET}
cdf20 20 2e 0a 40 65 6e 64 20 65 6e 75 6d 65 72 61 74 65 0a 0a 40 71 75 6f 74 61 74 69 6f 6e 0a 4e 4f ...@end.enumerate..@quotation.NO
cdf40 54 45 3a 20 49 66 20 79 6f 75 20 67 65 74 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 TE:.If.you.get.an.error.message.
cdf60 61 62 6f 75 74 20 60 60 63 6f 6e 74 61 63 74 69 6e 67 20 61 20 68 6f 73 74 27 27 20 6f 72 20 60 about.``contacting.a.host''.or.`
cdf80 60 64 6f 77 6e 6c 6f 61 64 69 6e 67 20 61 6e 20 61 72 63 68 69 76 65 27 27 2c 20 74 68 65 20 70 `downloading.an.archive'',.the.p
cdfa0 72 6f 62 6c 65 6d 20 69 73 20 6e 6f 74 20 75 6e 69 71 75 65 20 74 6f 20 52 61 63 6b 65 74 20 4d roblem.is.not.unique.to.Racket.M
cdfc0 6f 64 65 2e 20 50 6c 65 61 73 65 20 73 65 65 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 6d 65 ode..Please.see.@uref{https://me
cdfe0 6c 70 61 2e 6f 72 67 2f 23 2f 67 65 74 74 69 6e 67 2d 73 74 61 72 74 65 64 7d 2e 0a 0a 40 65 6e lpa.org/#/getting-started}...@en
ce000 64 20 71 75 6f 74 61 74 69 6f 6e 0a 0a 40 6e 6f 64 65 20 4d 69 6e 69 6d 61 6c 20 52 61 63 6b 65 d.quotation..@node.Minimal.Racke
ce020 74 0a 40 73 65 63 74 69 6f 6e 20 4d 69 6e 69 6d 61 6c 20 52 61 63 6b 65 74 0a 0a 49 66 20 79 6f t.@section.Minimal.Racket..If.yo
ce040 75 20 68 61 76 65 20 69 6e 73 74 61 6c 6c 65 64 20 74 68 65 20 6d 69 6e 69 6d 61 6c 20 52 61 63 u.have.installed.the.minimal.Rac
ce060 6b 65 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 20 62 79 ket.distribution.(for.example.by
ce080 20 75 73 69 6e 67 20 74 68 65 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e .using.the.@uref{https://github.
ce0a0 63 6f 6d 2f 48 6f 6d 65 62 72 65 77 2f 68 6f 6d 65 62 72 65 77 2d 63 6f 72 65 2f 62 6c 6f 62 2f com/Homebrew/homebrew-core/blob/
ce0c0 6d 61 73 74 65 72 2f 46 6f 72 6d 75 6c 61 2f 6d 69 6e 69 6d 61 6c 2d 72 61 63 6b 65 74 2e 72 62 master/Formula/minimal-racket.rb
ce0e0 2c 20 68 6f 6d 65 62 72 65 77 20 66 6f 72 6d 75 6c 61 7d 29 20 52 61 63 6b 65 74 20 4d 6f 64 65 ,.homebrew.formula}).Racket.Mode
ce100 20 6e 65 65 64 73 20 73 6f 6d 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 52 61 63 6b 65 74 20 70 61 .needs.some.additional.Racket.pa
ce120 63 6b 61 67 65 73 2e 20 41 20 73 69 6d 70 6c 65 20 77 61 79 20 74 6f 20 67 65 74 20 61 6c 6c 20 ckages..A.simple.way.to.get.all.
ce140 74 68 65 73 65 20 70 61 63 6b 61 67 65 73 20 69 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 these.packages.is.to.install.the
ce160 20 40 63 6f 64 65 7b 64 72 72 61 63 6b 65 74 7d 20 52 61 63 6b 65 74 20 70 61 63 6b 61 67 65 2e .@code{drracket}.Racket.package.
ce180 20 49 6e 20 61 20 63 6f 6d 6d 61 6e 64 20 73 68 65 6c 6c 3a 0a 0a 40 65 78 61 6d 70 6c 65 0a 72 .In.a.command.shell:..@example.r
ce1a0 61 63 6f 20 70 6b 67 20 69 6e 73 74 61 6c 6c 20 2d 2d 61 75 74 6f 20 64 72 72 61 63 6b 65 74 0a aco.pkg.install.--auto.drracket.
ce1c0 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 41 20 6d 6f 72 65 2d 74 61 72 67 65 74 65 64 20 61 70 @end.example..A.more-targeted.ap
ce1e0 70 72 6f 61 63 68 20 69 73 20 69 6e 73 74 65 61 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 proach.is.instead.to.install.the
ce200 73 65 20 73 70 65 63 69 66 69 63 20 70 61 63 6b 61 67 65 73 20 61 6e 64 20 74 68 65 69 72 20 64 se.specific.packages.and.their.d
ce220 65 70 65 6e 64 65 6e 63 69 65 73 3a 0a 0a 40 65 78 61 6d 70 6c 65 0a 72 61 63 6f 20 70 6b 67 20 ependencies:..@example.raco.pkg.
ce240 69 6e 73 74 61 6c 6c 20 2d 2d 61 75 74 6f 20 64 61 74 61 2d 6c 69 62 20 65 72 72 6f 72 74 72 61 install.--auto.data-lib.errortra
ce260 63 65 2d 6c 69 62 20 6d 61 63 72 6f 2d 64 65 62 75 67 67 65 72 2d 74 65 78 74 2d 6c 69 62 20 72 ce-lib.macro-debugger-text-lib.r
ce280 61 63 6b 75 6e 69 74 2d 6c 69 62 20 72 61 63 6b 65 74 2d 69 6e 64 65 78 20 73 63 72 69 62 62 6c ackunit-lib.racket-index.scribbl
ce2a0 65 2d 6c 69 62 20 64 72 72 61 63 6b 65 74 2d 74 6f 6f 6c 2d 74 65 78 74 2d 6c 69 62 0a 40 65 6e e-lib.drracket-tool-text-lib.@en
ce2c0 64 20 65 78 61 6d 70 6c 65 0a 0a 49 66 20 79 6f 75 20 64 6f 20 40 65 6d 70 68 7b 6e 6f 74 7d 20 d.example..If.you.do.@emph{not}.
ce2e0 77 61 6e 74 20 74 6f 20 75 73 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 want.to.use.@code{racket-xp-mode
ce300 7d 2c 20 74 68 65 6e 20 79 6f 75 20 63 61 6e 20 6f 6d 69 74 20 40 63 6f 64 65 7b 64 72 72 61 63 },.then.you.can.omit.@code{drrac
ce320 6b 65 74 2d 74 6f 6f 6c 2d 74 65 78 74 2d 6c 69 62 7d 2e 0a 0a 4f 6e 20 61 20 68 65 61 64 6c 65 ket-tool-text-lib}...On.a.headle
ce340 73 73 20 73 65 72 76 65 72 2c 20 79 6f 75 20 6d 69 67 68 74 20 77 61 6e 74 20 74 6f 20 6f 6d 69 ss.server,.you.might.want.to.omi
ce360 74 20 40 63 6f 64 65 7b 67 75 69 2d 6c 69 62 7d 2e 20 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 2c t.@code{gui-lib}..Unfortunately,
ce380 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 6f 63 7d 20 64 65 70 65 6e 64 73 20 6f 6e 20 40 63 .@code{racket-doc}.depends.on.@c
ce3a0 6f 64 65 7b 67 75 69 2d 6c 69 62 7d 2e 20 4f 6e 20 74 68 65 20 6f 6e 65 20 68 61 6e 64 2c 20 69 ode{gui-lib}..On.the.one.hand,.i
ce3c0 66 20 79 6f 75 20 75 6e 69 6e 73 74 61 6c 6c 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 6f 63 f.you.uninstall.@code{racket-doc
ce3e0 7d 20 61 6e 64 20 40 63 6f 64 65 7b 67 75 69 2d 6c 69 62 7d 2c 20 79 6f 75 20 77 69 6c 6c 20 6e }.and.@code{gui-lib},.you.will.n
ce400 6f 20 6c 6f 6e 67 65 72 20 62 65 20 61 62 6c 65 20 74 6f 20 61 63 63 65 73 73 20 64 6f 63 75 6d o.longer.be.able.to.access.docum
ce420 65 6e 74 61 74 69 6f 6e 20 77 68 65 6e 20 75 73 69 6e 67 20 61 20 52 61 63 6b 65 74 20 4d 6f 64 entation.when.using.a.Racket.Mod
ce440 65 20 62 61 63 6b 20 65 6e 64 20 72 75 6e 6e 69 6e 67 20 74 68 65 72 65 2e 20 4f 6e 20 74 68 65 e.back.end.running.there..On.the
ce460 20 6f 74 68 65 72 20 68 61 6e 64 2c 20 69 66 20 79 6f 75 20 6c 65 61 76 65 20 40 63 6f 64 65 7b .other.hand,.if.you.leave.@code{
ce480 67 75 69 2d 6c 69 62 7d 20 69 6e 73 74 61 6c 6c 65 64 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 62 gui-lib}.installed,.you.should.b
ce4a0 65 20 63 61 72 65 66 75 6c 20 74 6f 20 72 75 6e 20 74 68 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 e.careful.to.run.the.Racket.Mode
ce4c0 20 62 61 63 6b 20 65 6e 64 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 78 76 66 62 2d 72 75 6e 20 72 .back.end.using.@code{xvfb-run.r
ce4e0 61 63 6b 65 74 7d 2e 0a 0a 40 6e 6f 64 65 20 55 6e 69 6e 73 74 61 6c 6c 0a 40 73 65 63 74 69 6f acket}...@node.Uninstall.@sectio
ce500 6e 20 55 6e 69 6e 73 74 61 6c 6c 0a 0a 54 6f 20 75 6e 69 6e 73 74 61 6c 6c 20 52 61 63 6b 65 74 n.Uninstall..To.uninstall.Racket
ce520 20 4d 6f 64 65 2c 20 73 69 6d 70 6c 79 20 74 79 70 65 20 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 .Mode,.simply.type.@kbd{M-x}..@c
ce540 6f 64 65 7b 70 61 63 6b 61 67 65 2d 64 65 6c 65 74 65 7d 20 40 6b 62 64 7b 52 45 54 7d 20 20 40 ode{package-delete}.@kbd{RET}..@
ce560 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 40 6b 62 64 7b 52 45 54 7d 20 2e 0a 0a 59 code{racket-mode}.@kbd{RET}....Y
ce580 6f 75 20 73 68 6f 75 6c 64 20 70 72 6f 62 61 62 6c 79 20 61 6c 73 6f 20 65 78 69 74 20 61 6e 64 ou.should.probably.also.exit.and
ce5a0 20 72 65 73 74 61 72 74 20 45 6d 61 63 73 2e 0a 0a 40 6e 6f 64 65 20 55 70 64 61 74 65 0a 40 73 .restart.Emacs...@node.Update.@s
ce5c0 65 63 74 69 6f 6e 20 55 70 64 61 74 65 0a 0a 40 6d 65 6e 75 0a 2a 20 55 70 67 72 61 64 69 6e 67 ection.Update..@menu.*.Upgrading
ce5e0 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 3a 3a 0a 2a 20 55 70 64 61 74 69 6e 67 20 6a 75 73 74 20 .all.packages::.*.Updating.just.
ce600 52 61 63 6b 65 74 20 4d 6f 64 65 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 55 Racket.Mode::.@end.menu..@node.U
ce620 70 67 72 61 64 69 6e 67 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 0a 40 73 75 62 73 65 63 74 69 6f pgrading.all.packages.@subsectio
ce640 6e 20 55 70 67 72 61 64 69 6e 67 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 0a 0a 54 68 65 20 60 60 n.Upgrading.all.packages..The.``
ce660 65 61 73 79 20 70 61 74 68 27 27 20 70 72 6f 76 69 64 65 64 20 62 79 20 45 6d 61 63 73 20 69 73 easy.path''.provided.by.Emacs.is
ce680 20 74 6f 20 75 70 64 61 74 65 20 40 65 6d 70 68 7b 61 6c 6c 7d 20 70 61 63 6b 61 67 65 73 20 74 .to.update.@emph{all}.packages.t
ce6a0 6f 20 74 68 65 69 72 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 73 2e 20 41 6c 74 68 6f 75 67 o.their.latest.versions..Althoug
ce6c0 68 20 79 6f 75 20 6d 69 67 68 74 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 64 6f 20 74 68 69 73 20 h.you.might.not.want.to.do.this.
ce6e0 2d 2d 2d 20 73 65 65 20 6e 65 78 74 20 73 65 63 74 69 6f 6e 20 2d 2d 2d 20 68 65 72 65 20 69 73 ---.see.next.section.---.here.is
ce700 20 68 6f 77 20 74 6f 20 64 6f 20 73 6f 3a 0a 0a 40 65 6e 75 6d 65 72 61 74 65 0a 40 69 74 65 6d .how.to.do.so:..@enumerate.@item
ce720 0a 55 73 65 20 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 70 61 63 6b 61 67 65 2d 69 6e .Use.@kbd{M-x}..@code{package-in
ce740 69 74 69 61 6c 69 7a 65 7d 2e 0a 0a 40 69 74 65 6d 0a 55 73 65 20 40 6b 62 64 7b 4d 2d 78 7d 20 itialize}...@item.Use.@kbd{M-x}.
ce760 20 40 63 6f 64 65 7b 70 61 63 6b 61 67 65 2d 72 65 66 72 65 73 68 2d 63 6f 6e 74 65 6e 74 73 7d .@code{package-refresh-contents}
ce780 2e 0a 0a 40 69 74 65 6d 0a 55 73 65 20 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 6c 69 ...@item.Use.@kbd{M-x}..@code{li
ce7a0 73 74 2d 70 61 63 6b 61 67 65 73 7d 2e 20 49 74 20 73 68 6f 75 6c 64 20 64 69 73 70 6c 61 79 20 st-packages}..It.should.display.
ce7c0 61 20 6d 65 73 73 61 67 65 20 6c 69 6b 65 20 60 60 34 32 20 70 61 63 6b 61 67 65 73 20 63 61 6e a.message.like.``42.packages.can
ce7e0 20 62 65 20 75 70 67 72 61 64 65 64 3b 20 74 79 70 65 20 e2 80 98 55 e2 80 99 20 74 6f 20 6d 61 .be.upgraded;.type....U....to.ma
ce800 72 6b 20 74 68 65 6d 20 66 6f 72 20 75 70 67 72 61 64 69 6e 67 2e 27 27 2e 0a 0a 40 69 74 65 6d rk.them.for.upgrading.''...@item
ce820 0a 50 72 65 73 73 20 40 6b 62 64 7b 55 7d 20 20 61 73 20 73 75 67 67 65 73 74 65 64 20 74 6f 20 .Press.@kbd{U}..as.suggested.to.
ce840 6d 61 72 6b 20 74 68 65 6d 20 61 6c 6c 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 73 20 40 6b 62 64 mark.them.all...@item.Press.@kbd
ce860 7b 78 7d 20 20 74 6f 20 65 78 65 63 75 74 65 2e 0a 40 65 6e 64 20 65 6e 75 6d 65 72 61 74 65 0a {x}..to.execute..@end.enumerate.
ce880 0a 41 66 74 65 72 20 73 75 63 68 20 61 20 6d 61 73 73 20 75 70 64 61 74 65 2c 20 69 74 20 6d 69 .After.such.a.mass.update,.it.mi
ce8a0 67 68 74 20 62 65 20 77 69 73 65 20 74 6f 20 65 78 69 74 20 61 6e 64 20 72 65 73 74 61 72 74 20 ght.be.wise.to.exit.and.restart.
ce8c0 45 6d 61 63 73 2e 0a 0a 40 71 75 6f 74 61 74 69 6f 6e 0a 4e 4f 54 45 3a 20 49 66 20 79 6f 75 20 Emacs...@quotation.NOTE:.If.you.
ce8e0 67 65 74 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 61 62 6f 75 74 20 60 60 63 6f 6e get.an.error.message.about.``con
ce900 74 61 63 74 69 6e 67 20 61 20 68 6f 73 74 27 27 20 6f 72 20 60 60 64 6f 77 6e 6c 6f 61 64 69 6e tacting.a.host''.or.``downloadin
ce920 67 20 61 6e 20 61 72 63 68 69 76 65 27 27 2c 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 69 73 20 6e g.an.archive'',.the.problem.is.n
ce940 6f 74 20 75 6e 69 71 75 65 20 74 6f 20 52 61 63 6b 65 74 20 4d 6f 64 65 2e 20 50 6c 65 61 73 65 ot.unique.to.Racket.Mode..Please
ce960 20 73 65 65 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 67 .see.@uref{https://melpa.org/#/g
ce980 65 74 74 69 6e 67 2d 73 74 61 72 74 65 64 7d 2e 0a 0a 40 65 6e 64 20 71 75 6f 74 61 74 69 6f 6e etting-started}...@end.quotation
ce9a0 0a 0a 40 6e 6f 64 65 20 55 70 64 61 74 69 6e 67 20 6a 75 73 74 20 52 61 63 6b 65 74 20 4d 6f 64 ..@node.Updating.just.Racket.Mod
ce9c0 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 55 70 64 61 74 69 6e 67 20 6a 75 73 74 20 52 61 63 6b e.@subsection.Updating.just.Rack
ce9e0 65 74 20 4d 6f 64 65 0a 0a 55 70 64 61 74 69 6e 67 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 20 73 et.Mode..Updating.all.packages.s
cea00 6f 6d 65 74 69 6d 65 73 20 69 73 20 6d 6f 72 65 20 74 68 61 6e 20 79 6f 75 20 77 61 6e 74 2e 20 ometimes.is.more.than.you.want..
cea20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6d 61 79 62 65 20 79 6f 75 20 77 69 6c 6c 20 64 69 73 63 For.example,.maybe.you.will.disc
cea40 6f 76 65 72 20 74 68 61 74 20 73 6f 6d 65 20 70 61 63 6b 61 67 65 73 20 68 61 76 65 20 63 68 61 over.that.some.packages.have.cha
cea60 6e 67 65 64 20 69 6e 20 77 61 79 73 20 74 68 61 74 20 72 65 71 75 69 72 65 20 79 6f 75 20 74 6f nged.in.ways.that.require.you.to
cea80 20 74 61 6b 65 20 74 69 6d 65 20 74 6f 20 6c 65 61 72 6e 20 61 62 6f 75 74 2c 20 63 68 61 6e 67 .take.time.to.learn.about,.chang
ceaa0 65 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 73 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 0a 0a 54 6f e.customizations,.and.so.on...To
ceac0 20 75 70 64 61 74 65 20 6a 75 73 74 20 52 61 63 6b 65 74 20 4d 6f 64 65 3a 0a 0a 40 65 6e 75 6d .update.just.Racket.Mode:..@enum
ceae0 65 72 61 74 65 0a 40 69 74 65 6d 0a 40 72 65 66 7b 55 6e 69 6e 73 74 61 6c 6c 7d 2e 0a 0a 40 69 erate.@item.@ref{Uninstall}...@i
ceb00 74 65 6d 0a 4f 70 74 69 6f 6e 61 6c 20 62 75 74 20 6d 6f 73 74 20 72 65 6c 69 61 62 6c 65 3a 20 tem.Optional.but.most.reliable:.
ceb20 45 78 69 74 20 61 6e 64 20 72 65 73 74 61 72 74 20 45 6d 61 63 73 2e 0a 0a 40 69 74 65 6d 0a 40 Exit.and.restart.Emacs...@item.@
ceb40 72 65 66 7b 49 6e 73 74 61 6c 6c 7d 20 61 67 61 69 6e 2e 20 54 68 69 73 20 77 69 6c 6c 20 69 6e ref{Install}.again..This.will.in
ceb60 73 74 61 6c 6c 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 2e 0a 40 65 6e 64 20 65 stall.the.latest.version..@end.e
ceb80 6e 75 6d 65 72 61 74 65 0a 0a 40 6e 6f 64 65 20 43 6f 6e 66 69 67 75 72 65 0a 40 63 68 61 70 74 numerate..@node.Configure.@chapt
ceba0 65 72 20 43 6f 6e 66 69 67 75 72 65 0a 0a 41 6c 74 68 6f 75 67 68 20 52 61 63 6b 65 74 20 4d 6f er.Configure..Although.Racket.Mo
cebc0 64 65 20 63 61 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 77 69 74 68 20 6d 61 6e 79 20 40 de.can.be.customized.with.many.@
cebe0 72 65 66 7b 56 61 72 69 61 62 6c 65 73 7d 2c 20 74 68 65 72 65 20 69 73 20 6f 6e 6c 79 20 6f 6e ref{Variables},.there.is.only.on
cec00 65 20 74 68 61 74 20 79 6f 75 20 6d 69 67 68 74 20 40 65 6d 70 68 7b 6e 65 65 64 7d 20 74 6f 20 e.that.you.might.@emph{need}.to.
cec20 73 65 74 3a 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 7d 2e 20 54 68 69 73 20 set:.@ref{racket-program}..This.
cec40 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 72 20 70 61 74 68 6e 61 6d 65 20 6f 66 20 74 68 65 20 52 is.the.name.or.pathname.of.the.R
cec60 61 63 6b 65 74 20 65 78 65 63 75 74 61 62 6c 65 2e 20 49 74 20 64 65 66 61 75 6c 74 73 20 74 6f acket.executable..It.defaults.to
cec80 20 40 63 6f 64 65 7b 52 61 63 6b 65 74 2e 65 78 65 7d 20 6f 6e 20 57 69 6e 64 6f 77 73 20 65 6c .@code{Racket.exe}.on.Windows.el
ceca0 73 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 7d 2e 0a 0a 4f 6e 20 57 69 6e 64 6f 77 73 20 6f 72 se.@code{racket}...On.Windows.or
cecc0 20 4c 69 6e 75 78 2c 20 74 68 69 73 20 64 65 66 61 75 6c 74 20 77 69 6c 6c 20 70 72 6f 62 61 62 .Linux,.this.default.will.probab
cece0 6c 79 20 77 6f 72 6b 20 66 6f 72 20 79 6f 75 2e 0a 0a 4f 6e 20 6d 61 63 4f 53 2c 20 64 6f 77 6e ly.work.for.you...On.macOS,.down
ced00 6c 6f 61 64 69 6e 67 20 52 61 63 6b 65 74 20 64 6f 65 73 6e 27 74 20 61 64 64 20 69 74 73 20 40 loading.Racket.doesn't.add.its.@
ced20 63 6f 64 65 7b 62 69 6e 7d 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 79 6f 75 72 20 40 63 6f 64 code{bin}.directory.to.your.@cod
ced40 65 7b 50 41 54 48 7d 2e 20 45 76 65 6e 20 61 66 74 65 72 20 79 6f 75 20 61 64 64 20 69 74 2c 20 e{PATH}..Even.after.you.add.it,.
ced60 47 55 49 20 45 6d 61 63 73 20 64 6f 65 73 6e 27 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 GUI.Emacs.doesn't.automatically.
ced80 75 73 65 20 79 6f 75 72 20 70 61 74 68 20 28 75 6e 6c 65 73 73 20 79 6f 75 20 75 73 65 20 74 68 use.your.path.(unless.you.use.th
ceda0 65 20 68 61 6e 64 79 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f e.handy.@uref{https://melpa.org/
cedc0 23 2f 65 78 65 63 2d 70 61 74 68 2d 66 72 6f 6d 2d 73 68 65 6c 6c 2c 20 65 78 65 63 2d 70 61 74 #/exec-path-from-shell,.exec-pat
cede0 68 2d 66 72 6f 6d 2d 73 68 65 6c 6c 7d 20 70 61 63 6b 61 67 65 29 2e 20 54 68 65 72 65 66 6f 72 h-from-shell}.package)..Therefor
cee00 65 20 79 6f 75 20 6d 69 67 68 74 20 77 61 6e 74 20 74 6f 20 73 65 74 20 40 63 6f 64 65 7b 72 61 e.you.might.want.to.set.@code{ra
cee20 63 6b 65 74 2d 70 72 6f 67 72 61 6d 7d 20 74 6f 20 61 20 63 6f 6d 70 6c 65 74 65 20 70 61 74 68 cket-program}.to.a.complete.path
cee40 6e 61 6d 65 2e 0a 0a 59 6f 75 20 63 61 6e 20 40 63 6f 64 65 7b 73 65 74 71 7d 20 74 68 69 73 20 name...You.can.@code{setq}.this.
cee60 64 69 72 65 63 74 6c 79 20 69 6e 20 79 6f 75 72 20 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 directly.in.your.Emacs.init.file
cee80 20 28 40 73 61 6d 70 7b 7e 2f 2e 65 6d 61 63 73 7d 20 6f 72 20 40 73 61 6d 70 7b 7e 2f 2e 65 6d .(@samp{~/.emacs}.or.@samp{~/.em
ceea0 61 63 73 2e 64 2f 69 6e 69 74 2e 65 6c 7d 29 2c 20 6f 72 2c 20 75 73 65 20 40 6b 62 64 7b 4d 2d acs.d/init.el}),.or,.use.@kbd{M-
ceec0 78 7d 20 20 40 63 6f 64 65 7b 63 75 73 74 6f 6d 69 7a 65 7d 2c 20 61 73 20 79 6f 75 20 70 72 65 x}..@code{customize},.as.you.pre
ceee0 66 65 72 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 57 68 69 63 68 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 74 fer...@menu.*.Which.major.mode.t
cef00 6f 20 75 73 65 3a 3a 0a 2a 20 4b 65 79 20 62 69 6e 64 69 6e 67 73 3a 3a 0a 2a 20 46 6f 6e 74 2d o.use::.*.Key.bindings::.*.Font-
cef20 6c 6f 63 6b 20 28 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 29 3a 3a 0a 2a 20 43 lock.(syntax.highlighting)::.*.C
cef40 6f 6d 70 6c 65 74 69 6f 6e 20 61 74 20 70 6f 69 6e 74 3a 3a 0a 2a 20 43 6f 6d 70 6c 65 74 69 6f ompletion.at.point::.*.Completio
cef60 6e 20 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 3a 3a 0a 2a 20 58 72 65 66 20 28 64 65 66 69 6e 69 n.in.minibuffer::.*.Xref.(defini
cef80 74 69 6f 6e 73 20 61 6e 64 20 72 65 66 65 72 65 6e 63 65 73 29 3a 3a 0a 2a 20 49 6e 64 65 6e 74 tions.and.references)::.*.Indent
cefa0 3a 3a 0a 2a 20 70 61 72 65 64 69 74 3a 3a 0a 2a 20 73 6d 61 72 74 70 61 72 65 6e 73 3a 3a 0a 2a ::.*.paredit::.*.smartparens::.*
cefc0 20 41 70 70 65 61 72 61 6e 63 65 20 6f 66 20 70 61 72 65 6e 74 68 65 73 65 73 3a 3a 0a 2a 20 45 .Appearance.of.parentheses::.*.E
cefe0 64 69 74 20 62 75 66 66 65 72 73 20 61 6e 64 20 52 45 50 4c 20 62 75 66 66 65 72 73 3a 3a 0a 2a dit.buffers.and.REPL.buffers::.*
cf000 20 65 6c 64 6f 63 3a 3a 0a 2a 20 53 74 61 72 74 20 66 61 73 74 65 72 3a 3a 0a 2a 20 55 6e 69 63 .eldoc::.*.Start.faster::.*.Unic
cf020 6f 64 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 3a 3a 0a 2a 20 4c 69 67 61 74 75 72 65 73 3a 3a ode.input.method::.*.Ligatures::
cf040 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 57 68 69 63 68 20 6d 61 6a 6f 72 20 6d 6f .@end.menu..@node.Which.major.mo
cf060 64 65 20 74 6f 20 75 73 65 0a 40 73 65 63 74 69 6f 6e 20 57 68 69 63 68 20 6d 61 6a 6f 72 20 6d de.to.use.@section.Which.major.m
cf080 6f 64 65 20 74 6f 20 75 73 65 0a 0a 52 61 63 6b 65 74 20 69 73 20 61 20 70 72 6f 67 72 61 6d 6d ode.to.use..Racket.is.a.programm
cf0a0 69 6e 67 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 52 61 63 6b 65 74 20 69 73 20 61 6c 73 6f 20 61 20 ing.language...Racket.is.also.a.
cf0c0 60 60 6c 61 6e 67 75 61 67 65 2d 6f 72 69 65 6e 74 65 64 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 ``language-oriented.programming.
cf0e0 6c 61 6e 67 75 61 67 65 27 27 2e 20 4d 6f 73 74 20 52 61 63 6b 65 74 20 73 6f 75 72 63 65 20 66 language''..Most.Racket.source.f
cf100 69 6c 65 73 20 63 6f 6e 74 61 69 6e 20 61 20 60 23 6c 61 6e 67 60 20 6c 69 6e 65 2e 20 54 68 65 iles.contain.a.`#lang`.line..The
cf120 20 6c 61 6e 67 20 6d 61 79 20 62 65 20 61 6e 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 6c 61 6e .lang.may.be.an.s-expression.lan
cf140 67 20 6c 69 6b 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 7d 2c 20 6f 72 20 61 6e 20 61 74 2d 65 g.like.@code{racket},.or.an.at-e
cf160 78 70 72 65 73 73 69 6f 6e 20 6c 61 6e 67 20 6c 69 6b 65 20 40 63 6f 64 65 7b 73 63 72 69 62 62 xpression.lang.like.@code{scribb
cf180 6c 65 2f 6d 61 6e 75 61 6c 7d 2c 20 6f 72 20 73 6f 6d 65 74 68 69 6e 67 20 63 6f 6d 70 6c 65 74 le/manual},.or.something.complet
cf1a0 65 6c 79 20 64 69 66 66 65 72 65 6e 74 20 6c 69 6b 65 20 40 63 6f 64 65 7b 64 61 74 61 6c 6f 67 ely.different.like.@code{datalog
cf1c0 7d 20 6f 72 20 40 63 6f 64 65 7b 72 68 6f 6d 62 75 73 7d 2e 0a 0a 54 68 65 20 52 61 63 6b 65 74 }.or.@code{rhombus}...The.Racket
cf1e0 20 4d 6f 64 65 20 70 61 63 6b 61 67 65 20 6f 66 66 65 72 73 20 61 20 63 68 6f 69 63 65 20 6f 66 .Mode.package.offers.a.choice.of
cf200 20 74 77 6f 20 6d 61 6a 6f 72 20 6d 6f 64 65 73 20 74 6f 20 75 73 65 20 69 6e 20 62 75 66 66 65 .two.major.modes.to.use.in.buffe
cf220 72 73 20 66 6f 72 20 76 69 65 77 69 6e 67 20 61 6e 64 20 65 64 69 74 69 6e 67 20 73 6f 75 72 63 rs.for.viewing.and.editing.sourc
cf240 65 20 63 6f 64 65 2e 20 45 61 63 68 20 68 61 73 20 70 72 6f 73 20 61 6e 64 20 63 6f 6e 73 2e 0a e.code..Each.has.pros.and.cons..
cf260 0a 57 68 65 72 65 61 73 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 69 73 20 69 .Whereas.@code{racket-mode}.is.i
cf280 6e 20 74 68 65 20 74 72 61 64 69 74 69 6f 6e 20 6f 66 20 45 6d 61 63 73 20 40 63 6f 64 65 7b 6c n.the.tradition.of.Emacs.@code{l
cf2a0 69 73 70 2d 6d 6f 64 65 7d 20 61 6e 64 20 40 63 6f 64 65 7b 73 63 68 65 6d 65 2d 6d 6f 64 65 7d isp-mode}.and.@code{scheme-mode}
cf2c0 20 61 6e 64 20 61 73 73 75 6d 65 73 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 6c 61 6e 67 73 2c .and.assumes.s-expression.langs,
cf2e0 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 20 74 61 .@code{racket-hash-lang-mode}.ta
cf300 6b 65 73 20 74 68 65 20 61 70 70 72 6f 61 63 68 20 6f 66 20 44 72 52 61 63 6b 65 74 20 74 6f 20 kes.the.approach.of.DrRacket.to.
cf320 77 6f 72 6b 20 66 6f 72 20 61 6c 6c 20 6c 61 6e 67 73 2e 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 work.for.all.langs...@itemize.@i
cf340 74 65 6d 0a 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 69 73 20 74 68 65 20 6f 72 tem.@code{racket-mode}.is.the.or
cf360 69 67 69 6e 61 6c 2c 20 60 60 63 6c 61 73 73 69 63 27 27 20 6d 6f 64 65 20 66 6f 72 20 40 63 6f iginal,.``classic''.mode.for.@co
cf380 64 65 7b 23 6c 61 6e 67 20 72 61 63 6b 65 74 7d 20 61 6e 64 20 72 65 6c 61 74 65 64 20 73 2d 65 de{#lang.racket}.and.related.s-e
cf3a0 78 70 72 65 73 73 69 6f 6e 20 6c 61 6e 67 75 61 67 65 73 2e 20 49 74 20 69 73 20 69 6d 70 6c 65 xpression.languages..It.is.imple
cf3c0 6d 65 6e 74 65 64 20 65 6e 74 69 72 65 6c 79 20 69 6e 20 45 6d 61 63 73 20 61 6e 64 20 64 6f 65 mented.entirely.in.Emacs.and.doe
cf3e0 73 20 40 65 6d 70 68 7b 6e 6f 74 7d 20 6e 65 65 64 20 52 61 63 6b 65 74 20 4d 6f 64 65 27 73 20 s.@emph{not}.need.Racket.Mode's.
cf400 62 61 63 6b 20 65 6e 64 20 72 61 63 6b 65 74 20 70 72 6f 63 65 73 73 20 72 75 6e 6e 69 6e 67 2e back.end.racket.process.running.
cf420 20 46 6f 6e 74 2d 6c 6f 63 6b 20 28 63 6f 6c 6f 72 69 6e 67 29 20 75 73 65 73 20 72 75 6c 65 73 .Font-lock.(coloring).uses.rules
cf440 20 66 6f 72 20 61 20 66 69 78 65 64 20 73 65 74 20 6f 66 20 69 64 65 6e 74 69 66 69 65 72 73 20 .for.a.fixed.set.of.identifiers.
cf460 66 72 6f 6d 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 7d 20 6c 61 6e 67 20 61 6e 64 20 70 6f 70 75 from.@code{racket}.lang.and.popu
cf480 6c 61 72 20 6d 6f 64 75 6c 65 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2f 6d 61 lar.modules.like.@code{racket/ma
cf4a0 74 63 68 7d 2e 20 49 6e 64 65 6e 74 61 74 69 6f 6e 20 75 73 65 73 20 72 75 6c 65 73 20 66 6f 72 tch}..Indentation.uses.rules.for
cf4c0 20 61 20 66 69 78 65 64 20 73 65 74 20 6f 66 20 66 6f 72 6d 73 2c 20 61 6e 64 20 6d 61 79 20 62 .a.fixed.set.of.forms,.and.may.b
cf4e0 65 20 63 75 73 74 6f 6d 69 7a 65 64 2e 0a 0a 40 69 74 65 6d 0a 40 63 6f 64 65 7b 72 61 63 6b 65 e.customized...@item.@code{racke
cf500 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 20 75 73 65 73 20 66 6f 6e 74 2d 6c 6f 63 6b t-hash-lang-mode}.uses.font-lock
cf520 20 28 63 6f 6c 6f 72 73 29 20 61 6e 64 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 64 65 74 65 72 6d .(colors).and.indentation.determ
cf540 69 6e 65 64 20 62 79 20 74 68 65 20 6c 61 6e 67 3b 20 74 6f 20 67 65 74 20 74 68 69 73 20 69 6e ined.by.the.lang;.to.get.this.in
cf560 66 6f 72 6d 61 74 69 6f 6e 20 69 74 20 40 65 6d 70 68 7b 64 6f 65 73 7d 20 6e 65 65 64 20 74 68 formation.it.@emph{does}.need.th
cf580 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 27 73 20 62 61 63 6b 20 65 6e 64 20 72 61 63 6b 65 74 20 e.Racket.Mode's.back.end.racket.
cf5a0 70 72 6f 63 65 73 73 20 72 75 6e 6e 69 6e 67 2e 20 41 6c 74 68 6f 75 67 68 20 62 61 73 69 63 20 process.running..Although.basic.
cf5c0 65 64 69 74 69 6e 67 20 73 68 6f 75 6c 64 20 66 65 65 6c 20 66 61 73 74 2c 20 79 6f 75 20 6d 69 editing.should.feel.fast,.you.mi
cf5e0 67 68 74 20 6e 6f 74 69 63 65 20 73 6f 6d 65 20 64 65 6c 61 79 20 77 68 65 6e 20 69 6e 64 65 6e ght.notice.some.delay.when.inden
cf600 74 69 6e 67 2e 20 59 6f 75 20 6d 69 67 68 74 20 73 65 65 20 63 6f 6c 6f 72 73 20 61 70 70 65 61 ting..You.might.see.colors.appea
cf620 72 20 61 66 74 65 72 20 61 20 73 6d 61 6c 6c 20 64 65 6c 61 79 20 28 62 75 74 20 69 74 20 77 69 r.after.a.small.delay.(but.it.wi
cf640 6c 6c 20 6e 6f 74 20 62 6c 6f 63 6b 20 65 64 69 74 69 6e 67 29 2e 20 53 70 65 61 6b 69 6e 67 20 ll.not.block.editing)..Speaking.
cf660 6f 66 20 63 6f 6c 6f 72 73 2c 20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 60 60 70 6c 61 69 6e 65 of.colors,.they.will.be.``plaine
cf680 72 27 27 20 74 68 61 6e 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 2d 2d 20 6a r''.than.@code{racket-mode}.--.j
cf6a0 75 73 74 20 63 6f 6c 6f 72 73 20 66 6f 72 20 74 6f 6b 65 6e 73 20 6c 69 6b 65 20 6e 75 6d 62 65 ust.colors.for.tokens.like.numbe
cf6c0 72 73 2c 20 63 6f 6d 6d 65 6e 74 73 2c 20 73 74 72 69 6e 67 73 2c 20 61 6e 64 20 6b 65 79 77 6f rs,.comments,.strings,.and.keywo
cf6e0 72 64 73 2e 20 54 68 69 73 20 6c 6f 6f 6b 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 44 72 52 61 63 rds..This.looks.similar.to.DrRac
cf700 6b 65 74 2e 20 48 6f 77 65 76 65 72 20 79 6f 75 20 63 61 6e 20 65 6e 68 61 6e 63 65 20 74 68 69 ket..However.you.can.enhance.thi
cf720 73 20 69 6e 20 76 61 72 69 6f 75 73 20 77 61 79 73 3b 20 73 65 65 20 74 68 65 20 64 69 73 63 75 s.in.various.ways;.see.the.discu
cf740 73 73 69 6f 6e 20 6f 66 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d ssion.of.@ref{racket-hash-lang-m
cf760 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 7d 2e 0a 40 65 6e 64 20 69 74 65 6d 69 odule-language-hook}..@end.itemi
cf780 7a 65 0a 0a 59 6f 75 20 63 61 6e 20 75 73 65 20 64 69 66 66 65 72 65 6e 74 20 6d 61 6a 6f 72 20 ze..You.can.use.different.major.
cf7a0 6d 6f 64 65 73 20 66 6f 72 20 64 69 66 66 65 72 65 6e 74 20 6b 69 6e 64 73 20 6f 66 20 66 69 6c modes.for.different.kinds.of.fil
cf7c0 65 73 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 46 6f 72 20 65 64 69 74 69 6e 67 20 es:..@itemize.@item.For.editing.
cf7e0 40 63 6f 64 65 7b 2e 72 6b 74 7d 20 66 69 6c 65 73 20 61 6e 64 20 73 2d 65 78 70 72 65 73 73 69 @code{.rkt}.files.and.s-expressi
cf800 6f 6e 20 6c 61 6e 67 73 2c 20 77 68 69 63 68 20 6d 6f 64 65 20 74 6f 20 75 73 65 20 69 73 20 70 on.langs,.which.mode.to.use.is.p
cf820 65 72 73 6f 6e 61 6c 20 70 72 65 66 65 72 65 6e 63 65 2e 0a 0a 40 69 74 65 6d 0a 46 6f 72 20 40 ersonal.preference...@item.For.@
cf840 63 6f 64 65 7b 2e 73 63 72 62 6c 7d 20 61 6e 64 20 61 74 2d 65 78 70 72 65 73 73 69 6f 6e 20 6c code{.scrbl}.and.at-expression.l
cf860 61 6e 67 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 73 63 72 69 62 62 6c 65 2f 6d 61 6e 75 61 6c 7d angs.like.@code{scribble/manual}
cf880 2c 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 20 69 ,.@code{racket-hash-lang-mode}.i
cf8a0 73 20 70 72 6f 62 61 62 6c 79 20 62 65 74 74 65 72 20 74 68 61 6e 20 40 63 6f 64 65 7b 72 61 63 s.probably.better.than.@code{rac
cf8c0 6b 65 74 2d 6d 6f 64 65 7d 2e 20 28 4e 6f 74 65 20 74 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 ket-mode}..(Note.there.is.also.a
cf8e0 6e 20 75 6e 72 65 6c 61 74 65 64 20 40 63 6f 64 65 7b 73 63 72 69 62 62 6c 65 2d 6d 6f 64 65 7d n.unrelated.@code{scribble-mode}
cf900 20 70 61 63 6b 61 67 65 2e 29 0a 0a 40 69 74 65 6d 0a 46 6f 72 20 6e 6f 6e 2d 73 2d 65 78 70 72 .package.)..@item.For.non-s-expr
cf920 65 73 73 69 6f 6e 20 6c 61 6e 67 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 64 61 74 61 6c 6f 67 7d ession.langs.like.@code{datalog}
cf940 20 6f 72 20 40 63 6f 64 65 7b 72 68 6f 6d 62 75 73 7d 20 28 40 63 6f 64 65 7b 2e 72 68 6d 7d 29 .or.@code{rhombus}.(@code{.rhm})
cf960 2c 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 20 69 ,.@code{racket-hash-lang-mode}.i
cf980 73 20 64 65 66 69 6e 69 74 65 6c 79 20 62 65 74 74 65 72 20 74 68 61 6e 20 40 63 6f 64 65 7b 72 s.definitely.better.than.@code{r
cf9a0 61 63 6b 65 74 2d 6d 6f 64 65 7d 2e 20 28 4e 6f 74 65 20 74 68 65 72 65 20 69 73 20 61 6c 73 6f acket-mode}..(Note.there.is.also
cf9c0 20 61 6e 20 75 6e 72 65 6c 61 74 65 64 20 40 63 6f 64 65 7b 72 68 6f 6d 62 75 73 2d 6d 6f 64 65 .an.unrelated.@code{rhombus-mode
cf9e0 7d 20 70 61 63 6b 61 67 65 2e 29 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 59 6f 75 20 63 61 }.package.).@end.itemize..You.ca
cfa00 6e 20 75 73 65 20 40 63 6f 64 65 7b 61 75 74 6f 2d 6d 6f 64 65 2d 61 6c 69 73 74 7d 20 74 6f 20 n.use.@code{auto-mode-alist}.to.
cfa20 74 65 6c 6c 20 45 6d 61 63 73 20 77 68 69 63 68 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 74 6f 20 75 tell.Emacs.which.major.mode.to.u
cfa40 73 65 20 69 6e 69 74 69 61 6c 6c 79 20 66 6f 72 20 63 65 72 74 61 69 6e 20 66 69 6c 65 20 65 78 se.initially.for.certain.file.ex
cfa60 74 65 6e 73 69 6f 6e 73 2e 20 41 6c 73 6f 2c 20 69 6e 20 61 20 62 75 66 66 65 72 20 79 6f 75 20 tensions..Also,.in.a.buffer.you.
cfa80 63 61 6e 20 75 73 65 20 40 63 6f 64 65 7b 4d 2d 78 20 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 61 can.use.@code{M-x.racket-mode}.a
cfaa0 6e 64 20 40 63 6f 64 65 7b 4d 2d 78 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f nd.@code{M-x.racket-hash-lang-mo
cfac0 64 65 7d 20 74 6f 20 73 77 69 74 63 68 20 62 65 74 77 65 65 6e 20 74 68 65 6d 2e 0a 0a 40 6e 6f de}.to.switch.between.them...@no
cfae0 64 65 20 4b 65 79 20 62 69 6e 64 69 6e 67 73 0a 40 73 65 63 74 69 6f 6e 20 4b 65 79 20 62 69 6e de.Key.bindings.@section.Key.bin
cfb00 64 69 6e 67 73 0a 0a 54 6f 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 dings..To.customize.things.like.
cfb20 6b 65 79 20 62 69 6e 64 69 6e 67 73 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 40 63 6f 64 65 7b key.bindings,.you.can.use.@code{
cfb40 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 68 6f 6f 6b 7d 20 69 6e 20 79 6f 75 72 20 45 6d 61 63 73 20 racket-mode-hook}.in.your.Emacs.
cfb60 69 6e 69 74 20 66 69 6c 65 20 74 6f 20 6d 6f 64 69 66 79 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 init.file.to.modify.@code{racket
cfb80 2d 6d 6f 64 65 2d 6d 61 70 7d 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 61 6c 74 68 6f 75 67 -mode-map}..For.example,.althoug
cfba0 68 20 40 6b 62 64 7b 43 2d 63 20 43 2d 63 7d 20 20 69 73 20 62 6f 75 6e 64 20 62 79 20 64 65 66 h.@kbd{C-c.C-c}..is.bound.by.def
cfbc0 61 75 6c 74 20 74 6f 20 74 68 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 75 6e 7d 20 63 6f ault.to.the.@code{racket-run}.co
cfbe0 6d 6d 61 6e 64 2c 20 6c 65 74 27 73 20 73 61 79 20 79 6f 75 20 77 61 6e 74 65 64 20 40 6b 62 64 mmand,.let's.say.you.wanted.@kbd
cfc00 7b 46 35 7d 20 20 74 6f 20 62 65 20 61 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 62 69 6e 64 69 6e {F5}..to.be.an.additional.bindin
cfc20 67 3a 0a 0a 40 6c 69 73 70 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 6d 6f 64 65 g:..@lisp.(add-hook.'racket-mode
cfc40 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 -hook...........(lambda.()......
cfc60 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 6d .......(define-key.racket-mode-m
cfc80 61 70 20 28 6b 62 64 20 22 3c 66 35 3e 22 29 20 27 72 61 63 6b 65 74 2d 72 75 6e 29 29 29 0a 40 ap.(kbd."<f5>").'racket-run))).@
cfca0 65 6e 64 20 6c 69 73 70 0a 0a 4c 69 6b 65 77 69 73 65 20 66 6f 72 20 40 63 6f 64 65 7b 72 61 63 end.lisp..Likewise.for.@code{rac
cfcc0 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 7d 20 61 6e 64 20 40 63 6f 64 65 7b 72 61 ket-repl-mode-hook}.and.@code{ra
cfce0 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 6d 61 70 7d 2e 0a 0a 40 6e 6f 64 65 20 46 6f 6e 74 cket-repl-mode-map}...@node.Font
cfd00 2d 6c 6f 63 6b 20 28 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 29 0a 40 73 65 63 -lock.(syntax.highlighting).@sec
cfd20 74 69 6f 6e 20 46 6f 6e 74 2d 6c 6f 63 6b 20 28 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 tion.Font-lock.(syntax.highlight
cfd40 69 6e 67 29 0a 0a 40 71 75 6f 74 61 74 69 6f 6e 0a 4e 6f 74 65 3a 20 54 68 65 20 61 6c 74 65 72 ing)..@quotation.Note:.The.alter
cfd60 6e 61 74 69 76 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 native.major.mode.@ref{racket-ha
cfd80 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 20 64 69 73 61 62 6c 65 73 20 61 6c 6c 20 6f 66 20 74 68 sh-lang-mode}.disables.all.of.th
cfda0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 62 65 68 61 76 69 6f 72 20 61 6e 64 20 75 73 65 73 20 63 6f e.following.behavior.and.uses.co
cfdc0 6c 6f 72 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 23 6c 61 6e 67 2e 0a 0a 40 lors.determined.by.the.#lang...@
cfde0 65 6e 64 20 71 75 6f 74 61 74 69 6f 6e 0a 0a 46 6f 6e 74 2d 6c 6f 63 6b 20 28 61 73 20 45 6d 61 end.quotation..Font-lock.(as.Ema
cfe00 63 73 20 63 61 6c 6c 73 20 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 29 20 63 61 cs.calls.syntax.highlighting).ca
cfe20 6e 20 62 65 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 75 73 69 6e 67 20 74 68 65 20 76 61 72 69 61 62 n.be.controlled.using.the.variab
cfe40 6c 65 20 40 63 6f 64 65 7b 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 61 78 69 6d 75 6d 2d 64 65 63 6f 72 le.@code{font-lock-maximum-decor
cfe60 61 74 69 6f 6e 7d 2c 20 77 68 69 63 68 20 64 65 66 61 75 6c 74 73 20 74 6f 20 40 63 6f 64 65 7b ation},.which.defaults.to.@code{
cfe80 74 7d 20 28 6d 61 78 69 6d 75 6d 29 2e 20 59 6f 75 20 63 61 6e 20 73 65 74 20 69 74 20 74 6f 20 t}.(maximum)..You.can.set.it.to.
cfea0 61 20 6e 75 6d 62 65 72 2c 20 77 68 65 72 65 20 40 63 6f 64 65 7b 30 7d 20 69 73 20 74 68 65 20 a.number,.where.@code{0}.is.the.
cfec0 6c 6f 77 65 73 74 20 6c 65 76 65 6c 2e 20 59 6f 75 20 63 61 6e 20 65 76 65 6e 20 73 75 70 70 6c lowest.level..You.can.even.suppl
cfee0 79 20 61 6e 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 6c 69 73 74 20 74 6f 20 73 70 65 63 69 66 79 y.an.association.list.to.specify
cff00 20 64 69 66 66 65 72 65 6e 74 20 76 61 6c 75 65 73 20 66 6f 72 20 64 69 66 66 65 72 65 6e 74 20 .different.values.for.different.
cff20 6d 61 6a 6f 72 20 6d 6f 64 65 73 2e 0a 0a 48 69 73 74 6f 72 69 63 61 6c 6c 79 20 79 6f 75 20 6d major.modes...Historically.you.m
cff40 69 67 68 74 20 63 68 6f 6f 73 65 20 61 20 6c 6f 77 65 72 20 6c 65 76 65 6c 20 66 6f 72 20 73 70 ight.choose.a.lower.level.for.sp
cff60 65 65 64 2e 20 54 68 65 73 65 20 64 61 79 73 20 79 6f 75 20 6d 69 67 68 74 20 64 6f 20 73 6f 20 eed..These.days.you.might.do.so.
cff80 62 65 63 61 75 73 65 20 79 6f 75 20 70 72 65 66 65 72 20 61 20 73 69 6d 70 6c 65 72 20 61 70 70 because.you.prefer.a.simpler.app
cffa0 65 61 72 61 6e 63 65 2e 0a 0a 52 61 63 6b 65 74 20 4d 6f 64 65 20 73 75 70 70 6f 72 74 73 20 66 earance...Racket.Mode.supports.f
cffc0 6f 75 72 2c 20 69 6e 63 72 65 61 73 69 6e 67 20 6c 65 76 65 6c 73 20 6f 66 20 66 6f 6e 74 2d 6c our,.increasing.levels.of.font-l
cffe0 6f 63 6b 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 63 6f 64 65 7b 30 7d 3a 20 4a ock:..@itemize.@item.@code{0}:.J
d0000 75 73 74 20 73 74 72 69 6e 67 73 2c 20 63 6f 6d 6d 65 6e 74 73 2c 20 61 6e 64 20 40 63 6f 64 65 ust.strings,.comments,.and.@code
d0020 7b 23 6c 61 6e 67 7d 2e 0a 40 69 74 65 6d 0a 40 63 6f 64 65 7b 31 7d 3a 20 40 63 6f 64 65 7b 23 {#lang}..@item.@code{1}:.@code{#
d0040 3a 6b 65 79 77 6f 72 64 7d 20 61 6e 64 20 73 65 6c 66 2d 65 76 61 6c 75 61 74 69 6e 67 20 6c 69 :keyword}.and.self-evaluating.li
d0060 74 65 72 61 6c 73 20 6c 69 6b 65 20 6e 75 6d 62 65 72 73 2c 20 71 75 6f 74 65 64 20 73 79 6d 62 terals.like.numbers,.quoted.symb
d0080 6f 6c 73 20 28 69 6e 63 6c 75 64 69 6e 67 20 73 79 6d 62 6f 6c 73 20 77 69 74 68 20 73 70 61 63 ols.(including.symbols.with.spac
d00a0 65 73 20 64 65 6c 69 6d 69 74 65 64 20 62 79 20 40 63 6f 64 65 7b 7c 7d 20 63 68 61 72 61 63 74 es.delimited.by.@code{|}.charact
d00c0 65 72 73 29 2c 20 61 6e 64 20 40 63 6f 64 65 7b 23 72 78 7d 20 61 6e 64 20 40 63 6f 64 65 7b 23 ers),.and.@code{#rx}.and.@code{#
d00e0 70 78 7d 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 40 69 74 65 6d 0a 40 px}.regular.expressions..@item.@
d0100 63 6f 64 65 7b 32 7d 3a 20 49 64 65 6e 74 69 66 69 65 72 73 20 69 6e 20 40 63 6f 64 65 7b 64 65 code{2}:.Identifiers.in.@code{de
d0120 66 69 6e 65 7d 2d 6c 69 6b 65 20 61 6e 64 20 40 63 6f 64 65 7b 6c 65 74 7d 2d 6c 69 6b 65 20 66 fine}-like.and.@code{let}-like.f
d0140 6f 72 6d 73 2e 0a 40 69 74 65 6d 0a 40 63 6f 64 65 7b 33 7d 3a 20 49 64 65 6e 74 69 66 69 65 72 orms..@item.@code{3}:.Identifier
d0160 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 7d 2c 20 40 63 6f s.provided.by.@code{racket},.@co
d0180 64 65 7b 74 79 70 65 64 2f 72 61 63 6b 65 74 7d 2c 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2f 73 de{typed/racket},.@code{racket/s
d01a0 79 6e 74 61 78 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 73 79 6e 74 61 78 2f 70 61 72 73 65 7d 2e yntax},.and.@code{syntax/parse}.
d01c0 20 28 54 68 69 73 20 6c 65 76 65 6c 20 65 66 66 65 63 74 69 76 65 6c 79 20 74 72 65 61 74 73 20 .(This.level.effectively.treats.
d01e0 52 61 63 6b 65 74 20 61 73 20 61 20 6c 61 6e 67 75 61 67 65 2c 20 69 6e 73 74 65 61 64 20 6f 66 Racket.as.a.language,.instead.of
d0200 20 61 20 6c 61 6e 67 75 61 67 65 20 66 6f 72 20 6d 61 6b 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 .a.language.for.making.languages
d0220 2e 29 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 40 6e 6f 64 65 20 43 6f 6d 70 6c 65 74 69 .)..@end.itemize..@node.Completi
d0240 6f 6e 20 61 74 20 70 6f 69 6e 74 0a 40 73 65 63 74 69 6f 6e 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 on.at.point.@section.Completion.
d0260 61 74 20 70 6f 69 6e 74 0a 0a 49 6e 20 45 6d 61 63 73 2c 20 61 20 6d 61 6a 6f 72 20 6d 6f 64 65 at.point..In.Emacs,.a.major.mode
d0280 20 6d 61 79 20 73 75 70 70 6c 79 20 61 20 60 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f .may.supply.a.``completion-at-po
d02a0 69 6e 74 20 66 75 6e 63 74 69 6f 6e 27 27 2e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 int.function''..This.function.is
d02c0 20 75 73 65 64 20 62 79 20 6d 61 6e 75 61 6c 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 6f 6d 6d 61 .used.by.manual.completion.comma
d02e0 6e 64 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 63 6f 6d 70 6c 65 74 65 2d 73 79 6d 62 6f 6c 7d 20 nds.like.@code{complete-symbol}.
d0300 28 62 6f 75 6e 64 20 62 79 20 64 65 66 61 75 6c 74 20 74 6f 20 40 6b 62 64 7b 43 2d 4d 2d 69 7d (bound.by.default.to.@kbd{C-M-i}
d0320 20 29 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 62 79 20 61 75 74 6f 2d 63 6f 6d 70 6c 65 74 69 6f .),.as.well.as.by.auto-completio
d0340 6e 20 70 61 63 6b 61 67 65 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 63 6f 6d 70 61 6e 79 2d 6d 6f n.packages.like.@code{company-mo
d0360 64 65 7d 2e 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 63 6f 64 65 7b 72 61 63 6b 65 de}...@itemize.@item.@code{racke
d0380 74 2d 6d 6f 64 65 7d 20 73 75 70 70 6c 69 65 73 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 63 6f t-mode}.supplies.@code{racket-co
d03a0 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 7d 2c 20 77 68 69 63 68 20 73 69 6d 70 6c 79 20 73 mplete-at-point},.which.simply.s
d03c0 75 70 70 6c 69 65 73 20 74 68 65 20 73 61 6d 65 20 73 79 6d 62 6f 6c 73 20 74 68 61 74 20 69 74 upplies.the.same.symbols.that.it
d03e0 20 6b 6e 6f 77 73 20 68 6f 77 20 74 6f 20 66 6f 6e 74 2d 6c 6f 63 6b 2e 20 54 68 69 73 20 64 6f .knows.how.to.font-lock..This.do
d0400 65 73 20 40 65 6d 70 68 7b 6e 6f 74 7d 20 72 65 71 75 69 72 65 20 74 68 65 20 52 61 63 6b 65 74 es.@emph{not}.require.the.Racket
d0420 20 4d 6f 64 65 20 62 61 63 6b 20 65 6e 64 20 74 6f 20 62 65 20 72 75 6e 6e 69 6e 67 2e 20 42 75 .Mode.back.end.to.be.running..Bu
d0440 74 20 6f 66 20 63 6f 75 72 73 65 20 74 68 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 t.of.course.the.completion.candi
d0460 64 61 74 65 73 20 64 6f 20 6e 6f 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 79 6f 75 72 20 dates.do.not.correspond.to.your.
d0480 70 72 6f 67 72 61 6d 27 73 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 6f 72 20 74 68 6f 73 65 20 69 program's.definitions.or.those.i
d04a0 74 20 69 6d 70 6f 72 74 73 2e 20 54 68 69 73 20 69 73 20 61 20 73 74 61 74 69 63 2c 20 60 60 62 t.imports..This.is.a.static,.``b
d04c0 65 74 74 65 72 20 74 68 61 6e 20 6e 6f 74 68 69 6e 67 27 27 20 66 61 6c 6c 62 61 63 6b 2e 0a 0a etter.than.nothing''.fallback...
d04e0 40 69 74 65 6d 0a 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 2d 2d 2d 20 @item.@code{racket-xp-mode}.---.
d0500 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 74 68 61 74 20 65 6e 68 61 an.optional.minor.mode.that.enha
d0520 6e 63 65 73 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 2d 2d 2d 20 73 75 70 70 nces.@code{racket-mode}.---.supp
d0540 6c 69 65 73 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 lies.@code{racket-xp-complete-at
d0560 2d 70 6f 69 6e 74 7d 2c 20 77 68 69 63 68 20 75 73 65 73 20 61 20 73 74 61 74 69 63 20 61 6e 61 -point},.which.uses.a.static.ana
d0580 6c 79 73 69 73 20 74 6f 20 66 69 6e 64 20 6c 6f 63 61 6c 20 61 6e 64 20 69 6d 70 6f 72 74 65 64 lysis.to.find.local.and.imported
d05a0 20 62 69 6e 64 69 6e 67 20 6e 61 6d 65 73 2e 20 41 6c 74 68 6f 75 67 68 20 74 68 69 73 20 72 65 .binding.names..Although.this.re
d05c0 71 75 69 72 65 73 20 74 68 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 62 61 63 6b 20 65 6e 64 20 quires.the.Racket.Mode.back.end.
d05e0 74 6f 20 62 65 20 72 75 6e 6e 69 6e 67 20 2d 2d 2d 20 61 6e 64 20 77 69 6c 6c 20 61 75 74 6f 6d to.be.running.---.and.will.autom
d0600 61 74 69 63 61 6c 6c 79 20 73 74 61 72 74 20 69 74 20 2d 2d 2d 20 69 74 20 64 6f 65 73 20 40 65 atically.start.it.---.it.does.@e
d0620 6d 70 68 7b 6e 6f 74 7d 20 72 65 71 75 69 72 65 20 74 68 65 20 65 64 69 74 20 62 75 66 66 65 72 mph{not}.require.the.edit.buffer
d0640 20 74 6f 20 62 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 75 6e 7d 2e 20 54 68 69 73 20 61 .to.be.@code{racket-run}..This.a
d0660 6c 73 6f 20 73 75 70 70 6c 69 65 73 20 6d 65 74 61 20 64 61 74 61 20 75 73 61 62 6c 65 20 62 79 lso.supplies.meta.data.usable.by
d0680 20 74 68 65 20 40 63 6f 64 65 7b 63 6f 6d 70 61 6e 79 2d 63 61 70 66 7d 20 62 61 63 6b 65 6e 64 .the.@code{company-capf}.backend
d06a0 2e 0a 0a 40 69 74 65 6d 0a 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d ...@item.@code{racket-repl-mode}
d06c0 20 73 75 70 70 6c 69 65 73 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 70 .supplies.@code{racket-repl-comp
d06e0 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 7d 2c 20 77 68 69 63 68 20 75 73 65 73 20 74 68 65 20 72 lete-at-point},.which.uses.the.r
d0700 65 73 75 6c 74 20 6f 66 20 40 63 6f 64 65 7b 6e 61 6d 65 73 70 61 63 65 2d 6d 61 70 70 65 64 2d esult.of.@code{namespace-mapped-
d0720 73 79 6d 62 6f 6c 73 7d 20 6f 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 20 63 75 72 72 65 6e 74 6c symbols}.on.the.program.currentl
d0740 79 20 72 75 6e 6e 69 6e 67 20 69 6e 20 74 68 65 20 52 45 50 4c 40 2e 0a 40 65 6e 64 20 69 74 65 y.running.in.the.REPL@..@end.ite
d0760 6d 69 7a 65 0a 0a 54 68 65 73 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 mize..These.completion.functions
d0780 20 61 72 65 20 73 65 74 20 62 79 20 64 65 66 61 75 6c 74 2e 20 28 48 6f 77 65 76 65 72 2c 20 40 .are.set.by.default..(However,.@
d07a0 63 6f 64 65 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 69 73 20 6e 6f 74 20 65 6e 61 62 code{racket-xp-mode}.is.not.enab
d07c0 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2e 20 54 6f 20 64 6f 20 73 6f 3a 20 40 72 65 66 7b 72 led.by.default..To.do.so:.@ref{r
d07e0 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 2e 29 0a 0a 49 66 20 79 6f 75 20 77 61 6e 74 20 40 6b acket-xp-mode}.)..If.you.want.@k
d0800 62 64 7b 54 41 42 7d 20 20 74 6f 20 64 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 61 73 20 77 65 6c bd{TAB}..to.do.completion.as.wel
d0820 6c 20 61 73 20 69 6e 64 65 6e 74 2c 20 61 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 l.as.indent,.add.the.following.t
d0840 6f 20 79 6f 75 72 20 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 3a 0a 0a 40 6c 69 73 70 0a 28 o.your.Emacs.init.file:..@lisp.(
d0860 73 65 74 71 20 74 61 62 2d 61 6c 77 61 79 73 2d 69 6e 64 65 6e 74 20 27 63 6f 6d 70 6c 65 74 65 setq.tab-always-indent.'complete
d0880 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 54 68 69 73 20 63 68 61 6e 67 65 73 20 74 68 65 20 62 65 ).@end.lisp..This.changes.the.be
d08a0 68 61 76 69 6f 72 20 6f 66 20 45 6d 61 63 73 27 20 73 74 61 6e 64 61 72 64 20 40 63 6f 64 65 7b havior.of.Emacs'.standard.@code{
d08c0 69 6e 64 65 6e 74 2d 66 6f 72 2d 74 61 62 2d 63 6f 6d 6d 61 6e 64 7d 2c 20 74 6f 20 77 68 69 63 indent-for-tab-command},.to.whic
d08e0 68 20 40 6b 62 64 7b 54 41 42 7d 20 20 69 73 20 62 6f 75 6e 64 20 62 79 20 64 65 66 61 75 6c 74 h.@kbd{TAB}..is.bound.by.default
d0900 20 69 6e 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 61 6e 64 20 40 63 6f 64 65 .in.@code{racket-mode}.and.@code
d0920 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 2e 0a 0a 40 6e 6f 64 65 20 43 6f 6d 70 6c {racket-repl-mode}...@node.Compl
d0940 65 74 69 6f 6e 20 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 0a 40 73 65 63 74 69 6f 6e 20 43 6f 6d etion.in.minibuffer.@section.Com
d0960 70 6c 65 74 69 6f 6e 20 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 0a 0a 53 6f 6d 65 74 69 6d 65 73 pletion.in.minibuffer..Sometimes
d0980 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 61 73 6b 73 20 66 6f 72 20 69 6e 70 75 74 20 69 6e 20 74 .Racket.Mode.asks.for.input.in.t
d09a0 68 65 20 6d 69 6e 69 62 75 66 66 65 72 2e 20 54 6f 20 64 6f 20 73 6f 20 69 74 20 75 73 65 73 20 he.minibuffer..To.do.so.it.uses.
d09c0 74 68 65 20 73 74 61 6e 64 61 72 64 20 45 6d 61 63 73 20 66 75 6e 63 74 69 6f 6e 20 40 63 6f 64 the.standard.Emacs.function.@cod
d09e0 65 7b 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 7d 2c 20 73 6f 20 61 73 20 74 6f 20 62 65 20 e{completing-read},.so.as.to.be.
d0a00 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 61 6c 6c 20 45 6d 61 63 73 20 70 61 63 6b 61 67 compatible.with.all.Emacs.packag
d0a20 65 73 20 74 68 61 74 20 65 6e 68 61 6e 63 65 20 40 63 6f 64 65 7b 63 6f 6d 70 6c 65 74 69 6e 67 es.that.enhance.@code{completing
d0a40 2d 72 65 61 64 7d 2c 20 73 75 63 68 20 61 73 20 68 65 6c 6d 2c 20 69 76 79 2c 20 69 64 6f 2d 63 -read},.such.as.helm,.ivy,.ido-c
d0a60 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 2b 2c 20 76 65 72 74 69 63 6f 2c 20 61 6e 64 20 73 6f ompleting-read+,.vertico,.and.so
d0a80 20 6f 6e 2e 0a 0a 28 45 61 72 6c 69 65 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 52 61 63 6b 65 .on...(Earlier.versions.of.Racke
d0aa0 74 20 4d 6f 64 65 20 73 6f 6d 65 74 69 6d 65 73 20 75 73 65 64 20 40 63 6f 64 65 7b 69 64 6f 2d t.Mode.sometimes.used.@code{ido-
d0ac0 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 7d 2e 20 49 66 20 79 6f 75 20 68 61 76 65 20 75 70 completing-read}..If.you.have.up
d0ae0 67 72 61 64 65 64 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 61 6e 64 20 6d 69 73 73 20 74 68 61 74 graded.Racket.Mode.and.miss.that
d0b00 2c 20 73 69 6d 70 6c 79 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 69 64 6f 2d 63 6f 6d 70 6c 65 74 ,.simply.install.the.ido-complet
d0b20 69 6e 67 2d 72 65 61 64 2b 20 70 61 63 6b 61 67 65 2e 29 0a 0a 40 6e 6f 64 65 20 58 72 65 66 20 ing-read+.package.)..@node.Xref.
d0b40 28 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 72 65 66 65 72 65 6e 63 65 73 29 0a 40 73 65 (definitions.and.references).@se
d0b60 63 74 69 6f 6e 20 58 72 65 66 20 28 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 72 65 66 65 ction.Xref.(definitions.and.refe
d0b80 72 65 6e 63 65 73 29 0a 0a 53 65 76 65 72 61 6c 20 6d 6f 64 65 73 20 73 75 70 70 6f 72 74 20 74 rences)..Several.modes.support.t
d0ba0 68 65 20 45 6d 61 63 73 20 63 6f 6d 6d 61 6e 64 73 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 he.Emacs.commands..@itemize.@ite
d0bc0 6d 0a 40 6b 62 64 7b 4d 2d 2e 7d 20 20 40 63 6f 64 65 7b 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 m.@kbd{M-.}..@code{xref-find-def
d0be0 69 6e 69 74 69 6f 6e 73 7d 0a 40 69 74 65 6d 0a 40 6b 62 64 7b 4d 2d 3f 7d 20 20 40 63 6f 64 65 initions}.@item.@kbd{M-?}..@code
d0c00 7b 78 72 65 66 2d 66 69 6e 64 2d 72 65 66 65 72 65 6e 63 65 73 7d 0a 40 69 74 65 6d 0a 40 6b 62 {xref-find-references}.@item.@kb
d0c20 64 7b 4d 2d 2c 7d 20 20 40 63 6f 64 65 7b 78 72 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 d{M-,}..@code{xref-pop-marker-st
d0c40 61 63 6b 7d 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 54 6f 20 64 6f 20 73 6f 2c 20 65 61 63 ack}.@end.itemize..To.do.so,.eac
d0c60 68 20 6d 6f 64 65 20 61 64 64 73 20 61 20 6c 6f 63 61 6c 20 68 6f 6f 6b 20 66 6f 72 20 40 63 6f h.mode.adds.a.local.hook.for.@co
d0c80 64 65 7b 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 7d 3a 0a 0a 40 69 74 de{xref-backend-functions}:..@it
d0ca0 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 3a 20 40 emize.@item.@ref{racket-mode}:.@
d0cc0 63 6f 64 65 7b 23 27 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d code{#'racket-mode-xref-backend-
d0ce0 66 75 6e 63 74 69 6f 6e 7d 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6d function}.@item.@ref{racket-xp-m
d0d00 6f 64 65 7d 3a 20 40 63 6f 64 65 7b 23 27 72 61 63 6b 65 74 2d 78 70 2d 78 72 65 66 2d 62 61 63 ode}:.@code{#'racket-xp-xref-bac
d0d20 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 7d 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 kend-function}.@item.@ref{racket
d0d40 2d 72 65 70 6c 2d 6d 6f 64 65 7d 3a 20 40 63 6f 64 65 7b 23 27 72 61 63 6b 65 74 2d 72 65 70 6c -repl-mode}:.@code{#'racket-repl
d0d60 2d 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 7d 0a 40 65 6e 64 20 69 74 65 -xref-backend-function}.@end.ite
d0d80 6d 69 7a 65 0a 0a 49 66 20 79 6f 75 20 70 72 65 66 65 72 2c 20 79 6f 75 20 63 61 6e 20 72 65 6d mize..If.you.prefer,.you.can.rem
d0da0 6f 76 65 20 74 68 65 20 6c 6f 63 61 6c 20 68 6f 6f 6b 20 2d 2d 2d 20 65 2e 67 2e 20 66 6f 72 20 ove.the.local.hook.---.e.g..for.
d0dc0 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 3a 20 40 63 6f 64 65 7b 28 72 65 6d 6f 76 @code{racket-mode}:.@code{(remov
d0de0 65 2d 68 6f 6f 6b 20 27 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 20 23 e-hook.'xref-backend-functions.#
d0e00 27 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 78 72 65 66 2d 66 75 6e 63 74 69 6f 6e 20 74 29 7d 2e 0a 'racket-mode-xref-function.t)}..
d0e20 0a 59 6f 75 20 63 61 6e 20 40 63 6f 64 65 7b 4d 2d 78 20 63 75 73 74 6f 6d 69 7a 65 2d 67 72 6f .You.can.@code{M-x.customize-gro
d0e40 75 70 7d 20 61 6e 64 20 65 6e 74 65 72 20 40 63 6f 64 65 7b 78 72 65 66 7d 20 74 6f 20 61 64 6a up}.and.enter.@code{xref}.to.adj
d0e60 75 73 74 20 73 6f 6d 65 20 6f 74 68 65 72 20 73 65 74 74 69 6e 67 73 2e 20 46 6f 72 20 65 78 61 ust.some.other.settings..For.exa
d0e80 6d 70 6c 65 2c 20 74 68 65 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 mple,.the.customization.variable
d0ea0 20 40 63 6f 64 65 7b 78 72 65 66 2d 70 72 6f 6d 70 74 2d 66 6f 72 2d 69 64 65 6e 74 69 66 69 65 .@code{xref-prompt-for-identifie
d0ec0 72 7d 20 63 6f 6e 74 72 6f 6c 73 20 77 68 69 63 68 20 63 6f 6d 6d 61 6e 64 73 20 70 72 6f 6d 70 r}.controls.which.commands.promp
d0ee0 74 20 79 6f 75 20 61 6e 64 20 77 68 65 6e 2e 20 59 6f 75 20 6d 69 67 68 74 20 70 72 65 66 65 72 t.you.and.when..You.might.prefer
d0f00 20 74 6f 20 73 65 74 20 69 74 20 74 6f 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 49 66 20 79 6f .to.set.it.to.@code{nil}...If.yo
d0f20 75 20 75 73 65 20 40 63 6f 64 65 7b 70 61 72 65 64 69 74 7d 2c 20 62 79 20 64 65 66 61 75 6c 74 u.use.@code{paredit},.by.default
d0f40 20 69 74 20 62 69 6e 64 73 20 40 6b 62 64 7b 4d 2d 3f 7d 20 20 74 6f 20 40 63 6f 64 65 7b 70 61 .it.binds.@kbd{M-?}..to.@code{pa
d0f60 72 65 64 69 74 2d 63 6f 6e 76 6f 6c 75 74 65 2d 73 65 78 70 7d 2e 20 59 6f 75 20 63 61 6e 20 63 redit-convolute-sexp}..You.can.c
d0f80 68 61 6e 67 65 20 74 68 61 74 20 62 69 6e 64 69 6e 67 20 69 6e 20 40 63 6f 64 65 7b 70 61 72 65 hange.that.binding.in.@code{pare
d0fa0 64 69 74 2d 6d 6f 64 65 2d 6d 61 70 7d 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 67 6c 6f 62 61 dit-mode-map}.allowing.the.globa
d0fc0 6c 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 40 6b 62 64 7b 4d 2d 3f 7d 20 20 74 6f 20 62 65 20 75 l.binding.for.@kbd{M-?}..to.be.u
d0fe0 73 65 64 2c 20 6f 72 2c 20 70 69 63 6b 20 73 6f 6d 65 20 6f 74 68 65 72 20 6b 65 79 20 66 6f 72 sed,.or,.pick.some.other.key.for
d1000 20 40 63 6f 64 65 7b 78 72 65 66 2d 66 69 6e 64 2d 72 65 66 65 72 65 6e 63 65 73 7d 20 69 6e 20 .@code{xref-find-references}.in.
d1020 74 68 65 20 67 6c 6f 62 61 6c 20 6d 61 70 2e 0a 0a 46 69 6e 61 6c 6c 79 2c 20 77 68 61 74 20 74 the.global.map...Finally,.what.t
d1040 6f 20 65 78 70 65 63 74 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 52 61 63 6b 65 74 o.expect:..@itemize.@item.Racket
d1060 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 20 67 6c 6f 62 61 6c 20 6f 72 20 70 72 6f 6a 65 .does.not.have.a.global.or.proje
d1080 63 74 2d 77 69 64 65 20 64 61 74 61 62 61 73 65 20 6f 66 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 ct-wide.database.of.definitions.
d10a0 61 6e 64 20 72 65 66 65 72 65 6e 63 65 73 2e 0a 40 69 74 65 6d 0a 56 61 72 69 6f 75 73 20 6d 6f and.references..@item.Various.mo
d10c0 64 75 6c 65 73 20 63 61 6e 20 65 78 70 6f 72 74 20 69 64 65 6e 74 69 66 69 65 72 73 20 77 69 74 dules.can.export.identifiers.wit
d10e0 68 20 74 68 65 20 73 61 6d 65 20 73 79 6d 62 6f 6c 69 63 20 76 61 6c 75 65 20 2d 2d 20 66 6f 72 h.the.same.symbolic.value.--.for
d1100 20 65 78 61 6d 70 6c 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 60 60 64 65 66 69 6e 65 27 27 20 .example.a.different.``define''.
d1120 69 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2f 62 61 73 65 is.provided.by.@code{racket/base
d1140 7d 2c 20 40 63 6f 64 65 7b 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 62 61 73 65 7d 2c 20 61 6e 64 },.@code{typed/racket/base},.and
d1160 20 6f 74 68 65 72 20 6d 6f 64 75 6c 65 73 2e 0a 40 69 74 65 6d 0a 41 20 6d 6f 64 75 6c 65 20 63 .other.modules..@item.A.module.c
d1180 61 6e 20 69 6d 70 6f 72 74 20 73 6f 6d 65 74 68 69 6e 67 2c 20 74 68 65 6e 20 72 65 6e 61 6d 65 an.import.something,.then.rename
d11a0 2c 20 63 6f 6e 74 72 61 63 74 2c 20 61 6e 64 20 72 65 2d 65 78 70 6f 72 74 20 69 74 2e 0a 40 65 ,.contract,.and.re-export.it..@e
d11c0 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 41 73 20 61 20 72 65 73 75 6c 74 2c 20 74 6f 20 66 69 6e 64 nd.itemize..As.a.result,.to.find
d11e0 20 61 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 69 74 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 74 .a.definition,.it.is.necessary.t
d1200 6f 20 6b 6e 6f 77 20 65 78 61 63 74 6c 79 20 40 65 6d 70 68 7b 77 68 69 63 68 7d 20 69 64 65 6e o.know.exactly.@emph{which}.iden
d1220 74 69 66 69 65 72 20 69 73 20 6d 65 61 6e 74 20 2d 2d 2d 20 65 69 74 68 65 72 20 62 79 20 65 78 tifier.is.meant.---.either.by.ex
d1240 70 61 6e 64 69 6e 67 20 74 68 65 20 6d 6f 64 75 6c 65 20 28 61 73 20 69 73 20 64 6f 6e 65 20 62 panding.the.module.(as.is.done.b
d1260 79 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 29 20 6f 72 20 62 79 20 61 y.@code{racket-xp-mode}).or.by.a
d1280 63 74 75 61 6c 6c 79 20 72 75 6e 6e 69 6e 67 20 69 74 20 28 40 63 6f 64 65 7b 72 61 63 6b 65 74 ctually.running.it.(@code{racket
d12a0 2d 72 65 70 6c 2d 6d 6f 64 65 7d 29 2e 20 4f 6e 63 65 20 6b 6e 6f 77 6e 2c 20 77 65 20 63 61 6e -repl-mode})..Once.known,.we.can
d12c0 20 75 73 75 61 6c 6c 79 20 66 69 6e 64 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 73 69 74 .usually.find.the.definition.sit
d12e0 65 2c 20 65 76 65 6e 20 74 68 72 6f 75 67 68 20 61 20 63 68 61 69 6e 20 6f 66 20 72 65 6e 61 6d e,.even.through.a.chain.of.renam
d1300 69 6e 67 20 61 6e 64 2f 6f 72 20 63 6f 6e 74 72 61 63 74 2d 77 72 61 70 70 69 6e 67 20 65 78 70 ing.and/or.contract-wrapping.exp
d1320 6f 72 74 73 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 77 68 65 6e 20 70 6f 69 6e 74 20 69 73 orts..In.addition,.when.point.is
d1340 20 6f 6e 20 61 20 6d 6f 64 75 6c 65 20 77 69 74 68 69 6e 20 20 40 63 6f 64 65 7b 72 65 71 75 69 .on.a.module.within..@code{requi
d1360 72 65 7d 20 66 6f 72 6d 2c 20 77 65 20 63 61 6e 20 75 73 75 61 6c 6c 79 20 66 69 6e 64 20 74 68 re}.form,.we.can.usually.find.th
d1380 65 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 28 49 6e 20 70 6c 61 69 6e 20 40 63 6f 64 65 7b 72 e.source.file..(In.plain.@code{r
d13a0 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 65 64 69 74 20 62 75 66 66 65 72 73 20 6e 6f 74 20 65 6e 68 acket-mode}.edit.buffers.not.enh
d13c0 61 6e 63 65 64 20 62 79 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 2c 20 anced.by.@code{racket-xp-mode},.
d13e0 74 68 65 20 6f 6e 6c 79 20 74 68 69 6e 67 20 74 68 61 74 20 40 63 6f 64 65 7b 78 72 65 66 2d 66 the.only.thing.that.@code{xref-f
d1400 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 7d 20 64 6f 65 73 20 69 73 20 76 69 73 69 74 20 72 ind-definitions}.does.is.visit.r
d1420 65 6c 61 74 69 76 65 20 72 65 71 75 69 72 65 73 2c 20 65 2e 67 2e 20 40 63 6f 64 65 7b 66 6f 6f elative.requires,.e.g..@code{foo
d1440 2e 72 6b 74 7d 20 69 6e 20 40 63 6f 64 65 7b 28 72 65 71 75 69 72 65 20 22 66 6f 6f 2e 72 6b 74 .rkt}.in.@code{(require."foo.rkt
d1460 22 29 7d 2e 29 0a 0a 41 73 20 66 6f 72 20 66 69 6e 64 69 6e 67 20 72 65 66 65 72 65 6e 63 65 73 ")}.)..As.for.finding.references
d1480 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 78 72 65 66 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f ,.the.default.xref.implementatio
d14a0 6e 20 69 73 20 75 73 65 64 2c 20 77 68 69 63 68 20 67 72 65 70 73 20 66 6f 72 20 73 74 72 69 6e n.is.used,.which.greps.for.strin
d14c0 67 73 20 61 6d 6f 6e 67 20 61 20 70 72 6f 6a 65 63 74 27 73 20 66 69 6c 65 73 2e 20 41 6c 74 68 gs.among.a.project's.files..Alth
d14e0 6f 75 67 68 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 63 61 6e 20 73 ough.@code{racket-xp-mode}.can.s
d1500 6f 6d 65 74 69 6d 65 73 20 64 6f 20 62 65 74 74 65 72 2c 20 75 73 69 6e 67 20 40 63 6f 64 65 7b ometimes.do.better,.using.@code{
d1520 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 7d 20 66 6f 72 20 64 65 66 69 6e drracket/check-syntax}.for.defin
d1540 69 74 69 6f 6e 73 20 61 6e 64 20 72 65 66 65 72 65 6e 63 65 73 20 40 65 6d 70 68 7b 77 69 74 68 itions.and.references.@emph{with
d1560 69 6e 7d 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2c 20 62 65 79 6f 6e 64 20 74 in}.the.current.buffer,.beyond.t
d1580 68 6f 73 65 20 69 74 20 61 6c 73 6f 20 66 61 6c 6c 73 20 62 61 63 6b 20 74 6f 20 74 68 65 20 64 hose.it.also.falls.back.to.the.d
d15a0 65 66 61 75 6c 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 49 6e 20 61 6e 79 20 63 efault.implementation...In.any.c
d15c0 61 73 65 2c 20 75 73 69 6e 67 20 74 68 65 20 45 6d 61 63 73 20 78 72 65 66 20 41 50 49 20 61 6c ase,.using.the.Emacs.xref.API.al
d15e0 6c 6f 77 73 20 66 6f 72 20 63 6f 6e 73 69 73 74 65 6e 74 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 lows.for.consistent.command.name
d1600 73 2c 20 73 68 6f 72 74 63 75 74 20 6b 65 79 73 2c 20 61 6e 64 20 65 76 65 6e 20 61 20 73 70 65 s,.shortcut.keys,.and.even.a.spe
d1620 63 69 61 6c 20 62 75 66 66 65 72 20 74 6f 20 6e 61 76 69 67 61 74 65 20 61 6d 6f 6e 67 20 72 65 cial.buffer.to.navigate.among.re
d1640 66 65 72 65 6e 63 65 73 20 61 6e 64 20 76 69 73 69 74 20 65 61 63 68 20 73 6f 75 72 63 65 20 6c ferences.and.visit.each.source.l
d1660 6f 63 61 74 69 6f 6e 2e 0a 0a 40 6e 6f 64 65 20 49 6e 64 65 6e 74 0a 40 73 65 63 74 69 6f 6e 20 ocation...@node.Indent.@section.
d1680 49 6e 64 65 6e 74 0a 0a 40 71 75 6f 74 61 74 69 6f 6e 0a 4e 6f 74 65 3a 20 54 68 65 20 61 6c 74 Indent..@quotation.Note:.The.alt
d16a0 65 72 6e 61 74 69 76 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d ernative.major.mode.@ref{racket-
d16c0 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 20 64 69 73 61 62 6c 65 73 20 61 6c 6c 20 6f 66 20 hash-lang-mode}.disables.all.of.
d16e0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 62 65 68 61 76 69 6f 72 20 61 6e 64 20 75 73 65 73 20 the.following.behavior.and.uses.
d1700 69 6e 64 65 6e 74 61 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 23 6c indentation.determined.by.the.#l
d1720 61 6e 67 2e 0a 0a 40 65 6e 64 20 71 75 6f 74 61 74 69 6f 6e 0a 0a 49 6e 64 65 6e 74 61 74 69 6f ang...@end.quotation..Indentatio
d1740 6e 20 63 61 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 69 6e 20 61 20 77 61 79 20 73 69 6d n.can.be.customized.in.a.way.sim
d1760 69 6c 61 72 20 74 6f 20 6c 69 73 70 2d 6d 6f 64 65 20 61 6e 64 20 73 63 68 65 6d 65 2d 6d 6f 64 ilar.to.lisp-mode.and.scheme-mod
d1780 65 3a 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 7d 2e 0a 0a 28 49 e:.@ref{racket-indent-line}...(I
d17a0 6e 64 65 6e 74 61 74 69 6f 6e 20 70 72 65 73 65 72 76 65 73 20 79 6f 75 72 20 6c 69 6e 65 20 62 ndentation.preserves.your.line.b
d17c0 72 65 61 6b 73 2e 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 20 61 6e 20 61 75 74 reaks..If.you.want.to.use.an.aut
d17e0 6f 2d 72 65 66 6f 72 6d 61 74 74 65 72 20 2d 2d 2d 20 61 6e 20 65 78 70 72 65 73 73 69 76 65 20 o-reformatter.---.an.expressive.
d1800 70 72 65 74 74 79 20 70 72 69 6e 74 65 72 20 74 68 61 74 20 63 68 6f 6f 73 65 73 20 6c 69 6e 65 pretty.printer.that.chooses.line
d1820 20 62 72 65 61 6b 73 20 77 68 69 6c 65 20 63 6f 6d 70 75 74 69 6e 67 20 61 6e 20 6f 70 74 69 6d .breaks.while.computing.an.optim
d1840 61 6c 20 6c 61 79 6f 75 74 20 2d 2d 2d 20 74 68 65 20 52 61 63 6b 65 74 20 70 61 63 6b 61 67 65 al.layout.---.the.Racket.package
d1860 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e .@uref{https://docs.racket-lang.
d1880 6f 72 67 2f 66 6d 74 2f 2c 20 66 6d 74 7d 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 org/fmt/,.fmt}.is.supported.by.t
d18a0 68 65 20 45 6d 61 63 73 20 70 61 63 6b 61 67 65 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 67 he.Emacs.package.@uref{https://g
d18c0 69 74 68 75 62 2e 63 6f 6d 2f 6c 61 73 73 69 6b 2f 65 6d 61 63 73 2d 66 6f 72 6d 61 74 2d 61 6c ithub.com/lassik/emacs-format-al
d18e0 6c 2d 74 68 65 2d 63 6f 64 65 2c 20 65 6d 61 63 73 2d 66 6f 72 6d 61 74 2d 61 6c 6c 2d 74 68 65 l-the-code,.emacs-format-all-the
d1900 2d 63 6f 64 65 7d 2e 29 0a 0a 40 6e 6f 64 65 20 70 61 72 65 64 69 74 0a 40 73 65 63 74 69 6f 6e -code}.)..@node.paredit.@section
d1920 20 70 61 72 65 64 69 74 0a 0a 40 71 75 6f 74 61 74 69 6f 6e 0a 4e 6f 74 65 3a 20 49 66 20 79 6f .paredit..@quotation.Note:.If.yo
d1940 75 20 75 73 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 u.use.@ref{racket-hash-lang-mode
d1960 7d 2c 20 73 65 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 },.see.@ref{racket-hash-lang-mod
d1980 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 7d 20 66 6f 72 20 68 6f 77 20 74 6f 20 65 6e ule-language-hook}.for.how.to.en
d19a0 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 70 61 72 65 64 69 74 20 62 61 73 65 64 20 6f 6e 20 74 68 able/disable.paredit.based.on.th
d19c0 65 20 73 70 65 63 69 66 69 63 20 23 6c 61 6e 67 2e 0a 0a 40 65 6e 64 20 71 75 6f 74 61 74 69 6f e.specific.#lang...@end.quotatio
d19e0 6e 0a 0a 49 66 20 79 6f 75 20 75 73 65 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 n..If.you.use.@uref{https://melp
d1a00 61 2e 6f 72 67 2f 23 2f 70 61 72 65 64 69 74 2c 20 70 61 72 65 64 69 74 7d 2c 20 79 6f 75 20 6d a.org/#/paredit,.paredit},.you.m
d1a20 69 67 68 74 20 77 61 6e 74 20 74 6f 20 61 64 64 20 6b 65 79 62 69 6e 64 69 6e 67 73 20 74 6f 20 ight.want.to.add.keybindings.to.
d1a40 40 63 6f 64 65 7b 70 61 72 65 64 69 74 2d 6d 6f 64 65 2d 6d 61 70 7d 3a 0a 0a 40 69 74 65 6d 69 @code{paredit-mode-map}:..@itemi
d1a60 7a 65 0a 40 69 74 65 6d 0a 42 69 6e 64 20 74 68 65 20 63 75 72 6c 79 20 62 72 61 63 65 20 6b 65 ze.@item.Bind.the.curly.brace.ke
d1a80 79 73 20 74 6f 20 40 63 6f 64 65 7b 70 61 72 65 64 69 74 2d 6f 70 65 6e 2d 63 75 72 6c 79 7d 20 ys.to.@code{paredit-open-curly}.
d1aa0 61 6e 64 20 40 63 6f 64 65 7b 70 61 72 65 64 69 74 2d 63 6c 6f 73 65 2d 63 75 72 6c 79 7d 2e 0a and.@code{paredit-close-curly}..
d1ac0 0a 40 69 74 65 6d 0a 42 69 6e 64 20 77 68 61 74 65 76 65 72 20 6b 65 79 73 20 79 6f 75 20 70 72 .@item.Bind.whatever.keys.you.pr
d1ae0 65 66 65 72 20 66 6f 72 20 40 63 6f 64 65 7b 70 61 72 65 64 69 74 2d 77 72 61 70 2d 73 71 75 61 efer.for.@code{paredit-wrap-squa
d1b00 72 65 7d 20 61 6e 64 20 40 63 6f 64 65 7b 70 61 72 65 64 69 74 2d 77 72 61 70 2d 63 75 72 6c 79 re}.and.@code{paredit-wrap-curly
d1b20 7d 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 77 69 }..@end.itemize..For.example,.wi
d1b40 74 68 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 75 73 65 th.@uref{https://melpa.org/#/use
d1b60 2d 70 61 63 6b 61 67 65 2c 20 40 63 6f 64 65 7b 75 73 65 2d 70 61 63 6b 61 67 65 7d 7d 3a 0a 0a -package,.@code{use-package}}:..
d1b80 40 6c 69 73 70 0a 28 75 73 65 2d 70 61 63 6b 61 67 65 20 70 61 72 65 64 69 74 0a 20 20 3a 65 6e @lisp.(use-package.paredit...:en
d1ba0 73 75 72 65 20 74 0a 20 20 3a 63 6f 6e 66 69 67 0a 20 20 28 64 6f 6c 69 73 74 20 28 6d 20 27 28 sure.t...:config...(dolist.(m.'(
d1bc0 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 emacs-lisp-mode-hook............
d1be0 20 20 20 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 ....racket-mode-hook............
d1c00 20 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 29 29 0a 20 20 20 20 ....racket-repl-mode-hook)).....
d1c20 28 61 64 64 2d 68 6f 6f 6b 20 6d 20 23 27 70 61 72 65 64 69 74 2d 6d 6f 64 65 29 29 0a 20 20 28 (add-hook.m.#'paredit-mode))...(
d1c40 62 69 6e 64 2d 6b 65 79 73 20 3a 6d 61 70 20 70 61 72 65 64 69 74 2d 6d 6f 64 65 2d 6d 61 70 0a bind-keys.:map.paredit-mode-map.
d1c60 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 40 7b 22 20 20 20 2e 20 70 61 72 65 64 69 74 2d 6f .............("@{".....paredit-o
d1c80 70 65 6e 2d 63 75 72 6c 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 40 7d 22 20 20 20 pen-curly)..............("@}"...
d1ca0 2e 20 70 61 72 65 64 69 74 2d 63 6c 6f 73 65 2d 63 75 72 6c 79 29 29 0a 20 20 28 75 6e 6c 65 73 ..paredit-close-curly))...(unles
d1cc0 73 20 74 65 72 6d 69 6e 61 6c 2d 66 72 61 6d 65 0a 20 20 20 20 28 62 69 6e 64 2d 6b 65 79 73 20 s.terminal-frame.....(bind-keys.
d1ce0 3a 6d 61 70 20 70 61 72 65 64 69 74 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 :map.paredit-mode-map...........
d1d00 20 20 20 20 20 28 22 4d 2d 5b 22 20 2e 20 70 61 72 65 64 69 74 2d 77 72 61 70 2d 73 71 75 61 72 .....("M-["...paredit-wrap-squar
d1d20 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 4d 2d 40 7b 22 20 2e 20 70 61 72 65 e)................("M-@{"...pare
d1d40 64 69 74 2d 77 72 61 70 2d 63 75 72 6c 79 29 29 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 53 74 dit-wrap-curly)))).@end.lisp..St
d1d60 61 72 74 69 6e 67 20 63 2e 20 4e 6f 76 65 6d 62 65 72 20 32 30 32 32 2c 20 70 61 72 65 64 69 74 arting.c..November.2022,.paredit
d1d80 20 62 69 6e 64 73 20 74 68 65 20 40 6b 62 64 7b 52 45 54 7d 20 20 6b 65 79 20 74 6f 20 69 74 73 .binds.the.@kbd{RET}..key.to.its
d1da0 20 6f 77 6e 20 63 6f 6d 6d 61 6e 64 2e 20 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20 74 68 69 73 .own.command..Unfortunately.this
d1dc0 20 69 73 20 40 65 6d 70 68 7b 6e 6f 74 7d 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 69 .is.@emph{not}.compatible.with.i
d1de0 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 73 20 2d 2d 2d 20 69 6e 63 6c 75 64 69 6e 67 20 62 nteractive.modes.---.including.b
d1e00 75 74 20 6e 6f 74 20 6c 69 6d 69 74 65 64 20 74 6f 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 ut.not.limited.to.@code{racket-r
d1e20 65 70 6c 2d 6d 6f 64 65 7d 20 2d 2d 2d 20 77 68 69 63 68 20 65 78 70 65 63 74 20 40 6b 62 64 7b epl-mode}.---.which.expect.@kbd{
d1e40 52 45 54 7d 20 20 74 6f 20 62 65 20 62 6f 75 6e 64 20 74 6f 20 61 20 63 6f 6d 6d 61 6e 64 20 74 RET}..to.be.bound.to.a.command.t
d1e60 6f 20 73 75 62 6d 69 74 20 79 6f 75 72 20 69 6e 70 75 74 20 74 6f 20 74 68 65 20 52 45 50 4c 40 o.submit.your.input.to.the.REPL@
d1e80 2e 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 66 20 79 6f 75 20 74 79 70 65 20 61 6e ..In.other.words,.if.you.type.an
d1ea0 20 65 78 70 72 65 73 73 69 6f 6e 20 61 6e 64 20 68 69 74 20 40 6b 62 64 7b 52 45 54 7d 20 2c 20 .expression.and.hit.@kbd{RET}.,.
d1ec0 6e 6f 74 68 69 6e 67 20 77 69 6c 6c 20 68 61 70 70 65 6e 20 61 6e 64 20 74 68 65 20 52 45 50 4c nothing.will.happen.and.the.REPL
d1ee0 20 77 69 6c 6c 20 73 65 65 6d 20 66 72 6f 7a 65 6e 2e 20 59 6f 75 20 40 63 6f 64 65 7b 4d 2d 78 .will.seem.frozen..You.@code{M-x
d1f00 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 75 62 6d 69 74 7d 20 74 6f 20 70 72 6f 63 65 65 64 2e .racket-repl-submit}.to.proceed.
d1f20 0a 0a 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 20 70 61 72 65 64 69 74 20 77 69 74 ..If.you.want.to.use.paredit.wit
d1f40 68 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 73 2c 20 74 68 65 69 72 20 61 64 76 69 63 h.interactive.modes,.their.advic
d1f60 65 20 69 73 20 74 6f 20 72 65 6d 6f 76 65 20 74 68 65 20 62 69 6e 64 69 6e 67 20 66 72 6f 6d 20 e.is.to.remove.the.binding.from.
d1f80 40 63 6f 64 65 7b 70 61 72 65 64 69 74 2d 6d 6f 64 65 2d 6d 61 70 7d 20 28 6e 6f 74 65 20 74 68 @code{paredit-mode-map}.(note.th
d1fa0 61 74 20 74 68 69 73 20 77 69 6c 6c 20 61 6c 73 6f 20 64 69 73 61 62 6c 65 20 69 74 20 66 6f 72 at.this.will.also.disable.it.for
d1fc0 20 61 6c 6c 20 62 75 66 66 65 72 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 65 64 69 74 69 6e 67 20 .all.buffers,.including.editing.
d1fe0 62 75 66 66 65 72 73 29 2e 20 4f 6e 65 20 77 61 79 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 69 buffers)..One.way.you.can.do.thi
d2000 73 20 66 6f 72 20 61 6c 6c 20 72 65 6c 61 74 65 64 20 6b 65 79 73 3a 0a 0a 40 6c 69 73 70 0a 28 s.for.all.related.keys:..@lisp.(
d2020 64 6f 6c 69 73 74 20 28 6b 20 27 28 22 52 45 54 22 20 22 43 2d 6d 22 20 22 43 2d 6a 22 29 29 0a dolist.(k.'("RET"."C-m"."C-j")).
d2040 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 70 61 72 65 64 69 74 2d 6d 6f 64 65 2d 6d 61 70 20 28 ..(define-key.paredit-mode-map.(
d2060 6b 62 64 20 6b 29 20 6e 69 6c 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 73 6d kbd.k).nil)).@end.lisp..@node.sm
d2080 61 72 74 70 61 72 65 6e 73 0a 40 73 65 63 74 69 6f 6e 20 73 6d 61 72 74 70 61 72 65 6e 73 0a 0a artparens.@section.smartparens..
d20a0 40 71 75 6f 74 61 74 69 6f 6e 0a 4e 6f 74 65 3a 20 49 66 20 79 6f 75 20 75 73 65 20 40 72 65 66 @quotation.Note:.If.you.use.@ref
d20c0 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 2c 20 73 65 65 20 40 72 65 {racket-hash-lang-mode},.see.@re
d20e0 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 f{racket-hash-lang-module-langua
d2100 67 65 2d 68 6f 6f 6b 7d 20 66 6f 72 20 68 6f 77 20 74 6f 20 65 6e 61 62 6c 65 2f 64 69 73 61 62 ge-hook}.for.how.to.enable/disab
d2120 6c 65 20 73 6d 61 72 74 70 61 72 65 6e 73 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 73 70 65 63 le.smartparens.based.on.the.spec
d2140 69 66 69 63 20 23 6c 61 6e 67 2e 0a 0a 40 65 6e 64 20 71 75 6f 74 61 74 69 6f 6e 0a 0a 49 66 20 ific.#lang...@end.quotation..If.
d2160 69 6e 73 74 65 61 64 20 6f 66 20 70 61 72 65 64 69 74 20 79 6f 75 20 70 72 65 66 65 72 20 40 75 instead.of.paredit.you.prefer.@u
d2180 72 65 66 7b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 73 6d 61 72 74 70 61 72 ref{https://melpa.org/#/smartpar
d21a0 65 6e 73 2c 20 73 6d 61 72 74 70 61 72 65 6e 73 7d 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 ens,.smartparens},.you.can.use.t
d21c0 68 65 20 64 65 66 61 75 6c 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 74 20 70 72 6f 76 he.default.configuration.it.prov
d21e0 69 64 65 73 20 66 6f 72 20 4c 69 73 70 20 6d 6f 64 65 73 20 67 65 6e 65 72 61 6c 6c 79 20 61 6e ides.for.Lisp.modes.generally.an
d2200 64 20 66 6f 72 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 73 70 65 63 69 66 69 63 61 6c 6c 79 3a 0a d.for.Racket.Mode.specifically:.
d2220 0a 40 6c 69 73 70 0a 28 72 65 71 75 69 72 65 20 27 73 6d 61 72 74 70 61 72 65 6e 73 2d 63 6f 6e .@lisp.(require.'smartparens-con
d2240 66 69 67 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 41 70 70 65 61 72 61 6e 63 65 fig).@end.lisp..@node.Appearance
d2260 20 6f 66 20 70 61 72 65 6e 74 68 65 73 65 73 0a 40 73 65 63 74 69 6f 6e 20 41 70 70 65 61 72 61 .of.parentheses.@section.Appeara
d2280 6e 63 65 20 6f 66 20 70 61 72 65 6e 74 68 65 73 65 73 0a 0a 49 66 20 79 6f 75 20 70 72 65 66 65 nce.of.parentheses..If.you.prefe
d22a0 72 20 70 61 72 65 6e 74 68 65 73 65 73 20 74 6f 20 61 70 70 65 61 72 20 60 60 64 69 6d 6d 65 64 r.parentheses.to.appear.``dimmed
d22c0 27 27 2c 20 73 65 65 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f '',.see.@uref{https://melpa.org/
d22e0 23 2f 70 61 72 65 6e 2d 66 61 63 65 2c 20 70 61 72 65 6e 2d 66 61 63 65 7d 2e 0a 0a 49 66 20 79 #/paren-face,.paren-face}...If.y
d2300 6f 75 20 70 72 65 66 65 72 20 74 68 65 20 6f 70 70 6f 73 69 74 65 2c 20 73 65 65 20 40 75 72 65 ou.prefer.the.opposite,.see.@ure
d2320 66 7b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 72 61 69 6e 62 6f 77 2d 64 65 f{https://melpa.org/#/rainbow-de
d2340 6c 69 6d 69 74 65 72 73 2c 20 72 61 69 6e 62 6f 77 2d 64 65 6c 69 6d 69 74 65 72 73 7d 2e 0a 0a limiters,.rainbow-delimiters}...
d2360 40 6e 6f 64 65 20 45 64 69 74 20 62 75 66 66 65 72 73 20 61 6e 64 20 52 45 50 4c 20 62 75 66 66 @node.Edit.buffers.and.REPL.buff
d2380 65 72 73 0a 40 73 65 63 74 69 6f 6e 20 45 64 69 74 20 62 75 66 66 65 72 73 20 61 6e 64 20 52 45 ers.@section.Edit.buffers.and.RE
d23a0 50 4c 20 62 75 66 66 65 72 73 0a 0a 42 79 20 64 65 66 61 75 6c 74 2c 20 61 6c 6c 20 40 63 6f 64 PL.buffers..By.default,.all.@cod
d23c0 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 65 64 69 74 20 62 75 66 66 65 72 73 20 73 68 61 72 e{racket-mode}.edit.buffers.shar
d23e0 65 20 6f 6e 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 62 75 e.one.@code{racket-repl-mode}.bu
d2400 66 66 65 72 2c 20 6e 61 6d 65 64 20 40 63 6f 64 65 7b 2a 52 61 63 6b 65 74 20 52 45 50 4c 2a 7d ffer,.named.@code{*Racket.REPL*}
d2420 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 72 75 6e 20 66 6f 6f 2e 72 6b ..For.example,.if.you.run.foo.rk
d2440 74 2c 20 74 68 65 20 52 45 50 4c 20 70 72 6f 6d 70 74 20 63 68 61 6e 67 65 73 20 74 6f 20 40 63 t,.the.REPL.prompt.changes.to.@c
d2460 6f 64 65 7b 66 6f 6f 2e 72 6b 74 3e 7d 2c 20 61 6e 64 20 74 68 65 20 52 45 50 4c 20 69 73 20 69 ode{foo.rkt>},.and.the.REPL.is.i
d2480 6e 73 69 64 65 20 74 68 65 20 66 69 6c 65 20 6d 6f 64 75 6c 65 20 6e 61 6d 65 73 70 61 63 65 2e nside.the.file.module.namespace.
d24a0 20 49 66 20 79 6f 75 20 74 68 65 6e 20 72 75 6e 20 62 61 72 2e 72 6b 74 2c 20 74 68 65 20 52 45 .If.you.then.run.bar.rkt,.the.RE
d24c0 50 4c 20 70 72 6f 6d 70 74 20 63 68 61 6e 67 65 73 20 74 6f 20 40 63 6f 64 65 7b 62 61 72 2e 72 PL.prompt.changes.to.@code{bar.r
d24e0 6b 74 3e 7d 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 69 6e 20 74 68 61 74 20 6e 61 6d 65 73 70 kt>},.and.you.are.in.that.namesp
d2500 61 63 65 2e 0a 0a 49 66 20 79 6f 75 20 70 72 65 66 65 72 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 ace...If.you.prefer,.you.can.use
d2520 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 52 45 50 4c 20 62 75 66 66 65 72 2c 20 62 79 20 63 .more.than.one.REPL.buffer,.by.c
d2540 75 73 74 6f 6d 69 7a 69 6e 67 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 ustomizing.the.variable.@ref{rac
d2560 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 7d 3a 0a ket-repl-buffer-name-function}:.
d2580 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 53 68 61 72 65 20 61 20 52 45 50 4c 20 62 75 66 .@itemize.@item.Share.a.REPL.buf
d25a0 66 65 72 20 61 6d 6f 6e 67 20 66 69 6c 65 73 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 74 68 65 fer.among.files.belonging.to.the
d25c0 20 73 61 6d 65 20 70 72 6f 6a 65 63 74 3b 20 65 61 63 68 20 52 45 50 4c 20 62 75 66 66 65 72 20 .same.project;.each.REPL.buffer.
d25e0 69 73 20 6e 61 6d 65 64 20 40 63 6f 64 65 7b 2a 52 61 63 6b 65 74 20 52 45 50 4c 20 3c 70 72 6f is.named.@code{*Racket.REPL.<pro
d2600 6a 65 63 74 2d 6e 61 6d 65 3e 2a 7d 2e 0a 40 69 74 65 6d 0a 41 20 75 6e 69 71 75 65 20 52 45 50 ject-name>*}..@item.A.unique.REP
d2620 4c 20 62 75 66 66 65 72 20 66 6f 72 20 65 61 63 68 20 65 64 69 74 20 62 75 66 66 65 72 2c 20 73 L.buffer.for.each.edit.buffer,.s
d2640 69 6d 69 6c 61 72 20 74 6f 20 44 72 20 52 61 63 6b 65 74 3b 20 65 61 63 68 20 52 45 50 4c 20 62 imilar.to.Dr.Racket;.each.REPL.b
d2660 75 66 66 65 72 20 69 73 20 6e 61 6d 65 64 20 40 63 6f 64 65 7b 2a 52 61 63 6b 65 74 20 52 45 50 uffer.is.named.@code{*Racket.REP
d2680 4c 20 3c 66 69 6c 65 2e 72 6b 74 3e 2a 7d 2e 0a 40 69 74 65 6d 0a 59 6f 75 20 63 61 6e 20 61 6c L.<file.rkt>*}..@item.You.can.al
d26a0 73 6f 20 64 65 66 69 6e 65 20 79 6f 75 72 20 6f 77 6e 2c 20 63 75 73 74 6f 6d 20 66 75 6e 63 74 so.define.your.own,.custom.funct
d26c0 69 6f 6e 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 59 6f 75 20 63 61 6e 20 63 75 73 74 6f ion..@end.itemize..You.can.custo
d26e0 6d 69 7a 65 20 77 68 65 72 65 20 74 68 65 20 52 45 50 4c 20 62 75 66 66 65 72 20 69 73 20 64 69 mize.where.the.REPL.buffer.is.di
d2700 73 70 6c 61 79 65 64 20 62 79 20 61 64 64 69 6e 67 20 61 6e 20 69 74 65 6d 20 74 6f 20 74 68 65 splayed.by.adding.an.item.to.the
d2720 20 45 6d 61 63 73 20 76 61 72 69 61 62 6c 65 20 40 63 6f 64 65 7b 64 69 73 70 6c 61 79 2d 62 75 .Emacs.variable.@code{display-bu
d2740 66 66 65 72 2d 61 6c 69 73 74 7d 2e 20 41 20 67 6f 6f 64 20 72 65 67 75 6c 61 72 20 65 78 70 72 ffer-alist}..A.good.regular.expr
d2760 65 73 73 69 6f 6e 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 20 ession.to.use.for.this.would.be.
d2780 40 63 6f 64 65 7b 5c 5c 60 5c 5c 2a 52 61 63 6b 65 74 20 52 45 50 4c 7d 2e 20 46 6f 72 20 65 78 @code{\\`\\*Racket.REPL}..For.ex
d27a0 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 77 61 6e 74 65 64 20 74 6f 20 6d 61 6b 65 20 74 68 65 ample,.if.you.wanted.to.make.the
d27c0 20 52 45 50 4c 20 62 75 66 66 65 72 20 61 70 70 65 61 72 20 69 6e 20 61 20 6e 65 77 20 66 72 61 .REPL.buffer.appear.in.a.new.fra
d27e0 6d 65 3a 0a 0a 40 6c 69 73 70 0a 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 64 69 73 70 6c 61 79 me:..@lisp.(add-to-list.'display
d2800 2d 62 75 66 66 65 72 2d 61 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 22 5c 5c -buffer-alist..............'("\\
d2820 60 5c 5c 2a 52 61 63 6b 65 74 20 52 45 50 4c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 `\\*Racket.REPL"................
d2840 28 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 2d 72 65 75 73 65 2d 77 69 6e 64 6f 77 0a 20 20 20 (display-buffer-reuse-window....
d2860 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 2d 70 6f 70 2d .............display-buffer-pop-
d2880 75 70 2d 66 72 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 75 73 61 62 up-frame)................(reusab
d28a0 6c 65 2d 66 72 61 6d 65 73 20 2e 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 le-frames...0)................(i
d28c0 6e 68 69 62 69 74 2d 73 61 6d 65 2d 77 69 6e 64 6f 77 20 2e 20 74 29 29 29 0a 40 65 6e 64 20 6c nhibit-same-window...t))).@end.l
d28e0 69 73 70 0a 0a 40 6e 6f 64 65 20 65 6c 64 6f 63 0a 40 73 65 63 74 69 6f 6e 20 65 6c 64 6f 63 0a isp..@node.eldoc.@section.eldoc.
d2900 0a 42 79 20 64 65 66 61 75 6c 74 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 73 65 74 73 20 40 63 6f .By.default.Racket.Mode.sets.@co
d2920 64 65 7b 65 6c 64 6f 63 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 7d de{eldoc-documentation-function}
d2940 20 74 6f 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 2d 2d 2d 20 6e 6f 20 40 63 6f 64 65 7b 65 6c 64 6f .to.@code{nil}.---.no.@code{eldo
d2960 63 2d 6d 6f 64 65 7d 20 73 75 70 70 6f 72 74 2e 20 59 6f 75 20 6d 61 79 20 73 65 74 20 69 74 20 c-mode}.support..You.may.set.it.
d2980 74 6f 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 65 6c 64 6f 63 2d 66 75 6e 63 74 69 6f 6e 7d 20 to.@code{racket-eldoc-function}.
d29a0 69 6e 20 61 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 68 6f 6f 6b 7d 20 61 6e 64 in.a.@code{racket-mode-hook}.and
d29c0 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 7d 20 69 66 .@code{racket-repl-mode-hook}.if
d29e0 20 79 6f 75 20 72 65 61 6c 6c 79 20 77 61 6e 74 20 74 6f 20 75 73 65 20 40 63 6f 64 65 7b 65 6c .you.really.want.to.use.@code{el
d2a00 64 6f 63 2d 6d 6f 64 65 7d 20 77 69 74 68 20 52 61 63 6b 65 74 2e 20 42 75 74 20 69 74 20 69 73 doc-mode}.with.Racket..But.it.is
d2a20 20 6e 6f 74 20 61 20 76 65 72 79 20 73 61 74 69 73 66 79 69 6e 67 20 65 78 70 65 72 69 65 6e 63 .not.a.very.satisfying.experienc
d2a40 65 20 62 65 63 61 75 73 65 20 52 61 63 6b 65 74 20 69 73 20 6e 6f 74 20 61 20 76 65 72 79 20 60 e.because.Racket.is.not.a.very.`
d2a60 60 65 6c 64 6f 63 2d 66 72 69 65 6e 64 6c 79 27 27 20 6c 61 6e 67 75 61 67 65 2e 20 41 6c 74 68 `eldoc-friendly''.language..Alth
d2a80 6f 75 67 68 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64 69 73 ough.Racket.Mode.attempts.to.dis
d2aa0 63 6f 76 65 72 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 73 2c 20 63 6f 6e 74 72 61 63 74 73 2c cover.argument.lists,.contracts,
d2ac0 20 6f 72 20 74 79 70 65 73 20 74 68 69 73 20 64 6f 65 73 6e 27 74 20 77 6f 72 6b 20 69 6e 20 6d .or.types.this.doesn't.work.in.m
d2ae0 61 6e 79 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 73 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 any.common.cases:..@itemize.@ite
d2b00 6d 0a 4d 61 6e 79 20 52 61 63 6b 65 74 20 70 72 69 6d 69 74 69 76 65 73 20 61 72 65 20 64 65 66 m.Many.Racket.primitives.are.def
d2b20 69 6e 65 64 20 69 6e 20 40 63 6f 64 65 7b 23 25 6b 65 72 6e 65 6c 7d 20 6f 72 20 40 63 6f 64 65 ined.in.@code{#%kernel}.or.@code
d2b40 7b 23 25 72 75 6e 74 69 6d 65 7d 2e 20 54 68 65 72 65 27 73 20 6e 6f 20 65 61 73 79 20 77 61 79 {#%runtime}..There's.no.easy.way
d2b60 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 69 72 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 .to.determine.their.argument.lis
d2b80 74 73 2e 20 4d 6f 73 74 20 64 6f 20 6e 6f 74 20 40 63 6f 64 65 7b 70 72 6f 76 69 64 65 7d 20 61 ts..Most.do.not.@code{provide}.a
d2ba0 20 63 6f 6e 74 72 61 63 74 2e 0a 0a 40 69 74 65 6d 0a 4d 61 6e 79 20 6f 66 20 74 68 65 20 69 6e .contract...@item.Many.of.the.in
d2bc0 74 65 72 65 73 74 69 6e 67 20 52 61 63 6b 65 74 20 66 6f 72 6d 73 20 61 72 65 20 73 79 6e 74 61 teresting.Racket.forms.are.synta
d2be0 78 20 28 6d 61 63 72 6f 73 29 20 6e 6f 74 20 66 75 6e 63 74 69 6f 6e 73 2e 20 54 68 65 72 65 27 x.(macros).not.functions..There'
d2c00 73 20 6e 6f 20 65 61 73 79 20 77 61 79 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 69 72 s.no.easy.way.to.determine.their
d2c20 20 60 60 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 73 27 27 2e 0a 0a 40 69 74 65 6d 0a 57 68 65 6e .``argument.lists''...@item.When
d2c40 20 61 20 66 6f 72 6d 20 68 61 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 52 61 63 6b 65 .a.form.has.documentation,.Racke
d2c60 74 20 4d 6f 64 65 20 63 61 6e 20 73 68 6f 77 20 74 68 65 20 5c 60 60 62 6c 75 65 62 6f 78 5c 27 t.Mode.can.show.the.\``bluebox\'
d2c80 27 20 2d 2d 20 62 75 74 20 6f 66 74 65 6e 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 66 69 74 '.--.but.often.that.does.not.fit
d2ca0 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 6c 69 6e 65 20 61 73 20 79 6f 75 20 77 6f 75 6c 64 20 6e .in.a.single.line.as.you.would.n
d2cc0 6f 72 6d 61 6c 6c 79 20 65 78 70 65 63 74 20 77 69 74 68 20 65 6c 64 6f 63 2e 0a 40 65 6e 64 20 ormally.expect.with.eldoc..@end.
d2ce0 69 74 65 6d 69 7a 65 0a 0a 41 20 6d 6f 72 65 20 73 61 74 69 73 66 79 69 6e 67 20 65 78 70 65 72 itemize..A.more.satisfying.exper
d2d00 69 65 6e 63 65 20 69 73 20 74 6f 20 75 73 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 64 ience.is.to.use.@ref{racket-xp-d
d2d20 65 73 63 72 69 62 65 7d 20 6f 72 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d escribe}.or.@ref{racket-xp-docum
d2d40 65 6e 74 61 74 69 6f 6e 7d 2e 0a 0a 40 6e 6f 64 65 20 53 74 61 72 74 20 66 61 73 74 65 72 0a 40 entation}...@node.Start.faster.@
d2d60 73 65 63 74 69 6f 6e 20 53 74 61 72 74 20 66 61 73 74 65 72 0a 0a 59 6f 75 20 63 61 6e 20 75 73 section.Start.faster..You.can.us
d2d80 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 66 61 73 74 65 72 7d e.@ref{racket-mode-start-faster}
d2da0 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 52 61 63 6b 65 74 20 52 45 50 4c 20 73 74 61 72 74 20 66 .to.make.the.Racket.REPL.start.f
d2dc0 61 73 74 65 72 2e 0a 0a 40 6e 6f 64 65 20 55 6e 69 63 6f 64 65 20 69 6e 70 75 74 20 6d 65 74 68 aster...@node.Unicode.input.meth
d2de0 6f 64 0a 40 73 65 63 74 69 6f 6e 20 55 6e 69 63 6f 64 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 od.@section.Unicode.input.method
d2e00 0a 0a 41 6e 20 6f 70 74 69 6f 6e 61 6c 20 45 6d 61 63 73 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 ..An.optional.Emacs.input.method
d2e20 2c 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 7d 2c 20 6c 65 74 73 20 79 6f ,.@code{racket-unicode},.lets.yo
d2e40 75 20 65 61 73 69 6c 79 20 74 79 70 65 20 76 61 72 69 6f 75 73 20 55 6e 69 63 6f 64 65 20 73 79 u.easily.type.various.Unicode.sy
d2e60 6d 62 6f 6c 73 20 74 68 61 74 20 6d 69 67 68 74 20 62 65 20 75 73 65 66 75 6c 20 77 68 65 6e 20 mbols.that.might.be.useful.when.
d2e80 77 72 69 74 69 6e 67 20 52 61 63 6b 65 74 20 63 6f 64 65 2e 0a 0a 54 6f 20 61 75 74 6f 6d 61 74 writing.Racket.code...To.automat
d2ea0 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 75 ically.enable.the.@code{racket-u
d2ec0 6e 69 63 6f 64 65 7d 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 20 69 6e 20 40 63 6f 64 65 7b 72 61 nicode}.input.method.in.@code{ra
d2ee0 63 6b 65 74 2d 6d 6f 64 65 7d 20 61 6e 64 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c cket-mode}.and.@code{racket-repl
d2f00 2d 6d 6f 64 65 7d 20 62 75 66 66 65 72 73 2c 20 70 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e -mode}.buffers,.put.the.followin
d2f20 67 20 63 6f 64 65 20 69 6e 20 79 6f 75 72 20 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 3a 0a g.code.in.your.Emacs.init.file:.
d2f40 0a 40 6c 69 73 70 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 68 6f .@lisp.(add-hook.'racket-mode-ho
d2f60 6f 6b 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d ok......#'racket-unicode-input-m
d2f80 65 74 68 6f 64 2d 65 6e 61 62 6c 65 29 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d ethod-enable).(add-hook.'racket-
d2fa0 72 65 70 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d repl-mode-hook.#'racket-unicode-
d2fc0 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a input-method-enable).@end.lisp..
d2fe0 40 78 72 65 66 7b 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f @xref{racket-unicode-input-metho
d3000 64 2d 65 6e 61 62 6c 65 7d 2e 0a 0a 40 78 72 65 66 7b 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d d-enable}...@xref{racket-insert-
d3020 6c 61 6d 62 64 61 7d 2e 0a 0a 40 6e 6f 64 65 20 4c 69 67 61 74 75 72 65 73 0a 40 73 65 63 74 69 lambda}...@node.Ligatures.@secti
d3040 6f 6e 20 4c 69 67 61 74 75 72 65 73 0a 0a 50 72 69 6f 72 20 74 6f 20 45 6d 61 63 73 20 32 38 2e on.Ligatures..Prior.to.Emacs.28.
d3060 30 2e 35 30 2c 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 61 75 74 6f 2d 63 6f 6d 0.50,.things.like.@code{auto-com
d3080 70 6f 73 69 74 69 6f 6e 2d 6d 6f 64 65 7d 20 6f 72 20 40 63 6f 64 65 7b 6c 69 67 61 74 75 72 65 position-mode}.or.@code{ligature
d30a0 2d 6d 6f 64 65 7d 20 74 68 61 74 20 75 73 65 20 40 63 6f 64 65 7b 63 6f 6d 70 6f 73 69 74 69 6f -mode}.that.use.@code{compositio
d30c0 6e 2d 66 75 6e 63 74 69 6f 6e 2d 74 61 62 6c 65 7d 20 74 6f 20 64 69 73 70 6c 61 79 20 6c 69 67 n-function-table}.to.display.lig
d30e0 61 74 75 72 65 73 20 63 61 6e 20 63 61 75 73 65 20 45 6d 61 63 73 20 74 6f 20 66 72 65 65 7a 65 atures.can.cause.Emacs.to.freeze
d3100 2e 20 54 68 69 73 20 63 61 6e 20 68 61 70 70 65 6e 20 77 68 65 6e 20 61 6e 20 45 6d 61 63 73 20 ..This.can.happen.when.an.Emacs.
d3120 40 65 6d 70 68 7b 6f 76 65 72 6c 61 79 7d 20 64 69 73 70 6c 61 79 73 20 61 20 73 74 72 69 6e 67 @emph{overlay}.displays.a.string
d3140 20 63 6f 6e 74 61 69 6e 69 6e 67 20 73 75 63 68 20 61 20 6c 69 67 61 74 75 72 65 2e 20 41 6c 74 .containing.such.a.ligature..Alt
d3160 68 6f 75 67 68 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 69 73 20 6e 6f 74 20 6c 69 6d 69 74 65 64 hough.the.problem.is.not.limited
d3180 20 74 6f 20 52 61 63 6b 65 74 20 4d 6f 64 65 2c 20 69 74 20 61 66 66 65 63 74 73 20 74 68 65 20 .to.Racket.Mode,.it.affects.the.
d31a0 6f 76 65 72 6c 61 79 73 20 63 72 65 61 74 65 64 20 62 79 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 overlays.created.by.@code{racket
d31c0 2d 73 68 6f 77 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 7d 2c 20 61 73 20 75 73 65 64 20 62 -show-pseudo-tooltip},.as.used.b
d31e0 79 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 2e 20 54 68 65 20 6f 6e 6c y.@code{racket-xp-mode}..The.onl
d3200 79 20 6b 6e 6f 77 6e 20 77 6f 72 6b 2d 61 72 6f 75 6e 64 20 69 73 20 74 6f 20 63 68 61 6e 67 65 y.known.work-around.is.to.change
d3220 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 73 68 6f 77 2d .the.value.of.@code{racket-show-
d3240 66 75 6e 63 74 69 6f 6e 73 7d 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 60 60 62 6f 72 69 6e 67 functions}.to.something.``boring
d3260 27 27 20 73 75 63 68 20 61 73 20 40 63 6f 64 65 7b 28 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 ''.such.as.@code{(racket-show-ec
d3280 68 6f 2d 61 72 65 61 29 7d 2e 0a 0a 40 6e 6f 64 65 20 41 72 63 68 69 74 65 63 74 75 72 65 0a 40 ho-area)}...@node.Architecture.@
d32a0 63 68 61 70 74 65 72 20 41 72 63 68 69 74 65 63 74 75 72 65 0a 0a 52 61 63 6b 65 74 20 4d 6f 64 chapter.Architecture..Racket.Mod
d32c0 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 73 69 6e 67 6c 65 20 45 6d 61 63 73 20 66 72 6f e.consists.of.a.single.Emacs.fro
d32e0 6e 74 20 65 6e 64 2c 20 61 6e 64 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 70 72 6f 63 65 73 73 65 nt.end,.and.one.or.more.processe
d3300 73 20 72 75 6e 6e 69 6e 67 20 61 20 62 61 63 6b 20 65 6e 64 20 77 72 69 74 74 65 6e 20 69 6e 20 s.running.a.back.end.written.in.
d3320 52 61 63 6b 65 74 2e 40 66 6f 6f 74 6e 6f 74 65 7b 52 61 63 6b 65 74 20 4d 6f 64 65 27 73 20 52 Racket.@footnote{Racket.Mode's.R
d3340 61 63 6b 65 74 20 63 6f 64 65 20 69 73 20 64 65 6c 69 76 65 72 65 64 20 61 73 20 70 61 72 74 20 acket.code.is.delivered.as.part.
d3360 6f 66 20 74 68 65 20 45 6d 61 63 73 20 70 61 63 6b 61 67 65 20 2d 2d 2d 20 40 65 6d 70 68 7b 6e of.the.Emacs.package.---.@emph{n
d3380 6f 74 7d 20 61 73 20 61 20 52 61 63 6b 65 74 20 70 61 63 6b 61 67 65 2e 20 44 65 6c 69 76 65 72 ot}.as.a.Racket.package..Deliver
d33a0 69 6e 67 20 62 6f 74 68 20 45 6d 61 63 73 20 61 6e 64 20 52 61 63 6b 65 74 20 63 6f 64 65 20 69 ing.both.Emacs.and.Racket.code.i
d33c0 6e 20 6f 6e 65 20 45 6d 61 63 73 20 70 61 63 6b 61 67 65 20 73 69 6d 70 6c 69 66 69 65 73 20 69 n.one.Emacs.package.simplifies.i
d33e0 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 61 6e 64 20 75 70 64 61 74 65 73 2e 20 54 68 65 20 6d 61 69 nstallation.and.updates..The.mai
d3400 6e 20 64 72 61 77 62 61 63 6b 20 69 73 20 74 68 61 74 20 74 68 65 20 52 61 63 6b 65 74 20 63 6f n.drawback.is.that.the.Racket.co
d3420 64 65 20 69 73 20 6e 6f 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 6f 6d 70 69 6c 65 64 de.is.not.automatically.compiled
d3440 2c 20 61 73 20 77 6f 75 6c 64 20 6e 6f 72 6d 61 6c 6c 79 20 62 65 20 64 6f 6e 65 20 62 79 20 40 ,.as.would.normally.be.done.by.@
d3460 63 6f 64 65 7b 72 61 63 6f 20 70 6b 67 20 69 6e 73 74 61 6c 6c 7d 2e 20 54 6f 20 61 64 64 72 65 code{raco.pkg.install}..To.addre
d3480 73 73 20 74 68 69 73 3a 20 40 78 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 ss.this:.@xref{racket-mode-start
d34a0 2d 66 61 73 74 65 72 7d 2e 7d 0a 0a 41 20 62 61 63 6b 20 65 6e 64 20 69 73 20 72 65 73 70 6f 6e -faster}.}..A.back.end.is.respon
d34c0 73 69 62 6c 65 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 sible.for.commands.that.cannot.b
d34e0 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 70 2c 20 61 73 20 e.implemented.in.Emacs.Lisp,.as.
d3500 77 65 6c 6c 20 61 73 20 73 75 70 70 6c 79 69 6e 67 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 52 well.as.supplying.zero.or.more.R
d3520 45 50 4c 73 2e 0a 0a 41 6c 74 68 6f 75 67 68 20 79 6f 75 20 63 61 6e 20 73 74 61 72 74 20 61 6e EPLs...Although.you.can.start.an
d3540 64 20 73 74 6f 70 20 61 20 62 61 63 6b 20 65 6e 64 20 77 69 74 68 20 40 63 6f 64 65 7b 72 61 63 d.stop.a.back.end.with.@code{rac
d3560 6b 65 74 2d 73 74 61 72 74 2d 62 61 63 6b 2d 65 6e 64 7d 20 61 6e 64 20 40 63 6f 64 65 7b 72 61 ket-start-back-end}.and.@code{ra
d3580 63 6b 65 74 2d 73 74 6f 70 2d 62 61 63 6b 2d 65 6e 64 7d 2c 20 61 20 62 61 63 6b 20 65 6e 64 20 cket-stop-back-end},.a.back.end.
d35a0 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 73 74 61 72 74 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c is.normally.started.automaticall
d35c0 79 20 77 68 65 6e 20 74 68 65 20 66 72 6f 6e 74 20 65 6e 64 20 6e 65 65 64 73 20 74 6f 20 69 73 y.when.the.front.end.needs.to.is
d35e0 73 75 65 20 73 6f 6d 65 20 63 6f 6d 6d 61 6e 64 2e 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 20 sue.some.command..This.includes.
d3600 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 64 6f 20 40 65 6d 70 68 7b 6e 6f 74 7d 20 69 6e 76 6f commands.that.do.@emph{not}.invo
d3620 6c 76 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 75 6e 7d 20 6f 72 20 61 20 52 45 50 4c 40 lve.@code{racket-run}.or.a.REPL@
d3640 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f ..For.example.@code{racket-xp-mo
d3660 64 65 7d 20 69 73 73 75 65 73 20 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 63 68 65 63 6b 20 79 6f 75 de}.issues.commands.to.check.you
d3680 72 20 63 6f 64 65 20 61 6e 64 20 61 6e 6e 6f 74 61 74 65 20 74 68 65 20 62 75 66 66 65 72 2c 20 r.code.and.annotate.the.buffer,.
d36a0 65 76 65 6e 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 72 75 6e 20 69 74 2e 20 49 6e 20 6f 74 even.if.you.do.not.run.it..In.ot
d36c0 68 65 72 20 77 6f 72 64 73 2c 20 61 20 62 61 63 6b 20 65 6e 64 20 73 75 70 70 6c 69 65 73 20 7a her.words,.a.back.end.supplies.z
d36e0 65 72 6f 20 6f 72 20 6d 6f 72 65 20 52 45 50 4c 73 20 2d 2d 2d 20 61 20 62 61 63 6b 20 65 6e 64 ero.or.more.REPLs.---.a.back.end
d3700 20 69 73 20 6e 6f 74 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 61 73 20 61 20 52 45 50 4c .is.not.the.same.thing.as.a.REPL
d3720 40 2e 0a 0a 54 6f 20 6c 65 61 72 6e 20 6d 6f 72 65 20 61 62 6f 75 74 20 68 6f 77 20 40 65 6d 70 @...To.learn.more.about.how.@emp
d3740 68 7b 6d 61 6e 79 7d 20 52 45 50 4c 73 20 61 72 65 20 75 73 65 64 3a 20 40 78 72 65 66 7b 72 61 h{many}.REPLs.are.used:.@xref{ra
d3760 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 7d 2e cket-repl-buffer-name-function}.
d3780 0a 0a 49 6e 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 20 74 68 65 72 65 20 69 73 20 6f 6e ..In.the.common.case.there.is.on
d37a0 6c 79 20 6f 6e 65 20 62 61 63 6b 20 65 6e 64 2c 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 6c 6f 63 ly.one.back.end,.on.the.same.loc
d37c0 61 6c 20 68 6f 73 74 20 61 73 20 45 6d 61 63 73 2c 20 61 6e 64 20 69 74 20 69 73 20 75 73 65 64 al.host.as.Emacs,.and.it.is.used
d37e0 20 66 6f 72 20 40 63 6f 64 65 7b 2e 72 6b 74 7d 20 66 69 6c 65 73 20 69 6e 20 61 6e 79 20 64 69 .for.@code{.rkt}.files.in.any.di
d3800 72 65 63 74 6f 72 79 2e 0a 0a 40 69 6d 61 67 65 7b 73 63 65 6e 61 72 69 6f 2d 30 2c 2c 2c 20 45 rectory...@image{scenario-0,,,.E
d3820 6d 61 63 73 20 66 72 6f 6e 74 20 65 6e 64 20 61 6e 64 20 6f 6e 65 20 6c 6f 63 61 6c 20 62 61 63 macs.front.end.and.one.local.bac
d3840 6b 20 65 6e 64 2e 20 43 6f 6d 6d 61 6e 64 20 49 2f 4f 20 76 69 61 20 70 69 70 65 20 28 6c 6f 63 k.end..Command.I/O.via.pipe.(loc
d3860 61 6c 29 20 6f 72 20 73 73 68 20 28 72 65 6d 6f 74 65 29 2e 20 45 61 63 68 20 62 61 63 6b 20 65 al).or.ssh.(remote)..Each.back.e
d3880 6e 64 20 70 72 6f 76 69 64 65 73 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 52 45 50 4c 73 2e 2c nd.provides.zero.or.more.REPLs.,
d38a0 2e 73 76 67 7d 0a 0a 48 6f 77 65 76 65 72 20 79 6f 75 20 63 61 6e 20 63 6f 6e 66 69 67 75 72 65 .svg}..However.you.can.configure
d38c0 20 75 73 69 6e 67 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 62 61 63 6b 20 65 6e 64 73 20 6f .using.any.number.of.back.ends.o
d38e0 6e 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 65 20 n.any.number.of.local.or.remote.
d3900 68 6f 73 74 73 2e 0a 0a 41 73 20 6f 6e 65 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 63 61 6e 20 hosts...As.one.example,.you.can.
d3920 68 61 76 65 20 6d 75 6c 74 69 70 6c 65 20 62 61 63 6b 20 65 6e 64 73 20 6f 6e 20 74 68 65 20 6c have.multiple.back.ends.on.the.l
d3940 6f 63 61 6c 20 68 6f 73 74 2e 20 4f 6e 65 20 62 61 63 6b 20 65 6e 64 20 69 73 20 75 73 65 64 20 ocal.host..One.back.end.is.used.
d3960 66 6f 72 20 61 20 70 72 6f 6a 65 63 74 20 75 6e 64 65 72 20 61 20 73 70 65 63 69 66 69 63 20 73 for.a.project.under.a.specific.s
d3980 75 62 64 69 72 65 63 74 6f 72 79 2c 20 61 6e 64 20 74 68 65 20 6f 74 68 65 72 20 62 61 63 6b 20 ubdirectory,.and.the.other.back.
d39a0 65 6e 64 20 66 6f 72 20 61 6c 6c 20 6f 74 68 65 72 73 2e 20 28 50 65 72 68 61 70 73 20 6f 6e 65 end.for.all.others..(Perhaps.one
d39c0 20 70 72 6f 6a 65 63 74 20 6e 65 65 64 73 20 52 61 63 6b 65 74 20 62 75 69 6c 74 20 66 72 6f 6d .project.needs.Racket.built.from
d39e0 20 73 6f 75 72 63 65 2c 20 61 6e 64 20 65 76 65 72 79 74 68 69 6e 67 20 65 6c 73 65 20 75 73 65 .source,.and.everything.else.use
d3a00 73 20 61 6e 20 69 6e 73 74 61 6c 6c 65 64 2c 20 6f 6c 64 65 72 20 76 65 72 73 69 6f 6e 20 6f 66 s.an.installed,.older.version.of
d3a20 20 52 61 63 6b 65 74 2e 20 42 79 20 75 73 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 62 61 63 6b .Racket..By.using.different.back
d3a40 20 65 6e 64 73 2c 20 6e 6f 74 20 6f 6e 6c 79 20 77 69 6c 6c 20 40 63 6f 64 65 7b 72 61 63 6b 65 .ends,.not.only.will.@code{racke
d3a60 74 2d 72 75 6e 7d 20 75 73 65 20 74 68 65 20 64 65 73 69 72 65 64 20 76 65 72 73 69 6f 6e 20 6f t-run}.use.the.desired.version.o
d3a80 66 20 52 61 63 6b 65 74 20 66 6f 72 20 61 20 66 69 6c 65 2c 20 73 6f 20 77 69 6c 6c 20 63 6f 6d f.Racket.for.a.file,.so.will.com
d3aa0 6d 61 6e 64 73 20 66 6f 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6f 72 20 76 69 73 69 74 mands.for.documentation.or.visit
d3ac0 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 29 0a 0a 40 69 6d 61 67 65 7b 73 63 65 6e 61 72 ing.definitions.)..@image{scenar
d3ae0 69 6f 2d 31 2c 2c 2c 20 45 6d 61 63 73 20 66 72 6f 6e 74 20 65 6e 64 20 61 6e 64 20 74 77 6f 20 io-1,,,.Emacs.front.end.and.two.
d3b00 6c 6f 63 61 6c 20 62 61 63 6b 20 65 6e 64 73 20 2d 2d 2d 20 6f 6e 65 20 66 6f 72 20 61 20 70 72 local.back.ends.---.one.for.a.pr
d3b20 6f 6a 65 63 74 20 70 61 74 68 2e 20 43 6f 6d 6d 61 6e 64 20 49 2f 4f 20 76 69 61 20 70 69 70 65 oject.path..Command.I/O.via.pipe
d3b40 20 28 6c 6f 63 61 6c 29 20 6f 72 20 73 73 68 20 28 72 65 6d 6f 74 65 29 2e 20 45 61 63 68 20 62 .(local).or.ssh.(remote)..Each.b
d3b60 61 63 6b 20 65 6e 64 20 70 72 6f 76 69 64 65 73 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 52 45 ack.end.provides.zero.or.more.RE
d3b80 50 4c 73 2e 2c 2e 73 76 67 7d 0a 0a 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 79 6f 75 20 63 6f 75 PLs.,.svg}..Furthermore,.you.cou
d3ba0 6c 64 20 77 6f 72 6b 20 77 69 74 68 20 61 20 70 72 6f 6a 65 63 74 20 6c 6f 63 61 74 65 64 20 6f ld.work.with.a.project.located.o
d3bc0 6e 20 61 20 72 65 6d 6f 74 65 20 68 6f 73 74 2c 20 77 68 6f 73 65 20 66 69 6c 65 73 20 79 6f 75 n.a.remote.host,.whose.files.you
d3be0 20 65 64 69 74 20 75 73 69 6e 67 20 54 52 41 4d 50 40 2e 20 59 6f 75 20 61 6c 73 6f 20 77 61 6e .edit.using.TRAMP@..You.also.wan
d3c00 74 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 74 6f 20 72 75 6e 20 74 68 65 72 65 2e 20 46 6f 72 t.the.back.end.to.run.there..For
d3c20 20 61 20 72 65 6d 6f 74 65 20 68 6f 73 74 2c 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 63 6f 70 69 .a.remote.host,.Racket.Mode.copi
d3c40 65 73 20 69 74 73 20 62 61 63 6b 20 65 6e 64 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 74 6f 20 es.its.back.end.source.files.to.
d3c60 74 68 65 20 72 65 6d 6f 74 65 20 77 68 65 6e 20 6e 65 63 65 73 73 61 72 79 2c 20 61 6e 64 20 72 the.remote.when.necessary,.and.r
d3c80 75 6e 73 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 75 73 69 6e 67 20 73 73 68 2e 0a 0a 40 69 6d uns.the.back.end.using.ssh...@im
d3ca0 61 67 65 7b 73 63 65 6e 61 72 69 6f 2d 32 2c 2c 2c 20 45 6d 61 63 73 20 66 72 6f 6e 74 20 65 6e age{scenario-2,,,.Emacs.front.en
d3cc0 64 20 61 6e 64 20 61 20 62 61 63 6b 20 65 6e 64 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 68 6f 73 d.and.a.back.end.on.a.remote.hos
d3ce0 74 2e 20 43 6f 6d 6d 61 6e 64 20 49 2f 4f 20 76 69 61 20 70 69 70 65 20 28 6c 6f 63 61 6c 29 20 t..Command.I/O.via.pipe.(local).
d3d00 6f 72 20 73 73 68 20 28 72 65 6d 6f 74 65 29 2e 20 45 61 63 68 20 62 61 63 6b 20 65 6e 64 20 70 or.ssh.(remote)..Each.back.end.p
d3d20 72 6f 76 69 64 65 73 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 52 45 50 4c 73 2e 2c 2e 73 76 67 rovides.zero.or.more.REPLs.,.svg
d3d40 7d 0a 0a 4f 66 20 63 6f 75 72 73 65 20 74 68 65 20 72 65 6d 6f 74 65 20 63 61 6e 20 61 6c 73 6f }..Of.course.the.remote.can.also
d3d60 20 75 73 65 20 64 69 66 66 65 72 65 6e 74 20 62 61 63 6b 20 65 6e 64 73 20 66 6f 72 20 64 69 66 .use.different.back.ends.for.dif
d3d80 66 65 72 65 6e 74 20 70 61 74 68 73 2e 0a 0a 40 69 6d 61 67 65 7b 73 63 65 6e 61 72 69 6f 2d 33 ferent.paths...@image{scenario-3
d3da0 2c 2c 2c 20 45 6d 61 63 73 20 66 72 6f 6e 74 20 65 6e 64 20 61 6e 64 20 74 77 6f 20 62 61 63 6b ,,,.Emacs.front.end.and.two.back
d3dc0 20 65 6e 64 73 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 68 6f 73 74 2e 20 43 6f 6d 6d 61 6e 64 20 .ends.on.a.remote.host..Command.
d3de0 49 2f 4f 20 76 69 61 20 70 69 70 65 20 28 6c 6f 63 61 6c 29 20 6f 72 20 73 73 68 20 28 72 65 6d I/O.via.pipe.(local).or.ssh.(rem
d3e00 6f 74 65 29 2e 20 45 61 63 68 20 62 61 63 6b 20 65 6e 64 20 70 72 6f 76 69 64 65 73 20 7a 65 72 ote)..Each.back.end.provides.zer
d3e20 6f 20 6f 72 20 6d 6f 72 65 20 52 45 50 4c 73 2e 2c 2e 73 76 67 7d 0a 0a 41 6e 64 20 6f 66 20 63 o.or.more.REPLs.,.svg}..And.of.c
d3e40 6f 75 72 73 65 20 79 6f 75 20 63 61 6e 20 68 61 76 65 20 6d 75 6c 74 69 70 6c 65 20 72 65 6d 6f ourse.you.can.have.multiple.remo
d3e60 74 65 73 2e 0a 0a 40 69 6d 61 67 65 7b 73 63 65 6e 61 72 69 6f 2d 34 2c 2c 2c 20 45 6d 61 63 73 tes...@image{scenario-4,,,.Emacs
d3e80 20 66 72 6f 6e 74 20 65 6e 64 20 61 6e 64 20 74 77 6f 20 62 61 63 6b 20 65 6e 64 73 20 65 61 63 .front.end.and.two.back.ends.eac
d3ea0 68 20 6f 6e 20 74 77 6f 20 72 65 6d 6f 74 65 20 68 6f 73 74 73 2e 20 43 6f 6d 6d 61 6e 64 20 49 h.on.two.remote.hosts..Command.I
d3ec0 2f 4f 20 76 69 61 20 70 69 70 65 20 28 6c 6f 63 61 6c 29 20 6f 72 20 73 73 68 20 28 72 65 6d 6f /O.via.pipe.(local).or.ssh.(remo
d3ee0 74 65 29 2e 20 45 61 63 68 20 62 61 63 6b 20 65 6e 64 20 70 72 6f 76 69 64 65 73 20 7a 65 72 6f te)..Each.back.end.provides.zero
d3f00 20 6f 72 20 6d 6f 72 65 20 52 45 50 4c 73 2e 2c 2e 73 76 67 7d 0a 0a 49 66 20 79 6f 75 20 6e 65 .or.more.REPLs.,.svg}..If.you.ne
d3f20 65 64 20 61 6e 79 20 6f 66 20 74 68 65 73 65 20 60 60 66 61 6e 63 79 27 27 20 63 6f 6e 66 69 67 ed.any.of.these.``fancy''.config
d3f40 75 72 61 74 69 6f 6e 73 3a 20 40 78 72 65 66 7b 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d urations:.@xref{racket-add-back-
d3f60 65 6e 64 7d 2e 0a 0a 48 6f 77 65 76 65 72 20 62 79 20 64 65 66 61 75 6c 74 20 61 20 63 6f 6e 66 end}...However.by.default.a.conf
d3f80 69 67 75 72 61 74 69 6f 6e 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 72 65 61 74 iguration.is.automatically.creat
d3fa0 65 64 20 66 6f 72 20 6f 6e 65 20 62 61 63 6b 20 65 6e 64 20 6f 6e 20 74 68 65 20 6c 6f 63 61 6c ed.for.one.back.end.on.the.local
d3fc0 20 68 6f 73 74 2e 20 46 6f 72 20 74 68 61 74 20 76 65 72 79 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 .host..For.that.very.common.case
d3fe0 2c 20 79 6f 75 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 63 6f 6e 66 69 67 75 72 65 20 61 6e ,.you.don't.need.to.configure.an
d4000 79 74 68 69 6e 67 2e 0a 0a 40 6e 6f 64 65 20 52 65 66 65 72 65 6e 63 65 0a 40 63 68 61 70 74 65 ything...@node.Reference.@chapte
d4020 72 20 52 65 66 65 72 65 6e 63 65 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 63 74 69 r.Reference..The.following.secti
d4040 6f 6e 73 20 61 72 65 20 67 65 6e 65 72 61 74 65 64 20 66 72 6f 6d 20 74 68 65 20 64 6f 63 20 73 ons.are.generated.from.the.doc.s
d4060 74 72 69 6e 67 73 20 66 6f 72 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64 2c 20 76 61 72 69 61 62 6c trings.for.each.command,.variabl
d4080 65 2c 20 6f 72 20 66 61 63 65 2e 20 28 41 73 20 61 20 72 65 73 75 6c 74 2c 20 73 6f 6d 65 20 6f e,.or.face..(As.a.result,.some.o
d40a0 66 20 74 68 65 20 66 6f 72 6d 61 74 74 69 6e 67 20 6d 69 67 68 74 20 6e 6f 74 20 62 65 20 71 75 f.the.formatting.might.not.be.qu
d40c0 69 74 65 20 61 73 20 6e 69 63 65 20 6f 72 20 63 6f 72 72 65 63 74 20 61 73 20 69 6e 20 74 68 65 ite.as.nice.or.correct.as.in.the
d40e0 20 70 72 65 76 69 6f 75 73 20 73 65 63 74 69 6f 6e 73 2e 29 0a 0a 59 6f 75 20 63 61 6e 20 61 6c .previous.sections.)..You.can.al
d4100 73 6f 20 76 69 65 77 20 74 68 65 73 65 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 6e 6f 72 6d 61 so.view.these.by.using.the.norma
d4120 6c 20 45 6d 61 63 73 20 68 65 6c 70 20 6d 65 63 68 61 6e 69 73 6d 3a 0a 0a 40 69 74 65 6d 69 7a l.Emacs.help.mechanism:..@itemiz
d4140 65 0a 40 69 74 65 6d 0a 40 6b 62 64 7b 43 2d 68 20 66 7d 20 20 61 6e 64 20 65 6e 74 65 72 20 74 e.@item.@kbd{C-h.f}..and.enter.t
d4160 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 63 6f 6d 6d 61 6e 64 2e 0a 40 69 74 65 6d 0a 40 6b 62 64 he.name.of.a.command..@item.@kbd
d4180 7b 43 2d 68 20 76 7d 20 20 61 6e 64 20 65 6e 74 65 72 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 {C-h.v}..and.enter.the.name.of.a
d41a0 20 76 61 72 69 61 62 6c 65 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 40 6e 6f 64 65 20 43 .variable..@end.itemize..@node.C
d41c0 6f 6d 6d 61 6e 64 73 0a 40 63 68 61 70 74 65 72 20 43 6f 6d 6d 61 6e 64 73 0a 0a 40 6d 65 6e 75 ommands.@chapter.Commands..@menu
d41e0 0a 2a 20 45 64 69 74 3a 3a 0a 2a 20 48 61 73 68 20 4c 61 6e 67 73 3a 3a 0a 2a 20 45 78 70 6c 6f .*.Edit::.*.Hash.Langs::.*.Explo
d4200 72 65 3a 3a 0a 2a 20 52 75 6e 3a 3a 0a 2a 20 54 65 73 74 3a 3a 0a 2a 20 45 76 61 6c 3a 3a 0a 2a re::.*.Run::.*.Test::.*.Eval::.*
d4220 20 43 6f 6c 6c 65 63 74 69 6f 6e 73 3a 3a 0a 2a 20 4d 61 63 72 6f 20 65 78 70 61 6e 64 3a 3a 0a .Collections::.*.Macro.expand::.
d4240 2a 20 4f 74 68 65 72 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 45 64 69 74 0a *.Other::.@end.menu..@node.Edit.
d4260 40 73 65 63 74 69 6f 6e 20 45 64 69 74 0a 0a 40 6d 65 6e 75 0a 2a 20 72 61 63 6b 65 74 2d 6d 6f @section.Edit..@menu.*.racket-mo
d4280 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 3a 3a 0a 2a 20 de::.*.racket-insert-lambda::.*.
d42a0 72 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 racket-fold-all-tests::.*.racket
d42c0 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 74 69 64 -unfold-all-tests::.*.racket-tid
d42e0 79 2d 72 65 71 75 69 72 65 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 y-requires::.*.racket-trim-requi
d4300 72 65 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 3a 3a 0a 2a res::.*.racket-base-requires::.*
d4320 20 72 61 63 6b 65 74 2d 61 64 64 2d 72 65 71 75 69 72 65 2d 66 6f 72 2d 69 64 65 6e 74 69 66 69 .racket-add-require-for-identifi
d4340 65 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 3a 3a 0a 2a 20 72 61 er::.*.racket-indent-line::.*.ra
d4360 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 0a 2a cket-smart-open-bracket-mode::.*
d4380 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 3a 3a 0a 2a 20 72 61 63 6b 65 .racket-insert-closing::.*.racke
d43a0 74 2d 63 79 63 6c 65 2d 70 61 72 65 6e 2d 73 68 61 70 65 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d t-cycle-paren-shapes::.*.racket-
d43c0 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 75 6e 69 63 backward-up-list::.*.racket-unic
d43e0 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 3a 3a 0a 2a 20 72 61 63 6b ode-input-method-enable::.*.rack
d4400 65 74 2d 61 6c 69 67 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 75 6e 61 6c 69 67 6e 3a 3a 0a 2a 20 et-align::.*.racket-unalign::.*.
d4420 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 3a 3a 0a 40 65 6e 64 20 racket-complete-at-point::.@end.
d4440 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 40 73 75 62 73 65 63 74 menu..@node.racket-mode.@subsect
d4460 69 6f 6e 20 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 ion.racket-mode..@kbd{M-x}..@cod
d4480 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 0a 0a 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 65 e{racket-mode}..Major.mode.for.e
d44a0 64 69 74 69 6e 67 20 52 61 63 6b 65 74 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2e 0a 0a 40 6d 75 diting.Racket.source.files...@mu
d44c0 6c 74 69 74 61 62 6c 65 20 7b 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 ltitable.{aaaaaaaaaaaaaaaaaaaaaa
d44e0 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
d4500 61 61 61 61 61 61 61 7d 20 7b 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaa}.{aaaaaaaaaaaaaaaaaaaaaa
d4520 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 7d 0a 40 69 74 65 6d 20 4b aaaaaaaaaaaaaaaaaaaaaaa}.@item.K
d4540 65 79 0a 40 74 61 62 20 42 69 6e 64 69 6e 67 0a 40 69 74 65 6d 20 40 6b 62 64 7b 40 7d 7d 20 0a ey.@tab.Binding.@item.@kbd{@}}..
d4560 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 7d @tab.@ref{racket-insert-closing}
d4580 0a 40 69 74 65 6d 20 40 6b 62 64 7b 5d 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 .@item.@kbd{]}..@tab.@ref{racket
d45a0 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 29 7d 20 0a -insert-closing}.@item.@kbd{)}..
d45c0 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 7d @tab.@ref{racket-insert-closing}
d45e0 0a 40 69 74 65 6d 20 40 6b 62 64 7b 54 41 42 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 69 6e 64 .@item.@kbd{TAB}..@tab.@code{ind
d4600 65 6e 74 2d 66 6f 72 2d 74 61 62 2d 63 6f 6d 6d 61 6e 64 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b ent-for-tab-command}.@item.@kbd{
d4620 43 2d 78 20 43 2d 65 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 65 6e 64 2d C-x.C-e}..@tab.@ref{racket-send-
d4640 6c 61 73 74 2d 73 65 78 70 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 4d 2d 79 7d 20 0a 40 74 last-sexp}.@item.@kbd{C-M-y}..@t
d4660 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 7d 0a 40 69 ab.@ref{racket-insert-lambda}.@i
d4680 74 65 6d 20 40 6b 62 64 7b 43 2d 4d 2d 75 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 tem.@kbd{C-M-u}..@tab.@ref{racke
d46a0 74 2d 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 t-backward-up-list}.@item.@kbd{C
d46c0 2d 4d 2d 78 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 65 6e 64 2d 64 65 66 -M-x}..@tab.@ref{racket-send-def
d46e0 69 6e 69 74 69 6f 6e 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 75 7d 20 0a 40 74 inition}.@item.@kbd{C-c.C-u}..@t
d4700 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 7d ab.@ref{racket-unfold-all-tests}
d4720 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 66 7d 20 0a 40 74 61 62 20 40 72 65 66 7b .@item.@kbd{C-c.C-f}..@tab.@ref{
d4740 72 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 7d 0a 40 69 74 65 6d 20 40 6b 62 racket-fold-all-tests}.@item.@kb
d4760 64 7b 43 2d 63 20 43 2d 2e 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 64 65 73 d{C-c.C-.}..@tab.@ref{racket-des
d4780 63 72 69 62 65 2d 73 65 61 72 63 68 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 73 cribe-search}.@item.@kbd{C-c.C-s
d47a0 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 }..@tab.@ref{racket-describe-sea
d47c0 72 63 68 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 64 7d 20 0a 40 74 61 62 20 40 rch}.@item.@kbd{C-c.C-d}..@tab.@
d47e0 72 65 66 7b 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 7d ref{racket-documentation-search}
d4800 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 70 7d 20 0a 40 74 61 62 20 40 72 65 66 7b .@item.@kbd{C-c.C-p}..@tab.@ref{
d4820 72 61 63 6b 65 74 2d 63 79 63 6c 65 2d 70 61 72 65 6e 2d 73 68 61 70 65 73 7d 0a 40 69 74 65 6d racket-cycle-paren-shapes}.@item
d4840 20 40 6b 62 64 7b 43 2d 63 20 43 2d 78 20 43 2d 66 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 .@kbd{C-c.C-x.C-f}..@tab.@ref{ra
d4860 63 6b 65 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 7d 0a 40 69 74 65 6d 20 40 6b cket-open-require-path}.@item.@k
d4880 62 64 7b 43 2d 63 20 43 2d 65 20 72 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d bd{C-c.C-e.r}..@tab.@ref{racket-
d48a0 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d expand-region}.@item.@kbd{C-c.C-
d48c0 65 20 65 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 e.e}..@tab.@ref{racket-expand-la
d48e0 73 74 2d 73 65 78 70 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 65 20 78 7d 20 0a st-sexp}.@item.@kbd{C-c.C-e.x}..
d4900 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 @tab.@ref{racket-expand-definiti
d4920 6f 6e 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 65 20 66 7d 20 0a 40 74 61 62 20 on}.@item.@kbd{C-c.C-e.f}..@tab.
d4940 40 72 65 66 7b 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 7d 0a 40 69 74 65 6d 20 40 @ref{racket-expand-file}.@item.@
d4960 6b 62 64 7b 43 2d 63 20 43 2d 72 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 kbd{C-c.C-r}..@tab.@ref{racket-s
d4980 65 6e 64 2d 72 65 67 69 6f 6e 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 6f 7d 20 end-region}.@item.@kbd{C-c.C-o}.
d49a0 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 7d 0a 40 69 74 65 6d .@tab.@ref{racket-profile}.@item
d49c0 20 40 6b 62 64 7b 43 2d 63 20 43 2d 6c 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 .@kbd{C-c.C-l}..@tab.@ref{racket
d49e0 2d 6c 6f 67 67 65 72 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 74 7d 20 0a 40 74 -logger}.@item.@kbd{C-c.C-t}..@t
d4a00 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 74 65 73 74 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b ab.@ref{racket-test}.@item.@kbd{
d4a20 43 2d 63 20 43 2d 7a 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 65 64 69 74 C-c.C-z}..@tab.@code{racket-edit
d4a40 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 -switch-to-repl}.@item.@kbd{C-c.
d4a60 43 2d 6b 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c C-k}..@tab.@ref{racket-run-modul
d4a80 65 2d 61 74 2d 70 6f 69 6e 74 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 63 7d 20 e-at-point}.@item.@kbd{C-c.C-c}.
d4aa0 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d .@tab.@ref{racket-run-module-at-
d4ac0 70 6f 69 6e 74 7d 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 0a 0a 49 6e 20 61 64 64 point}.@end.multitable....In.add
d4ae0 69 74 69 6f 6e 20 74 6f 20 61 6e 79 20 68 6f 6f 6b 73 20 69 74 73 20 70 61 72 65 6e 74 20 6d 6f ition.to.any.hooks.its.parent.mo
d4b00 64 65 20 40 63 6f 64 65 7b 70 72 6f 67 2d 6d 6f 64 65 7d 20 6d 69 67 68 74 20 68 61 76 65 20 72 de.@code{prog-mode}.might.have.r
d4b20 75 6e 2c 0a 74 68 69 73 20 6d 6f 64 65 20 72 75 6e 73 20 74 68 65 20 68 6f 6f 6b 20 40 63 6f 64 un,.this.mode.runs.the.hook.@cod
d4b40 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 68 6f 6f 6b 7d 2c 20 61 73 20 74 68 65 20 66 69 6e 61 e{racket-mode-hook},.as.the.fina
d4b60 6c 20 6f 72 0a 70 65 6e 75 6c 74 69 6d 61 74 65 20 73 74 65 70 20 64 75 72 69 6e 67 20 69 6e 69 l.or.penultimate.step.during.ini
d4b80 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 tialization...@node.racket-inser
d4ba0 74 2d 6c 61 6d 62 64 61 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 69 6e 73 65 t-lambda.@subsection.racket-inse
d4bc0 72 74 2d 6c 61 6d 62 64 61 0a 0a 40 6b 62 64 7b 43 2d 4d 2d 79 7d 20 0a 0a 49 6e 73 65 72 74 20 rt-lambda..@kbd{C-M-y}...Insert.
d4be0 ce bb 2e 0a 0a 54 6f 20 69 6e 73 65 72 74 20 55 6e 69 63 6f 64 65 20 73 79 6d 62 6f 6c 73 20 67 .....To.insert.Unicode.symbols.g
d4c00 65 6e 65 72 61 6c 6c 79 2c 20 73 65 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 enerally,.see.@ref{racket-unicod
d4c20 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 7d 2e 0a 0a 40 6e 6f 64 65 20 72 e-input-method-enable}...@node.r
d4c40 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 0a 40 73 75 62 73 65 63 74 69 6f 6e acket-fold-all-tests.@subsection
d4c60 20 72 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 0a 0a 40 6b 62 64 7b 43 2d 63 .racket-fold-all-tests..@kbd{C-c
d4c80 20 43 2d 66 7d 20 0a 0a 46 6f 6c 64 20 28 68 69 64 65 29 20 61 6c 6c 20 74 65 73 74 20 73 75 62 .C-f}...Fold.(hide).all.test.sub
d4ca0 6d 6f 64 75 6c 65 73 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c modules...@node.racket-unfold-al
d4cc0 6c 2d 74 65 73 74 73 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 75 6e 66 6f 6c l-tests.@subsection.racket-unfol
d4ce0 64 2d 61 6c 6c 2d 74 65 73 74 73 0a 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 75 7d 20 0a 0a 55 6e 66 d-all-tests..@kbd{C-c.C-u}...Unf
d4d00 6f 6c 64 20 28 73 68 6f 77 29 20 61 6c 6c 20 74 65 73 74 20 73 75 62 6d 6f 64 75 6c 65 73 2e 0a old.(show).all.test.submodules..
d4d20 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 0a 40 73 75 62 .@node.racket-tidy-requires.@sub
d4d40 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 0a 0a 40 6b section.racket-tidy-requires..@k
d4d60 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 bd{M-x}..@code{racket-tidy-requi
d4d80 72 65 73 7d 0a 0a 4d 61 6b 65 20 61 20 73 69 6e 67 6c 65 20 60 60 72 65 71 75 69 72 65 27 27 20 res}..Make.a.single.``require''.
d4da0 66 6f 72 6d 2c 20 6d 6f 64 75 6c 65 73 20 73 6f 72 74 65 64 2c 20 6f 6e 65 20 70 65 72 20 6c 69 form,.modules.sorted,.one.per.li
d4dc0 6e 65 2e 0a 0a 54 68 65 20 73 63 6f 70 65 20 6f 66 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 ne...The.scope.of.this.command.i
d4de0 73 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 6d 6f 64 75 6c 65 20 61 72 6f 75 6e 64 20 70 6f s.the.innermost.module.around.po
d4e00 69 6e 74 2c 0a 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 6f 75 74 65 72 6d 6f 73 74 20 6d 6f 64 int,.including.the.outermost.mod
d4e20 75 6c 65 20 66 6f 72 20 61 20 66 69 6c 65 20 75 73 69 6e 67 20 61 20 60 60 23 6c 61 6e 67 27 27 ule.for.a.file.using.a.``#lang''
d4e40 20 6c 69 6e 65 2e 0a 41 6c 6c 20 72 65 71 75 69 72 65 20 66 6f 72 6d 73 20 77 69 74 68 69 6e 20 .line..All.require.forms.within.
d4e60 74 68 61 74 20 6d 6f 64 75 6c 65 20 61 72 65 20 63 6f 6d 62 69 6e 65 64 20 69 6e 74 6f 20 61 20 that.module.are.combined.into.a.
d4e80 73 69 6e 67 6c 65 0a 66 6f 72 6d 2e 20 57 69 74 68 69 6e 20 74 68 61 74 20 66 6f 72 6d 3a 0a 0a single.form..Within.that.form:..
d4ea0 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 41 20 73 69 6e 67 6c 65 20 73 75 62 66 6f 72 6d 20 @itemize.@item.A.single.subform.
d4ec0 69 73 20 75 73 65 64 20 66 6f 72 20 65 61 63 68 20 70 68 61 73 65 20 6c 65 76 65 6c 2c 20 73 6f is.used.for.each.phase.level,.so
d4ee0 72 74 65 64 20 69 6e 20 74 68 69 73 0a 6f 72 64 65 72 3a 20 66 6f 72 2d 73 79 6e 74 61 78 2c 20 rted.in.this.order:.for-syntax,.
d4f00 66 6f 72 2d 74 65 6d 70 6c 61 74 65 2c 20 66 6f 72 2d 6c 61 62 65 6c 2c 20 66 6f 72 2d 6d 65 74 for-template,.for-label,.for-met
d4f20 61 2c 20 61 6e 64 0a 70 6c 61 69 6e 20 28 70 68 61 73 65 20 30 29 2e 0a 0a 40 69 74 65 6d 69 7a a,.and.plain.(phase.0)...@itemiz
d4f40 65 0a 40 69 74 65 6d 0a 57 69 74 68 69 6e 20 65 61 63 68 20 6c 65 76 65 6c 20 73 75 62 66 6f 72 e.@item.Within.each.level.subfor
d4f60 6d 2c 20 74 68 65 20 6d 6f 64 75 6c 65 73 20 61 72 65 20 73 6f 72 74 65 64 3a 0a 0a 40 69 74 65 m,.the.modules.are.sorted:..@ite
d4f80 6d 69 7a 65 0a 40 69 74 65 6d 0a 43 6f 6c 6c 65 63 74 69 6f 6e 20 70 61 74 68 20 6d 6f 64 75 6c mize.@item.Collection.path.modul
d4fa0 65 73 20 2d 2d 20 73 6f 72 74 65 64 20 61 6c 70 68 61 62 65 74 69 63 61 6c 6c 79 2e 0a 0a 40 69 es.--.sorted.alphabetically...@i
d4fc0 74 65 6d 0a 53 75 62 66 6f 72 6d 73 20 73 75 63 68 20 61 73 20 6f 6e 6c 79 2d 69 6e 2e 0a 0a 40 tem.Subforms.such.as.only-in...@
d4fe0 69 74 65 6d 0a 51 75 6f 74 65 64 20 72 65 6c 61 74 69 76 65 20 72 65 71 75 69 72 65 73 20 2d 2d item.Quoted.relative.requires.--
d5000 20 73 6f 72 74 65 64 20 61 6c 70 68 61 62 65 74 69 63 61 6c 6c 79 2e 0a 40 65 6e 64 20 69 74 65 .sorted.alphabetically..@end.ite
d5020 6d 69 7a 65 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a mize.@end.itemize.@end.itemize..
d5040 41 74 20 6d 6f 73 74 20 6f 6e 65 20 72 65 71 75 69 72 65 64 20 6d 6f 64 75 6c 65 20 69 73 20 6c At.most.one.required.module.is.l
d5060 69 73 74 65 64 20 70 65 72 20 6c 69 6e 65 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 72 65 66 7b isted.per.line...See.also:.@ref{
d5080 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 7d 20 61 6e 64 20 40 72 65 66 7b 72 racket-trim-requires}.and.@ref{r
d50a0 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 acket-base-requires}...@node.rac
d50c0 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 ket-trim-requires.@subsection.ra
d50e0 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 cket-trim-requires..@kbd{M-x}..@
d5100 63 6f 64 65 7b 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 7d 0a 0a 4c 69 6b 65 code{racket-trim-requires}..Like
d5120 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 7d 20 62 75 74 20 .@ref{racket-tidy-requires}.but.
d5140 61 6c 73 6f 20 64 65 6c 65 74 65 73 20 75 6e 6e 65 63 65 73 73 61 72 79 20 72 65 71 75 69 72 65 also.deletes.unnecessary.require
d5160 73 2e 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 s...Note:.This.only.works.when.t
d5180 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 20 63 61 6e 20 62 65 20 66 75 6c 6c 79 20 65 78 70 61 he.source.file.can.be.fully.expa
d51a0 6e 64 65 64 0a 77 69 74 68 20 6e 6f 20 65 72 72 6f 72 73 2e 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 nded.with.no.errors...Note:.This
d51c0 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 66 6f 72 20 72 65 71 75 69 72 65 73 20 61 74 20 74 68 65 20 .only.works.for.requires.at.the.
d51e0 74 6f 70 20 6c 65 76 65 6c 20 6f 66 20 61 20 73 6f 75 72 63 65 0a 66 69 6c 65 20 75 73 69 6e 67 top.level.of.a.source.file.using
d5200 20 23 6c 61 6e 67 2e 20 49 74 20 64 6f 65 73 20 4e 4f 54 20 77 6f 72 6b 20 66 6f 72 20 72 65 71 .#lang..It.does.NOT.work.for.req
d5220 75 69 72 65 20 66 6f 72 6d 73 20 69 6e 73 69 64 65 0a 6d 6f 64 75 6c 65 20 66 6f 72 6d 73 2e 20 uire.forms.inside.module.forms..
d5240 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 69 74 20 69 73 20 6e 6f 74 20 73 6d 61 72 74 20 61 62 6f Furthermore,.it.is.not.smart.abo
d5260 75 74 20 6d 6f 64 75 6c 65 2b 20 6f 72 0a 6d 6f 64 75 6c 65 2a 20 66 6f 72 6d 73 20 2d 2d 20 69 ut.module+.or.module*.forms.--.i
d5280 74 20 6d 69 67 68 74 20 64 65 6c 65 74 65 20 74 6f 70 20 6c 65 76 65 6c 20 72 65 71 75 69 72 65 t.might.delete.top.level.require
d52a0 73 20 74 68 61 74 20 61 72 65 0a 61 63 74 75 61 6c 6c 79 20 6e 65 65 64 65 64 20 62 79 20 73 75 s.that.are.actually.needed.by.su
d52c0 63 68 20 73 75 62 6d 6f 64 75 6c 65 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 72 65 66 7b 72 ch.submodules...See.also:.@ref{r
d52e0 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 acket-base-requires}...@node.rac
d5300 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 ket-base-requires.@subsection.ra
d5320 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 cket-base-requires..@kbd{M-x}..@
d5340 63 6f 64 65 7b 72 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 7d 0a 0a 43 68 61 6e code{racket-base-requires}..Chan
d5360 67 65 20 66 72 6f 6d 20 60 60 23 6c 61 6e 67 20 72 61 63 6b 65 74 27 27 20 74 6f 20 60 60 23 6c ge.from.``#lang.racket''.to.``#l
d5380 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 27 27 2e 0a 0a 41 64 64 73 20 65 78 70 6c 69 63 69 ang.racket/base''...Adds.explici
d53a0 74 20 72 65 71 75 69 72 65 73 20 66 6f 72 20 69 6d 70 6f 72 74 73 20 74 68 61 74 20 61 72 65 20 t.requires.for.imports.that.are.
d53c0 70 72 6f 76 69 64 65 64 20 62 79 0a 60 60 72 61 63 6b 65 74 27 27 20 62 75 74 20 6e 6f 74 20 62 provided.by.``racket''.but.not.b
d53e0 79 20 60 60 72 61 63 6b 65 74 2f 62 61 73 65 27 27 2e 0a 0a 54 68 69 73 20 69 73 20 61 20 72 65 y.``racket/base''...This.is.a.re
d5400 63 6f 6d 6d 65 6e 64 65 64 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 66 6f 72 20 52 61 63 6b 65 commended.optimization.for.Racke
d5420 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 2e 0a 41 76 6f 69 64 69 6e 67 20 6c 6f 61 64 69 6e 67 t.applications..Avoiding.loading
d5440 20 61 6c 6c 20 6f 66 20 60 60 72 61 63 6b 65 74 27 27 20 63 61 6e 20 72 65 64 75 63 65 20 6c 6f .all.of.``racket''.can.reduce.lo
d5460 61 64 20 74 69 6d 65 20 61 6e 64 0a 6d 65 6d 6f 72 79 20 66 6f 6f 74 70 72 69 6e 74 2e 0a 0a 41 ad.time.and.memory.footprint...A
d5480 6c 73 6f 2c 20 61 73 20 64 6f 65 73 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 lso,.as.does.@ref{racket-trim-re
d54a0 71 75 69 72 65 73 7d 2c 20 74 68 69 73 20 72 65 6d 6f 76 65 73 20 75 6e 6e 65 65 64 65 64 0a 6d quires},.this.removes.unneeded.m
d54c0 6f 64 75 6c 65 73 20 61 6e 64 20 74 69 64 69 65 73 20 65 76 65 72 79 74 68 69 6e 67 20 69 6e 74 odules.and.tidies.everything.int
d54e0 6f 20 61 20 73 69 6e 67 6c 65 2c 20 73 6f 72 74 65 64 20 72 65 71 75 69 72 65 20 66 6f 72 6d 2e o.a.single,.sorted.require.form.
d5500 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 65 ..Note:.This.only.works.when.the
d5520 20 73 6f 75 72 63 65 20 66 69 6c 65 20 63 61 6e 20 62 65 20 66 75 6c 6c 79 20 65 78 70 61 6e 64 .source.file.can.be.fully.expand
d5540 65 64 0a 77 69 74 68 20 6e 6f 20 65 72 72 6f 72 73 2e 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 6f ed.with.no.errors...Note:.This.o
d5560 6e 6c 79 20 77 6f 72 6b 73 20 66 6f 72 20 72 65 71 75 69 72 65 73 20 61 74 20 74 68 65 20 74 6f nly.works.for.requires.at.the.to
d5580 70 20 6c 65 76 65 6c 20 6f 66 20 61 20 73 6f 75 72 63 65 0a 66 69 6c 65 20 75 73 69 6e 67 20 23 p.level.of.a.source.file.using.#
d55a0 6c 61 6e 67 2e 20 49 74 20 64 6f 65 73 20 4e 4f 54 20 77 6f 72 6b 20 66 6f 72 20 72 65 71 75 69 lang..It.does.NOT.work.for.requi
d55c0 72 65 20 66 6f 72 6d 73 20 69 6e 73 69 64 65 0a 6d 6f 64 75 6c 65 20 66 6f 72 6d 73 2e 20 46 75 re.forms.inside.module.forms..Fu
d55e0 72 74 68 65 72 6d 6f 72 65 2c 20 69 74 20 69 73 20 6e 6f 74 20 73 6d 61 72 74 20 61 62 6f 75 74 rthermore,.it.is.not.smart.about
d5600 20 6d 6f 64 75 6c 65 2b 20 6f 72 0a 6d 6f 64 75 6c 65 2a 20 66 6f 72 6d 73 20 2d 2d 20 69 74 20 .module+.or.module*.forms.--.it.
d5620 6d 69 67 68 74 20 64 65 6c 65 74 65 20 74 6f 70 20 6c 65 76 65 6c 20 72 65 71 75 69 72 65 73 20 might.delete.top.level.requires.
d5640 74 68 61 74 20 61 72 65 0a 61 63 74 75 61 6c 6c 79 20 6e 65 65 64 65 64 20 62 79 20 73 75 63 68 that.are.actually.needed.by.such
d5660 20 73 75 62 6d 6f 64 75 6c 65 73 2e 0a 0a 4e 6f 74 65 3a 20 43 75 72 72 65 6e 74 6c 79 20 74 68 .submodules...Note:.Currently.th
d5680 69 73 20 6f 6e 6c 79 20 68 65 6c 70 73 20 63 68 61 6e 67 65 20 60 60 23 6c 61 6e 67 20 72 61 63 is.only.helps.change.``#lang.rac
d56a0 6b 65 74 27 27 20 74 6f 0a 60 60 23 6c 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 27 27 2e 20 ket''.to.``#lang.racket/base''..
d56c0 49 74 20 64 6f 65 73 20 6e 6f 74 20 68 65 6c 70 20 77 69 74 68 20 6f 74 68 65 72 20 73 69 6d 69 It.does.not.help.with.other.simi
d56e0 6c 61 72 0a 63 6f 6e 76 65 72 73 69 6f 6e 73 2c 20 73 75 63 68 20 61 73 20 63 68 61 6e 67 69 6e lar.conversions,.such.as.changin
d5700 67 20 60 60 23 6c 61 6e 67 20 74 79 70 65 64 2f 72 61 63 6b 65 74 27 27 20 74 6f 20 60 60 23 6c g.``#lang.typed/racket''.to.``#l
d5720 61 6e 67 0a 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 62 61 73 65 27 27 2e 0a 0a 40 6e 6f 64 65 20 ang.typed/racket/base''...@node.
d5740 72 61 63 6b 65 74 2d 61 64 64 2d 72 65 71 75 69 72 65 2d 66 6f 72 2d 69 64 65 6e 74 69 66 69 65 racket-add-require-for-identifie
d5760 72 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 61 64 64 2d 72 65 71 75 69 72 65 r.@subsection.racket-add-require
d5780 2d 66 6f 72 2d 69 64 65 6e 74 69 66 69 65 72 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 -for-identifier..@kbd{M-x}..@cod
d57a0 65 7b 72 61 63 6b 65 74 2d 61 64 64 2d 72 65 71 75 69 72 65 2d 66 6f 72 2d 69 64 65 6e 74 69 66 e{racket-add-require-for-identif
d57c0 69 65 72 7d 0a 0a 41 64 64 20 61 20 72 65 71 75 69 72 65 20 66 6f 72 20 74 68 65 20 69 64 65 6e ier}..Add.a.require.for.the.iden
d57e0 74 69 66 69 65 72 20 61 74 20 70 6f 69 6e 74 2e 0a 0a 57 68 65 6e 20 6d 6f 72 65 20 74 68 61 6e tifier.at.point...When.more.than
d5800 20 6f 6e 65 20 6d 6f 64 75 6c 65 20 73 75 70 70 6c 69 65 73 20 61 6e 20 69 64 65 6e 74 69 66 65 .one.module.supplies.an.identife
d5820 72 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 6e 61 6d 65 2c 20 74 68 65 79 20 61 72 65 20 6c r.with.the.same.name,.they.are.l
d5840 69 73 74 65 64 20 66 6f 72 20 79 6f 75 20 74 6f 20 63 68 6f 6f 73 65 20 6f 6e 65 2e 20 54 68 65 isted.for.you.to.choose.one..The
d5860 20 6c 69 73 74 20 69 73 20 73 6f 72 74 65 64 0a 61 6c 70 68 61 62 65 74 69 63 61 6c 6c 79 2c 20 .list.is.sorted.alphabetically,.
d5880 65 78 63 65 70 74 20 6d 6f 64 75 6c 65 73 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 60 60 72 except.modules.starting.with.``r
d58a0 61 63 6b 65 74 2f 27 27 20 61 6e 64 0a 60 60 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 27 27 20 61 acket/''.and.``typed/racket/''.a
d58c0 72 65 20 73 6f 72 74 65 64 20 62 65 66 6f 72 65 20 6f 74 68 65 72 73 2e 0a 0a 41 20 60 60 72 65 re.sorted.before.others...A.``re
d58e0 71 75 69 72 65 27 27 20 66 6f 72 6d 20 69 73 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 74 68 quire''.form.is.inserted.into.th
d5900 65 20 62 75 66 66 65 72 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 64 6f 69 6e 67 0a 61 20 40 72 e.buffer,.followed.by.doing.a.@r
d5920 65 66 7b 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 7d 2e 0a 0a 43 61 76 65 61 ef{racket-tidy-requires}...Cavea
d5940 74 3a 20 54 68 69 73 20 77 6f 72 6b 73 20 69 6e 20 74 65 72 6d 73 20 6f 66 20 69 64 65 6e 74 69 t:.This.works.in.terms.of.identi
d5960 66 69 65 72 73 20 74 68 61 74 20 61 72 65 20 64 6f 63 75 6d 65 6e 74 65 64 2e 0a 54 68 65 20 6d fiers.that.are.documented..The.m
d5980 65 63 68 61 6e 69 73 6d 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 61 74 20 75 73 65 64 echanism.is.similar.to.that.used
d59a0 20 66 6f 72 20 52 61 63 6b 65 74 27 73 20 60 60 53 65 61 72 63 68 0a 4d 61 6e 75 61 6c 73 27 27 .for.Racket's.``Search.Manuals''
d59c0 20 66 65 61 74 75 72 65 2e 20 54 6f 64 61 79 20 74 68 65 72 65 20 65 78 69 73 74 73 20 6e 6f 20 .feature..Today.there.exists.no.
d59e0 73 79 73 74 65 6d 2d 77 69 64 65 20 64 61 74 61 62 61 73 65 20 6f 66 0a 69 64 65 6e 74 69 66 69 system-wide.database.of.identifi
d5a00 65 72 73 20 74 68 61 74 20 61 72 65 20 65 78 70 6f 72 74 65 64 20 62 75 74 20 6e 6f 74 20 64 6f ers.that.are.exported.but.not.do
d5a20 63 75 6d 65 6e 74 65 64 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c cumented...@node.racket-indent-l
d5a40 69 6e 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 ine.@subsection.racket-indent-li
d5a60 6e 65 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 69 6e 64 65 ne..@kbd{M-x}..@code{racket-inde
d5a80 6e 74 2d 6c 69 6e 65 7d 0a 0a 49 6e 64 65 6e 74 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 20 61 73 nt-line}..Indent.current.line.as
d5aa0 20 52 61 63 6b 65 74 20 63 6f 64 65 2e 0a 0a 4e 6f 72 6d 61 6c 6c 79 20 79 6f 75 20 64 6f 6e 27 .Racket.code...Normally.you.don'
d5ac0 74 20 69 6e 76 6f 6b 65 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 64 69 72 65 63 74 6c 79 2e 20 t.invoke.this.command.directly..
d5ae0 49 6e 73 74 65 61 64 2c 20 62 65 63 61 75 73 65 0a 69 74 20 69 73 20 75 73 65 64 20 61 73 20 74 Instead,.because.it.is.used.as.t
d5b00 68 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 63 6f 64 65 7b he.value.for.the.variable.@code{
d5b20 69 6e 64 65 6e 74 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 7d 0a 69 6e 20 40 72 65 66 7b 72 61 indent-line-function}.in.@ref{ra
d5b40 63 6b 65 74 2d 6d 6f 64 65 7d 20 61 6e 64 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d cket-mode}.and.@ref{racket-repl-
d5b60 6d 6f 64 65 7d 20 62 75 66 66 65 72 73 2c 20 69 74 20 69 73 20 75 73 65 64 0a 61 75 74 6f 6d 61 mode}.buffers,.it.is.used.automa
d5b80 74 69 63 61 6c 6c 79 20 77 68 65 6e 20 79 6f 75 20 70 72 65 73 73 20 6b 65 79 73 20 6c 69 6b 65 tically.when.you.press.keys.like
d5ba0 20 52 45 54 20 6f 72 20 54 41 42 40 2e 20 48 6f 77 65 76 65 72 20 79 6f 75 0a 6d 69 67 68 74 20 .RET.or.TAB@..However.you.might.
d5bc0 72 65 66 65 72 20 74 6f 20 69 74 20 77 68 65 6e 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 63 75 73 refer.to.it.when.configuring.cus
d5be0 74 6f 6d 20 69 6e 64 65 6e 74 61 74 69 6f 6e 2c 20 65 78 70 6c 61 69 6e 65 64 0a 62 65 6c 6f 77 tom.indentation,.explained.below
d5c00 2e 0a 0a 46 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 72 61 64 69 74 69 6f 6e 20 6f 66 20 40 63 ...Following.the.tradition.of.@c
d5c20 6f 64 65 7b 6c 69 73 70 2d 6d 6f 64 65 7d 20 61 6e 64 20 40 63 6f 64 65 7b 73 63 68 65 6d 65 2d ode{lisp-mode}.and.@code{scheme-
d5c40 6d 6f 64 65 7d 2c 20 74 68 65 0a 70 72 69 6d 61 72 79 20 77 61 79 20 74 6f 20 64 65 74 65 72 6d mode},.the.primary.way.to.determ
d5c60 69 6e 65 20 74 68 65 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 20 66 6f 72 6d 20 69 73 ine.the.indentation.of.a.form.is
d5c80 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 0a 61 20 72 75 6c 65 20 73 74 6f 72 65 64 20 61 73 20 61 20 .to.look.for.a.rule.stored.as.a.
d5ca0 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 7d 20 70 72 @code{racket-indent-function}.pr
d5cc0 6f 70 65 72 74 79 2e 0a 0a 54 6f 20 65 78 74 65 6e 64 2c 20 75 73 65 20 79 6f 75 72 20 45 6d 61 operty...To.extend,.use.your.Ema
d5ce0 63 73 20 69 6e 69 74 20 66 69 6c 65 20 74 6f 0a 0a 40 6c 69 73 70 0a 20 20 20 20 28 70 75 74 20 cs.init.file.to..@lisp.....(put.
d5d00 53 59 4d 42 4f 4c 20 27 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 49 SYMBOL.'racket-indent-function.I
d5d20 4e 44 45 4e 54 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 53 59 4d 42 4f 4c 20 69 73 20 74 68 65 20 NDENT).@end.lisp..SYMBOL.is.the.
d5d40 6e 61 6d 65 20 6f 66 20 74 68 65 20 52 61 63 6b 65 74 20 66 6f 72 6d 20 6c 69 6b 65 20 60 60 74 name.of.the.Racket.form.like.``t
d5d60 65 73 74 2d 63 61 73 65 27 27 20 61 6e 64 0a 49 4e 44 45 4e 54 20 69 73 20 61 6e 20 69 6e 74 65 est-case''.and.INDENT.is.an.inte
d5d80 67 65 72 20 6f 72 20 74 68 65 20 73 79 6d 62 6f 6c 20 60 60 64 65 66 75 6e 27 27 2e 20 57 68 65 ger.or.the.symbol.``defun''..Whe
d5da0 6e 20 49 4e 44 45 4e 54 20 69 73 20 61 6e 0a 69 6e 74 65 67 65 72 2c 20 74 68 65 20 6d 65 61 6e n.INDENT.is.an.integer,.the.mean
d5dc0 69 6e 67 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 20 6c 69 73 70 2d 69 6e 64 65 ing.is.the.same.as.for.lisp-inde
d5de0 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 61 6e 64 0a 73 63 68 65 6d 65 2d 69 6e 64 65 6e 74 2d 66 75 nt-function.and.scheme-indent-fu
d5e00 6e 63 74 69 6f 6e 3a 20 49 6e 64 65 6e 74 20 74 68 65 20 66 69 72 73 74 20 49 4e 44 45 4e 54 20 nction:.Indent.the.first.INDENT.
d5e20 61 72 67 75 6d 65 6e 74 73 0a 73 70 65 63 69 61 6c 6c 79 20 61 6e 64 20 69 6e 64 65 6e 74 20 61 arguments.specially.and.indent.a
d5e40 6e 79 20 66 75 72 74 68 65 72 20 61 72 67 75 6d 65 6e 74 73 20 6c 69 6b 65 20 61 20 62 6f 64 79 ny.further.arguments.like.a.body
d5e60 2e 20 28 54 68 65 0a 6e 75 6d 62 65 72 20 6d 61 79 20 62 65 20 6e 65 67 61 74 69 76 65 3b 20 73 ..(The.number.may.be.negative;.s
d5e80 65 65 20 64 69 73 63 75 73 73 69 6f 6e 20 62 65 6c 6f 77 2e 29 0a 0a 46 6f 72 20 65 78 61 6d 70 ee.discussion.below.)..For.examp
d5ea0 6c 65 3a 0a 0a 40 6c 69 73 70 0a 20 20 20 20 28 70 75 74 20 27 74 65 73 74 2d 63 61 73 65 20 27 le:..@lisp.....(put.'test-case.'
d5ec0 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 31 29 0a 40 65 6e 64 20 6c racket-indent-function.1).@end.l
d5ee0 69 73 70 0a 0a 54 68 69 73 20 77 69 6c 6c 20 63 68 61 6e 67 65 20 74 68 65 20 69 6e 64 65 6e 74 isp..This.will.change.the.indent
d5f00 20 6f 66 20 40 63 6f 64 65 7b 74 65 73 74 2d 63 61 73 65 7d 20 66 72 6f 6d 20 74 68 69 73 3a 0a .of.@code{test-case}.from.this:.
d5f20 0a 40 65 78 61 6d 70 6c 65 0a 20 20 20 20 28 74 65 73 74 2d 63 61 73 65 20 66 6f 6f 0a 20 20 20 .@example.....(test-case.foo....
d5f40 20 20 20 20 20 20 20 20 20 20 20 20 62 6c 61 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............blah................
d5f60 62 6c 61 68 29 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 74 6f 20 74 68 69 73 3a 0a 0a 40 65 blah).@end.example..to.this:..@e
d5f80 78 61 6d 70 6c 65 0a 20 20 20 20 28 74 65 73 74 2d 63 61 73 65 20 66 6f 6f 0a 20 20 20 20 20 20 xample.....(test-case.foo.......
d5fa0 62 6c 61 68 0a 20 20 20 20 20 20 62 6c 61 68 29 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 46 blah.......blah).@end.example..F
d5fc0 6f 72 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c 20 69 66 20 40 63 or.backward.compatibility,.if.@c
d5fe0 6f 64 65 7b 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 7d 20 68 61 73 20 ode{racket-indent-function}.has.
d6000 6e 6f 0a 70 72 6f 70 65 72 74 79 20 66 6f 72 20 61 20 73 79 6d 62 6f 6c 2c 20 61 20 73 63 68 65 no.property.for.a.symbol,.a.sche
d6020 6d 65 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 20 69 73 20 61 me-indent-function.property.is.a
d6040 6c 73 6f 0a 63 6f 6e 73 69 64 65 72 65 64 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 65 20 60 60 77 lso.considered,.although.the.``w
d6060 69 74 68 2d 27 27 20 69 6e 64 65 6e 74 73 20 64 65 66 69 6e 65 64 20 62 79 20 73 63 68 65 6d 65 ith-''.indents.defined.by.scheme
d6080 2d 6d 6f 64 65 0a 61 72 65 20 69 67 6e 6f 72 65 64 2e 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 -mode.are.ignored..This.is.only.
d60a0 74 6f 20 68 65 6c 70 20 70 65 6f 70 6c 65 20 77 68 6f 20 6d 61 79 20 68 61 76 65 20 65 78 74 65 to.help.people.who.may.have.exte
d60c0 6e 73 69 76 65 0a 73 63 68 65 6d 65 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 73 65 74 nsive.scheme-indent-function.set
d60e0 74 69 6e 67 73 2c 20 70 61 72 74 69 63 75 6c 61 72 6c 79 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 tings,.particularly.in.the.form.
d6100 6f 66 20 66 69 6c 65 0a 6f 72 20 64 69 72 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 20 of.file.or.dir.local.variables..
d6120 4f 74 68 65 72 77 69 73 65 20 70 72 65 66 65 72 20 70 75 74 74 69 6e 67 20 70 72 6f 70 65 72 74 Otherwise.prefer.putting.propert
d6140 69 65 73 20 6f 6e 0a 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 ies.on.@code{racket-indent-funct
d6160 69 6f 6e 7d 2e 0a 0a 49 66 20 6e 6f 20 65 78 70 6c 69 63 69 74 20 72 75 6c 65 73 20 6d 61 74 63 ion}...If.no.explicit.rules.matc
d6180 68 2c 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 75 73 65 64 20 h,.regular.expressions.are.used.
d61a0 66 6f 72 20 61 0a 63 6f 75 70 6c 65 20 73 70 65 63 69 61 6c 20 63 61 73 65 73 3a 0a 0a 40 69 74 for.a.couple.special.cases:..@it
d61c0 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 46 6f 72 6d 73 20 74 68 61 74 20 73 74 61 72 74 20 77 69 74 emize.@item.Forms.that.start.wit
d61e0 68 20 60 60 62 65 67 69 6e 27 27 20 69 6e 64 65 6e 74 20 6c 69 6b 65 20 60 60 62 65 67 69 6e 27 h.``begin''.indent.like.``begin'
d6200 27 2e 0a 0a 40 69 74 65 6d 0a 46 6f 72 6d 73 20 74 68 61 74 20 73 74 61 72 74 20 77 69 74 68 20 '...@item.Forms.that.start.with.
d6220 60 60 64 65 66 27 27 20 6f 72 20 60 60 77 69 74 68 2d 27 27 20 69 6e 64 65 6e 74 20 6c 69 6b 65 ``def''.or.``with-''.indent.like
d6240 0a 60 60 64 65 66 69 6e 65 27 27 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 4f 6e 20 74 68 .``define''..@end.itemize..On.th
d6260 65 20 6f 6e 65 20 68 61 6e 64 20 74 68 69 73 20 69 73 20 63 6f 6e 76 65 6e 69 65 6e 74 20 77 68 e.one.hand.this.is.convenient.wh
d6280 65 6e 20 79 6f 75 20 63 72 65 61 74 65 20 79 6f 75 72 20 6f 77 6e 0a 60 60 44 52 59 27 27 20 6d en.you.create.your.own.``DRY''.m
d62a0 61 63 72 6f 73 3b 20 74 68 65 79 20 77 69 6c 6c 20 69 6e 64 65 6e 74 20 61 73 20 65 78 70 65 63 acros;.they.will.indent.as.expec
d62c0 74 65 64 20 77 69 74 68 6f 75 74 20 79 6f 75 20 6e 65 65 64 69 6e 67 0a 74 6f 20 6d 61 6b 65 20 ted.without.you.needing.to.make.
d62e0 63 75 73 74 6f 6d 20 69 6e 64 65 6e 74 20 72 75 6c 65 73 2e 20 4f 6e 20 74 68 65 20 6f 74 68 65 custom.indent.rules..On.the.othe
d6300 72 20 68 61 6e 64 20 74 68 65 72 65 20 63 61 6e 20 62 65 20 66 61 6c 73 65 0a 6d 61 74 63 68 65 r.hand.there.can.be.false.matche
d6320 73 3b 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 66 6f 72 s;.for.example.a.function.or.for
d6340 6d 20 6e 61 6d 65 64 20 60 60 64 65 66 65 72 27 27 20 77 69 6c 6c 0a 69 6e 64 65 6e 74 20 6c 69 m.named.``defer''.will.indent.li
d6360 6b 65 20 60 60 64 65 66 69 6e 65 27 27 2e 20 54 68 69 73 20 69 73 20 61 20 6b 6e 6f 77 6e 20 64 ke.``define''..This.is.a.known.d
d6380 72 61 77 62 61 63 6b 20 61 6e 64 20 69 73 20 75 6e 6c 69 6b 65 6c 79 0a 74 6f 20 62 65 20 66 69 rawback.and.is.unlikely.to.be.fi
d63a0 78 65 64 20 75 6e 6c 65 73 73 2f 75 6e 74 69 6c 20 52 61 63 6b 65 74 20 6d 61 63 72 6f 73 20 73 xed.unless/until.Racket.macros.s
d63c0 6f 6d 65 64 61 79 20 73 75 70 70 6f 72 74 20 61 20 70 72 6f 74 6f 63 6f 6c 0a 74 6f 20 63 6f 6d omeday.support.a.protocol.to.com
d63e0 6d 75 6e 69 63 61 74 65 20 68 6f 77 20 74 68 65 79 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 64 65 municate.how.they.should.be.inde
d6400 6e 74 65 64 2e 0a 0a 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 75 74 6f 6d 61 74 69 63 20 68 nted...There.is.also.automatic.h
d6420 61 6e 64 6c 69 6e 67 20 66 6f 72 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 46 6f 72 andling.for:..@itemize.@item.For
d6440 6d 73 20 74 68 61 74 20 62 65 67 69 6e 20 77 69 74 68 20 61 20 23 3a 6b 65 79 77 6f 72 64 20 28 ms.that.begin.with.a.#:keyword.(
d6460 61 73 20 66 6f 75 6e 64 20 69 6e 20 63 6f 6e 74 72 61 63 74 73 29 0a 0a 40 69 74 65 6d 0a 4c 69 as.found.in.contracts)..@item.Li
d6480 74 65 72 61 6c 20 66 6f 72 6d 73 20 6c 69 6b 65 20 23 68 61 73 68 65 71 28 29 0a 0a 40 69 74 65 teral.forms.like.#hasheq()..@ite
d64a0 6d 0a 51 75 6f 74 65 64 20 66 6f 72 6d 73 20 77 68 65 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 m.Quoted.forms.when.the.variable
d64c0 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 .@ref{racket-indent-sequence-dep
d64e0 74 68 7d 0a 69 73 20 3e 20 30 2e 0a 0a 40 69 74 65 6d 0a 40 7b 40 7d 20 66 6f 72 6d 73 20 77 68 th}.is.>.0...@item.@{@}.forms.wh
d6500 65 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 69 6e 64 65 en.the.variable.@ref{racket-inde
d6520 6e 74 2d 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 65 7d 20 69 73 0a 6e 6f 74 20 6e 69 6c nt-curly-as-sequence}.is.not.nil
d6540 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 46 69 6e 61 6c 6c 79 20 61 6e 64 20 6f 74 68 65 ..@end.itemize..Finally.and.othe
d6560 72 77 69 73 65 2c 20 61 20 66 6f 72 6d 20 77 69 6c 6c 20 62 65 20 69 6e 64 65 6e 74 65 64 20 61 rwise,.a.form.will.be.indented.a
d6580 73 20 69 66 20 69 74 20 77 65 72 65 20 61 0a 70 72 6f 63 65 64 75 72 65 20 61 70 70 6c 69 63 61 s.if.it.were.a.procedure.applica
d65a0 74 69 6f 6e 2e 0a 0a 2d 2d 2d 20 2d 2d 2d 20 2d 2d 2d 0a 0a 4e 6f 74 65 3a 20 52 61 63 6b 65 74 tion...---.---.---..Note:.Racket
d65c0 20 4d 6f 64 65 20 65 78 74 65 6e 64 73 20 74 68 65 20 74 72 61 64 69 74 69 6f 6e 61 6c 20 45 6d .Mode.extends.the.traditional.Em
d65e0 61 63 73 20 6c 69 73 70 20 69 6e 64 65 6e 74 20 73 70 65 63 0a 74 6f 20 61 6c 6c 6f 77 20 61 20 acs.lisp.indent.spec.to.allow.a.
d6600 40 65 6d 70 68 7b 6e 65 67 61 74 69 76 65 7d 20 69 6e 74 65 67 65 72 2c 20 77 68 69 63 68 20 6d @emph{negative}.integer,.which.m
d6620 65 61 6e 73 20 74 68 61 74 20 61 6c 6c 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 0a 66 6f 72 6d eans.that.all.distinguished.form
d6640 73 20 73 68 6f 75 6c 64 20 61 6c 69 67 6e 20 77 69 74 68 20 74 68 65 20 66 69 72 73 74 20 6f 6e s.should.align.with.the.first.on
d6660 65 2e 20 54 68 69 73 20 73 74 79 6c 65 20 6f 72 69 67 69 6e 61 74 65 64 20 77 69 74 68 0a 60 60 e..This.style.originated.with.``
d6680 66 6f 72 2f 66 6f 6c 64 27 27 2c 20 77 68 69 63 68 20 68 61 73 20 74 77 6f 20 64 69 73 74 69 6e for/fold'',.which.has.two.distin
d66a0 67 75 69 73 68 65 64 20 66 6f 72 6d 73 2e 20 54 72 61 64 69 74 69 6f 6e 61 6c 6c 79 0a 74 68 6f guished.forms..Traditionally.tho
d66c0 73 65 20 77 6f 75 6c 64 20 69 6e 64 65 6e 74 20 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 40 65 78 61 se.would.indent.like.this:..@exa
d66e0 6d 70 6c 65 0a 20 20 20 20 28 66 6f 72 2f 66 6f 6c 64 20 28 5b 78 20 78 73 5d 29 0a 20 20 20 20 mple.....(for/fold.([x.xs]).....
d6700 20 20 20 20 28 5b 79 20 79 73 5d 29 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 74 77 69 63 65 20 ....([y.ys])............;.twice.
d6720 62 6f 64 79 20 69 6e 64 65 6e 74 0a 20 20 20 20 20 20 62 6f 64 79 29 0a 40 65 6e 64 20 65 78 61 body.indent.......body).@end.exa
d6740 6d 70 6c 65 0a 0a 48 6f 77 65 76 65 72 20 74 68 65 20 70 6f 70 75 6c 61 72 6c 79 20 64 65 73 69 mple..However.the.popularly.desi
d6760 72 65 64 20 69 6e 64 65 6e 74 20 69 73 3a 0a 0a 40 65 78 61 6d 70 6c 65 0a 20 20 20 20 28 66 6f red.indent.is:..@example.....(fo
d6780 72 2f 66 6f 6c 64 20 28 5b 78 20 78 73 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 5b r/fold.([x.xs])...............([
d67a0 79 20 79 73 5d 29 20 20 20 20 20 20 3b 20 73 61 6d 65 20 61 73 20 66 69 72 73 74 20 64 69 73 74 y.ys])......;.same.as.first.dist
d67c0 69 6e 67 75 73 68 65 64 20 66 6f 72 6d 0a 20 20 20 20 20 20 62 6f 64 79 29 0a 40 65 6e 64 20 65 ingushed.form.......body).@end.e
d67e0 78 61 6d 70 6c 65 0a 0a 54 68 69 73 20 69 64 65 61 20 65 78 74 65 6e 64 73 20 74 6f 20 6f 70 74 xample..This.idea.extends.to.opt
d6800 69 6f 6e 61 6c 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 66 6f 72 6d 73 2c 20 73 75 63 68 20 ional.distinguished.forms,.such.
d6820 61 73 20 54 79 70 65 64 0a 52 61 63 6b 65 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 60 60 70 72 65 as.Typed.Racket.annotation.``pre
d6840 66 69 78 65 73 27 27 20 69 6e 20 60 60 66 6f 72 2f 66 6f 6c 64 27 27 2c 20 60 60 66 6f 72 2f 78 fixes''.in.``for/fold'',.``for/x
d6860 27 27 2c 20 61 6e 64 0a 65 76 65 6e 20 60 60 6c 65 74 27 27 20 66 6f 72 6d 73 3a 0a 0a 40 65 78 '',.and.even.``let''.forms:..@ex
d6880 61 6d 70 6c 65 0a 20 20 20 20 28 66 6f 72 2f 66 6f 6c 64 20 3a 20 54 79 70 65 0a 20 20 20 20 20 ample.....(for/fold.:.Type......
d68a0 20 20 20 20 20 20 20 20 20 28 5b 78 20 78 73 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........([x.xs])...............
d68c0 28 5b 79 20 79 73 5d 29 20 20 20 20 20 20 3b 20 73 61 6d 65 20 61 73 20 66 69 72 73 74 20 64 69 ([y.ys])......;.same.as.first.di
d68e0 73 74 69 6e 67 75 73 68 65 64 20 66 6f 72 6d 0a 20 20 20 20 20 20 62 6f 64 79 29 0a 40 65 6e 64 stingushed.form.......body).@end
d6900 20 65 78 61 6d 70 6c 65 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 .example..@node.racket-smart-ope
d6920 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 n-bracket-mode.@subsection.racke
d6940 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 0a 40 6b 62 64 7b t-smart-open-bracket-mode..@kbd{
d6960 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 M-x}..@code{racket-smart-open-br
d6980 61 63 6b 65 74 2d 6d 6f 64 65 7d 0a 0a 4d 69 6e 6f 72 20 6d 6f 64 65 20 74 6f 20 6c 65 74 20 79 acket-mode}..Minor.mode.to.let.y
d69a0 6f 75 20 61 6c 77 61 79 73 20 74 79 70 65 20 40 63 6f 64 65 7b 5b 7d 27 20 74 6f 20 69 6e 73 65 ou.always.type.@code{[}'.to.inse
d69c0 72 74 20 40 63 6f 64 65 7b 28 7d 20 6f 72 20 40 63 6f 64 65 7b 5b 7d 20 61 75 74 6f 6d 61 74 69 rt.@code{(}.or.@code{[}.automati
d69e0 63 61 6c 6c 79 2e 0a 0a 54 68 69 73 20 69 73 20 61 20 6d 69 6e 6f 72 20 6d 6f 64 65 2e 20 20 49 cally...This.is.a.minor.mode...I
d6a00 66 20 63 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 74 6f 67 67 6c 65 20 74 f.called.interactively,.toggle.t
d6a20 68 65 0a 40 63 6f 64 65 7b 52 61 63 6b 65 74 2d 53 6d 61 72 74 2d 4f 70 65 6e 2d 42 72 61 63 6b he.@code{Racket-Smart-Open-Brack
d6a40 65 74 20 6d 6f 64 65 7d 20 6d 6f 64 65 2e 20 20 49 66 20 74 68 65 20 70 72 65 66 69 78 20 61 72 et.mode}.mode...If.the.prefix.ar
d6a60 67 75 6d 65 6e 74 20 69 73 0a 70 6f 73 69 74 69 76 65 2c 20 65 6e 61 62 6c 65 20 74 68 65 20 6d gument.is.positive,.enable.the.m
d6a80 6f 64 65 2c 20 61 6e 64 20 69 66 20 69 74 20 69 73 20 7a 65 72 6f 20 6f 72 20 6e 65 67 61 74 69 ode,.and.if.it.is.zero.or.negati
d6aa0 76 65 2c 20 64 69 73 61 62 6c 65 0a 74 68 65 20 6d 6f 64 65 2e 0a 0a 49 66 20 63 61 6c 6c 65 64 ve,.disable.the.mode...If.called
d6ac0 20 66 72 6f 6d 20 4c 69 73 70 2c 20 74 6f 67 67 6c 65 20 74 68 65 20 6d 6f 64 65 20 69 66 20 41 .from.Lisp,.toggle.the.mode.if.A
d6ae0 52 47 20 69 73 20 40 63 6f 64 65 7b 74 6f 67 67 6c 65 7d 2e 20 20 45 6e 61 62 6c 65 0a 74 68 65 RG.is.@code{toggle}...Enable.the
d6b00 20 6d 6f 64 65 20 69 66 20 41 52 47 20 69 73 20 6e 69 6c 2c 20 6f 6d 69 74 74 65 64 2c 20 6f 72 .mode.if.ARG.is.nil,.omitted,.or
d6b20 20 69 73 20 61 20 70 6f 73 69 74 69 76 65 20 6e 75 6d 62 65 72 2e 0a 44 69 73 61 62 6c 65 20 74 .is.a.positive.number..Disable.t
d6b40 68 65 20 6d 6f 64 65 20 69 66 20 41 52 47 20 69 73 20 61 20 6e 65 67 61 74 69 76 65 20 6e 75 6d he.mode.if.ARG.is.a.negative.num
d6b60 62 65 72 2e 0a 0a 54 6f 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 6d 69 6e 6f 72 ber...To.check.whether.the.minor
d6b80 20 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 .mode.is.enabled.in.the.current.
d6ba0 62 75 66 66 65 72 2c 0a 65 76 61 6c 75 61 74 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 6d 61 buffer,.evaluate.@ref{racket-sma
d6bc0 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 2e 0a 0a 54 68 65 20 6d 6f 64 65 rt-open-bracket-mode}...The.mode
d6be0 27 73 20 68 6f 6f 6b 20 69 73 20 63 61 6c 6c 65 64 20 62 6f 74 68 20 77 68 65 6e 20 74 68 65 20 's.hook.is.called.both.when.the.
d6c00 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 77 68 65 6e 0a 69 74 20 69 73 20 64 mode.is.enabled.and.when.it.is.d
d6c20 69 73 61 62 6c 65 64 2e 0a 0a 42 65 68 61 76 65 73 20 6c 69 6b 65 20 74 68 65 20 60 60 41 75 74 isabled...Behaves.like.the.``Aut
d6c40 6f 6d 61 74 69 63 61 6c 6c 79 20 61 64 6a 75 73 74 20 6f 70 65 6e 69 6e 67 20 73 71 75 61 72 65 omatically.adjust.opening.square
d6c60 20 62 72 61 63 6b 65 74 73 27 27 0a 66 65 61 74 75 72 65 20 69 6e 20 44 72 2e 20 52 61 63 6b 65 .brackets''.feature.in.Dr..Racke
d6c80 74 2e 0a 0a 42 79 20 64 65 66 61 75 6c 74 2c 20 69 6e 73 65 72 74 73 20 61 20 40 63 6f 64 65 7b t...By.default,.inserts.a.@code{
d6ca0 28 7d 2e 20 49 6e 73 65 72 74 73 20 61 20 40 63 6f 64 65 7b 5b 7d 20 69 6e 20 74 68 65 20 66 6f (}..Inserts.a.@code{[}.in.the.fo
d6cc0 6c 6c 6f 77 69 6e 67 20 63 61 73 65 73 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 llowing.cases:..@itemize.@item.@
d6ce0 63 6f 64 65 7b 6c 65 74 7d 2d 6c 69 6b 65 20 62 69 6e 64 69 6e 67 73 20 2d 2d 20 66 6f 72 6d 73 code{let}-like.bindings.--.forms
d6d00 20 77 69 74 68 20 40 63 6f 64 65 7b 6c 65 74 7d 20 69 6e 20 74 68 65 20 6e 61 6d 65 20 61 73 20 .with.@code{let}.in.the.name.as.
d6d20 77 65 6c 6c 0a 61 73 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 70 61 72 61 6d 65 well.as.things.like.@code{parame
d6d40 74 65 72 69 7a 65 7d 2c 20 40 63 6f 64 65 7b 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 7d 2c 20 61 terize},.@code{with-handlers},.a
d6d60 6e 64 0a 40 63 6f 64 65 7b 77 69 74 68 2d 73 79 6e 74 61 78 7d 2e 0a 0a 40 69 74 65 6d 0a 40 63 nd.@code{with-syntax}...@item.@c
d6d80 6f 64 65 7b 63 61 73 65 7d 2c 20 40 63 6f 64 65 7b 63 6f 6e 64 7d 2c 20 40 63 6f 64 65 7b 6d 61 ode{case},.@code{cond},.@code{ma
d6da0 74 63 68 7d 2c 20 40 63 6f 64 65 7b 73 79 6e 74 61 78 2d 63 61 73 65 7d 2c 20 40 63 6f 64 65 7b tch},.@code{syntax-case},.@code{
d6dc0 73 79 6e 74 61 78 2d 70 61 72 73 65 7d 2c 20 61 6e 64 0a 40 63 6f 64 65 7b 73 79 6e 74 61 78 2d syntax-parse},.and.@code{syntax-
d6de0 72 75 6c 65 73 7d 20 63 6c 61 75 73 65 73 2e 0a 0a 40 69 74 65 6d 0a 40 63 6f 64 65 7b 66 6f 72 rules}.clauses...@item.@code{for
d6e00 7d 2d 6c 69 6b 65 20 62 69 6e 64 69 6e 67 73 20 61 6e 64 20 40 63 6f 64 65 7b 66 6f 72 2f 66 6f }-like.bindings.and.@code{for/fo
d6e20 6c 64 7d 20 61 63 63 75 6d 75 6c 61 74 6f 72 73 2e 0a 0a 40 69 74 65 6d 0a 40 63 6f 64 65 7b 63 ld}.accumulators...@item.@code{c
d6e40 6c 61 73 73 7d 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 73 79 6e 74 61 78 2c 20 73 75 63 68 20 61 lass}.declaration.syntax,.such.a
d6e60 73 20 40 63 6f 64 65 7b 69 6e 69 74 7d 20 61 6e 64 20 40 63 6f 64 65 7b 69 6e 68 65 72 69 74 7d s.@code{init}.and.@code{inherit}
d6e80 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 57 68 65 6e 20 74 68 65 20 70 72 65 76 69 6f 75 ..@end.itemize..When.the.previou
d6ea0 73 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 69 6e 20 61 20 73 65 71 75 65 6e 63 65 20 69 73 20 s.s-expression.in.a.sequence.is.
d6ec0 61 20 63 6f 6d 70 6f 75 6e 64 0a 65 78 70 72 65 73 73 69 6f 6e 2c 20 75 73 65 73 20 74 68 65 20 a.compound.expression,.uses.the.
d6ee0 73 61 6d 65 20 6b 69 6e 64 20 6f 66 20 64 65 6c 69 6d 69 74 65 72 2e 0a 0a 54 6f 20 66 6f 72 63 same.kind.of.delimiter...To.forc
d6f00 65 20 69 6e 73 65 72 74 20 40 63 6f 64 65 7b 5b 7d 2c 20 75 73 65 20 40 63 6f 64 65 7b 71 75 6f e.insert.@code{[},.use.@code{quo
d6f20 74 65 64 2d 69 6e 73 65 72 74 7d 2e 0a 0a 43 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 40 72 65 66 ted-insert}...Combined.with.@ref
d6f40 7b 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 7d 20 74 68 69 73 20 6d 65 61 {racket-insert-closing}.this.mea
d6f60 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 0a 70 72 65 73 73 20 74 68 65 20 75 6e 73 68 69 66 ns.that.you.can.press.the.unshif
d6f80 74 65 64 20 40 63 6f 64 65 7b 5b 7d 20 61 6e 64 20 40 63 6f 64 65 7b 5d 7d 20 6b 65 79 73 20 74 ted.@code{[}.and.@code{]}.keys.t
d6fa0 6f 20 67 65 74 20 77 68 61 74 65 76 65 72 20 64 65 6c 69 6d 69 74 65 72 73 0a 66 6f 6c 6c 6f 77 o.get.whatever.delimiters.follow
d6fc0 20 74 68 65 20 52 61 63 6b 65 74 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 73 .the.Racket.conventions.for.thes
d6fe0 65 20 66 6f 72 6d 73 2e 20 57 68 65 6e 20 73 6f 6d 65 74 68 69 6e 67 0a 6c 69 6b 65 20 40 63 6f e.forms..When.something.like.@co
d7000 64 65 7b 65 6c 65 63 74 72 69 63 2d 70 61 69 72 2d 6d 6f 64 65 7d 20 6f 72 20 40 63 6f 64 65 7b de{electric-pair-mode}.or.@code{
d7020 70 61 72 65 64 69 74 2d 6d 6f 64 65 7d 20 69 73 20 61 63 74 69 76 65 2c 20 79 6f 75 20 6e 65 65 paredit-mode}.is.active,.you.nee
d7040 64 0a 6e 6f 74 20 65 76 65 6e 20 70 72 65 73 73 20 40 63 6f 64 65 7b 5d 7d 2e 0a 0a 54 69 70 3a d.not.even.press.@code{]}...Tip:
d7060 20 57 68 65 6e 20 61 6c 73 6f 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 70 61 72 65 64 69 74 2d 6d .When.also.using.@code{paredit-m
d7080 6f 64 65 7d 2c 20 65 6e 61 62 6c 65 20 74 68 61 74 20 66 69 72 73 74 20 73 6f 20 74 68 61 74 0a ode},.enable.that.first.so.that.
d70a0 74 68 65 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 74 68 65 20 40 63 6f 64 65 7b 5b 7d 27 20 6b 65 the.binding.for.the.@code{[}'.ke
d70c0 79 20 69 6e 20 74 68 65 20 6d 61 70 20 66 6f 72 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 6d 61 y.in.the.map.for.@ref{racket-sma
d70e0 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 68 61 73 20 68 69 67 68 65 72 rt-open-bracket-mode}.has.higher
d7100 20 70 72 69 6f 72 69 74 79 2e 20 53 65 65 20 61 6c 73 6f 0a 74 68 65 20 76 61 72 69 61 62 6c 65 .priority..See.also.the.variable
d7120 20 40 63 6f 64 65 7b 6d 69 6e 6f 72 2d 6d 6f 64 65 2d 6d 61 70 2d 61 6c 69 73 74 7d 2e 0a 0a 54 .@code{minor-mode-map-alist}...T
d7140 69 70 3a 20 57 68 65 6e 20 75 73 69 6e 67 20 74 68 69 73 20 77 69 74 68 20 40 72 65 66 7b 72 61 ip:.When.using.this.with.@ref{ra
d7160 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 2c 20 79 6f 75 20 6d 61 79 20 77 61 cket-hash-lang-mode},.you.may.wa
d7180 6e 74 0a 74 6f 20 75 73 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d nt.to.use.@ref{racket-hash-lang-
d71a0 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 7d 20 74 6f 20 65 6e 61 62 6c 65 20 module-language-hook}.to.enable.
d71c0 69 74 20 49 46 46 0a 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 67 61 67 65 20 69 73 20 73 it.IFF.the.module.langugage.is.s
d71e0 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 60 60 72 61 63 6b 65 74 27 27 2e 0a 0a 40 6e 6f 64 65 omething.like.``racket''...@node
d7200 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 0a 40 73 75 62 73 65 63 74 69 .racket-insert-closing.@subsecti
d7220 6f 6e 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 0a 0a 40 6b 62 64 7b 5d on.racket-insert-closing..@kbd{]
d7240 7d 20 20 6f 72 20 40 6b 62 64 7b 29 7d 20 0a 0a 49 6e 73 65 72 74 20 61 20 6d 61 74 63 68 69 6e }..or.@kbd{)}...Insert.a.matchin
d7260 67 20 63 6c 6f 73 69 6e 67 20 64 65 6c 69 6d 69 74 65 72 2e 0a 0a 57 69 74 68 20 40 6b 62 64 7b g.closing.delimiter...With.@kbd{
d7280 43 2d 75 7d 20 20 69 6e 73 65 72 74 20 74 68 65 20 74 79 70 65 64 20 63 68 61 72 61 63 74 65 72 C-u}..insert.the.typed.character
d72a0 20 61 73 2d 69 73 2e 0a 0a 54 68 69 73 20 69 73 20 68 61 6e 64 79 20 69 66 20 79 6f 75 27 72 65 .as-is...This.is.handy.if.you're
d72c0 20 6e 6f 74 20 79 65 74 20 75 73 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 0a 40 63 .not.yet.using.something.like.@c
d72e0 6f 64 65 7b 70 61 72 65 64 69 74 2d 6d 6f 64 65 7d 2c 20 40 63 6f 64 65 7b 73 6d 61 72 74 70 61 ode{paredit-mode},.@code{smartpa
d7300 72 65 6e 73 2d 6d 6f 64 65 7d 2c 20 40 63 6f 64 65 7b 70 61 72 69 6e 66 65 72 2d 6d 6f 64 65 7d rens-mode},.@code{parinfer-mode}
d7320 2c 20 6f 72 20 73 69 6d 70 6c 79 0a 40 63 6f 64 65 7b 65 6c 65 63 74 72 69 63 2d 70 61 69 72 2d ,.or.simply.@code{electric-pair-
d7340 6d 6f 64 65 7d 20 61 64 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 34 2e 35 2e 0a 0a 40 6e 6f 64 mode}.added.in.Emacs.24.5...@nod
d7360 65 20 72 61 63 6b 65 74 2d 63 79 63 6c 65 2d 70 61 72 65 6e 2d 73 68 61 70 65 73 0a 40 73 75 62 e.racket-cycle-paren-shapes.@sub
d7380 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 63 79 63 6c 65 2d 70 61 72 65 6e 2d 73 68 61 70 65 section.racket-cycle-paren-shape
d73a0 73 0a 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 70 7d 20 0a 0a 43 79 63 6c 65 20 74 68 65 20 73 65 78 s..@kbd{C-c.C-p}...Cycle.the.sex
d73c0 70 72 20 61 6d 6f 6e 67 20 28 29 20 5b 5d 20 40 7b 40 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b pr.among.().[].@{@}...@node.rack
d73e0 65 74 2d 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 et-backward-up-list.@subsection.
d7400 72 61 63 6b 65 74 2d 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 0a 0a 40 6b 62 64 7b 43 2d racket-backward-up-list..@kbd{C-
d7420 4d 2d 75 7d 20 0a 0a 4c 69 6b 65 20 40 63 6f 64 65 7b 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 M-u}...Like.@code{backward-up-li
d7440 73 74 7d 20 62 75 74 20 77 6f 72 6b 73 20 77 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 69 6e 20 61 st}.but.works.when.point.is.in.a
d7460 20 73 74 72 69 6e 67 20 6f 72 20 63 6f 6d 6d 65 6e 74 2e 0a 0a 54 79 70 69 63 61 6c 6c 79 20 79 .string.or.comment...Typically.y
d7480 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 ou.should.not.use.this.command.i
d74a0 6e 20 45 6d 61 63 73 20 4c 69 73 70 20 2d 2d 0a 65 73 70 65 63 69 61 6c 6c 79 20 6e 6f 74 20 72 n.Emacs.Lisp.--.especially.not.r
d74c0 65 70 65 61 74 65 64 6c 79 2e 20 49 6e 73 74 65 61 64 2c 20 69 6e 69 74 69 61 6c 6c 79 20 75 73 epeatedly..Instead,.initially.us
d74e0 65 0a 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 2d 6f 72 e.@code{racket--escape-string-or
d7500 2d 63 6f 6d 6d 65 6e 74 7d 20 74 6f 20 6d 6f 76 65 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f -comment}.to.move.to.the.start.o
d7520 66 20 61 0a 73 74 72 69 6e 67 20 6f 72 20 63 6f 6d 6d 65 6e 74 2c 20 69 66 20 61 6e 79 2c 20 74 f.a.string.or.comment,.if.any,.t
d7540 68 65 6e 20 75 73 65 20 6e 6f 72 6d 61 6c 20 40 63 6f 64 65 7b 62 61 63 6b 77 61 72 64 2d 75 70 hen.use.normal.@code{backward-up
d7560 2d 6c 69 73 74 7d 0a 72 65 70 65 61 74 65 64 6c 79 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 -list}.repeatedly...@node.racket
d7580 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 0a 40 73 75 -unicode-input-method-enable.@su
d75a0 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 bsection.racket-unicode-input-me
d75c0 74 68 6f 64 2d 65 6e 61 62 6c 65 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 thod-enable..@kbd{M-x}..@code{ra
d75e0 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 cket-unicode-input-method-enable
d7600 7d 0a 0a 53 65 74 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 20 74 6f 20 72 61 63 6b 65 74 2d 75 6e }..Set.input.method.to.racket-un
d7620 69 63 6f 64 65 2e 0a 0a 54 68 65 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 20 69 6e 70 75 74 icode...The.racket-unicode.input
d7640 20 6d 65 74 68 6f 64 20 6c 65 74 73 20 79 6f 75 20 65 61 73 69 6c 79 20 74 79 70 65 20 76 61 72 .method.lets.you.easily.type.var
d7660 69 6f 75 73 0a 55 6e 69 63 6f 64 65 20 73 79 6d 62 6f 6c 73 20 74 68 61 74 20 6d 69 67 68 74 20 ious.Unicode.symbols.that.might.
d7680 62 65 20 75 73 65 66 75 6c 20 77 68 65 6e 20 77 72 69 74 69 6e 67 20 52 61 63 6b 65 74 20 63 6f be.useful.when.writing.Racket.co
d76a0 64 65 2e 0a 0a 54 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 de...To.automatically.enable.the
d76c0 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 20 69 6e 0a .racket-unicode.input.method.in.
d76e0 72 61 63 6b 65 74 2d 6d 6f 64 65 20 61 6e 64 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 racket-mode.and.racket-repl-mode
d7700 20 62 75 66 66 65 72 73 2c 20 70 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 .buffers,.put.the.following.code
d7720 0a 69 6e 20 79 6f 75 72 20 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 3a 0a 0a 40 6c 69 73 70 .in.your.Emacs.init.file:..@lisp
d7740 0a 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 68 6f 6f 6b .....(add-hook.'racket-mode-hook
d7760 20 23 27 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 .#'racket-unicode-input-method-e
d7780 6e 61 62 6c 65 29 0a 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 72 65 70 nable).....(add-hook.'racket-rep
d77a0 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 l-mode-hook.#'racket-unicode-inp
d77c0 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 54 6f 20 ut-method-enable).@end.lisp..To.
d77e0 74 65 6d 70 6f 72 61 72 69 6c 79 20 65 6e 61 62 6c 65 20 74 68 69 73 20 69 6e 70 75 74 20 6d 65 temporarily.enable.this.input.me
d7800 74 68 6f 64 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 62 75 66 66 65 72 20 79 6f 75 0a 63 61 6e thod.for.a.single.buffer.you.can
d7820 20 75 73 65 20 60 60 4d 2d 78 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d .use.``M-x.racket-unicode-input-
d7840 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 27 27 2e 0a 0a 55 73 65 20 74 68 65 20 73 74 61 6e 64 61 method-enable''...Use.the.standa
d7860 72 64 20 45 6d 61 63 73 20 6b 65 79 20 43 2d 5c 20 74 6f 20 74 6f 67 67 6c 65 20 74 68 65 20 69 rd.Emacs.key.C-\.to.toggle.the.i
d7880 6e 70 75 74 20 6d 65 74 68 6f 64 2e 0a 0a 57 68 65 6e 20 74 68 65 20 72 61 63 6b 65 74 2d 75 6e nput.method...When.the.racket-un
d78a0 69 63 6f 64 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 20 69 73 20 61 63 74 69 76 65 2c 20 79 6f icode.input.method.is.active,.yo
d78c0 75 20 63 61 6e 20 66 6f 72 0a 65 78 61 6d 70 6c 65 20 74 79 70 65 20 60 60 41 6c 6c 27 27 20 61 u.can.for.example.type.``All''.a
d78e0 6e 64 20 69 74 20 69 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 72 65 70 6c 61 63 65 64 20 77 69 nd.it.is.immediately.replaced.wi
d7900 74 68 20 60 60 e2 88 80 27 27 2e 20 41 0a 66 65 77 20 6f 74 68 65 72 20 65 78 61 6d 70 6c 65 73 th.``...''..A.few.other.examples
d7920 3a 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 7b 61 61 61 61 61 61 61 61 61 7d 20 7b 61 61 61 61 :..@multitable.{aaaaaaaaa}.{aaaa
d7940 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 7d 0a 40 69 74 65 6d 20 6f 6d 65 67 aaaaaaaaaaaaaaaaaaaa}.@item.omeg
d7960 61 0a 40 74 61 62 20 cf 89 0a 40 69 74 65 6d 20 78 40 6d 61 74 68 7b 5f 31 7d 0a 40 74 61 62 20 a.@tab....@item.x@math{_1}.@tab.
d7980 78 e2 82 81 0a 40 69 74 65 6d 20 78 40 6d 61 74 68 7b 5e 31 7d 0a 40 74 61 62 20 78 c2 b9 0a 40 x....@item.x@math{^1}.@tab.x...@
d79a0 69 74 65 6d 20 41 0a 40 74 61 62 20 f0 9d 94 b8 0a 40 69 74 65 6d 20 74 65 73 74 2d 2d 3e 3e 45 item.A.@tab......@item.test-->>E
d79c0 0a 40 74 61 62 20 74 65 73 74 2d 2d 3e 3e e2 88 83 20 28 72 61 63 6b 65 74 2f 72 65 64 65 78 29 .@tab.test-->>....(racket/redex)
d79e0 0a 40 69 74 65 6d 20 76 64 61 73 68 0a 40 74 61 62 20 e2 8a a2 0a 40 65 6e 64 20 6d 75 6c 74 69 .@item.vdash.@tab.....@end.multi
d7a00 74 61 62 6c 65 0a 0a 54 6f 20 73 65 65 20 61 20 74 61 62 6c 65 20 6f 66 20 61 6c 6c 20 6b 65 79 table..To.see.a.table.of.all.key
d7a20 20 73 65 71 75 65 6e 63 65 73 20 75 73 65 20 60 60 4d 2d 78 0a 64 65 73 63 72 69 62 65 2d 69 6e .sequences.use.``M-x.describe-in
d7a40 70 75 74 2d 6d 65 74 68 6f 64 20 3c 52 45 54 3e 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 27 put-method.<RET>.racket-unicode'
d7a60 27 2e 0a 0a 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 61 64 64 20 79 6f 75 72 20 6f 77 6e 20 '...If.you.want.to.add.your.own.
d7a80 6d 61 70 70 69 6e 67 73 20 74 6f 20 74 68 65 20 60 60 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 mappings.to.the.``racket-unicode
d7aa0 27 27 0a 69 6e 70 75 74 20 6d 65 74 68 6f 64 2c 20 79 6f 75 20 6d 61 79 20 61 64 64 20 63 6f 64 ''.input.method,.you.may.add.cod
d7ac0 65 20 6c 69 6b 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 20 69 6e 20 e.like.the.following.example.in.
d7ae0 79 6f 75 72 0a 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 3a 0a 0a 40 6c 69 73 70 0a 20 20 20 your.Emacs.init.file:..@lisp....
d7b00 20 3b 3b 20 45 69 74 68 65 72 20 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 6d 6f 64 65 .;;.Either.(require.'racket-mode
d7b20 29 20 68 65 72 65 2c 20 6f 72 2c 20 69 66 20 79 6f 75 20 75 73 65 0a 20 20 20 20 3b 3b 20 75 73 ).here,.or,.if.you.use.....;;.us
d7b40 65 2d 70 61 63 6b 61 67 65 2c 20 70 75 74 20 74 68 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 69 6e e-package,.put.the.code.below.in
d7b60 20 74 68 65 20 3a 63 6f 6e 66 69 67 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 28 77 69 74 68 2d .the.:config.section......(with-
d7b80 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 temp-buffer.......(racket-unicod
d7ba0 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 29 0a 20 20 20 20 20 20 28 73 65 e-input-method-enable).......(se
d7bc0 74 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 20 22 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 22 29 t-input-method."racket-unicode")
d7be0 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 71 75 61 69 6c 2d 63 75 72 72 65 6e 74 2d 70 61 63 6b .......(let.((quail-current-pack
d7c00 61 67 65 20 28 61 73 73 6f 63 20 22 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 22 0a 20 20 20 20 age.(assoc."racket-unicode".....
d7c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
d7c40 20 20 20 20 20 20 71 75 61 69 6c 2d 70 61 63 6b 61 67 65 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 ......quail-package-alist)))....
d7c60 20 20 20 20 20 28 71 75 61 69 6c 2d 64 65 66 69 6e 65 2d 72 75 6c 65 73 20 28 28 61 70 70 65 6e .....(quail-define-rules.((appen
d7c80 64 20 2e 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d...t)).........................
d7ca0 20 20 20 20 28 22 5e 6f 22 20 5b 22 e1 b5 92 22 5d 29 29 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a ....("^o".["..."])))).@end.lisp.
d7cc0 0a 49 66 20 79 6f 75 20 64 6f 6e e2 80 99 74 20 6c 69 6b 65 20 74 68 65 20 68 69 67 68 6c 69 67 .If.you.don...t.like.the.highlig
d7ce0 68 74 69 6e 67 20 6f 66 20 70 61 72 74 69 61 6c 6c 79 20 6d 61 74 63 68 69 6e 67 20 74 6f 6b 65 hting.of.partially.matching.toke
d7d00 6e 73 20 79 6f 75 0a 63 61 6e 20 74 75 72 6e 20 69 74 20 6f 66 66 20 62 79 20 73 65 74 74 69 6e ns.you.can.turn.it.off.by.settin
d7d20 67 20 40 63 6f 64 65 7b 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 68 69 67 68 6c 69 67 68 74 2d 66 g.@code{input-method-highlight-f
d7d40 6c 61 67 7d 20 74 6f 20 6e 69 6c 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 61 6c 69 67 6e lag}.to.nil...@node.racket-align
d7d60 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 61 6c 69 67 6e 0a 0a 40 6b 62 64 7b .@subsection.racket-align..@kbd{
d7d80 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 61 6c 69 67 6e 7d 0a 0a 41 6c 69 67 6e M-x}..@code{racket-align}..Align
d7da0 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 63 6f 6c 75 6d 6e 2e 0a 0a 55 73 65 .values.in.the.same.column...Use
d7dc0 66 75 6c 20 66 6f 72 20 62 69 6e 64 69 6e 67 20 66 6f 72 6d 73 20 6c 69 6b 65 20 60 60 6c 65 74 ful.for.binding.forms.like.``let
d7de0 27 27 20 61 6e 64 20 60 60 70 61 72 61 6d 65 74 65 72 69 7a 65 27 27 2c 0a 63 6f 6e 64 69 74 69 ''.and.``parameterize'',.conditi
d7e00 6f 6e 61 6c 73 20 6c 69 6b 65 20 60 60 63 6f 6e 64 27 27 20 61 6e 64 20 60 60 6d 61 74 63 68 27 onals.like.``cond''.and.``match'
d7e20 27 2c 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 6c 69 73 74 73 2c 20 61 6e 64 0a 61 6e 79 20 73 65 ',.association.lists,.and.any.se
d7e40 72 69 65 73 20 6f 66 20 63 6f 75 70 6c 65 73 20 6c 69 6b 65 20 74 68 65 20 61 72 67 75 6d 65 6e ries.of.couples.like.the.argumen
d7e60 74 73 20 74 6f 20 60 60 68 61 73 68 27 27 2e 0a 0a 42 65 66 6f 72 65 20 63 68 6f 6f 73 69 6e 67 ts.to.``hash''...Before.choosing
d7e80 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 2c 20 70 75 74 20 70 6f 69 6e 74 20 6f 6e 20 74 68 65 20 .this.command,.put.point.on.the.
d7ea0 66 69 72 73 74 20 6f 66 20 61 20 73 65 72 69 65 73 0a 6f 66 20 60 60 63 6f 75 70 6c 65 73 27 27 first.of.a.series.of.``couples''
d7ec0 2e 20 41 20 63 6f 75 70 6c 65 20 69 73 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 41 ..A.couple.is:..@itemize.@item.A
d7ee0 20 6c 69 73 74 20 6f 66 20 74 77 6f 20 6f 72 20 6d 6f 72 65 20 73 65 78 70 72 73 3a 20 60 60 5b .list.of.two.or.more.sexprs:.``[
d7f00 73 65 78 70 72 20 76 61 6c 20 73 65 78 70 72 20 40 64 6f 74 73 7b 7d 5d 27 27 2e 0a 40 69 74 65 sexpr.val.sexpr.@dots{}]''..@ite
d7f20 6d 0a 54 77 6f 20 73 65 78 70 72 73 3a 20 60 60 73 65 78 70 72 20 76 61 6c 27 27 2e 0a 40 65 6e m.Two.sexprs:.``sexpr.val''..@en
d7f40 64 20 69 74 65 6d 69 7a 65 0a 0a 45 61 63 68 20 60 60 76 61 6c 27 27 20 6d 6f 76 65 73 20 74 6f d.itemize..Each.``val''.moves.to
d7f60 20 74 68 65 20 73 61 6d 65 20 63 6f 6c 75 6d 6e 20 61 6e 64 20 69 73 0a 40 63 6f 64 65 7b 70 72 .the.same.column.and.is.@code{pr
d7f80 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 70 7d 2d 65 64 20 28 69 6e 20 63 61 73 65 20 69 74 20 69 og-indent-sexp}-ed.(in.case.it.i
d7fa0 73 20 61 20 6d 75 6c 74 69 2d 6c 69 6e 65 20 66 6f 72 6d 29 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 s.a.multi-line.form)...For.examp
d7fc0 6c 65 20 77 69 74 68 20 70 6f 69 6e 74 20 6f 6e 20 74 68 65 20 60 60 5b 27 27 20 62 65 66 6f 72 le.with.point.on.the.``[''.befor
d7fe0 65 20 60 60 61 27 27 3a 0a 0a 40 65 78 61 6d 70 6c 65 0a 20 20 20 20 42 65 66 6f 72 65 20 20 20 e.``a'':..@example.....Before...
d8000 20 20 20 20 20 20 20 20 20 20 41 66 74 65 72 0a 0a 20 20 20 20 28 6c 65 74 20 28 5b 61 20 31 32 ..........After......(let.([a.12
d8020 5d 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 61 20 20 20 31 32 5d 0a 20 20 20 20 20 20 20 20 20 ].......(let.([a...12]..........
d8040 20 5b 62 61 72 20 32 33 5d 29 20 20 20 20 20 20 20 20 20 20 5b 62 61 72 20 32 33 5d 29 0a 20 20 .[bar.23])..........[bar.23])...
d8060 20 20 20 20 2e 2e 2e 2e 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 2e 29 0a 0a 20 20 ........)..................)....
d8080 20 20 28 5b 61 20 2e 20 31 32 5d 20 20 20 20 20 20 20 20 20 20 28 5b 61 20 20 20 2e 20 31 32 5d ..([a...12]..........([a.....12]
d80a0 0a 20 20 20 20 20 5b 62 61 72 20 2e 20 32 33 5d 29 20 20 20 20 20 20 20 20 5b 62 61 72 20 2e 20 ......[bar...23])........[bar...
d80c0 32 33 5d 29 0a 0a 20 20 20 20 28 63 6f 6e 64 20 5b 61 3f 20 23 74 5d 20 20 20 20 20 20 28 63 6f 23])......(cond.[a?.#t]......(co
d80e0 6e 64 20 5b 61 3f 20 20 20 23 74 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 62 3f 20 28 66 20 78 20 nd.[a?...#t]...........[b?.(f.x.
d8100 20 20 20 20 20 20 20 20 20 20 5b 62 3f 20 20 20 28 66 20 78 0a 20 20 20 20 20 20 20 20 20 20 20 ..........[b?...(f.x............
d8120 20 20 20 20 20 20 79 29 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 79 29 5d 0a 20 ......y)]..................y)]..
d8140 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 23 66 5d 29 20 20 20 20 20 20 20 20 20 5b 65 6c 73 .........[else.#f]).........[els
d8160 65 20 23 66 5d 29 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 4f 72 20 77 69 74 68 20 70 6f 69 e.#f]).@end.example..Or.with.poi
d8180 6e 74 20 6f 6e 20 74 68 65 20 71 75 6f 74 65 20 62 65 66 6f 72 65 20 60 60 61 27 27 3a 0a 0a 40 nt.on.the.quote.before.``a'':..@
d81a0 65 78 61 6d 70 6c 65 0a 20 20 20 20 28 6c 69 73 74 20 61 20 31 32 20 20 20 20 20 20 20 20 28 6c example.....(list.a.12........(l
d81c0 69 73 74 20 61 20 20 20 31 32 0a 20 20 20 20 20 20 20 20 20 20 62 61 72 20 32 33 29 20 20 20 20 ist.a...12...........bar.23)....
d81e0 20 20 20 20 20 20 20 62 61 72 20 32 33 29 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 49 66 20 .......bar.23).@end.example..If.
d8200 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 63 6f 75 70 6c 65 20 69 73 20 6f 6e 20 74 68 65 20 73 more.than.one.couple.is.on.the.s
d8220 61 6d 65 20 6c 69 6e 65 2c 20 6e 6f 6e 65 20 61 72 65 20 61 6c 69 67 6e 65 64 2c 0a 62 65 63 61 ame.line,.none.are.aligned,.beca
d8240 75 73 65 20 69 74 20 69 73 20 75 6e 63 6c 65 61 72 20 77 68 65 72 65 20 74 68 65 20 76 61 6c 75 use.it.is.unclear.where.the.valu
d8260 65 20 63 6f 6c 75 6d 6e 20 73 68 6f 75 6c 64 20 62 65 2e 20 46 6f 72 0a 65 78 61 6d 70 6c 65 20 e.column.should.be..For.example.
d8280 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 20 77 69 6c 6c 20 6e 6f 74 20 63 68 61 6e the.following.form.will.not.chan
d82a0 67 65 3b 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 61 6c 69 67 6e 7d 20 77 69 6c 6c 0a 64 69 73 70 ge;.@ref{racket-align}.will.disp
d82c0 6c 61 79 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 3a 0a 0a 40 65 78 61 6d 70 6c 65 0a lay.an.error.message:..@example.
d82e0 20 20 20 20 28 6c 65 74 20 28 5b 61 20 30 5d 5b 62 20 31 5d 0a 20 20 20 20 20 20 20 20 20 20 5b ....(let.([a.0][b.1]...........[
d8300 63 20 32 5d 29 20 20 20 20 20 20 20 65 72 72 6f 72 3b 20 75 6e 63 68 61 6e 67 65 64 0a 20 20 20 c.2]).......error;.unchanged....
d8320 20 20 20 2e 2e 2e 2e 29 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 57 68 65 6e 20 61 20 63 6f .......).@end.example..When.a.co
d8340 75 70 6c 65 27 73 20 73 65 78 70 72 73 20 73 74 61 72 74 20 6f 6e 20 64 69 66 66 65 72 65 6e 74 uple's.sexprs.start.on.different
d8360 20 6c 69 6e 65 73 2c 20 74 68 61 74 20 63 6f 75 70 6c 65 20 69 73 0a 69 67 6e 6f 72 65 64 2e 20 .lines,.that.couple.is.ignored..
d8380 4f 74 68 65 72 2c 20 73 69 6e 67 6c 65 2d 6c 69 6e 65 20 63 6f 75 70 6c 65 73 20 69 6e 20 74 68 Other,.single-line.couples.in.th
d83a0 65 20 73 65 72 69 65 73 20 61 72 65 20 61 6c 69 67 6e 65 64 20 61 73 0a 75 73 75 61 6c 2e 20 46 e.series.are.aligned.as.usual..F
d83c0 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 40 65 78 61 6d 70 6c 65 0a 20 20 20 20 28 6c 65 74 20 28 or.example:..@example.....(let.(
d83e0 5b 66 6f 6f 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 66 6f 6f 0a 20 20 20 20 20 20 20 20 [foo.........(let.([foo.........
d8400 20 20 20 30 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 5d 0a 20 20 20 20 20 20 20 ...0].................0]........
d8420 20 20 20 5b 62 61 72 20 31 5d 20 20 20 20 20 20 20 20 20 20 20 20 5b 62 61 72 20 31 5d 0a 20 20 ...[bar.1]............[bar.1]...
d8440 20 20 20 20 20 20 20 20 5b 78 20 32 5d 29 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 78 20 20 20 ........[x.2]).............[x...
d8460 32 5d 29 0a 20 20 20 20 20 20 2e 2e 2e 2e 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 2])...........).................
d8480 2e 29 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 72 65 66 7b .).@end.example..See.also:.@ref{
d84a0 72 61 63 6b 65 74 2d 75 6e 61 6c 69 67 6e 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 75 racket-unalign}...@node.racket-u
d84c0 6e 61 6c 69 67 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 75 6e 61 6c 69 67 nalign.@subsection.racket-unalig
d84e0 6e 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 75 6e 61 6c 69 n..@kbd{M-x}..@code{racket-unali
d8500 67 6e 7d 0a 0a 54 68 65 20 6f 70 70 6f 73 69 74 65 20 6f 66 20 40 72 65 66 7b 72 61 63 6b 65 74 gn}..The.opposite.of.@ref{racket
d8520 2d 61 6c 69 67 6e 7d 2e 0a 0a 45 66 66 65 63 74 69 76 65 6c 79 20 64 6f 65 73 20 4d 2d 78 20 40 -align}...Effectively.does.M-x.@
d8540 63 6f 64 65 7b 6a 75 73 74 2d 6f 6e 65 2d 73 70 61 63 65 7d 20 61 6e 64 20 40 63 6f 64 65 7b 70 code{just-one-space}.and.@code{p
d8560 72 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 70 7d 20 66 6f 72 0a 65 61 63 68 20 63 6f 75 70 6c 65 rog-indent-sexp}.for.each.couple
d8580 27 73 20 76 61 6c 75 65 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 's.value...@node.racket-complete
d85a0 2d 61 74 2d 70 6f 69 6e 74 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 63 6f 6d -at-point.@subsection.racket-com
d85c0 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 0a 0a 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 plete-at-point..A.value.for.the.
d85e0 76 61 72 69 61 62 6c 65 20 40 63 6f 64 65 7b 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 variable.@code{completion-at-poi
d8600 6e 74 2d 66 75 6e 63 74 69 6f 6e 73 7d 2e 0a 0a 43 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 nt-functions}...Completion.candi
d8620 64 61 74 65 73 20 61 72 65 20 64 72 61 77 6e 20 66 72 6f 6d 20 74 68 65 20 73 61 6d 65 20 73 79 dates.are.drawn.from.the.same.sy
d8640 6d 62 6f 6c 73 20 75 73 65 64 20 66 6f 72 0a 66 6f 6e 74 2d 6c 6f 63 6b 2e 20 54 68 69 73 20 69 mbols.used.for.font-lock..This.i
d8660 73 20 61 20 73 74 61 74 69 63 20 6c 69 73 74 2e 20 49 66 20 79 6f 75 20 77 61 6e 74 20 64 79 6e s.a.static.list..If.you.want.dyn
d8680 61 6d 69 63 2c 20 73 6d 61 72 74 65 72 0a 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 amic,.smarter.completion.candida
d86a0 74 65 73 2c 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 40 72 65 66 7b tes,.enable.the.minor.mode.@ref{
d86c0 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 2e 0a 0a 40 6e 6f 64 65 20 48 61 73 68 20 4c 61 6e racket-xp-mode}...@node.Hash.Lan
d86e0 67 73 0a 40 73 65 63 74 69 6f 6e 20 48 61 73 68 20 4c 61 6e 67 73 0a 0a 40 6d 65 6e 75 0a 2a 20 gs.@section.Hash.Langs..@menu.*.
d8700 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 racket-hash-lang-mode::.*.racket
d8720 2d 68 61 73 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 72 64 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 -hash-lang-backward::.*.racket-h
d8740 61 73 68 2d 6c 61 6e 67 2d 66 6f 72 77 61 72 64 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 ash-lang-forward::.*.racket-hash
d8760 2d 6c 61 6e 67 2d 75 70 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 6f -lang-up::.*.racket-hash-lang-do
d8780 77 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d 64 77 wn::.*.racket-hash-lang-C-M-q-dw
d87a0 69 6d 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 68 61 73 im::.@end.menu..@node.racket-has
d87c0 68 2d 6c 61 6e 67 2d 6d 6f 64 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 68 h-lang-mode.@subsection.racket-h
d87e0 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b ash-lang-mode..@kbd{M-x}..@code{
d8800 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 0a 0a 55 73 65 20 63 6f 6c 6f racket-hash-lang-mode}..Use.colo
d8820 72 2d 6c 65 78 65 72 2c 20 69 6e 64 65 6e 74 2c 20 61 6e 64 20 6e 61 76 69 67 61 74 69 6f 6e 20 r-lexer,.indent,.and.navigation.
d8840 73 75 70 70 6c 69 65 64 20 62 79 20 61 20 23 6c 61 6e 67 2e 0a 0a 41 6e 20 65 78 70 65 72 69 6d supplied.by.a.#lang...An.experim
d8860 65 6e 74 61 6c 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 ental.major.mode.alternative.to.
d8880 40 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 66 6f 72 0a 73 6f 75 72 63 65 20 66 69 6c @ref{racket-mode}.for.source.fil
d88a0 65 20 65 64 69 74 20 62 75 66 66 65 72 73 2e 0a 0a 49 6e 20 79 6f 75 72 20 45 6d 61 63 73 20 63 e.edit.buffers...In.your.Emacs.c
d88c0 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2c 20 79 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 75 70 onfiguration,.you.may.want.to.up
d88e0 64 61 74 65 20 74 68 65 0a 76 61 72 69 61 62 6c 65 20 40 63 6f 64 65 7b 61 75 74 6f 2d 6d 6f 64 date.the.variable.@code{auto-mod
d8900 65 2d 61 6c 69 73 74 7d 20 74 6f 20 75 73 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 e-alist}.to.use.@ref{racket-hash
d8920 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 20 66 6f 72 0a 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 -lang-mode}.for.file.extensions.
d8940 6c 69 6b 65 20 60 60 2e 72 6b 74 27 27 2c 20 60 60 2e 73 63 72 62 6c 27 27 2c 20 61 6e 64 2f 6f like.``.rkt'',.``.scrbl'',.and/o
d8960 72 20 60 60 2e 72 68 6d 27 27 2e 0a 0a 4c 61 6e 67 75 61 67 65 73 20 73 75 70 70 6c 79 20 63 6f r.``.rhm''...Languages.supply.co
d8980 6c 6f 72 73 20 66 6f 72 20 6c 65 78 65 72 20 74 6f 6b 65 6e 73 20 6c 69 6b 65 20 73 74 72 69 6e lors.for.lexer.tokens.like.strin
d89a0 67 73 20 61 6e 64 0a 63 6f 6d 6d 65 6e 74 73 3b 20 73 65 65 20 74 68 65 20 63 75 73 74 6f 6d 69 gs.and.comments;.see.the.customi
d89c0 7a 61 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 zation.variable.@ref{racket-hash
d89e0 2d 6c 61 6e 67 2d 74 6f 6b 65 6e 2d 66 61 63 65 2d 61 6c 69 73 74 7d 2e 20 46 6f 72 20 6d 6f 72 -lang-token-face-alist}..For.mor
d8a00 65 20 63 6f 6c 6f 72 73 20 73 65 65 20 74 68 65 20 68 6f 6f 6b 0a 76 61 72 69 61 62 6c 65 20 40 e.colors.see.the.hook.variable.@
d8a20 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 ref{racket-hash-lang-module-lang
d8a40 75 61 67 65 2d 68 6f 6f 6b 7d 2c 20 77 68 69 63 68 20 63 61 6e 20 61 6c 73 6f 0a 62 65 20 75 73 uage-hook},.which.can.also.be.us
d8a60 65 64 20 74 6f 20 76 61 72 79 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 20 70 65 72 20 6c 61 ed.to.vary.configurations.per.la
d8a80 6e 67 75 61 67 65 2e 0a 0a 41 20 64 69 73 63 75 73 73 69 6f 6e 20 6f 66 20 74 68 65 20 69 6e 66 nguage...A.discussion.of.the.inf
d8aa0 6f 72 6d 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 20 62 79 20 61 20 52 61 63 6b 65 74 20 6c 61 ormation.provided.by.a.Racket.la
d8ac0 6e 67 75 61 67 65 3a 0a 0a 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b nguage:..@uref{https://docs.rack
d8ae0 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 74 6f 6f 6c 73 2f 6c 61 6e 67 2d 6c 61 6e 67 75 61 67 65 73 et-lang.org/tools/lang-languages
d8b00 2d 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 2e 68 74 6d 6c 7d 0a 0a 40 6d 75 6c 74 69 74 61 62 6c -customization.html}..@multitabl
d8b20 65 20 7b 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 e.{aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
d8b40 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
d8b60 7d 20 7b 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 }.{aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
d8b80 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 7d 0a 40 69 74 65 6d 20 4b 65 79 0a 40 74 61 62 aaaaaaaaaaaaaaaa}.@item.Key.@tab
d8ba0 20 42 69 6e 64 69 6e 67 0a 40 69 74 65 6d 20 40 6b 62 64 7b 44 45 4c 7d 20 0a 40 74 61 62 20 40 .Binding.@item.@kbd{DEL}..@tab.@
d8bc0 63 6f 64 65 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 65 6c 65 74 65 2d 62 61 63 code{racket-hash-lang-delete-bac
d8be0 6b 77 61 72 64 2d 63 68 61 72 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 52 45 54 7d 20 0a 40 74 61 kward-char}.@item.@kbd{RET}..@ta
d8c00 62 20 40 63 6f 64 65 7b 6e 65 77 6c 69 6e 65 2d 61 6e 64 2d 69 6e 64 65 6e 74 7d 0a 40 69 74 65 b.@code{newline-and-indent}.@ite
d8c20 6d 20 40 6b 62 64 7b 54 41 42 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 69 6e 64 65 6e 74 2d 66 m.@kbd{TAB}..@tab.@code{indent-f
d8c40 6f 72 2d 74 61 62 2d 63 6f 6d 6d 61 6e 64 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 78 20 43 or-tab-command}.@item.@kbd{C-x.C
d8c60 2d 65 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 74 2d -e}..@tab.@ref{racket-send-last-
d8c80 73 65 78 70 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 4d 2d 71 7d 20 0a 40 74 61 62 20 40 72 sexp}.@item.@kbd{C-M-q}..@tab.@r
d8ca0 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d 64 77 69 6d 7d 0a ef{racket-hash-lang-C-M-q-dwim}.
d8cc0 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 4d 2d 64 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 @item.@kbd{C-M-d}..@tab.@ref{rac
d8ce0 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 6f 77 6e 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 ket-hash-lang-down}.@item.@kbd{C
d8d00 2d 4d 2d 75 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e -M-u}..@tab.@ref{racket-hash-lan
d8d20 67 2d 75 70 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 4d 2d 66 7d 20 0a 40 74 61 62 20 40 72 g-up}.@item.@kbd{C-M-f}..@tab.@r
d8d40 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 66 6f 72 77 61 72 64 7d 0a 40 69 74 ef{racket-hash-lang-forward}.@it
d8d60 65 6d 20 40 6b 62 64 7b 43 2d 4d 2d 62 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 em.@kbd{C-M-b}..@tab.@ref{racket
d8d80 2d 68 61 73 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 72 64 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b -hash-lang-backward}.@item.@kbd{
d8da0 43 2d 4d 2d 79 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d C-M-y}..@tab.@ref{racket-insert-
d8dc0 6c 61 6d 62 64 61 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 4d 2d 78 7d 20 0a 40 74 61 62 20 lambda}.@item.@kbd{C-M-x}..@tab.
d8de0 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 7d 0a 40 69 74 @ref{racket-send-definition}.@it
d8e00 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 75 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b em.@kbd{C-c.C-u}..@tab.@ref{rack
d8e20 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b et-unfold-all-tests}.@item.@kbd{
d8e40 43 2d 63 20 43 2d 66 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 66 6f 6c 64 2d C-c.C-f}..@tab.@ref{racket-fold-
d8e60 61 6c 6c 2d 74 65 73 74 73 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 78 20 43 2d all-tests}.@item.@kbd{C-c.C-x.C-
d8e80 66 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 f}..@tab.@ref{racket-open-requir
d8ea0 65 2d 70 61 74 68 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 65 20 72 7d 20 0a 40 e-path}.@item.@kbd{C-c.C-e.r}..@
d8ec0 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 7d 0a 40 tab.@ref{racket-expand-region}.@
d8ee0 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 65 20 65 7d 20 0a 40 74 61 62 20 40 72 65 66 7b item.@kbd{C-c.C-e.e}..@tab.@ref{
d8f00 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 7d 0a 40 69 74 65 6d 20 40 racket-expand-last-sexp}.@item.@
d8f20 6b 62 64 7b 43 2d 63 20 43 2d 65 20 78 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 kbd{C-c.C-e.x}..@tab.@ref{racket
d8f40 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 -expand-definition}.@item.@kbd{C
d8f60 2d 63 20 43 2d 65 20 66 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 65 78 70 61 -c.C-e.f}..@tab.@ref{racket-expa
d8f80 6e 64 2d 66 69 6c 65 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 72 7d 20 0a 40 74 nd-file}.@item.@kbd{C-c.C-r}..@t
d8fa0 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 7d 0a 40 69 74 65 ab.@ref{racket-send-region}.@ite
d8fc0 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 6f 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 m.@kbd{C-c.C-o}..@tab.@ref{racke
d8fe0 74 2d 70 72 6f 66 69 6c 65 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 6c 7d 20 0a t-profile}.@item.@kbd{C-c.C-l}..
d9000 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 7d 0a 40 69 74 65 6d 20 40 @tab.@ref{racket-logger}.@item.@
d9020 6b 62 64 7b 43 2d 63 20 43 2d 74 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 74 kbd{C-c.C-t}..@tab.@ref{racket-t
d9040 65 73 74 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 7a 7d 20 0a 40 74 61 62 20 40 est}.@item.@kbd{C-c.C-z}..@tab.@
d9060 63 6f 64 65 7b 72 61 63 6b 65 74 2d 65 64 69 74 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 7d code{racket-edit-switch-to-repl}
d9080 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 6b 7d 20 0a 40 74 61 62 20 40 72 65 66 7b .@item.@kbd{C-c.C-k}..@tab.@ref{
d90a0 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 7d 0a 40 69 74 65 racket-run-module-at-point}.@ite
d90c0 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 63 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 m.@kbd{C-c.C-c}..@tab.@ref{racke
d90e0 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 7d 0a 40 65 6e 64 20 6d 75 6c 74 t-run-module-at-point}.@end.mult
d9100 69 74 61 62 6c 65 0a 0a 0a 0a 0a 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 61 6e 79 20 68 6f itable.....In.addition.to.any.ho
d9120 6f 6b 73 20 69 74 73 20 70 61 72 65 6e 74 20 6d 6f 64 65 20 40 63 6f 64 65 7b 70 72 6f 67 2d 6d oks.its.parent.mode.@code{prog-m
d9140 6f 64 65 7d 20 6d 69 67 68 74 20 68 61 76 65 20 72 75 6e 2c 0a 74 68 69 73 20 6d 6f 64 65 20 72 ode}.might.have.run,.this.mode.r
d9160 75 6e 73 20 74 68 65 20 68 6f 6f 6b 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c uns.the.hook.@code{racket-hash-l
d9180 61 6e 67 2d 6d 6f 64 65 2d 68 6f 6f 6b 7d 2c 20 61 73 20 74 68 65 20 66 69 6e 61 6c 20 6f 72 0a ang-mode-hook},.as.the.final.or.
d91a0 70 65 6e 75 6c 74 69 6d 61 74 65 20 73 74 65 70 20 64 75 72 69 6e 67 20 69 6e 69 74 69 61 6c 69 penultimate.step.during.initiali
d91c0 7a 61 74 69 6f 6e 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d zation...@node.racket-hash-lang-
d91e0 62 61 63 6b 77 61 72 64 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 backward.@subsection.racket-hash
d9200 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 72 64 0a 0a 40 6b 62 64 7b 43 2d 4d 2d 62 7d 20 0a 0a 4c 69 -lang-backward..@kbd{C-M-b}...Li
d9220 6b 65 20 40 63 6f 64 65 7b 62 61 63 6b 77 61 72 64 2d 73 65 78 70 7d 20 62 75 74 20 75 73 65 73 ke.@code{backward-sexp}.but.uses
d9240 20 23 6c 61 6e 67 20 73 75 70 70 6c 69 65 64 20 6e 61 76 69 67 61 74 69 6f 6e 2e 0a 0a 40 6e 6f .#lang.supplied.navigation...@no
d9260 64 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 66 6f 72 77 61 72 64 0a 40 73 75 62 de.racket-hash-lang-forward.@sub
d9280 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 66 6f 72 77 61 72 64 section.racket-hash-lang-forward
d92a0 0a 0a 40 6b 62 64 7b 43 2d 4d 2d 66 7d 20 0a 0a 4c 69 6b 65 20 40 63 6f 64 65 7b 66 6f 72 77 61 ..@kbd{C-M-f}...Like.@code{forwa
d92c0 72 64 2d 73 65 78 70 7d 20 62 75 74 20 75 73 65 73 20 23 6c 61 6e 67 20 73 75 70 70 6c 69 65 64 rd-sexp}.but.uses.#lang.supplied
d92e0 20 6e 61 76 69 67 61 74 69 6f 6e 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d .navigation...@node.racket-hash-
d9300 6c 61 6e 67 2d 75 70 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 2d lang-up.@subsection.racket-hash-
d9320 6c 61 6e 67 2d 75 70 0a 0a 40 6b 62 64 7b 43 2d 4d 2d 75 7d 20 0a 0a 4c 69 6b 65 20 40 63 6f 64 lang-up..@kbd{C-M-u}...Like.@cod
d9340 65 7b 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 7d 20 62 75 74 20 75 73 65 73 20 23 6c 61 e{backward-up-list}.but.uses.#la
d9360 6e 67 20 73 75 70 70 6c 69 65 64 20 6e 61 76 69 67 61 74 69 6f 6e 2e 0a 0a 40 6e 6f 64 65 20 72 ng.supplied.navigation...@node.r
d9380 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 6f 77 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e acket-hash-lang-down.@subsection
d93a0 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 6f 77 6e 0a 0a 40 6b 62 64 7b 43 2d 4d .racket-hash-lang-down..@kbd{C-M
d93c0 2d 64 7d 20 0a 0a 4c 69 6b 65 20 40 63 6f 64 65 7b 64 6f 77 6e 2d 6c 69 73 74 7d 20 62 75 74 20 -d}...Like.@code{down-list}.but.
d93e0 75 73 65 73 20 23 6c 61 6e 67 20 73 75 70 70 6c 69 65 64 20 6e 61 76 69 67 61 74 69 6f 6e 2e 0a uses.#lang.supplied.navigation..
d9400 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d 64 77 .@node.racket-hash-lang-C-M-q-dw
d9420 69 6d 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d im.@subsection.racket-hash-lang-
d9440 43 2d 4d 2d 71 2d 64 77 69 6d 0a 0a 40 6b 62 64 7b 43 2d 4d 2d 71 7d 20 0a 0a 46 69 6c 6c 20 6f C-M-q-dwim..@kbd{C-M-q}...Fill.o
d9460 72 20 69 6e 64 65 6e 74 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 6c 61 6e 67 20 6c 65 78 65 72 r.indent.depending.on.lang.lexer
d9480 27 73 20 74 6f 6b 65 6e 20 61 74 20 70 6f 69 6e 74 2e 0a 0a 57 68 65 6e 20 74 68 65 20 6c 61 6e 's.token.at.point...When.the.lan
d94a0 67 20 6c 65 78 65 72 20 74 6f 6b 65 6e 20 69 73 40 64 6f 74 73 7b 7d 0a 0a 40 69 74 65 6d 69 7a g.lexer.token.is@dots{}..@itemiz
d94c0 65 0a 40 69 74 65 6d 0a 60 60 74 65 78 74 27 27 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 69 6e e.@item.``text'',.for.example.in
d94e0 20 53 63 72 69 62 62 6c 65 20 64 6f 63 75 6d 65 6e 74 20 74 65 78 74 2c 20 64 6f 0a 40 63 6f 64 .Scribble.document.text,.do.@cod
d9500 65 7b 66 69 6c 6c 2d 70 61 72 61 67 72 61 70 68 7d 2e 0a 0a 40 69 74 65 6d 0a 60 60 63 6f 6d 6d e{fill-paragraph}...@item.``comm
d9520 65 6e 74 27 27 2c 20 64 6f 20 40 63 6f 64 65 7b 66 69 6c 6c 2d 63 6f 6d 6d 65 6e 74 7d 2e 0a 0a ent'',.do.@code{fill-comment}...
d9540 40 69 74 65 6d 0a 60 60 77 68 69 74 65 73 70 61 63 65 27 27 2c 20 67 69 76 65 20 61 6e 20 65 72 @item.``whitespace'',.give.an.er
d9560 72 6f 72 20 6d 65 73 73 61 67 65 2e 0a 0a 40 69 74 65 6d 0a 61 6e 79 74 68 69 6e 67 20 65 6c 73 ror.message...@item.anything.els
d9580 65 2c 20 64 6f 20 40 63 6f 64 65 7b 70 72 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 70 7d 2e 0a 40 e,.do.@code{prog-indent-sexp}..@
d95a0 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 40 6e 6f 64 65 20 45 78 70 6c 6f 72 65 0a 40 73 65 63 74 end.itemize..@node.Explore.@sect
d95c0 69 6f 6e 20 45 78 70 6c 6f 72 65 0a 0a 40 6d 65 6e 75 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 6d ion.Explore..@menu.*.racket-xp-m
d95e0 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 3a 3a 0a 2a 20 72 ode::.*.racket-xp-describe::.*.r
d9600 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 acket-xp-documentation::.*.racke
d9620 74 2d 78 70 2d 6e 65 78 74 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d t-xp-next-definition::.*.racket-
d9640 78 70 2d 70 72 65 76 69 6f 75 73 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 xp-previous-definition::.*.racke
d9660 74 2d 78 70 2d 6e 65 78 74 2d 75 73 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 t-xp-next-use::.*.racket-xp-prev
d9680 69 6f 75 73 2d 75 73 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 65 72 72 6f ious-use::.*.racket-xp-next-erro
d96a0 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 3a 3a r::.*.racket-xp-previous-error::
d96c0 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d .*.racket-xp-tail-up::.*.racket-
d96e0 78 70 2d 74 61 69 6c 2d 64 6f 77 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d xp-tail-down::.*.racket-xp-tail-
d9700 6e 65 78 74 2d 73 69 62 6c 69 6e 67 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d next-sibling::.*.racket-xp-tail-
d9720 70 72 65 76 69 6f 75 73 2d 73 69 62 6c 69 6e 67 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 75 previous-sibling::.*.racket-docu
d9740 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 65 73 63 mentation-search::.*.racket-desc
d9760 72 69 62 65 2d 73 65 61 72 63 68 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 ribe-search::.@end.menu..@node.r
d9780 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 acket-xp-mode.@subsection.racket
d97a0 2d 78 70 2d 6d 6f 64 65 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 -xp-mode..@kbd{M-x}..@code{racke
d97c0 74 2d 78 70 2d 6d 6f 64 65 7d 0a 0a 41 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 74 68 61 74 20 61 6e t-xp-mode}..A.minor.mode.that.an
d97e0 61 6c 79 7a 65 73 20 65 78 70 61 6e 64 65 64 20 63 6f 64 65 20 74 6f 20 65 78 70 6c 61 69 6e 20 alyzes.expanded.code.to.explain.
d9800 61 6e 64 20 65 78 70 6c 6f 72 65 2e 0a 0a 54 68 69 73 20 69 73 20 61 20 6d 69 6e 6f 72 20 6d 6f and.explore...This.is.a.minor.mo
d9820 64 65 2e 20 20 49 66 20 63 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 74 6f de...If.called.interactively,.to
d9840 67 67 6c 65 20 74 68 65 0a 40 63 6f 64 65 7b 52 61 63 6b 65 74 2d 58 70 20 6d 6f 64 65 7d 20 6d ggle.the.@code{Racket-Xp.mode}.m
d9860 6f 64 65 2e 20 20 49 66 20 74 68 65 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 20 69 73 20 ode...If.the.prefix.argument.is.
d9880 70 6f 73 69 74 69 76 65 2c 0a 65 6e 61 62 6c 65 20 74 68 65 20 6d 6f 64 65 2c 20 61 6e 64 20 69 positive,.enable.the.mode,.and.i
d98a0 66 20 69 74 20 69 73 20 7a 65 72 6f 20 6f 72 20 6e 65 67 61 74 69 76 65 2c 20 64 69 73 61 62 6c f.it.is.zero.or.negative,.disabl
d98c0 65 20 74 68 65 20 6d 6f 64 65 2e 0a 0a 49 66 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 4c 69 73 70 e.the.mode...If.called.from.Lisp
d98e0 2c 20 74 6f 67 67 6c 65 20 74 68 65 20 6d 6f 64 65 20 69 66 20 41 52 47 20 69 73 20 40 63 6f 64 ,.toggle.the.mode.if.ARG.is.@cod
d9900 65 7b 74 6f 67 67 6c 65 7d 2e 20 20 45 6e 61 62 6c 65 0a 74 68 65 20 6d 6f 64 65 20 69 66 20 41 e{toggle}...Enable.the.mode.if.A
d9920 52 47 20 69 73 20 6e 69 6c 2c 20 6f 6d 69 74 74 65 64 2c 20 6f 72 20 69 73 20 61 20 70 6f 73 69 RG.is.nil,.omitted,.or.is.a.posi
d9940 74 69 76 65 20 6e 75 6d 62 65 72 2e 0a 44 69 73 61 62 6c 65 20 74 68 65 20 6d 6f 64 65 20 69 66 tive.number..Disable.the.mode.if
d9960 20 41 52 47 20 69 73 20 61 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 2e 0a 0a 54 6f 20 63 .ARG.is.a.negative.number...To.c
d9980 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 73 20 65 heck.whether.the.minor.mode.is.e
d99a0 6e 61 62 6c 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2c 0a 65 76 nabled.in.the.current.buffer,.ev
d99c0 61 6c 75 61 74 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 2e 0a 0a 54 68 aluate.@ref{racket-xp-mode}...Th
d99e0 65 20 6d 6f 64 65 27 73 20 68 6f 6f 6b 20 69 73 20 63 61 6c 6c 65 64 20 62 6f 74 68 20 77 68 65 e.mode's.hook.is.called.both.whe
d9a00 6e 20 74 68 65 20 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 77 68 65 6e 0a 69 n.the.mode.is.enabled.and.when.i
d9a20 74 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0a 0a 54 68 69 73 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 t.is.disabled...This.minor.mode.
d9a40 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 65 6e 68 61 6e 63 65 6d 65 6e 74 20 74 6f 20 40 72 is.an.optional.enhancement.to.@r
d9a60 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 65 64 69 74 0a 62 75 66 66 65 72 73 2e 20 4c 69 ef{racket-mode}.edit.buffers..Li
d9a80 6b 65 20 61 6e 79 20 6d 69 6e 6f 72 20 6d 6f 64 65 2c 20 79 6f 75 20 63 61 6e 20 74 75 72 6e 20 ke.any.minor.mode,.you.can.turn.
d9aa0 69 74 20 6f 6e 20 6f 72 20 6f 66 66 20 66 6f 72 20 61 0a 73 70 65 63 69 66 69 63 20 62 75 66 66 it.on.or.off.for.a.specific.buff
d9ac0 65 72 2e 20 49 66 20 79 6f 75 20 61 6c 77 61 79 73 20 77 61 6e 74 20 74 6f 20 75 73 65 20 69 74 er..If.you.always.want.to.use.it
d9ae0 2c 20 70 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 63 6f 64 65 20 69 6e 20 79 6f 75 72 ,.put.the.following.code.in.your
d9b00 20 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 3a 0a 0a 40 6c 69 73 70 0a 20 20 20 20 28 72 65 .Emacs.init.file:..@lisp.....(re
d9b20 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 78 70 29 0a 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 quire.'racket-xp).....(add-hook.
d9b40 27 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 'racket-mode-hook.#'racket-xp-mo
d9b60 64 65 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 6d 6f 64 65 20 77 de).@end.lisp..Note:.This.mode.w
d9b80 6f 6e 27 74 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 75 6e 6c 65 73 73 2f 75 6e 74 69 6c 20 74 68 on't.do.anything.unless/until.th
d9ba0 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 0a 62 61 63 6b 20 65 6e 64 20 69 73 20 72 75 6e 6e 69 6e e.Racket.Mode.back.end.is.runnin
d9bc0 67 2e 20 49 74 20 77 69 6c 6c 20 74 72 79 20 74 6f 20 73 74 61 72 74 20 74 68 65 20 62 61 63 6b g..It.will.try.to.start.the.back
d9be0 20 65 6e 64 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 20 59 6f 75 20 64 6f 20 40 65 6d 70 68 .end.automatically..You.do.@emph
d9c00 7b 6e 6f 74 7d 20 6e 65 65 64 20 74 6f 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 7d 20 74 {not}.need.to.@ref{racket-run}.t
d9c20 68 65 20 62 75 66 66 65 72 20 79 6f 75 0a 61 72 65 20 65 64 69 74 69 6e 67 2e 0a 0a 54 68 69 73 he.buffer.you.are.editing...This
d9c40 20 6d 6f 64 65 20 75 73 65 73 20 74 68 65 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 .mode.uses.the.drracket/check-sy
d9c60 6e 74 61 78 20 70 61 63 6b 61 67 65 20 74 6f 20 61 6e 61 6c 79 7a 65 0a 66 75 6c 6c 79 2d 65 78 ntax.package.to.analyze.fully-ex
d9c80 70 61 6e 64 65 64 20 70 72 6f 67 72 61 6d 73 2c 20 77 69 74 68 6f 75 74 20 6e 65 65 64 69 6e 67 panded.programs,.without.needing
d9ca0 20 74 6f 20 65 76 61 6c 75 61 74 65 20 61 2e 6b 2e 61 2e 0a 60 60 72 75 6e 27 27 20 74 68 65 6d .to.evaluate.a.k.a..``run''.them
d9cc0 2e 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 20 61 6e 61 6c 79 73 69 73 20 70 72 6f 76 69 64 65 ..The.resulting.analysis.provide
d9ce0 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 s.information.for:..@itemize.@it
d9d00 65 6d 0a 56 69 73 75 61 6c 6c 79 20 61 6e 6e 6f 74 61 74 69 6e 67 20 62 69 6e 64 69 6e 67 73 20 em.Visually.annotating.bindings.
d9d20 2d 2d 20 6c 6f 63 61 6c 20 6f 72 20 69 6d 70 6f 72 74 65 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 --.local.or.imported.definitions
d9d40 0a 61 6e 64 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 74 68 65 6d 2e 0a 0a 40 69 74 65 6d 0a .and.references.to.them...@item.
d9d60 56 69 73 75 61 6c 6c 79 20 61 6e 6e 6f 74 61 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 73 20 Visually.annotating.expressions.
d9d80 69 6e 20 61 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 2c 20 61 73 20 77 65 6c 6c 20 61 73 0a 74 in.a.tail.position,.as.well.as.t
d9da0 68 65 20 65 6e 63 6c 6f 73 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 74 68 20 72 65 73 he.enclosing.expression.with.res
d9dc0 70 65 63 74 20 74 6f 20 77 68 69 63 68 20 74 68 65 79 20 61 72 65 20 69 6e 20 61 0a 74 61 69 6c pect.to.which.they.are.in.a.tail
d9de0 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 43 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e .position...@item.Completion.can
d9e00 64 69 64 61 74 65 73 2e 0a 0a 40 69 74 65 6d 0a 44 65 66 69 6e 74 69 6f 6e 73 27 20 73 6f 75 72 didates...@item.Defintions'.sour
d9e20 63 65 20 61 6e 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 40 65 6e 64 20 69 74 65 6d 69 ce.and.documentation..@end.itemi
d9e40 7a 65 0a 0a 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 61 20 64 65 66 69 6e 69 74 69 6f ze..When.point.is.on.a.definitio
d9e60 6e 20 6f 72 20 75 73 65 2c 20 72 65 6c 61 74 65 64 20 69 74 65 6d 73 20 61 72 65 0a 68 69 67 68 n.or.use,.related.items.are.high
d9e80 6c 69 67 68 74 65 64 20 75 73 69 6e 67 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 lighted.using.@ref{racket-xp-def
d9ea0 2d 66 61 63 65 7d 20 61 6e 64 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d 66 61 -face}.and.@ref{racket-xp-use-fa
d9ec0 63 65 7d 0a 2d 2d 20 69 6e 73 74 65 61 64 20 6f 66 20 64 72 61 77 69 6e 67 20 61 72 72 6f 77 73 ce}.--.instead.of.drawing.arrows
d9ee0 20 61 73 20 69 6e 20 44 72 20 52 61 63 6b 65 74 2e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 .as.in.Dr.Racket..Information.is
d9f00 0a 64 69 73 70 6c 61 79 65 64 20 75 73 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 28 73 29 .displayed.using.the.function(s)
d9f20 20 69 6e 20 74 68 65 20 68 6f 6f 6b 20 76 61 72 69 61 62 6c 65 0a 40 72 65 66 7b 72 61 63 6b 65 .in.the.hook.variable.@ref{racke
d9f40 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 7d 3b 20 69 74 20 69 73 20 61 6c 73 6f 20 61 76 t-show-functions};.it.is.also.av
d9f60 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 68 6f 76 65 72 69 6e 67 20 74 68 65 0a 6d 6f 75 73 65 20 ailable.when.hovering.the.mouse.
d9f80 63 75 72 73 6f 72 2e 0a 0a 4e 6f 74 65 3a 20 49 66 20 79 6f 75 20 66 69 6e 64 20 74 68 65 73 65 cursor...Note:.If.you.find.these
d9fa0 20 70 6f 69 6e 74 2d 6d 6f 74 69 6f 6e 20 66 65 61 74 75 72 65 73 20 74 6f 6f 20 64 69 73 74 72 .point-motion.features.too.distr
d9fc0 61 63 74 69 6e 67 0a 61 6e 64 2f 6f 72 20 73 6c 6f 77 2c 20 69 6e 20 79 6f 75 72 20 40 63 6f 64 acting.and/or.slow,.in.your.@cod
d9fe0 65 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 2d 68 6f 6f 6b 7d 20 79 6f 75 20 6d 61 79 20 64 e{racket-xp-mode-hook}.you.may.d
da000 69 73 61 62 6c 65 20 74 68 65 6d 3a 0a 0a 40 6c 69 73 70 0a 20 20 28 72 65 71 75 69 72 65 20 27 isable.them:..@lisp...(require.'
da020 72 61 63 6b 65 74 2d 78 70 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 78 racket-xp)...(add-hook.'racket-x
da040 70 2d 6d 6f 64 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 p-mode-hook.............(lambda.
da060 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 70 ()...............(remove-hook.'p
da080 72 65 2d 72 65 64 69 73 70 6c 61 79 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 re-redisplay-functions..........
da0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 78 70 2d 70 72 ..................#'racket-xp-pr
da0c0 65 2d 72 65 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-redisplay.....................
da0e0 20 20 20 20 20 20 20 74 29 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 54 68 65 20 72 65 6d 61 69 .......t))).@end.lisp..The.remai
da100 6e 69 6e 67 20 66 65 61 74 75 72 65 73 20 64 69 73 63 75 73 73 65 64 20 62 65 6c 6f 77 20 77 69 ning.features.discussed.below.wi
da120 6c 6c 20 73 74 69 6c 6c 20 77 6f 72 6b 2e 0a 0a 59 6f 75 20 6d 61 79 20 61 6c 73 6f 20 75 73 65 ll.still.work...You.may.also.use
da140 20 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 6e 61 76 69 67 61 74 65 20 61 6d 6f 6e 67 20 61 20 64 65 .commands.to.navigate.among.a.de
da160 66 69 6e 69 74 69 6f 6e 20 61 6e 64 20 69 74 73 0a 75 73 65 73 2c 20 6f 72 20 74 6f 20 72 65 6e finition.and.its.uses,.or.to.ren
da180 61 6d 65 20 61 20 6c 6f 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 61 6c 6c 20 ame.a.local.definitions.and.all.
da1a0 69 74 73 20 75 73 65 73 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 its.uses:..@itemize.@item.@ref{r
da1c0 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 64 65 66 69 6e 69 74 69 6f 6e 7d 0a 40 69 74 65 6d 0a acket-xp-next-definition}.@item.
da1e0 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 64 65 66 69 6e 69 74 69 @ref{racket-xp-previous-definiti
da200 6f 6e 7d 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 75 73 on}.@item.@ref{racket-xp-next-us
da220 65 7d 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 e}.@item.@ref{racket-xp-previous
da240 2d 75 73 65 7d 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 49 6e 20 74 68 65 20 66 6f 6c 6c 6f -use}.@end.itemize..In.the.follo
da260 77 69 6e 67 20 6c 69 74 74 6c 65 20 65 78 61 6d 70 6c 65 2c 20 6e 6f 74 20 6f 6e 6c 79 20 64 6f wing.little.example,.not.only.do
da280 65 73 0a 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 64 69 73 74 69 6e 67 es.drracket/check-syntax.disting
da2a0 75 69 73 68 20 74 68 65 20 76 61 72 69 6f 75 73 20 60 60 78 27 27 20 62 69 6e 64 69 6e 67 73 2c uish.the.various.``x''.bindings,
da2c0 20 69 74 0a 75 6e 64 65 72 73 74 61 6e 64 73 20 74 68 65 20 74 77 6f 20 64 69 66 66 65 72 65 6e .it.understands.the.two.differen
da2e0 74 20 69 6d 70 6f 72 74 73 20 6f 66 20 60 60 64 65 66 69 6e 65 27 27 3a 0a 0a 40 65 78 61 6d 70 t.imports.of.``define'':..@examp
da300 6c 65 0a 20 20 23 6c 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 28 64 65 66 69 6e 65 le...#lang.racket/base...(define
da320 20 78 20 31 29 0a 20 20 78 0a 20 20 28 6c 65 74 20 28 5b 78 20 78 5d 29 0a 20 20 20 20 28 2b 20 .x.1)...x...(let.([x.x]).....(+.
da340 78 20 31 29 29 0a 20 20 28 6d 6f 64 75 6c 65 20 6d 20 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 62 x.1))...(module.m.typed/racket/b
da360 61 73 65 0a 20 20 20 20 28 64 65 66 69 6e 65 20 78 20 32 29 0a 20 20 20 20 78 29 0a 40 65 6e 64 ase.....(define.x.2).....x).@end
da380 20 65 78 61 6d 70 6c 65 0a 0a 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 74 68 65 20 6f .example..When.point.is.on.the.o
da3a0 70 65 6e 69 6e 67 20 70 61 72 65 6e 74 68 65 73 69 73 20 6f 66 20 61 6e 20 65 78 70 72 65 73 73 pening.parenthesis.of.an.express
da3c0 69 6f 6e 20 69 6e 20 74 61 69 6c 0a 70 6f 73 69 74 69 6f 6e 2c 20 69 74 20 69 73 20 68 69 67 68 ion.in.tail.position,.it.is.high
da3e0 6c 69 67 68 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 66 61 63 65 0a 40 72 65 66 7b 72 61 63 6b lighted.using.the.face.@ref{rack
da400 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 2d 66 61 63 65 7d 2e 0a 0a 57 68 65 6e et-xp-tail-position-face}...When
da420 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 74 68 65 20 6f 70 65 6e 69 6e 67 20 70 61 72 65 6e 74 68 .point.is.on.the.opening.parenth
da440 65 73 69 73 20 6f 66 20 61 6e 20 65 6e 63 6c 6f 73 69 6e 67 0a 65 78 70 72 65 73 73 69 6f 6e 20 esis.of.an.enclosing.expression.
da460 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 77 68 69 63 68 20 6f 6e 65 20 6f 72 20 6d 6f 72 with.respect.to.which.one.or.mor
da480 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 69 6e 0a 74 61 69 6c 20 70 6f 73 69 74 69 e.expressions.are.in.tail.positi
da4a0 6f 6e 2c 20 69 74 20 69 73 20 68 69 67 68 6c 69 67 68 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 on,.it.is.highlighted.using.the.
da4c0 66 61 63 65 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 2d face.@ref{racket-xp-tail-target-
da4e0 66 61 63 65 7d 2e 0a 0a 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 77 68 65 6e 20 70 6f 69 6e 74 20 face}...Furthermore,.when.point.
da500 69 73 20 6f 6e 20 74 68 65 20 6f 70 65 6e 69 6e 67 20 70 61 72 65 6e 74 68 65 73 69 73 20 6f 66 is.on.the.opening.parenthesis.of
da520 20 65 69 74 68 65 72 0a 6b 69 6e 64 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 61 6c 6c 20 .either.kind.of.expression,.all.
da540 6f 66 20 74 68 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 72 65 6c 61 74 65 64 20 65 78 70 72 65 of.the.immediately.related.expre
da560 73 73 69 6f 6e 73 0a 61 72 65 20 61 6c 73 6f 20 68 69 67 68 6c 69 67 68 74 65 64 2e 20 56 61 72 ssions.are.also.highlighted..Var
da580 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 73 20 6d 6f 76 65 20 61 6d 6f 6e 67 20 74 68 65 6d 3a 0a 0a ious.commands.move.among.them:..
da5a0 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 74 61 @itemize.@item.@ref{racket-xp-ta
da5c0 69 6c 2d 75 70 7d 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c il-up}.@item.@ref{racket-xp-tail
da5e0 2d 64 6f 77 6e 7d 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c -down}.@item.@ref{racket-xp-tail
da600 2d 6e 65 78 74 2d 73 69 62 6c 69 6e 67 7d 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 -next-sibling}.@item.@ref{racket
da620 2d 78 70 2d 74 61 69 6c 2d 70 72 65 76 69 6f 75 73 2d 73 69 62 6c 69 6e 67 7d 0a 40 65 6e 64 20 -xp-tail-previous-sibling}.@end.
da640 69 74 65 6d 69 7a 65 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 63 6f 64 65 7b 72 61 63 6b itemize..The.function.@code{rack
da660 65 74 2d 78 70 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 7d 20 69 73 20 61 64 64 65 et-xp-complete-at-point}.is.adde
da680 64 20 74 6f 20 74 68 65 0a 76 61 72 69 61 62 6c 65 20 40 63 6f 64 65 7b 63 6f 6d 70 6c 65 74 69 d.to.the.variable.@code{completi
da6a0 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 73 7d 2e 20 4e 6f 74 65 20 74 68 61 on-at-point-functions}..Note.tha
da6c0 74 20 69 6e 20 74 68 69 73 20 63 61 73 65 2c 0a 69 74 20 69 73 20 6e 6f 74 20 73 6d 61 72 74 20 t.in.this.case,.it.is.not.smart.
da6e0 61 62 6f 75 74 20 73 75 62 6d 6f 64 75 6c 65 73 3b 20 69 64 65 6e 74 69 66 69 65 72 73 20 61 72 about.submodules;.identifiers.ar
da700 65 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 0a 64 65 66 69 6e 69 74 69 6f 6e 73 20 66 72 6f 6d e.assumed.to.be.definitions.from
da720 20 74 68 65 20 66 69 6c 65 27 73 20 6d 6f 64 75 6c 65 20 6f 72 20 69 74 73 20 69 6d 70 6f 72 74 .the.file's.module.or.its.import
da740 73 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 0a 73 75 70 70 6c 79 69 6e 67 20 63 6f 6d 70 s..In.addition.to.supplying.comp
da760 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 2c 20 69 74 20 73 75 70 70 6f 72 74 73 20 74 letion.candidates,.it.supports.t
da780 68 65 0a 60 60 3a 63 6f 6d 70 61 6e 79 2d 6c 6f 63 61 74 69 6f 6e 27 27 20 70 72 6f 70 65 72 74 he.``:company-location''.propert
da7a0 79 20 74 6f 20 69 6e 73 70 65 63 74 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 61 y.to.inspect.the.definition.of.a
da7c0 0a 63 61 6e 64 69 64 61 74 65 20 61 6e 64 20 74 68 65 20 60 60 3a 63 6f 6d 70 61 6e 79 2d 64 6f .candidate.and.the.``:company-do
da7e0 63 2d 62 75 66 66 65 72 27 27 20 70 72 6f 70 65 72 74 79 20 74 6f 20 76 69 65 77 20 69 74 73 0a c-buffer''.property.to.view.its.
da800 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 57 68 65 6e 20 79 6f 75 20 65 64 69 74 20 74 68 documentation...When.you.edit.th
da820 65 20 62 75 66 66 65 72 2c 20 65 78 69 73 74 69 6e 67 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 61 e.buffer,.existing.annotations.a
da840 72 65 20 72 65 74 61 69 6e 65 64 3b 0a 74 68 65 69 72 20 70 6f 73 69 74 69 6f 6e 73 20 61 72 65 re.retained;.their.positions.are
da860 20 75 70 64 61 74 65 64 20 74 6f 20 72 65 66 6c 65 63 74 20 74 68 65 20 65 64 69 74 2e 20 41 6e .updated.to.reflect.the.edit..An
da880 6e 6f 74 61 74 69 6f 6e 73 20 66 6f 72 0a 6e 65 77 20 6f 72 20 64 65 6c 65 74 65 64 20 74 65 78 notations.for.new.or.deleted.tex
da8a0 74 20 61 72 65 20 6e 6f 74 20 72 65 71 75 65 73 74 65 64 20 75 6e 74 69 6c 20 61 66 74 65 72 0a t.are.not.requested.until.after.
da8c0 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 @ref{racket-xp-after-change-refr
da8e0 65 73 68 2d 64 65 6c 61 79 7d 20 73 65 63 6f 6e 64 73 2e 20 54 68 65 20 72 65 71 75 65 73 74 20 esh-delay}.seconds..The.request.
da900 69 73 0a 6d 61 64 65 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 73 6f 20 74 68 61 74 20 45 is.made.asynchronously.so.that.E
da920 6d 61 63 73 20 77 69 6c 6c 20 6e 6f 74 20 62 6c 6f 63 6b 20 2d 2d 20 66 6f 72 0a 6d 6f 64 65 72 macs.will.not.block.--.for.moder
da940 61 74 65 6c 79 20 63 6f 6d 70 6c 65 78 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2c 20 69 74 20 63 ately.complex.source.files,.it.c
da960 61 6e 20 74 61 6b 65 20 73 6f 6d 65 20 73 65 63 6f 6e 64 73 20 73 69 6d 70 6c 79 0a 74 6f 20 66 an.take.some.seconds.simply.to.f
da980 75 6c 6c 79 20 65 78 70 61 6e 64 20 74 68 65 6d 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 61 20 6c ully.expand.them,.as.well.as.a.l
da9a0 69 74 74 6c 65 20 6d 6f 72 65 20 74 69 6d 65 20 66 6f 72 20 74 68 65 0a 64 72 72 61 63 6b 65 74 ittle.more.time.for.the.drracket
da9c0 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 61 6e 61 6c 79 73 69 73 2e 20 57 68 65 6e 20 74 68 65 /check-syntax.analysis..When.the
da9e0 20 72 65 73 75 6c 74 73 20 61 72 65 20 72 65 61 64 79 2c 20 61 6c 6c 0a 61 6e 6e 6f 74 61 74 69 .results.are.ready,.all.annotati
daa00 6f 6e 73 20 66 6f 72 20 74 68 65 20 62 75 66 66 65 72 20 61 72 65 20 63 6f 6d 70 6c 65 74 65 6c ons.for.the.buffer.are.completel
daa20 79 20 72 65 66 72 65 73 68 65 64 2e 0a 0a 59 6f 75 20 6d 61 79 20 61 6c 73 6f 20 73 65 74 20 40 y.refreshed...You.may.also.set.@
daa40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 ref{racket-xp-after-change-refre
daa60 73 68 2d 64 65 6c 61 79 7d 20 74 6f 20 6e 69 6c 0a 61 6e 64 20 75 73 65 20 74 68 65 20 40 63 6f sh-delay}.to.nil.and.use.the.@co
daa80 64 65 7b 72 61 63 6b 65 74 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 7d 20 63 6f 6d 6d 61 6e 64 20 6d de{racket-xp-annotate}.command.m
daaa0 61 6e 75 61 6c 6c 79 2e 0a 0a 54 68 65 20 6d 6f 64 65 20 6c 69 6e 65 20 63 68 61 6e 67 65 73 20 anually...The.mode.line.changes.
daac0 74 6f 20 72 65 66 6c 65 63 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 75 73 20 6f 66 to.reflect.the.current.status.of
daae0 0a 61 6e 6e 6f 74 61 74 69 6f 6e 73 2c 20 61 6e 64 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 .annotations,.and.whether.or.not
dab00 20 79 6f 75 20 68 61 64 20 61 20 73 79 6e 74 61 78 20 65 72 72 6f 72 2e 0a 0a 49 66 20 79 6f 75 .you.had.a.syntax.error...If.you
dab20 20 68 61 76 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 73 79 6e 74 61 78 20 65 72 72 6f 72 73 2c .have.one.or.more.syntax.errors,
dab40 20 40 63 6f 64 65 7b 6e 65 78 74 2d 65 72 72 6f 72 7d 20 61 6e 64 0a 40 63 6f 64 65 7b 70 72 65 .@code{next-error}.and.@code{pre
dab60 76 69 6f 75 73 2d 65 72 72 6f 72 7d 20 6e 61 76 69 67 61 74 65 20 61 6d 6f 6e 67 20 74 68 65 6d vious-error}.navigate.among.them
dab80 2e 20 41 6c 74 68 6f 75 67 68 20 6d 6f 73 74 20 6c 61 6e 67 75 61 67 65 73 0a 77 69 6c 6c 20 73 ..Although.most.languages.will.s
daba0 74 6f 70 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 73 79 6e 74 61 78 20 65 72 72 6f 72 top.after.the.first.syntax.error
dabc0 2c 20 73 6f 6d 65 20 6c 69 6b 65 20 54 79 70 65 64 20 52 61 63 6b 65 74 0a 77 69 6c 6c 20 74 72 ,.some.like.Typed.Racket.will.tr
dabe0 79 20 74 6f 20 63 6f 6c 6c 65 63 74 20 61 6e 64 20 72 65 70 6f 72 74 20 6d 75 6c 74 69 70 6c 65 y.to.collect.and.report.multiple
dac00 20 65 72 72 6f 72 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 75 73 65 20 40 63 6f 64 65 7b 78 72 65 66 .errors...You.may.use.@code{xref
dac20 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 7d 20 40 6b 62 64 7b 4d 2d 2e 7d 20 2c 0a 40 -find-definitions}.@kbd{M-.}.,.@
dac40 63 6f 64 65 7b 78 72 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 63 6b 7d 20 40 6b 62 64 code{xref-pop-marker-stack}.@kbd
dac60 7b 4d 2d 2c 7d 20 2c 20 61 6e 64 0a 40 63 6f 64 65 7b 78 72 65 66 2d 66 69 6e 64 2d 72 65 66 65 {M-,}.,.and.@code{xref-find-refe
dac80 72 65 6e 63 65 73 7d 3a 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 61 64 rences}:.@ref{racket-xp-mode}.ad
daca0 64 73 20 61 20 62 61 63 6b 65 6e 64 20 74 6f 20 74 68 65 0a 76 61 72 69 61 62 6c 65 20 40 63 6f ds.a.backend.to.the.variable.@co
dacc0 64 65 7b 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 7d 2e 20 54 68 69 73 de{xref-backend-functions}..This
dace0 20 62 61 63 6b 65 6e 64 20 75 73 65 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 66 72 6f 6d 20 74 .backend.uses.information.from.t
dad00 68 65 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 73 74 61 74 69 63 20 he.drracket/check-syntax.static.
dad20 61 6e 61 6c 79 73 69 73 2e 20 49 74 73 20 61 62 69 6c 69 74 79 20 74 6f 0a 66 69 6e 64 20 72 65 analysis..Its.ability.to.find.re
dad40 66 65 72 65 6e 63 65 73 20 69 73 20 6c 69 6d 69 74 65 64 20 74 6f 20 74 68 65 20 63 75 72 72 65 ferences.is.limited.to.the.curre
dad60 6e 74 20 66 69 6c 65 3b 20 77 68 65 6e 20 69 74 20 66 69 6e 64 73 0a 6e 6f 6e 65 20 69 74 20 77 nt.file;.when.it.finds.none.it.w
dad80 69 6c 6c 20 74 72 79 20 74 68 65 20 64 65 66 61 75 6c 74 20 78 72 65 66 20 62 61 63 6b 65 6e 64 ill.try.the.default.xref.backend
dada0 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 77 68 69 63 68 20 69 73 0a 67 72 65 70 2d 62 61 .implementation.which.is.grep-ba
dadc0 73 65 64 2e 0a 0a 54 69 70 3a 20 54 68 69 73 20 6d 6f 64 65 20 66 6f 6c 6c 6f 77 73 20 74 68 65 sed...Tip:.This.mode.follows.the
dade0 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 74 68 61 74 20 61 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 6d 61 .convention.that.a.minor.mode.ma
dae00 79 20 6f 6e 6c 79 0a 75 73 65 20 61 20 70 72 65 66 69 78 20 6b 65 79 20 63 6f 6e 73 69 73 74 69 y.only.use.a.prefix.key.consisti
dae20 6e 67 20 6f 66 20 60 60 43 2d 63 27 27 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 70 75 6e 63 ng.of.``C-c''.followed.by.a.punc
dae40 74 75 61 74 69 6f 6e 0a 6b 65 79 2e 20 41 73 20 61 20 72 65 73 75 6c 74 2c 20 40 63 6f 64 65 7b tuation.key..As.a.result,.@code{
dae60 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6e 74 72 6f 6c 2d 63 2d 68 61 73 68 2d 6b 65 79 6d 61 70 7d racket-xp-control-c-hash-keymap}
dae80 20 69 73 20 62 6f 75 6e 64 20 74 6f 0a 60 60 43 2d 63 20 23 27 27 20 62 79 20 64 65 66 61 75 6c .is.bound.to.``C-c.#''.by.defaul
daea0 74 2e 20 41 6c 74 68 6f 75 67 68 20 79 6f 75 20 6d 69 67 68 74 20 66 69 6e 64 20 74 68 69 73 20 t..Although.you.might.find.this.
daec0 61 77 6b 77 61 72 64 20 74 6f 0a 74 79 70 65 2c 20 72 65 6d 65 6d 62 65 72 20 74 68 61 74 20 61 awkward.to.type,.remember.that.a
daee0 73 20 61 6e 20 45 6d 61 63 73 20 75 73 65 72 2c 20 79 6f 75 20 61 72 65 20 66 72 65 65 20 74 6f s.an.Emacs.user,.you.are.free.to
daf00 20 62 69 6e 64 20 74 68 69 73 0a 6d 61 70 20 74 6f 20 61 20 6d 6f 72 65 20 63 6f 6e 76 65 6e 69 .bind.this.map.to.a.more.conveni
daf20 65 6e 74 20 70 72 65 66 69 78 2c 20 61 6e 64 2f 6f 72 20 62 69 6e 64 20 61 6e 79 20 69 6e 64 69 ent.prefix,.and/or.bind.any.indi
daf40 76 69 64 75 61 6c 0a 63 6f 6d 6d 61 6e 64 73 20 64 69 72 65 63 74 6c 79 20 74 6f 20 77 68 61 74 vidual.commands.directly.to.what
daf60 65 76 65 72 20 6b 65 79 73 20 79 6f 75 20 70 72 65 66 65 72 2e 0a 0a 40 6d 75 6c 74 69 74 61 62 ever.keys.you.prefer...@multitab
daf80 6c 65 20 7b 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 le.{aaaaaaaaaaaaaaaaaaaaaaaaaaaa
dafa0 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 7d 20 7b 61 61 61 61 aaaaaaaaaaaaaaaaaaaaaaaaa}.{aaaa
dafc0 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
dafe0 61 61 61 61 61 61 61 61 61 61 61 61 61 7d 0a 40 69 74 65 6d 20 4b 65 79 0a 40 74 61 62 20 42 69 aaaaaaaaaaaaa}.@item.Key.@tab.Bi
db000 6e 64 69 6e 67 0a 40 69 74 65 6d 20 40 6b 62 64 7b 4d 2d 2e 7d 20 0a 40 74 61 62 20 40 63 6f 64 nding.@item.@kbd{M-.}..@tab.@cod
db020 65 7b 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 7d 0a 40 69 74 65 6d 20 40 e{xref-find-definitions}.@item.@
db040 6b 62 64 7b 43 2d 63 20 43 2d 73 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 64 kbd{C-c.C-s}..@tab.@ref{racket-d
db060 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 escribe-search}.@item.@kbd{C-c.C
db080 2d 64 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e -d}..@tab.@ref{racket-xp-documen
db0a0 74 61 74 69 6f 6e 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 2e 7d 20 0a 40 74 61 tation}.@item.@kbd{C-c.C-.}..@ta
db0c0 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 7d 0a 40 69 74 65 6d b.@ref{racket-xp-describe}.@item
db0e0 20 40 6b 62 64 7b 43 2d 63 20 23 20 50 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 70 72 65 76 69 .@kbd{C-c.#.P}..@tab.@code{previ
db100 6f 75 73 2d 65 72 72 6f 72 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 23 20 4e 7d 20 0a ous-error}.@item.@kbd{C-c.#.N}..
db120 40 74 61 62 20 40 63 6f 64 65 7b 6e 65 78 74 2d 65 72 72 6f 72 7d 0a 40 69 74 65 6d 20 40 6b 62 @tab.@code{next-error}.@item.@kb
db140 64 7b 43 2d 63 20 23 20 67 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 78 70 d{C-c.#.g}..@tab.@code{racket-xp
db160 2d 61 6e 6e 6f 74 61 74 65 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 23 20 3c 7d 20 0a -annotate}.@item.@kbd{C-c.#.<}..
db180 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 72 65 76 69 6f 75 @tab.@ref{racket-xp-tail-previou
db1a0 73 2d 73 69 62 6c 69 6e 67 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 23 20 3e 7d 20 0a s-sibling}.@item.@kbd{C-c.#.>}..
db1c0 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 @tab.@ref{racket-xp-tail-next-si
db1e0 62 6c 69 6e 67 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 23 20 76 7d 20 0a 40 74 61 62 bling}.@item.@kbd{C-c.#.v}..@tab
db200 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 64 6f 77 6e 7d 0a 40 69 74 65 6d .@ref{racket-xp-tail-down}.@item
db220 20 40 6b 62 64 7b 43 2d 63 20 23 20 5e 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 .@kbd{C-c.#.^}..@tab.@ref{racket
db240 2d 78 70 2d 74 61 69 6c 2d 75 70 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 23 20 72 7d -xp-tail-up}.@item.@kbd{C-c.#.r}
db260 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 78 70 2d 72 65 6e 61 6d 65 7d 0a 40 ..@tab.@code{racket-xp-rename}.@
db280 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 23 20 3f 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 78 item.@kbd{C-c.#.?}..@tab.@code{x
db2a0 72 65 66 2d 66 69 6e 64 2d 72 65 66 65 72 65 6e 63 65 73 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b ref-find-references}.@item.@kbd{
db2c0 43 2d 63 20 23 20 2e 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 78 72 65 66 2d 66 69 6e 64 2d 64 C-c.#..}..@tab.@code{xref-find-d
db2e0 65 66 69 6e 69 74 69 6f 6e 73 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 23 20 70 7d 20 efinitions}.@item.@kbd{C-c.#.p}.
db300 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 75 73 .@tab.@ref{racket-xp-previous-us
db320 65 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 23 20 6e 7d 20 0a 40 74 61 62 20 40 72 65 e}.@item.@kbd{C-c.#.n}..@tab.@re
db340 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 75 73 65 7d 0a 40 69 74 65 6d 20 40 6b 62 64 f{racket-xp-next-use}.@item.@kbd
db360 7b 43 2d 63 20 23 20 6b 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 70 {C-c.#.k}..@tab.@ref{racket-xp-p
db380 72 65 76 69 6f 75 73 2d 64 65 66 69 6e 69 74 69 6f 6e 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 revious-definition}.@item.@kbd{C
db3a0 2d 63 20 23 20 6a 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 -c.#.j}..@tab.@ref{racket-xp-nex
db3c0 74 2d 64 65 66 69 6e 69 74 69 6f 6e 7d 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 t-definition}.@end.multitable..@
db3e0 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 0a 40 73 75 62 73 65 63 74 node.racket-xp-describe.@subsect
db400 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 0a 0a 40 6b 62 64 7b 43 2d 63 ion.racket-xp-describe..@kbd{C-c
db420 20 43 2d 2e 7d 20 0a 0a 44 65 73 63 72 69 62 65 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 .C-.}...Describe.the.identifier.
db440 61 74 20 70 6f 69 6e 74 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 20 76 61 72 69 65 73 20 62 61 at.point...The.command.varies.ba
db460 73 65 64 20 6f 6e 20 68 6f 77 20 6d 61 6e 79 20 40 6b 62 64 7b 43 2d 75 7d 20 20 63 6f 6d 6d 61 sed.on.how.many.@kbd{C-u}..comma
db480 6e 64 20 70 72 65 66 69 78 65 73 20 79 6f 75 20 73 75 70 70 6c 79 2e 0a 0a 40 69 74 65 6d 69 7a nd.prefixes.you.supply...@itemiz
db4a0 65 0a 40 69 74 65 6d 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 2e 7d 20 0a 0a 55 73 65 73 20 74 68 65 e.@item.@kbd{C-c.C-.}...Uses.the
db4c0 20 73 79 6d 62 6f 6c 20 61 74 20 70 6f 69 6e 74 2e 20 49 66 20 6e 6f 20 73 75 63 68 20 73 79 6d .symbol.at.point..If.no.such.sym
db4e0 62 6f 6c 20 65 78 69 73 74 73 2c 20 79 6f 75 20 61 72 65 0a 70 72 6f 6d 70 74 65 64 20 65 6e 74 bol.exists,.you.are.prompted.ent
db500 65 72 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20 63 er.the.identifier,.but.in.this.c
db520 61 73 65 20 69 74 20 6f 6e 6c 79 0a 63 6f 6e 73 69 64 65 72 73 20 64 65 66 69 6e 69 74 69 6f 6e ase.it.only.considers.definition
db540 73 20 6f 72 20 69 6d 70 6f 72 74 73 20 61 74 20 74 68 65 20 66 69 6c 65 27 73 20 6d 6f 64 75 6c s.or.imports.at.the.file's.modul
db560 65 20 6c 65 76 65 6c 20 2d 2d 0a 6e 6f 74 20 6c 6f 63 61 6c 20 62 69 6e 64 69 6e 67 73 20 6e 6f e.level.--.not.local.bindings.no
db580 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 69 6e 20 73 75 62 6d 6f 64 75 6c 65 73 2e 0a 0a 40 69 r.definitions.in.submodules...@i
db5a0 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 49 66 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 68 temize.@item.If.the.identifier.h
db5c0 61 73 20 69 6e 73 74 61 6c 6c 65 64 20 52 61 63 6b 65 74 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f as.installed.Racket.documentatio
db5e0 6e 2c 20 74 68 65 6e 20 61 0a 73 69 6d 70 6c 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 n,.then.a.simplified.version.of.
db600 74 68 65 20 48 54 4d 4c 20 69 73 20 70 72 65 73 65 6e 74 65 64 20 69 6e 20 74 68 65 20 62 75 66 the.HTML.is.presented.in.the.buf
db620 66 65 72 2c 0a 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 60 60 62 6c 75 65 20 62 6f 78 27 27 2c fer,.including.the.``blue.box'',
db640 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 70 72 6f 73 65 2c 20 61 6e 64 0a 65 78 61 6d 70 6c .documentation.prose,.and.exampl
db660 65 73 2e 0a 0a 40 69 74 65 6d 0a 4f 74 68 65 72 77 69 73 65 2c 20 69 66 20 74 68 65 20 69 64 65 es...@item.Otherwise,.if.the.ide
db680 6e 74 69 66 69 65 72 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 6e 20 69 74 73 0a ntifier.is.a.function,.then.its.
db6a0 73 69 67 6e 61 74 75 72 65 20 69 73 20 64 69 73 70 6c 61 79 65 64 2c 20 66 6f 72 20 65 78 61 6d signature.is.displayed,.for.exam
db6c0 70 6c 65 20 60 60 28 6e 61 6d 65 20 61 72 67 2d 31 2d 6e 61 6d 65 0a 61 72 67 2d 32 2d 6e 61 6d ple.``(name.arg-1-name.arg-2-nam
db6e0 65 29 27 27 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 40 69 74 65 6d 0a 40 6b 62 64 7b 43 e)''..@end.itemize..@item.@kbd{C
db700 2d 75 7d 20 20 40 6b 62 64 7b 43 2d 63 20 43 2d 2e 7d 20 0a 0a 41 6c 77 61 79 73 20 70 72 6f 6d -u}..@kbd{C-c.C-.}...Always.prom
db720 70 74 73 20 79 6f 75 20 74 6f 20 65 6e 74 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 64 65 66 61 75 pts.you.to.enter.a.symbol,.defau
db740 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 0a 61 74 20 70 6f 69 6e 74 20 69 66 20 lting.to.the.symbol.at.point.if.
db760 61 6e 79 2e 0a 0a 40 69 74 65 6d 0a 40 6b 62 64 7b 43 2d 75 7d 20 20 40 6b 62 64 7b 43 2d 75 7d any...@item.@kbd{C-u}..@kbd{C-u}
db780 20 20 40 6b 62 64 7b 43 2d 63 20 43 2d 2e 7d 20 0a 0a 54 68 69 73 20 69 73 20 61 6e 20 61 6c 69 ..@kbd{C-c.C-.}...This.is.an.ali
db7a0 61 73 20 66 6f 72 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 as.for.@ref{racket-describe-sear
db7c0 63 68 7d 2c 20 77 68 69 63 68 20 75 73 65 73 0a 69 6e 73 74 61 6c 6c 65 64 20 64 6f 63 75 6d 65 ch},.which.uses.installed.docume
db7e0 6e 74 61 74 69 6f 6e 20 69 6e 20 61 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 73 63 72 69 ntation.in.a.@code{racket-descri
db800 62 65 2d 6d 6f 64 65 7d 20 62 75 66 66 65 72 0a 69 6e 73 74 65 61 64 20 6f 66 20 61 6e 20 65 78 be-mode}.buffer.instead.of.an.ex
db820 74 65 72 6e 61 6c 20 77 65 62 20 62 72 6f 77 73 65 72 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 ternal.web.browser..@end.itemize
db840 0a 0a 54 68 65 20 69 6e 74 65 6e 74 20 69 73 20 74 6f 20 67 69 76 65 20 61 20 71 75 69 63 6b 20 ..The.intent.is.to.give.a.quick.
db860 72 65 6d 69 6e 64 65 72 20 6f 72 20 69 6e 74 72 6f 64 75 63 74 69 6f 6e 20 74 6f 0a 73 6f 6d 65 reminder.or.introduction.to.some
db880 74 68 69 6e 67 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 69 74 20 thing,.regardless.of.whether.it.
db8a0 68 61 73 20 69 6e 73 74 61 6c 6c 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 2d 2d 20 61 has.installed.documentation.--.a
db8c0 6e 64 20 74 6f 20 64 6f 20 73 6f 20 77 69 74 68 69 6e 20 45 6d 61 63 73 2c 20 77 69 74 68 6f 75 nd.to.do.so.within.Emacs,.withou
db8e0 74 20 73 77 69 74 63 68 69 6e 67 20 74 6f 20 61 20 77 65 62 20 62 72 6f 77 73 65 72 2e 0a 0a 54 t.switching.to.a.web.browser...T
db900 68 69 73 20 62 75 66 66 65 72 20 69 73 20 61 6c 73 6f 20 64 69 73 70 6c 61 79 65 64 20 77 68 65 his.buffer.is.also.displayed.whe
db920 6e 20 79 6f 75 20 75 73 65 20 40 63 6f 64 65 7b 63 6f 6d 70 61 6e 79 2d 6d 6f 64 65 7d 20 61 6e n.you.use.@code{company-mode}.an
db940 64 0a 70 72 65 73 73 20 46 31 20 6f 72 20 43 2d 68 20 69 6e 20 69 74 73 20 70 6f 70 20 75 70 20 d.press.F1.or.C-h.in.its.pop.up.
db960 63 6f 6d 70 6c 65 74 69 6f 6e 20 6c 69 73 74 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 completion.list...@node.racket-x
db980 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b p-documentation.@subsection.rack
db9a0 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 0a 40 6b 62 64 7b 43 2d 63 20 43 2d et-xp-documentation..@kbd{C-c.C-
db9c0 64 7d 20 0a 0a 56 69 65 77 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 61 6e 20 65 78 d}...View.documentation.in.an.ex
db9e0 74 65 72 6e 61 6c 20 77 65 62 20 62 72 6f 77 73 65 72 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 ternal.web.browser...The.command
dba00 20 76 61 72 69 65 73 20 62 61 73 65 64 20 6f 6e 20 68 6f 77 20 6d 61 6e 79 20 40 6b 62 64 7b 43 .varies.based.on.how.many.@kbd{C
dba20 2d 75 7d 20 0a 63 6f 6d 6d 61 6e 64 20 70 72 65 66 69 78 65 73 20 79 6f 75 20 73 75 70 70 6c 79 -u}..command.prefixes.you.supply
dba40 2e 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 64 7d 20 ...@itemize.@item.@kbd{C-c.C-d}.
dba60 0a 0a 55 73 65 73 20 74 68 65 20 73 79 6d 62 6f 6c 20 61 74 20 70 6f 69 6e 74 2e 20 54 72 69 65 ..Uses.the.symbol.at.point..Trie
dba80 73 20 74 6f 20 66 69 6e 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 61 6e 0a 69 s.to.find.documentation.for.an.i
dbaa0 64 65 6e 74 69 66 65 72 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 65 78 70 61 6e 73 69 6f dentifer.defined.in.the.expansio
dbac0 6e 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 0a 49 66 20 6e 6f 20 n.of.the.current.buffer...If.no.
dbae0 73 75 63 68 20 69 64 65 6e 74 69 66 65 72 20 65 78 69 73 74 73 2c 20 6f 70 65 6e 73 20 74 68 65 such.identifer.exists,.opens.the
dbb00 20 53 65 61 72 63 68 20 4d 61 6e 75 61 6c 73 20 70 61 67 65 2e 20 49 6e 0a 74 68 69 73 20 63 61 .Search.Manuals.page..In.this.ca
dbb20 73 65 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 64 6f 63 se,.the.variable.@ref{racket-doc
dbb40 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 74 69 6f 6e 7d 0a 64 65 74 65 umentation-search-location}.dete
dbb60 72 6d 69 6e 65 73 20 77 68 65 74 68 65 72 20 74 68 65 20 73 65 61 72 63 68 20 69 73 20 64 6f 6e rmines.whether.the.search.is.don
dbb80 65 20 6c 6f 63 61 6c 6c 79 20 61 73 20 77 69 74 68 20 40 63 6f 64 65 7b 72 61 63 6f 0a 20 20 64 e.locally.as.with.@code{raco...d
dbba0 6f 63 7d 2c 20 6f 72 20 76 69 73 69 74 73 20 61 20 55 52 4c 40 2e 0a 0a 40 69 74 65 6d 0a 40 6b oc},.or.visits.a.URL@...@item.@k
dbbc0 62 64 7b 43 2d 75 7d 20 20 40 6b 62 64 7b 43 2d 63 20 43 2d 64 7d 20 0a 0a 41 6c 77 61 79 73 20 bd{C-u}..@kbd{C-c.C-d}...Always.
dbbe0 70 72 6f 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 6e 74 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 64 prompts.you.to.enter.a.symbol,.d
dbc00 65 66 61 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 0a 61 74 20 70 6f 69 6e 74 efaulting.to.the.symbol.at.point
dbc20 20 69 66 20 61 6e 79 2e 0a 0a 40 69 74 65 6d 0a 40 6b 62 64 7b 43 2d 75 7d 20 20 40 6b 62 64 7b .if.any...@item.@kbd{C-u}..@kbd{
dbc40 43 2d 75 7d 20 20 40 6b 62 64 7b 43 2d 63 20 43 2d 64 7d 20 0a 0a 41 6c 77 61 79 73 20 70 72 6f C-u}..@kbd{C-c.C-d}...Always.pro
dbc60 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 6e 74 65 72 20 61 6e 79 74 68 69 6e 67 2c 20 64 65 66 61 mpts.you.to.enter.anything,.defa
dbc80 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 0a 61 74 20 70 6f 69 6e 74 20 69 66 ulting.to.the.symbol.at.point.if
dbca0 20 61 6e 79 2e 0a 0a 50 72 6f 63 65 65 64 73 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 .any...Proceeds.directly.to.the.
dbcc0 53 65 61 72 63 68 20 4d 61 6e 75 61 6c 73 20 70 61 67 65 2e 20 55 73 65 20 74 68 69 73 20 69 66 Search.Manuals.page..Use.this.if
dbce0 20 79 6f 75 0a 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 73 65 65 20 64 6f 63 75 6d 65 6e 74 61 .you.would.like.to.see.documenta
dbd00 74 69 6f 6e 20 66 6f 72 20 61 6c 6c 20 69 64 65 6e 74 69 66 69 65 72 73 20 6e 61 6d 65 64 0a 60 tion.for.all.identifiers.named.`
dbd20 60 64 65 66 69 6e 65 27 27 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2e 0a 40 65 6e 64 20 69 74 65 `define'',.for.example..@end.ite
dbd40 6d 69 7a 65 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 64 65 66 69 6e mize..@node.racket-xp-next-defin
dbd60 69 74 69 6f 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 ition.@subsection.racket-xp-next
dbd80 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 0a 40 6b 62 64 7b 43 2d 63 20 23 20 6a 7d 20 0a 0a 4d 6f 76 -definition..@kbd{C-c.#.j}...Mov
dbda0 65 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 6e 65 78 74 20 64 65 66 69 6e 69 74 69 6f 6e 2e 0a e.point.to.the.next.definition..
dbdc0 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 64 65 66 69 6e 69 .@node.racket-xp-previous-defini
dbde0 74 69 6f 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 tion.@subsection.racket-xp-previ
dbe00 6f 75 73 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 0a 40 6b 62 64 7b 43 2d 63 20 23 20 6b 7d 20 0a 0a ous-definition..@kbd{C-c.#.k}...
dbe20 4d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 64 65 66 69 6e Move.point.to.the.previous.defin
dbe40 69 74 69 6f 6e 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 75 73 65 ition...@node.racket-xp-next-use
dbe60 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 75 73 65 0a .@subsection.racket-xp-next-use.
dbe80 0a 40 6b 62 64 7b 43 2d 63 20 23 20 6e 7d 20 0a 0a 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f .@kbd{C-c.#.n}...When.point.is.o
dbea0 6e 20 61 20 75 73 65 2c 20 67 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 2c 20 73 69 62 6c 69 6e 67 n.a.use,.go.to.the.next,.sibling
dbec0 20 75 73 65 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d .use...@node.racket-xp-previous-
dbee0 75 73 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f use.@subsection.racket-xp-previo
dbf00 75 73 2d 75 73 65 0a 0a 40 6b 62 64 7b 43 2d 63 20 23 20 70 7d 20 0a 0a 57 68 65 6e 20 70 6f 69 us-use..@kbd{C-c.#.p}...When.poi
dbf20 6e 74 20 69 73 20 6f 6e 20 61 20 75 73 65 2c 20 67 6f 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f nt.is.on.a.use,.go.to.the.previo
dbf40 75 73 2c 20 73 69 62 6c 69 6e 67 20 75 73 65 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 us,.sibling.use...@node.racket-x
dbf60 70 2d 6e 65 78 74 2d 65 72 72 6f 72 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d p-next-error.@subsection.racket-
dbf80 78 70 2d 6e 65 78 74 2d 65 72 72 6f 72 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b xp-next-error..@kbd{M-x}..@code{
dbfa0 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 65 72 72 6f 72 7d 0a 0a 41 6e 20 6f 62 73 6f 6c 65 racket-xp-next-error}..An.obsole
dbfc0 74 65 20 61 6c 69 61 73 20 66 6f 72 20 40 63 6f 64 65 7b 6e 65 78 74 2d 65 72 72 6f 72 7d 2e 0a te.alias.for.@code{next-error}..
dbfe0 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 0a .@node.racket-xp-previous-error.
dc000 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 65 @subsection.racket-xp-previous-e
dc020 72 72 6f 72 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 78 70 rror..@kbd{M-x}..@code{racket-xp
dc040 2d 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 7d 0a 0a 41 6e 20 6f 62 73 6f 6c 65 74 65 20 61 6c -previous-error}..An.obsolete.al
dc060 69 61 73 20 66 6f 72 20 40 63 6f 64 65 7b 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 7d 2e 0a 0a ias.for.@code{previous-error}...
dc080 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 0a 40 73 75 62 73 65 63 74 @node.racket-xp-tail-up.@subsect
dc0a0 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 0a 0a 40 6b 62 64 7b 43 2d 63 20 ion.racket-xp-tail-up..@kbd{C-c.
dc0c0 23 20 5e 7d 20 0a 0a 47 6f 20 60 60 75 70 27 27 20 74 6f 20 74 68 65 20 65 78 70 72 65 73 73 69 #.^}...Go.``up''.to.the.expressi
dc0e0 6f 6e 20 65 6e 63 6c 6f 73 69 6e 67 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 6e 20 74 61 on.enclosing.an.expression.in.ta
dc100 69 6c 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 74 il.position...When.point.is.on.t
dc120 68 65 20 6f 70 65 6e 69 6e 67 20 70 61 72 65 6e 74 68 65 73 69 73 20 6f 66 20 61 6e 20 65 78 70 he.opening.parenthesis.of.an.exp
dc140 72 65 73 73 69 6f 6e 20 69 6e 20 74 61 69 6c 0a 70 6f 73 69 74 69 6f 6e 2c 20 67 6f 20 69 74 73 ression.in.tail.position,.go.its
dc160 20 60 60 74 61 72 67 65 74 27 27 20 2d 2d 20 74 68 61 74 20 69 73 2c 20 67 6f 20 74 6f 20 74 68 .``target''.--.that.is,.go.to.th
dc180 65 20 65 6e 63 6c 6f 73 69 6e 67 0a 65 78 70 72 65 73 73 69 6f 6e 20 77 69 74 68 20 74 68 65 20 e.enclosing.expression.with.the.
dc1a0 73 61 6d 65 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 61 73 20 74 68 65 20 74 61 69 6c 20 65 78 same.continuation.as.the.tail.ex
dc1c0 70 72 65 73 73 69 6f 6e 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d pression...@node.racket-xp-tail-
dc1e0 64 6f 77 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d down.@subsection.racket-xp-tail-
dc200 64 6f 77 6e 0a 0a 40 6b 62 64 7b 43 2d 63 20 23 20 76 7d 20 0a 0a 47 6f 20 60 60 64 6f 77 6e 27 down..@kbd{C-c.#.v}...Go.``down'
dc220 27 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 20 65 6e 63 '.to.the.first.tail.position.enc
dc240 6c 6f 73 65 64 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 78 70 72 65 73 73 69 6f 6e 2e losed.by.the.current.expression.
dc260 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 62 6c ..@node.racket-xp-tail-next-sibl
dc280 69 6e 67 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 6e ing.@subsection.racket-xp-tail-n
dc2a0 65 78 74 2d 73 69 62 6c 69 6e 67 0a 0a 40 6b 62 64 7b 43 2d 63 20 23 20 3e 7d 20 0a 0a 47 6f 20 ext-sibling..@kbd{C-c.#.>}...Go.
dc2c0 74 6f 20 74 68 65 20 6e 65 78 74 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 20 73 68 61 72 69 6e to.the.next.tail.position.sharin
dc2e0 67 20 74 68 65 20 73 61 6d 65 20 65 6e 63 6c 6f 73 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e g.the.same.enclosing.expression.
dc300 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 72 65 76 69 6f 75 73 2d ..@node.racket-xp-tail-previous-
dc320 73 69 62 6c 69 6e 67 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 sibling.@subsection.racket-xp-ta
dc340 69 6c 2d 70 72 65 76 69 6f 75 73 2d 73 69 62 6c 69 6e 67 0a 0a 40 6b 62 64 7b 43 2d 63 20 23 20 il-previous-sibling..@kbd{C-c.#.
dc360 3c 7d 20 0a 0a 47 6f 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 74 61 69 6c 20 70 6f 73 <}...Go.to.the.previous.tail.pos
dc380 69 74 69 6f 6e 20 73 68 61 72 69 6e 67 20 74 68 65 20 73 61 6d 65 20 65 6e 63 6c 6f 73 69 6e 67 ition.sharing.the.same.enclosing
dc3a0 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d .expression...@node.racket-docum
dc3c0 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b entation-search.@subsection.rack
dc3e0 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 0a 0a 40 6b 62 64 7b 43 2d et-documentation-search..@kbd{C-
dc400 63 20 43 2d 64 7d 20 0a 0a 53 65 61 72 63 68 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a c.C-d}...Search.documentation...
dc420 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 75 73 65 66 75 6c 20 69 6e 20 73 65 76 65 72 61 This.command.is.useful.in.severa
dc440 6c 20 73 69 74 75 61 74 69 6f 6e 73 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 59 6f l.situations:..@itemize.@item.Yo
dc460 75 20 61 72 65 20 6e 6f 74 20 75 73 69 6e 67 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6d u.are.not.using.@ref{racket-xp-m
dc480 6f 64 65 7d 20 66 6f 72 20 61 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 65 64 69 ode}.for.a.@ref{racket-mode}.edi
dc4a0 74 0a 62 75 66 66 65 72 2c 20 73 6f 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 t.buffer,.so.@ref{racket-xp-docu
dc4c0 6d 65 6e 74 61 74 69 6f 6e 7d 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 0a 0a 40 69 mentation}.is.not.available...@i
dc4e0 74 65 6d 0a 54 68 65 72 65 20 69 73 20 6e 6f 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c tem.There.is.no.@ref{racket-repl
dc500 2d 6d 6f 64 65 7d 20 62 75 66 66 65 72 20 77 69 74 68 20 61 20 6c 69 76 65 20 6e 61 6d 65 73 70 -mode}.buffer.with.a.live.namesp
dc520 61 63 65 2c 20 73 6f 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e ace,.so.@ref{racket-repl-documen
dc540 74 61 74 69 6f 6e 7d 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 6f 72 20 68 65 6c 70 tation}.is.not.available.or.help
dc560 66 75 6c 2e 0a 0a 40 69 74 65 6d 0a 59 6f 75 20 77 61 6e 74 20 74 6f 20 73 65 61 72 63 68 20 66 ful...@item.You.want.to.search.f
dc580 6f 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 61 6c 6c 20 6d or.definitions.provided.by.all.m
dc5a0 6f 64 75 6c 65 73 20 2d 2d 0a 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 60 60 64 65 66 odules.--.for.example,.the.``def
dc5c0 69 6e 65 27 27 20 73 79 6e 74 61 78 20 70 72 6f 76 69 64 65 64 20 62 79 20 72 61 63 6b 65 74 2f ine''.syntax.provided.by.racket/
dc5e0 62 61 73 65 2c 20 62 79 0a 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 62 61 73 65 2c 20 61 6e 64 20 base,.by.typed/racket/base,.and.
dc600 62 79 20 6f 74 68 65 72 20 6d 6f 64 75 6c 65 73 2c 20 61 73 20 77 65 6c 6c 20 64 65 66 69 6e 69 by.other.modules,.as.well.defini
dc620 74 69 6f 6e 73 20 6f 72 0a 74 6f 70 69 63 73 20 74 68 61 74 20 6d 65 72 65 6c 79 20 69 6e 63 6c tions.or.topics.that.merely.incl
dc640 75 64 65 20 60 60 64 65 66 69 6e 65 27 27 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 54 68 ude.``define''..@end.itemize..Th
dc660 69 73 20 63 6f 6d 6d 61 6e 64 20 64 6f 65 73 20 6e 6f 74 20 74 72 79 20 74 6f 20 67 6f 20 64 69 is.command.does.not.try.to.go.di
dc680 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 68 65 6c 70 20 74 6f 70 69 63 20 66 6f 72 20 61 0a 64 rectly.to.the.help.topic.for.a.d
dc6a0 65 66 69 6e 69 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 20 62 79 20 61 6e 79 20 73 70 65 63 69 66 efinition.provided.by.any.specif
dc6c0 69 63 20 6d 6f 64 75 6c 65 2e 20 49 6e 73 74 65 61 64 20 69 74 20 67 6f 65 73 20 74 6f 0a 74 68 ic.module..Instead.it.goes.to.th
dc6e0 65 20 52 61 63 6b 65 74 20 60 60 53 65 61 72 63 68 20 4d 61 6e 75 61 6c 73 27 27 20 70 61 67 65 e.Racket.``Search.Manuals''.page
dc700 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 0a ...@node.racket-describe-search.
dc720 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 @subsection.racket-describe-sear
dc740 63 68 0a 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 2e 7d 20 20 6f 72 20 40 6b 62 64 7b 43 2d 63 20 43 ch..@kbd{C-c.C-.}..or.@kbd{C-c.C
dc760 2d 73 7d 20 0a 0a 53 65 61 72 63 68 20 69 6e 73 74 61 6c 6c 65 64 20 64 6f 63 75 6d 65 6e 74 61 -s}...Search.installed.documenta
dc780 74 69 6f 6e 3b 20 76 69 65 77 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 tion;.view.using.@code{racket-de
dc7a0 73 63 72 69 62 65 2d 6d 6f 64 65 7d 2e 0a 0a 41 6c 77 61 79 73 20 70 72 6f 6d 70 74 73 20 79 6f scribe-mode}...Always.prompts.yo
dc7c0 75 20 74 6f 20 65 6e 74 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 u.to.enter.a.symbol,.defaulting.
dc7e0 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 20 61 74 0a 70 6f 69 6e 74 20 69 66 20 61 6e 79 2e 0a 0a to.the.symbol.at.point.if.any...
dc800 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 49 66 20 6a 75 73 74 20 6f 6e 65 20 6d 6f 64 75 6c @itemize.@item.If.just.one.modul
dc820 65 20 65 78 70 6f 72 74 73 20 74 68 65 20 6e 61 6d 65 2c 20 79 6f 75 20 67 6f 20 64 69 72 65 63 e.exports.the.name,.you.go.direc
dc840 74 6c 79 20 74 6f 20 61 0a 52 61 63 6b 65 74 20 44 65 73 63 72 69 62 65 20 62 75 66 66 65 72 20 tly.to.a.Racket.Describe.buffer.
dc860 77 69 74 68 20 69 74 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 49 with.its.documentation...@item.I
dc880 66 20 6d 75 6c 74 69 70 6c 65 20 6d 6f 64 75 6c 65 73 20 65 78 70 6f 72 74 20 74 68 65 20 6e 61 f.multiple.modules.export.the.na
dc8a0 6d 65 2c 20 79 6f 75 20 67 6f 20 66 69 72 73 74 20 74 6f 20 61 0a 60 60 64 69 73 61 6d 62 69 67 me,.you.go.first.to.a.``disambig
dc8c0 75 61 74 69 6f 6e 27 27 20 62 75 66 66 65 72 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 52 uation''.buffer.similar.to.the.R
dc8e0 61 63 6b 65 74 20 60 60 53 65 61 72 63 68 0a 4d 61 6e 75 61 6c 73 27 27 20 77 65 62 20 70 61 67 acket.``Search.Manuals''.web.pag
dc900 65 2e 20 59 6f 75 20 6d 61 79 20 70 72 65 73 73 20 52 45 54 20 6f 6e 20 61 6e 79 20 69 74 65 6d e..You.may.press.RET.on.any.item
dc920 20 74 6f 20 67 65 74 20 61 0a 52 61 63 6b 65 74 20 44 65 73 63 72 69 62 65 20 62 75 66 66 65 72 .to.get.a.Racket.Describe.buffer
dc940 20 66 6f 72 20 74 68 61 74 20 6d 6f 64 75 6c 65 27 73 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 .for.that.module's.version.of.th
dc960 65 20 74 68 69 6e 67 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 40 6e 6f 64 65 20 52 75 6e e.thing..@end.itemize..@node.Run
dc980 0a 40 73 65 63 74 69 6f 6e 20 52 75 6e 0a 0a 40 6d 65 6e 75 0a 2a 20 72 61 63 6b 65 74 2d 72 65 .@section.Run..@menu.*.racket-re
dc9a0 70 6c 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 75 6e 3a 3a 0a 2a 20 72 61 63 6b 65 pl-mode::.*.racket-run::.*.racke
dc9c0 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 3a 3a 0a 2a 20 72 61 63 t-run-and-switch-to-repl::.*.rac
dc9e0 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 3a 3a 0a 2a 20 72 61 63 6b ket-run-module-at-point::.*.rack
dca00 65 74 2d 72 65 70 6c 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 65 et-repl::.*.racket-repl-describe
dca20 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 3a ::.*.racket-repl-documentation::
dca40 0a 2a 20 72 61 63 6b 65 74 2d 72 61 63 6b 65 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 6f 66 .*.racket-racket::.*.racket-prof
dca60 69 6c 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 6d 6f 64 65 3a 3a 0a 2a 20 ile::.*.racket-profile-mode::.*.
dca80 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d racket-logger::.*.racket-logger-
dcaa0 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 mode::.*.racket-debug-mode::.*.r
dcac0 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c acket-repl-clear::.*.racket-repl
dcae0 2d 63 6c 65 61 72 2d 6c 65 61 76 69 6e 67 2d 6c 61 73 74 2d 70 72 6f 6d 70 74 3a 3a 0a 40 65 6e -clear-leaving-last-prompt::.@en
dcb00 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 0a 40 d.menu..@node.racket-repl-mode.@
dcb20 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 0a 0a 40 6b 62 subsection.racket-repl-mode..@kb
dcb40 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 0a d{M-x}..@code{racket-repl-mode}.
dcb60 0a 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 52 61 63 6b 65 74 20 52 45 50 4c 40 2e 0a 0a 59 .Major.mode.for.Racket.REPL@...Y
dcb80 6f 75 20 6d 61 79 20 75 73 65 20 40 63 6f 64 65 7b 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e ou.may.use.@code{xref-find-defin
dcba0 69 74 69 6f 6e 73 7d 20 40 6b 62 64 7b 4d 2d 2e 7d 20 20 61 6e 64 0a 40 63 6f 64 65 7b 78 72 65 itions}.@kbd{M-.}..and.@code{xre
dcbc0 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 63 6b 7d 20 40 6b 62 64 7b 4d 2d 2c 7d 20 3a 0a f-pop-marker-stack}.@kbd{M-,}.:.
dcbe0 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 61 64 64 73 20 61 20 62 61 @ref{racket-repl-mode}.adds.a.ba
dcc00 63 6b 65 6e 64 20 74 6f 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 40 63 6f 64 65 7b 78 72 65 66 ckend.to.the.variable.@code{xref
dcc20 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 7d 2e 20 54 68 69 73 20 62 61 63 6b 65 6e -backend-functions}..This.backen
dcc40 64 20 75 73 65 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 0a 69 64 65 6e 74 69 66 d.uses.information.about.identif
dcc60 69 65 72 20 62 69 6e 64 69 6e 67 73 20 61 6e 64 20 6d 6f 64 75 6c 65 73 20 66 72 6f 6d 20 74 68 ier.bindings.and.modules.from.th
dcc80 65 20 52 45 50 4c 27 73 20 6e 61 6d 65 73 70 61 63 65 2e 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 e.REPL's.namespace...@multitable
dcca0 20 7b 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 .{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
dccc0 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 7d 20 7b 61 61 aaaaaaaaaaaaaaaaaaaaaaaaaaa}.{aa
dcce0 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
dcd00 61 61 61 61 61 61 61 61 61 7d 0a 40 69 74 65 6d 20 4b 65 79 0a 40 74 61 62 20 42 69 6e 64 69 6e aaaaaaaaa}.@item.Key.@tab.Bindin
dcd20 67 0a 40 69 74 65 6d 20 40 6b 62 64 7b 40 7d 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b g.@item.@kbd{@}}..@tab.@ref{rack
dcd40 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 5d 7d et-insert-closing}.@item.@kbd{]}
dcd60 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e ..@tab.@ref{racket-insert-closin
dcd80 67 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 29 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b g}.@item.@kbd{)}..@tab.@ref{rack
dcda0 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d et-insert-closing}.@item.@kbd{C-
dcdc0 63 20 43 2d 5c 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 c.C-\}..@tab.@code{racket-repl-e
dcde0 78 69 74 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 63 7d 20 0a 40 74 61 62 20 40 xit}.@item.@kbd{C-c.C-c}..@tab.@
dce00 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 72 65 61 6b 7d 0a 40 69 74 65 6d 20 40 6b code{racket-repl-break}.@item.@k
dce20 62 64 7b 43 2d 63 20 43 2d 6c 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6c 6f bd{C-c.C-l}..@tab.@ref{racket-lo
dce40 67 67 65 72 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 7a 7d 20 0a 40 74 61 62 20 gger}.@item.@kbd{C-c.C-z}..@tab.
dce60 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 77 69 74 63 68 2d 74 6f 2d 65 64 69 74 @code{racket-repl-switch-to-edit
dce80 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 73 7d 20 0a 40 74 61 62 20 40 72 65 66 }.@item.@kbd{C-c.C-s}..@tab.@ref
dcea0 7b 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 7d 0a 40 69 74 65 6d 20 40 {racket-describe-search}.@item.@
dcec0 6b 62 64 7b 43 2d 63 20 43 2d 2e 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 kbd{C-c.C-.}..@tab.@ref{racket-r
dcee0 65 70 6c 2d 64 65 73 63 72 69 62 65 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 64 epl-describe}.@item.@kbd{C-c.C-d
dcf00 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e }..@tab.@ref{racket-repl-documen
dcf20 74 61 74 69 6f 6e 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 65 20 72 7d 20 0a 40 tation}.@item.@kbd{C-c.C-e.r}..@
dcf40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 7d 0a 40 tab.@ref{racket-expand-region}.@
dcf60 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 65 20 65 7d 20 0a 40 74 61 62 20 40 72 65 66 7b item.@kbd{C-c.C-e.e}..@tab.@ref{
dcf80 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 7d 0a 40 69 74 65 6d 20 40 racket-expand-last-sexp}.@item.@
dcfa0 6b 62 64 7b 43 2d 63 20 43 2d 65 20 78 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 kbd{C-c.C-e.x}..@tab.@ref{racket
dcfc0 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 -expand-definition}.@item.@kbd{C
dcfe0 2d 63 20 43 2d 65 20 66 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 65 78 70 61 -c.C-e.f}..@tab.@ref{racket-expa
dd000 6e 64 2d 66 69 6c 65 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 6f 7d 20 0a 40 74 nd-file}.@item.@kbd{C-c.C-o}..@t
dd020 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 6c 65 74 65 2d 6f 75 74 70 ab.@code{racket-repl-delete-outp
dd040 75 74 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 6e 7d 20 0a 40 74 61 62 20 40 63 ut}.@item.@kbd{C-c.C-n}..@tab.@c
dd060 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6e 65 78 74 2d 70 72 6f 6d 70 74 2d 6f 72 2d 72 ode{racket-repl-next-prompt-or-r
dd080 75 6e 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 70 7d 20 0a 40 74 61 62 20 40 63 un}.@item.@kbd{C-c.C-p}..@tab.@c
dd0a0 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 65 76 69 6f 75 73 2d 70 72 6f 6d 70 74 2d ode{racket-repl-previous-prompt-
dd0c0 6f 72 2d 72 75 6e 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 63 20 43 2d 75 7d 20 0a 40 74 61 or-run}.@item.@kbd{C-c.C-u}..@ta
dd0e0 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d 69 6e 70 75 74 7d b.@code{racket-repl-clear-input}
dd100 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 4d 2d 79 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 .@item.@kbd{C-M-y}..@tab.@ref{ra
dd120 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 4d cket-insert-lambda}.@item.@kbd{M
dd140 2d 6e 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6e 65 78 74 -n}..@tab.@code{racket-repl-next
dd160 2d 69 6e 70 75 74 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 4d 2d 70 7d 20 0a 40 74 61 62 20 40 63 -input}.@item.@kbd{M-p}..@tab.@c
dd180 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 65 76 69 6f 75 73 2d 69 6e 70 75 74 7d 0a ode{racket-repl-previous-input}.
dd1a0 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 4d 2d 71 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 70 72 @item.@kbd{C-M-q}..@tab.@code{pr
dd1c0 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 70 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 43 2d 4d 2d 75 og-indent-sexp}.@item.@kbd{C-M-u
dd1e0 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 62 61 63 6b 77 61 72 64 2d 75 70 2d }..@tab.@ref{racket-backward-up-
dd200 6c 69 73 74 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 54 41 42 7d 20 0a 40 74 61 62 20 40 63 6f 64 list}.@item.@kbd{TAB}..@tab.@cod
dd220 65 7b 69 6e 64 65 6e 74 2d 66 6f 72 2d 74 61 62 2d 63 6f 6d 6d 61 6e 64 7d 0a 40 69 74 65 6d 20 e{indent-for-tab-command}.@item.
dd240 40 6b 62 64 7b 43 2d 6a 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 6e 65 77 6c 69 6e 65 2d 61 6e @kbd{C-j}..@tab.@code{newline-an
dd260 64 2d 69 6e 64 65 6e 74 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 52 45 54 7d 20 0a 40 74 61 62 20 d-indent}.@item.@kbd{RET}..@tab.
dd280 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 75 62 6d 69 74 7d 0a 40 65 6e 64 20 6d @code{racket-repl-submit}.@end.m
dd2a0 75 6c 74 69 74 61 62 6c 65 0a 0a 0a 0a 54 68 69 73 20 6d 6f 64 65 20 72 75 6e 73 20 74 68 65 20 ultitable....This.mode.runs.the.
dd2c0 68 6f 6f 6b 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b hook.@code{racket-repl-mode-hook
dd2e0 7d 2c 20 61 73 20 74 68 65 20 66 69 6e 61 6c 20 6f 72 0a 70 65 6e 75 6c 74 69 6d 61 74 65 20 73 },.as.the.final.or.penultimate.s
dd300 74 65 70 20 64 75 72 69 6e 67 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 0a 0a 40 6e 6f 64 tep.during.initialization...@nod
dd320 65 20 72 61 63 6b 65 74 2d 72 75 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d e.racket-run.@subsection.racket-
dd340 72 75 6e 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 75 6e run..@kbd{M-x}..@code{racket-run
dd360 7d 0a 0a 53 61 76 65 20 74 68 65 20 62 75 66 66 65 72 20 69 6e 20 52 45 50 4c 20 61 6e 64 20 72 }..Save.the.buffer.in.REPL.and.r
dd380 75 6e 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 2e 0a 0a 41 73 20 77 65 6c 6c 20 61 73 20 65 76 61 un.your.program...As.well.as.eva
dd3a0 6c 75 61 74 69 6e 67 20 74 68 65 20 6f 75 74 65 72 6d 6f 73 74 2c 20 66 69 6c 65 20 6d 6f 64 75 luating.the.outermost,.file.modu
dd3c0 6c 65 2c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 72 75 6e 73 20 74 68 65 20 73 75 62 6d 6f le,.automatically.runs.the.submo
dd3e0 64 75 6c 65 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 63 75 73 74 6f 6d 69 7a 61 dules.specified.by.the.customiza
dd400 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 tion.variable.@ref{racket-submod
dd420 75 6c 65 73 2d 74 6f 2d 72 75 6e 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 40 72 65 66 7b 72 61 63 ules-to-run}...See.also.@ref{rac
dd440 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 7d 2c 20 77 68 69 63 68 20 ket-run-module-at-point},.which.
dd460 72 75 6e 73 20 6a 75 73 74 20 74 68 65 0a 73 70 65 63 69 66 69 63 20 6d 6f 64 75 6c 65 20 61 74 runs.just.the.specific.module.at
dd480 20 70 6f 69 6e 74 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 20 76 61 72 69 65 73 20 62 61 73 65 .point...The.command.varies.base
dd4a0 64 20 6f 6e 20 68 6f 77 20 6d 61 6e 79 20 40 6b 62 64 7b 43 2d 75 7d 20 0a 70 72 65 66 69 78 20 d.on.how.many.@kbd{C-u}..prefix.
dd4c0 61 72 67 75 6d 65 6e 74 73 20 79 6f 75 20 73 75 70 70 6c 79 2e 0a 0a 40 69 74 65 6d 69 7a 65 0a arguments.you.supply...@itemize.
dd4e0 40 69 74 65 6d 0a 40 6b 62 64 7b 3c 66 35 3e 7d 20 0a 0a 46 6f 6c 6c 6f 77 73 20 74 68 65 20 40 @item.@kbd{<f5>}...Follows.the.@
dd500 72 65 66 7b 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 7d 20 73 65 74 74 69 6e ref{racket-error-context}.settin
dd520 67 2e 0a 0a 40 69 74 65 6d 0a 40 6b 62 64 7b 43 2d 75 7d 20 20 40 6b 62 64 7b 3c 66 35 3e 7d 20 g...@item.@kbd{C-u}..@kbd{<f5>}.
dd540 0a 0a 55 73 65 73 20 65 72 72 6f 72 74 72 61 63 65 20 66 6f 72 20 69 6d 70 72 6f 76 65 64 20 73 ..Uses.errortrace.for.improved.s
dd560 74 61 63 6b 20 74 72 61 63 65 73 2c 20 61 73 20 69 66 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 65 tack.traces,.as.if.@ref{racket-e
dd580 72 72 6f 72 2d 63 6f 6e 74 65 78 74 7d 20 77 65 72 65 20 73 65 74 20 74 6f 20 60 60 68 69 67 68 rror-context}.were.set.to.``high
dd5a0 27 27 2e 0a 0a 54 68 69 73 20 6c 65 74 73 20 79 6f 75 20 6b 65 65 70 20 40 72 65 66 7b 72 61 63 ''...This.lets.you.keep.@ref{rac
dd5c0 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 7d 20 73 65 74 20 74 6f 20 61 20 66 61 73 74 ket-error-context}.set.to.a.fast
dd5e0 65 72 0a 76 61 6c 75 65 20 6c 69 6b 65 20 60 60 6c 6f 77 27 27 20 6f 72 20 60 60 6d 65 64 69 75 er.value.like.``low''.or.``mediu
dd600 6d 27 27 2c 20 74 68 65 6e 20 63 6f 6e 76 65 6e 69 65 6e 74 6c 79 20 72 65 2d 72 75 6e 0a 77 68 m'',.then.conveniently.re-run.wh
dd620 65 6e 20 79 6f 75 20 6e 65 65 64 20 61 20 62 65 74 74 65 72 20 73 74 72 61 63 6b 20 74 72 61 63 en.you.need.a.better.strack.trac
dd640 65 2e 0a 0a 40 69 74 65 6d 0a 40 6b 62 64 7b 43 2d 75 7d 20 20 40 6b 62 64 7b 43 2d 75 7d 20 20 e...@item.@kbd{C-u}..@kbd{C-u}..
dd660 40 6b 62 64 7b 3c 66 35 3e 7d 20 0a 0a 49 6e 73 74 72 75 6d 65 6e 74 73 20 63 6f 64 65 20 66 6f @kbd{<f5>}...Instruments.code.fo
dd680 72 20 73 74 65 70 20 64 65 62 75 67 67 69 6e 67 2e 20 53 65 65 20 40 72 65 66 7b 72 61 63 6b 65 r.step.debugging..See.@ref{racke
dd6a0 74 2d 64 65 62 75 67 2d 6d 6f 64 65 7d 0a 61 6e 64 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 t-debug-mode}.and.the.variable.@
dd6c0 72 65 66 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 7d 2e 0a 40 65 ref{racket-debuggable-files}..@e
dd6e0 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 45 61 63 68 20 72 75 6e 20 6f 63 63 75 72 73 20 77 69 74 68 nd.itemize..Each.run.occurs.with
dd700 69 6e 20 61 20 52 61 63 6b 65 74 20 63 75 73 74 6f 64 69 61 6e 2e 20 41 6e 79 20 70 72 69 6f 72 in.a.Racket.custodian..Any.prior
dd720 20 72 75 6e 27 73 0a 63 75 73 74 6f 64 69 61 6e 20 69 73 20 73 68 75 74 20 64 6f 77 6e 2c 20 72 .run's.custodian.is.shut.down,.r
dd740 65 6c 65 61 73 69 6e 67 20 72 65 73 6f 75 72 63 65 73 20 6c 69 6b 65 20 74 68 72 65 61 64 73 20 eleasing.resources.like.threads.
dd760 61 6e 64 0a 70 6f 72 74 73 2e 20 45 61 63 68 20 72 75 6e 27 73 20 65 76 61 6c 75 61 74 69 6f 6e and.ports..Each.run's.evaluation
dd780 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 69 73 20 72 65 73 65 74 20 74 6f 20 74 68 65 20 63 6f 6e .environment.is.reset.to.the.con
dd7a0 74 65 6e 74 73 0a 6f 66 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 49 6e 20 6f 74 68 tents.of.the.source.file..In.oth
dd7c0 65 72 20 77 6f 72 64 73 2c 20 6c 69 6b 65 20 44 72 20 52 61 63 6b 65 74 2c 20 74 68 69 73 20 70 er.words,.like.Dr.Racket,.this.p
dd7e0 72 6f 76 69 64 65 73 0a 74 68 65 20 62 65 6e 65 66 69 74 20 74 68 61 74 20 79 6f 75 72 20 73 6f rovides.the.benefit.that.your.so
dd800 75 72 63 65 20 66 69 6c 65 20 69 73 20 74 68 65 20 60 60 73 69 6e 67 6c 65 20 73 6f 75 72 63 65 urce.file.is.the.``single.source
dd820 20 6f 66 0a 74 72 75 74 68 27 27 2e 20 41 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2c 20 74 .of.truth''..At.the.same.time,.t
dd840 68 65 20 72 75 6e 20 67 69 76 65 73 20 79 6f 75 20 61 20 52 45 50 4c 20 69 6e 73 69 64 65 20 74 he.run.gives.you.a.REPL.inside.t
dd860 68 65 0a 6e 61 6d 65 73 70 61 63 65 20 6f 66 20 74 68 65 20 6d 6f 64 75 6c 65 2c 20 67 69 76 69 he.namespace.of.the.module,.givi
dd880 6e 67 20 79 6f 75 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 65 78 70 6c 6f 72 65 20 69 74 ng.you.the.ability.to.explore.it
dd8a0 0a 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2e 20 41 6e 79 20 65 78 70 6c 6f 72 61 74 69 6f 6e 73 .interactively..Any.explorations
dd8c0 20 61 72 65 20 74 65 6d 70 6f 72 61 72 79 2c 20 75 6e 6c 65 73 73 20 79 6f 75 20 61 6c 73 6f 0a .are.temporary,.unless.you.also.
dd8e0 6d 61 6b 65 20 74 68 65 6d 20 74 6f 20 79 6f 75 72 20 73 6f 75 72 63 65 20 66 69 6c 65 2c 20 74 make.them.to.your.source.file,.t
dd900 68 65 79 20 77 69 6c 6c 20 62 65 20 6c 6f 73 74 20 6f 6e 20 74 68 65 20 6e 65 78 74 20 72 75 6e hey.will.be.lost.on.the.next.run
dd920 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d ...See.also.@ref{racket-run-and-
dd940 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 7d 2c 20 77 68 69 63 68 20 69 73 20 65 76 65 6e 20 6d switch-to-repl},.which.is.even.m
dd960 6f 72 65 20 6c 69 6b 65 0a 44 72 20 52 61 63 6b 65 74 27 73 20 52 75 6e 20 63 6f 6d 6d 61 6e 64 ore.like.Dr.Racket's.Run.command
dd980 20 62 65 63 61 75 73 65 20 69 74 20 73 65 6c 65 63 74 73 20 74 68 65 20 52 45 50 4c 20 77 69 6e .because.it.selects.the.REPL.win
dd9a0 64 6f 77 20 61 66 74 65 72 0a 72 75 6e 6e 69 6e 67 2e 0a 0a 54 6f 20 76 69 73 69 74 20 65 72 72 dow.after.running...To.visit.err
dd9c0 6f 72 20 6c 6f 63 61 74 69 6f 6e 73 2c 20 6d 6f 76 65 20 70 6f 69 6e 74 20 74 68 65 72 65 20 61 or.locations,.move.point.there.a
dd9e0 6e 64 20 70 72 65 73 73 20 52 45 54 20 6f 72 20 6d 6f 75 73 65 0a 63 6c 69 63 6b 2e 20 4f 72 2c nd.press.RET.or.mouse.click..Or,
dda00 20 75 73 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 40 63 6f 64 65 7b 6e 65 78 74 2d 65 72 72 .use.the.standard.@code{next-err
dda20 6f 72 7d 20 61 6e 64 20 40 63 6f 64 65 7b 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 7d 0a 63 6f or}.and.@code{previous-error}.co
dda40 6d 6d 61 6e 64 73 20 66 72 6f 6d 20 65 69 74 68 65 72 20 74 68 65 20 65 64 69 74 20 6f 72 20 52 mmands.from.either.the.edit.or.R
dda60 45 50 4c 20 62 75 66 66 65 72 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e EPL.buffer...@node.racket-run-an
dda80 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 d-switch-to-repl.@subsection.rac
ddaa0 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 0a 0a 40 6b 62 64 ket-run-and-switch-to-repl..@kbd
ddac0 7b 3c 66 35 3e 7d 20 0a 0a 54 68 69 73 20 69 73 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e {<f5>}...This.is.@ref{racket-run
ddae0 7d 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 73 65 6c 65 63 74 69 6e 67 20 74 68 65 20 52 45 50 4c }.followed.by.selecting.the.REPL
ddb00 20 62 75 66 66 65 72 20 77 69 6e 64 6f 77 2e 0a 0a 54 68 69 73 20 69 73 20 73 69 6d 69 6c 61 72 .buffer.window...This.is.similar
ddb20 20 74 6f 20 68 6f 77 20 44 72 20 52 61 63 6b 65 74 20 62 65 68 61 76 65 73 2e 0a 0a 54 6f 20 6d .to.how.Dr.Racket.behaves...To.m
ddb40 61 6b 65 20 69 74 20 65 76 65 6e 20 6d 6f 72 65 20 73 69 6d 69 6c 61 72 2c 20 79 6f 75 20 6d 61 ake.it.even.more.similar,.you.ma
ddb60 79 20 61 64 64 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 7d 20 74 6f y.add.@ref{racket-repl-clear}.to
ddb80 0a 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 .the.variable.@ref{racket-before
ddba0 2d 72 75 6e 2d 68 6f 6f 6b 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f -run-hook}...@node.racket-run-mo
ddbc0 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 dule-at-point.@subsection.racket
ddbe0 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 0a 0a 40 6b 62 64 7b 43 2d 63 20 43 -run-module-at-point..@kbd{C-c.C
ddc00 2d 6b 7d 20 20 6f 72 20 40 6b 62 64 7b 43 2d 63 20 43 2d 63 7d 20 0a 0a 53 61 76 65 20 74 68 65 -k}..or.@kbd{C-c.C-c}...Save.the
ddc20 20 62 75 66 66 65 72 20 61 6e 64 20 72 75 6e 20 74 68 65 20 6d 6f 64 75 6c 65 20 61 74 20 70 6f .buffer.and.run.the.module.at.po
ddc40 69 6e 74 2e 0a 0a 4c 69 6b 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 7d 20 62 75 74 20 int...Like.@ref{racket-run}.but.
ddc60 72 75 6e 73 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 6d 6f 64 75 6c 65 20 61 72 6f 75 6e 64 runs.the.innermost.module.around
ddc80 20 70 6f 69 6e 74 2c 0a 77 68 69 63 68 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 74 65 78 74 .point,.which.is.determined.text
ddca0 75 61 6c 6c 79 20 62 79 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 60 60 6d 6f 64 75 6c 65 27 27 2c ually.by.looking.for.``module'',
ddcc0 0a 60 60 6d 6f 64 75 6c 65 2a 27 27 2c 20 6f 72 20 60 60 6d 6f 64 75 6c 65 2b 27 27 20 66 6f 72 .``module*'',.or.``module+''.for
ddce0 6d 73 20 6e 65 73 74 65 64 20 74 6f 20 61 6e 79 20 64 65 70 74 68 2c 20 65 6c 73 65 0a 73 69 6d ms.nested.to.any.depth,.else.sim
ddd00 70 6c 79 20 74 68 65 20 6f 75 74 65 72 6d 6f 73 74 2c 20 66 69 6c 65 20 6d 6f 64 75 6c 65 2e 0a ply.the.outermost,.file.module..
ddd20 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 .@node.racket-repl.@subsection.r
ddd40 61 63 6b 65 74 2d 72 65 70 6c 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 acket-repl..@kbd{M-x}..@code{rac
ddd60 6b 65 74 2d 72 65 70 6c 7d 0a 0a 53 68 6f 77 20 61 20 52 61 63 6b 65 74 20 52 45 50 4c 20 62 75 ket-repl}..Show.a.Racket.REPL.bu
ddd80 66 66 65 72 20 69 6e 20 73 6f 6d 65 20 77 69 6e 64 6f 77 2e 0a 0a 54 68 65 20 69 6e 74 65 6e 64 ffer.in.some.window...The.intend
ddda0 65 64 20 75 73 65 20 6f 66 20 52 61 63 6b 65 74 20 4d 6f 64 65 27 73 20 52 45 50 4c 20 69 73 20 ed.use.of.Racket.Mode's.REPL.is.
dddc0 74 68 61 74 20 79 6f 75 20 40 63 6f 64 65 7b 66 69 6e 64 2d 66 69 6c 65 7d 0a 73 6f 6d 65 20 73 that.you.@code{find-file}.some.s
ddde0 70 65 63 69 66 69 63 20 66 69 6c 65 2c 20 74 68 65 6e 20 72 75 6e 20 69 74 20 75 73 69 6e 67 20 pecific.file,.then.run.it.using.
dde00 61 20 63 6f 6d 6d 61 6e 64 20 6c 69 6b 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 7d 0a a.command.like.@ref{racket-run}.
dde20 6f 72 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 or.@ref{racket-run-module-at-poi
dde40 6e 74 7d 2e 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 20 52 45 50 4c 20 77 69 6c 6c 0a 63 6f 72 nt}..The.resulting.REPL.will.cor
dde60 72 65 73 70 6f 6e 64 20 74 6f 20 74 68 6f 73 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 respond.to.those.definitions.and
dde80 20 6d 61 74 63 68 20 79 6f 75 72 20 65 78 70 65 63 74 61 74 69 6f 6e 73 2e 0a 0a 54 68 65 72 65 .match.your.expectations...There
ddea0 66 6f 72 65 20 74 68 69 73 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 7d 20 63 6f 6d 6d fore.this.@ref{racket-repl}.comm
ddec0 61 6e 64 20 2d 2d 20 77 68 69 63 68 20 69 73 20 69 6e 74 65 6e 64 65 64 20 61 73 20 61 0a 63 6f and.--.which.is.intended.as.a.co
ddee0 6e 76 65 6e 69 65 6e 63 65 20 66 6f 72 20 70 65 6f 70 6c 65 20 77 68 6f 20 77 61 6e 74 20 74 6f nvenience.for.people.who.want.to
ddf00 20 60 60 6a 75 73 74 20 67 65 74 20 61 20 71 75 69 63 6b 20 73 63 72 61 74 63 68 0a 52 45 50 4c .``just.get.a.quick.scratch.REPL
ddf20 27 27 20 2d 2d 20 69 73 20 61 63 74 75 61 6c 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73 ''.--.is.actually.implemented.as
ddf40 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 69 6e 0a 74 68 65 20 63 .running.the.file.named.in.the.c
ddf60 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 ustomization.variable.@ref{racke
ddf80 74 2d 72 65 70 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 7d 2e 20 57 68 65 6e 20 74 68 61 74 0a t-repl-command-file}..When.that.
ddfa0 66 69 6c 65 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 2c 20 69 74 20 69 73 20 63 72 65 61 74 65 file.doesn't.exist,.it.is.create
ddfc0 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 6a 75 73 74 20 60 60 23 6c 61 6e 67 0a 72 61 63 6b 65 74 d.to.contain.just.``#lang.racket
ddfe0 2f 62 61 73 65 27 27 2e 20 59 6f 75 20 6d 61 79 20 65 64 69 74 20 74 68 65 20 66 69 6c 65 20 74 /base''..You.may.edit.the.file.t
de000 6f 20 75 73 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 6c 61 6e 67 2c 0a 72 65 71 75 69 72 65 20 o.use.a.different.lang,.require.
de020 6f 74 68 65 72 20 6d 6f 64 75 6c 65 73 2c 20 6f 72 20 77 68 61 74 65 76 65 72 2e 0a 0a 40 6e 6f other.modules,.or.whatever...@no
de040 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 65 0a 40 73 75 62 73 65 63 74 de.racket-repl-describe.@subsect
de060 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 65 0a 0a 40 6b 62 64 7b 43 ion.racket-repl-describe..@kbd{C
de080 2d 63 20 43 2d 2e 7d 20 0a 0a 44 65 73 63 72 69 62 65 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 -c.C-.}...Describe.the.identifie
de0a0 72 20 61 74 20 70 6f 69 6e 74 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 20 76 61 72 69 65 73 20 r.at.point...The.command.varies.
de0c0 62 61 73 65 64 20 6f 6e 20 68 6f 77 20 6d 61 6e 79 20 40 6b 62 64 7b 43 2d 75 7d 20 20 70 72 65 based.on.how.many.@kbd{C-u}..pre
de0e0 66 69 78 20 61 72 67 75 6d 65 6e 74 73 20 79 6f 75 20 73 75 70 70 6c 79 2e 0a 0a 40 69 74 65 6d fix.arguments.you.supply...@item
de100 69 7a 65 0a 40 69 74 65 6d 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 2e 7d 20 0a 0a 55 73 65 73 20 74 ize.@item.@kbd{C-c.C-.}...Uses.t
de120 68 65 20 73 79 6d 62 6f 6c 20 61 74 20 70 6f 69 6e 74 2e 20 49 66 20 6e 6f 20 73 75 63 68 20 73 he.symbol.at.point..If.no.such.s
de140 79 6d 62 6f 6c 20 65 78 69 73 74 73 2c 20 79 6f 75 20 61 72 65 0a 70 72 6f 6d 70 74 65 64 20 65 ymbol.exists,.you.are.prompted.e
de160 6e 74 65 72 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 2c 20 62 75 74 20 69 6e 20 74 68 69 73 nter.the.identifier,.but.in.this
de180 20 63 61 73 65 20 69 74 20 6f 6e 6c 79 0a 63 6f 6e 73 69 64 65 72 73 20 64 65 66 69 6e 69 74 69 .case.it.only.considers.definiti
de1a0 6f 6e 73 20 6f 72 20 69 6d 70 6f 72 74 73 20 61 74 20 74 68 65 20 66 69 6c 65 27 73 20 6d 6f 64 ons.or.imports.at.the.file's.mod
de1c0 75 6c 65 20 6c 65 76 65 6c 20 2d 2d 0a 6e 6f 74 20 6c 6f 63 61 6c 20 62 69 6e 64 69 6e 67 73 20 ule.level.--.not.local.bindings.
de1e0 6e 6f 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 69 6e 20 73 75 62 6d 6f 64 75 6c 65 73 2e 0a 0a nor.definitions.in.submodules...
de200 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 49 66 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 @itemize.@item.If.the.identifier
de220 20 68 61 73 20 69 6e 73 74 61 6c 6c 65 64 20 52 61 63 6b 65 74 20 64 6f 63 75 6d 65 6e 74 61 74 .has.installed.Racket.documentat
de240 69 6f 6e 2c 20 74 68 65 6e 20 61 0a 73 69 6d 70 6c 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f ion,.then.a.simplified.version.o
de260 66 20 74 68 65 20 48 54 4d 4c 20 69 73 20 70 72 65 73 65 6e 74 65 64 20 69 6e 20 74 68 65 20 62 f.the.HTML.is.presented.in.the.b
de280 75 66 66 65 72 2c 0a 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 60 60 62 6c 75 65 20 62 6f 78 27 uffer,.including.the.``blue.box'
de2a0 27 2c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 70 72 6f 73 65 2c 20 61 6e 64 0a 65 78 61 6d ',.documentation.prose,.and.exam
de2c0 70 6c 65 73 2e 0a 0a 40 69 74 65 6d 0a 4f 74 68 65 72 77 69 73 65 2c 20 69 66 20 74 68 65 20 69 ples...@item.Otherwise,.if.the.i
de2e0 64 65 6e 74 69 66 69 65 72 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 6e 20 69 74 dentifier.is.a.function,.then.it
de300 73 0a 73 69 67 6e 61 74 75 72 65 20 69 73 20 64 69 73 70 6c 61 79 65 64 2c 20 66 6f 72 20 65 78 s.signature.is.displayed,.for.ex
de320 61 6d 70 6c 65 20 60 60 28 6e 61 6d 65 20 61 72 67 2d 31 2d 6e 61 6d 65 0a 61 72 67 2d 32 2d 6e ample.``(name.arg-1-name.arg-2-n
de340 61 6d 65 29 27 27 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 40 69 74 65 6d 0a 40 6b 62 64 ame)''..@end.itemize..@item.@kbd
de360 7b 43 2d 75 7d 20 20 40 6b 62 64 7b 43 2d 63 20 43 2d 2e 7d 20 0a 0a 41 6c 77 61 79 73 20 70 72 {C-u}..@kbd{C-c.C-.}...Always.pr
de380 6f 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 6e 74 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 64 65 66 ompts.you.to.enter.a.symbol,.def
de3a0 61 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 0a 61 74 20 70 6f 69 6e 74 20 69 aulting.to.the.symbol.at.point.i
de3c0 66 20 61 6e 79 2e 0a 0a 40 69 74 65 6d 0a 40 6b 62 64 7b 43 2d 75 7d 20 20 40 6b 62 64 7b 43 2d f.any...@item.@kbd{C-u}..@kbd{C-
de3e0 75 7d 20 20 40 6b 62 64 7b 43 2d 63 20 43 2d 2e 7d 20 0a 0a 54 68 69 73 20 69 73 20 61 6e 20 61 u}..@kbd{C-c.C-.}...This.is.an.a
de400 6c 69 61 73 20 66 6f 72 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 lias.for.@ref{racket-describe-se
de420 61 72 63 68 7d 2c 20 77 68 69 63 68 20 75 73 65 73 0a 69 6e 73 74 61 6c 6c 65 64 20 64 6f 63 75 arch},.which.uses.installed.docu
de440 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 61 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 73 63 mentation.in.a.@code{racket-desc
de460 72 69 62 65 2d 6d 6f 64 65 7d 20 62 75 66 66 65 72 0a 69 6e 73 74 65 61 64 20 6f 66 20 61 6e 20 ribe-mode}.buffer.instead.of.an.
de480 65 78 74 65 72 6e 61 6c 20 77 65 62 20 62 72 6f 77 73 65 72 2e 0a 40 65 6e 64 20 69 74 65 6d 69 external.web.browser..@end.itemi
de4a0 7a 65 0a 0a 54 68 65 20 69 6e 74 65 6e 74 20 69 73 20 74 6f 20 67 69 76 65 20 61 20 71 75 69 63 ze..The.intent.is.to.give.a.quic
de4c0 6b 20 72 65 6d 69 6e 64 65 72 20 6f 72 20 69 6e 74 72 6f 64 75 63 74 69 6f 6e 20 74 6f 0a 73 6f k.reminder.or.introduction.to.so
de4e0 6d 65 74 68 69 6e 67 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 69 mething,.regardless.of.whether.i
de500 74 20 68 61 73 20 69 6e 73 74 61 6c 6c 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 2d 2d t.has.installed.documentation.--
de520 20 61 6e 64 20 74 6f 20 64 6f 20 73 6f 20 77 69 74 68 69 6e 20 45 6d 61 63 73 2c 20 77 69 74 68 .and.to.do.so.within.Emacs,.with
de540 6f 75 74 20 73 77 69 74 63 68 69 6e 67 20 74 6f 20 61 20 77 65 62 20 62 72 6f 77 73 65 72 2e 0a out.switching.to.a.web.browser..
de560 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e .@node.racket-repl-documentation
de580 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e .@subsection.racket-repl-documen
de5a0 74 61 74 69 6f 6e 0a 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 64 7d 20 0a 0a 56 69 65 77 20 64 6f 63 tation..@kbd{C-c.C-d}...View.doc
de5c0 75 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 77 65 62 20 62 72 umentation.in.an.external.web.br
de5e0 6f 77 73 65 72 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 20 76 61 72 69 65 73 20 62 61 73 65 64 owser...The.command.varies.based
de600 20 6f 6e 20 68 6f 77 20 6d 61 6e 79 20 40 6b 62 64 7b 43 2d 75 7d 20 20 63 6f 6d 6d 61 6e 64 20 .on.how.many.@kbd{C-u}..command.
de620 70 72 65 66 69 78 65 73 20 79 6f 75 20 73 75 70 70 6c 79 2e 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 prefixes.you.supply...@itemize.@
de640 69 74 65 6d 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 64 7d 20 0a 0a 55 73 65 73 20 74 68 65 20 73 79 item.@kbd{C-c.C-d}...Uses.the.sy
de660 6d 62 6f 6c 20 61 74 20 70 6f 69 6e 74 2e 20 54 72 69 65 73 20 74 6f 20 66 69 6e 64 20 64 6f 63 mbol.at.point..Tries.to.find.doc
de680 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 61 6e 0a 69 64 65 6e 74 69 66 65 72 20 64 65 66 69 umentation.for.an.identifer.defi
de6a0 6e 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e 61 6d 65 73 70 61 63 65 2e 0a 0a 49 ned.in.the.current.namespace...I
de6c0 66 20 6e 6f 20 73 75 63 68 20 69 64 65 6e 74 69 66 65 72 20 65 78 69 73 74 73 2c 20 6f 70 65 6e f.no.such.identifer.exists,.open
de6e0 73 20 74 68 65 20 53 65 61 72 63 68 20 4d 61 6e 75 61 6c 73 20 70 61 67 65 2e 20 49 6e 0a 74 68 s.the.Search.Manuals.page..In.th
de700 69 73 20 63 61 73 65 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 is.case,.the.variable.@ref{racke
de720 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 74 69 6f 6e 7d t-documentation-search-location}
de740 0a 64 65 74 65 72 6d 69 6e 65 73 20 77 68 65 74 68 65 72 20 74 68 65 20 73 65 61 72 63 68 20 69 .determines.whether.the.search.i
de760 73 20 64 6f 6e 65 20 6c 6f 63 61 6c 6c 79 20 61 73 20 77 69 74 68 20 40 63 6f 64 65 7b 72 61 63 s.done.locally.as.with.@code{rac
de780 6f 0a 20 20 64 6f 63 7d 2c 20 6f 72 20 76 69 73 69 74 73 20 61 20 55 52 4c 40 2e 0a 0a 40 69 74 o...doc},.or.visits.a.URL@...@it
de7a0 65 6d 0a 40 6b 62 64 7b 43 2d 75 7d 20 20 40 6b 62 64 7b 43 2d 63 20 43 2d 64 7d 20 0a 0a 50 72 em.@kbd{C-u}..@kbd{C-c.C-d}...Pr
de7c0 6f 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 6e 74 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 64 65 66 ompts.you.to.enter.a.symbol,.def
de7e0 61 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 20 61 74 0a 70 6f 69 6e 74 20 69 aulting.to.the.symbol.at.point.i
de800 66 20 61 6e 79 2e 0a 0a 40 69 74 65 6d 0a 40 6b 62 64 7b 43 2d 75 7d 20 20 40 6b 62 64 7b 43 2d f.any...@item.@kbd{C-u}..@kbd{C-
de820 75 7d 20 20 40 6b 62 64 7b 43 2d 63 20 43 2d 64 7d 20 0a 0a 50 72 6f 6d 70 74 73 20 79 6f 75 20 u}..@kbd{C-c.C-d}...Prompts.you.
de840 74 6f 20 65 6e 74 65 72 20 61 6e 79 74 68 69 6e 67 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 74 6f to.enter.anything,.defaulting.to
de860 20 74 68 65 20 73 79 6d 62 6f 6c 20 61 74 0a 70 6f 69 6e 74 20 69 66 20 61 6e 79 2e 0a 0a 50 72 .the.symbol.at.point.if.any...Pr
de880 6f 63 65 65 64 73 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 53 65 61 72 63 68 20 4d 61 oceeds.directly.to.the.Search.Ma
de8a0 6e 75 61 6c 73 20 70 61 67 65 2e 20 55 73 65 20 74 68 69 73 20 69 66 20 79 6f 75 0a 77 6f 75 6c nuals.page..Use.this.if.you.woul
de8c0 64 20 6c 69 6b 65 20 74 6f 20 73 65 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 d.like.to.see.documentation.for.
de8e0 61 6c 6c 20 69 64 65 6e 74 69 66 69 65 72 73 20 6e 61 6d 65 64 0a 60 60 64 65 66 69 6e 65 27 27 all.identifiers.named.``define''
de900 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 40 6e 6f ,.for.example..@end.itemize..@no
de920 64 65 20 72 61 63 6b 65 74 2d 72 61 63 6b 65 74 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 de.racket-racket.@subsection.rac
de940 6b 65 74 2d 72 61 63 6b 65 74 0a 0a 40 6b 62 64 7b 43 2d 4d 2d 3c 66 35 3e 7d 20 0a 0a 55 73 65 ket-racket..@kbd{C-M-<f5>}...Use
de960 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 72 61 63 6b 65 74 20 74 6f 20 72 75 6e 20 74 68 65 20 .command-line.racket.to.run.the.
de980 66 69 6c 65 2e 0a 0a 55 73 65 73 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 file...Uses.a.shell.or.terminal.
de9a0 62 75 66 66 65 72 20 61 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 63 6f 6e 66 69 buffer.as.specified.by.the.confi
de9c0 67 75 72 61 74 69 6f 6e 0a 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 68 guration.variable.@ref{racket-sh
de9e0 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 7d 2e 0a 0a 40 6e 6f 64 ell-or-terminal-function}...@nod
dea00 65 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 e.racket-profile.@subsection.rac
dea20 6b 65 74 2d 70 72 6f 66 69 6c 65 0a 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 6f 7d 20 0a 0a 4c 69 6b ket-profile..@kbd{C-c.C-o}...Lik
dea40 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e e.@ref{racket-run-module-at-poin
dea60 74 7d 20 62 75 74 20 77 69 74 68 20 70 72 6f 66 69 6c 69 6e 67 2e 0a 0a 52 65 73 75 6c 74 73 20 t}.but.with.profiling...Results.
dea80 61 72 65 20 70 72 65 73 65 6e 74 65 64 20 69 6e 20 61 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 70 are.presented.in.a.@ref{racket-p
deaa0 72 6f 66 69 6c 65 2d 6d 6f 64 65 7d 20 62 75 66 66 65 72 2c 20 77 68 69 63 68 0a 61 6c 73 6f 20 rofile-mode}.buffer,.which.also.
deac0 6c 65 74 73 20 79 6f 75 20 71 75 69 63 6b 6c 79 20 76 69 65 77 20 74 68 65 20 73 6f 75 72 63 65 lets.you.quickly.view.the.source
deae0 20 63 6f 64 65 2e 0a 0a 59 6f 75 20 6d 61 79 20 65 76 61 6c 75 61 74 65 20 65 78 70 72 65 73 73 .code...You.may.evaluate.express
deb00 69 6f 6e 73 20 69 6e 20 74 68 65 20 52 45 50 4c 40 2e 20 54 68 65 79 20 61 72 65 20 61 6c 73 6f ions.in.the.REPL@..They.are.also
deb20 20 70 72 6f 66 69 6c 65 64 2e 0a 55 73 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 70 72 6f 66 .profiled..Use.@code{racket-prof
deb40 69 6c 65 2d 72 65 66 72 65 73 68 7d 20 74 6f 20 73 65 65 20 74 68 65 20 75 70 64 61 74 65 64 20 ile-refresh}.to.see.the.updated.
deb60 72 65 73 75 6c 74 73 2e 20 49 6e 0a 6f 74 68 65 72 20 77 6f 72 64 73 20 61 20 70 6f 73 73 69 62 results..In.other.words.a.possib
deb80 6c 65 20 77 6f 72 6b 66 6c 6f 77 20 69 73 3a 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 70 72 6f 66 le.workflow.is:.@ref{racket-prof
deba0 69 6c 65 7d 20 61 20 2e 72 6b 74 20 66 69 6c 65 2c 0a 63 61 6c 6c 20 6f 6e 65 20 69 74 73 20 66 ile}.a..rkt.file,.call.one.its.f
debc0 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 52 45 50 4c 2c 20 61 6e 64 20 72 65 66 72 65 73 unctions.in.the.REPL,.and.refres
debe0 68 20 74 68 65 20 70 72 6f 66 69 6c 65 0a 72 65 73 75 6c 74 73 2e 0a 0a 43 61 76 65 61 74 3a 20 h.the.profile.results...Caveat:.
dec00 4f 6e 6c 79 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 61 72 65 20 69 6e 73 74 72 75 6d 65 6e 74 Only.source.files.are.instrument
dec20 65 64 2e 20 59 6f 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 0a 64 65 6c 65 74 65 20 63 6f 6d 70 69 ed..You.may.need.to.delete.compi
dec40 6c 65 64 2f 2a 2e 7a 6f 20 66 69 6c 65 73 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 70 72 led/*.zo.files...@node.racket-pr
dec60 6f 66 69 6c 65 2d 6d 6f 64 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 70 72 ofile-mode.@subsection.racket-pr
dec80 6f 66 69 6c 65 2d 6d 6f 64 65 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 ofile-mode..@kbd{M-x}..@code{rac
deca0 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 6d 6f 64 65 7d 0a 0a 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f ket-profile-mode}..Major.mode.fo
decc0 72 20 72 65 73 75 6c 74 73 20 6f 66 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 r.results.of.@ref{racket-profile
dece0 7d 2e 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 7b 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 }...@multitable.{aaaaaaaaaaaaaaa
ded00 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 7d 20 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}.
ded20 7b 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
ded40 61 61 7d 0a 40 69 74 65 6d 20 4b 65 79 0a 40 74 61 62 20 42 69 6e 64 69 6e 67 0a 40 69 74 65 6d aa}.@item.Key.@tab.Binding.@item
ded60 20 40 6b 62 64 7b 52 45 54 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 70 72 .@kbd{RET}..@tab.@code{racket-pr
ded80 6f 66 69 6c 65 2d 76 69 73 69 74 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 2e 7d 20 0a 40 74 61 62 ofile-visit}.@item.@kbd{.}..@tab
deda0 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 76 69 73 69 74 7d 0a 40 69 74 .@code{racket-profile-visit}.@it
dedc0 65 6d 20 40 6b 62 64 7b 66 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 70 72 em.@kbd{f}..@tab.@code{racket-pr
dede0 6f 66 69 6c 65 2d 73 68 6f 77 2d 6e 6f 6e 2d 70 72 6f 6a 65 63 74 7d 0a 40 69 74 65 6d 20 40 6b ofile-show-non-project}.@item.@k
dee00 62 64 7b 7a 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 bd{z}..@tab.@code{racket-profile
dee20 2d 73 68 6f 77 2d 7a 65 72 6f 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 67 7d 20 0a 40 74 61 62 20 -show-zero}.@item.@kbd{g}..@tab.
dee40 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 72 65 66 72 65 73 68 7d 0a 40 69 @code{racket-profile-refresh}.@i
dee60 74 65 6d 20 40 6b 62 64 7b 71 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 71 75 69 74 2d 77 69 6e tem.@kbd{q}..@tab.@code{quit-win
dee80 64 6f 77 7d 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 0a 0a 0a 49 6e 20 61 64 64 69 dow}.@end.multitable.....In.addi
deea0 74 69 6f 6e 20 74 6f 20 61 6e 79 20 68 6f 6f 6b 73 20 69 74 73 20 70 61 72 65 6e 74 20 6d 6f 64 tion.to.any.hooks.its.parent.mod
deec0 65 20 40 63 6f 64 65 7b 74 61 62 75 6c 61 74 65 64 2d 6c 69 73 74 2d 6d 6f 64 65 7d 20 6d 69 67 e.@code{tabulated-list-mode}.mig
deee0 68 74 0a 68 61 76 65 20 72 75 6e 2c 20 74 68 69 73 20 6d 6f 64 65 20 72 75 6e 73 20 74 68 65 20 ht.have.run,.this.mode.runs.the.
def00 68 6f 6f 6b 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 6d 6f 64 65 2d 68 hook.@code{racket-profile-mode-h
def20 6f 6f 6b 7d 2c 20 61 73 20 74 68 65 0a 66 69 6e 61 6c 20 6f 72 20 70 65 6e 75 6c 74 69 6d 61 74 ook},.as.the.final.or.penultimat
def40 65 20 73 74 65 70 20 64 75 72 69 6e 67 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 0a 0a 40 e.step.during.initialization...@
def60 6e 6f 64 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 node.racket-logger.@subsection.r
def80 61 63 6b 65 74 2d 6c 6f 67 67 65 72 0a 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 6c 7d 20 0a 0a 43 72 acket-logger..@kbd{C-c.C-l}...Cr
defa0 65 61 74 65 20 74 68 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 eate.the.@ref{racket-logger-mode
defc0 7d 20 62 75 66 66 65 72 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d }.buffer...@node.racket-logger-m
defe0 6f 64 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f ode.@subsection.racket-logger-mo
df000 64 65 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 de..@kbd{M-x}..@code{racket-logg
df020 65 72 2d 6d 6f 64 65 7d 0a 0a 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 52 61 63 6b 65 74 20 er-mode}..Major.mode.for.Racket.
df040 6c 6f 67 67 65 72 20 6f 75 74 70 75 74 2e 0a 0a 54 68 65 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f logger.output...The.customizatio
df060 6e 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f n.variable.@ref{racket-logger-co
df080 6e 66 69 67 7d 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 0a 6c 65 76 65 6c 73 20 66 6f 72 20 nfig}.determines.the.levels.for.
df0a0 74 6f 70 69 63 73 2e 20 44 75 72 69 6e 67 20 61 20 73 65 73 73 69 6f 6e 20 79 6f 75 20 6d 61 79 topics..During.a.session.you.may
df0c0 20 63 68 61 6e 67 65 20 74 6f 70 69 63 20 6c 65 76 65 6c 73 0a 75 73 69 6e 67 20 40 63 6f 64 65 .change.topic.levels.using.@code
df0e0 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 6c 65 76 65 6c 7d 2e 0a 0a 46 6f {racket-logger-topic-level}...Fo
df100 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 73 65 65 3a 0a 20 20 40 75 72 65 66 7b r.more.information.see:...@uref{
df120 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 72 65 66 https://docs.racket-lang.org/ref
df140 65 72 65 6e 63 65 2f 6c 6f 67 67 69 6e 67 2e 68 74 6d 6c 7d 0a 0a 40 6d 75 6c 74 69 74 61 62 6c erence/logging.html}..@multitabl
df160 65 20 7b 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 e.{aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
df180 61 61 61 61 61 61 61 61 61 61 61 61 7d 20 7b 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaa}.{aaaaaaaaaaaaaaaaa
df1a0 61 61 61 61 61 61 61 61 61 61 61 61 7d 0a 40 69 74 65 6d 20 4b 65 79 0a 40 74 61 62 20 42 69 6e aaaaaaaaaaaa}.@item.Key.@tab.Bin
df1c0 64 69 6e 67 0a 40 69 74 65 6d 20 40 6b 62 64 7b 67 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 ding.@item.@kbd{g}..@tab.@code{r
df1e0 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6c 65 61 72 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 70 acket-logger-clear}.@item.@kbd{p
df200 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 70 72 65 76 }..@tab.@code{racket-logger-prev
df220 69 6f 75 73 2d 69 74 65 6d 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 6e 7d 20 0a 40 74 61 62 20 40 ious-item}.@item.@kbd{n}..@tab.@
df240 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6e 65 78 74 2d 69 74 65 6d 7d 0a 40 69 code{racket-logger-next-item}.@i
df260 74 65 6d 20 40 6b 62 64 7b 77 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 74 6f 67 67 6c 65 2d 74 tem.@kbd{w}..@tab.@code{toggle-t
df280 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 6c 7d 20 0a 40 74 runcate-lines}.@item.@kbd{l}..@t
df2a0 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 6c 65 76 ab.@code{racket-logger-topic-lev
df2c0 65 6c 7d 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 0a 0a 0a 49 6e 20 61 64 64 69 74 el}.@end.multitable.....In.addit
df2e0 69 6f 6e 20 74 6f 20 61 6e 79 20 68 6f 6f 6b 73 20 69 74 73 20 70 61 72 65 6e 74 20 6d 6f 64 65 ion.to.any.hooks.its.parent.mode
df300 20 40 63 6f 64 65 7b 73 70 65 63 69 61 6c 2d 6d 6f 64 65 7d 20 6d 69 67 68 74 20 68 61 76 65 0a .@code{special-mode}.might.have.
df320 72 75 6e 2c 20 74 68 69 73 20 6d 6f 64 65 20 72 75 6e 73 20 74 68 65 20 68 6f 6f 6b 20 40 63 6f run,.this.mode.runs.the.hook.@co
df340 64 65 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 2d 68 6f 6f 6b 7d 2c 20 61 73 20 de{racket-logger-mode-hook},.as.
df360 74 68 65 20 66 69 6e 61 6c 0a 6f 72 20 70 65 6e 75 6c 74 69 6d 61 74 65 20 73 74 65 70 20 64 75 the.final.or.penultimate.step.du
df380 72 69 6e 67 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b ring.initialization...@node.rack
df3a0 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 et-debug-mode.@subsection.racket
df3c0 2d 64 65 62 75 67 2d 6d 6f 64 65 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 -debug-mode..@kbd{M-x}..@code{ra
df3e0 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 7d 0a 0a 4d 69 6e 6f 72 20 6d 6f 64 65 20 66 6f 72 cket-debug-mode}..Minor.mode.for
df400 20 64 65 62 75 67 20 62 72 65 61 6b 73 2e 0a 0a 54 68 69 73 20 69 73 20 61 20 6d 69 6e 6f 72 20 .debug.breaks...This.is.a.minor.
df420 6d 6f 64 65 2e 20 20 49 66 20 63 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 mode...If.called.interactively,.
df440 74 6f 67 67 6c 65 20 74 68 65 0a 40 63 6f 64 65 7b 52 61 63 6b 65 74 2d 44 65 62 75 67 20 6d 6f toggle.the.@code{Racket-Debug.mo
df460 64 65 7d 20 6d 6f 64 65 2e 20 20 49 66 20 74 68 65 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e de}.mode...If.the.prefix.argumen
df480 74 20 69 73 20 70 6f 73 69 74 69 76 65 2c 0a 65 6e 61 62 6c 65 20 74 68 65 20 6d 6f 64 65 2c 20 t.is.positive,.enable.the.mode,.
df4a0 61 6e 64 20 69 66 20 69 74 20 69 73 20 7a 65 72 6f 20 6f 72 20 6e 65 67 61 74 69 76 65 2c 20 64 and.if.it.is.zero.or.negative,.d
df4c0 69 73 61 62 6c 65 20 74 68 65 20 6d 6f 64 65 2e 0a 0a 49 66 20 63 61 6c 6c 65 64 20 66 72 6f 6d isable.the.mode...If.called.from
df4e0 20 4c 69 73 70 2c 20 74 6f 67 67 6c 65 20 74 68 65 20 6d 6f 64 65 20 69 66 20 41 52 47 20 69 73 .Lisp,.toggle.the.mode.if.ARG.is
df500 20 40 63 6f 64 65 7b 74 6f 67 67 6c 65 7d 2e 20 20 45 6e 61 62 6c 65 0a 74 68 65 20 6d 6f 64 65 .@code{toggle}...Enable.the.mode
df520 20 69 66 20 41 52 47 20 69 73 20 6e 69 6c 2c 20 6f 6d 69 74 74 65 64 2c 20 6f 72 20 69 73 20 61 .if.ARG.is.nil,.omitted,.or.is.a
df540 20 70 6f 73 69 74 69 76 65 20 6e 75 6d 62 65 72 2e 0a 44 69 73 61 62 6c 65 20 74 68 65 20 6d 6f .positive.number..Disable.the.mo
df560 64 65 20 69 66 20 41 52 47 20 69 73 20 61 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 2e 0a de.if.ARG.is.a.negative.number..
df580 0a 54 6f 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 .To.check.whether.the.minor.mode
df5a0 20 69 73 20 65 6e 61 62 6c 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 .is.enabled.in.the.current.buffe
df5c0 72 2c 0a 65 76 61 6c 75 61 74 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f r,.evaluate.@ref{racket-debug-mo
df5e0 64 65 7d 2e 0a 0a 54 68 65 20 6d 6f 64 65 27 73 20 68 6f 6f 6b 20 69 73 20 63 61 6c 6c 65 64 20 de}...The.mode's.hook.is.called.
df600 62 6f 74 68 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 64 20 61 6e both.when.the.mode.is.enabled.an
df620 64 20 77 68 65 6e 0a 69 74 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0a 0a 54 68 69 73 20 66 65 61 d.when.it.is.disabled...This.fea
df640 74 75 72 65 20 69 73 20 40 73 74 72 6f 6e 67 7b 40 73 74 72 6f 6e 67 7b 45 58 50 45 52 49 4d 45 ture.is.@strong{@strong{EXPERIME
df660 4e 54 41 4c 7d 7d 21 21 21 20 49 74 20 69 73 20 6c 69 6b 65 6c 79 20 74 6f 20 68 61 76 65 0a 73 NTAL}}!!!.It.is.likely.to.have.s
df680 69 67 6e 69 66 69 63 61 6e 74 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 61 6e 64 20 62 75 67 73 2e ignificant.limitations.and.bugs.
df6a0 20 59 6f 75 20 61 72 65 20 77 65 6c 63 6f 6d 65 20 74 6f 20 6f 70 65 6e 20 61 6e 0a 69 73 73 75 .You.are.welcome.to.open.an.issu
df6c0 65 20 74 6f 20 70 72 6f 76 69 64 65 20 66 65 65 64 62 61 63 6b 2e 20 50 6c 65 61 73 65 20 75 6e e.to.provide.feedback..Please.un
df6e0 64 65 72 73 74 61 6e 64 20 74 68 61 74 20 74 68 69 73 20 66 65 61 74 75 72 65 0a 6d 69 67 68 74 derstand.that.this.feature.might
df700 20 6e 65 76 65 72 20 62 65 20 69 6d 70 72 6f 76 65 64 20 2d 2d 20 69 74 20 6d 69 67 68 74 20 65 .never.be.improved.--.it.might.e
df720 76 65 6e 20 62 65 20 72 65 6d 6f 76 65 64 20 73 6f 6d 65 64 61 79 20 69 66 20 69 74 0a 74 75 72 ven.be.removed.someday.if.it.tur
df740 6e 73 20 6f 75 74 20 74 6f 20 68 61 76 65 20 74 6f 6f 20 6c 69 74 74 6c 65 20 76 61 6c 75 65 20 ns.out.to.have.too.little.value.
df760 61 6e 64 2f 6f 72 20 74 6f 6f 20 6d 75 63 68 20 63 6f 73 74 2e 0a 0a 48 6f 77 20 74 6f 20 64 65 and/or.too.much.cost...How.to.de
df780 62 75 67 3a 0a 0a 40 65 6e 75 6d 65 72 61 74 65 0a 40 69 74 65 6d 0a 60 60 49 6e 73 74 72 75 6d bug:..@enumerate.@item.``Instrum
df7a0 65 6e 74 27 27 20 63 6f 64 65 20 66 6f 72 20 73 74 65 70 20 64 65 62 75 67 67 69 6e 67 2e 0a 0a ent''.code.for.step.debugging...
df7c0 55 73 65 20 74 77 6f 20 40 6b 62 64 7b 43 2d 75 7d 20 20 63 6f 6d 6d 61 6e 64 20 70 72 65 66 69 Use.two.@kbd{C-u}..command.prefi
df7e0 78 65 73 20 66 6f 72 20 65 69 74 68 65 72 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 7d 20 xes.for.either.@ref{racket-run}.
df800 6f 72 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 or.@ref{racket-run-module-at-poi
df820 6e 74 7d 2e 0a 0a 54 68 65 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 20 69 6e 73 74 72 75 6d 65 6e nt}...The.file.will.be.instrumen
df840 74 65 64 20 66 6f 72 20 73 74 65 70 20 64 65 62 75 67 67 69 6e 67 20 62 65 66 6f 72 65 20 69 74 ted.for.step.debugging.before.it
df860 20 69 73 0a 72 75 6e 2e 20 41 6e 79 20 69 6d 70 6f 72 74 65 64 20 66 69 6c 65 73 20 61 72 65 20 .is.run..Any.imported.files.are.
df880 61 6c 73 6f 20 69 6e 73 74 72 75 6d 65 6e 74 65 64 20 69 66 20 74 68 65 79 20 61 72 65 20 69 6e also.instrumented.if.they.are.in
df8a0 0a 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 67 .the.variable.@ref{racket-debugg
df8c0 61 62 6c 65 2d 66 69 6c 65 73 7d 2e 0a 0a 54 68 65 20 72 75 6e 20 77 69 6c 6c 20 62 72 65 61 6b able-files}...The.run.will.break
df8e0 20 61 74 20 74 68 65 20 66 69 72 73 74 20 62 72 65 61 6b 61 62 6c 65 20 70 6f 73 69 74 69 6f 6e .at.the.first.breakable.position
df900 2e 0a 0a 54 69 70 3a 20 41 66 74 65 72 20 79 6f 75 20 72 75 6e 20 74 6f 20 63 6f 6d 70 6c 65 74 ...Tip:.After.you.run.to.complet
df920 69 6f 6e 20 61 6e 64 20 72 65 74 75 72 6e 20 74 6f 20 61 20 6e 6f 72 6d 61 6c 0a 52 45 50 4c 20 ion.and.return.to.a.normal.REPL.
df940 70 72 6f 6d 70 74 2c 20 74 68 65 20 63 6f 64 65 20 72 65 6d 61 69 6e 73 20 69 6e 73 74 72 75 6d prompt,.the.code.remains.instrum
df960 65 6e 74 65 64 2e 20 59 6f 75 20 6d 61 79 20 65 6e 74 65 72 0a 65 78 70 72 65 73 73 69 6f 6e 73 ented..You.may.enter.expressions
df980 20 74 68 61 74 20 65 76 61 6c 75 61 74 65 20 69 6e 73 74 72 75 6d 65 6e 74 65 64 20 63 6f 64 65 .that.evaluate.instrumented.code
df9a0 20 61 6e 64 20 69 74 20 77 69 6c 6c 0a 62 72 65 61 6b 20 73 6f 20 79 6f 75 20 63 61 6e 20 73 74 .and.it.will.break.so.you.can.st
df9c0 65 70 20 64 65 62 75 67 20 61 67 61 69 6e 2e 0a 0a 40 69 74 65 6d 0a 57 68 65 6e 20 61 20 62 72 ep.debug.again...@item.When.a.br
df9e0 65 61 6b 20 6f 63 63 75 72 73 2c 20 74 68 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c eak.occurs,.the.@ref{racket-repl
dfa00 2d 6d 6f 64 65 7d 20 70 72 6f 6d 70 74 20 63 68 61 6e 67 65 73 2e 20 49 6e 0a 74 68 69 73 20 64 -mode}.prompt.changes..In.this.d
dfa20 65 62 75 67 20 52 45 50 4c 2c 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 61 ebug.REPL,.local.variables.are.a
dfa40 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 79 6f 75 20 74 6f 20 75 73 65 0a 61 6e 64 20 65 76 65 6e vailable.for.you.to.use.and.even
dfa60 20 74 6f 20 40 63 6f 64 65 7b 73 65 74 21 7d 2e 0a 0a 41 6c 73 6f 2c 20 69 6e 20 74 68 65 20 40 .to.@code{set!}...Also,.in.the.@
dfa80 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 62 75 66 66 65 72 20 77 68 65 72 65 20 74 68 ref{racket-mode}.buffer.where.th
dfaa0 65 20 62 72 65 61 6b 20 69 73 20 6c 6f 63 61 74 65 64 2c 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d e.break.is.located,.@ref{racket-
dfac0 64 65 62 75 67 2d 6d 6f 64 65 7d 20 69 73 20 65 6e 61 62 6c 65 64 2e 20 54 68 69 73 20 6d 69 6e debug-mode}.is.enabled..This.min
dfae0 6f 72 20 6d 6f 64 65 20 6d 61 6b 65 73 20 74 68 65 0a 62 75 66 66 65 72 20 72 65 61 64 2d 6f 6e or.mode.makes.the.buffer.read-on
dfb00 6c 79 2c 20 70 72 6f 76 69 64 65 73 20 76 69 73 75 61 6c 20 66 65 65 64 62 61 63 6b 20 2d 2d 20 ly,.provides.visual.feedback.--.
dfb20 61 62 6f 75 74 20 74 68 65 20 62 72 65 61 6b 0a 70 6f 73 69 74 69 6f 6e 2c 20 6c 6f 63 61 6c 20 about.the.break.position,.local.
dfb40 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 73 2c 20 61 6e 64 20 72 65 73 75 6c 74 20 76 61 6c 75 variable.values,.and.result.valu
dfb60 65 73 20 2d 2d 20 61 6e 64 0a 70 72 6f 76 69 64 65 73 20 73 68 6f 72 74 63 75 74 20 6b 65 79 73 es.--.and.provides.shortcut.keys
dfb80 3a 0a 40 65 6e 64 20 65 6e 75 6d 65 72 61 74 65 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 7b 61 :.@end.enumerate..@multitable.{a
dfba0 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
dfbc0 61 61 61 61 61 61 61 61 61 61 61 61 7d 20 7b 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaa}.{aaaaaaaaaaaaaaaaa
dfbe0 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 7d aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
dfc00 0a 40 69 74 65 6d 20 4b 65 79 0a 40 74 61 62 20 42 69 6e 64 69 6e 67 0a 40 69 74 65 6d 20 40 6b .@item.Key.@tab.Binding.@item.@k
dfc20 62 64 7b 3f 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 68 bd{?}..@tab.@code{racket-debug-h
dfc40 65 6c 70 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 68 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 elp}.@item.@kbd{h}..@tab.@code{r
dfc60 61 63 6b 65 74 2d 64 65 62 75 67 2d 72 75 6e 2d 74 6f 2d 68 65 72 65 7d 0a 40 69 74 65 6d 20 40 acket-debug-run-to-here}.@item.@
dfc80 6b 62 64 7b 21 7d 20 0a 40 74 61 62 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 kbd{!}..@tab.@ref{racket-debug-t
dfca0 6f 67 67 6c 65 2d 62 72 65 61 6b 70 6f 69 6e 74 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 50 7d 20 oggle-breakpoint}.@item.@kbd{P}.
dfcc0 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 70 72 65 76 2d 62 72 .@tab.@code{racket-debug-prev-br
dfce0 65 61 6b 70 6f 69 6e 74 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 4e 7d 20 0a 40 74 61 62 20 40 63 eakpoint}.@item.@kbd{N}..@tab.@c
dfd00 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6e 65 78 74 2d 62 72 65 61 6b 70 6f 69 6e 74 ode{racket-debug-next-breakpoint
dfd20 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 70 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b }.@item.@kbd{p}..@tab.@code{rack
dfd40 65 74 2d 64 65 62 75 67 2d 70 72 65 76 2d 62 72 65 61 6b 61 62 6c 65 7d 0a 40 69 74 65 6d 20 40 et-debug-prev-breakable}.@item.@
dfd60 6b 62 64 7b 6e 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d kbd{n}..@tab.@code{racket-debug-
dfd80 6e 65 78 74 2d 62 72 65 61 6b 61 62 6c 65 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 67 7d 20 0a 40 next-breakable}.@item.@kbd{g}..@
dfda0 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 67 6f 7d 0a 40 69 74 65 6d tab.@code{racket-debug-go}.@item
dfdc0 20 40 6b 62 64 7b 63 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 62 75 .@kbd{c}..@tab.@code{racket-debu
dfde0 67 2d 63 6f 6e 74 69 6e 75 65 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 75 7d 20 0a 40 74 61 62 20 g-continue}.@item.@kbd{u}..@tab.
dfe00 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 73 74 65 70 2d 6f 75 74 7d 0a 40 69 74 @code{racket-debug-step-out}.@it
dfe20 65 6d 20 40 6b 62 64 7b 6f 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 em.@kbd{o}..@tab.@code{racket-de
dfe40 62 75 67 2d 73 74 65 70 2d 6f 76 65 72 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 53 50 43 7d 20 0a bug-step-over}.@item.@kbd{SPC}..
dfe60 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 73 74 65 70 7d 0a 40 65 @tab.@code{racket-debug-step}.@e
dfe80 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c nd.multitable..@node.racket-repl
dfea0 2d 63 6c 65 61 72 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 -clear.@subsection.racket-repl-c
dfec0 6c 65 61 72 0a 0a 44 65 6c 65 74 65 20 61 6c 6c 20 74 65 78 74 20 69 6e 20 74 68 65 20 52 45 50 lear..Delete.all.text.in.the.REP
dfee0 4c 40 2e 0a 0a 41 20 73 75 69 74 61 62 6c 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 68 6f L@...A.suitable.value.for.the.ho
dff00 6f 6b 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 7d 20 ok.@ref{racket-before-run-hook}.
dff20 69 66 20 79 6f 75 0a 77 61 6e 74 20 74 68 65 20 52 45 50 4c 20 62 75 66 66 65 72 20 74 6f 20 62 if.you.want.the.REPL.buffer.to.b
dff40 65 20 63 6c 65 61 72 65 64 20 62 65 66 6f 72 65 20 65 61 63 68 20 72 75 6e 2c 20 6d 75 63 68 20 e.cleared.before.each.run,.much.
dff60 6c 69 6b 65 0a 77 69 74 68 20 44 72 20 52 61 63 6b 65 74 2e 20 54 6f 20 64 6f 20 73 6f 20 79 6f like.with.Dr.Racket..To.do.so.yo
dff80 75 20 63 61 6e 20 75 73 65 20 40 63 6f 64 65 7b 63 75 73 74 6f 6d 69 7a 65 7d 2c 20 6f 72 2c 20 u.can.use.@code{customize},.or,.
dffa0 61 64 64 20 74 6f 20 79 6f 75 72 0a 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 20 73 6f 6d 65 add.to.your.Emacs.init.file.some
dffc0 74 68 69 6e 67 20 6c 69 6b 65 3a 0a 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 62 thing.like:..(add-hook.'racket-b
dffe0 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 efore-run-hook.#'racket-repl-cle
e0000 61 72 29 0a 0a 53 65 65 20 61 6c 73 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 40 72 65 66 7b 72 ar)..See.also.the.command.@ref{r
e0020 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d 6c 65 61 76 69 6e 67 2d 6c 61 73 74 2d 70 72 acket-repl-clear-leaving-last-pr
e0040 6f 6d 70 74 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d ompt}...@node.racket-repl-clear-
e0060 6c 65 61 76 69 6e 67 2d 6c 61 73 74 2d 70 72 6f 6d 70 74 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 leaving-last-prompt.@subsection.
e0080 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d 6c 65 61 76 69 6e 67 2d 6c 61 73 74 2d 70 racket-repl-clear-leaving-last-p
e00a0 72 6f 6d 70 74 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 rompt..@kbd{M-x}..@code{racket-r
e00c0 65 70 6c 2d 63 6c 65 61 72 2d 6c 65 61 76 69 6e 67 2d 6c 61 73 74 2d 70 72 6f 6d 70 74 7d 0a 0a epl-clear-leaving-last-prompt}..
e00e0 44 65 6c 65 74 65 20 61 6c 6c 20 74 65 78 74 20 69 6e 20 74 68 65 20 52 45 50 4c 2c 20 65 78 63 Delete.all.text.in.the.REPL,.exc
e0100 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 74 20 70 72 6f 6d 70 74 2e 0a 0a 40 6e 6f 64 65 20 ept.for.the.last.prompt...@node.
e0120 54 65 73 74 0a 40 73 65 63 74 69 6f 6e 20 54 65 73 74 0a 0a 40 6d 65 6e 75 0a 2a 20 72 61 63 6b Test.@section.Test..@menu.*.rack
e0140 65 74 2d 74 65 73 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 61 63 6f 2d 74 65 73 74 3a 3a 0a 40 et-test::.*.racket-raco-test::.@
e0160 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 74 65 73 74 0a 40 73 75 62 end.menu..@node.racket-test.@sub
e0180 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 74 65 73 74 0a 0a 40 6b 62 64 7b 43 2d 3c 66 35 3e section.racket-test..@kbd{C-<f5>
e01a0 7d 20 20 6f 72 20 40 6b 62 64 7b 43 2d 63 20 43 2d 74 7d 20 0a 0a 52 75 6e 20 74 68 65 20 60 60 }..or.@kbd{C-c.C-t}...Run.the.``
e01c0 74 65 73 74 27 27 20 73 75 62 6d 6f 64 75 6c 65 2e 0a 0a 50 75 74 20 79 6f 75 72 20 74 65 73 74 test''.submodule...Put.your.test
e01e0 73 20 69 6e 20 61 20 60 60 74 65 73 74 27 27 20 73 75 62 6d 6f 64 75 6c 65 2e 20 46 6f 72 20 65 s.in.a.``test''.submodule..For.e
e0200 78 61 6d 70 6c 65 3a 0a 0a 40 65 78 61 6d 70 6c 65 0a 20 20 20 20 28 6d 6f 64 75 6c 65 2b 20 74 xample:..@example.....(module+.t
e0220 65 73 74 0a 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 29 0a 20 20 20 est.......(require.rackunit)....
e0240 20 20 20 28 63 68 65 63 6b 2d 74 72 75 65 20 23 74 29 29 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 ...(check-true.#t)).@end.example
e0260 0a 0a 41 6e 79 20 72 61 63 6b 75 6e 69 74 20 74 65 73 74 20 66 61 69 6c 75 72 65 20 6d 65 73 73 ..Any.rackunit.test.failure.mess
e0280 61 67 65 73 20 73 68 6f 77 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 2e 20 59 6f 75 20 6d 61 79 20 ages.show.the.location..You.may.
e02a0 75 73 65 0a 40 63 6f 64 65 7b 6e 65 78 74 2d 65 72 72 6f 72 7d 20 74 6f 20 6a 75 6d 70 20 74 6f use.@code{next-error}.to.jump.to
e02c0 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 66 61 69 6c 69 6e 67 20 74 65 .the.location.of.each.failing.te
e02e0 73 74 2e 0a 0a 57 69 74 68 20 40 6b 62 64 7b 43 2d 75 7d 20 20 75 73 65 73 20 65 72 72 6f 72 74 st...With.@kbd{C-u}..uses.errort
e0300 72 61 63 65 20 66 6f 72 20 69 6d 70 72 6f 76 65 64 20 73 74 61 63 6b 20 74 72 61 63 65 73 2e 0a race.for.improved.stack.traces..
e0320 4f 74 68 65 72 77 69 73 65 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 40 72 65 66 7b 72 61 63 6b 65 Otherwise.follows.the.@ref{racke
e0340 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 7d 20 73 65 74 74 69 6e 67 2e 0a 0a 57 69 74 68 20 t-error-context}.setting...With.
e0360 40 6b 62 64 7b 43 2d 75 7d 20 20 40 6b 62 64 7b 43 2d 75 7d 20 20 61 6c 73 6f 20 72 75 6e 73 20 @kbd{C-u}..@kbd{C-u}..also.runs.
e0380 74 68 65 0a 74 65 73 74 73 20 77 69 74 68 20 63 6f 76 65 72 61 67 65 20 69 6e 73 74 72 75 6d 65 the.tests.with.coverage.instrume
e03a0 6e 74 61 74 69 6f 6e 20 61 6e 64 20 68 69 67 68 6c 69 67 68 74 73 20 75 6e 63 6f 76 65 72 65 64 ntation.and.highlights.uncovered
e03c0 20 63 6f 64 65 0a 75 73 69 6e 67 20 40 63 6f 64 65 7b 66 6f 6e 74 2d 6c 6f 63 6b 2d 77 61 72 6e .code.using.@code{font-lock-warn
e03e0 69 6e 67 2d 66 61 63 65 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 0a 40 69 74 65 6d 69 7a 65 0a 40 ing-face}...See.also:.@itemize.@
e0400 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 7d item.@ref{racket-fold-all-tests}
e0420 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 .@item.@ref{racket-unfold-all-te
e0440 73 74 73 7d 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d sts}.@end.itemize..@node.racket-
e0460 72 61 63 6f 2d 74 65 73 74 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 61 63 raco-test.@subsection.racket-rac
e0480 6f 2d 74 65 73 74 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d o-test..@kbd{M-x}..@code{racket-
e04a0 72 61 63 6f 2d 74 65 73 74 7d 0a 0a 55 73 65 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 72 61 63 raco-test}..Use.command-line.rac
e04c0 6f 20 74 65 73 74 20 74 6f 20 72 75 6e 20 74 68 65 20 60 60 74 65 73 74 27 27 20 73 75 62 6d 6f o.test.to.run.the.``test''.submo
e04e0 64 75 6c 65 2e 0a 0a 55 73 65 73 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 dule...Uses.a.shell.or.terminal.
e0500 62 75 66 66 65 72 20 61 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 63 6f 6e 66 69 buffer.as.specified.by.the.confi
e0520 67 75 72 61 74 69 6f 6e 0a 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 68 guration.variable.@ref{racket-sh
e0540 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 7d 2e 0a 0a 40 6e 6f 64 ell-or-terminal-function}...@nod
e0560 65 20 45 76 61 6c 0a 40 73 65 63 74 69 6f 6e 20 45 76 61 6c 0a 0a 40 6d 65 6e 75 0a 2a 20 72 61 e.Eval.@section.Eval..@menu.*.ra
e0580 63 6b 65 74 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 65 6e 64 cket-send-region::.*.racket-send
e05a0 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 74 -definition::.*.racket-send-last
e05c0 2d 73 65 78 70 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d -sexp::.@end.menu..@node.racket-
e05e0 73 65 6e 64 2d 72 65 67 69 6f 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 73 send-region.@subsection.racket-s
e0600 65 6e 64 2d 72 65 67 69 6f 6e 0a 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 72 7d 20 0a 0a 53 65 6e 64 end-region..@kbd{C-c.C-r}...Send
e0620 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 65 67 69 6f 6e 20 28 69 66 20 61 6e 79 29 20 74 6f 20 .the.current.region.(if.any).to.
e0640 74 68 65 20 52 61 63 6b 65 74 20 52 45 50 4c 40 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d the.Racket.REPL@...@node.racket-
e0660 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b send-definition.@subsection.rack
e0680 65 74 2d 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 0a 40 6b 62 64 7b 43 2d 4d 2d 78 7d 20 et-send-definition..@kbd{C-M-x}.
e06a0 0a 0a 53 65 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 65 66 69 6e 69 74 69 6f 6e 20 74 6f ..Send.the.current.definition.to
e06c0 20 74 68 65 20 52 61 63 6b 65 74 20 52 45 50 4c 40 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 .the.Racket.REPL@...@node.racket
e06e0 2d 73 65 6e 64 2d 6c 61 73 74 2d 73 65 78 70 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b -send-last-sexp.@subsection.rack
e0700 65 74 2d 73 65 6e 64 2d 6c 61 73 74 2d 73 65 78 70 0a 0a 40 6b 62 64 7b 43 2d 78 20 43 2d 65 7d et-send-last-sexp..@kbd{C-x.C-e}
e0720 20 0a 0a 53 65 6e 64 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 62 65 66 6f 72 65 20 70 6f ...Send.the.expression.before.po
e0740 69 6e 74 20 74 6f 20 74 68 65 20 52 61 63 6b 65 74 20 52 45 50 4c 40 2e 0a 0a 54 68 65 20 65 78 int.to.the.Racket.REPL@...The.ex
e0760 70 72 65 73 73 69 6f 6e 20 6d 61 79 20 62 65 20 65 69 74 68 65 72 20 61 6e 20 61 74 2d 65 78 70 pression.may.be.either.an.at-exp
e0780 72 65 73 73 69 6f 6e 20 6f 72 20 61 6e 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 57 68 65 ression.or.an.s-expression...Whe
e07a0 6e 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 61 20 73 65 78 70 20 63 6f 6d 6d 65 n.the.expression.is.a.sexp.comme
e07c0 6e 74 2c 20 74 68 65 20 73 65 78 70 20 69 74 73 65 6c 66 20 69 73 20 73 65 6e 74 2c 0a 77 69 74 nt,.the.sexp.itself.is.sent,.wit
e07e0 68 6f 75 74 20 74 68 65 20 23 3b 20 70 72 65 66 69 78 2e 0a 0a 57 69 74 68 20 61 20 70 72 65 66 hout.the.#;.prefix...With.a.pref
e0800 69 78 20 61 72 67 75 6d 65 6e 74 20 28 65 2e 67 2e 20 40 6b 62 64 7b 43 2d 75 7d 20 20 40 6b 62 ix.argument.(e.g..@kbd{C-u}..@kb
e0820 64 7b 43 2d 78 20 43 2d 65 7d 20 29 2c 20 74 68 65 20 73 65 78 70 20 69 73 20 63 6f 70 69 65 64 d{C-x.C-e}.),.the.sexp.is.copied
e0840 0a 69 6e 74 6f 20 74 68 65 20 52 45 50 4c 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 60 60 .into.the.REPL,.followed.by.a.``
e0860 3d 3e 27 27 20 6c 69 6e 65 2c 20 74 6f 20 64 69 73 74 69 6e 67 75 69 73 68 20 69 74 0a 66 72 6f =>''.line,.to.distinguish.it.fro
e0880 6d 20 74 68 65 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 76 61 6c 75 65 73 20 74 6f 20 77 68 69 m.the.zero.or.more.values.to.whi
e08a0 63 68 20 69 74 20 65 76 61 6c 75 61 74 65 73 2e 0a 0a 40 6e 6f 64 65 20 43 6f 6c 6c 65 63 74 69 ch.it.evaluates...@node.Collecti
e08c0 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 43 6f 6c 6c 65 63 74 69 6f 6e 73 0a 0a 40 6d 65 6e 75 0a ons.@section.Collections..@menu.
e08e0 2a 20 72 61 63 6b 65 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 3a 3a 0a 40 65 6e *.racket-open-require-path::.@en
e0900 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 d.menu..@node.racket-open-requir
e0920 65 2d 70 61 74 68 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 6f 70 65 6e 2d 72 e-path.@subsection.racket-open-r
e0940 65 71 75 69 72 65 2d 70 61 74 68 0a 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 78 20 43 2d 66 7d 20 0a equire-path..@kbd{C-c.C-x.C-f}..
e0960 0a 4c 69 6b 65 20 44 72 20 52 61 63 6b 65 74 27 73 20 4f 70 65 6e 20 52 65 71 75 69 72 65 20 50 .Like.Dr.Racket's.Open.Require.P
e0980 61 74 68 2e 0a 0a 54 79 70 65 20 28 6f 72 20 64 65 6c 65 74 65 29 20 63 68 61 72 61 63 74 65 72 ath...Type.(or.delete).character
e09a0 73 20 74 68 61 74 20 61 72 65 20 70 61 72 74 20 6f 66 20 61 20 6d 6f 64 75 6c 65 20 70 61 74 68 s.that.are.part.of.a.module.path
e09c0 20 6e 61 6d 65 2e 0a 60 60 46 75 7a 7a 79 27 27 20 6d 61 74 63 68 65 73 20 61 70 70 65 61 72 2e .name..``Fuzzy''.matches.appear.
e09e0 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 74 72 79 20 74 79 70 69 6e 67 20 60 60 74 2f 74 2f 72 27 .For.example.try.typing.``t/t/r'
e0a00 27 2e 0a 0a 43 68 6f 69 63 65 73 20 61 72 65 20 64 69 73 70 6c 61 79 65 64 20 69 6e 20 61 20 76 '...Choices.are.displayed.in.a.v
e0a20 65 72 74 69 63 61 6c 20 6c 69 73 74 2e 20 54 68 65 20 63 75 72 72 65 6e 74 20 63 68 6f 69 63 65 ertical.list..The.current.choice
e0a40 20 69 73 0a 61 74 20 74 68 65 20 74 6f 70 2c 20 6d 61 72 6b 65 64 20 77 69 74 68 20 60 60 2d 3e .is.at.the.top,.marked.with.``->
e0a60 27 27 2e 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 43 2d 6e 20 61 6e 64 20 43 2d 70 20 ''...@itemize.@item.C-n.and.C-p.
e0a80 6d 6f 76 65 20 61 6d 6f 6e 67 20 74 68 65 20 63 68 6f 69 63 65 73 2e 0a 40 69 74 65 6d 0a 52 45 move.among.the.choices..@item.RE
e0aa0 54 20 6f 6e 20 61 20 64 69 72 65 63 74 6f 72 79 20 61 64 64 73 20 69 74 73 20 63 6f 6e 74 65 6e T.on.a.directory.adds.its.conten
e0ac0 74 73 20 74 6f 20 74 68 65 20 63 68 6f 69 63 65 73 2e 0a 40 69 74 65 6d 0a 52 45 54 20 6f 6e 20 ts.to.the.choices..@item.RET.on.
e0ae0 61 20 66 69 6c 65 20 65 78 69 74 73 20 64 6f 69 6e 67 20 40 63 6f 64 65 7b 66 69 6e 64 2d 66 69 a.file.exits.doing.@code{find-fi
e0b00 6c 65 7d 2e 0a 40 69 74 65 6d 0a 43 2d 67 20 61 62 6f 72 74 73 2e 0a 40 65 6e 64 20 69 74 65 6d le}..@item.C-g.aborts..@end.item
e0b20 69 7a 65 0a 0a 40 6e 6f 64 65 20 4d 61 63 72 6f 20 65 78 70 61 6e 64 0a 40 73 65 63 74 69 6f 6e ize..@node.Macro.expand.@section
e0b40 20 4d 61 63 72 6f 20 65 78 70 61 6e 64 0a 0a 40 6d 65 6e 75 0a 2a 20 72 61 63 6b 65 74 2d 73 74 .Macro.expand..@menu.*.racket-st
e0b60 65 70 70 65 72 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c epper-mode::.*.racket-expand-fil
e0b80 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 3a 3a 0a 2a 20 72 e::.*.racket-expand-region::.*.r
e0ba0 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b acket-expand-definition::.*.rack
e0bc0 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a et-expand-last-sexp::.@end.menu.
e0be0 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 0a 40 73 75 62 73 .@node.racket-stepper-mode.@subs
e0c00 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 0a 0a 40 6b 62 64 ection.racket-stepper-mode..@kbd
e0c20 7b 4d 2d 78 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 {M-x}..@code{racket-stepper-mode
e0c40 7d 0a 0a 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 52 61 63 6b 65 74 20 73 74 65 70 70 65 72 }..Major.mode.for.Racket.stepper
e0c60 20 6f 75 74 70 75 74 2e 0a 0a 55 73 65 64 20 62 79 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 40 .output...Used.by.the.commands.@
e0c80 72 65 66 7b 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 7d 2c 0a 40 72 65 66 7b 72 61 ref{racket-expand-file},.@ref{ra
e0ca0 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 7d 2c 20 40 72 65 66 7b 72 61 cket-expand-definition},.@ref{ra
e0cc0 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 7d 2c 20 61 6e 64 0a 40 72 65 66 7b 72 61 cket-expand-region},.and.@ref{ra
e0ce0 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 7d 2e 0a 0a 40 6d 75 6c 74 69 74 cket-expand-last-sexp}...@multit
e0d00 61 62 6c 65 20 7b 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 able.{aaaaaaaaaaaaaaaaaaaaaaaaaa
e0d20 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 7d 20 7b 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaaaaa}.{aaaaaaaaaa
e0d40 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 7d 0a 40 69 74 65 6d 20 4b 65 79 0a aaaaaaaaaaaaaaaaaaaa}.@item.Key.
e0d60 40 74 61 62 20 42 69 6e 64 69 6e 67 0a 40 69 74 65 6d 20 40 6b 62 64 7b 67 7d 20 0a 40 74 61 62 @tab.Binding.@item.@kbd{g}..@tab
e0d80 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 72 65 66 72 65 73 68 7d 0a 40 .@code{racket-stepper-refresh}.@
e0da0 69 74 65 6d 20 40 6b 62 64 7b 6b 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d item.@kbd{k}..@tab.@code{racket-
e0dc0 73 74 65 70 70 65 72 2d 70 72 65 76 69 6f 75 73 2d 69 74 65 6d 7d 0a 40 69 74 65 6d 20 40 6b 62 stepper-previous-item}.@item.@kb
e0de0 64 7b 70 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d d{p}..@tab.@code{racket-stepper-
e0e00 70 72 65 76 69 6f 75 73 2d 69 74 65 6d 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 6a 7d 20 0a 40 74 previous-item}.@item.@kbd{j}..@t
e0e20 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6e 65 78 74 2d 69 74 65 ab.@code{racket-stepper-next-ite
e0e40 6d 7d 0a 40 69 74 65 6d 20 40 6b 62 64 7b 6e 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 m}.@item.@kbd{n}..@tab.@code{rac
e0e60 6b 65 74 2d 73 74 65 70 70 65 72 2d 6e 65 78 74 2d 69 74 65 6d 7d 0a 40 69 74 65 6d 20 40 6b 62 ket-stepper-next-item}.@item.@kb
e0e80 64 7b 52 45 54 7d 20 0a 40 74 61 62 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 73 74 65 70 70 65 d{RET}..@tab.@code{racket-steppe
e0ea0 72 2d 73 74 65 70 7d 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 0a 0a 0a 49 6e 20 61 r-step}.@end.multitable.....In.a
e0ec0 64 64 69 74 69 6f 6e 20 74 6f 20 61 6e 79 20 68 6f 6f 6b 73 20 69 74 73 20 70 61 72 65 6e 74 20 ddition.to.any.hooks.its.parent.
e0ee0 6d 6f 64 65 20 40 63 6f 64 65 7b 73 70 65 63 69 61 6c 2d 6d 6f 64 65 7d 20 6d 69 67 68 74 20 68 mode.@code{special-mode}.might.h
e0f00 61 76 65 0a 72 75 6e 2c 20 74 68 69 73 20 6d 6f 64 65 20 72 75 6e 73 20 74 68 65 20 68 6f 6f 6b ave.run,.this.mode.runs.the.hook
e0f20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 2d 68 6f 6f 6b 7d .@code{racket-stepper-mode-hook}
e0f40 2c 20 61 73 20 74 68 65 20 66 69 6e 61 6c 0a 6f 72 20 70 65 6e 75 6c 74 69 6d 61 74 65 20 73 74 ,.as.the.final.or.penultimate.st
e0f60 65 70 20 64 75 72 69 6e 67 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 0a 0a 40 6e 6f 64 65 ep.during.initialization...@node
e0f80 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 .racket-expand-file.@subsection.
e0fa0 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 0a 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 65 racket-expand-file..@kbd{C-c.C-e
e0fc0 20 66 7d 20 0a 0a 45 78 70 61 6e 64 20 74 68 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 .f}...Expand.the.@ref{racket-mod
e0fe0 65 7d 20 62 75 66 66 65 72 27 73 20 66 69 6c 65 20 69 6e 20 40 72 65 66 7b 72 61 63 6b 65 74 2d e}.buffer's.file.in.@ref{racket-
e1000 73 74 65 70 70 65 72 2d 6d 6f 64 65 7d 2e 0a 0a 55 73 65 73 20 74 68 65 20 40 63 6f 64 65 7b 6d stepper-mode}...Uses.the.@code{m
e1020 61 63 72 6f 2d 64 65 62 75 67 67 65 72 7d 20 70 61 63 6b 61 67 65 20 74 6f 20 64 6f 20 74 68 65 acro-debugger}.package.to.do.the
e1040 20 65 78 70 61 6e 73 69 6f 6e 2e 0a 0a 59 6f 75 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 74 6f 20 .expansion...You.do.not.need.to.
e1060 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 7d 20 74 68 65 20 66 69 6c 65 20 66 69 72 73 74 3b @ref{racket-run}.the.file.first;
e1080 20 74 68 65 20 6e 61 6d 65 73 70 61 63 65 0a 61 63 74 69 76 65 20 69 6e 20 74 68 65 20 52 45 50 .the.namespace.active.in.the.REP
e10a0 4c 20 69 73 20 6e 6f 74 20 75 73 65 64 2e 0a 0a 49 66 20 74 68 65 20 66 69 6c 65 20 69 73 20 6e L.is.not.used...If.the.file.is.n
e10c0 6f 6e 2d 74 72 69 76 69 61 6c 20 61 6e 64 2f 6f 72 20 69 73 20 6e 6f 74 20 63 6f 6d 70 69 6c 65 on-trivial.and/or.is.not.compile
e10e0 64 20 74 6f 20 61 20 2e 7a 6f 0a 62 79 74 65 63 6f 64 65 20 66 69 6c 65 2c 20 74 68 65 6e 20 69 d.to.a..zo.bytecode.file,.then.i
e1100 74 20 6d 69 67 68 74 20 74 61 6b 65 20 6d 61 6e 79 20 73 65 63 6f 6e 64 73 20 62 65 66 6f 72 65 t.might.take.many.seconds.before
e1120 20 74 68 65 0a 6f 72 69 67 69 6e 61 6c 20 66 6f 72 6d 20 69 73 20 64 69 73 70 6c 61 79 65 64 20 .the.original.form.is.displayed.
e1140 61 6e 64 20 79 6f 75 20 63 61 6e 20 73 74 61 72 74 20 73 74 65 70 70 69 6e 67 2e 0a 0a 57 69 74 and.you.can.start.stepping...Wit
e1160 68 20 40 6b 62 64 7b 43 2d 75 7d 20 20 62 65 68 61 76 65 73 20 61 73 20 69 66 20 40 72 65 66 7b h.@kbd{C-u}..behaves.as.if.@ref{
e1180 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 7d 0a 77 65 72 65 20 27 64 69 73 61 racket-expand-hiding}.were.'disa
e11a0 62 6c 65 64 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f bled...@node.racket-expand-regio
e11c0 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 n.@subsection.racket-expand-regi
e11e0 6f 6e 0a 0a 40 6b 62 64 7b 43 2d 63 20 43 2d 65 20 72 7d 20 0a 0a 45 78 70 61 6e 64 20 74 68 65 on..@kbd{C-c.C-e.r}...Expand.the
e1200 20 61 63 74 69 76 65 20 72 65 67 69 6f 6e 20 75 73 69 6e 67 20 40 72 65 66 7b 72 61 63 6b 65 74 .active.region.using.@ref{racket
e1220 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 7d 2e 0a 0a 55 73 65 73 20 74 68 65 20 40 63 6f 64 65 7b -stepper-mode}...Uses.the.@code{
e1240 6d 61 63 72 6f 2d 64 65 62 75 67 67 65 72 7d 20 70 61 63 6b 61 67 65 20 74 6f 20 64 6f 20 74 68 macro-debugger}.package.to.do.th
e1260 65 20 65 78 70 61 6e 73 69 6f 6e 2e 0a 0a 57 69 74 68 20 40 6b 62 64 7b 43 2d 75 7d 20 20 62 65 e.expansion...With.@kbd{C-u}..be
e1280 68 61 76 65 73 20 61 73 20 69 66 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 haves.as.if.@ref{racket-expand-h
e12a0 69 64 69 6e 67 7d 0a 77 65 72 65 20 27 64 69 73 61 62 6c 65 64 2e 0a 0a 40 6e 6f 64 65 20 72 61 iding}.were.'disabled...@node.ra
e12c0 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 40 73 75 62 73 65 63 74 69 cket-expand-definition.@subsecti
e12e0 6f 6e 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 0a 40 6b 62 on.racket-expand-definition..@kb
e1300 64 7b 43 2d 63 20 43 2d 65 20 78 7d 20 0a 0a 45 78 70 61 6e 64 20 74 68 65 20 64 65 66 69 6e 69 d{C-c.C-e.x}...Expand.the.defini
e1320 74 69 6f 6e 20 61 72 6f 75 6e 64 20 70 6f 69 6e 74 20 75 73 69 6e 67 20 40 72 65 66 7b 72 61 63 tion.around.point.using.@ref{rac
e1340 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 7d 2e 0a 0a 55 73 65 73 20 74 68 65 20 40 63 6f ket-stepper-mode}...Uses.the.@co
e1360 64 65 7b 6d 61 63 72 6f 2d 64 65 62 75 67 67 65 72 7d 20 70 61 63 6b 61 67 65 20 74 6f 20 64 6f de{macro-debugger}.package.to.do
e1380 20 74 68 65 20 65 78 70 61 6e 73 69 6f 6e 2e 0a 0a 57 69 74 68 20 40 6b 62 64 7b 43 2d 75 7d 20 .the.expansion...With.@kbd{C-u}.
e13a0 20 62 65 68 61 76 65 73 20 61 73 20 69 66 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 65 78 70 61 6e .behaves.as.if.@ref{racket-expan
e13c0 64 2d 68 69 64 69 6e 67 7d 0a 77 65 72 65 20 27 64 69 73 61 62 6c 65 64 2e 0a 0a 40 6e 6f 64 65 d-hiding}.were.'disabled...@node
e13e0 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 0a 40 73 75 62 73 65 63 .racket-expand-last-sexp.@subsec
e1400 74 69 6f 6e 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 0a 0a 40 6b tion.racket-expand-last-sexp..@k
e1420 62 64 7b 43 2d 63 20 43 2d 65 20 65 7d 20 0a 0a 45 78 70 61 6e 64 20 74 68 65 20 73 65 78 70 20 bd{C-c.C-e.e}...Expand.the.sexp.
e1440 62 65 66 6f 72 65 20 70 6f 69 6e 74 20 75 73 69 6e 67 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 before.point.using.@ref{racket-s
e1460 74 65 70 70 65 72 2d 6d 6f 64 65 7d 2e 0a 0a 55 73 65 73 20 74 68 65 20 40 63 6f 64 65 7b 6d 61 tepper-mode}...Uses.the.@code{ma
e1480 63 72 6f 2d 64 65 62 75 67 67 65 72 7d 20 70 61 63 6b 61 67 65 20 74 6f 20 64 6f 20 74 68 65 20 cro-debugger}.package.to.do.the.
e14a0 65 78 70 61 6e 73 69 6f 6e 2e 0a 0a 57 69 74 68 20 40 6b 62 64 7b 43 2d 75 7d 20 20 62 65 68 61 expansion...With.@kbd{C-u}..beha
e14c0 76 65 73 20 61 73 20 69 66 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 ves.as.if.@ref{racket-expand-hid
e14e0 69 6e 67 7d 0a 77 65 72 65 20 27 64 69 73 61 62 6c 65 64 2e 0a 0a 40 6e 6f 64 65 20 4f 74 68 65 ing}.were.'disabled...@node.Othe
e1500 72 0a 40 73 65 63 74 69 6f 6e 20 4f 74 68 65 72 0a 0a 40 6d 65 6e 75 0a 2a 20 72 61 63 6b 65 74 r.@section.Other..@menu.*.racket
e1520 2d 64 65 62 75 67 2d 74 6f 67 67 6c 65 2d 62 72 65 61 6b 70 6f 69 6e 74 3a 3a 0a 2a 20 72 61 63 -debug-toggle-breakpoint::.*.rac
e1540 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 66 61 73 74 65 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 ket-mode-start-faster::.*.racket
e1560 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 73 6c 6f 77 65 72 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a -mode-start-slower::.@end.menu..
e1580 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 6f 67 67 6c 65 2d 62 72 65 61 6b 70 @node.racket-debug-toggle-breakp
e15a0 6f 69 6e 74 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 6f oint.@subsection.racket-debug-to
e15c0 67 67 6c 65 2d 62 72 65 61 6b 70 6f 69 6e 74 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 6f 64 ggle-breakpoint..@kbd{M-x}..@cod
e15e0 65 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 6f 67 67 6c 65 2d 62 72 65 61 6b 70 6f 69 6e 74 e{racket-debug-toggle-breakpoint
e1600 7d 0a 0a 41 64 64 20 6f 72 20 72 65 6d 6f 76 65 20 61 20 62 72 65 61 6b 70 6f 69 6e 74 2e 0a 0a }..Add.or.remove.a.breakpoint...
e1620 45 61 63 68 20 62 72 65 61 6b 70 6f 69 6e 74 20 68 61 73 20 61 20 63 6f 6e 64 69 74 69 6f 6e 20 Each.breakpoint.has.a.condition.
e1640 61 6e 64 20 61 20 6c 69 73 74 20 6f 66 20 61 63 74 69 6f 6e 73 2e 0a 0a 54 68 65 20 63 6f 6e 64 and.a.list.of.actions...The.cond
e1660 69 74 69 6f 6e 20 69 73 20 61 20 52 61 63 6b 65 74 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 61 ition.is.a.Racket.expression.tha
e1680 74 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 69 6e 20 61 0a 63 6f 6e 74 65 78 74 20 77 68 65 72 t.is.evaluated.in.a.context.wher
e16a0 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 65 78 69 73 74 2e 20 45 78 61 6d 70 6c 65 e.local.variables.exist..Example
e16c0 73 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 60 60 23 74 27 27 20 6d 65 61 6e 73 20 s:..@itemize.@item.``#t''.means.
e16e0 62 72 65 61 6b 20 61 6c 77 61 79 73 2e 0a 0a 40 69 74 65 6d 0a 49 66 20 74 68 65 20 63 6f 64 65 break.always...@item.If.the.code
e1700 20 61 72 6f 75 6e 64 20 74 68 65 20 62 72 65 61 6b 70 6f 69 6e 74 20 69 73 20 73 6f 6d 65 74 68 .around.the.breakpoint.is.someth
e1720 69 6e 67 20 6c 69 6b 65 0a 60 60 28 66 6f 72 20 28 5b 6e 20 31 30 30 5d 29 20 5f 29 27 27 2c 20 ing.like.``(for.([n.100])._)'',.
e1740 74 68 65 6e 20 61 20 63 6f 6e 64 69 74 69 6f 6e 20 6c 69 6b 65 0a 60 60 28 7a 65 72 6f 3f 20 28 then.a.condition.like.``(zero?.(
e1760 6d 6f 64 75 6c 6f 20 6e 20 31 30 29 29 27 27 20 69 73 20 65 76 65 72 79 20 31 30 20 74 69 6d 65 modulo.n.10))''.is.every.10.time
e1780 73 20 74 68 72 6f 75 67 68 20 74 68 65 0a 6c 6f 6f 70 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 s.through.the.loop..@end.itemize
e17a0 0a 0a 41 63 74 69 6f 6e 73 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 73 79 6d 62 6f 6c 73 3b 20 ..Actions.is.a.list.of.symbols;.
e17c0 79 6f 75 20 6d 61 79 20 73 70 65 63 69 66 79 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 2e 20 54 68 65 you.may.specify.one.or.more..The
e17e0 0a 61 63 74 69 6f 6e 20 73 79 6d 62 6f 6c 73 20 61 72 65 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 .action.symbols.are:..@itemize.@
e1800 69 74 65 6d 0a 60 60 62 72 65 61 6b 27 27 20 63 61 75 73 65 73 20 61 20 62 72 65 61 6b 2c 20 65 item.``break''.causes.a.break,.e
e1820 6e 61 62 6c 69 6e 67 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 7d 2e nabling.@ref{racket-debug-mode}.
e1840 0a 0a 40 69 74 65 6d 0a 60 60 6c 6f 67 27 27 20 61 6e 64 20 60 60 70 72 69 6e 74 27 27 20 64 69 ..@item.``log''.and.``print''.di
e1860 73 70 6c 61 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 6c 6f 63 61 6c 0a 76 61 splay.information.about.local.va
e1880 72 69 61 62 6c 65 73 20 74 6f 20 74 68 65 20 6c 6f 67 67 65 72 20 6f 72 20 52 45 50 4c 20 6f 75 riables.to.the.logger.or.REPL.ou
e18a0 74 70 75 74 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 0a 41 6c 74 68 6f 75 67 68 20 40 72 65 tput,.respectively..Although.@re
e18c0 66 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 7d 20 61 6c 72 65 61 64 79 20 73 68 6f f{racket-debug-mode}.already.sho
e18e0 77 73 20 74 68 65 73 65 20 76 61 6c 75 65 73 20 60 60 69 6e 0a 73 69 74 75 27 27 20 77 68 65 6e ws.these.values.``in.situ''.when
e1900 20 79 6f 75 20 72 65 61 63 68 20 61 20 62 72 65 61 6b 2c 20 74 68 69 73 20 6d 61 79 20 62 65 20 .you.reach.a.break,.this.may.be.
e1920 75 73 65 66 75 6c 20 69 66 20 79 6f 75 20 77 61 6e 74 0a 61 20 68 69 73 74 6f 72 79 2e 20 53 70 useful.if.you.want.a.history..Sp
e1940 65 63 69 66 79 69 6e 67 20 60 60 6c 6f 67 27 27 20 6f 72 20 60 60 70 72 69 6e 74 27 27 2c 20 62 ecifying.``log''.or.``print'',.b
e1960 75 74 20 6e 6f 74 0a 60 60 62 72 65 61 6b 27 27 2c 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 ut.not.``break'',.is.equivalent.
e1980 74 6f 20 77 68 61 74 20 6d 61 6e 79 20 64 65 62 75 67 67 65 72 73 20 63 61 6c 6c 20 61 0a 77 61 to.what.many.debuggers.call.a.wa
e19a0 74 63 68 70 6f 69 6e 74 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 62 72 65 61 6b 70 6f 69 6e 74 tchpoint.instead.of.a.breakpoint
e19c0 3a 20 4f 75 74 70 75 74 20 73 6f 6d 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 61 6e 64 20 61 75 :.Output.some.information.and.au
e19e0 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 73 75 6d 65 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 tomatically.resume..@end.itemize
e1a00 0a 0a 4e 6f 74 65 3a 20 41 6c 74 68 6f 75 67 68 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 64 65 62 ..Note:.Although.@ref{racket-deb
e1a20 75 67 2d 6d 6f 64 65 7d 20 70 72 6f 76 69 64 65 73 20 61 20 63 6f 6e 76 65 6e 69 65 6e 74 0a 6b ug-mode}.provides.a.convenient.k
e1a40 65 79 62 69 6e 64 69 6e 67 2c 20 79 6f 75 20 6d 61 79 20 69 6e 76 6f 6b 65 20 74 68 69 73 20 63 eybinding,.you.may.invoke.this.c
e1a60 6f 6d 6d 61 6e 64 20 61 6e 79 74 69 6d 65 20 75 73 69 6e 67 20 4d 2d 78 2e 0a 0a 4e 6f 74 65 3a ommand.anytime.using.M-x...Note:
e1a80 20 49 66 20 79 6f 75 27 72 65 20 77 61 72 6e 65 64 20 74 68 61 74 20 70 6f 69 6e 74 20 69 73 6e .If.you're.warned.that.point.isn
e1aa0 27 74 20 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 61 20 62 72 65 61 6b 61 62 6c 65 0a 70 6f 73 69 74 't.known.to.be.a.breakable.posit
e1ac0 69 6f 6e 2c 20 74 68 61 74 20 6d 69 67 68 74 20 62 65 20 62 65 63 61 75 73 65 20 69 74 20 74 72 ion,.that.might.be.because.it.tr
e1ae0 75 6c 79 20 69 73 6e 27 74 2c 20 6f 72 2c 20 6a 75 73 74 20 62 65 63 61 75 73 65 0a 79 6f 75 20 uly.isn't,.or,.just.because.you.
e1b00 61 72 65 20 6e 6f 74 20 69 6e 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 are.not.in.@ref{racket-debug-mod
e1b20 65 7d 20 61 6e 64 20 74 68 65 20 62 72 65 61 6b 61 62 6c 65 20 70 6f 73 69 74 69 6f 6e 73 0a 61 e}.and.the.breakable.positions.a
e1b40 72 65 6e 27 74 20 79 65 74 20 6b 6e 6f 77 6e 2e 20 57 6f 72 73 74 20 63 61 73 65 2c 20 69 66 20 ren't.yet.known..Worst.case,.if.
e1b60 79 6f 75 20 73 65 74 20 61 20 62 72 65 61 6b 70 6f 69 6e 74 20 73 6f 6d 65 70 6c 61 63 65 0a 74 you.set.a.breakpoint.someplace.t
e1b80 68 61 74 20 69 73 20 6e 6f 74 20 62 72 65 61 6b 61 62 6c 65 2c 20 69 74 20 69 73 20 69 67 6e 6f hat.is.not.breakable,.it.is.igno
e1ba0 72 65 64 2e 20 57 69 74 68 20 61 20 66 65 77 20 65 78 63 65 70 74 69 6f 6e 73 20 2d 2d 0a 73 75 red..With.a.few.exceptions.--.su
e1bc0 63 68 20 61 73 20 63 6c 6f 73 65 20 70 61 72 65 6e 20 70 6f 73 69 74 69 6f 6e 73 20 74 68 61 74 ch.as.close.paren.positions.that
e1be0 20 61 72 65 20 74 61 69 6c 20 63 61 6c 6c 73 20 2d 2d 20 6d 6f 73 74 20 6f 70 65 6e 0a 70 61 72 .are.tail.calls.--.most.open.par
e1c00 65 6e 73 20 61 6e 64 20 63 6c 6f 73 65 20 70 61 72 65 6e 73 20 61 72 65 20 62 72 65 61 6b 62 6c ens.and.close.parens.are.breakbl
e1c20 65 20 70 6f 73 69 74 69 6f 6e 73 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d e.positions...@node.racket-mode-
e1c40 73 74 61 72 74 2d 66 61 73 74 65 72 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d start-faster.@subsection.racket-
e1c60 6d 6f 64 65 2d 73 74 61 72 74 2d 66 61 73 74 65 72 0a 0a 40 6b 62 64 7b 4d 2d 78 7d 20 20 40 63 mode-start-faster..@kbd{M-x}..@c
e1c80 6f 64 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 66 61 73 74 65 72 7d 0a 0a 43 ode{racket-mode-start-faster}..C
e1ca0 6f 6d 70 69 6c 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 27 73 20 2e 72 6b 74 20 66 69 6c 65 73 20 ompile.Racket.Mode's..rkt.files.
e1cc0 66 6f 72 20 66 61 73 74 65 72 20 73 74 61 72 74 75 70 2e 0a 0a 52 61 63 6b 65 74 20 4d 6f 64 65 for.faster.startup...Racket.Mode
e1ce0 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73 20 61 6e 20 45 6d 61 63 73 20 4c 69 73 70 .is.implemented.as.an.Emacs.Lisp
e1d00 20 60 60 66 72 6f 6e 74 20 65 6e 64 27 27 20 74 68 61 74 0a 74 61 6c 6b 73 20 74 6f 20 61 20 52 .``front.end''.that.talks.to.a.R
e1d20 61 63 6b 65 74 20 70 72 6f 63 65 73 73 20 60 60 62 61 63 6b 20 65 6e 64 27 27 2e 20 42 65 63 61 acket.process.``back.end''..Beca
e1d40 75 73 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 69 73 0a 64 65 6c 69 76 65 72 65 64 20 61 73 20 use.Racket.Mode.is.delivered.as.
e1d60 61 6e 20 45 6d 61 63 73 20 70 61 63 6b 61 67 65 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 52 61 an.Emacs.package.instead.of.a.Ra
e1d80 63 6b 65 74 20 70 61 63 6b 61 67 65 2c 0a 69 6e 73 74 61 6c 6c 69 6e 67 20 69 74 20 64 6f 65 73 cket.package,.installing.it.does
e1da0 20 6e 6f 74 20 64 6f 20 74 68 65 20 40 63 6f 64 65 7b 72 61 63 6f 20 73 65 74 75 70 7d 20 74 68 .not.do.the.@code{raco.setup}.th
e1dc0 61 74 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 64 6f 6e 65 0a 66 6f 72 20 52 61 63 6b 65 74 20 70 at.is.normally.done.for.Racket.p
e1de0 61 63 6b 61 67 65 73 2e 0a 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 64 6f 20 61 ackages...This.command.will.do.a
e1e00 20 40 63 6f 64 65 7b 72 61 63 6f 20 6d 61 6b 65 7d 20 6f 66 20 52 61 63 6b 65 74 20 4d 6f 64 65 .@code{raco.make}.of.Racket.Mode
e1e20 27 73 20 2e 72 6b 74 20 66 69 6c 65 73 2c 0a 63 72 65 61 74 69 6e 67 20 62 79 74 65 63 6f 64 65 's..rkt.files,.creating.bytecode
e1e40 20 66 69 6c 65 73 20 69 6e 20 40 63 6f 64 65 7b 63 6f 6d 70 69 6c 65 64 2f 7d 20 73 75 62 64 69 .files.in.@code{compiled/}.subdi
e1e60 72 65 63 74 6f 72 69 65 73 2e 20 41 73 20 61 0a 72 65 73 75 6c 74 2c 20 77 68 65 6e 20 61 20 63 rectories..As.a.result,.when.a.c
e1e80 6f 6d 6d 61 6e 64 20 6d 75 73 74 20 73 74 61 72 74 20 74 68 65 20 52 61 63 6b 65 74 20 70 72 6f ommand.must.start.the.Racket.pro
e1ea0 63 65 73 73 2c 20 69 74 20 77 69 6c 6c 0a 73 74 61 72 74 20 73 6f 6d 65 77 68 61 74 20 66 61 73 cess,.it.will.start.somewhat.fas
e1ec0 74 65 72 2e 0a 0a 4f 6e 20 6d 61 6e 79 20 63 6f 6d 70 75 74 65 72 73 2c 20 74 68 65 20 72 65 73 ter...On.many.computers,.the.res
e1ee0 75 6c 74 69 6e 67 20 73 70 65 65 64 20 75 70 20 69 73 20 6e 65 67 6c 69 67 69 62 6c 65 2c 20 61 ulting.speed.up.is.negligible,.a
e1f00 6e 64 0a 6d 69 67 68 74 20 6e 6f 74 20 62 65 20 77 6f 72 74 68 20 74 68 65 20 63 6f 6d 70 6c 69 nd.might.not.be.worth.the.compli
e1f20 63 61 74 69 6f 6e 2e 0a 0a 49 66 20 79 6f 75 20 72 75 6e 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 cation...If.you.run.this.command
e1f40 2c 20 65 76 65 72 2c 20 79 6f 75 20 77 69 6c 6c 20 6e 65 65 64 20 74 6f 20 72 75 6e 20 69 74 20 ,.ever,.you.will.need.to.run.it.
e1f60 61 67 61 69 6e 0a 61 66 74 65 72 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 49 6e 73 again.after:..@itemize.@item.Ins
e1f80 74 61 6c 6c 69 6e 67 20 61 6e 20 75 70 64 61 74 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 52 61 talling.an.updated.version.of.Ra
e1fa0 63 6b 65 74 20 4d 6f 64 65 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 79 6f 75 0a 6d 69 67 68 74 20 cket.Mode..Otherwise,.you.might.
e1fc0 6c 6f 73 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 73 70 65 65 64 2d 75 70 2e 0a 0a 40 69 74 65 lose.some.of.the.speed-up...@ite
e1fe0 6d 0a 49 6e 73 74 61 6c 6c 69 6e 67 20 61 20 6e 65 77 20 76 65 72 73 69 6f 6e 20 6f 66 20 52 61 m.Installing.a.new.version.of.Ra
e2000 63 6b 65 74 20 61 6e 64 2f 6f 72 20 63 68 61 6e 67 69 6e 67 20 74 68 65 20 76 61 6c 75 65 20 6f cket.and/or.changing.the.value.o
e2020 66 0a 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 70 72 6f 67 72 f.the.variable.@ref{racket-progr
e2040 61 6d 7d 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 79 6f 75 20 6d 69 67 68 74 20 67 65 74 20 61 6e am}..Otherwise,.you.might.get.an
e2060 0a 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 64 75 65 20 74 6f 20 74 68 65 20 62 79 74 65 63 6f .error.message.due.to.the.byteco
e2080 64 65 20 62 65 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 76 65 72 73 69 6f 6e 73 2e 0a 40 65 6e de.being.different.versions..@en
e20a0 64 20 69 74 65 6d 69 7a 65 0a 0a 54 6f 20 72 65 76 65 72 74 20 74 6f 20 63 6f 6d 70 69 6c 69 6e d.itemize..To.revert.to.compilin
e20c0 67 20 6f 6e 20 73 74 61 72 74 75 70 2c 20 75 73 65 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f g.on.startup,.use.@ref{racket-mo
e20e0 64 65 2d 73 74 61 72 74 2d 73 6c 6f 77 65 72 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d de-start-slower}...@node.racket-
e2100 6d 6f 64 65 2d 73 74 61 72 74 2d 73 6c 6f 77 65 72 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 mode-start-slower.@subsection.ra
e2120 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 73 6c 6f 77 65 72 0a 0a 40 6b 62 64 7b 4d 2d 78 cket-mode-start-slower..@kbd{M-x
e2140 7d 20 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 73 6c 6f 77 65 }..@code{racket-mode-start-slowe
e2160 72 7d 0a 0a 44 65 6c 65 74 65 20 74 68 65 20 60 60 63 6f 6d 70 69 6c 65 64 27 27 20 64 69 72 65 r}..Delete.the.``compiled''.dire
e2180 63 74 6f 72 69 65 73 20 6d 61 64 65 20 62 79 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 ctories.made.by.@ref{racket-mode
e21a0 2d 73 74 61 72 74 2d 66 61 73 74 65 72 7d 2e 0a 0a 40 6e 6f 64 65 20 56 61 72 69 61 62 6c 65 73 -start-faster}...@node.Variables
e21c0 0a 40 63 68 61 70 74 65 72 20 56 61 72 69 61 62 6c 65 73 0a 0a 40 6d 65 6e 75 0a 2a 20 47 65 6e .@chapter.Variables..@menu.*.Gen
e21e0 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 48 61 73 68 20 6c 61 6e 67 20 76 61 72 eral.variables::.*.Hash.lang.var
e2200 69 61 62 6c 65 73 3a 3a 0a 2a 20 52 45 50 4c 20 76 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 4f 74 iables::.*.REPL.variables::.*.Ot
e2220 68 65 72 20 76 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 45 78 70 65 72 69 6d 65 6e 74 61 6c 20 64 her.variables::.*.Experimental.d
e2240 65 62 75 67 67 65 72 20 76 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 53 68 6f 77 69 6e 67 20 69 6e ebugger.variables::.*.Showing.in
e2260 66 6f 72 6d 61 74 69 6f 6e 3a 3a 0a 2a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 formation::.*.Running.racket.and
e2280 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 .raco.commands.in.a.shell.or.ter
e22a0 6d 69 6e 61 6c 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 47 65 6e 65 72 61 6c minal::.@end.menu..@node.General
e22c0 20 76 61 72 69 61 62 6c 65 73 0a 40 73 65 63 74 69 6f 6e 20 47 65 6e 65 72 61 6c 20 76 61 72 69 .variables.@section.General.vari
e22e0 61 62 6c 65 73 0a 0a 40 6d 65 6e 75 0a 2a 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 3a 3a 0a ables..@menu.*.racket-program::.
e2300 2a 20 72 61 63 6b 65 74 2d 63 6f 6d 6d 61 6e 64 2d 74 69 6d 65 6f 75 74 3a 3a 0a 2a 20 72 61 63 *.racket-command-timeout::.*.rac
e2320 6b 65 74 2d 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 72 72 6f ket-memory-limit::.*.racket-erro
e2340 72 2d 63 6f 6e 74 65 78 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 75 73 65 72 2d 63 6f 6d 6d 61 6e r-context::.*.racket-user-comman
e2360 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 62 72 6f 77 d-line-arguments::.*.racket-brow
e2380 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 61 66 se-url-function::.*.racket-xp-af
e23a0 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 3a 3a 0a 2a 20 72 61 63 ter-change-refresh-delay::.*.rac
e23c0 6b 65 74 2d 78 70 2d 68 69 67 68 6c 69 67 68 74 2d 75 6e 75 73 65 64 2d 72 65 67 65 78 70 3a 3a ket-xp-highlight-unused-regexp::
e23e0 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 3a 3a .*.racket-xp-add-binding-faces::
e2400 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c .*.racket-documentation-search-l
e2420 6f 63 61 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 ocation::.*.racket-expand-hiding
e2440 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 ::.@end.menu..@node.racket-progr
e2460 61 6d 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 0a 0a 50 am.@subsection.racket-program..P
e2480 61 74 68 6e 61 6d 65 20 6f 66 20 74 68 65 20 52 61 63 6b 65 74 20 65 78 65 63 75 74 61 62 6c 65 athname.of.the.Racket.executable
e24a0 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 61 20 62 61 63 6b 20 65 6e 64 20 63 6f 6e 66 69 67 75 72 ...Note.that.a.back.end.configur
e24c0 61 74 69 6f 6e 20 63 61 6e 20 6f 76 65 72 72 69 64 65 20 74 68 69 73 20 77 69 74 68 20 61 0a 6e ation.can.override.this.with.a.n
e24e0 6f 6e 2d 6e 69 6c 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 7d 20 70 72 6f on-nil.@code{racket-program}.pro
e2500 70 65 72 74 79 20 6c 69 73 74 20 76 61 6c 75 65 2e 20 53 65 65 0a 40 72 65 66 7b 72 61 63 6b 65 perty.list.value..See.@ref{racke
e2520 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 63 t-add-back-end}...@node.racket-c
e2540 6f 6d 6d 61 6e 64 2d 74 69 6d 65 6f 75 74 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 ommand-timeout.@subsection.racke
e2560 74 2d 63 6f 6d 6d 61 6e 64 2d 74 69 6d 65 6f 75 74 0a 0a 48 6f 77 20 6d 61 6e 79 20 73 65 63 6f t-command-timeout..How.many.seco
e2580 6e 64 73 20 74 6f 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 20 73 65 72 76 65 72 20 72 nds.to.wait.for.command.server.r
e25a0 65 73 70 6f 6e 73 65 73 2e 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 69 73 20 6d 6f 73 74 6c 79 20 esponses...Note:.This.is.mostly.
e25c0 6f 62 73 6f 6c 65 74 65 2c 20 66 6f 72 74 75 6e 61 74 65 6c 79 2c 20 62 65 63 61 75 73 65 20 69 obsolete,.fortunately,.because.i
e25e0 74 20 61 70 70 6c 69 65 73 0a 6f 6e 6c 79 20 74 6f 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 t.applies.only.to.commands.that.
e2600 6d 75 73 74 20 62 6c 6f 63 6b 20 74 68 65 20 45 6d 61 63 73 20 55 49 20 75 6e 74 69 6c 20 74 68 must.block.the.Emacs.UI.until.th
e2620 65 79 20 67 65 74 20 61 0a 72 65 73 70 6f 6e 73 65 2e 20 49 6e 73 74 65 61 64 20 6d 6f 73 74 20 ey.get.a.response..Instead.most.
e2640 52 61 63 6b 65 74 20 4d 6f 64 65 20 63 6f 6d 6d 61 6e 64 73 20 74 68 65 73 65 20 64 61 79 73 20 Racket.Mode.commands.these.days.
e2660 72 65 63 65 69 76 65 0a 74 68 65 69 72 20 72 65 73 70 6f 6e 73 65 20 61 73 79 63 68 72 6f 6e 6f receive.their.response.asychrono
e2680 75 73 6c 79 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 usly...@node.racket-memory-limit
e26a0 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 .@subsection.racket-memory-limit
e26c0 0a 0a 54 65 72 6d 69 6e 61 74 65 20 74 68 65 20 52 61 63 6b 65 74 20 70 72 6f 63 65 73 73 20 69 ..Terminate.the.Racket.process.i
e26e0 66 20 6d 65 6d 6f 72 79 20 75 73 65 20 65 78 63 65 65 64 73 20 74 68 69 73 20 76 61 6c 75 65 20 f.memory.use.exceeds.this.value.
e2700 69 6e 20 4d 42 40 2e 0a 0a 43 68 61 6e 67 65 73 20 74 6f 20 74 68 69 73 20 76 61 6c 75 65 20 74 in.MB@...Changes.to.this.value.t
e2720 61 6b 65 20 65 66 66 65 63 74 20 75 70 6f 6e 20 74 68 65 20 6e 65 78 74 20 40 72 65 66 7b 72 61 ake.effect.upon.the.next.@ref{ra
e2740 63 6b 65 74 2d 72 75 6e 7d 2e 20 41 20 76 61 6c 75 65 0a 6f 66 20 30 20 6d 65 61 6e 73 20 6e 6f cket-run}..A.value.of.0.means.no
e2760 20 6c 69 6d 69 74 2e 0a 0a 43 61 76 65 61 74 3a 20 54 68 69 73 20 75 73 65 73 20 52 61 63 6b 65 .limit...Caveat:.This.uses.Racke
e2780 74 27 73 20 40 63 6f 64 65 7b 63 75 73 74 6f 64 69 61 6e 2d 6c 69 6d 69 74 2d 6d 65 6d 6f 72 79 t's.@code{custodian-limit-memory
e27a0 7d 2c 20 77 68 69 63 68 20 64 6f 65 73 0a 6e 6f 74 20 65 6e 66 6f 72 63 65 20 74 68 65 20 6c 69 },.which.does.not.enforce.the.li
e27c0 6d 69 74 20 65 78 61 63 74 6c 79 2e 20 49 6e 73 74 65 61 64 2c 20 74 68 65 20 70 72 6f 67 72 61 mit.exactly..Instead,.the.progra
e27e0 6d 20 77 69 6c 6c 20 62 65 0a 74 65 72 6d 69 6e 61 74 65 64 20 75 70 6f 6e 20 74 68 65 20 66 69 m.will.be.terminated.upon.the.fi
e2800 72 73 74 20 67 61 72 62 61 67 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 77 68 65 72 65 20 6d 65 6d rst.garbage.collection.where.mem
e2820 6f 72 79 20 65 78 63 65 65 64 73 0a 74 68 65 20 6c 69 6d 69 74 20 28 6d 61 79 62 65 20 62 79 20 ory.exceeds.the.limit.(maybe.by.
e2840 61 20 73 69 67 6e 69 66 69 63 61 6e 74 20 61 6d 6f 75 6e 74 29 2e 0a 0a 40 6e 6f 64 65 20 72 61 a.significant.amount)...@node.ra
e2860 63 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 cket-error-context.@subsection.r
e2880 61 63 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 0a 0a 54 68 65 20 61 6d 6f 75 6e 74 20 acket-error-context..The.amount.
e28a0 6f 66 20 63 6f 6e 74 65 78 74 20 66 6f 72 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 2e 0a 0a of.context.for.error.messages...
e28c0 45 61 63 68 20 69 6e 63 72 65 61 73 69 6e 67 20 6c 65 76 65 6c 20 73 75 70 70 6c 69 65 73 20 62 Each.increasing.level.supplies.b
e28e0 65 74 74 65 72 20 63 6f 6e 74 65 78 74 20 28 60 60 73 74 61 63 6b 20 74 72 61 63 65 27 27 29 0a etter.context.(``stack.trace'').
e2900 66 6f 72 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 2c 20 62 75 74 20 63 61 75 73 69 6e 67 20 for.error.messages,.but.causing.
e2920 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 74 6f 20 72 75 6e 20 6d 6f 72 65 20 73 6c 6f 77 6c 79 2e your.program.to.run.more.slowly.
e2940 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 6c 6f 77 20 63 6f 72 72 65 73 70 6f 6e 64 73 ..@itemize.@item.low.corresponds
e2960 20 74 6f 20 63 6f 6d 70 69 6c 65 2d 65 6e 66 6f 72 63 65 2d 6d 6f 64 75 6c 65 2d 63 6f 6e 73 74 .to.compile-enforce-module-const
e2980 61 6e 74 73 20 23 74 20 61 6e 64 0a 63 6f 6d 70 69 6c 65 2d 63 6f 6e 74 65 78 74 2d 70 72 65 73 ants.#t.and.compile-context-pres
e29a0 65 72 76 61 74 69 6f 6e 2d 65 6e 61 62 6c 65 64 20 23 66 2e 0a 0a 40 69 74 65 6d 0a 6d 65 64 69 ervation-enabled.#f...@item.medi
e29c0 75 6d 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 63 6f 6d 70 69 6c 65 2d 65 6e 66 6f 72 63 um.corresponds.to.compile-enforc
e29e0 65 2d 6d 6f 64 75 6c 65 2d 63 6f 6e 73 74 61 6e 74 73 20 23 66 20 61 6e 64 0a 63 6f 6d 70 69 6c e-module-constants.#f.and.compil
e2a00 65 2d 63 6f 6e 74 65 78 74 2d 70 72 65 73 65 72 76 61 74 69 6f 6e 2d 65 6e 61 62 6c 65 64 20 23 e-context-preservation-enabled.#
e2a20 74 2c 20 77 68 69 63 68 20 64 69 73 61 62 6c 65 73 20 73 6f 6d 65 0a 6f 70 74 69 6d 69 7a 61 74 t,.which.disables.some.optimizat
e2a40 69 6f 6e 73 20 6c 69 6b 65 20 69 6e 6c 69 6e 69 6e 67 2e 0a 0a 40 69 74 65 6d 0a 68 69 67 68 20 ions.like.inlining...@item.high.
e2a60 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 6d 65 64 69 75 6d 20 70 6c 75 73 20 74 68 65 20 75 corresponds.to.medium.plus.the.u
e2a80 73 65 20 6f 66 20 65 72 72 6f 72 74 72 61 63 65 2c 20 77 68 69 63 68 0a 65 78 74 65 6e 73 69 76 se.of.errortrace,.which.extensiv
e2aa0 65 6c 79 20 69 6e 73 74 72 75 6d 65 6e 74 73 20 79 6f 75 72 20 63 6f 64 65 20 61 6e 64 20 74 68 ely.instruments.your.code.and.th
e2ac0 65 72 65 66 6f 72 65 20 6d 69 67 68 74 20 63 61 75 73 65 0a 69 74 20 74 6f 20 72 75 6e 20 73 69 erefore.might.cause.it.to.run.si
e2ae0 67 6e 69 66 69 63 61 6e 74 6c 79 20 73 6c 6f 77 65 72 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 gnificantly.slower..@end.itemize
e2b00 0a 0a 54 69 70 3a 20 52 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 69 73 20 73 65 74 74 69 6e ..Tip:.Regardless.of.this.settin
e2b20 67 2c 20 79 6f 75 20 63 61 6e 20 65 6e 61 62 6c 65 20 68 69 67 68 20 65 72 72 6f 72 74 72 61 63 g,.you.can.enable.high.errortrac
e2b40 65 0a 66 6f 72 20 61 20 73 70 65 63 69 66 69 63 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e e.for.a.specific.@ref{racket-run
e2b60 7d 20 6f 72 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 }.or.@ref{racket-run-module-at-p
e2b80 6f 69 6e 74 7d 20 62 79 0a 75 73 69 6e 67 20 40 6b 62 64 7b 43 2d 75 7d 20 2e 20 54 68 69 73 20 oint}.by.using.@kbd{C-u}...This.
e2ba0 6c 65 74 73 20 79 6f 75 20 6e 6f 72 6d 61 6c 6c 79 20 72 75 6e 20 77 69 74 68 20 61 0a 6c 6f 77 lets.you.normally.run.with.a.low
e2bc0 65 72 2c 20 66 61 73 74 65 72 20 73 65 74 74 69 6e 67 2c 20 61 6e 64 20 72 65 2d 72 75 6e 20 77 er,.faster.setting,.and.re-run.w
e2be0 68 65 6e 20 64 65 73 69 72 65 64 20 74 6f 20 67 65 74 20 61 0a 6d 6f 72 65 2d 68 65 6c 70 66 75 hen.desired.to.get.a.more-helpfu
e2c00 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 75 l.error.message...@node.racket-u
e2c20 73 65 72 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 0a 40 73 75 62 73 ser-command-line-arguments.@subs
e2c40 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 75 73 65 72 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d ection.racket-user-command-line-
e2c60 61 72 67 75 6d 65 6e 74 73 0a 0a 4c 69 73 74 20 6f 66 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 arguments..List.of.command-line.
e2c80 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 73 75 70 70 6c 79 20 74 6f 20 79 6f 75 72 20 52 61 63 6b arguments.to.supply.to.your.Rack
e2ca0 65 74 20 70 72 6f 67 72 61 6d 2e 0a 0a 41 63 63 65 73 73 69 62 6c 65 20 69 6e 20 79 6f 75 72 20 et.program...Accessible.in.your.
e2cc0 52 61 63 6b 65 74 20 70 72 6f 67 72 61 6d 20 69 6e 20 74 68 65 20 75 73 75 61 6c 20 77 61 79 20 Racket.program.in.the.usual.way.
e2ce0 2d 2d 2d 20 74 68 65 0a 70 61 72 61 6d 65 74 65 72 20 40 63 6f 64 65 7b 63 75 72 72 65 6e 74 2d ---.the.parameter.@code{current-
e2d00 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 7d 20 61 6e 64 20 66 72 69 65 command-line-arguments}.and.frie
e2d20 6e 64 73 2e 0a 0a 54 68 69 73 20 69 73 20 61 6e 20 45 6d 61 63 73 20 62 75 66 66 65 72 2d 6c 6f nds...This.is.an.Emacs.buffer-lo
e2d40 63 61 6c 20 76 61 72 69 61 62 6c 65 20 2d 2d 2d 20 63 6f 6e 76 65 6e 69 65 6e 74 20 74 6f 20 73 cal.variable.---.convenient.to.s
e2d60 65 74 20 61 73 20 61 0a 66 69 6c 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 2e 20 46 6f 72 et.as.a.file.local.variable..For
e2d80 20 65 78 61 6d 70 6c 65 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 79 6f 75 72 20 2e 72 6b 74 .example.at.the.end.of.your..rkt
e2da0 20 66 69 6c 65 3a 0a 0a 40 6c 69 73 70 0a 20 20 20 20 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 .file:..@lisp.....;;.Local.Varia
e2dc0 62 6c 65 73 3a 0a 20 20 20 20 3b 3b 20 72 61 63 6b 65 74 2d 75 73 65 72 2d 63 6f 6d 6d 61 6e 64 bles:.....;;.racket-user-command
e2de0 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 3a 20 28 22 2d 66 22 20 22 62 61 72 22 29 0a 20 20 -line-arguments:.("-f"."bar")...
e2e00 20 20 3b 3b 20 45 6e 64 3a 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 53 65 74 20 74 68 69 73 20 77 61 ..;;.End:.@end.lisp..Set.this.wa
e2e20 79 2c 20 74 68 65 20 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 61 6e 20 40 73 74 72 6f 6e 67 7b y,.the.value.must.be.an.@strong{
e2e40 75 6e 71 75 6f 74 65 64 7d 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e 67 73 2e 0a 46 6f 72 20 65 unquoted}.list.of.strings..For.e
e2e60 78 61 6d 70 6c 65 3a 0a 0a 40 6c 69 73 70 0a 20 20 20 20 28 22 2d 66 22 20 22 62 61 72 22 29 0a xample:..@lisp.....("-f"."bar").
e2e80 40 65 6e 64 20 6c 69 73 70 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 20 @end.lisp..The.following.values.
e2ea0 77 69 6c 6c 20 40 65 6d 70 68 7b 6e 6f 74 7d 20 77 6f 72 6b 3a 0a 0a 40 6c 69 73 70 0a 20 20 20 will.@emph{not}.work:..@lisp....
e2ec0 20 27 28 22 2d 66 22 20 22 62 61 72 22 29 0a 20 20 20 20 28 6c 69 73 74 20 22 2d 66 22 20 22 62 .'("-f"."bar").....(list."-f"."b
e2ee0 61 72 22 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 62 72 6f ar").@end.lisp..@node.racket-bro
e2f00 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 wse-url-function.@subsection.rac
e2f20 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 0a 0a 46 75 6e 63 74 69 6f ket-browse-url-function..Functio
e2f40 6e 20 74 6f 20 63 61 6c 6c 20 74 6f 20 62 72 6f 77 73 65 20 61 20 55 52 4c 40 2e 0a 0a 40 6e 6f n.to.call.to.browse.a.URL@...@no
e2f60 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 de.racket-xp-after-change-refres
e2f80 68 2d 64 65 6c 61 79 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 61 66 h-delay.@subsection.racket-xp-af
e2fa0 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 0a 0a 53 65 63 6f 6e 64 ter-change-refresh-delay..Second
e2fc0 73 20 74 6f 20 77 61 69 74 20 62 65 66 6f 72 65 20 72 65 66 72 65 73 68 69 6e 67 20 40 72 65 66 s.to.wait.before.refreshing.@ref
e2fe0 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2e 0a 0a 53 {racket-xp-mode}.annotations...S
e3000 65 74 20 74 6f 20 6e 69 6c 20 74 6f 20 64 69 73 61 62 6c 65 20 61 75 74 6f 6d 61 74 69 63 20 72 et.to.nil.to.disable.automatic.r
e3020 65 66 72 65 73 68 20 61 6e 64 20 6d 61 6e 75 61 6c 6c 79 20 75 73 65 20 40 63 6f 64 65 7b 72 61 efresh.and.manually.use.@code{ra
e3040 63 6b 65 74 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 cket-xp-annotate}...@node.racket
e3060 2d 78 70 2d 68 69 67 68 6c 69 67 68 74 2d 75 6e 75 73 65 64 2d 72 65 67 65 78 70 0a 40 73 75 62 -xp-highlight-unused-regexp.@sub
e3080 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 68 69 67 68 6c 69 67 68 74 2d 75 6e 75 73 section.racket-xp-highlight-unus
e30a0 65 64 2d 72 65 67 65 78 70 0a 0a 4f 6e 6c 79 20 67 69 76 65 20 40 72 65 66 7b 72 61 63 6b 65 74 ed-regexp..Only.give.@ref{racket
e30c0 2d 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 65 7d 20 74 6f 20 75 6e 75 73 65 64 20 62 69 6e 64 69 -xp-unused-face}.to.unused.bindi
e30e0 6e 67 73 20 74 68 61 74 20 6d 61 74 63 68 20 74 68 69 73 20 72 65 67 65 78 70 2e 0a 0a 54 68 65 ngs.that.match.this.regexp...The
e3100 20 64 65 66 61 75 6c 74 20 69 73 20 74 6f 20 68 69 67 68 6c 69 67 68 74 20 69 64 65 6e 74 69 66 .default.is.to.highlight.identif
e3120 69 65 72 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 73 74 61 72 74 20 77 69 74 68 0a 61 6e 20 75 iers.that.do.not.start.with.an.u
e3140 6e 64 65 72 6c 69 6e 65 2c 20 77 68 69 63 68 20 69 73 20 61 20 63 6f 6d 6d 6f 6e 20 63 6f 6e 76 nderline,.which.is.a.common.conv
e3160 65 6e 74 69 6f 6e 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 61 64 64 2d 62 69 6e ention...@node.racket-xp-add-bin
e3180 64 69 6e 67 2d 66 61 63 65 73 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 ding-faces.@subsection.racket-xp
e31a0 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 0a 0a 48 61 76 65 20 40 72 65 66 7b 72 61 -add-binding-faces..Have.@ref{ra
e31c0 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 66 6f 6e 74 69 66 79 20 62 69 6e 64 69 6e 67 20 69 64 cket-xp-mode}.fontify.binding.id
e31e0 65 6e 74 69 66 69 65 72 20 73 69 74 65 73 2e 0a 0a 41 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 entifier.sites...A.'font-lock-fa
e3200 63 65 20 70 72 6f 70 65 72 74 79 20 69 73 20 61 64 64 65 64 20 66 6f 72 20 62 69 6e 64 69 6e 67 ce.property.is.added.for.binding
e3220 73 20 66 72 6f 6d 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 74 68 65 20 6d 6f 64 75 s.from:..@itemize.@item.the.modu
e3240 6c 65 20 6c 61 6e 67 75 61 67 65 2c 20 75 73 69 6e 67 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 le.language,.using.@ref{racket-x
e3260 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 66 61 63 65 7d 20 61 6e 64 0a 40 72 65 66 7b 72 61 p-binding-lang-face}.and.@ref{ra
e3280 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 75 73 65 2d 66 61 63 65 7d 2e 0a cket-xp-binding-lang-use-face}..
e32a0 0a 40 69 74 65 6d 0a 6f 74 68 65 72 20 69 6d 70 6f 72 74 73 2c 20 75 73 69 6e 67 20 40 72 65 66 .@item.other.imports,.using.@ref
e32c0 7b 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 66 61 63 65 7d 20 {racket-xp-binding-import-face}.
e32e0 61 6e 64 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 and.@ref{racket-xp-binding-impor
e3300 74 2d 75 73 65 2d 66 61 63 65 7d 2e 0a 0a 40 69 74 65 6d 0a 6c 6f 63 61 6c 20 64 65 66 69 6e 69 t-use-face}...@item.local.defini
e3320 74 69 6f 6e 73 2c 20 75 73 69 6e 67 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 tions,.using.@ref{racket-xp-bind
e3340 69 6e 67 2d 6c 6f 63 61 6c 2d 66 61 63 65 7d 20 61 6e 64 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d ing-local-face}.and.@ref{racket-
e3360 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 75 73 65 2d 66 61 63 65 7d 2e 0a 40 65 6e 64 xp-binding-local-use-face}..@end
e3380 20 69 74 65 6d 69 7a 65 0a 0a 54 68 69 73 20 68 61 73 20 61 20 76 69 73 69 62 6c 65 20 65 66 66 .itemize..This.has.a.visible.eff
e33a0 65 63 74 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 40 65 6d 70 68 7b 6e 6f 74 ect.only.when.there.is.@emph{not
e33c0 7d 20 61 6c 73 6f 20 61 0a 27 66 61 63 65 20 70 72 6f 70 65 72 74 79 20 61 70 70 6c 69 65 64 20 }.also.a.'face.property.applied.
e33e0 62 79 20 74 68 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 27 73 20 66 6f 6e 74 69 66 69 63 61 74 69 6f by.the.major.mode's.fontificatio
e3400 6e 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 n...@node.racket-documentation-s
e3420 65 61 72 63 68 2d 6c 6f 63 61 74 69 6f 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 earch-location.@subsection.racke
e3440 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 74 69 6f 6e 0a t-documentation-search-location.
e3460 0a 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 52 61 63 6b 65 74 20 60 60 53 65 .The.location.of.the.Racket.``Se
e3480 61 72 63 68 20 4d 61 6e 75 61 6c 73 27 27 20 77 65 62 20 70 61 67 65 2e 0a 57 68 65 72 65 20 40 arch.Manuals''.web.page..Where.@
e34a0 72 65 66 7b 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 7d ref{racket-documentation-search}
e34c0 2c 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 7d 0a ,.@ref{racket-xp-documentation}.
e34e0 61 6e 64 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e 74 61 74 69 and.@ref{racket-repl-documentati
e3500 6f 6e 7d 20 73 68 6f 75 6c 64 20 6c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 73 65 61 72 63 68 20 70 on}.should.look.for.the.search.p
e3520 61 67 65 2e 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 49 66 20 74 68 65 20 76 61 6c 75 age...@itemize.@item.If.the.valu
e3540 65 20 6f 66 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 69 73 20 74 68 65 20 73 79 6d 62 6f 6c e.of.this.variable.is.the.symbol
e3560 20 60 60 6c 6f 63 61 6c 27 27 2c 20 6f 70 65 6e 20 74 68 65 0a 73 65 61 72 63 68 20 70 61 67 65 .``local'',.open.the.search.page
e3580 20 66 72 6f 6d 20 74 68 65 20 6c 6f 63 61 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 61 .from.the.local.documentation,.a
e35a0 73 20 77 69 74 68 20 60 60 72 61 63 6f 20 64 6f 63 27 27 2e 0a 0a 40 69 74 65 6d 0a 4f 74 68 65 s.with.``raco.doc''...@item.Othe
e35c0 72 77 69 73 65 2c 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 61 20 73 74 72 69 6e 67 20 72 65 63 rwise,.the.value.is.a.string.rec
e35e0 6f 67 6e 69 7a 61 62 6c 65 20 62 79 20 40 63 6f 64 65 7b 66 6f 72 6d 61 74 7d 2c 20 77 69 74 68 ognizable.by.@code{format},.with
e3600 0a 60 60 25 73 27 27 20 61 74 20 74 68 65 20 70 6f 69 6e 74 20 61 74 20 77 68 69 63 68 20 74 6f .``%s''.at.the.point.at.which.to
e3620 20 69 6e 73 65 72 74 20 74 68 65 20 75 73 65 72 27 73 20 73 65 61 72 63 68 20 74 65 78 74 0a 61 .insert.the.user's.search.text.a
e3640 66 74 65 72 20 61 70 70 6c 79 69 6e 67 20 40 63 6f 64 65 7b 75 72 6c 2d 68 65 78 69 66 79 2d 73 fter.applying.@code{url-hexify-s
e3660 74 72 69 6e 67 7d 2e 20 41 70 61 72 74 20 66 72 6f 6d 20 60 60 25 73 27 27 2c 20 74 68 65 0a 73 tring}..Apart.from.``%s'',.the.s
e3680 74 72 69 6e 67 20 73 68 6f 75 6c 64 20 62 65 20 61 20 70 72 6f 70 65 72 6c 79 20 65 6e 63 6f 64 tring.should.be.a.properly.encod
e36a0 65 64 20 55 52 4c 40 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 40 6e 6f 64 65 20 72 61 63 ed.URL@..@end.itemize..@node.rac
e36c0 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 ket-expand-hiding.@subsection.ra
e36e0 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 0a 0a 54 68 65 20 6d 61 63 72 6f 20 68 69 cket-expand-hiding..The.macro.hi
e3700 64 69 6e 67 20 70 6f 6c 69 63 79 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 6c 69 6b 65 20 40 72 ding.policy.for.commands.like.@r
e3720 65 66 7b 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 7d 2e 0a 0a 40 6e 6f 64 65 20 48 ef{racket-expand-file}...@node.H
e3740 61 73 68 20 6c 61 6e 67 20 76 61 72 69 61 62 6c 65 73 0a 40 73 65 63 74 69 6f 6e 20 48 61 73 68 ash.lang.variables.@section.Hash
e3760 20 6c 61 6e 67 20 76 61 72 69 61 62 6c 65 73 0a 0a 40 6d 65 6e 75 0a 2a 20 72 61 63 6b 65 74 2d .lang.variables..@menu.*.racket-
e3780 68 61 73 68 2d 6c 61 6e 67 2d 74 6f 6b 65 6e 2d 66 61 63 65 2d 61 6c 69 73 74 3a 3a 0a 2a 20 72 hash-lang-token-face-alist::.*.r
e37a0 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 acket-hash-lang-pairs::.*.racket
e37c0 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 3a -hash-lang-module-language-hook:
e37e0 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c :.@end.menu..@node.racket-hash-l
e3800 61 6e 67 2d 74 6f 6b 65 6e 2d 66 61 63 65 2d 61 6c 69 73 74 0a 40 73 75 62 73 65 63 74 69 6f 6e ang-token-face-alist.@subsection
e3820 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 74 6f 6b 65 6e 2d 66 61 63 65 2d 61 6c 69 .racket-hash-lang-token-face-ali
e3840 73 74 0a 0a 41 6e 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 6c 69 73 74 20 66 72 6f 6d 20 63 6f 6c st..An.association.list.from.col
e3860 6f 72 2d 6c 65 78 65 72 20 74 6f 6b 65 6e 20 73 79 6d 62 6f 6c 73 20 74 6f 20 66 61 63 65 20 73 or-lexer.token.symbols.to.face.s
e3880 79 6d 62 6f 6c 73 2e 0a 0a 4e 6f 74 65 3a 20 49 6e 20 6d 61 6e 79 20 52 61 63 6b 65 74 20 6c 61 ymbols...Note:.In.many.Racket.la
e38a0 6e 67 75 61 67 65 73 2c 20 74 68 65 20 6c 65 78 65 72 20 63 6c 61 73 73 69 66 69 65 73 20 74 6f nguages,.the.lexer.classifies.to
e38c0 6b 65 6e 73 20 66 6f 72 0a 69 64 65 6e 74 69 66 69 65 72 73 20 61 73 20 27 73 79 6d 62 6f 6c 2e kens.for.identifiers.as.'symbol.
e38e0 20 49 6e 20 6d 61 6e 79 20 70 72 6f 67 72 61 6d 73 2c 20 61 20 6d 61 6a 6f 72 69 74 79 20 6f 66 .In.many.programs,.a.majority.of
e3900 20 74 68 65 0a 73 6f 75 72 63 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 69 64 65 6e 74 69 66 69 .the.source.consists.of.identifi
e3920 65 72 73 20 61 74 20 62 69 6e 64 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 20 61 6e 64 20 75 73 ers.at.binding.definition.and.us
e3940 65 0a 73 69 74 65 73 2e 20 54 68 65 72 65 66 6f 72 65 20 74 68 65 20 61 70 70 65 61 72 61 6e 63 e.sites..Therefore.the.appearanc
e3960 65 20 6f 66 20 60 60 73 79 6d 62 6f 6c 27 27 20 74 6f 6b 65 6e 73 20 69 73 0a 73 69 67 6e 69 66 e.of.``symbol''.tokens.is.signif
e3980 69 63 61 6e 74 2c 20 61 6e 64 20 61 20 6d 61 74 74 65 72 20 6f 66 20 70 65 72 73 6f 6e 61 6c 20 icant,.and.a.matter.of.personal.
e39a0 70 72 65 66 65 72 65 6e 63 65 2e 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 49 66 20 79 preference...@itemize.@item.If.y
e39c0 6f 75 20 70 72 65 66 65 72 20 61 20 60 60 70 6c 61 69 6e 65 72 27 27 20 61 70 70 65 61 72 61 6e ou.prefer.a.``plainer''.appearan
e39e0 63 65 2c 20 73 69 6d 69 6c 61 72 20 74 6f 20 44 72 20 52 61 63 6b 65 74 3a 0a 41 64 64 20 27 73 ce,.similar.to.Dr.Racket:.Add.'s
e3a00 79 6d 62 6f 6c 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 27 64 65 66 61 75 6c 74 2e 20 54 ymbol.with.the.value.'default..T
e3a20 68 69 73 20 67 69 76 65 73 20 61 6e 0a 65 78 70 6c 69 63 69 74 20 27 66 61 63 65 20 70 72 6f 70 his.gives.an.explicit.'face.prop
e3a40 65 72 74 79 20 74 68 61 74 20 70 72 65 76 61 69 6c 73 20 6f 76 65 72 20 61 6e 79 0a 27 66 6f 6e erty.that.prevails.over.any.'fon
e3a60 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 70 72 6f 70 65 72 74 79 20 74 68 61 74 20 61 20 6d 69 6e 6f t-lock-face.property.that.a.mino
e3a80 72 20 6d 6f 64 65 20 6d 69 67 68 74 20 61 70 70 6c 79 20 74 6f 0a 65 6e 68 61 6e 63 65 20 74 68 r.mode.might.apply.to.enhance.th
e3aa0 65 20 62 61 73 69 63 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 49 66 e.basic.fontification...@item.If
e3ac0 20 79 6f 75 20 70 72 65 66 65 72 20 61 20 6d 6f 72 65 20 60 60 63 6f 6c 6f 72 66 75 6c 27 27 20 .you.prefer.a.more.``colorful''.
e3ae0 61 70 70 65 61 72 61 6e 63 65 2c 20 73 69 6d 69 6c 61 72 20 74 6f 0a 60 60 63 6c 61 73 73 69 63 appearance,.similar.to.``classic
e3b00 27 27 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 3a 20 44 6f 20 40 65 6d 70 68 7b 6e ''.@ref{racket-mode}:.Do.@emph{n
e3b20 6f 74 7d 20 6d 61 70 20 27 73 79 6d 62 6f 6c 20 74 6f 6b 65 6e 73 20 69 6e 0a 74 68 69 73 20 6c ot}.map.'symbol.tokens.in.this.l
e3b40 69 73 74 2e 20 53 65 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d ist..See.@ref{racket-hash-lang-m
e3b60 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 7d 20 66 6f 72 0a 69 64 65 61 73 2e 0a odule-language-hook}.for.ideas..
e3b80 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 4e 6f 74 65 3a 20 53 6f 6d 65 20 74 6f 6b 65 6e 73 20 @end.itemize..Note:.Some.tokens.
e3ba0 61 72 65 20 68 61 72 64 77 69 72 65 64 20 61 6e 64 20 6e 6f 74 20 63 75 73 74 6f 6d 69 7a 61 62 are.hardwired.and.not.customizab
e3bc0 6c 65 20 62 79 20 74 68 69 73 0a 6c 69 73 74 3a 20 43 6f 6d 6d 65 6e 74 20 74 6f 6b 65 6e 73 20 le.by.this.list:.Comment.tokens.
e3be0 75 73 65 20 74 68 65 20 66 61 63 65 20 40 63 6f 64 65 7b 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d use.the.face.@code{font-lock-com
e3c00 6d 65 6e 74 2d 66 61 63 65 7d 2c 0a 73 6f 6d 65 74 69 6d 65 73 20 62 6c 65 6e 64 65 64 20 77 69 ment-face},.sometimes.blended.wi
e3c20 74 68 20 6f 74 68 65 72 20 66 61 63 65 73 2e 20 50 61 72 65 6e 74 68 65 73 69 73 20 74 6f 6b 65 th.other.faces..Parenthesis.toke
e3c40 6e 73 20 75 73 65 20 74 68 65 0a 66 61 63 65 20 40 63 6f 64 65 7b 70 61 72 65 6e 74 68 65 73 69 ns.use.the.face.@code{parenthesi
e3c60 73 7d 20 69 66 20 64 65 66 69 6e 65 64 2c 20 61 73 20 62 79 20 74 68 65 20 70 61 72 65 6e 2d 66 s}.if.defined,.as.by.the.paren-f
e3c80 61 63 65 20 70 61 63 6b 61 67 65 2e 0a 53 74 72 69 6e 67 20 74 6f 6b 65 6e 73 20 75 73 65 20 40 ace.package..String.tokens.use.@
e3ca0 63 6f 64 65 7b 66 6f 6e 74 2d 6c 6f 63 6b 2d 73 74 72 69 6e 67 2d 66 61 63 65 7d 2e 20 54 65 78 code{font-lock-string-face}..Tex
e3cc0 74 20 74 6f 6b 65 6e 73 2c 20 65 2e 67 2e 0a 53 63 72 69 62 62 6c 65 20 74 65 78 74 2c 20 75 73 t.tokens,.e.g..Scribble.text,.us
e3ce0 65 20 74 68 65 20 66 61 63 65 20 40 63 6f 64 65 7b 64 65 66 61 75 6c 74 7d 0a 0a 40 6e 6f 64 65 e.the.face.@code{default}..@node
e3d00 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 0a 40 73 75 62 73 65 63 74 .racket-hash-lang-pairs.@subsect
e3d20 69 6f 6e 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 0a 0a 50 61 69 72 ion.racket-hash-lang-pairs..Pair
e3d40 73 20 6f 66 20 64 65 6c 69 6d 69 74 65 72 73 20 74 6f 20 69 6e 73 65 72 74 20 6f 72 20 64 65 6c s.of.delimiters.to.insert.or.del
e3d60 65 74 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 0a 0a 54 68 65 20 66 6f 72 6d 61 74 20 6f ete.automatically...The.format.o
e3d80 66 20 65 61 63 68 20 69 74 65 6d 20 69 73 20 28 63 6f 6e 73 20 73 74 72 69 6e 67 20 73 74 72 69 f.each.item.is.(cons.string.stri
e3da0 6e 67 29 2e 0a 0a 54 68 69 73 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 77 68 65 6e 65 76 ng)...This.is.initialized.whenev
e3dc0 65 72 20 61 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 20 63 68 61 6e 67 65 73 2c 20 75 73 er.a.module.language.changes,.us
e3de0 69 6e 67 0a 76 61 6c 75 65 73 20 66 72 6f 6d 20 74 68 65 20 6c 61 6e 67 75 61 67 65 27 73 20 72 ing.values.from.the.language's.r
e3e00 65 70 6f 72 74 65 64 20 76 61 6c 75 65 73 20 66 6f 72 0a 64 72 72 61 63 6b 65 74 3a 70 61 72 65 eported.values.for.drracket:pare
e3e20 6e 2d 6d 61 74 63 68 65 73 20 61 6e 64 20 64 72 72 61 63 6b 65 74 3a 71 75 6f 74 65 2d 6d 61 74 n-matches.and.drracket:quote-mat
e3e40 63 68 65 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 69 73 20 64 65 ches...You.may.customize.this.de
e3e60 66 61 75 6c 74 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 69 6e 0a 40 72 65 66 7b 72 61 63 fault.initialization.in.@ref{rac
e3e80 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f ket-hash-lang-module-language-ho
e3ea0 6f 6b 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 ok}...@node.racket-hash-lang-mod
e3ec0 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 ule-language-hook.@subsection.ra
e3ee0 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 cket-hash-lang-module-language-h
e3f00 6f 6f 6b 0a 0a 48 6f 6f 6b 20 72 75 6e 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 ook..Hook.run.when.the.module.la
e3f20 6e 67 75 61 67 65 20 63 68 61 6e 67 65 73 2e 0a 0a 54 79 70 69 63 61 6c 6c 79 20 69 6e 20 45 6d nguage.changes...Typically.in.Em
e3f40 61 63 73 20 65 61 63 68 20 6c 61 6e 67 75 61 67 65 20 67 65 74 73 20 69 74 73 20 6f 77 6e 20 6d acs.each.language.gets.its.own.m
e3f60 61 6a 6f 72 20 6d 6f 64 65 2e 20 41 73 20 61 0a 72 65 73 75 6c 74 2c 20 74 68 65 20 6d 61 6a 6f ajor.mode..As.a.result,.the.majo
e3f80 72 20 6d 6f 64 65 20 68 6f 6f 6b 20 69 73 20 79 6f 75 72 20 6f 70 70 6f 72 74 75 6e 69 74 79 20 r.mode.hook.is.your.opportunity.
e3fa0 74 6f 20 65 78 70 72 65 73 73 0a 70 72 65 66 65 72 65 6e 63 65 73 2e 20 48 6f 77 65 76 65 72 20 to.express.preferences..However.
e3fc0 40 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 20 68 61 6e 64 @ref{racket-hash-lang-mode}.hand
e3fe0 6c 65 73 20 72 61 64 69 63 61 6c 6c 79 0a 64 69 66 66 65 72 65 6e 74 20 6b 69 6e 64 73 20 6f 66 les.radically.different.kinds.of
e4000 20 68 61 73 68 20 6c 61 6e 67 73 20 69 6e 20 6f 6e 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 2e 20 41 .hash.langs.in.one.major.mode..A
e4020 6e 64 20 61 20 67 69 76 65 6e 0a 62 75 66 66 65 72 20 63 61 6e 20 63 68 61 6e 67 65 20 6c 61 6e nd.a.given.buffer.can.change.lan
e4040 67 73 20 77 68 65 6e 20 79 6f 75 20 65 64 69 74 20 74 68 65 20 60 60 23 6c 61 6e 67 27 27 20 6c gs.when.you.edit.the.``#lang''.l
e4060 69 6e 65 2e 20 41 73 20 61 0a 72 65 73 75 6c 74 2c 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 68 ine..As.a.result,.@code{racket-h
e4080 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 2d 68 6f 6f 6b 7d 20 69 73 20 6e 6f 74 20 75 73 65 66 75 ash-lang-mode-hook}.is.not.usefu
e40a0 6c 20 66 6f 72 20 70 65 72 2d 6c 61 6e 67 0a 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 49 6e l.for.per-lang.configuration..In
e40c0 73 74 65 61 64 20 79 6f 75 20 6e 65 65 64 20 61 20 6b 69 6e 64 20 6f 66 20 60 60 73 75 62 20 6d stead.you.need.a.kind.of.``sub.m
e40e0 61 6a 6f 72 20 6d 6f 64 65 0a 68 6f 6f 6b 27 27 2e 20 54 68 69 73 20 69 73 20 74 68 61 74 20 68 ajor.mode.hook''..This.is.that.h
e4100 6f 6f 6b 2e 0a 0a 54 68 65 20 68 6f 6f 6b 20 69 73 20 72 75 6e 20 77 68 65 6e 20 61 20 66 69 6c ook...The.hook.is.run.when.a.fil
e4120 65 20 69 73 20 66 69 72 73 74 20 76 69 73 69 74 65 64 2c 20 61 6e 64 20 74 68 65 72 65 61 66 74 e.is.first.visited,.and.thereaft
e4140 65 72 0a 77 68 65 6e 65 76 65 72 20 74 68 65 20 60 60 23 6c 61 6e 67 27 27 20 6c 69 6e 65 20 69 er.whenever.the.``#lang''.line.i
e4160 73 20 65 64 69 74 65 64 20 2d 2d 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 72 65 73 75 6c 74 s.edited.--.provided.that.result
e4180 73 20 69 6e 0a 64 69 66 66 65 72 65 6e 74 20 6c 61 6e 67 75 61 67 65 20 69 6e 66 6f 3b 20 66 6f s.in.different.language.info;.fo
e41a0 72 20 65 78 61 6d 70 6c 65 20 63 68 61 6e 67 69 6e 67 20 66 72 6f 6d 20 60 60 23 6c 61 6e 67 0a r.example.changing.from.``#lang.
e41c0 72 61 63 6b 65 74 27 27 20 74 6f 20 60 60 23 6c 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 27 racket''.to.``#lang.racket/base'
e41e0 27 20 77 69 6c 6c 20 40 65 6d 70 68 7b 6e 6f 74 7d 20 72 75 6e 20 74 68 65 20 68 6f 6f 6b 2e 0a '.will.@emph{not}.run.the.hook..
e4200 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 73 .The.function.is.called.with.a.s
e4220 74 72 69 6e 67 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 6c 61 6e 67 27 73 0a 60 60 6d tring.returned.by.the.lang's.``m
e4240 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 27 27 20 69 6e 66 6f 20 6b 65 79 2e 20 54 68 69 73 20 odule-language''.info.key..This.
e4260 69 6e 66 6f 20 6b 65 79 20 69 73 20 73 75 70 70 6c 69 65 64 0a 61 75 74 6f 6d 61 74 69 63 61 6c info.key.is.supplied.automatical
e4280 6c 79 20 77 68 65 6e 20 61 20 6c 61 6e 67 75 61 67 65 20 69 73 20 64 65 66 69 6e 65 64 20 75 73 ly.when.a.language.is.defined.us
e42a0 69 6e 67 0a 73 79 6e 74 61 78 2f 6d 6f 64 75 6c 65 2d 72 65 61 64 65 72 3a 0a 0a 40 75 72 65 66 ing.syntax/module-reader:..@uref
e42c0 7b 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 73 79 {https://docs.racket-lang.org/sy
e42e0 6e 74 61 78 2f 72 65 61 64 65 72 2d 68 65 6c 70 65 72 73 2e 68 74 6d 6c 23 25 32 38 6d 6f 64 2d ntax/reader-helpers.html#%28mod-
e4300 70 61 74 68 2e 5f 73 79 6e 74 61 78 25 32 46 6d 6f 64 75 6c 65 2d 72 65 61 64 65 72 25 32 39 7d path._syntax%2Fmodule-reader%29}
e4320 2e 0a 0a 4f 74 68 65 72 77 69 73 65 20 61 20 6c 61 6e 67 20 6d 69 67 68 74 20 6e 6f 74 20 73 75 ...Otherwise.a.lang.might.not.su
e4340 70 70 6c 79 20 74 68 69 73 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 pply.this.and.the.value.will.be.
e4360 6e 69 6c 2e 0a 0a 54 68 65 20 68 6f 6f 6b 20 69 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 79 6f nil...The.hook.is.useful.when.yo
e4380 75 20 77 61 6e 74 20 74 6f 20 76 61 72 79 20 45 6d 61 63 73 20 62 65 68 61 76 69 6f 72 20 69 6e u.want.to.vary.Emacs.behavior.in
e43a0 20 77 61 79 73 0a 74 68 61 74 20 67 6f 20 62 65 79 6f 6e 64 20 77 68 61 74 20 61 20 6c 61 6e 67 .ways.that.go.beyond.what.a.lang
e43c0 20 63 61 6e 20 64 65 73 63 72 69 62 65 2e 20 54 68 69 73 20 6d 61 79 20 69 6e 63 6c 75 64 65 0a .can.describe..This.may.include.
e43e0 65 6e 61 62 6c 69 6e 67 20 60 60 66 61 6e 63 79 27 27 20 6f 72 20 60 60 63 6c 61 73 73 69 63 27 enabling.``fancy''.or.``classic'
e4400 27 20 45 6d 61 63 73 20 62 65 68 61 76 69 6f 72 73 20 6f 6e 6c 79 20 66 6f 72 0a 73 2d 65 78 70 '.Emacs.behaviors.only.for.s-exp
e4420 72 65 73 73 69 6f 6e 20 6c 61 6e 67 73 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6d 61 79 ression.langs...For.example,.may
e4440 62 65 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 20 40 63 6f 64 65 7b 70 61 72 65 64 69 74 be.you.want.to.use.@code{paredit
e4460 2d 6d 6f 64 65 7d 20 77 68 65 6e 20 69 74 20 69 73 0a 73 75 69 74 61 62 6c 65 20 66 6f 72 20 74 -mode}.when.it.is.suitable.for.t
e4480 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 3a 0a 0a 40 6c 69 73 70 0a 20 20 28 64 65 he.module.language:..@lisp...(de
e44a0 66 75 6e 20 6d 79 2d 68 6f 6f 6b 20 28 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 29 0a 20 20 fun.my-hook.(module-language)...
e44c0 20 20 28 6c 65 74 20 28 28 72 61 63 6b 65 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d ..(let.((rackety............(mem
e44e0 62 65 72 20 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 ber.module-language.............
e4500 20 20 20 20 20 20 20 28 6c 69 73 74 20 22 72 61 63 6b 65 74 22 20 22 72 61 63 6b 65 74 2f 62 61 .......(list."racket"."racket/ba
e4520 73 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 se".........................."ty
e4540 70 65 64 2f 72 61 63 6b 65 74 22 20 22 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 62 61 73 65 22 29 ped/racket"."typed/racket/base")
e4560 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 72 61 63 6b 65 74 79 0a 20 20 20 20 20 20 20 20 20 20 ))).......(if.rackety...........
e4580 28 70 61 72 65 64 69 74 2d 6d 6f 64 65 20 31 29 0a 20 20 20 20 20 20 20 20 28 70 61 72 65 64 69 (paredit-mode.1).........(paredi
e45a0 74 2d 6d 6f 64 65 20 2d 31 29 29 29 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 t-mode.-1))))...(add-hook.'racke
e45c0 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b t-hash-lang-module-language-hook
e45e0 20 23 27 6d 79 2d 68 6f 6f 6b 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 41 20 73 69 6d 69 6c 61 72 .#'my-hook).@end.lisp..A.similar
e4600 20 74 61 63 74 69 63 20 63 61 6e 20 62 65 20 75 73 65 64 20 66 6f 72 20 40 63 6f 64 65 7b 73 6d .tactic.can.be.used.for.@code{sm
e4620 61 72 74 70 61 72 65 6e 73 7d 20 6f 72 0a 40 63 6f 64 65 7b 65 6c 65 63 74 72 69 63 2d 70 61 69 artparens}.or.@code{electric-pai
e4640 72 2d 6d 6f 64 65 7d 2e 20 49 6e 20 67 65 6e 65 72 61 6c 2c 20 6e 6f 6e 65 20 6f 66 20 74 68 65 r-mode}..In.general,.none.of.the
e4660 73 65 0a 64 65 6c 69 6d 69 74 65 72 2d 6d 61 74 63 68 69 6e 67 20 6d 6f 64 65 73 20 69 73 20 6c se.delimiter-matching.modes.is.l
e4680 69 6b 65 6c 79 20 74 6f 20 77 6f 72 6b 20 77 65 6c 6c 20 75 6e 6c 65 73 73 20 74 68 65 0a 68 61 ikely.to.work.well.unless.the.ha
e46a0 73 68 2d 6c 61 6e 67 20 75 73 65 73 20 72 61 63 6b 65 74 20 66 6f 72 20 64 72 72 61 63 6b 65 74 sh-lang.uses.racket.for.drracket
e46c0 3a 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 2c 20 69 6e 20 77 68 69 63 68 0a 63 61 73 :grouping-position,.in.which.cas
e46e0 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 20 75 73 e.@ref{racket-hash-lang-mode}.us
e4700 65 73 20 74 68 65 20 63 6c 61 73 73 69 63 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d es.the.classic.@ref{racket-mode}
e4720 0a 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 62 75 66 66 65 72 2e 20 4f 74 .syntax-table.for.the.buffer..Ot
e4740 68 65 72 77 69 73 65 20 79 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 65 6e 61 62 6c 65 20 6f 6e herwise.you.should.not.enable.on
e4760 65 0a 6f 66 20 74 68 65 73 65 20 6d 6f 64 65 73 2c 20 61 6e 64 20 69 6e 73 74 65 61 64 20 6a 75 e.of.these.modes,.and.instead.ju
e4780 73 74 20 75 73 65 20 74 68 65 20 73 69 6d 70 6c 65 20 64 65 6c 69 6d 69 74 65 72 0a 6d 61 74 63 st.use.the.simple.delimiter.matc
e47a0 68 69 6e 67 20 62 75 69 6c 74 20 69 6e 74 6f 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 68 hing.built.into.@ref{racket-hash
e47c0 2d 6c 61 6e 67 2d 6d 6f 64 65 7d 3b 20 73 65 65 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 68 61 73 -lang-mode};.see.@ref{racket-has
e47e0 68 2d 6c 61 6e 67 2d 70 61 69 72 73 7d 2e 0a 0a 41 73 20 61 6e 6f 74 68 65 72 20 65 78 61 6d 70 h-lang-pairs}...As.another.examp
e4800 6c 65 2c 20 69 66 20 79 6f 75 20 70 72 65 66 65 72 20 6d 6f 72 65 20 63 6f 6c 6f 72 73 20 74 68 le,.if.you.prefer.more.colors.th
e4820 61 6e 20 6a 75 73 74 20 74 6f 6b 65 6e 73 2c 0a 63 68 6f 69 63 65 73 20 69 6e 63 6c 75 64 65 3a an.just.tokens,.choices.include:
e4840 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 45 6e 61 62 6c 65 20 40 72 65 66 7b 72 61 63 ..@itemize.@item.Enable.@ref{rac
e4860 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 69 6e 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 68 61 73 ket-xp-mode}.in.@code{racket-has
e4880 68 2d 6c 61 6e 67 2d 6d 6f 64 65 2d 68 6f 6f 6b 7d 20 61 6e 64 20 69 6e 0a 74 68 65 20 6d 6f 64 h-lang-mode-hook}.and.in.the.mod
e48a0 75 6c 65 20 6c 61 6e 67 75 61 67 65 20 68 6f 6f 6b 20 6c 6f 63 61 6c 6c 79 20 73 65 74 0a 40 72 ule.language.hook.locally.set.@r
e48c0 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 7d 3a ef{racket-xp-add-binding-faces}:
e48e0 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 40 6c 69 73 70 0a 20 20 28 73 65 74 71 2d 6c 6f 63 .@end.itemize..@lisp...(setq-loc
e4900 61 6c 20 72 61 63 6b 65 74 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 20 74 al.racket-xp-add-binding-faces.t
e4920 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 4f 52 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a ).@end.lisp..OR..@itemize.@item.
e4940 55 73 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 72 65 67 65 78 70 20 73 65 61 72 63 68 2d 62 61 Use.some.of.the.regexp.search-ba
e4960 73 65 64 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 66 72 6f 6d 20 63 6c 61 73 73 69 63 0a 40 sed.fontification.from.classic.@
e4980 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 66 6f 72 20 72 61 63 6b 65 74 79 20 6d 6f 64 ref{racket-mode}.for.rackety.mod
e49a0 75 6c 65 20 6c 61 6e 67 75 61 67 65 73 3a 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 40 6c 69 ule.languages:.@end.itemize..@li
e49c0 73 70 0a 20 20 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 29 sp...(require.'racket-font-lock)
e49e0 0a 20 20 28 69 66 20 72 61 63 6b 65 74 79 0a 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d ...(if.rackety.......(font-lock-
e4a00 61 64 64 2d 6b 65 79 77 6f 72 64 73 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 add-keywords.nil................
e4a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 72 61 63 6b 65 74 2d 66 6f ...............(append.racket-fo
e4a40 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 nt-lock-keywords-2..............
e4a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d .........................racket-
e4a80 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 33 29 29 0a 20 20 20 20 28 66 6f 6e 74 font-lock-keywords-3)).....(font
e4aa0 2d 6c 6f 63 6b 2d 72 65 6d 6f 76 65 2d 6b 65 79 77 6f 72 64 73 20 6e 69 6c 0a 20 20 20 20 20 20 -lock-remove-keywords.nil.......
e4ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 .........................(append
e4ae0 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 32 0a 20 20 20 .racket-font-lock-keywords-2....
e4b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
e4b20 20 20 20 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 33 29 ....racket-font-lock-keywords-3)
e4b40 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 52 45 50 4c 20 76 61 72 69 61 62 6c )).@end.lisp..@node.REPL.variabl
e4b60 65 73 0a 40 73 65 63 74 69 6f 6e 20 52 45 50 4c 20 76 61 72 69 61 62 6c 65 73 0a 0a 40 6d 65 6e es.@section.REPL.variables..@men
e4b80 75 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 u.*.racket-repl-buffer-name-func
e4ba0 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 74 6f 2d 72 75 tion::.*.racket-submodules-to-ru
e4bc0 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 68 69 73 74 6f 72 79 2d 64 69 72 65 63 74 n::.*.racket-repl-history-direct
e4be0 6f 72 79 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 69 73 74 6f 72 79 2d 66 69 6c 74 65 72 2d 72 65 ory::.*.racket-history-filter-re
e4c00 67 65 78 70 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 69 6e 6c 69 6e 65 3a 3a 0a gexp::.*.racket-images-inline::.
e4c20 2a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 6d 61 67 69 63 6b 2d 70 72 6f 70 73 3a 3a 0a 2a 20 72 *.racket-imagemagick-props::.*.r
e4c40 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 6b 65 65 70 2d 6c 61 73 74 3a 3a 0a 2a 20 72 61 63 6b 65 acket-images-keep-last::.*.racke
e4c60 74 2d 69 6d 61 67 65 73 2d 73 79 73 74 65 6d 2d 76 69 65 77 65 72 3a 3a 0a 2a 20 72 61 63 6b 65 t-images-system-viewer::.*.racke
e4c80 74 2d 70 72 65 74 74 79 2d 70 72 69 6e 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 t-pretty-print::.*.racket-repl-c
e4ca0 6f 6d 6d 61 6e 64 2d 66 69 6c 65 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 ommand-file::.@end.menu..@node.r
e4cc0 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 0a acket-repl-buffer-name-function.
e4ce0 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e @subsection.racket-repl-buffer-n
e4d00 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 0a 0a 48 6f 77 20 74 6f 20 61 73 73 6f 63 69 61 74 65 20 40 ame-function..How.to.associate.@
e4d20 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 65 64 69 74 20 62 75 66 66 65 72 73 20 77 69 ref{racket-mode}.edit.buffers.wi
e4d40 74 68 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 62 75 66 66 65 72 th.@ref{racket-repl-mode}.buffer
e4d60 73 2e 0a 0a 54 68 65 20 64 65 66 61 75 6c 74 20 69 73 20 6e 69 6c 2c 20 77 68 69 63 68 20 69 73 s...The.default.is.nil,.which.is
e4d80 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 73 75 70 70 6c 79 69 6e 67 0a 40 72 65 66 7b 72 61 .equivalent.to.supplying.@ref{ra
e4da0 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 61 72 65 64 7d 3a 20 4f cket-repl-buffer-name-shared}:.O
e4dc0 6e 65 20 52 45 50 4c 20 62 75 66 66 65 72 20 69 73 20 73 68 61 72 65 64 2e 0a 0a 4f 74 68 65 72 ne.REPL.buffer.is.shared...Other
e4de0 20 70 72 65 64 65 66 69 6e 65 64 20 63 68 6f 69 63 65 73 20 69 6e 63 6c 75 64 65 20 40 72 65 66 .predefined.choices.include.@ref
e4e00 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 7d {racket-repl-buffer-name-unique}
e4e20 0a 61 6e 64 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d .and.@ref{racket-repl-buffer-nam
e4e40 65 2d 70 72 6f 6a 65 63 74 7d 2e 0a 0a 54 68 69 73 20 69 73 20 75 73 65 64 20 77 68 65 6e 20 61 e-project}...This.is.used.when.a
e4e60 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 62 75 66 66 65 72 20 69 73 20 63 72 65 .@ref{racket-mode}.buffer.is.cre
e4e80 61 74 65 64 2e 20 43 68 61 6e 67 69 6e 67 0a 74 68 69 73 20 74 6f 20 61 20 6e 65 77 20 76 61 6c ated..Changing.this.to.a.new.val
e4ea0 75 65 20 6f 6e 6c 79 20 61 66 66 65 63 74 73 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 ue.only.affects.@ref{racket-mode
e4ec0 7d 20 62 75 66 66 65 72 73 20 63 72 65 61 74 65 64 0a 6c 61 74 65 72 2e 0a 0a 41 6e 79 20 73 75 }.buffers.created.later...Any.su
e4ee0 63 68 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2c 20 ch.function.takes.no.arguments,.
e4f00 73 68 6f 75 6c 64 20 6c 6f 6f 6b 20 61 74 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 40 63 6f 64 should.look.at.the.variable.@cod
e4f20 65 7b 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 7d 20 69 66 20 6e 65 63 65 73 73 61 72 79 e{buffer-file-name}.if.necessary
e4f40 2c 20 61 6e 64 20 65 69 74 68 65 72 20 40 63 6f 64 65 7b 73 65 74 71 2d 64 65 66 61 75 6c 74 7d ,.and.either.@code{setq-default}
e4f60 20 6f 72 0a 40 63 6f 64 65 7b 73 65 74 71 2d 6c 6f 63 61 6c 7d 20 74 68 65 20 76 61 72 69 61 62 .or.@code{setq-local}.the.variab
e4f80 6c 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 le.@code{racket-repl-buffer-name
e4fa0 7d 20 74 6f 20 61 20 64 65 73 69 72 65 64 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d }.to.a.desired.@ref{racket-repl-
e4fc0 6d 6f 64 65 7d 20 62 75 66 66 65 72 20 6e 61 6d 65 2e 20 41 73 20 61 20 72 65 73 75 6c 74 2c 20 mode}.buffer.name..As.a.result,.
e4fe0 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 7d 0a 63 6f 6d 6d 61 6e 64 73 20 77 69 6c 6c 20 75 @ref{racket-run}.commands.will.u
e5000 73 65 20 61 20 62 75 66 66 65 72 20 6f 66 20 74 68 61 74 20 6e 61 6d 65 2c 20 63 72 65 61 74 69 se.a.buffer.of.that.name,.creati
e5020 6e 67 20 69 74 20 69 66 0a 6e 65 63 65 73 73 61 72 79 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 ng.it.if.necessary...@node.racke
e5040 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 74 6f 2d 72 75 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 t-submodules-to-run.@subsection.
e5060 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 74 6f 2d 72 75 6e 0a 0a 45 78 74 72 61 20 racket-submodules-to-run..Extra.
e5080 73 75 62 6d 6f 64 75 6c 65 73 20 74 6f 20 72 75 6e 2e 0a 0a 54 68 69 73 20 69 73 20 61 20 6c 69 submodules.to.run...This.is.a.li
e50a0 73 74 20 6f 66 20 73 75 62 6d 6f 64 75 6c 65 73 2e 20 45 61 63 68 20 73 75 62 6d 6f 64 75 6c 65 st.of.submodules..Each.submodule
e50c0 20 69 73 20 64 65 73 63 72 69 62 65 64 20 61 73 20 61 0a 6c 69 73 74 2c 20 74 6f 20 73 75 70 70 .is.described.as.a.list,.to.supp
e50e0 6f 72 74 20 73 75 62 6d 6f 64 75 6c 65 73 20 6e 65 73 74 65 64 20 74 6f 20 61 6e 79 20 64 65 70 ort.submodules.nested.to.any.dep
e5100 74 68 2e 0a 0a 54 68 69 73 20 69 73 20 75 73 65 64 20 62 79 20 63 6f 6d 6d 61 6e 64 73 20 74 68 th...This.is.used.by.commands.th
e5120 61 74 20 65 6d 75 6c 61 74 65 20 74 68 65 20 44 72 52 61 63 6b 65 74 20 52 75 6e 20 63 6f 6d 6d at.emulate.the.DrRacket.Run.comm
e5140 61 6e 64 3a 0a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 and:...@itemize.@item.@ref{racke
e5160 74 2d 72 75 6e 7d 0a 40 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 t-run}.@item.@ref{racket-run-and
e5180 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 7d 20 40 6b 62 64 7b 3c 66 35 3e 7d 20 0a 40 65 6e -switch-to-repl}.@kbd{<f5>}..@en
e51a0 64 20 69 74 65 6d 69 7a 65 0a 0a 49 74 20 69 73 20 4e 4f 54 20 75 73 65 64 20 62 79 20 63 6f 6d d.itemize..It.is.NOT.used.by.com
e51c0 6d 61 6e 64 73 20 74 68 61 74 20 72 75 6e 20 6f 6e 65 20 73 70 65 63 69 66 69 63 20 6d 6f 64 75 mands.that.run.one.specific.modu
e51e0 6c 65 2c 20 73 75 63 68 20 61 73 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 72 65 le,.such.as:..@itemize.@item.@re
e5200 66 7b 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 7d 20 40 6b f{racket-run-module-at-point}.@k
e5220 62 64 7b 43 2d 63 20 43 2d 6b 7d 20 20 6f 72 20 40 6b 62 64 7b 43 2d 63 20 43 2d 63 7d 20 0a 40 bd{C-c.C-k}..or.@kbd{C-c.C-c}..@
e5240 69 74 65 6d 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 74 65 73 74 7d 20 40 6b 62 64 7b 43 2d 3c 66 item.@ref{racket-test}.@kbd{C-<f
e5260 35 3e 7d 20 20 6f 72 20 40 6b 62 64 7b 43 2d 63 20 43 2d 74 7d 20 0a 40 69 74 65 6d 0a 40 72 65 5>}..or.@kbd{C-c.C-t}..@item.@re
e5280 66 7b 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 7d 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a f{racket-profile}.@end.itemize..
e52a0 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 68 69 73 74 6f 72 79 2d 64 69 72 65 63 74 @node.racket-repl-history-direct
e52c0 6f 72 79 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 68 69 73 74 ory.@subsection.racket-repl-hist
e52e0 6f 72 79 2d 64 69 72 65 63 74 6f 72 79 0a 0a 44 69 72 65 63 74 6f 72 79 20 66 6f 72 20 40 72 65 ory-directory..Directory.for.@re
e5300 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 68 69 73 74 6f 72 79 20 66 69 6c 65 f{racket-repl-mode}.history.file
e5320 73 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 68 69 73 74 6f 72 79 2d 66 69 6c 74 65 72 2d s...@node.racket-history-filter-
e5340 72 65 67 65 78 70 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 68 69 73 74 6f 72 regexp.@subsection.racket-histor
e5360 79 2d 66 69 6c 74 65 72 2d 72 65 67 65 78 70 0a 0a 49 6e 70 75 74 20 6d 61 74 63 68 69 6e 67 20 y-filter-regexp..Input.matching.
e5380 74 68 69 73 20 72 65 67 65 78 70 20 61 72 65 20 4e 4f 54 20 73 61 76 65 64 20 6f 6e 20 74 68 65 this.regexp.are.NOT.saved.on.the
e53a0 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e 0a 44 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 73 20 .history.list..Default.value.is.
e53c0 61 20 72 65 67 65 78 70 20 74 6f 20 69 67 6e 6f 72 65 20 69 6e 70 75 74 20 74 68 61 74 20 69 73 a.regexp.to.ignore.input.that.is
e53e0 20 61 6c 6c 20 77 68 69 74 65 73 70 61 63 65 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 69 .all.whitespace...@node.racket-i
e5400 6d 61 67 65 73 2d 69 6e 6c 69 6e 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d mages-inline.@subsection.racket-
e5420 69 6d 61 67 65 73 2d 69 6e 6c 69 6e 65 0a 0a 57 68 65 74 68 65 72 20 74 6f 20 64 69 73 70 6c 61 images-inline..Whether.to.displa
e5440 79 20 69 6e 6c 69 6e 65 20 69 6d 61 67 65 73 20 69 6e 20 74 68 65 20 52 45 50 4c 40 2e 0a 0a 40 y.inline.images.in.the.REPL@...@
e5460 6e 6f 64 65 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 6d 61 67 69 63 6b 2d 70 72 6f 70 73 0a 40 73 node.racket-imagemagick-props.@s
e5480 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 6d 61 67 69 63 6b 2d 70 72 6f ubsection.racket-imagemagick-pro
e54a0 70 73 0a 0a 55 73 65 20 49 6d 61 67 65 4d 61 67 69 63 6b 20 77 69 74 68 20 74 68 65 73 65 20 70 ps..Use.ImageMagick.with.these.p
e54c0 72 6f 70 65 72 74 69 65 73 20 66 6f 72 20 52 45 50 4c 20 69 6d 61 67 65 73 2e 0a 0a 57 68 65 6e roperties.for.REPL.images...When
e54e0 20 74 68 69 73 20 70 72 6f 70 65 72 74 79 20 6c 69 73 74 20 69 73 20 6e 6f 74 20 65 6d 70 74 79 .this.property.list.is.not.empty
e5500 20 2d 2d 20 61 6e 64 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 40 72 65 66 7b 72 61 63 6b 65 74 .--.and.the.variable.@ref{racket
e5520 2d 69 6d 61 67 65 73 2d 69 6e 6c 69 6e 65 7d 20 69 73 20 74 72 75 65 2c 20 61 6e 64 20 45 6d 61 -images-inline}.is.true,.and.Ema
e5540 63 73 20 69 73 20 62 75 69 6c 74 20 77 69 74 68 20 77 69 74 68 0a 49 6d 61 67 65 4d 61 67 69 63 cs.is.built.with.with.ImageMagic
e5560 6b 20 73 75 70 70 6f 72 74 20 2d 2d 20 74 68 65 6e 20 40 63 6f 64 65 7b 63 72 65 61 74 65 2d 69 k.support.--.then.@code{create-i
e5580 6d 61 67 65 7d 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 0a 60 60 69 6d 61 67 65 6d 61 67 69 mage}.is.called.with.``imagemagi
e55a0 63 6b 27 27 20 61 73 20 74 68 65 20 74 79 70 65 20 61 6e 64 20 77 69 74 68 20 74 68 69 73 20 70 ck''.as.the.type.and.with.this.p
e55c0 72 6f 70 65 72 74 79 20 6c 69 73 74 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 73 roperty.list...For.example,.to.s
e55e0 63 61 6c 65 20 69 6d 61 67 65 73 20 77 68 6f 73 65 20 77 69 64 74 68 20 69 73 20 6c 61 72 67 65 cale.images.whose.width.is.large
e5600 72 20 74 68 61 6e 20 35 30 30 0a 70 69 78 65 6c 73 2c 20 73 75 70 70 6c 79 20 28 3a 6d 61 78 2d r.than.500.pixels,.supply.(:max-
e5620 77 69 64 74 68 20 35 30 30 29 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 width.500)...@node.racket-images
e5640 2d 6b 65 65 70 2d 6c 61 73 74 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 69 6d -keep-last.@subsection.racket-im
e5660 61 67 65 73 2d 6b 65 65 70 2d 6c 61 73 74 0a 0a 48 6f 77 20 6d 61 6e 79 20 69 6d 61 67 65 73 20 ages-keep-last..How.many.images.
e5680 74 6f 20 6b 65 65 70 20 69 6e 20 74 68 65 20 69 6d 61 67 65 20 63 61 63 68 65 2e 0a 0a 40 6e 6f to.keep.in.the.image.cache...@no
e56a0 64 65 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 73 79 73 74 65 6d 2d 76 69 65 77 65 72 0a 40 de.racket-images-system-viewer.@
e56c0 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 73 79 73 74 65 6d 2d subsection.racket-images-system-
e56e0 76 69 65 77 65 72 0a 0a 54 68 65 20 69 6d 61 67 65 20 76 69 65 77 65 72 20 70 72 6f 67 72 61 6d viewer..The.image.viewer.program
e5700 20 74 6f 20 75 73 65 20 66 6f 72 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 76 69 65 77 2d 69 6d .to.use.for.@code{racket-view-im
e5720 61 67 65 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 70 72 69 6e 74 age}...@node.racket-pretty-print
e5740 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 70 72 69 6e 74 .@subsection.racket-pretty-print
e5760 0a 0a 55 73 65 20 70 72 65 74 74 79 2d 70 72 69 6e 74 20 69 6e 73 74 65 61 64 20 6f 66 20 70 72 ..Use.pretty-print.instead.of.pr
e5780 69 6e 74 20 69 6e 20 52 45 50 4c 40 3f 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c int.in.REPL@?..@node.racket-repl
e57a0 2d 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 -command-file.@subsection.racket
e57c0 2d 72 65 70 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 0a 0a 4e 61 6d 65 20 6f 66 20 74 68 65 20 -repl-command-file..Name.of.the.
e57e0 66 69 6c 65 20 75 73 65 64 20 62 79 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 7d 2e 0a file.used.by.@ref{racket-repl}..
e5800 0a 40 6e 6f 64 65 20 4f 74 68 65 72 20 76 61 72 69 61 62 6c 65 73 0a 40 73 65 63 74 69 6f 6e 20 .@node.Other.variables.@section.
e5820 4f 74 68 65 72 20 76 61 72 69 61 62 6c 65 73 0a 0a 40 6d 65 6e 75 0a 2a 20 72 61 63 6b 65 74 2d Other.variables..@menu.*.racket-
e5840 69 6e 64 65 6e 74 2d 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 65 3a 3a 0a 2a 20 72 61 63 indent-curly-as-sequence::.*.rac
e5860 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 3a 3a 0a 2a 20 72 61 ket-indent-sequence-depth::.*.ra
e5880 63 6b 65 74 2d 70 72 65 74 74 79 2d 6c 61 6d 62 64 61 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 6d cket-pretty-lambda::.*.racket-sm
e58a0 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 65 6e 61 62 6c 65 3a 3a 0a 2a 20 72 61 63 6b art-open-bracket-enable::.*.rack
e58c0 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 62 65 66 6f et-logger-config::.*.racket-befo
e58e0 72 65 2d 72 75 6e 2d 68 6f 6f 6b 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 61 66 74 65 72 2d 72 75 6e re-run-hook::.*.racket-after-run
e5900 2d 68 6f 6f 6b 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 -hook::.*.racket-sexp-comment-fa
e5920 64 65 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 69 6e 64 de::.@end.menu..@node.racket-ind
e5940 65 6e 74 2d 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 65 0a 40 73 75 62 73 65 63 74 69 6f ent-curly-as-sequence.@subsectio
e5960 6e 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 n.racket-indent-curly-as-sequenc
e5980 65 0a 0a 49 6e 64 65 6e 74 20 40 63 6f 64 65 7b 40 7b 40 7d 7d 20 77 69 74 68 20 69 74 65 6d 73 e..Indent.@code{@{@}}.with.items
e59a0 20 61 6c 69 67 6e 65 64 20 77 69 74 68 20 74 68 65 20 68 65 61 64 20 69 74 65 6d 3f 0a 0a 54 68 .aligned.with.the.head.item?..Th
e59c0 69 73 20 69 73 20 69 6e 64 69 72 65 63 74 6c 79 20 64 69 73 61 62 6c 65 64 20 69 66 20 40 72 65 is.is.indirectly.disabled.if.@re
e59e0 66 7b 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 7d 20 f{racket-indent-sequence-depth}.
e5a00 69 73 20 30 2e 0a 54 68 69 73 20 69 73 20 73 61 66 65 20 74 6f 20 73 65 74 20 61 73 20 61 20 66 is.0..This.is.safe.to.set.as.a.f
e5a20 69 6c 65 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 ile-local.variable...@node.racke
e5a40 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 0a 40 73 75 62 73 65 63 74 t-indent-sequence-depth.@subsect
e5a60 69 6f 6e 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 ion.racket-indent-sequence-depth
e5a80 0a 0a 54 6f 20 77 68 61 74 20 64 65 70 74 68 20 73 68 6f 75 6c 64 20 40 72 65 66 7b 72 61 63 6b ..To.what.depth.should.@ref{rack
e5aa0 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 7d 20 73 65 61 72 63 68 2e 0a 0a 54 68 69 73 20 61 66 et-indent-line}.search...This.af
e5ac0 66 65 63 74 73 20 74 68 65 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 6f 66 20 66 6f 72 6d 73 20 6c fects.the.indentation.of.forms.l
e5ae0 69 6b 65 20 27 28 29 20 60 28 29 20 23 28 29 20 2d 2d 0a 61 6e 64 20 40 7b 40 7d 20 69 66 20 40 ike.'().`().#().--.and.@{@}.if.@
e5b00 72 65 66 7b 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 ref{racket-indent-curly-as-seque
e5b20 6e 63 65 7d 20 69 73 20 74 20 2d 2d 2d 20 62 75 74 20 6e 6f 74 0a 23 27 28 29 20 23 60 28 29 20 nce}.is.t.---.but.not.#'().#`().
e5b40 2c 28 29 20 2c 40 40 28 29 2e 20 41 20 7a 65 72 6f 20 76 61 6c 75 65 20 64 69 73 61 62 6c 65 73 ,().,@@()..A.zero.value.disables
e5b60 2c 20 67 69 76 69 6e 67 20 74 68 65 0a 6e 6f 72 6d 61 6c 20 69 6e 64 65 6e 74 20 62 65 68 61 76 ,.giving.the.normal.indent.behav
e5b80 69 6f 72 20 6f 66 20 44 72 52 61 63 6b 65 74 20 6f 72 20 45 6d 61 63 73 20 40 63 6f 64 65 7b 6c ior.of.DrRacket.or.Emacs.@code{l
e5ba0 69 73 70 2d 6d 6f 64 65 7d 20 64 65 72 69 76 65 64 0a 6d 6f 64 65 73 20 6c 69 6b 65 20 40 63 6f isp-mode}.derived.modes.like.@co
e5bc0 64 65 7b 73 63 68 65 6d 65 2d 6d 6f 64 65 7d 2e 20 53 65 74 74 69 6e 67 20 74 68 69 73 20 74 6f de{scheme-mode}..Setting.this.to
e5be0 20 61 20 68 69 67 68 20 76 61 6c 75 65 20 63 61 6e 20 6d 61 6b 65 0a 69 6e 64 65 6e 74 61 74 69 .a.high.value.can.make.indentati
e5c00 6f 6e 20 6e 6f 74 69 63 65 61 62 6c 79 20 73 6c 6f 77 65 72 2e 20 54 68 69 73 20 69 73 20 73 61 on.noticeably.slower..This.is.sa
e5c20 66 65 20 74 6f 20 73 65 74 20 61 73 20 61 0a 66 69 6c 65 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 fe.to.set.as.a.file-local.variab
e5c40 6c 65 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 6c 61 6d 62 64 61 0a le...@node.racket-pretty-lambda.
e5c60 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 6c 61 6d 62 64 61 @subsection.racket-pretty-lambda
e5c80 0a 0a 44 69 73 70 6c 61 79 20 6c 61 6d 62 64 61 20 6b 65 79 77 6f 72 64 73 20 75 73 69 6e 67 20 ..Display.lambda.keywords.using.
e5ca0 ce bb 2e 20 54 68 69 73 20 69 73 20 44 45 50 52 45 43 41 54 45 44 40 2e 0a 0a 49 6e 73 74 65 61 ....This.is.DEPRECATED@...Instea
e5cc0 64 20 75 73 65 20 40 63 6f 64 65 7b 70 72 65 74 74 69 66 79 2d 73 79 6d 62 6f 6c 73 2d 6d 6f 64 d.use.@code{prettify-symbols-mod
e5ce0 65 7d 20 69 6e 20 6e 65 77 65 72 20 76 65 72 69 73 6f 6e 73 20 6f 66 20 45 6d 61 63 73 2c 0a 6f e}.in.newer.verisons.of.Emacs,.o
e5d00 72 2c 20 75 73 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 r,.use.@ref{racket-insert-lambda
e5d20 7d 20 74 6f 20 69 6e 73 65 72 74 20 61 63 74 75 61 6c 20 ce bb 20 63 68 61 72 61 63 74 65 72 73 }.to.insert.actual....characters
e5d40 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b ...@node.racket-smart-open-brack
e5d60 65 74 2d 65 6e 61 62 6c 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 73 6d 61 et-enable.@subsection.racket-sma
e5d80 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 65 6e 61 62 6c 65 0a 0a 54 68 69 73 20 76 61 72 rt-open-bracket-enable..This.var
e5da0 69 61 62 6c 65 20 69 73 20 6f 62 73 6f 6c 65 74 65 20 61 6e 64 20 68 61 73 20 6e 6f 20 65 66 66 iable.is.obsolete.and.has.no.eff
e5dc0 65 63 74 2e 0a 0a 49 6e 73 74 65 61 64 20 6f 66 20 75 73 69 6e 67 20 74 68 69 73 20 76 61 72 69 ect...Instead.of.using.this.vari
e5de0 61 62 6c 65 2c 20 79 6f 75 20 6d 61 79 20 62 69 6e 64 20 74 68 65 20 40 63 6f 64 65 7b 5b 7d 20 able,.you.may.bind.the.@code{[}.
e5e00 6b 65 79 20 74 6f 20 74 68 65 0a 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 key.to.the.@code{racket-smart-op
e5e20 65 6e 2d 62 72 61 63 6b 65 74 7d 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20 40 63 6f 64 65 en-bracket}.command.in.the.@code
e5e40 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 6d 61 70 7d 0a 61 6e 64 2f 6f 72 20 40 63 6f 64 65 7b 72 {racket-mode-map}.and/or.@code{r
e5e60 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 6d 61 70 7d 20 6b 65 79 6d 61 70 73 2e 0a 0a 40 acket-repl-mode-map}.keymaps...@
e5e80 6e 6f 64 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 0a 40 73 75 62 73 65 node.racket-logger-config.@subse
e5ea0 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 0a 0a 43 6f 6e 66 ction.racket-logger-config..Conf
e5ec0 69 67 75 72 61 74 69 6f 6e 20 6f 66 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d iguration.of.@ref{racket-logger-
e5ee0 6d 6f 64 65 7d 20 74 6f 70 69 63 73 20 61 6e 64 20 6c 65 76 65 6c 73 2e 0a 0a 54 68 65 20 74 6f mode}.topics.and.levels...The.to
e5f00 70 69 63 20 60 60 2a 27 27 20 72 65 73 70 72 65 73 65 6e 74 73 20 74 68 65 20 64 65 66 61 75 6c pic.``*''.respresents.the.defaul
e5f20 74 20 6c 65 76 65 6c 20 75 73 65 64 20 66 6f 72 20 74 6f 70 69 63 73 20 6e 6f 74 0a 61 73 73 69 t.level.used.for.topics.not.assi
e5f40 67 6e 65 64 20 61 20 6c 65 76 65 6c 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 74 6f 70 gned.a.level..Otherwise,.the.top
e5f60 69 63 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 0a 75 73 65 64 20 ic.symbols.are.the.same.as.used.
e5f80 62 79 20 52 61 63 6b 65 74 27 73 20 40 63 6f 64 65 7b 64 65 66 69 6e 65 2d 6c 6f 67 67 65 72 7d by.Racket's.@code{define-logger}
e5fa0 2e 0a 0a 54 68 65 20 6c 65 76 65 6c 73 20 61 72 65 20 74 68 6f 73 65 20 75 73 65 64 20 62 79 20 ...The.levels.are.those.used.by.
e5fc0 52 61 63 6b 65 74 27 73 20 6c 6f 67 67 69 6e 67 20 73 79 73 74 65 6d 3a 20 60 60 64 65 62 75 67 Racket's.logging.system:.``debug
e5fe0 27 27 2c 0a 60 60 69 6e 66 6f 27 27 2c 20 60 60 77 61 72 6e 69 6e 67 27 27 2c 20 60 60 65 72 72 '',.``info'',.``warning'',.``err
e6000 6f 72 27 27 2c 20 60 60 66 61 74 61 6c 27 27 2e 0a 0a 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 or'',.``fatal''...For.more.infor
e6020 6d 61 74 69 6f 6e 20 73 65 65 3a 0a 20 20 40 75 72 65 66 7b 68 74 74 70 73 3a 2f 2f 64 6f 63 73 mation.see:...@uref{https://docs
e6040 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 72 65 66 65 72 65 6e 63 65 2f 6c 6f 67 67 69 .racket-lang.org/reference/loggi
e6060 6e 67 2e 68 74 6d 6c 7d 0a 0a 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 73 65 74 73 ng.html}..The.default.value.sets
e6080 20 73 6f 6d 65 20 6b 6e 6f 77 6e 20 60 60 6e 6f 69 73 79 27 27 20 74 6f 70 69 63 73 20 74 6f 20 .some.known.``noisy''.topics.to.
e60a0 62 65 20 6f 6e 65 0a 6c 65 76 65 6c 20 71 75 69 65 74 65 72 2e 20 54 68 61 74 20 77 61 79 20 79 be.one.level.quieter..That.way.y
e60c0 6f 75 20 63 61 6e 20 73 65 74 20 74 68 65 20 60 60 2a 27 27 20 74 6f 70 69 63 20 74 6f 20 61 20 ou.can.set.the.``*''.topic.to.a.
e60e0 6c 65 76 65 6c 0a 6c 69 6b 65 20 60 60 64 65 62 75 67 27 27 20 61 6e 64 20 6e 6f 74 20 67 65 74 level.like.``debug''.and.not.get
e6100 20 6f 76 65 72 68 77 65 6c 6d 65 64 20 62 79 20 74 68 65 73 65 20 6e 6f 69 73 79 20 74 6f 70 69 .overhwelmed.by.these.noisy.topi
e6120 63 73 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f cs...@node.racket-before-run-hoo
e6140 6b 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d k.@subsection.racket-before-run-
e6160 68 6f 6f 6b 0a 0a 4e 6f 72 6d 61 6c 20 68 6f 6f 6b 20 64 6f 6e 65 20 62 65 66 6f 72 65 20 76 61 hook..Normal.hook.done.before.va
e6180 72 69 6f 75 73 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 73 2e 0a rious.Racket.Mode.run.commands..
e61a0 0a 48 65 72 65 20 60 60 62 65 66 6f 72 65 27 27 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 .Here.``before''.means.that.the.
e61c0 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 62 75 66 66 65 72 20 6d 69 @ref{racket-repl-mode}.buffer.mi
e61e0 67 68 74 20 6e 6f 74 0a 65 78 69 73 74 20 79 65 74 2e 0a 0a 57 68 65 6e 20 68 6f 6f 6b 20 66 75 ght.not.exist.yet...When.hook.fu
e6200 6e 63 74 69 6f 6e 73 20 61 72 65 20 63 61 6c 6c 65 64 2c 20 40 63 6f 64 65 7b 63 75 72 72 65 6e nctions.are.called,.@code{curren
e6220 74 2d 62 75 66 66 65 72 7d 20 69 73 20 74 68 61 74 20 6f 66 20 74 68 65 0a 65 64 69 74 20 62 75 t-buffer}.is.that.of.the.edit.bu
e6240 66 66 65 72 20 77 68 65 6e 20 74 68 65 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 20 77 61 73 20 69 73 ffer.when.the.run.command.was.is
e6260 73 75 65 64 2e 20 49 66 20 61 20 68 6f 6f 6b 20 66 75 6e 63 74 69 6f 6e 0a 69 6e 73 74 65 61 64 sued..If.a.hook.function.instead
e6280 20 6e 65 65 64 73 20 74 68 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 .needs.the.@ref{racket-repl-mode
e62a0 7d 20 62 75 66 66 65 72 2c 20 69 74 20 73 68 6f 75 6c 64 20 67 65 74 20 74 68 61 74 0a 66 72 6f }.buffer,.it.should.get.that.fro
e62c0 6d 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 70 6c m.the.variable.@code{racket-repl
e62e0 2d 62 75 66 66 65 72 2d 6e 61 6d 65 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 61 66 74 -buffer-name}...@node.racket-aft
e6300 65 72 2d 72 75 6e 2d 68 6f 6f 6b 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 61 er-run-hook.@subsection.racket-a
e6320 66 74 65 72 2d 72 75 6e 2d 68 6f 6f 6b 0a 0a 4e 6f 72 6d 61 6c 20 68 6f 6f 6b 20 64 6f 6e 65 20 fter-run-hook..Normal.hook.done.
e6340 61 66 74 65 72 20 76 61 72 69 6f 75 73 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 72 75 6e 20 63 6f after.various.Racket.Mode.run.co
e6360 6d 6d 61 6e 64 73 2e 0a 0a 48 65 72 65 20 60 60 61 66 74 65 72 27 27 20 6d 65 61 6e 73 20 74 68 mmands...Here.``after''.means.th
e6380 61 74 20 74 68 65 20 72 75 6e 20 68 61 73 20 63 6f 6d 70 6c 65 74 65 64 20 61 6e 64 20 74 68 65 at.the.run.has.completed.and.the
e63a0 20 52 45 50 4c 20 69 73 0a 77 61 69 74 69 6e 67 20 61 74 20 61 6e 6f 74 68 65 72 20 70 72 6f 6d .REPL.is.waiting.at.another.prom
e63c0 70 74 2e 0a 0a 57 68 65 6e 20 68 6f 6f 6b 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 63 61 6c pt...When.hook.functions.are.cal
e63e0 6c 65 64 2c 20 40 63 6f 64 65 7b 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 7d 20 69 73 20 74 68 led,.@code{current-buffer}.is.th
e6400 61 74 20 6f 66 20 74 68 65 0a 62 75 66 66 65 72 20 77 68 65 6e 20 74 68 65 20 72 75 6e 20 63 6f at.of.the.buffer.when.the.run.co
e6420 6d 6d 61 6e 64 20 77 61 73 20 69 73 73 75 65 64 2e 20 49 66 20 61 20 68 6f 6f 6b 20 66 75 6e 63 mmand.was.issued..If.a.hook.func
e6440 74 69 6f 6e 0a 69 6e 73 74 65 61 64 20 6e 65 65 64 73 20 74 68 65 20 40 72 65 66 7b 72 61 63 6b tion.instead.needs.the.@ref{rack
e6460 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 62 75 66 66 65 72 2c 20 69 74 20 73 68 6f 75 6c 64 20 et-repl-mode}.buffer,.it.should.
e6480 67 65 74 20 74 68 61 74 0a 66 72 6f 6d 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 63 6f 64 65 get.that.from.the.variable.@code
e64a0 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 7d 2e 0a 0a 40 6e 6f 64 {racket-repl-buffer-name}...@nod
e64c0 65 20 72 61 63 6b 65 74 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 64 65 0a 40 73 75 62 73 e.racket-sexp-comment-fade.@subs
e64e0 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 64 65 0a ection.racket-sexp-comment-fade.
e6500 0a 48 6f 77 20 6d 75 63 68 20 74 6f 20 66 61 64 65 20 66 61 63 65 73 20 75 73 65 64 20 69 6e 20 .How.much.to.fade.faces.used.in.
e6520 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 63 6f 6d 6d 65 6e 74 20 62 6f 64 69 65 73 2e 0a 0a 41 20 s-expression.comment.bodies...A.
e6540 6e 75 6d 62 65 72 20 66 72 6f 6d 20 30 2e 30 20 74 6f 20 31 2e 30 2c 20 77 68 65 72 65 20 30 2e number.from.0.0.to.1.0,.where.0.
e6560 30 20 69 73 20 30 25 20 66 61 64 65 20 61 6e 64 20 31 2e 30 20 69 73 20 31 30 30 25 0a 66 61 64 0.is.0%.fade.and.1.0.is.100%.fad
e6580 65 20 28 69 6e 76 69 73 69 62 6c 65 29 2e 0a 0a 54 68 69 73 20 66 65 61 74 75 72 65 20 77 6f 72 e.(invisible)...This.feature.wor
e65a0 6b 73 20 62 79 20 63 72 65 61 74 69 6e 67 20 66 61 63 65 73 20 74 68 61 74 20 61 72 65 20 61 6c ks.by.creating.faces.that.are.al
e65c0 74 65 72 6e 61 74 69 76 65 73 20 66 6f 72 0a 66 61 63 65 73 20 75 73 65 64 20 69 6e 20 73 2d 65 ternatives.for.faces.used.in.s-e
e65e0 78 70 72 65 73 73 69 6f 6e 20 63 6f 6d 6d 65 6e 74 73 2e 20 54 68 65 20 61 6c 65 72 6e 61 74 69 xpression.comments..The.alernati
e6600 76 65 20 66 61 63 65 73 20 75 73 65 20 61 0a 66 61 64 65 64 20 66 6f 72 65 67 72 6f 75 6e 64 20 ve.faces.use.a.faded.foreground.
e6620 63 6f 6c 6f 72 2e 20 54 68 65 20 63 6f 6c 6f 72 73 20 61 72 65 20 72 65 63 61 6c 63 75 6c 61 74 color..The.colors.are.recalculat
e6640 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 61 66 74 65 72 20 79 6f 75 20 63 68 61 6e 67 ed.automatically.after.you.chang
e6660 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 69 73 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f e.the.value.of.this.customizatio
e6680 6e 20 76 61 72 69 61 62 6c 65 20 61 6e 64 0a 61 66 74 65 72 20 61 6e 79 20 40 63 6f 64 65 7b 6c n.variable.and.after.any.@code{l
e66a0 6f 61 64 2d 74 68 65 6d 65 7d 2e 20 48 6f 77 65 76 65 72 20 69 6e 20 6f 74 68 65 72 20 63 69 72 oad-theme}..However.in.other.cir
e66c0 63 75 6d 73 74 61 6e 63 65 73 20 79 6f 75 20 6d 69 67 68 74 0a 6e 65 65 64 20 74 6f 20 75 73 65 cumstances.you.might.need.to.use
e66e0 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 72 65 66 72 65 73 68 2d 73 65 78 70 2d 63 6f 6d 6d 65 .@code{racket-refresh-sexp-comme
e6700 6e 74 2d 66 61 63 65 73 7d 2e 0a 0a 40 6e 6f 64 65 20 45 78 70 65 72 69 6d 65 6e 74 61 6c 20 64 nt-faces}...@node.Experimental.d
e6720 65 62 75 67 67 65 72 20 76 61 72 69 61 62 6c 65 73 0a 40 73 65 63 74 69 6f 6e 20 45 78 70 65 72 ebugger.variables.@section.Exper
e6740 69 6d 65 6e 74 61 6c 20 64 65 62 75 67 67 65 72 20 76 61 72 69 61 62 6c 65 73 0a 0a 40 6d 65 6e imental.debugger.variables..@men
e6760 75 0a 2a 20 72 61 63 6b 65 74 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 3a 3a 0a 40 65 u.*.racket-debuggable-files::.@e
e6780 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 64 65 62 75 67 67 61 62 6c 65 nd.menu..@node.racket-debuggable
e67a0 2d 66 69 6c 65 73 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 64 65 62 75 67 67 -files.@subsection.racket-debugg
e67c0 61 62 6c 65 2d 66 69 6c 65 73 0a 0a 55 73 65 64 20 74 6f 20 74 65 6c 6c 20 40 72 65 66 7b 72 61 able-files..Used.to.tell.@ref{ra
e67e0 63 6b 65 74 2d 72 75 6e 7d 20 77 68 61 74 20 66 69 6c 65 73 20 6d 61 79 20 62 65 20 69 6e 73 74 cket-run}.what.files.may.be.inst
e6800 72 75 6d 65 6e 74 65 64 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2e 0a 0a 54 68 69 73 20 69 73 rumented.for.debugging...This.is
e6820 6e 27 74 20 79 65 74 20 61 20 64 65 66 63 75 73 74 6f 6d 20 62 65 63 75 61 73 65 20 74 68 65 20 n't.yet.a.defcustom.becuase.the.
e6840 64 65 62 75 67 67 65 72 20 73 74 61 74 75 73 20 69 73 20 73 74 69 6c 6c 0a 60 60 65 78 70 65 72 debugger.status.is.still.``exper
e6860 69 6d 65 6e 74 61 6c 27 27 2e 0a 0a 4d 75 73 74 20 62 65 20 65 69 74 68 65 72 20 61 20 6c 69 73 imental''...Must.be.either.a.lis
e6880 74 20 6f 66 20 66 69 6c 65 20 6e 61 6d 65 20 73 74 72 69 6e 67 73 2c 20 6f 72 2c 20 61 20 66 75 t.of.file.name.strings,.or,.a.fu
e68a0 6e 63 74 69 6f 6e 20 74 68 61 74 0a 74 61 6b 65 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 nction.that.takes.the.name.of.th
e68c0 65 20 66 69 6c 65 20 62 65 69 6e 67 20 72 75 6e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 6c e.file.being.run.and.returns.a.l
e68e0 69 73 74 20 6f 66 20 66 69 6c 65 0a 6e 61 6d 65 73 2e 0a 0a 45 61 63 68 20 66 69 6c 65 20 6e 61 ist.of.file.names...Each.file.na
e6900 6d 65 20 69 6e 20 74 68 65 20 6c 69 73 74 20 69 73 20 6d 61 64 65 20 61 62 73 6f 6c 75 74 65 20 me.in.the.list.is.made.absolute.
e6920 75 73 69 6e 67 0a 40 63 6f 64 65 7b 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 7d 20 77 69 using.@code{expand-file-name}.wi
e6940 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 74 68 65 20 66 69 6c 65 20 62 65 69 6e 67 20 72 75 6e th.respect.to.the.file.being.run
e6960 20 61 6e 64 20 67 69 76 65 6e 0a 74 6f 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 66 69 6c 65 2d .and.given.to.@code{racket-file-
e6980 6e 61 6d 65 2d 66 72 6f 6e 74 2d 74 6f 2d 62 61 63 6b 7d 2e 0a 0a 40 6e 6f 64 65 20 53 68 6f 77 name-front-to-back}...@node.Show
e69a0 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 40 73 65 63 74 69 6f 6e 20 53 68 6f 77 69 6e 67 ing.information.@section.Showing
e69c0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a 40 6d 65 6e 75 0a 2a 20 72 61 63 6b 65 74 2d 73 68 6f .information..@menu.*.racket-sho
e69e0 77 2d 66 75 6e 63 74 69 6f 6e 73 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 w-functions::.@end.menu..@node.r
e6a00 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 0a 40 73 75 62 73 65 63 74 69 6f 6e acket-show-functions.@subsection
e6a20 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 0a 0a 41 6e 20 60 60 61 62 6e .racket-show-functions..An.``abn
e6a40 6f 72 6d 61 6c 20 68 6f 6f 6b 27 27 20 76 61 72 69 61 62 6c 65 20 74 6f 20 63 75 73 74 6f 6d 69 ormal.hook''.variable.to.customi
e6a60 7a 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 73 68 6f 77 7d 2e 0a 0a 54 68 69 73 20 69 73 20 ze.@code{racket-show}...This.is.
e6a80 61 20 6c 69 73 74 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 66 75 6e 63 74 69 6f 6e 73 2e a.list.of.one.or.more.functions.
e6aa0 0a 0a 45 61 63 68 20 73 75 63 68 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 61 63 63 65 70 74 ..Each.such.function.must.accept
e6ac0 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 3a 20 53 54 52 20 61 6e 64 20 50 4f 53 40 2e 0a 0a 53 .two.arguments:.STR.and.POS@...S
e6ae0 54 52 20 69 73 20 6f 6e 65 20 6f 66 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 4e 6f TR.is.one.of:..@itemize.@item.No
e6b00 6e 2d 62 6c 61 6e 6b 20 73 74 72 69 6e 67 3a 20 44 69 73 70 6c 61 79 20 74 68 65 20 73 74 72 69 n-blank.string:.Display.the.stri
e6b20 6e 67 20 73 6f 6d 65 68 6f 77 2e 0a 0a 40 69 74 65 6d 0a 42 6c 61 6e 6b 20 73 74 72 69 6e 67 3a ng.somehow...@item.Blank.string:
e6b40 20 48 69 64 65 20 61 6e 79 20 70 72 65 76 69 6f 75 73 6c 79 20 64 69 73 70 6c 61 79 65 64 20 73 .Hide.any.previously.displayed.s
e6b60 74 72 69 6e 67 2e 0a 0a 40 69 74 65 6d 0a 6e 69 6c 3a 20 48 69 64 65 20 61 6e 79 20 70 65 72 73 tring...@item.nil:.Hide.any.pers
e6b80 69 73 74 65 6e 74 20 55 49 20 74 68 61 74 20 6d 69 67 68 74 20 68 61 76 65 20 62 65 65 6e 20 63 istent.UI.that.might.have.been.c
e6ba0 72 65 61 74 65 64 2e 20 46 6f 72 0a 69 6e 73 74 61 6e 63 65 20 40 72 65 66 7b 72 61 63 6b 65 74 reated..For.instance.@ref{racket
e6bc0 2d 73 68 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 7d 20 68 69 64 65 73 20 74 68 65 20 68 65 61 -show-header-line}.hides.the.hea
e6be0 64 65 72 20 6c 69 6e 65 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 50 4f 53 20 6d 61 79 20 der.line..@end.itemize..POS.may.
e6c00 62 65 20 6e 69 6c 20 77 68 65 6e 20 53 54 52 20 69 73 20 6e 69 6c 20 6f 72 20 61 20 62 6c 61 6e be.nil.when.STR.is.nil.or.a.blan
e6c20 6b 20 73 74 72 69 6e 67 2e 0a 0a 4f 74 68 65 72 77 69 73 65 20 50 4f 53 20 69 73 20 74 68 65 20 k.string...Otherwise.POS.is.the.
e6c40 62 75 66 66 65 72 20 70 6f 73 69 74 69 6f 6e 20 2d 2d 20 74 79 70 69 63 61 6c 6c 79 20 74 68 65 buffer.position.--.typically.the
e6c60 20 65 6e 64 20 6f 66 20 61 0a 73 70 61 6e 20 2d 2d 20 74 68 61 74 20 74 68 65 20 6e 6f 6e 2d 62 .end.of.a.span.--.that.the.non-b
e6c80 6c 61 6e 6b 20 53 54 52 20 64 65 73 63 72 69 62 65 73 2e 0a 0a 41 20 66 75 6e 63 74 69 6f 6e 20 lank.STR.describes...A.function.
e6ca0 74 68 61 74 20 73 68 6f 77 73 20 53 54 52 20 6e 65 61 72 20 50 4f 53 20 73 68 6f 75 6c 64 20 70 that.shows.STR.near.POS.should.p
e6cc0 6f 73 69 74 69 6f 6e 20 69 74 20 6e 6f 74 20 74 6f 20 68 69 64 65 0a 74 68 65 20 73 70 61 6e 2c osition.it.not.to.hide.the.span,
e6ce0 20 69 2e 65 2e 20 62 65 6c 6f 77 20 61 6e 64 2f 6f 72 20 72 69 67 68 74 20 6f 66 20 50 4f 53 40 .i.e..below.and/or.right.of.POS@
e6d00 2e 20 45 78 61 6d 70 6c 65 73 3a 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 ..Examples:.@ref{racket-show-pse
e6d20 75 64 6f 2d 74 6f 6f 6c 74 69 70 7d 20 61 6e 64 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 68 6f udo-tooltip}.and.@ref{racket-sho
e6d40 77 2d 70 6f 73 2d 74 69 70 7d 2e 0a 0a 41 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 73 68 6f w-pos-tip}...A.function.that.sho
e6d60 77 73 20 53 54 52 20 69 6e 20 61 20 66 69 78 65 64 20 6c 6f 63 61 74 69 6f 6e 20 6d 61 79 20 6f ws.STR.in.a.fixed.location.may.o
e6d80 66 20 63 6f 75 72 73 65 0a 69 67 6e 6f 72 65 20 50 4f 53 40 2e 20 45 78 61 6d 70 6c 65 73 3a 20 f.course.ignore.POS@..Examples:.
e6da0 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 61 7d 20 61 6e 64 0a @ref{racket-show-echo-area}.and.
e6dc0 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 68 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 7d 0a 0a 40 @ref{racket-show-header-line}..@
e6de0 6e 6f 64 65 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d node.Running.racket.and.raco.com
e6e00 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 0a 40 73 65 mands.in.a.shell.or.terminal.@se
e6e20 63 74 69 6f 6e 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f ction.Running.racket.and.raco.co
e6e40 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 0a 0a 40 mmands.in.a.shell.or.terminal..@
e6e60 6d 65 6e 75 0a 2a 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d menu.*.racket-shell-or-terminal-
e6e80 66 75 6e 63 74 69 6f 6e 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b function::.@end.menu..@node.rack
e6ea0 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 0a 40 73 et-shell-or-terminal-function.@s
e6ec0 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e ubsection.racket-shell-or-termin
e6ee0 61 6c 2d 66 75 6e 63 74 69 6f 6e 0a 0a 48 6f 77 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 61 63 al-function..How.@ref{racket-rac
e6f00 6b 65 74 7d 20 61 6e 64 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 61 63 6f 2d 74 65 73 74 7d 20 ket}.and.@ref{racket-raco-test}.
e6f20 72 75 6e 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 run.commands...The.function.shou
e6f40 6c 64 20 61 63 63 65 70 74 20 61 20 63 6f 6d 6d 61 6e 64 20 73 74 72 69 6e 67 2c 20 6e 6f 74 20 ld.accept.a.command.string,.not.
e6f60 69 6e 63 6c 75 64 69 6e 67 20 61 0a 6e 65 77 6c 69 6e 65 2c 20 67 65 74 20 6f 72 20 63 72 65 61 including.a.newline,.get.or.crea
e6f80 74 65 20 61 20 73 75 69 74 61 62 6c 65 20 62 75 66 66 65 72 2c 20 73 65 6e 64 20 74 68 65 20 63 te.a.suitable.buffer,.send.the.c
e6fa0 6f 6d 6d 61 6e 64 2c 20 61 6e 64 0a 73 65 6e 64 20 61 20 6e 65 77 6c 69 6e 65 20 6f 72 20 65 6e ommand,.and.send.a.newline.or.en
e6fc0 74 65 72 2e 0a 0a 50 72 65 64 65 66 69 6e 65 64 20 63 68 6f 69 63 65 73 20 69 6e 63 6c 75 64 65 ter...Predefined.choices.include
e6fe0 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 68 65 6c 6c 7d 2c 20 40 72 65 66 7b 72 61 63 6b 65 74 .@ref{racket-shell},.@ref{racket
e7000 2d 74 65 72 6d 7d 2c 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 61 6e 73 69 2d 74 65 72 6d 7d 2c 20 -term},.@ref{racket-ansi-term},.
e7020 61 6e 64 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 76 74 65 72 6d 7d 2e 0a 0a 40 6e 6f 64 65 20 43 and.@ref{racket-vterm}...@node.C
e7040 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 0a 40 63 68 61 70 74 65 72 20 onfiguration.functions.@chapter.
e7060 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 0a 0a 40 6d 65 6e 75 0a 2a Configuration.functions..@menu.*
e7080 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 20 53 68 6f 77 69 6e 67 20 69 6e .Showing.information:.Showing.in
e70a0 66 6f 72 6d 61 74 69 6f 6e 20 28 31 29 2e 20 0a 2a 20 41 73 73 6f 63 69 61 74 69 6e 67 20 65 64 formation.(1)...*.Associating.ed
e70c0 69 74 20 62 75 66 66 65 72 73 20 77 69 74 68 20 52 45 50 4c 20 62 75 66 66 65 72 73 3a 3a 0a 2a it.buffers.with.REPL.buffers::.*
e70e0 20 42 72 6f 77 73 69 6e 67 20 66 69 6c 65 20 55 52 4c 73 20 77 69 74 68 20 61 6e 63 68 6f 72 73 .Browsing.file.URLs.with.anchors
e7100 3a 3a 0a 2a 20 43 6f 6e 66 69 67 75 72 69 6e 67 20 62 61 63 6b 20 65 6e 64 73 3a 3a 0a 2a 20 52 ::.*.Configuring.back.ends::.*.R
e7120 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 unning.racket.and.raco.commands.
e7140 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 3a 20 52 75 6e 6e 69 6e 67 20 in.a.shell.or.terminal:.Running.
e7160 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 racket.and.raco.commands.in.a.sh
e7180 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 28 31 29 2e 20 0a 40 65 6e 64 20 6d 65 6e 75 0a ell.or.terminal.(1)...@end.menu.
e71a0 0a 40 6e 6f 64 65 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 28 31 29 0a 40 .@node.Showing.information.(1).@
e71c0 73 65 63 74 69 6f 6e 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a 40 6d 65 section.Showing.information..@me
e71e0 6e 75 0a 2a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 3a nu.*.racket-show-pseudo-tooltip:
e7200 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 61 3a 3a 0a 2a 20 72 61 :.*.racket-show-echo-area::.*.ra
e7220 63 6b 65 74 2d 73 68 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 cket-show-header-line::.*.racket
e7240 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 -show-pos-tip::.@end.menu..@node
e7260 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 0a 40 73 75 62 .racket-show-pseudo-tooltip.@sub
e7280 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 section.racket-show-pseudo-toolt
e72a0 69 70 0a 0a 40 63 6f 64 65 7b 28 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 75 64 6f 2d 74 6f ip..@code{(racket-show-pseudo-to
e72c0 6f 6c 74 69 70 20 73 74 72 20 26 6f 70 74 69 6f 6e 61 6c 20 70 6f 73 29 7d 0a 0a 0a 53 68 6f 77 oltip.str.&optional.pos)}...Show
e72e0 20 75 73 69 6e 67 20 61 6e 20 6f 76 65 72 6c 61 79 20 74 68 61 74 20 72 65 73 65 6d 62 6c 65 73 .using.an.overlay.that.resembles
e7300 20 61 20 74 6f 6f 6c 74 69 70 2e 0a 0a 54 68 69 73 20 69 73 20 6e 69 63 65 72 20 74 68 61 6e 20 .a.tooltip...This.is.nicer.than.
e7320 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 7d 20 62 65 63 61 75 73 @ref{racket-show-pos-tip}.becaus
e7340 65 20 69 74 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 44 6f 65 73 6e 27 74 20 66 6c e.it:..@itemize.@item.Doesn't.fl
e7360 69 63 6b 65 72 20 77 68 69 6c 65 20 6e 61 76 69 67 61 74 69 6e 67 2e 0a 40 69 74 65 6d 0a 44 6f icker.while.navigating..@item.Do
e7380 65 73 6e 27 74 20 64 69 73 61 70 70 65 61 72 20 61 66 74 65 72 20 61 20 74 69 6d 65 6f 75 74 2e esn't.disappear.after.a.timeout.
e73a0 0a 40 69 74 65 6d 0a 50 65 72 66 6f 72 6d 73 20 77 65 6c 6c 20 77 68 65 6e 20 40 63 6f 64 65 7b .@item.Performs.well.when.@code{
e73c0 78 2d 67 74 6b 2d 75 73 65 2d 73 79 73 74 65 6d 2d 74 6f 6f 6c 74 69 70 73 7d 20 69 73 20 6e 69 x-gtk-use-system-tooltips}.is.ni
e73e0 6c 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 l..@end.itemize..On.the.other.ha
e7400 6e 64 2c 20 74 68 69 73 20 64 6f 65 73 20 6e 6f 74 20 6c 6f 6f 6b 20 61 73 20 6e 69 63 65 20 77 nd,.this.does.not.look.as.nice.w
e7420 68 65 6e 20 64 69 73 70 6c 61 79 69 6e 67 0a 74 65 78 74 20 74 68 61 74 20 73 70 61 6e 73 20 6d hen.displaying.text.that.spans.m
e7440 75 6c 74 69 70 6c 65 20 6c 69 6e 65 73 20 6f 72 20 69 73 20 74 6f 6f 20 77 69 64 65 20 74 6f 20 ultiple.lines.or.is.too.wide.to.
e7460 66 69 74 20 74 68 65 20 77 69 6e 64 6f 77 2e 0a 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 77 65 fit.the.window..In.that.case,.we
e7480 20 73 69 6d 70 6c 79 20 6c 65 66 74 2d 6a 75 73 74 69 66 79 20 65 76 65 72 79 74 68 69 6e 67 20 .simply.left-justify.everything.
e74a0 61 6e 64 20 64 6f 20 6e 6f 74 20 64 72 61 77 0a 61 6e 79 20 62 6f 72 64 65 72 2e 0a 0a 40 6e 6f and.do.not.draw.any.border...@no
e74c0 64 65 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 61 0a 40 73 75 62 73 65 63 de.racket-show-echo-area.@subsec
e74e0 74 69 6f 6e 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 61 0a 0a 40 63 6f 64 tion.racket-show-echo-area..@cod
e7500 65 7b 28 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 61 20 73 74 72 20 26 6f 70 e{(racket-show-echo-area.str.&op
e7520 74 69 6f 6e 61 6c 20 5f 70 6f 73 29 7d 0a 0a 0a 53 68 6f 77 20 74 68 69 6e 67 73 20 69 6e 20 74 tional._pos)}...Show.things.in.t
e7540 68 65 20 65 63 68 6f 20 61 72 65 61 2e 0a 0a 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 he.echo.area...A.value.for.the.v
e7560 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f ariable.@ref{racket-show-functio
e7580 6e 73 7d 2e 0a 0a 54 68 69 73 20 64 6f 65 73 20 40 65 6d 70 68 7b 6e 6f 74 7d 20 61 64 64 20 53 ns}...This.does.@emph{not}.add.S
e75a0 54 52 20 74 6f 20 74 68 65 20 60 60 40 73 74 72 6f 6e 67 7b 4d 65 73 73 61 67 65 73 7d 27 27 20 TR.to.the.``@strong{Messages}''.
e75c0 6c 6f 67 20 62 75 66 66 65 72 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 68 log.buffer...@node.racket-show-h
e75e0 65 61 64 65 72 2d 6c 69 6e 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 73 68 eader-line.@subsection.racket-sh
e7600 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 0a 0a 40 63 6f 64 65 7b 28 72 61 63 6b 65 74 2d 73 68 ow-header-line..@code{(racket-sh
e7620 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 20 73 74 72 20 26 6f 70 74 69 6f 6e 61 6c 20 5f 70 6f ow-header-line.str.&optional._po
e7640 73 29 7d 0a 0a 0a 53 68 6f 77 20 74 68 69 6e 67 73 20 75 73 69 6e 67 20 61 20 62 75 66 66 65 72 s)}...Show.things.using.a.buffer
e7660 20 68 65 61 64 65 72 20 6c 69 6e 65 2e 0a 0a 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 .header.line...A.value.for.the.v
e7680 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f ariable.@ref{racket-show-functio
e76a0 6e 73 7d 2e 0a 0a 57 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 74 68 69 6e 67 20 74 6f 20 73 ns}...When.there.is.nothing.to.s
e76c0 68 6f 77 2c 20 6b 65 65 70 20 61 20 62 6c 61 6e 6b 20 68 65 61 64 65 72 2d 6c 69 6e 65 2e 20 54 how,.keep.a.blank.header-line..T
e76e0 68 61 74 0a 77 61 79 2c 20 74 68 65 20 62 75 66 66 65 72 20 62 65 6c 6f 77 20 64 6f 65 73 6e 27 hat.way,.the.buffer.below.doesn'
e7700 74 20 60 60 6a 75 6d 70 20 75 70 20 61 6e 64 20 64 6f 77 6e 27 27 20 62 79 20 61 20 6c 69 6e 65 t.``jump.up.and.down''.by.a.line
e7720 20 61 73 0a 6d 65 73 73 61 67 65 73 20 61 70 70 65 61 72 20 61 6e 64 20 64 69 73 61 70 70 65 61 .as.messages.appear.and.disappea
e7740 72 2e 20 4f 6e 6c 79 20 77 68 65 6e 20 56 20 69 73 20 6e 69 6c 20 64 6f 20 77 65 20 72 65 6d 6f r..Only.when.V.is.nil.do.we.remo
e7760 76 65 0a 74 68 65 20 68 65 61 64 65 72 20 6c 69 6e 65 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 ve.the.header.line...@node.racke
e7780 74 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 t-show-pos-tip.@subsection.racke
e77a0 74 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 0a 0a 40 63 6f 64 65 7b 28 72 61 63 6b 65 74 2d 73 68 t-show-pos-tip..@code{(racket-sh
e77c0 6f 77 2d 70 6f 73 2d 74 69 70 20 73 74 72 20 26 6f 70 74 69 6f 6e 61 6c 20 70 6f 73 29 7d 0a 0a ow-pos-tip.str.&optional.pos)}..
e77e0 0a 53 68 6f 77 20 74 68 69 6e 67 73 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 70 6f 73 2d 74 69 70 .Show.things.using.@code{pos-tip
e7800 2d 73 68 6f 77 7d 20 69 66 20 61 76 61 69 6c 61 62 6c 65 2e 0a 0a 41 20 76 61 6c 75 65 20 66 6f -show}.if.available...A.value.fo
e7820 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 68 6f 77 2d r.the.variable.@ref{racket-show-
e7840 66 75 6e 63 74 69 6f 6e 73 7d 2e 0a 0a 40 6e 6f 64 65 20 41 73 73 6f 63 69 61 74 69 6e 67 20 65 functions}...@node.Associating.e
e7860 64 69 74 20 62 75 66 66 65 72 73 20 77 69 74 68 20 52 45 50 4c 20 62 75 66 66 65 72 73 0a 40 73 dit.buffers.with.REPL.buffers.@s
e7880 65 63 74 69 6f 6e 20 41 73 73 6f 63 69 61 74 69 6e 67 20 65 64 69 74 20 62 75 66 66 65 72 73 20 ection.Associating.edit.buffers.
e78a0 77 69 74 68 20 52 45 50 4c 20 62 75 66 66 65 72 73 0a 0a 40 6d 65 6e 75 0a 2a 20 72 61 63 6b 65 with.REPL.buffers..@menu.*.racke
e78c0 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 61 72 65 64 3a 3a 0a 2a 20 72 61 t-repl-buffer-name-shared::.*.ra
e78e0 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 3a 3a 0a 2a cket-repl-buffer-name-unique::.*
e7900 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 70 72 6f 6a 65 63 74 .racket-repl-buffer-name-project
e7920 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 3a 3a 0a 40 65 6e 64 20 ::.*.racket-project-root::.@end.
e7940 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e menu..@node.racket-repl-buffer-n
e7960 61 6d 65 2d 73 68 61 72 65 64 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 ame-shared.@subsection.racket-re
e7980 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 61 72 65 64 0a 0a 40 63 6f 64 65 7b 28 72 61 pl-buffer-name-shared..@code{(ra
e79a0 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 61 72 65 64 29 7d 0a 0a cket-repl-buffer-name-shared)}..
e79c0 0a 41 6c 6c 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 65 64 69 74 20 62 75 66 66 .All.@ref{racket-mode}.edit.buff
e79e0 65 72 73 20 73 68 61 72 65 20 6f 6e 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d ers.share.one.@ref{racket-repl-m
e7a00 6f 64 65 7d 20 62 75 66 66 65 72 20 70 65 72 20 62 61 63 6b 20 65 6e 64 2e 0a 0a 41 20 76 61 6c ode}.buffer.per.back.end...A.val
e7a20 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d ue.for.the.variable.@ref{racket-
e7a40 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 7d 2e 0a 0a 40 6e 6f repl-buffer-name-function}...@no
e7a60 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 de.racket-repl-buffer-name-uniqu
e7a80 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 e.@subsection.racket-repl-buffer
e7aa0 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 0a 0a 40 63 6f 64 65 7b 28 72 61 63 6b 65 74 2d 72 65 70 6c -name-unique..@code{(racket-repl
e7ac0 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 29 7d 0a 0a 0a 45 61 63 68 20 40 72 65 -buffer-name-unique)}...Each.@re
e7ae0 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 65 64 69 74 20 62 75 66 66 65 72 20 67 65 74 73 20 f{racket-mode}.edit.buffer.gets.
e7b00 69 74 73 20 6f 77 6e 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 62 its.own.@ref{racket-repl-mode}.b
e7b20 75 66 66 65 72 2e 0a 0a 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 uffer...A.value.for.the.variable
e7b40 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 .@ref{racket-repl-buffer-name-fu
e7b60 6e 63 74 69 6f 6e 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 nction}...@node.racket-repl-buff
e7b80 65 72 2d 6e 61 6d 65 2d 70 72 6f 6a 65 63 74 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b er-name-project.@subsection.rack
e7ba0 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 70 72 6f 6a 65 63 74 0a 0a 40 63 6f et-repl-buffer-name-project..@co
e7bc0 64 65 7b 28 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 70 72 6f 6a de{(racket-repl-buffer-name-proj
e7be0 65 63 74 29 7d 0a 0a 0a 41 6c 6c 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6d 6f 64 65 7d 20 62 75 ect)}...All.@ref{racket-mode}.bu
e7c00 66 66 65 72 73 20 69 6e 20 61 20 70 72 6f 6a 65 63 74 20 73 68 61 72 65 20 61 20 40 72 65 66 7b ffers.in.a.project.share.a.@ref{
e7c20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 62 75 66 66 65 72 2e 0a 0a 41 20 76 61 6c racket-repl-mode}.buffer...A.val
e7c40 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d ue.for.the.variable.@ref{racket-
e7c60 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 7d 2e 0a 0a 54 68 65 repl-buffer-name-function}...The
e7c80 20 60 60 70 72 6f 6a 65 63 74 27 27 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 40 72 .``project''.is.determined.by.@r
e7ca0 65 66 7b 72 61 63 6b 65 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 7d 2e 0a 0a 40 6e 6f 64 65 20 ef{racket-project-root}...@node.
e7cc0 72 61 63 6b 65 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 racket-project-root.@subsection.
e7ce0 72 61 63 6b 65 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 0a 0a 40 63 6f 64 65 7b 28 72 61 63 6b racket-project-root..@code{(rack
e7d00 65 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 66 69 6c 65 29 7d 0a 0a 0a 47 69 76 65 6e 20 61 et-project-root.file)}...Given.a
e7d20 6e 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 6e 61 6d 65 20 66 6f 72 20 46 49 4c 45 2c 20 72 65 n.absolute.pathname.for.FILE,.re
e7d40 74 75 72 6e 20 69 74 73 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 2e turn.its.project.root.directory.
e7d60 0a 0a 54 68 65 20 60 60 70 72 6f 6a 65 63 74 27 27 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 ..The.``project''.is.determined.
e7d80 62 79 20 74 72 79 69 6e 67 2c 20 69 6e 20 6f 72 64 65 72 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 by.trying,.in.order:..@itemize.@
e7da0 69 74 65 6d 0a 40 63 6f 64 65 7b 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f item.@code{projectile-project-ro
e7dc0 6f 74 7d 0a 40 69 74 65 6d 0a 40 63 6f 64 65 7b 76 63 2d 72 6f 6f 74 2d 64 69 72 7d 0a 40 69 74 ot}.@item.@code{vc-root-dir}.@it
e7de0 65 6d 0a 40 63 6f 64 65 7b 70 72 6f 6a 65 63 74 2d 63 75 72 72 65 6e 74 7d 0a 40 69 74 65 6d 0a em.@code{project-current}.@item.
e7e00 40 63 6f 64 65 7b 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 7d 0a 40 65 6e 64 20 @code{file-name-directory}.@end.
e7e20 69 74 65 6d 69 7a 65 0a 0a 40 6e 6f 64 65 20 42 72 6f 77 73 69 6e 67 20 66 69 6c 65 20 55 52 4c itemize..@node.Browsing.file.URL
e7e40 73 20 77 69 74 68 20 61 6e 63 68 6f 72 73 0a 40 73 65 63 74 69 6f 6e 20 42 72 6f 77 73 69 6e 67 s.with.anchors.@section.Browsing
e7e60 20 66 69 6c 65 20 55 52 4c 73 20 77 69 74 68 20 61 6e 63 68 6f 72 73 0a 0a 40 6d 65 6e 75 0a 2a .file.URLs.with.anchors..@menu.*
e7e80 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 75 73 69 6e 67 2d 74 65 6d 70 6f 72 61 .racket-browse-url-using-tempora
e7ea0 72 79 2d 66 69 6c 65 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 ry-file::.@end.menu..@node.racke
e7ec0 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 75 73 69 6e 67 2d 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c t-browse-url-using-temporary-fil
e7ee0 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d e.@subsection.racket-browse-url-
e7f00 75 73 69 6e 67 2d 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 0a 0a 40 63 6f 64 65 7b 28 72 61 63 using-temporary-file..@code{(rac
e7f20 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 75 73 69 6e 67 2d 74 65 6d 70 6f 72 61 72 79 2d 66 ket-browse-url-using-temporary-f
e7f40 69 6c 65 20 75 72 6c 20 26 72 65 73 74 20 5f 61 72 67 73 29 7d 0a 0a 0a 42 72 6f 77 73 65 20 61 ile.url.&rest._args)}...Browse.a
e7f60 20 55 52 4c 20 76 69 61 20 61 20 74 65 6d 70 6f 72 61 72 79 20 48 54 4d 4c 20 66 69 6c 65 20 75 .URL.via.a.temporary.HTML.file.u
e7f80 73 69 6e 67 20 61 20 6d 65 74 61 20 72 65 64 69 72 65 63 74 2e 0a 0a 41 20 73 75 69 74 61 62 6c sing.a.meta.redirect...A.suitabl
e7fa0 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 e.value.for.the.variable.@ref{ra
e7fc0 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 7d 2e 0a 0a 52 61 63 6b cket-browse-url-function}...Rack
e7fe0 65 74 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 55 52 4c 73 20 64 65 70 65 6e 64 20 6f 6e 20 et.documentation.URLs.depend.on.
e8000 61 6e 63 68 6f 72 73 20 2d 2d 20 74 68 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 0a 55 52 anchors.--.the.portion.of.the.UR
e8020 4c 20 61 66 74 65 72 20 74 68 65 20 23 20 63 68 61 72 61 63 74 65 72 20 2d 2d 20 74 6f 20 6a 75 L.after.the.#.character.--.to.ju
e8040 6d 70 20 74 6f 20 61 20 6c 6f 63 61 74 69 6f 6e 20 77 69 74 68 69 6e 20 61 20 70 61 67 65 2e 0a mp.to.a.location.within.a.page..
e8060 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20 6f 6e 20 73 6f 6d 65 20 6f 70 65 72 61 74 69 6e 67 20 Unfortunately.on.some.operating.
e8080 73 79 73 74 65 6d 73 20 61 6e 64 2f 6f 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 45 6d 61 63 73 systems.and/or.versions.of.Emacs
e80a0 2c 0a 74 68 65 20 64 65 66 61 75 6c 74 20 68 61 6e 64 6c 69 6e 67 20 66 6f 72 20 62 72 6f 77 73 ,.the.default.handling.for.brows
e80c0 69 6e 67 20 66 69 6c 65 20 55 52 4c 73 20 69 67 6e 6f 72 65 73 20 61 6e 63 68 6f 72 73 2e 20 54 ing.file.URLs.ignores.anchors..T
e80e0 68 69 73 0a 66 75 6e 63 74 69 6f 6e 20 61 74 74 65 6d 70 74 73 20 74 6f 20 61 76 6f 69 64 20 74 his.function.attempts.to.avoid.t
e8100 68 65 20 70 72 6f 62 6c 65 6d 20 62 79 20 75 73 69 6e 67 20 61 20 74 65 6d 70 6f 72 61 72 79 20 he.problem.by.using.a.temporary.
e8120 48 54 4d 4c 0a 66 69 6c 65 20 77 69 74 68 20 61 20 6d 65 74 61 20 72 65 64 69 72 65 63 74 20 61 HTML.file.with.a.meta.redirect.a
e8140 73 20 61 20 60 60 74 72 61 6d 70 6f 6c 69 6e 65 27 27 2e 0a 0a 41 6c 74 68 6f 75 67 68 20 74 68 s.a.``trampoline''...Although.th
e8160 65 20 69 6e 74 65 6e 74 20 69 73 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 66 61 75 6c 74 e.intent.is.to.provide.a.default
e8180 20 74 68 61 74 20 60 60 6a 75 73 74 20 77 6f 72 6b 73 27 27 2c 0a 79 6f 75 20 64 6f 20 6e 6f 74 .that.``just.works'',.you.do.not
e81a0 20 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 69 73 2e 20 59 6f 75 20 63 61 6e 20 63 75 73 74 6f .need.to.use.this..You.can.custo
e81c0 6d 69 7a 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d 62 72 mize.the.variable.@ref{racket-br
e81e0 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 7d 20 69 6e 73 74 65 61 64 20 74 6f 20 62 65 owse-url-function}.instead.to.be
e8200 20 40 63 6f 64 65 7b 62 72 6f 77 73 65 2d 75 72 6c 7d 2c 20 6f 72 0a 40 63 6f 64 65 7b 62 72 6f .@code{browse-url},.or.@code{bro
e8220 77 73 65 2d 75 72 6c 2d 62 72 6f 77 73 65 72 2d 66 75 6e 63 74 69 6f 6e 7d 20 69 6e 20 63 61 73 wse-url-browser-function}.in.cas
e8240 65 20 68 61 76 65 20 68 61 76 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 74 68 61 74 2c 0a 6f 72 20 e.have.have.customized.that,.or.
e8260 69 6e 64 65 65 64 20 77 68 61 74 65 76 65 72 20 79 6f 75 20 77 61 6e 74 2e 0a 0a 40 6e 6f 64 65 indeed.whatever.you.want...@node
e8280 20 43 6f 6e 66 69 67 75 72 69 6e 67 20 62 61 63 6b 20 65 6e 64 73 0a 40 73 65 63 74 69 6f 6e 20 .Configuring.back.ends.@section.
e82a0 43 6f 6e 66 69 67 75 72 69 6e 67 20 62 61 63 6b 20 65 6e 64 73 0a 0a 40 6d 65 6e 75 0a 2a 20 72 Configuring.back.ends..@menu.*.r
e82c0 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a acket-add-back-end::.@end.menu..
e82e0 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 0a 40 73 75 62 73 65 @node.racket-add-back-end.@subse
e8300 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 0a 0a 40 63 6f 64 65 ction.racket-add-back-end..@code
e8320 7b 28 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 20 64 69 72 65 63 74 6f 72 79 20 {(racket-add-back-end.directory.
e8340 26 72 65 73 74 20 70 6c 69 73 74 29 7d 0a 0a 0a 41 64 64 20 61 20 64 65 73 63 72 69 70 74 69 6f &rest.plist)}...Add.a.descriptio
e8360 6e 20 6f 66 20 61 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 62 61 63 6b 20 65 6e 64 2e 0a 0a 52 61 n.of.a.Racket.Mode.back.end...Ra
e8380 63 6b 65 74 20 4d 6f 64 65 20 73 75 70 70 6f 72 74 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 62 cket.Mode.supports.one.or.more.b
e83a0 61 63 6b 20 65 6e 64 73 2c 20 77 68 69 63 68 20 61 72 65 20 52 61 63 6b 65 74 0a 70 72 6f 63 65 ack.ends,.which.are.Racket.proce
e83c0 73 73 65 73 20 73 75 70 70 6f 72 74 69 6e 67 20 52 45 50 4c 73 20 61 73 20 77 65 6c 6c 20 61 73 sses.supporting.REPLs.as.well.as
e83e0 20 76 61 72 69 6f 75 73 20 6f 74 68 65 72 20 52 61 63 6b 65 74 20 4d 6f 64 65 0a 66 65 61 74 75 .various.other.Racket.Mode.featu
e8400 72 65 73 2e 0a 0a 44 49 52 45 43 54 4f 52 59 20 69 73 20 61 20 73 74 72 69 6e 67 20 64 65 73 63 res...DIRECTORY.is.a.string.desc
e8420 72 69 62 69 6e 67 20 61 20 40 63 6f 64 65 7b 66 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74 ribing.a.@code{file-name-absolut
e8440 65 2d 70 7d 0a 64 69 72 65 63 74 6f 72 79 20 6f 6e 20 73 6f 6d 65 20 6c 6f 63 61 6c 20 6f 72 20 e-p}.directory.on.some.local.or.
e8460 72 65 6d 6f 74 65 20 73 65 72 76 65 72 2e 0a 0a 57 68 65 6e 20 61 20 62 61 63 6b 20 65 6e 64 27 remote.server...When.a.back.end'
e8480 73 20 44 49 52 45 43 54 4f 52 59 20 69 73 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 6d 61 74 63 68 s.DIRECTORY.is.the.longest.match
e84a0 69 6e 67 20 70 72 65 66 69 78 20 6f 66 20 61 0a 62 75 66 66 65 72 27 73 20 40 63 6f 64 65 7b 64 ing.prefix.of.a.buffer's.@code{d
e84c0 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 7d 2c 20 74 68 61 74 20 62 61 63 6b 20 65 6e 64 efault-directory},.that.back.end
e84e0 20 69 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 0a 62 75 66 66 65 72 2e 0a 0a 44 49 52 45 43 54 .is.used.for.the.buffer...DIRECT
e8500 4f 52 59 20 63 61 6e 20 62 65 20 61 20 6c 6f 63 61 6c 20 64 69 72 65 63 74 6f 72 79 20 6c 69 6b ORY.can.be.a.local.directory.lik
e8520 65 20 60 60 2f 27 27 20 6f 72 0a 60 60 2f 70 61 74 68 2f 74 6f 2f 70 72 6f 6a 65 63 74 27 27 2c e.``/''.or.``/path/to/project'',
e8540 20 6f 72 20 61 20 40 63 6f 64 65 7b 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 7d 20 64 69 72 65 63 .or.a.@code{file-remote-p}.direc
e8560 74 6f 72 79 20 6c 69 6b 65 0a 60 60 2f 75 73 65 72 40 40 68 6f 73 74 3a 27 27 20 6f 72 20 60 60 tory.like.``/user@@host:''.or.``
e8580 2f 75 73 65 72 40 40 68 6f 73 74 3a 2f 70 61 74 68 2f 74 6f 2f 70 72 6f 6a 65 63 74 27 27 2e 0a /user@@host:/path/to/project''..
e85a0 0a 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 .Note.that.you.need.not.include.
e85c0 61 20 6d 65 74 68 6f 64 20 2d 2d 20 73 75 63 68 20 61 73 20 74 68 65 20 60 60 73 73 68 27 27 20 a.method.--.such.as.the.``ssh''.
e85e0 69 6e 0a 60 60 2f 73 73 68 3a 75 73 65 72 40 40 68 6f 73 74 3a 27 27 20 2d 2d 20 61 6e 64 20 69 in.``/ssh:user@@host:''.--.and.i
e8600 66 20 79 6f 75 20 64 6f 20 69 74 20 69 73 20 73 74 72 69 70 70 65 64 3a 20 41 20 62 61 63 6b 20 f.you.do.it.is.stripped:.A.back.
e8620 65 6e 64 0a 70 72 6f 63 65 73 73 20 69 73 20 61 6c 77 61 79 73 20 73 74 61 72 74 65 64 20 75 73 end.process.is.always.started.us
e8640 69 6e 67 20 53 53 48 40 2e 20 45 76 65 6e 20 69 66 20 6d 75 6c 74 69 70 6c 65 20 62 75 66 66 65 ing.SSH@..Even.if.multiple.buffe
e8660 72 73 20 66 6f 72 0a 74 68 65 20 73 61 6d 65 20 75 73 65 72 2b 68 6f 73 74 2b 70 6f 72 74 20 75 rs.for.the.same.user+host+port.u
e8680 73 65 20 64 69 66 66 65 72 65 6e 74 20 6d 65 74 68 6f 64 73 2c 20 74 68 65 79 20 77 69 6c 6c 20 se.different.methods,.they.will.
e86a0 73 68 61 72 65 0a 74 68 65 20 73 61 6d 65 20 62 61 63 6b 20 65 6e 64 2e 0a 0a 50 72 61 63 74 69 share.the.same.back.end...Practi
e86c0 63 61 6c 6c 79 20 73 70 65 61 6b 69 6e 67 2c 20 44 49 52 45 43 54 4f 52 59 20 69 73 20 61 20 70 cally.speaking,.DIRECTORY.is.a.p
e86e0 61 74 68 20 79 6f 75 20 63 6f 75 6c 64 20 67 69 76 65 20 74 6f 0a 40 63 6f 64 65 7b 66 69 6e 64 ath.you.could.give.to.@code{find
e8700 2d 66 69 6c 65 7d 20 74 6f 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 66 69 6e 64 20 73 6f 6d 65 -file}.to.successfully.find.some
e8720 20 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 65 20 66 69 6c 65 2c 20 62 75 74 0a 6f 6d 69 74 74 .local.or.remote.file,.but.omitt
e8740 69 6e 67 20 61 6e 79 20 6d 65 74 68 6f 64 2e 20 28 53 6f 6d 65 20 72 65 6d 6f 74 65 20 66 69 6c ing.any.method..(Some.remote.fil
e8760 65 20 73 68 6f 72 74 68 61 6e 64 20 66 6f 72 6d 73 20 67 65 74 0a 65 78 70 61 6e 64 65 64 20 74 e.shorthand.forms.get.expanded.t
e8780 6f 20 61 74 20 6c 65 61 73 74 20 60 60 2f 6d 65 74 68 6f 64 3a 68 6f 73 74 3a 27 27 2e 20 57 68 o.at.least.``/method:host:''..Wh
e87a0 65 6e 20 69 6e 20 64 6f 75 62 74 20 63 68 65 63 6b 0a 40 63 6f 64 65 7b 62 75 66 66 65 72 2d 66 en.in.doubt.check.@code{buffer-f
e87c0 69 6c 65 2d 6e 61 6d 65 7d 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 69 74 73 20 65 78 61 6d 70 6c 65 ile-name}.and.follow.its.example
e87e0 2e 29 0a 0a 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 62 65 69 6e 67 20 75 73 65 64 20 61 73 .)..In.addition.to.being.used.as
e8800 20 61 20 70 61 74 74 65 72 6e 20 74 6f 20 70 69 63 6b 20 61 20 62 61 63 6b 20 65 6e 64 20 66 6f .a.pattern.to.pick.a.back.end.fo
e8820 72 20 61 0a 62 75 66 66 65 72 2c 20 44 49 52 45 43 54 4f 52 59 20 64 65 74 65 72 6d 69 6e 65 73 r.a.buffer,.DIRECTORY.determines
e8840 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 57 68 65 74 68 65 72 20 74 68 65 20 62 61 :..@itemize.@item.Whether.the.ba
e8860 63 6b 20 65 6e 64 20 69 73 20 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 65 2e 0a 0a 40 69 74 65 ck.end.is.local.or.remote...@ite
e8880 6d 0a 57 68 65 6e 20 72 65 6d 6f 74 65 2c 20 61 6e 79 20 65 78 70 6c 69 63 69 74 20 75 73 65 72 m.When.remote,.any.explicit.user
e88a0 20 61 6e 64 20 70 6f 72 74 20 75 73 65 64 20 74 6f 20 6d 61 6b 65 20 53 53 48 0a 63 6f 6e 6e 65 .and.port.used.to.make.SSH.conne
e88c0 63 74 69 6f 6e 73 20 28 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 72 65 6c 79 69 6e 67 20 6f 6e ctions.(as.opposed.to.relying.on
e88e0 20 76 61 6c 75 65 73 20 66 72 6f 6d 0a 7e 2f 2e 73 73 68 2f 63 6f 6e 66 69 67 29 2e 0a 0a 40 69 .values.from.~/.ssh/config)...@i
e8900 74 65 6d 0a 4f 74 68 65 72 20 70 72 6f 70 65 72 74 69 65 73 20 67 65 74 20 72 65 61 73 6f 6e 61 tem.Other.properties.get.reasona
e8920 62 6c 65 20 64 65 66 61 75 6c 74 73 20 62 61 73 65 64 20 6f 6e 20 77 68 65 74 68 65 72 20 74 68 ble.defaults.based.on.whether.th
e8940 65 0a 62 61 63 6b 20 65 6e 64 20 69 73 20 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 65 2c 20 61 e.back.end.is.local.or.remote,.a
e8960 73 20 64 65 73 63 72 69 62 65 64 20 62 65 6c 6f 77 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a s.described.below..@end.itemize.
e8980 0a 41 66 74 65 72 20 44 49 52 45 43 54 4f 52 59 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 69 6e .After.DIRECTORY,.the.remaininin
e89a0 67 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6f 70 74 69 6f 6e 61 6c 3b 20 74 68 65 79 20 61 g.arguments.are.optional;.they.a
e89c0 72 65 0a 61 6c 74 65 72 6e 61 74 69 6e 67 20 3a 6b 65 79 77 6f 72 64 73 20 61 6e 64 20 76 61 6c re.alternating.:keywords.and.val
e89e0 75 65 73 20 64 65 73 63 72 69 62 69 6e 67 20 73 6f 6d 65 20 6f 74 68 65 72 20 70 72 6f 70 65 72 ues.describing.some.other.proper
e8a00 74 69 65 73 0a 6f 66 20 61 20 62 61 63 6b 20 65 6e 64 3a 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 ties.of.a.back.end:..@itemize.@i
e8a20 74 65 6d 0a 3a 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 0a 0a 57 68 65 6e 20 6e 6f 74 20 6e 69 tem.:racket-program..When.not.ni
e8a40 6c 20 74 68 69 73 20 69 73 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 76 61 l.this.is.used.instead.of.the.va
e8a60 6c 75 65 20 6f 66 20 74 68 65 0a 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 76 61 72 69 61 62 6c lue.of.the.customization.variabl
e8a80 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 7d 2e 0a 0a 40 69 74 65 6d 0a 3a e.@ref{racket-program}...@item.:
e8aa0 72 65 6d 6f 74 65 2d 73 6f 75 72 63 65 2d 64 69 72 0a 0a 57 68 65 72 65 20 6f 6e 20 61 20 72 65 remote-source-dir..Where.on.a.re
e8ac0 6d 6f 74 65 20 68 6f 73 74 20 74 6f 20 63 6f 70 79 20 74 68 65 20 62 61 63 6b 20 65 6e 64 27 73 mote.host.to.copy.the.back.end's
e8ae0 20 2a 2e 72 6b 74 20 66 69 6c 65 73 20 77 68 65 6e 0a 74 68 65 79 20 64 6f 20 6e 6f 74 20 65 78 .*.rkt.files.when.they.do.not.ex
e8b00 69 73 74 20 6f 72 20 64 6f 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 64 69 67 65 73 74 20 6f ist.or.do.not.match.the.digest.o
e8b20 66 20 74 68 65 20 6c 6f 63 61 6c 0a 66 69 6c 65 73 2e 20 54 68 69 73 20 6d 75 73 74 20 62 65 20 f.the.local.files..This.must.be.
e8b40 40 63 6f 64 65 7b 66 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74 65 2d 70 7d 20 6f 6e 20 74 @code{file-name-absolute-p}.on.t
e8b60 68 65 20 72 65 6d 6f 74 65 2e 20 4f 6e 6c 79 0a 73 75 70 70 6c 79 20 74 68 65 20 6c 6f 63 61 6c he.remote..Only.supply.the.local
e8b80 6e 61 6d 65 20 74 68 65 72 65 20 28 6e 6f 74 20 61 20 66 75 6c 6c 20 40 63 6f 64 65 7b 66 69 6c name.there.(not.a.full.@code{fil
e8ba0 65 2d 72 65 6d 6f 74 65 2d 70 7d 29 2e 20 54 68 65 0a 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 e-remote-p})..The.default.value.
e8bc0 69 73 20 60 60 2f 74 6d 70 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 62 61 63 6b 2d 65 6e 64 27 27 is.``/tmp/racket-mode-back-end''
e8be0 2e 0a 0a 40 69 74 65 6d 0a 3a 77 69 6e 64 6f 77 73 0a 0a 57 68 65 74 68 65 72 20 74 68 65 20 62 ...@item.:windows..Whether.the.b
e8c00 61 63 6b 20 65 6e 64 20 75 73 65 73 20 57 69 6e 64 6f 77 73 20 73 74 79 6c 65 20 70 61 74 68 20 ack.end.uses.Windows.style.path.
e8c20 6e 61 6d 65 73 2e 20 55 73 65 64 20 74 6f 0a 74 72 61 6e 73 6c 61 74 65 20 62 65 74 77 65 6e 20 names..Used.to.translate.betwen.
e8c40 73 6c 61 73 68 65 73 20 61 6e 64 20 62 61 63 6b 73 6c 61 73 68 65 73 20 62 65 74 77 65 65 6e 20 slashes.and.backslashes.between.
e8c60 74 68 65 20 45 6d 61 63 73 0a 66 72 6f 6e 74 20 65 6e 64 20 28 77 68 69 63 68 20 75 73 65 73 20 the.Emacs.front.end.(which.uses.
e8c80 73 6c 61 73 68 65 73 20 65 76 65 6e 20 6f 6e 20 57 69 6e 64 6f 77 73 29 20 61 6e 64 20 74 68 65 slashes.even.on.Windows).and.the
e8ca0 20 52 61 63 6b 65 74 0a 62 61 63 6b 20 65 6e 64 20 28 77 68 69 63 68 20 65 78 70 65 63 74 73 20 .Racket.back.end.(which.expects.
e8cc0 6e 61 74 69 76 65 20 62 61 63 6b 73 6c 61 73 68 65 73 20 6f 6e 20 57 69 6e 64 6f 77 73 29 2e 0a native.backslashes.on.Windows)..
e8ce0 0a 40 69 74 65 6d 0a 3a 72 65 73 74 61 72 74 2d 77 61 74 63 68 2d 64 69 72 65 63 74 6f 72 69 65 .@item.:restart-watch-directorie
e8d00 73 0a 0a 41 20 6c 69 73 74 20 6f 66 20 40 63 6f 64 65 7b 64 69 72 65 63 74 6f 72 79 2d 6e 61 6d s..A.list.of.@code{directory-nam
e8d20 65 2d 70 7d 20 73 74 72 69 6e 67 73 2e 20 45 61 63 68 20 64 69 72 65 63 74 6f 72 79 2c 20 61 6e e-p}.strings..Each.directory,.an
e8d40 64 0a 72 65 63 75 72 73 69 76 65 6c 79 20 69 74 73 20 73 75 62 64 69 72 65 63 74 6f 72 69 65 73 d.recursively.its.subdirectories
e8d60 2c 20 77 69 6c 6c 20 62 65 20 77 61 74 63 68 65 64 20 66 6f 72 20 66 69 6c 65 20 73 79 73 74 65 ,.will.be.watched.for.file.syste
e8d80 6d 0a 63 68 61 6e 67 65 73 2e 20 41 66 74 65 72 20 61 6e 79 20 63 68 61 6e 67 65 73 20 61 72 65 m.changes..After.any.changes.are
e8da0 20 64 65 74 65 63 74 65 64 2c 20 74 68 65 20 6e 65 78 74 0a 40 72 65 66 7b 72 61 63 6b 65 74 2d .detected,.the.next.@ref{racket-
e8dc0 72 75 6e 7d 20 28 6f 72 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d run}.(or.@ref{racket-run-module-
e8de0 61 74 2d 70 6f 69 6e 74 7d 20 65 74 63 2e 29 20 63 6f 6d 6d 61 6e 64 0a 77 69 6c 6c 20 61 73 6b at-point}.etc.).command.will.ask
e8e00 20 79 6f 75 20 69 66 20 69 74 20 73 68 6f 75 6c 64 20 72 65 73 74 61 72 74 20 74 68 65 20 62 61 .you.if.it.should.restart.the.ba
e8e20 63 6b 20 65 6e 64 20 66 6f 72 20 79 6f 75 2e 20 54 68 69 73 0a 6d 61 79 20 62 65 20 68 65 6c 70 ck.end.for.you..This.may.be.help
e8e40 66 75 6c 20 77 68 65 6e 20 79 6f 75 20 61 72 65 20 63 68 61 6e 67 69 6e 67 20 73 6f 75 72 63 65 ful.when.you.are.changing.source
e8e60 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 74 68 65 0a 62 61 63 6b 20 65 6e 64 2e 0a 40 65 6e .files.used.by.the.back.end..@en
e8e80 64 20 69 74 65 6d 69 7a 65 0a 0a 54 68 65 20 64 65 66 61 75 6c 74 20 70 72 6f 70 65 72 74 79 20 d.itemize..The.default.property.
e8ea0 76 61 6c 75 65 73 20 61 72 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 77 68 65 74 68 values.are.appropriate.for.wheth
e8ec0 65 72 0a 44 49 52 45 43 54 4f 52 59 20 69 73 20 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 65 3a er.DIRECTORY.is.local.or.remote:
e8ee0 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 57 68 65 6e 20 44 49 52 45 43 54 4f 52 59 20 ..@itemize.@item.When.DIRECTORY.
e8f00 69 73 20 72 65 6d 6f 74 65 2c 20 3a 77 69 6e 64 6f 77 73 20 64 65 66 61 75 6c 74 73 20 74 6f 20 is.remote,.:windows.defaults.to.
e8f20 6e 69 6c 2e 0a 0a 40 69 74 65 6d 0a 4f 74 68 65 72 77 69 73 65 2c 20 3a 77 69 6e 64 6f 77 73 20 nil...@item.Otherwise,.:windows.
e8f40 64 65 66 61 75 6c 74 73 20 74 6f 20 61 20 76 61 6c 75 65 20 62 61 73 65 64 20 6f 6e 20 40 63 6f defaults.to.a.value.based.on.@co
e8f60 64 65 7b 73 79 73 74 65 6d 2d 74 79 70 65 7d 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 41 de{system-type}..@end.itemize..A
e8f80 6c 74 68 6f 75 67 68 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 20 75 73 75 61 6c lthough.the.default.values.usual
e8fa0 6c 79 20 60 60 6a 75 73 74 20 77 6f 72 6b 27 27 20 66 6f 72 20 6c 6f 63 61 6c 20 61 6e 64 0a 72 ly.``just.work''.for.local.and.r
e8fc0 65 6d 6f 74 65 20 62 61 63 6b 20 65 6e 64 73 2c 20 79 6f 75 20 6d 69 67 68 74 20 77 61 6e 74 20 emote.back.ends,.you.might.want.
e8fe0 61 20 73 70 65 63 69 61 6c 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 48 65 72 65 0a 61 72 a.special.configuration..Here.ar
e9000 65 20 61 20 66 65 77 20 65 78 61 6d 70 6c 65 73 2e 0a 0a 40 6c 69 73 70 0a 20 20 20 20 3b 3b 20 e.a.few.examples...@lisp.....;;.
e9020 31 2e 20 41 20 62 61 63 6b 20 65 6e 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 6f 72 20 1..A.back.end.configuration.for.
e9040 22 2f 22 20 69 73 0a 20 20 20 20 3b 3b 20 63 72 65 61 74 65 64 20 61 75 74 6f 6d 61 74 69 63 61 "/".is.....;;.created.automatica
e9060 6c 6c 79 20 61 6e 64 20 77 6f 72 6b 73 20 66 69 6e 65 20 61 73 20 61 20 64 65 66 61 75 6c 74 0a lly.and.works.fine.as.a.default.
e9080 20 20 20 20 3b 3b 20 66 6f 72 20 62 75 66 66 65 72 73 20 76 69 73 69 74 69 6e 67 20 6c 6f 63 61 ....;;.for.buffers.visiting.loca
e90a0 6c 20 66 69 6c 65 73 2c 20 73 6f 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 0a 20 20 20 20 3b 3b l.files,.so.we.don't.need.....;;
e90c0 20 74 6f 20 61 64 64 20 6f 6e 65 20 68 65 72 65 2e 0a 0a 20 20 20 20 3b 3b 20 32 2e 20 48 6f 77 .to.add.one.here.......;;.2..How
e90e0 65 76 65 72 20 61 73 73 75 6d 65 20 77 65 20 77 61 6e 74 20 62 75 66 66 65 72 73 20 75 6e 64 65 ever.assume.we.want.buffers.unde
e9100 72 20 2f 76 61 72 2f 74 6d 70 2f 38 2e 30 0a 20 20 20 20 3b 3b 20 69 6e 73 74 65 61 64 20 74 6f r./var/tmp/8.0.....;;.instead.to
e9120 20 75 73 65 20 52 61 63 6b 65 74 20 38 2e 30 2e 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 61 64 64 .use.Racket.8.0......(racket-add
e9140 2d 62 61 63 6b 2d 65 6e 64 20 22 2f 76 61 72 2f 74 6d 70 2f 38 2e 30 22 0a 20 20 20 20 20 20 20 -back-end."/var/tmp/8.0"........
e9160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 ..................:racket-progra
e9180 6d 20 22 7e 2f 72 61 63 6b 65 74 2f 38 2e 30 2f 62 69 6e 2f 72 61 63 6b 65 74 22 29 0a 0a 20 20 m."~/racket/8.0/bin/racket")....
e91a0 20 20 3b 3b 20 33 2e 20 41 20 62 61 63 6b 20 65 6e 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e ..;;.3..A.back.end.configuration
e91c0 20 77 69 6c 6c 20 62 65 20 63 72 65 61 74 65 64 0a 20 20 20 20 3b 3b 20 61 75 74 6f 6d 61 74 69 .will.be.created.....;;.automati
e91e0 63 61 6c 6c 79 20 66 6f 72 20 62 75 66 66 65 72 73 20 76 69 73 69 74 69 6e 67 20 66 69 6c 65 20 cally.for.buffers.visiting.file.
e9200 6e 61 6d 65 73 20 6c 69 6b 65 0a 20 20 20 20 3b 3b 20 22 2f 73 73 68 3a 75 73 65 72 40 40 6c 69 names.like.....;;."/ssh:user@@li
e9220 6e 6f 64 65 22 2c 20 73 6f 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 61 64 64 20 6f node",.so.we.don't.need.to.add.o
e9240 6e 65 20 68 65 72 65 2e 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 49 66 20 7e 2f 2e 73 73 68 ne.here......;;.....;;.If.~/.ssh
e9260 2f 63 6f 6e 66 69 67 20 64 65 66 69 6e 65 73 20 61 20 48 6f 73 74 20 61 6c 69 61 73 20 6e 61 6d /config.defines.a.Host.alias.nam
e9280 65 64 20 22 6c 69 6e 6f 64 65 22 2c 0a 20 20 20 20 3b 3b 20 77 69 74 68 20 48 6f 73 74 4e 61 6d ed."linode",.....;;.with.HostNam
e92a0 65 20 61 6e 64 20 55 73 65 72 20 73 65 74 74 69 6e 67 73 2c 20 61 20 66 69 6c 65 20 6e 61 6d 65 e.and.User.settings,.a.file.name
e92c0 20 61 73 20 73 69 6d 70 6c 65 20 61 73 0a 20 20 20 20 3b 3b 20 22 2f 6c 69 6e 6f 64 65 3a 22 20 .as.simple.as.....;;."/linode:".
e92e0 77 6f 75 6c 64 20 77 6f 72 6b 20 66 69 6e 65 20 77 69 74 68 20 74 72 61 6d 70 20 2d 2d 20 61 6e would.work.fine.with.tramp.--.an
e9300 64 20 74 68 65 0a 20 20 20 20 3b 3b 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 72 65 61 74 d.the.....;;.automatically.creat
e9320 65 64 20 62 61 63 6b 20 65 6e 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 77 6f 75 6c 64 20 ed.back.end.configuration.would.
e9340 77 6f 72 6b 0a 20 20 20 20 3b 3b 20 66 69 6e 65 2c 20 74 6f 6f 2e 0a 0a 20 20 20 20 3b 3b 20 34 work.....;;.fine,.too.......;;.4
e9360 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 27 73 20 73 61 6b 65 2c 20 61 73 73 75 6d 65 20 66 6f 72 ..For.example's.sake,.assume.for
e9380 20 62 75 66 66 65 72 73 20 76 69 73 69 74 69 6e 67 0a 20 20 20 20 3b 3b 20 2f 73 73 68 3a 68 65 .buffers.visiting.....;;./ssh:he
e93a0 61 64 6c 65 73 73 3a 7e 2f 67 75 69 2d 70 72 6f 6a 65 63 74 2f 20 77 65 20 77 61 6e 74 20 3a 72 adless:~/gui-project/.we.want.:r
e93c0 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 20 69 6e 73 74 65 61 64 0a 20 20 20 20 3b 3b 20 74 6f 20 acket-program.instead.....;;.to.
e93e0 62 65 20 22 78 76 66 62 2d 72 75 6e 20 72 61 63 6b 65 74 22 2e 0a 20 20 20 20 28 72 61 63 6b 65 be."xvfb-run.racket"......(racke
e9400 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 20 22 2f 73 73 68 3a 68 65 61 64 6c 65 73 73 3a 7e 2f t-add-back-end."/ssh:headless:~/
e9420 67 75 69 2d 70 72 6f 6a 65 63 74 2f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gui-project/"...................
e9440 20 20 20 20 20 20 20 3a 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 20 22 78 76 66 62 2d 72 75 6e .......:racket-program."xvfb-run
e9460 20 72 61 63 6b 65 74 22 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 52 75 6e 6e 69 .racket").@end.lisp..@node.Runni
e9480 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 ng.racket.and.raco.commands.in.a
e94a0 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 28 31 29 0a 40 73 65 63 74 69 6f 6e 20 .shell.or.terminal.(1).@section.
e94c0 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 Running.racket.and.raco.commands
e94e0 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 0a 0a 40 6d 65 6e 75 0a 2a .in.a.shell.or.terminal..@menu.*
e9500 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 74 65 72 6d 3a 3a 0a .racket-shell::.*.racket-term::.
e9520 2a 20 72 61 63 6b 65 74 2d 61 6e 73 69 2d 74 65 72 6d 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 76 74 *.racket-ansi-term::.*.racket-vt
e9540 65 72 6d 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 73 68 erm::.@end.menu..@node.racket-sh
e9560 65 6c 6c 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 0a 0a 40 63 ell.@subsection.racket-shell..@c
e9580 6f 64 65 7b 28 72 61 63 6b 65 74 2d 73 68 65 6c 6c 20 63 6d 64 29 7d 0a 0a 0a 52 75 6e 20 43 4d ode{(racket-shell.cmd)}...Run.CM
e95a0 44 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 73 68 65 6c 6c 7d 2e 0a 0a 41 20 76 61 6c 75 65 20 66 D.using.@code{shell}...A.value.f
e95c0 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 68 65 6c or.the.variable.@ref{racket-shel
e95e0 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 7d 2e 0a 0a 40 6e 6f 64 65 20 l-or-terminal-function}...@node.
e9600 72 61 63 6b 65 74 2d 74 65 72 6d 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 74 racket-term.@subsection.racket-t
e9620 65 72 6d 0a 0a 40 63 6f 64 65 7b 28 72 61 63 6b 65 74 2d 74 65 72 6d 20 63 6d 64 29 7d 0a 0a 0a erm..@code{(racket-term.cmd)}...
e9640 52 75 6e 20 43 4d 44 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 74 65 72 6d 7d 2e 0a 0a 41 20 76 61 Run.CMD.using.@code{term}...A.va
e9660 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 lue.for.the.variable.@ref{racket
e9680 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 7d 2e 0a 0a 40 -shell-or-terminal-function}...@
e96a0 6e 6f 64 65 20 72 61 63 6b 65 74 2d 61 6e 73 69 2d 74 65 72 6d 0a 40 73 75 62 73 65 63 74 69 6f node.racket-ansi-term.@subsectio
e96c0 6e 20 72 61 63 6b 65 74 2d 61 6e 73 69 2d 74 65 72 6d 0a 0a 40 63 6f 64 65 7b 28 72 61 63 6b 65 n.racket-ansi-term..@code{(racke
e96e0 74 2d 61 6e 73 69 2d 74 65 72 6d 20 63 6d 64 29 7d 0a 0a 0a 52 75 6e 20 43 4d 44 20 75 73 69 6e t-ansi-term.cmd)}...Run.CMD.usin
e9700 67 20 40 63 6f 64 65 7b 61 6e 73 69 2d 74 65 72 6d 7d 2e 0a 0a 41 20 76 61 6c 75 65 20 66 6f 72 g.@code{ansi-term}...A.value.for
e9720 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d .the.variable.@ref{racket-shell-
e9740 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 or-terminal-function}...@node.ra
e9760 63 6b 65 74 2d 76 74 65 72 6d 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 76 74 cket-vterm.@subsection.racket-vt
e9780 65 72 6d 0a 0a 40 63 6f 64 65 7b 28 72 61 63 6b 65 74 2d 76 74 65 72 6d 20 63 6d 64 29 7d 0a 0a erm..@code{(racket-vterm.cmd)}..
e97a0 0a 52 75 6e 20 43 4d 44 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 76 74 65 72 6d 7d 2c 20 69 66 20 .Run.CMD.using.@code{vterm},.if.
e97c0 74 68 61 74 20 70 61 63 6b 61 67 65 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 0a 41 20 76 61 that.package.is.installed...A.va
e97e0 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 lue.for.the.variable.@ref{racket
e9800 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 7d 2e 0a 0a 40 -shell-or-terminal-function}...@
e9820 6e 6f 64 65 20 46 61 63 65 73 0a 40 63 68 61 70 74 65 72 20 46 61 63 65 73 0a 0a 40 6d 65 6e 75 node.Faces.@chapter.Faces..@menu
e9840 0a 2a 20 41 6c 6c 3a 3a 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 41 6c 6c 0a 40 73 .*.All::.@end.menu..@node.All.@s
e9860 65 63 74 69 6f 6e 20 41 6c 6c 0a 0a 40 6d 65 6e 75 0a 2a 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f ection.All..@menu.*.racket-keywo
e9880 72 64 2d 61 72 67 75 6d 65 6e 74 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 61 64 rd-argument-face::.*.racket-read
e98a0 65 72 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 er-quoted-symbol-face::.*.racket
e98c0 2d 72 65 61 64 65 72 2d 73 79 6e 74 61 78 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 -reader-syntax-quoted-symbol-fac
e98e0 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 65 72 65 2d 73 74 72 69 6e 67 2d 66 61 63 65 3a 3a 0a e::.*.racket-here-string-face::.
e9900 2a 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d *.racket-xp-def-face::.*.racket-
e9920 78 70 2d 75 73 65 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 75 6e 75 73 65 64 xp-use-face::.*.racket-xp-unused
e9940 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 2d -face::.*.racket-xp-tail-target-
e9960 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e face::.*.racket-xp-tail-position
e9980 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 -face::.*.racket-xp-binding-lang
e99a0 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 -face::.*.racket-xp-binding-lang
e99c0 2d 75 73 65 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d -use-face::.*.racket-xp-binding-
e99e0 69 6d 70 6f 72 74 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e import-face::.*.racket-xp-bindin
e9a00 67 2d 69 6d 70 6f 72 74 2d 75 73 65 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d g-import-use-face::.*.racket-xp-
e9a20 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 binding-local-face::.*.racket-xp
e9a40 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 75 73 65 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b -binding-local-use-face::.*.rack
e9a60 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 et-logger-config-face::.*.racket
e9a80 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f -logger-topic-face::.*.racket-lo
e9aa0 67 67 65 72 2d 66 61 74 61 6c 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 gger-fatal-face::.*.racket-logge
e9ac0 72 2d 65 72 72 6f 72 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 77 r-error-face::.*.racket-logger-w
e9ae0 61 72 6e 69 6e 67 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 69 6e arning-face::.*.racket-logger-in
e9b00 66 6f 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 64 65 62 75 67 2d fo-face::.*.racket-logger-debug-
e9b20 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 66 61 63 65 3a 3a 0a face::.*.racket-doc-link-face::.
e9b40 2a 20 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 *.racket-ext-link-face::.*.racke
e9b60 74 2d 64 6f 63 2d 6f 75 74 70 75 74 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 t-doc-output-face::.*.racket-doc
e9b80 2d 6c 69 74 63 68 61 72 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 65 -litchar-face::.*.racket-repl-me
e9ba0 73 73 61 67 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 3a 3a 0a 2a ssage::.*.racket-repl-prompt::.*
e9bc0 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 76 61 6c 75 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 .racket-repl-value::.*.racket-re
e9be0 70 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c pl-error-message::.*.racket-repl
e9c00 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d -error-location::.*.racket-repl-
e9c20 73 74 64 6f 75 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 65 72 72 3a 3a 0a stdout::.*.racket-repl-stderr::.
e9c40 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 2d @end.menu..@node.racket-keyword-
e9c60 61 72 67 75 6d 65 6e 74 2d 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 argument-face.@subsection.racket
e9c80 2d 6b 65 79 77 6f 72 64 2d 61 72 67 75 6d 65 6e 74 2d 66 61 63 65 0a 0a 46 61 63 65 20 66 6f 72 -keyword-argument-face..Face.for
e9ca0 20 40 63 6f 64 65 7b 23 3a 6b 65 79 77 6f 72 64 7d 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 40 6e .@code{#:keyword}.arguments...@n
e9cc0 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d ode.racket-reader-quoted-symbol-
e9ce0 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 71 face.@subsection.racket-reader-q
e9d00 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 0a 0a 46 61 63 65 20 66 6f 72 20 73 79 6d 62 uoted-symbol-face..Face.for.symb
e9d20 6f 6c 73 20 71 75 6f 74 65 64 20 75 73 69 6e 67 20 27 20 6f 72 20 60 2e 0a 0a 54 68 69 73 20 66 ols.quoted.using.'.or.`...This.f
e9d40 61 63 65 20 69 73 20 67 69 76 65 6e 20 6f 6e 6c 79 20 74 6f 20 73 79 6d 62 6f 6c 73 20 64 69 72 ace.is.given.only.to.symbols.dir
e9d60 65 63 74 6c 79 20 71 75 6f 74 65 64 20 75 73 69 6e 67 20 74 68 65 0a 72 65 61 64 65 72 20 73 68 ectly.quoted.using.the.reader.sh
e9d80 6f 72 74 68 61 6e 64 73 20 27 20 6f 72 20 60 2e 20 41 6c 6c 20 6f 74 68 65 72 20 64 69 72 65 63 orthands.'.or.`..All.other.direc
e9da0 74 6c 79 20 71 75 6f 74 65 64 20 76 61 6c 75 65 73 2c 0a 69 6e 63 6c 75 64 69 6e 67 20 73 79 6d tly.quoted.values,.including.sym
e9dc0 62 6f 6c 73 20 71 75 6f 74 65 64 20 75 73 69 6e 67 20 60 60 71 75 6f 74 65 27 27 20 6f 72 20 60 bols.quoted.using.``quote''.or.`
e9de0 60 71 75 61 73 69 71 75 6f 74 65 27 27 2c 20 67 65 74 0a 74 68 65 20 66 61 63 65 20 40 63 6f 64 `quasiquote'',.get.the.face.@cod
e9e00 65 7b 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74 2d 66 61 63 65 7d 2e 0a 0a 40 6e 6f e{font-lock-constant-face}...@no
e9e20 64 65 20 72 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 73 79 6e 74 61 78 2d 71 75 6f 74 65 64 2d 73 de.racket-reader-syntax-quoted-s
e9e40 79 6d 62 6f 6c 2d 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 ymbol-face.@subsection.racket-re
e9e60 61 64 65 72 2d 73 79 6e 74 61 78 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 0a 0a ader-syntax-quoted-symbol-face..
e9e80 46 61 63 65 20 66 6f 72 20 73 79 6d 62 6f 6c 73 20 71 75 6f 74 65 64 20 75 73 69 6e 67 20 23 27 Face.for.symbols.quoted.using.#'
e9ea0 20 6f 72 20 23 60 2e 0a 0a 54 68 69 73 20 66 61 63 65 20 69 73 20 67 69 76 65 6e 20 6f 6e 6c 79 .or.#`...This.face.is.given.only
e9ec0 20 74 6f 20 73 79 6d 62 6f 6c 73 20 64 69 72 65 63 74 6c 79 20 71 75 6f 74 65 64 20 75 73 69 6e .to.symbols.directly.quoted.usin
e9ee0 67 20 74 68 65 0a 72 65 61 64 65 72 20 73 68 6f 72 74 68 61 6e 64 73 20 23 27 20 6f 72 20 23 60 g.the.reader.shorthands.#'.or.#`
e9f00 2e 20 41 6c 6c 20 6f 74 68 65 72 20 64 69 72 65 63 74 6c 79 20 71 75 6f 74 65 64 0a 76 61 6c 75 ..All.other.directly.quoted.valu
e9f20 65 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 79 6d 62 6f 6c 73 20 71 75 6f 74 65 64 20 75 73 69 es,.including.symbols.quoted.usi
e9f40 6e 67 20 60 60 73 79 6e 74 61 78 27 27 20 6f 72 0a 60 60 71 75 61 73 69 73 79 6e 74 61 78 27 27 ng.``syntax''.or.``quasisyntax''
e9f60 2c 20 67 65 74 20 74 68 65 20 66 61 63 65 20 40 63 6f 64 65 7b 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 ,.get.the.face.@code{font-lock-c
e9f80 6f 6e 73 74 61 6e 74 2d 66 61 63 65 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 68 65 72 onstant-face}...@node.racket-her
e9fa0 65 2d 73 74 72 69 6e 67 2d 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 e-string-face.@subsection.racket
e9fc0 2d 68 65 72 65 2d 73 74 72 69 6e 67 2d 66 61 63 65 0a 0a 46 61 63 65 20 66 6f 72 20 68 65 72 65 -here-string-face..Face.for.here
e9fe0 20 73 74 72 69 6e 67 73 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 2d 66 .strings...@node.racket-xp-def-f
ea000 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 2d 66 61 ace.@subsection.racket-xp-def-fa
ea020 63 65 0a 0a 46 61 63 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 75 73 ce..Face.@ref{racket-xp-mode}.us
ea040 65 73 20 77 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 61 20 64 65 66 69 6e 69 74 69 6f 6e es.when.point.is.on.a.definition
ea060 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d 66 61 63 65 0a 40 73 75 62 ...@node.racket-xp-use-face.@sub
ea080 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d 66 61 63 65 0a 0a 46 61 63 65 section.racket-xp-use-face..Face
ea0a0 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 75 73 65 73 20 77 68 65 6e 20 .@ref{racket-xp-mode}.uses.when.
ea0c0 70 6f 69 6e 74 20 69 73 20 6f 6e 20 61 20 75 73 65 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 point.is.on.a.use...@node.racket
ea0e0 2d 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b -xp-unused-face.@subsection.rack
ea100 65 74 2d 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 65 0a 0a 46 61 63 65 20 40 72 65 66 7b 72 61 63 et-xp-unused-face..Face.@ref{rac
ea120 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 75 73 65 73 20 74 6f 20 68 69 67 68 6c 69 67 68 74 20 75 ket-xp-mode}.uses.to.highlight.u
ea140 6e 75 73 65 64 20 72 65 71 75 69 72 65 73 20 6f 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a nused.requires.or.definitions...
ea160 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 2d 66 61 63 65 @node.racket-xp-tail-target-face
ea180 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 .@subsection.racket-xp-tail-targ
ea1a0 65 74 2d 66 61 63 65 0a 0a 46 61 63 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 et-face..Face.@ref{racket-xp-mod
ea1c0 65 7d 20 75 73 65 73 20 74 6f 20 68 69 67 68 6c 69 67 68 74 20 74 61 72 67 65 74 73 20 6f 66 20 e}.uses.to.highlight.targets.of.
ea1e0 61 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 a.tail.position...@node.racket-x
ea200 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 2d 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e p-tail-position-face.@subsection
ea220 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 2d 66 61 63 65 0a 0a 46 .racket-xp-tail-position-face..F
ea240 61 63 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 75 73 65 73 20 74 6f ace.@ref{racket-xp-mode}.uses.to
ea260 20 68 69 67 68 6c 69 67 68 74 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 6e 20 61 20 74 61 69 6c .highlight.expressions.in.a.tail
ea280 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 .position...@node.racket-xp-bind
ea2a0 69 6e 67 2d 6c 61 6e 67 2d 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 ing-lang-face.@subsection.racket
ea2c0 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 66 61 63 65 0a 0a 46 61 63 65 20 40 72 65 66 -xp-binding-lang-face..Face.@ref
ea2e0 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 67 69 76 65 73 20 74 6f 20 74 68 65 20 6d 6f {racket-xp-mode}.gives.to.the.mo
ea300 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 20 6e 61 6d 65 2e 0a 0a 53 65 65 20 74 68 65 20 76 61 72 dule.language.name...See.the.var
ea320 69 61 62 6c 65 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d iable.@code{nil}...@node.racket-
ea340 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 75 73 65 2d 66 61 63 65 0a 40 73 75 62 73 65 63 xp-binding-lang-use-face.@subsec
ea360 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 75 73 65 2d tion.racket-xp-binding-lang-use-
ea380 66 61 63 65 0a 0a 46 61 63 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 face..Face.@ref{racket-xp-mode}.
ea3a0 67 69 76 65 73 20 75 73 65 73 20 6f 66 20 62 69 6e 64 69 6e 67 73 20 69 6d 70 6f 72 74 65 64 20 gives.uses.of.bindings.imported.
ea3c0 66 72 6f 6d 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 53 65 65 20 74 from.the.module.language...See.t
ea3e0 68 65 20 76 61 72 69 61 62 6c 65 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 40 6e 6f 64 65 20 72 he.variable.@code{nil}...@node.r
ea400 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 66 61 63 65 0a 40 73 75 acket-xp-binding-import-face.@su
ea420 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 bsection.racket-xp-binding-impor
ea440 74 2d 66 61 63 65 0a 0a 46 61 63 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 t-face..Face.@ref{racket-xp-mode
ea460 7d 20 67 69 76 65 73 20 74 6f 20 69 6d 70 6f 72 74 65 64 20 6d 6f 64 75 6c 65 20 6e 61 6d 65 73 }.gives.to.imported.module.names
ea480 2e 0a 0a 53 65 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a ...See.the.variable.@code{nil}..
ea4a0 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d .@node.racket-xp-binding-import-
ea4c0 75 73 65 2d 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 62 use-face.@subsection.racket-xp-b
ea4e0 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 75 73 65 2d 66 61 63 65 0a 0a 46 61 63 65 20 40 72 65 inding-import-use-face..Face.@re
ea500 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 67 69 76 65 73 20 75 73 65 73 20 6f 66 20 f{racket-xp-mode}.gives.uses.of.
ea520 69 6d 70 6f 72 74 65 64 20 62 69 6e 64 69 6e 67 73 2e 0a 0a 53 65 65 20 74 68 65 20 76 61 72 69 imported.bindings...See.the.vari
ea540 61 62 6c 65 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 78 able.@code{nil}...@node.racket-x
ea560 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e p-binding-local-face.@subsection
ea580 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 66 61 63 65 0a 0a 46 .racket-xp-binding-local-face..F
ea5a0 61 63 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 7d 20 67 69 76 65 73 20 74 ace.@ref{racket-xp-mode}.gives.t
ea5c0 6f 20 6c 6f 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 53 65 65 20 74 68 65 20 76 61 o.local.definitions...See.the.va
ea5e0 72 69 61 62 6c 65 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 riable.@code{nil}...@node.racket
ea600 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 75 73 65 2d 66 61 63 65 0a 40 73 75 62 73 -xp-binding-local-use-face.@subs
ea620 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 75 ection.racket-xp-binding-local-u
ea640 73 65 2d 66 61 63 65 0a 0a 46 61 63 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 se-face..Face.@ref{racket-xp-mod
ea660 65 7d 20 67 69 76 65 73 20 74 6f 20 75 73 65 73 20 6f 66 20 6c 6f 63 61 6c 20 64 65 66 69 6e 69 e}.gives.to.uses.of.local.defini
ea680 74 69 6f 6e 73 2e 0a 0a 53 65 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 40 63 6f 64 65 7b 6e tions...See.the.variable.@code{n
ea6a0 69 6c 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 il}...@node.racket-logger-config
ea6c0 2d 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d -face.@subsection.racket-logger-
ea6e0 63 6f 6e 66 69 67 2d 66 61 63 65 0a 0a 46 61 63 65 20 66 6f 72 20 40 72 65 66 7b 72 61 63 6b 65 config-face..Face.for.@ref{racke
ea700 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 7d 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 0a 0a 40 t-logger-mode}.configuration...@
ea720 6e 6f 64 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 66 61 63 65 0a 40 73 node.racket-logger-topic-face.@s
ea740 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 66 61 ubsection.racket-logger-topic-fa
ea760 63 65 0a 0a 46 61 63 65 20 66 6f 72 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d ce..Face.for.@ref{racket-logger-
ea780 6d 6f 64 65 7d 20 74 6f 70 69 63 73 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 mode}.topics...@node.racket-logg
ea7a0 65 72 2d 66 61 74 61 6c 2d 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 er-fatal-face.@subsection.racket
ea7c0 2d 6c 6f 67 67 65 72 2d 66 61 74 61 6c 2d 66 61 63 65 0a 0a 46 61 63 65 20 66 6f 72 20 40 72 65 -logger-fatal-face..Face.for.@re
ea7e0 66 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 7d 20 66 61 74 61 6c 20 6c 65 76 65 f{racket-logger-mode}.fatal.leve
ea800 6c 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 65 72 72 6f 72 2d 66 61 l...@node.racket-logger-error-fa
ea820 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 65 72 72 ce.@subsection.racket-logger-err
ea840 6f 72 2d 66 61 63 65 0a 0a 46 61 63 65 20 66 6f 72 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6c 6f or-face..Face.for.@ref{racket-lo
ea860 67 67 65 72 2d 6d 6f 64 65 7d 20 65 72 72 6f 72 20 6c 65 76 65 6c 2e 0a 0a 40 6e 6f 64 65 20 72 gger-mode}.error.level...@node.r
ea880 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 77 61 72 6e 69 6e 67 2d 66 61 63 65 0a 40 73 75 62 73 65 acket-logger-warning-face.@subse
ea8a0 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 77 61 72 6e 69 6e 67 2d 66 61 63 65 ction.racket-logger-warning-face
ea8c0 0a 0a 46 61 63 65 20 66 6f 72 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f ..Face.for.@ref{racket-logger-mo
ea8e0 64 65 7d 20 77 61 72 6e 69 6e 67 20 6c 65 76 65 6c 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 de}.warning.level...@node.racket
ea900 2d 6c 6f 67 67 65 72 2d 69 6e 66 6f 2d 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 -logger-info-face.@subsection.ra
ea920 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 69 6e 66 6f 2d 66 61 63 65 0a 0a 46 61 63 65 20 66 6f 72 20 cket-logger-info-face..Face.for.
ea940 40 72 65 66 7b 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 7d 20 69 6e 66 6f 20 6c 65 @ref{racket-logger-mode}.info.le
ea960 76 65 6c 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 64 65 62 75 67 2d vel...@node.racket-logger-debug-
ea980 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 64 face.@subsection.racket-logger-d
ea9a0 65 62 75 67 2d 66 61 63 65 0a 0a 46 61 63 65 20 66 6f 72 20 40 72 65 66 7b 72 61 63 6b 65 74 2d ebug-face..Face.for.@ref{racket-
ea9c0 6c 6f 67 67 65 72 2d 6d 6f 64 65 7d 20 64 65 62 75 67 20 6c 65 76 65 6c 2e 0a 0a 40 6e 6f 64 65 logger-mode}.debug.level...@node
ea9e0 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f .racket-doc-link-face.@subsectio
eaa00 6e 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 66 61 63 65 0a 0a 46 61 63 65 20 40 63 6f n.racket-doc-link-face..Face.@co
eaa20 64 65 7b 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 7d 20 75 73 65 73 20 66 6f de{racket-describe-mode}.uses.fo
eaa40 72 20 6c 69 6e 6b 73 20 77 69 74 68 69 6e 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 4e 6f r.links.within.documentation..No
eaa60 74 65 3a 20 57 68 65 6e 20 73 6f 6d 65 20 73 70 65 63 69 61 6c 20 66 61 63 65 20 69 73 20 61 6c te:.When.some.special.face.is.al
eaa80 72 65 61 64 79 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 0a 64 6f 63 75 6d 65 6e 74 61 ready.specified.by.the.documenta
eaaa0 74 69 6f 6e 2c 20 74 68 65 6e 20 74 6f 20 61 76 6f 69 64 20 76 69 73 75 61 6c 20 63 6c 75 74 74 tion,.then.to.avoid.visual.clutt
eaac0 65 72 20 74 68 69 73 20 66 61 63 65 20 69 73 20 4e 4f 54 20 61 6c 73 6f 0a 61 64 64 65 64 2e 0a er.this.face.is.NOT.also.added..
eaae0 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 2d 66 61 63 65 0a 40 73 75 62 .@node.racket-ext-link-face.@sub
eab00 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 2d 66 61 63 65 0a 0a 46 61 section.racket-ext-link-face..Fa
eab20 63 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 7d 20 75 ce.@code{racket-describe-mode}.u
eab40 73 65 73 20 66 6f 72 20 65 78 74 65 72 6e 61 6c 20 6c 69 6e 6b 73 2e 0a 53 65 65 20 74 68 65 20 ses.for.external.links..See.the.
eab60 76 61 72 69 61 62 6c 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d variable.@ref{racket-browse-url-
eab80 66 75 6e 63 74 69 6f 6e 7d 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6f 75 74 function}...@node.racket-doc-out
eaba0 70 75 74 2d 66 61 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 64 6f 63 2d put-face.@subsection.racket-doc-
eabc0 6f 75 74 70 75 74 2d 66 61 63 65 0a 0a 46 61 63 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 output-face..Face.@code{racket-d
eabe0 65 73 63 72 69 62 65 2d 6d 6f 64 65 7d 20 75 73 65 73 20 66 6f 72 20 53 63 72 69 62 62 6c 65 20 escribe-mode}.uses.for.Scribble.
eac00 40 40 65 78 61 6d 70 6c 65 20 6f 72 20 40 40 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 6f 75 74 70 @@example.or.@@interactions.outp
eac20 75 74 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 74 63 68 61 72 2d 66 61 ut...@node.racket-doc-litchar-fa
eac40 63 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 74 63 68 61 ce.@subsection.racket-doc-litcha
eac60 72 2d 66 61 63 65 0a 0a 46 61 63 65 20 40 63 6f 64 65 7b 72 61 63 6b 65 74 2d 64 65 73 63 72 69 r-face..Face.@code{racket-descri
eac80 62 65 2d 6d 6f 64 65 7d 20 75 73 65 73 20 66 6f 72 20 53 63 72 69 62 62 6c 65 20 40 40 6c 69 74 be-mode}.uses.for.Scribble.@@lit
eaca0 63 68 61 72 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 char...@node.racket-repl-message
eacc0 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 .@subsection.racket-repl-message
eace0 0a 0a 46 61 63 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 75 73 ..Face.@ref{racket-repl-mode}.us
ead00 65 73 20 66 6f 72 20 6d 65 73 73 61 67 65 73 20 66 72 6f 6d 20 74 68 65 20 62 61 63 6b 20 65 6e es.for.messages.from.the.back.en
ead20 64 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 0a 40 73 75 d...@node.racket-repl-prompt.@su
ead40 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 0a 0a 46 61 63 bsection.racket-repl-prompt..Fac
ead60 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 75 73 65 73 20 66 6f e.@ref{racket-repl-mode}.uses.fo
ead80 72 20 70 72 6f 6d 70 74 73 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 76 61 r.prompts...@node.racket-repl-va
eada0 6c 75 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 76 61 6c 75 lue.@subsection.racket-repl-valu
eadc0 65 0a 0a 46 61 63 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 75 e..Face.@ref{racket-repl-mode}.u
eade0 73 65 73 20 66 6f 72 20 76 61 6c 75 65 73 20 6f 75 74 70 75 74 20 62 79 20 63 75 72 72 65 6e 74 ses.for.values.output.by.current
eae00 2d 70 72 69 6e 74 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 -print...@node.racket-repl-error
eae20 2d 6d 65 73 73 61 67 65 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c -message.@subsection.racket-repl
eae40 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 0a 0a 46 61 63 65 20 40 72 65 66 7b 72 61 63 6b 65 74 -error-message..Face.@ref{racket
eae60 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 75 73 65 73 20 66 6f 72 20 65 72 72 6f 72 20 6d 65 73 73 61 -repl-mode}.uses.for.error.messa
eae80 67 65 73 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6c 6f ges...@node.racket-repl-error-lo
eaea0 63 61 74 69 6f 6e 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 cation.@subsection.racket-repl-e
eaec0 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 0a 0a 46 61 63 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d rror-location..Face.@ref{racket-
eaee0 72 65 70 6c 2d 6d 6f 64 65 7d 20 75 73 65 73 20 66 6f 72 20 65 72 72 6f 72 20 6c 6f 63 61 74 69 repl-mode}.uses.for.error.locati
eaf00 6f 6e 73 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 6f 75 74 0a 40 ons...@node.racket-repl-stdout.@
eaf20 73 75 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 6f 75 74 0a 0a 46 subsection.racket-repl-stdout..F
eaf40 61 63 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 75 73 65 73 20 ace.@ref{racket-repl-mode}.uses.
eaf60 66 6f 72 20 6f 75 74 70 75 74 20 74 6f 20 63 75 72 72 65 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 for.output.to.current-output-por
eaf80 74 2e 0a 0a 40 6e 6f 64 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 65 72 72 0a 40 73 75 t...@node.racket-repl-stderr.@su
eafa0 62 73 65 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 65 72 72 0a 0a 46 61 63 bsection.racket-repl-stderr..Fac
eafc0 65 20 40 72 65 66 7b 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 7d 20 75 73 65 73 20 66 6f e.@ref{racket-repl-mode}.uses.fo
eafe0 72 20 6f 75 74 70 75 74 20 74 6f 20 63 75 72 72 65 6e 74 2d 65 72 72 6f 72 2d 70 6f 72 74 2e 0a r.output.to.current-error-port..
eb000 0a 40 62 79 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .@bye...........................
eb020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb200 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
eb220 72 61 63 6b 65 74 2d 63 6d 64 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-cmd.el...................
eb240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
eb280 30 30 33 35 35 33 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 32 31 37 00 20 30 00 00 00 0035537.00000000000.016217..0...
eb2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
eb320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
eb340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb400 3b 3b 3b 20 72 61 63 6b 65 74 2d 63 6d 64 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 ;;;.racket-cmd.el.-*-.lexical-bi
eb420 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 nding:.t;.-*-..;;.Copyright.(c).
eb440 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 2013-2022.by.Greg.Hendershott..;
eb460 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d 31 39 ;.Portions.Copyright.(C).1985-19
eb480 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 86,.1999-2013.Free.Software.Foun
eb4a0 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 65 dation,.Inc...;;.Author:.Greg.He
eb4c0 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 ndershott.;;.URL:.https://github
eb4e0 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 .com/greghendershott/racket-mode
eb500 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 ..;;.SPDX-License-Identifier:.GP
eb520 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 3b 20 42 61 63 6b 20 65 6e 64 3a 20 70 72 L-3.0-or-later..;;;.Back.end:.pr
eb540 6f 63 65 73 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0a 0a 28 72 65 71 75 69 72 65 20 27 72 61 ocess.and.commands..(require.'ra
eb560 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d cket-back-end).(require.'racket-
eb580 63 75 73 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 28 custom).(require.'racket-util).(
eb5a0 72 65 71 75 69 72 65 20 27 74 72 61 6d 70 29 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 require.'tramp).(require.'cl-lib
eb5c0 29 0a 28 72 65 71 75 69 72 65 20 27 73 65 71 29 0a 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d ).(require.'seq).(require.'subr-
eb5e0 78 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 20 72 61 63 6b 65 74 2d 2d 64 x)..(declare-function..racket--d
eb600 65 62 75 67 2d 6f 6e 2d 62 72 65 61 6b 20 22 72 61 63 6b 65 74 2d 64 65 62 75 67 22 20 28 72 65 ebug-on-break."racket-debug".(re
eb620 73 70 6f 6e 73 65 29 29 0a 28 61 75 74 6f 6c 6f 61 64 20 20 20 20 20 20 20 20 20 27 72 61 63 6b sponse)).(autoload.........'rack
eb640 65 74 2d 2d 64 65 62 75 67 2d 6f 6e 2d 62 72 65 61 6b 20 22 72 61 63 6b 65 74 2d 64 65 62 75 67 et--debug-on-break."racket-debug
eb660 22 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 20 72 61 63 6b 65 74 2d 2d 6c ")..(declare-function..racket--l
eb680 6f 67 67 65 72 2d 6f 6e 2d 6e 6f 74 69 66 79 20 22 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 22 20 ogger-on-notify."racket-logger".
eb6a0 28 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 20 73 74 72 29 29 0a 28 61 75 74 6f 6c 6f 61 64 20 20 (back-end-name.str)).(autoload..
eb6c0 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 6f 6e 2d 6e 6f 74 69 66 79 .......'racket--logger-on-notify
eb6e0 20 22 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 22 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 ."racket-logger")..(declare-func
eb700 74 69 6f 6e 20 20 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 6f 6e 2d 6e 6f 74 69 66 tion..racket--hash-lang-on-notif
eb720 79 20 22 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 22 20 28 69 64 20 76 29 29 0a 28 61 75 y."racket-hash-lang".(id.v)).(au
eb740 74 6f 6c 6f 61 64 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e toload.........'racket--hash-lan
eb760 67 2d 6f 6e 2d 6e 6f 74 69 66 79 20 22 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 22 29 0a g-on-notify."racket-hash-lang").
eb780 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c .(declare-function..racket--repl
eb7a0 2d 6f 6e 2d 6f 75 74 70 75 74 20 22 72 61 63 6b 65 74 2d 72 65 70 6c 22 20 28 73 65 73 73 69 6f -on-output."racket-repl".(sessio
eb7c0 6e 2d 69 64 20 6b 69 6e 64 20 76 61 6c 75 65 29 29 0a 28 61 75 74 6f 6c 6f 61 64 20 20 20 20 20 n-id.kind.value)).(autoload.....
eb7e0 20 20 20 20 27 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 6e 2d 6f 75 74 70 75 74 20 22 72 61 63 ....'racket--repl-on-output."rac
eb800 6b 65 74 2d 72 65 70 6c 22 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 76 ket-repl")..;;;###autoload.(defv
eb820 61 72 20 72 61 63 6b 65 74 2d 73 74 61 72 74 2d 62 61 63 6b 2d 65 6e 64 2d 68 6f 6f 6b 20 6e 69 ar.racket-start-back-end-hook.ni
eb840 6c 0a 20 20 22 48 6f 6f 6b 20 72 75 6e 20 61 66 74 65 72 20 60 72 61 63 6b 65 74 2d 73 74 61 72 l..."Hook.run.after.`racket-star
eb860 74 2d 62 61 63 6b 2d 65 6e 64 27 20 66 69 6e 69 73 68 65 73 20 73 75 63 63 65 73 73 66 75 6c 6c t-back-end'.finishes.successfull
eb880 79 2e 22 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 76 61 72 20 72 61 63 y.")..;;;###autoload.(defvar.rac
eb8a0 6b 65 74 2d 73 74 6f 70 2d 62 61 63 6b 2d 65 6e 64 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 48 6f ket-stop-back-end-hook.nil..."Ho
eb8c0 6f 6b 20 72 75 6e 20 62 65 66 6f 72 65 20 60 72 61 63 6b 65 74 2d 73 74 6f 70 2d 62 61 63 6b 2d ok.run.before.`racket-stop-back-
eb8e0 65 6e 64 27 2e 22 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 72 end'.")..;;;###autoload.(defun.r
eb900 61 63 6b 65 74 2d 73 74 61 72 74 2d 62 61 63 6b 2d 65 6e 64 20 28 29 0a 20 20 22 53 74 61 72 74 acket-start-back-end.()..."Start
eb920 20 61 20 62 61 63 6b 20 65 6e 64 20 70 72 6f 63 65 73 73 20 75 73 65 64 20 62 79 20 52 61 63 6b .a.back.end.process.used.by.Rack
eb940 65 74 20 4d 6f 64 65 2e 0a 0a 49 66 20 61 20 70 72 6f 63 65 73 73 20 69 73 20 61 6c 72 65 61 64 et.Mode...If.a.process.is.alread
eb960 79 20 73 74 61 72 74 65 64 2c 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 73 74 6f y.started,.this.command.will.sto
eb980 70 20 61 6e 64 20 72 65 73 74 61 72 74 20 69 74 2e 0a 0a 57 68 65 6e 20 73 75 63 63 65 73 73 66 p.and.restart.it...When.successf
eb9a0 75 6c 20 72 75 6e 73 20 74 68 65 20 68 6f 6f 6b 20 60 72 61 63 6b 65 74 2d 73 74 61 72 74 2d 62 ul.runs.the.hook.`racket-start-b
eb9c0 61 63 6b 2d 65 6e 64 2d 68 6f 6f 6b 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a ack-end-hook'."...(interactive).
eb9e0 20 20 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 76 61 6c 69 64 61 74 65 20 28 72 61 ..(racket--back-end-validate.(ra
eba00 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6f cket-back-end))...(racket--cmd-o
eba20 70 65 6e 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 72 61 63 pen))..;;;###autoload.(defun.rac
eba40 6b 65 74 2d 73 74 6f 70 2d 62 61 63 6b 2d 65 6e 64 20 28 29 0a 20 20 22 53 74 6f 70 20 61 20 62 ket-stop-back-end.()..."Stop.a.b
eba60 61 63 6b 20 65 6e 64 20 70 72 6f 63 65 73 73 20 75 73 65 64 20 62 79 20 52 61 63 6b 65 74 20 4d ack.end.process.used.by.Racket.M
eba80 6f 64 65 2e 0a 0a 42 65 66 6f 72 65 20 64 6f 69 6e 67 20 61 6e 79 74 68 69 6e 67 20 72 75 6e 73 ode...Before.doing.anything.runs
ebaa0 20 74 68 65 20 68 6f 6f 6b 20 60 72 61 63 6b 65 74 2d 73 74 6f 70 2d 62 61 63 6b 2d 65 6e 64 2d .the.hook.`racket-stop-back-end-
ebac0 68 6f 6f 6b 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 hook'."...(interactive)...(racke
ebae0 74 2d 2d 63 6d 64 2d 63 6c 6f 73 65 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 63 t--cmd-close))..(defun.racket--c
ebb00 6d 64 2d 6f 70 65 6e 2d 70 20 28 29 0a 20 20 22 44 6f 65 73 20 61 20 72 75 6e 6e 69 6e 67 20 70 md-open-p.()..."Does.a.running.p
ebb20 72 6f 63 65 73 73 20 65 78 69 73 74 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e rocess.exist.for.`racket-back-en
ebb40 64 2d 6e 61 6d 65 27 3f 22 0a 20 20 28 70 63 61 73 65 20 28 67 65 74 2d 70 72 6f 63 65 73 73 20 d-name'?"...(pcase.(get-process.
ebb60 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 28 (racket--back-end-process-name.(
ebb80 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 29 29 0a 20 20 20 20 28 28 61 6e 64 20 28 70 72 racket-back-end))).....((and.(pr
ebba0 65 64 20 28 70 72 6f 63 65 73 73 70 29 29 20 70 72 6f 63 29 0a 20 20 20 20 20 28 65 71 20 27 72 ed.(processp)).proc)......(eq.'r
ebbc0 75 6e 20 28 70 72 6f 63 65 73 73 2d 73 74 61 74 75 73 20 70 72 6f 63 29 29 29 29 29 0a 0a 28 6d un.(process-status.proc)))))..(m
ebbe0 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65 0a 20 27 72 61 63 6b 65 74 2d 61 ake-obsolete-variable..'racket-a
ebc00 64 6a 75 73 74 2d 72 75 6e 2d 72 6b 74 0a 20 22 54 68 69 73 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 djust-run-rkt.."This.is.no.longe
ebc20 72 20 73 75 70 70 6f 72 74 65 64 2e 22 0a 20 22 32 30 32 31 2d 30 38 2d 31 36 22 29 0a 0a 28 64 r.supported.".."2021-08-16")..(d
ebc40 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6f 70 65 6e 20 28 29 0a 20 20 3b 3b 20 41 76 efun.racket--cmd-open.()...;;.Av
ebc60 6f 69 64 20 65 78 63 65 73 73 20 70 72 6f 63 65 73 73 65 73 2f 62 75 66 66 65 72 73 20 6c 69 6b oid.excess.processes/buffers.lik
ebc80 65 20 22 72 61 63 6b 65 74 2d 70 72 6f 63 65 73 73 3c 31 3e 22 2e 0a 20 20 28 77 68 65 6e 20 28 e."racket-process<1>"....(when.(
ebca0 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6f 70 65 6e 2d 70 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d racket--cmd-open-p).....(racket-
ebcc0 2d 63 6d 64 2d 63 6c 6f 73 65 29 29 0a 20 20 3b 3b 20 47 69 76 65 20 74 68 65 20 70 72 6f 63 65 -cmd-close))...;;.Give.the.proce
ebce0 73 73 20 62 75 66 66 65 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 73 20 6f 66 20 ss.buffer.the.current.values.of.
ebd00 73 6f 6d 65 20 76 61 72 73 3b 20 73 65 65 0a 20 20 3b 3b 20 3c 68 74 74 70 73 3a 2f 2f 67 69 74 some.vars;.see...;;.<https://git
ebd20 68 75 62 2e 63 6f 6d 2f 70 75 72 63 65 6c 6c 2f 65 6e 76 72 63 2f 69 73 73 75 65 73 2f 32 32 3e hub.com/purcell/envrc/issues/22>
ebd40 2e 0a 20 20 28 63 6c 2d 6c 65 74 66 2a 20 28 28 28 64 65 66 61 75 6c 74 2d 76 61 6c 75 65 20 27 ....(cl-letf*.(((default-value.'
ebd60 70 72 6f 63 65 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 29 20 70 72 6f 63 65 73 73 2d 65 6e 76 process-environment).process-env
ebd80 69 72 6f 6e 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 64 65 66 61 75 6c 74 ironment)..............((default
ebda0 2d 76 61 6c 75 65 20 27 65 78 65 63 2d 70 61 74 68 29 20 20 20 20 20 20 20 20 20 20 20 65 78 65 -value.'exec-path)...........exe
ebdc0 63 2d 70 61 74 68 29 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 62 61 63 6b 2d 65 6e 64 20 28 72 c-path)).....(let*.((back-end.(r
ebde0 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 5f 20 28 acket-back-end))............(_.(
ebe00 77 68 65 6e 20 6e 6f 6e 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 when.noninteractive.............
ebe20 20 20 20 20 28 70 72 69 6e 63 20 28 66 6f 72 6d 61 74 20 22 62 61 63 6b 20 65 6e 64 20 69 73 20 ....(princ.(format."back.end.is.
ebe40 25 53 5c 6e 22 20 62 61 63 6b 2d 65 6e 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 %S\n".back-end))))............(p
ebe60 72 6f 63 65 73 73 2d 6e 61 6d 65 20 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 70 72 rocess-name.(racket--back-end-pr
ebe80 6f 63 65 73 73 2d 6e 61 6d 65 20 62 61 63 6b 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 ocess-name.back-end))...........
ebea0 20 28 70 72 6f 63 65 73 73 2d 6e 61 6d 65 2d 73 74 64 65 72 72 20 28 72 61 63 6b 65 74 2d 2d 62 .(process-name-stderr.(racket--b
ebec0 61 63 6b 2d 65 6e 64 2d 70 72 6f 63 65 73 73 2d 6e 61 6d 65 2d 73 74 64 65 72 72 20 62 61 63 6b ack-end-process-name-stderr.back
ebee0 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 64 65 72 72 20 28 6d 61 6b 65 2d -end))............(stderr.(make-
ebf00 70 69 70 65 2d 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pipe-process....................
ebf20 20 3a 6e 61 6d 65 20 20 20 20 20 70 72 6f 63 65 73 73 2d 6e 61 6d 65 2d 73 74 64 65 72 72 0a 20 .:name.....process-name-stderr..
ebf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 62 75 66 66 65 72 20 20 20 28 63 6f ...................:buffer...(co
ebf60 6e 63 61 74 20 22 20 22 20 70 72 6f 63 65 73 73 2d 6e 61 6d 65 2d 73 74 64 65 72 72 29 0a 20 20 ncat.".".process-name-stderr)...
ebf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6e 6f 71 75 65 72 79 20 20 74 0a 20 20 ..................:noquery..t...
ebfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 64 69 6e 67 20 20 20 27 75 74 66 ..................:coding...'utf
ebfc0 2d 38 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 69 6c 74 65 72 20 20 -8.....................:filter..
ebfe0 20 23 27 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 70 72 6f 63 65 73 73 2d 73 74 64 65 72 72 2d 66 69 .#'racket--cmd-process-stderr-fi
ec000 6c 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 65 6e 74 69 6e lter.....................:sentin
ec020 65 6c 20 23 27 69 67 6e 6f 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d el.#'ignore))............(local-
ec040 70 20 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 6c 6f 63 61 6c 2d 70 20 62 61 63 6b p.(racket--back-end-local-p.back
ec060 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 69 6e 2d 64 6f 74 2d 72 6b 74 20 -end))............(main-dot-rkt.
ec080 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (expand-file-name...............
ec0a0 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 61 69 6e 2e 72 6b 74 22 0a 20 20 20 20 20 20 20 20 20 ............"main.rkt"..........
ec0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6c 6f 63 61 6c 2d 70 0a 20 20 20 .................(if.local-p....
ec0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 ...........................racke
ec100 74 2d 2d 72 6b 74 2d 73 6f 75 72 63 65 2d 64 69 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t--rkt-source-dir...............
ec120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 65 6e 73 75 72 65 2d 75 70 ..............(racket--ensure-up
ec140 64 61 74 65 64 2d 62 61 63 6b 2d 65 6e 64 2d 6f 6e 2d 72 65 6d 6f 74 65 29 29 29 29 0a 20 20 20 dated-back-end-on-remote))))....
ec160 20 20 20 20 20 20 20 20 28 73 76 67 2d 66 6c 61 67 20 28 69 66 20 28 61 6e 64 20 28 62 6f 75 6e ........(svg-flag.(if.(and.(boun
ec180 64 70 20 27 69 6d 61 67 65 2d 74 79 70 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dp.'image-types)................
ec1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 62 6f 75 6e 64 70 20 27 69 6d 61 67 65 2d 74 ...............(fboundp.'image-t
ec1c0 79 70 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ype-available-p)................
ec1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 61 6e 64 20 28 6d 65 6d 71 20 27 73 ...............(or.(and.(memq.'s
ec200 76 67 20 69 6d 61 67 65 2d 74 79 70 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 vg.image-types).................
ec220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 2d 74 79 .......................(image-ty
ec240 70 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 20 27 73 76 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 pe-available-p.'svg))...........
ec260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6d 65 ........................(and.(me
ec280 6d 71 20 27 69 6d 61 67 65 6d 61 67 69 63 6b 20 69 6d 61 67 65 2d 74 79 70 65 73 29 0a 20 20 20 mq.'imagemagick.image-types)....
ec2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ec2c0 20 20 20 20 28 69 6d 61 67 65 2d 74 79 70 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 20 27 69 6d 61 ....(image-type-available-p.'ima
ec2e0 67 65 6d 61 67 69 63 6b 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gemagick))))....................
ec300 20 20 20 20 20 20 22 2d 2d 75 73 65 2d 73 76 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"--use-svg"...............
ec320 20 20 20 20 20 20 20 20 20 22 2d 2d 64 6f 2d 6e 6f 74 2d 75 73 65 2d 73 76 67 22 29 29 0a 20 20 ........."--do-not-use-svg"))...
ec340 20 20 20 20 20 20 20 20 20 28 61 72 67 73 20 20 20 20 28 6c 69 73 74 20 6d 61 69 6e 2d 64 6f 74 .........(args....(list.main-dot
ec360 2d 72 6b 74 20 73 76 67 2d 66 6c 61 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d -rkt.svg-flag))............(comm
ec380 61 6e 64 20 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 61 72 67 73 2d 3e 63 6f 6d 6d and.(racket--back-end-args->comm
ec3a0 61 6e 64 20 62 61 63 6b 2d 65 6e 64 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 and.back-end.args))............(
ec3c0 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 70 72 6f 63 65 73 process.............(make-proces
ec3e0 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6e 61 6d 65 20 20 20 20 20 20 20 20 20 20 20 20 s..............:name............
ec400 70 72 6f 63 65 73 73 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6e 6e 65 process-name..............:conne
ec420 63 74 69 6f 6e 2d 74 79 70 65 20 27 70 69 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6e ction-type.'pipe..............:n
ec440 6f 71 75 65 72 79 20 20 20 20 20 20 20 20 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 oquery.........t..............:c
ec460 6f 64 69 6e 67 20 20 20 20 20 20 20 20 20 20 27 75 74 66 2d 38 0a 20 20 20 20 20 20 20 20 20 20 oding..........'utf-8...........
ec480 20 20 20 3a 62 75 66 66 65 72 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 20 22 20 ...:buffer..........(concat.".".
ec4a0 70 72 6f 63 65 73 73 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 74 64 65 process-name)..............:stde
ec4c0 72 72 20 20 20 20 20 20 20 20 20 20 73 74 64 65 72 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 rr..........stderr..............
ec4e0 3a 63 6f 6d 6d 61 6e 64 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 :command.........command........
ec500 20 20 20 20 20 20 3a 66 69 6c 74 65 72 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d ......:filter..........#'racket-
ec520 2d 63 6d 64 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 -cmd-process-filter.............
ec540 20 3a 73 65 6e 74 69 6e 65 6c 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 2d 63 6d 64 2d .:sentinel........#'racket--cmd-
ec560 70 72 6f 63 65 73 73 2d 73 65 6e 74 69 6e 65 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 process-sentinel))............(s
ec580 74 61 74 75 73 20 28 70 72 6f 63 65 73 73 2d 73 74 61 74 75 73 20 70 72 6f 63 65 73 73 29 29 29 tatus.(process-status.process)))
ec5a0 0a 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 70 75 74 20 70 72 6f 63 65 73 73 20 27 72 61 63 .......(process-put.process.'rac
ec5c0 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 20 28 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 ket-back-end-name.(racket-back-e
ec5e0 6e 64 2d 6e 61 6d 65 20 62 61 63 6b 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 nd-name.back-end)).......(unless
ec600 20 28 65 71 20 73 74 61 74 75 73 20 27 72 75 6e 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 .(eq.status.'run).........(error
ec620 20 22 25 73 20 70 72 6f 63 65 73 73 20 73 74 61 74 75 73 20 69 73 20 6e 6f 74 20 5c 22 72 75 6e ."%s.process.status.is.not.\"run
ec640 5c 22 2c 20 69 6e 73 74 65 61 64 20 69 74 20 69 73 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 \",.instead.it.is.%s"...........
ec660 20 20 20 20 20 70 72 6f 63 65 73 73 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....process-name...............
ec680 20 73 74 61 74 75 73 29 29 0a 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 72 61 63 6b .status)).......(run-hooks.'rack
ec6a0 65 74 2d 73 74 61 72 74 2d 62 61 63 6b 2d 65 6e 64 2d 68 6f 6f 6b 29 29 29 29 0a 0a 28 64 65 66 et-start-back-end-hook))))..(def
ec6c0 75 6e 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 63 6c 6f 73 65 20 28 29 0a 20 20 22 44 65 6c 65 74 un.racket--cmd-close.()..."Delet
ec6e0 65 20 62 61 63 6b 20 65 6e 64 27 73 20 6d 61 69 6e 20 70 72 6f 63 65 73 73 2f 62 75 66 66 65 72 e.back.end's.main.process/buffer
ec700 20 61 6e 64 20 73 74 64 65 72 72 20 70 72 6f 63 65 73 73 2f 62 75 66 66 65 72 2e 22 0a 20 20 28 .and.stderr.process/buffer."...(
ec720 63 6c 2d 66 6c 65 74 20 28 28 64 65 6c 65 74 65 2d 70 72 6f 63 65 73 73 2f 62 75 66 66 65 72 0a cl-flet.((delete-process/buffer.
ec740 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 72 6f 63 65 73 73 2d 6e 61 .............(lambda.(process-na
ec760 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 70 72 me)................(when-let.(pr
ec780 6f 63 65 73 73 20 28 67 65 74 2d 70 72 6f 63 65 73 73 20 70 72 6f 63 65 73 73 2d 6e 61 6d 65 29 ocess.(get-process.process-name)
ec7a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 62 75 )..................(when-let.(bu
ec7c0 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 ffer.(get-buffer.(process-buffer
ec7e0 20 70 72 6f 63 65 73 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .process)))....................(
ec800 6b 69 6c 6c 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 kill-buffer.buffer))............
ec820 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 70 72 6f 63 65 73 73 20 70 72 6f 63 65 73 73 29 29 29 ......(delete-process.process)))
ec840 29 29 0a 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 62 61 63 6b 2d 65 6e 64 20 28 72 61 63 6b )).....(when-let.(back-end.(rack
ec860 65 74 2d 62 61 63 6b 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 et-back-end)).......(run-hooks.'
ec880 72 61 63 6b 65 74 2d 73 74 6f 70 2d 62 61 63 6b 2d 65 6e 64 2d 68 6f 6f 6b 29 0a 20 20 20 20 20 racket-stop-back-end-hook)......
ec8a0 20 28 64 65 6c 65 74 65 2d 70 72 6f 63 65 73 73 2f 62 75 66 66 65 72 20 28 72 61 63 6b 65 74 2d .(delete-process/buffer.(racket-
ec8c0 2d 62 61 63 6b 2d 65 6e 64 2d 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 20 20 20 20 20 20 20 62 61 -back-end-process-name........ba
ec8e0 63 6b 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 70 72 6f 63 65 73 73 2f 62 ck-end)).......(delete-process/b
ec900 75 66 66 65 72 20 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 70 72 6f 63 65 73 73 2d uffer.(racket--back-end-process-
ec920 6e 61 6d 65 2d 73 74 64 65 72 72 20 62 61 63 6b 2d 65 6e 64 29 29 29 29 29 0a 0a 28 64 65 66 75 name-stderr.back-end)))))..(defu
ec940 6e 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 70 72 6f 63 65 73 73 2d 73 65 6e 74 69 6e 65 6c 20 28 n.racket--cmd-process-sentinel.(
ec960 70 72 6f 63 20 65 76 65 6e 74 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 27 6f 70 65 6e 20 proc.event)...(unless.(eq.'open.
ec980 28 70 72 6f 63 65 73 73 2d 73 74 61 74 75 73 20 70 72 6f 63 29 29 0a 20 20 20 20 28 77 68 65 6e (process-status.proc)).....(when
ec9a0 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 65 78 69 74 65 64 20 61 62 6e 6f 72 6d 61 .(string-match-p."exited.abnorma
ec9c0 6c 6c 79 22 20 65 76 65 6e 74 29 0a 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 72 61 lly".event).......(run-hooks.'ra
ec9e0 63 6b 65 74 2d 73 74 6f 70 2d 62 61 63 6b 2d 65 6e 64 2d 68 6f 6f 6b 29 29 0a 20 20 20 20 28 6d cket-stop-back-end-hook)).....(m
eca00 65 73 73 61 67 65 20 22 7b 25 73 7d 20 25 73 22 20 28 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 70 essage."{%s}.%s".(process-name.p
eca20 72 6f 63 29 20 28 73 75 62 73 74 72 69 6e 67 20 65 76 65 6e 74 20 30 20 2d 31 29 29 29 29 0a 0a roc).(substring.event.0.-1))))..
eca40 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 70 72 6f 63 65 73 73 2d 73 74 64 65 72 (defun.racket--cmd-process-stder
eca60 72 2d 66 69 6c 74 65 72 20 28 70 72 6f 63 20 73 74 72 69 6e 67 29 0a 20 20 22 53 68 6f 77 20 62 r-filter.(proc.string)..."Show.b
eca80 61 63 6b 20 65 6e 64 20 70 72 6f 63 65 73 73 20 73 74 64 65 72 72 20 76 69 61 20 60 6d 65 73 73 ack.end.process.stderr.via.`mess
ecaa0 61 67 65 27 2e 0a 57 6f 6e 27 74 20 73 68 6f 77 20 6e 6f 69 73 65 20 6c 69 6b 65 20 5c 22 70 72 age'..Won't.show.noise.like.\"pr
ecac0 6f 63 65 73 73 20 66 69 6e 69 73 68 65 64 5c 22 20 69 66 20 73 74 64 65 72 72 20 70 72 6f 63 65 ocess.finished\".if.stderr.proce
ecae0 73 73 0a 73 65 6e 74 69 6e 65 6c 20 69 73 20 60 69 67 6e 6f 72 65 27 2e 22 0a 20 20 28 6d 65 73 ss.sentinel.is.`ignore'."...(mes
ecb00 73 61 67 65 20 22 7b 25 73 7d 20 25 73 5c 6e 22 20 70 72 6f 63 20 73 74 72 69 6e 67 29 29 0a 0a sage."{%s}.%s\n".proc.string))..
ecb20 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 (defun.racket--cmd-process-filte
ecb40 72 20 28 70 72 6f 63 20 73 74 72 69 6e 67 29 0a 20 20 22 52 65 61 64 20 61 6e 64 20 64 69 73 70 r.(proc.string)..."Read.and.disp
ecb60 61 74 63 68 20 73 65 78 70 72 73 20 61 73 20 74 68 65 79 20 62 65 63 6f 6d 65 20 61 76 61 69 6c atch.sexprs.as.they.become.avail
ecb80 61 62 6c 65 20 66 72 6f 6d 20 70 72 6f 63 65 73 73 20 6f 75 74 70 75 74 2e 22 0a 20 20 28 6c 65 able.from.process.output."...(le
ecba0 74 20 28 28 62 75 66 66 65 72 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 29 t.((buffer.(process-buffer.proc)
ecbc0 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 62 75 66 66 )).....(when.(buffer-live-p.buff
ecbe0 65 72 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 er).......(with-current-buffer.b
ecc00 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d uffer.........(goto-char.(point-
ecc20 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 73 74 72 69 6e 67 29 0a 20 20 max)).........(insert.string)...
ecc40 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 72 65 61 64 20 28 61 70 70 6c 79 2d 70 ......(racket--cmd-read.(apply-p
ecc60 61 72 74 69 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 artially........................
ecc80 20 20 20 20 23 27 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 64 69 73 70 61 74 63 68 0a 20 20 20 20 20 ....#'racket--cmd-dispatch......
ecca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 67 ......................(process-g
eccc0 65 74 20 70 72 6f 63 20 27 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 29 29 29 et.proc.'racket-back-end-name)))
ecce0 29 29 29 29 0a 0a 3b 3b 20 54 68 65 20 70 72 6f 63 65 73 73 20 66 69 6c 74 65 72 20 69 6e 73 65 ))))..;;.The.process.filter.inse
ecd00 72 74 73 20 74 65 78 74 20 61 73 20 69 74 20 61 72 72 69 76 65 73 20 69 6e 20 63 68 75 6e 6b 73 rts.text.as.it.arrives.in.chunks
ecd20 2e 20 53 6f 20 74 68 65 0a 3b 3b 20 63 68 61 6c 6c 65 6e 67 65 20 68 65 72 65 20 69 73 20 74 6f ..So.the.;;.challenge.here.is.to
ecd40 20 72 65 61 64 20 77 68 65 6e 65 76 65 72 20 74 68 65 20 62 75 66 66 65 72 20 61 63 63 75 6d 75 .read.whenever.the.buffer.accumu
ecd60 6c 61 74 65 73 20 6f 6e 65 20 6f 72 0a 3b 3b 20 6d 6f 72 65 20 2f 63 6f 6d 70 6c 65 74 65 2f 20 lates.one.or.;;.more./complete/.
ecd80 74 6f 70 2d 6c 65 76 65 6c 20 73 65 78 70 73 2e 20 41 6c 74 68 6f 75 67 68 20 69 74 27 73 20 73 top-level.sexps..Although.it's.s
ecda0 69 6d 70 6c 65 20 74 6f 20 63 61 6c 6c 0a 3b 3b 20 60 72 65 61 64 27 20 61 6e 64 20 6c 65 74 20 imple.to.call.;;.`read'.and.let.
ecdc0 69 74 20 73 75 63 63 65 65 64 20 6f 72 20 66 61 69 6c 2c 20 77 68 65 6e 20 61 20 74 6f 70 2d 6c it.succeed.or.fail,.when.a.top-l
ecde0 65 76 65 6c 20 73 65 78 70 20 69 73 20 6c 6f 6e 67 0a 3b 3b 20 28 61 73 20 66 6f 72 20 63 68 65 evel.sexp.is.long.;;.(as.for.che
ece00 63 6b 2d 73 79 6e 74 61 78 29 20 61 6e 64 20 6e 6f 74 20 79 65 74 20 63 6f 6d 70 6c 65 74 65 2c ck-syntax).and.not.yet.complete,
ece20 20 69 74 27 73 20 77 61 73 74 65 66 75 6c 20 74 6f 0a 3b 3b 20 72 65 61 64 2f 61 6c 6c 6f 63 61 .it's.wasteful.to.;;.read/alloca
ece40 74 65 20 73 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 6f 6e 6c 79 20 74 6f 20 66 61 69 6c te.sub-expressions,.only.to.fail
ece60 20 61 6e 64 20 64 69 73 63 61 72 64 20 74 68 61 74 20 77 6f 72 6b 0a 3b 3b 20 2d 2d 20 70 65 72 .and.discard.that.work.;;.--.per
ece80 68 61 70 73 20 72 65 70 65 61 74 65 64 6c 79 20 61 73 20 74 68 65 20 6c 6f 6e 67 20 73 65 78 70 haps.repeatedly.as.the.long.sexp
ecea0 20 67 72 6f 77 73 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 62 75 74 0a 3b 3b 20 72 65 6d 61 .grows.in.the.buffer.but.;;.rema
ecec0 69 6e 73 20 69 6e 63 6f 6d 70 6c 65 74 65 2e 20 55 73 69 6e 67 20 60 73 63 61 6e 2d 6c 69 73 74 ins.incomplete..Using.`scan-list
ecee0 73 27 20 74 6f 20 63 68 65 63 6b 20 66 6f 72 20 61 20 63 6f 6d 70 6c 65 74 65 20 73 65 78 70 0a s'.to.check.for.a.complete.sexp.
ecf00 3b 3b 20 69 73 20 62 65 74 74 65 72 2c 20 62 75 74 20 73 74 69 6c 6c 20 77 61 73 74 65 66 75 6c ;;.is.better,.but.still.wasteful
ecf20 20 74 6f 20 64 6f 20 66 72 6f 6d 20 60 70 6f 69 6e 74 2d 6d 69 6e 27 20 65 76 65 72 79 20 74 69 .to.do.from.`point-min'.every.ti
ecf40 6d 65 2e 0a 3b 3b 20 49 6e 73 74 65 61 64 20 77 65 20 75 73 65 20 60 70 61 72 73 65 2d 70 61 72 me..;;.Instead.we.use.`parse-par
ecf60 74 69 61 6c 2d 73 65 78 70 27 20 74 6f 20 70 61 72 73 65 2f 63 68 65 63 6b 20 69 6e 63 72 65 6d tial-sexp'.to.parse/check.increm
ecf80 65 6e 74 61 6c 6c 79 2c 0a 3b 3b 20 73 61 76 69 6e 67 20 69 74 73 20 70 61 72 73 65 20 73 74 61 entally,.;;.saving.its.parse.sta
ecfa0 74 65 20 62 65 74 77 65 65 6e 20 63 61 6c 6c 73 2c 20 61 6e 64 20 72 65 73 75 6d 69 6e 67 20 74 te.between.calls,.and.resuming.t
ecfc0 68 65 20 70 61 72 73 65 20 66 6f 72 0a 3b 3b 20 6e 65 77 6c 79 20 61 64 64 65 64 20 74 65 78 74 he.parse.for.;;.newly.added.text
ecfe0 2e 20 57 65 20 74 65 6c 6c 20 69 74 20 74 6f 20 73 74 6f 70 20 77 68 65 6e 20 74 68 65 20 64 65 ..We.tell.it.to.stop.when.the.de
ed000 70 74 68 20 72 65 61 63 68 65 73 20 7a 65 72 6f 2c 0a 3b 3b 20 6d 65 61 6e 69 6e 67 20 77 65 20 pth.reaches.zero,.;;.meaning.we.
ed020 68 61 76 65 20 61 20 63 6f 6d 70 6c 65 74 65 20 74 6f 70 2d 6c 65 76 65 6c 20 73 65 78 70 20 74 have.a.complete.top-level.sexp.t
ed040 68 61 74 20 63 61 6e 20 62 65 20 72 65 61 64 2e 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 hat.can.be.read..(defvar-local.r
ed060 61 63 6b 65 74 2d 2d 63 6d 64 2d 72 65 61 64 2d 73 74 61 74 65 20 6e 69 6c 29 0a 28 64 65 66 76 acket--cmd-read-state.nil).(defv
ed080 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 72 65 61 64 2d 66 72 6f 6d 20 31 ar-local.racket--cmd-read-from.1
ed0a0 29 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 72 65 61 64 2d 77 68 69 ).(defconst.racket--cmd-read-whi
ed0c0 74 65 73 70 61 63 65 20 22 20 5c 6e 5c 72 5c 74 22 29 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 tespace.".\n\r\t").(defun.racket
ed0e0 2d 2d 63 6d 64 2d 72 65 61 64 20 28 6f 6e 2d 74 6f 70 2d 6c 65 76 65 6c 2d 73 65 78 70 29 0a 20 --cmd-read.(on-top-level-sexp)..
ed100 20 3b 3b 20 4e 6f 74 65 3a 20 42 65 63 61 75 73 65 20 74 6f 70 2d 6c 65 76 65 6c 20 73 65 78 70 .;;.Note:.Because.top-level.sexp
ed120 73 20 66 72 6f 6d 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 61 72 65 20 61 6c 77 61 79 73 20 6e s.from.the.back.end.are.always.n
ed140 65 73 74 65 64 0a 20 20 3b 3b 20 69 6e 20 70 61 72 65 6e 73 2c 20 61 6c 6c 20 77 65 20 6e 65 65 ested...;;.in.parens,.all.we.nee
ed160 64 20 69 73 20 61 20 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 74 6f 20 67 69 76 65 20 74 68 65 6d d.is.a.syntax-table.to.give.them
ed180 20 74 68 61 74 0a 20 20 3b 3b 20 63 68 61 72 2d 73 79 6e 74 61 78 2c 20 61 73 20 64 6f 65 73 20 .that...;;.char-syntax,.as.does.
ed1a0 65 76 65 6e 20 60 66 75 6e 64 61 6d 65 6e 74 61 6c 2d 6d 6f 64 65 27 2e 0a 20 20 28 77 68 69 6c even.`fundamental-mode'....(whil
ed1c0 65 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 3c 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 72 65 61 e.......(when.(<.racket--cmd-rea
ed1e0 64 2d 66 72 6f 6d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 d-from.(point-max)).........(set
ed200 71 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 72 65 61 64 2d 73 74 61 74 65 0a 20 20 20 20 20 20 20 q.racket--cmd-read-state........
ed220 20 20 20 20 20 20 20 28 70 61 72 73 65 2d 70 61 72 74 69 61 6c 2d 73 65 78 70 20 72 61 63 6b 65 .......(parse-partial-sexp.racke
ed240 74 2d 2d 63 6d 64 2d 72 65 61 64 2d 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t--cmd-read-from................
ed260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 2d 6d 61 78 29 0a 20 ...................(point-max)..
ed280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ed2a0 20 30 20 20 20 20 20 3b 74 61 72 67 65 74 20 64 65 70 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 .0.....;target.depth............
ed2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 20 20 3b 73 74 .......................nil...;st
ed2e0 6f 70 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 op.before.......................
ed300 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 72 65 61 64 2d 73 74 61 ............racket--cmd-read-sta
ed320 74 65 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 72 te)).........(setq.racket--cmd-r
ed340 65 61 64 2d 66 72 6f 6d 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 ead-from.(point)).........(when.
ed360 28 7a 65 72 6f 70 20 28 65 6c 74 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 72 65 61 64 2d 73 74 61 (zerop.(elt.racket--cmd-read-sta
ed380 74 65 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 te.0))...........(goto-char.(poi
ed3a0 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 66 nt-min))...........(skip-chars-f
ed3c0 6f 72 77 61 72 64 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 72 65 61 64 2d 77 68 69 74 65 73 70 61 orward.racket--cmd-read-whitespa
ed3e0 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3c 20 28 70 6f 69 6e 74 29 20 28 ce)...........(when.(<.(point).(
ed400 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c point-max)).............(funcall
ed420 20 6f 6e 2d 74 6f 70 2d 6c 65 76 65 6c 2d 73 65 78 70 20 28 72 65 61 64 20 28 63 75 72 72 65 6e .on-top-level-sexp.(read.(curren
ed440 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 6b 69 70 2d 63 68 t-buffer))).............(skip-ch
ed460 61 72 73 2d 66 6f 72 77 61 72 64 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 72 65 61 64 2d 77 68 69 ars-forward.racket--cmd-read-whi
ed480 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 tespace).............(delete-reg
ed4a0 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 ion.(point-min).(point))........
ed4c0 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 72 65 61 64 2d 73 74 61 74 .....(setq.racket--cmd-read-stat
ed4e0 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d e.nil).............(setq.racket-
ed500 2d 63 6d 64 2d 72 65 61 64 2d 66 72 6f 6d 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 -cmd-read-from.(point-min)).....
ed520 20 20 20 20 20 20 20 20 74 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d ........t)))))..(defvar.racket--
ed540 63 6d 64 2d 6e 6f 6e 63 65 2d 3e 63 61 6c 6c 62 61 63 6b 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 cmd-nonce->callback.(make-hash-t
ed560 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 29 0a 20 20 22 41 20 68 61 73 68 20 66 72 6f 6d 20 63 able.:test.'eq)..."A.hash.from.c
ed580 6f 6d 6d 61 6e 64 20 6e 6f 6e 63 65 20 74 6f 20 63 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f ommand.nonce.to.callback.functio
ed5a0 6e 2e 22 29 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6e 6f 6e 63 65 20 30 n.").(defvar.racket--cmd-nonce.0
ed5c0 0a 20 20 22 4e 75 6d 62 65 72 20 74 68 61 74 20 69 6e 63 72 65 6d 65 6e 74 73 20 66 6f 72 20 65 ..."Number.that.increments.for.e
ed5e0 61 63 68 20 63 6f 6d 6d 61 6e 64 20 72 65 71 75 65 73 74 20 77 65 20 73 65 6e 64 2e 22 29 0a 0a ach.command.request.we.send.")..
ed600 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 64 69 73 70 61 74 63 68 20 28 62 61 63 (defun.racket--cmd-dispatch.(bac
ed620 6b 2d 65 6e 64 20 72 65 73 70 6f 6e 73 65 29 0a 20 20 22 44 6f 20 73 6f 6d 65 74 68 69 6e 67 20 k-end.response)..."Do.something.
ed640 77 69 74 68 20 61 20 73 65 78 70 72 20 73 65 6e 74 20 74 6f 20 75 73 20 66 72 6f 6d 20 74 68 65 with.a.sexpr.sent.to.us.from.the
ed660 20 63 6f 6d 6d 61 6e 64 20 73 65 72 76 65 72 2e 0a 41 6c 74 68 6f 75 67 68 20 6d 6f 73 74 6c 79 .command.server..Although.mostly
ed680 20 74 68 65 73 65 20 61 72 65 20 31 3a 31 20 72 65 73 70 6f 6e 73 65 73 20 74 6f 20 63 6f 6d 6d .these.are.1:1.responses.to.comm
ed6a0 61 6e 64 20 72 65 71 75 65 73 74 73 2c 20 73 6f 6d 65 0a 6c 69 6b 65 20 5c 22 6c 6f 67 67 65 72 and.requests,.some.like.\"logger
ed6c0 5c 22 2c 20 5c 22 64 65 62 75 67 2d 62 72 65 61 6b 5c 22 2c 20 61 6e 64 20 5c 22 68 61 73 68 2d \",.\"debug-break\",.and.\"hash-
ed6e0 6c 61 6e 67 5c 22 20 61 72 65 0a 6e 6f 74 69 66 69 63 61 74 69 6f 6e 73 2e 22 0a 20 20 28 70 63 lang\".are.notifications."...(pc
ed700 61 73 65 20 72 65 73 70 6f 6e 73 65 0a 20 20 20 20 28 60 28 6c 6f 67 67 65 72 20 2c 73 74 72 29 ase.response.....(`(logger.,str)
ed720 0a 20 20 20 20 20 28 72 75 6e 2d 61 74 2d 74 69 6d 65 20 30 2e 30 30 31 20 6e 69 6c 20 23 27 72 ......(run-at-time.0.001.nil.#'r
ed740 61 63 6b 65 74 2d 2d 6c 6f 67 67 65 72 2d 6f 6e 2d 6e 6f 74 69 66 79 20 62 61 63 6b 2d 65 6e 64 acket--logger-on-notify.back-end
ed760 20 73 74 72 29 29 0a 20 20 20 20 28 60 28 64 65 62 75 67 2d 62 72 65 61 6b 20 2e 20 2c 72 65 73 .str)).....(`(debug-break...,res
ed780 70 6f 6e 73 65 29 0a 20 20 20 20 20 28 72 75 6e 2d 61 74 2d 74 69 6d 65 20 30 2e 30 30 31 20 6e ponse)......(run-at-time.0.001.n
ed7a0 69 6c 20 23 27 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 6f 6e 2d 62 72 65 61 6b 20 72 65 73 70 il.#'racket--debug-on-break.resp
ed7c0 6f 6e 73 65 29 29 0a 20 20 20 20 28 60 28 68 61 73 68 2d 6c 61 6e 67 20 2c 69 64 20 2e 20 2c 76 onse)).....(`(hash-lang.,id...,v
ed7e0 73 29 0a 20 20 20 20 20 28 72 75 6e 2d 61 74 2d 74 69 6d 65 20 30 2e 30 30 31 20 6e 69 6c 20 23 s)......(run-at-time.0.001.nil.#
ed800 27 72 61 63 6b 65 74 2d 2d 68 61 73 68 2d 6c 61 6e 67 2d 6f 6e 2d 6e 6f 74 69 66 79 20 69 64 20 'racket--hash-lang-on-notify.id.
ed820 76 73 29 29 0a 20 20 20 20 28 60 28 72 65 70 6c 2d 6f 75 74 70 75 74 20 2c 73 65 73 73 69 6f 6e vs)).....(`(repl-output.,session
ed840 2d 69 64 20 2c 6b 69 6e 64 20 2c 76 29 0a 20 20 20 20 20 28 72 75 6e 2d 61 74 2d 74 69 6d 65 20 -id.,kind.,v)......(run-at-time.
ed860 30 2e 30 30 31 20 6e 69 6c 20 23 27 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 6f 6e 2d 6f 75 74 70 0.001.nil.#'racket--repl-on-outp
ed880 75 74 20 73 65 73 73 69 6f 6e 2d 69 64 20 6b 69 6e 64 20 76 29 29 0a 20 20 20 20 28 60 28 2c 6e ut.session-id.kind.v)).....(`(,n
ed8a0 6f 6e 63 65 20 2e 20 2c 72 65 73 70 6f 6e 73 65 29 0a 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 once...,response)......(when-let
ed8c0 20 28 63 61 6c 6c 62 61 63 6b 20 28 67 65 74 68 61 73 68 20 6e 6f 6e 63 65 20 72 61 63 6b 65 74 .(callback.(gethash.nonce.racket
ed8e0 2d 2d 63 6d 64 2d 6e 6f 6e 63 65 2d 3e 63 61 6c 6c 62 61 63 6b 29 29 0a 20 20 20 20 20 20 20 28 --cmd-nonce->callback))........(
ed900 72 65 6d 68 61 73 68 20 6e 6f 6e 63 65 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6e 6f 6e 63 65 2d remhash.nonce.racket--cmd-nonce-
ed920 3e 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 20 20 20 28 72 75 6e 2d 61 74 2d 74 69 6d 65 20 30 >callback)........(run-at-time.0
ed940 2e 30 30 31 20 6e 69 6c 20 63 61 6c 6c 62 61 63 6b 20 72 65 73 70 6f 6e 73 65 29 29 29 0a 20 20 .001.nil.callback.response)))...
ed960 20 20 28 5f 20 6e 69 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 61 73 73 65 ..(_.nil)))..(defun.racket--asse
ed980 72 74 2d 72 65 61 64 61 62 6c 65 20 28 73 65 78 70 29 0a 20 20 22 53 61 6e 69 74 79 20 63 68 65 rt-readable.(sexp)..."Sanity.che
ed9a0 63 6b 20 74 68 61 74 20 53 45 58 50 20 69 73 20 72 65 61 64 61 62 6c 65 20 62 79 20 52 61 63 6b ck.that.SEXP.is.readable.by.Rack
ed9c0 65 74 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 20 69 66 20 61 20 63 6f 6d 6d 61 6e 64 20 73 65 et...For.example.if.a.command.se
ed9e0 78 70 20 73 75 70 70 6c 69 65 73 20 61 20 6d 61 72 6b 65 72 20 2d 2d 20 77 68 69 63 68 20 70 72 xp.supplies.a.marker.--.which.pr
eda00 69 6e 74 73 0a 61 73 20 75 6e 72 65 61 64 61 62 6c 65 20 23 3c 6d 61 72 6b 65 72 20 2e 2e 2e 3e ints.as.unreadable.#<marker....>
eda20 20 2d 2d 20 69 6e 73 74 65 61 64 20 6f 66 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 77 65 20 77 69 .--.instead.of.an.integer,.we.wi
eda40 6c 6c 0a 65 72 72 6f 72 20 68 65 72 65 20 69 6e 20 45 6d 61 63 73 20 77 69 74 68 20 61 20 6d 6f ll.error.here.in.Emacs.with.a.mo
eda60 72 65 20 68 65 6c 70 66 75 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 61 6e 64 0a 62 61 63 re.helpful.error.message.and.bac
eda80 6b 74 72 61 63 65 2e 20 42 65 73 69 64 65 73 20 77 68 69 63 68 2c 20 61 20 72 65 61 64 20 65 72 ktrace..Besides.which,.a.read.er
edaa0 72 6f 72 20 69 6e 20 74 68 65 20 62 61 63 6b 20 65 6e 64 27 73 20 63 6f 6d 6d 61 6e 64 0a 6c 6f ror.in.the.back.end's.command.lo
edac0 6f 70 20 63 6f 75 6c 64 20 63 61 75 73 65 20 74 68 65 20 65 6e 74 69 72 65 20 62 61 63 6b 20 65 op.could.cause.the.entire.back.e
edae0 6e 64 20 74 6f 20 61 62 65 6e 64 2e 22 0a 20 20 28 63 6c 2d 6c 61 62 65 6c 73 0a 20 20 20 20 20 nd.to.abend."...(cl-labels......
edb00 20 28 28 63 68 65 63 6b 0a 20 20 20 20 20 20 20 20 28 76 29 0a 20 20 20 20 20 20 20 20 28 63 6f .((check.........(v).........(co
edb20 6e 64 0a 20 20 20 20 20 20 20 20 20 28 28 6e 75 6d 62 65 72 70 20 76 29 20 74 29 0a 20 20 20 20 nd..........((numberp.v).t).....
edb40 20 20 20 20 20 28 28 73 74 72 69 6e 67 70 20 76 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 28 .....((stringp.v).t)..........((
edb60 73 79 6d 62 6f 6c 70 20 76 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 28 63 6f 6e 73 70 20 76 symbolp.v).t)..........((consp.v
edb80 29 20 20 20 28 61 6e 64 20 28 63 68 65 63 6b 20 28 63 61 72 20 76 29 29 20 28 63 68 65 63 6b 20 )...(and.(check.(car.v)).(check.
edba0 28 63 64 72 20 76 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 (cdr.v))))..........(t..........
edbc0 20 28 6c 65 74 20 28 28 70 72 69 6e 74 2d 6c 65 6e 67 74 68 20 6e 69 6c 29 0a 20 20 20 20 20 20 .(let.((print-length.nil).......
edbe0 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 2d 6c 65 76 65 6c 20 6e 69 6c 29 29 0a 20 20 20 ..........(print-level.nil))....
edc00 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 69 6e 76 61 6c 69 64 20 73 2d 65 78 70 72 65 .........(error."invalid.s-expre
edc20 73 73 69 6f 6e 20 66 6f 72 20 52 61 63 6b 65 74 20 72 65 61 64 65 72 5c 6e 20 76 61 6c 75 65 3a ssion.for.Racket.reader\n.value:
edc40 20 25 53 5c 6e 20 69 6e 3a 20 25 53 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .%S\n.in:.%S"...................
edc60 20 76 20 73 65 78 70 29 29 29 29 29 29 0a 20 20 20 20 28 63 68 65 63 6b 20 73 65 78 70 29 29 29 .v.sexp)))))).....(check.sexp)))
edc80 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 2d 72 61 77 20 28 ..(defun.racket--cmd/async-raw.(
edca0 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 20 63 6f 6d 6d 61 6e 64 2d 73 65 78 70 72 20 26 6f repl-session-id.command-sexpr.&o
edcc0 70 74 69 6f 6e 61 6c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 22 53 65 6e 64 20 43 4f 4d 4d 41 4e ptional.callback)..."Send.COMMAN
edce0 44 2d 53 45 58 50 52 20 61 6e 64 20 72 65 74 75 72 6e 2e 20 4c 61 74 65 72 20 63 61 6c 6c 20 43 D-SEXPR.and.return..Later.call.C
edd00 41 4c 4c 42 41 43 4b 20 77 69 74 68 20 74 68 65 20 72 65 73 70 6f 6e 73 65 20 73 65 78 70 2e 0a ALLBACK.with.the.response.sexp..
edd20 0a 52 45 50 4c 2d 53 45 53 53 49 4f 4e 2d 49 44 20 6d 61 79 20 62 65 20 6e 69 6c 20 66 6f 72 20 .REPL-SESSION-ID.may.be.nil.for.
edd40 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 74 6f 20 72 75 6e commands.that.do.not.need.to.run
edd60 0a 69 6e 20 61 20 73 70 65 63 69 66 69 63 20 6e 61 6d 65 73 70 61 63 65 2e 0a 0a 49 66 20 43 41 .in.a.specific.namespace...If.CA
edd80 4c 4c 42 41 43 4b 20 69 73 20 6e 6f 74 20 73 75 70 70 6c 69 65 64 20 6f 72 20 6e 69 6c 2c 20 64 LLBACK.is.not.supplied.or.nil,.d
edda0 65 66 61 75 6c 74 73 20 74 6f 20 60 69 67 6e 6f 72 65 27 2e 0a 0a 4f 74 68 65 72 77 69 73 65 20 efaults.to.`ignore'...Otherwise.
eddc0 43 41 4c 4c 42 41 43 4b 20 69 73 20 63 61 6c 6c 65 64 20 61 66 74 65 72 20 74 68 65 20 63 6f 6d CALLBACK.is.called.after.the.com
edde0 6d 61 6e 64 20 73 65 72 76 65 72 20 72 65 74 75 72 6e 73 20 61 0a 72 65 73 70 6f 6e 73 65 2e 20 mand.server.returns.a.response..
ede00 42 65 63 61 75 73 65 20 63 6f 6d 6d 61 6e 64 20 72 65 73 70 6f 6e 73 65 73 20 61 72 65 20 6f 62 Because.command.responses.are.ob
ede20 74 61 69 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 64 79 6e 61 6d 69 63 0a 65 78 74 65 6e 74 20 6f tained.from.the.dynamic.extent.o
ede40 66 20 61 20 60 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 27 20 70 72 6f 63 20 2d 2d f.a.`set-process-filter'.proc.--
ede60 20 77 68 69 63 68 20 6d 61 79 20 68 61 76 65 0a 6c 69 6d 69 74 61 74 69 6f 6e 73 20 6f 6e 20 77 .which.may.have.limitations.on.w
ede80 68 61 74 20 69 74 20 63 61 6e 20 6f 72 20 73 68 6f 75 6c 64 20 64 6f 20 2d 2d 20 43 41 4c 4c 42 hat.it.can.or.should.do.--.CALLB
edea0 41 43 4b 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 0a 69 6d 6d 65 64 69 61 74 65 6c 79 20 62 75 ACK.is.not.called.immediately.bu
edec0 74 20 69 6e 73 74 65 61 64 20 75 73 69 6e 67 20 60 72 75 6e 2d 61 74 2d 74 69 6d 65 27 20 77 69 t.instead.using.`run-at-time'.wi
edee0 74 68 20 61 20 76 65 72 79 20 73 6d 61 6c 6c 0a 64 65 6c 61 79 2e 0a 0a 49 6d 70 6f 72 74 61 6e th.a.very.small.delay...Importan
edf00 74 3a 20 44 6f 20 6e 6f 74 20 61 73 73 75 6d 65 20 74 68 61 74 20 60 63 75 72 72 65 6e 74 2d 62 t:.Do.not.assume.that.`current-b
edf20 75 66 66 65 72 27 20 69 73 20 74 68 65 20 73 61 6d 65 20 77 68 65 6e 0a 43 41 4c 4c 42 41 43 4b uffer'.is.the.same.when.CALLBACK
edf40 20 69 73 20 63 61 6c 6c 65 64 2c 20 61 73 20 69 74 20 77 61 73 20 77 68 65 6e 20 74 68 65 20 63 .is.called,.as.it.was.when.the.c
edf60 6f 6d 6d 61 6e 64 20 77 61 73 20 73 65 6e 74 2e 20 49 66 20 79 6f 75 0a 6e 65 65 64 20 74 6f 20 ommand.was.sent..If.you.need.to.
edf80 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 74 6f 20 64 6f 20 74 68 61 74 20 6f 72 69 67 69 6e 61 6c do.something.to.do.that.original
edfa0 20 62 75 66 66 65 72 2c 20 73 61 76 65 20 74 68 65 0a 60 63 75 72 72 65 6e 74 2d 62 75 66 66 65 .buffer,.save.the.`current-buffe
edfc0 72 27 20 69 6e 20 61 20 60 6c 65 74 27 20 61 6e 64 20 75 73 65 20 69 74 20 69 6e 20 61 20 60 77 r'.in.a.`let'.and.use.it.in.a.`w
edfe0 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 27 0a 66 6f 72 6d 2e 20 53 65 65 20 60 72 ith-current-buffer'.form..See.`r
ee000 61 63 6b 65 74 2d 2d 72 65 73 74 6f 72 69 6e 67 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 27 acket--restoring-current-buffer'
ee020 2e 22 0a 20 20 28 72 61 63 6b 65 74 2d 2d 61 73 73 65 72 74 2d 72 65 61 64 61 62 6c 65 20 63 6f ."...(racket--assert-readable.co
ee040 6d 6d 61 6e 64 2d 73 65 78 70 72 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 72 61 63 6b 65 74 2d 2d mmand-sexpr)...(unless.(racket--
ee060 63 6d 64 2d 6f 70 65 6e 2d 70 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6f 70 65 cmd-open-p).....(racket--cmd-ope
ee080 6e 29 29 0a 20 20 28 63 6c 2d 69 6e 63 66 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6e 6f 6e 63 65 n))...(cl-incf.racket--cmd-nonce
ee0a0 29 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 63 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 20 20 20 )...(when.(and.callback.........
ee0c0 20 20 20 20 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 63 61 6c 6c 62 61 63 6b 20 23 27 69 67 6e 6f .....(not.(equal.callback.#'igno
ee0e0 72 65 29 29 29 0a 20 20 20 20 28 70 75 74 68 61 73 68 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6e re))).....(puthash.racket--cmd-n
ee100 6f 6e 63 65 20 63 61 6c 6c 62 61 63 6b 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6e 6f 6e 63 65 2d once.callback.racket--cmd-nonce-
ee120 3e 63 61 6c 6c 62 61 63 6b 29 29 0a 20 20 28 70 72 6f 63 65 73 73 2d 73 65 6e 64 2d 73 74 72 69 >callback))...(process-send-stri
ee140 6e 67 0a 20 20 20 28 67 65 74 2d 70 72 6f 63 65 73 73 20 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b ng....(get-process.(racket--back
ee160 2d 65 6e 64 2d 70 72 6f 63 65 73 73 2d 6e 61 6d 65 29 29 0a 20 20 20 28 6c 65 74 20 28 28 70 72 -end-process-name))....(let.((pr
ee180 69 6e 74 2d 6c 65 6e 67 74 68 20 6e 69 6c 29 20 3b 66 6f 72 20 25 53 0a 20 20 20 20 20 20 20 20 int-length.nil).;for.%S.........
ee1a0 20 28 70 72 69 6e 74 2d 6c 65 76 65 6c 20 6e 69 6c 29 29 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 .(print-level.nil))......(format
ee1c0 20 22 25 53 5c 6e 22 20 60 28 2c 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6e 6f 6e 63 65 20 2c 72 65 ."%S\n".`(,racket--cmd-nonce.,re
ee1e0 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 20 2e 20 2c 63 6f 6d 6d 61 6e 64 2d 73 65 78 70 72 29 29 pl-session-id...,command-sexpr))
ee200 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 20 28 72 )))..(defun.racket--cmd/async.(r
ee220 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 20 63 6f 6d 6d 61 6e 64 2d 73 65 78 70 72 20 26 6f 70 epl-session-id.command-sexpr.&op
ee240 74 69 6f 6e 61 6c 20 63 61 6c 6c 62 61 63 6b 29 0a 20 20 22 59 6f 75 20 70 72 6f 62 61 62 6c 79 tional.callback)..."You.probably
ee260 20 77 61 6e 74 20 74 6f 20 75 73 65 20 74 68 69 73 20 69 6e 73 74 65 61 64 20 6f 66 20 60 72 61 .want.to.use.this.instead.of.`ra
ee280 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 2d 72 61 77 27 2e 0a 0a 52 45 50 4c 2d 53 45 53 53 cket--cmd/async-raw'...REPL-SESS
ee2a0 49 4f 4e 2d 49 44 20 6d 61 79 20 62 65 20 6e 69 6c 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 74 ION-ID.may.be.nil.for.commands.t
ee2c0 68 61 74 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 74 6f 20 72 75 6e 0a 69 6e 20 61 20 73 70 65 63 hat.do.not.need.to.run.in.a.spec
ee2e0 69 66 69 63 20 6e 61 6d 65 73 70 61 63 65 2e 0a 0a 43 41 4c 4c 42 41 43 4b 20 69 73 20 6f 6e 6c ific.namespace...CALLBACK.is.onl
ee300 79 20 63 61 6c 6c 65 64 20 66 6f 72 20 5c 22 6f 6b 5c 22 20 72 65 73 70 6f 6e 73 65 73 2c 20 77 y.called.for.\"ok\".responses,.w
ee320 69 74 68 20 28 6f 6b 20 76 20 2e 2e 2e 29 0a 75 6e 77 72 61 70 70 65 64 20 74 6f 20 28 76 20 2e ith.(ok.v....).unwrapped.to.(v..
ee340 2e 2e 29 2e 0a 0a 5c 22 65 72 72 6f 72 5c 22 20 72 65 73 70 6f 6e 73 65 73 20 61 72 65 20 68 61 ..)...\"error\".responses.are.ha
ee360 6e 64 6c 65 64 20 68 65 72 65 2e 20 4e 6f 74 65 3a 20 57 65 20 75 73 65 20 60 6d 65 73 73 61 67 ndled.here..Note:.We.use.`messag
ee380 65 27 20 6e 6f 74 0a 60 65 72 72 6f 72 27 20 68 65 72 65 20 62 65 63 61 75 73 65 3a 0a 0a 20 20 e'.not.`error'.here.because:....
ee3a0 31 2e 20 49 74 20 77 6f 75 6c 64 20 73 68 6f 77 20 5c 22 65 72 72 6f 72 20 72 75 6e 6e 69 6e 67 1..It.would.show.\"error.running
ee3c0 20 74 69 6d 65 72 3a 5c 22 20 77 68 69 63 68 2c 20 61 6c 74 68 6f 75 67 68 20 74 72 75 65 2c 0a .timer:\".which,.although.true,.
ee3e0 20 20 20 20 20 69 73 20 63 6f 6e 66 75 73 69 6e 67 20 6f 72 20 61 74 20 62 65 73 74 20 4e 2f 41 .....is.confusing.or.at.best.N/A
ee400 20 66 6f 72 20 65 6e 64 20 75 73 65 72 73 2e 0a 0a 20 20 32 2e 20 4d 6f 72 65 20 73 69 6d 70 6c .for.end.users.....2..More.simpl
ee420 79 2c 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 65 73 63 61 70 65 20 61 6e 79 20 63 y,.we.don't.need.to.escape.any.c
ee440 61 6c 6c 20 73 74 61 63 6b 2c 20 77 65 20 6f 6e 6c 79 0a 20 20 20 20 20 6e 65 65 64 20 74 6f 20 all.stack,.we.only......need.to.
ee460 2e 2e 2e 20 6e 6f 74 20 63 61 6c 6c 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 21 0a 0a 5c 22 62 72 ....not.call.the.callback!..\"br
ee480 65 61 6b 5c 22 20 72 65 73 70 6f 6e 73 65 73 20 61 72 65 20 68 61 6e 64 6c 65 64 20 68 65 72 65 eak\".responses.are.handled.here
ee4a0 2c 20 74 6f 6f 2e 20 54 68 69 73 20 69 73 20 75 73 65 64 20 77 68 65 6e 20 61 0a 63 6f 6d 6d 61 ,.too..This.is.used.when.a.comma
ee4c0 6e 64 20 69 73 20 73 6f 6d 65 68 6f 77 20 63 61 6e 63 65 6c 65 64 2c 20 77 69 74 68 20 6e 6f 20 nd.is.somehow.canceled,.with.no.
ee4e0 75 73 65 66 75 6c 20 72 65 73 70 6f 6e 73 65 20 65 78 63 65 70 74 20 74 68 65 0a 69 6e 64 69 63 useful.response.except.the.indic
ee500 61 74 69 6f 6e 20 77 65 20 73 68 6f 75 6c 64 20 63 6c 65 61 6e 20 75 70 20 74 68 65 20 70 65 6e ation.we.should.clean.up.the.pen
ee520 64 69 6e 67 20 63 61 6c 6c 62 61 63 6b 20 61 73 20 75 73 75 61 6c 2e 0a 0a 54 68 65 20 6f 72 69 ding.callback.as.usual...The.ori
ee540 67 69 6e 61 6c 20 76 61 6c 75 65 20 6f 66 20 60 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 27 20 ginal.value.of.`current-buffer'.
ee560 69 73 20 73 65 74 20 66 6f 72 20 74 68 65 20 64 79 6e 61 6d 69 63 0a 65 78 74 65 6e 74 20 6f 66 is.set.for.the.dynamic.extent.of
ee580 20 43 41 4c 4c 42 41 43 4b 2c 20 62 65 63 61 75 73 65 20 6e 65 67 6c 65 63 74 69 6e 67 20 74 6f .CALLBACK,.because.neglecting.to
ee5a0 20 64 6f 20 73 6f 20 69 73 20 61 20 6c 69 6b 65 6c 79 0a 6d 69 73 74 61 6b 65 2e 22 0a 20 20 28 .do.so.is.a.likely.mistake."...(
ee5c0 6c 65 74 20 28 28 62 75 66 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 let.((buf.(current-buffer)).....
ee5e0 20 20 20 20 28 6e 61 6d 65 20 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 70 72 6f 63 ....(name.(racket--back-end-proc
ee600 65 73 73 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 ess-name))).....(racket--cmd/asy
ee620 6e 63 2d 72 61 77 0a 20 20 20 20 20 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 0a 20 20 20 20 nc-raw......repl-session-id.....
ee640 20 63 6f 6d 6d 61 6e 64 2d 73 65 78 70 72 0a 20 20 20 20 20 28 69 66 20 63 61 6c 6c 62 61 63 6b .command-sexpr......(if.callback
ee660 0a 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 65 73 70 6f 6e 73 65 29 0a 20 20 20 ..........(lambda.(response)....
ee680 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 72 65 73 70 6f 6e 73 65 0a 20 20 20 20 20 20 20 20 ........(pcase.response.........
ee6a0 20 20 20 20 20 28 60 28 6f 6b 20 2c 76 29 20 20 20 20 28 77 68 65 6e 20 28 62 75 66 66 65 72 2d .....(`(ok.,v)....(when.(buffer-
ee6c0 6c 69 76 65 2d 70 20 62 75 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 live-p.buf).....................
ee6e0 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 ........(with-current-buffer.buf
ee700 20 28 66 75 6e 63 61 6c 6c 20 63 61 6c 6c 62 61 63 6b 20 76 29 29 29 29 0a 20 20 20 20 20 20 20 .(funcall.callback.v))))........
ee720 20 20 20 20 20 20 28 60 28 65 72 72 6f 72 20 2c 6d 29 20 28 6c 65 74 20 28 28 70 72 69 6e 74 2d ......(`(error.,m).(let.((print-
ee740 6c 65 6e 67 74 68 20 6e 69 6c 29 20 3b 66 6f 72 20 25 53 0a 20 20 20 20 20 20 20 20 20 20 20 20 length.nil).;for.%S.............
ee760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 2d 6c 65 76 65 6c ....................(print-level
ee780 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .nil))..........................
ee7a0 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 78 63 65 70 74 69 6f 6e 20 66 6f 72 20 63 6f 6d 6d 61 ...(message."Exception.for.comma
ee7c0 6e 64 20 25 53 20 77 69 74 68 20 72 65 70 6c 2d 69 64 20 25 53 20 66 72 6f 6d 20 25 53 20 74 6f nd.%S.with.repl-id.%S.from.%S.to
ee7e0 20 25 53 3a 5c 6e 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .%S:\n%s".......................
ee800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 2d 73 65 78 70 72 20 72 65 70 ...............command-sexpr.rep
ee820 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 20 62 75 66 20 6e 61 6d 65 20 6d 29 29 29 0a 20 20 20 20 20 l-session-id.buf.name.m)))......
ee840 20 20 20 20 20 20 20 20 28 60 28 62 72 65 61 6b 29 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 ........(`(break)....nil).......
ee860 20 20 20 20 20 20 20 28 76 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 69 6e 74 .......(v...........(let.((print
ee880 2d 6c 65 6e 67 74 68 20 6e 69 6c 29 20 3b 66 6f 72 20 25 53 0a 20 20 20 20 20 20 20 20 20 20 20 -length.nil).;for.%S............
ee8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 2d 6c 65 76 65 .....................(print-leve
ee8c0 6c 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l.nil)).........................
ee8e0 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 55 6e 6b 6e 6f 77 6e 20 72 65 73 70 6f 6e 73 65 20 74 ....(message."Unknown.response.t
ee900 6f 20 63 6f 6d 6d 61 6e 64 20 25 53 20 77 69 74 68 20 72 65 70 6c 2d 69 64 20 25 53 20 66 72 6f o.command.%S.with.repl-id.%S.fro
ee920 6d 20 25 53 20 74 6f 20 25 53 3a 5c 6e 25 53 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m.%S.to.%S:\n%S"................
ee940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 2d 73 65 ......................command-se
ee960 78 70 72 20 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 20 62 75 66 20 6e 61 6d 65 20 76 29 29 xpr.repl-session-id.buf.name.v))
ee980 29 29 29 0a 20 20 20 20 20 20 20 23 27 69 67 6e 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 )))........#'ignore))))..(defun.
ee9a0 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 77 61 69 74 20 28 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d racket--cmd/await.(repl-session-
ee9c0 69 64 20 63 6f 6d 6d 61 6e 64 2d 73 65 78 70 72 29 0a 20 20 22 53 65 6e 64 20 43 4f 4d 4d 41 4e id.command-sexpr)..."Send.COMMAN
ee9e0 44 2d 53 45 58 50 52 2e 20 41 77 61 69 74 20 61 6e 64 20 72 65 74 75 72 6e 20 61 6e 20 5c 22 6f D-SEXPR..Await.and.return.an.\"o
eea00 6b 5c 22 20 72 65 73 70 6f 6e 73 65 20 76 61 6c 75 65 2c 20 6f 72 20 72 61 69 73 65 20 60 65 72 k\".response.value,.or.raise.`er
eea20 72 6f 72 27 2e 0a 0a 52 45 50 4c 2d 53 45 53 53 49 4f 4e 2d 49 44 20 6d 61 79 20 62 65 20 6e 69 ror'...REPL-SESSION-ID.may.be.ni
eea40 6c 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 l.for.commands.that.do.not.need.
eea60 74 6f 20 72 75 6e 0a 69 6e 20 61 20 73 70 65 63 69 66 69 63 20 6e 61 6d 65 73 70 61 63 65 2e 22 to.run.in.a.specific.namespace."
eea80 0a 20 20 28 6c 65 74 2a 20 28 28 61 77 61 69 74 69 6e 67 20 27 52 41 43 4b 45 54 2d 52 45 50 4c ...(let*.((awaiting.'RACKET-REPL
eeaa0 2d 41 57 41 49 54 49 4e 47 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 73 70 6f 6e 73 65 20 61 77 -AWAITING)..........(response.aw
eeac0 61 69 74 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 28 62 75 66 20 28 63 75 72 72 65 6e 74 2d 62 aiting)..........(buf.(current-b
eeae0 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 72 61 63 6b 65 74 2d 2d uffer))..........(name.(racket--
eeb00 62 61 63 6b 2d 65 6e 64 2d 70 72 6f 63 65 73 73 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 72 61 back-end-process-name))).....(ra
eeb20 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 2d 72 61 77 20 72 65 70 6c 2d 73 65 73 73 69 6f 6e cket--cmd/async-raw.repl-session
eeb40 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 -id............................c
eeb60 6f 6d 6d 61 6e 64 2d 73 65 78 70 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ommand-sexpr....................
eeb80 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 76 29 20 28 73 65 74 71 20 72 65 73 70 6f 6e ........(lambda.(v).(setq.respon
eeba0 73 65 20 76 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 74 69 6d 65 6f 75 74 20 28 72 61 63 6b 65 se.v))).....(with-timeout.(racke
eebc0 74 2d 63 6f 6d 6d 61 6e 64 2d 74 69 6d 65 6f 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-command-timeout...............
eebe0 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 69 6e 74 2d 6c 65 6e 67 74 68 20 6e 69 6c 29 20 3b 66 .....(let.((print-length.nil).;f
eec00 6f 72 20 25 53 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 or.%S..........................(
eec20 70 72 69 6e 74 2d 6c 65 76 65 6c 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 print-level.nil))...............
eec40 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 43 6f 6d 6d 61 6e 64 20 25 53 20 66 72 6f 6d 20 25 .......(error."Command.%S.from.%
eec60 53 20 74 6f 20 25 53 20 74 69 6d 65 64 20 6f 75 74 20 61 66 74 65 72 20 25 73 20 73 65 63 6f 6e S.to.%S.timed.out.after.%s.secon
eec80 64 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ds".............................
eeca0 63 6f 6d 6d 61 6e 64 2d 73 65 78 70 72 20 62 75 66 20 6e 61 6d 65 20 72 61 63 6b 65 74 2d 63 6f command-sexpr.buf.name.racket-co
eecc0 6d 6d 61 6e 64 2d 74 69 6d 65 6f 75 74 29 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 65 mmand-timeout))).......(while.(e
eece0 71 20 72 65 73 70 6f 6e 73 65 20 61 77 61 69 74 69 6e 67 29 0a 20 20 20 20 20 20 20 20 28 61 63 q.response.awaiting).........(ac
eed00 63 65 70 74 2d 70 72 6f 63 65 73 73 2d 6f 75 74 70 75 74 20 6e 69 6c 20 30 2e 30 30 31 29 29 0a cept-process-output.nil.0.001)).
eed20 20 20 20 20 20 20 28 70 63 61 73 65 20 72 65 73 70 6f 6e 73 65 0a 20 20 20 20 20 20 20 20 28 60 ......(pcase.response.........(`
eed40 28 6f 6b 20 2c 76 29 20 20 20 20 76 29 0a 20 20 20 20 20 20 20 20 28 60 28 65 72 72 6f 72 20 2c (ok.,v)....v).........(`(error.,
eed60 6d 29 20 28 6c 65 74 20 28 28 70 72 69 6e 74 2d 6c 65 6e 67 74 68 20 6e 69 6c 29 20 3b 66 6f 72 m).(let.((print-length.nil).;for
eed80 20 25 53 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .%S............................(
eeda0 70 72 69 6e 74 2d 6c 65 76 65 6c 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 print-level.nil))...............
eedc0 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 78 63 65 70 74 69 6f 6e 20 66 6f 72 20 63 .........(error."Exception.for.c
eede0 6f 6d 6d 61 6e 64 20 25 53 20 66 72 6f 6d 20 25 53 20 74 6f 20 25 53 3a 5c 6e 25 73 22 0a 20 20 ommand.%S.from.%S.to.%S:\n%s"...
eee00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d ............................comm
eee20 61 6e 64 2d 73 65 78 70 72 20 62 75 66 20 6e 61 6d 65 20 6d 29 29 29 0a 20 20 20 20 20 20 20 20 and-sexpr.buf.name.m))).........
eee40 28 76 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 69 6e 74 2d 6c 65 6e 67 74 68 (v...........(let.((print-length
eee60 20 6e 69 6c 29 20 3b 66 6f 72 20 25 53 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .nil).;for.%S...................
eee80 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 2d 6c 65 76 65 6c 20 6e 69 6c 29 29 0a 20 20 20 20 .........(print-level.nil)).....
eeea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 55 6e 6b 6e 6f ...................(error."Unkno
eeec0 77 6e 20 72 65 73 70 6f 6e 73 65 20 74 6f 20 63 6f 6d 6d 61 6e 64 20 25 53 20 66 72 6f 6d 20 25 wn.response.to.command.%S.from.%
eeee0 53 20 74 6f 20 25 53 3a 5c 6e 25 53 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 S.to.%S:\n%S"...................
eef00 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 2d 73 65 78 70 72 20 62 75 66 20 6e 61 ............command-sexpr.buf.na
eef20 6d 65 20 76 29 29 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 63 6d me.v)))))))..(provide.'racket-cm
eef40 64 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 63 6d 64 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 d)..;;.racket-cmd.el.ends.here..
eef60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eef80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eefa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eefc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eefe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef000 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
ef020 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-complete.el..............
ef040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
ef080 30 30 30 35 34 32 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 32 35 30 00 20 30 00 00 00 0005420.00000000000.017250..0...
ef0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
ef120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
ef140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef200 3b 3b 3b 20 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 ;;;.racket-complete.el.-*-.lexic
ef220 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 al-binding:.t.-*-..;;.Copyright.
ef240 28 63 29 20 32 30 31 33 2d 32 30 32 33 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 (c).2013-2023.by.Greg.Hendershot
ef260 74 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 t..;;.Portions.Copyright.(C).198
ef280 35 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 5-1986,.1999-2013.Free.Software.
ef2a0 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 Foundation,.Inc...;;.Author:.Gre
ef2c0 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 g.Hendershott.;;.URL:.https://gi
ef2e0 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d thub.com/greghendershott/racket-
ef300 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 mode..;;.SPDX-License-Identifier
ef320 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 72 61 :.GPL-3.0-or-later..(require.'ra
ef340 63 6b 65 74 2d 63 6f 6d 6d 6f 6e 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 63 61 6c cket-common)..(defun.racket--cal
ef360 6c 2d 77 69 74 68 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 70 72 65 66 69 78 2d 70 6f 73 69 74 69 6f l-with-completion-prefix-positio
ef380 6e 73 20 28 70 72 6f 63 29 0a 20 20 28 69 66 20 66 6f 72 77 61 72 64 2d 73 65 78 70 2d 66 75 6e ns.(proc)...(if.forward-sexp-fun
ef3a0 63 74 69 6f 6e 20 3b 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 73 65 78 70 20 6c 61 6e 67 ction.;not.necessarily.sexp.lang
ef3c0 0a 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 20 20 20 20 20 .......(condition-case._........
ef3e0 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 ...(save-excursion.............(
ef400 6c 65 74 20 28 28 62 65 67 20 28 70 72 6f 67 6e 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 2d let.((beg.(progn.(forward-sexp.-
ef420 31 29 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 1).(point)))...................(
ef440 65 6e 64 20 28 70 72 6f 67 6e 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 20 31 29 20 28 70 6f end.(progn.(forward-sexp..1).(po
ef460 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3c 3d 20 int))))...............(when.(<=.
ef480 28 2b 20 62 65 67 20 32 29 20 65 6e 64 29 20 20 3b 70 72 65 66 69 78 20 61 74 20 6c 65 61 73 74 (+.beg.2).end)..;prefix.at.least
ef4a0 20 32 20 63 68 61 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c .2.chars.................(funcal
ef4c0 6c 20 70 72 6f 63 20 62 65 67 20 65 6e 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f l.proc.beg.end)))).........(erro
ef4e0 72 20 6e 69 6c 29 29 29 0a 20 20 28 6c 65 74 20 28 28 62 65 67 20 28 73 61 76 65 2d 65 78 63 75 r.nil)))...(let.((beg.(save-excu
ef500 72 73 69 6f 6e 20 28 73 6b 69 70 2d 73 79 6e 74 61 78 2d 62 61 63 6b 77 61 72 64 20 22 5e 2d 28 rsion.(skip-syntax-backward."^-(
ef520 29 3e 22 29 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 )>").(point)))).....(unless.(or.
ef540 28 65 71 20 62 65 67 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 (eq.beg.(point-max))............
ef560 20 20 20 20 20 28 6d 65 6d 62 65 72 20 28 63 68 61 72 2d 73 79 6e 74 61 78 20 28 63 68 61 72 2d .....(member.(char-syntax.(char-
ef580 61 66 74 65 72 20 62 65 67 29 29 20 27 28 3f 5c 22 20 3f 5c 28 20 3f 5c 29 29 29 29 0a 20 20 20 after.beg)).'(?\".?\(.?\))))....
ef5a0 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 20 20 20 20 20 20 20 20 28 ...(condition-case._...........(
ef5c0 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f save-excursion.............(goto
ef5e0 2d 63 68 61 72 20 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d -char.beg).............(forward-
ef600 73 65 78 70 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6e 64 20 28 sexp.1).............(let.((end.(
ef620 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3c 3d point)))...............(when.(<=
ef640 20 28 2b 20 62 65 67 20 32 29 20 65 6e 64 29 20 3b 70 72 65 66 69 78 20 61 74 20 6c 65 61 73 74 .(+.beg.2).end).;prefix.at.least
ef660 20 32 20 63 68 61 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c .2.chars................(funcall
ef680 20 70 72 6f 63 20 62 65 67 20 65 6e 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 .proc.beg.end)))).........(error
ef6a0 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 69 6e 2d 72 65 71 .nil)))))..(defun.racket--in-req
ef6c0 75 69 72 65 2d 66 6f 72 6d 2d 70 20 28 29 0a 20 20 28 75 6e 6c 65 73 73 20 66 6f 72 77 61 72 64 uire-form-p.()...(unless.forward
ef6e0 2d 73 65 78 70 2d 66 75 6e 63 74 69 6f 6e 20 3b 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 -sexp-function.;not.necessarily.
ef700 73 65 78 70 20 6c 61 6e 67 0a 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 sexp.lang.....(save-excursion...
ef720 20 20 20 20 28 73 61 76 65 2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 20 20 20 20 28 72 61 ....(save-match-data.........(ra
ef740 63 6b 65 74 2d 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 2d 6f 72 2d 63 6f 6d 6d 65 6e 74 29 0a cket--escape-string-or-comment).
ef760 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 6f 6e 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 ........(let.((done.nil)........
ef780 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 .......(result.nil))...........(
ef7a0 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 condition-case._...............(
ef7c0 77 68 69 6c 65 20 28 6e 6f 74 20 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 while.(not.done)................
ef7e0 20 28 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(backward-up-list).............
ef800 20 20 20 20 28 77 68 65 6e 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 70 20 28 72 78 20 3f 5c 28 20 ....(when.(looking-at-p.(rx.?\(.
ef820 28 6f 72 20 22 72 65 71 75 69 72 65 22 20 22 23 25 72 65 71 75 69 72 65 22 29 29 29 0a 20 20 20 (or."require"."#%require")))....
ef840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 6e 65 20 74 29 0a 20 20 20 ...............(setq.done.t)....
ef860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 74 29 29 29 ...............(setq.result.t)))
ef880 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 63 61 6e 2d 65 72 72 6f 72 20 6e 69 6c 29 29 0a 20 .............(scan-error.nil))..
ef8a0 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 29 29 29 29 0a 0a 3b 3b 3b 20 43 6f 6d 70 6c 65 .........result)))))..;;;.Comple
ef8c0 74 69 6f 6e 20 74 61 62 6c 65 73 20 77 69 74 68 20 22 63 61 74 65 67 6f 72 79 22 20 6d 65 74 61 tion.tables.with."category".meta
ef8e0 64 61 74 61 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 2d 69 64 65 6e 74 69 66 69 data..(defconst.racket--identifi
ef900 65 72 2d 63 61 74 65 67 6f 72 79 20 27 72 61 63 6b 65 74 2d 69 64 65 6e 74 69 66 69 65 72 0a 20 er-category.'racket-identifier..
ef920 20 22 56 61 6c 75 65 20 66 6f 72 20 63 61 74 65 67 6f 72 79 20 6d 65 74 61 64 61 74 61 20 6f 66 ."Value.for.category.metadata.of
ef940 20 69 64 65 6e 74 69 66 69 65 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 74 61 62 6c 65 73 2e 22 29 .identifier.completion.tables.")
ef960 0a 0a 3b 3b 20 53 75 67 67 65 73 74 20 64 65 66 61 75 6c 74 3b 20 63 61 6e 20 63 75 73 74 6f 6d ..;;.Suggest.default;.can.custom
ef980 69 7a 65 20 76 69 61 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 ize.via.`completion-category-ove
ef9a0 72 72 69 64 65 73 27 2e 0a 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 63 6f 6d 70 6c 65 74 69 6f rrides'..(add-to-list.'completio
ef9c0 6e 2d 63 61 74 65 67 6f 72 79 2d 64 65 66 61 75 6c 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 n-category-defaults.............
ef9e0 20 60 28 2c 72 61 63 6b 65 74 2d 2d 69 64 65 6e 74 69 66 69 65 72 2d 63 61 74 65 67 6f 72 79 20 .`(,racket--identifier-category.
efa00 28 73 74 79 6c 65 73 20 62 61 73 69 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d (styles.basic)))..(defun.racket-
efa20 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 74 61 62 6c 65 20 28 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 26 -completion-table.(completions.&
efa40 6f 70 74 69 6f 6e 61 6c 20 63 61 74 65 67 6f 72 79 29 0a 20 20 22 4c 69 6b 65 20 60 63 6f 6d 70 optional.category)..."Like.`comp
efa60 6c 65 74 69 6f 6e 2d 74 61 62 6c 65 2d 64 79 6e 61 6d 69 63 27 20 62 75 74 20 77 65 20 73 75 70 letion-table-dynamic'.but.we.sup
efa80 70 6c 79 20 63 61 74 65 67 6f 72 79 20 6d 65 74 61 64 61 74 61 2e 0a 0a 43 41 54 45 47 4f 52 59 ply.category.metadata...CATEGORY
efaa0 20 64 65 66 61 75 6c 74 73 20 74 6f 20 60 72 61 63 6b 65 74 2d 2d 69 64 65 6e 74 69 66 69 65 72 .defaults.to.`racket--identifier
efac0 2d 63 61 74 65 67 6f 72 79 27 2e 0a 0a 43 61 74 65 67 6f 72 79 20 6d 65 74 61 64 61 74 61 20 6e -category'...Category.metadata.n
efae0 65 65 64 73 20 74 6f 20 62 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 6c eeds.to.be.returned.by.the.compl
efb00 65 74 69 6f 6e 20 74 61 62 6c 65 0a 66 75 6e 63 74 69 6f 6e 20 69 74 73 65 6c 66 2c 20 75 6e 6c etion.table.function.itself,.unl
efb20 69 6b 65 20 6d 65 74 61 64 61 74 61 20 73 75 70 70 6c 69 65 64 20 61 73 20 70 72 6f 70 65 72 74 ike.metadata.supplied.as.propert
efb40 69 65 73 20 69 6e 20 74 68 65 0a 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d ies.in.the.`completion-at-point-
efb60 66 75 6e 63 74 69 6f 6e 73 27 20 6c 69 73 74 2e 0a 0a 53 75 70 70 6c 79 69 6e 67 20 63 61 74 65 functions'.list...Supplying.cate
efb80 67 6f 72 79 20 6d 65 74 61 64 61 74 61 20 61 6c 6c 6f 77 73 20 74 68 65 20 75 73 65 72 20 74 6f gory.metadata.allows.the.user.to
efba0 20 63 6f 6e 66 69 67 75 72 65 20 61 0a 63 6f 6d 70 6c 65 74 69 6f 6e 20 6d 61 74 63 68 69 6e 67 .configure.a.completion.matching
efbc0 20 73 74 79 6c 65 20 66 6f 72 20 74 68 61 74 20 63 61 74 65 67 6f 72 79 2e 22 0a 20 20 28 6c 65 .style.for.that.category."...(le
efbe0 74 20 28 28 63 61 74 65 67 6f 72 79 20 28 6f 72 20 63 61 74 65 67 6f 72 79 20 72 61 63 6b 65 74 t.((category.(or.category.racket
efc00 2d 2d 69 64 65 6e 74 69 66 69 65 72 2d 63 61 74 65 67 6f 72 79 29 29 29 0a 20 20 20 20 28 6c 61 --identifier-category))).....(la
efc20 6d 62 64 61 20 28 70 72 65 66 69 78 20 70 72 65 64 69 63 61 74 65 20 61 63 74 69 6f 6e 29 0a 20 mbda.(prefix.predicate.action)..
efc40 20 20 20 20 20 28 69 66 20 28 65 71 20 61 63 74 69 6f 6e 20 27 6d 65 74 61 64 61 74 61 29 0a 20 .....(if.(eq.action.'metadata)..
efc60 20 20 20 20 20 20 20 20 20 60 28 6d 65 74 61 64 61 74 61 20 28 63 61 74 65 67 6f 72 79 20 2e 20 .........`(metadata.(category...
efc80 2c 63 61 74 65 67 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 65 2d 77 69 ,category)).........(complete-wi
efca0 74 68 2d 61 63 74 69 6f 6e 20 61 63 74 69 6f 6e 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 70 72 65 th-action.action.completions.pre
efcc0 66 69 78 20 70 72 65 64 69 63 61 74 65 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 fix.predicate)))))..(provide.'ra
efce0 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 cket-complete)..;;.racket-comple
efd00 74 65 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 te.el.ends.here.................
efd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efe00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
efe20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-mode-pkg.el..............
efe40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efe60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
efe80 30 30 30 30 34 37 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 31 34 33 00 20 30 00 00 00 0000470.00000000000.017143..0...
efea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eff00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
eff20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
eff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
effa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
effc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
effe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0000 3b 3b 20 47 65 6e 65 72 61 74 65 64 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e ;;.Generated.package.description
f0020 20 66 72 6f 6d 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 65 6c 20 20 2d 2a 2d 20 6e 6f 2d 62 79 74 .from.racket-mode.el..-*-.no-byt
f0040 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 e-compile:.t.-*-.(define-package
f0060 20 22 72 61 63 6b 65 74 2d 6d 6f 64 65 22 20 22 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 ."racket-mode"."1.0.20240319.160
f0080 32 32 36 22 20 22 52 61 63 6b 65 74 20 65 64 69 74 69 6e 67 2c 20 52 45 50 4c 2c 20 61 6e 64 20 226"."Racket.editing,.REPL,.and.
f00a0 6d 6f 72 65 22 20 27 28 28 65 6d 61 63 73 20 22 32 35 2e 31 22 29 29 20 3a 63 6f 6d 6d 69 74 20 more".'((emacs."25.1")).:commit.
f00c0 22 48 45 41 44 22 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22 47 72 65 67 20 48 65 6e 64 65 72 73 "HEAD".:authors.'(("Greg.Henders
f00e0 68 6f 74 74 22 20 2e 20 22 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 61 75 74 68 6f 72 40 67 72 65 67 hott"..."racket-mode-author@greg
f0100 68 65 6e 64 65 72 73 68 6f 74 74 2e 63 6f 6d 22 29 29 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f hendershott.com")).:url."https:/
f0120 2f 77 77 77 2e 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 63 6f 6d 2f 22 29 0a 00 00 00 00 00 00 00 00 /www.racket-mode.com/").........
f0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0200 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
f0220 72 61 63 6b 65 74 2d 63 6f 6d 70 61 6e 79 2d 64 6f 63 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 racket-company-doc.el...........
f0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
f0280 30 30 30 35 35 34 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 36 36 31 00 20 30 00 00 00 0005545.00000000000.017661..0...
f02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
f0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
f0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0400 3b 3b 3b 20 72 61 63 6b 65 74 2d 63 6f 6d 70 61 6e 79 2d 64 6f 63 2e 65 6c 20 2d 2a 2d 20 6c 65 ;;;.racket-company-doc.el.-*-.le
f0420 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 xical-binding:.t.-*-..;;.Copyrig
f0440 68 74 20 28 63 29 20 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e ht.(c).2022.by.Greg.Hendershott.
f0460 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d .;;.Portions.Copyright.(C).1985-
f0480 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 1986,.1999-2013.Free.Software.Fo
f04a0 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 undation,.Inc...;;.Author:.Greg.
f04c0 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 Hendershott.;;.URL:.https://gith
f04e0 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f ub.com/greghendershott/racket-mo
f0500 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 de..;;.SPDX-License-Identifier:.
f0520 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 73 65 71 29 GPL-3.0-or-later..(require.'seq)
f0540 0a 28 72 65 71 75 69 72 65 20 27 73 68 72 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 .(require.'shr).(require.'racket
f0560 2d 62 61 63 6b 2d 65 6e 64 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 64 65 73 63 -back-end).(require.'racket-desc
f0580 72 69 62 65 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 73 63 72 69 62 62 6c 65 29 ribe).(require.'racket-scribble)
f05a0 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 63 6f 6d 70 61 6e 79 2d 64 6f 63 2d 62 75 66 ..(defun.racket--company-doc-buf
f05c0 66 65 72 20 28 68 6f 77 20 73 74 72 29 0a 20 20 28 70 63 61 73 65 20 28 72 61 63 6b 65 74 2d 2d fer.(how.str)...(pcase.(racket--
f05e0 63 6d 64 2f 61 77 61 69 74 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d cmd/await.(racket--repl-session-
f0600 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 id).............................
f0620 60 28 64 65 73 63 72 69 62 65 20 2c 28 72 61 63 6b 65 74 2d 68 6f 77 2d 66 72 6f 6e 74 2d 74 6f `(describe.,(racket-how-front-to
f0640 2d 62 61 63 6b 20 68 6f 77 29 20 2c 73 74 72 29 29 0a 20 20 20 20 28 60 28 2c 28 61 6e 64 20 70 -back.how).,str)).....(`(,(and.p
f0660 61 74 68 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 29 20 2e 20 2c 61 6e 63 68 6f 72 29 0a 20 ath.(pred.stringp))...,anchor)..
f0680 20 20 20 20 28 6c 65 74 20 28 28 70 61 74 68 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d ....(let.((path.(racket-file-nam
f06a0 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 6f 6e 74 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 e-back-to-front.path))..........
f06c0 20 20 28 6e 61 6d 65 20 22 2a 72 61 63 6b 65 74 2d 63 6f 6d 70 61 6e 79 2d 64 6f 63 2d 62 75 66 ..(name."*racket-company-doc-buf
f06e0 66 65 72 2a 22 29 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 62 75 66 20 28 67 fer*"))........(when-let.(buf.(g
f0700 65 74 2d 62 75 66 66 65 72 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 et-buffer.name))..........(when.
f0720 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 62 75 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 (buffer-live-p.buf)............(
f0740 6b 69 6c 6c 2d 62 75 66 66 65 72 20 62 75 66 29 29 29 0a 20 20 20 20 20 20 20 28 77 69 74 68 2d kill-buffer.buf)))........(with-
f0760 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 current-buffer.(get-buffer-creat
f0780 65 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 e.name)..........(goto-char.(poi
f07a0 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 73 63 72 69 62 nt-min))..........(racket--scrib
f07c0 62 6c 65 2d 70 61 74 68 2b 61 6e 63 68 6f 72 2d 69 6e 73 65 72 74 20 70 61 74 68 20 61 6e 63 68 ble-path+anchor-insert.path.anch
f07e0 6f 72 29 0a 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d or)..........(goto-char.(point-m
f0800 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 72 65 61 64 2d in))..........(setq.buffer-read-
f0820 6f 6e 6c 79 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 only.t)..........(current-buffer
f0840 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d ))))))..(defun.racket--scribble-
f0860 70 61 74 68 2b 61 6e 63 68 6f 72 2d 69 6e 73 65 72 74 20 28 70 61 74 68 20 61 6e 63 68 6f 72 29 path+anchor-insert.(path.anchor)
f0880 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 6d 65 73 73 61 67 65 20 28 66 6f 72 6d 61 74 20 22 47 ...(with-temp-message.(format."G
f08a0 65 74 74 69 6e 67 20 61 6e 64 20 66 6f 72 6d 61 74 74 69 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 etting.and.formatting.documentat
f08c0 69 6f 6e 20 25 73 20 25 73 20 2e 2e 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion.%s.%s...."..................
f08e0 20 20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 20 61 6e 63 68 6f 72 29 0a 20 20 20 20 28 6c 65 ............path.anchor).....(le
f0900 74 2a 20 28 28 74 72 61 6d 70 2d 76 65 72 62 6f 73 65 20 32 29 20 20 20 20 20 20 20 20 20 20 20 t*.((tramp-verbose.2)...........
f0920 20 3b 61 76 6f 69 64 20 65 78 63 65 73 73 69 76 65 20 6d 65 73 73 61 67 65 73 0a 20 20 20 20 20 .;avoid.excessive.messages......
f0940 20 20 20 20 20 20 28 64 6f 6d 20 20 20 28 72 61 63 6b 65 74 2d 2d 68 74 6d 6c 2d 66 69 6c 65 2d ......(dom...(racket--html-file-
f0960 3e 64 6f 6d 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 6f 64 79 20 20 28 72 >dom.path))............(body..(r
f0980 61 63 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d 62 6f 64 79 20 64 6f 6d 29 29 0a 20 20 20 20 20 acket--scribble-body.dom))......
f09a0 20 20 20 20 20 20 28 65 6c 65 6d 73 20 28 72 61 63 6b 65 74 2d 2d 63 6f 6d 70 61 6e 79 2d 65 6c ......(elems.(racket--company-el
f09c0 65 6d 65 6e 74 73 2d 66 6f 72 2d 61 6e 63 68 6f 72 20 62 6f 64 79 20 61 6e 63 68 6f 72 29 29 0a ements-for-anchor.body.anchor)).
f09e0 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6d 20 20 20 60 28 64 69 76 20 28 29 20 2c 40 65 6c 65 ...........(dom...`(div.().,@ele
f0a00 6d 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6d 20 20 20 28 72 61 63 6b 65 74 2d 2d ms))............(dom...(racket--
f0a20 77 61 6c 6b 2d 64 6f 6d 20 64 6f 6d 29 29 29 0a 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 74 72 walk-dom.dom))).......(ignore.tr
f0a40 61 6d 70 2d 76 65 72 62 6f 73 65 29 0a 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 amp-verbose).......(save-excursi
f0a60 6f 6e 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 68 72 2d 75 73 65 2d 66 6f 6e 74 73 20 on.........(let.((shr-use-fonts.
f0a80 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 72 2d 65 78 74 65 72 6e 61 6c nil)...............(shr-external
f0aa0 2d 72 65 6e 64 65 72 69 6e 67 2d 66 75 6e 63 74 69 6f 6e 73 20 60 28 28 73 70 61 6e 20 2e 20 2c -rendering-functions.`((span...,
f0ac0 23 27 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 73 70 61 6e 29 29 29 0a 20 20 20 20 #'racket-render-tag-span))).....
f0ae0 20 20 20 20 20 20 20 20 20 20 28 73 68 72 2d 77 69 64 74 68 20 37 36 29 29 20 3b 66 6f 72 20 63 ..........(shr-width.76)).;for.c
f0b00 6f 6d 70 61 6e 79 2d 71 75 69 63 6b 68 65 6c 70 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 ompany-quickhelp-mode...........
f0b20 28 73 68 72 2d 69 6e 73 65 72 74 2d 64 6f 63 75 6d 65 6e 74 20 64 6f 6d 29 29 29 0a 20 20 20 20 (shr-insert-document.dom))).....
f0b40 20 20 28 77 68 69 6c 65 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 28 73 74 72 ..(while.(re-search-forward.(str
f0b60 69 6e 67 20 72 61 63 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d 74 65 6d 70 2d 6e 62 73 70 29 20 ing.racket--scribble-temp-nbsp).
f0b80 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 20 nil.t).........(replace-match.".
f0ba0 22 20 74 20 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 63 6f 6d 70 61 ".t.t)))))..(defun.racket--compa
f0bc0 6e 79 2d 65 6c 65 6d 65 6e 74 73 2d 66 6f 72 2d 61 6e 63 68 6f 72 20 28 78 73 20 61 6e 63 68 6f ny-elements-for-anchor.(xs.ancho
f0be0 72 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 73 75 62 73 65 74 20 6f 66 20 58 53 20 64 6f r)..."Return.the.subset.of.XS.do
f0c00 6d 20 65 6c 65 6d 65 6e 74 73 20 70 65 72 74 61 69 6e 69 6e 67 20 74 6f 20 41 4e 43 48 4f 52 2e m.elements.pertaining.to.ANCHOR.
f0c20 22 0a 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 78 73 20 28 6e 6f 74 20 28 72 61 63 6b 65 74 2d "...(while.(and.xs.(not.(racket-
f0c40 2d 61 6e 63 68 6f 72 65 64 2d 65 6c 65 6d 65 6e 74 20 28 63 61 72 20 78 73 29 20 61 6e 63 68 6f -anchored-element.(car.xs).ancho
f0c60 72 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 78 73 20 28 63 64 72 20 78 73 29 29 29 0a 20 20 28 r))).....(setq.xs.(cdr.xs)))...(
f0c80 61 6e 64 20 78 73 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 6e 69 6c 29 and.xs........(let.((result.nil)
f0ca0 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 72 20 78 73 29 20 72 65 73 75 6c 74 )..........(push.(car.xs).result
f0cc0 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 78 73 20 28 63 64 72 20 78 73 29 29 0a 20 20 )..........(setq.xs.(cdr.xs))...
f0ce0 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 78 73 20 28 6e 6f 74 20 28 6f 72 20 28 .......(while.(and.xs.(not.(or.(
f0d00 72 61 63 6b 65 74 2d 2d 68 65 61 64 69 6e 67 2d 65 6c 65 6d 65 6e 74 20 28 63 61 72 20 78 73 29 racket--heading-element.(car.xs)
f0d20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
f0d40 20 20 20 28 72 61 63 6b 65 74 2d 2d 61 6e 63 68 6f 72 65 64 2d 65 6c 65 6d 65 6e 74 20 28 63 61 ...(racket--anchored-element.(ca
f0d60 72 20 78 73 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 72 20 r.xs)))))............(push.(car.
f0d80 78 73 29 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 78 73 20 xs).result)............(setq.xs.
f0da0 28 63 64 72 20 78 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 76 65 72 73 65 20 72 65 73 (cdr.xs)))..........(reverse.res
f0dc0 75 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 68 65 61 64 69 6e 67 2d ult))))..(defun.racket--heading-
f0de0 65 6c 65 6d 65 6e 74 20 28 78 29 0a 20 20 28 61 6e 64 20 28 6c 69 73 74 70 20 78 29 0a 20 20 20 element.(x)...(and.(listp.x)....
f0e00 20 20 20 20 28 6d 65 6d 71 20 28 63 61 72 20 78 29 20 27 28 68 31 20 68 32 20 68 33 20 68 34 20 ....(memq.(car.x).'(h1.h2.h3.h4.
f0e20 68 35 20 68 36 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 61 6e 63 68 6f 72 h5.h6))))..(defun.racket--anchor
f0e40 65 64 2d 65 6c 65 6d 65 6e 74 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 6e 61 6d 65 29 0a 20 20 ed-element.(x.&optional.name)...
f0e60 28 70 63 61 73 65 20 78 0a 20 20 20 20 28 60 28 61 20 28 28 6e 61 6d 65 20 2e 20 2c 61 29 29 20 (pcase.x.....(`(a.((name...,a)).
f0e80 2e 20 2c 5f 29 20 28 6f 72 20 28 6e 6f 74 20 6e 61 6d 65 29 20 28 65 71 75 61 6c 20 6e 61 6d 65 ..,_).(or.(not.name).(equal.name
f0ea0 20 61 29 29 29 0a 20 20 20 20 28 60 28 2c 5f 74 61 67 20 2c 5f 61 73 20 2e 20 2c 65 73 29 20 28 .a))).....(`(,_tag.,_as...,es).(
f0ec0 73 65 71 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28 76 29 20 28 72 61 63 6b 65 74 2d 2d 61 6e seq-some.(lambda.(v).(racket--an
f0ee0 63 68 6f 72 65 64 2d 65 6c 65 6d 65 6e 74 20 76 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 chored-element.v.name)).........
f0f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 73 29 29 29 ...........................es)))
f0f20 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 63 6f 6d 70 61 6e 79 2d 64 6f 63 29 )..(provide.'racket-company-doc)
f0f40 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 63 6f 6d 70 61 6e 79 2d 64 6f 63 2e 65 6c 20 65 6e 64 73 20 ..;;.racket-company-doc.el.ends.
f0f60 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 here............................
f0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f1000 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
f1020 72 61 63 6b 65 74 2d 64 65 62 75 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-debug.el.................
f1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f1060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
f1080 30 30 33 36 33 36 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 35 33 35 00 20 30 00 00 00 0036360.00000000000.016535..0...
f10a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f10c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f10e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f1100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
f1120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
f1140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f1160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f1180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f11a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f11c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f11e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f1200 3b 3b 3b 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d ;;;.racket-debug.el.-*-.lexical-
f1220 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 binding:.t;.-*-..;;.Copyright.(c
f1240 29 20 32 30 31 38 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e ).2018-2022.by.Greg.Hendershott.
f1260 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b ..;;.Author:.Greg.Hendershott.;;
f1280 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e .URL:.https://github.com/greghen
f12a0 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 dershott/racket-mode..;;.SPDX-Li
f12c0 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 cense-Identifier:.GPL-3.0-or-lat
f12e0 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 0a 28 er..(require.'racket-back-end).(
f1300 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 29 0a 28 72 65 71 75 69 72 65 20 27 require.'racket-repl).(require.'
f1320 65 61 73 79 6d 65 6e 75 29 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 easymenu).(require.'cl-lib).(req
f1340 75 69 72 65 20 27 72 78 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 73 61 6d 65 2d 64 69 uire.'rx)..(defun.racket-same-di
f1360 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 28 66 69 6c 65 29 0a 20 20 22 41 20 73 75 69 74 61 62 rectory-files.(file)..."A.suitab
f1380 6c 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 le.value.for.the.variable.`racke
f13a0 74 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 27 2e 0a 52 65 74 75 72 6e 20 46 49 4c 45 t-debuggable-files'..Return.FILE
f13c0 20 70 6c 75 73 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 73 20 66 6f 72 20 61 6c 6c 20 52 61 63 .plus.absolute.paths.for.all.Rac
f13e0 6b 65 74 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 64 69 72 65 63 74 6f 72 79 20 ket.files.in.the.same.directory.
f1400 61 73 20 46 49 4c 45 2e 22 0a 20 20 28 63 6f 6e 73 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 28 as.FILE."...(cons.file.........(
f1420 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 directory-files.(file-name-direc
f1440 74 6f 72 79 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tory.file)......................
f1460 20 20 20 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ....t..........................(
f1480 72 78 20 22 2e 22 20 28 6f 72 20 22 72 6b 74 22 20 22 73 73 22 20 22 73 63 6d 22 20 22 73 63 72 rx.".".(or."rkt"."ss"."scm"."scr
f14a0 62 6c 22 29 20 65 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bl").eos).......................
f14c0 20 20 20 6e 69 6c 29 29 29 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 64 65 62 75 67 67 ...nil)))..(defvar.racket-debugg
f14e0 61 62 6c 65 2d 66 69 6c 65 73 20 23 27 72 61 63 6b 65 74 2d 73 61 6d 65 2d 64 69 72 65 63 74 6f able-files.#'racket-same-directo
f1500 72 79 2d 66 69 6c 65 73 0a 20 20 22 55 73 65 64 20 74 6f 20 74 65 6c 6c 20 60 72 61 63 6b 65 74 ry-files..."Used.to.tell.`racket
f1520 2d 72 75 6e 27 20 77 68 61 74 20 66 69 6c 65 73 20 6d 61 79 20 62 65 20 69 6e 73 74 72 75 6d 65 -run'.what.files.may.be.instrume
f1540 6e 74 65 64 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2e 0a 0a 54 68 69 73 20 69 73 6e 27 74 20 nted.for.debugging...This.isn't.
f1560 79 65 74 20 61 20 64 65 66 63 75 73 74 6f 6d 20 62 65 63 75 61 73 65 20 74 68 65 20 64 65 62 75 yet.a.defcustom.becuase.the.debu
f1580 67 67 65 72 20 73 74 61 74 75 73 20 69 73 20 73 74 69 6c 6c 0a 5c 22 65 78 70 65 72 69 6d 65 6e gger.status.is.still.\"experimen
f15a0 74 61 6c 5c 22 2e 0a 0a 4d 75 73 74 20 62 65 20 65 69 74 68 65 72 20 61 20 6c 69 73 74 20 6f 66 tal\"...Must.be.either.a.list.of
f15c0 20 66 69 6c 65 20 6e 61 6d 65 20 73 74 72 69 6e 67 73 2c 20 6f 72 2c 20 61 20 66 75 6e 63 74 69 .file.name.strings,.or,.a.functi
f15e0 6f 6e 20 74 68 61 74 0a 74 61 6b 65 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 on.that.takes.the.name.of.the.fi
f1600 6c 65 20 62 65 69 6e 67 20 72 75 6e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 le.being.run.and.returns.a.list.
f1620 6f 66 20 66 69 6c 65 0a 6e 61 6d 65 73 2e 0a 0a 45 61 63 68 20 66 69 6c 65 20 6e 61 6d 65 20 69 of.file.names...Each.file.name.i
f1640 6e 20 74 68 65 20 6c 69 73 74 20 69 73 20 6d 61 64 65 20 61 62 73 6f 6c 75 74 65 20 75 73 69 6e n.the.list.is.made.absolute.usin
f1660 67 0a 60 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 27 20 77 69 74 68 20 72 65 73 70 65 63 g.`expand-file-name'.with.respec
f1680 74 20 74 6f 20 74 68 65 20 66 69 6c 65 20 62 65 69 6e 67 20 72 75 6e 20 61 6e 64 20 67 69 76 65 t.to.the.file.being.run.and.give
f16a0 6e 0a 74 6f 20 60 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 66 72 6f 6e 74 2d 74 6f 2d n.to.`racket-file-name-front-to-
f16c0 62 61 63 6b 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 67 61 back'.")..(defun.racket--debugga
f16e0 62 6c 65 2d 66 69 6c 65 73 20 28 66 69 6c 65 2d 74 6f 2d 72 75 6e 29 0a 20 20 22 44 6f 20 74 68 ble-files.(file-to-run)..."Do.th
f1700 65 20 77 6f 72 6b 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 64 6f 63 20 73 74 72 20 66 6f 72 20 e.work.described.in.doc.str.for.
f1720 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 variable.`racket-debuggable-file
f1740 73 27 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 0a 20 20 s'."...(mapcar.(lambda.(file)...
f1760 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 66 72 6f 6e ..........(racket-file-name-fron
f1780 74 2d 74 6f 2d 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 t-to-back..............(expand-f
f17a0 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 20 66 69 6c 65 2d 74 6f 2d 72 75 6e 29 29 29 0a 20 20 20 ile-name.file.file-to-run)))....
f17c0 20 20 20 20 20 20 20 28 69 66 20 28 66 75 6e 63 74 69 6f 6e 70 20 72 61 63 6b 65 74 2d 64 65 62 .......(if.(functionp.racket-deb
f17e0 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 uggable-files)...............(fu
f1800 6e 63 61 6c 6c 20 72 61 63 6b 65 74 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 20 66 69 ncall.racket-debuggable-files.fi
f1820 6c 65 2d 74 6f 2d 72 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 64 65 le-to-run).............racket-de
f1840 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 29 29 29 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 buggable-files)))..(defvar.racke
f1860 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 61 62 6c 65 2d 70 6f 73 69 74 69 6f 6e 73 20 6e 69 6c t--debug-breakable-positions.nil
f1880 29 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 2d 6c 6f ).(defvar.racket--debug-break-lo
f18a0 63 61 6c 73 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d cals.nil).(defvar.racket--debug-
f18c0 62 72 65 61 6b 2d 69 6e 66 6f 20 6e 69 6c 29 0a 3b 3b 20 28 55 20 6e 69 6c 20 28 63 6f 6e 73 20 break-info.nil).;;.(U.nil.(cons.
f18e0 62 72 65 61 6b 2d 69 64 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 55 20 28 6c 69 73 break-id.;;..............(U.(lis
f1900 74 20 27 62 65 66 6f 72 65 29 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c t.'before).;;.................(l
f1920 69 73 74 20 27 61 66 74 65 72 20 73 74 72 69 6e 67 2d 6f 66 2d 72 61 63 6b 65 74 2d 77 72 69 74 ist.'after.string-of-racket-writ
f1940 65 2d 76 61 6c 75 65 73 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 64 65 e-values))))..(defvar.racket--de
f1960 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 73 20 6e 69 6c 0a 20 20 22 41 20 6c 69 73 74 20 6f 66 bug-breakpoints.nil..."A.list.of
f1980 20 6f 76 65 72 6c 61 79 73 20 66 6f 72 20 62 72 65 61 6b 70 6f 69 6e 74 73 20 74 68 65 20 75 73 .overlays.for.breakpoints.the.us
f19a0 65 72 20 68 61 73 20 73 65 74 2e 22 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 er.has.set.")..;;;###autoload.(d
f19c0 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 6f 6e 2d 62 72 65 61 6b 20 28 72 65 73 efun.racket--debug-on-break.(res
f19e0 70 6f 6e 73 65 29 0a 20 20 28 70 63 61 73 65 20 72 65 73 70 6f 6e 73 65 0a 20 20 20 20 28 60 28 ponse)...(pcase.response.....(`(
f1a00 28 2c 73 72 63 20 2e 20 2c 70 6f 73 29 20 2c 62 72 65 61 6b 61 62 6c 65 2d 70 6f 73 69 74 69 6f (,src...,pos).,breakable-positio
f1a20 6e 73 20 2c 6c 6f 63 61 6c 73 20 2c 76 61 6c 73 29 0a 20 20 20 20 20 28 6c 65 74 20 28 28 73 72 ns.,locals.,vals)......(let.((sr
f1a40 63 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 6f 6e c.(racket-file-name-back-to-fron
f1a60 74 20 73 72 63 29 29 29 0a 20 20 20 20 20 20 20 28 70 63 61 73 65 20 28 66 69 6e 64 2d 62 75 66 t.src)))........(pcase.(find-buf
f1a80 66 65 72 2d 76 69 73 69 74 69 6e 67 20 73 72 63 29 0a 20 20 20 20 20 20 20 20 20 28 60 6e 69 6c fer-visiting.src)..........(`nil
f1aa0 20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 29 20 28 66 69 6e 64 2d 66 69 6c 65 20 73 72 63 .(other-window.1).(find-file.src
f1ac0 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 75 66 20 20 28 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 ))..........(buf..(pop-to-buffer
f1ae0 20 62 75 66 29 29 29 0a 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 0a 20 .buf)))........(goto-char.pos)..
f1b00 20 20 20 20 20 20 28 70 63 61 73 65 20 76 61 6c 73 0a 20 20 20 20 20 20 20 20 20 28 60 28 2c 5f ......(pcase.vals..........(`(,_
f1b20 69 64 20 62 65 66 6f 72 65 29 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 42 72 id.before)..........(message."Br
f1b40 65 61 6b 20 62 65 66 6f 72 65 20 65 78 70 72 65 73 73 69 6f 6e 22 29 29 0a 20 20 20 20 20 20 20 eak.before.expression"))........
f1b60 20 20 28 60 28 2c 5f 69 64 20 61 66 74 65 72 20 28 2c 5f 20 2e 20 2c 73 29 29 20 28 6d 65 73 73 ..(`(,_id.after.(,_...,s)).(mess
f1b80 61 67 65 20 22 42 72 65 61 6b 20 61 66 74 65 72 20 65 78 70 72 65 73 73 69 6f 6e 3a 20 28 76 61 age."Break.after.expression:.(va
f1ba0 6c 75 65 73 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lues.%s"........................
f1bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 73 ....................(substring.s
f1be0 20 31 29 29 29 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 .1))))........(setq.racket--debu
f1c00 67 2d 62 72 65 61 6b 61 62 6c 65 2d 70 6f 73 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 g-breakable-positions...........
f1c20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 70 61 74 68 2b 70 6f 73 69 74 69 6f ...(mapcar.(lambda.(path+positio
f1c40 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 ns)........................(cons
f1c60 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 6f 6e 74 .(racket-file-name-back-to-front
f1c80 20 28 63 61 72 20 70 61 74 68 2b 70 6f 73 69 74 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 .(car.path+positions))..........
f1ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 6f 72 74 20 28 63 64 72 20 70 ....................(sort.(cdr.p
f1cc0 61 74 68 2b 70 6f 73 69 74 69 6f 6e 73 29 20 23 27 3c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ath+positions).#'<)))...........
f1ce0 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 61 62 6c 65 2d 70 6f 73 69 74 69 6f 6e 73 29 29 ...........breakable-positions))
f1d00 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 ........(setq.racket--debug-brea
f1d20 6b 2d 6c 6f 63 61 6c 73 20 6c 6f 63 61 6c 73 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 k-locals.locals)........(setq.ra
f1d40 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 2d 69 6e 66 6f 20 76 61 6c 73 29 0a 20 20 20 cket--debug-break-info.vals)....
f1d60 20 20 20 20 28 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 20 31 29 29 29 29 29 0a 0a 28 ....(racket-debug-mode.1)))))..(
f1d80 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 72 65 73 75 6d 65 20 28 6e 65 78 74 defun.racket--debug-resume.(next
f1da0 2d 62 72 65 61 6b 20 76 61 6c 75 65 2d 70 72 6f 6d 70 74 2d 70 29 0a 20 20 28 75 6e 6c 65 73 73 -break.value-prompt-p)...(unless
f1dc0 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 2d 69 6e 66 6f 20 28 75 73 65 72 2d .racket--debug-break-info.(user-
f1de0 65 72 72 6f 72 20 22 4e 6f 74 20 64 65 62 75 67 67 69 6e 67 22 29 29 0a 20 20 28 6c 65 74 20 28 error."Not.debugging"))...(let.(
f1e00 28 69 6e 66 6f 20 28 69 66 20 76 61 6c 75 65 2d 70 72 6f 6d 70 74 2d 70 0a 20 20 20 20 20 20 20 (info.(if.value-prompt-p........
f1e20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 70 72 6f 6d 70 74 ...........(racket--debug-prompt
f1e40 2d 66 6f 72 2d 6e 65 77 2d 76 61 6c 75 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -for-new-values)................
f1e60 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 2d 69 6e 66 6f 29 29 29 0a 20 20 20 .racket--debug-break-info)))....
f1e80 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2f 61 73 79 6e 63 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 .(racket--cmd/async.(racket--rep
f1ea0 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l-session-id)...................
f1ec0 20 20 20 20 20 60 28 64 65 62 75 67 2d 72 65 73 75 6d 65 20 28 2c 6e 65 78 74 2d 62 72 65 61 6b .....`(debug-resume.(,next-break
f1ee0 20 2c 69 6e 66 6f 29 29 29 29 0a 20 20 28 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 20 .,info))))...(racket-debug-mode.
f1f00 2d 31 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 61 -1)...(setq.racket--debug-breaka
f1f20 62 6c 65 2d 70 6f 73 69 74 69 6f 6e 73 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 ble-positions.nil)...(setq.racke
f1f40 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 2d 6c 6f 63 61 6c 73 20 6e 69 6c 29 0a 20 20 28 73 65 t--debug-break-locals.nil)...(se
f1f60 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 2d 69 6e 66 6f 20 6e 69 6c 29 tq.racket--debug-break-info.nil)
f1f80 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 70 72 6f 6d 70 74 2d 66 )..(defun.racket--debug-prompt-f
f1fa0 6f 72 2d 6e 65 77 2d 76 61 6c 75 65 73 20 28 29 0a 20 20 28 70 63 61 73 65 20 72 61 63 6b 65 74 or-new-values.()...(pcase.racket
f1fc0 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 2d 69 6e 66 6f 0a 20 20 20 20 28 60 28 2c 69 64 20 62 65 --debug-break-info.....(`(,id.be
f1fe0 66 6f 72 65 29 0a 20 20 20 20 20 28 70 63 61 73 65 20 28 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e fore)......(pcase.(read-from-min
f2000 69 62 75 66 66 65 72 20 22 53 6b 69 70 20 73 74 65 70 2c 20 73 75 62 73 74 69 74 75 74 69 6e 67 ibuffer."Skip.step,.substituting
f2020 20 76 61 6c 75 65 73 3a 20 22 20 22 28 29 22 29 0a 20 20 20 20 20 20 20 28 28 6f 72 20 60 6e 69 .values:."."()")........((or.`ni
f2040 6c 20 22 22 20 22 28 29 22 29 20 60 28 2c 69 64 20 62 65 66 6f 72 65 29 29 0a 20 20 20 20 20 20 l.""."()").`(,id.before)).......
f2060 20 28 73 74 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 2c 69 64 20 62 65 66 6f 72 65 .(str...............`(,id.before
f2080 20 2c 73 74 72 29 29 29 29 0a 20 20 20 20 28 60 28 2c 69 64 20 61 66 74 65 72 20 28 74 20 2e 20 .,str)))).....(`(,id.after.(t...
f20a0 2c 6f 72 69 67 29 29 0a 20 20 20 20 20 28 70 63 61 73 65 20 28 72 65 61 64 2d 66 72 6f 6d 2d 6d ,orig))......(pcase.(read-from-m
f20c0 69 6e 69 62 75 66 66 65 72 20 22 53 74 65 70 2c 20 72 65 70 6c 61 63 69 6e 67 20 72 65 73 75 6c inibuffer."Step,.replacing.resul
f20e0 74 20 76 61 6c 75 65 73 3a 20 22 20 6f 72 69 67 29 0a 20 20 20 20 20 20 20 28 28 6f 72 20 60 6e t.values:.".orig)........((or.`n
f2100 69 6c 20 22 22 20 22 28 29 22 29 20 60 28 2c 69 64 20 61 66 74 65 72 20 28 74 20 2e 20 2c 6f 72 il.""."()").`(,id.after.(t...,or
f2120 69 67 29 29 29 0a 20 20 20 20 20 20 20 28 6e 65 77 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ig)))........(new...............
f2140 60 28 2c 69 64 20 61 66 74 65 72 20 28 74 20 2e 20 2c 6e 65 77 29 29 29 29 29 0a 20 20 20 20 28 `(,id.after.(t...,new))))).....(
f2160 76 20 76 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 73 74 65 70 v.v)))..(defun.racket-debug-step
f2180 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 29 0a 20 20 22 53 74 65 70 20 74 6f 20 6e .(&optional.prefix)..."Step.to.n
f21a0 65 78 74 20 62 72 65 61 6b 61 62 6c 65 20 70 6f 73 69 74 69 6f 6e 2e 20 57 69 74 68 20 5c 5c 5b ext.breakable.position..With.\\[
f21c0 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 73 75 62 73 74 69 74 75 74 65 20 76 universal-argument].substitute.v
f21e0 61 6c 75 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 72 alues."...(interactive."P")...(r
f2200 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 72 65 73 75 6d 65 20 27 61 6c 6c 20 70 72 65 66 69 78 29 acket--debug-resume.'all.prefix)
f2220 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 73 74 65 70 2d 6f 76 65 72 )..(defun.racket-debug-step-over
f2240 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 29 0a 20 20 22 53 74 65 70 20 6f 76 65 72 .(&optional.prefix)..."Step.over
f2260 20 6e 65 78 74 20 65 78 70 72 65 73 73 69 6f 6e 2e 20 57 69 74 68 20 5c 5c 5b 75 6e 69 76 65 72 .next.expression..With.\\[univer
f2280 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 2c 20 73 75 62 73 74 69 74 75 74 65 20 76 61 6c 75 65 73 sal-argument],.substitute.values
f22a0 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 72 61 63 6b 65 74 ."...(interactive."P")...(racket
f22c0 2d 2d 64 65 62 75 67 2d 72 65 73 75 6d 65 20 27 6f 76 65 72 20 70 72 65 66 69 78 29 29 0a 0a 28 --debug-resume.'over.prefix))..(
f22e0 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 73 74 65 70 2d 6f 75 74 20 28 26 6f 70 defun.racket-debug-step-out.(&op
f2300 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 29 0a 20 20 22 53 74 65 70 20 6f 75 74 2e 20 57 69 74 68 tional.prefix)..."Step.out..With
f2320 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 2c 20 73 75 62 73 74 69 74 .\\[universal-argument],.substit
f2340 75 74 65 20 76 61 6c 75 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 ute.values."...(interactive."P")
f2360 0a 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 72 65 73 75 6d 65 20 27 6f 75 74 20 70 72 ...(racket--debug-resume.'out.pr
f2380 65 66 69 78 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 63 6f 6e 74 efix))..(defun.racket-debug-cont
f23a0 69 6e 75 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 29 0a 20 20 22 43 6f 6e 74 69 inue.(&optional.prefix)..."Conti
f23c0 6e 75 65 20 74 6f 20 6e 65 78 74 20 62 72 65 61 6b 70 6f 69 6e 74 2e 20 57 69 74 68 20 5c 5c 5b nue.to.next.breakpoint..With.\\[
f23e0 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 2c 20 73 75 62 73 74 69 74 75 74 65 20 universal-argument],.substitute.
f2400 76 61 6c 75 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 values."...(interactive."P")...(
f2420 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 76 61 6c 69 64 61 74 65 2d 62 72 65 61 6b 70 6f 69 6e racket--debug-validate-breakpoin
f2440 74 73 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 72 65 73 75 6d 65 20 28 73 65 71 ts)...(racket--debug-resume.(seq
f2460 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -map.(lambda.(o)................
f2480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 77 69 74 68 2d ....................(list.(with-
f24a0 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 6f 76 65 72 6c 61 79 2d 62 75 66 66 65 72 20 6f current-buffer.(overlay-buffer.o
f24c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
f24e0 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 66 72 ............(racket-file-name-fr
f2500 6f 6e 74 2d 74 6f 2d 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ont-to-back.....................
f2520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d .......................(racket--
f2540 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 buffer-file-name))).............
f2560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 76 .............................(ov
f2580 65 72 6c 61 79 2d 73 74 61 72 74 20 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erlay-start.o)..................
f25a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 6f 76 65 ........................(or.(ove
f25c0 72 6c 61 79 2d 67 65 74 20 6f 20 27 72 61 63 6b 65 74 2d 62 72 65 61 6b 70 6f 69 6e 74 2d 63 6f rlay-get.o.'racket-breakpoint-co
f25e0 6e 64 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ndition)........................
f2600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 23 74 22 29 0a 20 20 20 20 ......................"#t").....
f2620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f2640 20 20 20 20 20 28 6f 72 20 28 6f 76 65 72 6c 61 79 2d 67 65 74 20 6f 20 27 72 61 63 6b 65 74 2d .....(or.(overlay-get.o.'racket-
f2660 62 72 65 61 6b 70 6f 69 6e 74 2d 61 63 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 breakpoint-actions).............
f2680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f26a0 20 22 28 62 72 65 61 6b 29 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."(break)")))...................
f26c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 ...............racket--debug-bre
f26e0 61 6b 70 6f 69 6e 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 akpoints).......................
f2700 20 20 70 72 65 66 69 78 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 ..prefix))..(defun.racket--debug
f2720 2d 76 61 6c 69 64 61 74 65 2d 62 72 65 61 6b 70 6f 69 6e 74 73 20 28 29 0a 20 20 22 52 65 6d 6f -validate-breakpoints.()..."Remo
f2740 76 65 20 69 6e 76 61 6c 69 64 20 6f 76 65 72 6c 61 79 73 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 ve.invalid.overlays.from.the.lis
f2760 74 2e 22 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 70 t."...(setq.racket--debug-breakp
f2780 6f 69 6e 74 73 0a 20 20 20 20 20 20 20 20 28 73 65 71 2d 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 oints.........(seq-filter.(lambd
f27a0 61 20 28 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 a.(o).......................(if.
f27c0 28 62 75 66 66 65 72 70 20 28 6f 76 65 72 6c 61 79 2d 62 75 66 66 65 72 20 6f 29 29 0a 20 20 20 (bufferp.(overlay-buffer.o))....
f27e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 0a 20 20 20 20 20 20 20 .......................t........
f2800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 6f 76 65 72 6c 61 79 .................(delete-overlay
f2820 20 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 .o).........................nil)
f2840 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 64 65 ).....................racket--de
f2860 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 bug-breakpoints)))..(defun.racke
f2880 74 2d 64 65 62 75 67 2d 67 6f 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 29 0a 20 20 t-debug-go.(&optional.prefix)...
f28a0 22 47 6f 2c 20 64 6f 6e 27 74 20 62 72 65 61 6b 20 61 6e 79 6d 6f 72 65 2e 20 57 69 74 68 20 5c "Go,.don't.break.anymore..With.\
f28c0 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 2c 20 73 75 62 73 74 69 74 75 74 \[universal-argument],.substitut
f28e0 65 20 76 61 6c 75 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 e.values."...(interactive."P")..
f2900 20 28 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 72 65 73 75 6d 65 20 27 6e 6f 6e 65 20 70 72 65 .(racket--debug-resume.'none.pre
f2920 66 69 78 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 72 75 6e 2d 74 fix))..(defun.racket-debug-run-t
f2940 6f 2d 68 65 72 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 29 0a 20 20 22 52 65 73 o-here.(&optional.prefix)..."Res
f2960 75 6d 65 20 75 6e 74 69 6c 20 70 6f 69 6e 74 20 28 69 66 20 70 6f 73 73 69 62 6c 65 29 2e 20 57 ume.until.point.(if.possible)..W
f2980 69 74 68 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 2c 20 73 75 62 73 ith.\\[universal-argument],.subs
f29a0 74 69 74 75 74 65 20 76 61 6c 75 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a titute.values."...(interactive).
f29c0 20 20 3b 3b 20 69 2e 65 2e 20 41 63 74 20 61 73 20 69 66 20 74 68 65 20 6f 6e 6c 79 20 62 72 65 ..;;.i.e..Act.as.if.the.only.bre
f29e0 61 6b 70 6f 69 6e 74 20 69 73 20 68 65 72 65 2e 0a 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 62 75 akpoint.is.here....(racket--debu
f2a00 67 2d 72 65 73 75 6d 65 20 28 6c 69 73 74 20 28 6c 69 73 74 20 28 72 61 63 6b 65 74 2d 66 69 6c g-resume.(list.(list.(racket-fil
f2a20 65 2d 6e 61 6d 65 2d 66 72 6f 6e 74 2d 74 6f 2d 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 e-name-front-to-back............
f2a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 ..........................(racke
f2a60 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 t--buffer-file-name))...........
f2a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 ..........................(point
f2aa0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
f2ac0 20 20 20 20 20 20 22 23 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"#t"......................
f2ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 28 62 72 65 61 6b 29 22 29 29 0a 20 20 20 20 20 ..............."(break)"))......
f2b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 66 69 78 29 29 0a 0a 28 64 65 ...................prefix))..(de
f2b20 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6e 65 78 74 2d 62 72 65 61 6b 61 62 6c 65 20 fun.racket-debug-next-breakable.
f2b40 28 29 0a 20 20 22 4d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 6e 65 78 74 20 62 72 65 61 6b 61 62 ()..."Move.point.to.next.breakab
f2b60 6c 65 20 70 6f 73 69 74 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 le.position."...(interactive)...
f2b80 28 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 67 6f 74 6f 2d 62 72 65 61 6b 61 62 6c 65 20 74 29 (racket--debug-goto-breakable.t)
f2ba0 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 70 72 65 76 2d 62 72 65 61 )..(defun.racket-debug-prev-brea
f2bc0 6b 61 62 6c 65 20 28 29 0a 20 20 22 4d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 70 72 65 76 69 6f kable.()..."Move.point.to.previo
f2be0 75 73 20 62 72 65 61 6b 61 62 6c 65 20 70 6f 73 69 74 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 us.breakable.position."...(inter
f2c00 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 67 6f 74 6f 2d 62 72 active)...(racket--debug-goto-br
f2c20 65 61 6b 61 62 6c 65 20 6e 69 6c 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 eakable.nil))..(defun.racket--de
f2c40 62 75 67 2d 67 6f 74 6f 2d 62 72 65 61 6b 61 62 6c 65 20 28 66 6f 72 77 61 72 64 70 29 0a 20 20 bug-goto-breakable.(forwardp)...
f2c60 28 70 63 61 73 65 20 28 61 73 73 6f 63 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 69 (pcase.(assoc.(racket--buffer-fi
f2c80 6c 65 2d 6e 61 6d 65 29 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 61 62 6c 65 le-name).racket--debug-breakable
f2ca0 2d 70 6f 73 69 74 69 6f 6e 73 29 0a 20 20 20 20 28 60 28 2c 5f 73 72 63 20 2e 20 2c 70 73 29 0a -positions).....(`(,_src...,ps).
f2cc0 20 20 20 20 20 28 6c 65 74 20 28 28 70 73 20 20 20 28 69 66 20 66 6f 72 77 61 72 64 70 20 70 73 .....(let.((ps...(if.forwardp.ps
f2ce0 20 28 72 65 76 65 72 73 65 20 70 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 64 .(reverse.ps)))............(pred
f2d00 20 28 61 70 70 6c 79 2d 70 61 72 74 69 61 6c 6c 79 20 28 69 66 20 66 6f 72 77 61 72 64 70 20 23 .(apply-partially.(if.forwardp.#
f2d20 27 3c 20 23 27 3e 29 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 28 67 6f 74 6f 2d '<.#'>).(point))))........(goto-
f2d40 63 68 61 72 20 28 6f 72 20 28 63 6c 2d 66 69 6e 64 2d 69 66 20 70 72 65 64 20 70 73 29 20 28 63 char.(or.(cl-find-if.pred.ps).(c
f2d60 61 72 20 70 73 29 29 29 29 29 0a 20 20 20 20 28 5f 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e ar.ps))))).....(_.(user-error."N
f2d80 6f 20 62 72 65 61 6b 61 62 6c 65 20 70 6f 73 69 74 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 62 75 o.breakable.positions.in.this.bu
f2da0 66 66 65 72 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d ffer"))))..(defun.racket--debug-
f2dc0 62 72 65 61 6b 70 6f 69 6e 74 2d 6f 76 65 72 6c 61 79 2d 65 71 75 61 6c 20 28 6f 29 0a 20 20 28 breakpoint-overlay-equal.(o)...(
f2de0 61 6e 64 20 28 65 71 75 61 6c 20 28 6f 76 65 72 6c 61 79 2d 62 75 66 66 65 72 20 6f 29 20 28 63 and.(equal.(overlay-buffer.o).(c
f2e00 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 28 6f urrent-buffer))........(equal.(o
f2e20 76 65 72 6c 61 79 2d 73 74 61 72 74 20 6f 29 20 20 28 70 6f 69 6e 74 29 29 29 29 0a 0a 28 64 65 verlay-start.o)..(point))))..(de
f2e40 66 76 61 72 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 2d 63 6f 6e fvar.racket-debug-breakpoint-con
f2e60 64 69 74 69 6f 6e 73 20 27 28 22 23 74 22 29 29 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d ditions.'("#t")).(defvar.racket-
f2e80 64 65 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 2d 61 63 74 69 6f 6e 73 20 27 28 22 28 62 72 65 debug-breakpoint-actions.'("(bre
f2ea0 61 6b 29 22 20 22 28 70 72 69 6e 74 29 22 20 22 28 6c 6f 67 29 22 29 29 0a 28 64 65 66 75 6e 20 ak)"."(print)"."(log)")).(defun.
f2ec0 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 6f 67 67 6c 65 2d 62 72 65 61 6b 70 6f 69 6e 74 20 28 racket-debug-toggle-breakpoint.(
f2ee0 29 0a 20 20 22 41 64 64 20 6f 72 20 72 65 6d 6f 76 65 20 61 20 62 72 65 61 6b 70 6f 69 6e 74 2e )..."Add.or.remove.a.breakpoint.
f2f00 0a 0a 45 61 63 68 20 62 72 65 61 6b 70 6f 69 6e 74 20 68 61 73 20 61 20 63 6f 6e 64 69 74 69 6f ..Each.breakpoint.has.a.conditio
f2f20 6e 20 61 6e 64 20 61 20 6c 69 73 74 20 6f 66 20 61 63 74 69 6f 6e 73 2e 0a 0a 54 68 65 20 63 6f n.and.a.list.of.actions...The.co
f2f40 6e 64 69 74 69 6f 6e 20 69 73 20 61 20 52 61 63 6b 65 74 20 65 78 70 72 65 73 73 69 6f 6e 20 74 ndition.is.a.Racket.expression.t
f2f60 68 61 74 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 69 6e 20 61 0a 63 6f 6e 74 65 78 74 20 77 68 hat.is.evaluated.in.a.context.wh
f2f80 65 72 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 65 78 69 73 74 2e 20 45 78 61 6d 70 ere.local.variables.exist..Examp
f2fa0 6c 65 73 3a 0a 0a 20 20 2d 20 5c 22 23 74 5c 22 20 6d 65 61 6e 73 20 62 72 65 61 6b 20 61 6c 77 les:....-.\"#t\".means.break.alw
f2fc0 61 79 73 2e 0a 0a 20 20 2d 20 49 66 20 74 68 65 20 63 6f 64 65 20 61 72 6f 75 6e 64 20 74 68 65 ays.....-.If.the.code.around.the
f2fe0 20 62 72 65 61 6b 70 6f 69 6e 74 20 69 73 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 0a 20 20 .breakpoint.is.something.like...
f3000 20 20 20 5c 22 28 66 6f 72 20 28 5b 6e 20 31 30 30 5d 29 20 5f 29 5c 22 2c 20 74 68 65 6e 20 61 ...\"(for.([n.100])._)\",.then.a
f3020 20 63 6f 6e 64 69 74 69 6f 6e 20 6c 69 6b 65 0a 20 20 20 20 20 5c 22 28 7a 65 72 6f 3f 20 28 6d .condition.like......\"(zero?.(m
f3040 6f 64 75 6c 6f 20 6e 20 31 30 29 29 5c 22 20 69 73 20 65 76 65 72 79 20 31 30 20 74 69 6d 65 73 odulo.n.10))\".is.every.10.times
f3060 20 74 68 72 6f 75 67 68 20 74 68 65 0a 20 20 20 20 20 6c 6f 6f 70 2e 0a 0a 41 63 74 69 6f 6e 73 .through.the......loop...Actions
f3080 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 73 79 6d 62 6f 6c 73 3b 20 79 6f 75 20 6d 61 79 20 73 .is.a.list.of.symbols;.you.may.s
f30a0 70 65 63 69 66 79 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 2e 20 54 68 65 0a 61 63 74 69 6f 6e 20 73 pecify.one.or.more..The.action.s
f30c0 79 6d 62 6f 6c 73 20 61 72 65 3a 0a 0a 20 20 2d 20 5c 22 62 72 65 61 6b 5c 22 20 63 61 75 73 65 ymbols.are:....-.\"break\".cause
f30e0 73 20 61 20 62 72 65 61 6b 2c 20 65 6e 61 62 6c 69 6e 67 20 60 72 61 63 6b 65 74 2d 64 65 62 75 s.a.break,.enabling.`racket-debu
f3100 67 2d 6d 6f 64 65 27 2e 0a 0a 20 20 2d 20 5c 22 6c 6f 67 5c 22 20 61 6e 64 20 5c 22 70 72 69 6e g-mode'.....-.\"log\".and.\"prin
f3120 74 5c 22 20 64 69 73 70 6c 61 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 6c 6f t\".display.information.about.lo
f3140 63 61 6c 0a 20 20 20 20 76 61 72 69 61 62 6c 65 73 20 74 6f 20 74 68 65 20 6c 6f 67 67 65 72 20 cal.....variables.to.the.logger.
f3160 6f 72 20 52 45 50 4c 20 6f 75 74 70 75 74 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 0a 20 20 or.REPL.output,.respectively....
f3180 20 20 41 6c 74 68 6f 75 67 68 20 60 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 27 20 61 ..Although.`racket-debug-mode'.a
f31a0 6c 72 65 61 64 79 20 73 68 6f 77 73 20 74 68 65 73 65 20 76 61 6c 75 65 73 20 5c 22 69 6e 0a 20 lready.shows.these.values.\"in..
f31c0 20 20 20 73 69 74 75 5c 22 20 77 68 65 6e 20 79 6f 75 20 72 65 61 63 68 20 61 20 62 72 65 61 6b ...situ\".when.you.reach.a.break
f31e0 2c 20 74 68 69 73 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 69 66 20 79 6f 75 20 77 61 6e 74 ,.this.may.be.useful.if.you.want
f3200 0a 20 20 20 20 61 20 68 69 73 74 6f 72 79 2e 20 53 70 65 63 69 66 79 69 6e 67 20 5c 22 6c 6f 67 .....a.history..Specifying.\"log
f3220 5c 22 20 6f 72 20 5c 22 70 72 69 6e 74 5c 22 2c 20 62 75 74 20 6e 6f 74 0a 20 20 20 20 5c 22 62 \".or.\"print\",.but.not.....\"b
f3240 72 65 61 6b 5c 22 2c 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 77 68 61 74 20 6d 61 reak\",.is.equivalent.to.what.ma
f3260 6e 79 20 64 65 62 75 67 67 65 72 73 20 63 61 6c 6c 20 61 0a 20 20 20 20 77 61 74 63 68 70 6f 69 ny.debuggers.call.a.....watchpoi
f3280 6e 74 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 62 72 65 61 6b 70 6f 69 6e 74 3a 20 4f 75 74 70 nt.instead.of.a.breakpoint:.Outp
f32a0 75 74 20 73 6f 6d 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 61 6e 64 20 61 75 74 6f ut.some.information.....and.auto
f32c0 6d 61 74 69 63 61 6c 6c 79 20 72 65 73 75 6d 65 2e 0a 0a 4e 6f 74 65 3a 20 41 6c 74 68 6f 75 67 matically.resume...Note:.Althoug
f32e0 68 20 60 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 27 20 70 72 6f 76 69 64 65 73 20 61 h.`racket-debug-mode'.provides.a
f3300 20 63 6f 6e 76 65 6e 69 65 6e 74 0a 6b 65 79 62 69 6e 64 69 6e 67 2c 20 79 6f 75 20 6d 61 79 20 .convenient.keybinding,.you.may.
f3320 69 6e 76 6f 6b 65 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 61 6e 79 74 69 6d 65 20 75 73 69 6e invoke.this.command.anytime.usin
f3340 67 20 4d 2d 78 2e 0a 0a 4e 6f 74 65 3a 20 49 66 20 79 6f 75 27 72 65 20 77 61 72 6e 65 64 20 74 g.M-x...Note:.If.you're.warned.t
f3360 68 61 74 20 70 6f 69 6e 74 20 69 73 6e 27 74 20 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 61 20 62 72 hat.point.isn't.known.to.be.a.br
f3380 65 61 6b 61 62 6c 65 0a 70 6f 73 69 74 69 6f 6e 2c 20 74 68 61 74 20 6d 69 67 68 74 20 62 65 20 eakable.position,.that.might.be.
f33a0 62 65 63 61 75 73 65 20 69 74 20 74 72 75 6c 79 20 69 73 6e 27 74 2c 20 6f 72 2c 20 6a 75 73 74 because.it.truly.isn't,.or,.just
f33c0 20 62 65 63 61 75 73 65 0a 79 6f 75 20 61 72 65 20 6e 6f 74 20 69 6e 20 60 72 61 63 6b 65 74 2d .because.you.are.not.in.`racket-
f33e0 64 65 62 75 67 2d 6d 6f 64 65 27 20 61 6e 64 20 74 68 65 20 62 72 65 61 6b 61 62 6c 65 20 70 6f debug-mode'.and.the.breakable.po
f3400 73 69 74 69 6f 6e 73 0a 61 72 65 6e 27 74 20 79 65 74 20 6b 6e 6f 77 6e 2e 20 57 6f 72 73 74 20 sitions.aren't.yet.known..Worst.
f3420 63 61 73 65 2c 20 69 66 20 79 6f 75 20 73 65 74 20 61 20 62 72 65 61 6b 70 6f 69 6e 74 20 73 6f case,.if.you.set.a.breakpoint.so
f3440 6d 65 70 6c 61 63 65 0a 74 68 61 74 20 69 73 20 6e 6f 74 20 62 72 65 61 6b 61 62 6c 65 2c 20 69 meplace.that.is.not.breakable,.i
f3460 74 20 69 73 20 69 67 6e 6f 72 65 64 2e 20 57 69 74 68 20 61 20 66 65 77 20 65 78 63 65 70 74 69 t.is.ignored..With.a.few.excepti
f3480 6f 6e 73 20 2d 2d 0a 73 75 63 68 20 61 73 20 63 6c 6f 73 65 20 70 61 72 65 6e 20 70 6f 73 69 74 ons.--.such.as.close.paren.posit
f34a0 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 74 61 69 6c 20 63 61 6c 6c 73 20 2d 2d 20 6d 6f 73 74 ions.that.are.tail.calls.--.most
f34c0 20 6f 70 65 6e 0a 70 61 72 65 6e 73 20 61 6e 64 20 63 6c 6f 73 65 20 70 61 72 65 6e 73 20 61 72 .open.parens.and.close.parens.ar
f34e0 65 20 62 72 65 61 6b 62 6c 65 20 70 6f 73 69 74 69 6f 6e 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 e.breakble.positions."...(intera
f3500 63 74 69 76 65 29 0a 20 20 28 69 66 2d 6c 65 74 20 28 6f 20 28 73 65 71 2d 66 69 6e 64 20 23 27 ctive)...(if-let.(o.(seq-find.#'
f3520 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 2d 6f 76 65 72 6c 61 79 racket--debug-breakpoint-overlay
f3540 2d 65 71 75 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 -equal.........................r
f3560 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 73 29 29 0a 20 20 20 20 20 acket--debug-breakpoints))......
f3580 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 6f 76 65 72 6c 61 79 20 .(progn.........(delete-overlay.
f35a0 6f 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 o).........(setq.racket--debug-b
f35c0 72 65 61 6b 70 6f 69 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 2d 72 65 reakpoints...............(seq-re
f35e0 6d 6f 76 65 20 23 27 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 2d move.#'racket--debug-breakpoint-
f3600 6f 76 65 72 6c 61 79 2d 65 71 75 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 overlay-equal...................
f3620 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 ........racket--debug-breakpoint
f3640 73 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 70 63 61 73 65 20 28 61 73 73 6f 63 s))).....(when.(or.(pcase.(assoc
f3660 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 20 72 61 63 6b .(racket--buffer-file-name).rack
f3680 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 61 62 6c 65 2d 70 6f 73 69 74 69 6f 6e 73 29 0a 20 et--debug-breakable-positions)..
f36a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 5f 73 72 63 20 2e 20 2c 70 73 29 20 28 ...............(`(,_src...,ps).(
f36c0 6d 65 6d 71 20 28 70 6f 69 6e 74 29 20 70 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 memq.(point).ps)))..............
f36e0 20 28 79 2d 6f 72 2d 6e 2d 70 20 22 50 6f 69 6e 74 20 6e 6f 74 20 6b 6e 6f 77 6e 20 74 6f 20 62 .(y-or-n-p."Point.not.known.to.b
f3700 65 20 61 20 62 72 65 61 6b 61 62 6c 65 20 70 6f 73 69 74 69 6f 6e 3b 20 73 65 74 20 61 6e 79 77 e.a.breakable.position;.set.anyw
f3720 61 79 20 22 29 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 63 6f 6e 64 69 74 69 6f 6e 20 28 ay.")).......(let*.((condition.(
f3740 72 65 61 64 2d 73 74 72 69 6e 67 20 22 43 6f 6e 64 69 74 69 6f 6e 20 65 78 70 72 65 73 73 69 6f read-string."Condition.expressio
f3760 6e 20 5b 52 45 54 20 66 6f 72 20 5c 22 23 74 5c 22 5d 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 n.[RET.for.\"#t\"]:."...........
f3780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 ...........................nil..
f37a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f37c0 20 20 20 20 27 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 2d 63 6f 6e ....'racket-debug-breakpoint-con
f37e0 64 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ditions.........................
f3800 20 20 20 20 20 20 20 20 20 20 20 20 20 22 23 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ............."#t")).............
f3820 20 28 61 63 74 69 6f 6e 73 20 20 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 22 41 63 74 69 6f 6e .(actions...(read-string."Action
f3840 73 20 6c 69 73 74 20 5b 52 45 54 20 66 6f 72 20 5c 22 28 62 72 65 61 6b 29 5c 22 5d 3a 20 22 0a s.list.[RET.for.\"(break)\"]:.".
f3860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f3880 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....nil........................
f38a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 62 72 65 61 ..............'racket-debug-brea
f38c0 6b 70 6f 69 6e 74 2d 61 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 kpoint-actions..................
f38e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 28 62 72 65 61 6b 29 22 29 29 0a ...................."(break)")).
f3900 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 20 28 6d 61 6b 65 2d 6f 76 65 72 6c 61 79 20 28 70 .............(o.(make-overlay.(p
f3920 6f 69 6e 74 29 20 28 31 2b 20 28 70 6f 69 6e 74 29 29 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 oint).(1+.(point)).(current-buff
f3940 65 72 29 20 74 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 er).t.nil))).........(overlay-pu
f3960 74 20 6f 20 27 6e 61 6d 65 20 27 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 62 72 65 61 6b 70 6f 69 t.o.'name.'racket-debug-breakpoi
f3980 6e 74 29 0a 20 20 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 20 27 62 65 66 6f nt).........(overlay-put.o.'befo
f39a0 72 65 2d 73 74 72 69 6e 67 20 28 70 72 6f 70 65 72 74 69 7a 65 0a 20 20 20 20 20 20 20 20 20 20 re-string.(propertize...........
f39c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 e2 a6 ............................."..
f39e0 bf 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."..............................
f3a00 20 20 20 20 20 20 20 20 20 20 27 66 61 63 65 20 27 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 62 72 ..........'face.'racket-debug-br
f3a20 65 61 6b 70 6f 69 6e 74 2d 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 eakpoint-face)).........(overlay
f3a40 2d 70 75 74 20 6f 20 27 65 76 61 70 6f 72 61 74 65 20 74 29 0a 20 20 20 20 20 20 20 20 28 6f 76 -put.o.'evaporate.t).........(ov
f3a60 65 72 6c 61 79 2d 70 75 74 20 6f 20 27 72 61 63 6b 65 74 2d 62 72 65 61 6b 70 6f 69 6e 74 2d 63 erlay-put.o.'racket-breakpoint-c
f3a80 6f 6e 64 69 74 69 6f 6e 20 63 6f 6e 64 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 28 6f 76 65 ondition.condition).........(ove
f3aa0 72 6c 61 79 2d 70 75 74 20 6f 20 27 72 61 63 6b 65 74 2d 62 72 65 61 6b 70 6f 69 6e 74 2d 61 63 rlay-put.o.'racket-breakpoint-ac
f3ac0 74 69 6f 6e 73 20 61 63 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6f 20 72 tions.actions).........(push.o.r
f3ae0 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 73 29 0a 20 20 20 20 20 20 acket--debug-breakpoints).......
f3b00 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 2d ..(setq.racket-debug-breakpoint-
f3b20 63 6f 6e 64 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 2d 75 6e conditions...............(seq-un
f3b40 69 71 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 2d 63 6f 6e 64 69 iq.racket-debug-breakpoint-condi
f3b60 74 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 64 65 62 tions)).........(setq.racket-deb
f3b80 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 2d 61 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 ug-breakpoint-actions...........
f3ba0 20 20 20 20 28 73 65 71 2d 75 6e 69 71 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 62 72 65 61 6b ....(seq-uniq.racket-debug-break
f3bc0 70 6f 69 6e 74 2d 61 63 74 69 6f 6e 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b point-actions))))))..(defun.rack
f3be0 65 74 2d 64 65 62 75 67 2d 6e 65 78 74 2d 62 72 65 61 6b 70 6f 69 6e 74 20 28 29 0a 20 20 22 4d et-debug-next-breakpoint.()..."M
f3c00 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 6e 65 78 74 20 62 72 65 61 6b 70 6f 69 6e 74 ove.point.to.the.next.breakpoint
f3c20 20 69 6e 20 74 68 69 73 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 .in.this.buffer."...(interactive
f3c40 29 0a 20 20 28 72 61 63 6b 65 74 2d 2d 67 6f 74 6f 2d 62 72 65 61 6b 70 6f 69 6e 74 20 27 6e 65 )...(racket--goto-breakpoint.'ne
f3c60 78 74 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 70 72 65 76 2d 62 xt))..(defun.racket-debug-prev-b
f3c80 72 65 61 6b 70 6f 69 6e 74 20 28 29 0a 20 20 22 4d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 74 68 reakpoint.()..."Move.point.to.th
f3ca0 65 20 70 72 65 76 69 6f 75 73 20 62 72 65 61 6b 70 6f 69 6e 74 20 69 6e 20 74 68 69 73 20 62 75 e.previous.breakpoint.in.this.bu
f3cc0 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 ffer."...(interactive)...(racket
f3ce0 2d 2d 67 6f 74 6f 2d 62 72 65 61 6b 70 6f 69 6e 74 20 27 70 72 65 76 69 6f 75 73 29 29 0a 0a 28 --goto-breakpoint.'previous))..(
f3d00 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 67 6f 74 6f 2d 62 72 65 61 6b 70 6f 69 6e 74 20 28 64 defun.racket--goto-breakpoint.(d
f3d20 69 72 29 0a 20 20 28 69 66 2d 6c 65 74 20 28 70 20 28 73 65 71 2d 66 69 6e 64 20 28 69 66 20 28 ir)...(if-let.(p.(seq-find.(if.(
f3d40 65 71 20 64 69 72 20 27 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eq.dir.'next)...................
f3d60 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 6f 73 29 20 28 3c 20 28 70 6f 69 6e 74 .........(lambda.(pos).(<.(point
f3d80 29 20 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).pos)).........................
f3da0 20 28 6c 61 6d 62 64 61 20 28 70 6f 73 29 20 28 3c 20 70 6f 73 20 28 70 6f 69 6e 74 29 29 29 29 .(lambda.(pos).(<.pos.(point))))
f3dc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 6f 72 74 20 28 73 ........................(sort.(s
f3de0 65 71 2d 6d 61 70 20 23 27 6f 76 65 72 6c 61 79 2d 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 eq-map.#'overlay-start..........
f3e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 .............................(se
f3e20 71 2d 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 q-filter.(lambda.(o)............
f3e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f3e60 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 28 6f 76 65 72 6c 61 79 2d 62 75 66 66 65 72 20 .........(equal.(overlay-buffer.
f3e80 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 o)..............................
f3ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 ..............................(c
f3ec0 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 urrent-buffer)))................
f3ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f3f00 20 20 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 70 6f 69 6e 74 73 29 29 0a 20 ...racket--debug-breakpoints))..
f3f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 ............................(if.
f3f40 28 65 71 20 64 69 72 20 27 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (eq.dir.'next)..................
f3f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 3c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ................#'<.............
f3f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 3e 29 29 29 29 0a 20 20 20 20 20 ...................#'>))))......
f3fa0 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 28 .(goto-char.p).....(user-error.(
f3fc0 66 6f 72 6d 61 74 20 22 4e 6f 20 25 73 20 62 72 65 61 6b 70 6f 69 6e 74 20 69 6e 20 74 68 69 73 format."No.%s.breakpoint.in.this
f3fe0 20 62 75 66 66 65 72 22 20 64 69 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d .buffer".dir))))..(defun.racket-
f4000 64 65 62 75 67 2d 64 69 73 61 62 6c 65 20 28 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 debug-disable.()...(interactive)
f4020 0a 20 20 28 77 68 65 6e 20 28 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6f 70 65 6e 2d 70 29 20 3b 6f ...(when.(racket--cmd-open-p).;o
f4040 74 68 65 72 77 69 73 65 20 6e 6f 20 6e 65 65 64 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 63 6d therwise.no.need.....(racket--cm
f4060 64 2f 61 73 79 6e 63 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 d/async.(racket--repl-session-id
f4080 29 20 60 28 64 65 62 75 67 2d 64 69 73 61 62 6c 65 29 29 29 0a 20 20 28 72 61 63 6b 65 74 2d 64 ).`(debug-disable)))...(racket-d
f40a0 65 62 75 67 2d 6d 6f 64 65 20 2d 31 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 ebug-mode.-1)...(setq.racket--de
f40c0 62 75 67 2d 62 72 65 61 6b 61 62 6c 65 2d 70 6f 73 69 74 69 6f 6e 73 20 6e 69 6c 29 0a 20 20 28 bug-breakable-positions.nil)...(
f40e0 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 2d 6c 6f 63 61 6c 73 20 setq.racket--debug-break-locals.
f4100 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b nil)...(setq.racket--debug-break
f4120 2d 69 6e 66 6f 20 6e 69 6c 29 29 0a 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 2d -info.nil))..(add-hook.'racket--
f4140 72 65 70 6c 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 64 65 repl-before-run-hook.#'racket-de
f4160 62 75 67 2d 64 69 73 61 62 6c 65 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 64 65 62 75 bug-disable)..(defun.racket-debu
f4180 67 2d 68 65 6c 70 20 28 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 65 73 g-help.()...(interactive)...(des
f41a0 63 72 69 62 65 2d 66 75 6e 63 74 69 6f 6e 20 27 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 cribe-function.'racket-debug-mod
f41c0 65 29 29 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 6f 76 65 72 6c e))..(defvar.racket--debug-overl
f41e0 61 79 73 20 6e 69 6c 29 0a 0a 28 64 65 66 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 72 61 63 ays.nil)..(define-minor-mode.rac
f4200 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 0a 20 20 22 4d 69 6e 6f 72 20 6d 6f 64 65 20 66 6f 72 ket-debug-mode..."Minor.mode.for
f4220 20 64 65 62 75 67 20 62 72 65 61 6b 73 2e 0a 0a 54 68 69 73 20 66 65 61 74 75 72 65 20 69 73 20 .debug.breaks...This.feature.is.
f4240 2a 2a 45 58 50 45 52 49 4d 45 4e 54 41 4c 2a 2a 21 21 21 20 49 74 20 69 73 20 6c 69 6b 65 6c 79 **EXPERIMENTAL**!!!.It.is.likely
f4260 20 74 6f 20 68 61 76 65 0a 73 69 67 6e 69 66 69 63 61 6e 74 20 6c 69 6d 69 74 61 74 69 6f 6e 73 .to.have.significant.limitations
f4280 20 61 6e 64 20 62 75 67 73 2e 20 59 6f 75 20 61 72 65 20 77 65 6c 63 6f 6d 65 20 74 6f 20 6f 70 .and.bugs..You.are.welcome.to.op
f42a0 65 6e 20 61 6e 0a 69 73 73 75 65 20 74 6f 20 70 72 6f 76 69 64 65 20 66 65 65 64 62 61 63 6b 2e en.an.issue.to.provide.feedback.
f42c0 20 50 6c 65 61 73 65 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 61 74 20 74 68 69 73 20 66 65 61 .Please.understand.that.this.fea
f42e0 74 75 72 65 0a 6d 69 67 68 74 20 6e 65 76 65 72 20 62 65 20 69 6d 70 72 6f 76 65 64 20 2d 2d 20 ture.might.never.be.improved.--.
f4300 69 74 20 6d 69 67 68 74 20 65 76 65 6e 20 62 65 20 72 65 6d 6f 76 65 64 20 73 6f 6d 65 64 61 79 it.might.even.be.removed.someday
f4320 20 69 66 20 69 74 0a 74 75 72 6e 73 20 6f 75 74 20 74 6f 20 68 61 76 65 20 74 6f 6f 20 6c 69 74 .if.it.turns.out.to.have.too.lit
f4340 74 6c 65 20 76 61 6c 75 65 20 61 6e 64 2f 6f 72 20 74 6f 6f 20 6d 75 63 68 20 63 6f 73 74 2e 0a tle.value.and/or.too.much.cost..
f4360 0a 48 6f 77 20 74 6f 20 64 65 62 75 67 3a 0a 0a 31 2e 20 5c 22 49 6e 73 74 72 75 6d 65 6e 74 5c .How.to.debug:..1..\"Instrument\
f4380 22 20 63 6f 64 65 20 66 6f 72 20 73 74 65 70 20 64 65 62 75 67 67 69 6e 67 2e 0a 0a 20 20 20 55 ".code.for.step.debugging......U
f43a0 73 65 20 74 77 6f 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 63 6f se.two.\\[universal-argument].co
f43c0 6d 6d 61 6e 64 20 70 72 65 66 69 78 65 73 20 66 6f 72 20 65 69 74 68 65 72 0a 20 20 20 60 72 61 mmand.prefixes.for.either....`ra
f43e0 63 6b 65 74 2d 72 75 6e 27 20 6f 72 20 60 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d cket-run'.or.`racket-run-module-
f4400 61 74 2d 70 6f 69 6e 74 27 2e 0a 0a 20 20 20 54 68 65 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 20 at-point'......The.file.will.be.
f4420 69 6e 73 74 72 75 6d 65 6e 74 65 64 20 66 6f 72 20 73 74 65 70 20 64 65 62 75 67 67 69 6e 67 20 instrumented.for.step.debugging.
f4440 62 65 66 6f 72 65 20 69 74 20 69 73 0a 20 20 20 72 75 6e 2e 20 41 6e 79 20 69 6d 70 6f 72 74 65 before.it.is....run..Any.importe
f4460 64 20 66 69 6c 65 73 20 61 72 65 20 61 6c 73 6f 20 69 6e 73 74 72 75 6d 65 6e 74 65 64 20 69 66 d.files.are.also.instrumented.if
f4480 20 74 68 65 79 20 61 72 65 20 69 6e 0a 20 20 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 .they.are.in....the.variable.`ra
f44a0 63 6b 65 74 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 27 2e 0a 0a 20 20 20 54 68 65 20 cket-debuggable-files'......The.
f44c0 72 75 6e 20 77 69 6c 6c 20 62 72 65 61 6b 20 61 74 20 74 68 65 20 66 69 72 73 74 20 62 72 65 61 run.will.break.at.the.first.brea
f44e0 6b 61 62 6c 65 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 20 20 20 54 69 70 3a 20 41 66 74 65 72 20 79 kable.position......Tip:.After.y
f4500 6f 75 20 72 75 6e 20 74 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 61 6e 64 20 72 65 74 75 72 6e 20 ou.run.to.completion.and.return.
f4520 74 6f 20 61 20 6e 6f 72 6d 61 6c 0a 20 20 20 52 45 50 4c 20 70 72 6f 6d 70 74 2c 20 74 68 65 20 to.a.normal....REPL.prompt,.the.
f4540 63 6f 64 65 20 72 65 6d 61 69 6e 73 20 69 6e 73 74 72 75 6d 65 6e 74 65 64 2e 20 59 6f 75 20 6d code.remains.instrumented..You.m
f4560 61 79 20 65 6e 74 65 72 0a 20 20 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 68 61 74 20 65 76 61 ay.enter....expressions.that.eva
f4580 6c 75 61 74 65 20 69 6e 73 74 72 75 6d 65 6e 74 65 64 20 63 6f 64 65 20 61 6e 64 20 69 74 20 77 luate.instrumented.code.and.it.w
f45a0 69 6c 6c 0a 20 20 20 62 72 65 61 6b 20 73 6f 20 79 6f 75 20 63 61 6e 20 73 74 65 70 20 64 65 62 ill....break.so.you.can.step.deb
f45c0 75 67 20 61 67 61 69 6e 2e 0a 0a 32 2e 20 57 68 65 6e 20 61 20 62 72 65 61 6b 20 6f 63 63 75 72 ug.again...2..When.a.break.occur
f45e0 73 2c 20 74 68 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 27 20 70 72 6f 6d 70 74 s,.the.`racket-repl-mode'.prompt
f4600 20 63 68 61 6e 67 65 73 2e 20 49 6e 0a 20 20 20 74 68 69 73 20 64 65 62 75 67 20 52 45 50 4c 2c .changes..In....this.debug.REPL,
f4620 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 20 66 .local.variables.are.available.f
f4640 6f 72 20 79 6f 75 20 74 6f 20 75 73 65 0a 20 20 20 61 6e 64 20 65 76 65 6e 20 74 6f 20 60 73 65 or.you.to.use....and.even.to.`se
f4660 74 21 60 2e 0a 0a 20 20 20 41 6c 73 6f 2c 20 69 6e 20 74 68 65 20 60 72 61 63 6b 65 74 2d 6d 6f t!`......Also,.in.the.`racket-mo
f4680 64 65 27 20 62 75 66 66 65 72 20 77 68 65 72 65 20 74 68 65 20 62 72 65 61 6b 20 69 73 20 6c 6f de'.buffer.where.the.break.is.lo
f46a0 63 61 74 65 64 2c 0a 20 20 20 60 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 27 20 69 73 cated,....`racket-debug-mode'.is
f46c0 20 65 6e 61 62 6c 65 64 2e 20 54 68 69 73 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 6d 61 6b 65 73 20 .enabled..This.minor.mode.makes.
f46e0 74 68 65 0a 20 20 20 62 75 66 66 65 72 20 72 65 61 64 2d 6f 6e 6c 79 2c 20 70 72 6f 76 69 64 65 the....buffer.read-only,.provide
f4700 73 20 76 69 73 75 61 6c 20 66 65 65 64 62 61 63 6b 20 2d 2d 20 61 62 6f 75 74 20 74 68 65 20 62 s.visual.feedback.--.about.the.b
f4720 72 65 61 6b 0a 20 20 20 70 6f 73 69 74 69 6f 6e 2c 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 reak....position,.local.variable
f4740 20 76 61 6c 75 65 73 2c 20 61 6e 64 20 72 65 73 75 6c 74 20 76 61 6c 75 65 73 20 2d 2d 20 61 6e .values,.and.result.values.--.an
f4760 64 0a 20 20 20 70 72 6f 76 69 64 65 73 20 73 68 6f 72 74 63 75 74 20 6b 65 79 73 3a 0a 0a 5c 5c d....provides.shortcut.keys:..\\
f4780 7b 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 2d 6d 61 70 7d 0a 22 0a 20 20 3a 6c 69 67 {racket-debug-mode-map}."...:lig
f47a0 68 74 65 72 20 22 20 52 61 63 6b 65 74 44 65 62 75 67 22 0a 20 20 3a 6b 65 79 6d 61 70 20 28 72 hter.".RacketDebug"...:keymap.(r
f47c0 61 63 6b 65 74 2d 2d 65 61 73 79 2d 6b 65 79 6d 61 70 2d 64 65 66 69 6e 65 0a 20 20 20 20 20 20 acket--easy-keymap-define.......
f47e0 20 20 20 20 20 27 28 28 22 53 50 43 22 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 73 74 65 70 29 .....'(("SPC".racket-debug-step)
f4800 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 6f 22 20 20 20 72 61 63 6b 65 74 2d 64 65 62 75 ..............("o"...racket-debu
f4820 67 2d 73 74 65 70 2d 6f 76 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 75 22 20 20 g-step-over)..............("u"..
f4840 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 73 74 65 70 2d 6f 75 74 29 0a 20 20 20 20 20 20 20 20 .racket-debug-step-out).........
f4860 20 20 20 20 20 28 22 63 22 20 20 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 63 6f 6e 74 69 6e 75 .....("c"...racket-debug-continu
f4880 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 67 22 20 20 20 72 61 63 6b 65 74 2d 64 65 e)..............("g"...racket-de
f48a0 62 75 67 2d 67 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 6e 22 20 20 20 72 61 63 6b bug-go)..............("n"...rack
f48c0 65 74 2d 64 65 62 75 67 2d 6e 65 78 74 2d 62 72 65 61 6b 61 62 6c 65 29 0a 20 20 20 20 20 20 20 et-debug-next-breakable)........
f48e0 20 20 20 20 20 20 28 22 70 22 20 20 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 70 72 65 76 2d 62 ......("p"...racket-debug-prev-b
f4900 72 65 61 6b 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 4e 22 20 20 20 72 61 reakable)..............("N"...ra
f4920 63 6b 65 74 2d 64 65 62 75 67 2d 6e 65 78 74 2d 62 72 65 61 6b 70 6f 69 6e 74 29 0a 20 20 20 20 cket-debug-next-breakpoint).....
f4940 20 20 20 20 20 20 20 20 20 28 22 50 22 20 20 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 70 72 65 .........("P"...racket-debug-pre
f4960 76 2d 62 72 65 61 6b 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 21 22 20 v-breakpoint)..............("!".
f4980 20 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 6f 67 67 6c 65 2d 62 72 65 61 6b 70 6f 69 6e 74 ..racket-debug-toggle-breakpoint
f49a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 68 22 20 20 20 72 61 63 6b 65 74 2d 64 65 62 )..............("h"...racket-deb
f49c0 75 67 2d 72 75 6e 2d 74 6f 2d 68 65 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 3f ug-run-to-here)..............("?
f49e0 22 20 20 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 68 65 6c 70 29 29 29 0a 20 20 28 72 61 63 6b "...racket-debug-help)))...(rack
f4a00 65 74 2d 2d 61 73 73 65 72 74 2d 65 64 69 74 2d 6d 6f 64 65 20 28 6c 61 6d 62 64 61 20 28 29 20 et--assert-edit-mode.(lambda.().
f4a20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 20 6e 69 6c 29 29 29 0a 20 (setq.racket-debug-mode.nil)))..
f4a40 20 28 63 6f 6e 64 0a 20 20 20 28 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 0a 20 20 20 .(cond....(racket-debug-mode....
f4a60 20 28 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 6d 61 6b 65 2d 6f 76 65 72 6c 61 79 0a 20 20 20 .(racket--debug-make-overlay....
f4a80 20 20 28 70 6f 69 6e 74 29 20 28 31 2b 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 27 66 61 63 ..(point).(1+.(point))......'fac
f4aa0 65 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 62 72 65 61 6b 2d 66 61 63 65 0a 20 20 20 20 20 27 e.racket-debug-break-face......'
f4ac0 70 72 69 6f 72 69 74 79 20 39 39 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6c 6f 63 61 6c 20 priority.99).....(dolist.(local.
f4ae0 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 2d 6c 6f 63 61 6c 73 29 0a 20 20 20 20 racket--debug-break-locals).....
f4b00 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 5f 73 72 63 20 2c 70 6f 73 20 2c 73 70 61 ..(pcase-let.((`(,_src.,pos.,spa
f4b20 6e 20 2c 5f 6e 61 6d 65 20 2c 76 61 6c 29 20 6c 6f 63 61 6c 29 29 0a 20 20 20 20 20 20 20 20 28 n.,_name.,val).local)).........(
f4b40 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 6d 61 6b 65 2d 6f 76 65 72 6c 61 79 0a 20 20 20 20 20 racket--debug-make-overlay......
f4b60 20 20 20 20 70 6f 73 20 28 2b 20 70 6f 73 20 73 70 61 6e 29 0a 20 20 20 20 20 20 20 20 20 27 61 ....pos.(+.pos.span)..........'a
f4b80 66 74 65 72 2d 73 74 72 69 6e 67 20 28 70 72 6f 70 65 72 74 69 7a 65 20 76 61 6c 20 27 66 61 63 fter-string.(propertize.val.'fac
f4ba0 65 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6c 6f 63 61 6c 73 2d 66 61 63 65 29 29 29 29 0a 20 e.racket-debug-locals-face))))..
f4bc0 20 20 20 28 70 63 61 73 65 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 62 72 65 61 6b 2d 69 6e ...(pcase.racket--debug-break-in
f4be0 66 6f 0a 20 20 20 20 20 20 28 60 28 2c 5f 69 64 20 61 66 74 65 72 20 28 2c 5f 20 2e 20 2c 73 74 fo.......(`(,_id.after.(,_...,st
f4c00 72 29 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6f 6c 20 28 6c 69 6e 65 2d 65 6e 64 2d r))........(let.((eol.(line-end-
f4c20 70 6f 73 69 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 position)))..........(racket--de
f4c40 62 75 67 2d 6d 61 6b 65 2d 6f 76 65 72 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 28 31 2d 20 65 bug-make-overlay...........(1-.e
f4c60 6f 6c 29 20 65 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 27 61 66 74 65 72 2d 73 74 72 69 6e 67 20 ol).eol...........'after-string.
f4c80 28 70 72 6f 70 65 72 74 69 7a 65 20 28 63 6f 6e 63 61 74 20 22 e2 87 92 20 28 76 61 6c 75 65 73 (propertize.(concat."....(values
f4ca0 20 22 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 .".(substring.str.1))...........
f4cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 61 63 65 20 ..........................'face.
f4ce0 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 72 65 73 75 6c 74 2d 66 61 63 65 29 29 29 29 29 0a 20 20 racket-debug-result-face)))))...
f4d00 20 20 28 72 65 61 64 2d 6f 6e 6c 79 2d 6d 6f 64 65 20 31 29 29 0a 20 20 20 28 74 0a 20 20 20 20 ..(read-only-mode.1))....(t.....
f4d20 28 72 65 61 64 2d 6f 6e 6c 79 2d 6d 6f 64 65 20 2d 31 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 (read-only-mode.-1).....(dolist.
f4d40 28 6f 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 6f 76 65 72 6c 61 79 73 29 0a 20 20 20 20 20 (o.racket--debug-overlays)......
f4d60 20 28 64 65 6c 65 74 65 2d 6f 76 65 72 6c 61 79 20 6f 29 29 0a 20 20 20 20 28 73 65 74 71 20 72 .(delete-overlay.o)).....(setq.r
f4d80 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 6f 76 65 72 6c 61 79 73 20 6e 69 6c 29 29 29 29 0a 0a 28 acket--debug-overlays.nil))))..(
f4da0 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 6d 61 6b 65 2d 6f 76 65 72 6c 61 79 defun.racket--debug-make-overlay
f4dc0 20 28 62 65 67 20 65 6e 64 20 26 72 65 73 74 20 70 72 6f 70 73 29 0a 20 20 28 6c 65 74 20 28 28 .(beg.end.&rest.props)...(let.((
f4de0 6f 20 28 6d 61 6b 65 2d 6f 76 65 72 6c 61 79 20 62 65 67 20 65 6e 64 29 29 29 0a 20 20 20 20 28 o.(make-overlay.beg.end))).....(
f4e00 70 75 73 68 20 6f 20 72 61 63 6b 65 74 2d 2d 64 65 62 75 67 2d 6f 76 65 72 6c 61 79 73 29 0a 20 push.o.racket--debug-overlays)..
f4e20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 20 27 6e 61 6d 65 20 27 72 61 63 6b 65 74 2d ...(overlay-put.o.'name.'racket-
f4e40 64 65 62 75 67 2d 6f 76 65 72 6c 61 79 29 0a 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 debug-overlay).....(overlay-put.
f4e60 6f 20 27 70 72 69 6f 72 69 74 79 20 31 30 30 29 0a 20 20 20 20 28 77 68 69 6c 65 20 70 72 6f 70 o.'priority.100).....(while.prop
f4e80 73 0a 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 20 28 70 6f 70 20 70 72 6f 70 s.......(overlay-put.o.(pop.prop
f4ea0 73 29 20 28 70 6f 70 20 70 72 6f 70 73 29 29 29 0a 20 20 20 20 6f 29 29 0a 0a 28 70 72 6f 76 69 s).(pop.props))).....o))..(provi
f4ec0 64 65 20 27 72 61 63 6b 65 74 2d 64 65 62 75 67 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 64 65 62 de.'racket-debug)..;;.racket-deb
f4ee0 75 67 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ug.el.ends.here.................
f4f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5000 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
f5020 72 61 63 6b 65 74 2d 73 68 6f 77 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-show.el..................
f5040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
f5080 30 30 32 32 34 35 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 34 32 33 00 20 30 00 00 00 0022451.00000000000.016423..0...
f50a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f50c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f50e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
f5120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
f5140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f51a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f51c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f51e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5200 3b 3b 3b 20 72 61 63 6b 65 74 2d 73 68 6f 77 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 ;;;.racket-show.el.-*-.lexical-b
f5220 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 inding:.t.-*-..;;.Copyright.(c).
f5240 32 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 2013-2022.by.Greg.Hendershott..;
f5260 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d 31 39 ;.Portions.Copyright.(C).1985-19
f5280 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 86,.1999-2013.Free.Software.Foun
f52a0 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 65 dation,.Inc...;;.Author:.Greg.He
f52c0 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 ndershott.;;.URL:.https://github
f52e0 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 .com/greghendershott/racket-mode
f5300 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 ..;;.SPDX-License-Identifier:.GP
f5320 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 L-3.0-or-later..(require.'racket
f5340 2d 75 74 69 6c 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 75 73 74 6f 6d 29 0a -util).(require.'racket-custom).
f5360 28 72 65 71 75 69 72 65 20 27 70 6f 73 2d 74 69 70 20 6e 69 6c 20 74 29 20 3b 6e 6f 65 72 72 6f (require.'pos-tip.nil.t).;noerro
f5380 72 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6d 61 63 73 29 0a 28 72 65 71 75 69 72 65 20 27 66 r.(require.'cl-macs).(require.'f
f53a0 61 63 65 2d 72 65 6d 61 70 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 73 68 6f 77 20 28 ace-remap)..(defun.racket-show.(
f53c0 73 74 72 20 26 6f 70 74 69 6f 6e 61 6c 20 70 6f 73 20 74 72 61 6e 73 69 65 6e 74 2d 70 29 0a 20 str.&optional.pos.transient-p)..
f53e0 20 22 41 70 70 6c 79 20 53 54 52 20 61 6e 64 20 50 4f 53 20 74 6f 20 66 75 6e 63 74 69 6f 6e 73 ."Apply.STR.and.POS.to.functions
f5400 20 69 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 .in.the.variable.`racket-show-fu
f5420 6e 63 74 69 6f 6e 73 27 2e 0a 0a 53 65 65 20 74 68 61 74 20 66 6f 72 20 6d 65 61 6e 69 6e 67 20 nctions'...See.that.for.meaning.
f5440 6f 66 20 53 54 52 20 61 6e 64 20 50 4f 53 2e 0a 0a 57 68 65 6e 20 54 52 41 4e 53 49 45 4e 54 2d of.STR.and.POS...When.TRANSIENT-
f5460 50 2c 20 77 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 68 69 64 65 20 62 65 66 6f 72 65 20 P,.we.automatically.hide.before.
f5480 74 68 65 20 6e 65 78 74 20 63 6f 6d 6d 61 6e 64 0a 72 75 6e 73 2e 20 4f 74 68 65 72 77 69 73 65 the.next.command.runs..Otherwise
f54a0 2c 20 74 68 65 20 55 49 20 6d 69 67 68 74 20 72 65 6d 61 69 6e 20 76 69 73 69 62 6c 65 20 69 6e ,.the.UI.might.remain.visible.in
f54c0 64 65 66 69 6e 69 74 65 6c 79 20 2d 2d 0a 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 68 6f 77 20 61 definitely.--.depending.on.how.a
f54e0 20 72 61 63 6b 65 74 2d 73 68 6f 77 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 73 20 2d .racket-show.function.displays.-
f5500 2d 2d 20 75 6e 74 69 6c 20 61 0a 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 20 74 6f 20 60 72 --.until.a.subsequent.call.to.`r
f5520 61 63 6b 65 74 2d 73 68 6f 77 27 20 74 6f 20 68 69 64 65 20 6f 72 20 74 6f 20 73 68 6f 77 20 61 acket-show'.to.hide.or.to.show.a
f5540 20 6e 65 77 20 76 61 6c 75 65 2e 0a 45 69 74 68 65 72 20 62 65 68 61 76 69 6f 72 20 63 6f 75 6c .new.value..Either.behavior.coul
f5560 64 20 62 65 20 64 65 73 69 72 61 62 6c 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 d.be.desirable.depending.on.the.
f5580 63 61 6c 6c 65 72 27 73 20 75 73 65 0a 63 61 73 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 60 caller's.use.case..For.example.`
f55a0 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 27 20 77 61 6e 74 73 20 74 68 65 20 64 69 73 70 6c 61 racket-xp-mode'.wants.the.displa
f55c0 79 20 74 6f 20 72 65 6d 61 69 6e 0a 76 69 73 69 62 6c 65 2c 20 69 66 20 70 6f 73 73 69 62 6c 65 y.to.remain.visible,.if.possible
f55e0 2c 20 65 76 65 6e 20 77 68 65 6e 20 74 68 65 20 75 73 65 72 20 63 68 6f 6f 73 65 73 20 61 20 63 ,.even.when.the.user.chooses.a.c
f5600 6f 6d 6d 61 6e 64 20 74 6f 0a 73 65 6c 65 63 74 20 61 6e 6f 74 68 65 72 20 77 69 6e 64 6f 77 3b ommand.to.select.another.window;
f5620 20 6f 6e 6c 79 20 70 6f 69 6e 74 20 6d 6f 74 69 6f 6e 20 68 69 64 65 73 20 6f 72 20 73 68 6f 77 .only.point.motion.hides.or.show
f5640 73 20 61 0a 64 69 66 66 65 72 65 6e 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 2e 22 0a 20 20 28 75 6e s.a.different.annotation."...(un
f5660 6c 65 73 73 20 28 73 74 72 69 6e 67 2d 6f 72 2d 6e 75 6c 6c 2d 70 20 73 74 72 29 0a 20 20 20 20 less.(string-or-null-p.str).....
f5680 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 60 28 73 (signal.'wrong-type-argument.`(s
f56a0 74 72 69 6e 67 2d 6f 72 2d 6e 75 6c 6c 2d 70 20 2c 73 74 72 29 29 29 0a 20 20 28 77 68 65 6e 20 tring-or-null-p.,str)))...(when.
f56c0 28 72 61 63 6b 65 74 2d 2d 6e 6f 6e 2d 65 6d 70 74 79 2d 73 74 72 69 6e 67 2d 70 20 73 74 72 29 (racket--non-empty-string-p.str)
f56e0 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6e 75 6d 62 65 72 2d 6f 72 2d 6d 61 72 6b 65 72 2d 70 .....(unless.(number-or-marker-p
f5700 20 70 6f 73 29 0a 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d .pos).......(signal.'wrong-type-
f5720 61 72 67 75 6d 65 6e 74 20 60 28 6e 75 6d 62 65 72 2d 6f 72 2d 6d 61 72 6b 65 72 2d 70 20 2c 70 argument.`(number-or-marker-p.,p
f5740 6f 73 29 29 29 29 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d 61 72 67 73 20 27 72 61 os))))...(run-hook-with-args.'ra
f5760 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 20 73 74 72 20 70 6f 73 29 0a 20 20 28 cket-show-functions.str.pos)...(
f5780 69 66 20 74 72 61 6e 73 69 65 6e 74 2d 70 0a 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 if.transient-p.......(add-hook.'
f57a0 70 72 65 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 73 68 6f 77 2d 2d pre-command-hook.#'racket-show--
f57c0 70 72 65 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 6e 69 6c 20 74 29 0a 20 20 20 20 28 72 65 6d pre-command-hook.nil.t).....(rem
f57e0 6f 76 65 2d 68 6f 6f 6b 20 27 70 72 65 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 23 27 72 61 63 ove-hook.'pre-command-hook.#'rac
f5800 6b 65 74 2d 73 68 6f 77 2d 2d 70 72 65 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 74 29 29 29 0a ket-show--pre-command-hook.t))).
f5820 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 2d 70 72 65 2d 63 6f 6d 6d 61 6e 64 .(defun.racket-show--pre-command
f5840 2d 68 6f 6f 6b 20 28 29 0a 20 20 22 48 69 64 65 20 61 6e 64 20 72 65 6d 6f 76 65 20 6f 75 72 73 -hook.()..."Hide.and.remove.ours
f5860 65 6c 76 65 73 20 61 73 20 61 20 70 72 65 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 2e 22 0a 20 20 elves.as.a.pre-command-hook."...
f5880 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d 61 72 67 73 20 27 72 61 63 6b 65 74 2d 73 68 6f 77 (run-hook-with-args.'racket-show
f58a0 2d 66 75 6e 63 74 69 6f 6e 73 20 22 22 20 6e 69 6c 29 0a 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f -functions."".nil)...(remove-hoo
f58c0 6b 20 27 70 72 65 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 73 68 6f k.'pre-command-hook.#'racket-sho
f58e0 77 2d 2d 70 72 65 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 w--pre-command-hook.t))..(defun.
f5900 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 61 20 28 73 74 72 20 26 6f 70 74 69 racket-show-echo-area.(str.&opti
f5920 6f 6e 61 6c 20 5f 70 6f 73 29 0a 20 20 22 53 68 6f 77 20 74 68 69 6e 67 73 20 69 6e 20 74 68 65 onal._pos)..."Show.things.in.the
f5940 20 65 63 68 6f 20 61 72 65 61 2e 0a 0a 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 .echo.area...A.value.for.the.var
f5960 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 27 2e 0a 0a iable.`racket-show-functions'...
f5980 54 68 69 73 20 64 6f 65 73 20 2f 6e 6f 74 2f 20 61 64 64 20 53 54 52 20 74 6f 20 74 68 65 20 5c This.does./not/.add.STR.to.the.\
f59a0 22 2a 4d 65 73 73 61 67 65 73 2a 5c 22 20 6c 6f 67 20 62 75 66 66 65 72 2e 22 0a 20 20 28 77 68 "*Messages*\".log.buffer."...(wh
f59c0 65 6e 20 73 74 72 0a 20 20 20 20 28 6c 65 74 20 28 28 6d 65 73 73 61 67 65 2d 6c 6f 67 2d 6d 61 en.str.....(let.((message-log-ma
f59e0 78 20 6e 69 6c 29 29 20 3b 64 6f 6e 27 74 20 6c 6f 67 0a 20 20 20 20 20 28 6d 65 73 73 61 67 65 x.nil)).;don't.log......(message
f5a00 20 22 25 73 22 20 73 74 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 73 68 6f ."%s".str))))..(defun.racket-sho
f5a20 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 20 28 73 74 72 20 26 6f 70 74 69 6f 6e 61 6c 20 5f 70 6f w-header-line.(str.&optional._po
f5a40 73 29 0a 20 20 22 53 68 6f 77 20 74 68 69 6e 67 73 20 75 73 69 6e 67 20 61 20 62 75 66 66 65 72 s)..."Show.things.using.a.buffer
f5a60 20 68 65 61 64 65 72 20 6c 69 6e 65 2e 0a 0a 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 .header.line...A.value.for.the.v
f5a80 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 27 2e ariable.`racket-show-functions'.
f5aa0 0a 0a 57 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 74 68 69 6e 67 20 74 6f 20 73 68 6f 77 2c ..When.there.is.nothing.to.show,
f5ac0 20 6b 65 65 70 20 61 20 62 6c 61 6e 6b 20 68 65 61 64 65 72 2d 6c 69 6e 65 2e 20 54 68 61 74 0a .keep.a.blank.header-line..That.
f5ae0 77 61 79 2c 20 74 68 65 20 62 75 66 66 65 72 20 62 65 6c 6f 77 20 64 6f 65 73 6e 27 74 20 5c 22 way,.the.buffer.below.doesn't.\"
f5b00 6a 75 6d 70 20 75 70 20 61 6e 64 20 64 6f 77 6e 5c 22 20 62 79 20 61 20 6c 69 6e 65 20 61 73 0a jump.up.and.down\".by.a.line.as.
f5b20 6d 65 73 73 61 67 65 73 20 61 70 70 65 61 72 20 61 6e 64 20 64 69 73 61 70 70 65 61 72 2e 20 4f messages.appear.and.disappear..O
f5b40 6e 6c 79 20 77 68 65 6e 20 56 20 69 73 20 6e 69 6c 20 64 6f 20 77 65 20 72 65 6d 6f 76 65 0a 74 nly.when.V.is.nil.do.we.remove.t
f5b60 68 65 20 68 65 61 64 65 72 20 6c 69 6e 65 2e 22 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 68 he.header.line."...(setq-local.h
f5b80 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eader-line-format...............
f5ba0 28 61 6e 64 20 73 74 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 (and.str....................(for
f5bc0 6d 61 74 20 22 25 73 22 20 28 72 61 63 6b 65 74 2d 2d 6f 6e 6c 79 2d 66 69 72 73 74 2d 6c 69 6e mat."%s".(racket--only-first-lin
f5be0 65 20 73 74 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6f 6e 6c 79 2d e.str)))))..(defun.racket--only-
f5c00 66 69 72 73 74 2d 6c 69 6e 65 20 28 73 74 72 29 0a 20 20 28 73 61 76 65 2d 6d 61 74 63 68 2d 64 first-line.(str)...(save-match-d
f5c20 61 74 61 0a 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 28 72 78 20 28 67 72 6f 75 70 ata.....(string-match.(rx.(group
f5c40 20 28 2a 20 28 6e 6f 74 20 28 61 6e 79 20 3f 5c 6e 29 29 29 29 29 20 73 74 72 29 0a 20 20 20 20 .(*.(not.(any.?\n))))).str).....
f5c60 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 73 74 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 (match-string.1.str)))..(defun.r
f5c80 61 63 6b 65 74 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 20 28 73 74 72 20 26 6f 70 74 69 6f 6e 61 acket-show-pos-tip.(str.&optiona
f5ca0 6c 20 70 6f 73 29 0a 20 20 22 53 68 6f 77 20 74 68 69 6e 67 73 20 75 73 69 6e 67 20 60 70 6f 73 l.pos)..."Show.things.using.`pos
f5cc0 2d 74 69 70 2d 73 68 6f 77 27 20 69 66 20 61 76 61 69 6c 61 62 6c 65 2e 0a 0a 41 20 76 61 6c 75 -tip-show'.if.available...A.valu
f5ce0 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 73 68 6f 77 2d e.for.the.variable.`racket-show-
f5d00 66 75 6e 63 74 69 6f 6e 73 27 2e 22 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 66 62 6f 75 6e functions'."...(when.(and.(fboun
f5d20 64 70 20 27 78 2d 68 69 64 65 2d 74 69 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 62 dp.'x-hide-tip)..............(fb
f5d40 6f 75 6e 64 70 20 27 78 2d 73 68 6f 77 2d 74 69 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 oundp.'x-show-tip)..............
f5d60 28 6e 6f 74 20 28 6d 65 6d 71 20 77 69 6e 64 6f 77 2d 73 79 73 74 65 6d 20 28 6c 69 73 74 20 6e (not.(memq.window-system.(list.n
f5d80 69 6c 20 27 70 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 62 6f 75 6e 64 70 20 il.'pc)))..............(fboundp.
f5da0 27 70 6f 73 2d 74 69 70 2d 73 68 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 62 6f 'pos-tip-show)..............(fbo
f5dc0 75 6e 64 70 20 27 70 6f 73 2d 74 69 70 2d 68 69 64 65 29 29 0a 20 20 20 20 28 69 66 20 28 72 61 undp.'pos-tip-hide)).....(if.(ra
f5de0 63 6b 65 74 2d 2d 6e 6f 6e 2d 65 6d 70 74 79 2d 73 74 72 69 6e 67 2d 70 20 73 74 72 29 0a 20 20 cket--non-empty-string-p.str)...
f5e00 20 20 20 20 20 20 28 70 6f 73 2d 74 69 70 2d 73 68 6f 77 20 73 74 72 20 6e 69 6c 20 70 6f 73 29 ......(pos-tip-show.str.nil.pos)
f5e20 0a 20 20 20 20 20 20 28 70 6f 73 2d 74 69 70 2d 68 69 64 65 29 29 29 29 0a 0a 28 64 65 66 76 61 .......(pos-tip-hide))))..(defva
f5e40 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 2d 6f r-local.racket--pseudo-tooltip-o
f5e60 76 65 72 6c 61 79 73 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 73 68 6f 77 verlays.nil)..(defun.racket-show
f5e80 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 20 28 73 74 72 20 26 6f 70 74 69 6f 6e 61 6c 20 70 -pseudo-tooltip.(str.&optional.p
f5ea0 6f 73 29 0a 20 20 22 53 68 6f 77 20 75 73 69 6e 67 20 61 6e 20 6f 76 65 72 6c 61 79 20 74 68 61 os)..."Show.using.an.overlay.tha
f5ec0 74 20 72 65 73 65 6d 62 6c 65 73 20 61 20 74 6f 6f 6c 74 69 70 2e 0a 0a 54 68 69 73 20 69 73 20 t.resembles.a.tooltip...This.is.
f5ee0 6e 69 63 65 72 20 74 68 61 6e 20 60 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 27 nicer.than.`racket-show-pos-tip'
f5f00 20 62 65 63 61 75 73 65 20 69 74 3a 0a 0a 20 20 2d 20 44 6f 65 73 6e 27 74 20 66 6c 69 63 6b 65 .because.it:....-.Doesn't.flicke
f5f20 72 20 77 68 69 6c 65 20 6e 61 76 69 67 61 74 69 6e 67 2e 0a 20 20 2d 20 44 6f 65 73 6e 27 74 20 r.while.navigating....-.Doesn't.
f5f40 64 69 73 61 70 70 65 61 72 20 61 66 74 65 72 20 61 20 74 69 6d 65 6f 75 74 2e 0a 20 20 2d 20 50 disappear.after.a.timeout....-.P
f5f60 65 72 66 6f 72 6d 73 20 77 65 6c 6c 20 77 68 65 6e 20 60 78 2d 67 74 6b 2d 75 73 65 2d 73 79 73 erforms.well.when.`x-gtk-use-sys
f5f80 74 65 6d 2d 74 6f 6f 6c 74 69 70 73 27 20 69 73 20 6e 69 6c 2e 0a 0a 4f 6e 20 74 68 65 20 6f 74 tem-tooltips'.is.nil...On.the.ot
f5fa0 68 65 72 20 68 61 6e 64 2c 20 74 68 69 73 20 64 6f 65 73 20 6e 6f 74 20 6c 6f 6f 6b 20 61 73 20 her.hand,.this.does.not.look.as.
f5fc0 6e 69 63 65 20 77 68 65 6e 20 64 69 73 70 6c 61 79 69 6e 67 0a 74 65 78 74 20 74 68 61 74 20 73 nice.when.displaying.text.that.s
f5fe0 70 61 6e 73 20 6d 75 6c 74 69 70 6c 65 20 6c 69 6e 65 73 20 6f 72 20 69 73 20 74 6f 6f 20 77 69 pans.multiple.lines.or.is.too.wi
f6000 64 65 20 74 6f 20 66 69 74 20 74 68 65 20 77 69 6e 64 6f 77 2e 0a 49 6e 20 74 68 61 74 20 63 61 de.to.fit.the.window..In.that.ca
f6020 73 65 2c 20 77 65 20 73 69 6d 70 6c 79 20 6c 65 66 74 2d 6a 75 73 74 69 66 79 20 65 76 65 72 79 se,.we.simply.left-justify.every
f6040 74 68 69 6e 67 20 61 6e 64 20 64 6f 20 6e 6f 74 20 64 72 61 77 0a 61 6e 79 20 62 6f 72 64 65 72 thing.and.do.not.draw.any.border
f6060 2e 22 0a 20 20 28 72 61 63 6b 65 74 2d 2d 64 65 6c 65 74 65 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c ."...(racket--delete-pseudo-tool
f6080 74 69 70 2d 6f 76 65 72 6c 61 79 73 29 0a 20 20 28 77 68 65 6e 20 28 72 61 63 6b 65 74 2d 2d 6e tip-overlays)...(when.(racket--n
f60a0 6f 6e 2d 65 6d 70 74 79 2d 73 74 72 69 6e 67 2d 70 20 73 74 72 29 0a 20 20 20 20 28 73 65 74 71 on-empty-string-p.str).....(setq
f60c0 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 2d 6f 76 -local.racket--pseudo-tooltip-ov
f60e0 65 72 6c 61 79 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d erlays.................(racket--
f6100 6d 61 6b 65 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 2d 6f 76 65 72 6c 61 79 73 20 73 74 72 make-pseudo-tooltip-overlays.str
f6120 20 70 6f 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 64 65 6c 65 74 65 2d .pos))))..(defun.racket--delete-
f6140 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 2d 6f 76 65 72 6c 61 79 73 20 28 29 0a 20 20 28 64 6f pseudo-tooltip-overlays.()...(do
f6160 6c 69 73 74 20 28 6f 76 20 72 61 63 6b 65 74 2d 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 2d list.(ov.racket--pseudo-tooltip-
f6180 6f 76 65 72 6c 61 79 73 29 0a 20 20 20 20 28 64 65 6c 65 74 65 2d 6f 76 65 72 6c 61 79 20 6f 76 overlays).....(delete-overlay.ov
f61a0 29 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 2d 70 73 65 75 64 6f 2d ))...(setq-local.racket--pseudo-
f61c0 74 6f 6f 6c 74 69 70 2d 6f 76 65 72 6c 61 79 73 20 6e 69 6c 29 29 0a 0a 28 64 65 66 75 6e 20 72 tooltip-overlays.nil))..(defun.r
f61e0 61 63 6b 65 74 2d 2d 6d 61 6b 65 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 2d 6f 76 65 72 6c acket--make-pseudo-tooltip-overl
f6200 61 79 73 20 28 74 65 78 74 20 70 6f 73 29 0a 20 20 22 43 72 65 61 74 65 20 6f 6e 65 20 6f 72 20 ays.(text.pos)..."Create.one.or.
f6220 6d 6f 72 65 20 6f 76 65 72 6c 61 79 73 20 66 6f 72 20 61 20 70 73 65 75 64 6f 20 74 6f 6f 6c 74 more.overlays.for.a.pseudo.toolt
f6240 69 70 2c 20 72 65 74 75 72 6e 69 6e 67 20 74 68 65 6d 20 69 6e 20 61 20 6c 69 73 74 2e 22 0a 20 ip,.returning.them.in.a.list."..
f6260 20 28 69 66 20 28 6f 72 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5c 6e 22 20 74 65 .(if.(or.(string-match-p."\n".te
f6280 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 3c 20 28 77 69 6e 64 6f 77 2d 77 69 64 74 68 29 20 xt)...........(<.(window-width).
f62a0 28 2b 20 28 73 74 72 69 6e 67 2d 77 69 64 74 68 20 74 65 78 74 29 20 32 29 29 0a 20 20 20 20 20 (+.(string-width.text).2))......
f62c0 20 20 20 20 20 28 61 6e 64 20 74 65 78 74 2d 73 63 61 6c 65 2d 6d 6f 64 65 20 28 3c 20 30 20 74 .....(and.text-scale-mode.(<.0.t
f62e0 65 78 74 2d 73 63 61 6c 65 2d 6d 6f 64 65 2d 61 6d 6f 75 6e 74 29 29 29 0a 20 20 20 20 20 20 3b ext-scale-mode-amount))).......;
f6300 3b 20 57 68 65 6e 20 74 65 78 74 20 69 73 20 6d 75 6c 74 69 2d 6c 69 6e 65 20 6f 72 20 74 6f 6f ;.When.text.is.multi-line.or.too
f6320 20 77 69 64 65 2c 20 77 65 20 64 6f 6e 27 74 20 74 72 79 20 74 6f 20 73 69 6d 75 6c 61 74 65 0a .wide,.we.don't.try.to.simulate.
f6340 20 20 20 20 20 20 3b 3b 20 61 20 74 6f 6f 6c 74 69 70 2c 20 65 78 61 63 74 6c 79 2e 20 49 6e 73 ......;;.a.tooltip,.exactly..Ins
f6360 74 65 61 64 20 77 65 20 73 69 6d 70 6c 79 20 22 69 6e 73 65 72 74 22 20 6c 65 66 74 0a 20 20 20 tead.we.simply."insert".left....
f6380 20 20 20 3b 3b 20 6a 75 73 74 69 66 69 65 64 2c 20 62 65 66 6f 72 65 20 74 68 65 20 6e 65 78 74 ...;;.justified,.before.the.next
f63a0 20 6c 69 6e 65 2e 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 74 65 78 74 20 28 70 72 6f 70 65 .line........(let*.((text.(prope
f63c0 72 74 69 7a 65 20 28 63 6f 6e 63 61 74 20 74 65 78 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 rtize.(concat.text."\n")........
f63e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 61 63 65 0a 20 20 ........................'face...
f6400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 3a .............................`(:
f6420 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 inherit.default.................
f6440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 2c 28 66 .................:foreground.,(f
f6460 61 63 65 2d 66 6f 72 65 67 72 6f 75 6e 64 20 27 74 6f 6f 6c 74 69 70 29 0a 20 20 20 20 20 20 20 ace-foreground.'tooltip)........
f6480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 62 61 63 6b 67 ..........................:backg
f64a0 72 6f 75 6e 64 20 2c 28 66 61 63 65 2d 62 61 63 6b 67 72 6f 75 6e 64 20 27 74 6f 6f 6c 74 69 70 round.,(face-background.'tooltip
f64c0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6f 6c 20 28 72 61 63 6b 65 74 2d 2d ))))..............(eol.(racket--
f64e0 65 6f 6c 20 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 76 20 28 6d 61 6b 65 eol.pos))..............(ov.(make
f6500 2d 6f 76 65 72 6c 61 79 20 65 6f 6c 20 28 31 2b 20 65 6f 6c 29 29 29 29 0a 20 20 20 20 20 20 20 -overlay.eol.(1+.eol))))........
f6520 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 76 20 27 61 66 74 65 72 2d 73 74 72 69 6e 67 20 74 .(overlay-put.ov.'after-string.t
f6540 65 78 74 29 0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 6f 76 29 29 0a 20 20 20 20 3b 3b 20 45 ext).........(list.ov)).....;;.E
f6560 6c 73 65 20 77 65 20 73 69 6d 75 6c 61 74 65 20 61 20 74 6f 6f 6c 74 69 70 2e 20 54 68 65 20 6f lse.we.simulate.a.tooltip..The.o
f6580 6e 6c 79 20 71 75 65 73 74 69 6f 6e 20 69 73 20 77 68 65 72 65 2c 20 61 6e 64 20 74 68 65 0a 20 nly.question.is.where,.and.the..
f65a0 20 20 20 3b 3b 20 6f 76 65 72 6c 61 79 28 73 29 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 61 63 ...;;.overlay(s).necessary.to.ac
f65c0 68 69 65 76 65 20 74 68 61 74 2e 0a 20 20 20 20 28 6c 65 74 2a 0a 20 20 20 20 20 20 20 20 28 28 hieve.that......(let*.........((
f65e0 74 65 78 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 63 6f 6e 63 61 74 20 22 20 22 20 74 65 78 text.(propertize.(concat.".".tex
f6600 74 20 22 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.".")..........................
f6620 20 20 27 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..'face.........................
f6640 20 20 20 60 28 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 ...`(:inherit.default...........
f6660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 2c ...................:foreground.,
f6680 28 66 61 63 65 2d 66 6f 72 65 67 72 6f 75 6e 64 20 27 74 6f 6f 6c 74 69 70 29 0a 20 20 20 20 20 (face-foreground.'tooltip)......
f66a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 62 61 63 6b 67 72 6f ........................:backgro
f66c0 75 6e 64 20 2c 28 66 61 63 65 2d 62 61 63 6b 67 72 6f 75 6e 64 20 27 74 6f 6f 6c 74 69 70 29 0a und.,(face-background.'tooltip).
f66e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 62 6f .............................:bo
f6700 78 20 28 3a 6c 69 6e 65 2d 77 69 64 74 68 20 2d 31 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 x.(:line-width.-1))))..........(
f6720 74 65 78 74 2d 77 69 64 74 68 20 28 73 74 72 69 6e 67 2d 77 69 64 74 68 20 74 65 78 74 29 29 0a text-width.(string-width.text)).
f6740 20 20 20 20 20 20 20 20 20 28 62 6f 6c 20 28 72 61 63 6b 65 74 2d 2d 62 6f 6c 20 70 6f 73 29 29 .........(bol.(racket--bol.pos))
f6760 0a 20 20 20 20 20 20 20 20 20 28 65 6f 6c 20 28 72 61 63 6b 65 74 2d 2d 65 6f 6c 20 70 6f 73 29 ..........(eol.(racket--eol.pos)
f6780 29 29 0a 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 65 72 65 20 69 73 20 72 6f 6f 6d 20 61 66 74 )).......;;.If.there.is.room.aft
f67a0 65 72 20 65 6e 64 20 6f 66 20 73 61 6d 65 20 6c 69 6e 65 2c 20 73 68 6f 77 20 74 68 65 72 65 2e er.end.of.same.line,.show.there.
f67c0 0a 20 20 20 20 20 20 28 69 66 20 28 3c 20 28 2b 20 74 65 78 74 2d 77 69 64 74 68 20 31 29 20 28 .......(if.(<.(+.text-width.1).(
f67e0 2d 20 28 77 69 6e 64 6f 77 2d 77 69 64 74 68 29 20 28 2d 20 65 6f 6c 20 62 6f 6c 29 29 29 0a 20 -.(window-width).(-.eol.bol)))..
f6800 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 76 20 28 6d 61 6b 65 2d 6f 76 65 72 6c 61 79 .........(let.((ov.(make-overlay
f6820 20 28 31 2d 20 65 6f 6c 29 20 65 6f 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 76 .(1-.eol).eol))).............(ov
f6840 65 72 6c 61 79 2d 70 75 74 20 6f 76 20 27 61 66 74 65 72 2d 73 74 72 69 6e 67 20 28 63 6f 6e 63 erlay-put.ov.'after-string.(conc
f6860 61 74 20 22 20 22 20 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 at.".".text)).............(list.
f6880 6f 76 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 4f 74 68 65 72 77 69 73 65 20 77 65 20 73 69 6d ov)).........;;.Otherwise.we.sim
f68a0 75 6c 61 74 65 20 61 20 74 6f 6f 6c 74 69 70 20 64 69 73 70 6c 61 79 65 64 20 6f 6e 65 20 6c 69 ulate.a.tooltip.displayed.one.li
f68c0 6e 65 20 62 65 6c 6f 77 0a 20 20 20 20 20 20 20 20 3b 3b 20 70 6f 73 2c 20 61 6e 64 20 6f 6e 65 ne.below.........;;.pos,.and.one
f68e0 20 63 6f 6c 75 6d 6e 20 72 69 67 68 74 20 28 61 6c 74 68 6f 75 67 68 20 69 74 20 6d 69 67 68 74 .column.right.(although.it.might
f6900 20 73 74 61 72 74 20 66 75 72 74 68 65 72 0a 20 20 20 20 20 20 20 20 3b 3b 20 6c 65 66 74 20 64 .start.further.........;;.left.d
f6920 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 69 6e 64 6f 77 2d 77 69 64 74 68 29 20 22 6f 76 65 72 22 epending.on.window-width)."over"
f6940 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 74 65 78 74 2e 0a 20 20 20 20 20 20 20 20 28 6c 65 74 .any.existing.text..........(let
f6960 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 3b 3b 20 50 6f 73 69 74 69 6f 6e 20 74 68 65 20 74 *.............(;;.Position.the.t
f6980 6f 6f 6c 74 69 70 20 6f 6e 20 74 68 65 20 6e 65 78 74 20 6c 69 6e 65 2c 20 69 6e 64 65 6e 74 65 ooltip.on.the.next.line,.indente
f69a0 64 20 74 6f 20 60 70 6f 73 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 2d 2d 20 62 75 d.to.`pos'..............;;.--.bu
f69c0 74 20 6e 6f 74 20 73 6f 20 66 61 72 20 69 74 20 65 6e 64 73 20 6f 66 66 20 72 69 67 68 74 20 65 t.not.so.far.it.ends.off.right.e
f69e0 64 67 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 20 20 28 6d 61 78 dge...............(indent...(max
f6a00 20 30 20 28 6d 69 6e 20 28 2d 20 70 6f 73 20 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .0.(min.(-.pos.bol).............
f6a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 77 69 6e 64 6f .......................(-.(windo
f6a40 77 2d 77 69 64 74 68 29 20 74 65 78 74 2d 77 69 64 74 68 20 32 29 29 29 29 0a 20 20 20 20 20 20 w-width).text-width.2)))).......
f6a60 20 20 20 20 20 20 20 28 62 65 67 20 20 20 20 20 20 28 2b 20 65 6f 6c 20 69 6e 64 65 6e 74 20 31 .......(beg......(+.eol.indent.1
f6a80 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 2d 65 6f 6c 20 28 72 61 63 6b 65 ))..............(next-eol.(racke
f6aa0 74 2d 2d 65 6f 6c 20 28 31 2b 20 65 6f 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 t--eol.(1+.eol))))...........;;.
f6ac0 49 66 20 74 68 65 20 74 69 70 20 73 74 61 72 74 73 20 62 65 66 6f 72 65 20 6e 65 78 74 2d 65 6f If.the.tip.starts.before.next-eo
f6ae0 6c 2c 20 63 72 65 61 74 65 20 61 6e 20 6f 76 65 72 6c 61 79 20 77 69 74 68 0a 20 20 20 20 20 20 l,.create.an.overlay.with.......
f6b00 20 20 20 20 3b 3b 20 74 68 65 20 27 64 69 73 70 6c 61 79 20 70 72 6f 70 65 72 74 79 2c 20 63 6f ....;;.the.'display.property,.co
f6b20 76 65 72 69 6e 67 20 74 68 65 20 73 70 61 6e 20 6f 66 20 74 68 65 20 74 6f 6f 6c 74 69 70 0a 20 vering.the.span.of.the.tooltip..
f6b40 20 20 20 20 20 20 20 20 20 3b 3b 20 74 65 78 74 20 62 75 74 20 6e 6f 74 20 62 65 79 6f 6e 64 20 .........;;.text.but.not.beyond.
f6b60 6e 65 78 74 2d 65 6f 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 next-eol............;;..........
f6b80 20 3b 3b 20 41 73 20 61 20 66 75 72 74 68 65 72 20 77 72 69 6e 6b 6c 65 2c 20 77 68 65 6e 20 74 .;;.As.a.further.wrinkle,.when.t
f6ba0 68 65 20 6f 76 65 72 6c 61 79 20 64 6f 65 73 20 6e 6f 74 20 63 6f 76 65 72 20 74 68 65 0a 20 20 he.overlay.does.not.cover.the...
f6bc0 20 20 20 20 20 20 20 20 3b 3b 20 65 6e 74 69 72 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 6c 69 ........;;.entire.rest.of.the.li
f6be0 6e 65 2c 20 6f 75 72 20 6e 65 77 20 74 65 78 74 20 6d 69 67 68 74 20 6e 6f 74 20 62 65 0a 20 20 ne,.our.new.text.might.not.be...
f6c00 20 20 20 20 20 20 20 20 3b 3b 20 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 70 69 78 65 ........;;.exactly.the.same.pixe
f6c20 6c 20 77 69 64 74 68 20 61 73 20 74 68 65 20 74 65 78 74 20 77 65 20 72 65 70 6c 61 63 65 20 2d l.width.as.the.text.we.replace.-
f6c40 2d 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 61 75 73 69 6e 67 20 74 68 65 20 72 65 6d 61 69 -...........;;.causing.the.remai
f6c60 6e 69 6e 67 20 74 65 78 74 20 74 6f 20 73 68 69 66 74 2e 20 54 68 69 73 20 63 61 6e 20 68 61 70 ning.text.to.shift..This.can.hap
f6c80 70 65 6e 20 65 2e 67 2e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 75 65 20 74 6f 20 55 6e 69 pen.e.g............;;.due.to.Uni
f6ca0 63 6f 64 65 20 63 68 61 72 61 63 74 65 72 73 20 6c 69 6b 65 20 ce bb 2e 20 46 75 72 74 68 65 72 code.characters.like.....Further
f6cc0 6d 6f 72 65 2c 20 6f 75 72 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 70 6c 61 63 65 6d 65 more,.our...........;;.replaceme
f6ce0 6e 74 20 74 65 78 74 20 63 61 6e 20 62 65 20 74 77 6f 20 70 69 78 65 6c 73 20 77 69 64 65 72 20 nt.text.can.be.two.pixels.wider.
f6d00 62 65 63 61 75 73 65 20 3a 62 6f 78 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 28 3a 6c 69 6e 65 because.:box...........;;.(:line
f6d20 2d 77 69 64 74 68 20 2d 31 29 20 64 6f 65 73 6e 27 74 20 73 65 65 6d 20 74 6f 20 77 6f 72 6b 20 -width.-1).doesn't.seem.to.work.
f6d40 61 73 20 61 64 76 65 72 74 69 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 as.advertised............;;.....
f6d60 20 20 20 20 20 20 3b 3b 20 54 6f 20 61 76 6f 69 64 20 74 68 69 73 2c 20 77 65 20 61 64 64 20 5f ......;;.To.avoid.this,.we.add._
f6d80 61 6e 6f 74 68 65 72 5f 20 6f 76 65 72 6c 61 79 20 73 69 6d 70 6c 79 20 74 6f 20 72 65 70 6c 61 another_.overlay.simply.to.repla
f6da0 63 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 66 6f ce...........;;.the.character.fo
f6dc0 6c 6c 6f 77 69 6e 67 20 6f 75 72 20 74 6f 6f 6c 74 69 70 20 77 69 74 68 20 61 20 73 70 61 63 65 llowing.our.tooltip.with.a.space
f6de0 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6e 65 63 65 73 73 61 72 79 20 70 .of.the...........;;.necessary.p
f6e00 69 78 65 6c 20 77 69 64 74 68 20 74 6f 20 6b 65 65 70 20 74 68 69 6e 67 73 20 61 6c 69 67 6e 65 ixel.width.to.keep.things.aligne
f6e20 64 2e 20 41 6c 74 68 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 6f 76 65 72 69 6e d..Although...........;;.coverin
f6e40 67 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 77 69 74 68 20 61 20 73 70 61 63 65 20 69 73 6e g.the.character.with.a.space.isn
f6e60 27 74 20 67 72 65 61 74 20 2d 2d 20 65 76 65 6e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 66 't.great.--.even...........;;.if
f6e80 20 79 6f 75 20 6a 75 73 74 69 66 79 20 69 74 20 61 73 20 61 20 73 6f 72 74 20 6f 66 20 22 73 68 .you.justify.it.as.a.sort.of."sh
f6ea0 61 64 6f 77 22 20 28 3f 29 20 2d 2d 20 69 74 27 73 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 adow".(?).--.it's...........;;.b
f6ec0 65 74 74 65 72 20 74 68 61 6e 20 68 61 76 69 6e 67 20 74 68 65 20 72 65 6d 61 69 6e 64 65 72 20 etter.than.having.the.remainder.
f6ee0 6f 66 20 74 68 65 20 6c 69 6e 65 20 6a 69 67 67 6c 65 20 61 73 0a 20 20 20 20 20 20 20 20 20 20 of.the.line.jiggle.as...........
f6f00 3b 3b 20 74 68 65 20 74 6f 6f 6c 74 69 70 20 61 70 65 61 72 73 20 61 6e 64 20 64 69 73 61 70 70 ;;.the.tooltip.apears.and.disapp
f6f20 65 61 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 62 65 67 20 6e 65 78 74 2d ears............(if.(<.beg.next-
f6f40 65 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 66 6c 65 74 20 28 28 74 65 eol)...............(cl-flet.((te
f6f60 78 74 2d 70 69 78 65 6c 2d 77 69 64 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xt-pixel-width..................
f6f80 20 20 20 20 20 20 20 20 28 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........(beg.end)...............
f6fa0 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 28 77 69 6e 64 6f 77 2d 74 65 78 74 2d 70 69 78 ...........(car.(window-text-pix
f6fc0 65 6c 2d 73 69 7a 65 20 6e 69 6c 20 62 65 67 20 65 6e 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 el-size.nil.beg.end)))).........
f6fe0 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 65 6e 64 20 20 28 6d 69 6e 20 6e 65 78 74 2d 65 ........(let*.((end..(min.next-e
f7000 6f 6c 20 28 2b 20 62 65 67 20 74 65 78 74 2d 77 69 64 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 ol.(+.beg.text-width))).........
f7020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 76 20 20 20 28 6d 61 6b 65 2d 6f 76 65 72 6c ...............(ov...(make-overl
f7040 61 79 20 62 65 67 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ay.beg.end))....................
f7060 20 20 20 20 28 6f 6c 64 20 20 28 74 65 78 74 2d 70 69 78 65 6c 2d 77 69 64 74 68 20 28 31 2b 20 ....(old..(text-pixel-width.(1+.
f7080 65 6f 6c 29 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eol).end))......................
f70a0 20 20 28 5f 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 76 20 27 64 69 73 70 6c 61 79 ..(_....(overlay-put.ov.'display
f70c0 20 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .text))........................(
f70e0 6e 65 77 20 20 28 74 65 78 74 2d 70 69 78 65 6c 2d 77 69 64 74 68 20 28 31 2b 20 65 6f 6c 29 20 new..(text-pixel-width.(1+.eol).
f7100 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 end))........................(di
f7120 66 66 20 28 2d 20 6e 65 77 20 6f 6c 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ff.(-.new.old)))................
f7140 20 20 20 28 63 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 76 0a 20 ...(cons....................ov..
f7160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 6e 6f ..................(when.(and.(no
f7180 74 20 28 7a 65 72 6f 70 20 64 69 66 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.(zerop.diff)).................
f71a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 65 6e 64 20 6e 65 78 74 2d 65 6f 6c 29 29 0a ..............(<.end.next-eol)).
f71c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6f 76 2d .....................(let*.((ov-
f71e0 73 70 61 63 65 72 20 20 20 28 6d 61 6b 65 2d 6f 76 65 72 6c 61 79 20 65 6e 64 20 28 31 2b 20 65 spacer...(make-overlay.end.(1+.e
f7200 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nd)))...........................
f7220 20 20 28 77 69 64 74 68 20 20 20 20 20 20 20 28 74 65 78 74 2d 70 69 78 65 6c 2d 77 69 64 74 68 ..(width.......(text-pixel-width
f7240 20 65 6e 64 20 28 31 2b 20 65 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .end.(1+.end))).................
f7260 20 20 20 20 20 20 20 20 20 20 20 20 28 73 70 61 63 65 2d 77 69 64 74 68 20 28 61 62 73 20 28 2d ............(space-width.(abs.(-
f7280 20 77 69 64 74 68 20 64 69 66 66 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .width.diff)))).................
f72a0 20 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 76 2d 73 70 61 63 65 72 0a 20 20 .......(overlay-put.ov-spacer...
f72c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f72e0 20 20 27 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..'display......................
f7300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 73 70 61 63 65 0a 20 20 20 20 20 20 20 20 20 ...............`(space..........
f7320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 77 69 .............................:wi
f7340 64 74 68 20 28 2c 73 70 61 63 65 2d 77 69 64 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 dth.(,space-width)))............
f7360 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 6f 76 2d 73 70 61 63 65 72 29 29 29 29 29 ............(list.ov-spacer)))))
f7380 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 45 6c 73 65 20 74 68 65 20 74 69 70 20 73 74 ).............;;.Else.the.tip.st
f73a0 61 72 74 73 20 61 66 74 65 72 20 6e 65 78 74 2d 65 6f 6c 2e 20 53 6f 2c 20 63 72 65 61 74 65 20 arts.after.next-eol..So,.create.
f73c0 61 6e 20 6f 76 65 72 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 6e 20 74 68 65 an.overlay.............;;.on.the
f73e0 20 6e 65 77 6c 69 6e 65 2c 20 61 6e 64 20 75 73 65 20 61 6e 20 61 66 74 65 72 2d 73 74 72 69 6e .newline,.and.use.an.after-strin
f7400 67 2c 20 77 68 65 72 65 20 77 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b g,.where.we.prefix.............;
f7420 3b 20 65 6e 6f 75 67 68 20 62 6c 61 6e 6b 20 73 70 61 63 65 73 20 62 65 66 6f 72 65 20 74 68 65 ;.enough.blank.spaces.before.the
f7440 20 74 6f 6f 6c 74 69 70 20 74 65 78 74 20 69 74 73 65 6c 66 20 74 6f 20 67 65 74 0a 20 20 20 20 .tooltip.text.itself.to.get.....
f7460 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 64 65 73 69 72 65 64 20 69 6e 64 65 6e 74 2e 0a 20 ........;;.the.desired.indent...
f7480 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6f 76 20 28 6d 61 6b 65 2d 6f 76 65 72 ...........(let*.((ov.(make-over
f74a0 6c 61 79 20 28 31 2d 20 6e 65 78 74 2d 65 6f 6c 29 20 6e 65 78 74 2d 65 6f 6c 29 29 0a 20 20 20 lay.(1-.next-eol).next-eol))....
f74c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 6c 61 6e 6b 73 20 28 6d 61 6b 65 2d 73 74 ................(blanks.(make-st
f74e0 72 69 6e 67 20 28 2d 20 62 65 67 20 6e 65 78 74 2d 65 6f 6c 29 20 33 32 29 29 29 0a 20 20 20 20 ring.(-.beg.next-eol).32))).....
f7500 20 20 20 20 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 76 20 27 61 66 74 65 72 ..........(overlay-put.ov.'after
f7520 2d 73 74 72 69 6e 67 20 28 63 6f 6e 63 61 74 20 62 6c 61 6e 6b 73 20 74 65 78 74 29 29 0a 20 20 -string.(concat.blanks.text))...
f7540 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 6f 76 29 29 29 29 29 29 29 29 0a 0a 28 64 ............(list.ov))))))))..(d
f7560 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 62 6f 6c 20 28 70 6f 73 29 0a 20 20 22 47 69 76 65 6e 20 efun.racket--bol.(pos)..."Given.
f7580 50 4f 53 20 72 65 74 75 72 6e 20 6c 69 6e 65 20 62 65 67 69 6e 6e 69 6e 67 20 70 6f 73 69 74 69 POS.return.line.beginning.positi
f75a0 6f 6e 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 67 6f 74 6f on."...(save-excursion.....(goto
f75c0 2d 63 68 61 72 20 70 6f 73 29 0a 20 20 20 20 28 69 66 20 76 69 73 75 61 6c 2d 6c 69 6e 65 2d 6d -char.pos).....(if.visual-line-m
f75e0 6f 64 65 0a 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 76 69 73 75 61 6c ode.........(beginning-of-visual
f7600 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 -line).......(beginning-of-line)
f7620 29 0a 20 20 20 20 28 70 6f 69 6e 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d ).....(point)))..(defun.racket--
f7640 65 6f 6c 20 28 70 6f 73 29 0a 20 20 22 47 69 76 65 6e 20 50 4f 53 20 72 65 74 75 72 6e 20 6c 69 eol.(pos)..."Given.POS.return.li
f7660 6e 65 20 65 6e 64 69 6e 67 20 70 6f 73 69 74 69 6f 6e 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 ne.ending.position."...(save-exc
f7680 75 72 73 69 6f 6e 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 0a 20 20 20 20 28 ursion.....(goto-char.pos).....(
f76a0 69 66 20 76 69 73 75 61 6c 2d 6c 69 6e 65 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 28 65 6e 64 if.visual-line-mode.........(end
f76c0 2d 6f 66 2d 76 69 73 75 61 6c 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d 6c -of-visual-line).......(end-of-l
f76e0 69 6e 65 29 29 0a 20 20 20 20 28 70 6f 69 6e 74 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 ine)).....(point)))..(provide.'r
f7700 61 63 6b 65 74 2d 73 68 6f 77 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 73 68 6f 77 2e 65 6c 20 65 acket-show)..;;.racket-show.el.e
f7720 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 nds.here........................
f7740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f77a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f77c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f77e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7800 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
f7820 72 61 63 6b 65 74 2d 73 63 72 69 62 62 6c 65 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-scribble.el..............
f7840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
f7880 30 30 34 32 34 35 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 32 33 34 00 20 30 00 00 00 0042453.00000000000.017234..0...
f78a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f78c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f78e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
f7920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
f7940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f79a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f79c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f79e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7a00 3b 3b 3b 20 72 61 63 6b 65 74 2d 73 63 72 69 62 62 6c 65 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 ;;;.racket-scribble.el.-*-.lexic
f7a20 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 al-binding:.t.-*-..;;.Copyright.
f7a40 28 63 29 20 32 30 32 31 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 (c).2021-2022.by.Greg.Hendershot
f7a60 74 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 t..;;.Portions.Copyright.(C).198
f7a80 35 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 5-1986,.1999-2013.Free.Software.
f7aa0 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 Foundation,.Inc...;;.Author:.Gre
f7ac0 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 g.Hendershott.;;.URL:.https://gi
f7ae0 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d thub.com/greghendershott/racket-
f7b00 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 mode..;;.SPDX-License-Identifier
f7b20 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 73 65 :.GPL-3.0-or-later..(require.'se
f7b40 71 29 0a 28 72 65 71 75 69 72 65 20 27 73 68 72 29 0a 28 72 65 71 75 69 72 65 20 27 73 75 62 72 q).(require.'shr).(require.'subr
f7b60 2d 78 29 0a 28 72 65 71 75 69 72 65 20 27 75 72 6c 2d 75 74 69 6c 29 0a 28 72 65 71 75 69 72 65 -x).(require.'url-util).(require
f7b80 20 27 74 72 61 6d 70 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 2d 73 63 72 69 .'tramp)..(defconst.racket--scri
f7ba0 62 62 6c 65 2d 74 65 6d 70 2d 6e 62 73 70 20 23 78 32 30 32 30 0a 20 20 22 43 68 61 72 61 63 74 bble-temp-nbsp.#x2020..."Charact
f7bc0 65 72 20 77 65 20 73 75 62 73 74 69 74 75 74 65 20 66 6f 72 20 23 78 41 30 20 6e 6f 6e 2d 62 72 er.we.substitute.for.#xA0.non-br
f7be0 65 61 6b 69 6e 67 2d 73 70 61 63 65 2e 0a 0a 57 65 20 64 6f 20 74 68 69 73 20 62 65 63 61 75 73 eaking-space...We.do.this.becaus
f7c00 65 20 48 54 4d 4c 20 72 65 6e 64 65 72 65 64 20 62 79 20 53 63 72 69 62 62 6c 65 20 72 65 6c 69 e.HTML.rendered.by.Scribble.reli
f7c20 65 73 20 68 65 61 76 69 6c 79 20 6f 6e 0a 74 61 62 6c 65 73 20 61 6e 64 20 26 6e 62 73 70 3b 20 es.heavily.on.tables.and.&nbsp;.
f7c40 66 6f 72 20 6c 61 79 6f 75 74 2e 20 42 75 74 20 60 73 68 72 2d 69 6e 73 65 72 74 2d 64 6f 63 75 for.layout..But.`shr-insert-docu
f7c60 6d 65 6e 74 27 20 74 72 65 61 74 73 20 6e 62 73 70 0a 61 6b 61 20 23 78 41 30 20 61 73 20 61 20 ment'.treats.nbsp.aka.#xA0.as.a.
f7c80 70 6c 61 69 6e 2c 20 62 72 65 61 6b 69 6e 67 20 73 70 61 63 65 2c 20 61 6e 64 20 66 75 72 74 68 plain,.breaking.space,.and.furth
f7ca0 65 72 6d 6f 72 65 20 64 65 6c 65 74 65 73 0a 6c 65 61 64 69 6e 67 20 73 70 61 63 65 73 20 69 6e ermore.deletes.leading.spaces.in
f7cc0 20 3c 74 64 3e 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 41 66 74 65 72 20 64 6f 69 6e 67 20 61 20 60 .<td>.elements...After.doing.a.`
f7ce0 73 68 72 2d 69 6e 73 65 72 74 2d 64 6f 63 75 6d 65 6e 74 27 20 79 6f 75 20 6e 65 65 64 20 74 6f shr-insert-document'.you.need.to
f7d00 20 72 65 70 6c 61 63 65 20 74 68 69 73 20 69 6e 0a 74 68 65 20 62 75 66 66 65 72 20 77 69 74 68 .replace.this.in.the.buffer.with
f7d20 20 61 20 70 6c 61 69 6e 20 73 70 61 63 65 2c 20 65 2e 67 2e 0a 0a 20 20 28 67 6f 74 6f 2d 63 68 .a.plain.space,.e.g.....(goto-ch
f7d40 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 28 77 68 69 6c 65 20 28 72 65 2d 73 65 61 ar.(point-min))...(while.(re-sea
f7d60 72 63 68 2d 66 6f 72 77 61 72 64 20 28 73 74 72 69 6e 67 20 72 61 63 6b 65 74 2d 2d 73 63 72 69 rch-forward.(string.racket--scri
f7d80 62 62 6c 65 2d 74 65 6d 70 2d 6e 62 73 70 29 20 6e 69 6c 20 74 29 0a 20 20 20 20 28 72 65 70 6c bble-temp-nbsp).nil.t).....(repl
f7da0 61 63 65 2d 6d 61 74 63 68 20 5c 22 20 5c 22 20 74 20 74 29 29 0a 0a 54 68 69 73 20 77 69 6c 6c ace-match.\".\".t.t))..This.will
f7dc0 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 6e 6f 6e 2d 62 72 65 61 6b 69 6e 67 2d 73 70 .ensure.that.the.non-breaking-sp
f7de0 61 63 65 20 63 68 61 72 73 20 61 63 74 75 61 6c 6c 79 20 68 61 76 65 0a 74 68 65 20 65 66 66 65 ace.chars.actually.have.the.effe
f7e00 63 74 20 6f 66 20 62 65 69 6e 67 20 6e 6f 6e 2d 62 72 65 61 6b 69 6e 67 2e 22 29 0a 0a 28 64 65 ct.of.being.non-breaking.")..(de
f7e20 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d 70 61 74 68 2d 3e 73 68 72 2d 64 fun.racket--scribble-path->shr-d
f7e40 6f 6d 20 28 70 61 74 68 29 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 6d 65 73 73 61 67 65 20 28 om.(path)...(with-temp-message.(
f7e60 66 6f 72 6d 61 74 20 22 47 65 74 74 69 6e 67 20 61 6e 64 20 66 6f 72 6d 61 74 74 69 6e 67 20 64 format."Getting.and.formatting.d
f7e80 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 25 73 2e 2e 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ocumentation.%s...".............
f7ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 29 0a 20 20 20 20 28 6c 65 74 2a .................path).....(let*
f7ec0 20 28 28 74 72 61 6d 70 2d 76 65 72 62 6f 73 65 20 32 29 20 3b 61 76 6f 69 64 20 65 78 63 65 73 .((tramp-verbose.2).;avoid.exces
f7ee0 73 69 76 65 20 6d 65 73 73 61 67 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 61 73 65 20 28 sive.messages............(base.(
f7f00 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 70 61 74 68 29 29 0a 20 20 20 20 20 file-name-directory.path))......
f7f20 20 20 20 20 20 20 28 64 6f 6d 20 20 28 72 61 63 6b 65 74 2d 2d 68 74 6d 6c 2d 66 69 6c 65 2d 3e ......(dom..(racket--html-file->
f7f40 64 6f 6d 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 6f 64 79 20 28 72 61 63 dom.path))............(body.(rac
f7f60 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d 62 6f 64 79 20 64 6f 6d 29 29 0a 20 20 20 20 20 20 20 ket--scribble-body.dom))........
f7f80 20 20 20 20 28 62 6f 64 79 20 28 72 61 63 6b 65 74 2d 2d 6d 61 73 73 61 67 65 2d 73 63 72 69 62 ....(body.(racket--massage-scrib
f7fa0 62 6c 65 2d 64 6f 6d 20 70 61 74 68 20 62 61 73 65 20 62 6f 64 79 29 29 29 0a 20 20 20 20 20 20 ble-dom.path.base.body))).......
f7fc0 60 28 68 74 6d 6c 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 61 64 20 28 29 20 `(html.()..............(head.().
f7fe0 28 62 61 73 65 20 28 28 68 72 65 66 20 2e 20 2c 62 61 73 65 29 29 29 29 0a 20 20 20 20 20 20 20 (base.((href...,base))))........
f8000 20 20 20 20 20 20 2c 62 6f 64 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d ......,body))))..(defun.racket--
f8020 68 74 6d 6c 2d 66 69 6c 65 2d 3e 64 6f 6d 20 28 70 61 74 68 29 0a 20 20 28 77 69 74 68 2d 74 65 html-file->dom.(path)...(with-te
f8040 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 mp-buffer.....(insert-file-conte
f8060 6e 74 73 2d 6c 69 74 65 72 61 6c 6c 79 20 70 61 74 68 29 0a 20 20 20 20 28 6c 69 62 78 6d 6c 2d nts-literally.path).....(libxml-
f8080 70 61 72 73 65 2d 68 74 6d 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 parse-html-region.(point-min).(p
f80a0 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 63 72 oint-max))))..(defun.racket--scr
f80c0 69 62 62 6c 65 2d 62 6f 64 79 20 28 64 6f 6d 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 62 6f 64 ibble-body.(dom)..."Return.a.bod
f80e0 79 20 77 69 74 68 20 74 68 65 20 69 6e 74 65 72 65 73 74 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 y.with.the.interesting.elements.
f8100 69 6e 20 44 4f 4d 2e 0a 0a 57 69 74 68 20 61 20 6e 6f 72 6d 61 6c 20 52 61 63 6b 65 74 20 64 6f in.DOM...With.a.normal.Racket.do
f8120 63 75 6d 65 6e 74 61 74 69 6f 6e 20 70 61 67 65 20 70 72 6f 64 75 63 65 64 20 62 79 20 53 63 72 cumentation.page.produced.by.Scr
f8140 69 62 62 6c 65 2c 0a 74 68 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 6c 65 6d 65 6e 74 73 20 66 ibble,.these.are.only.elements.f
f8160 72 6f 6d 20 74 68 65 20 6d 61 69 6e 63 6f 6c 75 6d 6e 2f 6d 61 69 6e 20 64 69 76 20 2d 2d 20 6e rom.the.maincolumn/main.div.--.n
f8180 6f 74 20 74 68 65 0a 74 6f 63 73 65 74 20 73 69 62 6c 69 6e 67 2e 0a 0a 57 69 74 68 20 6f 74 68 ot.the.tocset.sibling...With.oth
f81a0 65 72 20 64 6f 63 20 70 61 67 65 73 2c 20 65 2e 67 2e 20 66 72 6f 6d 20 72 35 72 73 2c 20 74 68 er.doc.pages,.e.g..from.r5rs,.th
f81c0 65 73 65 20 61 72 65 20 73 69 6d 70 6c 79 20 61 6c 6c 20 74 68 65 0a 62 6f 64 79 20 65 6c 65 6d ese.are.simply.all.the.body.elem
f81e0 65 6e 74 73 2e 22 0a 20 20 28 70 63 61 73 65 20 28 73 65 71 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 ents."...(pcase.(seq-some.(lambd
f8200 61 20 28 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 a.(v)......................(pcas
f8220 65 20 76 20 28 60 28 62 6f 64 79 20 2e 20 2c 5f 29 20 76 29 29 29 0a 20 20 20 20 20 20 20 20 20 e.v.(`(body...,_).v)))..........
f8240 20 20 20 20 20 20 20 20 20 20 64 6f 6d 29 0a 20 20 20 20 28 60 28 62 6f 64 79 20 2c 5f 0a 20 20 ..........dom).....(`(body.,_...
f8260 20 20 20 20 20 20 20 20 20 20 28 64 69 76 20 28 28 63 6c 61 73 73 20 2e 20 22 74 6f 63 73 65 74 ..........(div.((class..."tocset
f8280 22 29 29 20 2e 20 2c 5f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 76 20 28 28 63 6c 61 "))...,_).............(div.((cla
f82a0 73 73 20 2e 20 22 6d 61 69 6e 63 6f 6c 75 6d 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ss..."maincolumn")).............
f82c0 20 20 20 20 20 28 64 69 76 20 28 28 63 6c 61 73 73 20 2e 20 22 6d 61 69 6e 22 29 29 20 2e 20 2c .....(div.((class..."main"))...,
f82e0 78 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 2c 5f 29 0a 20 20 20 20 20 60 28 62 6f xs))...............,_)......`(bo
f8300 64 79 20 28 29 20 2c 40 78 73 29 29 0a 20 20 20 20 28 62 6f 64 79 20 62 6f 64 79 29 29 29 0a 0a dy.().,@xs)).....(body.body)))..
f8320 3b 3b 20 44 79 6e 61 6d 69 63 61 6c 6c 79 20 62 6f 75 6e 64 20 28 6c 69 6b 65 20 52 61 63 6b 65 ;;.Dynamically.bound.(like.Racke
f8340 74 20 70 61 72 61 6d 65 74 65 72 73 29 2e 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 73 t.parameters)..(defvar.racket--s
f8360 63 72 69 62 62 6c 65 2d 66 69 6c 65 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 cribble-file.nil).(defvar.racket
f8380 2d 2d 73 63 72 69 62 62 6c 65 2d 62 61 73 65 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 --scribble-base.nil)..(defun.rac
f83a0 6b 65 74 2d 2d 6d 61 73 73 61 67 65 2d 73 63 72 69 62 62 6c 65 2d 64 6f 6d 20 28 66 69 6c 65 20 ket--massage-scribble-dom.(file.
f83c0 62 61 73 65 20 64 6f 6d 29 0a 20 20 22 53 69 6d 70 6c 69 66 79 20 74 68 65 20 48 54 4d 4c 20 73 base.dom)..."Simplify.the.HTML.s
f83e0 6f 20 74 68 61 74 20 60 73 68 72 2d 69 6e 73 65 72 74 2d 64 6f 63 75 6d 65 6e 74 27 20 72 65 6e o.that.`shr-insert-document'.ren
f8400 64 65 72 73 20 62 65 74 74 65 72 2e 0a 0a 49 6e 20 73 6f 6d 65 20 63 61 73 65 73 20 77 65 20 72 ders.better...In.some.cases.we.r
f8420 65 73 6f 72 74 20 74 6f 20 72 65 74 75 72 6e 69 6e 67 20 63 75 73 74 6f 6d 20 65 6c 65 6d 65 6e esort.to.returning.custom.elemen
f8440 74 73 20 66 6f 72 0a 60 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 27 20 74 6f 20 68 61 6e 64 ts.for.`racket-describe'.to.hand
f8460 6c 65 20 73 70 65 63 69 61 6c 6c 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 61 63 6b 65 74 2d 2d le.specially."...(let.((racket--
f8480 73 63 72 69 62 62 6c 65 2d 66 69 6c 65 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 28 72 61 63 scribble-file.file).........(rac
f84a0 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d 62 61 73 65 20 62 61 73 65 29 29 0a 20 20 20 20 28 73 ket--scribble-base.base)).....(s
f84c0 61 76 65 2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 77 61 ave-match-data.......(racket--wa
f84e0 6c 6b 2d 64 6f 6d 20 64 6f 6d 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 77 lk-dom.dom))))..(defun.racket--w
f8500 61 6c 6b 2d 64 6f 6d 20 28 64 6f 6d 29 0a 20 20 28 70 63 61 73 65 20 64 6f 6d 0a 20 20 20 20 3b alk-dom.(dom)...(pcase.dom.....;
f8520 3b 20 50 61 67 65 20 6e 61 76 69 67 61 74 69 6f 6e 2e 20 4f 62 74 61 69 6e 20 66 72 6f 6d 20 73 ;.Page.navigation..Obtain.from.s
f8540 75 69 74 61 62 6c 65 20 6e 61 76 73 65 74 74 6f 70 2e 20 49 67 6e 6f 72 65 20 6f 74 68 65 72 73 uitable.navsettop..Ignore.others
f8560 2e 0a 20 20 20 20 28 60 28 64 69 76 20 28 28 63 6c 61 73 73 20 2e 20 22 6e 61 76 73 65 74 74 6f ......(`(div.((class..."navsetto
f8580 70 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 70 61 6e 20 28 28 63 6c 61 73 73 20 2e 20 p"))............(span.((class...
f85a0 22 6e 61 76 6c 65 66 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f "navleft"))..................(fo
f85c0 72 6d 20 2e 20 2c 5f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 5f 0a 20 20 20 rm...,_)..................,_....
f85e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 20 28 28 68 72 65 66 20 2e 20 2c 74 6f 70 29 20 ..............(a.((href...,top).
f8600 2e 20 2c 5f 29 20 2e 20 2c 5f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 2c ..,_)...,_)....................,
f8620 5f 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 70 61 6e 20 28 28 63 6c 61 73 73 20 2e 20 22 6e _)............(span.((class..."n
f8640 61 76 72 69 67 68 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 5f 0a 20 avright"))..................,_..
f8660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 6f 72 20 60 28 61 20 28 28 68 72 65 66 20 ................,(or.`(a.((href.
f8680 2e 20 2c 70 72 65 76 29 20 2e 20 2c 5f 29 20 2e 20 2c 5f 29 0a 20 20 20 20 20 20 20 20 20 20 20 ..,prev)...,_)...,_)............
f86a0 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 20 69 67 6e 6f 72 65 20 70 72 65 76 29 29 0a 20 20 ...........(app.ignore.prev))...
f86c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 5f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............,_...............
f86e0 20 20 20 28 61 20 28 28 68 72 65 66 20 2e 20 2c 75 70 29 20 20 20 2e 20 2c 5f 29 20 2e 20 2c 5f ...(a.((href...,up).....,_)...,_
f8700 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 5f 0a 20 20 20 20 20 20 20 20 20 20 )..................,_...........
f8720 20 20 20 20 20 20 20 2c 28 6f 72 20 60 28 61 20 28 28 68 72 65 66 20 2e 20 2c 6e 65 78 74 29 20 .......,(or.`(a.((href...,next).
f8740 2e 20 2c 5f 29 20 2e 20 2c 5f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..,_)...,_).....................
f8760 20 20 28 61 70 70 20 69 67 6e 6f 72 65 20 6e 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ..(app.ignore.next)))...........
f8780 20 2e 20 2c 5f 29 0a 20 20 20 20 20 60 28 72 61 63 6b 65 74 2d 6e 61 76 20 28 28 74 6f 70 20 20 ...,_)......`(racket-nav.((top..
f87a0 2e 20 2c 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 74 6f 70 20 20 72 61 63 6b 65 74 ..,(expand-file-name.top..racket
f87c0 2d 2d 73 63 72 69 62 62 6c 65 2d 62 61 73 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --scribble-base))...............
f87e0 20 20 20 20 20 28 70 72 65 76 20 2e 20 2c 28 61 6e 64 20 70 72 65 76 20 28 65 78 70 61 6e 64 2d .....(prev...,(and.prev.(expand-
f8800 66 69 6c 65 2d 6e 61 6d 65 20 70 72 65 76 20 72 61 63 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d file-name.prev.racket--scribble-
f8820 62 61 73 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 70 20 20 base)))....................(up..
f8840 20 2e 20 2c 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 75 70 20 20 20 72 61 63 6b 65 ...,(expand-file-name.up...racke
f8860 74 2d 2d 73 63 72 69 62 62 6c 65 2d 62 61 73 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 t--scribble-base))..............
f8880 20 20 20 20 20 20 28 6e 65 78 74 20 2e 20 2c 28 61 6e 64 20 6e 65 78 74 20 28 65 78 70 61 6e 64 ......(next...,(and.next.(expand
f88a0 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 65 78 74 20 72 61 63 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 -file-name.next.racket--scribble
f88c0 2d 62 61 73 65 29 29 29 29 29 29 0a 20 20 20 20 28 60 28 64 69 76 20 28 28 63 6c 61 73 73 20 2e -base)))))).....(`(div.((class..
f88e0 20 2c 22 6e 61 76 73 65 74 74 6f 70 22 29 29 20 2e 20 2c 5f 29 0a 20 20 20 20 20 60 28 73 70 61 .,"navsettop"))...,_)......`(spa
f8900 6e 29 29 0a 20 20 20 20 28 60 28 64 69 76 20 28 28 63 6c 61 73 73 20 2e 20 2c 22 6e 61 76 73 65 n)).....(`(div.((class...,"navse
f8920 74 62 6f 74 74 6f 6d 22 29 29 20 2e 20 2c 5f 29 0a 20 20 20 20 20 60 28 73 70 61 6e 29 29 0a 0a tbottom"))...,_)......`(span))..
f8940 20 20 20 20 3b 3b 20 54 68 65 20 6b 69 6e 64 20 28 65 2e 67 2e 20 70 72 6f 63 65 64 75 72 65 20 ....;;.The.kind.(e.g..procedure.
f8960 6f 72 20 73 79 6e 74 61 78 29 3a 20 41 64 64 20 3c 68 72 3e 0a 20 20 20 20 28 60 28 64 69 76 20 or.syntax):.Add.<hr>.....(`(div.
f8980 28 28 63 6c 61 73 73 20 2e 20 22 52 42 61 63 6b 67 72 6f 75 6e 64 4c 61 62 65 6c 20 53 49 45 48 ((class..."RBackgroundLabel.SIEH
f89a0 69 64 64 65 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 69 76 20 28 28 63 6c 61 73 73 idden"))............(div.((class
f89c0 20 2e 20 22 52 42 61 63 6b 67 72 6f 75 6e 64 4c 61 62 65 6c 49 6e 6e 65 72 22 29 29 0a 20 20 20 ..."RBackgroundLabelInner"))....
f89e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 20 28 29 20 2e 20 2c 78 73 29 29 29 0a 20 20 20 20 .............(p.()...,xs))).....
f8a00 20 60 28 64 69 76 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 68 72 29 0a 20 20 20 20 20 20 .`(div.()............(hr).......
f8a20 20 20 20 20 20 28 73 70 61 6e 20 28 28 63 6c 61 73 73 20 2e 20 22 52 6b 74 43 6d 74 22 29 29 0a .....(span.((class..."RktCmt")).
f8a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 6d 61 70 63 61 72 20 23 27 72 61 63 .................,@(mapcar.#'rac
f8a60 6b 65 74 2d 2d 77 61 6c 6b 2d 64 6f 6d 20 78 73 29 29 29 29 0a 0a 20 20 20 20 3b 3b 20 43 68 61 ket--walk-dom.xs))))......;;.Cha
f8a80 6e 67 65 20 53 49 6e 74 72 61 70 61 72 61 20 64 69 76 20 74 6f 20 70 2c 20 77 68 69 63 68 20 68 nge.SIntrapara.div.to.p,.which.h
f8aa0 65 6c 70 73 20 73 68 72 20 73 75 70 70 6c 79 20 73 75 66 66 69 63 69 65 6e 74 0a 20 20 20 20 3b elps.shr.supply.sufficient.....;
f8ac0 3b 20 6c 69 6e 65 2d 62 72 65 61 6b 73 2e 0a 20 20 20 20 28 60 28 64 69 76 20 28 28 63 6c 61 73 ;.line-breaks......(`(div.((clas
f8ae0 73 20 2e 20 22 53 49 6e 74 72 61 70 61 72 61 22 29 29 20 2e 20 2c 78 73 29 0a 20 20 20 20 20 60 s..."SIntrapara"))...,xs)......`
f8b00 28 70 20 28 29 20 2c 40 28 6d 61 70 63 61 72 20 23 27 72 61 63 6b 65 74 2d 2d 77 61 6c 6b 2d 64 (p.().,@(mapcar.#'racket--walk-d
f8b20 6f 6d 20 78 73 29 29 29 0a 0a 20 20 20 20 3b 3b 20 52 6b 74 56 61 6c 44 65 66 7c 52 6b 74 53 74 om.xs)))......;;.RktValDef|RktSt
f8b40 78 44 65 66 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 74 68 69 6e 67 20 69 6e xDef.is.the.name.of.the.thing.in
f8b60 20 74 68 65 20 62 6c 75 65 62 6f 78 2e 0a 20 20 20 20 3b 3b 20 54 68 69 73 20 69 73 20 6c 69 6b .the.bluebox......;;.This.is.lik
f8b80 65 6c 79 20 61 6c 73 6f 20 6e 65 73 74 65 64 20 69 6e 20 61 20 28 73 70 61 6e 20 28 5b 63 6c 61 ely.also.nested.in.a.(span.([cla
f8ba0 73 73 20 22 52 6b 74 53 79 6d 22 5d 29 29 2c 20 73 6f 0a 20 20 20 20 3b 3b 20 77 65 27 6c 6c 20 ss."RktSym"])),.so.....;;.we'll.
f8bc0 67 65 74 20 74 68 61 74 20 66 61 63 65 20 61 73 20 77 65 6c 6c 2c 20 62 75 74 20 75 6e 6c 69 6e get.that.face.as.well,.but.unlin
f8be0 6b 66 79 20 70 72 65 73 65 72 76 69 6e 67 20 74 68 65 20 63 6c 61 73 73 0a 20 20 20 20 3b 3b 20 kfy.preserving.the.class.....;;.
f8c00 66 6f 72 20 60 72 61 63 6b 65 74 2d 72 65 6e 64 65 72 2d 74 61 67 2d 73 70 61 6e 27 2e 0a 20 20 for.`racket-render-tag-span'....
f8c20 20 20 28 28 61 6e 64 20 60 28 61 20 2c 61 73 20 2e 20 2c 78 73 29 0a 20 20 20 20 20 20 20 20 20 ..((and.`(a.,as...,xs)..........
f8c40 20 28 67 75 61 72 64 20 28 6d 65 6d 62 65 72 20 28 64 6f 6d 2d 61 74 74 72 20 64 6f 6d 20 27 63 .(guard.(member.(dom-attr.dom.'c
f8c60 6c 61 73 73 29 20 27 28 22 52 6b 74 56 61 6c 44 65 66 20 52 6b 74 56 61 6c 4c 69 6e 6b 22 0a 20 lass).'("RktValDef.RktValLink"..
f8c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f8ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 52 6b 74 53 74 78 44 65 66 20 52 6b 74 53 74 ................"RktStxDef.RktSt
f8cc0 78 4c 69 6e 6b 22 29 29 29 29 0a 20 20 20 20 20 60 28 73 70 61 6e 20 2c 61 73 20 2c 40 28 6d 61 xLink"))))......`(span.,as.,@(ma
f8ce0 70 63 61 72 20 23 27 72 61 63 6b 65 74 2d 2d 77 61 6c 6b 2d 64 6f 6d 20 78 73 29 29 29 0a 0a 20 pcar.#'racket--walk-dom.xs)))...
f8d00 20 20 20 3b 3b 20 48 61 63 6b 3a 20 48 61 6e 64 6c 65 20 74 61 62 6c 65 73 20 6f 66 20 63 6c 61 ...;;.Hack:.Handle.tables.of.cla
f8d20 73 73 20 22 52 6b 74 42 6c 6b 22 20 77 68 6f 73 65 20 74 72 27 73 20 63 6f 6e 74 61 69 6e 20 6f ss."RktBlk".whose.tr's.contain.o
f8d40 6e 6c 79 20 61 0a 20 20 20 20 3b 3b 20 73 69 6e 67 6c 65 20 74 64 20 2d 2d 2d 20 77 68 69 63 68 nly.a.....;;.single.td.---.which
f8d60 2c 20 77 65 69 72 64 6c 79 2c 20 53 63 72 69 62 62 6c 65 20 75 73 65 73 20 66 6f 72 20 63 6f 64 ,.weirdly,.Scribble.uses.for.cod
f8d80 65 20 62 6c 6f 63 6b 73 0a 20 20 20 20 3b 3b 20 6c 69 6b 65 20 22 45 78 61 6d 70 6c 65 73 22 20 e.blocks.....;;.like."Examples".
f8da0 2d 2d 2d 20 62 79 20 22 75 6e 2d 74 61 62 6c 65 2d 69 7a 69 6e 67 22 20 74 68 65 6d 20 74 6f 20 ---.by."un-table-izing".them.to.
f8dc0 73 69 6d 70 6c 65 20 64 69 76 73 2e 0a 20 20 20 20 3b 3b 20 54 68 69 73 20 69 73 20 74 6f 20 70 simple.divs......;;.This.is.to.p
f8de0 72 65 76 65 6e 74 20 73 68 72 20 66 72 6f 6d 20 74 72 79 69 6e 67 20 74 6f 6f 20 68 61 72 64 20 revent.shr.from.trying.too.hard.
f8e00 74 6f 20 68 61 6e 64 6c 65 20 74 61 62 6c 65 0a 20 20 20 20 3b 3b 20 77 69 64 74 68 73 20 61 6e to.handle.table.....;;.widths.an
f8e20 64 20 69 6e 64 65 6e 74 20 62 75 74 20 6a 75 73 74 20 6d 65 73 73 69 6e 67 20 69 74 20 75 70 20 d.indent.but.just.messing.it.up.
f8e40 66 6f 72 20 63 6f 64 65 20 62 6c 6f 63 6b 73 20 28 65 2e 67 2e 0a 20 20 20 20 3b 3b 20 74 68 65 for.code.blocks.(e.g......;;.the
f8e60 20 66 69 72 73 74 20 61 6e 64 20 73 65 63 6f 6e 64 20 6c 69 6e 65 73 20 77 69 6c 6c 20 62 65 20 .first.and.second.lines.will.be.
f8e80 69 6e 64 65 6e 74 65 64 20 74 6f 6f 20 6d 75 63 68 29 2e 0a 20 20 20 20 28 28 61 6e 64 20 60 28 indented.too.much)......((and.`(
f8ea0 74 61 62 6c 65 20 2c 5f 20 2e 20 2c 72 6f 77 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 75 61 table.,_...,rows)...........(gua
f8ec0 72 64 20 28 65 71 75 61 6c 20 28 64 6f 6d 2d 61 74 74 72 20 64 6f 6d 20 27 63 6c 61 73 73 29 20 rd.(equal.(dom-attr.dom.'class).
f8ee0 22 52 6b 74 42 6c 6b 22 29 29 29 0a 20 20 20 20 20 60 28 64 69 76 20 28 29 0a 20 20 20 20 20 20 "RktBlk")))......`(div.().......
f8f00 20 20 20 20 20 2c 40 28 6d 61 70 63 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 .....,@(mapcar...............(pc
f8f20 61 73 65 2d 6c 61 6d 62 64 61 20 28 60 28 74 72 20 2c 5f 20 28 74 64 20 2c 5f 20 2e 20 2c 78 73 ase-lambda.(`(tr.,_.(td.,_...,xs
f8f40 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 6e 77 72 61 70 20 52 6b ))).................;;.Unwrap.Rk
f8f60 74 7b 52 65 73 20 4f 75 74 20 45 72 72 7d 20 69 6e 20 61 20 3c 70 3e 20 74 68 61 74 20 63 61 75 t{Res.Out.Err}.in.a.<p>.that.cau
f8f80 73 65 73 20 65 78 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6c 69 ses.excess.................;;.li
f8fa0 6e 65 20 62 72 65 61 6b 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 ne.breaks..................(let.
f8fc0 28 28 78 73 20 28 70 63 61 73 65 20 78 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ((xs.(pcase.xs..................
f8fe0 20 20 20 20 20 20 20 20 20 20 20 28 60 28 28 70 20 2c 5f 20 2e 20 2c 78 73 29 29 20 78 73 29 0a ...........(`((p.,_...,xs)).xs).
f9000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 73 20 ............................(xs.
f9020 20 20 20 20 20 20 20 20 20 20 20 20 20 78 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............xs)))).............
f9040 20 20 20 20 20 20 60 28 64 69 76 20 28 29 20 2c 40 28 6d 61 70 63 61 72 20 23 27 72 61 63 6b 65 ......`(div.().,@(mapcar.#'racke
f9060 74 2d 2d 77 61 6c 6b 2d 64 6f 6d 20 78 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 t--walk-dom.xs))))..............
f9080 20 72 6f 77 73 29 29 29 0a 0a 20 20 20 20 3b 3b 20 48 61 63 6b 3a 20 45 6e 73 75 72 65 20 62 6c .rows)))......;;.Hack:.Ensure.bl
f90a0 61 6e 6b 20 6c 69 6e 65 20 61 66 74 65 72 20 64 65 66 6d 6f 64 75 6c 65 20 62 6c 6f 63 6b 73 0a ank.line.after.defmodule.blocks.
f90c0 20 20 20 20 28 28 61 6e 64 20 60 28 74 61 62 6c 65 20 2c 5f 20 2e 20 2c 78 73 29 0a 20 20 20 20 ....((and.`(table.,_...,xs).....
f90e0 20 20 20 20 20 20 28 67 75 61 72 64 20 28 65 71 75 61 6c 20 28 64 6f 6d 2d 61 74 74 72 20 64 6f ......(guard.(equal.(dom-attr.do
f9100 6d 20 27 63 6c 61 73 73 29 20 22 64 65 66 6d 6f 64 75 6c 65 22 29 29 29 0a 20 20 20 20 20 60 28 m.'class)."defmodule")))......`(
f9120 64 69 76 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 61 62 6c 65 20 28 29 20 2c 40 28 6d div.()............(table.().,@(m
f9140 61 70 63 61 72 20 23 27 72 61 63 6b 65 74 2d 2d 77 61 6c 6b 2d 64 6f 6d 20 78 73 29 29 0a 20 20 apcar.#'racket--walk-dom.xs))...
f9160 20 20 20 20 20 20 20 20 20 28 70 20 28 29 29 29 29 0a 0a 20 20 20 20 3b 3b 20 52 65 70 6c 61 63 .........(p.())))......;;.Replac
f9180 65 20 73 6f 6d 65 20 3c 61 3e 20 77 69 74 68 20 3c 72 61 63 6b 65 74 2d 61 6e 63 68 6f 72 3e 20 e.some.<a>.with.<racket-anchor>.
f91a0 62 65 63 61 75 73 65 20 73 68 72 20 69 6e 20 45 6d 61 63 73 20 32 35 2e 32 0a 20 20 20 20 3b 3b because.shr.in.Emacs.25.2.....;;
f91c0 20 64 6f 65 73 6e 27 74 20 73 65 65 6d 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 73 65 20 77 65 .doesn't.seem.to.handle.these.we
f91e0 6c 6c 2e 0a 20 20 20 20 28 60 28 61 20 28 28 6e 61 6d 65 20 2e 20 2c 6e 61 6d 65 29 29 20 2e 20 ll......(`(a.((name...,name))...
f9200 2c 78 73 29 0a 20 20 20 20 20 60 28 72 61 63 6b 65 74 2d 61 6e 63 68 6f 72 20 28 28 6e 61 6d 65 ,xs)......`(racket-anchor.((name
f9220 20 2e 20 2c 6e 61 6d 65 29 29 20 2e 20 2c 78 73 29 29 0a 0a 20 20 20 20 3b 3b 20 49 67 6e 6f 72 ...,name))...,xs))......;;.Ignor
f9240 65 20 6e 65 77 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 62 75 74 74 6f 6e 2d 67 72 6f 75 70 22 e.new.<span.class="button-group"
f9260 3e 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 28 60 28 73 70 61 6e 20 28 28 63 6c 61 73 73 20 >.elements......(`(span.((class.
f9280 2e 20 22 62 75 74 74 6f 6e 2d 67 72 6f 75 70 22 29 29 20 2e 20 2c 5f 29 0a 20 20 20 20 20 60 28 .."button-group"))...,_)......`(
f92a0 73 70 61 6e 29 29 0a 0a 20 20 20 20 3b 3b 20 52 65 70 6c 61 63 65 20 3c 61 3e 20 77 69 74 68 20 span))......;;.Replace.<a>.with.
f92c0 3c 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 3e 20 6f 72 20 3c 72 61 63 6b 65 74 2d 65 78 74 <racket-doc-link>.or.<racket-ext
f92e0 2d 6c 69 6e 6b 3e 2e 20 54 68 65 0a 20 20 20 20 3b 3b 20 66 6f 72 6d 65 72 20 61 72 65 20 6c 69 -link>..The.....;;.former.are.li
f9300 6e 6b 73 20 74 6f 20 66 6f 6c 6c 6f 77 20 75 73 69 6e 67 20 72 61 63 6b 65 74 2d 64 65 73 63 72 nks.to.follow.using.racket-descr
f9320 69 62 65 2d 6d 6f 64 65 2c 20 74 68 65 0a 20 20 20 20 3b 3b 20 6c 61 74 74 65 72 20 75 73 69 6e ibe-mode,.the.....;;.latter.usin
f9340 67 20 62 72 6f 77 73 65 2d 75 72 6c 20 28 61 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 2c g.browse-url.(a.general-purpose,
f9360 20 70 72 6f 62 61 62 6c 79 20 65 78 74 65 72 6e 61 6c 0a 20 20 20 20 3b 3b 20 77 65 62 20 62 72 .probably.external.....;;.web.br
f9380 6f 77 73 65 72 29 2e 0a 20 20 20 20 28 60 28 61 20 2c 5f 20 2e 20 2c 78 73 29 0a 20 20 20 20 20 owser)......(`(a.,_...,xs)......
f93a0 28 70 63 61 73 65 20 28 64 6f 6d 2d 61 74 74 72 20 64 6f 6d 20 27 68 72 65 66 29 0a 20 20 20 20 (pcase.(dom-attr.dom.'href).....
f93c0 20 20 20 3b 3b 20 4e 6f 20 68 72 65 66 2e 0a 20 20 20 20 20 20 20 28 60 28 29 20 60 28 73 70 61 ...;;.No.href.........(`().`(spa
f93e0 6e 20 28 29 20 2c 40 28 6d 61 70 63 61 72 20 23 27 72 61 63 6b 65 74 2d 2d 77 61 6c 6b 2d 64 6f n.().,@(mapcar.#'racket--walk-do
f9400 6d 20 78 73 29 29 29 0a 20 20 20 20 20 20 20 3b 3b 20 48 61 6e 64 6c 65 20 22 6c 6f 63 61 6c 2d m.xs)))........;;.Handle."local-
f9420 72 65 64 69 72 65 63 74 22 20 6c 69 6e 6b 73 2e 20 53 63 72 69 62 62 6c 65 20 77 72 69 74 65 73 redirect".links..Scribble.writes
f9440 20 74 68 65 73 65 20 61 73 0a 20 20 20 20 20 20 20 3b 3b 20 65 78 74 65 72 6e 61 6c 20 6c 69 6e .these.as........;;.external.lin
f9460 6b 73 2c 20 61 6e 64 20 67 65 6e 65 72 61 74 65 73 20 64 6f 63 2f 6c 6f 63 61 6c 2d 72 65 64 69 ks,.and.generates.doc/local-redi
f9480 72 65 63 74 2e 6a 73 20 74 6f 0a 20 20 20 20 20 20 20 3b 3b 20 61 64 6a 75 73 74 20 74 68 65 73 rect.js.to........;;.adjust.thes
f94a0 65 20 6f 6e 20 70 61 67 65 20 6c 6f 61 64 2e 20 50 61 72 74 69 61 6c 6c 79 20 6d 69 6d 69 63 20 e.on.page.load..Partially.mimic.
f94c0 74 68 61 74 20 6a 73 20 68 65 72 65 2e 0a 20 20 20 20 20 20 20 28 28 61 6e 64 20 68 72 65 66 0a that.js.here.........((and.href.
f94e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .............(or...............(
f9500 70 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 pred................(string-matc
f9520 68 20 3b 61 73 20 66 6f 72 20 69 6e 73 74 61 6c 6c 65 64 20 72 65 6c 65 61 73 65 73 0a 20 20 20 h.;as.for.installed.releases....
f9540 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5e 68 74 74 70 73 3f 3a 2f 2f 64 6f 77 6e 6c 6f 61 64 ............."^https?://download
f9560 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 72 65 6c 65 61 73 65 73 2f 5b 5e 2f 5d 2b 2f .racket-lang.org/releases/[^/]+/
f9580 64 6f 63 2f 6c 6f 63 61 6c 2d 72 65 64 69 72 65 63 74 2f 69 6e 64 65 78 2e 68 74 6d 6c 5b 3f 5d doc/local-redirect/index.html[?]
f95a0 5c 5c 28 2e 2a 5c 5c 29 24 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 64 \\(.*\\)$"))...............(pred
f95c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 3b 61 ................(string-match.;a
f95e0 73 20 66 6f 72 20 6c 6f 63 61 6c 20 62 75 69 6c 64 73 20 66 72 6f 6d 20 73 6f 75 72 63 65 0a 20 s.for.local.builds.from.source..
f9600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5e 68 74 74 70 73 3f 3a 2f 2f 64 6f 63 73 2e 72 ..............."^https?://docs.r
f9620 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 6c 6f 63 61 6c 2d 72 65 64 69 72 65 63 74 2f 69 6e acket-lang.org/local-redirect/in
f9640 64 65 78 2e 68 74 6d 6c 5b 3f 5d 5c 5c 28 2e 2a 5c 5c 29 24 22 29 29 0a 20 20 20 20 20 20 20 20 dex.html[?]\\(.*\\)$")).........
f9660 20 20 20 20 20 20 28 70 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 ......(pred................(stri
f9680 6e 67 2d 6d 61 74 63 68 20 3b 61 73 20 66 6f 72 20 69 6e 73 74 61 6c 6c 65 64 20 73 6e 61 70 73 ng-match.;as.for.installed.snaps
f96a0 68 6f 74 20 62 75 69 6c 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5e 68 74 74 hot.builds................."^htt
f96c0 70 73 3f 3a 2f 2f 2e 2b 3f 2f 73 6e 61 70 73 68 6f 74 73 2f 5b 5e 2f 5d 2b 2f 64 6f 63 2f 6c 6f ps?://.+?/snapshots/[^/]+/doc/lo
f96e0 63 61 6c 2d 72 65 64 69 72 65 63 74 2f 69 6e 64 65 78 2e 68 74 6d 6c 5b 3f 5d 5c 5c 28 2e 2a 5c cal-redirect/index.html[?]\\(.*\
f9700 5c 29 24 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 71 70 73 20 28 75 72 6c \)$")))).........(let.((qps.(url
f9720 2d 70 61 72 73 65 2d 71 75 65 72 79 2d 73 74 72 69 6e 67 20 28 6d 61 74 63 68 2d 73 74 72 69 6e -parse-query-string.(match-strin
f9740 67 20 31 20 68 72 65 66 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 73 73 6f g.1.href))))...........(if.(asso
f9760 63 20 22 74 61 67 22 20 71 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 73 70 61 c."tag".qps)...............`(spa
f9780 6e 20 28 29 20 2c 40 28 6d 61 70 63 61 72 20 23 27 72 61 63 6b 65 74 2d 2d 77 61 6c 6b 2d 64 6f n.().,@(mapcar.#'racket--walk-do
f97a0 6d 20 78 73 29 29 20 3b 64 6f 6e 27 74 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 m.xs)).;don't.handle............
f97c0 20 3b 3b 20 41 73 73 75 6d 65 20 6c 6f 63 61 6c 2d 72 65 64 69 72 65 63 74 2e 6a 73 20 68 61 73 .;;.Assume.local-redirect.js.has
f97e0 20 61 20 22 62 6f 72 69 6e 67 22 20 6c 69 6e 6b 5f 64 69 72 73 20 77 68 65 72 65 0a 20 20 20 20 .a."boring".link_dirs.where.....
f9800 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 ........;;.the.second.element.of
f9820 20 65 61 63 68 20 73 75 62 2d 61 72 72 61 79 20 69 73 20 73 69 6d 70 6c 79 20 74 68 65 0a 20 20 .each.sub-array.is.simply.the...
f9840 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 69 72 73 74 20 6f 6e 65 20 77 69 74 68 20 22 2e 2e 2f ..........;;.first.one.with."../
f9860 22 20 70 72 65 70 65 6e 64 65 64 2e 20 57 65 20 63 61 6e 20 73 69 6d 70 6c 79 20 75 73 65 20 74 ".prepended..We.can.simply.use.t
f9880 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 60 he.............;;.value.of.the.`
f98a0 64 6f 63 60 20 71 75 65 72 79 20 70 61 72 61 6d 65 74 65 72 20 77 69 74 68 20 22 2e 2e 2f 22 0a doc`.query.parameter.with."../".
f98c0 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70 72 65 70 65 6e 64 65 64 2e 0a 20 20 20 20 20 20 ............;;.prepended........
f98e0 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 64 6f 63 20 28 63 61 64 72 20 28 61 73 73 6f 63 20 22 ......(let*.((doc.(cadr.(assoc."
f9900 64 6f 63 22 20 71 70 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 doc".qps)))....................(
f9920 72 65 6c 20 28 63 61 64 72 20 28 61 73 73 6f 63 20 22 72 65 6c 22 20 71 70 73 29 29 29 0a 20 20 rel.(cadr.(assoc."rel".qps)))...
f9940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6c 2d 70 61 74 68 20 28 63 6f 6e 63 .................(rel-path.(conc
f9960 61 74 20 22 2e 2e 2f 22 20 64 6f 63 20 22 2f 22 20 72 65 6c 29 29 0a 20 20 20 20 20 20 20 20 20 at."../".doc."/".rel))..........
f9980 20 20 20 20 20 20 20 20 20 20 28 61 62 73 2d 70 61 74 68 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 ..........(abs-path.(expand-file
f99a0 2d 6e 61 6d 65 20 72 65 6c 2d 70 61 74 68 20 72 61 63 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d -name.rel-path.racket--scribble-
f99c0 62 61 73 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 63 75 72 20 74 base)))...............;;.recur.t
f99e0 6f 20 64 6f 20 6f 75 72 20 75 73 75 61 6c 20 70 61 74 68 2f 61 6e 63 68 6f 72 20 70 72 6f 63 65 o.do.our.usual.path/anchor.proce
f9a00 73 73 69 6e 67 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6c 6f 63 61 6c ssing.for...............;;.local
f9a20 20 68 72 65 66 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 77 61 .hrefs...............(racket--wa
f9a40 6c 6b 2d 64 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 61 20 28 28 68 72 65 66 lk-dom................`(a.((href
f9a60 20 20 2e 20 2c 61 62 73 2d 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....,abs-path)..................
f9a80 20 20 20 28 63 6c 61 73 73 20 2e 20 2c 28 64 6f 6d 2d 61 74 74 72 20 64 6f 6d 20 27 63 6c 61 73 ...(class...,(dom-attr.dom.'clas
f9aa0 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 78 73 29 29 29 29 s)))....................,@xs))))
f9ac0 29 29 0a 20 20 20 20 20 20 20 3b 3b 20 53 6f 6d 65 20 6f 74 68 65 72 2c 20 74 72 75 6c 79 20 65 ))........;;.Some.other,.truly.e
f9ae0 78 74 65 72 6e 61 6c 20 6c 69 6e 6b 73 0a 20 20 20 20 20 20 20 28 28 61 6e 64 20 68 72 65 66 20 xternal.links........((and.href.
f9b00 28 70 72 65 64 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 68 74 74 70 73 3f 3a 2f (pred.(string-match-p."^https?:/
f9b20 2f 22 29 29 29 0a 20 20 20 20 20 20 20 20 60 28 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 20 /"))).........`(racket-ext-link.
f9b40 28 28 68 72 65 66 20 20 2e 20 2c 68 72 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ((href....,href)................
f9b60 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 61 73 73 20 2e 20 2c 28 64 6f 6d 2d 61 74 74 72 20 ............(class...,(dom-attr.
f9b80 64 6f 6d 20 27 63 6c 61 73 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dom.'class)))...................
f9ba0 20 20 20 20 20 20 20 20 2c 40 28 6d 61 70 63 61 72 20 23 27 72 61 63 6b 65 74 2d 2d 77 61 6c 6b ........,@(mapcar.#'racket--walk
f9bc0 2d 64 6f 6d 20 78 73 29 29 29 0a 20 20 20 20 20 20 20 28 28 61 6e 64 20 68 72 65 66 20 28 70 72 -dom.xs)))........((and.href.(pr
f9be0 65 64 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 6d 61 69 6c 74 6f 3a 22 29 29 29 ed.(string-match-p."^mailto:")))
f9c00 0a 20 20 20 20 20 20 20 20 60 28 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 20 28 28 68 72 65 .........`(racket-ext-link.((hre
f9c20 66 20 20 2e 20 2c 68 72 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f....,href).....................
f9c40 20 20 20 20 20 20 20 28 63 6c 61 73 73 20 2e 20 2c 28 64 6f 6d 2d 61 74 74 72 20 64 6f 6d 20 27 .......(class...,(dom-attr.dom.'
f9c60 63 6c 61 73 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 class)))........................
f9c80 20 20 20 2c 40 28 6d 61 70 63 61 72 20 23 27 72 61 63 6b 65 74 2d 2d 77 61 6c 6b 2d 64 6f 6d 20 ...,@(mapcar.#'racket--walk-dom.
f9ca0 78 73 29 29 29 0a 20 20 20 20 20 20 20 3b 3b 20 4c 61 7a 79 20 68 61 63 6b 20 74 6f 20 72 65 6d xs)))........;;.Lazy.hack.to.rem
f9cc0 6f 76 65 20 74 68 65 20 22 67 6f 20 74 6f 20 73 70 65 63 69 66 69 63 22 20 6c 69 6e 6b 73 20 6f ove.the."go.to.specific".links.o
f9ce0 6e 20 74 68 65 20 74 6f 70 0a 20 20 20 20 20 20 20 3b 3b 20 64 6f 63 2f 69 6e 64 65 78 2e 68 74 n.the.top........;;.doc/index.ht
f9d00 6d 6c 20 70 61 67 65 2e 20 46 49 58 4d 45 3a 20 49 6e 73 74 65 61 64 20 72 65 6d 6f 76 65 20 65 ml.page..FIXME:.Instead.remove.e
f9d20 6e 74 69 72 65 20 70 61 72 61 67 72 61 70 68 3f 0a 20 20 20 20 20 20 20 28 28 70 72 65 64 20 28 ntire.paragraph?........((pred.(
f9d40 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 23 24 22 29 29 0a 20 20 20 20 20 20 20 20 60 28 string-match-p."#$")).........`(
f9d60 73 70 61 6e 29 29 0a 20 20 20 20 20 20 20 3b 3b 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 63 span))........;;.Otherwise.the.c
f9d80 6f 6d 6d 6f 6e 20 63 61 73 65 20 69 73 20 73 6f 6d 65 20 63 6f 6d 62 6f 20 6f 66 20 70 61 74 68 ommon.case.is.some.combo.of.path
f9da0 20 61 6e 64 2f 6f 72 20 61 6e 63 68 6f 72 2e 0a 20 20 20 20 20 20 20 28 68 72 65 66 0a 20 20 20 .and/or.anchor.........(href....
f9dc0 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 20 28 28 60 28 2c 70 61 74 68 20 2e 20 2c 61 6e .....(pcase-let*.((`(,path...,an
f9de0 63 68 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 chor).......................(sav
f9e00 65 2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-match-data....................
f9e20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(cond......................
f9e40 20 20 20 20 28 28 65 71 75 61 6c 20 68 72 65 66 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 ....((equal.href."")............
f9e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 72 61 63 6b 65 74 2d 2d 73 63 72 ...............(cons.racket--scr
f9e80 69 62 62 6c 65 2d 66 69 6c 65 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ibble-file.nil))................
f9ea0 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5e 23 5c 5c 28 2e ..........((string-match."^#\\(.
f9ec0 2b 5c 5c 29 24 22 20 68 72 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 +\\)$".href)....................
f9ee0 20 20 20 20 20 20 20 28 63 6f 6e 73 20 72 61 63 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d 66 69 .......(cons.racket--scribble-fi
f9f00 6c 65 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 68 72 65 66 29 29 29 0a 20 20 20 20 20 le.(match-string.1.href)))......
f9f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 ....................((string-mat
f9f40 63 68 20 22 5e 5c 5c 28 2e 2a 5c 5c 29 23 5c 5c 28 2e 2b 5c 5c 29 24 22 20 68 72 65 66 29 0a 20 ch."^\\(.*\\)#\\(.+\\)$".href)..
f9f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 .........................(cons.(
f9f80 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 expand-file-name.(match-string.1
f9fa0 20 68 72 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .href)..........................
f9fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d .........................racket-
f9fe0 2d 73 63 72 69 62 62 6c 65 2d 62 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -scribble-base).................
fa000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 ................(match-string.2.
fa020 68 72 65 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 href))).........................
fa040 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5e 5c 5c 28 2e 2b 5c 5c 29 24 22 20 68 72 65 .((string-match."^\\(.+\\)$".hre
fa060 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f f)...........................(co
fa080 6e 73 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 6d 61 74 63 68 2d 73 74 72 69 ns.(expand-file-name.(match-stri
fa0a0 6e 67 20 31 20 68 72 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng.1.href)......................
fa0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 .............................rac
fa0e0 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d 62 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ket--scribble-base).............
fa100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 ....................nil)).......
fa120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 75 6e ...................(t.(error."un
fa140 65 78 70 65 63 74 65 64 20 68 72 65 66 22 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 expected.href"))))).............
fa160 20 20 20 20 20 20 20 20 20 28 61 6e 63 68 6f 72 20 28 61 6e 64 20 61 6e 63 68 6f 72 20 28 75 72 .........(anchor.(and.anchor.(ur
fa180 6c 2d 75 6e 68 65 78 2d 73 74 72 69 6e 67 20 61 6e 63 68 6f 72 29 29 29 29 0a 20 20 20 20 20 20 l-unhex-string.anchor)))).......
fa1a0 20 20 20 20 60 28 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 20 28 28 70 61 74 68 20 20 20 2e ....`(racket-doc-link.((path....
fa1c0 20 2c 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .,path).........................
fa1e0 20 20 20 20 20 28 61 6e 63 68 6f 72 20 2e 20 2c 61 6e 63 68 6f 72 29 0a 20 20 20 20 20 20 20 20 .....(anchor...,anchor).........
fa200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 61 73 73 20 20 2e 20 2c .....................(class....,
fa220 28 64 6f 6d 2d 61 74 74 72 20 64 6f 6d 20 27 63 6c 61 73 73 29 29 29 0a 20 20 20 20 20 20 20 20 (dom-attr.dom.'class))).........
fa240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 6d 61 70 63 61 72 20 23 27 ....................,@(mapcar.#'
fa260 72 61 63 6b 65 74 2d 2d 77 61 6c 6b 2d 64 6f 6d 20 78 73 29 29 29 29 29 29 0a 0a 20 20 20 20 3b racket--walk-dom.xs))))))......;
fa280 3b 20 46 6f 72 20 73 6f 6d 65 20 72 65 61 73 6f 6e 20 73 63 72 69 62 62 6c 65 20 72 65 6e 64 65 ;.For.some.reason.scribble.rende
fa2a0 72 73 20 74 68 69 73 2c 20 77 68 69 63 68 20 73 68 72 20 64 6f 65 73 6e 27 74 0a 20 20 20 20 3b rs.this,.which.shr.doesn't.....;
fa2c0 3b 20 68 61 6e 64 6c 65 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 3c 69 3e 2c 20 77 68 69 63 68 20 ;.handle,.instead.of.<i>,.which.
fa2e0 69 74 20 64 6f 65 73 2e 0a 20 20 20 20 28 60 28 73 70 61 6e 20 28 28 73 74 79 6c 65 20 2e 20 22 it.does......(`(span.((style..."
fa300 66 6f 6e 74 2d 73 74 79 6c 65 3a 20 69 74 61 6c 69 63 22 29 29 20 2e 20 2c 78 73 29 0a 20 20 20 font-style:.italic"))...,xs)....
fa320 20 20 60 28 69 20 28 29 20 2c 40 28 6d 61 70 63 61 72 20 23 27 72 61 63 6b 65 74 2d 2d 77 61 6c ..`(i.().,@(mapcar.#'racket--wal
fa340 6b 2d 64 6f 6d 20 78 73 29 29 29 0a 0a 20 20 20 20 3b 3b 20 44 65 6c 65 74 65 20 73 6f 6d 65 20 k-dom.xs)))......;;.Delete.some.
fa360 74 68 69 6e 67 73 20 74 68 61 74 20 70 72 6f 64 75 63 65 20 75 6e 77 61 6e 74 65 64 20 62 6c 61 things.that.produce.unwanted.bla
fa380 6e 6b 20 6c 69 6e 65 73 20 61 6e 64 2f 6f 72 0a 20 20 20 20 3b 3b 20 69 6e 64 65 6e 74 73 2e 0a nk.lines.and/or.....;;.indents..
fa3a0 20 20 20 20 28 60 28 62 6c 6f 63 6b 71 75 6f 74 65 20 28 28 63 6c 61 73 73 20 2e 20 2c 28 6f 72 ....(`(blockquote.((class...,(or
fa3c0 20 22 53 56 49 6e 73 65 74 46 6c 6f 77 22 20 22 53 75 62 46 6c 6f 77 22 29 29 29 20 2e 20 2c 78 ."SVInsetFlow"."SubFlow")))...,x
fa3e0 73 29 0a 20 20 20 20 20 60 28 73 70 61 6e 20 28 29 20 2c 40 28 6d 61 70 63 61 72 20 23 27 72 61 s)......`(span.().,@(mapcar.#'ra
fa400 63 6b 65 74 2d 2d 77 61 6c 6b 2d 64 6f 6d 20 78 73 29 29 29 0a 20 20 20 20 28 60 28 70 20 28 28 cket--walk-dom.xs))).....(`(p.((
fa420 63 6c 61 73 73 20 2e 20 22 52 46 6f 72 65 67 72 6f 75 6e 64 22 29 29 20 2e 20 2c 78 73 29 0a 20 class..."RForeground"))...,xs)..
fa440 20 20 20 20 60 28 64 69 76 20 28 29 20 2c 40 28 6d 61 70 63 61 72 20 23 27 72 61 63 6b 65 74 2d ....`(div.().,@(mapcar.#'racket-
fa460 2d 77 61 6c 6b 2d 64 6f 6d 20 78 73 29 29 29 0a 0a 20 20 20 20 3b 3b 20 49 6d 61 67 65 73 20 69 -walk-dom.xs)))......;;.Images.i
fa480 6e 20 72 65 66 70 61 72 61 20 62 6c 6f 63 6b 73 3b 20 72 65 6d 6f 76 65 0a 20 20 20 20 28 60 28 n.refpara.blocks;.remove.....(`(
fa4a0 69 6d 67 20 28 28 73 72 63 20 2e 20 2c 28 6f 72 20 22 66 69 6e 67 65 72 2e 70 6e 67 22 20 22 6d img.((src...,(or."finger.png"."m
fa4c0 61 67 6e 69 66 79 2e 70 6e 67 22 29 29 20 2e 20 2c 5f 29 29 0a 20 20 20 20 20 60 28 73 70 61 6e agnify.png"))...,_))......`(span
fa4e0 29 29 0a 0a 20 20 20 20 3b 3b 20 49 6d 61 67 65 73 20 67 65 6e 65 72 61 6c 6c 79 3a 20 43 6f 6e ))......;;.Images.generally:.Con
fa500 76 65 72 74 20 73 72 63 20 74 6f 20 64 61 74 61 3a 20 75 72 69 20 73 63 68 65 6d 65 2e 20 22 69 vert.src.to.data:.uri.scheme.."i
fa520 6e 6c 69 6e 65 22 2e 0a 20 20 20 20 3b 3b 20 28 4f 74 68 65 72 77 69 73 65 20 73 68 72 20 77 6f nline"......;;.(Otherwise.shr.wo
fa540 75 6c 64 20 74 72 79 20 74 6f 20 60 75 72 6c 2d 71 75 65 75 65 2d 72 65 74 72 69 65 76 65 27 20 uld.try.to.`url-queue-retrieve'.
fa560 74 68 65 73 65 2e 29 0a 20 20 20 20 28 60 28 69 6d 67 20 2c 61 73 29 0a 20 20 20 20 20 60 28 69 these.).....(`(img.,as)......`(i
fa580 6d 67 20 2c 28 63 6f 6e 73 20 28 63 6f 6e 73 20 27 73 72 63 0a 20 20 20 20 20 20 20 20 20 20 20 mg.,(cons.(cons.'src............
fa5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d 66 .............(racket--scribble-f
fa5c0 69 6c 65 2d 3e 64 61 74 61 2d 75 72 69 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ile->data-uri...................
fa5e0 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 64 6f 6d 2d 61 74 .......(expand-file-name.(dom-at
fa600 74 72 20 64 6f 6d 20 27 73 72 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tr.dom.'src)....................
fa620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d ........................racket--
fa640 73 63 72 69 62 62 6c 65 2d 62 61 73 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 scribble-base)))................
fa660 20 20 20 28 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c 20 27 73 72 63 20 61 73 29 29 29 29 0a ...(assq-delete-all.'src.as)))).
fa680 0a 20 20 20 20 3b 3b 20 4f 74 68 65 72 77 69 73 65 20 67 65 6e 65 72 69 63 20 48 54 4d 4c 0a 20 .....;;.Otherwise.generic.HTML..
fa6a0 20 20 20 28 60 28 2c 74 61 67 20 2c 61 73 20 2e 20 2c 78 73 29 0a 20 20 20 20 20 60 28 2c 74 61 ...(`(,tag.,as...,xs)......`(,ta
fa6c0 67 20 2c 61 73 20 2c 40 28 6d 61 70 63 61 72 20 23 27 72 61 63 6b 65 74 2d 2d 77 61 6c 6b 2d 64 g.,as.,@(mapcar.#'racket--walk-d
fa6e0 6f 6d 20 78 73 29 29 29 0a 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 om.xs))).....((and.(pred.stringp
fa700 29 20 73 29 0a 20 20 20 20 20 28 73 75 62 73 74 2d 63 68 61 72 2d 69 6e 2d 73 74 72 69 6e 67 20 ).s)......(subst-char-in-string.
fa720 23 78 41 30 20 72 61 63 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d 74 65 6d 70 2d 6e 62 73 70 20 #xA0.racket--scribble-temp-nbsp.
fa740 73 29 29 0a 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 6e 75 6d 62 65 72 70 29 20 6e 29 20 s)).....((and.(pred.numberp).n).
fa760 28 73 74 72 69 6e 67 20 6e 29 29 0a 20 20 20 20 28 60 28 29 20 22 22 29 0a 20 20 20 20 28 73 79 (string.n)).....(`()."").....(sy
fa780 6d 20 28 72 61 63 6b 65 74 2d 2d 68 74 6d 6c 2d 63 68 61 72 2d 65 6e 74 69 74 79 2d 73 79 6d 62 m.(racket--html-char-entity-symb
fa7a0 6f 6c 2d 3e 73 74 72 69 6e 67 20 73 79 6d 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 ol->string.sym))))..(defun.racke
fa7c0 74 2d 2d 73 63 72 69 62 62 6c 65 2d 66 69 6c 65 2d 3e 64 61 74 61 2d 75 72 69 20 28 69 6d 61 67 t--scribble-file->data-uri.(imag
fa7e0 65 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 22 64 61 74 61 3a e-file-name)...(concat...."data:
fa800 69 6d 61 67 65 2f 70 6e 67 3b 62 61 73 65 36 34 2c 22 0a 20 20 20 28 77 69 74 68 2d 74 65 6d 70 image/png;base64,"....(with-temp
fa820 2d 62 75 66 66 65 72 0a 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e -buffer......(insert-file-conten
fa840 74 73 2d 6c 69 74 65 72 61 6c 6c 79 20 69 6d 61 67 65 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 ts-literally.image-file-name)...
fa860 20 20 20 28 62 61 73 65 36 34 2d 65 6e 63 6f 64 65 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d ...(base64-encode-region.(point-
fa880 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 74 29 0a 20 20 20 20 20 28 62 75 66 66 65 72 min).(point-max).t)......(buffer
fa8a0 2d 73 74 72 69 6e 67 29 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 2d 68 -string))))..(defconst.racket--h
fa8c0 74 6d 6c 2d 63 68 61 72 2d 65 6e 74 69 74 69 65 73 0a 20 20 60 28 28 71 75 6f 74 20 20 20 20 20 tml-char-entities...`((quot.....
fa8e0 2e 20 33 34 29 0a 20 20 20 20 28 61 6d 70 20 20 20 20 20 20 2e 20 33 38 29 0a 20 20 20 20 28 61 ..34).....(amp........38).....(a
fa900 70 6f 73 20 20 20 20 20 2e 20 33 39 29 0a 20 20 20 20 28 6c 74 20 20 20 20 20 20 20 2e 20 36 30 pos.......39).....(lt.........60
fa920 29 0a 20 20 20 20 28 67 74 20 20 20 20 20 20 20 2e 20 36 32 29 0a 20 20 20 20 28 6e 62 73 70 20 ).....(gt.........62).....(nbsp.
fa940 20 20 20 20 2e 20 2c 72 61 63 6b 65 74 2d 2d 73 63 72 69 62 62 6c 65 2d 74 65 6d 70 2d 6e 62 73 ......,racket--scribble-temp-nbs
fa960 70 29 0a 20 20 20 20 28 69 65 78 63 6c 20 20 20 20 2e 20 31 36 31 29 0a 20 20 20 20 28 63 65 6e p).....(iexcl......161).....(cen
fa980 74 20 20 20 20 20 2e 20 31 36 32 29 0a 20 20 20 20 28 70 6f 75 6e 64 20 20 20 20 2e 20 31 36 33 t.......162).....(pound......163
fa9a0 29 0a 20 20 20 20 28 63 75 72 72 65 6e 20 20 20 2e 20 31 36 34 29 0a 20 20 20 20 28 79 65 6e 20 ).....(curren.....164).....(yen.
fa9c0 20 20 20 20 20 2e 20 31 36 35 29 0a 20 20 20 20 28 62 72 76 62 61 72 20 20 20 2e 20 31 36 36 29 .......165).....(brvbar.....166)
fa9e0 0a 20 20 20 20 28 73 65 63 74 20 20 20 20 20 2e 20 31 36 37 29 0a 20 20 20 20 28 75 6d 6c 20 20 .....(sect.......167).....(uml..
faa00 20 20 20 20 2e 20 31 36 38 29 0a 20 20 20 20 28 63 6f 70 79 20 20 20 20 20 2e 20 31 36 39 29 0a ......168).....(copy.......169).
faa20 20 20 20 20 28 6f 72 64 66 20 20 20 20 20 2e 20 31 37 30 29 0a 20 20 20 20 28 6c 61 71 75 6f 20 ....(ordf.......170).....(laquo.
faa40 20 20 20 2e 20 31 37 31 29 0a 20 20 20 20 28 6e 6f 74 20 20 20 20 20 20 2e 20 31 37 32 29 0a 20 .....171).....(not........172)..
faa60 20 20 20 28 73 68 79 20 20 20 20 20 20 2e 20 31 37 33 29 0a 20 20 20 20 28 72 65 67 20 20 20 20 ...(shy........173).....(reg....
faa80 20 20 2e 20 31 37 34 29 0a 20 20 20 20 28 6d 61 63 72 20 20 20 20 20 2e 20 31 37 35 29 0a 20 20 ....174).....(macr.......175)...
faaa0 20 20 28 64 65 67 20 20 20 20 20 20 2e 20 31 37 36 29 0a 20 20 20 20 28 70 6c 75 73 6d 6e 20 20 ..(deg........176).....(plusmn..
faac0 20 2e 20 31 37 37 29 0a 20 20 20 20 28 73 75 70 32 20 20 20 20 20 2e 20 31 37 38 29 0a 20 20 20 ...177).....(sup2.......178)....
faae0 20 28 73 75 70 33 20 20 20 20 20 2e 20 31 37 39 29 0a 20 20 20 20 28 61 63 75 74 65 20 20 20 20 .(sup3.......179).....(acute....
fab00 2e 20 31 38 30 29 0a 20 20 20 20 28 6d 69 63 72 6f 20 20 20 20 2e 20 31 38 31 29 0a 20 20 20 20 ..180).....(micro......181).....
fab20 28 70 61 72 61 20 20 20 20 20 2e 20 31 38 32 29 0a 20 20 20 20 28 6d 69 64 64 6f 74 20 20 20 2e (para.......182).....(middot....
fab40 20 31 38 33 29 0a 20 20 20 20 28 63 65 64 69 6c 20 20 20 20 2e 20 31 38 34 29 0a 20 20 20 20 28 .183).....(cedil......184).....(
fab60 73 75 70 31 20 20 20 20 20 2e 20 31 38 35 29 0a 20 20 20 20 28 6f 72 64 6d 20 20 20 20 20 2e 20 sup1.......185).....(ordm.......
fab80 31 38 36 29 0a 20 20 20 20 28 72 61 71 75 6f 20 20 20 20 2e 20 31 38 37 29 0a 20 20 20 20 28 66 186).....(raquo......187).....(f
faba0 72 61 63 31 34 20 20 20 2e 20 31 38 38 29 0a 20 20 20 20 28 66 72 61 63 31 32 20 20 20 2e 20 31 rac14.....188).....(frac12.....1
fabc0 38 39 29 0a 20 20 20 20 28 66 72 61 63 33 34 20 20 20 2e 20 31 39 30 29 0a 20 20 20 20 28 69 71 89).....(frac34.....190).....(iq
fabe0 75 65 73 74 20 20 20 2e 20 31 39 31 29 0a 20 20 20 20 28 41 67 72 61 76 65 20 20 20 2e 20 31 39 uest.....191).....(Agrave.....19
fac00 32 29 0a 20 20 20 20 28 41 61 63 75 74 65 20 20 20 2e 20 31 39 33 29 0a 20 20 20 20 28 41 63 69 2).....(Aacute.....193).....(Aci
fac20 72 63 20 20 20 20 2e 20 31 39 34 29 0a 20 20 20 20 28 41 74 69 6c 64 65 20 20 20 2e 20 31 39 35 rc......194).....(Atilde.....195
fac40 29 0a 20 20 20 20 28 41 75 6d 6c 20 20 20 20 20 2e 20 31 39 36 29 0a 20 20 20 20 28 41 72 69 6e ).....(Auml.......196).....(Arin
fac60 67 20 20 20 20 2e 20 31 39 37 29 0a 20 20 20 20 28 41 45 6c 69 67 20 20 20 20 2e 20 31 39 38 29 g......197).....(AElig......198)
fac80 0a 20 20 20 20 28 43 63 65 64 69 6c 20 20 20 2e 20 31 39 39 29 0a 20 20 20 20 28 45 67 72 61 76 .....(Ccedil.....199).....(Egrav
faca0 65 20 20 20 2e 20 32 30 30 29 0a 20 20 20 20 28 45 61 63 75 74 65 20 20 20 2e 20 32 30 31 29 0a e.....200).....(Eacute.....201).
facc0 20 20 20 20 28 45 63 69 72 63 20 20 20 20 2e 20 32 30 32 29 0a 20 20 20 20 28 45 75 6d 6c 20 20 ....(Ecirc......202).....(Euml..
face0 20 20 20 2e 20 32 30 33 29 0a 20 20 20 20 28 49 67 72 61 76 65 20 20 20 2e 20 32 30 34 29 0a 20 .....203).....(Igrave.....204)..
fad00 20 20 20 28 49 61 63 75 74 65 20 20 20 2e 20 32 30 35 29 0a 20 20 20 20 28 49 63 69 72 63 20 20 ...(Iacute.....205).....(Icirc..
fad20 20 20 2e 20 32 30 36 29 0a 20 20 20 20 28 49 75 6d 6c 20 20 20 20 20 2e 20 32 30 37 29 0a 20 20 ....206).....(Iuml.......207)...
fad40 20 20 28 45 54 48 20 20 20 20 20 20 2e 20 32 30 38 29 0a 20 20 20 20 28 4e 74 69 6c 64 65 20 20 ..(ETH........208).....(Ntilde..
fad60 20 2e 20 32 30 39 29 0a 20 20 20 20 28 4f 67 72 61 76 65 20 20 20 2e 20 32 31 30 29 0a 20 20 20 ...209).....(Ograve.....210)....
fad80 20 28 4f 61 63 75 74 65 20 20 20 2e 20 32 31 31 29 0a 20 20 20 20 28 4f 63 69 72 63 20 20 20 20 .(Oacute.....211).....(Ocirc....
fada0 2e 20 32 31 32 29 0a 20 20 20 20 28 4f 74 69 6c 64 65 20 20 20 2e 20 32 31 33 29 0a 20 20 20 20 ..212).....(Otilde.....213).....
fadc0 28 4f 75 6d 6c 20 20 20 20 20 2e 20 32 31 34 29 0a 20 20 20 20 28 74 69 6d 65 73 20 20 20 20 2e (Ouml.......214).....(times.....
fade0 20 32 31 35 29 0a 20 20 20 20 28 4f 73 6c 61 73 68 20 20 20 2e 20 32 31 36 29 0a 20 20 20 20 28 .215).....(Oslash.....216).....(
fae00 55 67 72 61 76 65 20 20 20 2e 20 32 31 37 29 0a 20 20 20 20 28 55 61 63 75 74 65 20 20 20 2e 20 Ugrave.....217).....(Uacute.....
fae20 32 31 38 29 0a 20 20 20 20 28 55 63 69 72 63 20 20 20 20 2e 20 32 31 39 29 0a 20 20 20 20 28 55 218).....(Ucirc......219).....(U
fae40 75 6d 6c 20 20 20 20 20 2e 20 32 32 30 29 0a 20 20 20 20 28 59 61 63 75 74 65 20 20 20 2e 20 32 uml.......220).....(Yacute.....2
fae60 32 31 29 0a 20 20 20 20 28 54 48 4f 52 4e 20 20 20 20 2e 20 32 32 32 29 0a 20 20 20 20 28 73 7a 21).....(THORN......222).....(sz
fae80 6c 69 67 20 20 20 20 2e 20 32 32 33 29 0a 20 20 20 20 28 61 67 72 61 76 65 20 20 20 2e 20 32 32 lig......223).....(agrave.....22
faea0 34 29 0a 20 20 20 20 28 61 61 63 75 74 65 20 20 20 2e 20 32 32 35 29 0a 20 20 20 20 28 61 63 69 4).....(aacute.....225).....(aci
faec0 72 63 20 20 20 20 2e 20 32 32 36 29 0a 20 20 20 20 28 61 74 69 6c 64 65 20 20 20 2e 20 32 32 37 rc......226).....(atilde.....227
faee0 29 0a 20 20 20 20 28 61 75 6d 6c 20 20 20 20 20 2e 20 32 32 38 29 0a 20 20 20 20 28 61 72 69 6e ).....(auml.......228).....(arin
faf00 67 20 20 20 20 2e 20 32 32 39 29 0a 20 20 20 20 28 61 65 6c 69 67 20 20 20 20 2e 20 32 33 30 29 g......229).....(aelig......230)
faf20 0a 20 20 20 20 28 63 63 65 64 69 6c 20 20 20 2e 20 32 33 31 29 0a 20 20 20 20 28 65 67 72 61 76 .....(ccedil.....231).....(egrav
faf40 65 20 20 20 2e 20 32 33 32 29 0a 20 20 20 20 28 65 61 63 75 74 65 20 20 20 2e 20 32 33 33 29 0a e.....232).....(eacute.....233).
faf60 20 20 20 20 28 65 63 69 72 63 20 20 20 20 2e 20 32 33 34 29 0a 20 20 20 20 28 65 75 6d 6c 20 20 ....(ecirc......234).....(euml..
faf80 20 20 20 2e 20 32 33 35 29 0a 20 20 20 20 28 69 67 72 61 76 65 20 20 20 2e 20 32 33 36 29 0a 20 .....235).....(igrave.....236)..
fafa0 20 20 20 28 69 61 63 75 74 65 20 20 20 2e 20 32 33 37 29 0a 20 20 20 20 28 69 63 69 72 63 20 20 ...(iacute.....237).....(icirc..
fafc0 20 20 2e 20 32 33 38 29 0a 20 20 20 20 28 69 75 6d 6c 20 20 20 20 20 2e 20 32 33 39 29 0a 20 20 ....238).....(iuml.......239)...
fafe0 20 20 28 65 74 68 20 20 20 20 20 20 2e 20 32 34 30 29 0a 20 20 20 20 28 6e 74 69 6c 64 65 20 20 ..(eth........240).....(ntilde..
fb000 20 2e 20 32 34 31 29 0a 20 20 20 20 28 6f 67 72 61 76 65 20 20 20 2e 20 32 34 32 29 0a 20 20 20 ...241).....(ograve.....242)....
fb020 20 28 6f 61 63 75 74 65 20 20 20 2e 20 32 34 33 29 0a 20 20 20 20 28 6f 63 69 72 63 20 20 20 20 .(oacute.....243).....(ocirc....
fb040 2e 20 32 34 34 29 0a 20 20 20 20 28 6f 74 69 6c 64 65 20 20 20 2e 20 32 34 35 29 0a 20 20 20 20 ..244).....(otilde.....245).....
fb060 28 6f 75 6d 6c 20 20 20 20 20 2e 20 32 34 36 29 0a 20 20 20 20 28 64 69 76 69 64 65 20 20 20 2e (ouml.......246).....(divide....
fb080 20 32 34 37 29 0a 20 20 20 20 28 6f 73 6c 61 73 68 20 20 20 2e 20 32 34 38 29 0a 20 20 20 20 28 .247).....(oslash.....248).....(
fb0a0 75 67 72 61 76 65 20 20 20 2e 20 32 34 39 29 0a 20 20 20 20 28 75 61 63 75 74 65 20 20 20 2e 20 ugrave.....249).....(uacute.....
fb0c0 32 35 30 29 0a 20 20 20 20 28 75 63 69 72 63 20 20 20 20 2e 20 32 35 31 29 0a 20 20 20 20 28 75 250).....(ucirc......251).....(u
fb0e0 75 6d 6c 20 20 20 20 20 2e 20 32 35 32 29 0a 20 20 20 20 28 79 61 63 75 74 65 20 20 20 2e 20 32 uml.......252).....(yacute.....2
fb100 35 33 29 0a 20 20 20 20 28 74 68 6f 72 6e 20 20 20 20 2e 20 32 35 34 29 0a 20 20 20 20 28 79 75 53).....(thorn......254).....(yu
fb120 6d 6c 20 20 20 20 20 2e 20 32 35 35 29 0a 20 20 20 20 28 4f 45 6c 69 67 20 20 20 20 2e 20 33 33 ml.......255).....(OElig......33
fb140 38 29 0a 20 20 20 20 28 6f 65 6c 69 67 20 20 20 20 2e 20 33 33 39 29 0a 20 20 20 20 28 53 63 61 8).....(oelig......339).....(Sca
fb160 72 6f 6e 20 20 20 2e 20 33 35 32 29 0a 20 20 20 20 28 73 63 61 72 6f 6e 20 20 20 2e 20 33 35 33 ron.....352).....(scaron.....353
fb180 29 0a 20 20 20 20 28 59 75 6d 6c 20 20 20 20 20 2e 20 33 37 36 29 0a 20 20 20 20 28 66 6e 6f 66 ).....(Yuml.......376).....(fnof
fb1a0 20 20 20 20 20 2e 20 34 30 32 29 0a 20 20 20 20 28 63 69 72 63 20 20 20 20 20 2e 20 37 31 30 29 .......402).....(circ.......710)
fb1c0 0a 20 20 20 20 28 74 69 6c 64 65 20 20 20 20 2e 20 37 33 32 29 0a 20 20 20 20 28 41 6c 70 68 61 .....(tilde......732).....(Alpha
fb1e0 20 20 20 20 2e 20 39 31 33 29 0a 20 20 20 20 28 42 65 74 61 20 20 20 20 20 2e 20 39 31 34 29 0a ......913).....(Beta.......914).
fb200 20 20 20 20 28 47 61 6d 6d 61 20 20 20 20 2e 20 39 31 35 29 0a 20 20 20 20 28 44 65 6c 74 61 20 ....(Gamma......915).....(Delta.
fb220 20 20 20 2e 20 39 31 36 29 0a 20 20 20 20 28 45 70 73 69 6c 6f 6e 20 20 2e 20 39 31 37 29 0a 20 .....916).....(Epsilon....917)..
fb240 20 20 20 28 5a 65 74 61 20 20 20 20 20 2e 20 39 31 38 29 0a 20 20 20 20 28 45 74 61 20 20 20 20 ...(Zeta.......918).....(Eta....
fb260 20 20 2e 20 39 31 39 29 0a 20 20 20 20 28 54 68 65 74 61 20 20 20 20 2e 20 39 32 30 29 0a 20 20 ....919).....(Theta......920)...
fb280 20 20 28 49 6f 74 61 20 20 20 20 20 2e 20 39 32 31 29 0a 20 20 20 20 28 4b 61 70 70 61 20 20 20 ..(Iota.......921).....(Kappa...
fb2a0 20 2e 20 39 32 32 29 0a 20 20 20 20 28 4c 61 6d 62 64 61 20 20 20 2e 20 39 32 33 29 0a 20 20 20 ...922).....(Lambda.....923)....
fb2c0 20 28 4d 75 20 20 20 20 20 20 20 2e 20 39 32 34 29 0a 20 20 20 20 28 4e 75 20 20 20 20 20 20 20 .(Mu.........924).....(Nu.......
fb2e0 2e 20 39 32 35 29 0a 20 20 20 20 28 58 69 20 20 20 20 20 20 20 2e 20 39 32 36 29 0a 20 20 20 20 ..925).....(Xi.........926).....
fb300 28 4f 6d 69 63 72 6f 6e 20 20 2e 20 39 32 37 29 0a 20 20 20 20 28 50 69 20 20 20 20 20 20 20 2e (Omicron....927).....(Pi........
fb320 20 39 32 38 29 0a 20 20 20 20 28 52 68 6f 20 20 20 20 20 20 2e 20 39 32 39 29 0a 20 20 20 20 28 .928).....(Rho........929).....(
fb340 53 69 67 6d 61 20 20 20 20 2e 20 39 33 31 29 0a 20 20 20 20 28 54 61 75 20 20 20 20 20 20 2e 20 Sigma......931).....(Tau........
fb360 39 33 32 29 0a 20 20 20 20 28 55 70 73 69 6c 6f 6e 20 20 2e 20 39 33 33 29 0a 20 20 20 20 28 50 932).....(Upsilon....933).....(P
fb380 68 69 20 20 20 20 20 20 2e 20 39 33 34 29 0a 20 20 20 20 28 43 68 69 20 20 20 20 20 20 2e 20 39 hi........934).....(Chi........9
fb3a0 33 35 29 0a 20 20 20 20 28 50 73 69 20 20 20 20 20 20 2e 20 39 33 36 29 0a 20 20 20 20 28 4f 6d 35).....(Psi........936).....(Om
fb3c0 65 67 61 20 20 20 20 2e 20 39 33 37 29 0a 20 20 20 20 28 61 6c 70 68 61 20 20 20 20 2e 20 39 34 ega......937).....(alpha......94
fb3e0 35 29 0a 20 20 20 20 28 62 65 74 61 20 20 20 20 20 2e 20 39 34 36 29 0a 20 20 20 20 28 67 61 6d 5).....(beta.......946).....(gam
fb400 6d 61 20 20 20 20 2e 20 39 34 37 29 0a 20 20 20 20 28 64 65 6c 74 61 20 20 20 20 2e 20 39 34 38 ma......947).....(delta......948
fb420 29 0a 20 20 20 20 28 65 70 73 69 6c 6f 6e 20 20 2e 20 39 34 39 29 0a 20 20 20 20 28 7a 65 74 61 ).....(epsilon....949).....(zeta
fb440 20 20 20 20 20 2e 20 39 35 30 29 0a 20 20 20 20 28 65 74 61 20 20 20 20 20 20 2e 20 39 35 31 29 .......950).....(eta........951)
fb460 0a 20 20 20 20 28 74 68 65 74 61 20 20 20 20 2e 20 39 35 32 29 0a 20 20 20 20 28 69 6f 74 61 20 .....(theta......952).....(iota.
fb480 20 20 20 20 2e 20 39 35 33 29 0a 20 20 20 20 28 6b 61 70 70 61 20 20 20 20 2e 20 39 35 34 29 0a ......953).....(kappa......954).
fb4a0 20 20 20 20 28 6c 61 6d 62 64 61 20 20 20 2e 20 39 35 35 29 0a 20 20 20 20 28 6d 75 20 20 20 20 ....(lambda.....955).....(mu....
fb4c0 20 20 20 2e 20 39 35 36 29 0a 20 20 20 20 28 6e 75 20 20 20 20 20 20 20 2e 20 39 35 37 29 0a 20 .....956).....(nu.........957)..
fb4e0 20 20 20 28 78 69 20 20 20 20 20 20 20 2e 20 39 35 38 29 0a 20 20 20 20 28 6f 6d 69 63 72 6f 6e ...(xi.........958).....(omicron
fb500 20 20 2e 20 39 35 39 29 0a 20 20 20 20 28 70 69 20 20 20 20 20 20 20 2e 20 39 36 30 29 0a 20 20 ....959).....(pi.........960)...
fb520 20 20 28 72 68 6f 20 20 20 20 20 20 2e 20 39 36 31 29 0a 20 20 20 20 28 73 69 67 6d 61 66 20 20 ..(rho........961).....(sigmaf..
fb540 20 2e 20 39 36 32 29 0a 20 20 20 20 28 73 69 67 6d 61 20 20 20 20 2e 20 39 36 33 29 0a 20 20 20 ...962).....(sigma......963)....
fb560 20 28 74 61 75 20 20 20 20 20 20 2e 20 39 36 34 29 0a 20 20 20 20 28 75 70 73 69 6c 6f 6e 20 20 .(tau........964).....(upsilon..
fb580 2e 20 39 36 35 29 0a 20 20 20 20 28 70 68 69 20 20 20 20 20 20 2e 20 39 36 36 29 0a 20 20 20 20 ..965).....(phi........966).....
fb5a0 28 63 68 69 20 20 20 20 20 20 2e 20 39 36 37 29 0a 20 20 20 20 28 70 73 69 20 20 20 20 20 20 2e (chi........967).....(psi.......
fb5c0 20 39 36 38 29 0a 20 20 20 20 28 6f 6d 65 67 61 20 20 20 20 2e 20 39 36 39 29 0a 20 20 20 20 28 .968).....(omega......969).....(
fb5e0 74 68 65 74 61 73 79 6d 20 2e 20 39 37 37 29 0a 20 20 20 20 28 75 70 73 69 68 20 20 20 20 2e 20 thetasym...977).....(upsih......
fb600 39 37 38 29 0a 20 20 20 20 28 70 69 76 20 20 20 20 20 20 2e 20 39 38 32 29 0a 20 20 20 20 28 65 978).....(piv........982).....(e
fb620 6e 73 70 20 20 20 20 20 2e 20 38 31 39 34 29 0a 20 20 20 20 28 65 6d 73 70 20 20 20 20 20 2e 20 nsp.......8194).....(emsp.......
fb640 38 31 39 35 29 0a 20 20 20 20 28 74 68 69 6e 73 70 20 20 20 2e 20 38 32 30 31 29 0a 20 20 20 20 8195).....(thinsp.....8201).....
fb660 28 7a 77 6e 6a 20 20 20 20 20 2e 20 38 32 30 34 29 0a 20 20 20 20 28 7a 77 6a 20 20 20 20 20 20 (zwnj.......8204).....(zwj......
fb680 2e 20 38 32 30 35 29 0a 20 20 20 20 28 6c 72 6d 20 20 20 20 20 20 2e 20 38 32 30 36 29 0a 20 20 ..8205).....(lrm........8206)...
fb6a0 20 20 28 72 6c 6d 20 20 20 20 20 20 2e 20 38 32 30 37 29 0a 20 20 20 20 28 6e 64 61 73 68 20 20 ..(rlm........8207).....(ndash..
fb6c0 20 20 2e 20 38 32 31 31 29 0a 20 20 20 20 28 6d 64 61 73 68 20 20 20 20 2e 20 38 32 31 32 29 0a ....8211).....(mdash......8212).
fb6e0 20 20 20 20 28 6c 73 71 75 6f 20 20 20 20 2e 20 38 32 31 36 29 0a 20 20 20 20 28 72 73 71 75 6f ....(lsquo......8216).....(rsquo
fb700 20 20 20 20 2e 20 38 32 31 37 29 0a 20 20 20 20 28 73 62 71 75 6f 20 20 20 20 2e 20 38 32 31 38 ......8217).....(sbquo......8218
fb720 29 0a 20 20 20 20 28 6c 64 71 75 6f 20 20 20 20 2e 20 38 32 32 30 29 0a 20 20 20 20 28 72 64 71 ).....(ldquo......8220).....(rdq
fb740 75 6f 20 20 20 20 2e 20 38 32 32 31 29 0a 20 20 20 20 28 62 64 71 75 6f 20 20 20 20 2e 20 38 32 uo......8221).....(bdquo......82
fb760 32 32 29 0a 20 20 20 20 28 64 61 67 67 65 72 20 20 20 2e 20 38 32 32 34 29 0a 20 20 20 20 28 44 22).....(dagger.....8224).....(D
fb780 61 67 67 65 72 20 20 20 2e 20 38 32 32 35 29 0a 20 20 20 20 28 62 75 6c 6c 20 20 20 20 20 2e 20 agger.....8225).....(bull.......
fb7a0 38 32 32 36 29 0a 20 20 20 20 28 68 65 6c 6c 69 70 20 20 20 2e 20 38 32 33 30 29 0a 20 20 20 20 8226).....(hellip.....8230).....
fb7c0 28 70 65 72 6d 69 6c 20 20 20 2e 20 38 32 34 30 29 0a 20 20 20 20 28 70 72 69 6d 65 20 20 20 20 (permil.....8240).....(prime....
fb7e0 2e 20 38 32 34 32 29 0a 20 20 20 20 28 50 72 69 6d 65 20 20 20 20 2e 20 38 32 34 33 29 0a 20 20 ..8242).....(Prime......8243)...
fb800 20 20 28 6c 73 61 71 75 6f 20 20 20 2e 20 38 32 34 39 29 0a 20 20 20 20 28 72 73 61 71 75 6f 20 ..(lsaquo.....8249).....(rsaquo.
fb820 20 20 2e 20 38 32 35 30 29 0a 20 20 20 20 28 6f 6c 69 6e 65 20 20 20 20 2e 20 38 32 35 34 29 0a ....8250).....(oline......8254).
fb840 20 20 20 20 28 66 72 61 73 6c 20 20 20 20 2e 20 38 32 36 30 29 0a 20 20 20 20 28 65 75 72 6f 20 ....(frasl......8260).....(euro.
fb860 20 20 20 20 2e 20 38 33 36 34 29 0a 20 20 20 20 28 69 6d 61 67 65 20 20 20 20 2e 20 38 34 36 35 ......8364).....(image......8465
fb880 29 0a 20 20 20 20 28 77 65 69 65 72 70 20 20 20 2e 20 38 34 37 32 29 0a 20 20 20 20 28 72 65 61 ).....(weierp.....8472).....(rea
fb8a0 6c 20 20 20 20 20 2e 20 38 34 37 36 29 0a 20 20 20 20 28 74 72 61 64 65 20 20 20 20 2e 20 38 34 l.......8476).....(trade......84
fb8c0 38 32 29 0a 20 20 20 20 28 61 6c 65 66 73 79 6d 20 20 2e 20 38 35 30 31 29 0a 20 20 20 20 28 6c 82).....(alefsym....8501).....(l
fb8e0 61 72 72 20 20 20 20 20 2e 20 38 35 39 32 29 0a 20 20 20 20 28 75 61 72 72 20 20 20 20 20 2e 20 arr.......8592).....(uarr.......
fb900 38 35 39 33 29 0a 20 20 20 20 28 72 61 72 72 20 20 20 20 20 2e 20 38 35 39 34 29 0a 20 20 20 20 8593).....(rarr.......8594).....
fb920 28 64 61 72 72 20 20 20 20 20 2e 20 38 35 39 35 29 0a 20 20 20 20 28 68 61 72 72 20 20 20 20 20 (darr.......8595).....(harr.....
fb940 2e 20 38 35 39 36 29 0a 20 20 20 20 28 63 72 61 72 72 20 20 20 20 2e 20 38 36 32 39 29 0a 20 20 ..8596).....(crarr......8629)...
fb960 20 20 28 6c 41 72 72 20 20 20 20 20 2e 20 38 36 35 36 29 0a 20 20 20 20 28 75 41 72 72 20 20 20 ..(lArr.......8656).....(uArr...
fb980 20 20 2e 20 38 36 35 37 29 0a 20 20 20 20 28 72 41 72 72 20 20 20 20 20 2e 20 38 36 35 38 29 0a ....8657).....(rArr.......8658).
fb9a0 20 20 20 20 28 64 41 72 72 20 20 20 20 20 2e 20 38 36 35 39 29 0a 20 20 20 20 28 68 41 72 72 20 ....(dArr.......8659).....(hArr.
fb9c0 20 20 20 20 2e 20 38 36 36 30 29 0a 20 20 20 20 28 66 6f 72 61 6c 6c 20 20 20 2e 20 38 37 30 34 ......8660).....(forall.....8704
fb9e0 29 0a 20 20 20 20 28 70 61 72 74 20 20 20 20 20 2e 20 38 37 30 36 29 0a 20 20 20 20 28 65 78 69 ).....(part.......8706).....(exi
fba00 73 74 20 20 20 20 2e 20 38 37 30 37 29 0a 20 20 20 20 28 65 6d 70 74 79 20 20 20 20 2e 20 38 37 st......8707).....(empty......87
fba20 30 39 29 0a 20 20 20 20 28 6e 61 62 6c 61 20 20 20 20 2e 20 38 37 31 31 29 0a 20 20 20 20 28 69 09).....(nabla......8711).....(i
fba40 73 69 6e 20 20 20 20 20 2e 20 38 37 31 32 29 0a 20 20 20 20 28 6e 6f 74 69 6e 20 20 20 20 2e 20 sin.......8712).....(notin......
fba60 38 37 31 33 29 0a 20 20 20 20 28 6e 69 20 20 20 20 20 20 20 2e 20 38 37 31 35 29 0a 20 20 20 20 8713).....(ni.........8715).....
fba80 28 70 72 6f 64 20 20 20 20 20 2e 20 38 37 31 39 29 0a 20 20 20 20 28 73 75 6d 20 20 20 20 20 20 (prod.......8719).....(sum......
fbaa0 2e 20 38 37 32 31 29 0a 20 20 20 20 28 6d 69 6e 75 73 20 20 20 20 2e 20 38 37 32 32 29 0a 20 20 ..8721).....(minus......8722)...
fbac0 20 20 28 6c 6f 77 61 73 74 20 20 20 2e 20 38 37 32 37 29 0a 20 20 20 20 28 72 61 64 69 63 20 20 ..(lowast.....8727).....(radic..
fbae0 20 20 2e 20 38 37 33 30 29 0a 20 20 20 20 28 70 72 6f 70 20 20 20 20 20 2e 20 38 37 33 33 29 0a ....8730).....(prop.......8733).
fbb00 20 20 20 20 28 69 6e 66 69 6e 20 20 20 20 2e 20 38 37 33 34 29 0a 20 20 20 20 28 61 6e 67 20 20 ....(infin......8734).....(ang..
fbb20 20 20 20 20 2e 20 38 37 33 36 29 0a 20 20 20 20 28 61 6e 64 20 20 20 20 20 20 2e 20 38 37 34 33 ......8736).....(and........8743
fbb40 29 0a 20 20 20 20 28 6f 72 20 20 20 20 20 20 20 2e 20 38 37 34 34 29 0a 20 20 20 20 28 63 61 70 ).....(or.........8744).....(cap
fbb60 20 20 20 20 20 20 2e 20 38 37 34 35 29 0a 20 20 20 20 28 63 75 70 20 20 20 20 20 20 2e 20 38 37 ........8745).....(cup........87
fbb80 34 36 29 0a 20 20 20 20 28 69 6e 74 20 20 20 20 20 20 2e 20 38 37 34 37 29 0a 20 20 20 20 28 74 46).....(int........8747).....(t
fbba0 68 65 72 65 34 20 20 20 2e 20 38 37 35 36 29 0a 20 20 20 20 28 73 69 6d 20 20 20 20 20 20 2e 20 here4.....8756).....(sim........
fbbc0 38 37 36 34 29 0a 20 20 20 20 28 63 6f 6e 67 20 20 20 20 20 2e 20 38 37 37 33 29 0a 20 20 20 20 8764).....(cong.......8773).....
fbbe0 28 61 73 79 6d 70 20 20 20 20 2e 20 38 37 37 36 29 0a 20 20 20 20 28 6e 65 20 20 20 20 20 20 20 (asymp......8776).....(ne.......
fbc00 2e 20 38 38 30 30 29 0a 20 20 20 20 28 65 71 75 69 76 20 20 20 20 2e 20 38 38 30 31 29 0a 20 20 ..8800).....(equiv......8801)...
fbc20 20 20 28 6c 65 20 20 20 20 20 20 20 2e 20 38 38 30 34 29 0a 20 20 20 20 28 67 65 20 20 20 20 20 ..(le.........8804).....(ge.....
fbc40 20 20 2e 20 38 38 30 35 29 0a 20 20 20 20 28 73 75 62 20 20 20 20 20 20 2e 20 38 38 33 34 29 0a ....8805).....(sub........8834).
fbc60 20 20 20 20 28 73 75 70 20 20 20 20 20 20 2e 20 38 38 33 35 29 0a 20 20 20 20 28 6e 73 75 62 20 ....(sup........8835).....(nsub.
fbc80 20 20 20 20 2e 20 38 38 33 36 29 0a 20 20 20 20 28 73 75 62 65 20 20 20 20 20 2e 20 38 38 33 38 ......8836).....(sube.......8838
fbca0 29 0a 20 20 20 20 28 73 75 70 65 20 20 20 20 20 2e 20 38 38 33 39 29 0a 20 20 20 20 28 6f 70 6c ).....(supe.......8839).....(opl
fbcc0 75 73 20 20 20 20 2e 20 38 38 35 33 29 0a 20 20 20 20 28 6f 74 69 6d 65 73 20 20 20 2e 20 38 38 us......8853).....(otimes.....88
fbce0 35 35 29 0a 20 20 20 20 28 70 65 72 70 20 20 20 20 20 2e 20 38 38 36 39 29 0a 20 20 20 20 28 73 55).....(perp.......8869).....(s
fbd00 64 6f 74 20 20 20 20 20 2e 20 38 39 30 31 29 0a 20 20 20 20 28 6c 63 65 69 6c 20 20 20 20 2e 20 dot.......8901).....(lceil......
fbd20 38 39 36 38 29 0a 20 20 20 20 28 72 63 65 69 6c 20 20 20 20 2e 20 38 39 36 39 29 0a 20 20 20 20 8968).....(rceil......8969).....
fbd40 28 6c 66 6c 6f 6f 72 20 20 20 2e 20 38 39 37 30 29 0a 20 20 20 20 28 72 66 6c 6f 6f 72 20 20 20 (lfloor.....8970).....(rfloor...
fbd60 2e 20 38 39 37 31 29 0a 20 20 20 20 28 6c 61 6e 67 20 20 20 20 20 2e 20 39 30 30 31 29 0a 20 20 ..8971).....(lang.......9001)...
fbd80 20 20 28 72 61 6e 67 20 20 20 20 20 2e 20 39 30 30 32 29 0a 20 20 20 20 28 6c 6f 7a 20 20 20 20 ..(rang.......9002).....(loz....
fbda0 20 20 2e 20 39 36 37 34 29 0a 20 20 20 20 28 73 70 61 64 65 73 20 20 20 2e 20 39 38 32 34 29 0a ....9674).....(spades.....9824).
fbdc0 20 20 20 20 28 63 6c 75 62 73 20 20 20 20 2e 20 39 38 32 37 29 0a 20 20 20 20 28 68 65 61 72 74 ....(clubs......9827).....(heart
fbde0 73 20 20 20 2e 20 39 38 32 39 29 0a 20 20 20 20 28 64 69 61 6d 73 20 20 20 20 2e 20 39 38 33 30 s.....9829).....(diams......9830
fbe00 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 68 74 6d 6c 2d 63 68 61 72 2d 65 6e )))..(defun.racket--html-char-en
fbe20 74 69 74 79 2d 73 79 6d 62 6f 6c 2d 3e 73 74 72 69 6e 67 20 28 73 79 6d 29 0a 20 20 22 48 54 4d tity-symbol->string.(sym)..."HTM
fbe40 4c 20 65 6e 74 69 74 79 20 73 79 6d 62 6f 6c 73 20 74 6f 20 73 74 72 69 6e 67 73 2e 0a 46 72 6f L.entity.symbols.to.strings..Fro
fbe60 6d 20 3c 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 47 4e 4f 4d 45 2f 6c 69 62 78 m.<https://github.com/GNOME/libx
fbe80 6d 6c 32 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f 48 54 4d 4c 70 61 72 73 65 72 2e 63 3e 2e 22 0a ml2/blob/master/HTMLparser.c>.".
fbea0 20 20 28 73 74 72 69 6e 67 20 28 6f 72 20 28 63 64 72 20 28 61 73 73 71 20 73 79 6d 20 72 61 63 ..(string.(or.(cdr.(assq.sym.rac
fbec0 6b 65 74 2d 2d 68 74 6d 6c 2d 63 68 61 72 2d 65 6e 74 69 74 69 65 73 29 29 0a 20 20 20 20 20 20 ket--html-char-entities)).......
fbee0 20 20 20 20 20 20 20 20 3f 3f 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d ........??)))..(provide.'racket-
fbf00 73 63 72 69 62 62 6c 65 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d 73 63 72 69 62 62 6c 65 2e 65 6c scribble)..;;.racket-scribble.el
fbf20 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ends.here......................
fbf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fbf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fbf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fbfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fbfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fbfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc000 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
fc020 72 61 63 6b 65 74 2d 64 6f 63 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-doc.el...................
fc040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
fc080 30 30 30 35 32 36 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 32 31 30 00 20 30 00 00 00 0005261.00000000000.016210..0...
fc0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
fc120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
fc140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc200 3b 3b 3b 20 72 61 63 6b 65 74 2d 64 6f 63 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 ;;;.racket-doc.el.-*-.lexical-bi
fc220 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 nding:.t.-*-..;;.Copyright.(c).2
fc240 30 32 30 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 3b 3b 20 50 6f 72 74 020.by.Greg.Hendershott..;;.Port
fc260 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d 31 39 38 36 2c 20 31 39 ions.Copyright.(C).1985-1986,.19
fc280 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 99-2013.Free.Software.Foundation
fc2a0 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 ,.Inc...;;.Author:.Greg.Hendersh
fc2c0 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 ott.;;.URL:.https://github.com/g
fc2e0 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 0a 3b 3b 20 53 reghendershott/racket-mode..;;.S
fc300 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d PDX-License-Identifier:.GPL-3.0-
fc320 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 75 72 6c 2d 75 74 69 6c 29 0a 28 72 or-later..(require.'url-util).(r
fc340 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 29 0a 28 72 65 71 75 equire.'racket-browse-url).(requ
fc360 69 72 65 20 27 72 61 63 6b 65 74 2d 63 6d 64 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 ire.'racket-cmd).(require.'racke
fc380 74 2d 63 75 73 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 t-custom).(require.'racket-util)
fc3a0 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 0a 28 64 65 63 .(require.'racket-back-end).(dec
fc3c0 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 72 61 63 6b 65 74 2d 2d 72 65 70 6c 2d 73 65 73 73 69 lare-function.racket--repl-sessi
fc3e0 6f 6e 2d 69 64 20 22 72 61 63 6b 65 74 2d 72 65 70 6c 2e 65 6c 22 20 28 29 29 0a 0a 28 64 65 66 on-id."racket-repl.el".())..(def
fc400 75 6e 20 72 61 63 6b 65 74 2d 2d 64 6f 63 2d 61 73 73 65 72 74 2d 6c 6f 63 61 6c 2d 62 61 63 6b un.racket--doc-assert-local-back
fc420 2d 65 6e 64 20 28 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d -end.()...(unless.(racket--back-
fc440 65 6e 64 2d 6c 6f 63 61 6c 2d 70 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 43 61 end-local-p).....(user-error."Ca
fc460 6e 6e 6f 74 20 75 73 65 20 77 65 62 20 62 72 6f 77 73 65 72 20 74 6f 20 62 72 6f 77 73 65 20 72 nnot.use.web.browser.to.browse.r
fc480 65 6d 6f 74 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3b 20 69 6e 73 74 65 61 64 20 75 73 65 emote.documentation;.instead.use
fc4a0 20 60 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 27 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 .`racket-describe'")))..(defun.r
fc4c0 61 63 6b 65 74 2d 2d 64 6f 63 20 28 70 72 65 66 69 78 20 68 6f 77 20 63 6f 6d 70 6c 65 74 69 6f acket--doc.(prefix.how.completio
fc4e0 6e 73 29 0a 20 20 22 41 20 68 65 6c 70 65 72 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 78 70 2d 64 ns)..."A.helper.for.`racket-xp-d
fc500 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 27 20 61 6e 64 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 ocumentation'.and.`racket-repl-d
fc520 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 65 61 72 63 68 2d ocumentation'."...(let.((search-
fc540 70 20 28 65 71 75 61 6c 20 70 72 65 66 69 78 20 27 28 31 36 29 29 29 29 0a 20 20 20 20 28 70 63 p.(equal.prefix.'(16)))).....(pc
fc560 61 73 65 20 28 72 61 63 6b 65 74 2d 2d 73 79 6d 62 6f 6c 2d 61 74 2d 70 6f 69 6e 74 2d 6f 72 2d ase.(racket--symbol-at-point-or-
fc580 70 72 6f 6d 70 74 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 prompt.prefix...................
fc5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 44 6f 63 ............................"Doc
fc5c0 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 umentation.for:."...............
fc5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fc600 28 75 6e 6c 65 73 73 20 73 65 61 72 63 68 2d 70 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 0a 20 20 (unless.search-p.completions)...
fc620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fc640 20 20 20 20 20 20 20 20 20 20 20 20 73 65 61 72 63 68 2d 70 29 0a 20 20 20 20 20 20 28 28 61 6e ............search-p).......((an
fc660 64 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 20 73 74 72 29 0a 20 20 20 20 20 20 20 28 69 66 d.(pred.stringp).str)........(if
fc680 20 73 65 61 72 63 68 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 73 65 .search-p............(racket--se
fc6a0 61 72 63 68 2d 64 6f 63 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d arch-doc.str)..........(racket--
fc6c0 64 6f 63 2d 61 73 73 65 72 74 2d 6c 6f 63 61 6c 2d 62 61 63 6b 2d 65 6e 64 29 0a 20 20 20 20 20 doc-assert-local-back-end)......
fc6e0 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 64 6f 63 2d 63 6f 6d 6d 61 6e 64 20 28 77 68 65 6e 20 28 ....(racket--doc-command.(when.(
fc700 65 71 20 68 6f 77 20 27 6e 61 6d 65 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 eq.how.'namespace)..............
fc720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 72 65 70 6c ...................(racket--repl
fc740 2d 73 65 73 73 69 6f 6e 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -session-id))...................
fc760 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............how.................
fc780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 ..............str))))))..(defun.
fc7a0 72 61 63 6b 65 74 2d 2d 64 6f 63 2d 63 6f 6d 6d 61 6e 64 20 28 72 65 70 6c 2d 73 65 73 73 69 6f racket--doc-command.(repl-sessio
fc7c0 6e 2d 69 64 20 68 6f 77 20 73 74 72 29 0a 20 20 22 41 20 68 65 6c 70 65 72 20 66 6f 72 20 60 72 n-id.how.str)..."A.helper.for.`r
fc7e0 61 63 6b 65 74 2d 2d 64 6f 63 27 2c 20 60 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 acket--doc',.`racket-xp-describe
fc800 27 2c 20 61 6e 64 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 65 27 2e 0a 0a ',.and.`racket-repl-describe'...
fc820 43 65 6e 74 72 61 6c 69 7a 65 73 20 68 6f 77 20 74 6f 20 69 73 73 75 65 20 64 6f 63 20 63 6f 6d Centralizes.how.to.issue.doc.com
fc840 6d 61 6e 64 20 61 6e 64 20 68 61 6e 64 6c 65 20 72 65 73 70 6f 6e 73 65 20 63 6f 72 72 65 63 74 mand.and.handle.response.correct
fc860 6c 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 68 6f 77 20 28 72 61 63 6b 65 74 2d 68 6f 77 2d 66 72 ly."...(let.((how.(racket-how-fr
fc880 6f 6e 74 2d 74 6f 2d 62 61 63 6b 20 68 6f 77 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d ont-to-back.how))).....(racket--
fc8a0 63 6d 64 2f 61 73 79 6e 63 20 72 65 70 6c 2d 73 65 73 73 69 6f 6e 2d 69 64 0a 20 20 20 20 20 20 cmd/async.repl-session-id.......
fc8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 64 6f 63 20 2c 68 6f 77 20 2c 73 74 72 .................`(doc.,how.,str
fc8e0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 )........................(lambda
fc900 20 28 6d 61 79 62 65 2d 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(maybe-url)....................
fc920 20 20 20 20 20 20 28 69 66 20 6d 61 79 62 65 2d 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......(if.maybe-url.............
fc940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d .................(racket-browse-
fc960 75 72 6c 20 6d 61 79 62 65 2d 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 url.maybe-url)..................
fc980 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 73 65 61 72 63 68 2d 64 6f 63 20 73 74 ..........(racket--search-doc.st
fc9a0 72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 65 61 72 63 68 2d 64 r))))))..(defun.racket--search-d
fc9c0 6f 63 20 28 73 74 72 29 0a 20 20 22 53 65 61 72 63 68 20 64 6f 63 73 20 77 68 65 72 65 20 74 68 oc.(str)..."Search.docs.where.th
fc9e0 65 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e e.variable.`racket-documentation
fca00 2d 73 65 61 72 63 68 2d 6c 6f 63 61 74 69 6f 6e 27 20 73 61 79 73 2e 22 0a 20 20 28 70 63 61 73 -search-location'.says."...(pcas
fca20 65 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f e.racket-documentation-search-lo
fca40 63 61 74 69 6f 6e 0a 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 20 cation.....((and.(pred.stringp).
fca60 75 72 6c 29 20 28 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 20 28 66 6f 72 6d 61 74 20 url).(racket-browse-url.(format.
fca80 75 72 6c 20 28 75 72 6c 2d 68 65 78 69 66 79 2d 73 74 72 69 6e 67 20 73 74 72 29 29 29 29 0a 20 url.(url-hexify-string.str))))..
fcaa0 20 20 20 28 27 6c 6f 63 61 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 ...('local...................(ra
fcac0 63 6b 65 74 2d 2d 73 65 61 72 63 68 2d 64 6f 63 2d 6c 6f 63 61 6c 6c 79 20 73 74 72 29 29 0a 20 cket--search-doc-locally.str))..
fcae0 20 20 20 28 5f 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 55 6e 6b 6e 6f 77 6e 20 76 61 6c 75 65 ...(_.(user-error."Unknown.value
fcb00 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 .for.`racket-documentation-searc
fcb20 68 2d 6c 6f 63 61 74 69 6f 6e 27 3a 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h-location':.%s"................
fcb40 20 20 20 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d ....racket-documentation-search-
fcb60 6c 6f 63 61 74 69 6f 6e 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 65 61 location))))..(defun.racket--sea
fcb80 72 63 68 2d 64 6f 63 2d 6c 6f 63 61 6c 6c 79 20 28 73 74 72 29 0a 20 20 28 72 61 63 6b 65 74 2d rch-doc-locally.(str)...(racket-
fcba0 2d 64 6f 63 2d 61 73 73 65 72 74 2d 6c 6f 63 61 6c 2d 62 61 63 6b 2d 65 6e 64 29 0a 20 20 28 63 -doc-assert-local-back-end)...(c
fcbc0 61 6c 6c 2d 70 72 6f 63 65 73 73 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 0a 20 20 20 20 20 all-process.racket-program......
fcbe0 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 3b 49 4e 46 49 4c 45 3a 20 6e 6f 6e 65 0a 20 20 20 ...........nil.;INFILE:.none....
fcc00 20 20 20 20 20 20 20 20 20 20 20 20 20 30 20 20 20 3b 44 45 53 54 49 4e 41 54 49 4f 4e 3a 20 64 .............0...;DESTINATION:.d
fcc20 69 73 63 61 72 64 2f 64 6f 6e 27 74 20 77 61 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 iscard/don't.wait...............
fcc40 20 20 6e 69 6c 20 3b 44 49 53 50 4c 41 59 3a 20 6e 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 ..nil.;DISPLAY:.none............
fcc60 20 20 20 20 20 22 2d 6c 22 20 22 72 61 63 6f 22 20 22 64 6f 63 73 22 20 73 74 72 29 29 0a 0a 28 ....."-l"."raco"."docs".str))..(
fcc80 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 64 6f 63 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 2d provide.'racket-doc)..;;.racket-
fcca0 64 6f 63 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 doc.el.ends.here................
fccc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fce00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
fce20 72 61 63 6b 65 74 2d 62 75 67 2d 72 65 70 6f 72 74 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 racket-bug-report.el............
fce40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fce60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
fce80 30 30 31 32 32 31 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 35 32 37 00 20 30 00 00 00 0012216.00000000000.017527..0...
fcea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcf00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
fcf20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
fcf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fd000 3b 3b 3b 20 72 61 63 6b 65 74 2d 62 75 67 2d 72 65 70 6f 72 74 2e 65 6c 20 2d 2a 2d 20 6c 65 78 ;;;.racket-bug-report.el.-*-.lex
fd020 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 ical-binding:.t;.-*-..;;.Copyrig
fd040 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 33 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 ht.(c).2013-2023.by.Greg.Henders
fd060 68 6f 74 74 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 hott..;;.Portions.Copyright.(C).
fd080 31 39 38 35 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 1985-1986,.1999-2013.Free.Softwa
fd0a0 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 re.Foundation,.Inc...;;.Author:.
fd0c0 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f Greg.Hendershott.;;.URL:.https:/
fd0e0 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b /github.com/greghendershott/rack
fd100 65 74 2d 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 et-mode..;;.SPDX-License-Identif
fd120 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 ier:.GPL-3.0-or-later..(require.
fd140 27 63 6c 2d 6d 61 63 73 29 0a 28 72 65 71 75 69 72 65 20 27 63 75 73 2d 65 64 69 74 29 0a 28 72 'cl-macs).(require.'cus-edit).(r
fd160 65 71 75 69 72 65 20 27 70 61 63 6b 61 67 65 29 0a 28 72 65 71 75 69 72 65 20 27 73 65 71 29 0a equire.'package).(require.'seq).
fd180 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 0a 28 72 65 71 75 (require.'racket-back-end).(requ
fd1a0 69 72 65 20 27 72 61 63 6b 65 74 2d 63 6d 64 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 ire.'racket-cmd).(require.'racke
fd1c0 74 2d 63 75 73 74 6f 6d 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e t-custom)..;;;###autoload.(defun
fd1e0 20 72 61 63 6b 65 74 2d 62 75 67 2d 72 65 70 6f 72 74 20 28 29 0a 20 20 22 46 69 6c 6c 20 61 20 .racket-bug-report.()..."Fill.a.
fd200 62 75 66 66 65 72 20 77 69 74 68 20 64 65 74 61 69 6c 73 20 66 6f 72 20 61 20 52 61 63 6b 65 74 buffer.with.details.for.a.Racket
fd220 20 4d 6f 64 65 20 62 75 67 20 72 65 70 6f 72 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 .Mode.bug.report."...(interactiv
fd240 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 72 e)...(unless.(string-match-p."^r
fd260 61 63 6b 65 74 2d 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6d 61 6a 6f 72 2d 6d 6f 64 65 29 acket-".(symbol-name.major-mode)
fd280 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 50 6c 65 61 73 65 20 72 75 6e 20 66 72 ).....(user-error."Please.run.fr
fd2a0 6f 6d 20 61 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 62 75 66 66 65 72 20 69 6e 20 77 68 69 63 68 om.a.Racket.Mode.buffer.in.which
fd2c0 20 79 6f 75 27 72 65 20 68 61 76 69 6e 67 20 61 20 70 72 6f 62 6c 65 6d 22 29 29 0a 20 20 28 6c .you're.having.a.problem"))...(l
fd2e0 65 74 20 28 28 68 65 6c 70 2d 77 69 6e 64 6f 77 2d 73 65 6c 65 63 74 20 74 29 0a 20 20 20 20 20 et.((help-window-select.t)......
fd300 20 20 20 28 70 72 69 6e 74 2d 6c 65 6e 67 74 68 20 6e 69 6c 29 20 3b 66 6f 72 20 60 70 70 27 0a ...(print-length.nil).;for.`pp'.
fd320 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 2d 6c 65 76 65 6c 20 6e 69 6c 29 29 20 3b 66 6f 72 20 ........(print-level.nil)).;for.
fd340 60 70 70 27 0a 20 20 20 20 28 63 6c 2d 66 6c 65 74 2a 20 28 28 2d 73 65 63 74 69 6f 6e 20 28 6c `pp'.....(cl-flet*.((-section.(l
fd360 61 62 65 6c 20 74 68 75 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 abel.thunk).....................
fd380 20 20 20 20 20 28 70 72 69 6e 63 20 28 66 6f 72 6d 61 74 20 22 3c 68 32 3e 25 73 3c 2f 68 32 3e .....(princ.(format."<h2>%s</h2>
fd3a0 5c 6e 22 20 6c 61 62 65 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \n".label)).....................
fd3c0 20 20 20 20 20 28 70 72 69 6e 63 20 22 3c 64 6c 3e 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 .....(princ."<dl>\n")...........
fd3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 74 68 75 6e 6b 29 0a 20 ...............(funcall.thunk)..
fd400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 22 ........................(princ."
fd420 3c 2f 64 6c 3e 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 6f 77 20 </dl>\n"))................(show.
fd440 28 6c 61 62 65 6c 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (label.value)...................
fd460 20 20 20 28 70 72 69 6e 63 20 28 66 6f 72 6d 61 74 20 22 3c 64 74 3e 25 73 3c 2f 64 74 3e 22 20 ...(princ.(format."<dt>%s</dt>".
fd480 6c 61 62 65 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 label))......................(pr
fd4a0 69 6e 63 20 22 3c 64 64 3e 3c 70 72 65 3e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 inc."<dd><pre>")................
fd4c0 20 20 20 20 20 20 28 70 70 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(pp.value)................
fd4e0 20 20 20 20 20 20 28 70 72 69 6e 63 20 22 3c 2f 70 72 65 3e 3c 2f 64 64 3e 5c 6e 22 29 29 0a 20 ......(princ."</pre></dd>\n"))..
fd500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 6f 77 2d 76 61 72 73 20 28 73 79 6d 73 29 20 ..............(show-vars.(syms).
fd520 28 64 6f 6c 69 73 74 20 28 73 79 6d 20 73 79 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (dolist.(sym.syms)..............
fd540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 ......................(ignore-er
fd560 72 6f 72 73 20 28 73 68 6f 77 20 73 79 6d 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 73 79 6d rors.(show.sym.(symbol-value.sym
fd580 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 2d 6c 65 73 )))))................(symbol-les
fd5a0 73 2d 70 20 28 61 20 62 29 20 28 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 28 73 79 6d 62 6f 6c 2d s-p.(a.b).(string-lessp.(symbol-
fd5c0 6e 61 6d 65 20 61 29 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 62 29 29 29 29 0a 20 20 20 20 20 name.a).(symbol-name.b))))......
fd5e0 20 28 63 6c 2d 6d 61 63 72 6f 6c 65 74 20 28 28 73 65 63 74 69 6f 6e 20 28 74 69 74 6c 65 20 26 .(cl-macrolet.((section.(title.&
fd600 72 65 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rest.body)......................
fd620 20 20 20 20 20 20 20 20 60 28 2d 73 65 63 74 69 6f 6e 20 2c 74 69 74 6c 65 20 28 6c 61 6d 62 64 ........`(-section.,title.(lambd
fd640 61 20 28 29 20 2c 40 62 6f 64 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 68 65 a.().,@body)))).........(with-he
fd660 6c 70 2d 77 69 6e 64 6f 77 20 22 2a 72 61 63 6b 65 74 2d 6d 6f 64 65 20 62 75 67 20 72 65 70 6f lp-window."*racket-mode.bug.repo
fd680 72 74 2a 22 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 22 50 6c 65 61 73 65 20 63 6f rt*"...........(princ."Please.co
fd6a0 70 79 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 69 6e 65 73 20 61 6e py.all.of.the.following.lines.an
fd6c0 64 20 70 61 73 74 65 20 74 68 65 6d 20 69 6e 74 6f 20 79 6f 75 72 20 62 75 67 20 72 65 70 6f 72 d.paste.them.into.your.bug.repor
fd6e0 74 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 22 61 74 20 3c 68 74 74 70 t\n")...........(princ."at.<http
fd700 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 s://github.com/greghendershott/r
fd720 61 63 6b 65 74 2d 6d 6f 64 65 2f 69 73 73 75 65 73 2f 3e 2e 5c 6e 5c 6e 22 29 0a 0a 20 20 20 20 acket-mode/issues/>.\n\n")......
fd740 20 20 20 20 20 20 28 70 72 69 6e 63 20 22 3c 64 65 74 61 69 6c 73 3e 5c 6e 22 29 0a 20 20 20 20 ......(princ."<details>\n").....
fd760 20 20 20 20 20 20 28 73 65 63 74 69 6f 6e 20 22 50 61 63 6b 61 67 65 22 0a 20 20 20 20 20 20 20 ......(section."Package"........
fd780 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 6f 77 20 22 6d 65 74 61 64 61 74 61 22 0a 20 20 20 ............(show."metadata"....
fd7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 20 28 ......................(let.((v.(
fd7c0 61 73 73 71 20 27 72 61 63 6b 65 74 2d 6d 6f 64 65 20 70 61 63 6b 61 67 65 2d 61 6c 69 73 74 29 assq.'racket-mode.package-alist)
fd7e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 ))............................(a
fd800 6e 64 20 76 20 28 63 64 72 20 76 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nd.v.(cdr.v)))).................
fd820 20 20 20 28 73 68 6f 77 2d 76 61 72 73 20 27 28 70 61 63 6b 61 67 65 2d 61 72 63 68 69 76 65 73 ...(show-vars.'(package-archives
fd840 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fd860 20 72 61 63 6b 65 74 2d 2d 65 6c 2d 73 6f 75 72 63 65 2d 64 69 72 0a 20 20 20 20 20 20 20 20 20 .racket--el-source-dir..........
fd880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 72 .......................racket--r
fd8a0 6b 74 2d 73 6f 75 72 63 65 2d 64 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 63 74 kt-source-dir)))...........(sect
fd8c0 69 6f 6e 20 22 53 79 73 74 65 6d 20 76 61 6c 75 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ion."System.values".............
fd8e0 20 20 20 20 20 20 20 28 73 68 6f 77 2d 76 61 72 73 20 27 28 65 6d 61 63 73 2d 76 65 72 73 69 6f .......(show-vars.'(emacs-versio
fd900 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n...............................
fd920 20 20 6d 61 6a 6f 72 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..major-mode....................
fd940 20 20 20 20 20 20 20 20 20 20 20 20 20 73 79 73 74 65 6d 2d 74 79 70 65 0a 20 20 20 20 20 20 20 .............system-type........
fd960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 2d 67 74 6b 2d 75 .........................x-gtk-u
fd980 73 65 2d 73 79 73 74 65 6d 2d 74 6f 6f 6c 74 69 70 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 se-system-tooltips))............
fd9a0 20 20 20 20 20 20 20 20 28 73 68 6f 77 20 27 64 69 73 70 6c 61 79 2d 67 72 61 70 68 69 63 2d 70 ........(show.'display-graphic-p
fd9c0 20 28 64 69 73 70 6c 61 79 2d 67 72 61 70 68 69 63 2d 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 .(display-graphic-p)))..........
fd9e0 20 28 73 65 63 74 69 6f 6e 20 22 42 75 66 66 65 72 20 76 61 6c 75 65 73 22 0a 20 20 20 20 20 20 .(section."Buffer.values".......
fda00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 6f 77 2d 76 61 72 73 20 27 28 61 66 74 65 72 2d .............(show-vars.'(after-
fda20 63 68 61 6e 67 65 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 change-functions................
fda40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 66 6f 72 65 2d 63 68 61 6e 67 65 2d 66 .................before-change-f
fda60 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 unctions........................
fda80 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e .........completion-at-point-fun
fdaa0 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ctions..........................
fdac0 20 20 20 20 20 20 20 65 6c 64 6f 63 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 66 75 6e 63 74 .......eldoc-documentation-funct
fdae0 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion.............................
fdb00 20 20 20 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 65 66 61 75 6c 74 73 0a 20 20 20 20 20 20 20 20 20 ....font-lock-defaults..........
fdb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 2d 63 6f 6d 6d 61 .......................pre-comma
fdb40 6e 64 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nd-hook.........................
fdb60 20 20 20 20 20 20 20 20 70 6f 73 74 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 ........post-command-hook.......
fdb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 74 2d 73 ..........................post-s
fdba0 65 6c 66 2d 69 6e 73 65 72 74 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 elf-insert-hook.................
fdbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e ................xref-backend-fun
fdbe0 63 74 69 6f 6e 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 63 74 69 6f 6e 20 22 52 61 ctions)))...........(section."Ra
fdc00 63 6b 65 74 20 4d 6f 64 65 20 76 61 6c 75 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cket.Mode.values"...............
fdc20 20 20 20 20 20 28 73 68 6f 77 20 27 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6f 70 65 6e 2d 70 20 28 .....(show.'racket--cmd-open-p.(
fdc40 72 61 63 6b 65 74 2d 2d 63 6d 64 2d 6f 70 65 6e 2d 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 racket--cmd-open-p))............
fdc60 20 20 20 20 20 20 20 20 28 73 68 6f 77 2d 76 61 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ........(show-vars..............
fdc80 20 20 20 20 20 20 20 28 73 6f 72 74 20 28 61 70 70 65 6e 64 20 28 72 61 63 6b 65 74 2d 2d 62 75 .......(sort.(append.(racket--bu
fdca0 67 2d 72 65 70 6f 72 74 2d 63 75 73 74 6f 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g-report-customs)...............
fdcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 72 61 63 6b 65 74 2d 6d 6f 64 ....................'(racket-mod
fdce0 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-hook..........................
fdd00 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 ...........racket-hash-lang-mode
fdd20 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -hook...........................
fdd40 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c ..........racket-hash-lang-modul
fdd60 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-language-hook.................
fdd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d ....................racket-repl-
fdda0 6d 6f 64 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mode-hook.......................
fddc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 63 6f ..............racket-back-end-co
fdde0 6e 66 69 67 75 72 61 74 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nfigurations))..................
fde00 20 20 20 20 20 20 20 20 20 23 27 73 79 6d 62 6f 6c 2d 6c 65 73 73 2d 70 29 29 29 0a 20 20 20 20 .........#'symbol-less-p))).....
fde20 20 20 20 20 20 20 28 73 65 63 74 69 6f 6e 20 22 4d 69 6e 6f 72 20 6d 6f 64 65 73 22 0a 20 20 20 ......(section."Minor.modes"....
fde40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6d 69 6e 6f 72 2d 6d 6f ................(let*.((minor-mo
fde60 64 65 73 20 28 73 65 71 2d 75 6e 69 71 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 des.(seq-uniq...................
fde80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 6d 69 ......................(append.mi
fdea0 6e 6f 72 2d 6d 6f 64 65 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nor-mode-list...................
fdec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d ..............................(m
fdee0 61 70 63 61 72 20 23 27 63 61 72 20 6d 69 6e 6f 72 2d 6d 6f 64 65 2d 61 6c 69 73 74 29 29 29 29 apcar.#'car.minor-mode-alist))))
fdf00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 69 6e 6f ...........................(mino
fdf20 72 2d 6d 6f 64 65 73 20 28 73 6f 72 74 20 6d 69 6e 6f 72 2d 6d 6f 64 65 73 20 23 27 73 79 6d 62 r-modes.(sort.minor-modes.#'symb
fdf40 6f 6c 2d 6c 65 73 73 2d 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ol-less-p)).....................
fdf60 20 20 20 20 20 20 28 65 6e 61 62 6c 65 64 20 28 73 65 71 2d 66 69 6c 74 65 72 20 28 6c 61 6d 62 ......(enabled.(seq-filter.(lamb
fdf80 64 61 20 28 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 da.(sym)........................
fdfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 ..........................(when.
fdfc0 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 73 79 6d (ignore-errors.(symbol-value.sym
fdfe0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
fe000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 79 6d 29 29 0a 20 20 20 20 ......................sym)).....
fe020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fe040 20 20 20 20 20 20 20 20 20 20 20 6d 69 6e 6f 72 2d 6d 6f 64 65 73 29 29 0a 20 20 20 20 20 20 20 ...........minor-modes))........
fe060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 73 61 62 6c 65 64 20 28 73 65 ...................(disabled.(se
fe080 71 2d 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 q-filter.(lambda.(sym)..........
fe0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fe0c0 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 .........(unless.(ignore-errors.
fe0e0 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (symbol-value.sym)).............
fe100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fe120 20 20 20 20 20 20 20 20 73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........sym))...................
fe140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 69 ..............................mi
fe160 6e 6f 72 2d 6d 6f 64 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nor-modes)))....................
fe180 20 20 28 73 68 6f 77 20 27 65 6e 61 62 6c 65 64 20 20 28 6d 61 70 63 61 72 20 23 27 6c 69 73 74 ..(show.'enabled..(mapcar.#'list
fe1a0 20 65 6e 61 62 6c 65 64 29 29 20 3b 73 6f 20 70 70 20 6c 69 6e 65 2d 62 72 65 61 6b 73 0a 20 20 .enabled)).;so.pp.line-breaks...
fe1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 22 3c 64 65 74 61 ...................(princ."<deta
fe1e0 69 6c 73 3e 3c 73 75 6d 6d 61 72 79 3e 44 69 73 61 62 6c 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 ils><summary>Disabled.minor.mode
fe200 73 3c 2f 73 75 6d 6d 61 72 79 3e 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s</summary>\n").................
fe220 20 20 20 20 20 28 73 68 6f 77 20 27 64 69 73 61 62 6c 65 64 20 28 6d 61 70 63 61 72 20 23 27 6c .....(show.'disabled.(mapcar.#'l
fe240 69 73 74 20 64 69 73 61 62 6c 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ist.disabled))..................
fe260 20 20 20 20 28 70 72 69 6e 63 20 22 3c 2f 64 65 74 61 69 6c 73 3e 5c 6e 22 29 29 29 0a 20 20 20 ....(princ."</details>\n")))....
fe280 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 22 3c 2f 64 65 74 61 69 6c 73 3e 5c 6e 5c 6e 53 74 65 .......(princ."</details>\n\nSte
fe2a0 70 73 20 74 6f 20 72 65 70 72 6f 64 75 63 65 3a 20 22 29 29 29 29 0a 20 20 20 20 28 66 6f 72 77 ps.to.reproduce:.")))).....(forw
fe2c0 61 72 64 2d 6c 69 6e 65 20 32 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 62 75 ard-line.2)))..(defun.racket--bu
fe2e0 67 2d 72 65 70 6f 72 74 2d 63 75 73 74 6f 6d 73 20 28 29 0a 20 20 28 6c 65 74 20 28 28 73 79 6d g-report-customs.()...(let.((sym
fe300 73 20 6e 69 6c 29 29 0a 20 20 20 20 28 63 6c 2d 6c 61 62 65 6c 73 20 28 28 69 74 65 6d 20 28 76 s.nil)).....(cl-labels.((item.(v
fe320 29 20 28 70 63 61 73 65 20 76 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).(pcase.v......................
fe340 20 20 20 20 20 20 20 28 60 28 2c 73 79 6d 20 63 75 73 74 6f 6d 2d 76 61 72 69 61 62 6c 65 29 20 .......(`(,sym.custom-variable).
fe360 28 70 75 73 68 20 73 79 6d 20 73 79 6d 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (push.sym.syms))................
fe380 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 73 79 6d 20 63 75 73 74 6f 6d 2d 67 72 6f 75 .............(`(,sym.custom-grou
fe3a0 70 29 20 20 20 20 28 67 72 6f 75 70 20 73 79 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 p)....(group.sym))))............
fe3c0 20 20 20 20 20 28 67 72 6f 75 70 20 28 73 79 6d 29 20 28 64 6f 6c 69 73 74 20 28 76 20 28 63 75 .....(group.(sym).(dolist.(v.(cu
fe3e0 73 74 6f 6d 2d 67 72 6f 75 70 2d 6d 65 6d 62 65 72 73 20 73 79 6d 20 6e 69 6c 29 29 0a 20 20 20 stom-group-members.sym.nil))....
fe400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 74 65 ............................(ite
fe420 6d 20 76 29 29 29 29 0a 20 20 20 20 20 20 28 67 72 6f 75 70 20 27 72 61 63 6b 65 74 29 0a 20 20 m.v)))).......(group.'racket)...
fe440 20 20 20 20 73 79 6d 73 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 62 75 ....syms)))..(provide.'racket-bu
fe460 67 2d 72 65 70 6f 72 74 29 0a 0a 3b 3b 3b 20 72 61 63 6b 65 74 2d 62 75 67 2d 72 65 70 6f 72 74 g-report)..;;;.racket-bug-report
fe480 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .el.ends.here...................
fe4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe600 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
fe620 72 61 63 6b 65 74 2d 63 6f 6d 6d 6f 6e 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-common.el................
fe640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
fe680 30 30 33 34 35 37 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 37 34 30 00 20 30 00 00 00 0034570.00000000000.016740..0...
fe6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
fe720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
fe740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe800 3b 3b 3b 20 72 61 63 6b 65 74 2d 63 6f 6d 6d 6f 6e 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c ;;;.racket-common.el.-*-.lexical
fe820 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 -binding:.t;.-*-..;;.Copyright.(
fe840 63 29 20 32 30 31 33 2d 32 30 32 33 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 c).2013-2023.by.Greg.Hendershott
fe860 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 ..;;.Portions.Copyright.(C).1985
fe880 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 -1986,.1999-2013.Free.Software.F
fe8a0 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 oundation,.Inc...;;.Author:.Greg
fe8c0 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 .Hendershott.;;.URL:.https://git
fe8e0 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d hub.com/greghendershott/racket-m
fe900 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a ode..;;.SPDX-License-Identifier:
fe920 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 20 54 68 69 6e 67 73 20 75 73 65 .GPL-3.0-or-later..;;.Things.use
fe940 64 20 62 79 20 62 6f 74 68 20 72 61 63 6b 65 74 2d 6d 6f 64 65 20 61 6e 64 20 72 61 63 6b 65 74 d.by.both.racket-mode.and.racket
fe960 2d 72 65 70 6c 2d 6d 6f 64 65 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 65 78 74 72 61 29 0a -repl-mode..(require.'cl-extra).
fe980 28 72 65 71 75 69 72 65 20 27 74 68 69 6e 67 61 74 70 74 29 0a 28 72 65 71 75 69 72 65 20 27 74 (require.'thingatpt).(require.'t
fe9a0 72 61 6d 70 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 75 73 74 6f 6d 29 0a 28 ramp).(require.'racket-custom).(
fe9c0 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 73 2d 61 6e 64 2d 62 75 69 require.'racket-keywords-and-bui
fe9e0 6c 74 69 6e 73 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 ltins).(require.'racket-font-loc
fea00 6b 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 29 0a 28 72 65 71 k).(require.'racket-indent).(req
fea20 75 69 72 65 20 27 72 61 63 6b 65 74 2d 70 61 72 65 6e 73 29 0a 28 72 65 71 75 69 72 65 20 27 72 uire.'racket-parens).(require.'r
fea40 61 63 6b 65 74 2d 70 70 73 73 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 acket-ppss).(require.'racket-uti
fea60 6c 29 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 61 62 62 72 65 76 2d 74 l)..(defvar.racket-mode-abbrev-t
fea80 61 62 6c 65 20 6e 69 6c 29 0a 28 64 65 66 69 6e 65 2d 61 62 62 72 65 76 2d 74 61 62 6c 65 20 27 able.nil).(define-abbrev-table.'
feaa0 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 61 62 62 72 65 76 2d 74 61 62 6c 65 20 28 29 29 0a 0a 3b 3b racket-mode-abbrev-table.())..;;
feac0 3b 20 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 61 6e 64 20 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 ;.syntax-table.and.syntax-proper
feae0 74 69 7a 65 2d 66 75 6e 63 74 69 6f 6e 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 6d 6f tize-function..(defvar.racket-mo
feb00 64 65 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 0a 20 20 28 6c 65 74 20 28 28 73 74 20 28 6d 61 6b de-syntax-table...(let.((st.(mak
feb20 65 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 29 0a 09 28 69 20 30 29 29 0a 20 20 20 20 3b 3b 20 e-syntax-table))..(i.0)).....;;.
feb40 53 79 6d 62 6f 6c 20 63 6f 6e 73 74 69 74 75 65 6e 74 73 0a 20 20 20 20 28 77 68 69 6c 65 20 28 Symbol.constituents.....(while.(
feb60 3c 20 69 20 3f 30 29 0a 20 20 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 <.i.?0).......(modify-syntax-ent
feb80 72 79 20 69 20 22 5f 20 20 20 22 20 73 74 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 31 ry.i."_...".st).......(setq.i.(1
feba0 2b 20 69 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 3f 39 29 29 0a 20 20 20 20 +.i))).....(setq.i.(1+.?9)).....
febc0 28 77 68 69 6c 65 20 28 3c 20 69 20 3f 41 29 0a 20 20 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 (while.(<.i.?A).......(modify-sy
febe0 6e 74 61 78 2d 65 6e 74 72 79 20 69 20 22 5f 20 20 20 22 20 73 74 29 0a 20 20 20 20 20 20 28 73 ntax-entry.i."_...".st).......(s
fec00 65 74 71 20 69 20 28 31 2b 20 69 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 3f etq.i.(1+.i))).....(setq.i.(1+.?
fec20 5a 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 3f 61 29 0a 20 20 20 20 20 20 28 6d Z)).....(while.(<.i.?a).......(m
fec40 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 69 20 22 5f 20 20 20 22 20 73 74 29 0a odify-syntax-entry.i."_...".st).
fec60 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 29 0a 20 20 20 20 28 73 65 74 71 ......(setq.i.(1+.i))).....(setq
fec80 20 69 20 28 31 2b 20 3f 7a 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 31 32 38 29 .i.(1+.?z)).....(while.(<.i.128)
feca0 0a 20 20 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 69 20 22 5f .......(modify-syntax-entry.i."_
fecc0 20 20 20 22 20 73 74 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 29 0a ...".st).......(setq.i.(1+.i))).
fece0 0a 20 20 20 20 3b 3b 20 57 68 69 74 65 73 70 61 63 65 20 28 65 78 63 65 70 74 20 3f 5c 6e 2c 20 .....;;.Whitespace.(except.?\n,.
fed00 73 65 65 20 62 65 6c 6f 77 20 69 6e 20 63 6f 6d 6d 65 6e 74 20 73 65 63 74 69 6f 6e 29 0a 20 20 see.below.in.comment.section)...
fed20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 5c 74 20 22 20 20 20 20 ..(modify-syntax-entry.?\t."....
fed40 22 20 73 74 29 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f ".st).....(modify-syntax-entry.?
fed60 5c 66 20 22 20 20 20 20 22 20 73 74 29 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 \f."....".st).....(modify-syntax
fed80 2d 65 6e 74 72 79 20 3f 5c 72 20 22 20 20 20 20 22 20 73 74 29 0a 20 20 20 20 28 6d 6f 64 69 66 -entry.?\r."....".st).....(modif
feda0 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 5c 73 20 22 20 20 20 20 22 20 73 74 29 0a 0a 20 y-syntax-entry.?\s."....".st)...
fedc0 20 20 20 3b 3b 20 54 68 65 73 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 64 65 6c 69 6d ...;;.These.characters.are.delim
fede0 69 74 65 72 73 20 62 75 74 20 6f 74 68 65 72 77 69 73 65 20 75 6e 64 65 66 69 6e 65 64 2e 0a 20 iters.but.otherwise.undefined...
fee00 20 20 20 3b 3b 20 42 72 61 63 6b 65 74 73 20 61 6e 64 20 62 72 61 63 65 73 20 62 61 6c 61 6e 63 ...;;.Brackets.and.braces.balanc
fee20 65 20 66 6f 72 20 65 64 69 74 69 6e 67 20 63 6f 6e 76 65 6e 69 65 6e 63 65 2e 0a 20 20 20 20 28 e.for.editing.convenience......(
fee40 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 5c 28 20 22 28 29 20 20 22 20 73 modify-syntax-entry.?\(."()..".s
fee60 74 29 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 5c 29 20 t).....(modify-syntax-entry.?\).
fee80 22 29 28 20 20 22 20 73 74 29 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e ")(..".st).....(modify-syntax-en
feea0 74 72 79 20 3f 5c 5b 20 22 28 5d 20 20 22 20 73 74 29 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 try.?\[."(]..".st).....(modify-s
feec0 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 5c 5d 20 22 29 5b 20 20 22 20 73 74 29 0a 20 20 20 20 28 yntax-entry.?\].")[..".st).....(
feee0 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 7b 20 20 22 28 7d 20 20 22 20 73 modify-syntax-entry.?{.."(}..".s
fef00 74 29 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 7d 20 20 t).....(modify-syntax-entry.?}..
fef20 22 29 7b 20 20 22 20 73 74 29 0a 0a 20 20 20 20 3b 3b 20 4f 74 68 65 72 20 61 74 6f 6d 20 64 65 "){..".st)......;;.Other.atom.de
fef40 6c 69 6d 69 74 65 72 73 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 limiters.....(modify-syntax-entr
fef60 79 20 3f 5c 22 20 22 5c 22 20 20 20 22 20 73 74 29 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 y.?\"."\"...".st).....(modify-sy
fef80 6e 74 61 78 2d 65 6e 74 72 79 20 3f 27 20 20 22 27 20 20 20 22 20 73 74 29 0a 20 20 20 20 28 6d ntax-entry.?'.."'...".st).....(m
fefa0 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 60 20 20 22 27 20 20 20 22 20 73 74 odify-syntax-entry.?`.."'...".st
fefc0 29 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 2c 20 20 22 ).....(modify-syntax-entry.?,.."
fefe0 27 20 20 20 22 20 73 74 29 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 '...".st).....(modify-syntax-ent
ff000 72 79 20 3f 40 20 20 22 27 20 20 20 22 20 73 74 29 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 ry.?@.."'...".st).....(modify-sy
ff020 6e 74 61 78 2d 65 6e 74 72 79 20 3f 5c 5c 20 22 5c 5c 20 20 20 22 20 73 74 29 0a 0a 20 20 20 20 ntax-entry.?\\."\\...".st)......
ff040 3b 3b 20 43 6f 6d 6d 65 6e 74 20 72 65 6c 61 74 65 64 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 ;;.Comment.related.....(modify-s
ff060 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 5c 3b 20 22 3c 20 20 20 22 20 73 74 29 20 3b 6c 69 6e 65 yntax-entry.?\;."<...".st).;line
ff080 20 63 6f 6d 6d 65 6e 74 73 20 62 75 74 20 4e 4f 54 20 73 65 78 70 20 23 3b 0a 20 20 20 20 28 6d .comments.but.NOT.sexp.#;.....(m
ff0a0 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 5c 6e 20 22 3e 20 20 20 22 20 73 74 odify-syntax-entry.?\n.">...".st
ff0c0 29 0a 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 23 20 20 )......(modify-syntax-entry.?#..
ff0e0 22 77 20 31 34 22 20 73 74 29 20 3b 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 70 72 65 66 "w.14".st).;not.necessarily.pref
ff100 69 78 0a 20 20 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 7c 20 20 ix.....(modify-syntax-entry.?|..
ff120 22 5f 20 32 33 62 6e 22 20 73 74 29 0a 0a 20 20 20 20 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 72 "_.23bn".st)......st))..(defun.r
ff140 61 63 6b 65 74 2d 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 69 7a 65 2d 66 75 6e 63 74 69 6f 6e acket-syntax-propertize-function
ff160 20 28 73 74 61 72 74 20 65 6e 64 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 73 74 61 72 74 29 .(start.end)...(goto-char.start)
ff180 0a 20 20 28 72 61 63 6b 65 74 2d 2d 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 69 7a 65 2d 68 65 ...(racket--syntax-propertize-he
ff1a0 72 65 2d 73 74 72 69 6e 67 20 65 6e 64 29 0a 20 20 28 66 75 6e 63 61 6c 6c 0a 20 20 20 28 73 79 re-string.end)...(funcall....(sy
ff1c0 6e 74 61 78 2d 70 72 6f 70 65 72 74 69 7a 65 2d 72 75 6c 65 73 0a 20 20 20 20 3b 3b 20 68 65 72 ntax-propertize-rules.....;;.her
ff1e0 65 20 73 74 72 69 6e 67 73 3a 20 54 68 65 20 6d 61 69 6e 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 e.strings:.The.main.responsibili
ff200 74 79 20 68 65 72 65 20 69 73 20 74 6f 20 73 65 74 20 74 68 65 20 22 7c 22 0a 20 20 20 20 3b 3b ty.here.is.to.set.the."|".....;;
ff220 20 63 68 61 72 20 73 79 6e 74 61 78 20 61 72 6f 75 6e 64 20 74 68 65 20 22 62 6f 64 79 22 20 73 .char.syntax.around.the."body".s
ff240 6f 20 69 74 27 73 20 74 72 65 61 74 65 64 20 61 73 20 61 20 73 74 72 69 6e 67 20 66 6f 72 0a 20 o.it's.treated.as.a.string.for..
ff260 20 20 20 3b 3b 20 69 6e 64 65 6e 74 2c 20 6e 61 76 2c 20 66 6f 6e 74 2d 6c 6f 63 6b 2e 20 54 68 ...;;.indent,.nav,.font-lock..Th
ff280 69 6e 6b 20 6f 66 20 74 68 65 20 5c 6e 20 69 6e 20 23 3c 3c 49 44 5c 6e 20 61 73 20 74 68 65 20 ink.of.the.\n.in.#<<ID\n.as.the.
ff2a0 6f 70 65 6e 0a 20 20 20 20 3b 3b 20 7c 20 71 75 6f 74 65 20 61 6e 64 20 74 68 65 20 5c 6e 20 69 open.....;;.|.quote.and.the.\n.i
ff2c0 6e 20 5e 49 44 5c 6e 20 61 73 20 74 68 65 20 63 6c 6f 73 65 20 7c 20 71 75 6f 74 65 2e 0a 20 20 n.^ID\n.as.the.close.|.quote....
ff2e0 20 20 28 28 72 78 20 22 23 3c 3c 22 20 28 67 72 6f 75 70 20 28 2b 3f 20 28 6e 6f 74 20 28 61 6e ..((rx."#<<".(group.(+?.(not.(an
ff300 79 20 3f 5c 6e 29 29 29 29 20 28 67 72 6f 75 70 20 3f 5c 6e 29 29 0a 20 20 20 20 20 28 32 20 28 y.?\n)))).(group.?\n))......(2.(
ff320 72 61 63 6b 65 74 2d 2d 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 69 7a 65 2d 6f 70 65 6e 2d 68 racket--syntax-propertize-open-h
ff340 65 72 65 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 62 65 67 69 6e ere-string..........(match-begin
ff360 6e 69 6e 67 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 2d 6e ning.0)..........(match-string-n
ff380 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 31 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d o-properties.1)..........(match-
ff3a0 62 65 67 69 6e 6e 69 6e 67 20 32 29 29 29 29 0a 20 20 20 20 28 28 72 78 20 28 73 79 6e 74 61 78 beginning.2)))).....((rx.(syntax
ff3c0 20 73 74 72 69 6e 67 2d 64 65 6c 69 6d 69 74 65 72 29 29 0a 20 20 20 20 20 28 30 20 28 69 67 6e .string-delimiter))......(0.(ign
ff3e0 6f 72 65 20 28 72 61 63 6b 65 74 2d 2d 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 69 7a 65 2d 68 ore.(racket--syntax-propertize-h
ff400 65 72 65 2d 73 74 72 69 6e 67 20 65 6e 64 29 29 29 29 0a 20 20 20 20 3b 3b 20 73 65 78 70 20 63 ere-string.end)))).....;;.sexp.c
ff420 6f 6d 6d 65 6e 74 73 20 73 68 6f 75 6c 64 20 4c 4f 4f 4b 20 6c 69 6b 65 20 63 6f 6d 6d 65 6e 74 omments.should.LOOK.like.comment
ff440 73 20 62 75 74 20 4e 4f 54 20 41 43 54 20 6c 69 6b 65 0a 20 20 20 20 3b 3b 20 63 6f 6d 6d 65 6e s.but.NOT.ACT.like.....;;.commen
ff460 74 73 3a 20 47 69 76 65 20 74 68 65 20 23 3b 20 69 74 73 65 6c 66 20 74 68 65 20 73 79 6e 74 61 ts:.Give.the.#;.itself.the.synta
ff480 78 20 63 6c 61 73 73 20 22 70 72 65 66 69 78 22 20 5b 31 5d 2c 20 62 75 74 0a 20 20 20 20 3b 3b x.class."prefix".[1],.but.....;;
ff4a0 20 61 6c 6c 6f 77 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 78 70 20 74 6f 20 67 65 74 .allow.the.following.sexp.to.get
ff4c0 20 74 68 65 20 75 73 75 61 6c 20 73 79 6e 74 61 78 65 73 2e 20 54 68 61 74 20 77 61 79 0a 20 20 .the.usual.syntaxes..That.way...
ff4e0 20 20 3b 3b 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 69 6e 64 65 6e 74 20 61 6e 64 20 73 65 78 70 ..;;.things.like.indent.and.sexp
ff500 20 6e 61 76 20 77 6f 72 6b 20 77 69 74 68 69 6e 20 74 68 65 20 73 65 78 70 2e 20 4f 6e 6c 79 0a .nav.work.within.the.sexp..Only.
ff520 20 20 20 20 3b 3b 20 66 6f 6e 74 2d 6c 6f 63 6b 20 68 61 6e 64 6c 65 73 20 74 68 65 20 73 65 78 ....;;.font-lock.handles.the.sex
ff540 70 20 73 70 65 63 69 61 6c 6c 79 3b 20 73 65 65 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 p.specially;.see.racket-font-loc
ff560 6b 2e 65 6c 2e 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 5b 31 5d 3a 20 41 6c 74 68 6f 75 67 k.el......;;.....;;.[1]:.Althoug
ff580 68 20 69 74 27 73 20 74 65 6d 70 74 69 6e 67 20 74 6f 20 75 73 65 20 70 75 6e 63 74 75 61 74 69 h.it's.tempting.to.use.punctuati
ff5a0 6f 6e 20 2d 2d 20 73 6f 20 74 68 69 6e 67 73 20 6c 69 6b 65 0a 20 20 20 20 3b 3b 20 60 62 61 63 on.--.so.things.like.....;;.`bac
ff5c0 6b 77 61 72 64 2d 73 65 78 70 27 20 61 6e 64 20 60 72 61 63 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 kward-sexp'.and.`racket-send-las
ff5e0 74 2d 73 65 78 70 27 20 69 67 6e 6f 72 65 20 74 68 65 20 23 3b 20 2d 2d 0a 20 20 20 20 3b 3b 20 t-sexp'.ignore.the.#;.--.....;;.
ff600 74 68 61 74 20 77 6f 75 6c 64 20 6d 65 73 73 20 75 70 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 6f that.would.mess.up.indentation.o
ff620 66 20 74 68 69 6e 67 73 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 73 65 78 70 0a 20 20 20 20 f.things.following.the.sexp.....
ff640 3b 3b 20 63 6f 6d 6d 65 6e 74 2e 20 49 6e 73 74 65 61 64 20 73 70 65 63 69 61 6c 2d 63 61 73 65 ;;.comment..Instead.special-case
ff660 20 60 72 61 63 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 74 2d 73 65 78 70 27 2e 0a 20 20 20 20 28 28 .`racket-send-last-sexp'......((
ff680 72 78 20 22 23 3b 22 29 0a 20 20 20 20 20 28 30 20 22 27 22 29 29 0a 20 20 20 20 3b 3b 20 43 68 rx."#;")......(0."'")).....;;.Ch
ff6a0 61 72 61 63 74 65 72 20 6c 69 74 65 72 61 6c 73 2e 20 53 65 65 3a 0a 20 20 20 20 3b 3b 20 3c 68 aracter.literals..See:.....;;.<h
ff6c0 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 72 65 66 65 ttps://docs.racket-lang.org/refe
ff6e0 72 65 6e 63 65 2f 72 65 61 64 65 72 2e 68 74 6d 6c 23 28 70 61 72 74 2e 5f 70 61 72 73 65 2d 63 rence/reader.html#(part._parse-c
ff700 68 61 72 61 63 74 65 72 29 3e 0a 20 20 20 20 28 28 72 78 20 28 67 72 6f 75 70 20 22 23 5c 5c 22 haracter)>.....((rx.(group."#\\"
ff720 20 28 6f 72 20 22 6e 75 6c 22 20 22 6e 75 6c 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(or."nul"."null"...............
ff740 20 20 20 20 20 20 20 20 20 20 20 20 22 62 61 63 6b 73 70 61 63 65 22 0a 20 20 20 20 20 20 20 20 ............"backspace".........
ff760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 61 62 22 20 22 76 74 61 62 22 0a 20 .................."tab"."vtab"..
ff780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 65 77 6c 69 6e ........................."newlin
ff7a0 65 22 20 22 6c 69 6e 65 66 65 65 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e"."linefeed"...................
ff7c0 20 20 20 20 20 20 20 20 22 70 61 67 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"page"..................
ff7e0 20 20 20 20 20 20 20 20 20 22 72 65 74 75 72 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........."return"...............
ff800 20 20 20 20 20 20 20 20 20 20 20 20 22 73 70 61 63 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ............"space".............
ff820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 75 62 6f 75 74 22 0a 20 20 20 20 20 20 20 20 20 .............."rubout"..........
ff840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 2a 20 33 20 33 20 28 61 6e 79 20 28 3f .................(**.3.3.(any.(?
ff860 30 20 2e 20 3f 37 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0...?7))).......................
ff880 20 20 20 20 28 73 65 71 20 3f 75 20 28 2a 2a 20 31 20 34 20 68 65 78 2d 64 69 67 69 74 29 29 0a ....(seq.?u.(**.1.4.hex-digit)).
ff8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 20 3f ..........................(seq.?
ff8c0 55 20 28 2a 2a 20 31 20 36 20 68 65 78 2d 64 69 67 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 U.(**.1.6.hex-digit))...........
ff8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 79 74 68 69 6e 67 29 29 0a 20 20 20 20 20 ................anything))......
ff900 20 20 20 20 28 6f 72 20 28 6e 6f 74 20 61 6c 70 68 61 62 65 74 69 63 29 20 65 6f 6c 29 29 0a 20 ....(or.(not.alphabetic).eol))..
ff920 20 20 20 20 28 31 20 22 77 22 29 29 0a 20 20 20 20 3b 3b 20 54 72 65 61 74 20 22 63 6f 6d 70 6c ....(1."w")).....;;.Treat."compl
ff940 65 78 22 20 72 65 61 64 65 72 20 6c 69 74 65 72 61 6c 73 20 61 73 20 61 20 73 69 6e 67 6c 65 20 ex".reader.literals.as.a.single.
ff960 73 65 78 70 20 66 6f 72 20 6e 61 76 20 61 6e 64 0a 20 20 20 20 3b 3b 20 69 6e 64 65 6e 74 2c 20 sexp.for.nav.and.....;;.indent,.
ff980 62 79 20 61 6c 73 6f 20 6d 61 72 6b 69 6e 67 20 61 73 20 70 72 65 66 69 78 20 73 79 6e 74 61 78 by.also.marking.as.prefix.syntax
ff9a0 20 74 68 65 20 73 74 75 66 66 20 61 66 74 65 72 20 74 68 65 20 23 2e 0a 20 20 20 20 3b 3b 20 52 .the.stuff.after.the.#......;;.R
ff9c0 61 63 6b 65 74 20 70 72 65 64 65 66 69 6e 65 73 20 72 65 61 64 65 72 20 6c 69 74 65 72 61 6c 73 acket.predefines.reader.literals
ff9e0 20 6c 69 6b 65 20 23 22 22 20 23 72 78 22 22 20 23 70 78 22 22 20 23 68 61 73 68 28 29 0a 20 20 .like.#"".#rx"".#px"".#hash()...
ffa00 20 20 3b 3b 20 23 68 61 73 68 65 71 28 29 20 23 66 78 33 28 30 20 31 20 32 29 20 23 73 28 29 20 ..;;.#hasheq().#fx3(0.1.2).#s().
ffa20 61 6e 64 20 73 6f 20 6f 6e 2e 20 49 20 74 68 69 6e 6b 20 74 68 65 73 65 20 2d 2d 20 70 6c 75 73 and.so.on..I.think.these.--.plus
ffa40 20 61 6e 79 0a 20 20 20 20 3b 3b 20 75 73 65 72 20 64 65 66 69 6e 65 64 20 72 65 61 64 65 72 20 .any.....;;.user.defined.reader.
ffa60 65 78 74 65 6e 73 69 6f 6e 73 20 2d 2d 20 63 61 6e 20 61 6c 6c 20 62 65 20 63 6f 76 65 72 65 64 extensions.--.can.all.be.covered
ffa80 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 3b 3b 20 66 6f 6c 6c 6f 77 69 6e 67 20 67 65 6e 65 72 .with.the.....;;.following.gener
ffaa0 61 6c 20 72 78 2e 20 41 6c 73 6f 20 69 74 20 73 65 65 6d 73 20 73 75 66 66 69 63 69 65 6e 74 20 al.rx..Also.it.seems.sufficient.
ffac0 74 6f 20 6c 6f 6f 6b 20 66 6f 72 20 6a 75 73 74 0a 20 20 20 20 3b 3b 20 74 68 65 20 6f 70 65 6e to.look.for.just.....;;.the.open
ffae0 69 6e 67 20 64 65 6c 69 6d 69 74 65 72 20 2d 2d 20 74 68 65 20 28 20 5b 20 7b 20 6f 72 20 22 20 ing.delimiter.--.the.(.[.{.or.".
ffb00 2d 2d 20 68 65 72 65 2e 0a 20 20 20 20 28 28 72 78 20 28 6e 6f 74 20 28 61 6e 79 20 3f 7c 29 29 --.here......((rx.(not.(any.?|))
ffb20 0a 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 20 3f 23 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..........(group.?#.............
ffb40 20 20 20 20 28 3f 3f 20 28 6e 6f 74 20 28 61 6e 79 20 3f 7c 20 20 20 20 20 20 20 20 3b 6e 6f 74 ....(??.(not.(any.?|........;not
ffb60 20 63 6f 6d 6d 65 6e 74 20 23 33 36 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .comment.#362...................
ffb80 20 20 20 20 20 20 20 20 20 20 20 20 3f 3a 20 20 20 20 20 20 20 20 3b 6e 6f 74 20 6b 65 79 77 6f ............?:........;not.keywo
ffba0 72 64 20 61 72 67 20 23 34 34 38 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rd.arg.#448.....................
ffbc0 20 20 20 20 20 20 20 20 20 20 73 70 61 63 65 20 20 20 20 20 3b 6e 6f 74 20 73 70 61 63 65 20 23 ..........space.....;not.space.#
ffbe0 35 34 36 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 546.............................
ffc00 20 20 3f 5c 5c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 3f 20 ..?\\)).....................(*?.
ffc20 28 6f 72 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 28 73 79 6e 74 61 78 20 77 6f 72 64 (or.(syntax.symbol).(syntax.word
ffc40 29 20 28 73 79 6e 74 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 29 29 0a 20 20 20 20 20 ).(syntax.punctuation)))))......
ffc60 20 20 20 20 28 61 6e 79 20 3f 5c 22 20 3f 5c 28 20 3f 5c 5b 20 3f 5c 7b 29 29 0a 20 20 20 20 20 ....(any.?\".?\(.?\[.?\{))......
ffc80 28 31 20 22 27 22 29 29 0a 20 20 20 20 3b 3b 20 53 79 6e 74 61 78 20 71 75 6f 74 69 6e 67 0a 20 (1."'")).....;;.Syntax.quoting..
ffca0 20 20 20 28 28 72 78 20 3f 23 20 28 6f 72 20 3f 60 20 3f 27 20 3f 2c 29 29 0a 20 20 20 20 20 28 ...((rx.?#.(or.?`.?'.?,))......(
ffcc0 30 20 22 27 22 29 29 0a 20 20 20 20 3b 3b 20 54 72 65 61 74 20 27 7c 73 79 6d 62 6f 6c 20 77 69 0."'")).....;;.Treat.'|symbol.wi
ffce0 74 68 20 73 70 61 63 65 73 7c 20 61 73 20 77 6f 72 64 20 73 79 6e 74 61 78 0a 20 20 20 20 28 28 th.spaces|.as.word.syntax.....((
ffd00 72 78 20 3f 27 20 3f 7c 20 28 2a 3f 20 28 6e 6f 74 20 28 61 6e 79 20 3f 5c 22 20 3f 5c 72 20 3f rx.?'.?|.(*?.(not.(any.?\".?\r.?
ffd20 5c 6e 29 29 29 20 3f 7c 29 0a 20 20 20 20 20 28 30 20 22 77 22 29 29 0a 20 20 20 20 3b 3b 20 54 \n))).?|)......(0."w")).....;;.T
ffd40 72 65 61 74 20 7c 69 64 65 6e 74 69 66 69 65 72 20 77 69 74 68 20 73 70 61 63 65 73 7c 20 2d 2d reat.|identifier.with.spaces|.--
ffd60 20 62 75 74 20 6e 6f 74 20 23 7c 63 6f 6d 6d 65 6e 74 7c 23 20 2d 2d 20 61 73 0a 20 20 20 20 3b .but.not.#|comment|#.--.as.....;
ffd80 3b 20 77 6f 72 64 20 73 79 6e 74 61 78 0a 20 20 20 20 28 28 72 78 20 28 6e 6f 74 20 28 61 6e 79 ;.word.syntax.....((rx.(not.(any
ffda0 20 3f 23 29 29 0a 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 20 3f 7c 20 28 2a 3f 20 28 6e 6f .?#))..........(group.?|.(*?.(no
ffdc0 74 20 28 61 6e 79 20 3f 5c 22 20 3f 5c 72 20 3f 5c 6e 29 29 29 20 3f 7c 29 0a 20 20 20 20 20 20 t.(any.?\".?\r.?\n))).?|).......
ffde0 20 20 20 28 6e 6f 74 20 28 61 6e 79 20 3f 23 29 29 29 0a 20 20 20 20 20 28 31 20 22 77 22 29 29 ...(not.(any.?#)))......(1."w"))
ffe00 29 0a 20 20 20 28 70 6f 69 6e 74 29 0a 20 20 20 65 6e 64 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 )....(point)....end))..(defun.ra
ffe20 63 6b 65 74 2d 2d 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 69 7a 65 2d 6f 70 65 6e 2d 68 65 72 cket--syntax-propertize-open-her
ffe40 65 2d 73 74 72 69 6e 67 20 28 73 74 61 72 74 20 73 74 72 69 6e 67 20 65 6f 6c 29 0a 20 20 22 44 e-string.(start.string.eol)..."D
ffe60 65 74 65 72 6d 69 6e 65 20 74 68 65 20 73 79 6e 74 61 78 20 6f 66 20 74 68 65 20 5c 5c 6e 20 61 etermine.the.syntax.of.the.\\n.a
ffe80 66 74 65 72 20 61 20 23 3c 3c 48 45 52 45 0a 53 54 41 52 54 20 69 73 20 74 68 65 20 70 6f 73 69 fter.a.#<<HERE.START.is.the.posi
ffea0 74 69 6f 6e 20 6f 66 20 23 3c 3c 2e 0a 53 54 52 49 4e 47 20 69 73 20 74 68 65 20 61 63 74 75 61 tion.of.#<<..STRING.is.the.actua
ffec0 6c 20 77 6f 72 64 20 75 73 65 64 20 61 73 20 64 65 6c 69 6d 69 74 65 72 20 28 65 2e 67 2e 20 5c l.word.used.as.delimiter.(e.g..\
ffee0 22 48 45 52 45 5c 22 29 2e 0a 45 4f 4c 20 69 73 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 "HERE\")..EOL.is.the.position.of
fff00 20 74 68 65 20 5c 5c 6e 2e 0a 50 6f 69 6e 74 20 69 73 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e .the.\\n..Point.is.at.the.beginn
fff20 69 6e 67 20 6f 66 20 74 68 65 20 6e 65 78 74 20 6c 69 6e 65 2e 0a 0a 54 68 69 73 20 73 65 74 73 ing.of.the.next.line...This.sets
fff40 20 74 68 65 20 6f 70 65 6e 20 7c 20 73 79 6e 74 61 78 20 61 6e 64 20 73 65 74 73 20 61 20 5c 22 .the.open.|.syntax.and.sets.a.\"
fff60 72 61 63 6b 65 74 2d 68 65 72 65 2d 73 74 72 69 6e 67 5c 22 0a 70 72 6f 70 65 72 74 79 20 77 68 racket-here-string\".property.wh
fff80 6f 73 65 20 76 61 6c 75 65 20 69 73 20 53 54 52 49 4e 47 2e 20 54 68 65 20 63 6c 6f 73 65 20 7c ose.value.is.STRING..The.close.|
fffa0 20 73 79 6e 74 61 78 20 69 73 20 73 65 74 20 62 79 0a 60 72 61 63 6b 65 74 2d 2d 73 79 6e 74 61 .syntax.is.set.by.`racket--synta
fffc0 78 2d 70 72 6f 70 65 72 74 69 7a 65 2d 68 65 72 65 2d 73 74 72 69 6e 67 27 2e 22 0a 20 20 28 75 x-propertize-here-string'."...(u
fffe0 6e 6c 65 73 73 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 nless.(save-excursion...........
100000 20 20 28 6c 65 74 20 28 28 70 70 73 73 20 28 73 79 6e 74 61 78 2d 70 70 73 73 20 73 74 61 72 74 ..(let.((ppss.(syntax-ppss.start
100020 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 72 61 63 6b 65 74 2d 2d 70 )))...............(or.(racket--p
100040 70 73 73 2d 73 74 72 69 6e 67 2d 70 20 70 70 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 pss-string-p.ppss)..............
100060 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 63 6f 6d 6d 65 6e 74 2d 70 20 70 70 73 .....(racket--ppss-comment-p.pps
100080 73 29 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 70 70 73 73 20 28 73 61 76 65 2d 65 78 63 75 s)))).....(let.((ppss.(save-excu
1000a0 72 73 69 6f 6e 20 28 73 79 6e 74 61 78 2d 70 70 73 73 20 65 6f 6c 29 29 29 29 0a 20 20 20 20 20 rsion.(syntax-ppss.eol))))......
1000c0 20 28 69 66 20 28 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 63 6f 6d 6d 65 6e 74 2d 70 20 70 70 73 .(if.(racket--ppss-comment-p.pps
1000e0 73 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 5c 6e 20 6e 6f 74 20 6f 6e 6c 79 20 s)...........;;.The.\n.not.only.
100100 73 74 61 72 74 73 20 74 68 65 20 68 65 72 65 64 6f 63 20 62 75 74 20 61 6c 73 6f 20 63 6c 6f 73 starts.the.heredoc.but.also.clos
100120 65 73 20 61 20 63 6f 6d 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4c 65 74 27 73 es.a.comment............;;.Let's
100140 20 63 6c 6f 73 65 20 74 68 65 20 63 6f 6d 6d 65 6e 74 20 6a 75 73 74 20 62 65 66 6f 72 65 20 74 .close.the.comment.just.before.t
100160 68 65 20 5c 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 he.\n............(put-text-prope
100180 72 74 79 20 28 31 2d 20 65 6f 6c 29 20 65 6f 6c 20 27 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 27 rty.(1-.eol).eol.'syntax-table.'
1001a0 28 31 32 29 29 29 20 3b 22 3e 22 0a 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 72 61 63 6b 65 (12))).;">".......(if.(or.(racke
1001c0 74 2d 2d 70 70 73 73 2d 71 75 6f 74 65 2d 70 20 70 70 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 t--ppss-quote-p.ppss)...........
1001e0 20 20 20 20 28 3c 20 31 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 73 74 61 72 74 20 65 6f 6c 29 ....(<.1.(count-lines.start.eol)
100200 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 77 65 20 6d 61 74 63 68 65 64 20 73 65 ))...........;;.If.we.matched.se
100220 76 65 72 61 6c 20 6c 69 6e 65 73 2c 20 6d 61 6b 65 20 73 75 72 65 20 77 65 20 72 65 66 6f 6e 74 veral.lines,.make.sure.we.refont
100240 69 66 79 20 74 68 65 6d 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 6f 67 65 74 68 65 72 2e 20 ify.them...........;;.together..
100260 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 69 66 20 74 68 65 20 5c 6e 20 69 73 20 71 75 6f 74 65 64 Furthermore,.if.the.\n.is.quoted
100280 2c 20 69 74 20 6d 65 61 6e 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 69 67 68 ,.it.means.the...........;;.righ
1002a0 74 20 5c 6e 20 69 73 20 61 63 74 75 61 6c 6c 79 20 66 75 72 74 68 65 72 20 64 6f 77 6e 2e 20 44 t.\n.is.actually.further.down..D
1002c0 6f 6e 27 74 20 62 6f 74 68 65 72 20 66 69 78 69 6e 67 20 69 74 0a 20 20 20 20 20 20 20 20 20 20 on't.bother.fixing.it...........
1002e0 3b 3b 20 6e 6f 77 2c 20 62 75 74 20 70 6c 61 63 65 20 61 20 6d 75 6c 74 69 6c 69 6e 65 20 70 72 ;;.now,.but.place.a.multiline.pr
100300 6f 70 65 72 74 79 20 73 6f 20 74 68 61 74 20 77 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b operty.so.that.when...........;;
100320 20 6a 69 74 2d 6c 6f 63 6b 2d 63 6f 6e 74 65 78 74 2d 2a 20 72 65 66 6f 6e 74 69 66 69 65 73 20 .jit-lock-context-*.refontifies.
100340 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2c 20 69 74 0a 20 20 20 20 20 the.rest.of.the.buffer,.it......
100360 20 20 20 20 20 3b 3b 20 61 6c 73 6f 20 72 65 66 6f 6e 74 69 66 69 65 73 20 74 68 65 20 63 75 72 .....;;.also.refontifies.the.cur
100380 72 65 6e 74 20 6c 69 6e 65 20 77 69 74 68 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 rent.line.with.it............(pu
1003a0 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 73 74 61 72 74 20 28 31 2b 20 65 6f 6c 29 20 27 t-text-property.start.(1+.eol).'
1003c0 73 79 6e 74 61 78 2d 6d 75 6c 74 69 6c 69 6e 65 20 74 29 29 0a 20 20 20 20 20 20 28 70 75 74 2d syntax-multiline.t)).......(put-
1003e0 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 65 6f 6c 20 28 31 2b 20 65 6f 6c 29 20 27 72 61 63 6b text-property.eol.(1+.eol).'rack
100400 65 74 2d 68 65 72 65 2d 73 74 72 69 6e 67 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 28 67 6f et-here-string.string).......(go
100420 74 6f 2d 63 68 61 72 20 28 2b 20 33 20 73 74 61 72 74 29 29 0a 20 20 20 20 20 20 28 73 74 72 69 to-char.(+.3.start)).......(stri
100440 6e 67 2d 74 6f 2d 73 79 6e 74 61 78 20 22 7c 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 ng-to-syntax."|"))))..(defun.rac
100460 6b 65 74 2d 2d 73 79 6e 74 61 78 2d 70 72 6f 70 65 72 74 69 7a 65 2d 68 65 72 65 2d 73 74 72 69 ket--syntax-propertize-here-stri
100480 6e 67 20 28 65 6e 64 29 0a 20 20 22 49 66 20 69 6e 20 61 20 68 65 72 65 20 73 74 72 69 6e 67 20 ng.(end)..."If.in.a.here.string.
1004a0 74 68 61 74 20 65 6e 64 73 20 62 65 66 6f 72 65 20 45 4e 44 2c 20 61 64 64 20 7c 20 73 79 6e 74 that.ends.before.END,.add.|.synt
1004c0 61 78 20 66 6f 72 20 69 74 73 20 63 6c 6f 73 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 70 73 73 ax.for.its.close."...(let.((ppss
1004e0 20 28 73 79 6e 74 61 78 2d 70 70 73 73 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 28 .(syntax-ppss))).....(when.(eq.(
100500 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 73 74 72 69 6e 67 2d 70 20 70 70 73 73 29 20 74 29 20 3b racket--ppss-string-p.ppss).t).;
100520 74 20 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 3f 22 20 6f 72 20 3f 27 0a 20 20 20 20 20 20 28 t.as.opposed.to.?".or.?'.......(
100540 6c 65 74 20 28 28 6b 65 79 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 72 61 let.((key.(get-text-property.(ra
100560 63 6b 65 74 2d 2d 70 70 73 73 2d 73 74 72 69 6e 67 2f 63 6f 6d 6d 65 6e 74 2d 73 74 61 72 74 20 cket--ppss-string/comment-start.
100580 70 70 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ppss)...........................
1005a0 20 20 20 20 20 20 20 20 20 20 27 72 61 63 6b 65 74 2d 68 65 72 65 2d 73 74 72 69 6e 67 29 29 29 ..........'racket-here-string)))
1005c0 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 6b 65 79 0a 20 20 20 20 20 20 20 20 .........(when.(and.key.........
1005e0 20 20 20 20 20 20 20 20 20 20 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 28 63 ...........(re-search-forward.(c
100600 6f 6e 63 61 74 20 22 5e 22 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 6b 65 79 29 20 22 5c 5c oncat."^".(regexp-quote.key)."\\
100620 28 5c 6e 5c 5c 29 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (\n\\)")........................
100640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 ...............end.t))..........
100660 20 28 6c 65 74 20 28 28 65 6f 6c 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 31 29 29 .(let.((eol.(match-beginning.1))
100680 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 ).............(put-text-property
1006a0 20 65 6f 6c 20 28 31 2b 20 65 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .eol.(1+.eol)...................
1006c0 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 79 6e 74 61 78 2d 74 61 62 6c 65 0a 20 20 20 20 20 .............'syntax-table......
1006e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e ..........................(strin
100700 67 2d 74 6f 2d 73 79 6e 74 61 78 20 22 7c 22 29 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 49 6e 73 g-to-syntax."|"))))))))..;;;.Ins
100720 65 72 74 20 6c 61 6d 62 64 61 20 63 68 61 72 20 28 6c 69 6b 65 20 44 72 52 61 63 6b 65 74 29 0a ert.lambda.char.(like.DrRacket).
100740 0a 28 64 65 66 63 6f 6e 73 74 20 72 61 63 6b 65 74 2d 6c 61 6d 62 64 61 2d 63 68 61 72 20 28 6d .(defconst.racket-lambda-char.(m
100760 61 6b 65 2d 63 68 61 72 20 27 67 72 65 65 6b 2d 69 73 6f 38 38 35 39 2d 37 20 31 30 37 29 0a 20 ake-char.'greek-iso8859-7.107)..
100780 20 22 43 68 61 72 61 63 74 65 72 20 69 6e 73 65 72 74 65 64 20 62 79 20 60 72 61 63 6b 65 74 2d ."Character.inserted.by.`racket-
1007a0 69 6e 73 65 72 74 2d 6c 61 62 6d 64 61 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 insert-labmda'.")..(defun.racket
1007c0 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 20 28 29 0a 20 20 22 49 6e 73 65 72 74 20 ce bb 2e 0a -insert-lambda.()..."Insert.....
1007e0 0a 54 6f 20 69 6e 73 65 72 74 20 55 6e 69 63 6f 64 65 20 73 79 6d 62 6f 6c 73 20 67 65 6e 65 72 .To.insert.Unicode.symbols.gener
100800 61 6c 6c 79 2c 20 73 65 65 20 60 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d ally,.see.`racket-unicode-input-
100820 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 method-enable'."...(interactive)
100840 0a 20 20 28 69 6e 73 65 72 74 2d 63 68 61 72 20 72 61 63 6b 65 74 2d 6c 61 6d 62 64 61 2d 63 68 ...(insert-char.racket-lambda-ch
100860 61 72 20 31 29 29 0a 28 70 75 74 20 27 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 ar.1)).(put.'racket-insert-lambd
100880 61 20 27 64 65 6c 65 74 65 2d 73 65 6c 65 63 74 69 6f 6e 20 74 29 0a 0a 0a 3b 3b 3b 20 72 61 63 a.'delete-selection.t)...;;;.rac
1008a0 6b 65 74 2d 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 64 65 66 75 6e 0a 0a 28 64 65 66 75 6e 20 ket--beginning-of-defun..(defun.
1008c0 72 61 63 6b 65 74 2d 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 64 65 66 75 6e 2d 66 75 6e 63 74 racket--beginning-of-defun-funct
1008e0 69 6f 6e 20 28 29 0a 20 20 22 41 20 76 61 6c 75 65 20 66 6f 72 20 60 62 65 67 69 6e 6e 69 6e 67 ion.()..."A.value.for.`beginning
100900 2d 6f 66 2d 64 65 66 75 6e 2d 66 75 6e 63 74 69 6f 6e 27 2e 0a 0a 41 77 61 72 65 20 6f 66 20 60 -of-defun-function'...Aware.of.`
100920 72 61 63 6b 65 74 2d 6d 6f 64 75 6c 65 2d 66 6f 72 6d 73 27 20 61 6e 64 20 73 65 78 70 20 63 6f racket-module-forms'.and.sexp.co
100940 6d 6d 65 6e 74 20 70 72 65 66 69 78 65 73 2e 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 69 73 20 74 mment.prefixes...Note:.This.is.t
100960 68 65 20 6f 6c 64 20 66 6c 61 76 6f 72 20 74 68 61 74 20 74 61 6b 65 73 20 6e 6f 20 61 72 67 75 he.old.flavor.that.takes.no.argu
100980 6d 65 6e 74 73 20 61 6e 64 20 72 65 74 75 72 6e 73 0a 61 20 62 6f 6f 6c 65 61 6e 20 77 68 65 74 ments.and.returns.a.boolean.whet
1009a0 68 65 72 20 69 74 20 6d 6f 76 65 64 2e 20 41 73 20 61 20 72 65 73 75 6c 74 20 60 62 65 67 69 6e her.it.moved..As.a.result.`begin
1009c0 6e 69 6e 67 2d 6f 66 2d 64 65 66 75 6e 2d 72 61 77 27 0a 77 68 65 6e 20 67 69 76 65 6e 20 61 20 ning-of-defun-raw'.when.given.a.
1009e0 6e 65 67 61 74 69 76 65 20 61 72 67 75 6d 65 6e 74 20 77 69 6c 6c 20 75 73 65 20 60 65 6e 64 2d negative.argument.will.use.`end-
100a00 6f 66 2d 64 65 66 75 6e 2d 66 75 6e 63 74 69 6f 6e 27 2c 0a 77 68 69 63 68 20 77 65 20 6c 65 61 of-defun-function',.which.we.lea
100a20 76 65 20 61 74 20 74 68 65 20 64 65 66 61 75 6c 74 2c 20 69 2e 65 2e 2c 20 60 66 6f 72 77 61 72 ve.at.the.default,.i.e.,.`forwar
100a40 64 2d 73 65 78 70 27 2e 20 41 46 41 49 4b 20 74 68 61 74 27 73 0a 62 65 65 6e 20 4f 4b 2c 20 73 d-sexp'..AFAIK.that's.been.OK,.s
100a60 6f 20 49 20 64 6f 6e 27 74 20 77 61 6e 74 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 74 68 65 20 o.I.don't.want.to.deal.with.the.
100a80 6e 65 77 65 72 2c 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 0a 66 6c 61 76 6f 72 20 68 newer,.more.complicated.flavor.h
100aa0 65 72 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 61 72 73 65 2d 73 65 78 70 2d 69 67 6e 6f 72 65 ere."...(let.((parse-sexp-ignore
100ac0 2d 63 6f 6d 6d 65 6e 74 73 20 74 29 0a 20 20 20 20 20 20 20 20 28 6f 72 69 67 20 28 70 6f 69 6e -comments.t).........(orig.(poin
100ae0 74 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 2d t))).....(racket--escape-string-
100b00 6f 72 2d 63 6f 6d 6d 65 6e 74 29 0a 20 20 20 20 3b 3b 20 54 72 79 20 74 6f 20 6d 6f 76 65 20 75 or-comment).....;;.Try.to.move.u
100b20 70 20 74 6f 20 6f 75 74 65 72 6d 6f 73 74 20 66 6f 72 6d 2c 20 62 75 74 20 73 74 6f 70 70 69 6e p.to.outermost.form,.but.stoppin
100b40 67 20 61 74 20 6f 72 20 62 65 66 6f 72 65 20 61 6e 79 0a 20 20 20 20 3b 3b 20 6d 6f 64 75 6c 65 g.at.or.before.any.....;;.module
100b60 20 66 6f 72 6d 2e 0a 20 20 20 20 28 77 68 69 6c 65 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 .form......(while.........(condi
100b80 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 tion-case._.............(let.((p
100ba0 72 65 76 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 rev.(point)))...............(got
100bc0 6f 2d 63 68 61 72 20 28 73 63 61 6e 2d 6c 69 73 74 73 20 28 70 6f 69 6e 74 29 20 2d 31 20 31 29 o-char.(scan-lists.(point).-1.1)
100be0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 )...............(if.(looking-at.
100c00 72 61 63 6b 65 74 2d 6d 6f 64 75 6c 65 2d 66 6f 72 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 racket-module-forms)............
100c20 20 20 20 20 20 20 20 3b 3b 20 53 74 6f 70 20 2d 2d 20 65 69 74 68 65 72 20 64 69 72 65 63 74 6c .......;;.Stop.--.either.directl
100c40 79 20 6f 6e 20 74 68 69 73 20 6d 6f 64 75 6c 65 20 66 6f 72 6d 2c 20 6f 72 2c 0a 20 20 20 20 20 y.on.this.module.form,.or,......
100c60 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 61 63 6b 20 64 6f 77 6e 20 66 72 6f 6d 20 77 .............;;.back.down.from.w
100c80 68 65 72 65 20 77 65 20 6a 75 73 74 20 63 61 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 here.we.just.came...............
100ca0 20 20 20 20 20 28 69 66 20 28 3d 20 28 31 2b 20 28 70 6f 69 6e 74 29 29 20 70 72 65 76 29 0a 20 .....(if.(=.(1+.(point)).prev)..
100cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 .....................nil........
100ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 72 65 76 29 0a 20 20 .............(goto-char.prev)...
100d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 ..................nil)..........
100d20 20 20 20 20 20 20 20 3b 3b 20 43 6f 6e 74 69 6e 75 65 20 6d 6f 76 69 6e 67 20 75 70 2e 0a 20 20 .......;;.Continue.moving.up....
100d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 63 61 ..............t))...........(sca
100d60 6e 2d 65 72 72 6f 72 20 6e 69 6c 29 29 29 0a 20 20 20 20 3b 3b 20 55 6e 6c 65 73 73 20 77 65 20 n-error.nil))).....;;.Unless.we.
100d80 6d 6f 76 65 64 2c 20 74 72 79 20 61 20 73 69 6d 70 6c 65 20 60 62 61 63 6b 77 61 72 64 2d 73 65 moved,.try.a.simple.`backward-se
100da0 78 70 27 3a 20 4d 61 79 62 65 20 77 65 27 72 65 0a 20 20 20 20 3b 3b 20 61 6c 72 65 61 64 79 20 xp':.Maybe.we're.....;;.already.
100dc0 61 74 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 65 76 65 6c 2c 20 61 6e 64 20 6a 75 73 74 20 6e 65 at.the.module.level,.and.just.ne
100de0 65 64 20 74 6f 20 6d 6f 76 65 20 74 6f 20 74 68 65 0a 20 20 20 20 3b 3b 20 70 72 65 76 69 6f 75 ed.to.move.to.the.....;;.previou
100e00 73 20 6d 6f 64 75 6c 65 2d 6c 65 76 65 6c 20 69 74 65 6d 2e 0a 20 20 20 20 28 75 6e 6c 65 73 73 s.module-level.item......(unless
100e20 20 28 2f 3d 20 6f 72 69 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 69 74 .(/=.orig.(point)).......(condit
100e40 69 6f 6e 2d 63 61 73 65 20 5f 20 28 62 61 63 6b 77 61 72 64 2d 73 65 78 70 20 31 29 20 28 73 63 ion-case._.(backward-sexp.1).(sc
100e60 61 6e 2d 65 72 72 6f 72 20 6e 69 6c 29 29 29 0a 20 20 20 20 3b 3b 20 57 68 65 6e 20 77 65 20 6d an-error.nil))).....;;.When.we.m
100e80 6f 76 65 64 2c 20 61 6c 73 6f 20 6d 6f 76 65 20 62 65 66 6f 72 65 20 61 6e 79 20 70 72 65 63 65 oved,.also.move.before.any.prece
100ea0 64 69 6e 67 20 22 23 3b 22 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 2f 3d 20 6f 72 69 67 20 28 70 ding."#;"......(when.(/=.orig.(p
100ec0 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 73 65 78 70 2d 63 6f 6d oint)).......(when-let.(sexp-com
100ee0 6d 65 6e 74 2d 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 ment-start..................(sav
100f00 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 e-excursion....................(
100f20 77 68 69 6c 65 20 28 6d 65 6d 71 20 28 63 68 61 72 2d 62 65 66 6f 72 65 29 20 27 28 33 32 20 3f while.(memq.(char-before).'(32.?
100f40 5c 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d \n))......................(goto-
100f60 63 68 61 72 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 char.(1-.(point)))).............
100f80 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 62 65 67 20 28 2d 20 28 70 6f 69 6e 74 29 20 32 29 29 .......(let.((beg.(-.(point).2))
100fa0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3c 3d )......................(when.(<=
100fc0 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(point-min).beg)...............
100fe0 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 3d 20 22 23 3b 22 20 28 62 75 .........(when.(string=."#;".(bu
101000 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 62 65 67 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 ffer-substring.beg.(point)))....
101020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 67 29 29 29 29 29 0a 20 ......................beg)))))..
101040 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 73 .......(goto-char.sexp-comment-s
101060 74 61 72 74 29 29 29 0a 20 20 20 20 28 2f 3d 20 6f 72 69 67 20 28 70 6f 69 6e 74 29 29 29 29 0a tart))).....(/=.orig.(point)))).
101080 0a 3b 3b 3b 20 72 61 63 6b 65 74 2d 2d 77 68 61 74 2d 74 6f 2d 72 75 6e 0a 0a 28 64 65 66 75 6e .;;;.racket--what-to-run..(defun
1010a0 20 72 61 63 6b 65 74 2d 2d 77 68 61 74 2d 74 6f 2d 72 75 6e 2d 70 20 28 76 29 0a 20 20 22 50 72 .racket--what-to-run-p.(v)..."Pr
1010c0 65 64 69 63 61 74 65 20 66 6f 72 20 61 20 5c 22 77 68 61 74 2d 74 6f 2d 72 75 6e 5c 22 20 76 61 edicate.for.a.\"what-to-run\".va
1010e0 6c 75 65 2e 0a 0a 45 69 74 68 65 72 20 6e 69 6c 20 6f 72 20 61 20 6c 69 73 74 2c 20 77 68 65 72 lue...Either.nil.or.a.list,.wher
101100 65 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 e.the.first.element.of.the.list.
101120 69 73 20 61 0a 66 69 6c 65 20 6e 61 6d 65 20 61 6e 64 20 74 68 65 20 72 65 6d 61 69 6e 64 65 72 is.a.file.name.and.the.remainder
101140 20 61 72 65 20 60 73 79 6d 62 6f 6c 70 27 20 73 75 62 6d 6f 64 75 6c 65 20 6e 61 6d 65 73 2e 0a .are.`symbolp'.submodule.names..
101160 0a 4e 6f 74 65 3a 20 42 65 63 61 75 73 65 20 66 6f 72 20 6e 6f 6e 2d 74 72 61 6d 70 20 66 69 6c .Note:.Because.for.non-tramp.fil
101180 65 20 6e 61 6d 65 73 20 74 68 69 73 20 75 73 65 73 20 60 66 69 6c 65 2d 65 78 69 73 74 2d 70 27 e.names.this.uses.`file-exist-p'
1011a0 2c 0a 69 74 27 73 20 67 6f 6f 64 20 74 6f 20 60 72 61 63 6b 65 74 2d 2d 73 61 76 65 2d 69 66 2d ,.it's.good.to.`racket--save-if-
1011c0 63 68 61 6e 67 65 64 27 20 66 69 72 73 74 2c 20 65 6e 73 75 72 69 6e 67 20 74 68 61 74 20 61 0a changed'.first,.ensuring.that.a.
1011e0 6e 65 77 20 62 75 66 66 65 72 20 68 61 73 20 61 20 66 69 6c 65 20 6f 6e 2d 64 69 73 6b 2e 22 0a new.buffer.has.a.file.on-disk.".
101200 20 20 28 70 63 61 73 65 20 76 0a 20 20 20 20 28 60 28 29 20 74 29 0a 20 20 20 20 28 60 28 2c 66 ..(pcase.v.....(`().t).....(`(,f
101220 69 6c 65 20 2e 20 2c 73 75 62 73 29 0a 20 20 20 20 20 28 61 6e 64 20 28 73 74 72 69 6e 67 70 20 ile...,subs)......(and.(stringp.
101240 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 74 72 61 6d 70 2d 74 72 61 6d 70 file)...........(or.(tramp-tramp
101260 2d 66 69 6c 65 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c -file-p.file)...............(fil
101280 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d e-exists-p.file))...........(cl-
1012a0 65 76 65 72 79 20 23 27 73 79 6d 62 6f 6c 70 20 73 75 62 73 29 29 29 0a 20 20 20 20 28 5f 20 6e every.#'symbolp.subs))).....(_.n
1012c0 69 6c 29 29 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 73 75 62 6d il)))..(defvar-local.racket-subm
1012e0 6f 64 75 6c 65 73 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 29 0a 0a 28 odules-at-point-function.nil)..(
101300 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 77 68 61 74 2d 74 6f 2d 72 75 6e 20 28 29 0a 20 20 28 defun.racket--what-to-run.()...(
101320 63 6f 6e 73 20 28 72 61 63 6b 65 74 2d 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a cons.(racket--buffer-file-name).
101340 20 20 20 20 20 20 20 20 28 61 6e 64 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 61 ........(and.racket-submodules-a
101360 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 t-point-function..............(f
101380 75 6e 63 61 6c 6c 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 61 74 2d 70 6f 69 6e uncall.racket-submodules-at-poin
1013a0 74 2d 66 75 6e 63 74 69 6f 6e 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 73 75 t-function))))..(defun.racket-su
1013c0 62 6d 6f 64 75 6c 65 73 2d 61 74 2d 70 6f 69 6e 74 2d 74 65 78 74 2d 73 65 78 70 20 28 29 0a 20 bmodules-at-point-text-sexp.()..
1013e0 20 22 41 20 76 61 6c 75 65 20 66 6f 72 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 2d ."A.value.for.variable.`racket--
101400 73 75 62 6d 6f 64 75 6c 65 73 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 27 2c 0a 77 submodules-at-point-function',.w
101420 68 69 63 68 20 69 73 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 6d 6f 64 hich.is.suitable.for.`racket-mod
101440 65 27 20 61 6e 64 20 70 6f 73 73 69 62 6c 79 20 66 6f 72 0a 60 72 61 63 6b 65 74 2d 68 61 73 68 e'.and.possibly.for.`racket-hash
101460 2d 6c 61 6e 67 2d 6d 6f 64 65 27 20 77 68 65 6e 20 74 68 65 20 68 61 73 68 2d 6c 61 6e 67 20 69 -lang-mode'.when.the.hash-lang.i
101480 73 20 6c 69 6b 65 20 6c 61 6e 67 20 72 61 63 6b 65 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 6f s.like.lang.racket."...(let.((mo
1014a0 64 73 20 28 72 61 63 6b 65 74 2d 2d 6d 6f 64 75 6c 65 73 2d 61 74 2d 70 6f 69 6e 74 29 29 29 0a ds.(racket--modules-at-point))).
1014c0 20 20 20 20 28 69 66 20 28 72 61 63 6b 65 74 2d 2d 6c 61 6e 67 2d 70 29 0a 20 20 20 20 20 20 20 ....(if.(racket--lang-p)........
1014e0 20 6d 6f 64 73 0a 20 20 20 20 20 20 28 63 64 72 20 6d 6f 64 73 29 29 29 29 0a 0a 28 64 65 66 75 .mods.......(cdr.mods))))..(defu
101500 6e 20 72 61 63 6b 65 74 2d 2d 6c 61 6e 67 2d 70 20 28 29 0a 20 20 22 49 73 20 23 6c 61 6e 67 20 n.racket--lang-p.()..."Is.#lang.
101520 74 68 65 20 66 69 72 73 74 20 73 65 78 70 72 20 69 6e 20 74 68 65 20 66 69 6c 65 2c 20 61 66 74 the.first.sexpr.in.the.file,.aft
101540 65 72 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 73 68 65 62 61 6e 67 3f 22 0a 20 20 28 73 61 76 65 er.an.optional.shebang?"...(save
101560 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 -excursion.....(goto-char.(point
101580 2d 6d 69 6e 29 29 0a 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 -min)).....(ignore-errors.......
1015a0 28 66 6f 72 77 61 72 64 2d 73 65 78 70 29 0a 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 73 (forward-sexp).......(backward-s
1015c0 65 78 70 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 70 20 28 exp).......(when.(looking-at-p.(
1015e0 72 78 20 22 23 21 22 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 29 rx."#!")).........(forward-line)
101600 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 29 0a 20 20 20 20 20 20 20 20 .........(forward-sexp).........
101620 28 62 61 63 6b 77 61 72 64 2d 73 65 78 70 29 29 0a 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 2d (backward-sexp)).......(looking-
101640 61 74 2d 70 20 28 72 78 20 22 23 6c 61 6e 67 22 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 at-p.(rx."#lang")))))..(defun.ra
101660 63 6b 65 74 2d 2d 6d 6f 64 75 6c 65 73 2d 61 74 2d 70 6f 69 6e 74 20 28 29 0a 20 20 22 4c 69 73 cket--modules-at-point.()..."Lis
101680 74 20 6f 66 20 6d 6f 64 75 6c 65 20 6e 61 6d 65 73 20 74 68 61 74 20 70 6f 69 6e 74 20 69 73 20 t.of.module.names.that.point.is.
1016a0 77 69 74 68 69 6e 2c 20 66 72 6f 6d 20 6f 75 74 65 72 20 74 6f 20 69 6e 6e 65 72 2e 0a 49 67 6e within,.from.outer.to.inner..Ign
1016c0 6f 72 65 73 20 6d 6f 64 75 6c 65 20 66 6f 72 6d 73 20 6e 65 73 74 65 64 20 28 61 74 20 61 6e 79 ores.module.forms.nested.(at.any
1016e0 20 64 65 70 74 68 29 20 69 6e 20 61 6e 79 20 73 6f 72 74 20 6f 66 20 70 6c 61 69 6e 0a 6f 72 20 .depth).in.any.sort.of.plain.or.
101700 73 79 6e 74 61 78 20 71 75 6f 74 69 6e 67 2c 20 62 65 63 61 75 73 65 20 74 68 6f 73 65 20 77 6f syntax.quoting,.because.those.wo
101720 6e 27 74 20 62 65 20 76 61 6c 69 64 20 52 61 63 6b 65 74 20 73 79 6e 74 61 78 2e 22 0a 20 20 28 n't.be.valid.Racket.syntax."...(
101740 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 78 73 20 6e 69 6c save-excursion.....(let.((xs.nil
101760 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 20 20 20 )).......(condition-case._......
101780 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d .....(progn.............(racket-
1017a0 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 2d 6f 72 2d 63 6f 6d 6d 65 6e 74 29 0a 20 20 20 20 20 -escape-string-or-comment)......
1017c0 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 .......(while.t...............(w
1017e0 68 65 6e 2d 6c 65 74 20 28 6d 6f 64 2d 6e 61 6d 65 2d 73 79 6d 20 28 72 61 63 6b 65 74 2d 2d 6c hen-let.(mod-name-sym.(racket--l
101800 6f 6f 6b 69 6e 67 2d 61 74 2d 6d 6f 64 75 6c 65 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 ooking-at-module-form)).........
101820 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6d 6f 64 2d 6e 61 6d 65 2d 73 79 6d 20 78 73 29 29 0a ........(push.mod-name-sym.xs)).
101840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 72 61 63 6b 65 74 2d 2d 6c 6f 6f ..............(when.(racket--loo
101860 6b 69 6e 67 2d 61 74 2d 71 75 6f 74 65 64 2d 66 6f 72 6d 2d 70 29 0a 20 20 20 20 20 20 20 20 20 king-at-quoted-form-p)..........
101880 20 20 20 20 20 20 20 28 70 75 73 68 20 6e 69 6c 20 78 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 .......(push.nil.xs))...........
1018a0 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 ....(backward-up-list)))........
1018c0 20 28 28 73 63 61 6e 2d 65 72 72 6f 72 20 75 73 65 72 2d 65 72 72 6f 72 29 20 78 73 29 29 0a 20 .((scan-error.user-error).xs))..
1018e0 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 78 73 20 23 27 69 64 .....(racket--take-while.xs.#'id
101900 65 6e 74 69 74 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6c 6f 6f 6b 69 entity))))..(defun.racket--looki
101920 6e 67 2d 61 74 2d 6d 6f 64 75 6c 65 2d 66 6f 72 6d 20 28 29 0a 20 20 22 57 68 65 6e 20 6c 6f 6f ng-at-module-form.()..."When.loo
101940 6b 69 6e 67 20 61 74 20 61 20 6d 6f 64 75 6c 65 20 66 6f 72 6d 2c 20 72 65 74 75 72 6e 20 74 68 king.at.a.module.form,.return.th
101960 65 20 6d 6f 64 20 6e 61 6d 65 20 61 73 20 61 20 73 79 6d 62 6f 6c 2e 22 0a 20 20 28 73 61 76 65 e.mod.name.as.a.symbol."...(save
101980 2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 28 77 68 65 6e 20 28 6c 6f 6f 6b 69 6e 67 2d 61 -match-data.....(when.(looking-a
1019a0 74 20 28 72 78 20 3f 5c 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.(rx.?\(.......................
1019c0 20 20 20 20 28 6f 72 20 22 6d 6f 64 75 6c 65 22 20 22 6d 6f 64 75 6c 65 2a 22 20 22 6d 6f 64 75 ....(or."module"."module*"."modu
1019e0 6c 65 2b 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le+")...........................
101a00 28 31 2b 20 22 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (1+.".")........................
101a20 20 20 20 28 67 72 6f 75 70 20 28 2b 20 28 6f 72 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 ...(group.(+.(or.(syntax.symbol)
101a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
101a60 20 20 20 20 20 20 20 20 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 .........(syntax.word)..........
101a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
101aa0 73 79 6e 74 61 78 20 70 75 6e 63 74 75 61 74 69 6f 6e 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 syntax.punctuation)))))).......(
101ac0 69 6e 74 65 72 6e 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 intern.(match-string-no-properti
101ae0 65 73 20 31 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 6c 6f 6f 6b 69 6e es.1)))))..(defun.racket--lookin
101b00 67 2d 61 74 2d 71 75 6f 74 65 64 2d 66 6f 72 6d 2d 70 20 28 29 0a 20 20 28 6f 72 20 28 6d 65 6d g-at-quoted-form-p.()...(or.(mem
101b20 71 20 28 63 68 61 72 2d 62 65 66 6f 72 65 29 20 27 28 3f 5c 27 20 3f 5c 60 20 3f 5c 2c 29 29 0a q.(char-before).'(?\'.?\`.?\,)).
101b40 20 20 20 20 20 20 28 61 6e 64 20 28 65 71 20 28 63 68 61 72 2d 62 65 66 6f 72 65 20 28 31 2d 20 ......(and.(eq.(char-before.(1-.
101b60 28 70 6f 69 6e 74 29 29 29 20 3f 5c 2c 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 63 (point))).?\,)............(eq.(c
101b80 68 61 72 2d 62 65 66 6f 72 65 29 20 3f 5c 40 29 29 0a 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 har-before).?\@)).......(looking
101ba0 2d 61 74 2d 70 0a 20 20 20 20 20 20 20 28 72 78 20 3f 5c 28 0a 20 20 20 20 20 20 20 20 20 20 20 -at-p........(rx.?\(............
101bc0 28 6f 72 20 22 71 75 6f 74 65 22 20 22 71 75 61 73 69 71 75 6f 74 65 22 0a 20 20 20 20 20 20 20 (or."quote"."quasiquote"........
101be0 20 20 20 20 20 20 20 20 22 75 6e 71 75 6f 74 65 22 20 22 75 6e 71 75 6f 74 65 2d 73 70 6c 69 63 ........"unquote"."unquote-splic
101c00 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 71 75 6f 74 65 2d 73 79 6e 74 61 ing"................"quote-synta
101c20 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 79 6e 74 61 78 22 20 22 73 79 6e 74 x"................"syntax"."synt
101c40 61 78 2f 6c 6f 63 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 71 75 61 73 69 73 79 6e ax/loc"................"quasisyn
101c60 74 61 78 22 20 22 71 75 61 73 69 73 79 6e 74 61 78 2f 6c 6f 63 22 0a 20 20 20 20 20 20 20 20 20 tax"."quasisyntax/loc"..........
101c80 20 20 20 20 20 20 22 75 6e 73 79 6e 74 61 78 22 20 22 75 6e 73 79 6e 74 61 78 2d 73 70 6c 69 63 ......"unsyntax"."unsyntax-splic
101ca0 69 6e 67 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 22 20 22 29 29 29 29 0a 0a 3b 3b 3b 20 4d 69 ing")............"."))))..;;;.Mi
101cc0 73 63 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 sc..(defun.racket-backward-up-li
101ce0 73 74 20 28 29 0a 20 20 22 4c 69 6b 65 20 60 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 27 st.()..."Like.`backward-up-list'
101d00 20 62 75 74 20 77 6f 72 6b 73 20 77 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 69 6e 20 61 20 73 74 .but.works.when.point.is.in.a.st
101d20 72 69 6e 67 20 6f 72 20 63 6f 6d 6d 65 6e 74 2e 0a 0a 54 79 70 69 63 61 6c 6c 79 20 79 6f 75 20 ring.or.comment...Typically.you.
101d40 73 68 6f 75 6c 64 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 45 should.not.use.this.command.in.E
101d60 6d 61 63 73 20 4c 69 73 70 20 2d 2d 0a 65 73 70 65 63 69 61 6c 6c 79 20 6e 6f 74 20 72 65 70 65 macs.Lisp.--.especially.not.repe
101d80 61 74 65 64 6c 79 2e 20 49 6e 73 74 65 61 64 2c 20 69 6e 69 74 69 61 6c 6c 79 20 75 73 65 0a 60 atedly..Instead,.initially.use.`
101da0 72 61 63 6b 65 74 2d 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 2d 6f 72 2d 63 6f 6d 6d 65 6e 74 racket--escape-string-or-comment
101dc0 27 20 74 6f 20 6d 6f 76 65 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 61 0a 73 74 72 69 '.to.move.to.the.start.of.a.stri
101de0 6e 67 20 6f 72 20 63 6f 6d 6d 65 6e 74 2c 20 69 66 20 61 6e 79 2c 20 74 68 65 6e 20 75 73 65 20 ng.or.comment,.if.any,.then.use.
101e00 6e 6f 72 6d 61 6c 20 60 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 27 0a 72 65 70 65 61 74 normal.`backward-up-list'.repeat
101e20 65 64 6c 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 61 63 6b 65 74 edly."...(interactive)...(racket
101e40 2d 2d 65 73 63 61 70 65 2d 73 74 72 69 6e 67 2d 6f 72 2d 63 6f 6d 6d 65 6e 74 29 0a 20 20 28 62 --escape-string-or-comment)...(b
101e60 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 20 31 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 72 ackward-up-list.1))..(defconst.r
101e80 61 63 6b 65 74 2d 2d 70 6c 61 69 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 0a 20 20 28 6c 65 74 acket--plain-syntax-table...(let
101ea0 20 28 28 74 61 62 6c 65 20 28 6d 61 6b 65 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 29 29 0a 20 .((table.(make-syntax-table)))..
101ec0 20 20 20 3b 3b 20 4d 6f 64 69 66 79 20 65 6e 74 72 69 65 73 20 66 6f 72 20 63 68 61 72 61 63 74 ...;;.Modify.entries.for.charact
101ee0 65 72 73 20 66 6f 72 20 70 61 72 65 6e 73 2c 20 73 74 72 69 6e 67 73 2c 20 61 6e 64 0a 20 20 20 ers.for.parens,.strings,.and....
101f00 20 3b 3b 20 63 6f 6d 6d 65 6e 74 73 2c 20 73 65 74 74 69 6e 67 20 74 68 65 6d 20 74 6f 20 77 6f .;;.comments,.setting.them.to.wo
101f20 72 64 20 73 79 6e 74 61 78 20 69 6e 73 74 65 61 64 2e 20 28 46 6f 72 20 74 68 65 20 74 68 65 73 rd.syntax.instead..(For.the.thes
101f40 65 0a 20 20 20 20 3b 3b 20 72 61 77 20 73 79 6e 74 61 78 20 64 65 73 63 72 69 70 74 6f 72 20 6e e.....;;.raw.syntax.descriptor.n
101f60 75 6d 62 65 72 73 2c 20 73 65 65 20 45 6d 61 63 73 20 4c 69 73 70 20 49 6e 66 6f 3a 20 22 53 79 umbers,.see.Emacs.Lisp.Info:."Sy
101f80 6e 74 61 78 0a 20 20 20 20 3b 3b 20 54 61 62 6c 65 20 49 6e 74 65 72 6e 61 6c 73 22 2e 29 0a 20 ntax.....;;.Table.Internals".)..
101fa0 20 20 20 28 6d 61 70 2d 63 68 61 72 2d 74 61 62 6c 65 20 28 6c 61 6d 62 64 61 20 28 6b 65 79 20 ...(map-char-table.(lambda.(key.
101fc0 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 value).......................(wh
101fe0 65 6e 20 28 6d 65 6d 71 20 28 63 61 72 20 76 61 6c 75 65 29 20 27 28 34 20 35 20 37 20 31 30 20 en.(memq.(car.value).'(4.5.7.10.
102000 31 31 20 31 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 11.12)).........................
102020 28 61 73 65 74 20 74 61 62 6c 65 20 6b 65 79 20 27 28 32 29 29 29 29 0a 20 20 20 20 20 20 20 20 (aset.table.key.'(2)))).........
102040 20 20 20 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 29 0a 20 20 20 20 74 61 62 6c 65 29 0a 20 20 ............table).....table)...
102060 22 41 20 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 74 68 61 74 20 6d 61 6b 65 73 20 6e 6f 20 61 73 "A.syntax-table.that.makes.no.as
102080 73 75 6d 70 74 69 6f 6e 73 20 74 68 61 74 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 0a 64 65 sumptions.that.characters.are.de
1020a0 6c 69 6d 69 74 65 72 73 20 66 6f 72 20 70 61 72 65 6e 73 2c 20 71 75 6f 74 65 73 2c 20 63 6f 6d limiters.for.parens,.quotes,.com
1020c0 6d 65 6e 74 73 2c 20 65 74 63 2e 20 4a 75 73 74 20 77 68 69 74 65 73 70 61 63 65 20 61 6e 64 0a ments,.etc..Just.whitespace.and.
1020e0 77 6f 72 64 20 73 79 6e 74 61 78 2c 20 73 6f 20 74 68 65 20 75 73 65 72 20 68 61 73 20 2f 73 6f word.syntax,.so.the.user.has./so
102100 6d 65 2f 20 62 61 73 69 63 20 6e 61 76 69 67 61 74 69 6f 6e 20 61 73 20 6f 70 70 6f 73 65 64 0a me/.basic.navigation.as.opposed.
102120 74 6f 20 69 74 20 62 65 69 6e 67 20 6f 6e 65 20 6f 70 61 71 75 65 20 62 6c 6f 62 2e 22 29 0a 0a to.it.being.one.opaque.blob.")..
102140 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 63 6f 6d 6d 6f 6e 29 0a 0a 3b 3b 20 72 61 63 (provide.'racket-common)..;;.rac
102160 6b 65 74 2d 63 6f 6d 6d 6f 6e 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 ket-common.el.ends.here.........
102180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1021a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1021c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1021e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102200 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
102220 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 racket-browse-url.el............
102240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
102280 30 30 30 34 30 33 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 35 34 31 00 20 30 00 00 00 0004034.00000000000.017541..0...
1022a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1022c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1022e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
102320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
102340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1023a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1023c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1023e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102400 3b 3b 3b 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2e 65 6c 20 2d 2a 2d 20 6c 65 78 ;;;.racket-browse-url.el.-*-.lex
102420 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 ical-binding:.t;.-*-..;;.Copyrig
102440 68 74 20 28 63 29 20 32 30 32 30 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e ht.(c).2020.by.Greg.Hendershott.
102460 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d .;;.Portions.Copyright.(C).1985-
102480 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 1986,.1999-2013.Free.Software.Fo
1024a0 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 undation,.Inc...;;.Author:.Greg.
1024c0 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 Hendershott.;;.URL:.https://gith
1024e0 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f ub.com/greghendershott/racket-mo
102500 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 de..;;.SPDX-License-Identifier:.
102520 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b GPL-3.0-or-later..(require.'rack
102540 65 74 2d 63 75 73 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 6d 64 29 et-custom).(require.'racket-cmd)
102560 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 0a 0a 28 64 65 .(require.'racket-back-end)..(de
102580 66 75 6e 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 20 28 75 72 6c 20 26 72 65 73 74 fun.racket-browse-url.(url.&rest
1025a0 20 61 72 67 73 29 0a 20 20 28 77 68 65 6e 20 75 72 6c 0a 20 20 20 20 28 61 70 70 6c 79 20 72 61 .args)...(when.url.....(apply.ra
1025c0 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 20 75 72 6c 20 61 72 67 cket-browse-url-function.url.arg
1025e0 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 66 69 6c 65 2d s)))..(defun.racket-browse-file-
102600 75 72 6c 20 28 70 61 74 68 20 61 6e 63 68 6f 72 29 0a 20 20 28 77 68 65 6e 20 28 6f 72 20 28 66 url.(path.anchor)...(when.(or.(f
102620 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 ile-remote-p.path).............(
102640 6e 6f 74 20 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 6c 6f 63 61 6c 2d 70 29 29 29 not.(racket--back-end-local-p)))
102660 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 75 73 65 20 77 65 62 .....(user-error."Cannot.use.web
102680 20 62 72 6f 77 73 65 72 20 74 6f 20 62 72 6f 77 73 65 20 72 65 6d 6f 74 65 20 64 6f 63 75 6d 65 .browser.to.browse.remote.docume
1026a0 6e 74 61 74 69 6f 6e 3b 20 69 6e 73 74 65 61 64 20 75 73 65 20 60 72 61 63 6b 65 74 2d 64 65 73 ntation;.instead.use.`racket-des
1026c0 63 72 69 62 65 27 22 29 29 0a 20 20 28 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 20 28 cribe'"))...(racket-browse-url.(
1026e0 63 6f 6e 63 61 74 20 22 66 69 6c 65 3a 2f 2f 22 20 70 61 74 68 20 22 23 22 20 61 6e 63 68 6f 72 concat."file://".path."#".anchor
102700 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 75 73 )))..(defun.racket-browse-url-us
102720 69 6e 67 2d 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 20 28 75 72 6c 20 26 72 65 73 74 20 5f 61 ing-temporary-file.(url.&rest._a
102740 72 67 73 29 0a 20 20 22 42 72 6f 77 73 65 20 61 20 55 52 4c 20 76 69 61 20 61 20 74 65 6d 70 6f rgs)..."Browse.a.URL.via.a.tempo
102760 72 61 72 79 20 48 54 4d 4c 20 66 69 6c 65 20 75 73 69 6e 67 20 61 20 6d 65 74 61 20 72 65 64 69 rary.HTML.file.using.a.meta.redi
102780 72 65 63 74 2e 0a 0a 41 20 73 75 69 74 61 62 6c 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 rect...A.suitable.value.for.the.
1027a0 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 variable.`racket-browse-url-func
1027c0 74 69 6f 6e 27 2e 0a 0a 52 61 63 6b 65 74 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 55 52 4c tion'...Racket.documentation.URL
1027e0 73 20 64 65 70 65 6e 64 20 6f 6e 20 61 6e 63 68 6f 72 73 20 2d 2d 20 74 68 65 20 70 6f 72 74 69 s.depend.on.anchors.--.the.porti
102800 6f 6e 20 6f 66 20 74 68 65 0a 55 52 4c 20 61 66 74 65 72 20 74 68 65 20 23 20 63 68 61 72 61 63 on.of.the.URL.after.the.#.charac
102820 74 65 72 20 2d 2d 20 74 6f 20 6a 75 6d 70 20 74 6f 20 61 20 6c 6f 63 61 74 69 6f 6e 20 77 69 74 ter.--.to.jump.to.a.location.wit
102840 68 69 6e 20 61 20 70 61 67 65 2e 0a 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20 6f 6e 20 73 6f 6d hin.a.page..Unfortunately.on.som
102860 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 61 6e 64 2f 6f 72 20 76 65 72 73 69 e.operating.systems.and/or.versi
102880 6f 6e 73 20 6f 66 20 45 6d 61 63 73 2c 0a 74 68 65 20 64 65 66 61 75 6c 74 20 68 61 6e 64 6c 69 ons.of.Emacs,.the.default.handli
1028a0 6e 67 20 66 6f 72 20 62 72 6f 77 73 69 6e 67 20 66 69 6c 65 20 55 52 4c 73 20 69 67 6e 6f 72 65 ng.for.browsing.file.URLs.ignore
1028c0 73 20 61 6e 63 68 6f 72 73 2e 20 54 68 69 73 0a 66 75 6e 63 74 69 6f 6e 20 61 74 74 65 6d 70 74 s.anchors..This.function.attempt
1028e0 73 20 74 6f 20 61 76 6f 69 64 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 62 79 20 75 73 69 6e 67 20 s.to.avoid.the.problem.by.using.
102900 61 20 74 65 6d 70 6f 72 61 72 79 20 48 54 4d 4c 0a 66 69 6c 65 20 77 69 74 68 20 61 20 6d 65 74 a.temporary.HTML.file.with.a.met
102920 61 20 72 65 64 69 72 65 63 74 20 61 73 20 61 20 5c 22 74 72 61 6d 70 6f 6c 69 6e 65 5c 22 2e 0a a.redirect.as.a.\"trampoline\"..
102940 0a 41 6c 74 68 6f 75 67 68 20 74 68 65 20 69 6e 74 65 6e 74 20 69 73 20 74 6f 20 70 72 6f 76 69 .Although.the.intent.is.to.provi
102960 64 65 20 61 20 64 65 66 61 75 6c 74 20 74 68 61 74 20 5c 22 6a 75 73 74 20 77 6f 72 6b 73 5c 22 de.a.default.that.\"just.works\"
102980 2c 0a 79 6f 75 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 69 73 2e 20 59 ,.you.do.not.need.to.use.this..Y
1029a0 6f 75 20 63 61 6e 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 60 72 ou.can.customize.the.variable.`r
1029c0 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 27 20 69 6e 73 74 65 acket-browse-url-function'.inste
1029e0 61 64 20 74 6f 20 62 65 20 60 62 72 6f 77 73 65 2d 75 72 6c 27 2c 20 6f 72 0a 60 62 72 6f 77 73 ad.to.be.`browse-url',.or.`brows
102a00 65 2d 75 72 6c 2d 62 72 6f 77 73 65 72 2d 66 75 6e 63 74 69 6f 6e 27 20 69 6e 20 63 61 73 65 20 e-url-browser-function'.in.case.
102a20 68 61 76 65 20 68 61 76 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 74 68 61 74 2c 0a 6f 72 20 69 6e have.have.customized.that,.or.in
102a40 64 65 65 64 20 77 68 61 74 65 76 65 72 20 79 6f 75 20 77 61 6e 74 2e 22 0a 20 20 28 6c 65 74 2a deed.whatever.you.want."...(let*
102a60 20 28 28 75 72 6c 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 2e 2a 3a .((url..(if.(string-match-p.".*:
102a80 2f 2f 22 20 75 72 6c 29 20 75 72 6c 20 28 63 6f 6e 63 61 74 20 22 66 69 6c 65 3a 2f 2f 22 20 75 //".url).url.(concat."file://".u
102aa0 72 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 6d 61 6b 65 2d 74 65 6d 70 2d rl)))..........(file.(make-temp-
102ac0 66 69 6c 65 20 22 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 22 20 6e 69 6c 20 22 2e file."racket-browse-url-".nil.".
102ae0 68 74 6d 6c 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 75 72 69 20 28 63 6f 6e 63 html"))..........(file-uri.(conc
102b00 61 74 20 22 66 69 6c 65 3a 2f 2f 22 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 74 at."file://".file))..........(ht
102b20 6d 6c 20 28 66 6f 72 6d 61 74 20 22 3c 68 74 6d 6c 3e 3c 68 65 61 64 3e 3c 6d 65 74 61 20 68 74 ml.(format."<html><head><meta.ht
102b40 74 70 2d 65 71 75 69 76 3d 5c 22 72 65 66 72 65 73 68 5c 22 20 63 6f 6e 74 65 6e 74 3d 5c 22 30 tp-equiv=\"refresh\".content=\"0
102b60 3b 75 72 6c 3d 25 73 5c 22 20 2f 3e 3c 2f 68 65 61 64 3e 3c 2f 68 74 6d 6c 3e 22 20 75 72 6c 29 ;url=%s\"./></head></html>".url)
102b80 29 29 0a 20 20 20 20 28 77 72 69 74 65 2d 72 65 67 69 6f 6e 20 68 74 6d 6c 20 6e 69 6c 20 66 69 )).....(write-region.html.nil.fi
102ba0 6c 65 20 6e 69 6c 20 27 6e 6f 2d 77 72 6f 74 65 2d 66 69 6c 65 2d 6d 65 73 73 61 67 65 29 0a 20 le.nil.'no-wrote-file-message)..
102bc0 20 20 20 28 62 72 6f 77 73 65 2d 75 72 6c 20 66 69 6c 65 2d 75 72 69 29 29 29 0a 0a 28 70 72 6f ...(browse-url.file-uri)))..(pro
102be0 76 69 64 65 20 27 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 29 0a 0a 3b 3b 20 72 61 63 vide.'racket-browse-url)..;;.rac
102c00 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 ket-browse-url.el.ends.here.....
102c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102e00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
102e20 72 61 63 6b 65 74 2d 70 70 73 73 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-ppss.el..................
102e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
102e80 30 30 30 34 34 36 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 34 33 36 00 20 30 00 00 00 0004466.00000000000.016436..0...
102ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
102f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
102f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103000 3b 3b 3b 20 72 61 63 6b 65 74 2d 70 70 73 73 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 ;;;.racket-ppss.el.-*-.lexical-b
103020 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 inding:.t;.-*-..;;.Copyright.(c)
103040 20 32 30 31 33 2d 32 30 32 30 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a .2013-2020.by.Greg.Hendershott..
103060 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 35 2d 31 ;;.Portions.Copyright.(C).1985-1
103080 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 986,.1999-2013.Free.Software.Fou
1030a0 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 65 67 20 48 ndation,.Inc...;;.Author:.Greg.H
1030c0 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 endershott.;;.URL:.https://githu
1030e0 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 b.com/greghendershott/racket-mod
103100 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 e..;;.SPDX-License-Identifier:.G
103120 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 20 4e 6f 74 65 3a 20 54 68 65 73 65 20 PL-3.0-or-later..;;.Note:.These.
103140 64 6f 63 20 73 74 72 69 6e 67 73 20 61 72 65 20 66 72 6f 6d 20 74 68 65 20 50 61 72 73 65 72 20 doc.strings.are.from.the.Parser.
103160 53 74 61 74 65 20 69 6e 66 6f 20 74 6f 70 69 63 2c 20 61 73 20 6f 66 0a 3b 3b 20 45 6d 61 63 73 State.info.topic,.as.of.;;.Emacs
103180 20 32 35 2e 31 2e 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 70 61 72 65 .25.1...(defun.racket--ppss-pare
1031a0 6e 2d 64 65 70 74 68 20 28 78 73 29 0a 20 20 22 54 68 65 20 64 65 70 74 68 20 69 6e 20 70 61 72 n-depth.(xs)..."The.depth.in.par
1031c0 65 6e 74 68 65 73 65 73 2c 20 63 6f 75 6e 74 69 6e 67 20 66 72 6f 6d 20 30 2e 0a 2a 57 61 72 6e entheses,.counting.from.0..*Warn
1031e0 69 6e 67 3a 2a 20 74 68 69 73 20 63 61 6e 20 62 65 20 6e 65 67 61 74 69 76 65 20 69 66 20 74 68 ing:*.this.can.be.negative.if.th
103200 65 72 65 20 61 72 65 20 6d 6f 72 65 20 63 6c 6f 73 65 20 70 61 72 65 6e 73 0a 74 68 61 6e 20 6f ere.are.more.close.parens.than.o
103220 70 65 6e 20 70 61 72 65 6e 73 20 62 65 74 77 65 65 6e 20 74 68 65 20 70 61 72 73 65 72 e2 80 99 pen.parens.between.the.parser...
103240 73 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e 74 20 61 6e 64 20 65 6e 64 0a 70 6f 69 6e 74 2e 22 s.starting.point.and.end.point."
103260 0a 20 20 28 65 6c 74 20 78 73 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 70 ...(elt.xs.0))..(defun.racket--p
103280 70 73 73 2d 63 6f 6e 74 61 69 6e 69 6e 67 2d 73 65 78 70 20 28 78 73 29 0a 20 20 22 54 68 65 20 pss-containing-sexp.(xs)..."The.
1032a0 63 68 61 72 61 63 74 65 72 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 74 61 72 74 20 character.position.of.the.start.
1032c0 6f 66 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 70 61 72 65 6e 74 68 65 74 69 63 61 6c 0a 67 of.the.innermost.parenthetical.g
1032e0 72 6f 75 70 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 73 74 6f 70 70 69 6e 67 20 rouping.containing.the.stopping.
103300 70 6f 69 6e 74 3b 20 6e 69 6c 20 69 66 20 6e 6f 6e 65 2e 22 0a 20 20 28 65 6c 74 20 78 73 20 31 point;.nil.if.none."...(elt.xs.1
103320 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 6c 61 73 74 2d 73 65 78 ))..(defun.racket--ppss-last-sex
103340 70 20 28 78 73 29 0a 20 20 22 54 68 65 20 63 68 61 72 61 63 74 65 72 20 70 6f 73 69 74 69 6f 6e p.(xs)..."The.character.position
103360 20 6f 66 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 6c 61 73 74 20 63 6f 6d 70 6c 65 .of.the.start.of.the.last.comple
103380 74 65 0a 73 75 62 65 78 70 72 65 73 73 69 6f 6e 20 74 65 72 6d 69 6e 61 74 65 64 3b 20 6e 69 6c te.subexpression.terminated;.nil
1033a0 20 69 66 20 6e 6f 6e 65 2e 0a 56 61 6c 69 64 20 6f 6e 6c 79 20 66 6f 72 20 60 70 61 72 73 65 2d .if.none..Valid.only.for.`parse-
1033c0 70 61 72 74 69 61 6c 2d 73 65 78 70 27 20 2d 2d 20 4e 4f 54 20 60 73 79 6e 74 61 78 2d 70 70 73 partial-sexp'.--.NOT.`syntax-pps
1033e0 73 27 2e 22 0a 20 20 28 65 6c 74 20 78 73 20 32 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 s'."...(elt.xs.2))..(defun.racke
103400 74 2d 2d 70 70 73 73 2d 73 74 72 69 6e 67 2d 70 20 28 78 73 29 0a 20 20 22 4e 6f 6e 2d 6e 69 6c t--ppss-string-p.(xs)..."Non-nil
103420 20 69 66 20 69 6e 73 69 64 65 20 61 20 73 74 72 69 6e 67 2e 0a 4d 6f 72 65 20 70 72 65 63 69 73 .if.inside.a.string..More.precis
103440 65 6c 79 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 ely,.this.is.the.character.that.
103460 77 69 6c 6c 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 0a 73 74 72 69 6e 67 2c 20 6f 72 20 74 20 will.terminate.the.string,.or.t.
103480 69 66 20 61 20 67 65 6e 65 72 69 63 20 73 74 72 69 6e 67 20 64 65 6c 69 6d 69 74 65 72 20 63 68 if.a.generic.string.delimiter.ch
1034a0 61 72 61 63 74 65 72 20 73 68 6f 75 6c 64 0a 74 65 72 6d 69 6e 61 74 65 20 69 74 2e 22 0a 20 20 aracter.should.terminate.it."...
1034c0 28 65 6c 74 20 78 73 20 33 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 70 70 73 73 (elt.xs.3))..(defun.racket--ppss
1034e0 2d 63 6f 6d 6d 65 6e 74 2d 70 20 28 78 73 29 0a 20 20 22 74 20 69 66 20 69 6e 73 69 64 65 20 61 -comment-p.(xs)..."t.if.inside.a
103500 20 6e 6f 6e 2d 6e 65 73 74 61 62 6c 65 20 63 6f 6d 6d 65 6e 74 20 28 6f 66 20 61 6e 79 20 63 6f .non-nestable.comment.(of.any.co
103520 6d 6d 65 6e 74 20 73 74 79 6c 65 3b 0a 2a 6e 6f 74 65 20 53 79 6e 74 61 78 20 46 6c 61 67 73 3a mment.style;.*note.Syntax.Flags:
103540 3a 29 3b 20 6f 72 20 74 68 65 20 63 6f 6d 6d 65 6e 74 20 6e 65 73 74 69 6e 67 20 6c 65 76 65 6c :);.or.the.comment.nesting.level
103560 20 69 66 20 69 6e 73 69 64 65 20 61 0a 63 6f 6d 6d 65 6e 74 20 74 68 61 74 20 63 61 6e 20 62 65 .if.inside.a.comment.that.can.be
103580 20 6e 65 73 74 65 64 2e 22 0a 20 20 28 65 6c 74 20 78 73 20 34 29 29 0a 0a 28 64 65 66 75 6e 20 .nested."...(elt.xs.4))..(defun.
1035a0 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 71 75 6f 74 65 2d 70 20 28 78 73 29 0a 20 20 22 74 20 69 racket--ppss-quote-p.(xs)..."t.i
1035c0 66 20 74 68 65 20 65 6e 64 20 70 6f 69 6e 74 20 69 73 20 6a 75 73 74 20 61 66 74 65 72 20 61 20 f.the.end.point.is.just.after.a.
1035e0 71 75 6f 74 65 20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 65 6c 74 20 78 73 20 35 29 29 0a quote.character."...(elt.xs.5)).
103600 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 70 70 73 73 2d 6d 69 6e 2d 70 61 72 65 6e 2d 64 .(defun.racket--ppss-min-paren-d
103620 65 70 74 68 20 28 78 73 29 0a 20 20 22 54 68 65 20 6d 69 6e 69 6d 75 6d 20 70 61 72 65 6e 74 68 epth.(xs)..."The.minimum.parenth
103640 65 73 69 73 20 64 65 70 74 68 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 64 75 72 69 6e 67 20 74 68 esis.depth.encountered.during.th
103660 69 73 20 73 63 61 6e 2e 0a 56 61 6c 69 64 20 6f 6e 6c 79 20 66 6f 72 20 60 70 61 72 73 65 2d 70 is.scan..Valid.only.for.`parse-p
103680 61 72 74 69 61 6c 2d 73 65 78 70 27 20 2d 2d 20 4e 4f 54 20 60 73 79 6e 74 61 78 2d 70 70 73 73 artial-sexp'.--.NOT.`syntax-ppss
1036a0 27 2e 22 0a 20 20 28 65 6c 74 20 78 73 20 36 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 '."...(elt.xs.6))..(defun.racket
1036c0 2d 2d 70 70 73 73 2d 63 6f 6d 6d 65 6e 74 2d 74 79 70 65 20 28 78 73 29 0a 20 20 22 57 68 61 74 --ppss-comment-type.(xs)..."What
1036e0 20 6b 69 6e 64 20 6f 66 20 63 6f 6d 6d 65 6e 74 20 69 73 20 61 63 74 69 76 65 3a 20 6e 69 6c 20 .kind.of.comment.is.active:.nil.
103700 69 66 20 6e 6f 74 20 69 6e 20 61 20 63 6f 6d 6d 65 6e 74 20 6f 72 0a 69 6e 20 61 20 63 6f 6d 6d if.not.in.a.comment.or.in.a.comm
103720 65 6e 74 20 6f 66 20 73 74 79 6c 65 20 61 3b 20 31 20 66 6f 72 20 61 20 63 6f 6d 6d 65 6e 74 20 ent.of.style.a;.1.for.a.comment.
103740 6f 66 20 73 74 79 6c 65 20 62 3b 20 32 20 66 6f 72 20 61 0a 63 6f 6d 6d 65 6e 74 20 6f 66 20 73 of.style.b;.2.for.a.comment.of.s
103760 74 79 6c 65 20 63 3b 20 61 6e 64 20 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 66 6f 72 20 61 20 63 tyle.c;.and.syntax-table.for.a.c
103780 6f 6d 6d 65 6e 74 20 74 68 61 74 0a 73 68 6f 75 6c 64 20 62 65 20 65 6e 64 65 64 20 62 79 20 61 omment.that.should.be.ended.by.a
1037a0 20 67 65 6e 65 72 69 63 20 63 6f 6d 6d 65 6e 74 20 64 65 6c 69 6d 69 74 65 72 20 63 68 61 72 61 .generic.comment.delimiter.chara
1037c0 63 74 65 72 2e 22 0a 20 20 28 65 6c 74 20 78 73 20 37 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 cter."...(elt.xs.7))..(defun.rac
1037e0 6b 65 74 2d 2d 70 70 73 73 2d 73 74 72 69 6e 67 2f 63 6f 6d 6d 65 6e 74 2d 73 74 61 72 74 20 28 ket--ppss-string/comment-start.(
103800 78 73 29 0a 20 20 22 54 68 65 20 73 74 72 69 6e 67 20 6f 72 20 63 6f 6d 6d 65 6e 74 20 73 74 61 xs)..."The.string.or.comment.sta
103820 72 74 20 70 6f 73 69 74 69 6f 6e 2e 0a 57 68 69 6c 65 20 69 6e 73 69 64 65 20 61 20 63 6f 6d 6d rt.position..While.inside.a.comm
103840 65 6e 74 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 77 68 65 72 65 20 ent,.this.is.the.position.where.
103860 74 68 65 20 63 6f 6d 6d 65 6e 74 0a 62 65 67 61 6e 3b 20 77 68 69 6c 65 20 69 6e 73 69 64 65 20 the.comment.began;.while.inside.
103880 61 20 73 74 72 69 6e 67 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 77 a.string,.this.is.the.position.w
1038a0 68 65 72 65 20 74 68 65 0a 73 74 72 69 6e 67 20 62 65 67 61 6e 2e 20 57 68 65 6e 20 6f 75 74 73 here.the.string.began..When.outs
1038c0 69 64 65 20 6f 66 20 73 74 72 69 6e 67 73 20 61 6e 64 20 63 6f 6d 6d 65 6e 74 73 2c 20 74 68 69 ide.of.strings.and.comments,.thi
1038e0 73 20 65 6c 65 6d 65 6e 74 0a 69 73 20 6e 69 6c 2e 22 0a 20 20 28 65 6c 74 20 78 73 20 38 29 29 s.element.is.nil."...(elt.xs.8))
103900 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 61 63 6b 65 74 2d 70 70 73 73 29 0a 0a 3b 3b 20 72 61 63 ..(provide.'racket-ppss)..;;.rac
103920 6b 65 74 2d 70 70 73 73 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 ket-ppss.el.ends.here...........
103940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1039a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1039c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1039e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103a00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
103a20 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-back-end.el..............
103a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
103a80 30 30 35 32 33 32 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 31 31 34 00 20 30 00 00 00 0052327.00000000000.017114..0...
103aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
103b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
103b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103c00 3b 3b 3b 20 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 ;;;.racket-back-end.el.-*-.lexic
103c20 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 al-binding:.t;.-*-..;;.Copyright
103c40 20 28 63 29 20 32 30 32 31 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f .(c).2021-2022.by.Greg.Hendersho
103c60 74 74 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 tt..;;.Portions.Copyright.(C).19
103c80 38 35 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 85-1986,.1999-2013.Free.Software
103ca0 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 47 72 .Foundation,.Inc...;;.Author:.Gr
103cc0 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 eg.Hendershott.;;.URL:.https://g
103ce0 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 ithub.com/greghendershott/racket
103d00 2d 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 -mode..;;.SPDX-License-Identifie
103d20 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 3b 20 42 61 63 6b 20 65 6e r:.GPL-3.0-or-later..;;;.Back.en
103d40 64 3a 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6d d:.configuration..(require.'cl-m
103d60 61 63 73 29 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 acs).(require.'cl-lib).(require.
103d80 27 66 69 6c 65 6e 6f 74 69 66 79 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 63 75 'filenotify).(require.'racket-cu
103da0 73 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 28 72 65 stom).(require.'racket-util).(re
103dc0 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 0a 28 72 65 71 75 69 72 65 20 27 74 72 61 6d 70 29 0a quire.'subr-x).(require.'tramp).
103de0 0a 3b 3b 20 41 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 22 62 61 63 6b 20 65 6e 64 22 20 69 73 20 .;;.A.Racket.Mode."back.end".is.
103e00 61 20 70 72 6f 63 65 73 73 20 72 75 6e 6e 69 6e 67 20 6f 75 72 20 72 61 63 6b 65 74 2f 6d 61 69 a.process.running.our.racket/mai
103e20 6e 2e 72 6b 74 2e 0a 3b 3b 20 54 68 65 20 70 72 6f 63 65 73 73 20 63 6f 75 6c 64 20 62 65 20 6c n.rkt..;;.The.process.could.be.l
103e40 6f 63 61 6c 20 6f 72 20 28 76 69 61 20 73 73 68 29 20 72 65 6d 6f 74 65 2e 20 54 68 65 20 72 65 ocal.or.(via.ssh).remote..The.re
103e60 6d 6f 74 65 20 70 72 6f 63 65 73 73 0a 3b 3b 20 63 6f 75 6c 64 20 65 76 65 6e 20 62 65 20 73 6f mote.process.;;.could.even.be.so
103e80 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 22 73 73 68 20 78 76 66 62 2d 72 75 6e 20 72 61 63 6b 65 mething.like."ssh.xvfb-run.racke
103ea0 74 20 72 61 63 6b 65 74 2f 6d 61 69 6e 2e 72 6b 74 22 2e 0a 3b 3b 20 42 75 74 20 66 6f 72 20 6d t.racket/main.rkt"..;;.But.for.m
103ec0 6f 73 74 20 70 65 6f 70 6c 65 20 69 74 27 73 20 73 69 6d 70 6c 79 20 61 20 6c 6f 63 61 6c 20 70 ost.people.it's.simply.a.local.p
103ee0 72 6f 63 65 73 73 2c 20 72 75 6e 6e 69 6e 67 20 6f 6e 20 74 68 65 0a 3b 3b 20 73 61 6d 65 20 6d rocess,.running.on.the.;;.same.m
103f00 61 63 68 69 6e 65 20 61 73 20 45 6d 61 63 73 2e 0a 3b 3b 0a 3b 3b 20 54 68 65 20 62 61 63 6b 20 achine.as.Emacs..;;.;;.The.back.
103f20 65 6e 64 20 61 63 63 65 70 74 73 20 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 20 72 65 74 75 72 6e 73 end.accepts.commands.and.returns
103f40 20 72 65 73 70 6f 6e 73 65 73 2c 20 61 73 20 77 65 6c 6c 20 61 73 0a 3b 3b 20 67 69 76 69 6e 67 .responses,.as.well.as.;;.giving
103f60 20 6e 6f 6e 2d 63 6f 6d 6d 61 6e 64 2d 72 65 73 70 6f 6e 73 65 20 6e 6f 74 69 66 69 63 61 74 69 .non-command-response.notificati
103f80 6f 6e 73 20 28 6c 6f 67 67 69 6e 67 2c 20 64 65 62 75 67 67 69 6e 67 29 2c 0a 3b 3b 20 77 68 69 ons.(logging,.debugging),.;;.whi
103fa0 63 68 20 69 73 20 68 61 6e 64 6c 65 64 20 69 6e 20 72 61 63 6b 65 74 2d 63 6d 64 2e 65 6c 2e 0a ch.is.handled.in.racket-cmd.el..
103fc0 3b 3b 0a 3b 3b 20 57 68 65 6e 20 73 6f 6d 65 20 62 75 66 66 65 72 20 6e 65 65 64 73 20 61 20 62 ;;.;;.When.some.buffer.needs.a.b
103fe0 61 63 6b 20 65 6e 64 2c 20 77 68 69 63 68 20 62 61 63 6b 20 65 6e 64 20 64 6f 65 73 20 69 74 20 ack.end,.which.back.end.does.it.
104000 75 73 65 3f 0a 3b 3b 20 54 68 61 74 27 73 20 74 68 65 20 63 6f 6e 63 65 72 6e 20 6f 66 20 74 68 use?.;;.That's.the.concern.of.th
104020 65 20 62 61 63 6b 20 65 6e 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 63 6f 64 65 20 69 6e e.back.end.configuration.code.in
104040 20 74 68 69 73 20 66 69 6c 65 2e 0a 0a 3b 3b 20 43 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 63 72 .this.file...;;.Commands.that.cr
104060 65 61 74 65 20 62 75 66 66 65 72 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 76 69 73 69 74 20 61 eate.buffers.that.do.not.visit.a
104080 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 75 73 65 0a 3b 3b 20 60 72 61 63 6b 65 74 2d 62 61 63 6b .file.should.use.;;.`racket-back
1040a0 2d 65 6e 64 2d 6e 61 6d 65 27 20 61 73 20 61 20 73 75 66 66 69 78 20 69 6e 20 74 68 65 20 62 75 -end-name'.as.a.suffix.in.the.bu
1040c0 66 66 65 72 20 6e 61 6d 65 20 2d 2d 20 65 6e 61 62 6c 69 6e 67 20 61 0a 3b 3b 20 75 6e 69 71 75 ffer.name.--.enabling.a.;;.uniqu
1040e0 65 20 62 75 66 66 65 72 20 70 65 72 20 62 61 63 6b 20 65 6e 64 20 61 73 20 77 65 6c 6c 20 61 73 e.buffer.per.back.end.as.well.as
104100 20 6d 61 6b 69 6e 67 20 69 74 20 65 61 73 79 20 66 6f 72 20 75 73 65 72 73 20 74 6f 0a 3b 3b 20 .making.it.easy.for.users.to.;;.
104120 64 69 73 74 69 6e 67 75 69 73 68 20 74 68 65 6d 2e 20 53 65 65 20 74 68 65 20 73 6f 75 72 63 65 distinguish.them..See.the.source
104140 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 27 20 61 73 20 61 .for.`racket-describe-mode'.as.a
104160 6e 0a 3b 3b 20 65 78 61 6d 70 6c 65 2e 0a 0a 3b 3b 20 56 61 6c 75 65 73 20 66 6f 72 20 74 68 65 n.;;.example...;;.Values.for.the
104180 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 .variable.`racket-repl-buffer-na
1041a0 6d 65 2d 66 75 6e 63 74 69 6f 6e 27 20 6e 65 65 64 20 74 6f 0a 3b 3b 20 62 65 20 61 77 61 72 65 me-function'.need.to.;;.be.aware
1041c0 20 6f 66 20 68 6f 73 74 20 6e 61 6d 65 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 65 76 65 .of.host.names..For.example,.eve
1041e0 6e 0a 3b 3b 20 60 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 n.;;.`racket-repl-buffer-name-sh
104200 61 72 65 64 27 20 6e 65 65 64 73 20 74 6f 20 72 65 74 75 72 6e 20 64 69 66 66 65 72 65 6e 74 20 ared'.needs.to.return.different.
104220 52 45 50 4c 0a 3b 3b 20 62 75 66 66 65 72 20 6e 61 6d 65 73 20 66 6f 72 20 64 69 66 66 65 72 65 REPL.;;.buffer.names.for.differe
104240 6e 74 20 62 61 63 6b 20 65 6e 64 20 6e 61 6d 65 73 20 2d 2d 20 62 65 63 61 75 73 65 20 61 20 52 nt.back.end.names.--.because.a.R
104260 45 50 4c 20 6f 6e 20 61 0a 3b 3b 20 62 61 63 6b 20 65 6e 64 20 63 61 6e 6e 6f 74 20 72 75 6e 20 EPL.on.a.;;.back.end.cannot.run.
104280 66 69 6c 65 73 20 68 6f 73 74 65 64 20 6f 6e 20 61 6e 6f 74 68 65 72 2e 0a 0a 3b 3b 20 4e 6f 74 files.hosted.on.another...;;.Not
1042a0 65 3a 20 49 6e 20 76 61 72 69 6f 75 73 20 70 6c 61 63 65 73 20 77 65 20 75 73 65 20 60 66 69 6c e:.In.various.places.we.use.`fil
1042c0 65 2d 72 65 6d 6f 74 65 2d 70 27 2c 20 77 68 69 63 68 2c 20 64 65 73 70 69 74 65 20 74 68 65 0a e-remote-p',.which,.despite.the.
1042e0 3b 3b 20 22 2d 70 22 20 69 73 6e 27 74 20 6a 75 73 74 20 61 20 70 72 65 64 69 63 61 74 65 3b 20 ;;."-p".isn't.just.a.predicate;.
104300 69 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 72 65 6d 6f 74 65 20 70 72 65 66 69 78 20 62 65 66 it.returns.the.remote.prefix.bef
104320 6f 72 65 0a 3b 3b 20 74 68 65 20 6c 6f 63 61 6c 6e 61 6d 65 2c 20 65 78 70 61 6e 64 65 64 2e 0a ore.;;.the.localname,.expanded..
104340 3b 3b 0a 3b 3b 20 41 6c 74 68 6f 75 67 68 20 60 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 27 20 68 ;;.;;.Although.`file-remote-p'.h
104360 61 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 65 78 74 72 61 as.an.optional.argument.to.extra
104380 63 74 0a 3b 3b 20 70 69 65 63 65 73 2c 20 6f 6e 6c 79 20 27 6c 6f 63 61 6c 6e 61 6d 65 20 28 61 ct.;;.pieces,.only.'localname.(a
1043a0 6e 64 20 70 65 72 68 61 70 73 20 27 75 73 65 72 3f 29 20 61 72 65 20 72 65 6c 69 61 62 6c 65 20 nd.perhaps.'user?).are.reliable.
1043c0 61 74 20 6c 65 61 73 74 0a 3b 3b 20 69 6e 20 45 6d 61 63 73 20 32 35 2e 20 49 6e 73 74 65 61 64 at.least.;;.in.Emacs.25..Instead
1043e0 20 73 65 65 20 60 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 68 6f 73 74 2b 75 73 65 72 .see.`racket--back-end-host+user
104400 2b 70 6f 72 74 27 2e 0a 0a 3b 3b 20 4e 6f 74 65 20 74 68 61 74 20 77 65 20 64 69 73 72 65 67 61 +port'...;;.Note.that.we.disrega
104420 72 64 20 74 68 65 20 74 72 61 6d 70 20 6d 65 74 68 6f 64 20 28 69 66 20 61 6e 79 29 20 66 6f 72 rd.the.tramp.method.(if.any).for
104440 20 62 6f 74 68 0a 3b 3b 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 20 61 6e 64 .both.;;.`default-directory'.and
104460 20 74 68 65 20 3a 64 69 72 65 63 74 6f 72 79 20 69 74 65 6d 20 66 6f 72 20 62 61 63 6b 20 65 6e .the.:directory.item.for.back.en
104480 64 0a 3b 3b 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 2e 20 54 68 65 20 75 73 65 72 20 6d 61 d.;;.configurations..The.user.ma
1044a0 79 20 68 61 76 65 20 75 73 65 64 20 6d 65 74 68 6f 64 73 20 6c 69 6b 65 20 73 73 68 2c 20 73 73 y.have.used.methods.like.ssh,.ss
1044c0 68 78 2c 20 73 63 70 2c 0a 3b 3b 20 73 63 70 78 2c 20 6f 72 20 72 73 79 6e 63 20 77 69 74 68 20 hx,.scp,.;;.scpx,.or.rsync.with.
1044e0 60 66 69 6e 64 2d 66 69 6c 65 27 2c 20 61 6e 64 20 6f 66 20 63 6f 75 72 73 65 20 74 72 61 6d 70 `find-file',.and.of.course.tramp
104500 20 77 69 6c 6c 20 75 73 65 20 74 68 6f 73 65 0a 3b 3b 20 66 6f 72 20 66 69 6c 65 20 74 72 61 6e .will.use.those.;;.for.file.tran
104520 73 66 65 72 73 20 66 6f 72 20 74 68 6f 73 65 20 62 75 66 66 65 72 73 2e 20 42 75 74 20 69 6e 20 sfers.for.those.buffers..But.in.
104540 61 6c 6c 20 63 61 73 65 73 20 6f 75 72 20 62 61 63 6b 20 65 6e 64 0a 3b 3b 20 70 72 6f 63 65 73 all.cases.our.back.end.;;.proces
104560 73 20 69 73 20 73 74 61 72 74 65 64 20 75 73 69 6e 67 20 73 73 68 2e 20 45 78 61 6d 70 6c 65 3a s.is.started.using.ssh..Example:
104580 20 49 66 20 74 68 65 20 75 73 65 72 20 68 61 73 20 6f 6e 65 20 62 75 66 66 65 72 0a 3b 3b 20 77 .If.the.user.has.one.buffer.;;.w
1045a0 69 74 68 20 73 73 68 20 6d 65 74 68 6f 64 20 62 75 74 20 61 6e 6f 74 68 65 72 20 62 75 66 66 65 ith.ssh.method.but.another.buffe
1045c0 72 20 77 69 74 68 20 73 63 70 20 6d 65 74 68 6f 64 2c 20 66 6f 72 20 74 68 65 20 73 61 6d 65 0a r.with.scp.method,.for.the.same.
1045e0 3b 3b 20 68 6f 73 74 2c 20 77 65 20 64 6f 20 2f 6e 6f 74 2f 20 77 61 6e 74 20 74 77 6f 20 64 69 ;;.host,.we.do./not/.want.two.di
104600 66 66 65 72 65 6e 74 20 62 61 63 6b 20 65 6e 64 73 20 6f 6e 20 74 68 61 74 20 73 61 6d 65 20 68 fferent.back.ends.on.that.same.h
104620 6f 73 74 2c 0a 3b 3b 20 73 6f 6c 65 6c 79 20 64 75 65 20 74 6f 20 74 68 6f 73 65 20 64 69 66 66 ost,.;;.solely.due.to.those.diff
104640 65 72 69 6e 67 20 6d 65 74 68 6f 64 73 3b 20 6e 6f 72 20 64 6f 20 77 65 20 77 61 6e 74 20 74 68 ering.methods;.nor.do.we.want.th
104660 65 20 75 73 65 72 20 74 6f 0a 3b 3b 20 6e 65 65 64 20 74 6f 20 63 6f 6e 66 69 67 75 72 65 20 62 e.user.to.;;.need.to.configure.b
104680 6f 74 68 2e 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 63 6f oth...(defvar.racket-back-end-co
1046a0 6e 66 69 67 75 72 61 74 69 6f 6e 73 20 6e 69 6c 0a 20 20 22 41 20 6c 69 73 74 20 6f 66 20 70 72 nfigurations.nil..."A.list.of.pr
1046c0 6f 70 65 72 74 79 20 6c 69 73 74 73 2c 20 65 61 63 68 20 6f 66 20 77 68 69 63 68 20 68 61 73 20 operty.lists,.each.of.which.has.
1046e0 61 20 75 6e 69 71 75 65 20 3a 64 69 72 65 63 74 6f 72 79 2e 0a 0a 49 6e 73 74 65 61 64 20 6f 66 a.unique.:directory...Instead.of
104700 20 6d 6f 64 69 66 79 69 6e 67 20 74 68 69 73 20 64 69 72 65 63 74 6c 79 2c 20 75 73 65 72 73 20 .modifying.this.directly,.users.
104720 73 68 6f 75 6c 64 0a 60 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 27 20 61 6e 64 should.`racket-add-back-end'.and
104740 20 60 72 61 63 6b 65 74 2d 72 65 6d 6f 76 65 2d 62 61 63 6b 2d 65 6e 64 27 2e 22 29 0a 0a 28 64 .`racket-remove-back-end'.")..(d
104760 65 66 75 6e 20 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 20 28 29 0a 20 20 22 52 65 74 75 72 efun.racket-back-end.()..."Retur
104780 6e 20 61 20 62 61 63 6b 20 65 6e 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 70 6c 69 73 74 n.a.back.end.configuration.plist
1047a0 20 66 6f 72 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 0a 49 66 20 61 20 63 6f 6e 66 69 .for.current.buffer...If.a.confi
1047c0 67 75 72 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 2c guration.does.not.already.exist,
1047e0 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 61 64 64 0a 6f 6e 65 20 66 6f 72 20 5c 22 2f 5c 22 .automatically.add.one.for.\"/\"
104800 20 6f 6e 20 74 68 65 20 68 6f 73 74 2f 75 73 65 72 2f 70 6f 72 74 2e 22 0a 20 20 28 6c 65 74 20 .on.the.host/user/port."...(let.
104820 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 28 72 61 63 6b 65 74 2d 2d 66 69 6c ((default-directory.(racket--fil
104840 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 72 65 6d 6f 74 65 2d 6d 65 74 68 6f 64 20 64 65 66 61 75 6c e-name-sans-remote-method.defaul
104860 74 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 28 6f 72 20 28 63 6c 2d 66 69 6e 64 20 t-directory))).....(or.(cl-find.
104880 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 default-directory...............
1048a0 20 20 20 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e ...racket-back-end-configuration
1048c0 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 65 73 74 0a 20 20 20 20 20 20 20 s..................:test........
1048e0 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 64 64 20 62 61 63 6b 2d 65 6e 64 29 0a ..........(lambda.(dd.back-end).
104900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 69 73 20 61 73 73 75 6d ...................;;.This.assum
104920 65 73 20 60 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 27 20 6b 65 65 70 73 20 74 es.`racket-add-back-end'.keeps.t
104940 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6c 69 73 74 20 73 6f he....................;;.list.so
104960 72 74 65 64 20 66 72 6f 6d 20 6c 6f 6e 67 65 73 74 20 74 6f 20 73 68 6f 72 74 65 73 74 20 3a 64 rted.from.longest.to.shortest.:d
104980 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70 irectory....................;;.p
1049a0 61 74 74 65 72 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c atterns.....................(fil
1049c0 65 2d 69 6e 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 64 64 20 28 70 6c 69 73 74 2d 67 65 74 20 62 e-in-directory-p.dd.(plist-get.b
1049e0 61 63 6b 2d 65 6e 64 20 3a 64 69 72 65 63 74 6f 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 ack-end.:directory)))).........(
104a00 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 20 28 69 66 2d 6c 65 74 20 28 73 74 72 racket-add-back-end.(if-let.(str
104a20 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 .(file-remote-p.default-director
104a40 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y)).............................
104a60 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 73 74 .....(substring-no-properties.st
104a80 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r)..............................
104aa0 20 20 22 2f 22 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 .."/")))))..(defun.racket-add-ba
104ac0 63 6b 2d 65 6e 64 20 28 64 69 72 65 63 74 6f 72 79 20 26 72 65 73 74 20 70 6c 69 73 74 29 0a 20 ck-end.(directory.&rest.plist)..
104ae0 20 22 41 64 64 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 61 20 52 61 63 6b 65 74 20 ."Add.a.description.of.a.Racket.
104b00 4d 6f 64 65 20 62 61 63 6b 20 65 6e 64 2e 0a 0a 52 61 63 6b 65 74 20 4d 6f 64 65 20 73 75 70 70 Mode.back.end...Racket.Mode.supp
104b20 6f 72 74 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 62 61 63 6b 20 65 6e 64 73 2c 20 77 68 69 63 orts.one.or.more.back.ends,.whic
104b40 68 20 61 72 65 20 52 61 63 6b 65 74 0a 70 72 6f 63 65 73 73 65 73 20 73 75 70 70 6f 72 74 69 6e h.are.Racket.processes.supportin
104b60 67 20 52 45 50 4c 73 20 61 73 20 77 65 6c 6c 20 61 73 20 76 61 72 69 6f 75 73 20 6f 74 68 65 72 g.REPLs.as.well.as.various.other
104b80 20 52 61 63 6b 65 74 20 4d 6f 64 65 0a 66 65 61 74 75 72 65 73 2e 0a 0a 44 49 52 45 43 54 4f 52 .Racket.Mode.features...DIRECTOR
104ba0 59 20 69 73 20 61 20 73 74 72 69 6e 67 20 64 65 73 63 72 69 62 69 6e 67 20 61 20 60 66 69 6c 65 Y.is.a.string.describing.a.`file
104bc0 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74 65 2d 70 27 0a 64 69 72 65 63 74 6f 72 79 20 6f 6e 20 73 -name-absolute-p'.directory.on.s
104be0 6f 6d 65 20 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 65 20 73 65 72 76 65 72 2e 0a 0a 57 68 65 ome.local.or.remote.server...Whe
104c00 6e 20 61 20 62 61 63 6b 20 65 6e 64 27 73 20 44 49 52 45 43 54 4f 52 59 20 69 73 20 74 68 65 20 n.a.back.end's.DIRECTORY.is.the.
104c20 6c 6f 6e 67 65 73 74 20 6d 61 74 63 68 69 6e 67 20 70 72 65 66 69 78 20 6f 66 20 61 0a 62 75 66 longest.matching.prefix.of.a.buf
104c40 66 65 72 27 73 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 2c 20 74 68 61 74 20 fer's.`default-directory',.that.
104c60 62 61 63 6b 20 65 6e 64 20 69 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 0a 62 75 66 66 65 72 2e back.end.is.used.for.the.buffer.
104c80 0a 0a 44 49 52 45 43 54 4f 52 59 20 63 61 6e 20 62 65 20 61 20 6c 6f 63 61 6c 20 64 69 72 65 63 ..DIRECTORY.can.be.a.local.direc
104ca0 74 6f 72 79 20 6c 69 6b 65 20 5c 22 2f 5c 22 20 6f 72 0a 5c 22 2f 70 61 74 68 2f 74 6f 2f 70 72 tory.like.\"/\".or.\"/path/to/pr
104cc0 6f 6a 65 63 74 5c 22 2c 20 6f 72 20 61 20 60 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 27 20 64 69 oject\",.or.a.`file-remote-p'.di
104ce0 72 65 63 74 6f 72 79 20 6c 69 6b 65 0a 5c 22 2f 75 73 65 72 40 68 6f 73 74 3a 5c 22 20 6f 72 20 rectory.like.\"/user@host:\".or.
104d00 5c 22 2f 75 73 65 72 40 68 6f 73 74 3a 2f 70 61 74 68 2f 74 6f 2f 70 72 6f 6a 65 63 74 5c 22 2e \"/user@host:/path/to/project\".
104d20 0a 0a 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 65 ..Note.that.you.need.not.include
104d40 20 61 20 6d 65 74 68 6f 64 20 2d 2d 20 73 75 63 68 20 61 73 20 74 68 65 20 5c 22 73 73 68 5c 22 .a.method.--.such.as.the.\"ssh\"
104d60 20 69 6e 0a 5c 22 2f 73 73 68 3a 75 73 65 72 40 68 6f 73 74 3a 5c 22 20 2d 2d 20 61 6e 64 20 69 .in.\"/ssh:user@host:\".--.and.i
104d80 66 20 79 6f 75 20 64 6f 20 69 74 20 69 73 20 73 74 72 69 70 70 65 64 3a 20 41 20 62 61 63 6b 20 f.you.do.it.is.stripped:.A.back.
104da0 65 6e 64 0a 70 72 6f 63 65 73 73 20 69 73 20 61 6c 77 61 79 73 20 73 74 61 72 74 65 64 20 75 73 end.process.is.always.started.us
104dc0 69 6e 67 20 53 53 48 2e 20 45 76 65 6e 20 69 66 20 6d 75 6c 74 69 70 6c 65 20 62 75 66 66 65 72 ing.SSH..Even.if.multiple.buffer
104de0 73 20 66 6f 72 0a 74 68 65 20 73 61 6d 65 20 75 73 65 72 2b 68 6f 73 74 2b 70 6f 72 74 20 75 73 s.for.the.same.user+host+port.us
104e00 65 20 64 69 66 66 65 72 65 6e 74 20 6d 65 74 68 6f 64 73 2c 20 74 68 65 79 20 77 69 6c 6c 20 73 e.different.methods,.they.will.s
104e20 68 61 72 65 0a 74 68 65 20 73 61 6d 65 20 62 61 63 6b 20 65 6e 64 2e 0a 0a 50 72 61 63 74 69 63 hare.the.same.back.end...Practic
104e40 61 6c 6c 79 20 73 70 65 61 6b 69 6e 67 2c 20 44 49 52 45 43 54 4f 52 59 20 69 73 20 61 20 70 61 ally.speaking,.DIRECTORY.is.a.pa
104e60 74 68 20 79 6f 75 20 63 6f 75 6c 64 20 67 69 76 65 20 74 6f 0a 60 66 69 6e 64 2d 66 69 6c 65 27 th.you.could.give.to.`find-file'
104e80 20 74 6f 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 66 69 6e 64 20 73 6f 6d 65 20 6c 6f 63 61 6c .to.successfully.find.some.local
104ea0 20 6f 72 20 72 65 6d 6f 74 65 20 66 69 6c 65 2c 20 62 75 74 0a 6f 6d 69 74 74 69 6e 67 20 61 6e .or.remote.file,.but.omitting.an
104ec0 79 20 6d 65 74 68 6f 64 2e 20 28 53 6f 6d 65 20 72 65 6d 6f 74 65 20 66 69 6c 65 20 73 68 6f 72 y.method..(Some.remote.file.shor
104ee0 74 68 61 6e 64 20 66 6f 72 6d 73 20 67 65 74 0a 65 78 70 61 6e 64 65 64 20 74 6f 20 61 74 20 6c thand.forms.get.expanded.to.at.l
104f00 65 61 73 74 20 5c 22 2f 6d 65 74 68 6f 64 3a 68 6f 73 74 3a 5c 22 2e 20 57 68 65 6e 20 69 6e 20 east.\"/method:host:\"..When.in.
104f20 64 6f 75 62 74 20 63 68 65 63 6b 0a 60 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 27 20 61 doubt.check.`buffer-file-name'.a
104f40 6e 64 20 66 6f 6c 6c 6f 77 20 69 74 73 20 65 78 61 6d 70 6c 65 2e 29 0a 0a 49 6e 20 61 64 64 69 nd.follow.its.example.)..In.addi
104f60 74 69 6f 6e 20 74 6f 20 62 65 69 6e 67 20 75 73 65 64 20 61 73 20 61 20 70 61 74 74 65 72 6e 20 tion.to.being.used.as.a.pattern.
104f80 74 6f 20 70 69 63 6b 20 61 20 62 61 63 6b 20 65 6e 64 20 66 6f 72 20 61 0a 62 75 66 66 65 72 2c to.pick.a.back.end.for.a.buffer,
104fa0 20 44 49 52 45 43 54 4f 52 59 20 64 65 74 65 72 6d 69 6e 65 73 3a 0a 0a 2d 20 57 68 65 74 68 65 .DIRECTORY.determines:..-.Whethe
104fc0 72 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 69 73 20 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 r.the.back.end.is.local.or.remot
104fe0 65 2e 0a 0a 2d 20 57 68 65 6e 20 72 65 6d 6f 74 65 2c 20 61 6e 79 20 65 78 70 6c 69 63 69 74 20 e...-.When.remote,.any.explicit.
105000 75 73 65 72 20 61 6e 64 20 70 6f 72 74 20 75 73 65 64 20 74 6f 20 6d 61 6b 65 20 53 53 48 0a 20 user.and.port.used.to.make.SSH..
105020 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 28 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 72 65 6c 79 .connections.(as.opposed.to.rely
105040 69 6e 67 20 6f 6e 20 76 61 6c 75 65 73 20 66 72 6f 6d 0a 20 20 7e 2f 2e 73 73 68 2f 63 6f 6e 66 ing.on.values.from...~/.ssh/conf
105060 69 67 29 2e 0a 0a 2d 20 4f 74 68 65 72 20 70 72 6f 70 65 72 74 69 65 73 20 67 65 74 20 72 65 61 ig)...-.Other.properties.get.rea
105080 73 6f 6e 61 62 6c 65 20 64 65 66 61 75 6c 74 73 20 62 61 73 65 64 20 6f 6e 20 77 68 65 74 68 65 sonable.defaults.based.on.whethe
1050a0 72 20 74 68 65 0a 20 20 62 61 63 6b 20 65 6e 64 20 69 73 20 6c 6f 63 61 6c 20 6f 72 20 72 65 6d r.the...back.end.is.local.or.rem
1050c0 6f 74 65 2c 20 61 73 20 64 65 73 63 72 69 62 65 64 20 62 65 6c 6f 77 2e 0a 0a 41 66 74 65 72 20 ote,.as.described.below...After.
1050e0 44 49 52 45 43 54 4f 52 59 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 69 6e 67 20 61 72 67 75 6d DIRECTORY,.the.remainining.argum
105100 65 6e 74 73 20 61 72 65 20 6f 70 74 69 6f 6e 61 6c 3b 20 74 68 65 79 20 61 72 65 0a 61 6c 74 65 ents.are.optional;.they.are.alte
105120 72 6e 61 74 69 6e 67 20 3a 6b 65 79 77 6f 72 64 73 20 61 6e 64 20 76 61 6c 75 65 73 20 64 65 73 rnating.:keywords.and.values.des
105140 63 72 69 62 69 6e 67 20 73 6f 6d 65 20 6f 74 68 65 72 20 70 72 6f 70 65 72 74 69 65 73 0a 6f 66 cribing.some.other.properties.of
105160 20 61 20 62 61 63 6b 20 65 6e 64 3a 0a 0a 2d 20 3a 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 0a .a.back.end:..-.:racket-program.
105180 0a 20 20 57 68 65 6e 20 6e 6f 74 20 6e 69 6c 20 74 68 69 73 20 69 73 20 75 73 65 64 20 69 6e 73 ...When.not.nil.this.is.used.ins
1051a0 74 65 61 64 20 6f 66 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 0a 20 20 63 75 73 74 6f tead.of.the.value.of.the...custo
1051c0 6d 69 7a 61 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 20 60 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 mization.variable.`racket-progra
1051e0 6d 27 2e 0a 0a 2d 20 3a 72 65 6d 6f 74 65 2d 73 6f 75 72 63 65 2d 64 69 72 0a 0a 20 20 57 68 65 m'...-.:remote-source-dir....Whe
105200 72 65 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 68 6f 73 74 20 74 6f 20 63 6f 70 79 20 74 68 65 20 re.on.a.remote.host.to.copy.the.
105220 62 61 63 6b 20 65 6e 64 27 73 20 2a 2e 72 6b 74 20 66 69 6c 65 73 20 77 68 65 6e 0a 20 20 74 68 back.end's.*.rkt.files.when...th
105240 65 79 20 64 6f 20 6e 6f 74 20 65 78 69 73 74 20 6f 72 20 64 6f 20 6e 6f 74 20 6d 61 74 63 68 20 ey.do.not.exist.or.do.not.match.
105260 74 68 65 20 64 69 67 65 73 74 20 6f 66 20 74 68 65 20 6c 6f 63 61 6c 0a 20 20 66 69 6c 65 73 2e the.digest.of.the.local...files.
105280 20 54 68 69 73 20 6d 75 73 74 20 62 65 20 60 66 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74 .This.must.be.`file-name-absolut
1052a0 65 2d 70 27 20 6f 6e 20 74 68 65 20 72 65 6d 6f 74 65 2e 20 4f 6e 6c 79 0a 20 20 73 75 70 70 6c e-p'.on.the.remote..Only...suppl
1052c0 79 20 74 68 65 20 6c 6f 63 61 6c 6e 61 6d 65 20 74 68 65 72 65 20 28 6e 6f 74 20 61 20 66 75 6c y.the.localname.there.(not.a.ful
1052e0 6c 20 60 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 27 29 2e 20 54 68 65 0a 20 20 64 65 66 61 75 6c l.`file-remote-p')..The...defaul
105300 74 20 76 61 6c 75 65 20 69 73 20 5c 22 2f 74 6d 70 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 62 61 t.value.is.\"/tmp/racket-mode-ba
105320 63 6b 2d 65 6e 64 5c 22 2e 0a 0a 2d 20 3a 77 69 6e 64 6f 77 73 0a 0a 20 20 57 68 65 74 68 65 72 ck-end\"...-.:windows....Whether
105340 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 75 73 65 73 20 57 69 6e 64 6f 77 73 20 73 74 79 6c 65 .the.back.end.uses.Windows.style
105360 20 70 61 74 68 20 6e 61 6d 65 73 2e 20 55 73 65 64 20 74 6f 0a 20 20 74 72 61 6e 73 6c 61 74 65 .path.names..Used.to...translate
105380 20 62 65 74 77 65 6e 20 73 6c 61 73 68 65 73 20 61 6e 64 20 62 61 63 6b 73 6c 61 73 68 65 73 20 .betwen.slashes.and.backslashes.
1053a0 62 65 74 77 65 65 6e 20 74 68 65 20 45 6d 61 63 73 0a 20 20 66 72 6f 6e 74 20 65 6e 64 20 28 77 between.the.Emacs...front.end.(w
1053c0 68 69 63 68 20 75 73 65 73 20 73 6c 61 73 68 65 73 20 65 76 65 6e 20 6f 6e 20 57 69 6e 64 6f 77 hich.uses.slashes.even.on.Window
1053e0 73 29 20 61 6e 64 20 74 68 65 20 52 61 63 6b 65 74 0a 20 20 62 61 63 6b 20 65 6e 64 20 28 77 68 s).and.the.Racket...back.end.(wh
105400 69 63 68 20 65 78 70 65 63 74 73 20 6e 61 74 69 76 65 20 62 61 63 6b 73 6c 61 73 68 65 73 20 6f ich.expects.native.backslashes.o
105420 6e 20 57 69 6e 64 6f 77 73 29 2e 0a 0a 2d 20 3a 72 65 73 74 61 72 74 2d 77 61 74 63 68 2d 64 69 n.Windows)...-.:restart-watch-di
105440 72 65 63 74 6f 72 69 65 73 0a 0a 20 20 41 20 6c 69 73 74 20 6f 66 20 60 64 69 72 65 63 74 6f 72 rectories....A.list.of.`director
105460 79 2d 6e 61 6d 65 2d 70 27 20 73 74 72 69 6e 67 73 2e 20 45 61 63 68 20 64 69 72 65 63 74 6f 72 y-name-p'.strings..Each.director
105480 79 2c 20 61 6e 64 0a 20 20 72 65 63 75 72 73 69 76 65 6c 79 20 69 74 73 20 73 75 62 64 69 72 65 y,.and...recursively.its.subdire
1054a0 63 74 6f 72 69 65 73 2c 20 77 69 6c 6c 20 62 65 20 77 61 74 63 68 65 64 20 66 6f 72 20 66 69 6c ctories,.will.be.watched.for.fil
1054c0 65 20 73 79 73 74 65 6d 0a 20 20 63 68 61 6e 67 65 73 2e 20 41 66 74 65 72 20 61 6e 79 20 63 68 e.system...changes..After.any.ch
1054e0 61 6e 67 65 73 20 61 72 65 20 64 65 74 65 63 74 65 64 2c 20 74 68 65 20 6e 65 78 74 0a 20 20 60 anges.are.detected,.the.next...`
105500 72 61 63 6b 65 74 2d 72 75 6e 27 20 28 6f 72 20 60 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 racket-run'.(or.`racket-run-modu
105520 6c 65 2d 61 74 2d 70 6f 69 6e 74 27 20 65 74 63 2e 29 20 63 6f 6d 6d 61 6e 64 0a 20 20 77 69 6c le-at-point'.etc.).command...wil
105540 6c 20 61 73 6b 20 79 6f 75 20 69 66 20 69 74 20 73 68 6f 75 6c 64 20 72 65 73 74 61 72 74 20 74 l.ask.you.if.it.should.restart.t
105560 68 65 20 62 61 63 6b 20 65 6e 64 20 66 6f 72 20 79 6f 75 2e 20 54 68 69 73 0a 20 20 6d 61 79 20 he.back.end.for.you..This...may.
105580 62 65 20 68 65 6c 70 66 75 6c 20 77 68 65 6e 20 79 6f 75 20 61 72 65 20 63 68 61 6e 67 69 6e 67 be.helpful.when.you.are.changing
1055a0 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 74 68 65 0a 20 20 62 61 63 6b .source.files.used.by.the...back
1055c0 20 65 6e 64 2e 0a 0a 54 68 65 20 64 65 66 61 75 6c 74 20 70 72 6f 70 65 72 74 79 20 76 61 6c 75 .end...The.default.property.valu
1055e0 65 73 20 61 72 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 77 68 65 74 68 65 72 0a 44 es.are.appropriate.for.whether.D
105600 49 52 45 43 54 4f 52 59 20 69 73 20 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 65 3a 0a 0a 2d 20 IRECTORY.is.local.or.remote:..-.
105620 57 68 65 6e 20 44 49 52 45 43 54 4f 52 59 20 69 73 20 72 65 6d 6f 74 65 2c 20 3a 77 69 6e 64 6f When.DIRECTORY.is.remote,.:windo
105640 77 73 20 64 65 66 61 75 6c 74 73 20 74 6f 20 6e 69 6c 2e 0a 0a 2d 20 4f 74 68 65 72 77 69 73 65 ws.defaults.to.nil...-.Otherwise
105660 2c 20 3a 77 69 6e 64 6f 77 73 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 20 76 61 6c 75 65 20 62 ,.:windows.defaults.to.a.value.b
105680 61 73 65 64 20 6f 6e 20 60 73 79 73 74 65 6d 2d 74 79 70 65 27 2e 0a 0a 41 6c 74 68 6f 75 67 68 ased.on.`system-type'...Although
1056a0 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 20 75 73 75 61 6c 6c 79 20 5c 22 6a 75 .the.default.values.usually.\"ju
1056c0 73 74 20 77 6f 72 6b 5c 22 20 66 6f 72 20 6c 6f 63 61 6c 20 61 6e 64 0a 72 65 6d 6f 74 65 20 62 st.work\".for.local.and.remote.b
1056e0 61 63 6b 20 65 6e 64 73 2c 20 79 6f 75 20 6d 69 67 68 74 20 77 61 6e 74 20 61 20 73 70 65 63 69 ack.ends,.you.might.want.a.speci
105700 61 6c 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 48 65 72 65 0a 61 72 65 20 61 20 66 65 77 al.configuration..Here.are.a.few
105720 20 65 78 61 6d 70 6c 65 73 2e 0a 0a 23 2b 42 45 47 49 4e 5f 53 52 43 20 6c 69 73 70 0a 20 20 20 .examples...#+BEGIN_SRC.lisp....
105740 20 3b 3b 20 31 2e 20 41 20 62 61 63 6b 20 65 6e 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 .;;.1..A.back.end.configuration.
105760 66 6f 72 20 5c 22 2f 5c 22 20 69 73 0a 20 20 20 20 3b 3b 20 63 72 65 61 74 65 64 20 61 75 74 6f for.\"/\".is.....;;.created.auto
105780 6d 61 74 69 63 61 6c 6c 79 20 61 6e 64 20 77 6f 72 6b 73 20 66 69 6e 65 20 61 73 20 61 20 64 65 matically.and.works.fine.as.a.de
1057a0 66 61 75 6c 74 0a 20 20 20 20 3b 3b 20 66 6f 72 20 62 75 66 66 65 72 73 20 76 69 73 69 74 69 6e fault.....;;.for.buffers.visitin
1057c0 67 20 6c 6f 63 61 6c 20 66 69 6c 65 73 2c 20 73 6f 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 0a g.local.files,.so.we.don't.need.
1057e0 20 20 20 20 3b 3b 20 74 6f 20 61 64 64 20 6f 6e 65 20 68 65 72 65 2e 0a 0a 20 20 20 20 3b 3b 20 ....;;.to.add.one.here.......;;.
105800 32 2e 20 48 6f 77 65 76 65 72 20 61 73 73 75 6d 65 20 77 65 20 77 61 6e 74 20 62 75 66 66 65 72 2..However.assume.we.want.buffer
105820 73 20 75 6e 64 65 72 20 2f 76 61 72 2f 74 6d 70 2f 38 2e 30 0a 20 20 20 20 3b 3b 20 69 6e 73 74 s.under./var/tmp/8.0.....;;.inst
105840 65 61 64 20 74 6f 20 75 73 65 20 52 61 63 6b 65 74 20 38 2e 30 2e 0a 20 20 20 20 28 72 61 63 6b ead.to.use.Racket.8.0......(rack
105860 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 20 5c 22 2f 76 61 72 2f 74 6d 70 2f 38 2e 30 5c 22 et-add-back-end.\"/var/tmp/8.0\"
105880 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 72 61 63 6b 65 ..........................:racke
1058a0 74 2d 70 72 6f 67 72 61 6d 20 5c 22 7e 2f 72 61 63 6b 65 74 2f 38 2e 30 2f 62 69 6e 2f 72 61 63 t-program.\"~/racket/8.0/bin/rac
1058c0 6b 65 74 5c 22 29 0a 0a 20 20 20 20 3b 3b 20 33 2e 20 41 20 62 61 63 6b 20 65 6e 64 20 63 6f 6e ket\")......;;.3..A.back.end.con
1058e0 66 69 67 75 72 61 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 63 72 65 61 74 65 64 0a 20 20 20 20 3b figuration.will.be.created.....;
105900 3b 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 6f 72 20 62 75 66 66 65 72 73 20 76 69 73 69 ;.automatically.for.buffers.visi
105920 74 69 6e 67 20 66 69 6c 65 20 6e 61 6d 65 73 20 6c 69 6b 65 0a 20 20 20 20 3b 3b 20 5c 22 2f 73 ting.file.names.like.....;;.\"/s
105940 73 68 3a 75 73 65 72 40 6c 69 6e 6f 64 65 5c 22 2c 20 73 6f 20 77 65 20 64 6f 6e 27 74 20 6e 65 sh:user@linode\",.so.we.don't.ne
105960 65 64 20 74 6f 20 61 64 64 20 6f 6e 65 20 68 65 72 65 2e 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b ed.to.add.one.here......;;.....;
105980 3b 20 49 66 20 7e 2f 2e 73 73 68 2f 63 6f 6e 66 69 67 20 64 65 66 69 6e 65 73 20 61 20 48 6f 73 ;.If.~/.ssh/config.defines.a.Hos
1059a0 74 20 61 6c 69 61 73 20 6e 61 6d 65 64 20 5c 22 6c 69 6e 6f 64 65 5c 22 2c 0a 20 20 20 20 3b 3b t.alias.named.\"linode\",.....;;
1059c0 20 77 69 74 68 20 48 6f 73 74 4e 61 6d 65 20 61 6e 64 20 55 73 65 72 20 73 65 74 74 69 6e 67 73 .with.HostName.and.User.settings
1059e0 2c 20 61 20 66 69 6c 65 20 6e 61 6d 65 20 61 73 20 73 69 6d 70 6c 65 20 61 73 0a 20 20 20 20 3b ,.a.file.name.as.simple.as.....;
105a00 3b 20 5c 22 2f 6c 69 6e 6f 64 65 3a 5c 22 20 77 6f 75 6c 64 20 77 6f 72 6b 20 66 69 6e 65 20 77 ;.\"/linode:\".would.work.fine.w
105a20 69 74 68 20 74 72 61 6d 70 20 2d 2d 20 61 6e 64 20 74 68 65 0a 20 20 20 20 3b 3b 20 61 75 74 6f ith.tramp.--.and.the.....;;.auto
105a40 6d 61 74 69 63 61 6c 6c 79 20 63 72 65 61 74 65 64 20 62 61 63 6b 20 65 6e 64 20 63 6f 6e 66 69 matically.created.back.end.confi
105a60 67 75 72 61 74 69 6f 6e 20 77 6f 75 6c 64 20 77 6f 72 6b 0a 20 20 20 20 3b 3b 20 66 69 6e 65 2c guration.would.work.....;;.fine,
105a80 20 74 6f 6f 2e 0a 0a 20 20 20 20 3b 3b 20 34 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 27 73 20 73 .too.......;;.4..For.example's.s
105aa0 61 6b 65 2c 20 61 73 73 75 6d 65 20 66 6f 72 20 62 75 66 66 65 72 73 20 76 69 73 69 74 69 6e 67 ake,.assume.for.buffers.visiting
105ac0 0a 20 20 20 20 3b 3b 20 2f 73 73 68 3a 68 65 61 64 6c 65 73 73 3a 7e 2f 67 75 69 2d 70 72 6f 6a .....;;./ssh:headless:~/gui-proj
105ae0 65 63 74 2f 20 77 65 20 77 61 6e 74 20 3a 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 20 69 6e 73 ect/.we.want.:racket-program.ins
105b00 74 65 61 64 0a 20 20 20 20 3b 3b 20 74 6f 20 62 65 20 5c 22 78 76 66 62 2d 72 75 6e 20 72 61 63 tead.....;;.to.be.\"xvfb-run.rac
105b20 6b 65 74 5c 22 2e 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 20 ket\"......(racket-add-back-end.
105b40 5c 22 2f 73 73 68 3a 68 65 61 64 6c 65 73 73 3a 7e 2f 67 75 69 2d 70 72 6f 6a 65 63 74 2f 5c 22 \"/ssh:headless:~/gui-project/\"
105b60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 72 61 63 6b 65 ..........................:racke
105b80 74 2d 70 72 6f 67 72 61 6d 20 5c 22 78 76 66 62 2d 72 75 6e 20 72 61 63 6b 65 74 5c 22 29 0a 23 t-program.\"xvfb-run.racket\").#
105ba0 2b 45 4e 44 5f 53 52 43 0a 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 20 28 73 74 72 69 6e +END_SRC."...(unless.(and.(strin
105bc0 67 70 20 64 69 72 65 63 74 6f 72 79 29 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74 gp.directory).(file-name-absolut
105be0 65 2d 70 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 72 61 63 6b e-p.directory)).....(error."rack
105c00 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 3a 20 64 69 72 65 63 74 6f 72 79 20 6d 75 73 74 20 et-add-back-end:.directory.must.
105c20 62 65 20 66 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74 65 2d 70 22 29 29 0a 20 20 28 6c 65 be.file-name-absolute-p"))...(le
105c40 74 2a 20 28 28 6c 6f 63 61 6c 2d 70 20 28 6e 6f 74 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 t*.((local-p.(not.(file-remote-p
105c60 20 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 .directory)))..........(director
105c80 79 20 28 72 61 63 6b 65 74 2d 2d 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 72 65 6d 6f 74 65 y.(racket--file-name-sans-remote
105ca0 2d 6d 65 74 68 6f 64 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 6c -method.directory))..........(pl
105cc0 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 3a ist...........(list............:
105ce0 64 69 72 65 63 74 6f 72 79 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 0a 20 directory............directory..
105d00 20 20 20 20 20 20 20 20 20 20 3a 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 20 20 20 20 20 20 20 ..........:racket-program.......
105d20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d (plist-get.plist.:racket-program
105d40 29 0a 20 20 20 20 20 20 20 20 20 20 20 3a 72 65 6d 6f 74 65 2d 73 6f 75 72 63 65 2d 64 69 72 20 )............:remote-source-dir.
105d60 20 20 20 28 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 72 65 6d 6f 74 65 2d ...(or.(plist-get.plist.:remote-
105d80 73 6f 75 72 63 65 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 source-dir).....................
105da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 6c 6f 63 61 6c 2d 70 .................(unless.local-p
105dc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
105de0 20 20 20 20 20 20 20 20 22 2f 74 6d 70 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 62 61 63 6b 2d 65 ........"/tmp/racket-mode-back-e
105e00 6e 64 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3a 72 65 73 74 61 72 74 2d 77 61 74 63 68 2d nd"))............:restart-watch-
105e20 64 69 72 65 63 74 6f 72 69 65 73 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 72 65 directories.(plist-get.plist.:re
105e40 73 74 61 72 74 2d 77 61 74 63 68 2d 64 69 72 65 63 74 6f 72 69 65 73 29 0a 20 20 20 20 20 20 20 start-watch-directories)........
105e60 20 20 20 20 3b 3b 20 54 68 65 73 65 20 62 6f 6f 6c 65 61 6e 70 20 74 68 69 6e 67 73 20 6e 65 65 ....;;.These.booleanp.things.nee
105e80 64 20 74 6f 20 64 69 73 74 69 6e 67 75 69 73 68 20 6e 69 6c 20 6d 65 61 6e 69 6e 67 0a 20 20 20 d.to.distinguish.nil.meaning....
105ea0 20 20 20 20 20 20 20 20 3b 3b 20 22 75 73 65 72 20 73 70 65 63 69 66 69 66 65 64 20 66 61 6c 73 ........;;."user.specififed.fals
105ec0 65 22 20 66 72 6f 6d 20 22 75 73 65 72 20 64 69 64 20 6e 6f 74 20 73 70 65 63 69 66 79 0a 20 20 e".from."user.did.not.specify...
105ee0 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6e 79 74 68 69 6e 67 22 2e 0a 20 20 20 20 20 20 20 20 20 .........;;.anything"...........
105f00 20 20 3a 77 69 6e 64 6f 77 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d ..:windows..............(if.(mem
105f20 71 20 3a 77 69 6e 64 6f 77 73 20 70 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 q.:windows.plist)...............
105f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 .......................(plist-ge
105f60 74 20 70 6c 69 73 74 20 3a 77 69 6e 64 6f 77 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.plist.:windows)...............
105f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 6c 6f 63 61 6c 2d .....................(and.local-
105fa0 70 20 72 61 63 6b 65 74 2d 2d 77 69 6e 70 29 29 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d p.racket--winp))))).....(racket-
105fc0 2d 62 61 63 6b 2d 65 6e 64 2d 76 61 6c 69 64 61 74 65 20 70 6c 69 73 74 29 0a 20 20 20 20 28 72 -back-end-validate.plist).....(r
105fe0 61 63 6b 65 74 2d 72 65 6d 6f 76 65 2d 62 61 63 6b 2d 65 6e 64 20 64 69 72 65 63 74 6f 72 79 20 acket-remove-back-end.directory.
106000 27 6e 6f 2d 72 65 66 72 65 73 68 2d 77 61 74 63 68 65 73 29 0a 20 20 20 20 3b 3b 20 4b 65 65 70 'no-refresh-watches).....;;.Keep
106020 20 63 6f 6e 66 69 67 73 20 73 6f 72 74 65 64 20 66 72 6f 6d 20 6c 6f 6e 67 65 73 74 20 3a 64 69 .configs.sorted.from.longest.:di
106040 72 65 63 74 6f 72 79 20 70 61 74 74 65 72 6e 20 74 6f 20 73 68 6f 72 74 65 73 74 2e 0a 20 20 20 rectory.pattern.to.shortest.....
106060 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 63 6f 6e 66 69 67 75 72 61 .(setq.racket-back-end-configura
106080 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 28 73 6f 72 74 20 28 63 6f 6e 73 20 70 6c 69 73 tions...........(sort.(cons.plis
1060a0 74 20 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 t.racket-back-end-configurations
1060c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 61 20 62 29 0a ).................(lambda.(a.b).
1060e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 6c 65 6e 67 74 68 20 28 70 6c ..................(>.(length.(pl
106100 69 73 74 2d 67 65 74 20 61 20 3a 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 ist-get.a.:directory))..........
106120 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 28 70 6c 69 73 74 2d 67 65 74 20 62 ............(length.(plist-get.b
106140 20 3a 64 69 72 65 63 74 6f 72 79 29 29 29 29 29 29 0a 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 62 .:directory)))))).....(racket--b
106160 61 63 6b 2d 65 6e 64 2d 72 65 66 72 65 73 68 2d 77 61 74 63 68 65 73 29 0a 20 20 20 20 70 6c 69 ack-end-refresh-watches).....pli
106180 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 76 61 st))..(defun.racket--back-end-va
1061a0 6c 69 64 61 74 65 20 28 70 6c 69 73 74 29 0a 20 20 28 63 6c 2d 66 6c 65 74 20 28 28 63 68 65 63 lidate.(plist)...(cl-flet.((chec
1061c0 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 79 70 65 20 6b 65 79 29 0a 20 20 20 20 20 20 k..............(type.key).......
1061e0 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 .......(let.((v.(plist-get.plist
106200 20 6b 65 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 .key)))................(unless.(
106220 66 75 6e 63 61 6c 6c 20 74 79 70 65 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 funcall.type.v).................
106240 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c .(signal.'wrong-type-argument.(l
106260 69 73 74 20 74 79 70 65 20 6b 65 79 20 76 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ist.type.key.v))))).............
106280 28 6e 75 6d 62 65 72 2d 6f 72 2d 6e 75 6c 6c 2d 70 20 28 6e 29 20 28 6f 72 20 28 6e 6f 74 20 6e (number-or-null-p.(n).(or.(not.n
1062a0 29 20 28 6e 75 6d 62 65 72 70 20 6e 29 29 29 29 0a 20 20 20 20 28 63 68 65 63 6b 20 23 27 73 74 ).(numberp.n)))).....(check.#'st
1062c0 72 69 6e 67 70 20 3a 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 28 63 68 65 63 6b 20 23 27 73 ringp.:directory).....(check.#'s
1062e0 74 72 69 6e 67 2d 6f 72 2d 6e 75 6c 6c 2d 70 20 3a 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 29 tring-or-null-p.:racket-program)
106300 0a 20 20 20 20 28 77 68 65 6e 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 28 70 6c 69 73 74 .....(when.(file-remote-p.(plist
106320 2d 67 65 74 20 70 6c 69 73 74 20 3a 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 28 63 -get.plist.:directory)).......(c
106340 68 65 63 6b 20 23 27 73 74 72 69 6e 67 70 20 3a 72 65 6d 6f 74 65 2d 73 6f 75 72 63 65 2d 64 69 heck.#'stringp.:remote-source-di
106360 72 29 0a 20 20 20 20 20 20 28 63 68 65 63 6b 20 23 27 66 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f r).......(check.#'file-name-abso
106380 6c 75 74 65 2d 70 20 3a 72 65 6d 6f 74 65 2d 73 6f 75 72 63 65 2d 64 69 72 29 29 0a 20 20 20 20 lute-p.:remote-source-dir)).....
1063a0 28 63 68 65 63 6b 20 23 27 62 6f 6f 6c 65 61 6e 70 20 3a 77 69 6e 64 6f 77 73 29 0a 20 20 20 20 (check.#'booleanp.:windows).....
1063c0 28 64 6f 6c 69 73 74 20 28 64 69 72 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 72 (dolist.(dir.(plist-get.plist.:r
1063e0 65 73 74 61 72 74 2d 77 61 74 63 68 2d 64 69 72 65 63 74 6f 72 69 65 73 29 29 0a 20 20 20 20 20 estart-watch-directories))......
106400 20 28 75 6e 6c 65 73 73 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 64 69 72 29 0a .(unless.(file-directory-p.dir).
106420 20 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 ........(signal.'wrong-type-argu
106440 6d 65 6e 74 20 28 6c 69 73 74 20 23 27 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 3a 72 ment.(list.#'file-directory-p.:r
106460 65 73 74 61 72 74 2d 77 61 74 63 68 2d 64 69 72 65 63 74 6f 72 69 65 73 20 64 69 72 29 29 29 29 estart-watch-directories.dir))))
106480 29 0a 20 20 70 6c 69 73 74 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 72 65 6d 6f 76 65 )...plist)..(defun.racket-remove
1064a0 2d 62 61 63 6b 2d 65 6e 64 20 28 64 69 72 65 63 74 6f 72 79 20 26 6f 70 74 69 6f 6e 61 6c 20 6e -back-end.(directory.&optional.n
1064c0 6f 2d 72 65 66 72 65 73 68 2d 77 61 74 63 68 65 73 2d 70 29 0a 20 20 28 73 65 74 71 20 72 61 63 o-refresh-watches-p)...(setq.rac
1064e0 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 0a 20 20 20 20 ket-back-end-configurations.....
106500 20 20 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 20 28 6c 61 6d 62 64 61 20 28 70 6c 69 73 74 ....(cl-remove-if.(lambda.(plist
106520 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 ).........................(and.(
106540 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 64 string-equal.(plist-get.plist.:d
106560 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 irectory).......................
106580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 29 29 .....................directory))
1065a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 62 ).......................racket-b
1065c0 61 63 6b 2d 65 6e 64 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 29 29 0a 20 20 28 75 6e 6c 65 ack-end-configurations))...(unle
1065e0 73 73 20 6e 6f 2d 72 65 66 72 65 73 68 2d 77 61 74 63 68 65 73 2d 70 0a 20 20 20 20 28 72 61 63 ss.no-refresh-watches-p.....(rac
106600 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 72 65 66 72 65 73 68 2d 77 61 74 63 68 65 73 29 29 29 ket--back-end-refresh-watches)))
106620 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 20 28 26 ..(defun.racket-back-end-name.(&
106640 6f 70 74 69 6f 6e 61 6c 20 62 61 63 6b 2d 65 6e 64 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 optional.back-end)..."Return.the
106660 20 5c 22 6e 61 6d 65 5c 22 20 6f 66 20 61 20 62 61 63 6b 20 65 6e 64 2e 0a 0a 54 68 69 73 20 69 .\"name\".of.a.back.end...This.i
106680 73 20 74 68 65 20 62 61 63 6b 2d 65 6e 64 20 3a 64 69 72 65 63 74 6f 72 79 2e 20 49 74 20 63 61 s.the.back-end.:directory..It.ca
1066a0 6e 20 62 65 20 75 73 65 64 20 61 73 20 73 75 66 66 69 78 20 74 6f 20 75 73 65 0a 69 6e 20 74 68 n.be.used.as.suffix.to.use.in.th
1066c0 65 20 6e 61 6d 65 20 6f 66 20 61 20 62 75 66 66 65 72 20 6e 6f 74 20 76 69 73 69 74 69 6e 67 20 e.name.of.a.buffer.not.visiting.
1066e0 61 20 66 69 6c 65 2e 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 0a 69 6e 20 73 a.file..It.can.also.be.used.in.s
106700 69 74 75 61 74 69 6f 6e 73 20 77 68 65 72 65 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 66 65 ituations.where.you.want.to.refe
106720 72 20 74 6f 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 69 6e 64 69 72 65 63 74 6c 79 2c 0a 62 79 r.to.the.back.end.indirectly,.by
106740 20 5c 22 69 64 5c 22 20 69 6e 73 74 65 61 64 20 6f 66 20 62 79 20 76 61 6c 75 65 2e 22 0a 20 20 .\"id\".instead.of.by.value."...
106760 28 70 6c 69 73 74 2d 67 65 74 20 28 6f 72 20 62 61 63 6b 2d 65 6e 64 20 28 72 61 63 6b 65 74 2d (plist-get.(or.back-end.(racket-
106780 62 61 63 6b 2d 65 6e 64 29 29 20 3a 64 69 72 65 63 74 6f 72 79 29 29 0a 0a 28 64 65 66 75 6e 20 back-end)).:directory))..(defun.
1067a0 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 28 26 racket--back-end-process-name.(&
1067c0 6f 70 74 69 6f 6e 61 6c 20 62 61 63 6b 2d 65 6e 64 29 0a 20 20 28 63 6f 6e 63 61 74 20 22 72 61 optional.back-end)...(concat."ra
1067e0 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 22 20 28 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 cket-back-end-".(racket-back-end
106800 2d 6e 61 6d 65 20 62 61 63 6b 2d 65 6e 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 -name.back-end)))..(defun.racket
106820 2d 2d 62 61 63 6b 2d 65 6e 64 2d 70 72 6f 63 65 73 73 2d 6e 61 6d 65 2d 73 74 64 65 72 72 20 28 --back-end-process-name-stderr.(
106840 26 6f 70 74 69 6f 6e 61 6c 20 62 61 63 6b 2d 65 6e 64 29 0a 20 20 28 63 6f 6e 63 61 74 20 28 72 &optional.back-end)...(concat.(r
106860 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 62 61 63 acket--back-end-process-name.bac
106880 6b 2d 65 6e 64 29 20 22 2d 73 74 64 65 72 72 22 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 k-end)."-stderr"))..(defun.racke
1068a0 74 2d 2d 66 69 6c 65 2d 6e 61 6d 65 2d 3e 68 6f 73 74 2b 75 73 65 72 2b 70 6f 72 74 2b 6e 61 6d t--file-name->host+user+port+nam
1068c0 65 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 22 41 6c 74 68 6f 75 67 68 20 69 74 20 77 6f 75 e.(file-name)..."Although.it.wou
1068e0 6c 64 20 62 65 20 77 6f 6e 64 65 72 66 75 6c 20 73 69 6d 70 6c 79 20 74 6f 20 75 73 65 20 60 66 ld.be.wonderful.simply.to.use.`f
106900 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 27 2c 0a 69 74 20 69 73 20 75 6e 72 65 6c 69 61 62 6c 65 20 ile-remote-p',.it.is.unreliable.
106920 66 6f 72 20 5c 22 68 6f 73 74 5c 22 20 6f 72 20 5c 22 70 6f 72 74 5c 22 2c 20 61 74 20 6c 65 61 for.\"host\".or.\"port\",.at.lea
106940 73 74 20 6f 6e 20 45 6d 61 63 73 20 32 35 2e 0a 49 6e 73 74 65 61 64 20 6e 65 65 64 20 74 68 65 st.on.Emacs.25..Instead.need.the
106960 20 66 6f 6c 6c 6f 77 69 6e 67 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 74 66 6e 73 20 28 61 6e 64 .following."...(let*.((tfns.(and
106980 20 28 74 72 61 6d 70 2d 74 72 61 6d 70 2d 66 69 6c 65 2d 70 20 66 69 6c 65 2d 6e 61 6d 65 29 0a .(tramp-tramp-file-p.file-name).
1069a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 72 61 6d 70 2d 64 69 73 73 65 ....................(tramp-disse
1069c0 63 74 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 ct-file-name.file-name))).......
1069e0 20 20 20 28 68 6f 73 74 20 28 6f 72 20 28 61 6e 64 20 74 66 6e 73 0a 20 20 20 20 20 20 20 20 20 ...(host.(or.(and.tfns..........
106a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 74 72 61 ...............(if.(fboundp.'tra
106a20 6d 70 2d 66 69 6c 65 2d 6e 61 6d 65 2d 72 65 61 6c 2d 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 mp-file-name-real-host).........
106a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 72 61 6d 70 2d 66 69 6c 65 2d ....................(tramp-file-
106a60 6e 61 6d 65 2d 72 65 61 6c 2d 68 6f 73 74 20 74 66 6e 73 29 20 3b 6f 6c 64 65 72 20 74 72 61 6d name-real-host.tfns).;older.tram
106a80 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 72 61 p...........................(tra
106aa0 6d 70 2d 66 69 6c 65 2d 6e 61 6d 65 2d 68 6f 73 74 20 74 66 6e 73 29 29 29 0a 20 20 20 20 20 20 mp-file-name-host.tfns))).......
106ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 31 32 37 2e 30 2e 30 2e 31 22 29 29 0a 20 20 20 20 20 ............."127.0.0.1"))......
106ae0 20 20 20 20 28 75 73 65 72 20 28 61 6e 64 20 74 66 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....(user.(and.tfns.............
106b00 20 20 20 20 20 20 20 20 28 74 72 61 6d 70 2d 66 69 6c 65 2d 6e 61 6d 65 2d 75 73 65 72 20 74 66 ........(tramp-file-name-user.tf
106b20 6e 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 6f 72 74 20 28 61 6e 64 20 74 66 6e 73 0a 20 ns)))..........(port.(and.tfns..
106b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 20 28 74 72 61 ...................(let.((p.(tra
106b60 6d 70 2d 66 69 6c 65 2d 6e 61 6d 65 2d 70 6f 72 74 20 74 66 6e 73 29 29 29 0a 20 20 20 20 20 20 mp-file-name-port.tfns))).......
106b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 71 75 61 6c ................(and.(not.(equal
106ba0 20 70 20 32 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .p.22)).........................
106bc0 20 20 20 70 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 6f 72 20 28 61 6e 64 ...p))))..........(name.(or.(and
106be0 20 74 66 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 .tfns.........................(t
106c00 72 61 6d 70 2d 66 69 6c 65 2d 6e 61 6d 65 2d 6c 6f 63 61 6c 6e 61 6d 65 20 74 66 6e 73 29 29 0a ramp-file-name-localname.tfns)).
106c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a ...................file-name))).
106c40 20 20 20 20 28 6c 69 73 74 20 68 6f 73 74 20 75 73 65 72 20 70 6f 72 74 20 6e 61 6d 65 29 29 29 ....(list.host.user.port.name)))
106c60 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 68 6f 73 74 2b 75 73 65 72 2b 70 6f 72 74 2b ..(defun.racket--host+user+port+
106c80 6e 61 6d 65 2d 3e 66 69 6c 65 2d 6e 61 6d 65 20 28 76 29 0a 20 20 22 4c 69 6b 65 20 60 74 72 61 name->file-name.(v)..."Like.`tra
106ca0 6d 70 2d 6d 61 6b 65 2d 74 72 61 6d 70 2d 66 69 6c 65 2d 6e 61 6d 65 27 20 62 75 74 20 45 6d 61 mp-make-tramp-file-name'.but.Ema
106cc0 63 73 20 76 65 72 73 69 6f 6e 20 69 6e 64 65 70 65 6e 64 65 6e 74 2e 22 0a 20 20 28 70 63 61 73 cs.version.independent."...(pcas
106ce0 65 2d 6c 65 74 20 28 28 60 28 2c 68 6f 73 74 20 2c 75 73 65 72 20 2c 70 6f 72 74 20 2c 6c 6f 63 e-let.((`(,host.,user.,port.,loc
106d00 61 6c 6e 61 6d 65 29 20 76 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 70 6f 72 74 20 28 61 6e 64 alname).v)).....(let.((port.(and
106d20 20 70 6f 72 74 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 70 6f 72 74 29 29 29 29 0a 20 20 20 20 .port.(format."%s".port)))).....
106d40 20 20 28 63 6f 6e 63 61 74 20 74 72 61 6d 70 2d 70 72 65 66 69 78 2d 66 6f 72 6d 61 74 0a 20 20 ..(concat.tramp-prefix-format...
106d60 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ............user...............(
106d80 75 6e 6c 65 73 73 20 28 7a 65 72 6f 70 20 28 6c 65 6e 67 74 68 20 75 73 65 72 29 29 0a 20 20 20 unless.(zerop.(length.user))....
106da0 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 61 6d 70 2d 70 6f 73 74 66 69 78 2d 75 73 65 72 2d .............tramp-postfix-user-
106dc0 66 6f 72 6d 61 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e format)...............(if.(strin
106de0 67 2d 6d 61 74 63 68 2d 70 20 74 72 61 6d 70 2d 69 70 76 36 2d 72 65 67 65 78 70 20 68 6f 73 74 g-match-p.tramp-ipv6-regexp.host
106e00 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 20 )...................(concat.....
106e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 61 6d 70 2d 70 72 65 66 69 78 2d 69 70 76 36 ...............tramp-prefix-ipv6
106e40 2d 66 6f 72 6d 61 74 20 68 6f 73 74 20 74 72 61 6d 70 2d 70 6f 73 74 66 69 78 2d 69 70 76 36 2d -format.host.tramp-postfix-ipv6-
106e60 66 6f 72 6d 61 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 29 0a 20 20 format).................host)...
106e80 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 7a 65 72 6f 70 20 28 6c 65 6e 67 ............(unless.(zerop.(leng
106ea0 74 68 20 70 6f 72 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 th.port)).................(conca
106ec0 74 20 74 72 61 6d 70 2d 70 72 65 66 69 78 2d 70 6f 72 74 2d 66 6f 72 6d 61 74 20 70 6f 72 74 29 t.tramp-prefix-port-format.port)
106ee0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 61 6d 70 2d 70 6f 73 74 66 69 78 2d 68 6f )...............tramp-postfix-ho
106f00 73 74 2d 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 6e 61 6d st-format...............localnam
106f20 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 66 69 6c 65 2d 6e 61 6d 65 2d e))))..(defun.racket--file-name-
106f40 73 61 6e 73 2d 72 65 6d 6f 74 65 2d 6d 65 74 68 6f 64 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 sans-remote-method.(file-name)..
106f60 20 28 69 66 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 .(if.(file-remote-p.file-name)..
106f80 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 68 6f 73 74 2b 75 73 65 72 2b 70 6f 72 74 2b 6e 61 6d .....(racket--host+user+port+nam
106fa0 65 2d 3e 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 66 69 6c e->file-name........(racket--fil
106fc0 65 2d 6e 61 6d 65 2d 3e 68 6f 73 74 2b 75 73 65 72 2b 70 6f 72 74 2b 6e 61 6d 65 0a 20 20 20 20 e-name->host+user+port+name.....
106fe0 20 20 20 20 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 66 69 6c 65 2d 6e 61 6d 65 29 29 0a ....file-name)).....file-name)).
107000 3b 3b 28 72 61 63 6b 65 74 2d 2d 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 72 65 6d 6f 74 65 ;;(racket--file-name-sans-remote
107020 2d 6d 65 74 68 6f 64 20 22 2f 73 73 68 3a 68 6f 73 74 3a 2f 70 61 74 68 2f 74 6f 2f 66 6f 6f 2e -method."/ssh:host:/path/to/foo.
107040 72 6b 74 22 29 0a 3b 3b 28 72 61 63 6b 65 74 2d 2d 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d rkt").;;(racket--file-name-sans-
107060 72 65 6d 6f 74 65 2d 6d 65 74 68 6f 64 20 22 2f 73 73 68 3a 75 73 65 72 40 68 6f 73 74 3a 2f 70 remote-method."/ssh:user@host:/p
107080 61 74 68 2f 74 6f 2f 66 6f 6f 2e 72 6b 74 22 29 0a 3b 3b 28 72 61 63 6b 65 74 2d 2d 66 69 6c 65 ath/to/foo.rkt").;;(racket--file
1070a0 2d 6e 61 6d 65 2d 73 61 6e 73 2d 72 65 6d 6f 74 65 2d 6d 65 74 68 6f 64 20 22 2f 73 73 68 3a 75 -name-sans-remote-method."/ssh:u
1070c0 73 65 72 40 68 6f 73 74 23 31 32 33 3a 2f 70 61 74 68 2f 74 6f 2f 66 6f 6f 2e 72 6b 74 22 29 0a ser@host#123:/path/to/foo.rkt").
1070e0 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 6c 6f 63 61 6c 2d 70 .(defun.racket--back-end-local-p
107100 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 61 63 6b 2d 65 6e 64 29 0a 20 20 28 6e 6f 74 20 28 66 69 .(&optional.back-end)...(not.(fi
107120 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 28 70 6c 69 73 74 2d 67 65 74 20 28 6f 72 20 62 61 63 6b 2d le-remote-p.(plist-get.(or.back-
107140 65 6e 64 20 28 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 end.(racket-back-end))..........
107160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 69 72 65 63 74 6f ........................:directo
107180 72 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d ry))))..(defun.racket-file-name-
1071a0 66 72 6f 6e 74 2d 74 6f 2d 62 61 63 6b 20 28 66 69 6c 65 29 0a 20 20 22 4d 61 6b 65 20 61 20 66 front-to-back.(file)..."Make.a.f
1071c0 72 6f 6e 74 20 65 6e 64 20 66 69 6c 65 20 6e 61 6d 65 20 75 73 61 62 6c 65 20 6f 6e 20 74 68 65 ront.end.file.name.usable.on.the
1071e0 20 62 61 63 6b 20 65 6e 64 2e 0a 0a 57 68 65 6e 20 61 20 72 65 6d 6f 74 65 20 66 69 6c 65 20 6e .back.end...When.a.remote.file.n
107200 61 6d 65 2c 20 65 78 74 72 61 63 74 20 74 68 65 20 5c 22 6c 6f 63 61 6c 6e 61 6d 65 5c 22 20 70 ame,.extract.the.\"localname\".p
107220 6f 72 74 69 6f 6e 2e 0a 0a 57 68 65 6e 20 57 69 6e 64 6f 77 73 20 62 61 63 6b 20 65 6e 64 2c 20 ortion...When.Windows.back.end,.
107240 73 75 62 73 74 69 74 75 74 65 20 73 6c 61 73 68 65 73 20 77 69 74 68 20 62 61 63 6b 73 6c 61 73 substitute.slashes.with.backslas
107260 68 65 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 65 20 28 6f 72 20 28 66 69 6c 65 2d 72 hes."...(let*.((file.(or.(file-r
107280 65 6d 6f 74 65 2d 70 20 66 69 6c 65 20 27 6c 6f 63 61 6c 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 emote-p.file.'localname)........
1072a0 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c ............file))..........(fil
1072c0 65 20 28 69 66 20 28 70 6c 69 73 74 2d 67 65 74 20 28 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e e.(if.(plist-get.(racket-back-en
1072e0 64 29 20 3a 77 69 6e 64 6f 77 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d).:windows)....................
107300 28 73 75 62 73 74 2d 63 68 61 72 2d 69 6e 2d 73 74 72 69 6e 67 20 3f 2f 20 3f 5c 5c 20 66 69 6c (subst-char-in-string.?/.?\\.fil
107320 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 29 29 29 0a 20 20 20 20 e)..................file))).....
107340 66 69 6c 65 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 68 6f 77 2d 66 72 6f 6e 74 2d file))..(defun.racket-how-front-
107360 74 6f 2d 62 61 63 6b 20 28 68 6f 77 29 0a 20 20 22 43 6f 6e 76 65 6e 69 65 6e 63 65 20 66 6f 72 to-back.(how)..."Convenience.for
107380 20 62 61 63 6b 20 65 6e 64 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 68 61 76 65 20 61 20 5c .back.end.commands.that.have.a.\
1073a0 22 68 6f 77 5c 22 20 61 72 67 75 6d 65 6e 74 2e 0a 0a 54 68 65 73 65 20 5c 22 68 6f 77 5c 22 20 "how\".argument...These.\"how\".
1073c0 61 72 67 75 6d 65 6e 74 73 20 63 61 6e 20 62 65 20 61 20 70 61 74 68 20 6e 61 6d 65 2c 20 6f 72 arguments.can.be.a.path.name,.or
1073e0 20 61 20 70 61 69 72 20 77 68 65 72 65 20 74 68 65 0a 63 61 72 20 69 73 20 61 20 70 61 74 68 20 .a.pair.where.the.car.is.a.path.
107400 6e 61 6d 65 2c 20 6f 72 20 74 68 65 20 73 79 6d 62 6f 6c 20 6e 61 6d 65 73 70 61 63 65 2e 20 41 name,.or.the.symbol.namespace..A
107420 70 70 6c 79 0a 60 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 66 72 6f 6e 74 2d 74 6f 2d pply.`racket-file-name-front-to-
107440 62 61 63 6b 27 20 69 6e 20 74 68 65 20 70 61 74 68 20 6e 61 6d 65 20 63 61 73 65 73 2e 22 0a 20 back'.in.the.path.name.cases."..
107460 20 28 70 63 61 73 65 20 68 6f 77 0a 20 20 20 20 28 28 61 6e 64 20 28 70 72 65 64 20 73 74 72 69 .(pcase.how.....((and.(pred.stri
107480 6e 67 70 29 20 70 61 74 68 29 0a 20 20 20 20 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d ngp).path)......(racket-file-nam
1074a0 65 2d 66 72 6f 6e 74 2d 74 6f 2d 62 61 63 6b 20 70 61 74 68 29 29 0a 20 20 20 20 28 60 28 2c 28 e-front-to-back.path)).....(`(,(
1074c0 61 6e 64 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 20 70 61 74 68 29 20 2e 20 2c 61 6e 63 68 and.(pred.stringp).path)...,anch
1074e0 6f 72 29 0a 20 20 20 20 20 28 63 6f 6e 73 20 28 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 or)......(cons.(racket-file-name
107500 2d 66 72 6f 6e 74 2d 74 6f 2d 62 61 63 6b 20 70 61 74 68 29 20 61 6e 63 68 6f 72 29 29 0a 20 20 -front-to-back.path).anchor))...
107520 20 20 28 76 20 76 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 ..(v.v)))..(defun.racket-file-na
107540 6d 65 2d 62 61 63 6b 2d 74 6f 2d 66 72 6f 6e 74 20 28 66 69 6c 65 29 0a 20 20 22 4d 61 6b 65 20 me-back-to-front.(file)..."Make.
107560 61 20 66 69 6c 65 20 6e 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 75 73 a.file.name.from.the.back.end.us
107580 61 62 6c 65 20 6f 6e 20 74 68 65 20 66 72 6f 6e 74 20 65 6e 64 2e 0a 0a 57 68 65 6e 20 57 69 6e able.on.the.front.end...When.Win
1075a0 64 6f 77 73 20 62 61 63 6b 20 65 6e 64 2c 20 72 65 70 6c 61 63 65 20 62 61 63 6b 20 73 6c 61 73 dows.back.end,.replace.back.slas
1075c0 68 65 73 20 77 69 74 68 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 65 73 2e 0a 0a 57 68 65 6e 20 hes.with.forward.slashes...When.
1075e0 72 65 6d 6f 74 65 20 62 61 63 6b 20 65 6e 64 2c 20 74 72 65 61 74 20 46 49 4c 45 20 61 73 20 74 remote.back.end,.treat.FILE.as.t
107600 68 65 20 5c 22 6c 6f 63 61 6c 6e 61 6d 65 5c 22 20 70 6f 72 74 69 6f 6e 20 6f 66 0a 61 20 72 65 he.\"localname\".portion.of.a.re
107620 6d 6f 74 65 20 66 69 6c 65 20 6e 61 6d 65 2c 20 61 6e 64 20 66 6f 72 6d 20 61 20 72 65 6d 6f 74 mote.file.name,.and.form.a.remot
107640 65 20 66 69 6c 65 20 6e 61 6d 65 20 62 79 20 70 72 65 70 65 6e 64 69 6e 67 20 74 6f 0a 46 49 4c e.file.name.by.prepending.to.FIL
107660 45 20 74 68 65 20 62 61 63 6b 20 65 6e 64 27 73 20 72 65 6d 6f 74 65 20 70 72 65 66 69 78 2e 22 E.the.back.end's.remote.prefix."
107680 0a 20 20 28 6c 65 74 2a 20 28 28 62 61 63 6b 2d 65 6e 64 20 28 72 61 63 6b 65 74 2d 62 61 63 6b ...(let*.((back-end.(racket-back
1076a0 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 69 66 20 28 70 6c 69 73 74 -end))..........(file.(if.(plist
1076c0 2d 67 65 74 20 62 61 63 6b 2d 65 6e 64 20 3a 77 69 6e 64 6f 77 73 29 0a 20 20 20 20 20 20 20 20 -get.back-end.:windows).........
1076e0 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 2d 63 68 61 72 2d 69 6e 2d 73 74 72 69 6e 67 ...........(subst-char-in-string
107700 20 3f 5c 5c 20 3f 2f 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 .?\\.?/.file)..................f
107720 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 69 66 2d 6c 65 74 20 28 70 72 ile))..........(file.(if-let.(pr
107740 65 66 69 78 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 28 70 6c 69 73 74 2d 67 65 74 20 62 efix.(file-remote-p.(plist-get.b
107760 61 63 6b 2d 65 6e 64 20 3a 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ack-end.:directory)))...........
107780 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 .........(concat.(substring-no-p
1077a0 72 6f 70 65 72 74 69 65 73 20 70 72 65 66 69 78 29 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 roperties.prefix).file).........
1077c0 20 20 20 20 20 20 20 20 20 66 69 6c 65 29 29 29 0a 20 20 20 20 66 69 6c 65 29 29 0a 0a 3b 3b 3b .........file))).....file))..;;;
1077e0 20 54 72 61 6d 70 20 72 65 6d 6f 74 65 20 62 61 63 6b 20 65 6e 64 20 73 6f 75 72 63 65 20 66 69 .Tramp.remote.back.end.source.fi
107800 6c 65 73 0a 0a 3b 3b 20 41 64 61 70 74 65 64 20 66 72 6f 6d 20 50 52 20 23 35 35 33 20 2d 2d 20 les..;;.Adapted.from.PR.#553.--.
107820 66 6f 72 20 77 68 69 63 68 2c 20 62 69 67 20 74 68 61 6e 6b 73 21 21 0a 0a 28 64 65 66 75 6e 20 for.which,.big.thanks!!..(defun.
107840 72 61 63 6b 65 74 2d 2d 65 6e 73 75 72 65 2d 75 70 64 61 74 65 64 2d 62 61 63 6b 2d 65 6e 64 2d racket--ensure-updated-back-end-
107860 6f 6e 2d 72 65 6d 6f 74 65 20 28 29 0a 20 20 22 45 6e 73 75 72 65 20 62 61 63 6b 20 65 6e 64 20 on-remote.()..."Ensure.back.end.
107880 66 69 6c 65 73 20 6f 6e 20 72 65 6d 6f 74 65 2c 20 72 65 74 75 72 6e 20 74 68 65 20 64 69 72 65 files.on.remote,.return.the.dire
1078a0 63 74 6f 72 79 20 6c 6f 63 61 6c 6e 61 6d 65 2e 0a 0a 54 61 6b 65 20 74 68 65 20 73 68 61 2d 31 ctory.localname...Take.the.sha-1
1078c0 20 64 69 67 65 73 74 20 66 6f 72 20 60 72 61 63 6b 65 74 2d 2d 72 6b 74 2d 73 6f 75 72 63 65 2d .digest.for.`racket--rkt-source-
1078e0 64 69 72 27 20 66 69 6c 65 73 2e 20 4c 6f 6f 6b 0a 66 6f 72 20 61 20 5c 22 64 69 67 65 73 74 5c dir'.files..Look.for.a.\"digest\
107900 22 20 66 69 6c 65 20 6f 6e 20 74 68 65 20 72 65 6d 6f 74 65 2e 20 49 66 20 69 74 20 64 6f 65 73 ".file.on.the.remote..If.it.does
107920 6e 27 74 20 65 78 69 73 74 20 6f 72 20 69 74 73 0a 63 6f 6e 74 65 6e 74 73 20 64 6f 6e 27 74 20 n't.exist.or.its.contents.don't.
107940 6d 61 74 63 68 2c 20 74 68 65 6e 20 77 65 20 63 6f 70 79 20 61 20 6e 65 77 20 5c 22 64 69 67 65 match,.then.we.copy.a.new.\"dige
107960 73 74 5c 22 20 66 69 6c 65 20 61 73 20 77 65 6c 6c 0a 61 73 20 74 68 65 20 65 6e 74 69 72 65 20 st\".file.as.well.as.the.entire.
107980 60 72 61 63 6b 65 74 2d 2d 72 6b 74 2d 73 6f 75 72 63 65 2d 64 69 72 27 20 74 72 65 65 20 74 6f `racket--rkt-source-dir'.tree.to
1079a0 20 74 68 65 20 72 65 6d 6f 74 65 2e 0a 4f 74 68 65 72 77 69 73 65 20 61 73 73 75 6d 65 20 74 68 .the.remote..Otherwise.assume.th
1079c0 65 20 66 69 6c 65 73 20 65 78 69 73 74 20 74 68 65 72 65 20 61 6e 64 20 61 72 65 20 63 75 72 72 e.files.exist.there.and.are.curr
1079e0 65 6e 74 2c 20 66 72 6f 6d 20 74 68 65 0a 6c 61 73 74 20 74 69 6d 65 20 77 65 20 6e 65 65 64 65 ent,.from.the.last.time.we.neede
107a00 64 20 74 6f 20 63 6f 70 79 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 6d 6f 73 74 20 65 66 66 d.to.copy...This.is.the.most.eff
107a20 69 63 69 65 6e 74 20 77 61 79 20 49 20 63 61 6e 20 74 68 69 6e 6b 20 6f 66 20 74 6f 20 68 61 6e icient.way.I.can.think.of.to.han
107a40 64 6c 65 20 74 68 69 73 20 6f 76 65 72 0a 61 20 70 6f 73 73 69 62 6c 79 20 73 6c 6f 77 20 72 65 dle.this.over.a.possibly.slow.re
107a60 6d 6f 74 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 62 61 63 6b mote.connection."...(let*.((back
107a80 2d 65 6e 64 20 28 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 -end.(racket-back-end)).........
107aa0 20 28 62 61 63 6b 2d 65 6e 64 2d 64 69 72 20 28 70 6c 69 73 74 2d 67 65 74 20 62 61 63 6b 2d 65 .(back-end-dir.(plist-get.back-e
107ac0 6e 64 20 3a 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 6d 6f 74 65 nd.:directory))..........(remote
107ae0 2d 73 6f 75 72 63 65 2d 64 69 72 20 28 70 6c 69 73 74 2d 67 65 74 20 62 61 63 6b 2d 65 6e 64 20 -source-dir.(plist-get.back-end.
107b00 3a 72 65 6d 6f 74 65 2d 73 6f 75 72 63 65 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 :remote-source-dir))..........(t
107b20 72 61 6d 70 2d 64 69 72 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 ramp-dir.(concat.(file-remote-p.
107b40 62 61 63 6b 2d 65 6e 64 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 back-end-dir)...................
107b60 20 20 20 20 20 20 20 20 20 20 72 65 6d 6f 74 65 2d 73 6f 75 72 63 65 2d 64 69 72 29 29 0a 20 20 ..........remote-source-dir))...
107b80 20 20 20 20 20 20 20 28 64 69 67 65 73 74 2d 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 20 28 73 .......(digest-here...........(s
107ba0 68 61 31 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6a 6f 69 6e 0a 20 20 20 20 ha1............(string-join.....
107bc0 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 2d 6e 61 ........(mapcar.(lambda.(file-na
107be0 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d me).......................(with-
107c00 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 temp-buffer.....................
107c20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 2d 6c 69 74 65 72 61 ....(insert-file-contents-litera
107c40 6c 6c 79 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lly.file-name)..................
107c60 20 20 20 20 20 20 20 28 73 68 61 31 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 .......(sha1.(current-buffer))))
107c80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 79 2d .....................(directory-
107ca0 66 69 6c 65 73 2d 72 65 63 75 72 73 69 76 65 6c 79 20 72 61 63 6b 65 74 2d 2d 72 6b 74 2d 73 6f files-recursively.racket--rkt-so
107cc0 75 72 63 65 2d 64 69 72 20 22 2e 2b 22 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 69 67 urce-dir.".+")))))..........(dig
107ce0 65 73 74 2d 66 69 6c 65 2d 74 68 65 72 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 est-file-there.(expand-file-name
107d00 20 22 64 69 67 65 73 74 22 20 74 72 61 6d 70 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 ."digest".tramp-dir))..........(
107d20 64 69 67 65 73 74 2d 74 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d digest-there...........(with-tem
107d40 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 72 61 6d p-buffer.............(let.((tram
107d60 70 2d 76 65 72 62 6f 73 65 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e p-verbose.0))...............(ign
107d80 6f 72 65 2d 65 72 72 6f 72 73 20 20 20 20 20 20 20 20 20 20 20 20 3b 4f 4b 20 69 66 20 69 74 20 ore-errors............;OK.if.it.
107da0 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 79 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 doesn't.exist.yet...............
107dc0 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 2d 6c 69 74 65 72 61 6c 6c ..(insert-file-contents-literall
107de0 79 20 64 69 67 65 73 74 2d 66 69 6c 65 2d 74 68 65 72 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 y.digest-file-there)))..........
107e00 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 ...(buffer-substring.(point-min)
107e20 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 .(point-max))))).....(unless.(eq
107e40 75 61 6c 20 64 69 67 65 73 74 2d 68 65 72 65 20 64 69 67 65 73 74 2d 74 68 65 72 65 29 0a 20 20 ual.digest-here.digest-there)...
107e60 20 20 20 20 3b 3b 20 57 65 20 6e 65 65 64 20 74 6f 20 63 72 65 61 74 65 20 61 20 64 69 67 65 73 ....;;.We.need.to.create.a.diges
107e80 74 20 66 69 6c 65 20 6f 6e 20 74 68 65 20 72 65 6d 6f 74 65 2e 20 54 68 65 20 73 69 6d 70 6c 65 t.file.on.the.remote..The.simple
107ea0 73 74 0a 20 20 20 20 20 20 3b 3b 20 77 61 79 20 74 6f 20 64 6f 20 73 6f 20 69 73 20 63 72 65 61 st.......;;.way.to.do.so.is.crea
107ec0 74 65 20 74 68 65 20 66 69 6c 65 20 6c 6f 63 61 6c 6c 79 2c 20 74 68 65 6e 20 6c 65 74 20 60 63 te.the.file.locally,.then.let.`c
107ee0 6f 70 79 2d 66 69 6c 65 27 0a 20 20 20 20 20 20 3b 3b 20 75 73 65 20 74 72 61 6d 70 20 61 75 74 opy-file'.......;;.use.tramp.aut
107f00 6f 6d 61 74 69 63 61 6c 6c 79 2e 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 3b 3b 20 44 6f omatically........;;.......;;.Do
107f20 6e 27 74 20 63 72 65 61 74 65 20 61 20 64 69 67 65 73 74 20 66 69 6c 65 20 69 6e 20 60 72 6b 74 n't.create.a.digest.file.in.`rkt
107f40 2d 2d 73 6f 75 72 63 65 2d 64 69 72 27 20 2d 2d 20 69 74 20 77 6f 75 6c 64 0a 20 20 20 20 20 20 --source-dir'.--.it.would.......
107f60 3b 3b 20 62 65 20 6f 6e 65 20 6d 6f 72 65 20 74 68 69 6e 67 20 74 6f 20 2e 67 69 74 69 67 6e 6f ;;.be.one.more.thing.to..gitigno
107f80 72 65 2c 20 61 6e 64 20 6d 69 67 68 74 20 69 6e 74 65 72 66 65 72 65 20 77 69 74 68 0a 20 20 20 re,.and.might.interfere.with....
107fa0 20 20 20 3b 3b 20 70 65 6f 70 6c 65 20 75 73 69 6e 67 20 65 2e 67 2e 20 73 74 72 61 69 67 68 74 ...;;.people.using.e.g..straight
107fc0 2e 65 6c 20 2d 2d 20 69 6e 73 74 65 61 64 20 6d 61 6b 65 20 61 20 74 65 6d 70 20 66 69 6c 65 2e .el.--.instead.make.a.temp.file.
107fe0 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 74 65 6d 70 2d 64 69 67 65 73 74 2d 66 69 6c 65 2d .......(let*.((temp-digest-file-
108000 68 65 72 65 20 28 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 22 72 61 63 6b 65 74 2d 6d 6f 64 here.(make-temp-file."racket-mod
108020 65 2d 64 69 67 65 73 74 22 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d e-digest"))).........(with-temp-
108040 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 64 69 67 65 73 74 2d buffer...........(insert.digest-
108060 68 65 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 72 69 74 65 2d 72 65 67 69 6f 6e 20 28 70 here)...........(write-region.(p
108080 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 74 65 6d 70 2d 64 69 67 65 73 oint-min).(point-max).temp-diges
1080a0 74 2d 66 69 6c 65 2d 68 65 72 65 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 72 61 t-file-here)).........(let.((tra
1080c0 6d 70 2d 76 65 72 62 6f 73 65 20 32 29 29 20 3b 61 76 6f 69 64 20 22 65 6e 63 6f 64 69 6e 67 22 mp-verbose.2)).;avoid."encoding"
1080e0 2f 22 64 65 63 6f 64 69 6e 67 22 20 6d 65 73 73 61 67 65 73 0a 20 20 20 20 20 20 20 20 20 20 3b /"decoding".messages...........;
108100 3b 20 43 6f 70 79 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 64 69 72 65 63 74 6f 72 79 20 74 6f ;.Copy.the.back.end.directory.to
108120 20 74 68 65 20 72 65 6d 6f 74 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 .the.remote............;;.......
108140 20 20 20 20 3b 3b 60 63 6f 70 79 2d 64 69 72 65 63 74 6f 72 79 27 20 63 72 65 61 74 65 73 20 73 ....;;`copy-directory'.creates.s
108160 79 6d 6c 69 6e 6b 73 20 77 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 20 69 73 20 61 0a 20 20 20 ymlinks.when.the.source.is.a....
108180 20 20 20 20 20 20 20 3b 3b 20 73 79 6d 6c 69 6e 6b 20 28 61 6e 64 20 65 2e 67 2e 20 73 74 72 61 .......;;.symlink.(and.e.g..stra
1081a0 69 67 68 74 2e 65 6c 20 6b 65 65 70 73 20 70 61 63 6b 61 67 65 20 72 65 70 6f 73 20 69 6e 20 61 ight.el.keeps.package.repos.in.a
1081c0 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 79 6d 6c 69 6e 6b 65 64 20 64 69 72 29 2c 20 77 68 ...........;;.symlinked.dir),.wh
1081e0 69 63 68 20 77 6f 6e 27 74 20 77 6f 72 6b 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 68 6f 73 74 2e ich.won't.work.on.a.remote.host.
108200 20 43 68 61 6e 67 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 6d 61 6b 65 2d 73 79 6d 62 6f .Change...........;;.`make-symbo
108220 6c 69 63 2d 6c 69 6e 6b 27 20 74 6f 20 60 63 6f 70 79 2d 66 69 6c 65 27 20 64 75 72 69 6e 67 20 lic-link'.to.`copy-file'.during.
108240 74 68 65 20 64 79 6e 61 6d 69 63 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 78 74 65 6e 74 20 the.dynamic...........;;.extent.
108260 6f 66 20 6f 75 72 20 63 61 6c 6c 20 74 6f 20 60 63 6f 70 79 2d 64 69 72 65 63 74 6f 72 79 27 2e of.our.call.to.`copy-directory'.
108280 20 4e 6f 74 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 63 6c 2d 66 6c 65 74 .Note.that...........;;.`cl-flet
1082a0 27 20 69 73 20 2f 6e 6f 74 2f 20 74 68 65 20 72 69 67 68 74 20 74 68 69 6e 67 20 74 6f 20 75 73 '.is./not/.the.right.thing.to.us
1082c0 65 20 68 65 72 65 3b 20 73 65 65 20 65 2e 67 2e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 3c 68 e.here;.see.e.g............;;.<h
1082e0 74 74 70 3a 2f 2f 65 6e 64 6c 65 73 73 70 61 72 65 6e 74 68 65 73 65 73 2e 63 6f 6d 2f 75 6e 64 ttp://endlessparentheses.com/und
108300 65 72 73 74 61 6e 64 69 6e 67 2d 6c 65 74 66 2d 61 6e 64 2d 68 6f 77 2d 69 74 2d 72 65 70 6c 61 erstanding-letf-and-how-it-repla
108320 63 65 73 2d 66 6c 65 74 2e 68 74 6d 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 65 74 ces-flet.html>...........(cl-let
108340 66 20 28 28 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 6d 61 6b 65 2d 73 79 6d 62 6f f.(((symbol-function.'make-symbo
108360 6c 69 63 2d 6c 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 lic-link)......................(
108380 6c 61 6d 62 64 61 20 28 73 72 63 20 64 65 73 74 20 6f 6b 2d 69 66 2d 61 6c 72 65 61 64 79 2d 65 lambda.(src.dest.ok-if-already-e
1083a0 78 69 73 74 73 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xists-p)........................
1083c0 28 63 6f 70 79 2d 66 69 6c 65 20 73 72 63 20 64 65 73 74 20 6f 6b 2d 69 66 2d 61 6c 72 65 61 64 (copy-file.src.dest.ok-if-alread
1083e0 79 2d 65 78 69 73 74 73 2d 70 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 y-exists-p.nil)))).............(
108400 63 6f 70 79 2d 64 69 72 65 63 74 6f 72 79 20 72 61 63 6b 65 74 2d 2d 72 6b 74 2d 73 6f 75 72 63 copy-directory.racket--rkt-sourc
108420 65 2d 64 69 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-dir...........................
108440 20 20 74 72 61 6d 70 2d 64 69 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..tramp-dir.....................
108460 20 20 20 20 20 20 20 20 6e 69 6c 20 74 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4e ........nil.t.t))...........;;.N
108480 6f 77 20 74 68 61 74 20 77 65 27 72 65 20 73 75 72 65 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 ow.that.we're.sure.the.directory
1084a0 20 74 68 65 72 65 20 69 73 20 63 72 65 61 74 65 64 2c 20 63 6f 70 79 0a 20 20 20 20 20 20 20 20 .there.is.created,.copy.........
1084c0 20 20 3b 3b 20 6f 75 72 20 64 69 67 65 73 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 20 ..;;.our.digest.file............
1084e0 28 63 6f 70 79 2d 66 69 6c 65 20 74 65 6d 70 2d 64 69 67 65 73 74 2d 66 69 6c 65 2d 68 65 72 65 (copy-file.temp-digest-file-here
108500 20 64 69 67 65 73 74 2d 66 69 6c 65 2d 74 68 65 72 65 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 .digest-file-there.t)...........
108520 28 64 65 6c 65 74 65 2d 66 69 6c 65 20 74 65 6d 70 2d 64 69 67 65 73 74 2d 66 69 6c 65 2d 68 65 (delete-file.temp-digest-file-he
108540 72 65 29 29 0a 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 52 61 63 6b 65 74 20 4d 6f re)).........(message."Racket.Mo
108560 64 65 20 62 61 63 6b 20 65 6e 64 20 63 6f 70 69 65 64 20 74 6f 20 72 65 6d 6f 74 65 20 62 61 63 de.back.end.copied.to.remote.bac
108580 6b 20 65 6e 64 20 61 74 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 k.end.at.%s"..................tr
1085a0 61 6d 70 2d 64 69 72 29 29 29 0a 20 20 20 20 72 65 6d 6f 74 65 2d 73 6f 75 72 63 65 2d 64 69 72 amp-dir))).....remote-source-dir
1085c0 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 61 72 67 73 ))..(defun.racket--back-end-args
1085e0 2d 3e 63 6f 6d 6d 61 6e 64 20 28 62 61 63 6b 2d 65 6e 64 20 72 61 63 6b 65 74 2d 63 6f 6d 6d 61 ->command.(back-end.racket-comma
108600 6e 64 2d 61 72 67 73 29 0a 20 20 22 47 69 76 65 6e 20 52 41 43 4b 45 54 2d 43 4f 4d 4d 41 4e 44 nd-args)..."Given.RACKET-COMMAND
108620 2d 41 52 47 53 2c 20 70 72 65 70 65 6e 64 20 70 61 74 68 20 74 6f 20 72 61 63 6b 65 74 20 66 6f -ARGS,.prepend.path.to.racket.fo
108640 72 20 42 41 43 4b 2d 45 4e 44 2e 22 0a 20 20 28 69 66 20 28 72 61 63 6b 65 74 2d 2d 62 61 63 6b r.BACK-END."...(if.(racket--back
108660 2d 65 6e 64 2d 6c 6f 63 61 6c 2d 70 20 62 61 63 6b 2d 65 6e 64 29 0a 20 20 20 20 20 20 60 28 2c -end-local-p.back-end).......`(,
108680 28 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 20 62 61 63 6b 2d 65 6e 64 20 3a 72 61 63 6b 65 74 2d (or.(plist-get.back-end.:racket-
1086a0 70 72 6f 67 72 61 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 65 63 75 74 61 62 6c program)..............(executabl
1086c0 65 2d 66 69 6e 64 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 29 0a 20 20 20 20 20 20 20 20 20 e-find.racket-program)..........
1086e0 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 ....(user-error..............."C
108700 61 6e 6e 6f 74 20 66 69 6e 64 20 52 61 63 6b 65 74 20 65 78 65 63 75 74 61 62 6c 65 5c 6e 72 61 annot.find.Racket.executable\nra
108720 63 6b 65 74 2d 70 72 6f 67 72 61 6d 3a 20 25 53 5c 6e 65 78 65 63 2d 70 61 74 68 3a 20 25 53 22 cket-program:.%S\nexec-path:.%S"
108740 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 0a 20 20 ...............racket-program...
108760 20 20 20 20 20 20 20 20 20 20 20 20 65 78 65 63 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 ............exec-path)).........
108780 2c 40 72 61 63 6b 65 74 2d 63 6f 6d 6d 61 6e 64 2d 61 72 67 73 29 0a 20 20 20 20 28 70 63 61 73 ,@racket-command-args).....(pcas
1087a0 65 2d 6c 65 74 20 28 28 60 28 2c 68 6f 73 74 20 2c 75 73 65 72 20 2c 70 6f 72 74 20 2c 5f 6e 61 e-let.((`(,host.,user.,port.,_na
1087c0 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 66 69 me)..................(racket--fi
1087e0 6c 65 2d 6e 61 6d 65 2d 3e 68 6f 73 74 2b 75 73 65 72 2b 70 6f 72 74 2b 6e 61 6d 65 0a 20 20 20 le-name->host+user+port+name....
108800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 62 61 63 6b 2d 65 ...............(plist-get.back-e
108820 6e 64 20 3a 64 69 72 65 63 74 6f 72 79 29 29 29 29 0a 20 20 20 20 20 20 60 28 22 73 73 68 22 0a nd.:directory)))).......`("ssh".
108840 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 ........,@(when.port............
108860 20 60 28 22 2d 70 22 20 2c 28 66 6f 72 6d 61 74 20 22 25 73 22 20 70 6f 72 74 29 29 29 0a 20 20 .`("-p".,(format."%s".port)))...
108880 20 20 20 20 20 20 2c 28 69 66 20 75 73 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f ......,(if.user..............(fo
1088a0 72 6d 61 74 20 22 25 73 40 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rmat."%s@%s"....................
1088c0 20 20 75 73 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 ..user......................host
1088e0 29 0a 20 20 20 20 20 20 20 20 20 20 20 68 6f 73 74 29 0a 20 20 20 20 20 20 20 20 2c 28 6f 72 20 )............host).........,(or.
108900 28 70 6c 69 73 74 2d 67 65 74 20 62 61 63 6b 2d 65 6e 64 20 3a 72 61 63 6b 65 74 2d 70 72 6f 67 (plist-get.back-end.:racket-prog
108920 72 61 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d ram)..............racket-program
108940 29 20 3b 63 61 6e 27 74 20 75 73 65 20 60 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 27 20 72 ).;can't.use.`executable-find'.r
108960 65 6d 6f 74 65 6c 79 0a 20 20 20 20 20 20 20 20 2c 40 72 61 63 6b 65 74 2d 63 6f 6d 6d 61 6e 64 emotely.........,@racket-command
108980 2d 61 72 67 73 29 29 29 29 0a 0a 3b 3b 3b 20 46 69 6c 65 20 73 79 73 74 65 6d 20 77 61 74 63 68 -args))))..;;;.File.system.watch
1089a0 65 73 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 77 61 74 es..(defvar.racket--back-end-wat
1089c0 63 68 2d 64 65 73 63 72 69 70 74 6f 72 73 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b ch-descriptors.nil)..(defun.rack
1089e0 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 72 65 66 72 65 73 68 2d 77 61 74 63 68 65 73 20 28 29 0a et--back-end-refresh-watches.().
108a00 20 20 3b 3b 20 52 65 6d 6f 76 65 20 61 6c 6c 20 6f 75 72 20 65 78 69 73 74 69 6e 67 20 77 61 74 ..;;.Remove.all.our.existing.wat
108a20 63 68 65 73 2e 0a 20 20 28 6d 61 70 63 20 23 27 66 69 6c 65 2d 6e 6f 74 69 66 79 2d 72 6d 2d 77 ches....(mapc.#'file-notify-rm-w
108a40 61 74 63 68 20 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 77 61 74 63 68 2d 64 65 73 63 atch.racket--back-end-watch-desc
108a60 72 69 70 74 6f 72 73 29 0a 20 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e riptors)...(setq.racket--back-en
108a80 64 2d 77 61 74 63 68 2d 64 65 73 63 72 69 70 74 6f 72 73 20 6e 69 6c 29 0a 20 20 3b 3b 20 43 72 d-watch-descriptors.nil)...;;.Cr
108aa0 65 61 74 65 20 6e 65 77 20 77 61 74 63 68 65 73 2e 0a 20 20 28 64 6f 6c 69 73 74 20 28 70 6c 69 eate.new.watches....(dolist.(pli
108ac0 73 74 20 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e st.racket-back-end-configuration
108ae0 73 29 0a 20 20 20 20 28 6c 65 74 20 28 28 62 61 63 6b 2d 65 6e 64 2d 64 69 72 20 28 70 6c 69 73 s).....(let.((back-end-dir.(plis
108b00 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 20 20 t-get.plist.:directory))).......
108b20 28 64 6f 6c 69 73 74 20 28 77 61 74 63 68 2d 64 69 72 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c (dolist.(watch-dir.(plist-get.pl
108b40 69 73 74 20 3a 72 65 73 74 61 72 74 2d 77 61 74 63 68 2d 64 69 72 65 63 74 6f 72 69 65 73 29 29 ist.:restart-watch-directories))
108b60 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 66 69 6c 65 20 28 63 6f 6e 73 20 77 61 74 .........(dolist.(file.(cons.wat
108b80 63 68 2d 64 69 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ch-dir..........................
108ba0 20 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 2d 72 65 63 75 72 73 69 76 65 6c 79 20 ...(directory-files-recursively.
108bc0 77 61 74 63 68 2d 64 69 72 20 22 2e 2b 22 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 watch-dir.".+".t)))...........(w
108be0 68 65 6e 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 hen.(file-directory-p.file).....
108c00 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 66 69 6c 65 2d 6e 6f 74 69 66 79 2d 61 64 64 2d 77 ........(push.(file-notify-add-w
108c20 61 74 63 68 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29 0a atch.(directory-file-name.file).
108c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
108c60 20 20 20 20 20 20 20 20 20 27 28 63 68 61 6e 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .........'(change)..............
108c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 ............................(app
108ca0 6c 79 2d 70 61 72 74 69 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ly-partially....................
108cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d .......................#'racket-
108ce0 2d 62 61 63 6b 2d 65 6e 64 2d 77 61 74 63 68 2d 63 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 20 20 -back-end-watch-callback........
108d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
108d20 20 20 20 62 61 63 6b 2d 65 6e 64 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...back-end-dir))...............
108d40 20 20 20 20 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 77 61 74 63 68 2d 64 65 73 63 72 ....racket--back-end-watch-descr
108d60 69 70 74 6f 72 73 29 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 72 61 63 6b 65 74 2d 2d 62 iptors)))))))..(defvar.racket--b
108d80 61 63 6b 2d 65 6e 64 2d 77 61 74 63 68 2d 63 68 61 6e 67 65 73 20 28 6d 61 6b 65 2d 68 61 73 68 ack-end-watch-changes.(make-hash
108da0 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 23 27 65 71 75 61 6c 29 29 0a 0a 28 64 65 66 75 6e 20 72 -table.:test.#'equal))..(defun.r
108dc0 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 77 61 74 63 68 2d 63 61 6c 6c 62 61 63 6b 20 28 acket--back-end-watch-callback.(
108de0 62 61 63 6b 2d 65 6e 64 2d 64 69 72 20 65 76 65 6e 74 29 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 back-end-dir.event)...(pcase-let
108e00 20 28 28 60 28 2c 5f 64 65 73 63 72 69 70 74 6f 72 20 2c 61 63 74 69 6f 6e 20 2c 66 69 6c 65 20 .((`(,_descriptor.,action.,file.
108e20 2e 20 5f 6d 6f 72 65 29 20 65 76 65 6e 74 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 .._more).event)).....(unless.(or
108e40 20 28 65 71 20 61 63 74 69 6f 6e 20 27 73 74 6f 70 70 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 .(eq.action.'stopped)...........
108e60 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 5b 2e 5d 23 22 20 28 66 ......(string-match-p."^[.]#".(f
108e80 69 6c 65 2d 6e 61 6d 65 2d 62 61 73 65 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 28 70 75 74 ile-name-base.file))).......(put
108ea0 68 61 73 68 20 62 61 63 6b 2d 65 6e 64 2d 64 69 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hash.back-end-dir...............
108ec0 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 64 75 70 6c 69 63 61 74 65 73 0a 20 20 20 20 20 20 20 20 20 .(cl-remove-duplicates..........
108ee0 20 20 20 20 20 20 20 28 63 6f 6e 73 20 66 69 6c 65 20 28 67 65 74 68 61 73 68 20 62 61 63 6b 2d .......(cons.file.(gethash.back-
108f00 65 6e 64 2d 64 69 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 end-dir.........................
108f20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 77 61 74 ............racket--back-end-wat
108f40 63 68 2d 63 68 61 6e 67 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 65 ch-changes)).................:te
108f60 73 74 20 23 27 65 71 75 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 st.#'equal)................racke
108f80 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 77 61 74 63 68 2d 63 68 61 6e 67 65 73 29 29 29 29 0a 0a 28 t--back-end-watch-changes))))..(
108fa0 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 77 61 74 63 68 2d 72 65 61 defun.racket--back-end-watch-rea
108fc0 64 2f 72 65 73 65 74 20 28 29 0a 20 20 28 6c 65 74 20 28 28 6b 65 79 20 28 72 61 63 6b 65 74 2d d/reset.()...(let.((key.(racket-
108fe0 62 61 63 6b 2d 65 6e 64 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 70 72 6f 67 31 0a 20 20 20 20 back-end-name))).....(prog1.....
109000 20 20 20 20 28 67 65 74 68 61 73 68 20 6b 65 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(gethash.key................
109020 20 20 72 61 63 6b 65 74 2d 2d 62 61 63 6b 2d 65 6e 64 2d 77 61 74 63 68 2d 63 68 61 6e 67 65 73 ..racket--back-end-watch-changes
109040 29 0a 20 20 20 20 20 20 28 70 75 74 68 61 73 68 20 6b 65 79 0a 20 20 20 20 20 20 20 20 20 20 20 ).......(puthash.key............
109060 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 2d 62 ....nil................racket--b
109080 61 63 6b 2d 65 6e 64 2d 77 61 74 63 68 2d 63 68 61 6e 67 65 73 29 29 29 29 0a 0a 28 70 72 6f 76 ack-end-watch-changes))))..(prov
1090a0 69 64 65 20 27 72 61 63 6b 65 74 2d 62 61 63 6b 2d 65 6e 64 29 0a 0a 3b 3b 20 72 61 63 6b 65 74 ide.'racket-back-end)..;;.racket
1090c0 2d 62 61 63 6b 2d 65 6e 64 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 -back-end.el.ends.here..........
1090e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1091a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1091c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1091e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109200 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
109220 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 69 6e 66 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 racket-mode.info................
109240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
109280 30 35 30 32 37 36 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 37 33 37 00 20 30 00 00 00 0502767.00000000000.016737..0...
1092a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1092c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1092e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
109320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
109340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1093a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1093c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1093e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109400 54 68 69 73 20 69 73 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 This.is.doc49fz4A.info,.produced
109420 20 62 79 20 6d 61 6b 65 69 6e 66 6f 20 76 65 72 73 69 6f 6e 20 36 2e 38 20 66 72 6f 6d 0a 72 61 .by.makeinfo.version.6.8.from.ra
109440 63 6b 65 74 2d 6d 6f 64 65 2e 74 65 78 69 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 cket-mode.texi...Copyright.(C).2
109460 30 31 33 2d 32 30 32 32 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 2e 0a 0a 20 013-2022.by.Greg.Hendershott....
109480 20 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 ..SPDX-License-Identifier:.GPL-3
1094a0 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 49 4e 46 4f 2d 44 49 52 2d 53 45 43 54 49 4f 4e 20 45 6d 61 .0-or-later.INFO-DIR-SECTION.Ema
1094c0 63 73 0a 53 54 41 52 54 2d 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 0a 2a 20 52 61 63 6b 65 74 cs.START-INFO-DIR-ENTRY.*.Racket
1094e0 20 4d 6f 64 65 3a 20 28 72 61 63 6b 65 74 2d 6d 6f 64 65 29 2e 20 45 64 69 74 20 61 6e 64 20 52 .Mode:.(racket-mode)..Edit.and.R
109500 45 50 4c 20 6d 61 6a 6f 72 20 6d 6f 64 65 73 20 66 6f 72 20 52 61 63 6b 65 74 20 6c 61 6e 67 2e EPL.major.modes.for.Racket.lang.
109520 0a 45 4e 44 2d 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 .END-INFO-DIR-ENTRY....File:.doc
109540 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 6f 70 2c 20 20 4e 65 78 74 3a 20 49fz4A.info,..Node:.Top,..Next:.
109560 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c 20 20 55 70 3a 20 28 64 69 72 29 0a 0a 52 61 63 6b 65 74 Introduction,..Up:.(dir)..Racket
109580 20 4d 6f 64 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 49 6e .Mode.***********..*.Menu:..*.In
1095a0 74 72 6f 64 75 63 74 69 6f 6e 3a 3a 0a 2a 20 49 6e 73 74 61 6c 6c 2c 20 55 70 64 61 74 65 2c 20 troduction::.*.Install,.Update,.
1095c0 61 6e 64 20 55 6e 69 6e 73 74 61 6c 6c 3a 20 49 6e 73 74 61 6c 6c 20 55 70 64 61 74 65 20 61 6e and.Uninstall:.Install.Update.an
1095e0 64 20 55 6e 69 6e 73 74 61 6c 6c 2e 0a 2a 20 43 6f 6e 66 69 67 75 72 65 3a 3a 0a 2a 20 41 72 63 d.Uninstall..*.Configure::.*.Arc
109600 68 69 74 65 63 74 75 72 65 3a 3a 0a 2a 20 52 65 66 65 72 65 6e 63 65 3a 3a 0a 2a 20 43 6f 6d 6d hitecture::.*.Reference::.*.Comm
109620 61 6e 64 73 3a 3a 0a 2a 20 56 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 43 6f 6e 66 69 67 75 72 61 ands::.*.Variables::.*.Configura
109640 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 3a 3a 0a 2a 20 46 61 63 65 73 3a 3a 0a 0a e2 80 94 20 tion.functions::.*.Faces::......
109660 54 68 65 20 44 65 74 61 69 6c 65 64 20 4e 6f 64 65 20 4c 69 73 74 69 6e 67 20 e2 80 94 0a 0a 49 The.Detailed.Node.Listing......I
109680 6e 73 74 61 6c 6c 2c 20 55 70 64 61 74 65 2c 20 61 6e 64 20 55 6e 69 6e 73 74 61 6c 6c 0a 0a 2a nstall,.Update,.and.Uninstall..*
1096a0 20 55 73 65 20 45 6d 61 63 73 20 32 38 2e 31 20 6f 72 20 6e 65 77 65 72 20 77 69 74 68 20 4e 6f .Use.Emacs.28.1.or.newer.with.No
1096c0 6e 47 4e 55 20 45 4c 50 41 3a 20 55 73 65 20 45 6d 61 63 73 20 32 38 31 20 6f 72 20 6e 65 77 65 nGNU.ELPA:.Use.Emacs.281.or.newe
1096e0 72 20 77 69 74 68 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 2e 0a 2a 20 43 6f 6e 66 69 67 75 72 65 20 r.with.NonGNU.ELPA..*.Configure.
109700 45 6d 61 63 73 20 74 6f 20 75 73 65 20 4d 45 4c 50 41 3a 3a 0a 2a 20 49 6e 73 74 61 6c 6c 3a 3a Emacs.to.use.MELPA::.*.Install::
109720 0a 2a 20 4d 69 6e 69 6d 61 6c 20 52 61 63 6b 65 74 3a 3a 0a 2a 20 55 6e 69 6e 73 74 61 6c 6c 3a .*.Minimal.Racket::.*.Uninstall:
109740 3a 0a 2a 20 55 70 64 61 74 65 3a 3a 0a 0a 55 70 64 61 74 65 0a 0a 2a 20 55 70 67 72 61 64 69 6e :.*.Update::..Update..*.Upgradin
109760 67 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 3a 3a 0a 2a 20 55 70 64 61 74 69 6e 67 20 6a 75 73 74 g.all.packages::.*.Updating.just
109780 20 52 61 63 6b 65 74 20 4d 6f 64 65 3a 3a 0a 0a 43 6f 6e 66 69 67 75 72 65 0a 0a 2a 20 57 68 69 .Racket.Mode::..Configure..*.Whi
1097a0 63 68 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 74 6f 20 75 73 65 3a 3a 0a 2a 20 4b 65 79 20 62 69 6e ch.major.mode.to.use::.*.Key.bin
1097c0 64 69 6e 67 73 3a 3a 0a 2a 20 46 6f 6e 74 2d 6c 6f 63 6b 20 28 73 79 6e 74 61 78 20 68 69 67 68 dings::.*.Font-lock.(syntax.high
1097e0 6c 69 67 68 74 69 6e 67 29 3a 3a 0a 2a 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 61 74 20 70 6f 69 6e lighting)::.*.Completion.at.poin
109800 74 3a 3a 0a 2a 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 3a 3a t::.*.Completion.in.minibuffer::
109820 0a 2a 20 58 72 65 66 20 28 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 72 65 66 65 72 65 6e .*.Xref.(definitions.and.referen
109840 63 65 73 29 3a 3a 0a 2a 20 49 6e 64 65 6e 74 3a 3a 0a 2a 20 70 61 72 65 64 69 74 3a 3a 0a 2a 20 ces)::.*.Indent::.*.paredit::.*.
109860 73 6d 61 72 74 70 61 72 65 6e 73 3a 3a 0a 2a 20 41 70 70 65 61 72 61 6e 63 65 20 6f 66 20 70 61 smartparens::.*.Appearance.of.pa
109880 72 65 6e 74 68 65 73 65 73 3a 3a 0a 2a 20 45 64 69 74 20 62 75 66 66 65 72 73 20 61 6e 64 20 52 rentheses::.*.Edit.buffers.and.R
1098a0 45 50 4c 20 62 75 66 66 65 72 73 3a 3a 0a 2a 20 65 6c 64 6f 63 3a 3a 0a 2a 20 53 74 61 72 74 20 EPL.buffers::.*.eldoc::.*.Start.
1098c0 66 61 73 74 65 72 3a 3a 0a 2a 20 55 6e 69 63 6f 64 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 3a faster::.*.Unicode.input.method:
1098e0 3a 0a 2a 20 4c 69 67 61 74 75 72 65 73 3a 3a 0a 0a 43 6f 6d 6d 61 6e 64 73 0a 0a 2a 20 45 64 69 :.*.Ligatures::..Commands..*.Edi
109900 74 3a 3a 0a 2a 20 48 61 73 68 20 4c 61 6e 67 73 3a 3a 0a 2a 20 45 78 70 6c 6f 72 65 3a 3a 0a 2a t::.*.Hash.Langs::.*.Explore::.*
109920 20 52 75 6e 3a 3a 0a 2a 20 54 65 73 74 3a 3a 0a 2a 20 45 76 61 6c 3a 3a 0a 2a 20 43 6f 6c 6c 65 .Run::.*.Test::.*.Eval::.*.Colle
109940 63 74 69 6f 6e 73 3a 3a 0a 2a 20 4d 61 63 72 6f 20 65 78 70 61 6e 64 3a 3a 0a 2a 20 4f 74 68 65 ctions::.*.Macro.expand::.*.Othe
109960 72 3a 3a 0a 0a 45 64 69 74 0a 0a 2a 20 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 r::..Edit..*.racket-mode::.*.rac
109980 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 66 6f 6c ket-insert-lambda::.*.racket-fol
1099a0 64 2d 61 6c 6c 2d 74 65 73 74 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c d-all-tests::.*.racket-unfold-al
1099c0 6c 2d 74 65 73 74 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 l-tests::.*.racket-tidy-requires
1099e0 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 3a 3a 0a 2a 20 72 61 ::.*.racket-trim-requires::.*.ra
109a00 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 61 64 cket-base-requires::.*.racket-ad
109a20 64 2d 72 65 71 75 69 72 65 2d 66 6f 72 2d 69 64 65 6e 74 69 66 69 65 72 3a 3a 0a 2a 20 72 61 63 d-require-for-identifier::.*.rac
109a40 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 ket-indent-line::.*.racket-smart
109a60 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6e -open-bracket-mode::.*.racket-in
109a80 73 65 72 74 2d 63 6c 6f 73 69 6e 67 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 63 79 63 6c 65 2d 70 61 sert-closing::.*.racket-cycle-pa
109aa0 72 65 6e 2d 73 68 61 70 65 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 62 61 63 6b 77 61 72 64 2d 75 ren-shapes::.*.racket-backward-u
109ac0 70 2d 6c 69 73 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d p-list::.*.racket-unicode-input-
109ae0 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 61 6c 69 67 6e 3a 3a method-enable::.*.racket-align::
109b00 0a 2a 20 72 61 63 6b 65 74 2d 75 6e 61 6c 69 67 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 63 6f 6d .*.racket-unalign::.*.racket-com
109b20 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 3a 3a 0a 0a 48 61 73 68 20 4c 61 6e 67 73 0a 0a 2a 20 plete-at-point::..Hash.Langs..*.
109b40 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 racket-hash-lang-mode::.*.racket
109b60 2d 68 61 73 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 72 64 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 -hash-lang-backward::.*.racket-h
109b80 61 73 68 2d 6c 61 6e 67 2d 66 6f 72 77 61 72 64 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 ash-lang-forward::.*.racket-hash
109ba0 2d 6c 61 6e 67 2d 75 70 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 6f -lang-up::.*.racket-hash-lang-do
109bc0 77 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d 64 77 wn::.*.racket-hash-lang-C-M-q-dw
109be0 69 6d 3a 3a 0a 0a 45 78 70 6c 6f 72 65 0a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a im::..Explore..*.racket-xp-mode:
109c00 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 3a 3a 0a 2a 20 72 61 63 6b 65 :.*.racket-xp-describe::.*.racke
109c20 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 t-xp-documentation::.*.racket-xp
109c40 2d 6e 65 78 74 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 70 -next-definition::.*.racket-xp-p
109c60 72 65 76 69 6f 75 73 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 revious-definition::.*.racket-xp
109c80 2d 6e 65 78 74 2d 75 73 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 -next-use::.*.racket-xp-previous
109ca0 2d 75 73 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 65 72 72 6f 72 3a 3a 0a -use::.*.racket-xp-next-error::.
109cc0 2a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 3a 3a 0a 2a 20 72 *.racket-xp-previous-error::.*.r
109ce0 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 acket-xp-tail-up::.*.racket-xp-t
109d00 61 69 6c 2d 64 6f 77 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 ail-down::.*.racket-xp-tail-next
109d20 2d 73 69 62 6c 69 6e 67 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 72 65 76 -sibling::.*.racket-xp-tail-prev
109d40 69 6f 75 73 2d 73 69 62 6c 69 6e 67 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 ious-sibling::.*.racket-document
109d60 61 74 69 6f 6e 2d 73 65 61 72 63 68 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 ation-search::.*.racket-describe
109d80 2d 73 65 61 72 63 68 3a 3a 0a 0a 52 75 6e 0a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f -search::..Run..*.racket-repl-mo
109da0 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 75 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 75 6e de::.*.racket-run::.*.racket-run
109dc0 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 -and-switch-to-repl::.*.racket-r
109de0 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 un-module-at-point::.*.racket-re
109e00 70 6c 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 65 3a 3a 0a 2a 20 pl::.*.racket-repl-describe::.*.
109e20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 3a 0a 2a 20 72 61 racket-repl-documentation::.*.ra
109e40 63 6b 65 74 2d 72 61 63 6b 65 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 3a 3a cket-racket::.*.racket-profile::
109e60 0a 2a 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 .*.racket-profile-mode::.*.racke
109e80 74 2d 6c 6f 67 67 65 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 3a t-logger::.*.racket-logger-mode:
109ea0 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 :.*.racket-debug-mode::.*.racket
109ec0 2d 72 65 70 6c 2d 63 6c 65 61 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 -repl-clear::.*.racket-repl-clea
109ee0 72 2d 6c 65 61 76 69 6e 67 2d 6c 61 73 74 2d 70 72 6f 6d 70 74 3a 3a 0a 0a 54 65 73 74 0a 0a 2a r-leaving-last-prompt::..Test..*
109f00 20 72 61 63 6b 65 74 2d 74 65 73 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 61 63 6f 2d 74 65 73 .racket-test::.*.racket-raco-tes
109f20 74 3a 3a 0a 0a 45 76 61 6c 0a 0a 2a 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 3a t::..Eval..*.racket-send-region:
109f40 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a 2a 20 72 :.*.racket-send-definition::.*.r
109f60 61 63 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 74 2d 73 65 78 70 3a 3a 0a 0a 43 6f 6c 6c 65 63 74 69 acket-send-last-sexp::..Collecti
109f80 6f 6e 73 0a 0a 2a 20 72 61 63 6b 65 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 3a ons..*.racket-open-require-path:
109fa0 3a 0a 0a 4d 61 63 72 6f 20 65 78 70 61 6e 64 0a 0a 2a 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 :..Macro.expand..*.racket-steppe
109fc0 72 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 3a 3a 0a r-mode::.*.racket-expand-file::.
109fe0 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 *.racket-expand-region::.*.racke
10a000 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 t-expand-definition::.*.racket-e
10a020 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 3a 3a 0a 0a 4f 74 68 65 72 0a 0a 2a 20 72 61 63 6b xpand-last-sexp::..Other..*.rack
10a040 65 74 2d 64 65 62 75 67 2d 74 6f 67 67 6c 65 2d 62 72 65 61 6b 70 6f 69 6e 74 3a 3a 0a 2a 20 72 et-debug-toggle-breakpoint::.*.r
10a060 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 66 61 73 74 65 72 3a 3a 0a 2a 20 72 61 63 6b acket-mode-start-faster::.*.rack
10a080 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 73 6c 6f 77 65 72 3a 3a 0a 0a 56 61 72 69 61 62 6c 65 et-mode-start-slower::..Variable
10a0a0 73 0a 0a 2a 20 47 65 6e 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 48 61 73 68 20 s..*.General.variables::.*.Hash.
10a0c0 6c 61 6e 67 20 76 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 52 45 50 4c 20 76 61 72 69 61 62 6c 65 lang.variables::.*.REPL.variable
10a0e0 73 3a 3a 0a 2a 20 4f 74 68 65 72 20 76 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 45 78 70 65 72 69 s::.*.Other.variables::.*.Experi
10a100 6d 65 6e 74 61 6c 20 64 65 62 75 67 67 65 72 20 76 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 53 68 mental.debugger.variables::.*.Sh
10a120 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 3a 0a 2a 20 52 75 6e 6e 69 6e 67 20 72 61 owing.information::.*.Running.ra
10a140 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c cket.and.raco.commands.in.a.shel
10a160 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 3a 3a 0a 0a 47 65 6e 65 72 61 6c 20 76 61 72 69 61 62 6c l.or.terminal::..General.variabl
10a180 65 73 0a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d es..*.racket-program::.*.racket-
10a1a0 63 6f 6d 6d 61 6e 64 2d 74 69 6d 65 6f 75 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6d 65 6d 6f 72 command-timeout::.*.racket-memor
10a1c0 79 2d 6c 69 6d 69 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 y-limit::.*.racket-error-context
10a1e0 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 75 73 65 72 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 ::.*.racket-user-command-line-ar
10a200 67 75 6d 65 6e 74 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 guments::.*.racket-browse-url-fu
10a220 6e 63 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 nction::.*.racket-xp-after-chang
10a240 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 68 69 e-refresh-delay::.*.racket-xp-hi
10a260 67 68 6c 69 67 68 74 2d 75 6e 75 73 65 64 2d 72 65 67 65 78 70 3a 3a 0a 2a 20 72 61 63 6b 65 74 ghlight-unused-regexp::.*.racket
10a280 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 -xp-add-binding-faces::.*.racket
10a2a0 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 74 69 6f 6e 3a 3a -documentation-search-location::
10a2c0 0a 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 3a 3a 0a 0a 48 61 73 68 20 .*.racket-expand-hiding::..Hash.
10a2e0 6c 61 6e 67 20 76 61 72 69 61 62 6c 65 73 0a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 lang.variables..*.racket-hash-la
10a300 6e 67 2d 74 6f 6b 65 6e 2d 66 61 63 65 2d 61 6c 69 73 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 ng-token-face-alist::.*.racket-h
10a320 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c ash-lang-pairs::.*.racket-hash-l
10a340 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 3a 3a 0a 0a 52 45 50 4c ang-module-language-hook::..REPL
10a360 20 76 61 72 69 61 62 6c 65 73 0a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 .variables..*.racket-repl-buffer
10a380 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 -name-function::.*.racket-submod
10a3a0 75 6c 65 73 2d 74 6f 2d 72 75 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 68 69 73 74 ules-to-run::.*.racket-repl-hist
10a3c0 6f 72 79 2d 64 69 72 65 63 74 6f 72 79 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 69 73 74 6f 72 79 ory-directory::.*.racket-history
10a3e0 2d 66 69 6c 74 65 72 2d 72 65 67 65 78 70 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 -filter-regexp::.*.racket-images
10a400 2d 69 6e 6c 69 6e 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 6d 61 67 69 63 6b 2d 70 -inline::.*.racket-imagemagick-p
10a420 72 6f 70 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 6b 65 65 70 2d 6c 61 73 74 rops::.*.racket-images-keep-last
10a440 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 73 79 73 74 65 6d 2d 76 69 65 77 65 72 ::.*.racket-images-system-viewer
10a460 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 70 72 69 6e 74 3a 3a 0a 2a 20 72 61 63 ::.*.racket-pretty-print::.*.rac
10a480 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 3a 3a 0a 0a 4f 74 68 65 72 20 76 ket-repl-command-file::..Other.v
10a4a0 61 72 69 61 62 6c 65 73 0a 0a 2a 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 63 75 72 6c 79 2d ariables..*.racket-indent-curly-
10a4c0 61 73 2d 73 65 71 75 65 6e 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 as-sequence::.*.racket-indent-se
10a4e0 71 75 65 6e 63 65 2d 64 65 70 74 68 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 6c quence-depth::.*.racket-pretty-l
10a500 61 6d 62 64 61 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 ambda::.*.racket-smart-open-brac
10a520 6b 65 74 2d 65 6e 61 62 6c 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e ket-enable::.*.racket-logger-con
10a540 66 69 67 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 3a 3a fig::.*.racket-before-run-hook::
10a560 0a 2a 20 72 61 63 6b 65 74 2d 61 66 74 65 72 2d 72 75 6e 2d 68 6f 6f 6b 3a 3a 0a 2a 20 72 61 63 .*.racket-after-run-hook::.*.rac
10a580 6b 65 74 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 64 65 3a 3a 0a 0a 45 78 70 65 72 69 6d ket-sexp-comment-fade::..Experim
10a5a0 65 6e 74 61 6c 20 64 65 62 75 67 67 65 72 20 76 61 72 69 61 62 6c 65 73 0a 0a 2a 20 72 61 63 6b ental.debugger.variables..*.rack
10a5c0 65 74 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 3a 3a 0a 0a 53 68 6f 77 69 6e 67 20 69 et-debuggable-files::..Showing.i
10a5e0 6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a 2a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 nformation..*.racket-show-functi
10a600 6f 6e 73 3a 3a 0a 0a 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 ons::..Running.racket.and.raco.c
10a620 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 0a 0a ommands.in.a.shell.or.terminal..
10a640 2a 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 *.racket-shell-or-terminal-funct
10a660 69 6f 6e 3a 3a 0a 0a 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 0a 0a ion::..Configuration.functions..
10a680 2a 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 20 53 68 6f 77 69 6e 67 20 69 *.Showing.information:.Showing.i
10a6a0 6e 66 6f 72 6d 61 74 69 6f 6e 20 28 31 29 2e 0a 2a 20 41 73 73 6f 63 69 61 74 69 6e 67 20 65 64 nformation.(1)..*.Associating.ed
10a6c0 69 74 20 62 75 66 66 65 72 73 20 77 69 74 68 20 52 45 50 4c 20 62 75 66 66 65 72 73 3a 3a 0a 2a it.buffers.with.REPL.buffers::.*
10a6e0 20 42 72 6f 77 73 69 6e 67 20 66 69 6c 65 20 55 52 4c 73 20 77 69 74 68 20 61 6e 63 68 6f 72 73 .Browsing.file.URLs.with.anchors
10a700 3a 3a 0a 2a 20 43 6f 6e 66 69 67 75 72 69 6e 67 20 62 61 63 6b 20 65 6e 64 73 3a 3a 0a 2a 20 52 ::.*.Configuring.back.ends::.*.R
10a720 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 unning.racket.and.raco.commands.
10a740 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 3a 20 52 75 6e 6e 69 6e 67 20 in.a.shell.or.terminal:.Running.
10a760 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 racket.and.raco.commands.in.a.sh
10a780 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 28 31 29 2e 0a 0a 53 68 6f 77 69 6e 67 20 69 6e ell.or.terminal.(1)...Showing.in
10a7a0 66 6f 72 6d 61 74 69 6f 6e 0a 0a 2a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 75 64 6f 2d formation..*.racket-show-pseudo-
10a7c0 74 6f 6f 6c 74 69 70 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 tooltip::.*.racket-show-echo-are
10a7e0 61 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 3a 3a 0a a::.*.racket-show-header-line::.
10a800 2a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 3a 3a 0a 0a 41 73 73 6f 63 69 61 *.racket-show-pos-tip::..Associa
10a820 74 69 6e 67 20 65 64 69 74 20 62 75 66 66 65 72 73 20 77 69 74 68 20 52 45 50 4c 20 62 75 66 66 ting.edit.buffers.with.REPL.buff
10a840 65 72 73 0a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 ers..*.racket-repl-buffer-name-s
10a860 68 61 72 65 64 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d hared::.*.racket-repl-buffer-nam
10a880 65 2d 75 6e 69 71 75 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d e-unique::.*.racket-repl-buffer-
10a8a0 6e 61 6d 65 2d 70 72 6f 6a 65 63 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 6f 6a 65 63 74 2d name-project::.*.racket-project-
10a8c0 72 6f 6f 74 3a 3a 0a 0a 42 72 6f 77 73 69 6e 67 20 66 69 6c 65 20 55 52 4c 73 20 77 69 74 68 20 root::..Browsing.file.URLs.with.
10a8e0 61 6e 63 68 6f 72 73 0a 0a 2a 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 75 73 69 anchors..*.racket-browse-url-usi
10a900 6e 67 2d 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 3a 3a 0a 0a 43 6f 6e 66 69 67 75 72 69 6e 67 ng-temporary-file::..Configuring
10a920 20 62 61 63 6b 20 65 6e 64 73 0a 0a 2a 20 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e .back.ends..*.racket-add-back-en
10a940 64 3a 3a 0a 0a 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d d::..Running.racket.and.raco.com
10a960 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 0a 0a 2a 20 mands.in.a.shell.or.terminal..*.
10a980 72 61 63 6b 65 74 2d 73 68 65 6c 6c 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 74 65 72 6d 3a 3a 0a 2a racket-shell::.*.racket-term::.*
10a9a0 20 72 61 63 6b 65 74 2d 61 6e 73 69 2d 74 65 72 6d 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 76 74 65 .racket-ansi-term::.*.racket-vte
10a9c0 72 6d 3a 3a 0a 0a 46 61 63 65 73 0a 0a 2a 20 41 6c 6c 3a 3a 0a 0a 41 6c 6c 0a 0a 2a 20 72 61 63 rm::..Faces..*.All::..All..*.rac
10a9e0 6b 65 74 2d 6b 65 79 77 6f 72 64 2d 61 72 67 75 6d 65 6e 74 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 ket-keyword-argument-face::.*.ra
10aa00 63 6b 65 74 2d 72 65 61 64 65 72 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 3a 3a cket-reader-quoted-symbol-face::
10aa20 0a 2a 20 72 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 73 79 6e 74 61 78 2d 71 75 6f 74 65 64 2d 73 .*.racket-reader-syntax-quoted-s
10aa40 79 6d 62 6f 6c 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 65 72 65 2d 73 74 72 69 6e ymbol-face::.*.racket-here-strin
10aa60 67 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 2d 66 61 63 65 3a 3a 0a g-face::.*.racket-xp-def-face::.
10aa80 2a 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d *.racket-xp-use-face::.*.racket-
10aaa0 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 xp-unused-face::.*.racket-xp-tai
10aac0 6c 2d 74 61 72 67 65 74 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c l-target-face::.*.racket-xp-tail
10aae0 2d 70 6f 73 69 74 69 6f 6e 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e -position-face::.*.racket-xp-bin
10ab00 64 69 6e 67 2d 6c 61 6e 67 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e ding-lang-face::.*.racket-xp-bin
10ab20 64 69 6e 67 2d 6c 61 6e 67 2d 75 73 65 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 ding-lang-use-face::.*.racket-xp
10ab40 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d -binding-import-face::.*.racket-
10ab60 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 75 73 65 2d 66 61 63 65 3a 3a 0a 2a 20 72 xp-binding-import-use-face::.*.r
10ab80 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 66 61 63 65 3a 3a 0a 2a 20 acket-xp-binding-local-face::.*.
10aba0 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 75 73 65 2d 66 61 63 65 racket-xp-binding-local-use-face
10abc0 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 2d 66 61 63 65 3a 3a ::.*.racket-logger-config-face::
10abe0 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 66 61 63 65 3a 3a 0a 2a 20 .*.racket-logger-topic-face::.*.
10ac00 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 66 61 74 61 6c 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 racket-logger-fatal-face::.*.rac
10ac20 6b 65 74 2d 6c 6f 67 67 65 72 2d 65 72 72 6f 72 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 ket-logger-error-face::.*.racket
10ac40 2d 6c 6f 67 67 65 72 2d 77 61 72 6e 69 6e 67 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d -logger-warning-face::.*.racket-
10ac60 6c 6f 67 67 65 72 2d 69 6e 66 6f 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 logger-info-face::.*.racket-logg
10ac80 65 72 2d 64 65 62 75 67 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e er-debug-face::.*.racket-doc-lin
10aca0 6b 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 2d 66 61 63 65 3a k-face::.*.racket-ext-link-face:
10acc0 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6f 75 74 70 75 74 2d 66 61 63 65 3a 3a 0a 2a 20 72 :.*.racket-doc-output-face::.*.r
10ace0 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 74 63 68 61 72 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 acket-doc-litchar-face::.*.racke
10ad00 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 t-repl-message::.*.racket-repl-p
10ad20 72 6f 6d 70 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 76 61 6c 75 65 3a 3a 0a 2a 20 rompt::.*.racket-repl-value::.*.
10ad40 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 3a 3a 0a 2a 20 72 61 racket-repl-error-message::.*.ra
10ad60 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 cket-repl-error-location::.*.rac
10ad80 6b 65 74 2d 72 65 70 6c 2d 73 74 64 6f 75 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d ket-repl-stdout::.*.racket-repl-
10ada0 73 74 64 65 72 72 3a 3a 0a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 stderr::.....File:.doc49fz4A.inf
10adc0 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 49 o,..Node:.Introduction,..Next:.I
10ade0 6e 73 74 61 6c 6c 20 55 70 64 61 74 65 20 61 6e 64 20 55 6e 69 6e 73 74 61 6c 6c 2c 20 20 50 72 nstall.Update.and.Uninstall,..Pr
10ae00 65 76 3a 20 54 6f 70 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 31 20 49 6e 74 72 6f 64 75 63 74 69 6f ev:.Top,..Up:.Top..1.Introductio
10ae20 6e 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 20 52 61 63 6b 65 74 20 4d 6f 64 n.**************..The.Racket.Mod
10ae40 65 20 28 68 74 74 70 73 3a 2f 2f 77 77 77 2e 72 61 63 6b 65 74 2d 6d 6f 64 65 2e 63 6f 6d 2f 29 e.(https://www.racket-mode.com/)
10ae60 20 70 61 63 6b 61 67 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 0a 76 61 72 69 65 74 79 20 6f .package.consists.of.a.variety.o
10ae80 66 20 45 6d 61 63 73 20 6d 61 6a 6f 72 20 61 6e 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 73 2c 20 69 f.Emacs.major.and.minor.modes,.i
10aea0 6e 63 6c 75 64 69 6e 67 3a 0a 0a 20 20 20 e2 80 a2 20 e2 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 ncluding:............racket-mode
10aec0 e2 80 99 3a 20 41 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 74 6f 20 65 64 69 74 20 e2 80 98 2e 72 6b ...:.A.major.mode.to.edit.....rk
10aee0 74 e2 80 99 20 66 69 6c 65 73 2e 20 20 47 65 6e 65 72 61 6c 6c 79 0a 20 20 20 20 20 61 73 73 75 t....files...Generally......assu
10af00 6d 65 73 20 e2 80 98 23 6c 61 6e 67 20 72 61 63 6b 65 74 e2 80 99 2e 0a 0a 20 20 20 e2 80 a2 20 mes....#lang.racket.............
10af20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 3a 3a 3a 20 41 *note.racket-hash-lang-mode:::.A
10af40 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 e2 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 e2 n.alternative.to....racket-mode.
10af60 80 99 0a 20 20 20 20 20 75 73 69 6e 67 20 62 65 68 61 76 69 6f 72 20 73 70 65 63 69 66 69 65 64 ........using.behavior.specified
10af80 20 62 79 20 61 20 e2 80 98 23 6c 61 6e 67 e2 80 99 20 66 6f 72 20 63 6f 6c 6f 72 73 2c 20 69 6e .by.a....#lang....for.colors,.in
10afa0 64 65 6e 74 2c 0a 20 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e 20 6e 61 76 69 67 61 74 69 6f 6e dent,......expression.navigation
10afc0 2c 20 65 74 63 2e 20 20 5f 45 78 70 65 72 69 6d 65 6e 74 61 6c 5f 2e 0a 0a 20 20 20 e2 80 a2 20 ,.etc..._Experimental_..........
10afe0 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 3a 20 41 20 6d 69 6e 6f 72 20 *note.racket-xp-mode:::.A.minor.
10b000 6d 6f 64 65 20 74 6f 20 65 6e 68 61 6e 63 65 20 65 69 74 68 65 72 20 65 64 69 74 20 6d 6f 64 65 mode.to.enhance.either.edit.mode
10b020 2e 0a 20 20 20 20 20 45 78 70 6c 61 69 6e 20 61 6e 64 20 65 78 70 6c 6f 72 65 20 63 6f 64 65 2c .......Explain.and.explore.code,
10b040 20 73 69 6d 69 6c 61 72 20 74 6f 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 68 65 63 6b 2d 73 79 6e .similar.to.background.check-syn
10b060 74 61 78 20 69 6e 20 44 72 0a 20 20 20 20 20 52 61 63 6b 65 74 2e 0a 0a 20 20 20 e2 80 a2 20 e2 tax.in.Dr......Racket...........
10b080 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 e2 80 99 3a 20 41 20 6d 61 6a 6f 72 20 6d ..racket-repl-mode...:.A.major.m
10b0a0 6f 64 65 20 74 6f 20 72 75 6e 20 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 75 73 65 20 61 20 52 45 ode.to.run.programs.and.use.a.RE
10b0c0 50 4c 2e 0a 0a 20 20 20 e2 80 a2 20 56 61 72 69 6f 75 73 20 6f 74 68 65 72 20 6d 6f 64 65 73 20 PL..........Various.other.modes.
10b0e0 74 6f 20 73 75 70 70 6f 72 74 20 73 70 65 63 69 66 69 63 20 66 65 61 74 75 72 65 73 3a 0a 20 20 to.support.specific.features:...
10b100 20 20 20 20 20 20 e2 80 a2 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f ..........*note.racket-logger-mo
10b120 64 65 3a 3a 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 70 72 de::.............*note.racket-pr
10b140 6f 66 69 6c 65 2d 6d 6f 64 65 3a 3a 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 2a 6e 6f 74 65 20 72 ofile-mode::.............*note.r
10b160 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 3a 3a 0a 0a 20 20 20 46 6f 72 20 63 6f 64 65 2c acket-debug-mode::.....For.code,
10b180 20 69 73 73 75 65 73 2c 20 61 6e 64 20 70 75 6c 6c 20 72 65 71 75 65 73 74 73 2c 20 73 65 65 20 .issues,.and.pull.requests,.see.
10b1a0 74 68 65 20 47 69 74 20 72 65 70 6f 0a 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d the.Git.repo.(https://github.com
10b1c0 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 29 2e 0a 0a /greghendershott/racket-mode)...
10b1e0 20 20 20 54 6f 20 73 70 6f 6e 73 6f 72 20 74 68 69 73 20 77 6f 72 6b 2c 20 73 65 65 20 47 69 74 ...To.sponsor.this.work,.see.Git
10b200 48 75 62 20 53 70 6f 6e 73 6f 72 73 0a 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d Hub.Sponsors.(https://github.com
10b220 2f 75 73 65 72 73 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 73 70 6f 6e 73 6f 72 73 68 /users/greghendershott/sponsorsh
10b240 69 70 29 20 6f 72 20 50 61 79 50 61 6c 0a 28 68 74 74 70 73 3a 2f 2f 77 77 77 2e 70 61 79 70 61 ip).or.PayPal.(https://www.paypa
10b260 6c 2e 6d 65 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 29 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 l.me/greghendershott).....File:.
10b280 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 20 55 doc49fz4A.info,..Node:.Install.U
10b2a0 70 64 61 74 65 20 61 6e 64 20 55 6e 69 6e 73 74 61 6c 6c 2c 20 20 4e 65 78 74 3a 20 43 6f 6e 66 pdate.and.Uninstall,..Next:.Conf
10b2c0 69 67 75 72 65 2c 20 20 50 72 65 76 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c 20 20 55 70 3a igure,..Prev:.Introduction,..Up:
10b2e0 20 54 6f 70 0a 0a 32 20 49 6e 73 74 61 6c 6c 2c 20 55 70 64 61 74 65 2c 20 61 6e 64 20 55 6e 69 .Top..2.Install,.Update,.and.Uni
10b300 6e 73 74 61 6c 6c 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a nstall.*************************
10b320 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 77 61 79 20 74 6f 20 *******..The.most.common.way.to.
10b340 75 73 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 69 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 66 72 use.Racket.Mode.is.to.install.fr
10b360 6f 6d 20 61 20 70 61 63 6b 61 67 65 0a 61 72 63 68 69 76 65 20 6c 69 6b 65 20 4d 45 4c 50 41 20 om.a.package.archive.like.MELPA.
10b380 6f 72 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 2e 0a 0a 20 20 20 53 6f 6d 65 20 70 65 6f 70 6c 65 20 or.NonGNU.ELPA......Some.people.
10b3a0 61 6c 73 6f 20 75 73 65 20 61 20 73 79 73 74 65 6d 20 6c 69 6b 65 20 73 74 72 61 69 67 68 74 2e also.use.a.system.like.straight.
10b3c0 65 6c 0a 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 61 64 69 61 6e 2d 73 6f el.(https://github.com/radian-so
10b3e0 66 74 77 61 72 65 2f 73 74 72 61 69 67 68 74 2e 65 6c 29 2e 0a 0a 20 20 20 4e 6f 74 65 20 74 68 ftware/straight.el)......Note.th
10b400 61 74 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 69 73 20 6f 6e 6c 79 20 61 76 61 69 6c 61 62 6c 65 at.Racket.Mode.is.only.available
10b420 20 6f 6e 20 4d 45 4c 50 41 20 28 5f 6e 6f 74 5f 20 e2 80 9c 4d 45 4c 50 41 0a 53 74 61 62 6c 65 .on.MELPA.(_not_....MELPA.Stable
10b440 e2 80 9d 29 2c 20 61 6e 64 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 e2 80 9c 72 ...),.and.is.available.as.a....r
10b460 6f 6c 6c 69 6e 67 20 72 65 6c 65 61 73 65 e2 80 9d 20 66 72 6f 6d 20 4e 6f 6e 47 4e 55 20 45 4c olling.release....from.NonGNU.EL
10b480 50 41 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 55 73 65 20 45 6d 61 63 73 20 32 38 2e 31 20 6f PA...*.Menu:..*.Use.Emacs.28.1.o
10b4a0 72 20 6e 65 77 65 72 20 77 69 74 68 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 3a 20 55 73 65 20 45 6d r.newer.with.NonGNU.ELPA:.Use.Em
10b4c0 61 63 73 20 32 38 31 20 6f 72 20 6e 65 77 65 72 20 77 69 74 68 20 4e 6f 6e 47 4e 55 20 45 4c 50 acs.281.or.newer.with.NonGNU.ELP
10b4e0 41 2e 0a 2a 20 43 6f 6e 66 69 67 75 72 65 20 45 6d 61 63 73 20 74 6f 20 75 73 65 20 4d 45 4c 50 A..*.Configure.Emacs.to.use.MELP
10b500 41 3a 3a 0a 2a 20 49 6e 73 74 61 6c 6c 3a 3a 0a 2a 20 4d 69 6e 69 6d 61 6c 20 52 61 63 6b 65 74 A::.*.Install::.*.Minimal.Racket
10b520 3a 3a 0a 2a 20 55 6e 69 6e 73 74 61 6c 6c 3a 3a 0a 2a 20 55 70 64 61 74 65 3a 3a 0a 0a 1f 0a 46 ::.*.Uninstall::.*.Update::....F
10b540 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 55 73 65 20 ile:.doc49fz4A.info,..Node:.Use.
10b560 45 6d 61 63 73 20 32 38 31 20 6f 72 20 6e 65 77 65 72 20 77 69 74 68 20 4e 6f 6e 47 4e 55 20 45 Emacs.281.or.newer.with.NonGNU.E
10b580 4c 50 41 2c 20 20 4e 65 78 74 3a 20 43 6f 6e 66 69 67 75 72 65 20 45 6d 61 63 73 20 74 6f 20 75 LPA,..Next:.Configure.Emacs.to.u
10b5a0 73 65 20 4d 45 4c 50 41 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 20 55 70 64 61 74 65 20 61 6e se.MELPA,..Up:.Install.Update.an
10b5c0 64 20 55 6e 69 6e 73 74 61 6c 6c 0a 0a 32 2e 31 20 55 73 65 20 45 6d 61 63 73 20 32 38 2e 31 20 d.Uninstall..2.1.Use.Emacs.28.1.
10b5e0 6f 72 20 6e 65 77 65 72 20 77 69 74 68 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 0a 3d 3d 3d 3d 3d 3d or.newer.with.NonGNU.ELPA.======
10b600 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
10b620 3d 3d 3d 3d 3d 3d 0a 0a 45 6d 61 63 73 20 32 38 2e 31 20 6f 72 20 6e 65 77 65 72 20 63 6f 6d 65 ======..Emacs.28.1.or.newer.come
10b640 73 20 63 6f 6e 66 69 67 75 72 65 64 20 74 6f 20 75 73 65 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 0a s.configured.to.use.NonGNU.ELPA.
10b660 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 29 2c 20 69 6e 20 77 68 (https://elpa.nongnu.org),.in.wh
10b680 69 63 68 20 63 61 73 65 20 79 6f 75 20 63 61 6e 20 73 6b 69 70 20 61 68 65 61 64 20 74 6f 20 2a ich.case.you.can.skip.ahead.to.*
10b6a0 6e 6f 74 65 0a 49 6e 73 74 61 6c 6c 3a 3a 2e 0a 0a 20 20 20 57 69 74 68 20 6f 6c 64 65 72 20 76 note.Install::......With.older.v
10b6c0 65 72 73 69 6f 6e 73 20 6f 66 20 45 6d 61 63 73 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 4d 45 ersions.of.Emacs,.you.can.use.ME
10b6e0 4c 50 41 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e LPA.....File:.doc49fz4A.info,..N
10b700 6f 64 65 3a 20 43 6f 6e 66 69 67 75 72 65 20 45 6d 61 63 73 20 74 6f 20 75 73 65 20 4d 45 4c 50 ode:.Configure.Emacs.to.use.MELP
10b720 41 2c 20 20 4e 65 78 74 3a 20 49 6e 73 74 61 6c 6c 2c 20 20 50 72 65 76 3a 20 55 73 65 20 45 6d A,..Next:.Install,..Prev:.Use.Em
10b740 61 63 73 20 32 38 31 20 6f 72 20 6e 65 77 65 72 20 77 69 74 68 20 4e 6f 6e 47 4e 55 20 45 4c 50 acs.281.or.newer.with.NonGNU.ELP
10b760 41 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 20 55 70 64 61 74 65 20 61 6e 64 20 55 6e 69 6e 73 A,..Up:.Install.Update.and.Unins
10b780 74 61 6c 6c 0a 0a 32 2e 32 20 43 6f 6e 66 69 67 75 72 65 20 45 6d 61 63 73 20 74 6f 20 75 73 65 tall..2.2.Configure.Emacs.to.use
10b7a0 20 4d 45 4c 50 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .MELPA.=========================
10b7c0 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 6f 6c 6c 6f 77 69 6e 67 20 69 73 20 61 20 71 75 69 63 6b 20 67 75 =======..Following.is.a.quick.gu
10b7e0 69 64 65 20 74 68 61 74 20 6d 61 79 20 77 6f 72 6b 20 66 6f 72 20 79 6f 75 2e 20 20 28 46 6f 72 ide.that.may.work.for.you...(For
10b800 20 64 65 66 69 6e 69 74 69 76 65 0a 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 .definitive.instructions.and.the
10b820 20 6c 61 74 65 73 74 20 74 72 6f 75 62 6c 65 2d 73 68 6f 6f 74 69 6e 67 20 74 69 70 73 2c 20 70 .latest.trouble-shooting.tips,.p
10b840 6c 65 61 73 65 20 73 65 65 0a 3c 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 67 lease.see.<https://melpa.org/#/g
10b860 65 74 74 69 6e 67 2d 73 74 61 72 74 65 64 3e 2e 29 0a 0a 20 20 20 e2 80 a2 20 41 64 64 20 74 68 etting-started>.).........Add.th
10b880 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 79 6f 75 72 20 e2 80 98 7e 2f 2e 65 6d 61 63 73 e2 e.following.to.your....~/.emacs.
10b8a0 80 99 20 6f 72 20 e2 80 98 7e 2f 2e 65 6d 61 63 73 2e 64 2f 69 6e 69 74 2e 65 6c e2 80 99 3a 0a ...or....~/.emacs.d/init.el...:.
10b8c0 0a 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 70 61 63 6b 61 67 65 29 0a 20 20 20 20 20 28 61 ......(require.'package)......(a
10b8e0 64 64 2d 74 6f 2d 6c 69 73 74 20 27 70 61 63 6b 61 67 65 2d 61 72 63 68 69 76 65 73 0a 20 20 20 dd-to-list.'package-archives....
10b900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 22 6d 65 6c 70 61 22 20 2e 20 22 68 74 74 ................'("melpa"..."htt
10b920 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 22 29 0a 20 20 20 20 20 ps://melpa.org/packages/")......
10b940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 0a 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 69 ..............t)......(package-i
10b960 6e 69 74 69 61 6c 69 7a 65 29 0a 0a 20 20 20 e2 80 a2 20 52 65 73 74 61 72 74 20 45 6d 61 63 73 nitialize).........Restart.Emacs
10b980 2e 0a 0a 20 20 20 20 20 4e 4f 54 45 3a 20 49 66 20 79 6f 75 20 65 76 65 72 20 67 65 74 20 61 6e ........NOTE:.If.you.ever.get.an
10b9a0 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 61 62 6f 75 74 20 e2 80 9c 63 6f 6e 74 61 63 74 69 .error.message.about....contacti
10b9c0 6e 67 20 61 20 68 6f 73 74 e2 80 9d 20 6f 72 0a 20 20 20 20 20 e2 80 9c 64 6f 77 6e 6c 6f 61 64 ng.a.host....or.........download
10b9e0 69 6e 67 20 61 6e 20 61 72 63 68 69 76 65 e2 80 9d 2c 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 69 ing.an.archive...,.the.problem.i
10ba00 73 20 6e 6f 74 20 75 6e 69 71 75 65 20 74 6f 20 52 61 63 6b 65 74 20 4d 6f 64 65 2e 0a 20 20 20 s.not.unique.to.Racket.Mode.....
10ba20 20 20 50 6c 65 61 73 65 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f ..Please.see.<https://melpa.org/
10ba40 23 2f 67 65 74 74 69 6e 67 2d 73 74 61 72 74 65 64 3e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 #/getting-started>.....File:.doc
10ba60 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 2c 20 20 4e 65 49fz4A.info,..Node:.Install,..Ne
10ba80 78 74 3a 20 4d 69 6e 69 6d 61 6c 20 52 61 63 6b 65 74 2c 20 20 50 72 65 76 3a 20 43 6f 6e 66 69 xt:.Minimal.Racket,..Prev:.Confi
10baa0 67 75 72 65 20 45 6d 61 63 73 20 74 6f 20 75 73 65 20 4d 45 4c 50 41 2c 20 20 55 70 3a 20 49 6e gure.Emacs.to.use.MELPA,..Up:.In
10bac0 73 74 61 6c 6c 20 55 70 64 61 74 65 20 61 6e 64 20 55 6e 69 6e 73 74 61 6c 6c 0a 0a 32 2e 33 20 stall.Update.and.Uninstall..2.3.
10bae0 49 6e 73 74 61 6c 6c 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 57 68 65 6e 20 45 6d 61 63 73 20 Install.===========..When.Emacs.
10bb00 69 73 20 63 6f 6e 66 69 67 75 72 65 64 20 74 6f 20 75 73 65 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 is.configured.to.use.NonGNU.ELPA
10bb20 20 6f 72 20 4d 45 4c 50 41 3a 0a 0a 20 20 31 2e 20 54 79 70 65 20 e2 80 98 4d 2d 78 e2 80 99 20 .or.MELPA:....1..Type....M-x....
10bb40 e2 80 98 70 61 63 6b 61 67 65 2d 69 6e 69 74 69 61 6c 69 7a 65 e2 80 99 20 e2 80 98 52 45 54 e2 ...package-initialize.......RET.
10bb60 80 99 20 2e 0a 0a 20 20 32 2e 20 54 79 70 65 20 e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 70 61 63 ........2..Type....M-x.......pac
10bb80 6b 61 67 65 2d 72 65 66 72 65 73 68 2d 63 6f 6e 74 65 6e 74 73 e2 80 99 20 e2 80 98 52 45 54 e2 kage-refresh-contents.......RET.
10bba0 80 99 20 2e 0a 0a 20 20 33 2e 20 54 79 70 65 20 e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 70 61 63 ........3..Type....M-x.......pac
10bbc0 6b 61 67 65 2d 69 6e 73 74 61 6c 6c e2 80 99 20 e2 80 98 52 45 54 e2 80 99 20 e2 80 98 72 61 63 kage-install.......RET.......rac
10bbe0 6b 65 74 2d 6d 6f 64 65 e2 80 99 20 e2 80 98 52 45 54 e2 80 99 20 2e 0a 0a 20 20 20 20 20 4e 4f ket-mode.......RET............NO
10bc00 54 45 3a 20 49 66 20 79 6f 75 20 67 65 74 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 TE:.If.you.get.an.error.message.
10bc20 61 62 6f 75 74 20 e2 80 9c 63 6f 6e 74 61 63 74 69 6e 67 20 61 20 68 6f 73 74 e2 80 9d 20 6f 72 about....contacting.a.host....or
10bc40 0a 20 20 20 20 20 e2 80 9c 64 6f 77 6e 6c 6f 61 64 69 6e 67 20 61 6e 20 61 72 63 68 69 76 65 e2 .........downloading.an.archive.
10bc60 80 9d 2c 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 69 73 20 6e 6f 74 20 75 6e 69 71 75 65 20 74 6f ..,.the.problem.is.not.unique.to
10bc80 20 52 61 63 6b 65 74 20 4d 6f 64 65 2e 0a 20 20 20 20 20 50 6c 65 61 73 65 20 73 65 65 20 3c 68 .Racket.Mode.......Please.see.<h
10bca0 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 67 65 74 74 69 6e 67 2d 73 74 61 72 74 ttps://melpa.org/#/getting-start
10bcc0 65 64 3e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e ed>.....File:.doc49fz4A.info,..N
10bce0 6f 64 65 3a 20 4d 69 6e 69 6d 61 6c 20 52 61 63 6b 65 74 2c 20 20 4e 65 78 74 3a 20 55 6e 69 6e ode:.Minimal.Racket,..Next:.Unin
10bd00 73 74 61 6c 6c 2c 20 20 50 72 65 76 3a 20 49 6e 73 74 61 6c 6c 2c 20 20 55 70 3a 20 49 6e 73 74 stall,..Prev:.Install,..Up:.Inst
10bd20 61 6c 6c 20 55 70 64 61 74 65 20 61 6e 64 20 55 6e 69 6e 73 74 61 6c 6c 0a 0a 32 2e 34 20 4d 69 all.Update.and.Uninstall..2.4.Mi
10bd40 6e 69 6d 61 6c 20 52 61 63 6b 65 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a nimal.Racket.==================.
10bd60 0a 49 66 20 79 6f 75 20 68 61 76 65 20 69 6e 73 74 61 6c 6c 65 64 20 74 68 65 20 6d 69 6e 69 6d .If.you.have.installed.the.minim
10bd80 61 6c 20 52 61 63 6b 65 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 28 66 6f 72 20 65 78 61 6d al.Racket.distribution.(for.exam
10bda0 70 6c 65 20 62 79 0a 75 73 69 6e 67 20 74 68 65 20 68 6f 6d 65 62 72 65 77 20 66 6f 72 6d 75 6c ple.by.using.the.homebrew.formul
10bdc0 61 0a 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 48 6f 6d 65 62 72 65 77 2f 68 a.(https://github.com/Homebrew/h
10bde0 6f 6d 65 62 72 65 77 2d 63 6f 72 65 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f 46 6f 72 6d 75 6c 61 omebrew-core/blob/master/Formula
10be00 2f 6d 69 6e 69 6d 61 6c 2d 72 61 63 6b 65 74 2e 72 62 29 29 0a 52 61 63 6b 65 74 20 4d 6f 64 65 /minimal-racket.rb)).Racket.Mode
10be20 20 6e 65 65 64 73 20 73 6f 6d 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 52 61 63 6b 65 74 20 70 61 .needs.some.additional.Racket.pa
10be40 63 6b 61 67 65 73 2e 20 20 41 20 73 69 6d 70 6c 65 20 77 61 79 20 74 6f 20 67 65 74 0a 61 6c 6c ckages...A.simple.way.to.get.all
10be60 20 74 68 65 73 65 20 70 61 63 6b 61 67 65 73 20 69 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 .these.packages.is.to.install.th
10be80 65 20 e2 80 98 64 72 72 61 63 6b 65 74 e2 80 99 20 52 61 63 6b 65 74 20 70 61 63 6b 61 67 65 2e e....drracket....Racket.package.
10bea0 20 20 49 6e 20 61 0a 63 6f 6d 6d 61 6e 64 20 73 68 65 6c 6c 3a 0a 0a 20 20 20 20 20 72 61 63 6f ..In.a.command.shell:.......raco
10bec0 20 70 6b 67 20 69 6e 73 74 61 6c 6c 20 2d 2d 61 75 74 6f 20 64 72 72 61 63 6b 65 74 0a 0a 20 20 .pkg.install.--auto.drracket....
10bee0 20 41 20 6d 6f 72 65 2d 74 61 72 67 65 74 65 64 20 61 70 70 72 6f 61 63 68 20 69 73 20 69 6e 73 .A.more-targeted.approach.is.ins
10bf00 74 65 61 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 20 73 70 65 63 69 66 69 63 0a 70 tead.to.install.these.specific.p
10bf20 61 63 6b 61 67 65 73 20 61 6e 64 20 74 68 65 69 72 20 64 65 70 65 6e 64 65 6e 63 69 65 73 3a 0a ackages.and.their.dependencies:.
10bf40 0a 20 20 20 20 20 72 61 63 6f 20 70 6b 67 20 69 6e 73 74 61 6c 6c 20 2d 2d 61 75 74 6f 20 64 61 ......raco.pkg.install.--auto.da
10bf60 74 61 2d 6c 69 62 20 65 72 72 6f 72 74 72 61 63 65 2d 6c 69 62 20 6d 61 63 72 6f 2d 64 65 62 75 ta-lib.errortrace-lib.macro-debu
10bf80 67 67 65 72 2d 74 65 78 74 2d 6c 69 62 20 72 61 63 6b 75 6e 69 74 2d 6c 69 62 20 72 61 63 6b 65 gger-text-lib.rackunit-lib.racke
10bfa0 74 2d 69 6e 64 65 78 20 73 63 72 69 62 62 6c 65 2d 6c 69 62 20 64 72 72 61 63 6b 65 74 2d 74 6f t-index.scribble-lib.drracket-to
10bfc0 6f 6c 2d 74 65 78 74 2d 6c 69 62 0a 0a 20 20 20 49 66 20 79 6f 75 20 64 6f 20 5f 6e 6f 74 5f 20 ol-text-lib.....If.you.do._not_.
10bfe0 77 61 6e 74 20 74 6f 20 75 73 65 20 e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 e2 80 99 want.to.use....racket-xp-mode...
10c000 2c 20 74 68 65 6e 20 79 6f 75 20 63 61 6e 20 6f 6d 69 74 0a e2 80 98 64 72 72 61 63 6b 65 74 2d ,.then.you.can.omit....drracket-
10c020 74 6f 6f 6c 2d 74 65 78 74 2d 6c 69 62 e2 80 99 2e 0a 0a 20 20 20 4f 6e 20 61 20 68 65 61 64 6c tool-text-lib.........On.a.headl
10c040 65 73 73 20 73 65 72 76 65 72 2c 20 79 6f 75 20 6d 69 67 68 74 20 77 61 6e 74 20 74 6f 20 6f 6d ess.server,.you.might.want.to.om
10c060 69 74 20 e2 80 98 67 75 69 2d 6c 69 62 e2 80 99 2e 0a 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 2c it....gui-lib.....Unfortunately,
10c080 20 e2 80 98 72 61 63 6b 65 74 2d 64 6f 63 e2 80 99 20 64 65 70 65 6e 64 73 20 6f 6e 20 e2 80 98 ....racket-doc....depends.on....
10c0a0 67 75 69 2d 6c 69 62 e2 80 99 2e 20 20 4f 6e 20 74 68 65 20 6f 6e 65 20 68 61 6e 64 2c 20 69 66 gui-lib......On.the.one.hand,.if
10c0c0 0a 79 6f 75 20 75 6e 69 6e 73 74 61 6c 6c 20 e2 80 98 72 61 63 6b 65 74 2d 64 6f 63 e2 80 99 20 .you.uninstall....racket-doc....
10c0e0 61 6e 64 20 e2 80 98 67 75 69 2d 6c 69 62 e2 80 99 2c 20 79 6f 75 20 77 69 6c 6c 20 6e 6f 20 6c and....gui-lib...,.you.will.no.l
10c100 6f 6e 67 65 72 20 62 65 20 61 62 6c 65 20 74 6f 0a 61 63 63 65 73 73 20 64 6f 63 75 6d 65 6e 74 onger.be.able.to.access.document
10c120 61 74 69 6f 6e 20 77 68 65 6e 20 75 73 69 6e 67 20 61 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 62 ation.when.using.a.Racket.Mode.b
10c140 61 63 6b 20 65 6e 64 20 72 75 6e 6e 69 6e 67 20 74 68 65 72 65 2e 0a 4f 6e 20 74 68 65 20 6f 74 ack.end.running.there..On.the.ot
10c160 68 65 72 20 68 61 6e 64 2c 20 69 66 20 79 6f 75 20 6c 65 61 76 65 20 e2 80 98 67 75 69 2d 6c 69 her.hand,.if.you.leave....gui-li
10c180 62 e2 80 99 20 69 6e 73 74 61 6c 6c 65 64 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 62 65 0a 63 61 b....installed,.you.should.be.ca
10c1a0 72 65 66 75 6c 20 74 6f 20 72 75 6e 20 74 68 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 62 61 63 reful.to.run.the.Racket.Mode.bac
10c1c0 6b 20 65 6e 64 20 75 73 69 6e 67 20 e2 80 98 78 76 66 62 2d 72 75 6e 20 72 61 63 6b 65 74 e2 80 k.end.using....xvfb-run.racket..
10c1e0 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 ......File:.doc49fz4A.info,..Nod
10c200 65 3a 20 55 6e 69 6e 73 74 61 6c 6c 2c 20 20 4e 65 78 74 3a 20 55 70 64 61 74 65 2c 20 20 50 72 e:.Uninstall,..Next:.Update,..Pr
10c220 65 76 3a 20 4d 69 6e 69 6d 61 6c 20 52 61 63 6b 65 74 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c ev:.Minimal.Racket,..Up:.Install
10c240 20 55 70 64 61 74 65 20 61 6e 64 20 55 6e 69 6e 73 74 61 6c 6c 0a 0a 32 2e 35 20 55 6e 69 6e 73 .Update.and.Uninstall..2.5.Unins
10c260 74 61 6c 6c 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 6f 20 75 6e 69 6e 73 74 61 6c 6c tall.=============..To.uninstall
10c280 20 52 61 63 6b 65 74 20 4d 6f 64 65 2c 20 73 69 6d 70 6c 79 20 74 79 70 65 20 e2 80 98 4d 2d 78 .Racket.Mode,.simply.type....M-x
10c2a0 e2 80 99 20 e2 80 98 70 61 63 6b 61 67 65 2d 64 65 6c 65 74 65 e2 80 99 20 e2 80 98 52 45 54 e2 .......package-delete.......RET.
10c2c0 80 99 0a e2 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 e2 80 99 20 e2 80 98 52 45 54 e2 80 99 20 2e ......racket-mode.......RET.....
10c2e0 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 70 72 6f 62 61 62 6c 79 20 61 6c 73 6f 20 65 78 .....You.should.probably.also.ex
10c300 69 74 20 61 6e 64 20 72 65 73 74 61 72 74 20 45 6d 61 63 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 it.and.restart.Emacs.....File:.d
10c320 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 55 70 64 61 74 65 2c 20 20 50 oc49fz4A.info,..Node:.Update,..P
10c340 72 65 76 3a 20 55 6e 69 6e 73 74 61 6c 6c 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 20 55 70 64 rev:.Uninstall,..Up:.Install.Upd
10c360 61 74 65 20 61 6e 64 20 55 6e 69 6e 73 74 61 6c 6c 0a 0a 32 2e 36 20 55 70 64 61 74 65 0a 3d 3d ate.and.Uninstall..2.6.Update.==
10c380 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 55 70 67 72 61 64 69 6e 67 20 61 ========..*.Menu:..*.Upgrading.a
10c3a0 6c 6c 20 70 61 63 6b 61 67 65 73 3a 3a 0a 2a 20 55 70 64 61 74 69 6e 67 20 6a 75 73 74 20 52 61 ll.packages::.*.Updating.just.Ra
10c3c0 63 6b 65 74 20 4d 6f 64 65 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 cket.Mode::....File:.doc49fz4A.i
10c3e0 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 55 70 67 72 61 64 69 6e 67 20 61 6c 6c 20 70 61 63 6b 61 67 nfo,..Node:.Upgrading.all.packag
10c400 65 73 2c 20 20 4e 65 78 74 3a 20 55 70 64 61 74 69 6e 67 20 6a 75 73 74 20 52 61 63 6b 65 74 20 es,..Next:.Updating.just.Racket.
10c420 4d 6f 64 65 2c 20 20 55 70 3a 20 55 70 64 61 74 65 0a 0a 32 2e 36 2e 31 20 55 70 67 72 61 64 69 Mode,..Up:.Update..2.6.1.Upgradi
10c440 6e 67 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ng.all.packages.----------------
10c460 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 20 e2 80 9c 65 61 73 79 20 70 61 74 68 e2 80 ------------..The....easy.path..
10c480 9d 20 70 72 6f 76 69 64 65 64 20 62 79 20 45 6d 61 63 73 20 69 73 20 74 6f 20 75 70 64 61 74 65 ..provided.by.Emacs.is.to.update
10c4a0 20 5f 61 6c 6c 5f 20 70 61 63 6b 61 67 65 73 20 74 6f 20 74 68 65 69 72 0a 6c 61 74 65 73 74 20 ._all_.packages.to.their.latest.
10c4c0 76 65 72 73 69 6f 6e 73 2e 20 20 41 6c 74 68 6f 75 67 68 20 79 6f 75 20 6d 69 67 68 74 20 6e 6f versions...Although.you.might.no
10c4e0 74 20 77 61 6e 74 20 74 6f 20 64 6f 20 74 68 69 73 20 e2 80 94 20 73 65 65 20 6e 65 78 74 0a 73 t.want.to.do.this.....see.next.s
10c500 65 63 74 69 6f 6e 20 e2 80 94 20 68 65 72 65 20 69 73 20 68 6f 77 20 74 6f 20 64 6f 20 73 6f 3a ection.....here.is.how.to.do.so:
10c520 0a 0a 20 20 31 2e 20 55 73 65 20 e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 70 61 63 6b 61 67 65 2d ....1..Use....M-x.......package-
10c540 69 6e 69 74 69 61 6c 69 7a 65 e2 80 99 2e 0a 0a 20 20 32 2e 20 55 73 65 20 e2 80 98 4d 2d 78 e2 initialize........2..Use....M-x.
10c560 80 99 20 e2 80 98 70 61 63 6b 61 67 65 2d 72 65 66 72 65 73 68 2d 63 6f 6e 74 65 6e 74 73 e2 80 ......package-refresh-contents..
10c580 99 2e 0a 0a 20 20 33 2e 20 55 73 65 20 e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 6c 69 73 74 2d 70 ......3..Use....M-x.......list-p
10c5a0 61 63 6b 61 67 65 73 e2 80 99 2e 20 20 49 74 20 73 68 6f 75 6c 64 20 64 69 73 70 6c 61 79 20 61 ackages......It.should.display.a
10c5c0 20 6d 65 73 73 61 67 65 20 6c 69 6b 65 20 e2 80 9c 34 32 0a 20 20 20 20 20 70 61 63 6b 61 67 65 .message.like....42......package
10c5e0 73 20 63 61 6e 20 62 65 20 75 70 67 72 61 64 65 64 3b 20 74 79 70 65 20 e2 80 98 55 e2 80 99 20 s.can.be.upgraded;.type....U....
10c600 74 6f 20 6d 61 72 6b 20 74 68 65 6d 20 66 6f 72 20 75 70 67 72 61 64 69 6e 67 2e e2 80 9d 2e 0a to.mark.them.for.upgrading......
10c620 0a 20 20 34 2e 20 50 72 65 73 73 20 e2 80 98 55 e2 80 99 20 61 73 20 73 75 67 67 65 73 74 65 64 ...4..Press....U....as.suggested
10c640 20 74 6f 20 6d 61 72 6b 20 74 68 65 6d 20 61 6c 6c 2e 0a 0a 20 20 35 2e 20 50 72 65 73 73 20 e2 .to.mark.them.all.....5..Press..
10c660 80 98 78 e2 80 99 20 74 6f 20 65 78 65 63 75 74 65 2e 0a 0a 20 20 20 41 66 74 65 72 20 73 75 63 ..x....to.execute......After.suc
10c680 68 20 61 20 6d 61 73 73 20 75 70 64 61 74 65 2c 20 69 74 20 6d 69 67 68 74 20 62 65 20 77 69 73 h.a.mass.update,.it.might.be.wis
10c6a0 65 20 74 6f 20 65 78 69 74 20 61 6e 64 20 72 65 73 74 61 72 74 20 45 6d 61 63 73 2e 0a 0a 20 20 e.to.exit.and.restart.Emacs.....
10c6c0 20 20 20 4e 4f 54 45 3a 20 49 66 20 79 6f 75 20 67 65 74 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 ...NOTE:.If.you.get.an.error.mes
10c6e0 73 61 67 65 20 61 62 6f 75 74 20 e2 80 9c 63 6f 6e 74 61 63 74 69 6e 67 20 61 20 68 6f 73 74 e2 sage.about....contacting.a.host.
10c700 80 9d 20 6f 72 0a 20 20 20 20 20 e2 80 9c 64 6f 77 6e 6c 6f 61 64 69 6e 67 20 61 6e 20 61 72 63 ...or.........downloading.an.arc
10c720 68 69 76 65 e2 80 9d 2c 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 69 73 20 6e 6f 74 20 75 6e 69 71 hive...,.the.problem.is.not.uniq
10c740 75 65 20 74 6f 20 52 61 63 6b 65 74 20 4d 6f 64 65 2e 0a 20 20 20 20 20 50 6c 65 61 73 65 20 73 ue.to.Racket.Mode.......Please.s
10c760 65 65 20 3c 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 67 65 74 74 69 6e 67 2d ee.<https://melpa.org/#/getting-
10c780 73 74 61 72 74 65 64 3e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 started>.....File:.doc49fz4A.inf
10c7a0 6f 2c 20 20 4e 6f 64 65 3a 20 55 70 64 61 74 69 6e 67 20 6a 75 73 74 20 52 61 63 6b 65 74 20 4d o,..Node:.Updating.just.Racket.M
10c7c0 6f 64 65 2c 20 20 50 72 65 76 3a 20 55 70 67 72 61 64 69 6e 67 20 61 6c 6c 20 70 61 63 6b 61 67 ode,..Prev:.Upgrading.all.packag
10c7e0 65 73 2c 20 20 55 70 3a 20 55 70 64 61 74 65 0a 0a 32 2e 36 2e 32 20 55 70 64 61 74 69 6e 67 20 es,..Up:.Update..2.6.2.Updating.
10c800 6a 75 73 74 20 52 61 63 6b 65 74 20 4d 6f 64 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d just.Racket.Mode.---------------
10c820 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 55 70 64 61 74 69 6e 67 20 61 6c 6c 20 70 ----------------..Updating.all.p
10c840 61 63 6b 61 67 65 73 20 73 6f 6d 65 74 69 6d 65 73 20 69 73 20 6d 6f 72 65 20 74 68 61 6e 20 79 ackages.sometimes.is.more.than.y
10c860 6f 75 20 77 61 6e 74 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 6d 61 79 62 65 20 79 6f 75 ou.want...For.example,.maybe.you
10c880 20 77 69 6c 6c 20 64 69 73 63 6f 76 65 72 20 74 68 61 74 20 73 6f 6d 65 20 70 61 63 6b 61 67 65 .will.discover.that.some.package
10c8a0 73 20 68 61 76 65 20 63 68 61 6e 67 65 64 20 69 6e 20 77 61 79 73 20 74 68 61 74 0a 72 65 71 75 s.have.changed.in.ways.that.requ
10c8c0 69 72 65 20 79 6f 75 20 74 6f 20 74 61 6b 65 20 74 69 6d 65 20 74 6f 20 6c 65 61 72 6e 20 61 62 ire.you.to.take.time.to.learn.ab
10c8e0 6f 75 74 2c 20 63 68 61 6e 67 65 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 73 2c 20 61 6e 64 20 out,.change.customizations,.and.
10c900 73 6f 0a 6f 6e 2e 0a 0a 20 20 20 54 6f 20 75 70 64 61 74 65 20 6a 75 73 74 20 52 61 63 6b 65 74 so.on......To.update.just.Racket
10c920 20 4d 6f 64 65 3a 0a 0a 20 20 31 2e 20 2a 6e 6f 74 65 20 55 6e 69 6e 73 74 61 6c 6c 3a 3a 2e 0a .Mode:....1..*note.Uninstall::..
10c940 0a 20 20 32 2e 20 4f 70 74 69 6f 6e 61 6c 20 62 75 74 20 6d 6f 73 74 20 72 65 6c 69 61 62 6c 65 ...2..Optional.but.most.reliable
10c960 3a 20 45 78 69 74 20 61 6e 64 20 72 65 73 74 61 72 74 20 45 6d 61 63 73 2e 0a 0a 20 20 33 2e 20 :.Exit.and.restart.Emacs.....3..
10c980 2a 6e 6f 74 65 20 49 6e 73 74 61 6c 6c 3a 3a 20 61 67 61 69 6e 2e 20 20 54 68 69 73 20 77 69 6c *note.Install::.again...This.wil
10c9a0 6c 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 2e 0a 0a 1f l.install.the.latest.version....
10c9c0 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6f .File:.doc49fz4A.info,..Node:.Co
10c9e0 6e 66 69 67 75 72 65 2c 20 20 4e 65 78 74 3a 20 41 72 63 68 69 74 65 63 74 75 72 65 2c 20 20 50 nfigure,..Next:.Architecture,..P
10ca00 72 65 76 3a 20 49 6e 73 74 61 6c 6c 20 55 70 64 61 74 65 20 61 6e 64 20 55 6e 69 6e 73 74 61 6c rev:.Install.Update.and.Uninstal
10ca20 6c 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 33 20 43 6f 6e 66 69 67 75 72 65 0a 2a 2a 2a 2a 2a 2a 2a l,..Up:.Top..3.Configure.*******
10ca40 2a 2a 2a 2a 0a 0a 41 6c 74 68 6f 75 67 68 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 63 61 6e 20 62 ****..Although.Racket.Mode.can.b
10ca60 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 77 69 74 68 20 6d 61 6e 79 20 2a 6e 6f 74 65 20 56 61 72 e.customized.with.many.*note.Var
10ca80 69 61 62 6c 65 73 3a 3a 2c 0a 74 68 65 72 65 20 69 73 20 6f 6e 6c 79 20 6f 6e 65 20 74 68 61 74 iables::,.there.is.only.one.that
10caa0 20 79 6f 75 20 6d 69 67 68 74 20 5f 6e 65 65 64 5f 20 74 6f 20 73 65 74 3a 20 2a 6e 6f 74 65 20 .you.might._need_.to.set:.*note.
10cac0 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 3a 3a 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 racket-program::..This.is.the.na
10cae0 6d 65 20 6f 72 20 70 61 74 68 6e 61 6d 65 20 6f 66 20 74 68 65 20 52 61 63 6b 65 74 20 65 78 65 me.or.pathname.of.the.Racket.exe
10cb00 63 75 74 61 62 6c 65 2e 20 20 49 74 20 64 65 66 61 75 6c 74 73 20 74 6f 0a e2 80 98 52 61 63 6b cutable...It.defaults.to....Rack
10cb20 65 74 2e 65 78 65 e2 80 99 20 6f 6e 20 57 69 6e 64 6f 77 73 20 65 6c 73 65 20 e2 80 98 72 61 63 et.exe....on.Windows.else....rac
10cb40 6b 65 74 e2 80 99 2e 0a 0a 20 20 20 4f 6e 20 57 69 6e 64 6f 77 73 20 6f 72 20 4c 69 6e 75 78 2c ket.........On.Windows.or.Linux,
10cb60 20 74 68 69 73 20 64 65 66 61 75 6c 74 20 77 69 6c 6c 20 70 72 6f 62 61 62 6c 79 20 77 6f 72 6b .this.default.will.probably.work
10cb80 20 66 6f 72 20 79 6f 75 2e 0a 0a 20 20 20 4f 6e 20 6d 61 63 4f 53 2c 20 64 6f 77 6e 6c 6f 61 64 .for.you......On.macOS,.download
10cba0 69 6e 67 20 52 61 63 6b 65 74 20 64 6f 65 73 6e e2 80 99 74 20 61 64 64 20 69 74 73 20 e2 80 98 ing.Racket.doesn...t.add.its....
10cbc0 62 69 6e e2 80 99 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 79 6f 75 72 0a e2 80 98 50 41 54 48 bin....directory.to.your....PATH
10cbe0 e2 80 99 2e 20 20 45 76 65 6e 20 61 66 74 65 72 20 79 6f 75 20 61 64 64 20 69 74 2c 20 47 55 49 ......Even.after.you.add.it,.GUI
10cc00 20 45 6d 61 63 73 20 64 6f 65 73 6e e2 80 99 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 .Emacs.doesn...t.automatically.u
10cc20 73 65 20 79 6f 75 72 0a 70 61 74 68 20 28 75 6e 6c 65 73 73 20 79 6f 75 20 75 73 65 20 74 68 65 se.your.path.(unless.you.use.the
10cc40 20 68 61 6e 64 79 20 65 78 65 63 2d 70 61 74 68 2d 66 72 6f 6d 2d 73 68 65 6c 6c 0a 28 68 74 74 .handy.exec-path-from-shell.(htt
10cc60 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 65 78 65 63 2d 70 61 74 68 2d 66 72 6f 6d 2d ps://melpa.org/#/exec-path-from-
10cc80 73 68 65 6c 6c 29 20 70 61 63 6b 61 67 65 29 2e 20 20 54 68 65 72 65 66 6f 72 65 20 79 6f 75 0a shell).package)...Therefore.you.
10cca0 6d 69 67 68 74 20 77 61 6e 74 20 74 6f 20 73 65 74 20 e2 80 98 72 61 63 6b 65 74 2d 70 72 6f 67 might.want.to.set....racket-prog
10ccc0 72 61 6d e2 80 99 20 74 6f 20 61 20 63 6f 6d 70 6c 65 74 65 20 70 61 74 68 6e 61 6d 65 2e 0a 0a ram....to.a.complete.pathname...
10cce0 20 20 20 59 6f 75 20 63 61 6e 20 e2 80 98 73 65 74 71 e2 80 99 20 74 68 69 73 20 64 69 72 65 63 ...You.can....setq....this.direc
10cd00 74 6c 79 20 69 6e 20 79 6f 75 72 20 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 20 28 e2 80 98 tly.in.your.Emacs.init.file.(...
10cd20 7e 2f 2e 65 6d 61 63 73 e2 80 99 20 6f 72 0a e2 80 98 7e 2f 2e 65 6d 61 63 73 2e 64 2f 69 6e 69 ~/.emacs....or....~/.emacs.d/ini
10cd40 74 2e 65 6c e2 80 99 29 2c 20 6f 72 2c 20 75 73 65 20 e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 63 t.el...),.or,.use....M-x.......c
10cd60 75 73 74 6f 6d 69 7a 65 e2 80 99 2c 20 61 73 20 79 6f 75 20 70 72 65 66 65 72 2e 0a 0a 2a 20 4d ustomize...,.as.you.prefer...*.M
10cd80 65 6e 75 3a 0a 0a 2a 20 57 68 69 63 68 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 74 6f 20 75 73 65 3a enu:..*.Which.major.mode.to.use:
10cda0 3a 0a 2a 20 4b 65 79 20 62 69 6e 64 69 6e 67 73 3a 3a 0a 2a 20 46 6f 6e 74 2d 6c 6f 63 6b 20 28 :.*.Key.bindings::.*.Font-lock.(
10cdc0 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 29 3a 3a 0a 2a 20 43 6f 6d 70 6c 65 74 syntax.highlighting)::.*.Complet
10cde0 69 6f 6e 20 61 74 20 70 6f 69 6e 74 3a 3a 0a 2a 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 69 6e 20 6d ion.at.point::.*.Completion.in.m
10ce00 69 6e 69 62 75 66 66 65 72 3a 3a 0a 2a 20 58 72 65 66 20 28 64 65 66 69 6e 69 74 69 6f 6e 73 20 inibuffer::.*.Xref.(definitions.
10ce20 61 6e 64 20 72 65 66 65 72 65 6e 63 65 73 29 3a 3a 0a 2a 20 49 6e 64 65 6e 74 3a 3a 0a 2a 20 70 and.references)::.*.Indent::.*.p
10ce40 61 72 65 64 69 74 3a 3a 0a 2a 20 73 6d 61 72 74 70 61 72 65 6e 73 3a 3a 0a 2a 20 41 70 70 65 61 aredit::.*.smartparens::.*.Appea
10ce60 72 61 6e 63 65 20 6f 66 20 70 61 72 65 6e 74 68 65 73 65 73 3a 3a 0a 2a 20 45 64 69 74 20 62 75 rance.of.parentheses::.*.Edit.bu
10ce80 66 66 65 72 73 20 61 6e 64 20 52 45 50 4c 20 62 75 66 66 65 72 73 3a 3a 0a 2a 20 65 6c 64 6f 63 ffers.and.REPL.buffers::.*.eldoc
10cea0 3a 3a 0a 2a 20 53 74 61 72 74 20 66 61 73 74 65 72 3a 3a 0a 2a 20 55 6e 69 63 6f 64 65 20 69 6e ::.*.Start.faster::.*.Unicode.in
10cec0 70 75 74 20 6d 65 74 68 6f 64 3a 3a 0a 2a 20 4c 69 67 61 74 75 72 65 73 3a 3a 0a 0a 1f 0a 46 69 put.method::.*.Ligatures::....Fi
10cee0 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 57 68 69 63 68 le:.doc49fz4A.info,..Node:.Which
10cf00 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 74 6f 20 75 73 65 2c 20 20 4e 65 78 74 3a 20 4b 65 79 20 62 .major.mode.to.use,..Next:.Key.b
10cf20 69 6e 64 69 6e 67 73 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 0a 0a 33 2e 31 20 57 68 69 indings,..Up:.Configure..3.1.Whi
10cf40 63 68 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 74 6f 20 75 73 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ch.major.mode.to.use.===========
10cf60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 52 61 63 6b 65 74 20 69 73 20 61 20 70 72 ================..Racket.is.a.pr
10cf80 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 20 20 20 52 61 63 6b 65 74 20 69 ogramming.language......Racket.i
10cfa0 73 20 61 6c 73 6f 20 61 20 e2 80 9c 6c 61 6e 67 75 61 67 65 2d 6f 72 69 65 6e 74 65 64 20 70 72 s.also.a....language-oriented.pr
10cfc0 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 e2 80 9d 2e 20 20 4d 6f 73 74 0a 52 61 63 ogramming.language......Most.Rac
10cfe0 6b 65 74 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 63 6f 6e 74 61 69 6e 20 61 20 e2 80 98 23 6c ket.source.files.contain.a....#l
10d000 61 6e 67 e2 80 98 20 6c 69 6e 65 2e 20 20 54 68 65 20 6c 61 6e 67 20 6d 61 79 20 62 65 20 61 6e ang....line...The.lang.may.be.an
10d020 0a 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 6c 61 6e 67 20 6c 69 6b 65 20 e2 80 98 72 61 63 6b 65 .s-expression.lang.like....racke
10d040 74 e2 80 99 2c 20 6f 72 20 61 6e 20 61 74 2d 65 78 70 72 65 73 73 69 6f 6e 20 6c 61 6e 67 20 6c t...,.or.an.at-expression.lang.l
10d060 69 6b 65 0a e2 80 98 73 63 72 69 62 62 6c 65 2f 6d 61 6e 75 61 6c e2 80 99 2c 20 6f 72 20 73 6f ike....scribble/manual...,.or.so
10d080 6d 65 74 68 69 6e 67 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 69 66 66 65 72 65 6e 74 20 6c 69 6b mething.completely.different.lik
10d0a0 65 20 e2 80 98 64 61 74 61 6c 6f 67 e2 80 99 20 6f 72 0a e2 80 98 72 68 6f 6d 62 75 73 e2 80 99 e....datalog....or....rhombus...
10d0c0 2e 0a 0a 20 20 20 54 68 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 70 61 63 6b 61 67 65 20 6f 66 ......The.Racket.Mode.package.of
10d0e0 66 65 72 73 20 61 20 63 68 6f 69 63 65 20 6f 66 20 74 77 6f 20 6d 61 6a 6f 72 20 6d 6f 64 65 73 fers.a.choice.of.two.major.modes
10d100 20 74 6f 20 75 73 65 20 69 6e 0a 62 75 66 66 65 72 73 20 66 6f 72 20 76 69 65 77 69 6e 67 20 61 .to.use.in.buffers.for.viewing.a
10d120 6e 64 20 65 64 69 74 69 6e 67 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 45 61 63 68 20 68 61 nd.editing.source.code...Each.ha
10d140 73 20 70 72 6f 73 20 61 6e 64 20 63 6f 6e 73 2e 0a 0a 20 20 20 57 68 65 72 65 61 73 20 e2 80 98 s.pros.and.cons......Whereas....
10d160 72 61 63 6b 65 74 2d 6d 6f 64 65 e2 80 99 20 69 73 20 69 6e 20 74 68 65 20 74 72 61 64 69 74 69 racket-mode....is.in.the.traditi
10d180 6f 6e 20 6f 66 20 45 6d 61 63 73 20 e2 80 98 6c 69 73 70 2d 6d 6f 64 65 e2 80 99 20 61 6e 64 0a on.of.Emacs....lisp-mode....and.
10d1a0 e2 80 98 73 63 68 65 6d 65 2d 6d 6f 64 65 e2 80 99 20 61 6e 64 20 61 73 73 75 6d 65 73 20 73 2d ...scheme-mode....and.assumes.s-
10d1c0 65 78 70 72 65 73 73 69 6f 6e 20 6c 61 6e 67 73 2c 20 e2 80 98 72 61 63 6b 65 74 2d 68 61 73 68 expression.langs,....racket-hash
10d1e0 2d 6c 61 6e 67 2d 6d 6f 64 65 e2 80 99 0a 74 61 6b 65 73 20 74 68 65 20 61 70 70 72 6f 61 63 68 -lang-mode....takes.the.approach
10d200 20 6f 66 20 44 72 52 61 63 6b 65 74 20 74 6f 20 77 6f 72 6b 20 66 6f 72 20 61 6c 6c 20 6c 61 6e .of.DrRacket.to.work.for.all.lan
10d220 67 73 2e 0a 0a 20 20 20 e2 80 a2 20 e2 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 e2 80 99 20 69 73 gs.............racket-mode....is
10d240 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 2c 20 e2 80 9c 63 6c 61 73 73 69 63 e2 80 9d 20 6d 6f 64 .the.original,....classic....mod
10d260 65 20 66 6f 72 20 e2 80 98 23 6c 61 6e 67 20 72 61 63 6b 65 74 e2 80 99 0a 20 20 20 20 20 61 6e e.for....#lang.racket.........an
10d280 64 20 72 65 6c 61 74 65 64 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 6c 61 6e 67 75 61 67 65 73 d.related.s-expression.languages
10d2a0 2e 20 20 49 74 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 65 6e 74 69 72 65 6c 79 20 69 6e ...It.is.implemented.entirely.in
10d2c0 0a 20 20 20 20 20 45 6d 61 63 73 20 61 6e 64 20 64 6f 65 73 20 5f 6e 6f 74 5f 20 6e 65 65 64 20 ......Emacs.and.does._not_.need.
10d2e0 52 61 63 6b 65 74 20 4d 6f 64 65 e2 80 99 73 20 62 61 63 6b 20 65 6e 64 20 72 61 63 6b 65 74 20 Racket.Mode...s.back.end.racket.
10d300 70 72 6f 63 65 73 73 0a 20 20 20 20 20 72 75 6e 6e 69 6e 67 2e 20 20 46 6f 6e 74 2d 6c 6f 63 6b process......running...Font-lock
10d320 20 28 63 6f 6c 6f 72 69 6e 67 29 20 75 73 65 73 20 72 75 6c 65 73 20 66 6f 72 20 61 20 66 69 78 .(coloring).uses.rules.for.a.fix
10d340 65 64 20 73 65 74 20 6f 66 0a 20 20 20 20 20 69 64 65 6e 74 69 66 69 65 72 73 20 66 72 6f 6d 20 ed.set.of......identifiers.from.
10d360 e2 80 98 72 61 63 6b 65 74 e2 80 99 20 6c 61 6e 67 20 61 6e 64 20 70 6f 70 75 6c 61 72 20 6d 6f ...racket....lang.and.popular.mo
10d380 64 75 6c 65 73 20 6c 69 6b 65 0a 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2f 6d 61 74 63 68 e2 dules.like.........racket/match.
10d3a0 80 99 2e 20 20 49 6e 64 65 6e 74 61 74 69 6f 6e 20 75 73 65 73 20 72 75 6c 65 73 20 66 6f 72 20 .....Indentation.uses.rules.for.
10d3c0 61 20 66 69 78 65 64 20 73 65 74 20 6f 66 20 66 6f 72 6d 73 2c 0a 20 20 20 20 20 61 6e 64 20 6d a.fixed.set.of.forms,......and.m
10d3e0 61 79 20 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 2e 0a 0a 20 20 20 e2 80 a2 20 e2 80 98 72 61 63 ay.be.customized.............rac
10d400 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 e2 80 99 20 75 73 65 73 20 66 6f 6e 74 2d ket-hash-lang-mode....uses.font-
10d420 6c 6f 63 6b 20 28 63 6f 6c 6f 72 73 29 20 61 6e 64 20 69 6e 64 65 6e 74 61 74 69 6f 6e 0a 20 20 lock.(colors).and.indentation...
10d440 20 20 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 6c 61 6e 67 3b 20 74 6f 20 67 65 ...determined.by.the.lang;.to.ge
10d460 74 20 74 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 74 20 5f 64 6f 65 73 5f 20 6e 65 65 t.this.information.it._does_.nee
10d480 64 20 74 68 65 0a 20 20 20 20 20 52 61 63 6b 65 74 20 4d 6f 64 65 e2 80 99 73 20 62 61 63 6b 20 d.the......Racket.Mode...s.back.
10d4a0 65 6e 64 20 72 61 63 6b 65 74 20 70 72 6f 63 65 73 73 20 72 75 6e 6e 69 6e 67 2e 20 20 41 6c 74 end.racket.process.running...Alt
10d4c0 68 6f 75 67 68 20 62 61 73 69 63 0a 20 20 20 20 20 65 64 69 74 69 6e 67 20 73 68 6f 75 6c 64 20 hough.basic......editing.should.
10d4e0 66 65 65 6c 20 66 61 73 74 2c 20 79 6f 75 20 6d 69 67 68 74 20 6e 6f 74 69 63 65 20 73 6f 6d 65 feel.fast,.you.might.notice.some
10d500 20 64 65 6c 61 79 20 77 68 65 6e 0a 20 20 20 20 20 69 6e 64 65 6e 74 69 6e 67 2e 20 20 59 6f 75 .delay.when......indenting...You
10d520 20 6d 69 67 68 74 20 73 65 65 20 63 6f 6c 6f 72 73 20 61 70 70 65 61 72 20 61 66 74 65 72 20 61 .might.see.colors.appear.after.a
10d540 20 73 6d 61 6c 6c 20 64 65 6c 61 79 20 28 62 75 74 20 69 74 0a 20 20 20 20 20 77 69 6c 6c 20 6e .small.delay.(but.it......will.n
10d560 6f 74 20 62 6c 6f 63 6b 20 65 64 69 74 69 6e 67 29 2e 20 20 53 70 65 61 6b 69 6e 67 20 6f 66 20 ot.block.editing)...Speaking.of.
10d580 63 6f 6c 6f 72 73 2c 20 74 68 65 79 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 e2 80 9c 70 6c 61 colors,.they.will.be.........pla
10d5a0 69 6e 65 72 e2 80 9d 20 74 68 61 6e 20 e2 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 e2 80 99 20 e2 iner....than....racket-mode.....
10d5c0 80 93 20 6a 75 73 74 20 63 6f 6c 6f 72 73 20 66 6f 72 20 74 6f 6b 65 6e 73 20 6c 69 6b 65 20 6e ...just.colors.for.tokens.like.n
10d5e0 75 6d 62 65 72 73 2c 0a 20 20 20 20 20 63 6f 6d 6d 65 6e 74 73 2c 20 73 74 72 69 6e 67 73 2c 20 umbers,......comments,.strings,.
10d600 61 6e 64 20 6b 65 79 77 6f 72 64 73 2e 20 20 54 68 69 73 20 6c 6f 6f 6b 73 20 73 69 6d 69 6c 61 and.keywords...This.looks.simila
10d620 72 20 74 6f 20 44 72 52 61 63 6b 65 74 2e 0a 20 20 20 20 20 48 6f 77 65 76 65 72 20 79 6f 75 20 r.to.DrRacket.......However.you.
10d640 63 61 6e 20 65 6e 68 61 6e 63 65 20 74 68 69 73 20 69 6e 20 76 61 72 69 6f 75 73 20 77 61 79 73 can.enhance.this.in.various.ways
10d660 3b 20 73 65 65 20 74 68 65 20 64 69 73 63 75 73 73 69 6f 6e 20 6f 66 0a 20 20 20 20 20 2a 6e 6f ;.see.the.discussion.of......*no
10d680 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 te.racket-hash-lang-module-langu
10d6a0 61 67 65 2d 68 6f 6f 6b 3a 3a 2e 0a 0a 20 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 64 69 66 66 age-hook::......You.can.use.diff
10d6c0 65 72 65 6e 74 20 6d 61 6a 6f 72 20 6d 6f 64 65 73 20 66 6f 72 20 64 69 66 66 65 72 65 6e 74 20 erent.major.modes.for.different.
10d6e0 6b 69 6e 64 73 20 6f 66 20 66 69 6c 65 73 3a 0a 0a 20 20 20 e2 80 a2 20 46 6f 72 20 65 64 69 74 kinds.of.files:.........For.edit
10d700 69 6e 67 20 e2 80 98 2e 72 6b 74 e2 80 99 20 66 69 6c 65 73 20 61 6e 64 20 73 2d 65 78 70 72 65 ing.....rkt....files.and.s-expre
10d720 73 73 69 6f 6e 20 6c 61 6e 67 73 2c 20 77 68 69 63 68 20 6d 6f 64 65 20 74 6f 20 75 73 65 0a 20 ssion.langs,.which.mode.to.use..
10d740 20 20 20 20 69 73 20 70 65 72 73 6f 6e 61 6c 20 70 72 65 66 65 72 65 6e 63 65 2e 0a 0a 20 20 20 ....is.personal.preference......
10d760 e2 80 a2 20 46 6f 72 20 e2 80 98 2e 73 63 72 62 6c e2 80 99 20 61 6e 64 20 61 74 2d 65 78 70 72 ....For.....scrbl....and.at-expr
10d780 65 73 73 69 6f 6e 20 6c 61 6e 67 73 20 6c 69 6b 65 20 e2 80 98 73 63 72 69 62 62 6c 65 2f 6d 61 ession.langs.like....scribble/ma
10d7a0 6e 75 61 6c e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e nual...,.........racket-hash-lan
10d7c0 67 2d 6d 6f 64 65 e2 80 99 20 69 73 20 70 72 6f 62 61 62 6c 79 20 62 65 74 74 65 72 20 74 68 61 g-mode....is.probably.better.tha
10d7e0 6e 20 e2 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 e2 80 99 2e 0a 20 20 20 20 20 28 4e 6f 74 65 20 n....racket-mode..........(Note.
10d800 74 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 6e 20 75 6e 72 65 6c 61 74 65 64 20 e2 80 98 73 63 there.is.also.an.unrelated....sc
10d820 72 69 62 62 6c 65 2d 6d 6f 64 65 e2 80 99 20 70 61 63 6b 61 67 65 2e 29 0a 0a 20 20 20 e2 80 a2 ribble-mode....package.)........
10d840 20 46 6f 72 20 6e 6f 6e 2d 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 6c 61 6e 67 73 20 6c 69 6b 65 .For.non-s-expression.langs.like
10d860 20 e2 80 98 64 61 74 61 6c 6f 67 e2 80 99 20 6f 72 20 e2 80 98 72 68 6f 6d 62 75 73 e2 80 99 20 ....datalog....or....rhombus....
10d880 28 e2 80 98 2e 72 68 6d e2 80 99 29 2c 0a 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 68 61 73 (....rhm...),.........racket-has
10d8a0 68 2d 6c 61 6e 67 2d 6d 6f 64 65 e2 80 99 20 69 73 20 64 65 66 69 6e 69 74 65 6c 79 20 62 65 74 h-lang-mode....is.definitely.bet
10d8c0 74 65 72 20 74 68 61 6e 20 e2 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 e2 80 99 2e 0a 20 20 20 20 ter.than....racket-mode.........
10d8e0 20 28 4e 6f 74 65 20 74 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 6e 20 75 6e 72 65 6c 61 74 65 .(Note.there.is.also.an.unrelate
10d900 64 20 e2 80 98 72 68 6f 6d 62 75 73 2d 6d 6f 64 65 e2 80 99 20 70 61 63 6b 61 67 65 2e 29 0a 0a d....rhombus-mode....package.)..
10d920 20 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 e2 80 98 61 75 74 6f 2d 6d 6f 64 65 2d 61 6c 69 73 ...You.can.use....auto-mode-alis
10d940 74 e2 80 99 20 74 6f 20 74 65 6c 6c 20 45 6d 61 63 73 20 77 68 69 63 68 20 6d 61 6a 6f 72 20 6d t....to.tell.Emacs.which.major.m
10d960 6f 64 65 20 74 6f 20 75 73 65 0a 69 6e 69 74 69 61 6c 6c 79 20 66 6f 72 20 63 65 72 74 61 69 6e ode.to.use.initially.for.certain
10d980 20 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2e 20 20 41 6c 73 6f 2c 20 69 6e 20 61 20 62 75 .file.extensions...Also,.in.a.bu
10d9a0 66 66 65 72 20 79 6f 75 20 63 61 6e 20 75 73 65 0a e2 80 98 4d 2d 78 20 72 61 63 6b 65 74 2d 6d ffer.you.can.use....M-x.racket-m
10d9c0 6f 64 65 e2 80 99 20 61 6e 64 20 e2 80 98 4d 2d 78 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 ode....and....M-x.racket-hash-la
10d9e0 6e 67 2d 6d 6f 64 65 e2 80 99 20 74 6f 20 73 77 69 74 63 68 20 62 65 74 77 65 65 6e 0a 74 68 65 ng-mode....to.switch.between.the
10da00 6d 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 m.....File:.doc49fz4A.info,..Nod
10da20 65 3a 20 4b 65 79 20 62 69 6e 64 69 6e 67 73 2c 20 20 4e 65 78 74 3a 20 46 6f 6e 74 2d 6c 6f 63 e:.Key.bindings,..Next:.Font-loc
10da40 6b 20 28 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 29 2c 20 20 50 72 65 76 3a 20 k.(syntax.highlighting),..Prev:.
10da60 57 68 69 63 68 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 74 6f 20 75 73 65 2c 20 20 55 70 3a 20 43 6f Which.major.mode.to.use,..Up:.Co
10da80 6e 66 69 67 75 72 65 0a 0a 33 2e 32 20 4b 65 79 20 62 69 6e 64 69 6e 67 73 0a 3d 3d 3d 3d 3d 3d nfigure..3.2.Key.bindings.======
10daa0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 6f 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 69 6e 67 73 20 ==========..To.customize.things.
10dac0 6c 69 6b 65 20 6b 65 79 20 62 69 6e 64 69 6e 67 73 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 e2 like.key.bindings,.you.can.use..
10dae0 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 68 6f 6f 6b e2 80 99 20 69 6e 0a 79 6f 75 72 20 45 6d ..racket-mode-hook....in.your.Em
10db00 61 63 73 20 69 6e 69 74 20 66 69 6c 65 20 74 6f 20 6d 6f 64 69 66 79 20 e2 80 98 72 61 63 6b 65 acs.init.file.to.modify....racke
10db20 74 2d 6d 6f 64 65 2d 6d 61 70 e2 80 99 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 61 6c 74 t-mode-map......For.example,.alt
10db40 68 6f 75 67 68 0a e2 80 98 43 2d 63 20 43 2d 63 e2 80 99 20 69 73 20 62 6f 75 6e 64 20 62 79 20 hough....C-c.C-c....is.bound.by.
10db60 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 e2 80 98 72 61 63 6b 65 74 2d 72 75 6e e2 80 99 20 default.to.the....racket-run....
10db80 63 6f 6d 6d 61 6e 64 2c 20 6c 65 74 e2 80 99 73 20 73 61 79 20 79 6f 75 0a 77 61 6e 74 65 64 20 command,.let...s.say.you.wanted.
10dba0 e2 80 98 46 35 e2 80 99 20 74 6f 20 62 65 20 61 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 62 69 6e ...F5....to.be.an.additional.bin
10dbc0 64 69 6e 67 3a 0a 0a 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 6d 6f ding:.......(add-hook.'racket-mo
10dbe0 64 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 de-hook................(lambda.(
10dc00 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 72 )..................(define-key.r
10dc20 61 63 6b 65 74 2d 6d 6f 64 65 2d 6d 61 70 20 28 6b 62 64 20 22 3c 66 35 3e 22 29 20 27 72 61 63 acket-mode-map.(kbd."<f5>").'rac
10dc40 6b 65 74 2d 72 75 6e 29 29 29 0a 0a 20 20 20 4c 69 6b 65 77 69 73 65 20 66 6f 72 20 e2 80 98 72 ket-run))).....Likewise.for....r
10dc60 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b e2 80 99 20 61 6e 64 20 e2 80 98 72 acket-repl-mode-hook....and....r
10dc80 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 6d 61 70 e2 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a acket-repl-mode-map........File:
10dca0 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 6f 6e 74 2d 6c 6f 63 .doc49fz4A.info,..Node:.Font-loc
10dcc0 6b 20 28 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 29 2c 20 20 4e 65 78 74 3a 20 k.(syntax.highlighting),..Next:.
10dce0 43 6f 6d 70 6c 65 74 69 6f 6e 20 61 74 20 70 6f 69 6e 74 2c 20 20 50 72 65 76 3a 20 4b 65 79 20 Completion.at.point,..Prev:.Key.
10dd00 62 69 6e 64 69 6e 67 73 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 0a 0a 33 2e 33 20 46 6f bindings,..Up:.Configure..3.3.Fo
10dd20 6e 74 2d 6c 6f 63 6b 20 28 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 29 0a 3d 3d nt-lock.(syntax.highlighting).==
10dd40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
10dd60 3d 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 54 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 6d 61 =.......Note:.The.alternative.ma
10dd80 6a 6f 72 20 6d 6f 64 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d jor.mode.*note.racket-hash-lang-
10dda0 6d 6f 64 65 3a 3a 0a 20 20 20 20 20 64 69 73 61 62 6c 65 73 20 61 6c 6c 20 6f 66 20 74 68 65 20 mode::......disables.all.of.the.
10ddc0 66 6f 6c 6c 6f 77 69 6e 67 20 62 65 68 61 76 69 6f 72 20 61 6e 64 20 75 73 65 73 20 63 6f 6c 6f following.behavior.and.uses.colo
10dde0 72 73 20 64 65 74 65 72 6d 69 6e 65 64 0a 20 20 20 20 20 62 79 20 74 68 65 20 23 6c 61 6e 67 2e rs.determined......by.the.#lang.
10de00 0a 0a 20 20 20 46 6f 6e 74 2d 6c 6f 63 6b 20 28 61 73 20 45 6d 61 63 73 20 63 61 6c 6c 73 20 73 .....Font-lock.(as.Emacs.calls.s
10de20 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 29 20 63 61 6e 20 62 65 20 63 6f 6e 74 72 yntax.highlighting).can.be.contr
10de40 6f 6c 6c 65 64 0a 75 73 69 6e 67 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 e2 80 98 66 6f 6e 74 olled.using.the.variable....font
10de60 2d 6c 6f 63 6b 2d 6d 61 78 69 6d 75 6d 2d 64 65 63 6f 72 61 74 69 6f 6e e2 80 99 2c 20 77 68 69 -lock-maximum-decoration...,.whi
10de80 63 68 20 64 65 66 61 75 6c 74 73 20 74 6f 20 e2 80 98 74 e2 80 99 0a 28 6d 61 78 69 6d 75 6d 29 ch.defaults.to....t....(maximum)
10dea0 2e 20 20 59 6f 75 20 63 61 6e 20 73 65 74 20 69 74 20 74 6f 20 61 20 6e 75 6d 62 65 72 2c 20 77 ...You.can.set.it.to.a.number,.w
10dec0 68 65 72 65 20 e2 80 98 30 e2 80 99 20 69 73 20 74 68 65 20 6c 6f 77 65 73 74 20 6c 65 76 65 6c here....0....is.the.lowest.level
10dee0 2e 0a 59 6f 75 20 63 61 6e 20 65 76 65 6e 20 73 75 70 70 6c 79 20 61 6e 20 61 73 73 6f 63 69 61 ..You.can.even.supply.an.associa
10df00 74 69 6f 6e 20 6c 69 73 74 20 74 6f 20 73 70 65 63 69 66 79 20 64 69 66 66 65 72 65 6e 74 20 76 tion.list.to.specify.different.v
10df20 61 6c 75 65 73 20 66 6f 72 0a 64 69 66 66 65 72 65 6e 74 20 6d 61 6a 6f 72 20 6d 6f 64 65 73 2e alues.for.different.major.modes.
10df40 0a 0a 20 20 20 48 69 73 74 6f 72 69 63 61 6c 6c 79 20 79 6f 75 20 6d 69 67 68 74 20 63 68 6f 6f .....Historically.you.might.choo
10df60 73 65 20 61 20 6c 6f 77 65 72 20 6c 65 76 65 6c 20 66 6f 72 20 73 70 65 65 64 2e 20 20 54 68 65 se.a.lower.level.for.speed...The
10df80 73 65 20 64 61 79 73 0a 79 6f 75 20 6d 69 67 68 74 20 64 6f 20 73 6f 20 62 65 63 61 75 73 65 20 se.days.you.might.do.so.because.
10dfa0 79 6f 75 20 70 72 65 66 65 72 20 61 20 73 69 6d 70 6c 65 72 20 61 70 70 65 61 72 61 6e 63 65 2e you.prefer.a.simpler.appearance.
10dfc0 0a 0a 20 20 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 73 75 70 70 6f 72 74 73 20 66 6f 75 72 2c 20 .....Racket.Mode.supports.four,.
10dfe0 69 6e 63 72 65 61 73 69 6e 67 20 6c 65 76 65 6c 73 20 6f 66 20 66 6f 6e 74 2d 6c 6f 63 6b 3a 0a increasing.levels.of.font-lock:.
10e000 0a 20 20 20 e2 80 a2 20 e2 80 98 30 e2 80 99 3a 20 4a 75 73 74 20 73 74 72 69 6e 67 73 2c 20 63 ...........0...:.Just.strings,.c
10e020 6f 6d 6d 65 6e 74 73 2c 20 61 6e 64 20 e2 80 98 23 6c 61 6e 67 e2 80 99 2e 0a 20 20 20 e2 80 a2 omments,.and....#lang...........
10e040 20 e2 80 98 31 e2 80 99 3a 20 e2 80 98 23 3a 6b 65 79 77 6f 72 64 e2 80 99 20 61 6e 64 20 73 65 ....1...:....#:keyword....and.se
10e060 6c 66 2d 65 76 61 6c 75 61 74 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 6c 69 6b 65 20 6e 75 6d 62 lf-evaluating.literals.like.numb
10e080 65 72 73 2c 20 71 75 6f 74 65 64 0a 20 20 20 20 20 73 79 6d 62 6f 6c 73 20 28 69 6e 63 6c 75 64 ers,.quoted......symbols.(includ
10e0a0 69 6e 67 20 73 79 6d 62 6f 6c 73 20 77 69 74 68 20 73 70 61 63 65 73 20 64 65 6c 69 6d 69 74 65 ing.symbols.with.spaces.delimite
10e0c0 64 20 62 79 20 e2 80 98 7c e2 80 99 0a 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 29 2c 20 61 d.by....|.........characters),.a
10e0e0 6e 64 20 e2 80 98 23 72 78 e2 80 99 20 61 6e 64 20 e2 80 98 23 70 78 e2 80 99 20 72 65 67 75 6c nd....#rx....and....#px....regul
10e100 61 72 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 e2 80 a2 20 e2 80 98 32 e2 80 99 3a 20 ar.expressions............2...:.
10e120 49 64 65 6e 74 69 66 69 65 72 73 20 69 6e 20 e2 80 98 64 65 66 69 6e 65 e2 80 99 2d 6c 69 6b 65 Identifiers.in....define...-like
10e140 20 61 6e 64 20 e2 80 98 6c 65 74 e2 80 99 2d 6c 69 6b 65 20 66 6f 72 6d 73 2e 0a 20 20 20 e2 80 .and....let...-like.forms.......
10e160 a2 20 e2 80 98 33 e2 80 99 3a 20 49 64 65 6e 74 69 66 69 65 72 73 20 70 72 6f 76 69 64 65 64 20 .....3...:.Identifiers.provided.
10e180 62 79 20 e2 80 98 72 61 63 6b 65 74 e2 80 99 2c 20 e2 80 98 74 79 70 65 64 2f 72 61 63 6b 65 74 by....racket...,....typed/racket
10e1a0 e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2f 73 79 6e 74 61 78 e2 80 99 2c 20 61 ...,.........racket/syntax...,.a
10e1c0 6e 64 20 e2 80 98 73 79 6e 74 61 78 2f 70 61 72 73 65 e2 80 99 2e 20 20 28 54 68 69 73 20 6c 65 nd....syntax/parse......(This.le
10e1e0 76 65 6c 20 65 66 66 65 63 74 69 76 65 6c 79 0a 20 20 20 20 20 74 72 65 61 74 73 20 52 61 63 6b vel.effectively......treats.Rack
10e200 65 74 20 61 73 20 61 20 6c 61 6e 67 75 61 67 65 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 6c et.as.a.language,.instead.of.a.l
10e220 61 6e 67 75 61 67 65 20 66 6f 72 20 6d 61 6b 69 6e 67 0a 20 20 20 20 20 6c 61 6e 67 75 61 67 65 anguage.for.making......language
10e240 73 2e 29 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e s.).....File:.doc49fz4A.info,..N
10e260 6f 64 65 3a 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 61 74 20 70 6f 69 6e 74 2c 20 20 4e 65 78 74 3a ode:.Completion.at.point,..Next:
10e280 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 2c 20 20 50 72 65 76 .Completion.in.minibuffer,..Prev
10e2a0 3a 20 46 6f 6e 74 2d 6c 6f 63 6b 20 28 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 :.Font-lock.(syntax.highlighting
10e2c0 29 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 0a 0a 33 2e 34 20 43 6f 6d 70 6c 65 74 69 6f ),..Up:.Configure..3.4.Completio
10e2e0 6e 20 61 74 20 70 6f 69 6e 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d n.at.point.=====================
10e300 3d 3d 0a 0a 49 6e 20 45 6d 61 63 73 2c 20 61 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 6d 61 79 20 73 ==..In.Emacs,.a.major.mode.may.s
10e320 75 70 70 6c 79 20 61 20 e2 80 9c 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 20 66 upply.a....completion-at-point.f
10e340 75 6e 63 74 69 6f 6e e2 80 9d 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 unction.....This.function.is.use
10e360 64 20 62 79 20 6d 61 6e 75 61 6c 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 73 20 d.by.manual.completion.commands.
10e380 6c 69 6b 65 0a e2 80 98 63 6f 6d 70 6c 65 74 65 2d 73 79 6d 62 6f 6c e2 80 99 20 28 62 6f 75 6e like....complete-symbol....(boun
10e3a0 64 20 62 79 20 64 65 66 61 75 6c 74 20 74 6f 20 e2 80 98 43 2d 4d 2d 69 e2 80 99 20 29 2c 20 61 d.by.default.to....C-M-i....),.a
10e3c0 73 20 77 65 6c 6c 20 61 73 20 62 79 0a 61 75 74 6f 2d 63 6f 6d 70 6c 65 74 69 6f 6e 20 70 61 63 s.well.as.by.auto-completion.pac
10e3e0 6b 61 67 65 73 20 6c 69 6b 65 20 e2 80 98 63 6f 6d 70 61 6e 79 2d 6d 6f 64 65 e2 80 99 2e 0a 0a kages.like....company-mode......
10e400 20 20 20 e2 80 a2 20 e2 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 e2 80 99 20 73 75 70 70 6c 69 65 ..........racket-mode....supplie
10e420 73 20 e2 80 98 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 e2 80 99 s....racket-complete-at-point...
10e440 2c 20 77 68 69 63 68 20 73 69 6d 70 6c 79 0a 20 20 20 20 20 73 75 70 70 6c 69 65 73 20 74 68 65 ,.which.simply......supplies.the
10e460 20 73 61 6d 65 20 73 79 6d 62 6f 6c 73 20 74 68 61 74 20 69 74 20 6b 6e 6f 77 73 20 68 6f 77 20 .same.symbols.that.it.knows.how.
10e480 74 6f 20 66 6f 6e 74 2d 6c 6f 63 6b 2e 20 20 54 68 69 73 0a 20 20 20 20 20 64 6f 65 73 20 5f 6e to.font-lock...This......does._n
10e4a0 6f 74 5f 20 72 65 71 75 69 72 65 20 74 68 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 62 61 63 6b ot_.require.the.Racket.Mode.back
10e4c0 20 65 6e 64 20 74 6f 20 62 65 20 72 75 6e 6e 69 6e 67 2e 20 20 42 75 74 20 6f 66 0a 20 20 20 20 .end.to.be.running...But.of.....
10e4e0 20 63 6f 75 72 73 65 20 74 68 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 .course.the.completion.candidate
10e500 73 20 64 6f 20 6e 6f 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 79 6f 75 72 0a 20 20 20 20 s.do.not.correspond.to.your.....
10e520 20 70 72 6f 67 72 61 6d e2 80 99 73 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 6f 72 20 74 68 6f 73 .program...s.definitions.or.thos
10e540 65 20 69 74 20 69 6d 70 6f 72 74 73 2e 20 20 54 68 69 73 20 69 73 20 61 20 73 74 61 74 69 63 2c e.it.imports...This.is.a.static,
10e560 0a 20 20 20 20 20 e2 80 9c 62 65 74 74 65 72 20 74 68 61 6e 20 6e 6f 74 68 69 6e 67 e2 80 9d 20 .........better.than.nothing....
10e580 66 61 6c 6c 62 61 63 6b 2e 0a 0a 20 20 20 e2 80 a2 20 e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 6d fallback.............racket-xp-m
10e5a0 6f 64 65 e2 80 99 20 e2 80 94 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 6d 69 6e 6f 72 20 6d 6f 64 ode........an.optional.minor.mod
10e5c0 65 20 74 68 61 74 20 65 6e 68 61 6e 63 65 73 0a 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 6d e.that.enhances.........racket-m
10e5e0 6f 64 65 e2 80 99 20 e2 80 94 20 73 75 70 70 6c 69 65 73 20 e2 80 98 72 61 63 6b 65 74 2d 78 70 ode........supplies....racket-xp
10e600 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 e2 80 99 2c 20 77 68 69 63 68 20 75 73 65 -complete-at-point...,.which.use
10e620 73 0a 20 20 20 20 20 61 20 73 74 61 74 69 63 20 61 6e 61 6c 79 73 69 73 20 74 6f 20 66 69 6e 64 s......a.static.analysis.to.find
10e640 20 6c 6f 63 61 6c 20 61 6e 64 20 69 6d 70 6f 72 74 65 64 20 62 69 6e 64 69 6e 67 20 6e 61 6d 65 .local.and.imported.binding.name
10e660 73 2e 0a 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 74 68 69 73 20 72 65 71 75 69 72 65 73 20 74 s.......Although.this.requires.t
10e680 68 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 62 61 63 6b 20 65 6e 64 20 74 6f 20 62 65 20 72 75 he.Racket.Mode.back.end.to.be.ru
10e6a0 6e 6e 69 6e 67 20 e2 80 94 20 61 6e 64 0a 20 20 20 20 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 nning.....and......will.automati
10e6c0 63 61 6c 6c 79 20 73 74 61 72 74 20 69 74 20 e2 80 94 20 69 74 20 64 6f 65 73 20 5f 6e 6f 74 5f cally.start.it.....it.does._not_
10e6e0 20 72 65 71 75 69 72 65 20 74 68 65 20 65 64 69 74 20 62 75 66 66 65 72 0a 20 20 20 20 20 74 6f .require.the.edit.buffer......to
10e700 20 62 65 20 e2 80 98 72 61 63 6b 65 74 2d 72 75 6e e2 80 99 2e 20 20 54 68 69 73 20 61 6c 73 6f .be....racket-run......This.also
10e720 20 73 75 70 70 6c 69 65 73 20 6d 65 74 61 20 64 61 74 61 20 75 73 61 62 6c 65 20 62 79 20 74 68 .supplies.meta.data.usable.by.th
10e740 65 0a 20 20 20 20 20 e2 80 98 63 6f 6d 70 61 6e 79 2d 63 61 70 66 e2 80 99 20 62 61 63 6b 65 6e e.........company-capf....backen
10e760 64 2e 0a 0a 20 20 20 e2 80 a2 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 e2 80 d.............racket-repl-mode..
10e780 99 20 73 75 70 70 6c 69 65 73 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 70 6c 65 ..supplies....racket-repl-comple
10e7a0 74 65 2d 61 74 2d 70 6f 69 6e 74 e2 80 99 2c 20 77 68 69 63 68 0a 20 20 20 20 20 75 73 65 73 20 te-at-point...,.which......uses.
10e7c0 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 e2 80 98 6e 61 6d 65 73 70 61 63 65 2d 6d 61 70 70 65 the.result.of....namespace-mappe
10e7e0 64 2d 73 79 6d 62 6f 6c 73 e2 80 99 20 6f 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 0a 20 20 20 20 d-symbols....on.the.program.....
10e800 20 63 75 72 72 65 6e 74 6c 79 20 72 75 6e 6e 69 6e 67 20 69 6e 20 74 68 65 20 52 45 50 4c 2e 0a .currently.running.in.the.REPL..
10e820 0a 20 20 20 54 68 65 73 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 20 61 ....These.completion.functions.a
10e840 72 65 20 73 65 74 20 62 79 20 64 65 66 61 75 6c 74 2e 20 20 28 48 6f 77 65 76 65 72 2c 0a e2 80 re.set.by.default...(However,...
10e860 98 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 e2 80 99 20 69 73 20 6e 6f 74 20 65 6e 61 62 6c 65 .racket-xp-mode....is.not.enable
10e880 64 20 62 79 20 64 65 66 61 75 6c 74 2e 20 20 54 6f 20 64 6f 20 73 6f 3a 20 2a 6e 6f 74 65 0a 72 d.by.default...To.do.so:.*note.r
10e8a0 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 2e 29 0a 0a 20 20 20 49 66 20 79 6f 75 20 77 61 6e acket-xp-mode::.).....If.you.wan
10e8c0 74 20 e2 80 98 54 41 42 e2 80 99 20 74 6f 20 64 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 61 73 20 t....TAB....to.do.completion.as.
10e8e0 77 65 6c 6c 20 61 73 20 69 6e 64 65 6e 74 2c 20 61 64 64 20 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e well.as.indent,.add.the.followin
10e900 67 20 74 6f 20 79 6f 75 72 20 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 3a 0a 0a 20 20 20 20 g.to.your.Emacs.init.file:......
10e920 20 28 73 65 74 71 20 74 61 62 2d 61 6c 77 61 79 73 2d 69 6e 64 65 6e 74 20 27 63 6f 6d 70 6c 65 .(setq.tab-always-indent.'comple
10e940 74 65 29 0a 0a 20 20 20 54 68 69 73 20 63 68 61 6e 67 65 73 20 74 68 65 20 62 65 68 61 76 69 6f te).....This.changes.the.behavio
10e960 72 20 6f 66 20 45 6d 61 63 73 e2 80 99 20 73 74 61 6e 64 61 72 64 0a e2 80 98 69 6e 64 65 6e 74 r.of.Emacs....standard....indent
10e980 2d 66 6f 72 2d 74 61 62 2d 63 6f 6d 6d 61 6e 64 e2 80 99 2c 20 74 6f 20 77 68 69 63 68 20 e2 80 -for-tab-command...,.to.which...
10e9a0 98 54 41 42 e2 80 99 20 69 73 20 62 6f 75 6e 64 20 62 79 20 64 65 66 61 75 6c 74 20 69 6e 0a e2 .TAB....is.bound.by.default.in..
10e9c0 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 e2 80 99 20 61 6e 64 20 e2 80 98 72 61 63 6b 65 74 2d 72 ..racket-mode....and....racket-r
10e9e0 65 70 6c 2d 6d 6f 64 65 e2 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e epl-mode........File:.doc49fz4A.
10ea00 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 69 6e 20 6d 69 6e 69 62 info,..Node:.Completion.in.minib
10ea20 75 66 66 65 72 2c 20 20 4e 65 78 74 3a 20 58 72 65 66 20 28 64 65 66 69 6e 69 74 69 6f 6e 73 20 uffer,..Next:.Xref.(definitions.
10ea40 61 6e 64 20 72 65 66 65 72 65 6e 63 65 73 29 2c 20 20 50 72 65 76 3a 20 43 6f 6d 70 6c 65 74 69 and.references),..Prev:.Completi
10ea60 6f 6e 20 61 74 20 70 6f 69 6e 74 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 0a 0a 33 2e 35 on.at.point,..Up:.Configure..3.5
10ea80 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 0a 3d 3d 3d 3d 3d 3d .Completion.in.minibuffer.======
10eaa0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 53 6f 6d 65 74 69 6d 65 ======================..Sometime
10eac0 73 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 61 73 6b 73 20 66 6f 72 20 69 6e 70 75 74 20 69 6e 20 s.Racket.Mode.asks.for.input.in.
10eae0 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 2e 20 20 54 6f 20 64 6f 20 73 6f 20 69 74 0a 75 73 65 the.minibuffer...To.do.so.it.use
10eb00 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 45 6d 61 63 73 20 66 75 6e 63 74 69 6f 6e 20 e2 80 s.the.standard.Emacs.function...
10eb20 98 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 e2 80 99 2c 20 73 6f 20 61 73 20 74 6f 20 62 65 .completing-read...,.so.as.to.be
10eb40 0a 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 61 6c 6c 20 45 6d 61 63 73 20 70 61 63 6b 61 .compatible.with.all.Emacs.packa
10eb60 67 65 73 20 74 68 61 74 20 65 6e 68 61 6e 63 65 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 ges.that.enhance....completing-r
10eb80 65 61 64 e2 80 99 2c 20 73 75 63 68 0a 61 73 20 68 65 6c 6d 2c 20 69 76 79 2c 20 69 64 6f 2d 63 ead...,.such.as.helm,.ivy,.ido-c
10eba0 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 2b 2c 20 76 65 72 74 69 63 6f 2c 20 61 6e 64 20 73 6f ompleting-read+,.vertico,.and.so
10ebc0 20 6f 6e 2e 0a 0a 20 20 20 28 45 61 72 6c 69 65 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 52 61 .on......(Earlier.versions.of.Ra
10ebe0 63 6b 65 74 20 4d 6f 64 65 20 73 6f 6d 65 74 69 6d 65 73 20 75 73 65 64 0a e2 80 98 69 64 6f 2d cket.Mode.sometimes.used....ido-
10ec00 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 e2 80 99 2e 20 20 49 66 20 79 6f 75 20 68 61 76 65 completing-read......If.you.have
10ec20 20 75 70 67 72 61 64 65 64 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 61 6e 64 20 6d 69 73 73 20 74 .upgraded.Racket.Mode.and.miss.t
10ec40 68 61 74 2c 0a 73 69 6d 70 6c 79 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 69 64 6f 2d 63 6f 6d 70 hat,.simply.install.the.ido-comp
10ec60 6c 65 74 69 6e 67 2d 72 65 61 64 2b 20 70 61 63 6b 61 67 65 2e 29 0a 0a 1f 0a 46 69 6c 65 3a 20 leting-read+.package.)....File:.
10ec80 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 58 72 65 66 20 28 64 65 66 doc49fz4A.info,..Node:.Xref.(def
10eca0 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 72 65 66 65 72 65 6e 63 65 73 29 2c 20 20 4e 65 78 74 3a initions.and.references),..Next:
10ecc0 20 49 6e 64 65 6e 74 2c 20 20 50 72 65 76 3a 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 69 6e 20 6d 69 .Indent,..Prev:.Completion.in.mi
10ece0 6e 69 62 75 66 66 65 72 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 0a 0a 33 2e 36 20 58 72 nibuffer,..Up:.Configure..3.6.Xr
10ed00 65 66 20 28 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 72 65 66 65 72 65 6e 63 65 73 29 0a ef.(definitions.and.references).
10ed20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
10ed40 3d 3d 3d 3d 3d 0a 0a 53 65 76 65 72 61 6c 20 6d 6f 64 65 73 20 73 75 70 70 6f 72 74 20 74 68 65 =====..Several.modes.support.the
10ed60 20 45 6d 61 63 73 20 63 6f 6d 6d 61 6e 64 73 0a 0a 20 20 20 e2 80 a2 20 e2 80 98 4d 2d 2e e2 80 .Emacs.commands............M-...
10ed80 99 20 20 e2 80 98 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 e2 80 99 0a 20 ......xref-find-definitions.....
10eda0 20 20 e2 80 a2 20 e2 80 98 4d 2d 3f e2 80 99 20 20 e2 80 98 78 72 65 66 2d 66 69 6e 64 2d 72 65 .........M-?........xref-find-re
10edc0 66 65 72 65 6e 63 65 73 e2 80 99 0a 20 20 20 e2 80 a2 20 e2 80 98 4d 2d 2c e2 80 99 20 e2 80 98 ferences..............M-,.......
10ede0 78 72 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 63 6b e2 80 99 0a 0a 20 20 20 54 6f 20 xref-pop-marker-stack........To.
10ee00 64 6f 20 73 6f 2c 20 65 61 63 68 20 6d 6f 64 65 20 61 64 64 73 20 61 20 6c 6f 63 61 6c 20 68 6f do.so,.each.mode.adds.a.local.ho
10ee20 6f 6b 20 66 6f 72 20 e2 80 98 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 ok.for....xref-backend-functions
10ee40 e2 80 99 3a 0a 0a 20 20 20 e2 80 a2 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a ...:.........*note.racket-mode::
10ee60 3a 20 e2 80 98 23 27 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d :....#'racket-mode-xref-backend-
10ee80 66 75 6e 63 74 69 6f 6e e2 80 99 0a 20 20 20 e2 80 a2 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d function...........*note.racket-
10eea0 78 70 2d 6d 6f 64 65 3a 3a 3a 20 e2 80 98 23 27 72 61 63 6b 65 74 2d 78 70 2d 78 72 65 66 2d 62 xp-mode:::....#'racket-xp-xref-b
10eec0 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e e2 80 99 0a 20 20 20 e2 80 a2 20 2a 6e 6f 74 65 20 ackend-function...........*note.
10eee0 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 3a 20 e2 80 98 23 27 72 61 63 6b 65 74 2d racket-repl-mode:::....#'racket-
10ef00 72 65 70 6c 2d 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e e2 80 99 0a 0a 20 repl-xref-backend-function......
10ef20 20 20 49 66 20 79 6f 75 20 70 72 65 66 65 72 2c 20 79 6f 75 20 63 61 6e 20 72 65 6d 6f 76 65 20 ..If.you.prefer,.you.can.remove.
10ef40 74 68 65 20 6c 6f 63 61 6c 20 68 6f 6f 6b 20 e2 80 94 20 65 2e 67 2e 20 20 66 6f 72 0a e2 80 98 the.local.hook.....e.g...for....
10ef60 72 61 63 6b 65 74 2d 6d 6f 64 65 e2 80 99 3a 20 e2 80 98 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 racket-mode...:....(remove-hook.
10ef80 27 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 23 27 72 61 63 6b 65 74 'xref-backend-functions.#'racket
10efa0 2d 6d 6f 64 65 2d 78 72 65 66 2d 66 75 6e 63 74 69 6f 6e 20 74 29 e2 80 99 2e 0a 0a 20 20 20 59 -mode-xref-function.t).........Y
10efc0 6f 75 20 63 61 6e 20 e2 80 98 4d 2d 78 20 63 75 73 74 6f 6d 69 7a 65 2d 67 72 6f 75 70 e2 80 99 ou.can....M-x.customize-group...
10efe0 20 61 6e 64 20 65 6e 74 65 72 20 e2 80 98 78 72 65 66 e2 80 99 20 74 6f 20 61 64 6a 75 73 74 20 .and.enter....xref....to.adjust.
10f000 73 6f 6d 65 20 6f 74 68 65 72 0a 73 65 74 74 69 6e 67 73 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c some.other.settings...For.exampl
10f020 65 2c 20 74 68 65 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 0a e2 80 e,.the.customization.variable...
10f040 98 78 72 65 66 2d 70 72 6f 6d 70 74 2d 66 6f 72 2d 69 64 65 6e 74 69 66 69 65 72 e2 80 99 20 63 .xref-prompt-for-identifier....c
10f060 6f 6e 74 72 6f 6c 73 20 77 68 69 63 68 20 63 6f 6d 6d 61 6e 64 73 20 70 72 6f 6d 70 74 20 79 6f ontrols.which.commands.prompt.yo
10f080 75 20 61 6e 64 0a 77 68 65 6e 2e 20 20 59 6f 75 20 6d 69 67 68 74 20 70 72 65 66 65 72 20 74 6f u.and.when...You.might.prefer.to
10f0a0 20 73 65 74 20 69 74 20 74 6f 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 49 66 20 79 6f 75 .set.it.to....nil.........If.you
10f0c0 20 75 73 65 20 e2 80 98 70 61 72 65 64 69 74 e2 80 99 2c 20 62 79 20 64 65 66 61 75 6c 74 20 69 .use....paredit...,.by.default.i
10f0e0 74 20 62 69 6e 64 73 20 e2 80 98 4d 2d 3f e2 80 99 20 74 6f 0a e2 80 98 70 61 72 65 64 69 74 2d t.binds....M-?....to....paredit-
10f100 63 6f 6e 76 6f 6c 75 74 65 2d 73 65 78 70 e2 80 99 2e 20 20 59 6f 75 20 63 61 6e 20 63 68 61 6e convolute-sexp......You.can.chan
10f120 67 65 20 74 68 61 74 20 62 69 6e 64 69 6e 67 20 69 6e 0a e2 80 98 70 61 72 65 64 69 74 2d 6d 6f ge.that.binding.in....paredit-mo
10f140 64 65 2d 6d 61 70 e2 80 99 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 67 6c 6f 62 61 6c 20 62 69 de-map....allowing.the.global.bi
10f160 6e 64 69 6e 67 20 66 6f 72 20 e2 80 98 4d 2d 3f e2 80 99 20 74 6f 20 62 65 20 75 73 65 64 2c 20 nding.for....M-?....to.be.used,.
10f180 6f 72 2c 0a 70 69 63 6b 20 73 6f 6d 65 20 6f 74 68 65 72 20 6b 65 79 20 66 6f 72 20 e2 80 98 78 or,.pick.some.other.key.for....x
10f1a0 72 65 66 2d 66 69 6e 64 2d 72 65 66 65 72 65 6e 63 65 73 e2 80 99 20 69 6e 20 74 68 65 20 67 6c ref-find-references....in.the.gl
10f1c0 6f 62 61 6c 20 6d 61 70 2e 0a 0a 20 20 20 46 69 6e 61 6c 6c 79 2c 20 77 68 61 74 20 74 6f 20 65 obal.map......Finally,.what.to.e
10f1e0 78 70 65 63 74 3a 0a 0a 20 20 20 e2 80 a2 20 52 61 63 6b 65 74 20 64 6f 65 73 20 6e 6f 74 20 68 xpect:.........Racket.does.not.h
10f200 61 76 65 20 61 20 67 6c 6f 62 61 6c 20 6f 72 20 70 72 6f 6a 65 63 74 2d 77 69 64 65 20 64 61 74 ave.a.global.or.project-wide.dat
10f220 61 62 61 73 65 20 6f 66 0a 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 72 65 abase.of......definitions.and.re
10f240 66 65 72 65 6e 63 65 73 2e 0a 20 20 20 e2 80 a2 20 56 61 72 69 6f 75 73 20 6d 6f 64 75 6c 65 73 ferences.........Various.modules
10f260 20 63 61 6e 20 65 78 70 6f 72 74 20 69 64 65 6e 74 69 66 69 65 72 73 20 77 69 74 68 20 74 68 65 .can.export.identifiers.with.the
10f280 20 73 61 6d 65 20 73 79 6d 62 6f 6c 69 63 20 76 61 6c 75 65 0a 20 20 20 20 20 e2 80 93 20 66 6f .same.symbolic.value..........fo
10f2a0 72 20 65 78 61 6d 70 6c 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 e2 80 9c 64 65 66 69 6e 65 e2 r.example.a.different....define.
10f2c0 80 9d 20 69 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 e2 80 98 72 61 63 6b 65 74 2f 62 61 73 65 ...is.provided.by....racket/base
10f2e0 e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 62 61 73 65 e2 80 ...,.........typed/racket/base..
10f300 99 2c 20 61 6e 64 20 6f 74 68 65 72 20 6d 6f 64 75 6c 65 73 2e 0a 20 20 20 e2 80 a2 20 41 20 6d .,.and.other.modules.........A.m
10f320 6f 64 75 6c 65 20 63 61 6e 20 69 6d 70 6f 72 74 20 73 6f 6d 65 74 68 69 6e 67 2c 20 74 68 65 6e odule.can.import.something,.then
10f340 20 72 65 6e 61 6d 65 2c 20 63 6f 6e 74 72 61 63 74 2c 20 61 6e 64 20 72 65 2d 65 78 70 6f 72 74 .rename,.contract,.and.re-export
10f360 0a 20 20 20 20 20 69 74 2e 0a 0a 20 20 20 41 73 20 61 20 72 65 73 75 6c 74 2c 20 74 6f 20 66 69 ......it......As.a.result,.to.fi
10f380 6e 64 20 61 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 69 74 20 69 73 20 6e 65 63 65 73 73 61 72 79 nd.a.definition,.it.is.necessary
10f3a0 20 74 6f 20 6b 6e 6f 77 20 65 78 61 63 74 6c 79 0a 5f 77 68 69 63 68 5f 20 69 64 65 6e 74 69 66 .to.know.exactly._which_.identif
10f3c0 69 65 72 20 69 73 20 6d 65 61 6e 74 20 e2 80 94 20 65 69 74 68 65 72 20 62 79 20 65 78 70 61 6e ier.is.meant.....either.by.expan
10f3e0 64 69 6e 67 20 74 68 65 20 6d 6f 64 75 6c 65 20 28 61 73 20 69 73 20 64 6f 6e 65 0a 62 79 20 e2 ding.the.module.(as.is.done.by..
10f400 80 98 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 e2 80 99 29 20 6f 72 20 62 79 20 61 63 74 75 61 ..racket-xp-mode...).or.by.actua
10f420 6c 6c 79 20 72 75 6e 6e 69 6e 67 20 69 74 20 28 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d lly.running.it.(...racket-repl-m
10f440 6f 64 65 e2 80 99 29 2e 0a 4f 6e 63 65 20 6b 6e 6f 77 6e 2c 20 77 65 20 63 61 6e 20 75 73 75 61 ode...)..Once.known,.we.can.usua
10f460 6c 6c 79 20 66 69 6e 64 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 73 69 74 65 2c 20 65 76 lly.find.the.definition.site,.ev
10f480 65 6e 20 74 68 72 6f 75 67 68 20 61 0a 63 68 61 69 6e 20 6f 66 20 72 65 6e 61 6d 69 6e 67 20 61 en.through.a.chain.of.renaming.a
10f4a0 6e 64 2f 6f 72 20 63 6f 6e 74 72 61 63 74 2d 77 72 61 70 70 69 6e 67 20 65 78 70 6f 72 74 73 2e nd/or.contract-wrapping.exports.
10f4c0 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 77 68 65 6e 0a 70 6f 69 6e 74 20 69 73 20 6f 6e 20 ..In.addition,.when.point.is.on.
10f4e0 61 20 6d 6f 64 75 6c 65 20 77 69 74 68 69 6e 20 e2 80 98 72 65 71 75 69 72 65 e2 80 99 20 66 6f a.module.within....require....fo
10f500 72 6d 2c 20 77 65 20 63 61 6e 20 75 73 75 61 6c 6c 79 20 66 69 6e 64 20 74 68 65 0a 73 6f 75 72 rm,.we.can.usually.find.the.sour
10f520 63 65 20 66 69 6c 65 2e 20 20 28 49 6e 20 70 6c 61 69 6e 20 e2 80 98 72 61 63 6b 65 74 2d 6d 6f ce.file...(In.plain....racket-mo
10f540 64 65 e2 80 99 20 65 64 69 74 20 62 75 66 66 65 72 73 20 6e 6f 74 20 65 6e 68 61 6e 63 65 64 20 de....edit.buffers.not.enhanced.
10f560 62 79 0a e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 e2 80 99 2c 20 74 68 65 20 6f 6e 6c by....racket-xp-mode...,.the.onl
10f580 79 20 74 68 69 6e 67 20 74 68 61 74 20 e2 80 98 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 y.thing.that....xref-find-defini
10f5a0 74 69 6f 6e 73 e2 80 99 20 64 6f 65 73 20 69 73 0a 76 69 73 69 74 20 72 65 6c 61 74 69 76 65 20 tions....does.is.visit.relative.
10f5c0 72 65 71 75 69 72 65 73 2c 20 65 2e 67 2e 20 20 e2 80 98 66 6f 6f 2e 72 6b 74 e2 80 99 20 69 6e requires,.e.g......foo.rkt....in
10f5e0 20 e2 80 98 28 72 65 71 75 69 72 65 20 22 66 6f 6f 2e 72 6b 74 22 29 e2 80 99 2e 29 0a 0a 20 20 ....(require."foo.rkt")....)....
10f600 20 41 73 20 66 6f 72 20 66 69 6e 64 69 6e 67 20 72 65 66 65 72 65 6e 63 65 73 2c 20 74 68 65 20 .As.for.finding.references,.the.
10f620 64 65 66 61 75 6c 74 20 78 72 65 66 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 75 default.xref.implementation.is.u
10f640 73 65 64 2c 0a 77 68 69 63 68 20 67 72 65 70 73 20 66 6f 72 20 73 74 72 69 6e 67 73 20 61 6d 6f sed,.which.greps.for.strings.amo
10f660 6e 67 20 61 20 70 72 6f 6a 65 63 74 e2 80 99 73 20 66 69 6c 65 73 2e 20 20 41 6c 74 68 6f 75 67 ng.a.project...s.files...Althoug
10f680 68 0a e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 e2 80 99 20 63 61 6e 20 73 6f 6d 65 74 h....racket-xp-mode....can.somet
10f6a0 69 6d 65 73 20 64 6f 20 62 65 74 74 65 72 2c 20 75 73 69 6e 67 20 e2 80 98 64 72 72 61 63 6b 65 imes.do.better,.using....drracke
10f6c0 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 e2 80 99 0a 66 6f 72 20 64 65 66 69 6e 69 74 69 6f 6e t/check-syntax....for.definition
10f6e0 73 20 61 6e 64 20 72 65 66 65 72 65 6e 63 65 73 20 5f 77 69 74 68 69 6e 5f 20 74 68 65 20 63 75 s.and.references._within_.the.cu
10f700 72 72 65 6e 74 20 62 75 66 66 65 72 2c 20 62 65 79 6f 6e 64 20 74 68 6f 73 65 0a 69 74 20 61 6c rrent.buffer,.beyond.those.it.al
10f720 73 6f 20 66 61 6c 6c 73 20 62 61 63 6b 20 74 6f 20 74 68 65 20 64 65 66 61 75 6c 74 20 69 6d 70 so.falls.back.to.the.default.imp
10f740 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 20 20 20 49 6e 20 61 6e 79 20 63 61 73 65 2c 20 75 73 lementation......In.any.case,.us
10f760 69 6e 67 20 74 68 65 20 45 6d 61 63 73 20 78 72 65 66 20 41 50 49 20 61 6c 6c 6f 77 73 20 66 6f ing.the.Emacs.xref.API.allows.fo
10f780 72 20 63 6f 6e 73 69 73 74 65 6e 74 20 63 6f 6d 6d 61 6e 64 0a 6e 61 6d 65 73 2c 20 73 68 6f 72 r.consistent.command.names,.shor
10f7a0 74 63 75 74 20 6b 65 79 73 2c 20 61 6e 64 20 65 76 65 6e 20 61 20 73 70 65 63 69 61 6c 20 62 75 tcut.keys,.and.even.a.special.bu
10f7c0 66 66 65 72 20 74 6f 20 6e 61 76 69 67 61 74 65 20 61 6d 6f 6e 67 0a 72 65 66 65 72 65 6e 63 65 ffer.to.navigate.among.reference
10f7e0 73 20 61 6e 64 20 76 69 73 69 74 20 65 61 63 68 20 73 6f 75 72 63 65 20 6c 6f 63 61 74 69 6f 6e s.and.visit.each.source.location
10f800 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 .....File:.doc49fz4A.info,..Node
10f820 3a 20 49 6e 64 65 6e 74 2c 20 20 4e 65 78 74 3a 20 70 61 72 65 64 69 74 2c 20 20 50 72 65 76 3a :.Indent,..Next:.paredit,..Prev:
10f840 20 58 72 65 66 20 28 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 72 65 66 65 72 65 6e 63 65 .Xref.(definitions.and.reference
10f860 73 29 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 0a 0a 33 2e 37 20 49 6e 64 65 6e 74 0a 3d s),..Up:.Configure..3.7.Indent.=
10f880 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 54 68 65 20 61 6c 74 65 72 6e =========.......Note:.The.altern
10f8a0 61 74 69 76 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 ative.major.mode.*note.racket-ha
10f8c0 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 3a 3a 0a 20 20 20 20 20 64 69 73 61 62 6c 65 73 20 61 6c 6c sh-lang-mode::......disables.all
10f8e0 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 62 65 68 61 76 69 6f 72 20 61 6e 64 20 75 .of.the.following.behavior.and.u
10f900 73 65 73 20 69 6e 64 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 64 65 74 65 72 6d 69 6e 65 64 20 ses.indentation......determined.
10f920 62 79 20 74 68 65 20 23 6c 61 6e 67 2e 0a 0a 20 20 20 49 6e 64 65 6e 74 61 74 69 6f 6e 20 63 61 by.the.#lang......Indentation.ca
10f940 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 69 6e 20 61 20 77 61 79 20 73 69 6d 69 6c 61 72 n.be.customized.in.a.way.similar
10f960 20 74 6f 20 6c 69 73 70 2d 6d 6f 64 65 20 61 6e 64 0a 73 63 68 65 6d 65 2d 6d 6f 64 65 3a 20 2a .to.lisp-mode.and.scheme-mode:.*
10f980 6e 6f 74 65 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 3a 3a 2e 0a 0a 20 20 20 28 note.racket-indent-line::......(
10f9a0 49 6e 64 65 6e 74 61 74 69 6f 6e 20 70 72 65 73 65 72 76 65 73 20 79 6f 75 72 20 6c 69 6e 65 20 Indentation.preserves.your.line.
10f9c0 62 72 65 61 6b 73 2e 20 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 20 61 6e 0a 61 breaks...If.you.want.to.use.an.a
10f9e0 75 74 6f 2d 72 65 66 6f 72 6d 61 74 74 65 72 20 e2 80 94 20 61 6e 20 65 78 70 72 65 73 73 69 76 uto-reformatter.....an.expressiv
10fa00 65 20 70 72 65 74 74 79 20 70 72 69 6e 74 65 72 20 74 68 61 74 20 63 68 6f 6f 73 65 73 20 6c 69 e.pretty.printer.that.chooses.li
10fa20 6e 65 20 62 72 65 61 6b 73 0a 77 68 69 6c 65 20 63 6f 6d 70 75 74 69 6e 67 20 61 6e 20 6f 70 74 ne.breaks.while.computing.an.opt
10fa40 69 6d 61 6c 20 6c 61 79 6f 75 74 20 e2 80 94 20 74 68 65 20 52 61 63 6b 65 74 20 70 61 63 6b 61 imal.layout.....the.Racket.packa
10fa60 67 65 20 66 6d 74 0a 28 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 ge.fmt.(https://docs.racket-lang
10fa80 2e 6f 72 67 2f 66 6d 74 2f 29 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 45 .org/fmt/).is.supported.by.the.E
10faa0 6d 61 63 73 20 70 61 63 6b 61 67 65 0a 65 6d 61 63 73 2d 66 6f 72 6d 61 74 2d 61 6c 6c 2d 74 68 macs.package.emacs-format-all-th
10fac0 65 2d 63 6f 64 65 0a 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6c 61 73 73 69 e-code.(https://github.com/lassi
10fae0 6b 2f 65 6d 61 63 73 2d 66 6f 72 6d 61 74 2d 61 6c 6c 2d 74 68 65 2d 63 6f 64 65 29 2e 29 0a 0a k/emacs-format-all-the-code).)..
10fb00 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 70 ..File:.doc49fz4A.info,..Node:.p
10fb20 61 72 65 64 69 74 2c 20 20 4e 65 78 74 3a 20 73 6d 61 72 74 70 61 72 65 6e 73 2c 20 20 50 72 65 aredit,..Next:.smartparens,..Pre
10fb40 76 3a 20 49 6e 64 65 6e 74 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 0a 0a 33 2e 38 20 70 v:.Indent,..Up:.Configure..3.8.p
10fb60 61 72 65 64 69 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 49 aredit.===========.......Note:.I
10fb80 66 20 79 6f 75 20 75 73 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 f.you.use.*note.racket-hash-lang
10fba0 2d 6d 6f 64 65 3a 3a 2c 20 73 65 65 20 2a 6e 6f 74 65 0a 20 20 20 20 20 72 61 63 6b 65 74 2d 68 -mode::,.see.*note......racket-h
10fbc0 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 3a 3a 20 ash-lang-module-language-hook::.
10fbe0 66 6f 72 20 68 6f 77 20 74 6f 20 65 6e 61 62 6c 65 2f 64 69 73 61 62 6c 65 0a 20 20 20 20 20 70 for.how.to.enable/disable......p
10fc00 61 72 65 64 69 74 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 73 70 65 63 69 66 69 63 20 23 6c 61 aredit.based.on.the.specific.#la
10fc20 6e 67 2e 0a 0a 20 20 20 49 66 20 79 6f 75 20 75 73 65 20 70 61 72 65 64 69 74 20 28 68 74 74 70 ng......If.you.use.paredit.(http
10fc40 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 70 61 72 65 64 69 74 29 2c 20 79 6f 75 20 6d 69 s://melpa.org/#/paredit),.you.mi
10fc60 67 68 74 20 77 61 6e 74 20 74 6f 0a 61 64 64 20 6b 65 79 62 69 6e 64 69 6e 67 73 20 74 6f 20 e2 ght.want.to.add.keybindings.to..
10fc80 80 98 70 61 72 65 64 69 74 2d 6d 6f 64 65 2d 6d 61 70 e2 80 99 3a 0a 0a 20 20 20 e2 80 a2 20 42 ..paredit-mode-map...:.........B
10fca0 69 6e 64 20 74 68 65 20 63 75 72 6c 79 20 62 72 61 63 65 20 6b 65 79 73 20 74 6f 20 e2 80 98 70 ind.the.curly.brace.keys.to....p
10fcc0 61 72 65 64 69 74 2d 6f 70 65 6e 2d 63 75 72 6c 79 e2 80 99 20 61 6e 64 0a 20 20 20 20 20 e2 80 aredit-open-curly....and........
10fce0 98 70 61 72 65 64 69 74 2d 63 6c 6f 73 65 2d 63 75 72 6c 79 e2 80 99 2e 0a 0a 20 20 20 e2 80 a2 .paredit-close-curly............
10fd00 20 42 69 6e 64 20 77 68 61 74 65 76 65 72 20 6b 65 79 73 20 79 6f 75 20 70 72 65 66 65 72 20 66 .Bind.whatever.keys.you.prefer.f
10fd20 6f 72 20 e2 80 98 70 61 72 65 64 69 74 2d 77 72 61 70 2d 73 71 75 61 72 65 e2 80 99 20 61 6e 64 or....paredit-wrap-square....and
10fd40 0a 20 20 20 20 20 e2 80 98 70 61 72 65 64 69 74 2d 77 72 61 70 2d 63 75 72 6c 79 e2 80 99 2e 0a .........paredit-wrap-curly.....
10fd60 0a 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 77 69 74 68 20 e2 80 98 75 73 65 2d 70 61 63 ....For.example,.with....use-pac
10fd80 6b 61 67 65 e2 80 99 20 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 75 73 65 kage....(https://melpa.org/#/use
10fda0 2d 70 61 63 6b 61 67 65 29 3a 0a 0a 20 20 20 20 20 28 75 73 65 2d 70 61 63 6b 61 67 65 20 70 61 -package):.......(use-package.pa
10fdc0 72 65 64 69 74 0a 20 20 20 20 20 20 20 3a 65 6e 73 75 72 65 20 74 0a 20 20 20 20 20 20 20 3a 63 redit........:ensure.t........:c
10fde0 6f 6e 66 69 67 0a 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6d 20 27 28 65 6d 61 63 73 2d onfig........(dolist.(m.'(emacs-
10fe00 6c 69 73 70 2d 6d 6f 64 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lisp-mode-hook..................
10fe20 20 20 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...racket-mode-hook.............
10fe40 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 29 29 0a ........racket-repl-mode-hook)).
10fe60 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 6d 20 23 27 70 61 72 65 64 69 74 2d 6d .........(add-hook.m.#'paredit-m
10fe80 6f 64 65 29 29 0a 20 20 20 20 20 20 20 28 62 69 6e 64 2d 6b 65 79 73 20 3a 6d 61 70 20 70 61 72 ode))........(bind-keys.:map.par
10fea0 65 64 69 74 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 edit-mode-map...................
10fec0 28 22 7b 22 20 20 20 2e 20 70 61 72 65 64 69 74 2d 6f 70 65 6e 2d 63 75 72 6c 79 29 0a 20 20 20 ("{".....paredit-open-curly)....
10fee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 7d 22 20 20 20 2e 20 70 61 72 65 64 69 74 2d ...............("}".....paredit-
10ff00 63 6c 6f 73 65 2d 63 75 72 6c 79 29 29 0a 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 74 65 72 close-curly))........(unless.ter
10ff20 6d 69 6e 61 6c 2d 66 72 61 6d 65 0a 20 20 20 20 20 20 20 20 20 28 62 69 6e 64 2d 6b 65 79 73 20 minal-frame..........(bind-keys.
10ff40 3a 6d 61 70 20 70 61 72 65 64 69 74 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 :map.paredit-mode-map...........
10ff60 20 20 20 20 20 20 20 20 20 20 28 22 4d 2d 5b 22 20 2e 20 70 61 72 65 64 69 74 2d 77 72 61 70 2d ..........("M-["...paredit-wrap-
10ff80 73 71 75 61 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 4d 2d square).....................("M-
10ffa0 7b 22 20 2e 20 70 61 72 65 64 69 74 2d 77 72 61 70 2d 63 75 72 6c 79 29 29 29 29 0a 0a 20 20 20 {"...paredit-wrap-curly)))).....
10ffc0 53 74 61 72 74 69 6e 67 20 63 2e 20 20 4e 6f 76 65 6d 62 65 72 20 32 30 32 32 2c 20 70 61 72 65 Starting.c...November.2022,.pare
10ffe0 64 69 74 20 62 69 6e 64 73 20 74 68 65 20 e2 80 98 52 45 54 e2 80 99 20 6b 65 79 20 74 6f 20 69 dit.binds.the....RET....key.to.i
110000 74 73 20 6f 77 6e 0a 63 6f 6d 6d 61 6e 64 2e 20 20 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20 74 ts.own.command...Unfortunately.t
110020 68 69 73 20 69 73 20 5f 6e 6f 74 5f 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 69 6e 74 his.is._not_.compatible.with.int
110040 65 72 61 63 74 69 76 65 20 6d 6f 64 65 73 0a e2 80 94 20 69 6e 63 6c 75 64 69 6e 67 20 62 75 74 eractive.modes.....including.but
110060 20 6e 6f 74 20 6c 69 6d 69 74 65 64 20 74 6f 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d .not.limited.to....racket-repl-m
110080 6f 64 65 e2 80 99 20 e2 80 94 20 77 68 69 63 68 20 65 78 70 65 63 74 20 e2 80 98 52 45 54 e2 80 ode........which.expect....RET..
1100a0 99 0a 74 6f 20 62 65 20 62 6f 75 6e 64 20 74 6f 20 61 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 73 75 ..to.be.bound.to.a.command.to.su
1100c0 62 6d 69 74 20 79 6f 75 72 20 69 6e 70 75 74 20 74 6f 20 74 68 65 20 52 45 50 4c 2e 20 20 49 6e bmit.your.input.to.the.REPL...In
1100e0 20 6f 74 68 65 72 0a 77 6f 72 64 73 2c 20 69 66 20 79 6f 75 20 74 79 70 65 20 61 6e 20 65 78 70 .other.words,.if.you.type.an.exp
110100 72 65 73 73 69 6f 6e 20 61 6e 64 20 68 69 74 20 e2 80 98 52 45 54 e2 80 99 20 2c 20 6e 6f 74 68 ression.and.hit....RET....,.noth
110120 69 6e 67 20 77 69 6c 6c 20 68 61 70 70 65 6e 20 61 6e 64 0a 74 68 65 20 52 45 50 4c 20 77 69 6c ing.will.happen.and.the.REPL.wil
110140 6c 20 73 65 65 6d 20 66 72 6f 7a 65 6e 2e 20 20 59 6f 75 20 e2 80 98 4d 2d 78 20 72 61 63 6b 65 l.seem.frozen...You....M-x.racke
110160 74 2d 72 65 70 6c 2d 73 75 62 6d 69 74 e2 80 99 20 74 6f 20 70 72 6f 63 65 65 64 2e 0a 0a 20 20 t-repl-submit....to.proceed.....
110180 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 20 70 61 72 65 64 69 74 20 77 69 74 68 .If.you.want.to.use.paredit.with
1101a0 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 73 2c 20 74 68 65 69 72 20 61 64 76 69 63 65 .interactive.modes,.their.advice
1101c0 20 69 73 20 74 6f 0a 72 65 6d 6f 76 65 20 74 68 65 20 62 69 6e 64 69 6e 67 20 66 72 6f 6d 20 e2 .is.to.remove.the.binding.from..
1101e0 80 98 70 61 72 65 64 69 74 2d 6d 6f 64 65 2d 6d 61 70 e2 80 99 20 28 6e 6f 74 65 20 74 68 61 74 ..paredit-mode-map....(note.that
110200 20 74 68 69 73 20 77 69 6c 6c 20 61 6c 73 6f 0a 64 69 73 61 62 6c 65 20 69 74 20 66 6f 72 20 61 .this.will.also.disable.it.for.a
110220 6c 6c 20 62 75 66 66 65 72 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 65 64 69 74 69 6e 67 20 62 75 ll.buffers,.including.editing.bu
110240 66 66 65 72 73 29 2e 20 20 4f 6e 65 20 77 61 79 20 79 6f 75 20 63 61 6e 0a 64 6f 20 74 68 69 73 ffers)...One.way.you.can.do.this
110260 20 66 6f 72 20 61 6c 6c 20 72 65 6c 61 74 65 64 20 6b 65 79 73 3a 0a 0a 20 20 20 20 20 28 64 6f .for.all.related.keys:.......(do
110280 6c 69 73 74 20 28 6b 20 27 28 22 52 45 54 22 20 22 43 2d 6d 22 20 22 43 2d 6a 22 29 29 0a 20 20 list.(k.'("RET"."C-m"."C-j"))...
1102a0 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 70 61 72 65 64 69 74 2d 6d 6f 64 65 2d 6d 61 .....(define-key.paredit-mode-ma
1102c0 70 20 28 6b 62 64 20 6b 29 20 6e 69 6c 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a p.(kbd.k).nil))....File:.doc49fz
1102e0 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 73 6d 61 72 74 70 61 72 65 6e 73 2c 20 20 4e 65 4A.info,..Node:.smartparens,..Ne
110300 78 74 3a 20 41 70 70 65 61 72 61 6e 63 65 20 6f 66 20 70 61 72 65 6e 74 68 65 73 65 73 2c 20 20 xt:.Appearance.of.parentheses,..
110320 50 72 65 76 3a 20 70 61 72 65 64 69 74 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 0a 0a 33 Prev:.paredit,..Up:.Configure..3
110340 2e 39 20 73 6d 61 72 74 70 61 72 65 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a .9.smartparens.===============..
110360 20 20 20 20 20 4e 6f 74 65 3a 20 49 66 20 79 6f 75 20 75 73 65 20 2a 6e 6f 74 65 20 72 61 63 6b .....Note:.If.you.use.*note.rack
110380 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 3a 3a 2c 20 73 65 65 20 2a 6e 6f 74 65 0a 20 et-hash-lang-mode::,.see.*note..
1103a0 20 20 20 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 ....racket-hash-lang-module-lang
1103c0 75 61 67 65 2d 68 6f 6f 6b 3a 3a 20 66 6f 72 20 68 6f 77 20 74 6f 20 65 6e 61 62 6c 65 2f 64 69 uage-hook::.for.how.to.enable/di
1103e0 73 61 62 6c 65 0a 20 20 20 20 20 73 6d 61 72 74 70 61 72 65 6e 73 20 62 61 73 65 64 20 6f 6e 20 sable......smartparens.based.on.
110400 74 68 65 20 73 70 65 63 69 66 69 63 20 23 6c 61 6e 67 2e 0a 0a 20 20 20 49 66 20 69 6e 73 74 65 the.specific.#lang......If.inste
110420 61 64 20 6f 66 20 70 61 72 65 64 69 74 20 79 6f 75 20 70 72 65 66 65 72 20 73 6d 61 72 74 70 61 ad.of.paredit.you.prefer.smartpa
110440 72 65 6e 73 0a 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 73 6d 61 72 74 70 rens.(https://melpa.org/#/smartp
110460 61 72 65 6e 73 29 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 arens),.you.can.use.the.default.
110480 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a 69 74 20 70 72 6f 76 69 64 65 73 20 66 6f 72 20 4c 69 configuration.it.provides.for.Li
1104a0 73 70 20 6d 6f 64 65 73 20 67 65 6e 65 72 61 6c 6c 79 20 61 6e 64 20 66 6f 72 20 52 61 63 6b 65 sp.modes.generally.and.for.Racke
1104c0 74 20 4d 6f 64 65 20 73 70 65 63 69 66 69 63 61 6c 6c 79 3a 0a 0a 20 20 20 20 20 28 72 65 71 75 t.Mode.specifically:.......(requ
1104e0 69 72 65 20 27 73 6d 61 72 74 70 61 72 65 6e 73 2d 63 6f 6e 66 69 67 29 0a 0a 1f 0a 46 69 6c 65 ire.'smartparens-config)....File
110500 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 41 70 70 65 61 72 61 :.doc49fz4A.info,..Node:.Appeara
110520 6e 63 65 20 6f 66 20 70 61 72 65 6e 74 68 65 73 65 73 2c 20 20 4e 65 78 74 3a 20 45 64 69 74 20 nce.of.parentheses,..Next:.Edit.
110540 62 75 66 66 65 72 73 20 61 6e 64 20 52 45 50 4c 20 62 75 66 66 65 72 73 2c 20 20 50 72 65 76 3a buffers.and.REPL.buffers,..Prev:
110560 20 73 6d 61 72 74 70 61 72 65 6e 73 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 0a 0a 33 2e .smartparens,..Up:.Configure..3.
110580 31 30 20 41 70 70 65 61 72 61 6e 63 65 20 6f 66 20 70 61 72 65 6e 74 68 65 73 65 73 0a 3d 3d 3d 10.Appearance.of.parentheses.===
1105a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 49 66 20 ===========================..If.
1105c0 79 6f 75 20 70 72 65 66 65 72 20 70 61 72 65 6e 74 68 65 73 65 73 20 74 6f 20 61 70 70 65 61 72 you.prefer.parentheses.to.appear
1105e0 20 e2 80 9c 64 69 6d 6d 65 64 e2 80 9d 2c 20 73 65 65 20 70 61 72 65 6e 2d 66 61 63 65 0a 28 68 ....dimmed...,.see.paren-face.(h
110600 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 70 61 72 65 6e 2d 66 61 63 65 29 2e 0a ttps://melpa.org/#/paren-face)..
110620 0a 20 20 20 49 66 20 79 6f 75 20 70 72 65 66 65 72 20 74 68 65 20 6f 70 70 6f 73 69 74 65 2c 20 ....If.you.prefer.the.opposite,.
110640 73 65 65 20 72 61 69 6e 62 6f 77 2d 64 65 6c 69 6d 69 74 65 72 73 0a 28 68 74 74 70 73 3a 2f 2f see.rainbow-delimiters.(https://
110660 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 72 61 69 6e 62 6f 77 2d 64 65 6c 69 6d 69 74 65 72 73 29 2e melpa.org/#/rainbow-delimiters).
110680 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a ....File:.doc49fz4A.info,..Node:
1106a0 20 45 64 69 74 20 62 75 66 66 65 72 73 20 61 6e 64 20 52 45 50 4c 20 62 75 66 66 65 72 73 2c 20 .Edit.buffers.and.REPL.buffers,.
1106c0 20 4e 65 78 74 3a 20 65 6c 64 6f 63 2c 20 20 50 72 65 76 3a 20 41 70 70 65 61 72 61 6e 63 65 20 .Next:.eldoc,..Prev:.Appearance.
1106e0 6f 66 20 70 61 72 65 6e 74 68 65 73 65 73 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 0a 0a of.parentheses,..Up:.Configure..
110700 33 2e 31 31 20 45 64 69 74 20 62 75 66 66 65 72 73 20 61 6e 64 20 52 45 50 4c 20 62 75 66 66 65 3.11.Edit.buffers.and.REPL.buffe
110720 72 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d rs.=============================
110740 3d 3d 3d 3d 3d 0a 0a 42 79 20 64 65 66 61 75 6c 74 2c 20 61 6c 6c 20 e2 80 98 72 61 63 6b 65 74 =====..By.default,.all....racket
110760 2d 6d 6f 64 65 e2 80 99 20 65 64 69 74 20 62 75 66 66 65 72 73 20 73 68 61 72 65 20 6f 6e 65 20 -mode....edit.buffers.share.one.
110780 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 e2 80 99 0a 62 75 66 66 65 72 2c 20 6e ...racket-repl-mode....buffer,.n
1107a0 61 6d 65 64 20 e2 80 98 2a 52 61 63 6b 65 74 20 52 45 50 4c 2a e2 80 99 2e 20 20 46 6f 72 20 65 amed....*Racket.REPL*......For.e
1107c0 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 72 75 6e 20 66 6f 6f 2e 72 6b 74 2c 20 74 68 65 0a xample,.if.you.run.foo.rkt,.the.
1107e0 52 45 50 4c 20 70 72 6f 6d 70 74 20 63 68 61 6e 67 65 73 20 74 6f 20 e2 80 98 66 6f 6f 2e 72 6b REPL.prompt.changes.to....foo.rk
110800 74 3e e2 80 99 2c 20 61 6e 64 20 74 68 65 20 52 45 50 4c 20 69 73 20 69 6e 73 69 64 65 20 74 68 t>...,.and.the.REPL.is.inside.th
110820 65 20 66 69 6c 65 0a 6d 6f 64 75 6c 65 20 6e 61 6d 65 73 70 61 63 65 2e 20 20 49 66 20 79 6f 75 e.file.module.namespace...If.you
110840 20 74 68 65 6e 20 72 75 6e 20 62 61 72 2e 72 6b 74 2c 20 74 68 65 20 52 45 50 4c 20 70 72 6f 6d .then.run.bar.rkt,.the.REPL.prom
110860 70 74 20 63 68 61 6e 67 65 73 20 74 6f 0a e2 80 98 62 61 72 2e 72 6b 74 3e e2 80 99 2c 20 61 6e pt.changes.to....bar.rkt>...,.an
110880 64 20 79 6f 75 20 61 72 65 20 69 6e 20 74 68 61 74 20 6e 61 6d 65 73 70 61 63 65 2e 0a 0a 20 20 d.you.are.in.that.namespace.....
1108a0 20 49 66 20 79 6f 75 20 70 72 65 66 65 72 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 6d 6f 72 65 .If.you.prefer,.you.can.use.more
1108c0 20 74 68 61 6e 20 6f 6e 65 20 52 45 50 4c 20 62 75 66 66 65 72 2c 20 62 79 20 63 75 73 74 6f 6d .than.one.REPL.buffer,.by.custom
1108e0 69 7a 69 6e 67 0a 74 68 65 20 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d izing.the.variable.*note.racket-
110900 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 3a 3a 3a 0a 0a 20 20 repl-buffer-name-function:::....
110920 20 e2 80 a2 20 53 68 61 72 65 20 61 20 52 45 50 4c 20 62 75 66 66 65 72 20 61 6d 6f 6e 67 20 66 .....Share.a.REPL.buffer.among.f
110940 69 6c 65 73 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 74 68 65 20 73 61 6d 65 20 70 72 6f 6a 65 iles.belonging.to.the.same.proje
110960 63 74 3b 20 65 61 63 68 0a 20 20 20 20 20 52 45 50 4c 20 62 75 66 66 65 72 20 69 73 20 6e 61 6d ct;.each......REPL.buffer.is.nam
110980 65 64 20 e2 80 98 2a 52 61 63 6b 65 74 20 52 45 50 4c 20 3c 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 ed....*Racket.REPL.<project-name
1109a0 3e 2a e2 80 99 2e 0a 20 20 20 e2 80 a2 20 41 20 75 6e 69 71 75 65 20 52 45 50 4c 20 62 75 66 66 >*............A.unique.REPL.buff
1109c0 65 72 20 66 6f 72 20 65 61 63 68 20 65 64 69 74 20 62 75 66 66 65 72 2c 20 73 69 6d 69 6c 61 72 er.for.each.edit.buffer,.similar
1109e0 20 74 6f 20 44 72 20 52 61 63 6b 65 74 3b 0a 20 20 20 20 20 65 61 63 68 20 52 45 50 4c 20 62 75 .to.Dr.Racket;......each.REPL.bu
110a00 66 66 65 72 20 69 73 20 6e 61 6d 65 64 20 e2 80 98 2a 52 61 63 6b 65 74 20 52 45 50 4c 20 3c 66 ffer.is.named....*Racket.REPL.<f
110a20 69 6c 65 2e 72 6b 74 3e 2a e2 80 99 2e 0a 20 20 20 e2 80 a2 20 59 6f 75 20 63 61 6e 20 61 6c 73 ile.rkt>*............You.can.als
110a40 6f 20 64 65 66 69 6e 65 20 79 6f 75 72 20 6f 77 6e 2c 20 63 75 73 74 6f 6d 20 66 75 6e 63 74 69 o.define.your.own,.custom.functi
110a60 6f 6e 2e 0a 0a 20 20 20 59 6f 75 20 63 61 6e 20 63 75 73 74 6f 6d 69 7a 65 20 77 68 65 72 65 20 on......You.can.customize.where.
110a80 74 68 65 20 52 45 50 4c 20 62 75 66 66 65 72 20 69 73 20 64 69 73 70 6c 61 79 65 64 20 62 79 20 the.REPL.buffer.is.displayed.by.
110aa0 61 64 64 69 6e 67 20 61 6e 0a 69 74 65 6d 20 74 6f 20 74 68 65 20 45 6d 61 63 73 20 76 61 72 69 adding.an.item.to.the.Emacs.vari
110ac0 61 62 6c 65 20 e2 80 98 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 2d 61 6c 69 73 74 e2 80 99 2e able....display-buffer-alist....
110ae0 20 20 41 20 67 6f 6f 64 20 72 65 67 75 6c 61 72 0a 65 78 70 72 65 73 73 69 6f 6e 20 74 6f 20 75 ..A.good.regular.expression.to.u
110b00 73 65 20 66 6f 72 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 20 e2 80 98 5c 5c 60 5c 5c 2a 52 61 se.for.this.would.be....\\`\\*Ra
110b20 63 6b 65 74 20 52 45 50 4c e2 80 99 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 69 66 20 79 cket.REPL......For.example,.if.y
110b40 6f 75 20 77 61 6e 74 65 64 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 52 45 50 4c 20 62 75 66 66 65 ou.wanted.to.make.the.REPL.buffe
110b60 72 20 61 70 70 65 61 72 20 69 6e 20 61 20 6e 65 77 20 66 72 61 6d 65 3a 0a 0a 20 20 20 20 20 28 r.appear.in.a.new.frame:.......(
110b80 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 2d 61 6c 69 73 add-to-list.'display-buffer-alis
110ba0 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 22 5c 5c 60 5c 5c 2a 52 61 63 t...................'("\\`\\*Rac
110bc0 6b 65 74 20 52 45 50 4c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 ket.REPL".....................(d
110be0 69 73 70 6c 61 79 2d 62 75 66 66 65 72 2d 72 65 75 73 65 2d 77 69 6e 64 6f 77 0a 20 20 20 20 20 isplay-buffer-reuse-window......
110c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 2d 70 ................display-buffer-p
110c20 6f 70 2d 75 70 2d 66 72 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 op-up-frame)....................
110c40 20 28 72 65 75 73 61 62 6c 65 2d 66 72 61 6d 65 73 20 2e 20 30 29 0a 20 20 20 20 20 20 20 20 20 .(reusable-frames...0)..........
110c60 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 73 61 6d 65 2d 77 69 6e 64 6f 77 20 ...........(inhibit-same-window.
110c80 2e 20 74 29 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 ..t)))....File:.doc49fz4A.info,.
110ca0 20 4e 6f 64 65 3a 20 65 6c 64 6f 63 2c 20 20 4e 65 78 74 3a 20 53 74 61 72 74 20 66 61 73 74 65 .Node:.eldoc,..Next:.Start.faste
110cc0 72 2c 20 20 50 72 65 76 3a 20 45 64 69 74 20 62 75 66 66 65 72 73 20 61 6e 64 20 52 45 50 4c 20 r,..Prev:.Edit.buffers.and.REPL.
110ce0 62 75 66 66 65 72 73 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 0a 0a 33 2e 31 32 20 65 6c buffers,..Up:.Configure..3.12.el
110d00 64 6f 63 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 42 79 20 64 65 66 61 75 6c 74 20 52 61 63 6b 65 doc.==========..By.default.Racke
110d20 74 20 4d 6f 64 65 20 73 65 74 73 20 e2 80 98 65 6c 64 6f 63 2d 64 6f 63 75 6d 65 6e 74 61 74 69 t.Mode.sets....eldoc-documentati
110d40 6f 6e 2d 66 75 6e 63 74 69 6f 6e e2 80 99 20 74 6f 20 e2 80 98 6e 69 6c e2 80 99 20 e2 80 94 20 on-function....to....nil........
110d60 6e 6f 0a e2 80 98 65 6c 64 6f 63 2d 6d 6f 64 65 e2 80 99 20 73 75 70 70 6f 72 74 2e 20 20 59 6f no....eldoc-mode....support...Yo
110d80 75 20 6d 61 79 20 73 65 74 20 69 74 20 74 6f 20 e2 80 98 72 61 63 6b 65 74 2d 65 6c 64 6f 63 2d u.may.set.it.to....racket-eldoc-
110da0 66 75 6e 63 74 69 6f 6e e2 80 99 20 69 6e 20 61 0a e2 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 2d function....in.a....racket-mode-
110dc0 68 6f 6f 6b e2 80 99 20 61 6e 64 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d hook....and....racket-repl-mode-
110de0 68 6f 6f 6b e2 80 99 20 69 66 20 79 6f 75 20 72 65 61 6c 6c 79 20 77 61 6e 74 20 74 6f 20 75 73 hook....if.you.really.want.to.us
110e00 65 0a e2 80 98 65 6c 64 6f 63 2d 6d 6f 64 65 e2 80 99 20 77 69 74 68 20 52 61 63 6b 65 74 2e 20 e....eldoc-mode....with.Racket..
110e20 20 42 75 74 20 69 74 20 69 73 20 6e 6f 74 20 61 20 76 65 72 79 20 73 61 74 69 73 66 79 69 6e 67 .But.it.is.not.a.very.satisfying
110e40 20 65 78 70 65 72 69 65 6e 63 65 0a 62 65 63 61 75 73 65 20 52 61 63 6b 65 74 20 69 73 20 6e 6f .experience.because.Racket.is.no
110e60 74 20 61 20 76 65 72 79 20 e2 80 9c 65 6c 64 6f 63 2d 66 72 69 65 6e 64 6c 79 e2 80 9d 20 6c 61 t.a.very....eldoc-friendly....la
110e80 6e 67 75 61 67 65 2e 20 20 41 6c 74 68 6f 75 67 68 20 52 61 63 6b 65 74 0a 4d 6f 64 65 20 61 74 nguage...Although.Racket.Mode.at
110ea0 74 65 6d 70 74 73 20 74 6f 20 64 69 73 63 6f 76 65 72 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 tempts.to.discover.argument.list
110ec0 73 2c 20 63 6f 6e 74 72 61 63 74 73 2c 20 6f 72 20 74 79 70 65 73 20 74 68 69 73 0a 64 6f 65 73 s,.contracts,.or.types.this.does
110ee0 6e e2 80 99 74 20 77 6f 72 6b 20 69 6e 20 6d 61 6e 79 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 73 3a n...t.work.in.many.common.cases:
110f00 0a 0a 20 20 20 e2 80 a2 20 4d 61 6e 79 20 52 61 63 6b 65 74 20 70 72 69 6d 69 74 69 76 65 73 20 .........Many.Racket.primitives.
110f20 61 72 65 20 64 65 66 69 6e 65 64 20 69 6e 20 e2 80 98 23 25 6b 65 72 6e 65 6c e2 80 99 20 6f 72 are.defined.in....#%kernel....or
110f40 20 e2 80 98 23 25 72 75 6e 74 69 6d 65 e2 80 99 2e 0a 20 20 20 20 20 54 68 65 72 65 e2 80 99 73 ....#%runtime..........There...s
110f60 20 6e 6f 20 65 61 73 79 20 77 61 79 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 69 72 20 .no.easy.way.to.determine.their.
110f80 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 73 2e 20 20 4d 6f 73 74 20 64 6f 20 6e 6f 74 0a 20 20 20 argument.lists...Most.do.not....
110fa0 20 20 e2 80 98 70 72 6f 76 69 64 65 e2 80 99 20 61 20 63 6f 6e 74 72 61 63 74 2e 0a 0a 20 20 20 .....provide....a.contract......
110fc0 e2 80 a2 20 4d 61 6e 79 20 6f 66 20 74 68 65 20 69 6e 74 65 72 65 73 74 69 6e 67 20 52 61 63 6b ....Many.of.the.interesting.Rack
110fe0 65 74 20 66 6f 72 6d 73 20 61 72 65 20 73 79 6e 74 61 78 20 28 6d 61 63 72 6f 73 29 20 6e 6f 74 et.forms.are.syntax.(macros).not
111000 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 54 68 65 72 65 e2 80 99 73 20 6e 6f 20 65 ......functions...There...s.no.e
111020 61 73 79 20 77 61 79 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 69 72 20 e2 80 9c 61 72 asy.way.to.determine.their....ar
111040 67 75 6d 65 6e 74 0a 20 20 20 20 20 6c 69 73 74 73 e2 80 9d 2e 0a 0a 20 20 20 e2 80 a2 20 57 68 gument......lists.............Wh
111060 65 6e 20 61 20 66 6f 72 6d 20 68 61 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 52 61 63 en.a.form.has.documentation,.Rac
111080 6b 65 74 20 4d 6f 64 65 20 63 61 6e 20 73 68 6f 77 20 74 68 65 20 5c e2 80 9c 62 6c 75 65 62 6f ket.Mode.can.show.the.\...bluebo
1110a0 78 5c e2 80 9d 0a 20 20 20 20 20 e2 80 93 20 62 75 74 20 6f 66 74 65 6e 20 74 68 61 74 20 64 6f x\.............but.often.that.do
1110c0 65 73 20 6e 6f 74 20 66 69 74 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 6c 69 6e 65 20 61 73 20 79 es.not.fit.in.a.single.line.as.y
1110e0 6f 75 20 77 6f 75 6c 64 0a 20 20 20 20 20 6e 6f 72 6d 61 6c 6c 79 20 65 78 70 65 63 74 20 77 69 ou.would......normally.expect.wi
111100 74 68 20 65 6c 64 6f 63 2e 0a 0a 20 20 20 41 20 6d 6f 72 65 20 73 61 74 69 73 66 79 69 6e 67 20 th.eldoc......A.more.satisfying.
111120 65 78 70 65 72 69 65 6e 63 65 20 69 73 20 74 6f 20 75 73 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 experience.is.to.use.*note.racke
111140 74 2d 78 70 2d 64 65 73 63 72 69 62 65 3a 3a 20 6f 72 0a 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d t-xp-describe::.or.*note.racket-
111160 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 xp-documentation::.....File:.doc
111180 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 74 61 72 74 20 66 61 73 74 65 72 49fz4A.info,..Node:.Start.faster
1111a0 2c 20 20 4e 65 78 74 3a 20 55 6e 69 63 6f 64 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 2c 20 20 ,..Next:.Unicode.input.method,..
1111c0 50 72 65 76 3a 20 65 6c 64 6f 63 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 0a 0a 33 2e 31 Prev:.eldoc,..Up:.Configure..3.1
1111e0 33 20 53 74 61 72 74 20 66 61 73 74 65 72 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3.Start.faster.=================
111200 0a 0a 59 6f 75 20 63 61 6e 20 75 73 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d ..You.can.use.*note.racket-mode-
111220 73 74 61 72 74 2d 66 61 73 74 65 72 3a 3a 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 52 61 63 6b 65 start-faster::.to.make.the.Racke
111240 74 20 52 45 50 4c 0a 73 74 61 72 74 20 66 61 73 74 65 72 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f t.REPL.start.faster.....File:.do
111260 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 55 6e 69 63 6f 64 65 20 69 6e 70 c49fz4A.info,..Node:.Unicode.inp
111280 75 74 20 6d 65 74 68 6f 64 2c 20 20 4e 65 78 74 3a 20 4c 69 67 61 74 75 72 65 73 2c 20 20 50 72 ut.method,..Next:.Ligatures,..Pr
1112a0 65 76 3a 20 53 74 61 72 74 20 66 61 73 74 65 72 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 ev:.Start.faster,..Up:.Configure
1112c0 0a 0a 33 2e 31 34 20 55 6e 69 63 6f 64 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 0a 3d 3d 3d 3d ..3.14.Unicode.input.method.====
1112e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 41 6e 20 6f 70 74 69 6f 6e =====================..An.option
111300 61 6c 20 45 6d 61 63 73 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 2c 20 e2 80 98 72 61 63 6b 65 74 al.Emacs.input.method,....racket
111320 2d 75 6e 69 63 6f 64 65 e2 80 99 2c 20 6c 65 74 73 20 79 6f 75 20 65 61 73 69 6c 79 20 74 79 70 -unicode...,.lets.you.easily.typ
111340 65 0a 76 61 72 69 6f 75 73 20 55 6e 69 63 6f 64 65 20 73 79 6d 62 6f 6c 73 20 74 68 61 74 20 6d e.various.Unicode.symbols.that.m
111360 69 67 68 74 20 62 65 20 75 73 65 66 75 6c 20 77 68 65 6e 20 77 72 69 74 69 6e 67 20 52 61 63 6b ight.be.useful.when.writing.Rack
111380 65 74 20 63 6f 64 65 2e 0a 0a 20 20 20 54 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 6e et.code......To.automatically.en
1113a0 61 62 6c 65 20 74 68 65 20 e2 80 98 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 e2 80 99 20 69 6e able.the....racket-unicode....in
1113c0 70 75 74 20 6d 65 74 68 6f 64 20 69 6e 0a e2 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 e2 80 99 20 put.method.in....racket-mode....
1113e0 61 6e 64 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 e2 80 99 20 62 75 66 66 65 and....racket-repl-mode....buffe
111400 72 73 2c 20 70 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 69 6e 0a 79 6f rs,.put.the.following.code.in.yo
111420 75 72 20 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 3a 0a 0a 20 20 20 20 20 28 61 64 64 2d 68 ur.Emacs.init.file:.......(add-h
111440 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 20 20 20 20 20 23 27 72 61 63 ook.'racket-mode-hook......#'rac
111460 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 29 ket-unicode-input-method-enable)
111480 0a 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 ......(add-hook.'racket-repl-mod
1114a0 65 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 e-hook.#'racket-unicode-input-me
1114c0 74 68 6f 64 2d 65 6e 61 62 6c 65 29 0a 0a 20 20 20 2a 4e 6f 74 65 20 72 61 63 6b 65 74 2d 75 6e thod-enable).....*Note.racket-un
1114e0 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 3a 3a 2e 0a 0a 20 20 icode-input-method-enable::.....
111500 20 2a 4e 6f 74 65 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 3a 3a 2e 0a 0a .*Note.racket-insert-lambda::...
111520 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4c ..File:.doc49fz4A.info,..Node:.L
111540 69 67 61 74 75 72 65 73 2c 20 20 50 72 65 76 3a 20 55 6e 69 63 6f 64 65 20 69 6e 70 75 74 20 6d igatures,..Prev:.Unicode.input.m
111560 65 74 68 6f 64 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 65 0a 0a 33 2e 31 35 20 4c 69 67 61 ethod,..Up:.Configure..3.15.Liga
111580 74 75 72 65 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 50 72 69 6f 72 20 74 6f 20 45 tures.==============..Prior.to.E
1115a0 6d 61 63 73 20 32 38 2e 30 2e 35 30 2c 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 e2 80 98 61 75 74 macs.28.0.50,.things.like....aut
1115c0 6f 2d 63 6f 6d 70 6f 73 69 74 69 6f 6e 2d 6d 6f 64 65 e2 80 99 20 6f 72 0a e2 80 98 6c 69 67 61 o-composition-mode....or....liga
1115e0 74 75 72 65 2d 6d 6f 64 65 e2 80 99 20 74 68 61 74 20 75 73 65 20 e2 80 98 63 6f 6d 70 6f 73 69 ture-mode....that.use....composi
111600 74 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 2d 74 61 62 6c 65 e2 80 99 20 74 6f 20 64 69 73 70 6c 61 tion-function-table....to.displa
111620 79 0a 6c 69 67 61 74 75 72 65 73 20 63 61 6e 20 63 61 75 73 65 20 45 6d 61 63 73 20 74 6f 20 66 y.ligatures.can.cause.Emacs.to.f
111640 72 65 65 7a 65 2e 20 20 54 68 69 73 20 63 61 6e 20 68 61 70 70 65 6e 20 77 68 65 6e 20 61 6e 20 reeze...This.can.happen.when.an.
111660 45 6d 61 63 73 0a 5f 6f 76 65 72 6c 61 79 5f 20 64 69 73 70 6c 61 79 73 20 61 20 73 74 72 69 6e Emacs._overlay_.displays.a.strin
111680 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 73 75 63 68 20 61 20 6c 69 67 61 74 75 72 65 2e 20 20 41 g.containing.such.a.ligature...A
1116a0 6c 74 68 6f 75 67 68 20 74 68 65 0a 70 72 6f 62 6c 65 6d 20 69 73 20 6e 6f 74 20 6c 69 6d 69 74 lthough.the.problem.is.not.limit
1116c0 65 64 20 74 6f 20 52 61 63 6b 65 74 20 4d 6f 64 65 2c 20 69 74 20 61 66 66 65 63 74 73 20 74 68 ed.to.Racket.Mode,.it.affects.th
1116e0 65 20 6f 76 65 72 6c 61 79 73 20 63 72 65 61 74 65 64 0a 62 79 20 e2 80 98 72 61 63 6b 65 74 2d e.overlays.created.by....racket-
111700 73 68 6f 77 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 e2 80 99 2c 20 61 73 20 75 73 65 64 20 show-pseudo-tooltip...,.as.used.
111720 62 79 20 e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 e2 80 99 2e 20 20 54 68 65 20 6f 6e by....racket-xp-mode......The.on
111740 6c 79 0a 6b 6e 6f 77 6e 20 77 6f 72 6b 2d 61 72 6f 75 6e 64 20 69 73 20 74 6f 20 63 68 61 6e 67 ly.known.work-around.is.to.chang
111760 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 e2 80 98 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 e.the.value.of....racket-show-fu
111780 6e 63 74 69 6f 6e 73 e2 80 99 20 74 6f 0a 73 6f 6d 65 74 68 69 6e 67 20 e2 80 9c 62 6f 72 69 6e nctions....to.something....borin
1117a0 67 e2 80 9d 20 73 75 63 68 20 61 73 20 e2 80 98 28 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 68 g....such.as....(racket-show-ech
1117c0 6f 2d 61 72 65 61 29 e2 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 o-area)........File:.doc49fz4A.i
1117e0 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 41 72 63 68 69 74 65 63 74 75 72 65 2c 20 20 4e 65 78 74 3a nfo,..Node:.Architecture,..Next:
111800 20 52 65 66 65 72 65 6e 63 65 2c 20 20 50 72 65 76 3a 20 43 6f 6e 66 69 67 75 72 65 2c 20 20 55 .Reference,..Prev:.Configure,..U
111820 70 3a 20 54 6f 70 0a 0a 34 20 41 72 63 68 69 74 65 63 74 75 72 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a p:.Top..4.Architecture.*********
111840 2a 2a 2a 2a 2a 0a 0a 52 61 63 6b 65 74 20 4d 6f 64 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 *****..Racket.Mode.consists.of.a
111860 20 73 69 6e 67 6c 65 20 45 6d 61 63 73 20 66 72 6f 6e 74 20 65 6e 64 2c 20 61 6e 64 20 6f 6e 65 .single.Emacs.front.end,.and.one
111880 20 6f 72 20 6d 6f 72 65 0a 70 72 6f 63 65 73 73 65 73 20 72 75 6e 6e 69 6e 67 20 61 20 62 61 63 .or.more.processes.running.a.bac
1118a0 6b 20 65 6e 64 20 77 72 69 74 74 65 6e 20 69 6e 20 52 61 63 6b 65 74 2e 28 31 29 0a 0a 20 20 20 k.end.written.in.Racket.(1).....
1118c0 41 20 62 61 63 6b 20 65 6e 64 20 69 73 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 63 6f A.back.end.is.responsible.for.co
1118e0 6d 6d 61 6e 64 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 mmands.that.cannot.be.implemente
111900 64 20 69 6e 0a 45 6d 61 63 73 20 4c 69 73 70 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 73 75 70 70 d.in.Emacs.Lisp,.as.well.as.supp
111920 6c 79 69 6e 67 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 52 45 50 4c 73 2e 0a 0a 20 20 20 41 6c lying.zero.or.more.REPLs......Al
111940 74 68 6f 75 67 68 20 79 6f 75 20 63 61 6e 20 73 74 61 72 74 20 61 6e 64 20 73 74 6f 70 20 61 20 though.you.can.start.and.stop.a.
111960 62 61 63 6b 20 65 6e 64 20 77 69 74 68 0a e2 80 98 72 61 63 6b 65 74 2d 73 74 61 72 74 2d 62 61 back.end.with....racket-start-ba
111980 63 6b 2d 65 6e 64 e2 80 99 20 61 6e 64 20 e2 80 98 72 61 63 6b 65 74 2d 73 74 6f 70 2d 62 61 63 ck-end....and....racket-stop-bac
1119a0 6b 2d 65 6e 64 e2 80 99 2c 20 61 20 62 61 63 6b 20 65 6e 64 20 69 73 0a 6e 6f 72 6d 61 6c 6c 79 k-end...,.a.back.end.is.normally
1119c0 20 73 74 61 72 74 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 77 68 65 6e 20 74 68 65 20 .started.automatically.when.the.
1119e0 66 72 6f 6e 74 20 65 6e 64 20 6e 65 65 64 73 20 74 6f 20 69 73 73 75 65 20 73 6f 6d 65 0a 63 6f front.end.needs.to.issue.some.co
111a00 6d 6d 61 6e 64 2e 20 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 20 63 6f 6d 6d 61 6e 64 73 20 74 mmand...This.includes.commands.t
111a20 68 61 74 20 64 6f 20 5f 6e 6f 74 5f 20 69 6e 76 6f 6c 76 65 20 e2 80 98 72 61 63 6b 65 74 2d 72 hat.do._not_.involve....racket-r
111a40 75 6e e2 80 99 20 6f 72 20 61 0a 52 45 50 4c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 e2 80 un....or.a.REPL...For.example...
111a60 98 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 e2 80 99 20 69 73 73 75 65 73 20 63 6f 6d 6d 61 6e .racket-xp-mode....issues.comman
111a80 64 73 20 74 6f 20 63 68 65 63 6b 20 79 6f 75 72 20 63 6f 64 65 0a 61 6e 64 20 61 6e 6e 6f 74 61 ds.to.check.your.code.and.annota
111aa0 74 65 20 74 68 65 20 62 75 66 66 65 72 2c 20 65 76 65 6e 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f te.the.buffer,.even.if.you.do.no
111ac0 74 20 72 75 6e 20 69 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 61 0a 62 61 63 t.run.it...In.other.words,.a.bac
111ae0 6b 20 65 6e 64 20 73 75 70 70 6c 69 65 73 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 52 45 50 4c k.end.supplies.zero.or.more.REPL
111b00 73 20 e2 80 94 20 61 20 62 61 63 6b 20 65 6e 64 20 69 73 20 6e 6f 74 20 74 68 65 20 73 61 6d 65 s.....a.back.end.is.not.the.same
111b20 20 74 68 69 6e 67 0a 61 73 20 61 20 52 45 50 4c 2e 0a 0a 20 20 20 54 6f 20 6c 65 61 72 6e 20 6d .thing.as.a.REPL......To.learn.m
111b40 6f 72 65 20 61 62 6f 75 74 20 68 6f 77 20 5f 6d 61 6e 79 5f 20 52 45 50 4c 73 20 61 72 65 20 75 ore.about.how._many_.REPLs.are.u
111b60 73 65 64 3a 20 2a 4e 6f 74 65 0a 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 sed:.*Note.racket-repl-buffer-na
111b80 6d 65 2d 66 75 6e 63 74 69 6f 6e 3a 3a 2e 0a 0a 20 20 20 49 6e 20 74 68 65 20 63 6f 6d 6d 6f 6e me-function::......In.the.common
111ba0 20 63 61 73 65 20 74 68 65 72 65 20 69 73 20 6f 6e 6c 79 20 6f 6e 65 20 62 61 63 6b 20 65 6e 64 .case.there.is.only.one.back.end
111bc0 2c 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 6c 6f 63 61 6c 20 68 6f 73 74 0a 61 73 20 45 6d 61 63 ,.on.the.same.local.host.as.Emac
111be0 73 2c 20 61 6e 64 20 69 74 20 69 73 20 75 73 65 64 20 66 6f 72 20 e2 80 98 2e 72 6b 74 e2 80 99 s,.and.it.is.used.for.....rkt...
111c00 20 66 69 6c 65 73 20 69 6e 20 61 6e 79 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 5b 45 6d 61 63 73 .files.in.any.directory...[Emacs
111c20 20 66 72 6f 6e 74 20 65 6e 64 20 61 6e 64 20 6f 6e 65 20 6c 6f 63 61 6c 20 62 61 63 6b 20 65 6e .front.end.and.one.local.back.en
111c40 64 2e 20 43 6f 6d 6d 61 6e 64 20 49 2f 4f 20 76 69 61 20 70 69 70 65 20 28 6c 6f 63 61 6c 29 20 d..Command.I/O.via.pipe.(local).
111c60 6f 72 20 73 73 68 20 28 72 65 6d 6f 74 65 29 2e 20 45 61 63 68 20 62 61 63 6b 20 65 6e 64 20 70 or.ssh.(remote)..Each.back.end.p
111c80 72 6f 76 69 64 65 73 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 52 45 50 4c 73 2e 5d 0a 0a 20 20 rovides.zero.or.more.REPLs.]....
111ca0 20 48 6f 77 65 76 65 72 20 79 6f 75 20 63 61 6e 20 63 6f 6e 66 69 67 75 72 65 20 75 73 69 6e 67 .However.you.can.configure.using
111cc0 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 62 61 63 6b 20 65 6e 64 73 20 6f 6e 20 61 6e 79 20 .any.number.of.back.ends.on.any.
111ce0 6e 75 6d 62 65 72 0a 6f 66 20 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 65 20 68 6f 73 74 73 2e number.of.local.or.remote.hosts.
111d00 0a 0a 20 20 20 41 73 20 6f 6e 65 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 63 61 6e 20 68 61 76 .....As.one.example,.you.can.hav
111d20 65 20 6d 75 6c 74 69 70 6c 65 20 62 61 63 6b 20 65 6e 64 73 20 6f 6e 20 74 68 65 20 6c 6f 63 61 e.multiple.back.ends.on.the.loca
111d40 6c 20 68 6f 73 74 2e 0a 4f 6e 65 20 62 61 63 6b 20 65 6e 64 20 69 73 20 75 73 65 64 20 66 6f 72 l.host..One.back.end.is.used.for
111d60 20 61 20 70 72 6f 6a 65 63 74 20 75 6e 64 65 72 20 61 20 73 70 65 63 69 66 69 63 20 73 75 62 64 .a.project.under.a.specific.subd
111d80 69 72 65 63 74 6f 72 79 2c 20 61 6e 64 0a 74 68 65 20 6f 74 68 65 72 20 62 61 63 6b 20 65 6e 64 irectory,.and.the.other.back.end
111da0 20 66 6f 72 20 61 6c 6c 20 6f 74 68 65 72 73 2e 20 20 28 50 65 72 68 61 70 73 20 6f 6e 65 20 70 .for.all.others...(Perhaps.one.p
111dc0 72 6f 6a 65 63 74 20 6e 65 65 64 73 20 52 61 63 6b 65 74 0a 62 75 69 6c 74 20 66 72 6f 6d 20 73 roject.needs.Racket.built.from.s
111de0 6f 75 72 63 65 2c 20 61 6e 64 20 65 76 65 72 79 74 68 69 6e 67 20 65 6c 73 65 20 75 73 65 73 20 ource,.and.everything.else.uses.
111e00 61 6e 20 69 6e 73 74 61 6c 6c 65 64 2c 20 6f 6c 64 65 72 20 76 65 72 73 69 6f 6e 0a 6f 66 20 52 an.installed,.older.version.of.R
111e20 61 63 6b 65 74 2e 20 20 42 79 20 75 73 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 62 61 63 6b 20 acket...By.using.different.back.
111e40 65 6e 64 73 2c 20 6e 6f 74 20 6f 6e 6c 79 20 77 69 6c 6c 20 e2 80 98 72 61 63 6b 65 74 2d 72 75 ends,.not.only.will....racket-ru
111e60 6e e2 80 99 20 75 73 65 0a 74 68 65 20 64 65 73 69 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 n....use.the.desired.version.of.
111e80 52 61 63 6b 65 74 20 66 6f 72 20 61 20 66 69 6c 65 2c 20 73 6f 20 77 69 6c 6c 20 63 6f 6d 6d 61 Racket.for.a.file,.so.will.comma
111ea0 6e 64 73 20 66 6f 72 0a 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6f 72 20 76 69 73 69 74 69 6e nds.for.documentation.or.visitin
111ec0 67 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 29 0a 0a 5b 45 6d 61 63 73 20 66 72 6f 6e 74 20 65 6e g.definitions.)..[Emacs.front.en
111ee0 64 20 61 6e 64 20 74 77 6f 20 6c 6f 63 61 6c 20 62 61 63 6b 20 65 6e 64 73 20 2d 2d 20 6f 6e 65 d.and.two.local.back.ends.--.one
111f00 20 66 6f 72 20 61 20 70 72 6f 6a 65 63 74 20 70 61 74 68 2e 20 43 6f 6d 6d 61 6e 64 20 49 2f 4f .for.a.project.path..Command.I/O
111f20 20 76 69 61 20 70 69 70 65 20 28 6c 6f 63 61 6c 29 20 6f 72 20 73 73 68 20 28 72 65 6d 6f 74 65 .via.pipe.(local).or.ssh.(remote
111f40 29 2e 20 45 61 63 68 20 62 61 63 6b 20 65 6e 64 20 70 72 6f 76 69 64 65 73 20 7a 65 72 6f 20 6f )..Each.back.end.provides.zero.o
111f60 72 20 6d 6f 72 65 20 52 45 50 4c 73 2e 5d 0a 0a 20 20 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 r.more.REPLs.].....Furthermore,.
111f80 79 6f 75 20 63 6f 75 6c 64 20 77 6f 72 6b 20 77 69 74 68 20 61 20 70 72 6f 6a 65 63 74 20 6c 6f you.could.work.with.a.project.lo
111fa0 63 61 74 65 64 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 68 6f 73 74 2c 0a 77 68 6f 73 65 20 66 69 cated.on.a.remote.host,.whose.fi
111fc0 6c 65 73 20 79 6f 75 20 65 64 69 74 20 75 73 69 6e 67 20 54 52 41 4d 50 2e 20 20 59 6f 75 20 61 les.you.edit.using.TRAMP...You.a
111fe0 6c 73 6f 20 77 61 6e 74 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 74 6f 20 72 75 6e 0a 74 68 65 lso.want.the.back.end.to.run.the
112000 72 65 2e 20 20 46 6f 72 20 61 20 72 65 6d 6f 74 65 20 68 6f 73 74 2c 20 52 61 63 6b 65 74 20 4d re...For.a.remote.host,.Racket.M
112020 6f 64 65 20 63 6f 70 69 65 73 20 69 74 73 20 62 61 63 6b 20 65 6e 64 20 73 6f 75 72 63 65 20 66 ode.copies.its.back.end.source.f
112040 69 6c 65 73 0a 74 6f 20 74 68 65 20 72 65 6d 6f 74 65 20 77 68 65 6e 20 6e 65 63 65 73 73 61 72 iles.to.the.remote.when.necessar
112060 79 2c 20 61 6e 64 20 72 75 6e 73 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 75 73 69 6e 67 20 73 y,.and.runs.the.back.end.using.s
112080 73 68 2e 0a 0a 5b 45 6d 61 63 73 20 66 72 6f 6e 74 20 65 6e 64 20 61 6e 64 20 61 20 62 61 63 6b sh...[Emacs.front.end.and.a.back
1120a0 20 65 6e 64 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 68 6f 73 74 2e 20 43 6f 6d 6d 61 6e 64 20 49 .end.on.a.remote.host..Command.I
1120c0 2f 4f 20 76 69 61 20 70 69 70 65 20 28 6c 6f 63 61 6c 29 20 6f 72 20 73 73 68 20 28 72 65 6d 6f /O.via.pipe.(local).or.ssh.(remo
1120e0 74 65 29 2e 20 45 61 63 68 20 62 61 63 6b 20 65 6e 64 20 70 72 6f 76 69 64 65 73 20 7a 65 72 6f te)..Each.back.end.provides.zero
112100 20 6f 72 20 6d 6f 72 65 20 52 45 50 4c 73 2e 5d 0a 0a 20 20 20 4f 66 20 63 6f 75 72 73 65 20 74 .or.more.REPLs.].....Of.course.t
112120 68 65 20 72 65 6d 6f 74 65 20 63 61 6e 20 61 6c 73 6f 20 75 73 65 20 64 69 66 66 65 72 65 6e 74 he.remote.can.also.use.different
112140 20 62 61 63 6b 20 65 6e 64 73 20 66 6f 72 20 64 69 66 66 65 72 65 6e 74 0a 70 61 74 68 73 2e 0a .back.ends.for.different.paths..
112160 0a 5b 45 6d 61 63 73 20 66 72 6f 6e 74 20 65 6e 64 20 61 6e 64 20 74 77 6f 20 62 61 63 6b 20 65 .[Emacs.front.end.and.two.back.e
112180 6e 64 73 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 68 6f 73 74 2e 20 43 6f 6d 6d 61 6e 64 20 49 2f nds.on.a.remote.host..Command.I/
1121a0 4f 20 76 69 61 20 70 69 70 65 20 28 6c 6f 63 61 6c 29 20 6f 72 20 73 73 68 20 28 72 65 6d 6f 74 O.via.pipe.(local).or.ssh.(remot
1121c0 65 29 2e 20 45 61 63 68 20 62 61 63 6b 20 65 6e 64 20 70 72 6f 76 69 64 65 73 20 7a 65 72 6f 20 e)..Each.back.end.provides.zero.
1121e0 6f 72 20 6d 6f 72 65 20 52 45 50 4c 73 2e 5d 0a 0a 20 20 20 41 6e 64 20 6f 66 20 63 6f 75 72 73 or.more.REPLs.].....And.of.cours
112200 65 20 79 6f 75 20 63 61 6e 20 68 61 76 65 20 6d 75 6c 74 69 70 6c 65 20 72 65 6d 6f 74 65 73 2e e.you.can.have.multiple.remotes.
112220 0a 0a 5b 45 6d 61 63 73 20 66 72 6f 6e 74 20 65 6e 64 20 61 6e 64 20 74 77 6f 20 62 61 63 6b 20 ..[Emacs.front.end.and.two.back.
112240 65 6e 64 73 20 65 61 63 68 20 6f 6e 20 74 77 6f 20 72 65 6d 6f 74 65 20 68 6f 73 74 73 2e 20 43 ends.each.on.two.remote.hosts..C
112260 6f 6d 6d 61 6e 64 20 49 2f 4f 20 76 69 61 20 70 69 70 65 20 28 6c 6f 63 61 6c 29 20 6f 72 20 73 ommand.I/O.via.pipe.(local).or.s
112280 73 68 20 28 72 65 6d 6f 74 65 29 2e 20 45 61 63 68 20 62 61 63 6b 20 65 6e 64 20 70 72 6f 76 69 sh.(remote)..Each.back.end.provi
1122a0 64 65 73 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 52 45 50 4c 73 2e 5d 0a 0a 20 20 20 49 66 20 des.zero.or.more.REPLs.].....If.
1122c0 79 6f 75 20 6e 65 65 64 20 61 6e 79 20 6f 66 20 74 68 65 73 65 20 e2 80 9c 66 61 6e 63 79 e2 80 you.need.any.of.these....fancy..
1122e0 9d 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 3a 20 2a 4e 6f 74 65 0a 72 61 63 6b 65 74 2d 61 ..configurations:.*Note.racket-a
112300 64 64 2d 62 61 63 6b 2d 65 6e 64 3a 3a 2e 0a 0a 20 20 20 48 6f 77 65 76 65 72 20 62 79 20 64 65 dd-back-end::......However.by.de
112320 66 61 75 6c 74 20 61 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 73 20 61 75 74 6f 6d 61 74 fault.a.configuration.is.automat
112340 69 63 61 6c 6c 79 20 63 72 65 61 74 65 64 20 66 6f 72 20 6f 6e 65 0a 62 61 63 6b 20 65 6e 64 20 ically.created.for.one.back.end.
112360 6f 6e 20 74 68 65 20 6c 6f 63 61 6c 20 68 6f 73 74 2e 20 20 46 6f 72 20 74 68 61 74 20 76 65 72 on.the.local.host...For.that.ver
112380 79 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2c 20 79 6f 75 20 64 6f 6e e2 80 99 74 20 6e 65 65 64 0a y.common.case,.you.don...t.need.
1123a0 74 6f 20 63 6f 6e 66 69 67 75 72 65 20 61 6e 79 74 68 69 6e 67 2e 0a 0a 20 20 20 2d 2d 2d 2d 2d to.configure.anything......-----
1123c0 2d 2d 2d 2d 2d 20 46 6f 6f 74 6e 6f 74 65 73 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 28 -----.Footnotes.----------.....(
1123e0 31 29 20 52 61 63 6b 65 74 20 4d 6f 64 65 e2 80 99 73 20 52 61 63 6b 65 74 20 63 6f 64 65 20 69 1).Racket.Mode...s.Racket.code.i
112400 73 20 64 65 6c 69 76 65 72 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 45 6d 61 63 73 s.delivered.as.part.of.the.Emacs
112420 0a 70 61 63 6b 61 67 65 20 e2 80 94 20 5f 6e 6f 74 5f 20 61 73 20 61 20 52 61 63 6b 65 74 20 70 .package....._not_.as.a.Racket.p
112440 61 63 6b 61 67 65 2e 20 20 44 65 6c 69 76 65 72 69 6e 67 20 62 6f 74 68 20 45 6d 61 63 73 20 61 ackage...Delivering.both.Emacs.a
112460 6e 64 20 52 61 63 6b 65 74 0a 63 6f 64 65 20 69 6e 20 6f 6e 65 20 45 6d 61 63 73 20 70 61 63 6b nd.Racket.code.in.one.Emacs.pack
112480 61 67 65 20 73 69 6d 70 6c 69 66 69 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 61 6e 64 20 age.simplifies.installation.and.
1124a0 75 70 64 61 74 65 73 2e 20 20 54 68 65 20 6d 61 69 6e 0a 64 72 61 77 62 61 63 6b 20 69 73 20 74 updates...The.main.drawback.is.t
1124c0 68 61 74 20 74 68 65 20 52 61 63 6b 65 74 20 63 6f 64 65 20 69 73 20 6e 6f 74 20 61 75 74 6f 6d hat.the.Racket.code.is.not.autom
1124e0 61 74 69 63 61 6c 6c 79 20 63 6f 6d 70 69 6c 65 64 2c 20 61 73 20 77 6f 75 6c 64 0a 6e 6f 72 6d atically.compiled,.as.would.norm
112500 61 6c 6c 79 20 62 65 20 64 6f 6e 65 20 62 79 20 e2 80 98 72 61 63 6f 20 70 6b 67 20 69 6e 73 74 ally.be.done.by....raco.pkg.inst
112520 61 6c 6c e2 80 99 2e 20 20 54 6f 20 61 64 64 72 65 73 73 20 74 68 69 73 3a 20 2a 4e 6f 74 65 0a all......To.address.this:.*Note.
112540 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 66 61 73 74 65 72 3a 3a 2e 0a 0a 1f 0a 46 racket-mode-start-faster::.....F
112560 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 52 65 66 65 ile:.doc49fz4A.info,..Node:.Refe
112580 72 65 6e 63 65 2c 20 20 4e 65 78 74 3a 20 43 6f 6d 6d 61 6e 64 73 2c 20 20 50 72 65 76 3a 20 41 rence,..Next:.Commands,..Prev:.A
1125a0 72 63 68 69 74 65 63 74 75 72 65 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 35 20 52 65 66 65 72 65 6e rchitecture,..Up:.Top..5.Referen
1125c0 63 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 ce.***********..The.following.se
1125e0 63 74 69 6f 6e 73 20 61 72 65 20 67 65 6e 65 72 61 74 65 64 20 66 72 6f 6d 20 74 68 65 20 64 6f ctions.are.generated.from.the.do
112600 63 20 73 74 72 69 6e 67 73 20 66 6f 72 20 65 61 63 68 0a 63 6f 6d 6d 61 6e 64 2c 20 76 61 72 69 c.strings.for.each.command,.vari
112620 61 62 6c 65 2c 20 6f 72 20 66 61 63 65 2e 20 20 28 41 73 20 61 20 72 65 73 75 6c 74 2c 20 73 6f able,.or.face...(As.a.result,.so
112640 6d 65 20 6f 66 20 74 68 65 20 66 6f 72 6d 61 74 74 69 6e 67 20 6d 69 67 68 74 0a 6e 6f 74 20 62 me.of.the.formatting.might.not.b
112660 65 20 71 75 69 74 65 20 61 73 20 6e 69 63 65 20 6f 72 20 63 6f 72 72 65 63 74 20 61 73 20 69 6e e.quite.as.nice.or.correct.as.in
112680 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 73 65 63 74 69 6f 6e 73 2e 29 0a 0a 20 20 20 59 6f 75 .the.previous.sections.).....You
1126a0 20 63 61 6e 20 61 6c 73 6f 20 76 69 65 77 20 74 68 65 73 65 20 62 79 20 75 73 69 6e 67 20 74 68 .can.also.view.these.by.using.th
1126c0 65 20 6e 6f 72 6d 61 6c 20 45 6d 61 63 73 20 68 65 6c 70 20 6d 65 63 68 61 6e 69 73 6d 3a 0a 0a e.normal.Emacs.help.mechanism:..
1126e0 20 20 20 e2 80 a2 20 e2 80 98 43 2d 68 20 66 e2 80 99 20 61 6e 64 20 65 6e 74 65 72 20 74 68 65 ..........C-h.f....and.enter.the
112700 20 6e 61 6d 65 20 6f 66 20 61 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 e2 80 a2 20 e2 80 98 43 2d .name.of.a.command............C-
112720 68 20 76 e2 80 99 20 61 6e 64 20 65 6e 74 65 72 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 76 h.v....and.enter.the.name.of.a.v
112740 61 72 69 61 62 6c 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f ariable.....File:.doc49fz4A.info
112760 2c 20 20 4e 6f 64 65 3a 20 43 6f 6d 6d 61 6e 64 73 2c 20 20 4e 65 78 74 3a 20 56 61 72 69 61 62 ,..Node:.Commands,..Next:.Variab
112780 6c 65 73 2c 20 20 50 72 65 76 3a 20 52 65 66 65 72 65 6e 63 65 2c 20 20 55 70 3a 20 54 6f 70 0a les,..Prev:.Reference,..Up:.Top.
1127a0 0a 36 20 43 6f 6d 6d 61 6e 64 73 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 2a 20 4d 65 6e 75 3a 0a .6.Commands.**********..*.Menu:.
1127c0 0a 2a 20 45 64 69 74 3a 3a 0a 2a 20 48 61 73 68 20 4c 61 6e 67 73 3a 3a 0a 2a 20 45 78 70 6c 6f .*.Edit::.*.Hash.Langs::.*.Explo
1127e0 72 65 3a 3a 0a 2a 20 52 75 6e 3a 3a 0a 2a 20 54 65 73 74 3a 3a 0a 2a 20 45 76 61 6c 3a 3a 0a 2a re::.*.Run::.*.Test::.*.Eval::.*
112800 20 43 6f 6c 6c 65 63 74 69 6f 6e 73 3a 3a 0a 2a 20 4d 61 63 72 6f 20 65 78 70 61 6e 64 3a 3a 0a .Collections::.*.Macro.expand::.
112820 2a 20 4f 74 68 65 72 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 *.Other::....File:.doc49fz4A.inf
112840 6f 2c 20 20 4e 6f 64 65 3a 20 45 64 69 74 2c 20 20 4e 65 78 74 3a 20 48 61 73 68 20 4c 61 6e 67 o,..Node:.Edit,..Next:.Hash.Lang
112860 73 2c 20 20 55 70 3a 20 43 6f 6d 6d 61 6e 64 73 0a 0a 36 2e 31 20 45 64 69 74 0a 3d 3d 3d 3d 3d s,..Up:.Commands..6.1.Edit.=====
112880 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 0a 2a 20 ===..*.Menu:..*.racket-mode::.*.
1128a0 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d racket-insert-lambda::.*.racket-
1128c0 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 fold-all-tests::.*.racket-unfold
1128e0 2d 61 6c 6c 2d 74 65 73 74 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 -all-tests::.*.racket-tidy-requi
112900 72 65 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 3a 3a 0a 2a res::.*.racket-trim-requires::.*
112920 20 72 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 .racket-base-requires::.*.racket
112940 2d 61 64 64 2d 72 65 71 75 69 72 65 2d 66 6f 72 2d 69 64 65 6e 74 69 66 69 65 72 3a 3a 0a 2a 20 -add-require-for-identifier::.*.
112960 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 6d racket-indent-line::.*.racket-sm
112980 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 art-open-bracket-mode::.*.racket
1129a0 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 63 79 63 6c 65 -insert-closing::.*.racket-cycle
1129c0 2d 70 61 72 65 6e 2d 73 68 61 70 65 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 62 61 63 6b 77 61 72 -paren-shapes::.*.racket-backwar
1129e0 64 2d 75 70 2d 6c 69 73 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 d-up-list::.*.racket-unicode-inp
112a00 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 61 6c 69 67 ut-method-enable::.*.racket-alig
112a20 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 75 6e 61 6c 69 67 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d n::.*.racket-unalign::.*.racket-
112a40 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 complete-at-point::....File:.doc
112a60 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2c 49fz4A.info,..Node:.racket-mode,
112a80 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 2c 20 20 55 ..Next:.racket-insert-lambda,..U
112aa0 70 3a 20 45 64 69 74 0a 0a 36 2e 31 2e 31 20 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 2d 2d 2d 2d 2d p:.Edit..6.1.1.racket-mode.-----
112ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 ------------.....M-x.......racke
112ae0 74 2d 6d 6f 64 65 e2 80 99 0a 0a 20 20 20 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 65 64 69 t-mode........Major.mode.for.edi
112b00 74 69 6e 67 20 52 61 63 6b 65 74 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2e 0a 0a 4b 65 79 20 20 ting.Racket.source.files...Key..
112b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
112b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 ...........................Bindi
112b60 6e 67 0a e2 80 98 7d e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng....}.........................
112b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
112ba0 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 .......*note.racket-insert-closi
112bc0 6e 67 3a 3a 0a e2 80 98 5d e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng::....].......................
112be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
112c00 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f .........*note.racket-insert-clo
112c20 73 69 6e 67 3a 3a 0a e2 80 98 29 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sing::....).....................
112c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
112c60 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 ...........*note.racket-insert-c
112c80 6c 6f 73 69 6e 67 3a 3a 0a e2 80 98 54 41 42 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 losing::....TAB.................
112ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
112cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 69 6e 64 65 6e 74 2d 66 6f 72 2d 74 61 62 2d 63 ................indent-for-tab-c
112ce0 6f 6d 6d 61 6e 64 e2 80 99 0a e2 80 98 43 2d 78 20 43 2d 65 e2 80 99 20 20 20 20 20 20 20 20 20 ommand.......C-x.C-e............
112d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
112d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d ..............*note.racket-send-
112d40 6c 61 73 74 2d 73 65 78 70 3a 3a 0a e2 80 98 43 2d 4d 2d 79 e2 80 99 20 20 20 20 20 20 20 20 20 last-sexp::....C-M-y............
112d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
112d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 69 6e 73 ................*note.racket-ins
112da0 65 72 74 2d 6c 61 6d 62 64 61 3a 3a 0a e2 80 98 43 2d 4d 2d 75 e2 80 99 20 20 20 20 20 20 20 20 ert-lambda::....C-M-u...........
112dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
112de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 62 61 .................*note.racket-ba
112e00 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 3a 3a 0a e2 80 98 43 2d 4d 2d 78 e2 80 99 20 20 20 20 ckward-up-list::....C-M-x.......
112e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
112e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 .....................*note.racke
112e60 74 2d 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 75 e2 80 t-send-definition::....C-c.C-u..
112e80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
112ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 ........................*note.ra
112ec0 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 3a 3a 0a e2 80 98 43 2d 63 20 43 cket-unfold-all-tests::....C-c.C
112ee0 2d 66 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -f..............................
112f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 ............................*not
112f20 65 20 72 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 3a 3a 0a e2 80 98 43 2d 63 e.racket-fold-all-tests::....C-c
112f40 20 43 2d 2e e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .C-.............................
112f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e ..............................*n
112f80 6f 74 65 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 3a 3a 0a e2 80 98 ote.racket-describe-search::....
112fa0 43 2d 63 20 43 2d 73 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 C-c.C-s.........................
112fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
112fe0 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 3a 3a 0a .*note.racket-describe-search::.
113000 e2 80 98 43 2d 63 20 43 2d 64 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...C-c.C-d......................
113020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
113040 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 ....*note.racket-documentation-s
113060 65 61 72 63 68 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 70 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 earch::....C-c.C-p..............
113080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1130a0 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 63 79 63 6c 65 2d 70 ............*note.racket-cycle-p
1130c0 61 72 65 6e 2d 73 68 61 70 65 73 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 78 20 43 2d 66 e2 80 99 20 aren-shapes::....C-c.C-x.C-f....
1130e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
113100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6f ..................*note.racket-o
113120 70 65 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 65 20 72 e2 pen-require-path::....C-c.C-e.r.
113140 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
113160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 .......................*note.rac
113180 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 65 20 65 ket-expand-region::....C-c.C-e.e
1131a0 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1131c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 ........................*note.ra
1131e0 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 3a 3a 0a e2 80 98 43 2d 63 20 43 cket-expand-last-sexp::....C-c.C
113200 2d 65 20 78 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -e.x............................
113220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 ............................*not
113240 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a e2 80 98 e.racket-expand-definition::....
113260 43 2d 63 20 43 2d 65 20 66 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 C-c.C-e.f.......................
113280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1132a0 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 3a 3a 0a e2 80 98 43 .*note.racket-expand-file::....C
1132c0 2d 63 20 43 2d 72 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -c.C-r..........................
1132e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
113300 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 3a 3a 0a e2 80 98 43 2d *note.racket-send-region::....C-
113320 63 20 43 2d 6f e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c.C-o...........................
113340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a ...............................*
113360 6e 6f 74 65 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 6c note.racket-profile::....C-c.C-l
113380 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1133a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 ..........................*note.
1133c0 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 74 e2 80 99 20 20 20 racket-logger::....C-c.C-t......
1133e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
113400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 ....................*note.racket
113420 2d 74 65 73 74 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 7a e2 80 99 20 20 20 20 20 20 20 20 20 20 20 -test::....C-c.C-z..............
113440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
113460 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 65 64 69 74 2d 73 77 69 74 63 ...............racket-edit-switc
113480 68 2d 74 6f 2d 72 65 70 6c e2 80 99 0a e2 80 98 43 2d 63 20 43 2d 6b e2 80 99 20 20 20 20 20 20 h-to-repl.......C-c.C-k.........
1134a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1134c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 .................*note.racket-ru
1134e0 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 63 e2 80 n-module-at-point::....C-c.C-c..
113500 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
113520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 ........................*note.ra
113540 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 3a 3a 0a 0a 20 20 20 49 cket-run-module-at-point::.....I
113560 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 61 6e 79 20 68 6f 6f 6b 73 20 69 74 73 20 70 61 72 65 n.addition.to.any.hooks.its.pare
113580 6e 74 20 6d 6f 64 65 20 e2 80 98 70 72 6f 67 2d 6d 6f 64 65 e2 80 99 20 6d 69 67 68 74 20 68 61 nt.mode....prog-mode....might.ha
1135a0 76 65 20 72 75 6e 2c 0a 74 68 69 73 20 6d 6f 64 65 20 72 75 6e 73 20 74 68 65 20 68 6f 6f 6b 20 ve.run,.this.mode.runs.the.hook.
1135c0 e2 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 68 6f 6f 6b e2 80 99 2c 20 61 73 20 74 68 65 20 66 ...racket-mode-hook...,.as.the.f
1135e0 69 6e 61 6c 20 6f 72 20 70 65 6e 75 6c 74 69 6d 61 74 65 0a 73 74 65 70 20 64 75 72 69 6e 67 20 inal.or.penultimate.step.during.
113600 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a initialization.....File:.doc49fz
113620 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 4A.info,..Node:.racket-insert-la
113640 6d 62 64 61 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 mbda,..Next:.racket-fold-all-tes
113660 74 73 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2c 20 20 55 70 3a 20 45 64 69 ts,..Prev:.racket-mode,..Up:.Edi
113680 74 0a 0a 36 2e 31 2e 32 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 0a 2d 2d t..6.1.2.racket-insert-lambda.--
1136a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 4d ------------------------.....C-M
1136c0 2d 79 e2 80 99 0a 0a 20 20 20 49 6e 73 65 72 74 20 ce bb 2e 0a 0a 20 20 20 54 6f 20 69 6e 73 65 -y........Insert.........To.inse
1136e0 72 74 20 55 6e 69 63 6f 64 65 20 73 79 6d 62 6f 6c 73 20 67 65 6e 65 72 61 6c 6c 79 2c 20 73 65 rt.Unicode.symbols.generally,.se
113700 65 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 e.*note.racket-unicode-input-met
113720 68 6f 64 2d 65 6e 61 62 6c 65 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 hod-enable::.....File:.doc49fz4A
113740 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 .info,..Node:.racket-fold-all-te
113760 73 74 73 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 sts,..Next:.racket-unfold-all-te
113780 73 74 73 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 sts,..Prev:.racket-insert-lambda
1137a0 2c 20 20 55 70 3a 20 45 64 69 74 0a 0a 36 2e 31 2e 33 20 72 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 ,..Up:.Edit..6.1.3.racket-fold-a
1137c0 6c 6c 2d 74 65 73 74 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ll-tests.-----------------------
1137e0 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 66 e2 80 99 0a 0a 20 20 20 46 6f 6c 64 20 28 68 69 ----.....C-c.C-f........Fold.(hi
113800 64 65 29 20 61 6c 6c 20 74 65 73 74 20 73 75 62 6d 6f 64 75 6c 65 73 2e 0a 0a 1f 0a 46 69 6c 65 de).all.test.submodules.....File
113820 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d :.doc49fz4A.info,..Node:.racket-
113840 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d unfold-all-tests,..Next:.racket-
113860 74 69 64 79 2d 72 65 71 75 69 72 65 73 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 66 6f 6c tidy-requires,..Prev:.racket-fol
113880 64 2d 61 6c 6c 2d 74 65 73 74 73 2c 20 20 55 70 3a 20 45 64 69 74 0a 0a 36 2e 31 2e 34 20 72 61 d-all-tests,..Up:.Edit..6.1.4.ra
1138a0 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d cket-unfold-all-tests.----------
1138c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 75 e2 -------------------.....C-c.C-u.
1138e0 80 99 0a 0a 20 20 20 55 6e 66 6f 6c 64 20 28 73 68 6f 77 29 20 61 6c 6c 20 74 65 73 74 20 73 75 .......Unfold.(show).all.test.su
113900 62 6d 6f 64 75 6c 65 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 bmodules.....File:.doc49fz4A.inf
113920 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 2c 20 o,..Node:.racket-tidy-requires,.
113940 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 2c 20 20 50 72 .Next:.racket-trim-requires,..Pr
113960 65 76 3a 20 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 2c 20 20 55 70 ev:.racket-unfold-all-tests,..Up
113980 3a 20 45 64 69 74 0a 0a 36 2e 31 2e 35 20 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 72 :.Edit..6.1.5.racket-tidy-requir
1139a0 65 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 es.--------------------------...
1139c0 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 ..M-x.......racket-tidy-requires
1139e0 e2 80 99 0a 0a 20 20 20 4d 61 6b 65 20 61 20 73 69 6e 67 6c 65 20 e2 80 9c 72 65 71 75 69 72 65 ........Make.a.single....require
113a00 e2 80 9d 20 66 6f 72 6d 2c 20 6d 6f 64 75 6c 65 73 20 73 6f 72 74 65 64 2c 20 6f 6e 65 20 70 65 ....form,.modules.sorted,.one.pe
113a20 72 20 6c 69 6e 65 2e 0a 0a 20 20 20 54 68 65 20 73 63 6f 70 65 20 6f 66 20 74 68 69 73 20 63 6f r.line......The.scope.of.this.co
113a40 6d 6d 61 6e 64 20 69 73 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 6d 6f 64 75 6c 65 20 61 72 mmand.is.the.innermost.module.ar
113a60 6f 75 6e 64 20 70 6f 69 6e 74 2c 0a 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 6f 75 74 65 72 6d ound.point,.including.the.outerm
113a80 6f 73 74 20 6d 6f 64 75 6c 65 20 66 6f 72 20 61 20 66 69 6c 65 20 75 73 69 6e 67 20 61 20 e2 80 ost.module.for.a.file.using.a...
113aa0 9c 23 6c 61 6e 67 e2 80 9d 20 6c 69 6e 65 2e 20 20 41 6c 6c 0a 72 65 71 75 69 72 65 20 66 6f 72 .#lang....line...All.require.for
113ac0 6d 73 20 77 69 74 68 69 6e 20 74 68 61 74 20 6d 6f 64 75 6c 65 20 61 72 65 20 63 6f 6d 62 69 6e ms.within.that.module.are.combin
113ae0 65 64 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 66 6f 72 6d 2e 0a 57 69 74 68 69 6e 20 74 68 ed.into.a.single.form..Within.th
113b00 61 74 20 66 6f 72 6d 3a 0a 0a 20 20 20 e2 80 a2 20 41 20 73 69 6e 67 6c 65 20 73 75 62 66 6f 72 at.form:.........A.single.subfor
113b20 6d 20 69 73 20 75 73 65 64 20 66 6f 72 20 65 61 63 68 20 70 68 61 73 65 20 6c 65 76 65 6c 2c 20 m.is.used.for.each.phase.level,.
113b40 73 6f 72 74 65 64 20 69 6e 20 74 68 69 73 0a 20 20 20 20 20 6f 72 64 65 72 3a 20 66 6f 72 2d 73 sorted.in.this......order:.for-s
113b60 79 6e 74 61 78 2c 20 66 6f 72 2d 74 65 6d 70 6c 61 74 65 2c 20 66 6f 72 2d 6c 61 62 65 6c 2c 20 yntax,.for-template,.for-label,.
113b80 66 6f 72 2d 6d 65 74 61 2c 20 61 6e 64 20 70 6c 61 69 6e 0a 20 20 20 20 20 28 70 68 61 73 65 20 for-meta,.and.plain......(phase.
113ba0 30 29 2e 0a 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 57 69 74 68 69 6e 20 65 61 63 68 20 6c 65 76 0)...............Within.each.lev
113bc0 65 6c 20 73 75 62 66 6f 72 6d 2c 20 74 68 65 20 6d 6f 64 75 6c 65 73 20 61 72 65 20 73 6f 72 74 el.subform,.the.modules.are.sort
113be0 65 64 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 a2 20 43 6f 6c 6c 65 63 74 69 6f 6e ed:...................Collection
113c00 20 70 61 74 68 20 6d 6f 64 75 6c 65 73 20 e2 80 93 20 73 6f 72 74 65 64 20 61 6c 70 68 61 62 65 .path.modules.....sorted.alphabe
113c20 74 69 63 61 6c 6c 79 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 a2 20 53 75 62 66 6f tically....................Subfo
113c40 72 6d 73 20 73 75 63 68 20 61 73 20 6f 6e 6c 79 2d 69 6e 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 rms.such.as.only-in.............
113c60 20 20 20 e2 80 a2 20 51 75 6f 74 65 64 20 72 65 6c 61 74 69 76 65 20 72 65 71 75 69 72 65 73 20 .......Quoted.relative.requires.
113c80 e2 80 93 20 73 6f 72 74 65 64 20 61 6c 70 68 61 62 65 74 69 63 61 6c 6c 79 2e 0a 0a 20 20 20 41 ....sorted.alphabetically......A
113ca0 74 20 6d 6f 73 74 20 6f 6e 65 20 72 65 71 75 69 72 65 64 20 6d 6f 64 75 6c 65 20 69 73 20 6c 69 t.most.one.required.module.is.li
113cc0 73 74 65 64 20 70 65 72 20 6c 69 6e 65 2e 0a 0a 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 2a 6e 6f sted.per.line......See.also:.*no
113ce0 74 65 20 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 3a 3a 20 61 6e 64 20 2a 6e te.racket-trim-requires::.and.*n
113d00 6f 74 65 0a 72 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 3a 3a 2e 0a 0a 1f 0a 46 ote.racket-base-requires::.....F
113d20 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b ile:.doc49fz4A.info,..Node:.rack
113d40 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d et-trim-requires,..Next:.racket-
113d60 62 61 73 65 2d 72 65 71 75 69 72 65 73 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 74 69 64 base-requires,..Prev:.racket-tid
113d80 79 2d 72 65 71 75 69 72 65 73 2c 20 20 55 70 3a 20 45 64 69 74 0a 0a 36 2e 31 2e 36 20 72 61 63 y-requires,..Up:.Edit..6.1.6.rac
113da0 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ket-trim-requires.--------------
113dc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 ------------.....M-x.......racke
113de0 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 e2 80 99 0a 0a 20 20 20 4c 69 6b 65 20 2a 6e 6f 74 t-trim-requires........Like.*not
113e00 65 20 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 3a 3a 20 62 75 74 20 61 6c 73 e.racket-tidy-requires::.but.als
113e20 6f 20 64 65 6c 65 74 65 73 20 75 6e 6e 65 63 65 73 73 61 72 79 0a 72 65 71 75 69 72 65 73 2e 0a o.deletes.unnecessary.requires..
113e40 0a 20 20 20 4e 6f 74 65 3a 20 54 68 69 73 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 ....Note:.This.only.works.when.t
113e60 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 20 63 61 6e 20 62 65 20 66 75 6c 6c 79 20 65 78 70 61 he.source.file.can.be.fully.expa
113e80 6e 64 65 64 20 77 69 74 68 0a 6e 6f 20 65 72 72 6f 72 73 2e 0a 0a 20 20 20 4e 6f 74 65 3a 20 54 nded.with.no.errors......Note:.T
113ea0 68 69 73 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 66 6f 72 20 72 65 71 75 69 72 65 73 20 61 74 20 74 his.only.works.for.requires.at.t
113ec0 68 65 20 74 6f 70 20 6c 65 76 65 6c 20 6f 66 20 61 20 73 6f 75 72 63 65 20 66 69 6c 65 0a 75 73 he.top.level.of.a.source.file.us
113ee0 69 6e 67 20 23 6c 61 6e 67 2e 20 20 49 74 20 64 6f 65 73 20 4e 4f 54 20 77 6f 72 6b 20 66 6f 72 ing.#lang...It.does.NOT.work.for
113f00 20 72 65 71 75 69 72 65 20 66 6f 72 6d 73 20 69 6e 73 69 64 65 20 6d 6f 64 75 6c 65 20 66 6f 72 .require.forms.inside.module.for
113f20 6d 73 2e 0a 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 69 74 20 69 73 20 6e 6f 74 20 73 6d 61 72 74 ms..Furthermore,.it.is.not.smart
113f40 20 61 62 6f 75 74 20 6d 6f 64 75 6c 65 2b 20 6f 72 20 6d 6f 64 75 6c 65 2a 20 66 6f 72 6d 73 20 .about.module+.or.module*.forms.
113f60 e2 80 93 20 69 74 20 6d 69 67 68 74 0a 64 65 6c 65 74 65 20 74 6f 70 20 6c 65 76 65 6c 20 72 65 ....it.might.delete.top.level.re
113f80 71 75 69 72 65 73 20 74 68 61 74 20 61 72 65 20 61 63 74 75 61 6c 6c 79 20 6e 65 65 64 65 64 20 quires.that.are.actually.needed.
113fa0 62 79 20 73 75 63 68 20 73 75 62 6d 6f 64 75 6c 65 73 2e 0a 0a 20 20 20 53 65 65 20 61 6c 73 6f by.such.submodules......See.also
113fc0 3a 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 3a 3a 2e 0a :.*note.racket-base-requires::..
113fe0 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 ...File:.doc49fz4A.info,..Node:.
114000 72 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 2c 20 20 4e 65 78 74 3a 20 72 61 63 racket-base-requires,..Next:.rac
114020 6b 65 74 2d 61 64 64 2d 72 65 71 75 69 72 65 2d 66 6f 72 2d 69 64 65 6e 74 69 66 69 65 72 2c 20 ket-add-require-for-identifier,.
114040 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 2c 20 20 55 70 .Prev:.racket-trim-requires,..Up
114060 3a 20 45 64 69 74 0a 0a 36 2e 31 2e 37 20 72 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 :.Edit..6.1.7.racket-base-requir
114080 65 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 es.--------------------------...
1140a0 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 ..M-x.......racket-base-requires
1140c0 e2 80 99 0a 0a 20 20 20 43 68 61 6e 67 65 20 66 72 6f 6d 20 e2 80 9c 23 6c 61 6e 67 20 72 61 63 ........Change.from....#lang.rac
1140e0 6b 65 74 e2 80 9d 20 74 6f 20 e2 80 9c 23 6c 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 e2 80 ket....to....#lang.racket/base..
114100 9d 2e 0a 0a 20 20 20 41 64 64 73 20 65 78 70 6c 69 63 69 74 20 72 65 71 75 69 72 65 73 20 66 6f .......Adds.explicit.requires.fo
114120 72 20 69 6d 70 6f 72 74 73 20 74 68 61 74 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 62 79 20 e2 r.imports.that.are.provided.by..
114140 80 9c 72 61 63 6b 65 74 e2 80 9d 20 62 75 74 0a 6e 6f 74 20 62 79 20 e2 80 9c 72 61 63 6b 65 74 ..racket....but.not.by....racket
114160 2f 62 61 73 65 e2 80 9d 2e 0a 0a 20 20 20 54 68 69 73 20 69 73 20 61 20 72 65 63 6f 6d 6d 65 6e /base.........This.is.a.recommen
114180 64 65 64 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 66 6f 72 20 52 61 63 6b 65 74 20 61 70 70 6c ded.optimization.for.Racket.appl
1141a0 69 63 61 74 69 6f 6e 73 2e 20 20 41 76 6f 69 64 69 6e 67 0a 6c 6f 61 64 69 6e 67 20 61 6c 6c 20 ications...Avoiding.loading.all.
1141c0 6f 66 20 e2 80 9c 72 61 63 6b 65 74 e2 80 9d 20 63 61 6e 20 72 65 64 75 63 65 20 6c 6f 61 64 20 of....racket....can.reduce.load.
1141e0 74 69 6d 65 20 61 6e 64 20 6d 65 6d 6f 72 79 20 66 6f 6f 74 70 72 69 6e 74 2e 0a 0a 20 20 20 41 time.and.memory.footprint......A
114200 6c 73 6f 2c 20 61 73 20 64 6f 65 73 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 lso,.as.does.*note.racket-trim-r
114220 65 71 75 69 72 65 73 3a 3a 2c 20 74 68 69 73 20 72 65 6d 6f 76 65 73 20 75 6e 6e 65 65 64 65 64 equires::,.this.removes.unneeded
114240 0a 6d 6f 64 75 6c 65 73 20 61 6e 64 20 74 69 64 69 65 73 20 65 76 65 72 79 74 68 69 6e 67 20 69 .modules.and.tidies.everything.i
114260 6e 74 6f 20 61 20 73 69 6e 67 6c 65 2c 20 73 6f 72 74 65 64 20 72 65 71 75 69 72 65 20 66 6f 72 nto.a.single,.sorted.require.for
114280 6d 2e 0a 0a 20 20 20 4e 6f 74 65 3a 20 54 68 69 73 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 77 68 65 m......Note:.This.only.works.whe
1142a0 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 20 63 61 6e 20 62 65 20 66 75 6c 6c 79 20 65 n.the.source.file.can.be.fully.e
1142c0 78 70 61 6e 64 65 64 20 77 69 74 68 0a 6e 6f 20 65 72 72 6f 72 73 2e 0a 0a 20 20 20 4e 6f 74 65 xpanded.with.no.errors......Note
1142e0 3a 20 54 68 69 73 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 66 6f 72 20 72 65 71 75 69 72 65 73 20 61 :.This.only.works.for.requires.a
114300 74 20 74 68 65 20 74 6f 70 20 6c 65 76 65 6c 20 6f 66 20 61 20 73 6f 75 72 63 65 20 66 69 6c 65 t.the.top.level.of.a.source.file
114320 0a 75 73 69 6e 67 20 23 6c 61 6e 67 2e 20 20 49 74 20 64 6f 65 73 20 4e 4f 54 20 77 6f 72 6b 20 .using.#lang...It.does.NOT.work.
114340 66 6f 72 20 72 65 71 75 69 72 65 20 66 6f 72 6d 73 20 69 6e 73 69 64 65 20 6d 6f 64 75 6c 65 20 for.require.forms.inside.module.
114360 66 6f 72 6d 73 2e 0a 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 69 74 20 69 73 20 6e 6f 74 20 73 6d forms..Furthermore,.it.is.not.sm
114380 61 72 74 20 61 62 6f 75 74 20 6d 6f 64 75 6c 65 2b 20 6f 72 20 6d 6f 64 75 6c 65 2a 20 66 6f 72 art.about.module+.or.module*.for
1143a0 6d 73 20 e2 80 93 20 69 74 20 6d 69 67 68 74 0a 64 65 6c 65 74 65 20 74 6f 70 20 6c 65 76 65 6c ms.....it.might.delete.top.level
1143c0 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 61 72 65 20 61 63 74 75 61 6c 6c 79 20 6e 65 65 64 .requires.that.are.actually.need
1143e0 65 64 20 62 79 20 73 75 63 68 20 73 75 62 6d 6f 64 75 6c 65 73 2e 0a 0a 20 20 20 4e 6f 74 65 3a ed.by.such.submodules......Note:
114400 20 43 75 72 72 65 6e 74 6c 79 20 74 68 69 73 20 6f 6e 6c 79 20 68 65 6c 70 73 20 63 68 61 6e 67 .Currently.this.only.helps.chang
114420 65 20 e2 80 9c 23 6c 61 6e 67 20 72 61 63 6b 65 74 e2 80 9d 20 74 6f 20 e2 80 9c 23 6c 61 6e 67 e....#lang.racket....to....#lang
114440 0a 72 61 63 6b 65 74 2f 62 61 73 65 e2 80 9d 2e 20 20 49 74 20 64 6f 65 73 20 6e 6f 74 20 68 65 .racket/base......It.does.not.he
114460 6c 70 20 77 69 74 68 20 6f 74 68 65 72 20 73 69 6d 69 6c 61 72 20 63 6f 6e 76 65 72 73 69 6f 6e lp.with.other.similar.conversion
114480 73 2c 20 73 75 63 68 20 61 73 0a 63 68 61 6e 67 69 6e 67 20 e2 80 9c 23 6c 61 6e 67 20 74 79 70 s,.such.as.changing....#lang.typ
1144a0 65 64 2f 72 61 63 6b 65 74 e2 80 9d 20 74 6f 20 e2 80 9c 23 6c 61 6e 67 20 74 79 70 65 64 2f 72 ed/racket....to....#lang.typed/r
1144c0 61 63 6b 65 74 2f 62 61 73 65 e2 80 9d 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 acket/base........File:.doc49fz4
1144e0 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 61 64 64 2d 72 65 71 75 69 72 A.info,..Node:.racket-add-requir
114500 65 2d 66 6f 72 2d 69 64 65 6e 74 69 66 69 65 72 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d e-for-identifier,..Next:.racket-
114520 69 6e 64 65 6e 74 2d 6c 69 6e 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 62 61 73 65 2d indent-line,..Prev:.racket-base-
114540 72 65 71 75 69 72 65 73 2c 20 20 55 70 3a 20 45 64 69 74 0a 0a 36 2e 31 2e 38 20 72 61 63 6b 65 requires,..Up:.Edit..6.1.8.racke
114560 74 2d 61 64 64 2d 72 65 71 75 69 72 65 2d 66 6f 72 2d 69 64 65 6e 74 69 66 69 65 72 0a 2d 2d 2d t-add-require-for-identifier.---
114580 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1145a0 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 61 64 64 2d 72 65 ----.....M-x.......racket-add-re
1145c0 71 75 69 72 65 2d 66 6f 72 2d 69 64 65 6e 74 69 66 69 65 72 e2 80 99 0a 0a 20 20 20 41 64 64 20 quire-for-identifier........Add.
1145e0 61 20 72 65 71 75 69 72 65 20 66 6f 72 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 61 74 20 a.require.for.the.identifier.at.
114600 70 6f 69 6e 74 2e 0a 0a 20 20 20 57 68 65 6e 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 6d 6f point......When.more.than.one.mo
114620 64 75 6c 65 20 73 75 70 70 6c 69 65 73 20 61 6e 20 69 64 65 6e 74 69 66 65 72 20 77 69 74 68 20 dule.supplies.an.identifer.with.
114640 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 2c 0a 74 68 65 79 20 61 72 65 20 6c 69 73 74 65 64 20 66 the.same.name,.they.are.listed.f
114660 6f 72 20 79 6f 75 20 74 6f 20 63 68 6f 6f 73 65 20 6f 6e 65 2e 20 20 54 68 65 20 6c 69 73 74 20 or.you.to.choose.one...The.list.
114680 69 73 20 73 6f 72 74 65 64 0a 61 6c 70 68 61 62 65 74 69 63 61 6c 6c 79 2c 20 65 78 63 65 70 74 is.sorted.alphabetically,.except
1146a0 20 6d 6f 64 75 6c 65 73 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 e2 80 9c 72 61 63 6b 65 74 .modules.starting.with....racket
1146c0 2f e2 80 9d 20 61 6e 64 0a e2 80 9c 74 79 70 65 64 2f 72 61 63 6b 65 74 2f e2 80 9d 20 61 72 65 /....and....typed/racket/....are
1146e0 20 73 6f 72 74 65 64 20 62 65 66 6f 72 65 20 6f 74 68 65 72 73 2e 0a 0a 20 20 20 41 20 e2 80 9c .sorted.before.others......A....
114700 72 65 71 75 69 72 65 e2 80 9d 20 66 6f 72 6d 20 69 73 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f require....form.is.inserted.into
114720 20 74 68 65 20 62 75 66 66 65 72 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 64 6f 69 6e 67 20 61 .the.buffer,.followed.by.doing.a
114740 0a 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 3a 3a 2e 0a 0a .*note.racket-tidy-requires::...
114760 20 20 20 43 61 76 65 61 74 3a 20 54 68 69 73 20 77 6f 72 6b 73 20 69 6e 20 74 65 72 6d 73 20 6f ...Caveat:.This.works.in.terms.o
114780 66 20 69 64 65 6e 74 69 66 69 65 72 73 20 74 68 61 74 20 61 72 65 20 64 6f 63 75 6d 65 6e 74 65 f.identifiers.that.are.documente
1147a0 64 2e 20 20 54 68 65 0a 6d 65 63 68 61 6e 69 73 6d 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 d...The.mechanism.is.similar.to.
1147c0 74 68 61 74 20 75 73 65 64 20 66 6f 72 20 52 61 63 6b 65 74 e2 80 99 73 20 e2 80 9c 53 65 61 72 that.used.for.Racket...s....Sear
1147e0 63 68 20 4d 61 6e 75 61 6c 73 e2 80 9d 20 66 65 61 74 75 72 65 2e 0a 54 6f 64 61 79 20 74 68 65 ch.Manuals....feature..Today.the
114800 72 65 20 65 78 69 73 74 73 20 6e 6f 20 73 79 73 74 65 6d 2d 77 69 64 65 20 64 61 74 61 62 61 73 re.exists.no.system-wide.databas
114820 65 20 6f 66 20 69 64 65 6e 74 69 66 69 65 72 73 20 74 68 61 74 20 61 72 65 0a 65 78 70 6f 72 74 e.of.identifiers.that.are.export
114840 65 64 20 62 75 74 20 6e 6f 74 20 64 6f 63 75 6d 65 6e 74 65 64 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 ed.but.not.documented.....File:.
114860 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 69 6e doc49fz4A.info,..Node:.racket-in
114880 64 65 6e 74 2d 6c 69 6e 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f dent-line,..Next:.racket-smart-o
1148a0 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d pen-bracket-mode,..Prev:.racket-
1148c0 61 64 64 2d 72 65 71 75 69 72 65 2d 66 6f 72 2d 69 64 65 6e 74 69 66 69 65 72 2c 20 20 55 70 3a add-require-for-identifier,..Up:
1148e0 20 45 64 69 74 0a 0a 36 2e 31 2e 39 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 0a .Edit..6.1.9.racket-indent-line.
114900 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 ------------------------.....M-x
114920 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 e2 80 99 0a 0a 20 20 .......racket-indent-line.......
114940 20 49 6e 64 65 6e 74 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 20 61 73 20 52 61 63 6b 65 74 20 63 .Indent.current.line.as.Racket.c
114960 6f 64 65 2e 0a 0a 20 20 20 4e 6f 72 6d 61 6c 6c 79 20 79 6f 75 20 64 6f 6e e2 80 99 74 20 69 6e ode......Normally.you.don...t.in
114980 76 6f 6b 65 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 64 69 72 65 63 74 6c 79 2e 20 20 49 6e 73 voke.this.command.directly...Ins
1149a0 74 65 61 64 2c 20 62 65 63 61 75 73 65 20 69 74 0a 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 tead,.because.it.is.used.as.the.
1149c0 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 e2 80 98 69 6e 64 65 6e 74 value.for.the.variable....indent
1149e0 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 6f 6e e2 80 99 20 69 6e 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 -line-function....in.*note.racke
114a00 74 2d 6d 6f 64 65 3a 3a 20 61 6e 64 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d t-mode::.and.*note.racket-repl-m
114a20 6f 64 65 3a 3a 20 62 75 66 66 65 72 73 2c 20 69 74 20 69 73 20 75 73 65 64 0a 61 75 74 6f 6d 61 ode::.buffers,.it.is.used.automa
114a40 74 69 63 61 6c 6c 79 20 77 68 65 6e 20 79 6f 75 20 70 72 65 73 73 20 6b 65 79 73 20 6c 69 6b 65 tically.when.you.press.keys.like
114a60 20 52 45 54 20 6f 72 20 54 41 42 2e 20 20 48 6f 77 65 76 65 72 20 79 6f 75 20 6d 69 67 68 74 0a .RET.or.TAB...However.you.might.
114a80 72 65 66 65 72 20 74 6f 20 69 74 20 77 68 65 6e 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 63 75 73 refer.to.it.when.configuring.cus
114aa0 74 6f 6d 20 69 6e 64 65 6e 74 61 74 69 6f 6e 2c 20 65 78 70 6c 61 69 6e 65 64 20 62 65 6c 6f 77 tom.indentation,.explained.below
114ac0 2e 0a 0a 20 20 20 46 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 72 61 64 69 74 69 6f 6e 20 6f 66 ......Following.the.tradition.of
114ae0 20 e2 80 98 6c 69 73 70 2d 6d 6f 64 65 e2 80 99 20 61 6e 64 20 e2 80 98 73 63 68 65 6d 65 2d 6d ....lisp-mode....and....scheme-m
114b00 6f 64 65 e2 80 99 2c 20 74 68 65 20 70 72 69 6d 61 72 79 0a 77 61 79 20 74 6f 20 64 65 74 65 72 ode...,.the.primary.way.to.deter
114b20 6d 69 6e 65 20 74 68 65 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 20 66 6f 72 6d 20 69 mine.the.indentation.of.a.form.i
114b40 73 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 20 61 20 72 75 6c 65 20 73 74 6f 72 65 64 0a 61 73 20 61 s.to.look.for.a.rule.stored.as.a
114b60 20 e2 80 98 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e e2 80 99 20 70 72 ....racket-indent-function....pr
114b80 6f 70 65 72 74 79 2e 0a 0a 20 20 20 54 6f 20 65 78 74 65 6e 64 2c 20 75 73 65 20 79 6f 75 72 20 operty......To.extend,.use.your.
114ba0 45 6d 61 63 73 20 69 6e 69 74 20 66 69 6c 65 20 74 6f 0a 0a 20 20 20 20 20 20 20 20 20 28 70 75 Emacs.init.file.to...........(pu
114bc0 74 20 53 59 4d 42 4f 4c 20 27 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e t.SYMBOL.'racket-indent-function
114be0 20 49 4e 44 45 4e 54 29 0a 0a 20 20 20 53 59 4d 42 4f 4c 20 69 73 20 74 68 65 20 6e 61 6d 65 20 .INDENT).....SYMBOL.is.the.name.
114c00 6f 66 20 74 68 65 20 52 61 63 6b 65 74 20 66 6f 72 6d 20 6c 69 6b 65 20 e2 80 9c 74 65 73 74 2d of.the.Racket.form.like....test-
114c20 63 61 73 65 e2 80 9d 20 61 6e 64 20 49 4e 44 45 4e 54 20 69 73 0a 61 6e 20 69 6e 74 65 67 65 72 case....and.INDENT.is.an.integer
114c40 20 6f 72 20 74 68 65 20 73 79 6d 62 6f 6c 20 e2 80 9c 64 65 66 75 6e e2 80 9d 2e 20 20 57 68 65 .or.the.symbol....defun......Whe
114c60 6e 20 49 4e 44 45 4e 54 20 69 73 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 74 68 65 0a 6d 65 61 6e n.INDENT.is.an.integer,.the.mean
114c80 69 6e 67 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 20 6c 69 73 70 2d 69 6e 64 65 ing.is.the.same.as.for.lisp-inde
114ca0 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 61 6e 64 0a 73 63 68 65 6d 65 2d 69 6e 64 65 6e 74 2d 66 75 nt-function.and.scheme-indent-fu
114cc0 6e 63 74 69 6f 6e 3a 20 49 6e 64 65 6e 74 20 74 68 65 20 66 69 72 73 74 20 49 4e 44 45 4e 54 20 nction:.Indent.the.first.INDENT.
114ce0 61 72 67 75 6d 65 6e 74 73 20 73 70 65 63 69 61 6c 6c 79 20 61 6e 64 0a 69 6e 64 65 6e 74 20 61 arguments.specially.and.indent.a
114d00 6e 79 20 66 75 72 74 68 65 72 20 61 72 67 75 6d 65 6e 74 73 20 6c 69 6b 65 20 61 20 62 6f 64 79 ny.further.arguments.like.a.body
114d20 2e 20 20 28 54 68 65 20 6e 75 6d 62 65 72 20 6d 61 79 20 62 65 20 6e 65 67 61 74 69 76 65 3b 0a ...(The.number.may.be.negative;.
114d40 73 65 65 20 64 69 73 63 75 73 73 69 6f 6e 20 62 65 6c 6f 77 2e 29 0a 0a 20 20 20 46 6f 72 20 65 see.discussion.below.).....For.e
114d60 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 28 70 75 74 20 27 74 65 73 74 2d 63 61 73 xample:...........(put.'test-cas
114d80 65 20 27 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 31 29 0a 0a 20 20 e.'racket-indent-function.1)....
114da0 20 54 68 69 73 20 77 69 6c 6c 20 63 68 61 6e 67 65 20 74 68 65 20 69 6e 64 65 6e 74 20 6f 66 20 .This.will.change.the.indent.of.
114dc0 e2 80 98 74 65 73 74 2d 63 61 73 65 e2 80 99 20 66 72 6f 6d 20 74 68 69 73 3a 0a 0a 20 20 20 20 ...test-case....from.this:......
114de0 20 20 20 20 20 28 74 65 73 74 2d 63 61 73 65 20 66 6f 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 .....(test-case.foo.............
114e00 20 20 20 20 20 20 20 20 62 6c 61 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........blah....................
114e20 20 62 6c 61 68 29 0a 0a 20 20 20 74 6f 20 74 68 69 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 28 74 .blah).....to.this:...........(t
114e40 65 73 74 2d 63 61 73 65 20 66 6f 6f 0a 20 20 20 20 20 20 20 20 20 20 20 62 6c 61 68 0a 20 20 20 est-case.foo............blah....
114e60 20 20 20 20 20 20 20 20 62 6c 61 68 29 0a 0a 20 20 20 46 6f 72 20 62 61 63 6b 77 61 72 64 20 63 ........blah).....For.backward.c
114e80 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c 20 69 66 20 e2 80 98 72 61 63 6b 65 74 2d 69 6e 64 65 6e ompatibility,.if....racket-inden
114ea0 74 2d 66 75 6e 63 74 69 6f 6e e2 80 99 20 68 61 73 20 6e 6f 0a 70 72 6f 70 65 72 74 79 20 66 6f t-function....has.no.property.fo
114ec0 72 20 61 20 73 79 6d 62 6f 6c 2c 20 61 20 73 63 68 65 6d 65 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 r.a.symbol,.a.scheme-indent-func
114ee0 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 20 69 73 20 61 6c 73 6f 0a 63 6f 6e 73 69 64 65 72 65 64 tion.property.is.also.considered
114f00 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 65 20 e2 80 9c 77 69 74 68 2d e2 80 9d 20 69 6e 64 65 6e ,.although.the....with-....inden
114f20 74 73 20 64 65 66 69 6e 65 64 20 62 79 20 73 63 68 65 6d 65 2d 6d 6f 64 65 20 61 72 65 0a 69 67 ts.defined.by.scheme-mode.are.ig
114f40 6e 6f 72 65 64 2e 20 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 74 6f 20 68 65 6c 70 20 70 65 6f nored...This.is.only.to.help.peo
114f60 70 6c 65 20 77 68 6f 20 6d 61 79 20 68 61 76 65 20 65 78 74 65 6e 73 69 76 65 0a 73 63 68 65 6d ple.who.may.have.extensive.schem
114f80 65 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 73 65 74 74 69 6e 67 73 2c 20 70 61 72 74 e-indent-function.settings,.part
114fa0 69 63 75 6c 61 72 6c 79 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 66 69 6c 65 20 6f 72 20 icularly.in.the.form.of.file.or.
114fc0 64 69 72 0a 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 20 20 4f 74 68 65 72 77 69 73 65 20 dir.local.variables...Otherwise.
114fe0 70 72 65 66 65 72 20 70 75 74 74 69 6e 67 20 70 72 6f 70 65 72 74 69 65 73 20 6f 6e 0a e2 80 98 prefer.putting.properties.on....
115000 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e e2 80 99 2e 0a 0a 20 20 20 49 racket-indent-function.........I
115020 66 20 6e 6f 20 65 78 70 6c 69 63 69 74 20 72 75 6c 65 73 20 6d 61 74 63 68 2c 20 72 65 67 75 6c f.no.explicit.rules.match,.regul
115040 61 72 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 75 73 65 64 20 66 6f 72 20 61 20 63 6f ar.expressions.are.used.for.a.co
115060 75 70 6c 65 0a 73 70 65 63 69 61 6c 20 63 61 73 65 73 3a 0a 0a 20 20 20 e2 80 a2 20 46 6f 72 6d uple.special.cases:.........Form
115080 73 20 74 68 61 74 20 73 74 61 72 74 20 77 69 74 68 20 e2 80 9c 62 65 67 69 6e e2 80 9d 20 69 6e s.that.start.with....begin....in
1150a0 64 65 6e 74 20 6c 69 6b 65 20 e2 80 9c 62 65 67 69 6e e2 80 9d 2e 0a 0a 20 20 20 e2 80 a2 20 46 dent.like....begin.............F
1150c0 6f 72 6d 73 20 74 68 61 74 20 73 74 61 72 74 20 77 69 74 68 20 e2 80 9c 64 65 66 e2 80 9d 20 6f orms.that.start.with....def....o
1150e0 72 20 e2 80 9c 77 69 74 68 2d e2 80 9d 20 69 6e 64 65 6e 74 20 6c 69 6b 65 20 e2 80 9c 64 65 66 r....with-....indent.like....def
115100 69 6e 65 e2 80 9d 2e 0a 0a 20 20 20 4f 6e 20 74 68 65 20 6f 6e 65 20 68 61 6e 64 20 74 68 69 73 ine.........On.the.one.hand.this
115120 20 69 73 20 63 6f 6e 76 65 6e 69 65 6e 74 20 77 68 65 6e 20 79 6f 75 20 63 72 65 61 74 65 20 79 .is.convenient.when.you.create.y
115140 6f 75 72 20 6f 77 6e 20 e2 80 9c 44 52 59 e2 80 9d 0a 6d 61 63 72 6f 73 3b 20 74 68 65 79 20 77 our.own....DRY....macros;.they.w
115160 69 6c 6c 20 69 6e 64 65 6e 74 20 61 73 20 65 78 70 65 63 74 65 64 20 77 69 74 68 6f 75 74 20 79 ill.indent.as.expected.without.y
115180 6f 75 20 6e 65 65 64 69 6e 67 20 74 6f 20 6d 61 6b 65 20 63 75 73 74 6f 6d 0a 69 6e 64 65 6e 74 ou.needing.to.make.custom.indent
1151a0 20 72 75 6c 65 73 2e 20 20 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 20 74 68 65 72 65 .rules...On.the.other.hand.there
1151c0 20 63 61 6e 20 62 65 20 66 61 6c 73 65 20 6d 61 74 63 68 65 73 3b 20 66 6f 72 20 65 78 61 6d 70 .can.be.false.matches;.for.examp
1151e0 6c 65 0a 61 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 66 6f 72 6d 20 6e 61 6d 65 64 20 e2 80 9c 64 le.a.function.or.form.named....d
115200 65 66 65 72 e2 80 9d 20 77 69 6c 6c 20 69 6e 64 65 6e 74 20 6c 69 6b 65 20 e2 80 9c 64 65 66 69 efer....will.indent.like....defi
115220 6e 65 e2 80 9d 2e 20 20 54 68 69 73 20 69 73 20 61 0a 6b 6e 6f 77 6e 20 64 72 61 77 62 61 63 6b ne......This.is.a.known.drawback
115240 20 61 6e 64 20 69 73 20 75 6e 6c 69 6b 65 6c 79 20 74 6f 20 62 65 20 66 69 78 65 64 20 75 6e 6c .and.is.unlikely.to.be.fixed.unl
115260 65 73 73 2f 75 6e 74 69 6c 20 52 61 63 6b 65 74 20 6d 61 63 72 6f 73 0a 73 6f 6d 65 64 61 79 20 ess/until.Racket.macros.someday.
115280 73 75 70 70 6f 72 74 20 61 20 70 72 6f 74 6f 63 6f 6c 20 74 6f 20 63 6f 6d 6d 75 6e 69 63 61 74 support.a.protocol.to.communicat
1152a0 65 20 68 6f 77 20 74 68 65 79 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 64 65 6e 74 65 64 2e 0a 0a e.how.they.should.be.indented...
1152c0 20 20 20 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 75 74 6f 6d 61 74 69 63 20 68 61 6e 64 6c ...There.is.also.automatic.handl
1152e0 69 6e 67 20 66 6f 72 3a 0a 0a 20 20 20 e2 80 a2 20 46 6f 72 6d 73 20 74 68 61 74 20 62 65 67 69 ing.for:.........Forms.that.begi
115300 6e 20 77 69 74 68 20 61 20 23 3a 6b 65 79 77 6f 72 64 20 28 61 73 20 66 6f 75 6e 64 20 69 6e 20 n.with.a.#:keyword.(as.found.in.
115320 63 6f 6e 74 72 61 63 74 73 29 0a 0a 20 20 20 e2 80 a2 20 4c 69 74 65 72 61 6c 20 66 6f 72 6d 73 contracts).........Literal.forms
115340 20 6c 69 6b 65 20 23 68 61 73 68 65 71 28 29 0a 0a 20 20 20 e2 80 a2 20 51 75 6f 74 65 64 20 66 .like.#hasheq().........Quoted.f
115360 6f 72 6d 73 20 77 68 65 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 orms.when.the.variable.*note.rac
115380 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 3a 3a 0a 20 20 20 20 ket-indent-sequence-depth::.....
1153a0 20 69 73 20 3e 20 30 2e 0a 0a 20 20 20 e2 80 a2 20 7b 7d 20 66 6f 72 6d 73 20 77 68 65 6e 20 74 .is.>.0..........{}.forms.when.t
1153c0 68 65 20 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d he.variable.*note.racket-indent-
1153e0 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 65 3a 3a 0a 20 20 20 20 20 69 73 20 6e 6f 74 20 curly-as-sequence::......is.not.
115400 6e 69 6c 2e 0a 0a 20 20 20 46 69 6e 61 6c 6c 79 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 2c 20 nil......Finally.and.otherwise,.
115420 61 20 66 6f 72 6d 20 77 69 6c 6c 20 62 65 20 69 6e 64 65 6e 74 65 64 20 61 73 20 69 66 20 69 74 a.form.will.be.indented.as.if.it
115440 20 77 65 72 65 20 61 0a 70 72 6f 63 65 64 75 72 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 0a .were.a.procedure.application...
115460 20 20 20 e2 80 94 20 e2 80 94 20 e2 80 94 0a 0a 20 20 20 4e 6f 74 65 3a 20 52 61 63 6b 65 74 20 ...................Note:.Racket.
115480 4d 6f 64 65 20 65 78 74 65 6e 64 73 20 74 68 65 20 74 72 61 64 69 74 69 6f 6e 61 6c 20 45 6d 61 Mode.extends.the.traditional.Ema
1154a0 63 73 20 6c 69 73 70 20 69 6e 64 65 6e 74 20 73 70 65 63 20 74 6f 0a 61 6c 6c 6f 77 20 61 20 5f cs.lisp.indent.spec.to.allow.a._
1154c0 6e 65 67 61 74 69 76 65 5f 20 69 6e 74 65 67 65 72 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 negative_.integer,.which.means.t
1154e0 68 61 74 20 61 6c 6c 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 66 6f 72 6d 73 0a 73 68 6f 75 hat.all.distinguished.forms.shou
115500 6c 64 20 61 6c 69 67 6e 20 77 69 74 68 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 2e 20 20 54 68 ld.align.with.the.first.one...Th
115520 69 73 20 73 74 79 6c 65 20 6f 72 69 67 69 6e 61 74 65 64 20 77 69 74 68 20 e2 80 9c 66 6f 72 2f is.style.originated.with....for/
115540 66 6f 6c 64 e2 80 9d 2c 0a 77 68 69 63 68 20 68 61 73 20 74 77 6f 20 64 69 73 74 69 6e 67 75 69 fold...,.which.has.two.distingui
115560 73 68 65 64 20 66 6f 72 6d 73 2e 20 20 54 72 61 64 69 74 69 6f 6e 61 6c 6c 79 20 74 68 6f 73 65 shed.forms...Traditionally.those
115580 20 77 6f 75 6c 64 20 69 6e 64 65 6e 74 0a 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 20 20 20 20 20 20 .would.indent.like.this:........
1155a0 20 20 20 28 66 6f 72 2f 66 6f 6c 64 20 28 5b 78 20 78 73 5d 29 0a 20 20 20 20 20 20 20 20 20 20 ...(for/fold.([x.xs])...........
1155c0 20 20 20 28 5b 79 20 79 73 5d 29 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 74 77 69 63 65 20 62 ...([y.ys])............;.twice.b
1155e0 6f 64 79 20 69 6e 64 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 0a 0a 20 20 20 ody.indent............body).....
115600 48 6f 77 65 76 65 72 20 74 68 65 20 70 6f 70 75 6c 61 72 6c 79 20 64 65 73 69 72 65 64 20 69 6e However.the.popularly.desired.in
115620 64 65 6e 74 20 69 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 2f 66 6f 6c 64 20 28 5b 78 dent.is:...........(for/fold.([x
115640 20 78 73 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 79 20 79 73 5d .xs])....................([y.ys]
115660 29 20 20 20 20 20 20 3b 20 73 61 6d 65 20 61 73 20 66 69 72 73 74 20 64 69 73 74 69 6e 67 75 73 )......;.same.as.first.distingus
115680 68 65 64 20 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 0a 0a 20 20 20 54 68 hed.form............body).....Th
1156a0 69 73 20 69 64 65 61 20 65 78 74 65 6e 64 73 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 20 64 69 73 74 is.idea.extends.to.optional.dist
1156c0 69 6e 67 75 69 73 68 65 64 20 66 6f 72 6d 73 2c 20 73 75 63 68 20 61 73 20 54 79 70 65 64 0a 52 inguished.forms,.such.as.Typed.R
1156e0 61 63 6b 65 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 e2 80 9c 70 72 65 66 69 78 65 73 e2 80 9d 20 acket.annotation....prefixes....
115700 69 6e 20 e2 80 9c 66 6f 72 2f 66 6f 6c 64 e2 80 9d 2c 20 e2 80 9c 66 6f 72 2f 78 e2 80 9d 2c 20 in....for/fold...,....for/x...,.
115720 61 6e 64 20 65 76 65 6e 20 e2 80 9c 6c 65 74 e2 80 9d 0a 66 6f 72 6d 73 3a 0a 0a 20 20 20 20 20 and.even....let....forms:.......
115740 20 20 20 20 28 66 6f 72 2f 66 6f 6c 64 20 3a 20 54 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 ....(for/fold.:.Type............
115760 20 20 20 20 20 20 20 20 28 5b 78 20 78 73 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........([x.xs])................
115780 20 20 20 20 28 5b 79 20 79 73 5d 29 20 20 20 20 20 20 3b 20 73 61 6d 65 20 61 73 20 66 69 72 73 ....([y.ys])......;.same.as.firs
1157a0 74 20 64 69 73 74 69 6e 67 75 73 68 65 64 20 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 62 t.distingushed.form............b
1157c0 6f 64 79 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e ody)....File:.doc49fz4A.info,..N
1157e0 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d ode:.racket-smart-open-bracket-m
115800 6f 64 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e ode,..Next:.racket-insert-closin
115820 67 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 6e 65 2c 20 20 55 g,..Prev:.racket-indent-line,..U
115840 70 3a 20 45 64 69 74 0a 0a 36 2e 31 2e 31 30 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 p:.Edit..6.1.10.racket-smart-ope
115860 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d n-bracket-mode.-----------------
115880 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 --------------------.....M-x....
1158a0 e2 80 98 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 ...racket-smart-open-bracket-mod
1158c0 65 e2 80 99 0a 0a 20 20 20 4d 69 6e 6f 72 20 6d 6f 64 65 20 74 6f 20 6c 65 74 20 79 6f 75 20 61 e........Minor.mode.to.let.you.a
1158e0 6c 77 61 79 73 20 74 79 70 65 20 e2 80 98 5b e2 80 99 e2 80 99 20 74 6f 20 69 6e 73 65 72 74 20 lways.type....[.......to.insert.
115900 e2 80 98 28 e2 80 99 20 6f 72 20 e2 80 98 5b e2 80 99 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 ...(....or....[....automatically
115920 2e 0a 0a 20 20 20 54 68 69 73 20 69 73 20 61 20 6d 69 6e 6f 72 20 6d 6f 64 65 2e 20 20 49 66 20 ......This.is.a.minor.mode...If.
115940 63 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 74 6f 67 67 6c 65 20 74 68 65 called.interactively,.toggle.the
115960 0a e2 80 98 52 61 63 6b 65 74 2d 53 6d 61 72 74 2d 4f 70 65 6e 2d 42 72 61 63 6b 65 74 20 6d 6f ....Racket-Smart-Open-Bracket.mo
115980 64 65 e2 80 99 20 6d 6f 64 65 2e 20 20 49 66 20 74 68 65 20 70 72 65 66 69 78 20 61 72 67 75 6d de....mode...If.the.prefix.argum
1159a0 65 6e 74 20 69 73 0a 70 6f 73 69 74 69 76 65 2c 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 6f 64 65 ent.is.positive,.enable.the.mode
1159c0 2c 20 61 6e 64 20 69 66 20 69 74 20 69 73 20 7a 65 72 6f 20 6f 72 20 6e 65 67 61 74 69 76 65 2c ,.and.if.it.is.zero.or.negative,
1159e0 20 64 69 73 61 62 6c 65 20 74 68 65 0a 6d 6f 64 65 2e 0a 0a 20 20 20 49 66 20 63 61 6c 6c 65 64 .disable.the.mode......If.called
115a00 20 66 72 6f 6d 20 4c 69 73 70 2c 20 74 6f 67 67 6c 65 20 74 68 65 20 6d 6f 64 65 20 69 66 20 41 .from.Lisp,.toggle.the.mode.if.A
115a20 52 47 20 69 73 20 e2 80 98 74 6f 67 67 6c 65 e2 80 99 2e 20 20 45 6e 61 62 6c 65 20 74 68 65 0a RG.is....toggle......Enable.the.
115a40 6d 6f 64 65 20 69 66 20 41 52 47 20 69 73 20 6e 69 6c 2c 20 6f 6d 69 74 74 65 64 2c 20 6f 72 20 mode.if.ARG.is.nil,.omitted,.or.
115a60 69 73 20 61 20 70 6f 73 69 74 69 76 65 20 6e 75 6d 62 65 72 2e 20 20 44 69 73 61 62 6c 65 20 74 is.a.positive.number...Disable.t
115a80 68 65 20 6d 6f 64 65 0a 69 66 20 41 52 47 20 69 73 20 61 20 6e 65 67 61 74 69 76 65 20 6e 75 6d he.mode.if.ARG.is.a.negative.num
115aa0 62 65 72 2e 0a 0a 20 20 20 54 6f 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 6d 69 ber......To.check.whether.the.mi
115ac0 6e 6f 72 20 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 nor.mode.is.enabled.in.the.curre
115ae0 6e 74 20 62 75 66 66 65 72 2c 0a 65 76 61 6c 75 61 74 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 nt.buffer,.evaluate.*note.racket
115b00 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 2e 0a 0a 20 20 20 -smart-open-bracket-mode::......
115b20 54 68 65 20 6d 6f 64 65 e2 80 99 73 20 68 6f 6f 6b 20 69 73 20 63 61 6c 6c 65 64 20 62 6f 74 68 The.mode...s.hook.is.called.both
115b40 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 77 68 .when.the.mode.is.enabled.and.wh
115b60 65 6e 20 69 74 0a 69 73 20 64 69 73 61 62 6c 65 64 2e 0a 0a 20 20 20 42 65 68 61 76 65 73 20 6c en.it.is.disabled......Behaves.l
115b80 69 6b 65 20 74 68 65 20 e2 80 9c 41 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 61 64 6a 75 73 74 20 ike.the....Automatically.adjust.
115ba0 6f 70 65 6e 69 6e 67 20 73 71 75 61 72 65 20 62 72 61 63 6b 65 74 73 e2 80 9d 0a 66 65 61 74 75 opening.square.brackets....featu
115bc0 72 65 20 69 6e 20 44 72 2e 20 20 52 61 63 6b 65 74 2e 0a 0a 20 20 20 42 79 20 64 65 66 61 75 6c re.in.Dr...Racket......By.defaul
115be0 74 2c 20 69 6e 73 65 72 74 73 20 61 20 e2 80 98 28 e2 80 99 2e 20 20 49 6e 73 65 72 74 73 20 61 t,.inserts.a....(......Inserts.a
115c00 20 e2 80 98 5b e2 80 99 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 73 65 73 3a ....[....in.the.following.cases:
115c20 0a 0a 20 20 20 e2 80 a2 20 e2 80 98 6c 65 74 e2 80 99 2d 6c 69 6b 65 20 62 69 6e 64 69 6e 67 73 ............let...-like.bindings
115c40 20 e2 80 93 20 66 6f 72 6d 73 20 77 69 74 68 20 e2 80 98 6c 65 74 e2 80 99 20 69 6e 20 74 68 65 .....forms.with....let....in.the
115c60 20 6e 61 6d 65 20 61 73 20 77 65 6c 6c 20 61 73 0a 20 20 20 20 20 74 68 69 6e 67 73 20 6c 69 6b .name.as.well.as......things.lik
115c80 65 20 e2 80 98 70 61 72 61 6d 65 74 65 72 69 7a 65 e2 80 99 2c 20 e2 80 98 77 69 74 68 2d 68 61 e....parameterize...,....with-ha
115ca0 6e 64 6c 65 72 73 e2 80 99 2c 20 61 6e 64 20 e2 80 98 77 69 74 68 2d 73 79 6e 74 61 78 e2 80 99 ndlers...,.and....with-syntax...
115cc0 2e 0a 0a 20 20 20 e2 80 a2 20 e2 80 98 63 61 73 65 e2 80 99 2c 20 e2 80 98 63 6f 6e 64 e2 80 99 .............case...,....cond...
115ce0 2c 20 e2 80 98 6d 61 74 63 68 e2 80 99 2c 20 e2 80 98 73 79 6e 74 61 78 2d 63 61 73 65 e2 80 99 ,....match...,....syntax-case...
115d00 2c 20 e2 80 98 73 79 6e 74 61 78 2d 70 61 72 73 65 e2 80 99 2c 20 61 6e 64 0a 20 20 20 20 20 e2 ,....syntax-parse...,.and.......
115d20 80 98 73 79 6e 74 61 78 2d 72 75 6c 65 73 e2 80 99 20 63 6c 61 75 73 65 73 2e 0a 0a 20 20 20 e2 ..syntax-rules....clauses.......
115d40 80 a2 20 e2 80 98 66 6f 72 e2 80 99 2d 6c 69 6b 65 20 62 69 6e 64 69 6e 67 73 20 61 6e 64 20 e2 ......for...-like.bindings.and..
115d60 80 98 66 6f 72 2f 66 6f 6c 64 e2 80 99 20 61 63 63 75 6d 75 6c 61 74 6f 72 73 2e 0a 0a 20 20 20 ..for/fold....accumulators......
115d80 e2 80 a2 20 e2 80 98 63 6c 61 73 73 e2 80 99 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 73 79 6e 74 .......class....declaration.synt
115da0 61 78 2c 20 73 75 63 68 20 61 73 20 e2 80 98 69 6e 69 74 e2 80 99 20 61 6e 64 20 e2 80 98 69 6e ax,.such.as....init....and....in
115dc0 68 65 72 69 74 e2 80 99 2e 0a 0a 20 20 20 57 68 65 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 herit.........When.the.previous.
115de0 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 69 6e 20 61 20 73 65 71 75 65 6e 63 65 20 69 73 20 61 20 s-expression.in.a.sequence.is.a.
115e00 63 6f 6d 70 6f 75 6e 64 0a 65 78 70 72 65 73 73 69 6f 6e 2c 20 75 73 65 73 20 74 68 65 20 73 61 compound.expression,.uses.the.sa
115e20 6d 65 20 6b 69 6e 64 20 6f 66 20 64 65 6c 69 6d 69 74 65 72 2e 0a 0a 20 20 20 54 6f 20 66 6f 72 me.kind.of.delimiter......To.for
115e40 63 65 20 69 6e 73 65 72 74 20 e2 80 98 5b e2 80 99 2c 20 75 73 65 20 e2 80 98 71 75 6f 74 65 64 ce.insert....[...,.use....quoted
115e60 2d 69 6e 73 65 72 74 e2 80 99 2e 0a 0a 20 20 20 43 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 2a 6e -insert.........Combined.with.*n
115e80 6f 74 65 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 3a 3a 20 74 68 69 73 ote.racket-insert-closing::.this
115ea0 20 6d 65 61 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 0a 70 72 65 73 73 20 74 68 65 20 75 6e .means.that.you.can.press.the.un
115ec0 73 68 69 66 74 65 64 20 e2 80 98 5b e2 80 99 20 61 6e 64 20 e2 80 98 5d e2 80 99 20 6b 65 79 73 shifted....[....and....]....keys
115ee0 20 74 6f 20 67 65 74 20 77 68 61 74 65 76 65 72 20 64 65 6c 69 6d 69 74 65 72 73 20 66 6f 6c 6c .to.get.whatever.delimiters.foll
115f00 6f 77 0a 74 68 65 20 52 61 63 6b 65 74 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 66 6f 72 20 74 68 ow.the.Racket.conventions.for.th
115f20 65 73 65 20 66 6f 72 6d 73 2e 20 20 57 68 65 6e 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 0a ese.forms...When.something.like.
115f40 e2 80 98 65 6c 65 63 74 72 69 63 2d 70 61 69 72 2d 6d 6f 64 65 e2 80 99 20 6f 72 20 e2 80 98 70 ...electric-pair-mode....or....p
115f60 61 72 65 64 69 74 2d 6d 6f 64 65 e2 80 99 20 69 73 20 61 63 74 69 76 65 2c 20 79 6f 75 20 6e 65 aredit-mode....is.active,.you.ne
115f80 65 64 20 6e 6f 74 20 65 76 65 6e 0a 70 72 65 73 73 20 e2 80 98 5d e2 80 99 2e 0a 0a 20 20 20 54 ed.not.even.press....].........T
115fa0 69 70 3a 20 57 68 65 6e 20 61 6c 73 6f 20 75 73 69 6e 67 20 e2 80 98 70 61 72 65 64 69 74 2d 6d ip:.When.also.using....paredit-m
115fc0 6f 64 65 e2 80 99 2c 20 65 6e 61 62 6c 65 20 74 68 61 74 20 66 69 72 73 74 20 73 6f 20 74 68 61 ode...,.enable.that.first.so.tha
115fe0 74 20 74 68 65 0a 62 69 6e 64 69 6e 67 20 66 6f 72 20 74 68 65 20 e2 80 98 5b e2 80 99 e2 80 99 t.the.binding.for.the....[......
116000 20 6b 65 79 20 69 6e 20 74 68 65 20 6d 61 70 20 66 6f 72 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 .key.in.the.map.for.*note.racket
116020 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 20 68 61 73 20 68 -smart-open-bracket-mode::.has.h
116040 69 67 68 65 72 20 70 72 69 6f 72 69 74 79 2e 20 20 53 65 65 20 61 6c 73 6f 20 74 68 65 0a 76 61 igher.priority...See.also.the.va
116060 72 69 61 62 6c 65 20 e2 80 98 6d 69 6e 6f 72 2d 6d 6f 64 65 2d 6d 61 70 2d 61 6c 69 73 74 e2 80 riable....minor-mode-map-alist..
116080 99 2e 0a 0a 20 20 20 54 69 70 3a 20 57 68 65 6e 20 75 73 69 6e 67 20 74 68 69 73 20 77 69 74 68 .......Tip:.When.using.this.with
1160a0 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 3a 3a 2c 20 .*note.racket-hash-lang-mode::,.
1160c0 79 6f 75 20 6d 61 79 20 77 61 6e 74 0a 74 6f 20 75 73 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 you.may.want.to.use.*note.racket
1160e0 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 3a -hash-lang-module-language-hook:
116100 3a 20 74 6f 20 65 6e 61 62 6c 65 20 69 74 20 49 46 46 0a 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 :.to.enable.it.IFF.the.module.la
116120 6e 67 75 67 61 67 65 20 69 73 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 e2 80 9c 72 61 63 ngugage.is.something.like....rac
116140 6b 65 74 e2 80 9d 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c ket........File:.doc49fz4A.info,
116160 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 2c 20 20 ..Node:.racket-insert-closing,..
116180 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 63 79 63 6c 65 2d 70 61 72 65 6e 2d 73 68 61 70 65 73 2c Next:.racket-cycle-paren-shapes,
1161a0 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 ..Prev:.racket-smart-open-bracke
1161c0 74 2d 6d 6f 64 65 2c 20 20 55 70 3a 20 45 64 69 74 0a 0a 36 2e 31 2e 31 31 20 72 61 63 6b 65 74 t-mode,..Up:.Edit..6.1.11.racket
1161e0 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -insert-closing.----------------
116200 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 5d e2 80 99 20 6f 72 20 e2 80 98 29 e2 80 99 ------------.....]....or....)...
116220 0a 0a 20 20 20 49 6e 73 65 72 74 20 61 20 6d 61 74 63 68 69 6e 67 20 63 6c 6f 73 69 6e 67 20 64 .....Insert.a.matching.closing.d
116240 65 6c 69 6d 69 74 65 72 2e 0a 0a 20 20 20 57 69 74 68 20 e2 80 98 43 2d 75 e2 80 99 20 69 6e 73 elimiter......With....C-u....ins
116260 65 72 74 20 74 68 65 20 74 79 70 65 64 20 63 68 61 72 61 63 74 65 72 20 61 73 2d 69 73 2e 0a 0a ert.the.typed.character.as-is...
116280 20 20 20 54 68 69 73 20 69 73 20 68 61 6e 64 79 20 69 66 20 79 6f 75 e2 80 99 72 65 20 6e 6f 74 ...This.is.handy.if.you...re.not
1162a0 20 79 65 74 20 75 73 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 e2 80 98 70 61 72 .yet.using.something.like....par
1162c0 65 64 69 74 2d 6d 6f 64 65 e2 80 99 2c 0a e2 80 98 73 6d 61 72 74 70 61 72 65 6e 73 2d 6d 6f 64 edit-mode...,....smartparens-mod
1162e0 65 e2 80 99 2c 20 e2 80 98 70 61 72 69 6e 66 65 72 2d 6d 6f 64 65 e2 80 99 2c 20 6f 72 20 73 69 e...,....parinfer-mode...,.or.si
116300 6d 70 6c 79 20 e2 80 98 65 6c 65 63 74 72 69 63 2d 70 61 69 72 2d 6d 6f 64 65 e2 80 99 0a 61 64 mply....electric-pair-mode....ad
116320 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 34 2e 35 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 ded.in.Emacs.24.5.....File:.doc4
116340 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 63 79 63 6c 65 2d 9fz4A.info,..Node:.racket-cycle-
116360 70 61 72 65 6e 2d 73 68 61 70 65 73 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 62 61 63 6b paren-shapes,..Next:.racket-back
116380 77 61 72 64 2d 75 70 2d 6c 69 73 74 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 69 6e 73 65 ward-up-list,..Prev:.racket-inse
1163a0 72 74 2d 63 6c 6f 73 69 6e 67 2c 20 20 55 70 3a 20 45 64 69 74 0a 0a 36 2e 31 2e 31 32 20 72 61 rt-closing,..Up:.Edit..6.1.12.ra
1163c0 63 6b 65 74 2d 63 79 63 6c 65 2d 70 61 72 65 6e 2d 73 68 61 70 65 73 0a 2d 2d 2d 2d 2d 2d 2d 2d cket-cycle-paren-shapes.--------
1163e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 ------------------------.....C-c
116400 20 43 2d 70 e2 80 99 0a 0a 20 20 20 43 79 63 6c 65 20 74 68 65 20 73 65 78 70 72 20 61 6d 6f 6e .C-p........Cycle.the.sexpr.amon
116420 67 20 28 29 20 5b 5d 20 7b 7d 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 g.().[].{}.....File:.doc49fz4A.i
116440 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c nfo,..Node:.racket-backward-up-l
116460 69 73 74 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 ist,..Next:.racket-unicode-input
116480 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 63 79 -method-enable,..Prev:.racket-cy
1164a0 63 6c 65 2d 70 61 72 65 6e 2d 73 68 61 70 65 73 2c 20 20 55 70 3a 20 45 64 69 74 0a 0a 36 2e 31 cle-paren-shapes,..Up:.Edit..6.1
1164c0 2e 31 33 20 72 61 63 6b 65 74 2d 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 0a 2d 2d 2d 2d .13.racket-backward-up-list.----
1164e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 --------------------------.....C
116500 2d 4d 2d 75 e2 80 99 0a 0a 20 20 20 4c 69 6b 65 20 e2 80 98 62 61 63 6b 77 61 72 64 2d 75 70 2d -M-u........Like....backward-up-
116520 6c 69 73 74 e2 80 99 20 62 75 74 20 77 6f 72 6b 73 20 77 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 list....but.works.when.point.is.
116540 69 6e 20 61 20 73 74 72 69 6e 67 20 6f 72 0a 63 6f 6d 6d 65 6e 74 2e 0a 0a 20 20 20 54 79 70 69 in.a.string.or.comment......Typi
116560 63 61 6c 6c 79 20 79 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 63 6f cally.you.should.not.use.this.co
116580 6d 6d 61 6e 64 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 70 20 e2 80 93 20 65 73 70 65 63 69 61 6c mmand.in.Emacs.Lisp.....especial
1165a0 6c 79 0a 6e 6f 74 20 72 65 70 65 61 74 65 64 6c 79 2e 20 20 49 6e 73 74 65 61 64 2c 20 69 6e 69 ly.not.repeatedly...Instead,.ini
1165c0 74 69 61 6c 6c 79 20 75 73 65 0a e2 80 98 72 61 63 6b 65 74 2d 2d 65 73 63 61 70 65 2d 73 74 72 tially.use....racket--escape-str
1165e0 69 6e 67 2d 6f 72 2d 63 6f 6d 6d 65 6e 74 e2 80 99 20 74 6f 20 6d 6f 76 65 20 74 6f 20 74 68 65 ing-or-comment....to.move.to.the
116600 20 73 74 61 72 74 20 6f 66 20 61 20 73 74 72 69 6e 67 20 6f 72 0a 63 6f 6d 6d 65 6e 74 2c 20 69 .start.of.a.string.or.comment,.i
116620 66 20 61 6e 79 2c 20 74 68 65 6e 20 75 73 65 20 6e 6f 72 6d 61 6c 20 e2 80 98 62 61 63 6b 77 61 f.any,.then.use.normal....backwa
116640 72 64 2d 75 70 2d 6c 69 73 74 e2 80 99 20 72 65 70 65 61 74 65 64 6c 79 2e 0a 0a 1f 0a 46 69 6c rd-up-list....repeatedly.....Fil
116660 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 e:.doc49fz4A.info,..Node:.racket
116680 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 2c 20 20 4e -unicode-input-method-enable,..N
1166a0 65 78 74 3a 20 72 61 63 6b 65 74 2d 61 6c 69 67 6e 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 ext:.racket-align,..Prev:.racket
1166c0 2d 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 2c 20 20 55 70 3a 20 45 64 69 74 0a 0a 36 2e -backward-up-list,..Up:.Edit..6.
1166e0 31 2e 31 34 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 1.14.racket-unicode-input-method
116700 2d 65 6e 61 62 6c 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -enable.------------------------
116720 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 -----------------.....M-x.......
116740 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 racket-unicode-input-method-enab
116760 6c 65 e2 80 99 0a 0a 20 20 20 53 65 74 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 20 74 6f 20 72 61 le........Set.input.method.to.ra
116780 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2e 0a 0a 20 20 20 54 68 65 20 72 61 63 6b 65 74 2d 75 6e 69 cket-unicode......The.racket-uni
1167a0 63 6f 64 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 20 6c 65 74 73 20 79 6f 75 20 65 61 73 69 6c code.input.method.lets.you.easil
1167c0 79 20 74 79 70 65 20 76 61 72 69 6f 75 73 20 55 6e 69 63 6f 64 65 0a 73 79 6d 62 6f 6c 73 20 74 y.type.various.Unicode.symbols.t
1167e0 68 61 74 20 6d 69 67 68 74 20 62 65 20 75 73 65 66 75 6c 20 77 68 65 6e 20 77 72 69 74 69 6e 67 hat.might.be.useful.when.writing
116800 20 52 61 63 6b 65 74 20 63 6f 64 65 2e 0a 0a 20 20 20 54 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c .Racket.code......To.automatical
116820 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 20 69 6e 70 ly.enable.the.racket-unicode.inp
116840 75 74 20 6d 65 74 68 6f 64 20 69 6e 0a 72 61 63 6b 65 74 2d 6d 6f 64 65 20 61 6e 64 20 72 61 63 ut.method.in.racket-mode.and.rac
116860 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 20 62 75 66 66 65 72 73 2c 20 70 75 74 20 74 68 65 20 66 ket-repl-mode.buffers,.put.the.f
116880 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 69 6e 20 79 6f 75 72 0a 45 6d 61 63 73 20 69 6e 69 74 ollowing.code.in.your.Emacs.init
1168a0 20 66 69 6c 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b .file:...........(add-hook.'rack
1168c0 65 74 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e et-mode-hook.#'racket-unicode-in
1168e0 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 28 61 64 64 put-method-enable)..........(add
116900 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 23 27 72 -hook.'racket-repl-mode-hook.#'r
116920 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c acket-unicode-input-method-enabl
116940 65 29 0a 0a 20 20 20 54 6f 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 65 6e 61 62 6c 65 20 74 68 69 e).....To.temporarily.enable.thi
116960 73 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 62 75 66 66 s.input.method.for.a.single.buff
116980 65 72 20 79 6f 75 20 63 61 6e 0a 75 73 65 20 e2 80 9c 4d 2d 78 20 72 61 63 6b 65 74 2d 75 6e 69 er.you.can.use....M-x.racket-uni
1169a0 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 e2 80 9d 2e 0a 0a 20 20 code-input-method-enable........
1169c0 20 55 73 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 45 6d 61 63 73 20 6b 65 79 20 43 2d 5c 20 .Use.the.standard.Emacs.key.C-\.
1169e0 74 6f 20 74 6f 67 67 6c 65 20 74 68 65 20 69 6e 70 75 74 20 6d 65 74 68 6f 64 2e 0a 0a 20 20 20 to.toggle.the.input.method......
116a00 57 68 65 6e 20 74 68 65 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 20 69 6e 70 75 74 20 6d 65 When.the.racket-unicode.input.me
116a20 74 68 6f 64 20 69 73 20 61 63 74 69 76 65 2c 20 79 6f 75 20 63 61 6e 20 66 6f 72 20 65 78 61 6d thod.is.active,.you.can.for.exam
116a40 70 6c 65 0a 74 79 70 65 20 e2 80 9c 41 6c 6c e2 80 9d 20 61 6e 64 20 69 74 20 69 73 20 69 6d 6d ple.type....All....and.it.is.imm
116a60 65 64 69 61 74 65 6c 79 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 e2 80 9c e2 88 80 e2 80 9d ediately.replaced.with..........
116a80 2e 20 20 41 20 66 65 77 20 6f 74 68 65 72 0a 65 78 61 6d 70 6c 65 73 3a 0a 0a 6f 6d 65 67 61 20 ...A.few.other.examples:..omega.
116aa0 20 20 20 20 20 20 cf 89 0a 78 5f 31 20 20 20 20 20 20 20 20 20 78 e2 82 81 0a 78 5e 31 20 20 20 .........x_1.........x....x^1...
116ac0 20 20 20 20 20 20 78 c2 b9 0a 41 20 20 20 20 20 20 20 20 20 20 20 f0 9d 94 b8 0a 74 65 73 74 e2 ......x...A................test.
116ae0 80 93 3e 3e 45 20 20 20 20 74 65 73 74 e2 80 93 3e 3e e2 88 83 20 28 72 61 63 6b 65 74 2f 72 65 ..>>E....test...>>....(racket/re
116b00 64 65 78 29 0a 76 64 61 73 68 20 20 20 20 20 20 20 e2 8a a2 0a 0a 20 20 20 54 6f 20 73 65 65 20 dex).vdash...............To.see.
116b20 61 20 74 61 62 6c 65 20 6f 66 20 61 6c 6c 20 6b 65 79 20 73 65 71 75 65 6e 63 65 73 20 75 73 65 a.table.of.all.key.sequences.use
116b40 20 e2 80 9c 4d 2d 78 20 64 65 73 63 72 69 62 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 0a 3c 52 ....M-x.describe-input-method.<R
116b60 45 54 3e 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 e2 80 9d 2e 0a 0a 20 20 20 49 66 20 79 6f ET>.racket-unicode.........If.yo
116b80 75 20 77 61 6e 74 20 74 6f 20 61 64 64 20 79 6f 75 72 20 6f 77 6e 20 6d 61 70 70 69 6e 67 73 20 u.want.to.add.your.own.mappings.
116ba0 74 6f 20 74 68 65 20 e2 80 9c 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 e2 80 9d 20 69 6e 70 75 to.the....racket-unicode....inpu
116bc0 74 0a 6d 65 74 68 6f 64 2c 20 79 6f 75 20 6d 61 79 20 61 64 64 20 63 6f 64 65 20 6c 69 6b 65 20 t.method,.you.may.add.code.like.
116be0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 20 69 6e 20 79 6f 75 72 20 45 6d the.following.example.in.your.Em
116c00 61 63 73 20 69 6e 69 74 0a 66 69 6c 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 45 69 74 68 acs.init.file:...........;;.Eith
116c20 65 72 20 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 6d 6f 64 65 29 20 68 65 72 65 2c 20 er.(require.'racket-mode).here,.
116c40 6f 72 2c 20 69 66 20 79 6f 75 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 75 73 65 2d 70 or,.if.you.use..........;;.use-p
116c60 61 63 6b 61 67 65 2c 20 70 75 74 20 74 68 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 69 6e 20 74 68 ackage,.put.the.code.below.in.th
116c80 65 20 3a 63 6f 6e 66 69 67 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 28 77 69 74 e.:config.section...........(wit
116ca0 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 h-temp-buffer............(racket
116cc0 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 29 0a 20 20 -unicode-input-method-enable)...
116ce0 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 20 22 72 61 63 6b .........(set-input-method."rack
116d00 65 74 2d 75 6e 69 63 6f 64 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 71 et-unicode")............(let.((q
116d20 75 61 69 6c 2d 63 75 72 72 65 6e 74 2d 70 61 63 6b 61 67 65 20 28 61 73 73 6f 63 20 22 72 61 63 uail-current-package.(assoc."rac
116d40 6b 65 74 2d 75 6e 69 63 6f 64 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ket-unicode"....................
116d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 71 75 61 69 ............................quai
116d80 6c 2d 70 61 63 6b 61 67 65 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 l-package-alist)))..............
116da0 28 71 75 61 69 6c 2d 64 65 66 69 6e 65 2d 72 75 6c 65 73 20 28 28 61 70 70 65 6e 64 20 2e 20 74 (quail-define-rules.((append...t
116dc0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
116de0 20 20 20 20 28 22 5e 6f 22 20 5b 22 e1 b5 92 22 5d 29 29 29 29 0a 0a 20 20 20 49 66 20 79 6f 75 ....("^o".["..."])))).....If.you
116e00 20 64 6f 6e e2 80 99 74 20 6c 69 6b 65 20 74 68 65 20 68 69 67 68 6c 69 67 68 74 69 6e 67 20 6f .don...t.like.the.highlighting.o
116e20 66 20 70 61 72 74 69 61 6c 6c 79 20 6d 61 74 63 68 69 6e 67 20 74 6f 6b 65 6e 73 20 79 6f 75 0a f.partially.matching.tokens.you.
116e40 63 61 6e 20 74 75 72 6e 20 69 74 20 6f 66 66 20 62 79 20 73 65 74 74 69 6e 67 20 e2 80 98 69 6e can.turn.it.off.by.setting....in
116e60 70 75 74 2d 6d 65 74 68 6f 64 2d 68 69 67 68 6c 69 67 68 74 2d 66 6c 61 67 e2 80 99 20 74 6f 20 put-method-highlight-flag....to.
116e80 6e 69 6c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e nil.....File:.doc49fz4A.info,..N
116ea0 6f 64 65 3a 20 72 61 63 6b 65 74 2d 61 6c 69 67 6e 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 ode:.racket-align,..Next:.racket
116ec0 2d 75 6e 61 6c 69 67 6e 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d -unalign,..Prev:.racket-unicode-
116ee0 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 65 6e 61 62 6c 65 2c 20 20 55 70 3a 20 45 64 69 74 0a 0a input-method-enable,..Up:.Edit..
116f00 36 2e 31 2e 31 35 20 72 61 63 6b 65 74 2d 61 6c 69 67 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 6.1.15.racket-align.------------
116f20 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 61 6c 69 -------.....M-x.......racket-ali
116f40 67 6e e2 80 99 0a 0a 20 20 20 41 6c 69 67 6e 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 73 61 gn........Align.values.in.the.sa
116f60 6d 65 20 63 6f 6c 75 6d 6e 2e 0a 0a 20 20 20 55 73 65 66 75 6c 20 66 6f 72 20 62 69 6e 64 69 6e me.column......Useful.for.bindin
116f80 67 20 66 6f 72 6d 73 20 6c 69 6b 65 20 e2 80 9c 6c 65 74 e2 80 9d 20 61 6e 64 20 e2 80 9c 70 61 g.forms.like....let....and....pa
116fa0 72 61 6d 65 74 65 72 69 7a 65 e2 80 9d 2c 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 73 0a 6c 69 6b 65 rameterize...,.conditionals.like
116fc0 20 e2 80 9c 63 6f 6e 64 e2 80 9d 20 61 6e 64 20 e2 80 9c 6d 61 74 63 68 e2 80 9d 2c 20 61 73 73 ....cond....and....match...,.ass
116fe0 6f 63 69 61 74 69 6f 6e 20 6c 69 73 74 73 2c 20 61 6e 64 20 61 6e 79 20 73 65 72 69 65 73 20 6f ociation.lists,.and.any.series.o
117000 66 20 63 6f 75 70 6c 65 73 0a 6c 69 6b 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 f.couples.like.the.arguments.to.
117020 e2 80 9c 68 61 73 68 e2 80 9d 2e 0a 0a 20 20 20 42 65 66 6f 72 65 20 63 68 6f 6f 73 69 6e 67 20 ...hash.........Before.choosing.
117040 74 68 69 73 20 63 6f 6d 6d 61 6e 64 2c 20 70 75 74 20 70 6f 69 6e 74 20 6f 6e 20 74 68 65 20 66 this.command,.put.point.on.the.f
117060 69 72 73 74 20 6f 66 20 61 20 73 65 72 69 65 73 20 6f 66 0a e2 80 9c 63 6f 75 70 6c 65 73 e2 80 irst.of.a.series.of....couples..
117080 9d 2e 20 20 41 20 63 6f 75 70 6c 65 20 69 73 3a 0a 0a 20 20 20 e2 80 a2 20 41 20 6c 69 73 74 20 ....A.couple.is:.........A.list.
1170a0 6f 66 20 74 77 6f 20 6f 72 20 6d 6f 72 65 20 73 65 78 70 72 73 3a 20 e2 80 9c 5b 73 65 78 70 72 of.two.or.more.sexprs:....[sexpr
1170c0 20 76 61 6c 20 73 65 78 70 72 20 2e 2e 2e 5d e2 80 9d 2e 0a 20 20 20 e2 80 a2 20 54 77 6f 20 73 .val.sexpr....]............Two.s
1170e0 65 78 70 72 73 3a 20 e2 80 9c 73 65 78 70 72 20 76 61 6c e2 80 9d 2e 0a 0a 20 20 20 45 61 63 68 exprs:....sexpr.val.........Each
117100 20 e2 80 9c 76 61 6c e2 80 9d 20 6d 6f 76 65 73 20 74 6f 20 74 68 65 20 73 61 6d 65 20 63 6f 6c ....val....moves.to.the.same.col
117120 75 6d 6e 20 61 6e 64 20 69 73 20 e2 80 98 70 72 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 70 e2 80 umn.and.is....prog-indent-sexp..
117140 99 2d 65 64 20 28 69 6e 0a 63 61 73 65 20 69 74 20 69 73 20 61 20 6d 75 6c 74 69 2d 6c 69 6e 65 .-ed.(in.case.it.is.a.multi-line
117160 20 66 6f 72 6d 29 2e 0a 0a 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 70 6f 69 .form)......For.example.with.poi
117180 6e 74 20 6f 6e 20 74 68 65 20 e2 80 9c 5b e2 80 9d 20 62 65 66 6f 72 65 20 e2 80 9c 61 e2 80 9d nt.on.the....[....before....a...
1171a0 3a 0a 0a 20 20 20 20 20 20 20 20 20 42 65 66 6f 72 65 20 20 20 20 20 20 20 20 20 20 20 20 20 41 :...........Before.............A
1171c0 66 74 65 72 0a 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 61 20 31 32 5d 20 20 20 20 20 fter...........(let.([a.12].....
1171e0 20 20 28 6c 65 74 20 28 5b 61 20 20 20 31 32 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(let.([a...12]................
117200 5b 62 61 72 20 32 33 5d 29 20 20 20 20 20 20 20 20 20 20 5b 62 61 72 20 32 33 5d 29 0a 20 20 20 [bar.23])..........[bar.23])....
117220 20 20 20 20 20 20 20 20 2e 2e 2e 2e 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 2e 29 ............)..................)
117240 0a 0a 20 20 20 20 20 20 20 20 20 28 5b 61 20 2e 20 31 32 5d 20 20 20 20 20 20 20 20 20 20 28 5b ...........([a...12]..........([
117260 61 20 20 20 2e 20 31 32 5d 0a 20 20 20 20 20 20 20 20 20 20 5b 62 61 72 20 2e 20 32 33 5d 29 20 a.....12]...........[bar...23]).
117280 20 20 20 20 20 20 20 5b 62 61 72 20 2e 20 32 33 5d 29 0a 0a 20 20 20 20 20 20 20 20 20 28 63 6f .......[bar...23])...........(co
1172a0 6e 64 20 5b 61 3f 20 23 74 5d 20 20 20 20 20 20 28 63 6f 6e 64 20 5b 61 3f 20 20 20 23 74 5d 0a nd.[a?.#t]......(cond.[a?...#t].
1172c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 62 3f 20 28 66 20 78 20 20 20 20 20 20 20 20 20 ...............[b?.(f.x.........
1172e0 20 20 5b 62 3f 20 20 20 28 66 20 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..[b?...(f.x....................
117300 20 20 20 79 29 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 79 29 5d 0a 20 20 20 20 ...y)]..................y)].....
117320 20 20 20 20 20 20 20 20 20 20 20 5b 65 6c 73 65 20 23 66 5d 29 20 20 20 20 20 20 20 20 20 5b 65 ...........[else.#f]).........[e
117340 6c 73 65 20 23 66 5d 29 0a 0a 20 20 20 4f 72 20 77 69 74 68 20 70 6f 69 6e 74 20 6f 6e 20 74 68 lse.#f]).....Or.with.point.on.th
117360 65 20 71 75 6f 74 65 20 62 65 66 6f 72 65 20 e2 80 9c 61 e2 80 9d 3a 0a 0a 20 20 20 20 20 20 20 e.quote.before....a...:.........
117380 20 20 28 6c 69 73 74 20 61 20 31 32 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 61 20 20 20 31 32 ..(list.a.12........(list.a...12
1173a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 61 72 20 32 33 29 20 20 20 20 20 20 20 20 20 ................bar.23).........
1173c0 20 20 62 61 72 20 32 33 29 0a 0a 20 20 20 49 66 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 63 ..bar.23).....If.more.than.one.c
1173e0 6f 75 70 6c 65 20 69 73 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 6c 69 6e 65 2c 20 6e 6f 6e 65 20 ouple.is.on.the.same.line,.none.
117400 61 72 65 20 61 6c 69 67 6e 65 64 2c 0a 62 65 63 61 75 73 65 20 69 74 20 69 73 20 75 6e 63 6c 65 are.aligned,.because.it.is.uncle
117420 61 72 20 77 68 65 72 65 20 74 68 65 20 76 61 6c 75 65 20 63 6f 6c 75 6d 6e 20 73 68 6f 75 6c 64 ar.where.the.value.column.should
117440 20 62 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e 67 20 .be...For.example.the.following.
117460 66 6f 72 6d 20 77 69 6c 6c 20 6e 6f 74 20 63 68 61 6e 67 65 3b 20 2a 6e 6f 74 65 20 72 61 63 6b form.will.not.change;.*note.rack
117480 65 74 2d 61 6c 69 67 6e 3a 3a 20 77 69 6c 6c 20 64 69 73 70 6c 61 79 20 61 6e 0a 65 72 72 6f 72 et-align::.will.display.an.error
1174a0 20 6d 65 73 73 61 67 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 61 20 30 5d 5b .message:...........(let.([a.0][
1174c0 62 20 31 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 63 20 32 5d 29 20 20 20 20 20 20 b.1]................[c.2])......
1174e0 20 65 72 72 6f 72 3b 20 75 6e 63 68 61 6e 67 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e .error;.unchanged...............
117500 2e 29 0a 0a 20 20 20 57 68 65 6e 20 61 20 63 6f 75 70 6c 65 e2 80 99 73 20 73 65 78 70 72 73 20 .).....When.a.couple...s.sexprs.
117520 73 74 61 72 74 20 6f 6e 20 64 69 66 66 65 72 65 6e 74 20 6c 69 6e 65 73 2c 20 74 68 61 74 20 63 start.on.different.lines,.that.c
117540 6f 75 70 6c 65 20 69 73 0a 69 67 6e 6f 72 65 64 2e 20 20 4f 74 68 65 72 2c 20 73 69 6e 67 6c 65 ouple.is.ignored...Other,.single
117560 2d 6c 69 6e 65 20 63 6f 75 70 6c 65 73 20 69 6e 20 74 68 65 20 73 65 72 69 65 73 20 61 72 65 20 -line.couples.in.the.series.are.
117580 61 6c 69 67 6e 65 64 20 61 73 20 75 73 75 61 6c 2e 0a 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a aligned.as.usual..For.example:..
1175a0 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 66 6f 6f 20 20 20 20 20 20 20 20 20 28 6c 65 74 .........(let.([foo.........(let
1175c0 20 28 5b 66 6f 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 5d 20 20 20 20 20 20 20 .([foo.................0].......
1175e0 20 20 20 20 20 20 20 20 20 20 30 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 62 61 72 ..........0]................[bar
117600 20 31 5d 20 20 20 20 20 20 20 20 20 20 20 20 5b 62 61 72 20 31 5d 0a 20 20 20 20 20 20 20 20 20 .1]............[bar.1]..........
117620 20 20 20 20 20 20 5b 78 20 32 5d 29 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 78 20 20 20 32 5d ......[x.2]).............[x...2]
117640 29 0a 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 2e 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )................)..............
117660 2e 2e 2e 2e 29 0a 0a 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 ....).....See.also:.*note.racket
117680 2d 75 6e 61 6c 69 67 6e 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 -unalign::.....File:.doc49fz4A.i
1176a0 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 75 6e 61 6c 69 67 6e 2c 20 20 4e 65 78 nfo,..Node:.racket-unalign,..Nex
1176c0 74 3a 20 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 2c 20 20 50 72 t:.racket-complete-at-point,..Pr
1176e0 65 76 3a 20 72 61 63 6b 65 74 2d 61 6c 69 67 6e 2c 20 20 55 70 3a 20 45 64 69 74 0a 0a 36 2e 31 ev:.racket-align,..Up:.Edit..6.1
117700 2e 31 36 20 72 61 63 6b 65 74 2d 75 6e 61 6c 69 67 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .16.racket-unalign.-------------
117720 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 75 6e --------.....M-x.......racket-un
117740 61 6c 69 67 6e e2 80 99 0a 0a 20 20 20 54 68 65 20 6f 70 70 6f 73 69 74 65 20 6f 66 20 2a 6e 6f align........The.opposite.of.*no
117760 74 65 20 72 61 63 6b 65 74 2d 61 6c 69 67 6e 3a 3a 2e 0a 0a 20 20 20 45 66 66 65 63 74 69 76 65 te.racket-align::......Effective
117780 6c 79 20 64 6f 65 73 20 4d 2d 78 20 e2 80 98 6a 75 73 74 2d 6f 6e 65 2d 73 70 61 63 65 e2 80 99 ly.does.M-x....just-one-space...
1177a0 20 61 6e 64 20 e2 80 98 70 72 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 70 e2 80 99 20 66 6f 72 20 .and....prog-indent-sexp....for.
1177c0 65 61 63 68 0a 63 6f 75 70 6c 65 e2 80 99 73 20 76 61 6c 75 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 each.couple...s.value.....File:.
1177e0 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 63 6f doc49fz4A.info,..Node:.racket-co
117800 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 75 mplete-at-point,..Prev:.racket-u
117820 6e 61 6c 69 67 6e 2c 20 20 55 70 3a 20 45 64 69 74 0a 0a 36 2e 31 2e 31 37 20 72 61 63 6b 65 74 nalign,..Up:.Edit..6.1.17.racket
117840 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 6e 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -complete-at-point.-------------
117860 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 41 20 76 61 6c 75 65 20 66 6f 72 20 ------------------..A.value.for.
117880 74 68 65 20 76 61 72 69 61 62 6c 65 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f the.variable....completion-at-po
1178a0 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 73 e2 80 99 2e 0a 0a 20 20 20 43 6f 6d 70 6c 65 74 69 6f 6e int-functions.........Completion
1178c0 20 63 61 6e 64 69 64 61 74 65 73 20 61 72 65 20 64 72 61 77 6e 20 66 72 6f 6d 20 74 68 65 20 73 .candidates.are.drawn.from.the.s
1178e0 61 6d 65 20 73 79 6d 62 6f 6c 73 20 75 73 65 64 20 66 6f 72 0a 66 6f 6e 74 2d 6c 6f 63 6b 2e 20 ame.symbols.used.for.font-lock..
117900 20 54 68 69 73 20 69 73 20 61 20 73 74 61 74 69 63 20 6c 69 73 74 2e 20 20 49 66 20 79 6f 75 20 .This.is.a.static.list...If.you.
117920 77 61 6e 74 20 64 79 6e 61 6d 69 63 2c 20 73 6d 61 72 74 65 72 0a 63 6f 6d 70 6c 65 74 69 6f 6e want.dynamic,.smarter.completion
117940 20 63 61 6e 64 69 64 61 74 65 73 2c 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f .candidates,.enable.the.minor.mo
117960 64 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 2e 0a 0a 1f 0a 46 69 de.*note.racket-xp-mode::.....Fi
117980 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 48 61 73 68 20 le:.doc49fz4A.info,..Node:.Hash.
1179a0 4c 61 6e 67 73 2c 20 20 4e 65 78 74 3a 20 45 78 70 6c 6f 72 65 2c 20 20 50 72 65 76 3a 20 45 64 Langs,..Next:.Explore,..Prev:.Ed
1179c0 69 74 2c 20 20 55 70 3a 20 43 6f 6d 6d 61 6e 64 73 0a 0a 36 2e 32 20 48 61 73 68 20 4c 61 6e 67 it,..Up:.Commands..6.2.Hash.Lang
1179e0 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 s.==============..*.Menu:..*.rac
117a00 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 ket-hash-lang-mode::.*.racket-ha
117a20 73 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 72 64 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 sh-lang-backward::.*.racket-hash
117a40 2d 6c 61 6e 67 2d 66 6f 72 77 61 72 64 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 -lang-forward::.*.racket-hash-la
117a60 6e 67 2d 75 70 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 6f 77 6e 3a ng-up::.*.racket-hash-lang-down:
117a80 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d 64 77 69 6d 3a :.*.racket-hash-lang-C-M-q-dwim:
117aa0 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 :....File:.doc49fz4A.info,..Node
117ac0 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 2c 20 20 4e 65 78 74 3a 20 :.racket-hash-lang-mode,..Next:.
117ae0 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 72 64 2c 20 20 55 70 3a 20 racket-hash-lang-backward,..Up:.
117b00 48 61 73 68 20 4c 61 6e 67 73 0a 0a 36 2e 32 2e 31 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 Hash.Langs..6.2.1.racket-hash-la
117b20 6e 67 2d 6d 6f 64 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ng-mode.------------------------
117b40 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 ---.....M-x.......racket-hash-la
117b60 6e 67 2d 6d 6f 64 65 e2 80 99 0a 0a 20 20 20 55 73 65 20 63 6f 6c 6f 72 2d 6c 65 78 65 72 2c 20 ng-mode........Use.color-lexer,.
117b80 69 6e 64 65 6e 74 2c 20 61 6e 64 20 6e 61 76 69 67 61 74 69 6f 6e 20 73 75 70 70 6c 69 65 64 20 indent,.and.navigation.supplied.
117ba0 62 79 20 61 20 23 6c 61 6e 67 2e 0a 0a 20 20 20 41 6e 20 65 78 70 65 72 69 6d 65 6e 74 61 6c 20 by.a.#lang......An.experimental.
117bc0 6d 61 6a 6f 72 20 6d 6f 64 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 2a 6e 6f 74 65 20 major.mode.alternative.to.*note.
117be0 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 20 66 6f 72 0a 73 6f 75 72 63 65 20 66 69 6c 65 20 65 64 racket-mode::.for.source.file.ed
117c00 69 74 20 62 75 66 66 65 72 73 2e 0a 0a 20 20 20 49 6e 20 79 6f 75 72 20 45 6d 61 63 73 20 63 6f it.buffers......In.your.Emacs.co
117c20 6e 66 69 67 75 72 61 74 69 6f 6e 2c 20 79 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 75 70 64 nfiguration,.you.may.want.to.upd
117c40 61 74 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a e2 80 98 61 75 74 6f 2d 6d 6f 64 65 2d 61 6c ate.the.variable....auto-mode-al
117c60 69 73 74 e2 80 99 20 74 6f 20 75 73 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d ist....to.use.*note.racket-hash-
117c80 6c 61 6e 67 2d 6d 6f 64 65 3a 3a 20 66 6f 72 20 66 69 6c 65 0a 65 78 74 65 6e 73 69 6f 6e 73 20 lang-mode::.for.file.extensions.
117ca0 6c 69 6b 65 20 e2 80 9c 2e 72 6b 74 e2 80 9d 2c 20 e2 80 9c 2e 73 63 72 62 6c e2 80 9d 2c 20 61 like.....rkt...,.....scrbl...,.a
117cc0 6e 64 2f 6f 72 20 e2 80 9c 2e 72 68 6d e2 80 9d 2e 0a 0a 20 20 20 4c 61 6e 67 75 61 67 65 73 20 nd/or.....rhm.........Languages.
117ce0 73 75 70 70 6c 79 20 63 6f 6c 6f 72 73 20 66 6f 72 20 6c 65 78 65 72 20 74 6f 6b 65 6e 73 20 6c supply.colors.for.lexer.tokens.l
117d00 69 6b 65 20 73 74 72 69 6e 67 73 20 61 6e 64 20 63 6f 6d 6d 65 6e 74 73 3b 0a 73 65 65 20 74 68 ike.strings.and.comments;.see.th
117d20 65 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 0a 72 e.customization.variable.*note.r
117d40 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 74 6f 6b 65 6e 2d 66 61 63 65 2d 61 6c 69 73 74 acket-hash-lang-token-face-alist
117d60 3a 3a 2e 20 20 46 6f 72 20 6d 6f 72 65 20 63 6f 6c 6f 72 73 20 73 65 65 20 74 68 65 20 68 6f 6f ::...For.more.colors.see.the.hoo
117d80 6b 0a 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e k.variable.*note.racket-hash-lan
117da0 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 3a 3a 2c 20 77 68 69 63 68 20 g-module-language-hook::,.which.
117dc0 63 61 6e 20 61 6c 73 6f 0a 62 65 20 75 73 65 64 20 74 6f 20 76 61 72 79 20 63 6f 6e 66 69 67 75 can.also.be.used.to.vary.configu
117de0 72 61 74 69 6f 6e 73 20 70 65 72 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 20 20 20 41 20 64 69 73 63 rations.per.language......A.disc
117e00 75 73 73 69 6f 6e 20 6f 66 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 70 72 6f 76 69 64 ussion.of.the.information.provid
117e20 65 64 20 62 79 20 61 20 52 61 63 6b 65 74 20 6c 61 6e 67 75 61 67 65 3a 0a 0a 20 20 20 3c 68 74 ed.by.a.Racket.language:.....<ht
117e40 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 74 6f 6f 6c 73 tps://docs.racket-lang.org/tools
117e60 2f 6c 61 6e 67 2d 6c 61 6e 67 75 61 67 65 73 2d 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 2e 68 74 /lang-languages-customization.ht
117e80 6d 6c 3e 0a 0a 4b 65 79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ml>..Key........................
117ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
117ec0 20 20 20 20 20 42 69 6e 64 69 6e 67 0a e2 80 98 44 45 4c e2 80 99 20 20 20 20 20 20 20 20 20 20 .....Binding....DEL.............
117ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
117f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 68 61 73 68 2d ....................racket-hash-
117f20 6c 61 6e 67 2d 64 65 6c 65 74 65 2d 62 61 63 6b 77 61 72 64 2d 63 68 61 72 e2 80 99 0a e2 80 98 lang-delete-backward-char.......
117f40 52 45 54 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RET.............................
117f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
117f80 20 e2 80 98 6e 65 77 6c 69 6e 65 2d 61 6e 64 2d 69 6e 64 65 6e 74 e2 80 99 0a e2 80 98 54 41 42 ....newline-and-indent.......TAB
117fa0 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
117fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 ................................
117fe0 98 69 6e 64 65 6e 74 2d 66 6f 72 2d 74 61 62 2d 63 6f 6d 6d 61 6e 64 e2 80 99 0a e2 80 98 43 2d .indent-for-tab-command.......C-
118000 78 20 43 2d 65 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x.C-e...........................
118020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a ...............................*
118040 6e 6f 74 65 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 74 2d 73 65 78 70 3a 3a 0a e2 80 98 note.racket-send-last-sexp::....
118060 43 2d 4d 2d 71 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 C-M-q...........................
118080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1180a0 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d 64 77 .*note.racket-hash-lang-C-M-q-dw
1180c0 69 6d 3a 3a 0a e2 80 98 43 2d 4d 2d 64 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 im::....C-M-d...................
1180e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
118100 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d .........*note.racket-hash-lang-
118120 64 6f 77 6e 3a 3a 0a e2 80 98 43 2d 4d 2d 75 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 down::....C-M-u.................
118140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
118160 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e ...........*note.racket-hash-lan
118180 67 2d 75 70 3a 3a 0a e2 80 98 43 2d 4d 2d 66 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g-up::....C-M-f.................
1181a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1181c0 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e ...........*note.racket-hash-lan
1181e0 67 2d 66 6f 72 77 61 72 64 3a 3a 0a e2 80 98 43 2d 4d 2d 62 e2 80 99 20 20 20 20 20 20 20 20 20 g-forward::....C-M-b............
118200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
118220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 ................*note.racket-has
118240 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 72 64 3a 3a 0a e2 80 98 43 2d 4d 2d 79 e2 80 99 20 20 20 h-lang-backward::....C-M-y......
118260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
118280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b ......................*note.rack
1182a0 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 3a 3a 0a e2 80 98 43 2d 4d 2d 78 e2 80 99 20 20 et-insert-lambda::....C-M-x.....
1182c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1182e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 .......................*note.rac
118300 6b 65 74 2d 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 75 ket-send-definition::....C-c.C-u
118320 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
118340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 ..........................*note.
118360 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 3a 3a 0a e2 80 98 43 2d 63 racket-unfold-all-tests::....C-c
118380 20 43 2d 66 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .C-f............................
1183a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e ..............................*n
1183c0 6f 74 65 20 72 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 3a 3a 0a e2 80 98 43 ote.racket-fold-all-tests::....C
1183e0 2d 63 20 43 2d 78 20 43 2d 66 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -c.C-x.C-f......................
118400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
118420 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 3a 3a *note.racket-open-require-path::
118440 0a e2 80 98 43 2d 63 20 43 2d 65 20 72 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....C-c.C-e.r...................
118460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
118480 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 3a .....*note.racket-expand-region:
1184a0 3a 0a e2 80 98 43 2d 63 20 43 2d 65 20 65 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :....C-c.C-e.e..................
1184c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1184e0 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 ......*note.racket-expand-last-s
118500 65 78 70 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 65 20 78 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 exp::....C-c.C-e.x..............
118520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
118540 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 ..........*note.racket-expand-de
118560 66 69 6e 69 74 69 6f 6e 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 65 20 66 e2 80 99 20 20 20 20 20 20 finition::....C-c.C-e.f.........
118580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1185a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 65 78 70 61 ...............*note.racket-expa
1185c0 6e 64 2d 66 69 6c 65 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 72 e2 80 99 20 20 20 20 20 20 20 20 20 nd-file::....C-c.C-r............
1185e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
118600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d ..............*note.racket-send-
118620 72 65 67 69 6f 6e 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 6f e2 80 99 20 20 20 20 20 20 20 20 20 20 region::....C-c.C-o.............
118640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
118660 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c .............*note.racket-profil
118680 65 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 6c e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e::....C-c.C-l..................
1186a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1186c0 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 3a 3a 0a e2 80 ........*note.racket-logger::...
1186e0 98 43 2d 63 20 43 2d 74 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .C-c.C-t........................
118700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
118720 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 74 65 73 74 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 7a ..*note.racket-test::....C-c.C-z
118740 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
118760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 .............................rac
118780 6b 65 74 2d 65 64 69 74 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c e2 80 99 0a e2 80 98 43 2d ket-edit-switch-to-repl.......C-
1187a0 63 20 43 2d 6b e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c.C-k...........................
1187c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a ...............................*
1187e0 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 3a note.racket-run-module-at-point:
118800 3a 0a e2 80 98 43 2d 63 20 43 2d 63 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :....C-c.C-c....................
118820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
118840 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 ......*note.racket-run-module-at
118860 2d 70 6f 69 6e 74 3a 3a 0a 0a 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 61 6e 79 20 -point::.....In.addition.to.any.
118880 68 6f 6f 6b 73 20 69 74 73 20 70 61 72 65 6e 74 20 6d 6f 64 65 20 e2 80 98 70 72 6f 67 2d 6d 6f hooks.its.parent.mode....prog-mo
1188a0 64 65 e2 80 99 20 6d 69 67 68 74 20 68 61 76 65 20 72 75 6e 2c 0a 74 68 69 73 20 6d 6f 64 65 20 de....might.have.run,.this.mode.
1188c0 72 75 6e 73 20 74 68 65 20 68 6f 6f 6b 20 e2 80 98 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e runs.the.hook....racket-hash-lan
1188e0 67 2d 6d 6f 64 65 2d 68 6f 6f 6b e2 80 99 2c 20 61 73 20 74 68 65 20 66 69 6e 61 6c 20 6f 72 0a g-mode-hook...,.as.the.final.or.
118900 70 65 6e 75 6c 74 69 6d 61 74 65 20 73 74 65 70 20 64 75 72 69 6e 67 20 69 6e 69 74 69 61 6c 69 penultimate.step.during.initiali
118920 7a 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c zation.....File:.doc49fz4A.info,
118940 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 72 ..Node:.racket-hash-lang-backwar
118960 64 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 66 6f 72 77 61 d,..Next:.racket-hash-lang-forwa
118980 72 64 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 rd,..Prev:.racket-hash-lang-mode
1189a0 2c 20 20 55 70 3a 20 48 61 73 68 20 4c 61 6e 67 73 0a 0a 36 2e 32 2e 32 20 72 61 63 6b 65 74 2d ,..Up:.Hash.Langs..6.2.2.racket-
1189c0 68 61 73 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 72 64 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d hash-lang-backward.-------------
1189e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 4d 2d 62 e2 80 99 0a ------------------.....C-M-b....
118a00 0a 20 20 20 4c 69 6b 65 20 e2 80 98 62 61 63 6b 77 61 72 64 2d 73 65 78 70 e2 80 99 20 62 75 74 ....Like....backward-sexp....but
118a20 20 75 73 65 73 20 23 6c 61 6e 67 20 73 75 70 70 6c 69 65 64 20 6e 61 76 69 67 61 74 69 6f 6e 2e .uses.#lang.supplied.navigation.
118a40 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a ....File:.doc49fz4A.info,..Node:
118a60 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 66 6f 72 77 61 72 64 2c 20 20 4e 65 78 74 .racket-hash-lang-forward,..Next
118a80 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 75 70 2c 20 20 50 72 65 76 3a 20 72 61 :.racket-hash-lang-up,..Prev:.ra
118aa0 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 61 72 64 2c 20 20 55 70 3a 20 48 61 cket-hash-lang-backward,..Up:.Ha
118ac0 73 68 20 4c 61 6e 67 73 0a 0a 36 2e 32 2e 33 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 sh.Langs..6.2.3.racket-hash-lang
118ae0 2d 66 6f 72 77 61 72 64 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -forward.-----------------------
118b00 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 4d 2d 66 e2 80 99 0a 0a 20 20 20 4c 69 6b 65 20 e2 80 -------.....C-M-f........Like...
118b20 98 66 6f 72 77 61 72 64 2d 73 65 78 70 e2 80 99 20 62 75 74 20 75 73 65 73 20 23 6c 61 6e 67 20 .forward-sexp....but.uses.#lang.
118b40 73 75 70 70 6c 69 65 64 20 6e 61 76 69 67 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f supplied.navigation.....File:.do
118b60 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 c49fz4A.info,..Node:.racket-hash
118b80 2d 6c 61 6e 67 2d 75 70 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e -lang-up,..Next:.racket-hash-lan
118ba0 67 2d 64 6f 77 6e 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d g-down,..Prev:.racket-hash-lang-
118bc0 66 6f 72 77 61 72 64 2c 20 20 55 70 3a 20 48 61 73 68 20 4c 61 6e 67 73 0a 0a 36 2e 32 2e 34 20 forward,..Up:.Hash.Langs..6.2.4.
118be0 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 75 70 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d racket-hash-lang-up.------------
118c00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 4d 2d 75 e2 80 99 0a 0a 20 20 20 4c -------------.....C-M-u........L
118c20 69 6b 65 20 e2 80 98 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 e2 80 99 20 62 75 74 20 75 ike....backward-up-list....but.u
118c40 73 65 73 20 23 6c 61 6e 67 20 73 75 70 70 6c 69 65 64 20 6e 61 76 69 67 61 74 69 6f 6e 2e 0a 0a ses.#lang.supplied.navigation...
118c60 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 ..File:.doc49fz4A.info,..Node:.r
118c80 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 6f 77 6e 2c 20 20 4e 65 78 74 3a 20 72 61 63 acket-hash-lang-down,..Next:.rac
118ca0 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d 64 77 69 6d 2c 20 20 50 72 65 76 3a ket-hash-lang-C-M-q-dwim,..Prev:
118cc0 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 75 70 2c 20 20 55 70 3a 20 48 61 73 68 20 .racket-hash-lang-up,..Up:.Hash.
118ce0 4c 61 6e 67 73 0a 0a 36 2e 32 2e 35 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 6f Langs..6.2.5.racket-hash-lang-do
118d00 77 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a wn.---------------------------..
118d20 e2 80 98 43 2d 4d 2d 64 e2 80 99 0a 0a 20 20 20 4c 69 6b 65 20 e2 80 98 64 6f 77 6e 2d 6c 69 73 ...C-M-d........Like....down-lis
118d40 74 e2 80 99 20 62 75 74 20 75 73 65 73 20 23 6c 61 6e 67 20 73 75 70 70 6c 69 65 64 20 6e 61 76 t....but.uses.#lang.supplied.nav
118d60 69 67 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f igation.....File:.doc49fz4A.info
118d80 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d ,..Node:.racket-hash-lang-C-M-q-
118da0 64 77 69 6d 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 64 6f dwim,..Prev:.racket-hash-lang-do
118dc0 77 6e 2c 20 20 55 70 3a 20 48 61 73 68 20 4c 61 6e 67 73 0a 0a 36 2e 32 2e 36 20 72 61 63 6b 65 wn,..Up:.Hash.Langs..6.2.6.racke
118de0 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d 64 77 69 6d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d t-hash-lang-C-M-q-dwim.---------
118e00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 4d ------------------------.....C-M
118e20 2d 71 e2 80 99 0a 0a 20 20 20 46 69 6c 6c 20 6f 72 20 69 6e 64 65 6e 74 20 64 65 70 65 6e 64 69 -q........Fill.or.indent.dependi
118e40 6e 67 20 6f 6e 20 6c 61 6e 67 20 6c 65 78 65 72 e2 80 99 73 20 74 6f 6b 65 6e 20 61 74 20 70 6f ng.on.lang.lexer...s.token.at.po
118e60 69 6e 74 2e 0a 0a 20 20 20 57 68 65 6e 20 74 68 65 20 6c 61 6e 67 20 6c 65 78 65 72 20 74 6f 6b int......When.the.lang.lexer.tok
118e80 65 6e 20 69 73 2e 2e 2e 0a 0a 20 20 20 e2 80 a2 20 e2 80 9c 74 65 78 74 e2 80 9d 2c 20 66 6f 72 en.is...............text...,.for
118ea0 20 65 78 61 6d 70 6c 65 20 69 6e 20 53 63 72 69 62 62 6c 65 20 64 6f 63 75 6d 65 6e 74 20 74 65 .example.in.Scribble.document.te
118ec0 78 74 2c 20 64 6f 20 e2 80 98 66 69 6c 6c 2d 70 61 72 61 67 72 61 70 68 e2 80 99 2e 0a 0a 20 20 xt,.do....fill-paragraph........
118ee0 20 e2 80 a2 20 e2 80 9c 63 6f 6d 6d 65 6e 74 e2 80 9d 2c 20 64 6f 20 e2 80 98 66 69 6c 6c 2d 63 ........comment...,.do....fill-c
118f00 6f 6d 6d 65 6e 74 e2 80 99 2e 0a 0a 20 20 20 e2 80 a2 20 e2 80 9c 77 68 69 74 65 73 70 61 63 65 omment................whitespace
118f20 e2 80 9d 2c 20 67 69 76 65 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 0a 0a 20 20 20 ...,.give.an.error.message......
118f40 e2 80 a2 20 61 6e 79 74 68 69 6e 67 20 65 6c 73 65 2c 20 64 6f 20 e2 80 98 70 72 6f 67 2d 69 6e ....anything.else,.do....prog-in
118f60 64 65 6e 74 2d 73 65 78 70 e2 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 dent-sexp........File:.doc49fz4A
118f80 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 78 70 6c 6f 72 65 2c 20 20 4e 65 78 74 3a 20 52 75 .info,..Node:.Explore,..Next:.Ru
118fa0 6e 2c 20 20 50 72 65 76 3a 20 48 61 73 68 20 4c 61 6e 67 73 2c 20 20 55 70 3a 20 43 6f 6d 6d 61 n,..Prev:.Hash.Langs,..Up:.Comma
118fc0 6e 64 73 0a 0a 36 2e 33 20 45 78 70 6c 6f 72 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 nds..6.3.Explore.===========..*.
118fe0 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b Menu:..*.racket-xp-mode::.*.rack
119000 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 et-xp-describe::.*.racket-xp-doc
119020 75 6d 65 6e 74 61 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 64 65 umentation::.*.racket-xp-next-de
119040 66 69 6e 69 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d finition::.*.racket-xp-previous-
119060 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 75 73 definition::.*.racket-xp-next-us
119080 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 75 73 65 3a 3a 0a 2a e::.*.racket-xp-previous-use::.*
1190a0 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 65 72 72 6f 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 .racket-xp-next-error::.*.racket
1190c0 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 -xp-previous-error::.*.racket-xp
1190e0 2d 74 61 69 6c 2d 75 70 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 64 6f 77 6e -tail-up::.*.racket-xp-tail-down
119100 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 62 6c 69 6e 67 ::.*.racket-xp-tail-next-sibling
119120 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 72 65 76 69 6f 75 73 2d 73 69 62 ::.*.racket-xp-tail-previous-sib
119140 6c 69 6e 67 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 ling::.*.racket-documentation-se
119160 61 72 63 68 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 3a arch::.*.racket-describe-search:
119180 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 :....File:.doc49fz4A.info,..Node
1191a0 3a 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d :.racket-xp-mode,..Next:.racket-
1191c0 78 70 2d 64 65 73 63 72 69 62 65 2c 20 20 55 70 3a 20 45 78 70 6c 6f 72 65 0a 0a 36 2e 33 2e 31 xp-describe,..Up:.Explore..6.3.1
1191e0 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .racket-xp-mode.----------------
119200 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 ----.....M-x.......racket-xp-mod
119220 65 e2 80 99 0a 0a 20 20 20 41 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 74 68 61 74 20 61 6e 61 6c 79 e........A.minor.mode.that.analy
119240 7a 65 73 20 65 78 70 61 6e 64 65 64 20 63 6f 64 65 20 74 6f 20 65 78 70 6c 61 69 6e 20 61 6e 64 zes.expanded.code.to.explain.and
119260 20 65 78 70 6c 6f 72 65 2e 0a 0a 20 20 20 54 68 69 73 20 69 73 20 61 20 6d 69 6e 6f 72 20 6d 6f .explore......This.is.a.minor.mo
119280 64 65 2e 20 20 49 66 20 63 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 74 6f de...If.called.interactively,.to
1192a0 67 67 6c 65 20 74 68 65 20 e2 80 98 52 61 63 6b 65 74 2d 58 70 0a 6d 6f 64 65 e2 80 99 20 6d 6f ggle.the....Racket-Xp.mode....mo
1192c0 64 65 2e 20 20 49 66 20 74 68 65 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 20 69 73 20 70 de...If.the.prefix.argument.is.p
1192e0 6f 73 69 74 69 76 65 2c 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 6f 64 65 2c 20 61 6e 64 20 69 66 ositive,.enable.the.mode,.and.if
119300 0a 69 74 20 69 73 20 7a 65 72 6f 20 6f 72 20 6e 65 67 61 74 69 76 65 2c 20 64 69 73 61 62 6c 65 .it.is.zero.or.negative,.disable
119320 20 74 68 65 20 6d 6f 64 65 2e 0a 0a 20 20 20 49 66 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 4c 69 .the.mode......If.called.from.Li
119340 73 70 2c 20 74 6f 67 67 6c 65 20 74 68 65 20 6d 6f 64 65 20 69 66 20 41 52 47 20 69 73 20 e2 80 sp,.toggle.the.mode.if.ARG.is...
119360 98 74 6f 67 67 6c 65 e2 80 99 2e 20 20 45 6e 61 62 6c 65 20 74 68 65 0a 6d 6f 64 65 20 69 66 20 .toggle......Enable.the.mode.if.
119380 41 52 47 20 69 73 20 6e 69 6c 2c 20 6f 6d 69 74 74 65 64 2c 20 6f 72 20 69 73 20 61 20 70 6f 73 ARG.is.nil,.omitted,.or.is.a.pos
1193a0 69 74 69 76 65 20 6e 75 6d 62 65 72 2e 20 20 44 69 73 61 62 6c 65 20 74 68 65 20 6d 6f 64 65 0a itive.number...Disable.the.mode.
1193c0 69 66 20 41 52 47 20 69 73 20 61 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 2e 0a 0a 20 20 if.ARG.is.a.negative.number.....
1193e0 20 54 6f 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 .To.check.whether.the.minor.mode
119400 20 69 73 20 65 6e 61 62 6c 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 .is.enabled.in.the.current.buffe
119420 72 2c 0a 65 76 61 6c 75 61 74 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 r,.evaluate.*note.racket-xp-mode
119440 3a 3a 2e 0a 0a 20 20 20 54 68 65 20 6d 6f 64 65 e2 80 99 73 20 68 6f 6f 6b 20 69 73 20 63 61 6c ::......The.mode...s.hook.is.cal
119460 6c 65 64 20 62 6f 74 68 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 led.both.when.the.mode.is.enable
119480 64 20 61 6e 64 20 77 68 65 6e 20 69 74 0a 69 73 20 64 69 73 61 62 6c 65 64 2e 0a 0a 20 20 20 54 d.and.when.it.is.disabled......T
1194a0 68 69 73 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 65 6e his.minor.mode.is.an.optional.en
1194c0 68 61 6e 63 65 6d 65 6e 74 20 74 6f 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a hancement.to.*note.racket-mode::
1194e0 0a 65 64 69 74 20 62 75 66 66 65 72 73 2e 20 20 4c 69 6b 65 20 61 6e 79 20 6d 69 6e 6f 72 20 6d .edit.buffers...Like.any.minor.m
119500 6f 64 65 2c 20 79 6f 75 20 63 61 6e 20 74 75 72 6e 20 69 74 20 6f 6e 20 6f 72 20 6f 66 66 20 66 ode,.you.can.turn.it.on.or.off.f
119520 6f 72 20 61 0a 73 70 65 63 69 66 69 63 20 62 75 66 66 65 72 2e 20 20 49 66 20 79 6f 75 20 61 6c or.a.specific.buffer...If.you.al
119540 77 61 79 73 20 77 61 6e 74 20 74 6f 20 75 73 65 20 69 74 2c 20 70 75 74 20 74 68 65 20 66 6f 6c ways.want.to.use.it,.put.the.fol
119560 6c 6f 77 69 6e 67 20 63 6f 64 65 0a 69 6e 20 79 6f 75 72 20 45 6d 61 63 73 20 69 6e 69 74 20 66 lowing.code.in.your.Emacs.init.f
119580 69 6c 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d ile:...........(require.'racket-
1195a0 78 70 29 0a 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 6d xp)..........(add-hook.'racket-m
1195c0 6f 64 65 2d 68 6f 6f 6b 20 23 27 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 29 0a 0a 20 20 20 4e ode-hook.#'racket-xp-mode).....N
1195e0 6f 74 65 3a 20 54 68 69 73 20 6d 6f 64 65 20 77 6f 6e e2 80 99 74 20 64 6f 20 61 6e 79 74 68 69 ote:.This.mode.won...t.do.anythi
119600 6e 67 20 75 6e 6c 65 73 73 2f 75 6e 74 69 6c 20 74 68 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 ng.unless/until.the.Racket.Mode.
119620 62 61 63 6b 0a 65 6e 64 20 69 73 20 72 75 6e 6e 69 6e 67 2e 20 20 49 74 20 77 69 6c 6c 20 74 72 back.end.is.running...It.will.tr
119640 79 20 74 6f 20 73 74 61 72 74 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 61 75 74 6f 6d 61 74 69 y.to.start.the.back.end.automati
119660 63 61 6c 6c 79 2e 20 20 59 6f 75 0a 64 6f 20 5f 6e 6f 74 5f 20 6e 65 65 64 20 74 6f 20 2a 6e 6f cally...You.do._not_.need.to.*no
119680 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 3a 3a 20 74 68 65 20 62 75 66 66 65 72 20 79 6f 75 20 61 te.racket-run::.the.buffer.you.a
1196a0 72 65 20 65 64 69 74 69 6e 67 2e 0a 0a 20 20 20 54 68 69 73 20 6d 6f 64 65 20 75 73 65 73 20 74 re.editing......This.mode.uses.t
1196c0 68 65 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 20 70 61 63 6b 61 67 65 he.drracket/check-syntax.package
1196e0 20 74 6f 20 61 6e 61 6c 79 7a 65 0a 66 75 6c 6c 79 2d 65 78 70 61 6e 64 65 64 20 70 72 6f 67 72 .to.analyze.fully-expanded.progr
119700 61 6d 73 2c 20 77 69 74 68 6f 75 74 20 6e 65 65 64 69 6e 67 20 74 6f 20 65 76 61 6c 75 61 74 65 ams,.without.needing.to.evaluate
119720 20 61 2e 6b 2e 61 2e 20 20 e2 80 9c 72 75 6e e2 80 9d 20 74 68 65 6d 2e 0a 54 68 65 20 72 65 73 .a.k.a......run....them..The.res
119740 75 6c 74 69 6e 67 20 61 6e 61 6c 79 73 69 73 20 70 72 6f 76 69 64 65 73 20 69 6e 66 6f 72 6d 61 ulting.analysis.provides.informa
119760 74 69 6f 6e 20 66 6f 72 3a 0a 0a 20 20 20 e2 80 a2 20 56 69 73 75 61 6c 6c 79 20 61 6e 6e 6f 74 tion.for:.........Visually.annot
119780 61 74 69 6e 67 20 62 69 6e 64 69 6e 67 73 20 e2 80 93 20 6c 6f 63 61 6c 20 6f 72 20 69 6d 70 6f ating.bindings.....local.or.impo
1197a0 72 74 65 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 0a 20 20 20 20 20 72 65 66 65 72 65 rted.definitions.and......refere
1197c0 6e 63 65 73 20 74 6f 20 74 68 65 6d 2e 0a 0a 20 20 20 e2 80 a2 20 56 69 73 75 61 6c 6c 79 20 61 nces.to.them..........Visually.a
1197e0 6e 6e 6f 74 61 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 6e 20 61 20 74 61 69 6c 20 nnotating.expressions.in.a.tail.
119800 70 6f 73 69 74 69 6f 6e 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 74 68 65 0a 20 20 20 20 20 65 6e position,.as.well.as.the......en
119820 63 6c 6f 73 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 74 68 20 72 65 73 70 65 63 74 20 closing.expression.with.respect.
119840 74 6f 20 77 68 69 63 68 20 74 68 65 79 20 61 72 65 20 69 6e 20 61 20 74 61 69 6c 0a 20 20 20 20 to.which.they.are.in.a.tail.....
119860 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 20 20 20 e2 80 a2 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 .position..........Completion.ca
119880 6e 64 69 64 61 74 65 73 2e 0a 0a 20 20 20 e2 80 a2 20 44 65 66 69 6e 74 69 6f 6e 73 e2 80 99 20 ndidates..........Defintions....
1198a0 73 6f 75 72 63 65 20 61 6e 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 20 20 20 57 68 source.and.documentation......Wh
1198c0 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 61 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 72 20 75 en.point.is.on.a.definition.or.u
1198e0 73 65 2c 20 72 65 6c 61 74 65 64 20 69 74 65 6d 73 20 61 72 65 20 68 69 67 68 6c 69 67 68 74 65 se,.related.items.are.highlighte
119900 64 0a 75 73 69 6e 67 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 2d 66 61 63 65 d.using.*note.racket-xp-def-face
119920 3a 3a 20 61 6e 64 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d 66 61 63 65 3a ::.and.*note.racket-xp-use-face:
119940 3a 20 e2 80 93 0a 69 6e 73 74 65 61 64 20 6f 66 20 64 72 61 77 69 6e 67 20 61 72 72 6f 77 73 20 :.....instead.of.drawing.arrows.
119960 61 73 20 69 6e 20 44 72 20 52 61 63 6b 65 74 2e 20 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 as.in.Dr.Racket...Information.is
119980 20 64 69 73 70 6c 61 79 65 64 0a 75 73 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 28 73 29 .displayed.using.the.function(s)
1199a0 20 69 6e 20 74 68 65 20 68 6f 6f 6b 20 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 0a 72 61 63 6b .in.the.hook.variable.*note.rack
1199c0 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 3a 3a 3b 20 69 74 20 69 73 20 61 6c 73 6f 20 et-show-functions::;.it.is.also.
1199e0 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 68 6f 76 65 72 69 6e 67 20 74 68 65 20 6d 6f 75 73 available.when.hovering.the.mous
119a00 65 0a 63 75 72 73 6f 72 2e 0a 0a 20 20 20 4e 6f 74 65 3a 20 49 66 20 79 6f 75 20 66 69 6e 64 20 e.cursor......Note:.If.you.find.
119a20 74 68 65 73 65 20 70 6f 69 6e 74 2d 6d 6f 74 69 6f 6e 20 66 65 61 74 75 72 65 73 20 74 6f 6f 20 these.point-motion.features.too.
119a40 64 69 73 74 72 61 63 74 69 6e 67 20 61 6e 64 2f 6f 72 0a 73 6c 6f 77 2c 20 69 6e 20 79 6f 75 72 distracting.and/or.slow,.in.your
119a60 20 e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 2d 68 6f 6f 6b e2 80 99 20 79 6f 75 20 6d ....racket-xp-mode-hook....you.m
119a80 61 79 20 64 69 73 61 62 6c 65 20 74 68 65 6d 3a 0a 0a 20 20 20 20 20 20 20 28 72 65 71 75 69 72 ay.disable.them:.........(requir
119aa0 65 20 27 72 61 63 6b 65 74 2d 78 70 29 0a 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 e.'racket-xp)........(add-hook.'
119ac0 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 racket-xp-mode-hook.............
119ae0 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(lambda.().................
119b00 20 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 70 72 65 2d 72 65 64 69 73 70 6c 61 79 2d 66 ...(remove-hook.'pre-redisplay-f
119b20 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 unctions........................
119b40 20 20 20 20 20 20 20 20 20 23 27 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 2d 72 65 64 69 73 70 6c .........#'racket-xp-pre-redispl
119b60 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ay..............................
119b80 20 20 20 74 29 29 29 0a 0a 20 20 20 54 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 66 65 61 74 75 72 ...t))).....The.remaining.featur
119ba0 65 73 20 64 69 73 63 75 73 73 65 64 20 62 65 6c 6f 77 20 77 69 6c 6c 20 73 74 69 6c 6c 20 77 6f es.discussed.below.will.still.wo
119bc0 72 6b 2e 0a 0a 20 20 20 59 6f 75 20 6d 61 79 20 61 6c 73 6f 20 75 73 65 20 63 6f 6d 6d 61 6e 64 rk......You.may.also.use.command
119be0 73 20 74 6f 20 6e 61 76 69 67 61 74 65 20 61 6d 6f 6e 67 20 61 20 64 65 66 69 6e 69 74 69 6f 6e s.to.navigate.among.a.definition
119c00 20 61 6e 64 20 69 74 73 0a 75 73 65 73 2c 20 6f 72 20 74 6f 20 72 65 6e 61 6d 65 20 61 20 6c 6f .and.its.uses,.or.to.rename.a.lo
119c20 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 61 6c 6c 20 69 74 73 20 75 73 65 73 cal.definitions.and.all.its.uses
119c40 3a 0a 0a 20 20 20 e2 80 a2 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 64 :.........*note.racket-xp-next-d
119c60 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a 20 20 20 e2 80 a2 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d efinition::........*note.racket-
119c80 78 70 2d 70 72 65 76 69 6f 75 73 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 0a 20 20 20 e2 80 a2 20 xp-previous-definition::........
119ca0 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 75 73 65 3a 3a 0a 20 20 20 e2 80 *note.racket-xp-next-use::......
119cc0 a2 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 75 73 65 3a 3a ..*note.racket-xp-previous-use::
119ce0 0a 0a 20 20 20 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 69 74 74 6c 65 20 65 78 61 .....In.the.following.little.exa
119d00 6d 70 6c 65 2c 20 6e 6f 74 20 6f 6e 6c 79 20 64 6f 65 73 20 64 72 72 61 63 6b 65 74 2f 63 68 65 mple,.not.only.does.drracket/che
119d20 63 6b 2d 73 79 6e 74 61 78 0a 64 69 73 74 69 6e 67 75 69 73 68 20 74 68 65 20 76 61 72 69 6f 75 ck-syntax.distinguish.the.variou
119d40 73 20 e2 80 9c 78 e2 80 9d 20 62 69 6e 64 69 6e 67 73 2c 20 69 74 20 75 6e 64 65 72 73 74 61 6e s....x....bindings,.it.understan
119d60 64 73 20 74 68 65 20 74 77 6f 20 64 69 66 66 65 72 65 6e 74 0a 69 6d 70 6f 72 74 73 20 6f 66 20 ds.the.two.different.imports.of.
119d80 e2 80 9c 64 65 66 69 6e 65 e2 80 9d 3a 0a 0a 20 20 20 20 20 20 20 23 6c 61 6e 67 20 72 61 63 6b ...define...:.........#lang.rack
119da0 65 74 2f 62 61 73 65 0a 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 78 20 31 29 0a 20 20 20 20 et/base........(define.x.1).....
119dc0 20 20 20 78 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 5b 78 20 78 5d 29 0a 20 20 20 20 20 20 20 ...x........(let.([x.x])........
119de0 20 20 28 2b 20 78 20 31 29 29 0a 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 20 6d 20 74 79 70 65 ..(+.x.1))........(module.m.type
119e00 64 2f 72 61 63 6b 65 74 2f 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 20 78 d/racket/base..........(define.x
119e20 20 32 29 0a 20 20 20 20 20 20 20 20 20 78 29 0a 0a 20 20 20 57 68 65 6e 20 70 6f 69 6e 74 20 69 .2)..........x).....When.point.i
119e40 73 20 6f 6e 20 74 68 65 20 6f 70 65 6e 69 6e 67 20 70 61 72 65 6e 74 68 65 73 69 73 20 6f 66 20 s.on.the.opening.parenthesis.of.
119e60 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 6e 20 74 61 69 6c 0a 70 6f 73 69 74 69 6f 6e 2c 20 an.expression.in.tail.position,.
119e80 69 74 20 69 73 20 68 69 67 68 6c 69 67 68 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 66 61 63 65 it.is.highlighted.using.the.face
119ea0 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 2d 66 .*note.racket-xp-tail-position-f
119ec0 61 63 65 3a 3a 2e 0a 0a 20 20 20 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 74 68 65 20 ace::......When.point.is.on.the.
119ee0 6f 70 65 6e 69 6e 67 20 70 61 72 65 6e 74 68 65 73 69 73 20 6f 66 20 61 6e 20 65 6e 63 6c 6f 73 opening.parenthesis.of.an.enclos
119f00 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 0a 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 77 ing.expression.with.respect.to.w
119f20 68 69 63 68 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 hich.one.or.more.expressions.are
119f40 20 69 6e 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 2c 20 69 74 0a 69 73 20 68 69 67 68 6c 69 67 .in.tail.position,.it.is.highlig
119f60 68 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 66 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 hted.using.the.face.*note.racket
119f80 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 2d 66 61 63 65 3a 3a 2e 0a 0a 20 20 20 46 75 72 74 -xp-tail-target-face::......Furt
119fa0 68 65 72 6d 6f 72 65 2c 20 77 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 74 68 65 20 6f 70 hermore,.when.point.is.on.the.op
119fc0 65 6e 69 6e 67 20 70 61 72 65 6e 74 68 65 73 69 73 20 6f 66 20 65 69 74 68 65 72 20 6b 69 6e 64 ening.parenthesis.of.either.kind
119fe0 0a 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 61 6c 6c 20 6f 66 20 74 68 65 20 69 6d 6d 65 64 .of.expression,.all.of.the.immed
11a000 69 61 74 65 6c 79 20 72 65 6c 61 74 65 64 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 61 iately.related.expressions.are.a
11a020 6c 73 6f 0a 68 69 67 68 6c 69 67 68 74 65 64 2e 20 20 56 61 72 69 6f 75 73 20 63 6f 6d 6d 61 6e lso.highlighted...Various.comman
11a040 64 73 20 6d 6f 76 65 20 61 6d 6f 6e 67 20 74 68 65 6d 3a 0a 0a 20 20 20 e2 80 a2 20 2a 6e 6f 74 ds.move.among.them:.........*not
11a060 65 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 3a 3a 0a 20 20 20 e2 80 a2 20 2a 6e 6f e.racket-xp-tail-up::........*no
11a080 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 64 6f 77 6e 3a 3a 0a 20 20 20 e2 80 a2 20 te.racket-xp-tail-down::........
11a0a0 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 62 6c 69 6e *note.racket-xp-tail-next-siblin
11a0c0 67 3a 3a 0a 20 20 20 e2 80 a2 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d g::........*note.racket-xp-tail-
11a0e0 70 72 65 76 69 6f 75 73 2d 73 69 62 6c 69 6e 67 3a 3a 0a 0a 20 20 20 54 68 65 20 66 75 6e 63 74 previous-sibling::.....The.funct
11a100 69 6f 6e 20 e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 6f 69 ion....racket-xp-complete-at-poi
11a120 6e 74 e2 80 99 20 69 73 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a e2 nt....is.added.to.the.variable..
11a140 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 2d 66 75 6e 63 74 69 6f 6e 73 e2 ..completion-at-point-functions.
11a160 80 99 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 74 68 69 73 20 63 61 73 65 2c 20 69 74 20 .....Note.that.in.this.case,.it.
11a180 69 73 20 6e 6f 74 0a 73 6d 61 72 74 20 61 62 6f 75 74 20 73 75 62 6d 6f 64 75 6c 65 73 3b 20 69 is.not.smart.about.submodules;.i
11a1a0 64 65 6e 74 69 66 69 65 72 73 20 61 72 65 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 64 65 66 dentifiers.are.assumed.to.be.def
11a1c0 69 6e 69 74 69 6f 6e 73 20 66 72 6f 6d 0a 74 68 65 20 66 69 6c 65 e2 80 99 73 20 6d 6f 64 75 6c initions.from.the.file...s.modul
11a1e0 65 20 6f 72 20 69 74 73 20 69 6d 70 6f 72 74 73 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 e.or.its.imports...In.addition.t
11a200 6f 20 73 75 70 70 6c 79 69 6e 67 20 63 6f 6d 70 6c 65 74 69 6f 6e 0a 63 61 6e 64 69 64 61 74 65 o.supplying.completion.candidate
11a220 73 2c 20 69 74 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 e2 80 9c 3a 63 6f 6d 70 61 6e 79 2d 6c s,.it.supports.the....:company-l
11a240 6f 63 61 74 69 6f 6e e2 80 9d 20 70 72 6f 70 65 72 74 79 20 74 6f 20 69 6e 73 70 65 63 74 20 74 ocation....property.to.inspect.t
11a260 68 65 0a 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 61 20 63 61 6e 64 69 64 61 74 65 20 61 6e 64 he.definition.of.a.candidate.and
11a280 20 74 68 65 20 e2 80 9c 3a 63 6f 6d 70 61 6e 79 2d 64 6f 63 2d 62 75 66 66 65 72 e2 80 9d 20 70 .the....:company-doc-buffer....p
11a2a0 72 6f 70 65 72 74 79 20 74 6f 20 76 69 65 77 0a 69 74 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f roperty.to.view.its.documentatio
11a2c0 6e 2e 0a 0a 20 20 20 57 68 65 6e 20 79 6f 75 20 65 64 69 74 20 74 68 65 20 62 75 66 66 65 72 2c n......When.you.edit.the.buffer,
11a2e0 20 65 78 69 73 74 69 6e 67 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 61 72 65 20 72 65 74 61 69 6e .existing.annotations.are.retain
11a300 65 64 3b 20 74 68 65 69 72 0a 70 6f 73 69 74 69 6f 6e 73 20 61 72 65 20 75 70 64 61 74 65 64 20 ed;.their.positions.are.updated.
11a320 74 6f 20 72 65 66 6c 65 63 74 20 74 68 65 20 65 64 69 74 2e 20 20 41 6e 6e 6f 74 61 74 69 6f 6e to.reflect.the.edit...Annotation
11a340 73 20 66 6f 72 20 6e 65 77 20 6f 72 0a 64 65 6c 65 74 65 64 20 74 65 78 74 20 61 72 65 20 6e 6f s.for.new.or.deleted.text.are.no
11a360 74 20 72 65 71 75 65 73 74 65 64 20 75 6e 74 69 6c 20 61 66 74 65 72 20 2a 6e 6f 74 65 0a 72 61 t.requested.until.after.*note.ra
11a380 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c cket-xp-after-change-refresh-del
11a3a0 61 79 3a 3a 20 73 65 63 6f 6e 64 73 2e 20 20 54 68 65 20 72 65 71 75 65 73 74 20 69 73 20 6d 61 ay::.seconds...The.request.is.ma
11a3c0 64 65 0a 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 73 6f 20 74 68 61 74 20 45 6d 61 63 73 20 de.asynchronously.so.that.Emacs.
11a3e0 77 69 6c 6c 20 6e 6f 74 20 62 6c 6f 63 6b 20 e2 80 93 20 66 6f 72 20 6d 6f 64 65 72 61 74 65 6c will.not.block.....for.moderatel
11a400 79 20 63 6f 6d 70 6c 65 78 0a 73 6f 75 72 63 65 20 66 69 6c 65 73 2c 20 69 74 20 63 61 6e 20 74 y.complex.source.files,.it.can.t
11a420 61 6b 65 20 73 6f 6d 65 20 73 65 63 6f 6e 64 73 20 73 69 6d 70 6c 79 20 74 6f 20 66 75 6c 6c 79 ake.some.seconds.simply.to.fully
11a440 20 65 78 70 61 6e 64 20 74 68 65 6d 2c 20 61 73 0a 77 65 6c 6c 20 61 73 20 61 20 6c 69 74 74 6c .expand.them,.as.well.as.a.littl
11a460 65 20 6d 6f 72 65 20 74 69 6d 65 20 66 6f 72 20 74 68 65 20 64 72 72 61 63 6b 65 74 2f 63 68 65 e.more.time.for.the.drracket/che
11a480 63 6b 2d 73 79 6e 74 61 78 20 61 6e 61 6c 79 73 69 73 2e 20 20 57 68 65 6e 0a 74 68 65 20 72 65 ck-syntax.analysis...When.the.re
11a4a0 73 75 6c 74 73 20 61 72 65 20 72 65 61 64 79 2c 20 61 6c 6c 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 sults.are.ready,.all.annotations
11a4c0 20 66 6f 72 20 74 68 65 20 62 75 66 66 65 72 20 61 72 65 20 63 6f 6d 70 6c 65 74 65 6c 79 0a 72 .for.the.buffer.are.completely.r
11a4e0 65 66 72 65 73 68 65 64 2e 0a 0a 20 20 20 59 6f 75 20 6d 61 79 20 61 6c 73 6f 20 73 65 74 20 2a efreshed......You.may.also.set.*
11a500 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 note.racket-xp-after-change-refr
11a520 65 73 68 2d 64 65 6c 61 79 3a 3a 20 74 6f 20 6e 69 6c 0a 61 6e 64 20 75 73 65 20 74 68 65 20 e2 esh-delay::.to.nil.and.use.the..
11a540 80 98 72 61 63 6b 65 74 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 e2 80 99 20 63 6f 6d 6d 61 6e 64 20 ..racket-xp-annotate....command.
11a560 6d 61 6e 75 61 6c 6c 79 2e 0a 0a 20 20 20 54 68 65 20 6d 6f 64 65 20 6c 69 6e 65 20 63 68 61 6e manually......The.mode.line.chan
11a580 67 65 73 20 74 6f 20 72 65 66 6c 65 63 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 75 ges.to.reflect.the.current.statu
11a5a0 73 20 6f 66 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2c 0a 61 6e 64 20 77 68 65 74 68 65 72 20 6f 72 s.of.annotations,.and.whether.or
11a5c0 20 6e 6f 74 20 79 6f 75 20 68 61 64 20 61 20 73 79 6e 74 61 78 20 65 72 72 6f 72 2e 0a 0a 20 20 .not.you.had.a.syntax.error.....
11a5e0 20 49 66 20 79 6f 75 20 68 61 76 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 73 79 6e 74 61 78 20 .If.you.have.one.or.more.syntax.
11a600 65 72 72 6f 72 73 2c 20 e2 80 98 6e 65 78 74 2d 65 72 72 6f 72 e2 80 99 20 61 6e 64 0a e2 80 98 errors,....next-error....and....
11a620 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 e2 80 99 20 6e 61 76 69 67 61 74 65 20 61 6d 6f 6e 67 previous-error....navigate.among
11a640 20 74 68 65 6d 2e 20 20 41 6c 74 68 6f 75 67 68 20 6d 6f 73 74 20 6c 61 6e 67 75 61 67 65 73 20 .them...Although.most.languages.
11a660 77 69 6c 6c 20 73 74 6f 70 0a 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 73 79 6e 74 61 78 will.stop.after.the.first.syntax
11a680 20 65 72 72 6f 72 2c 20 73 6f 6d 65 20 6c 69 6b 65 20 54 79 70 65 64 20 52 61 63 6b 65 74 20 77 .error,.some.like.Typed.Racket.w
11a6a0 69 6c 6c 20 74 72 79 20 74 6f 20 63 6f 6c 6c 65 63 74 0a 61 6e 64 20 72 65 70 6f 72 74 20 6d 75 ill.try.to.collect.and.report.mu
11a6c0 6c 74 69 70 6c 65 20 65 72 72 6f 72 73 2e 0a 0a 20 20 20 59 6f 75 20 6d 61 79 20 75 73 65 20 e2 ltiple.errors......You.may.use..
11a6e0 80 98 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 e2 80 99 20 e2 80 98 4d 2d ..xref-find-definitions.......M-
11a700 2e e2 80 99 20 2c 20 e2 80 98 78 72 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 63 6b e2 .....,....xref-pop-marker-stack.
11a720 80 99 0a e2 80 98 4d 2d 2c e2 80 99 20 2c 20 61 6e 64 20 e2 80 98 78 72 65 66 2d 66 69 6e 64 2d ......M-,....,.and....xref-find-
11a740 72 65 66 65 72 65 6e 63 65 73 e2 80 99 3a 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d references...:.*note.racket-xp-m
11a760 6f 64 65 3a 3a 20 61 64 64 73 20 61 0a 62 61 63 6b 65 6e 64 20 74 6f 20 74 68 65 20 76 61 72 69 ode::.adds.a.backend.to.the.vari
11a780 61 62 6c 65 20 e2 80 98 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 e2 80 able....xref-backend-functions..
11a7a0 99 2e 20 20 54 68 69 73 20 62 61 63 6b 65 6e 64 20 75 73 65 73 0a 69 6e 66 6f 72 6d 61 74 69 6f ....This.backend.uses.informatio
11a7c0 6e 20 66 72 6f 6d 20 74 68 65 20 64 72 72 61 63 6b 65 74 2f 63 68 65 63 6b 2d 73 79 6e 74 61 78 n.from.the.drracket/check-syntax
11a7e0 20 73 74 61 74 69 63 20 61 6e 61 6c 79 73 69 73 2e 20 20 49 74 73 20 61 62 69 6c 69 74 79 0a 74 .static.analysis...Its.ability.t
11a800 6f 20 66 69 6e 64 20 72 65 66 65 72 65 6e 63 65 73 20 69 73 20 6c 69 6d 69 74 65 64 20 74 6f 20 o.find.references.is.limited.to.
11a820 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 3b 20 77 68 65 6e 20 69 74 20 66 69 6e 64 73 20 the.current.file;.when.it.finds.
11a840 6e 6f 6e 65 20 69 74 0a 77 69 6c 6c 20 74 72 79 20 74 68 65 20 64 65 66 61 75 6c 74 20 78 72 65 none.it.will.try.the.default.xre
11a860 66 20 62 61 63 6b 65 6e 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 77 68 69 63 68 20 69 f.backend.implementation.which.i
11a880 73 20 67 72 65 70 2d 62 61 73 65 64 2e 0a 0a 20 20 20 54 69 70 3a 20 54 68 69 73 20 6d 6f 64 65 s.grep-based......Tip:.This.mode
11a8a0 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 74 68 61 74 20 61 20 6d .follows.the.convention.that.a.m
11a8c0 69 6e 6f 72 20 6d 6f 64 65 20 6d 61 79 20 6f 6e 6c 79 20 75 73 65 0a 61 20 70 72 65 66 69 78 20 inor.mode.may.only.use.a.prefix.
11a8e0 6b 65 79 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 e2 80 9c 43 2d 63 e2 80 9d 20 66 6f 6c 6c key.consisting.of....C-c....foll
11a900 6f 77 65 64 20 62 79 20 61 20 70 75 6e 63 74 75 61 74 69 6f 6e 20 6b 65 79 2e 20 20 41 73 20 61 owed.by.a.punctuation.key...As.a
11a920 0a 72 65 73 75 6c 74 2c 20 e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 63 6f 6e 74 72 6f 6c 2d 63 2d .result,....racket-xp-control-c-
11a940 68 61 73 68 2d 6b 65 79 6d 61 70 e2 80 99 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 e2 80 9c 43 2d hash-keymap....is.bound.to....C-
11a960 63 20 23 e2 80 9d 20 62 79 0a 64 65 66 61 75 6c 74 2e 20 20 41 6c 74 68 6f 75 67 68 20 79 6f 75 c.#....by.default...Although.you
11a980 20 6d 69 67 68 74 20 66 69 6e 64 20 74 68 69 73 20 61 77 6b 77 61 72 64 20 74 6f 20 74 79 70 65 .might.find.this.awkward.to.type
11a9a0 2c 20 72 65 6d 65 6d 62 65 72 20 74 68 61 74 20 61 73 0a 61 6e 20 45 6d 61 63 73 20 75 73 65 72 ,.remember.that.as.an.Emacs.user
11a9c0 2c 20 79 6f 75 20 61 72 65 20 66 72 65 65 20 74 6f 20 62 69 6e 64 20 74 68 69 73 20 6d 61 70 20 ,.you.are.free.to.bind.this.map.
11a9e0 74 6f 20 61 20 6d 6f 72 65 20 63 6f 6e 76 65 6e 69 65 6e 74 0a 70 72 65 66 69 78 2c 20 61 6e 64 to.a.more.convenient.prefix,.and
11aa00 2f 6f 72 20 62 69 6e 64 20 61 6e 79 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 6d 6d 61 6e 64 73 /or.bind.any.individual.commands
11aa20 20 64 69 72 65 63 74 6c 79 20 74 6f 20 77 68 61 74 65 76 65 72 20 6b 65 79 73 0a 79 6f 75 20 70 .directly.to.whatever.keys.you.p
11aa40 72 65 66 65 72 2e 0a 0a 4b 65 79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 refer...Key.....................
11aa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11aa80 42 69 6e 64 69 6e 67 0a e2 80 98 4d 2d 2e e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Binding....M-...................
11aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11aac0 20 20 20 20 e2 80 98 78 72 65 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 e2 80 99 0a .......xref-find-definitions....
11aae0 e2 80 98 43 2d 63 20 43 2d 73 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...C-c.C-s......................
11ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 ............................*not
11ab20 65 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 3a 3a 0a e2 80 98 43 2d e.racket-describe-search::....C-
11ab40 63 20 43 2d 64 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c.C-d...........................
11ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 .......................*note.rac
11ab80 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 3a 0a e2 80 98 43 2d 63 20 43 2d ket-xp-documentation::....C-c.C-
11aba0 2e e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11abc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d ...................*note.racket-
11abe0 78 70 2d 64 65 73 63 72 69 62 65 3a 3a 0a e2 80 98 43 2d 63 20 23 20 50 e2 80 99 20 20 20 20 20 xp-describe::....C-c.#.P........
11ac00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11ac20 20 20 20 20 20 20 20 20 20 20 e2 80 98 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 e2 80 99 0a e2 .............previous-error.....
11ac40 80 98 43 2d 63 20 23 20 4e e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..C-c.#.N.......................
11ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 6e 65 ..............................ne
11ac80 78 74 2d 65 72 72 6f 72 e2 80 99 0a e2 80 98 43 2d 63 20 23 20 67 e2 80 99 20 20 20 20 20 20 20 xt-error.......C-c.#.g..........
11aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11acc0 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 61 6e 6e 6f 74 61 74 65 e2 80 99 ...........racket-xp-annotate...
11ace0 0a e2 80 98 43 2d 63 20 23 20 3c e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....C-c.#.<.....................
11ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f .............................*no
11ad20 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 72 65 76 69 6f 75 73 2d 73 69 62 6c 69 te.racket-xp-tail-previous-sibli
11ad40 6e 67 3a 3a 0a e2 80 98 43 2d 63 20 23 20 3e e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng::....C-c.#.>.................
11ad60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11ad80 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 62 6c 69 .*note.racket-xp-tail-next-sibli
11ada0 6e 67 3a 3a 0a e2 80 98 43 2d 63 20 23 20 76 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng::....C-c.#.v.................
11adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11ade0 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 64 6f 77 6e 3a 3a 0a e2 80 98 .*note.racket-xp-tail-down::....
11ae00 43 2d 63 20 23 20 5e e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 C-c.#.^.........................
11ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 .........................*note.r
11ae40 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 3a 3a 0a e2 80 98 43 2d 63 20 23 20 72 e2 80 99 acket-xp-tail-up::....C-c.#.r...
11ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11ae80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 72 65 6e 61 ..................racket-xp-rena
11aea0 6d 65 e2 80 99 0a e2 80 98 43 2d 63 20 23 20 3f e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 me.......C-c.#.?................
11aec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11aee0 20 20 e2 80 98 78 72 65 66 2d 66 69 6e 64 2d 72 65 66 65 72 65 6e 63 65 73 e2 80 99 0a e2 80 98 .....xref-find-references.......
11af00 43 2d 63 20 23 20 2e e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 C-c.#...........................
11af20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 78 72 65 66 ............................xref
11af40 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 e2 80 99 0a e2 80 98 43 2d 63 20 23 20 70 e2 -find-definitions.......C-c.#.p.
11af60 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11af80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 .................*note.racket-xp
11afa0 2d 70 72 65 76 69 6f 75 73 2d 75 73 65 3a 3a 0a e2 80 98 43 2d 63 20 23 20 6e e2 80 99 20 20 20 -previous-use::....C-c.#.n......
11afc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11afe0 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 ............*note.racket-xp-next
11b000 2d 75 73 65 3a 3a 0a e2 80 98 43 2d 63 20 23 20 6b e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 -use::....C-c.#.k...............
11b020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11b040 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 64 65 66 69 ...*note.racket-xp-previous-defi
11b060 6e 69 74 69 6f 6e 3a 3a 0a e2 80 98 43 2d 63 20 23 20 6a e2 80 99 20 20 20 20 20 20 20 20 20 20 nition::....C-c.#.j.............
11b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11b0a0 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 64 65 66 69 6e 69 .....*note.racket-xp-next-defini
11b0c0 74 69 6f 6e 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 tion::....File:.doc49fz4A.info,.
11b0e0 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 2c 20 20 4e 65 78 74 .Node:.racket-xp-describe,..Next
11b100 3a 20 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 20 50 72 65 76 :.racket-xp-documentation,..Prev
11b120 3a 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 2c 20 20 55 70 3a 20 45 78 70 6c 6f 72 65 0a 0a :.racket-xp-mode,..Up:.Explore..
11b140 36 2e 33 2e 32 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 0a 2d 2d 2d 2d 2d 2d 2d 6.3.2.racket-xp-describe.-------
11b160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 2e e2 80 99 -----------------.....C-c.C-....
11b180 0a 0a 20 20 20 44 65 73 63 72 69 62 65 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 61 74 20 .....Describe.the.identifier.at.
11b1a0 70 6f 69 6e 74 2e 0a 0a 20 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 76 61 72 69 65 73 20 62 61 point......The.command.varies.ba
11b1c0 73 65 64 20 6f 6e 20 68 6f 77 20 6d 61 6e 79 20 e2 80 98 43 2d 75 e2 80 99 20 63 6f 6d 6d 61 6e sed.on.how.many....C-u....comman
11b1e0 64 20 70 72 65 66 69 78 65 73 20 79 6f 75 0a 73 75 70 70 6c 79 2e 0a 0a 20 20 20 e2 80 a2 20 e2 d.prefixes.you.supply...........
11b200 80 98 43 2d 63 20 43 2d 2e e2 80 99 0a 0a 20 20 20 20 20 55 73 65 73 20 74 68 65 20 73 79 6d 62 ..C-c.C-...........Uses.the.symb
11b220 6f 6c 20 61 74 20 70 6f 69 6e 74 2e 20 20 49 66 20 6e 6f 20 73 75 63 68 20 73 79 6d 62 6f 6c 20 ol.at.point...If.no.such.symbol.
11b240 65 78 69 73 74 73 2c 20 79 6f 75 20 61 72 65 0a 20 20 20 20 20 70 72 6f 6d 70 74 65 64 20 65 6e exists,.you.are......prompted.en
11b260 74 65 72 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20 ter.the.identifier,.but.in.this.
11b280 63 61 73 65 20 69 74 20 6f 6e 6c 79 20 63 6f 6e 73 69 64 65 72 73 0a 20 20 20 20 20 64 65 66 69 case.it.only.considers......defi
11b2a0 6e 69 74 69 6f 6e 73 20 6f 72 20 69 6d 70 6f 72 74 73 20 61 74 20 74 68 65 20 66 69 6c 65 e2 80 nitions.or.imports.at.the.file..
11b2c0 99 73 20 6d 6f 64 75 6c 65 20 6c 65 76 65 6c 20 e2 80 93 20 6e 6f 74 20 6c 6f 63 61 6c 0a 20 20 .s.module.level.....not.local...
11b2e0 20 20 20 62 69 6e 64 69 6e 67 73 20 6e 6f 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 69 6e 20 73 ...bindings.nor.definitions.in.s
11b300 75 62 6d 6f 64 75 6c 65 73 2e 0a 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 49 66 20 74 68 65 20 69 ubmodules...............If.the.i
11b320 64 65 6e 74 69 66 69 65 72 20 68 61 73 20 69 6e 73 74 61 6c 6c 65 64 20 52 61 63 6b 65 74 20 64 dentifier.has.installed.Racket.d
11b340 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 74 68 65 6e 20 61 0a 20 20 20 20 20 20 20 20 20 20 73 ocumentation,.then.a...........s
11b360 69 6d 70 6c 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 48 54 4d 4c 20 69 73 implified.version.of.the.HTML.is
11b380 20 70 72 65 73 65 6e 74 65 64 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 2c 0a 20 20 20 20 20 20 .presented.in.the.buffer,.......
11b3a0 20 20 20 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 e2 80 9c 62 6c 75 65 20 62 6f 78 e2 80 9d ....including.the....blue.box...
11b3c0 2c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 70 72 6f 73 65 2c 20 61 6e 64 20 65 78 61 6d 70 ,.documentation.prose,.and.examp
11b3e0 6c 65 73 2e 0a 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 4f 74 68 65 72 77 69 73 65 2c 20 69 66 20 les...............Otherwise,.if.
11b400 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 the.identifier.is.a.function,.th
11b420 65 6e 20 69 74 73 20 73 69 67 6e 61 74 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 69 73 20 64 69 en.its.signature...........is.di
11b440 73 70 6c 61 79 65 64 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 e2 80 9c 28 6e 61 6d 65 20 61 72 splayed,.for.example....(name.ar
11b460 67 2d 31 2d 6e 61 6d 65 20 61 72 67 2d 32 2d 6e 61 6d 65 29 e2 80 9d 2e 0a 0a 20 20 20 e2 80 a2 g-1-name.arg-2-name)............
11b480 20 e2 80 98 43 2d 75 e2 80 99 20 e2 80 98 43 2d 63 20 43 2d 2e e2 80 99 0a 0a 20 20 20 20 20 41 ....C-u.......C-c.C-...........A
11b4a0 6c 77 61 79 73 20 70 72 6f 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 6e 74 65 72 20 61 20 73 79 6d lways.prompts.you.to.enter.a.sym
11b4c0 62 6f 6c 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 20 61 74 bol,.defaulting.to.the.symbol.at
11b4e0 0a 20 20 20 20 20 70 6f 69 6e 74 20 69 66 20 61 6e 79 2e 0a 0a 20 20 20 e2 80 a2 20 e2 80 98 43 ......point.if.any.............C
11b500 2d 75 e2 80 99 20 e2 80 98 43 2d 75 e2 80 99 20 e2 80 98 43 2d 63 20 43 2d 2e e2 80 99 0a 0a 20 -u.......C-u.......C-c.C-.......
11b520 20 20 20 20 54 68 69 73 20 69 73 20 61 6e 20 61 6c 69 61 73 20 66 6f 72 20 2a 6e 6f 74 65 20 72 ....This.is.an.alias.for.*note.r
11b540 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 3a 3a 2c 20 77 68 69 63 68 20 75 acket-describe-search::,.which.u
11b560 73 65 73 0a 20 20 20 20 20 69 6e 73 74 61 6c 6c 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e ses......installed.documentation
11b580 20 69 6e 20 61 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 e2 80 99 .in.a....racket-describe-mode...
11b5a0 20 62 75 66 66 65 72 20 69 6e 73 74 65 61 64 0a 20 20 20 20 20 6f 66 20 61 6e 20 65 78 74 65 72 .buffer.instead......of.an.exter
11b5c0 6e 61 6c 20 77 65 62 20 62 72 6f 77 73 65 72 2e 0a 0a 20 20 20 54 68 65 20 69 6e 74 65 6e 74 20 nal.web.browser......The.intent.
11b5e0 69 73 20 74 6f 20 67 69 76 65 20 61 20 71 75 69 63 6b 20 72 65 6d 69 6e 64 65 72 20 6f 72 20 69 is.to.give.a.quick.reminder.or.i
11b600 6e 74 72 6f 64 75 63 74 69 6f 6e 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 2c 0a 72 65 67 61 72 64 ntroduction.to.something,.regard
11b620 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 69 74 20 68 61 73 20 69 6e 73 74 61 6c 6c 65 64 less.of.whether.it.has.installed
11b640 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 e2 80 93 20 61 6e 64 20 74 6f 20 64 6f 20 73 6f 0a .documentation.....and.to.do.so.
11b660 77 69 74 68 69 6e 20 45 6d 61 63 73 2c 20 77 69 74 68 6f 75 74 20 73 77 69 74 63 68 69 6e 67 20 within.Emacs,.without.switching.
11b680 74 6f 20 61 20 77 65 62 20 62 72 6f 77 73 65 72 2e 0a 0a 20 20 20 54 68 69 73 20 62 75 66 66 65 to.a.web.browser......This.buffe
11b6a0 72 20 69 73 20 61 6c 73 6f 20 64 69 73 70 6c 61 79 65 64 20 77 68 65 6e 20 79 6f 75 20 75 73 65 r.is.also.displayed.when.you.use
11b6c0 20 e2 80 98 63 6f 6d 70 61 6e 79 2d 6d 6f 64 65 e2 80 99 20 61 6e 64 20 70 72 65 73 73 0a 46 31 ....company-mode....and.press.F1
11b6e0 20 6f 72 20 43 2d 68 20 69 6e 20 69 74 73 20 70 6f 70 20 75 70 20 63 6f 6d 70 6c 65 74 69 6f 6e .or.C-h.in.its.pop.up.completion
11b700 20 6c 69 73 74 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 .list.....File:.doc49fz4A.info,.
11b720 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 .Node:.racket-xp-documentation,.
11b740 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 64 65 66 69 6e 69 74 69 6f 6e .Next:.racket-xp-next-definition
11b760 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 2c 20 20 55 70 ,..Prev:.racket-xp-describe,..Up
11b780 3a 20 45 78 70 6c 6f 72 65 0a 0a 36 2e 33 2e 33 20 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d :.Explore..6.3.3.racket-xp-docum
11b7a0 65 6e 74 61 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d entation.-----------------------
11b7c0 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 64 e2 80 99 0a 0a 20 20 20 56 69 65 77 20 64 ------.....C-c.C-d........View.d
11b7e0 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 77 65 62 20 ocumentation.in.an.external.web.
11b800 62 72 6f 77 73 65 72 2e 0a 0a 20 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 76 61 72 69 65 73 20 browser......The.command.varies.
11b820 62 61 73 65 64 20 6f 6e 20 68 6f 77 20 6d 61 6e 79 20 e2 80 98 43 2d 75 e2 80 99 20 63 6f 6d 6d based.on.how.many....C-u....comm
11b840 61 6e 64 20 70 72 65 66 69 78 65 73 20 79 6f 75 0a 73 75 70 70 6c 79 2e 0a 0a 20 20 20 e2 80 a2 and.prefixes.you.supply.........
11b860 20 e2 80 98 43 2d 63 20 43 2d 64 e2 80 99 0a 0a 20 20 20 20 20 55 73 65 73 20 74 68 65 20 73 79 ....C-c.C-d..........Uses.the.sy
11b880 6d 62 6f 6c 20 61 74 20 70 6f 69 6e 74 2e 20 20 54 72 69 65 73 20 74 6f 20 66 69 6e 64 20 64 6f mbol.at.point...Tries.to.find.do
11b8a0 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 61 6e 0a 20 20 20 20 20 69 64 65 6e 74 69 66 65 cumentation.for.an......identife
11b8c0 72 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 65 78 70 61 6e 73 69 6f 6e 20 6f 66 20 74 68 r.defined.in.the.expansion.of.th
11b8e0 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 0a 20 20 20 20 20 49 66 20 6e 6f 20 73 75 e.current.buffer........If.no.su
11b900 63 68 20 69 64 65 6e 74 69 66 65 72 20 65 78 69 73 74 73 2c 20 6f 70 65 6e 73 20 74 68 65 20 53 ch.identifer.exists,.opens.the.S
11b920 65 61 72 63 68 20 4d 61 6e 75 61 6c 73 20 70 61 67 65 2e 20 20 49 6e 0a 20 20 20 20 20 74 68 69 earch.Manuals.page...In......thi
11b940 73 20 63 61 73 65 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 0a 20 20 20 20 20 s.case,.the.variable.*note......
11b960 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 racket-documentation-search-loca
11b980 74 69 6f 6e 3a 3a 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 65 74 68 65 72 20 74 68 65 0a 20 20 tion::.determines.whether.the...
11b9a0 20 20 20 73 65 61 72 63 68 20 69 73 20 64 6f 6e 65 20 6c 6f 63 61 6c 6c 79 20 61 73 20 77 69 74 ...search.is.done.locally.as.wit
11b9c0 68 20 e2 80 98 72 61 63 6f 20 64 6f 63 e2 80 99 2c 20 6f 72 20 76 69 73 69 74 73 20 61 20 55 52 h....raco.doc...,.or.visits.a.UR
11b9e0 4c 2e 0a 0a 20 20 20 e2 80 a2 20 e2 80 98 43 2d 75 e2 80 99 20 e2 80 98 43 2d 63 20 43 2d 64 e2 L.............C-u.......C-c.C-d.
11ba00 80 99 0a 0a 20 20 20 20 20 41 6c 77 61 79 73 20 70 72 6f 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 .........Always.prompts.you.to.e
11ba20 6e 74 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 nter.a.symbol,.defaulting.to.the
11ba40 20 73 79 6d 62 6f 6c 20 61 74 0a 20 20 20 20 20 70 6f 69 6e 74 20 69 66 20 61 6e 79 2e 0a 0a 20 .symbol.at......point.if.any....
11ba60 20 20 e2 80 a2 20 e2 80 98 43 2d 75 e2 80 99 20 e2 80 98 43 2d 75 e2 80 99 20 e2 80 98 43 2d 63 .........C-u.......C-u.......C-c
11ba80 20 43 2d 64 e2 80 99 0a 0a 20 20 20 20 20 41 6c 77 61 79 73 20 70 72 6f 6d 70 74 73 20 79 6f 75 .C-d..........Always.prompts.you
11baa0 20 74 6f 20 65 6e 74 65 72 20 61 6e 79 74 68 69 6e 67 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 74 .to.enter.anything,.defaulting.t
11bac0 6f 20 74 68 65 20 73 79 6d 62 6f 6c 20 61 74 0a 20 20 20 20 20 70 6f 69 6e 74 20 69 66 20 61 6e o.the.symbol.at......point.if.an
11bae0 79 2e 0a 0a 20 20 20 20 20 50 72 6f 63 65 65 64 73 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 y........Proceeds.directly.to.th
11bb00 65 20 53 65 61 72 63 68 20 4d 61 6e 75 61 6c 73 20 70 61 67 65 2e 20 20 55 73 65 20 74 68 69 73 e.Search.Manuals.page...Use.this
11bb20 20 69 66 20 79 6f 75 0a 20 20 20 20 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 73 65 65 20 64 .if.you......would.like.to.see.d
11bb40 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 61 6c 6c 20 69 64 65 6e 74 69 66 69 65 72 73 ocumentation.for.all.identifiers
11bb60 20 6e 61 6d 65 64 20 e2 80 9c 64 65 66 69 6e 65 e2 80 9d 2c 0a 20 20 20 20 20 66 6f 72 20 65 78 .named....define...,......for.ex
11bb80 61 6d 70 6c 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 ample.....File:.doc49fz4A.info,.
11bba0 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 64 65 66 69 6e 69 74 69 6f 6e .Node:.racket-xp-next-definition
11bbc0 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 64 65 66 69 ,..Next:.racket-xp-previous-defi
11bbe0 6e 69 74 69 6f 6e 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e nition,..Prev:.racket-xp-documen
11bc00 74 61 74 69 6f 6e 2c 20 20 55 70 3a 20 45 78 70 6c 6f 72 65 0a 0a 36 2e 33 2e 34 20 72 61 63 6b tation,..Up:.Explore..6.3.4.rack
11bc20 65 74 2d 78 70 2d 6e 65 78 74 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d et-xp-next-definition.----------
11bc40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 23 20 ---------------------.....C-c.#.
11bc60 6a e2 80 99 0a 0a 20 20 20 4d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 6e 65 78 74 20 j........Move.point.to.the.next.
11bc80 64 65 66 69 6e 69 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 definition.....File:.doc49fz4A.i
11bca0 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 64 nfo,..Node:.racket-xp-previous-d
11bcc0 65 66 69 6e 69 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 efinition,..Next:.racket-xp-next
11bce0 2d 75 73 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 64 65 66 69 -use,..Prev:.racket-xp-next-defi
11bd00 6e 69 74 69 6f 6e 2c 20 20 55 70 3a 20 45 78 70 6c 6f 72 65 0a 0a 36 2e 33 2e 35 20 72 61 63 6b nition,..Up:.Explore..6.3.5.rack
11bd20 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d et-xp-previous-definition.------
11bd40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 -----------------------------...
11bd60 80 98 43 2d 63 20 23 20 6b e2 80 99 0a 0a 20 20 20 4d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 74 ..C-c.#.k........Move.point.to.t
11bd80 68 65 20 70 72 65 76 69 6f 75 73 20 64 65 66 69 6e 69 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a he.previous.definition.....File:
11bda0 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 .doc49fz4A.info,..Node:.racket-x
11bdc0 70 2d 6e 65 78 74 2d 75 73 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 p-next-use,..Next:.racket-xp-pre
11bde0 76 69 6f 75 73 2d 75 73 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 vious-use,..Prev:.racket-xp-prev
11be00 69 6f 75 73 2d 64 65 66 69 6e 69 74 69 6f 6e 2c 20 20 55 70 3a 20 45 78 70 6c 6f 72 65 0a 0a 36 ious-definition,..Up:.Explore..6
11be20 2e 33 2e 36 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 75 73 65 0a 2d 2d 2d 2d 2d 2d 2d 2d .3.6.racket-xp-next-use.--------
11be40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 23 20 6e e2 80 99 0a ----------------.....C-c.#.n....
11be60 0a 20 20 20 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 61 20 75 73 65 2c 20 67 6f 20 74 ....When.point.is.on.a.use,.go.t
11be80 6f 20 74 68 65 20 6e 65 78 74 2c 20 73 69 62 6c 69 6e 67 20 75 73 65 2e 0a 0a 1f 0a 46 69 6c 65 o.the.next,.sibling.use.....File
11bea0 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d :.doc49fz4A.info,..Node:.racket-
11bec0 78 70 2d 70 72 65 76 69 6f 75 73 2d 75 73 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 xp-previous-use,..Next:.racket-x
11bee0 70 2d 6e 65 78 74 2d 65 72 72 6f 72 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 6e p-next-error,..Prev:.racket-xp-n
11bf00 65 78 74 2d 75 73 65 2c 20 20 55 70 3a 20 45 78 70 6c 6f 72 65 0a 0a 36 2e 33 2e 37 20 72 61 63 ext-use,..Up:.Explore..6.3.7.rac
11bf20 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 75 73 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ket-xp-previous-use.------------
11bf40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 23 20 70 e2 80 99 0a ----------------.....C-c.#.p....
11bf60 0a 20 20 20 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 61 20 75 73 65 2c 20 67 6f 20 74 ....When.point.is.on.a.use,.go.t
11bf80 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 2c 20 73 69 62 6c 69 6e 67 20 75 73 65 2e 0a 0a 1f 0a o.the.previous,.sibling.use.....
11bfa0 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 File:.doc49fz4A.info,..Node:.rac
11bfc0 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 65 72 72 6f 72 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 ket-xp-next-error,..Next:.racket
11bfe0 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 -xp-previous-error,..Prev:.racke
11c000 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 75 73 65 2c 20 20 55 70 3a 20 45 78 70 6c 6f 72 65 0a t-xp-previous-use,..Up:.Explore.
11c020 0a 36 2e 33 2e 38 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 65 72 72 6f 72 0a 2d 2d 2d 2d .6.3.8.racket-xp-next-error.----
11c040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 ----------------------.....M-x..
11c060 99 20 e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 65 72 72 6f 72 e2 80 99 0a 0a 20 20 .....racket-xp-next-error.......
11c080 20 41 6e 20 6f 62 73 6f 6c 65 74 65 20 61 6c 69 61 73 20 66 6f 72 20 e2 80 98 6e 65 78 74 2d 65 .An.obsolete.alias.for....next-e
11c0a0 72 72 6f 72 e2 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f rror........File:.doc49fz4A.info
11c0c0 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 65 72 72 6f ,..Node:.racket-xp-previous-erro
11c0e0 72 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 2c 20 20 50 72 r,..Next:.racket-xp-tail-up,..Pr
11c100 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 65 72 72 6f 72 2c 20 20 55 70 3a 20 45 ev:.racket-xp-next-error,..Up:.E
11c120 78 70 6c 6f 72 65 0a 0a 36 2e 33 2e 39 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 xplore..6.3.9.racket-xp-previous
11c140 2d 65 72 72 6f 72 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -error.-------------------------
11c160 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 70 72 -----.....M-x.......racket-xp-pr
11c180 65 76 69 6f 75 73 2d 65 72 72 6f 72 e2 80 99 0a 0a 20 20 20 41 6e 20 6f 62 73 6f 6c 65 74 65 20 evious-error........An.obsolete.
11c1a0 61 6c 69 61 73 20 66 6f 72 20 e2 80 98 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 e2 80 99 2e 0a alias.for....previous-error.....
11c1c0 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 ...File:.doc49fz4A.info,..Node:.
11c1e0 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 racket-xp-tail-up,..Next:.racket
11c200 2d 78 70 2d 74 61 69 6c 2d 64 6f 77 6e 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d -xp-tail-down,..Prev:.racket-xp-
11c220 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 2c 20 20 55 70 3a 20 45 78 70 6c 6f 72 65 0a 0a 36 2e previous-error,..Up:.Explore..6.
11c240 33 2e 31 30 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 3.10.racket-xp-tail-up.---------
11c260 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 23 20 5e e2 80 99 0a 0a ---------------.....C-c.#.^.....
11c280 20 20 20 47 6f 20 e2 80 9c 75 70 e2 80 9d 20 74 6f 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e ...Go....up....to.the.expression
11c2a0 20 65 6e 63 6c 6f 73 69 6e 67 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 6e 20 74 61 69 6c .enclosing.an.expression.in.tail
11c2c0 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 20 20 20 57 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 .position......When.point.is.on.
11c2e0 74 68 65 20 6f 70 65 6e 69 6e 67 20 70 61 72 65 6e 74 68 65 73 69 73 20 6f 66 20 61 6e 20 65 78 the.opening.parenthesis.of.an.ex
11c300 70 72 65 73 73 69 6f 6e 20 69 6e 20 74 61 69 6c 0a 70 6f 73 69 74 69 6f 6e 2c 20 67 6f 20 69 74 pression.in.tail.position,.go.it
11c320 73 20 e2 80 9c 74 61 72 67 65 74 e2 80 9d 20 e2 80 93 20 74 68 61 74 20 69 73 2c 20 67 6f 20 74 s....target........that.is,.go.t
11c340 6f 20 74 68 65 20 65 6e 63 6c 6f 73 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 74 68 0a o.the.enclosing.expression.with.
11c360 74 68 65 20 73 61 6d 65 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 61 73 20 74 68 65 20 74 61 69 the.same.continuation.as.the.tai
11c380 6c 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 l.expression.....File:.doc49fz4A
11c3a0 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 64 6f 77 .info,..Node:.racket-xp-tail-dow
11c3c0 6e 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 n,..Next:.racket-xp-tail-next-si
11c3e0 62 6c 69 6e 67 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 2c bling,..Prev:.racket-xp-tail-up,
11c400 20 20 55 70 3a 20 45 78 70 6c 6f 72 65 0a 0a 36 2e 33 2e 31 31 20 72 61 63 6b 65 74 2d 78 70 2d ..Up:.Explore..6.3.11.racket-xp-
11c420 74 61 69 6c 2d 64 6f 77 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d tail-down.----------------------
11c440 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 23 20 76 e2 80 99 0a 0a 20 20 20 47 6f 20 e2 80 9c 64 6f ----.....C-c.#.v........Go....do
11c460 77 6e e2 80 9d 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e wn....to.the.first.tail.position
11c480 20 65 6e 63 6c 6f 73 65 64 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 0a 65 78 70 72 65 73 73 .enclosed.by.the.current.express
11c4a0 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e ion.....File:.doc49fz4A.info,..N
11c4c0 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 62 6c 69 6e 67 ode:.racket-xp-tail-next-sibling
11c4e0 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 72 65 76 69 6f 75 73 ,..Next:.racket-xp-tail-previous
11c500 2d 73 69 62 6c 69 6e 67 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d -sibling,..Prev:.racket-xp-tail-
11c520 64 6f 77 6e 2c 20 20 55 70 3a 20 45 78 70 6c 6f 72 65 0a 0a 36 2e 33 2e 31 32 20 72 61 63 6b 65 down,..Up:.Explore..6.3.12.racke
11c540 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 62 6c 69 6e 67 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d t-xp-tail-next-sibling.---------
11c560 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d -------------------------.....C-
11c580 63 20 23 20 3e e2 80 99 0a 0a 20 20 20 47 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 20 74 61 69 6c c.#.>........Go.to.the.next.tail
11c5a0 20 70 6f 73 69 74 69 6f 6e 20 73 68 61 72 69 6e 67 20 74 68 65 20 73 61 6d 65 20 65 6e 63 6c 6f .position.sharing.the.same.enclo
11c5c0 73 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 sing.expression.....File:.doc49f
11c5e0 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d z4A.info,..Node:.racket-xp-tail-
11c600 70 72 65 76 69 6f 75 73 2d 73 69 62 6c 69 6e 67 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d previous-sibling,..Next:.racket-
11c620 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2c 20 20 50 72 65 76 3a 20 72 61 63 documentation-search,..Prev:.rac
11c640 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 62 6c 69 6e 67 2c 20 20 55 70 3a 20 45 ket-xp-tail-next-sibling,..Up:.E
11c660 78 70 6c 6f 72 65 0a 0a 36 2e 33 2e 31 33 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 72 xplore..6.3.13.racket-xp-tail-pr
11c680 65 76 69 6f 75 73 2d 73 69 62 6c 69 6e 67 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d evious-sibling.-----------------
11c6a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 23 20 ---------------------.....C-c.#.
11c6c0 3c e2 80 99 0a 0a 20 20 20 47 6f 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 74 61 69 6c <........Go.to.the.previous.tail
11c6e0 20 70 6f 73 69 74 69 6f 6e 20 73 68 61 72 69 6e 67 20 74 68 65 20 73 61 6d 65 20 65 6e 63 6c 6f .position.sharing.the.same.enclo
11c700 73 69 6e 67 0a 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 sing.expression.....File:.doc49f
11c720 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 z4A.info,..Node:.racket-document
11c740 61 74 69 6f 6e 2d 73 65 61 72 63 68 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 64 65 73 63 ation-search,..Next:.racket-desc
11c760 72 69 62 65 2d 73 65 61 72 63 68 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 ribe-search,..Prev:.racket-xp-ta
11c780 69 6c 2d 70 72 65 76 69 6f 75 73 2d 73 69 62 6c 69 6e 67 2c 20 20 55 70 3a 20 45 78 70 6c 6f 72 il-previous-sibling,..Up:.Explor
11c7a0 65 0a 0a 36 2e 33 2e 31 34 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 e..6.3.14.racket-documentation-s
11c7c0 65 61 72 63 68 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d earch.--------------------------
11c7e0 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 64 e2 80 99 0a 0a 20 20 20 53 65 61 72 --------.....C-c.C-d........Sear
11c800 63 68 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 63 6f 6d 6d 61 ch.documentation......This.comma
11c820 6e 64 20 69 73 20 75 73 65 66 75 6c 20 69 6e 20 73 65 76 65 72 61 6c 20 73 69 74 75 61 74 69 6f nd.is.useful.in.several.situatio
11c840 6e 73 3a 0a 0a 20 20 20 e2 80 a2 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 75 73 69 6e 67 20 2a 6e ns:.........You.are.not.using.*n
11c860 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 20 66 6f 72 20 61 20 2a 6e 6f 74 65 ote.racket-xp-mode::.for.a.*note
11c880 20 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 0a 20 20 20 20 20 65 64 69 74 20 62 75 66 66 65 72 2c .racket-mode::......edit.buffer,
11c8a0 20 73 6f 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f .so.*note.racket-xp-documentatio
11c8c0 6e 3a 3a 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 0a 0a 20 20 20 e2 80 a2 20 54 68 n::.is.not.available..........Th
11c8e0 65 72 65 20 69 73 20 6e 6f 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 ere.is.no.*note.racket-repl-mode
11c900 3a 3a 20 62 75 66 66 65 72 20 77 69 74 68 20 61 20 6c 69 76 65 20 6e 61 6d 65 73 70 61 63 65 2c ::.buffer.with.a.live.namespace,
11c920 0a 20 20 20 20 20 73 6f 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d ......so.*note.racket-repl-docum
11c940 65 6e 74 61 74 69 6f 6e 3a 3a 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 6f 72 20 68 entation::.is.not.available.or.h
11c960 65 6c 70 66 75 6c 2e 0a 0a 20 20 20 e2 80 a2 20 59 6f 75 20 77 61 6e 74 20 74 6f 20 73 65 61 72 elpful..........You.want.to.sear
11c980 63 68 20 66 6f 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 61 ch.for.definitions.provided.by.a
11c9a0 6c 6c 20 6d 6f 64 75 6c 65 73 20 e2 80 93 20 66 6f 72 0a 20 20 20 20 20 65 78 61 6d 70 6c 65 2c ll.modules.....for......example,
11c9c0 20 74 68 65 20 e2 80 9c 64 65 66 69 6e 65 e2 80 9d 20 73 79 6e 74 61 78 20 70 72 6f 76 69 64 65 .the....define....syntax.provide
11c9e0 64 20 62 79 20 72 61 63 6b 65 74 2f 62 61 73 65 2c 20 62 79 0a 20 20 20 20 20 74 79 70 65 64 2f d.by.racket/base,.by......typed/
11ca00 72 61 63 6b 65 74 2f 62 61 73 65 2c 20 61 6e 64 20 62 79 20 6f 74 68 65 72 20 6d 6f 64 75 6c 65 racket/base,.and.by.other.module
11ca20 73 2c 20 61 73 20 77 65 6c 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 6f 72 0a 20 20 20 20 20 74 s,.as.well.definitions.or......t
11ca40 6f 70 69 63 73 20 74 68 61 74 20 6d 65 72 65 6c 79 20 69 6e 63 6c 75 64 65 20 e2 80 9c 64 65 66 opics.that.merely.include....def
11ca60 69 6e 65 e2 80 9d 2e 0a 0a 20 20 20 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 64 6f 65 73 20 6e 6f ine.........This.command.does.no
11ca80 74 20 74 72 79 20 74 6f 20 67 6f 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 68 65 6c 70 t.try.to.go.directly.to.the.help
11caa0 20 74 6f 70 69 63 20 66 6f 72 20 61 0a 64 65 66 69 6e 69 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 .topic.for.a.definition.provided
11cac0 20 62 79 20 61 6e 79 20 73 70 65 63 69 66 69 63 20 6d 6f 64 75 6c 65 2e 20 20 49 6e 73 74 65 61 .by.any.specific.module...Instea
11cae0 64 20 69 74 20 67 6f 65 73 20 74 6f 20 74 68 65 0a 52 61 63 6b 65 74 20 e2 80 9c 53 65 61 72 63 d.it.goes.to.the.Racket....Searc
11cb00 68 20 4d 61 6e 75 61 6c 73 e2 80 9d 20 70 61 67 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 h.Manuals....page.....File:.doc4
11cb20 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 9fz4A.info,..Node:.racket-descri
11cb40 62 65 2d 73 65 61 72 63 68 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e be-search,..Prev:.racket-documen
11cb60 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2c 20 20 55 70 3a 20 45 78 70 6c 6f 72 65 0a 0a 36 2e 33 tation-search,..Up:.Explore..6.3
11cb80 2e 31 35 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 0a 2d 2d 2d 2d 2d .15.racket-describe-search.-----
11cba0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 ------------------------.....C-c
11cbc0 20 43 2d 2e e2 80 99 20 6f 72 20 e2 80 98 43 2d 63 20 43 2d 73 e2 80 99 0a 0a 20 20 20 53 65 61 .C-.....or....C-c.C-s........Sea
11cbe0 72 63 68 20 69 6e 73 74 61 6c 6c 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3b 20 76 69 65 rch.installed.documentation;.vie
11cc00 77 20 75 73 69 6e 67 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 e2 w.using....racket-describe-mode.
11cc20 80 99 2e 0a 0a 20 20 20 41 6c 77 61 79 73 20 70 72 6f 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 6e ........Always.prompts.you.to.en
11cc40 74 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 ter.a.symbol,.defaulting.to.the.
11cc60 73 79 6d 62 6f 6c 20 61 74 0a 70 6f 69 6e 74 20 69 66 20 61 6e 79 2e 0a 0a 20 20 20 e2 80 a2 20 symbol.at.point.if.any..........
11cc80 49 66 20 6a 75 73 74 20 6f 6e 65 20 6d 6f 64 75 6c 65 20 65 78 70 6f 72 74 73 20 74 68 65 20 6e If.just.one.module.exports.the.n
11cca0 61 6d 65 2c 20 79 6f 75 20 67 6f 20 64 69 72 65 63 74 6c 79 20 74 6f 20 61 20 52 61 63 6b 65 74 ame,.you.go.directly.to.a.Racket
11ccc0 0a 20 20 20 20 20 44 65 73 63 72 69 62 65 20 62 75 66 66 65 72 20 77 69 74 68 20 69 74 73 20 64 ......Describe.buffer.with.its.d
11cce0 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 20 20 20 e2 80 a2 20 49 66 20 6d 75 6c 74 69 70 6c ocumentation..........If.multipl
11cd00 65 20 6d 6f 64 75 6c 65 73 20 65 78 70 6f 72 74 20 74 68 65 20 6e 61 6d 65 2c 20 79 6f 75 20 67 e.modules.export.the.name,.you.g
11cd20 6f 20 66 69 72 73 74 20 74 6f 20 61 0a 20 20 20 20 20 e2 80 9c 64 69 73 61 6d 62 69 67 75 61 74 o.first.to.a.........disambiguat
11cd40 69 6f 6e e2 80 9d 20 62 75 66 66 65 72 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 52 61 63 ion....buffer.similar.to.the.Rac
11cd60 6b 65 74 20 e2 80 9c 53 65 61 72 63 68 20 4d 61 6e 75 61 6c 73 e2 80 9d 20 77 65 62 0a 20 20 20 ket....Search.Manuals....web....
11cd80 20 20 70 61 67 65 2e 20 20 59 6f 75 20 6d 61 79 20 70 72 65 73 73 20 52 45 54 20 6f 6e 20 61 6e ..page...You.may.press.RET.on.an
11cda0 79 20 69 74 65 6d 20 74 6f 20 67 65 74 20 61 20 52 61 63 6b 65 74 20 44 65 73 63 72 69 62 65 0a y.item.to.get.a.Racket.Describe.
11cdc0 20 20 20 20 20 62 75 66 66 65 72 20 66 6f 72 20 74 68 61 74 20 6d 6f 64 75 6c 65 e2 80 99 73 20 .....buffer.for.that.module...s.
11cde0 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 74 68 69 6e 67 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 version.of.the.thing.....File:.d
11ce00 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 52 75 6e 2c 20 20 4e 65 78 74 oc49fz4A.info,..Node:.Run,..Next
11ce20 3a 20 54 65 73 74 2c 20 20 50 72 65 76 3a 20 45 78 70 6c 6f 72 65 2c 20 20 55 70 3a 20 43 6f 6d :.Test,..Prev:.Explore,..Up:.Com
11ce40 6d 61 6e 64 73 0a 0a 36 2e 34 20 52 75 6e 0a 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a mands..6.4.Run.=======..*.Menu:.
11ce60 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 .*.racket-repl-mode::.*.racket-r
11ce80 75 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d un::.*.racket-run-and-switch-to-
11cea0 72 65 70 6c 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f repl::.*.racket-run-module-at-po
11cec0 69 6e 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 int::.*.racket-repl::.*.racket-r
11cee0 65 70 6c 2d 64 65 73 63 72 69 62 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 epl-describe::.*.racket-repl-doc
11cf00 75 6d 65 6e 74 61 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 61 63 6b 65 74 3a 3a 0a 2a umentation::.*.racket-racket::.*
11cf20 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 .racket-profile::.*.racket-profi
11cf40 6c 65 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 3a 3a 0a 2a 20 72 61 le-mode::.*.racket-logger::.*.ra
11cf60 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 65 62 75 cket-logger-mode::.*.racket-debu
11cf80 67 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 3a 3a 0a 2a g-mode::.*.racket-repl-clear::.*
11cfa0 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d 6c 65 61 76 69 6e 67 2d 6c 61 73 74 2d .racket-repl-clear-leaving-last-
11cfc0 70 72 6f 6d 70 74 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f prompt::....File:.doc49fz4A.info
11cfe0 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2c 20 20 4e 65 78 74 ,..Node:.racket-repl-mode,..Next
11d000 3a 20 72 61 63 6b 65 74 2d 72 75 6e 2c 20 20 55 70 3a 20 52 75 6e 0a 0a 36 2e 34 2e 31 20 72 61 :.racket-run,..Up:.Run..6.4.1.ra
11d020 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d cket-repl-mode.-----------------
11d040 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d -----.....M-x.......racket-repl-
11d060 6d 6f 64 65 e2 80 99 0a 0a 20 20 20 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 52 61 63 6b 65 mode........Major.mode.for.Racke
11d080 74 20 52 45 50 4c 2e 0a 0a 20 20 20 59 6f 75 20 6d 61 79 20 75 73 65 20 e2 80 98 78 72 65 66 2d t.REPL......You.may.use....xref-
11d0a0 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 e2 80 99 20 e2 80 98 4d 2d 2e e2 80 99 20 61 6e find-definitions.......M-.....an
11d0c0 64 20 e2 80 98 78 72 65 66 2d 70 6f 70 2d 6d 61 72 6b 65 72 2d 73 74 61 63 6b e2 80 99 0a e2 80 d....xref-pop-marker-stack......
11d0e0 98 4d 2d 2c e2 80 99 20 3a 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 .M-,....:.*note.racket-repl-mode
11d100 3a 3a 20 61 64 64 73 20 61 20 62 61 63 6b 65 6e 64 20 74 6f 20 74 68 65 20 76 61 72 69 61 62 6c ::.adds.a.backend.to.the.variabl
11d120 65 0a e2 80 98 78 72 65 66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 e2 80 99 2e 20 e....xref-backend-functions.....
11d140 20 54 68 69 73 20 62 61 63 6b 65 6e 64 20 75 73 65 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 .This.backend.uses.information.a
11d160 62 6f 75 74 0a 69 64 65 6e 74 69 66 69 65 72 20 62 69 6e 64 69 6e 67 73 20 61 6e 64 20 6d 6f 64 bout.identifier.bindings.and.mod
11d180 75 6c 65 73 20 66 72 6f 6d 20 74 68 65 20 52 45 50 4c e2 80 99 73 20 6e 61 6d 65 73 70 61 63 65 ules.from.the.REPL...s.namespace
11d1a0 2e 0a 0a 4b 65 79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...Key..........................
11d1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 ...............................B
11d1e0 69 6e 64 69 6e 67 0a e2 80 98 7d e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 inding....}.....................
11d200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d220 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 .......*note.racket-insert-closi
11d240 6e 67 3a 3a 0a e2 80 98 5d e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng::....].......................
11d260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d280 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 .....*note.racket-insert-closing
11d2a0 3a 3a 0a e2 80 98 29 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ::....).........................
11d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d2e0 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 3a 3a ...*note.racket-insert-closing::
11d300 0a e2 80 98 43 2d 63 20 43 2d 5c e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....C-c.C-\.....................
11d320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d340 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 78 69 74 e2 80 99 0a e2 80 98 43 2d 63 20 43 ....racket-repl-exit.......C-c.C
11d360 2d 63 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -c..............................
11d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 ...........................racke
11d3a0 74 2d 72 65 70 6c 2d 62 72 65 61 6b e2 80 99 0a e2 80 98 43 2d 63 20 43 2d 6c e2 80 99 20 20 20 t-repl-break.......C-c.C-l......
11d3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6c 6f 67 ................*note.racket-log
11d400 67 65 72 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 7a e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 ger::....C-c.C-z................
11d420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d440 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 77 69 74 63 68 2d 74 6f 2d 65 .........racket-repl-switch-to-e
11d460 64 69 74 e2 80 99 0a e2 80 98 43 2d 63 20 43 2d 73 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 dit.......C-c.C-s...............
11d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d4a0 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 .......*note.racket-describe-sea
11d4c0 72 63 68 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 2e e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 rch::....C-c.C-.................
11d4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d500 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 65 ......*note.racket-repl-describe
11d520 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 64 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ::....C-c.C-d...................
11d540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d560 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e 74 61 74 69 ...*note.racket-repl-documentati
11d580 6f 6e 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 65 20 72 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 on::....C-c.C-e.r...............
11d5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d5c0 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 3a .....*note.racket-expand-region:
11d5e0 3a 0a e2 80 98 43 2d 63 20 43 2d 65 20 65 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :....C-c.C-e.e..................
11d600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d620 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 3a ..*note.racket-expand-last-sexp:
11d640 3a 0a e2 80 98 43 2d 63 20 43 2d 65 20 78 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :....C-c.C-e.x..................
11d660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d680 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e ..*note.racket-expand-definition
11d6a0 3a 3a 0a e2 80 98 43 2d 63 20 43 2d 65 20 66 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ::....C-c.C-e.f.................
11d6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d6e0 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 3a 3a 0a e2 80 ...*note.racket-expand-file::...
11d700 98 43 2d 63 20 43 2d 6f e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .C-c.C-o........................
11d720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 ................................
11d740 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 6c 65 74 65 2d 6f 75 74 70 75 74 e2 80 99 0a e2 80 .racket-repl-delete-output......
11d760 98 43 2d 63 20 43 2d 6e e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .C-c.C-n........................
11d780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 ................................
11d7a0 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6e 65 78 74 2d 70 72 6f 6d 70 74 2d 6f 72 2d 72 75 6e e2 .racket-repl-next-prompt-or-run.
11d7c0 80 99 0a e2 80 98 43 2d 63 20 43 2d 70 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......C-c.C-p...................
11d7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d800 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 65 76 69 6f 75 73 2d 70 72 6f 6d 70 ......racket-repl-previous-promp
11d820 74 2d 6f 72 2d 72 75 6e e2 80 99 0a e2 80 98 43 2d 63 20 43 2d 75 e2 80 99 20 20 20 20 20 20 20 t-or-run.......C-c.C-u..........
11d840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d860 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 ...............racket-repl-clear
11d880 2d 69 6e 70 75 74 e2 80 99 0a e2 80 98 43 2d 4d 2d 79 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 -input.......C-M-y..............
11d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d8c0 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 ..........*note.racket-insert-la
11d8e0 6d 62 64 61 3a 3a 0a e2 80 98 4d 2d 6e e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mbda::....M-n...................
11d900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d920 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6e 65 78 74 2d 69 6e 70 75 74 ..........racket-repl-next-input
11d940 e2 80 99 0a e2 80 98 4d 2d 70 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......M-p......................
11d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d980 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 65 76 69 6f 75 73 2d 69 6e 70 75 .......racket-repl-previous-inpu
11d9a0 74 e2 80 99 0a e2 80 98 43 2d 4d 2d 71 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.......C-M-q...................
11d9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11d9e0 20 20 20 20 20 e2 80 98 70 72 6f 67 2d 69 6e 64 65 6e 74 2d 73 65 78 70 e2 80 99 0a e2 80 98 43 ........prog-indent-sexp.......C
11da00 2d 4d 2d 75 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -M-u............................
11da20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f 74 ............................*not
11da40 65 20 72 61 63 6b 65 74 2d 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 3a 3a 0a e2 80 98 54 e.racket-backward-up-list::....T
11da60 41 42 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 AB..............................
11da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 69 ...............................i
11daa0 6e 64 65 6e 74 2d 66 6f 72 2d 74 61 62 2d 63 6f 6d 6d 61 6e 64 e2 80 99 0a e2 80 98 43 2d 6a e2 ndent-for-tab-command.......C-j.
11dac0 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 6e 65 77 6c ............................newl
11db00 69 6e 65 2d 61 6e 64 2d 69 6e 64 65 6e 74 e2 80 99 0a e2 80 98 52 45 54 e2 80 99 20 20 20 20 20 ine-and-indent.......RET........
11db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c .....................racket-repl
11db60 2d 73 75 62 6d 69 74 e2 80 99 0a 0a 20 20 20 54 68 69 73 20 6d 6f 64 65 20 72 75 6e 73 20 74 68 -submit........This.mode.runs.th
11db80 65 20 68 6f 6f 6b 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b e2 e.hook....racket-repl-mode-hook.
11dba0 80 99 2c 20 61 73 20 74 68 65 20 66 69 6e 61 6c 20 6f 72 0a 70 65 6e 75 6c 74 69 6d 61 74 65 20 ..,.as.the.final.or.penultimate.
11dbc0 73 74 65 70 20 64 75 72 69 6e 67 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 step.during.initialization.....F
11dbe0 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b ile:.doc49fz4A.info,..Node:.rack
11dc00 65 74 2d 72 75 6e 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 et-run,..Next:.racket-run-and-sw
11dc20 69 74 63 68 2d 74 6f 2d 72 65 70 6c 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c itch-to-repl,..Prev:.racket-repl
11dc40 2d 6d 6f 64 65 2c 20 20 55 70 3a 20 52 75 6e 0a 0a 36 2e 34 2e 32 20 72 61 63 6b 65 74 2d 72 75 -mode,..Up:.Run..6.4.2.racket-ru
11dc60 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 n.----------------.....M-x......
11dc80 98 72 61 63 6b 65 74 2d 72 75 6e e2 80 99 0a 0a 20 20 20 53 61 76 65 20 74 68 65 20 62 75 66 66 .racket-run........Save.the.buff
11dca0 65 72 20 69 6e 20 52 45 50 4c 20 61 6e 64 20 72 75 6e 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 2e er.in.REPL.and.run.your.program.
11dcc0 0a 0a 20 20 20 41 73 20 77 65 6c 6c 20 61 73 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65 20 6f .....As.well.as.evaluating.the.o
11dce0 75 74 65 72 6d 6f 73 74 2c 20 66 69 6c 65 20 6d 6f 64 75 6c 65 2c 20 61 75 74 6f 6d 61 74 69 63 utermost,.file.module,.automatic
11dd00 61 6c 6c 79 20 72 75 6e 73 0a 74 68 65 20 73 75 62 6d 6f 64 75 6c 65 73 20 73 70 65 63 69 66 69 ally.runs.the.submodules.specifi
11dd20 65 64 20 62 79 20 74 68 65 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 ed.by.the.customization.variable
11dd40 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 74 6f 2d 72 75 6e 3a .*note.racket-submodules-to-run:
11dd60 3a 2e 0a 0a 20 20 20 53 65 65 20 61 6c 73 6f 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e :......See.also.*note.racket-run
11dd80 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 3a 3a 2c 20 77 68 69 63 68 20 72 75 6e 73 20 6a -module-at-point::,.which.runs.j
11dda0 75 73 74 20 74 68 65 0a 73 70 65 63 69 66 69 63 20 6d 6f 64 75 6c 65 20 61 74 20 70 6f 69 6e 74 ust.the.specific.module.at.point
11ddc0 2e 0a 0a 20 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 76 61 72 69 65 73 20 62 61 73 65 64 20 6f ......The.command.varies.based.o
11dde0 6e 20 68 6f 77 20 6d 61 6e 79 20 e2 80 98 43 2d 75 e2 80 99 20 70 72 65 66 69 78 20 61 72 67 75 n.how.many....C-u....prefix.argu
11de00 6d 65 6e 74 73 20 79 6f 75 0a 73 75 70 70 6c 79 2e 0a 0a 20 20 20 e2 80 a2 20 e2 80 98 3c 66 35 ments.you.supply.............<f5
11de20 3e e2 80 99 0a 0a 20 20 20 20 20 46 6f 6c 6c 6f 77 73 20 74 68 65 20 2a 6e 6f 74 65 20 72 61 63 >..........Follows.the.*note.rac
11de40 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 3a 3a 20 73 65 74 74 69 6e 67 2e 0a 0a 20 20 ket-error-context::.setting.....
11de60 20 e2 80 a2 20 e2 80 98 43 2d 75 e2 80 99 20 e2 80 98 3c 66 35 3e e2 80 99 0a 0a 20 20 20 20 20 ........C-u.......<f5>..........
11de80 55 73 65 73 20 65 72 72 6f 72 74 72 61 63 65 20 66 6f 72 20 69 6d 70 72 6f 76 65 64 20 73 74 61 Uses.errortrace.for.improved.sta
11dea0 63 6b 20 74 72 61 63 65 73 2c 20 61 73 20 69 66 20 2a 6e 6f 74 65 0a 20 20 20 20 20 72 61 63 6b ck.traces,.as.if.*note......rack
11dec0 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 3a 3a 20 77 65 72 65 20 73 65 74 20 74 6f 20 e2 et-error-context::.were.set.to..
11dee0 80 9c 68 69 67 68 e2 80 9d 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 6c 65 74 73 20 79 6f 75 20 6b ..high...........This.lets.you.k
11df00 65 65 70 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 3a 3a eep.*note.racket-error-context::
11df20 20 73 65 74 20 74 6f 20 61 20 66 61 73 74 65 72 0a 20 20 20 20 20 76 61 6c 75 65 20 6c 69 6b 65 .set.to.a.faster......value.like
11df40 20 e2 80 9c 6c 6f 77 e2 80 9d 20 6f 72 20 e2 80 9c 6d 65 64 69 75 6d e2 80 9d 2c 20 74 68 65 6e ....low....or....medium...,.then
11df60 20 63 6f 6e 76 65 6e 69 65 6e 74 6c 79 20 72 65 2d 72 75 6e 20 77 68 65 6e 20 79 6f 75 0a 20 20 .conveniently.re-run.when.you...
11df80 20 20 20 6e 65 65 64 20 61 20 62 65 74 74 65 72 20 73 74 72 61 63 6b 20 74 72 61 63 65 2e 0a 0a ...need.a.better.strack.trace...
11dfa0 20 20 20 e2 80 a2 20 e2 80 98 43 2d 75 e2 80 99 20 e2 80 98 43 2d 75 e2 80 99 20 e2 80 98 3c 66 ..........C-u.......C-u.......<f
11dfc0 35 3e e2 80 99 0a 0a 20 20 20 20 20 49 6e 73 74 72 75 6d 65 6e 74 73 20 63 6f 64 65 20 66 6f 72 5>..........Instruments.code.for
11dfe0 20 73 74 65 70 20 64 65 62 75 67 67 69 6e 67 2e 20 20 53 65 65 20 2a 6e 6f 74 65 20 72 61 63 6b .step.debugging...See.*note.rack
11e000 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 3a 3a 0a 20 20 20 20 20 61 6e 64 20 74 68 65 20 76 61 72 et-debug-mode::......and.the.var
11e020 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 iable.*note.racket-debuggable-fi
11e040 6c 65 73 3a 3a 2e 0a 0a 20 20 20 45 61 63 68 20 72 75 6e 20 6f 63 63 75 72 73 20 77 69 74 68 69 les::......Each.run.occurs.withi
11e060 6e 20 61 20 52 61 63 6b 65 74 20 63 75 73 74 6f 64 69 61 6e 2e 20 20 41 6e 79 20 70 72 69 6f 72 n.a.Racket.custodian...Any.prior
11e080 20 72 75 6e e2 80 99 73 20 63 75 73 74 6f 64 69 61 6e 0a 69 73 20 73 68 75 74 20 64 6f 77 6e 2c .run...s.custodian.is.shut.down,
11e0a0 20 72 65 6c 65 61 73 69 6e 67 20 72 65 73 6f 75 72 63 65 73 20 6c 69 6b 65 20 74 68 72 65 61 64 .releasing.resources.like.thread
11e0c0 73 20 61 6e 64 20 70 6f 72 74 73 2e 20 20 45 61 63 68 20 72 75 6e e2 80 99 73 0a 65 76 61 6c 75 s.and.ports...Each.run...s.evalu
11e0e0 61 74 69 6f 6e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 69 73 20 72 65 73 65 74 20 74 6f 20 74 68 ation.environment.is.reset.to.th
11e100 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 20 e.contents.of.the.source.file...
11e120 49 6e 0a 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 6c 69 6b 65 20 44 72 20 52 61 63 6b 65 74 2c 20 In.other.words,.like.Dr.Racket,.
11e140 74 68 69 73 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 62 65 6e 65 66 69 74 20 74 68 61 74 20 79 this.provides.the.benefit.that.y
11e160 6f 75 72 20 73 6f 75 72 63 65 0a 66 69 6c 65 20 69 73 20 74 68 65 20 e2 80 9c 73 69 6e 67 6c 65 our.source.file.is.the....single
11e180 20 73 6f 75 72 63 65 20 6f 66 20 74 72 75 74 68 e2 80 9d 2e 20 20 41 74 20 74 68 65 20 73 61 6d .source.of.truth......At.the.sam
11e1a0 65 20 74 69 6d 65 2c 20 74 68 65 20 72 75 6e 20 67 69 76 65 73 0a 79 6f 75 20 61 20 52 45 50 4c e.time,.the.run.gives.you.a.REPL
11e1c0 20 69 6e 73 69 64 65 20 74 68 65 20 6e 61 6d 65 73 70 61 63 65 20 6f 66 20 74 68 65 20 6d 6f 64 .inside.the.namespace.of.the.mod
11e1e0 75 6c 65 2c 20 67 69 76 69 6e 67 20 79 6f 75 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 0a 65 ule,.giving.you.the.ability.to.e
11e200 78 70 6c 6f 72 65 20 69 74 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2e 20 20 41 6e 79 20 65 78 xplore.it.interactively...Any.ex
11e220 70 6c 6f 72 61 74 69 6f 6e 73 20 61 72 65 20 74 65 6d 70 6f 72 61 72 79 2c 20 75 6e 6c 65 73 73 plorations.are.temporary,.unless
11e240 20 79 6f 75 0a 61 6c 73 6f 20 6d 61 6b 65 20 74 68 65 6d 20 74 6f 20 79 6f 75 72 20 73 6f 75 72 .you.also.make.them.to.your.sour
11e260 63 65 20 66 69 6c 65 2c 20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 6c 6f 73 74 20 6f 6e 20 74 68 ce.file,.they.will.be.lost.on.th
11e280 65 20 6e 65 78 74 20 72 75 6e 2e 0a 0a 20 20 20 53 65 65 20 61 6c 73 6f 20 2a 6e 6f 74 65 20 72 e.next.run......See.also.*note.r
11e2a0 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 3a 3a 2c 20 acket-run-and-switch-to-repl::,.
11e2c0 77 68 69 63 68 20 69 73 20 65 76 65 6e 20 6d 6f 72 65 0a 6c 69 6b 65 20 44 72 20 52 61 63 6b 65 which.is.even.more.like.Dr.Racke
11e2e0 74 e2 80 99 73 20 52 75 6e 20 63 6f 6d 6d 61 6e 64 20 62 65 63 61 75 73 65 20 69 74 20 73 65 6c t...s.Run.command.because.it.sel
11e300 65 63 74 73 20 74 68 65 20 52 45 50 4c 20 77 69 6e 64 6f 77 20 61 66 74 65 72 0a 72 75 6e 6e 69 ects.the.REPL.window.after.runni
11e320 6e 67 2e 0a 0a 20 20 20 54 6f 20 76 69 73 69 74 20 65 72 72 6f 72 20 6c 6f 63 61 74 69 6f 6e 73 ng......To.visit.error.locations
11e340 2c 20 6d 6f 76 65 20 70 6f 69 6e 74 20 74 68 65 72 65 20 61 6e 64 20 70 72 65 73 73 20 52 45 54 ,.move.point.there.and.press.RET
11e360 20 6f 72 20 6d 6f 75 73 65 0a 63 6c 69 63 6b 2e 20 20 4f 72 2c 20 75 73 65 20 74 68 65 20 73 74 .or.mouse.click...Or,.use.the.st
11e380 61 6e 64 61 72 64 20 e2 80 98 6e 65 78 74 2d 65 72 72 6f 72 e2 80 99 20 61 6e 64 20 e2 80 98 70 andard....next-error....and....p
11e3a0 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 e2 80 99 20 63 6f 6d 6d 61 6e 64 73 0a 66 72 6f 6d 20 65 revious-error....commands.from.e
11e3c0 69 74 68 65 72 20 74 68 65 20 65 64 69 74 20 6f 72 20 52 45 50 4c 20 62 75 66 66 65 72 2e 0a 0a ither.the.edit.or.REPL.buffer...
11e3e0 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 ..File:.doc49fz4A.info,..Node:.r
11e400 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 2c 20 20 4e acket-run-and-switch-to-repl,..N
11e420 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 2c ext:.racket-run-module-at-point,
11e440 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 75 6e 2c 20 20 55 70 3a 20 52 75 6e 0a 0a 36 2e ..Prev:.racket-run,..Up:.Run..6.
11e460 34 2e 33 20 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 4.3.racket-run-and-switch-to-rep
11e480 6c 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d l.------------------------------
11e4a0 2d 2d 2d 2d 2d 0a 0a e2 80 98 3c 66 35 3e e2 80 99 0a 0a 20 20 20 54 68 69 73 20 69 73 20 2a 6e -----.....<f5>........This.is.*n
11e4c0 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 3a 3a 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 73 65 6c ote.racket-run::.followed.by.sel
11e4e0 65 63 74 69 6e 67 20 74 68 65 20 52 45 50 4c 20 62 75 66 66 65 72 0a 77 69 6e 64 6f 77 2e 0a 0a ecting.the.REPL.buffer.window...
11e500 20 20 20 54 68 69 73 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 68 6f 77 20 44 72 20 52 61 63 ...This.is.similar.to.how.Dr.Rac
11e520 6b 65 74 20 62 65 68 61 76 65 73 2e 0a 0a 20 20 20 54 6f 20 6d 61 6b 65 20 69 74 20 65 76 65 6e ket.behaves......To.make.it.even
11e540 20 6d 6f 72 65 20 73 69 6d 69 6c 61 72 2c 20 79 6f 75 20 6d 61 79 20 61 64 64 20 2a 6e 6f 74 65 .more.similar,.you.may.add.*note
11e560 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 3a 3a 0a 74 6f 20 74 68 65 20 76 61 72 69 .racket-repl-clear::.to.the.vari
11e580 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f able.*note.racket-before-run-hoo
11e5a0 6b 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e k::.....File:.doc49fz4A.info,..N
11e5c0 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 2c ode:.racket-run-module-at-point,
11e5e0 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2c 20 20 50 72 65 76 3a 20 72 61 63 6b ..Next:.racket-repl,..Prev:.rack
11e600 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 65 70 6c 2c 20 20 55 70 3a 20 et-run-and-switch-to-repl,..Up:.
11e620 52 75 6e 0a 0a 36 2e 34 2e 34 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d Run..6.4.4.racket-run-module-at-
11e640 70 6f 69 6e 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d point.--------------------------
11e660 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 6b e2 80 99 20 6f 72 20 e2 80 98 43 2d 63 20 ------.....C-c.C-k....or....C-c.
11e680 43 2d 63 e2 80 99 0a 0a 20 20 20 53 61 76 65 20 74 68 65 20 62 75 66 66 65 72 20 61 6e 64 20 72 C-c........Save.the.buffer.and.r
11e6a0 75 6e 20 74 68 65 20 6d 6f 64 75 6c 65 20 61 74 20 70 6f 69 6e 74 2e 0a 0a 20 20 20 4c 69 6b 65 un.the.module.at.point......Like
11e6c0 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 3a 3a 20 62 75 74 20 72 75 6e 73 20 74 68 65 .*note.racket-run::.but.runs.the
11e6e0 20 69 6e 6e 65 72 6d 6f 73 74 20 6d 6f 64 75 6c 65 20 61 72 6f 75 6e 64 20 70 6f 69 6e 74 2c 0a .innermost.module.around.point,.
11e700 77 68 69 63 68 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 74 65 78 74 75 61 6c 6c 79 20 62 79 which.is.determined.textually.by
11e720 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 e2 80 9c 6d 6f 64 75 6c 65 e2 80 9d 2c 20 e2 80 9c 6d 6f .looking.for....module...,....mo
11e740 64 75 6c 65 2a e2 80 9d 2c 20 6f 72 0a e2 80 9c 6d 6f 64 75 6c 65 2b e2 80 9d 20 66 6f 72 6d 73 dule*...,.or....module+....forms
11e760 20 6e 65 73 74 65 64 20 74 6f 20 61 6e 79 20 64 65 70 74 68 2c 20 65 6c 73 65 20 73 69 6d 70 6c .nested.to.any.depth,.else.simpl
11e780 79 20 74 68 65 20 6f 75 74 65 72 6d 6f 73 74 2c 20 66 69 6c 65 0a 6d 6f 64 75 6c 65 2e 0a 0a 1f y.the.outermost,.file.module....
11e7a0 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 .File:.doc49fz4A.info,..Node:.ra
11e7c0 63 6b 65 74 2d 72 65 70 6c 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 cket-repl,..Next:.racket-repl-de
11e7e0 73 63 72 69 62 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 scribe,..Prev:.racket-run-module
11e800 2d 61 74 2d 70 6f 69 6e 74 2c 20 20 55 70 3a 20 52 75 6e 0a 0a 36 2e 34 2e 35 20 72 61 63 6b 65 -at-point,..Up:.Run..6.4.5.racke
11e820 74 2d 72 65 70 6c 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 t-repl.-----------------.....M-x
11e840 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c e2 80 99 0a 0a 20 20 20 53 68 6f 77 20 61 .......racket-repl........Show.a
11e860 20 52 61 63 6b 65 74 20 52 45 50 4c 20 62 75 66 66 65 72 20 69 6e 20 73 6f 6d 65 20 77 69 6e 64 .Racket.REPL.buffer.in.some.wind
11e880 6f 77 2e 0a 0a 20 20 20 54 68 65 20 69 6e 74 65 6e 64 65 64 20 75 73 65 20 6f 66 20 52 61 63 6b ow......The.intended.use.of.Rack
11e8a0 65 74 20 4d 6f 64 65 e2 80 99 73 20 52 45 50 4c 20 69 73 20 74 68 61 74 20 79 6f 75 20 e2 80 98 et.Mode...s.REPL.is.that.you....
11e8c0 66 69 6e 64 2d 66 69 6c 65 e2 80 99 20 73 6f 6d 65 0a 73 70 65 63 69 66 69 63 20 66 69 6c 65 2c find-file....some.specific.file,
11e8e0 20 74 68 65 6e 20 72 75 6e 20 69 74 20 75 73 69 6e 67 20 61 20 63 6f 6d 6d 61 6e 64 20 6c 69 6b .then.run.it.using.a.command.lik
11e900 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 3a 3a 20 6f 72 0a 2a 6e 6f 74 65 20 72 61 e.*note.racket-run::.or.*note.ra
11e920 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 3a 3a 2e 20 20 54 68 65 cket-run-module-at-point::...The
11e940 20 72 65 73 75 6c 74 69 6e 67 20 52 45 50 4c 20 77 69 6c 6c 20 63 6f 72 72 65 73 70 6f 6e 64 0a .resulting.REPL.will.correspond.
11e960 74 6f 20 74 68 6f 73 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 6d 61 74 63 68 20 79 to.those.definitions.and.match.y
11e980 6f 75 72 20 65 78 70 65 63 74 61 74 69 6f 6e 73 2e 0a 0a 20 20 20 54 68 65 72 65 66 6f 72 65 20 our.expectations......Therefore.
11e9a0 74 68 69 73 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 3a 3a 20 63 6f 6d 6d 61 6e 64 this.*note.racket-repl::.command
11e9c0 20 e2 80 93 20 77 68 69 63 68 20 69 73 20 69 6e 74 65 6e 64 65 64 20 61 73 20 61 0a 63 6f 6e 76 .....which.is.intended.as.a.conv
11e9e0 65 6e 69 65 6e 63 65 20 66 6f 72 20 70 65 6f 70 6c 65 20 77 68 6f 20 77 61 6e 74 20 74 6f 20 e2 enience.for.people.who.want.to..
11ea00 80 9c 6a 75 73 74 20 67 65 74 20 61 20 71 75 69 63 6b 20 73 63 72 61 74 63 68 20 52 45 50 4c e2 ..just.get.a.quick.scratch.REPL.
11ea20 80 9d 20 e2 80 93 20 69 73 0a 61 63 74 75 61 6c 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 .......is.actually.implemented.a
11ea40 73 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 69 6e 20 74 68 65 20 s.running.the.file.named.in.the.
11ea60 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 0a 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 customization.variable.*note.rac
11ea80 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 3a 3a 2e 20 20 57 68 65 6e 20 74 ket-repl-command-file::...When.t
11eaa0 68 61 74 20 66 69 6c 65 20 64 6f 65 73 6e e2 80 99 74 0a 65 78 69 73 74 2c 20 69 74 20 69 73 20 hat.file.doesn...t.exist,.it.is.
11eac0 63 72 65 61 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 6a 75 73 74 20 e2 80 9c 23 6c 61 6e 67 created.to.contain.just....#lang
11eae0 20 72 61 63 6b 65 74 2f 62 61 73 65 e2 80 9d 2e 20 20 59 6f 75 20 6d 61 79 20 65 64 69 74 0a 74 .racket/base......You.may.edit.t
11eb00 68 65 20 66 69 6c 65 20 74 6f 20 75 73 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 6c 61 6e 67 2c he.file.to.use.a.different.lang,
11eb20 20 72 65 71 75 69 72 65 20 6f 74 68 65 72 20 6d 6f 64 75 6c 65 73 2c 20 6f 72 20 77 68 61 74 65 .require.other.modules,.or.whate
11eb40 76 65 72 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e ver.....File:.doc49fz4A.info,..N
11eb60 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 65 2c 20 20 4e 65 78 74 ode:.racket-repl-describe,..Next
11eb80 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 20 50 72 :.racket-repl-documentation,..Pr
11eba0 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2c 20 20 55 70 3a 20 52 75 6e 0a 0a 36 2e 34 2e 36 ev:.racket-repl,..Up:.Run..6.4.6
11ebc0 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .racket-repl-describe.----------
11ebe0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 2e e2 80 99 0a ----------------.....C-c.C-.....
11ec00 0a 20 20 20 44 65 73 63 72 69 62 65 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 61 74 20 70 ....Describe.the.identifier.at.p
11ec20 6f 69 6e 74 2e 0a 0a 20 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 76 61 72 69 65 73 20 62 61 73 oint......The.command.varies.bas
11ec40 65 64 20 6f 6e 20 68 6f 77 20 6d 61 6e 79 20 e2 80 98 43 2d 75 e2 80 99 20 70 72 65 66 69 78 20 ed.on.how.many....C-u....prefix.
11ec60 61 72 67 75 6d 65 6e 74 73 20 79 6f 75 0a 73 75 70 70 6c 79 2e 0a 0a 20 20 20 e2 80 a2 20 e2 80 arguments.you.supply............
11ec80 98 43 2d 63 20 43 2d 2e e2 80 99 0a 0a 20 20 20 20 20 55 73 65 73 20 74 68 65 20 73 79 6d 62 6f .C-c.C-...........Uses.the.symbo
11eca0 6c 20 61 74 20 70 6f 69 6e 74 2e 20 20 49 66 20 6e 6f 20 73 75 63 68 20 73 79 6d 62 6f 6c 20 65 l.at.point...If.no.such.symbol.e
11ecc0 78 69 73 74 73 2c 20 79 6f 75 20 61 72 65 0a 20 20 20 20 20 70 72 6f 6d 70 74 65 64 20 65 6e 74 xists,.you.are......prompted.ent
11ece0 65 72 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20 63 er.the.identifier,.but.in.this.c
11ed00 61 73 65 20 69 74 20 6f 6e 6c 79 20 63 6f 6e 73 69 64 65 72 73 0a 20 20 20 20 20 64 65 66 69 6e ase.it.only.considers......defin
11ed20 69 74 69 6f 6e 73 20 6f 72 20 69 6d 70 6f 72 74 73 20 61 74 20 74 68 65 20 66 69 6c 65 e2 80 99 itions.or.imports.at.the.file...
11ed40 73 20 6d 6f 64 75 6c 65 20 6c 65 76 65 6c 20 e2 80 93 20 6e 6f 74 20 6c 6f 63 61 6c 0a 20 20 20 s.module.level.....not.local....
11ed60 20 20 62 69 6e 64 69 6e 67 73 20 6e 6f 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 69 6e 20 73 75 ..bindings.nor.definitions.in.su
11ed80 62 6d 6f 64 75 6c 65 73 2e 0a 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 49 66 20 74 68 65 20 69 64 bmodules...............If.the.id
11eda0 65 6e 74 69 66 69 65 72 20 68 61 73 20 69 6e 73 74 61 6c 6c 65 64 20 52 61 63 6b 65 74 20 64 6f entifier.has.installed.Racket.do
11edc0 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 74 68 65 6e 20 61 0a 20 20 20 20 20 20 20 20 20 20 73 69 cumentation,.then.a...........si
11ede0 6d 70 6c 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 48 54 4d 4c 20 69 73 20 mplified.version.of.the.HTML.is.
11ee00 70 72 65 73 65 6e 74 65 64 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 2c 0a 20 20 20 20 20 20 20 presented.in.the.buffer,........
11ee20 20 20 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 e2 80 9c 62 6c 75 65 20 62 6f 78 e2 80 9d 2c ...including.the....blue.box...,
11ee40 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 70 72 6f 73 65 2c 20 61 6e 64 20 65 78 61 6d 70 6c .documentation.prose,.and.exampl
11ee60 65 73 2e 0a 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 4f 74 68 65 72 77 69 73 65 2c 20 69 66 20 74 es...............Otherwise,.if.t
11ee80 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 he.identifier.is.a.function,.the
11eea0 6e 20 69 74 73 20 73 69 67 6e 61 74 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 69 73 20 64 69 73 n.its.signature...........is.dis
11eec0 70 6c 61 79 65 64 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 e2 80 9c 28 6e 61 6d 65 20 61 72 67 played,.for.example....(name.arg
11eee0 2d 31 2d 6e 61 6d 65 20 61 72 67 2d 32 2d 6e 61 6d 65 29 e2 80 9d 2e 0a 0a 20 20 20 e2 80 a2 20 -1-name.arg-2-name).............
11ef00 e2 80 98 43 2d 75 e2 80 99 20 e2 80 98 43 2d 63 20 43 2d 2e e2 80 99 0a 0a 20 20 20 20 20 41 6c ...C-u.......C-c.C-...........Al
11ef20 77 61 79 73 20 70 72 6f 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 6e 74 65 72 20 61 20 73 79 6d 62 ways.prompts.you.to.enter.a.symb
11ef40 6f 6c 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 20 61 74 0a ol,.defaulting.to.the.symbol.at.
11ef60 20 20 20 20 20 70 6f 69 6e 74 20 69 66 20 61 6e 79 2e 0a 0a 20 20 20 e2 80 a2 20 e2 80 98 43 2d .....point.if.any.............C-
11ef80 75 e2 80 99 20 e2 80 98 43 2d 75 e2 80 99 20 e2 80 98 43 2d 63 20 43 2d 2e e2 80 99 0a 0a 20 20 u.......C-u.......C-c.C-........
11efa0 20 20 20 54 68 69 73 20 69 73 20 61 6e 20 61 6c 69 61 73 20 66 6f 72 20 2a 6e 6f 74 65 20 72 61 ...This.is.an.alias.for.*note.ra
11efc0 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 3a 3a 2c 20 77 68 69 63 68 20 75 73 cket-describe-search::,.which.us
11efe0 65 73 0a 20 20 20 20 20 69 6e 73 74 61 6c 6c 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 es......installed.documentation.
11f000 69 6e 20 61 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 e2 80 99 20 in.a....racket-describe-mode....
11f020 62 75 66 66 65 72 20 69 6e 73 74 65 61 64 0a 20 20 20 20 20 6f 66 20 61 6e 20 65 78 74 65 72 6e buffer.instead......of.an.extern
11f040 61 6c 20 77 65 62 20 62 72 6f 77 73 65 72 2e 0a 0a 20 20 20 54 68 65 20 69 6e 74 65 6e 74 20 69 al.web.browser......The.intent.i
11f060 73 20 74 6f 20 67 69 76 65 20 61 20 71 75 69 63 6b 20 72 65 6d 69 6e 64 65 72 20 6f 72 20 69 6e s.to.give.a.quick.reminder.or.in
11f080 74 72 6f 64 75 63 74 69 6f 6e 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 2c 0a 72 65 67 61 72 64 6c troduction.to.something,.regardl
11f0a0 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 69 74 20 68 61 73 20 69 6e 73 74 61 6c 6c 65 64 20 ess.of.whether.it.has.installed.
11f0c0 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 e2 80 93 20 61 6e 64 20 74 6f 20 64 6f 20 73 6f 0a 77 documentation.....and.to.do.so.w
11f0e0 69 74 68 69 6e 20 45 6d 61 63 73 2c 20 77 69 74 68 6f 75 74 20 73 77 69 74 63 68 69 6e 67 20 74 ithin.Emacs,.without.switching.t
11f100 6f 20 61 20 77 65 62 20 62 72 6f 77 73 65 72 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 o.a.web.browser.....File:.doc49f
11f120 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 z4A.info,..Node:.racket-repl-doc
11f140 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 61 63 6b 65 74 umentation,..Next:.racket-racket
11f160 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 65 73 63 72 69 62 65 2c 20 20 ,..Prev:.racket-repl-describe,..
11f180 55 70 3a 20 52 75 6e 0a 0a 36 2e 34 2e 37 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d Up:.Run..6.4.7.racket-repl-docum
11f1a0 65 6e 74 61 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d entation.-----------------------
11f1c0 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 64 e2 80 99 0a 0a 20 20 20 56 69 65 77 --------.....C-c.C-d........View
11f1e0 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 77 65 .documentation.in.an.external.we
11f200 62 20 62 72 6f 77 73 65 72 2e 0a 0a 20 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 76 61 72 69 65 b.browser......The.command.varie
11f220 73 20 62 61 73 65 64 20 6f 6e 20 68 6f 77 20 6d 61 6e 79 20 e2 80 98 43 2d 75 e2 80 99 20 63 6f s.based.on.how.many....C-u....co
11f240 6d 6d 61 6e 64 20 70 72 65 66 69 78 65 73 20 79 6f 75 0a 73 75 70 70 6c 79 2e 0a 0a 20 20 20 e2 mmand.prefixes.you.supply.......
11f260 80 a2 20 e2 80 98 43 2d 63 20 43 2d 64 e2 80 99 0a 0a 20 20 20 20 20 55 73 65 73 20 74 68 65 20 ......C-c.C-d..........Uses.the.
11f280 73 79 6d 62 6f 6c 20 61 74 20 70 6f 69 6e 74 2e 20 20 54 72 69 65 73 20 74 6f 20 66 69 6e 64 20 symbol.at.point...Tries.to.find.
11f2a0 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 61 6e 0a 20 20 20 20 20 69 64 65 6e 74 69 documentation.for.an......identi
11f2c0 66 65 72 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e 61 6d 65 73 fer.defined.in.the.current.names
11f2e0 70 61 63 65 2e 0a 0a 20 20 20 20 20 49 66 20 6e 6f 20 73 75 63 68 20 69 64 65 6e 74 69 66 65 72 pace........If.no.such.identifer
11f300 20 65 78 69 73 74 73 2c 20 6f 70 65 6e 73 20 74 68 65 20 53 65 61 72 63 68 20 4d 61 6e 75 61 6c .exists,.opens.the.Search.Manual
11f320 73 20 70 61 67 65 2e 20 20 49 6e 0a 20 20 20 20 20 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 20 s.page...In......this.case,.the.
11f340 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 0a 20 20 20 20 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d variable.*note......racket-docum
11f360 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 74 69 6f 6e 3a 3a 20 64 65 74 65 72 entation-search-location::.deter
11f380 6d 69 6e 65 73 20 77 68 65 74 68 65 72 20 74 68 65 0a 20 20 20 20 20 73 65 61 72 63 68 20 69 73 mines.whether.the......search.is
11f3a0 20 64 6f 6e 65 20 6c 6f 63 61 6c 6c 79 20 61 73 20 77 69 74 68 20 e2 80 98 72 61 63 6f 20 64 6f .done.locally.as.with....raco.do
11f3c0 63 e2 80 99 2c 20 6f 72 20 76 69 73 69 74 73 20 61 20 55 52 4c 2e 0a 0a 20 20 20 e2 80 a2 20 e2 c...,.or.visits.a.URL...........
11f3e0 80 98 43 2d 75 e2 80 99 20 e2 80 98 43 2d 63 20 43 2d 64 e2 80 99 0a 0a 20 20 20 20 20 50 72 6f ..C-u.......C-c.C-d..........Pro
11f400 6d 70 74 73 20 79 6f 75 20 74 6f 20 65 6e 74 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 64 65 66 61 mpts.you.to.enter.a.symbol,.defa
11f420 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 20 61 74 20 70 6f 69 6e 74 20 69 66 ulting.to.the.symbol.at.point.if
11f440 0a 20 20 20 20 20 61 6e 79 2e 0a 0a 20 20 20 e2 80 a2 20 e2 80 98 43 2d 75 e2 80 99 20 e2 80 98 ......any.............C-u.......
11f460 43 2d 75 e2 80 99 20 e2 80 98 43 2d 63 20 43 2d 64 e2 80 99 0a 0a 20 20 20 20 20 50 72 6f 6d 70 C-u.......C-c.C-d..........Promp
11f480 74 73 20 79 6f 75 20 74 6f 20 65 6e 74 65 72 20 61 6e 79 74 68 69 6e 67 2c 20 64 65 66 61 75 6c ts.you.to.enter.anything,.defaul
11f4a0 74 69 6e 67 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 20 61 74 20 70 6f 69 6e 74 20 69 66 0a 20 ting.to.the.symbol.at.point.if..
11f4c0 20 20 20 20 61 6e 79 2e 0a 0a 20 20 20 20 20 50 72 6f 63 65 65 64 73 20 64 69 72 65 63 74 6c 79 ....any........Proceeds.directly
11f4e0 20 74 6f 20 74 68 65 20 53 65 61 72 63 68 20 4d 61 6e 75 61 6c 73 20 70 61 67 65 2e 20 20 55 73 .to.the.Search.Manuals.page...Us
11f500 65 20 74 68 69 73 20 69 66 20 79 6f 75 0a 20 20 20 20 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f e.this.if.you......would.like.to
11f520 20 73 65 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 61 6c 6c 20 69 64 65 6e 74 .see.documentation.for.all.ident
11f540 69 66 69 65 72 73 20 6e 61 6d 65 64 20 e2 80 9c 64 65 66 69 6e 65 e2 80 9d 2c 0a 20 20 20 20 20 ifiers.named....define...,......
11f560 66 6f 72 20 65 78 61 6d 70 6c 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e for.example.....File:.doc49fz4A.
11f580 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 61 63 6b 65 74 2c 20 20 4e 65 78 info,..Node:.racket-racket,..Nex
11f5a0 74 3a 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 t:.racket-profile,..Prev:.racket
11f5c0 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 20 55 70 3a 20 52 75 6e 0a 0a 36 -repl-documentation,..Up:.Run..6
11f5e0 2e 34 2e 38 20 72 61 63 6b 65 74 2d 72 61 63 6b 65 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .4.8.racket-racket.-------------
11f600 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 4d 2d 3c 66 35 3e e2 80 99 0a 0a 20 20 20 55 73 65 20 63 ------.....C-M-<f5>........Use.c
11f620 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 72 61 63 6b 65 74 20 74 6f 20 72 75 6e 20 74 68 65 20 66 69 ommand-line.racket.to.run.the.fi
11f640 6c 65 2e 0a 0a 20 20 20 55 73 65 73 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c le......Uses.a.shell.or.terminal
11f660 20 62 75 66 66 65 72 20 61 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 63 6f 6e 66 .buffer.as.specified.by.the.conf
11f680 69 67 75 72 61 74 69 6f 6e 0a 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d iguration.variable.*note.racket-
11f6a0 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 3a 3a 2e 0a 0a 1f shell-or-terminal-function::....
11f6c0 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 .File:.doc49fz4A.info,..Node:.ra
11f6e0 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 70 72 6f 66 cket-profile,..Next:.racket-prof
11f700 69 6c 65 2d 6d 6f 64 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 61 63 6b 65 74 2c 20 ile-mode,..Prev:.racket-racket,.
11f720 20 55 70 3a 20 52 75 6e 0a 0a 36 2e 34 2e 39 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 0a 2d .Up:.Run..6.4.9.racket-profile.-
11f740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 6f e2 -------------------.....C-c.C-o.
11f760 80 99 0a 0a 20 20 20 4c 69 6b 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 .......Like.*note.racket-run-mod
11f780 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 3a 3a 20 62 75 74 20 77 69 74 68 20 70 72 6f 66 69 6c 69 6e ule-at-point::.but.with.profilin
11f7a0 67 2e 0a 0a 20 20 20 52 65 73 75 6c 74 73 20 61 72 65 20 70 72 65 73 65 6e 74 65 64 20 69 6e 20 g......Results.are.presented.in.
11f7c0 61 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 6d 6f 64 65 3a 3a 20 62 75 a.*note.racket-profile-mode::.bu
11f7e0 66 66 65 72 2c 20 77 68 69 63 68 0a 61 6c 73 6f 20 6c 65 74 73 20 79 6f 75 20 71 75 69 63 6b 6c ffer,.which.also.lets.you.quickl
11f800 79 20 76 69 65 77 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 0a 20 20 20 59 6f 75 20 y.view.the.source.code......You.
11f820 6d 61 79 20 65 76 61 6c 75 61 74 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 6e 20 74 68 65 20 may.evaluate.expressions.in.the.
11f840 52 45 50 4c 2e 20 20 54 68 65 79 20 61 72 65 20 61 6c 73 6f 20 70 72 6f 66 69 6c 65 64 2e 0a 55 REPL...They.are.also.profiled..U
11f860 73 65 20 e2 80 98 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 72 65 66 72 65 73 68 e2 80 99 20 se....racket-profile-refresh....
11f880 74 6f 20 73 65 65 20 74 68 65 20 75 70 64 61 74 65 64 20 72 65 73 75 6c 74 73 2e 20 20 49 6e 20 to.see.the.updated.results...In.
11f8a0 6f 74 68 65 72 20 77 6f 72 64 73 0a 61 20 70 6f 73 73 69 62 6c 65 20 77 6f 72 6b 66 6c 6f 77 20 other.words.a.possible.workflow.
11f8c0 69 73 3a 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 3a 3a 20 61 20 2e 72 6b is:.*note.racket-profile::.a..rk
11f8e0 74 20 66 69 6c 65 2c 20 63 61 6c 6c 20 6f 6e 65 20 69 74 73 0a 66 75 6e 63 74 69 6f 6e 73 20 69 t.file,.call.one.its.functions.i
11f900 6e 20 74 68 65 20 52 45 50 4c 2c 20 61 6e 64 20 72 65 66 72 65 73 68 20 74 68 65 20 70 72 6f 66 n.the.REPL,.and.refresh.the.prof
11f920 69 6c 65 20 72 65 73 75 6c 74 73 2e 0a 0a 20 20 20 43 61 76 65 61 74 3a 20 4f 6e 6c 79 20 73 6f ile.results......Caveat:.Only.so
11f940 75 72 63 65 20 66 69 6c 65 73 20 61 72 65 20 69 6e 73 74 72 75 6d 65 6e 74 65 64 2e 20 20 59 6f urce.files.are.instrumented...Yo
11f960 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 64 65 6c 65 74 65 0a 63 6f 6d 70 69 6c 65 64 2f 2a 2e u.may.need.to.delete.compiled/*.
11f980 7a 6f 20 66 69 6c 65 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 zo.files.....File:.doc49fz4A.inf
11f9a0 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 6d 6f 64 65 2c 20 20 o,..Node:.racket-profile-mode,..
11f9c0 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2c 20 20 50 72 65 76 3a 20 72 61 63 6b Next:.racket-logger,..Prev:.rack
11f9e0 65 74 2d 70 72 6f 66 69 6c 65 2c 20 20 55 70 3a 20 52 75 6e 0a 0a 36 2e 34 2e 31 30 20 72 61 63 et-profile,..Up:.Run..6.4.10.rac
11fa00 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 6d 6f 64 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ket-profile-mode.---------------
11fa20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 -----------.....M-x.......racket
11fa40 2d 70 72 6f 66 69 6c 65 2d 6d 6f 64 65 e2 80 99 0a 0a 20 20 20 4d 61 6a 6f 72 20 6d 6f 64 65 20 -profile-mode........Major.mode.
11fa60 66 6f 72 20 72 65 73 75 6c 74 73 20 6f 66 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 70 72 6f 66 for.results.of.*note.racket-prof
11fa80 69 6c 65 3a 3a 2e 0a 0a 4b 65 79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ile::...Key.....................
11faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 0a ........................Binding.
11fac0 e2 80 98 52 45 54 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...RET..........................
11fae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 70 72 .......................racket-pr
11fb00 6f 66 69 6c 65 2d 76 69 73 69 74 e2 80 99 0a e2 80 98 2e e2 80 99 20 20 20 20 20 20 20 20 20 20 ofile-visit.....................
11fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11fb40 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 76 69 73 69 74 e2 80 99 0a e2 80 ......racket-profile-visit......
11fb60 98 66 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .f..............................
11fb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 70 72 6f 66 .....................racket-prof
11fba0 69 6c 65 2d 73 68 6f 77 2d 6e 6f 6e 2d 70 72 6f 6a 65 63 74 e2 80 99 0a e2 80 98 7a e2 80 99 20 ile-show-non-project.......z....
11fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11fbe0 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 73 68 ...............racket-profile-sh
11fc00 6f 77 2d 7a 65 72 6f e2 80 99 0a e2 80 98 67 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ow-zero.......g.................
11fc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 ................................
11fc40 80 98 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 72 65 66 72 65 73 68 e2 80 99 0a e2 80 98 71 ..racket-profile-refresh.......q
11fc60 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11fc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 71 75 69 74 2d 77 69 6e 64 6f 77 e2 80 ...................quit-window..
11fca0 99 0a 0a 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 61 6e 79 20 68 6f 6f 6b 73 20 69 ......In.addition.to.any.hooks.i
11fcc0 74 73 20 70 61 72 65 6e 74 20 6d 6f 64 65 20 e2 80 98 74 61 62 75 6c 61 74 65 64 2d 6c 69 73 74 ts.parent.mode....tabulated-list
11fce0 2d 6d 6f 64 65 e2 80 99 20 6d 69 67 68 74 0a 68 61 76 65 20 72 75 6e 2c 20 74 68 69 73 20 6d 6f -mode....might.have.run,.this.mo
11fd00 64 65 20 72 75 6e 73 20 74 68 65 20 68 6f 6f 6b 20 e2 80 98 72 61 63 6b 65 74 2d 70 72 6f 66 69 de.runs.the.hook....racket-profi
11fd20 6c 65 2d 6d 6f 64 65 2d 68 6f 6f 6b e2 80 99 2c 20 61 73 20 74 68 65 0a 66 69 6e 61 6c 20 6f 72 le-mode-hook...,.as.the.final.or
11fd40 20 70 65 6e 75 6c 74 69 6d 61 74 65 20 73 74 65 70 20 64 75 72 69 6e 67 20 69 6e 69 74 69 61 6c .penultimate.step.during.initial
11fd60 69 7a 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f ization.....File:.doc49fz4A.info
11fd80 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2c 20 20 4e 65 78 74 3a 20 72 ,..Node:.racket-logger,..Next:.r
11fda0 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 acket-logger-mode,..Prev:.racket
11fdc0 2d 70 72 6f 66 69 6c 65 2d 6d 6f 64 65 2c 20 20 55 70 3a 20 52 75 6e 0a 0a 36 2e 34 2e 31 31 20 -profile-mode,..Up:.Run..6.4.11.
11fde0 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d racket-logger.------------------
11fe00 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 6c e2 80 99 0a 0a 20 20 20 43 72 65 61 74 65 20 74 68 65 --.....C-c.C-l........Create.the
11fe20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 3a 3a 20 62 75 66 66 .*note.racket-logger-mode::.buff
11fe40 65 72 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f er.....File:.doc49fz4A.info,..No
11fe60 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 2c 20 20 4e 65 78 74 3a 20 72 de:.racket-logger-mode,..Next:.r
11fe80 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d acket-debug-mode,..Prev:.racket-
11fea0 6c 6f 67 67 65 72 2c 20 20 55 70 3a 20 52 75 6e 0a 0a 36 2e 34 2e 31 32 20 72 61 63 6b 65 74 2d logger,..Up:.Run..6.4.12.racket-
11fec0 6c 6f 67 67 65 72 2d 6d 6f 64 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d logger-mode.--------------------
11fee0 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 6c 6f 67 67 65 -----.....M-x.......racket-logge
11ff00 72 2d 6d 6f 64 65 e2 80 99 0a 0a 20 20 20 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 52 61 63 r-mode........Major.mode.for.Rac
11ff20 6b 65 74 20 6c 6f 67 67 65 72 20 6f 75 74 70 75 74 2e 0a 0a 20 20 20 54 68 65 20 63 75 73 74 6f ket.logger.output......The.custo
11ff40 6d 69 7a 61 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6c mization.variable.*note.racket-l
11ff60 6f 67 67 65 72 2d 63 6f 6e 66 69 67 3a 3a 20 64 65 74 65 72 6d 69 6e 65 73 0a 74 68 65 20 6c 65 ogger-config::.determines.the.le
11ff80 76 65 6c 73 20 66 6f 72 20 74 6f 70 69 63 73 2e 20 20 44 75 72 69 6e 67 20 61 20 73 65 73 73 69 vels.for.topics...During.a.sessi
11ffa0 6f 6e 20 79 6f 75 20 6d 61 79 20 63 68 61 6e 67 65 20 74 6f 70 69 63 20 6c 65 76 65 6c 73 0a 75 on.you.may.change.topic.levels.u
11ffc0 73 69 6e 67 20 e2 80 98 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 6c 65 76 65 sing....racket-logger-topic-leve
11ffe0 6c e2 80 99 2e 0a 0a 20 20 20 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 73 l.........For.more.information.s
120000 65 65 3a 0a 3c 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 ee:.<https://docs.racket-lang.or
120020 67 2f 72 65 66 65 72 65 6e 63 65 2f 6c 6f 67 67 69 6e 67 2e 68 74 6d 6c 3e 0a 0a 4b 65 79 20 20 g/reference/logging.html>..Key..
120040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
120060 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 0a e2 80 98 67 e2 80 99 20 20 20 20 20 20 20 20 20 20 .......Binding....g.............
120080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 ................................
1200a0 80 98 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6c 65 61 72 e2 80 99 0a e2 80 98 70 e2 80 99 ..racket-logger-clear.......p...
1200c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1200e0 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 70 72 65 76 69 6f ............racket-logger-previo
120100 75 73 2d 69 74 65 6d e2 80 99 0a e2 80 98 6e e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 us-item.......n.................
120120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 ..............................ra
120140 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6e 65 78 74 2d 69 74 65 6d e2 80 99 0a e2 80 98 77 e2 80 99 cket-logger-next-item.......w...
120160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
120180 20 20 20 20 20 20 20 20 20 e2 80 98 74 6f 67 67 6c 65 2d 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 ............toggle-truncate-line
1201a0 73 e2 80 99 0a e2 80 98 6c e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.......l.......................
1201c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 6c ........................racket-l
1201e0 6f 67 67 65 72 2d 74 6f 70 69 63 2d 6c 65 76 65 6c e2 80 99 0a 0a 20 20 20 49 6e 20 61 64 64 69 ogger-topic-level........In.addi
120200 74 69 6f 6e 20 74 6f 20 61 6e 79 20 68 6f 6f 6b 73 20 69 74 73 20 70 61 72 65 6e 74 20 6d 6f 64 tion.to.any.hooks.its.parent.mod
120220 65 20 e2 80 98 73 70 65 63 69 61 6c 2d 6d 6f 64 65 e2 80 99 20 6d 69 67 68 74 20 68 61 76 65 0a e....special-mode....might.have.
120240 72 75 6e 2c 20 74 68 69 73 20 6d 6f 64 65 20 72 75 6e 73 20 74 68 65 20 68 6f 6f 6b 20 e2 80 98 run,.this.mode.runs.the.hook....
120260 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 2d 68 6f 6f 6b e2 80 99 2c 20 61 73 20 74 racket-logger-mode-hook...,.as.t
120280 68 65 20 66 69 6e 61 6c 20 6f 72 0a 70 65 6e 75 6c 74 69 6d 61 74 65 20 73 74 65 70 20 64 75 72 he.final.or.penultimate.step.dur
1202a0 69 6e 67 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 ing.initialization.....File:.doc
1202c0 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 64 65 62 75 67 49fz4A.info,..Node:.racket-debug
1202e0 2d 6d 6f 64 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2c -mode,..Next:.racket-repl-clear,
120300 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 2c 20 20 55 70 3a ..Prev:.racket-logger-mode,..Up:
120320 20 52 75 6e 0a 0a 36 2e 34 2e 31 33 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 0a 2d .Run..6.4.13.racket-debug-mode.-
120340 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 -----------------------.....M-x.
120360 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 e2 80 99 0a 0a 20 20 20 4d ......racket-debug-mode........M
120380 69 6e 6f 72 20 6d 6f 64 65 20 66 6f 72 20 64 65 62 75 67 20 62 72 65 61 6b 73 2e 0a 0a 20 20 20 inor.mode.for.debug.breaks......
1203a0 54 68 69 73 20 69 73 20 61 20 6d 69 6e 6f 72 20 6d 6f 64 65 2e 20 20 49 66 20 63 61 6c 6c 65 64 This.is.a.minor.mode...If.called
1203c0 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 74 6f 67 67 6c 65 20 74 68 65 0a e2 80 98 52 61 .interactively,.toggle.the....Ra
1203e0 63 6b 65 74 2d 44 65 62 75 67 20 6d 6f 64 65 e2 80 99 20 6d 6f 64 65 2e 20 20 49 66 20 74 68 65 cket-Debug.mode....mode...If.the
120400 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 20 69 73 20 70 6f 73 69 74 69 76 65 2c 20 65 6e .prefix.argument.is.positive,.en
120420 61 62 6c 65 0a 74 68 65 20 6d 6f 64 65 2c 20 61 6e 64 20 69 66 20 69 74 20 69 73 20 7a 65 72 6f able.the.mode,.and.if.it.is.zero
120440 20 6f 72 20 6e 65 67 61 74 69 76 65 2c 20 64 69 73 61 62 6c 65 20 74 68 65 20 6d 6f 64 65 2e 0a .or.negative,.disable.the.mode..
120460 0a 20 20 20 49 66 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 4c 69 73 70 2c 20 74 6f 67 67 6c 65 20 ....If.called.from.Lisp,.toggle.
120480 74 68 65 20 6d 6f 64 65 20 69 66 20 41 52 47 20 69 73 20 e2 80 98 74 6f 67 67 6c 65 e2 80 99 2e the.mode.if.ARG.is....toggle....
1204a0 20 20 45 6e 61 62 6c 65 20 74 68 65 0a 6d 6f 64 65 20 69 66 20 41 52 47 20 69 73 20 6e 69 6c 2c ..Enable.the.mode.if.ARG.is.nil,
1204c0 20 6f 6d 69 74 74 65 64 2c 20 6f 72 20 69 73 20 61 20 70 6f 73 69 74 69 76 65 20 6e 75 6d 62 65 .omitted,.or.is.a.positive.numbe
1204e0 72 2e 20 20 44 69 73 61 62 6c 65 20 74 68 65 20 6d 6f 64 65 0a 69 66 20 41 52 47 20 69 73 20 61 r...Disable.the.mode.if.ARG.is.a
120500 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 2e 0a 0a 20 20 20 54 6f 20 63 68 65 63 6b 20 77 .negative.number......To.check.w
120520 68 65 74 68 65 72 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 64 hether.the.minor.mode.is.enabled
120540 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2c 0a 65 76 61 6c 75 61 74 65 .in.the.current.buffer,.evaluate
120560 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 3a 3a 2e 0a 0a 20 20 20 .*note.racket-debug-mode::......
120580 54 68 65 20 6d 6f 64 65 e2 80 99 73 20 68 6f 6f 6b 20 69 73 20 63 61 6c 6c 65 64 20 62 6f 74 68 The.mode...s.hook.is.called.both
1205a0 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 77 68 .when.the.mode.is.enabled.and.wh
1205c0 65 6e 20 69 74 0a 69 73 20 64 69 73 61 62 6c 65 64 2e 0a 0a 20 20 20 54 68 69 73 20 66 65 61 74 en.it.is.disabled......This.feat
1205e0 75 72 65 20 69 73 20 2a 2a 45 58 50 45 52 49 4d 45 4e 54 41 4c 2a 2a 21 21 21 20 49 74 20 69 73 ure.is.**EXPERIMENTAL**!!!.It.is
120600 20 6c 69 6b 65 6c 79 20 74 6f 20 68 61 76 65 20 73 69 67 6e 69 66 69 63 61 6e 74 0a 6c 69 6d 69 .likely.to.have.significant.limi
120620 74 61 74 69 6f 6e 73 20 61 6e 64 20 62 75 67 73 2e 20 20 59 6f 75 20 61 72 65 20 77 65 6c 63 6f tations.and.bugs...You.are.welco
120640 6d 65 20 74 6f 20 6f 70 65 6e 20 61 6e 20 69 73 73 75 65 20 74 6f 20 70 72 6f 76 69 64 65 0a 66 me.to.open.an.issue.to.provide.f
120660 65 65 64 62 61 63 6b 2e 20 20 50 6c 65 61 73 65 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 61 74 eedback...Please.understand.that
120680 20 74 68 69 73 20 66 65 61 74 75 72 65 20 6d 69 67 68 74 20 6e 65 76 65 72 20 62 65 20 69 6d 70 .this.feature.might.never.be.imp
1206a0 72 6f 76 65 64 20 e2 80 93 0a 69 74 20 6d 69 67 68 74 20 65 76 65 6e 20 62 65 20 72 65 6d 6f 76 roved.....it.might.even.be.remov
1206c0 65 64 20 73 6f 6d 65 64 61 79 20 69 66 20 69 74 20 74 75 72 6e 73 20 6f 75 74 20 74 6f 20 68 61 ed.someday.if.it.turns.out.to.ha
1206e0 76 65 20 74 6f 6f 20 6c 69 74 74 6c 65 0a 76 61 6c 75 65 20 61 6e 64 2f 6f 72 20 74 6f 6f 20 6d ve.too.little.value.and/or.too.m
120700 75 63 68 20 63 6f 73 74 2e 0a 0a 20 20 20 48 6f 77 20 74 6f 20 64 65 62 75 67 3a 0a 0a 20 20 31 uch.cost......How.to.debug:....1
120720 2e 20 e2 80 9c 49 6e 73 74 72 75 6d 65 6e 74 e2 80 9d 20 63 6f 64 65 20 66 6f 72 20 73 74 65 70 .....Instrument....code.for.step
120740 20 64 65 62 75 67 67 69 6e 67 2e 0a 0a 20 20 20 20 20 55 73 65 20 74 77 6f 20 e2 80 98 43 2d 75 .debugging........Use.two....C-u
120760 e2 80 99 20 63 6f 6d 6d 61 6e 64 20 70 72 65 66 69 78 65 73 20 66 6f 72 20 65 69 74 68 65 72 20 ....command.prefixes.for.either.
120780 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 3a 3a 20 6f 72 0a 20 20 20 20 20 2a 6e 6f 74 65 *note.racket-run::.or......*note
1207a0 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 3a 3a 2e 0a 0a .racket-run-module-at-point::...
1207c0 20 20 20 20 20 54 68 65 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 20 69 6e 73 74 72 75 6d 65 6e 74 .....The.file.will.be.instrument
1207e0 65 64 20 66 6f 72 20 73 74 65 70 20 64 65 62 75 67 67 69 6e 67 20 62 65 66 6f 72 65 20 69 74 20 ed.for.step.debugging.before.it.
120800 69 73 20 72 75 6e 2e 0a 20 20 20 20 20 41 6e 79 20 69 6d 70 6f 72 74 65 64 20 66 69 6c 65 73 20 is.run.......Any.imported.files.
120820 61 72 65 20 61 6c 73 6f 20 69 6e 73 74 72 75 6d 65 6e 74 65 64 20 69 66 20 74 68 65 79 20 61 72 are.also.instrumented.if.they.ar
120840 65 20 69 6e 20 74 68 65 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 e.in.the......variable.*note.rac
120860 6b 65 74 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 ket-debuggable-files::........Th
120880 65 20 72 75 6e 20 77 69 6c 6c 20 62 72 65 61 6b 20 61 74 20 74 68 65 20 66 69 72 73 74 20 62 72 e.run.will.break.at.the.first.br
1208a0 65 61 6b 61 62 6c 65 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 54 69 70 3a 20 41 66 74 eakable.position........Tip:.Aft
1208c0 65 72 20 79 6f 75 20 72 75 6e 20 74 6f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 61 6e 64 20 72 65 74 er.you.run.to.completion.and.ret
1208e0 75 72 6e 20 74 6f 20 61 20 6e 6f 72 6d 61 6c 20 52 45 50 4c 0a 20 20 20 20 20 70 72 6f 6d 70 74 urn.to.a.normal.REPL......prompt
120900 2c 20 74 68 65 20 63 6f 64 65 20 72 65 6d 61 69 6e 73 20 69 6e 73 74 72 75 6d 65 6e 74 65 64 2e ,.the.code.remains.instrumented.
120920 20 20 59 6f 75 20 6d 61 79 20 65 6e 74 65 72 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 20 20 20 20 ..You.may.enter.expressions.....
120940 20 74 68 61 74 20 65 76 61 6c 75 61 74 65 20 69 6e 73 74 72 75 6d 65 6e 74 65 64 20 63 6f 64 65 .that.evaluate.instrumented.code
120960 20 61 6e 64 20 69 74 20 77 69 6c 6c 20 62 72 65 61 6b 20 73 6f 20 79 6f 75 20 63 61 6e 20 73 74 .and.it.will.break.so.you.can.st
120980 65 70 0a 20 20 20 20 20 64 65 62 75 67 20 61 67 61 69 6e 2e 0a 0a 20 20 32 2e 20 57 68 65 6e 20 ep......debug.again.....2..When.
1209a0 61 20 62 72 65 61 6b 20 6f 63 63 75 72 73 2c 20 74 68 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 a.break.occurs,.the.*note.racket
1209c0 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 20 70 72 6f 6d 70 74 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 -repl-mode::.prompt.changes.....
1209e0 20 20 49 6e 20 74 68 69 73 20 64 65 62 75 67 20 52 45 50 4c 2c 20 6c 6f 63 61 6c 20 76 61 72 69 ..In.this.debug.REPL,.local.vari
120a00 61 62 6c 65 73 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 79 6f 75 20 74 6f 20 75 ables.are.available.for.you.to.u
120a20 73 65 0a 20 20 20 20 20 61 6e 64 20 65 76 65 6e 20 74 6f 20 e2 80 98 73 65 74 21 e2 80 99 2e 0a se......and.even.to....set!.....
120a40 0a 20 20 20 20 20 41 6c 73 6f 2c 20 69 6e 20 74 68 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d ......Also,.in.the.*note.racket-
120a60 6d 6f 64 65 3a 3a 20 62 75 66 66 65 72 20 77 68 65 72 65 20 74 68 65 20 62 72 65 61 6b 20 69 73 mode::.buffer.where.the.break.is
120a80 20 6c 6f 63 61 74 65 64 2c 0a 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 64 65 62 75 .located,......*note.racket-debu
120aa0 67 2d 6d 6f 64 65 3a 3a 20 69 73 20 65 6e 61 62 6c 65 64 2e 20 20 54 68 69 73 20 6d 69 6e 6f 72 g-mode::.is.enabled...This.minor
120ac0 20 6d 6f 64 65 20 6d 61 6b 65 73 20 74 68 65 0a 20 20 20 20 20 62 75 66 66 65 72 20 72 65 61 64 .mode.makes.the......buffer.read
120ae0 2d 6f 6e 6c 79 2c 20 70 72 6f 76 69 64 65 73 20 76 69 73 75 61 6c 20 66 65 65 64 62 61 63 6b 20 -only,.provides.visual.feedback.
120b00 e2 80 93 20 61 62 6f 75 74 20 74 68 65 20 62 72 65 61 6b 0a 20 20 20 20 20 70 6f 73 69 74 69 6f ....about.the.break......positio
120b20 6e 2c 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 73 2c 20 61 6e 64 20 72 65 n,.local.variable.values,.and.re
120b40 73 75 6c 74 20 76 61 6c 75 65 73 20 e2 80 93 20 61 6e 64 20 70 72 6f 76 69 64 65 73 0a 20 20 20 sult.values.....and.provides....
120b60 20 20 73 68 6f 72 74 63 75 74 20 6b 65 79 73 3a 0a 0a 4b 65 79 20 20 20 20 20 20 20 20 20 20 20 ..shortcut.keys:..Key...........
120b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
120ba0 20 20 42 69 6e 64 69 6e 67 0a e2 80 98 3f e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..Binding....?..................
120bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 ................................
120be0 98 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 68 65 6c 70 e2 80 99 0a e2 80 98 68 e2 80 99 20 20 20 .racket-debug-help.......h......
120c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
120c20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 72 75 6e 2d 74 6f .............racket-debug-run-to
120c40 2d 68 65 72 65 e2 80 99 0a e2 80 98 21 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -here.......!...................
120c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 6e 6f .............................*no
120c80 74 65 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 6f 67 67 6c 65 2d 62 72 65 61 6b 70 6f 69 6e te.racket-debug-toggle-breakpoin
120ca0 74 3a 3a 0a e2 80 98 50 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t::....P........................
120cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 ...........................racke
120ce0 74 2d 64 65 62 75 67 2d 70 72 65 76 2d 62 72 65 61 6b 70 6f 69 6e 74 e2 80 99 0a e2 80 98 4e e2 t-debug-prev-breakpoint.......N.
120d00 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
120d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6e ..................racket-debug-n
120d40 65 78 74 2d 62 72 65 61 6b 70 6f 69 6e 74 e2 80 99 0a e2 80 98 70 e2 80 99 20 20 20 20 20 20 20 ext-breakpoint.......p..........
120d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
120d80 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 70 72 65 76 2d 62 72 65 61 6b .........racket-debug-prev-break
120da0 61 62 6c 65 e2 80 99 0a e2 80 98 6e e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 able.......n....................
120dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 ...............................r
120de0 61 63 6b 65 74 2d 64 65 62 75 67 2d 6e 65 78 74 2d 62 72 65 61 6b 61 62 6c 65 e2 80 99 0a e2 80 acket-debug-next-breakable......
120e00 98 67 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .g..............................
120e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 62 75 .....................racket-debu
120e40 67 2d 67 6f e2 80 99 0a e2 80 98 63 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g-go.......c....................
120e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 ...............................r
120e80 61 63 6b 65 74 2d 64 65 62 75 67 2d 63 6f 6e 74 69 6e 75 65 e2 80 99 0a e2 80 98 75 e2 80 99 20 acket-debug-continue.......u....
120ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
120ec0 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 73 74 65 70 ...............racket-debug-step
120ee0 2d 6f 75 74 e2 80 99 0a e2 80 98 6f e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -out.......o....................
120f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 ...............................r
120f20 61 63 6b 65 74 2d 64 65 62 75 67 2d 73 74 65 70 2d 6f 76 65 72 e2 80 99 0a e2 80 98 53 50 43 e2 acket-debug-step-over.......SPC.
120f40 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
120f60 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 73 74 65 ................racket-debug-ste
120f80 70 e2 80 99 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e p.......File:.doc49fz4A.info,..N
120fa0 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2c 20 20 4e 65 78 74 3a 20 72 ode:.racket-repl-clear,..Next:.r
120fc0 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d 6c 65 61 76 69 6e 67 2d 6c 61 73 74 2d 70 72 acket-repl-clear-leaving-last-pr
120fe0 6f 6d 70 74 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 2c 20 ompt,..Prev:.racket-debug-mode,.
121000 20 55 70 3a 20 52 75 6e 0a 0a 36 2e 34 2e 31 34 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 .Up:.Run..6.4.14.racket-repl-cle
121020 61 72 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 44 65 6c ar.------------------------..Del
121040 65 74 65 20 61 6c 6c 20 74 65 78 74 20 69 6e 20 74 68 65 20 52 45 50 4c 2e 0a 0a 20 20 20 41 20 ete.all.text.in.the.REPL......A.
121060 73 75 69 74 61 62 6c 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 68 6f 6f 6b 20 2a 6e 6f 74 suitable.value.for.the.hook.*not
121080 65 20 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 3a 3a 20 69 66 20 79 6f e.racket-before-run-hook::.if.yo
1210a0 75 0a 77 61 6e 74 20 74 68 65 20 52 45 50 4c 20 62 75 66 66 65 72 20 74 6f 20 62 65 20 63 6c 65 u.want.the.REPL.buffer.to.be.cle
1210c0 61 72 65 64 20 62 65 66 6f 72 65 20 65 61 63 68 20 72 75 6e 2c 20 6d 75 63 68 20 6c 69 6b 65 20 ared.before.each.run,.much.like.
1210e0 77 69 74 68 20 44 72 0a 52 61 63 6b 65 74 2e 20 20 54 6f 20 64 6f 20 73 6f 20 79 6f 75 20 63 61 with.Dr.Racket...To.do.so.you.ca
121100 6e 20 75 73 65 20 e2 80 98 63 75 73 74 6f 6d 69 7a 65 e2 80 99 2c 20 6f 72 2c 20 61 64 64 20 74 n.use....customize...,.or,.add.t
121120 6f 20 79 6f 75 72 20 45 6d 61 63 73 20 69 6e 69 74 0a 66 69 6c 65 20 73 6f 6d 65 74 68 69 6e 67 o.your.Emacs.init.file.something
121140 20 6c 69 6b 65 3a 0a 0a 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 e2 80 99 72 61 63 6b 65 74 2d 62 .like:.....(add-hook....racket-b
121160 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 20 23 e2 80 99 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 efore-run-hook.#...racket-repl-c
121180 6c 65 61 72 29 0a 0a 20 20 20 53 65 65 20 61 6c 73 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 2a lear).....See.also.the.command.*
1211a0 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d 6c 65 61 76 69 6e 67 2d 6c note.racket-repl-clear-leaving-l
1211c0 61 73 74 2d 70 72 6f 6d 70 74 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 ast-prompt::.....File:.doc49fz4A
1211e0 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d .info,..Node:.racket-repl-clear-
121200 6c 65 61 76 69 6e 67 2d 6c 61 73 74 2d 70 72 6f 6d 70 74 2c 20 20 50 72 65 76 3a 20 72 61 63 6b leaving-last-prompt,..Prev:.rack
121220 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2c 20 20 55 70 3a 20 52 75 6e 0a 0a 36 2e 34 2e 31 35 20 et-repl-clear,..Up:.Run..6.4.15.
121240 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d 6c 65 61 76 69 6e 67 2d 6c 61 73 74 2d 70 racket-repl-clear-leaving-last-p
121260 72 6f 6d 70 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d rompt.--------------------------
121280 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 ------------------.....M-x......
1212a0 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d 6c 65 61 76 69 6e 67 2d 6c 61 73 74 2d .racket-repl-clear-leaving-last-
1212c0 70 72 6f 6d 70 74 e2 80 99 0a 0a 20 20 20 44 65 6c 65 74 65 20 61 6c 6c 20 74 65 78 74 20 69 6e prompt........Delete.all.text.in
1212e0 20 74 68 65 20 52 45 50 4c 2c 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 74 20 70 .the.REPL,.except.for.the.last.p
121300 72 6f 6d 70 74 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 rompt.....File:.doc49fz4A.info,.
121320 20 4e 6f 64 65 3a 20 54 65 73 74 2c 20 20 4e 65 78 74 3a 20 45 76 61 6c 2c 20 20 50 72 65 76 3a .Node:.Test,..Next:.Eval,..Prev:
121340 20 52 75 6e 2c 20 20 55 70 3a 20 43 6f 6d 6d 61 6e 64 73 0a 0a 36 2e 35 20 54 65 73 74 0a 3d 3d .Run,..Up:.Commands..6.5.Test.==
121360 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b 65 74 2d 74 65 73 74 3a 3a ======..*.Menu:..*.racket-test::
121380 0a 2a 20 72 61 63 6b 65 74 2d 72 61 63 6f 2d 74 65 73 74 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 .*.racket-raco-test::....File:.d
1213a0 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 74 65 73 oc49fz4A.info,..Node:.racket-tes
1213c0 74 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 61 63 6f 2d 74 65 73 74 2c 20 20 55 70 3a t,..Next:.racket-raco-test,..Up:
1213e0 20 54 65 73 74 0a 0a 36 2e 35 2e 31 20 72 61 63 6b 65 74 2d 74 65 73 74 0a 2d 2d 2d 2d 2d 2d 2d .Test..6.5.1.racket-test.-------
121400 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 3c 66 35 3e e2 80 99 20 6f 72 20 e2 80 98 43 ----------.....C-<f5>....or....C
121420 2d 63 20 43 2d 74 e2 80 99 0a 0a 20 20 20 52 75 6e 20 74 68 65 20 e2 80 9c 74 65 73 74 e2 80 9d -c.C-t........Run.the....test...
121440 20 73 75 62 6d 6f 64 75 6c 65 2e 0a 0a 20 20 20 50 75 74 20 79 6f 75 72 20 74 65 73 74 73 20 69 .submodule......Put.your.tests.i
121460 6e 20 61 20 e2 80 9c 74 65 73 74 e2 80 9d 20 73 75 62 6d 6f 64 75 6c 65 2e 20 20 46 6f 72 20 65 n.a....test....submodule...For.e
121480 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 2b 20 74 65 73 74 0a xample:...........(module+.test.
1214a0 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 72 61 63 6b 75 6e 69 74 29 0a 20 20 ...........(require.rackunit)...
1214c0 20 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 2d 74 72 75 65 20 23 74 29 29 0a 0a 20 20 20 41 6e .........(check-true.#t)).....An
1214e0 79 20 72 61 63 6b 75 6e 69 74 20 74 65 73 74 20 66 61 69 6c 75 72 65 20 6d 65 73 73 61 67 65 73 y.rackunit.test.failure.messages
121500 20 73 68 6f 77 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 2e 20 20 59 6f 75 20 6d 61 79 20 75 73 65 .show.the.location...You.may.use
121520 0a e2 80 98 6e 65 78 74 2d 65 72 72 6f 72 e2 80 99 20 74 6f 20 6a 75 6d 70 20 74 6f 20 74 68 65 ....next-error....to.jump.to.the
121540 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 66 61 69 6c 69 6e 67 20 74 65 73 74 2e 0a .location.of.each.failing.test..
121560 0a 20 20 20 57 69 74 68 20 e2 80 98 43 2d 75 e2 80 99 20 75 73 65 73 20 65 72 72 6f 72 74 72 61 ....With....C-u....uses.errortra
121580 63 65 20 66 6f 72 20 69 6d 70 72 6f 76 65 64 20 73 74 61 63 6b 20 74 72 61 63 65 73 2e 20 20 4f ce.for.improved.stack.traces...O
1215a0 74 68 65 72 77 69 73 65 0a 66 6f 6c 6c 6f 77 73 20 74 68 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 therwise.follows.the.*note.racke
1215c0 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 3a 3a 20 73 65 74 74 69 6e 67 2e 0a 0a 20 20 20 57 t-error-context::.setting......W
1215e0 69 74 68 20 e2 80 98 43 2d 75 e2 80 99 20 e2 80 98 43 2d 75 e2 80 99 20 61 6c 73 6f 20 72 75 6e ith....C-u.......C-u....also.run
121600 73 20 74 68 65 20 74 65 73 74 73 20 77 69 74 68 20 63 6f 76 65 72 61 67 65 20 69 6e 73 74 72 75 s.the.tests.with.coverage.instru
121620 6d 65 6e 74 61 74 69 6f 6e 0a 61 6e 64 20 68 69 67 68 6c 69 67 68 74 73 20 75 6e 63 6f 76 65 72 mentation.and.highlights.uncover
121640 65 64 20 63 6f 64 65 20 75 73 69 6e 67 20 e2 80 98 66 6f 6e 74 2d 6c 6f 63 6b 2d 77 61 72 6e 69 ed.code.using....font-lock-warni
121660 6e 67 2d 66 61 63 65 e2 80 99 2e 0a 0a 20 20 20 53 65 65 20 61 6c 73 6f 3a 0a 20 20 20 e2 80 a2 ng-face.........See.also:.......
121680 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 3a 3a 0a 20 .*note.racket-fold-all-tests::..
1216a0 20 20 e2 80 a2 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 ......*note.racket-unfold-all-te
1216c0 73 74 73 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 sts::....File:.doc49fz4A.info,..
1216e0 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 61 63 6f 2d 74 65 73 74 2c 20 20 50 72 65 76 3a 20 72 Node:.racket-raco-test,..Prev:.r
121700 61 63 6b 65 74 2d 74 65 73 74 2c 20 20 55 70 3a 20 54 65 73 74 0a 0a 36 2e 35 2e 32 20 72 61 63 acket-test,..Up:.Test..6.5.2.rac
121720 6b 65 74 2d 72 61 63 6f 2d 74 65 73 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ket-raco-test.------------------
121740 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 72 61 63 6f 2d 74 ----.....M-x.......racket-raco-t
121760 65 73 74 e2 80 99 0a 0a 20 20 20 55 73 65 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 72 61 63 6f est........Use.command-line.raco
121780 20 74 65 73 74 20 74 6f 20 72 75 6e 20 74 68 65 20 e2 80 9c 74 65 73 74 e2 80 9d 20 73 75 62 6d .test.to.run.the....test....subm
1217a0 6f 64 75 6c 65 2e 0a 0a 20 20 20 55 73 65 73 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 odule......Uses.a.shell.or.termi
1217c0 6e 61 6c 20 62 75 66 66 65 72 20 61 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 63 nal.buffer.as.specified.by.the.c
1217e0 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b onfiguration.variable.*note.rack
121800 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 3a 3a 2e et-shell-or-terminal-function::.
121820 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a ....File:.doc49fz4A.info,..Node:
121840 20 45 76 61 6c 2c 20 20 4e 65 78 74 3a 20 43 6f 6c 6c 65 63 74 69 6f 6e 73 2c 20 20 50 72 65 76 .Eval,..Next:.Collections,..Prev
121860 3a 20 54 65 73 74 2c 20 20 55 70 3a 20 43 6f 6d 6d 61 6e 64 73 0a 0a 36 2e 36 20 45 76 61 6c 0a :.Test,..Up:.Commands..6.6.Eval.
121880 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b 65 74 2d 73 65 6e 64 ========..*.Menu:..*.racket-send
1218a0 2d 72 65 67 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 -region::.*.racket-send-definiti
1218c0 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 74 2d 73 65 78 70 3a 3a 0a 0a on::.*.racket-send-last-sexp::..
1218e0 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 ..File:.doc49fz4A.info,..Node:.r
121900 61 63 6b 65 74 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 acket-send-region,..Next:.racket
121920 2d 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 2c 20 20 55 70 3a 20 45 76 61 6c 0a 0a 36 2e 36 -send-definition,..Up:.Eval..6.6
121940 2e 31 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .1.racket-send-region.----------
121960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 72 e2 80 99 0a 0a 20 --------------.....C-c.C-r......
121980 20 20 53 65 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 65 67 69 6f 6e 20 28 69 66 20 61 6e ..Send.the.current.region.(if.an
1219a0 79 29 20 74 6f 20 74 68 65 20 52 61 63 6b 65 74 20 52 45 50 4c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 y).to.the.Racket.REPL.....File:.
1219c0 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 65 doc49fz4A.info,..Node:.racket-se
1219e0 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 73 65 6e nd-definition,..Next:.racket-sen
121a00 64 2d 6c 61 73 74 2d 73 65 78 70 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d d-last-sexp,..Prev:.racket-send-
121a20 72 65 67 69 6f 6e 2c 20 20 55 70 3a 20 45 76 61 6c 0a 0a 36 2e 36 2e 32 20 72 61 63 6b 65 74 2d region,..Up:.Eval..6.6.2.racket-
121a40 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d send-definition.----------------
121a60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 4d 2d 78 e2 80 99 0a 0a 20 20 20 53 65 ------------.....C-M-x........Se
121a80 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 65 66 69 6e 69 74 69 6f 6e 20 74 6f 20 74 68 65 nd.the.current.definition.to.the
121aa0 20 52 61 63 6b 65 74 20 52 45 50 4c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 .Racket.REPL.....File:.doc49fz4A
121ac0 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 74 2d 73 .info,..Node:.racket-send-last-s
121ae0 65 78 70 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 exp,..Prev:.racket-send-definiti
121b00 6f 6e 2c 20 20 55 70 3a 20 45 76 61 6c 0a 0a 36 2e 36 2e 33 20 72 61 63 6b 65 74 2d 73 65 6e 64 on,..Up:.Eval..6.6.3.racket-send
121b20 2d 6c 61 73 74 2d 73 65 78 70 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -last-sexp.---------------------
121b40 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 78 20 43 2d 65 e2 80 99 0a 0a 20 20 20 53 65 6e 64 20 74 ------.....C-x.C-e........Send.t
121b60 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 62 65 66 6f 72 65 20 70 6f 69 6e 74 20 74 6f 20 74 68 he.expression.before.point.to.th
121b80 65 20 52 61 63 6b 65 74 20 52 45 50 4c 2e 0a 0a 20 20 20 54 68 65 20 65 78 70 72 65 73 73 69 6f e.Racket.REPL......The.expressio
121ba0 6e 20 6d 61 79 20 62 65 20 65 69 74 68 65 72 20 61 6e 20 61 74 2d 65 78 70 72 65 73 73 69 6f 6e n.may.be.either.an.at-expression
121bc0 20 6f 72 20 61 6e 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 20 20 20 57 68 65 6e 20 74 68 .or.an.s-expression......When.th
121be0 65 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 61 20 73 65 78 70 20 63 6f 6d 6d 65 6e 74 2c 20 e.expression.is.a.sexp.comment,.
121c00 74 68 65 20 73 65 78 70 20 69 74 73 65 6c 66 20 69 73 20 73 65 6e 74 2c 0a 77 69 74 68 6f 75 74 the.sexp.itself.is.sent,.without
121c20 20 74 68 65 20 23 3b 20 70 72 65 66 69 78 2e 0a 0a 20 20 20 57 69 74 68 20 61 20 70 72 65 66 69 .the.#;.prefix......With.a.prefi
121c40 78 20 61 72 67 75 6d 65 6e 74 20 28 65 2e 67 2e 20 20 e2 80 98 43 2d 75 e2 80 99 20 e2 80 98 43 x.argument.(e.g......C-u.......C
121c60 2d 78 20 43 2d 65 e2 80 99 20 29 2c 20 74 68 65 20 73 65 78 70 20 69 73 20 63 6f 70 69 65 64 0a -x.C-e....),.the.sexp.is.copied.
121c80 69 6e 74 6f 20 74 68 65 20 52 45 50 4c 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 e2 80 9c into.the.REPL,.followed.by.a....
121ca0 3d 3e e2 80 9d 20 6c 69 6e 65 2c 20 74 6f 20 64 69 73 74 69 6e 67 75 69 73 68 20 69 74 20 66 72 =>....line,.to.distinguish.it.fr
121cc0 6f 6d 20 74 68 65 20 7a 65 72 6f 0a 6f 72 20 6d 6f 72 65 20 76 61 6c 75 65 73 20 74 6f 20 77 68 om.the.zero.or.more.values.to.wh
121ce0 69 63 68 20 69 74 20 65 76 61 6c 75 61 74 65 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 ich.it.evaluates.....File:.doc49
121d00 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6f 6c 6c 65 63 74 69 6f 6e 73 2c 20 20 fz4A.info,..Node:.Collections,..
121d20 4e 65 78 74 3a 20 4d 61 63 72 6f 20 65 78 70 61 6e 64 2c 20 20 50 72 65 76 3a 20 45 76 61 6c 2c Next:.Macro.expand,..Prev:.Eval,
121d40 20 20 55 70 3a 20 43 6f 6d 6d 61 6e 64 73 0a 0a 36 2e 37 20 43 6f 6c 6c 65 63 74 69 6f 6e 73 0a ..Up:.Commands..6.7.Collections.
121d60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b ===============..*.Menu:..*.rack
121d80 65 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 et-open-require-path::....File:.
121da0 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6f 70 doc49fz4A.info,..Node:.racket-op
121dc0 65 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 68 2c 20 20 55 70 3a 20 43 6f 6c 6c 65 63 74 69 6f 6e en-require-path,..Up:.Collection
121de0 73 0a 0a 36 2e 37 2e 31 20 72 61 63 6b 65 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 65 2d 70 61 74 s..6.7.1.racket-open-require-pat
121e00 68 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d h.------------------------------
121e20 0a 0a e2 80 98 43 2d 63 20 43 2d 78 20 43 2d 66 e2 80 99 0a 0a 20 20 20 4c 69 6b 65 20 44 72 20 .....C-c.C-x.C-f........Like.Dr.
121e40 52 61 63 6b 65 74 e2 80 99 73 20 4f 70 65 6e 20 52 65 71 75 69 72 65 20 50 61 74 68 2e 0a 0a 20 Racket...s.Open.Require.Path....
121e60 20 20 54 79 70 65 20 28 6f 72 20 64 65 6c 65 74 65 29 20 63 68 61 72 61 63 74 65 72 73 20 74 68 ..Type.(or.delete).characters.th
121e80 61 74 20 61 72 65 20 70 61 72 74 20 6f 66 20 61 20 6d 6f 64 75 6c 65 20 70 61 74 68 20 6e 61 6d at.are.part.of.a.module.path.nam
121ea0 65 2e 0a e2 80 9c 46 75 7a 7a 79 e2 80 9d 20 6d 61 74 63 68 65 73 20 61 70 70 65 61 72 2e 20 20 e.....Fuzzy....matches.appear...
121ec0 46 6f 72 20 65 78 61 6d 70 6c 65 20 74 72 79 20 74 79 70 69 6e 67 20 e2 80 9c 74 2f 74 2f 72 e2 For.example.try.typing....t/t/r.
121ee0 80 9d 2e 0a 0a 20 20 20 43 68 6f 69 63 65 73 20 61 72 65 20 64 69 73 70 6c 61 79 65 64 20 69 6e ........Choices.are.displayed.in
121f00 20 61 20 76 65 72 74 69 63 61 6c 20 6c 69 73 74 2e 20 20 54 68 65 20 63 75 72 72 65 6e 74 20 63 .a.vertical.list...The.current.c
121f20 68 6f 69 63 65 20 69 73 20 61 74 0a 74 68 65 20 74 6f 70 2c 20 6d 61 72 6b 65 64 20 77 69 74 68 hoice.is.at.the.top,.marked.with
121f40 20 e2 80 9c 2d 3e e2 80 9d 2e 0a 0a 20 20 20 e2 80 a2 20 43 2d 6e 20 61 6e 64 20 43 2d 70 20 6d ....->.............C-n.and.C-p.m
121f60 6f 76 65 20 61 6d 6f 6e 67 20 74 68 65 20 63 68 6f 69 63 65 73 2e 0a 20 20 20 e2 80 a2 20 52 45 ove.among.the.choices.........RE
121f80 54 20 6f 6e 20 61 20 64 69 72 65 63 74 6f 72 79 20 61 64 64 73 20 69 74 73 20 63 6f 6e 74 65 6e T.on.a.directory.adds.its.conten
121fa0 74 73 20 74 6f 20 74 68 65 20 63 68 6f 69 63 65 73 2e 0a 20 20 20 e2 80 a2 20 52 45 54 20 6f 6e ts.to.the.choices.........RET.on
121fc0 20 61 20 66 69 6c 65 20 65 78 69 74 73 20 64 6f 69 6e 67 20 e2 80 98 66 69 6e 64 2d 66 69 6c 65 .a.file.exits.doing....find-file
121fe0 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 43 2d 67 20 61 62 6f 72 74 73 2e 0a 0a 1f 0a 46 69 6c 65 3a ............C-g.aborts.....File:
122000 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4d 61 63 72 6f 20 65 78 .doc49fz4A.info,..Node:.Macro.ex
122020 70 61 6e 64 2c 20 20 4e 65 78 74 3a 20 4f 74 68 65 72 2c 20 20 50 72 65 76 3a 20 43 6f 6c 6c 65 pand,..Next:.Other,..Prev:.Colle
122040 63 74 69 6f 6e 73 2c 20 20 55 70 3a 20 43 6f 6d 6d 61 6e 64 73 0a 0a 36 2e 38 20 4d 61 63 72 6f ctions,..Up:.Commands..6.8.Macro
122060 20 65 78 70 61 6e 64 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 .expand.================..*.Menu
122080 3a 0a 0a 2a 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 3a 3a 0a 2a 20 72 61 63 :..*.racket-stepper-mode::.*.rac
1220a0 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e ket-expand-file::.*.racket-expan
1220c0 64 2d 72 65 67 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e d-region::.*.racket-expand-defin
1220e0 69 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 ition::.*.racket-expand-last-sex
122100 70 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f p::....File:.doc49fz4A.info,..No
122120 64 65 3a 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 2c 20 20 4e 65 78 74 3a 20 de:.racket-stepper-mode,..Next:.
122140 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 2c 20 20 55 70 3a 20 4d 61 63 72 6f 20 65 racket-expand-file,..Up:.Macro.e
122160 78 70 61 6e 64 0a 0a 36 2e 38 2e 31 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 xpand..6.8.1.racket-stepper-mode
122180 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d .-------------------------.....M
1221a0 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 e2 80 99 0a -x.......racket-stepper-mode....
1221c0 0a 20 20 20 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 52 61 63 6b 65 74 20 73 74 65 70 70 65 ....Major.mode.for.Racket.steppe
1221e0 72 20 6f 75 74 70 75 74 2e 0a 0a 20 20 20 55 73 65 64 20 62 79 20 74 68 65 20 63 6f 6d 6d 61 6e r.output......Used.by.the.comman
122200 64 73 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 3a 3a 2c 20 2a ds.*note.racket-expand-file::,.*
122220 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 3a 2c note.racket-expand-definition::,
122240 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 3a 3a 2c 20 61 .*note.racket-expand-region::,.a
122260 6e 64 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 nd.*note.racket-expand-last-sexp
122280 3a 3a 2e 0a 0a 4b 65 79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ::...Key........................
1222a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 0a e2 80 98 .....................Binding....
1222c0 67 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g...............................
1222e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 73 74 65 70 70 ....................racket-stepp
122300 65 72 2d 72 65 66 72 65 73 68 e2 80 99 0a e2 80 98 6b e2 80 99 20 20 20 20 20 20 20 20 20 20 20 er-refresh.......k..............
122320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
122340 20 20 e2 80 98 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 70 72 65 76 69 6f 75 73 2d 69 74 65 .....racket-stepper-previous-ite
122360 6d e2 80 99 0a e2 80 98 70 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m.......p.......................
122380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b ............................rack
1223a0 65 74 2d 73 74 65 70 70 65 72 2d 70 72 65 76 69 6f 75 73 2d 69 74 65 6d e2 80 99 0a e2 80 98 6a et-stepper-previous-item.......j
1223c0 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1223e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 73 74 65 70 70 65 ...................racket-steppe
122400 72 2d 6e 65 78 74 2d 69 74 65 6d e2 80 99 0a e2 80 98 6e e2 80 99 20 20 20 20 20 20 20 20 20 20 r-next-item.......n.............
122420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
122440 20 20 20 e2 80 98 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6e 65 78 74 2d 69 74 65 6d e2 80 ......racket-stepper-next-item..
122460 99 0a e2 80 98 52 45 54 e2 80 99 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....RET........................
122480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 72 61 63 6b 65 74 2d .........................racket-
1224a0 73 74 65 70 70 65 72 2d 73 74 65 70 e2 80 99 0a 0a 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 stepper-step........In.addition.
1224c0 74 6f 20 61 6e 79 20 68 6f 6f 6b 73 20 69 74 73 20 70 61 72 65 6e 74 20 6d 6f 64 65 20 e2 80 98 to.any.hooks.its.parent.mode....
1224e0 73 70 65 63 69 61 6c 2d 6d 6f 64 65 e2 80 99 20 6d 69 67 68 74 20 68 61 76 65 0a 72 75 6e 2c 20 special-mode....might.have.run,.
122500 74 68 69 73 20 6d 6f 64 65 20 72 75 6e 73 20 74 68 65 20 68 6f 6f 6b 20 e2 80 98 72 61 63 6b 65 this.mode.runs.the.hook....racke
122520 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 2d 68 6f 6f 6b e2 80 99 2c 20 61 73 20 74 68 65 20 66 t-stepper-mode-hook...,.as.the.f
122540 69 6e 61 6c 20 6f 72 0a 70 65 6e 75 6c 74 69 6d 61 74 65 20 73 74 65 70 20 64 75 72 69 6e 67 20 inal.or.penultimate.step.during.
122560 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a initialization.....File:.doc49fz
122580 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 4A.info,..Node:.racket-expand-fi
1225a0 6c 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 2c le,..Next:.racket-expand-region,
1225c0 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 2c 20 20 55 70 ..Prev:.racket-stepper-mode,..Up
1225e0 3a 20 4d 61 63 72 6f 20 65 78 70 61 6e 64 0a 0a 36 2e 38 2e 32 20 72 61 63 6b 65 74 2d 65 78 70 :.Macro.expand..6.8.2.racket-exp
122600 61 6e 64 2d 66 69 6c 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d and-file.-----------------------
122620 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 65 20 66 e2 80 99 0a 0a 20 20 20 45 78 70 61 6e 64 20 74 68 -.....C-c.C-e.f........Expand.th
122640 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 20 62 75 66 66 65 72 e2 80 99 73 e.*note.racket-mode::.buffer...s
122660 20 66 69 6c 65 20 69 6e 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f .file.in.*note.racket-stepper-mo
122680 64 65 3a 3a 2e 0a 0a 20 20 20 55 73 65 73 20 74 68 65 20 e2 80 98 6d 61 63 72 6f 2d 64 65 62 75 de::......Uses.the....macro-debu
1226a0 67 67 65 72 e2 80 99 20 70 61 63 6b 61 67 65 20 74 6f 20 64 6f 20 74 68 65 20 65 78 70 61 6e 73 gger....package.to.do.the.expans
1226c0 69 6f 6e 2e 0a 0a 20 20 20 59 6f 75 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 74 6f 20 2a 6e 6f 74 ion......You.do.not.need.to.*not
1226e0 65 20 72 61 63 6b 65 74 2d 72 75 6e 3a 3a 20 74 68 65 20 66 69 6c 65 20 66 69 72 73 74 3b 20 74 e.racket-run::.the.file.first;.t
122700 68 65 20 6e 61 6d 65 73 70 61 63 65 0a 61 63 74 69 76 65 20 69 6e 20 74 68 65 20 52 45 50 4c 20 he.namespace.active.in.the.REPL.
122720 69 73 20 6e 6f 74 20 75 73 65 64 2e 0a 0a 20 20 20 49 66 20 74 68 65 20 66 69 6c 65 20 69 73 20 is.not.used......If.the.file.is.
122740 6e 6f 6e 2d 74 72 69 76 69 61 6c 20 61 6e 64 2f 6f 72 20 69 73 20 6e 6f 74 20 63 6f 6d 70 69 6c non-trivial.and/or.is.not.compil
122760 65 64 20 74 6f 20 61 20 2e 7a 6f 20 62 79 74 65 63 6f 64 65 0a 66 69 6c 65 2c 20 74 68 65 6e 20 ed.to.a..zo.bytecode.file,.then.
122780 69 74 20 6d 69 67 68 74 20 74 61 6b 65 20 6d 61 6e 79 20 73 65 63 6f 6e 64 73 20 62 65 66 6f 72 it.might.take.many.seconds.befor
1227a0 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 66 6f 72 6d 20 69 73 0a 64 69 73 70 6c 61 79 65 64 e.the.original.form.is.displayed
1227c0 20 61 6e 64 20 79 6f 75 20 63 61 6e 20 73 74 61 72 74 20 73 74 65 70 70 69 6e 67 2e 0a 0a 20 20 .and.you.can.start.stepping.....
1227e0 20 57 69 74 68 20 e2 80 98 43 2d 75 e2 80 99 20 62 65 68 61 76 65 73 20 61 73 20 69 66 20 2a 6e .With....C-u....behaves.as.if.*n
122800 6f 74 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 3a 3a 20 77 65 72 65 20 ote.racket-expand-hiding::.were.
122820 e2 80 99 64 69 73 61 62 6c 65 64 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e ...disabled.....File:.doc49fz4A.
122840 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f info,..Node:.racket-expand-regio
122860 6e 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 n,..Next:.racket-expand-definiti
122880 6f 6e 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 2c 20 20 on,..Prev:.racket-expand-file,..
1228a0 55 70 3a 20 4d 61 63 72 6f 20 65 78 70 61 6e 64 0a 0a 36 2e 38 2e 33 20 72 61 63 6b 65 74 2d 65 Up:.Macro.expand..6.8.3.racket-e
1228c0 78 70 61 6e 64 2d 72 65 67 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d xpand-region.-------------------
1228e0 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 65 20 72 e2 80 99 0a 0a 20 20 20 45 78 70 -------.....C-c.C-e.r........Exp
122900 61 6e 64 20 74 68 65 20 61 63 74 69 76 65 20 72 65 67 69 6f 6e 20 75 73 69 6e 67 20 2a 6e 6f 74 and.the.active.region.using.*not
122920 65 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 3a 3a 2e 0a 0a 20 20 20 55 73 65 e.racket-stepper-mode::......Use
122940 73 20 74 68 65 20 e2 80 98 6d 61 63 72 6f 2d 64 65 62 75 67 67 65 72 e2 80 99 20 70 61 63 6b 61 s.the....macro-debugger....packa
122960 67 65 20 74 6f 20 64 6f 20 74 68 65 20 65 78 70 61 6e 73 69 6f 6e 2e 0a 0a 20 20 20 57 69 74 68 ge.to.do.the.expansion......With
122980 20 e2 80 98 43 2d 75 e2 80 99 20 62 65 68 61 76 65 73 20 61 73 20 69 66 20 2a 6e 6f 74 65 20 72 ....C-u....behaves.as.if.*note.r
1229a0 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 3a 3a 20 77 65 72 65 20 e2 80 99 64 69 acket-expand-hiding::.were....di
1229c0 73 61 62 6c 65 64 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c sabled.....File:.doc49fz4A.info,
1229e0 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e ..Node:.racket-expand-definition
122a00 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 ,..Next:.racket-expand-last-sexp
122a20 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 2c 20 20 ,..Prev:.racket-expand-region,..
122a40 55 70 3a 20 4d 61 63 72 6f 20 65 78 70 61 6e 64 0a 0a 36 2e 38 2e 34 20 72 61 63 6b 65 74 2d 65 Up:.Macro.expand..6.8.4.racket-e
122a60 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d xpand-definition.---------------
122a80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 65 20 78 e2 80 99 ---------------.....C-c.C-e.x...
122aa0 0a 0a 20 20 20 45 78 70 61 6e 64 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 61 72 6f 75 6e .....Expand.the.definition.aroun
122ac0 64 20 70 6f 69 6e 74 20 75 73 69 6e 67 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 73 74 65 70 70 d.point.using.*note.racket-stepp
122ae0 65 72 2d 6d 6f 64 65 3a 3a 2e 0a 0a 20 20 20 55 73 65 73 20 74 68 65 20 e2 80 98 6d 61 63 72 6f er-mode::......Uses.the....macro
122b00 2d 64 65 62 75 67 67 65 72 e2 80 99 20 70 61 63 6b 61 67 65 20 74 6f 20 64 6f 20 74 68 65 20 65 -debugger....package.to.do.the.e
122b20 78 70 61 6e 73 69 6f 6e 2e 0a 0a 20 20 20 57 69 74 68 20 e2 80 98 43 2d 75 e2 80 99 20 62 65 68 xpansion......With....C-u....beh
122b40 61 76 65 73 20 61 73 20 69 66 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 aves.as.if.*note.racket-expand-h
122b60 69 64 69 6e 67 3a 3a 20 77 65 72 65 20 e2 80 99 64 69 73 61 62 6c 65 64 2e 0a 0a 1f 0a 46 69 6c iding::.were....disabled.....Fil
122b80 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 e:.doc49fz4A.info,..Node:.racket
122ba0 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d 73 65 78 70 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 -expand-last-sexp,..Prev:.racket
122bc0 2d 65 78 70 61 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 2c 20 20 55 70 3a 20 4d 61 63 72 6f 20 65 -expand-definition,..Up:.Macro.e
122be0 78 70 61 6e 64 0a 0a 36 2e 38 2e 35 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 6c 61 73 74 2d xpand..6.8.5.racket-expand-last-
122c00 73 65 78 70 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d sexp.---------------------------
122c20 2d 2d 0a 0a e2 80 98 43 2d 63 20 43 2d 65 20 65 e2 80 99 0a 0a 20 20 20 45 78 70 61 6e 64 20 74 --.....C-c.C-e.e........Expand.t
122c40 68 65 20 73 65 78 70 20 62 65 66 6f 72 65 20 70 6f 69 6e 74 20 75 73 69 6e 67 20 2a 6e 6f 74 65 he.sexp.before.point.using.*note
122c60 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 3a 3a 2e 0a 0a 20 20 20 55 73 65 73 .racket-stepper-mode::......Uses
122c80 20 74 68 65 20 e2 80 98 6d 61 63 72 6f 2d 64 65 62 75 67 67 65 72 e2 80 99 20 70 61 63 6b 61 67 .the....macro-debugger....packag
122ca0 65 20 74 6f 20 64 6f 20 74 68 65 20 65 78 70 61 6e 73 69 6f 6e 2e 0a 0a 20 20 20 57 69 74 68 20 e.to.do.the.expansion......With.
122cc0 e2 80 98 43 2d 75 e2 80 99 20 62 65 68 61 76 65 73 20 61 73 20 69 66 20 2a 6e 6f 74 65 20 72 61 ...C-u....behaves.as.if.*note.ra
122ce0 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 3a 3a 20 77 65 72 65 20 e2 80 99 64 69 73 cket-expand-hiding::.were....dis
122d00 61 62 6c 65 64 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 abled.....File:.doc49fz4A.info,.
122d20 20 4e 6f 64 65 3a 20 4f 74 68 65 72 2c 20 20 50 72 65 76 3a 20 4d 61 63 72 6f 20 65 78 70 61 6e .Node:.Other,..Prev:.Macro.expan
122d40 64 2c 20 20 55 70 3a 20 43 6f 6d 6d 61 6e 64 73 0a 0a 36 2e 39 20 4f 74 68 65 72 0a 3d 3d 3d 3d d,..Up:.Commands..6.9.Other.====
122d60 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 =====..*.Menu:..*.racket-debug-t
122d80 6f 67 67 6c 65 2d 62 72 65 61 6b 70 6f 69 6e 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6d 6f 64 65 oggle-breakpoint::.*.racket-mode
122da0 2d 73 74 61 72 74 2d 66 61 73 74 65 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 -start-faster::.*.racket-mode-st
122dc0 61 72 74 2d 73 6c 6f 77 65 72 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e art-slower::....File:.doc49fz4A.
122de0 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 6f 67 67 6c 65 info,..Node:.racket-debug-toggle
122e00 2d 62 72 65 61 6b 70 6f 69 6e 74 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d -breakpoint,..Next:.racket-mode-
122e20 73 74 61 72 74 2d 66 61 73 74 65 72 2c 20 20 55 70 3a 20 4f 74 68 65 72 0a 0a 36 2e 39 2e 31 20 start-faster,..Up:.Other..6.9.1.
122e40 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 6f 67 67 6c 65 2d 62 72 65 61 6b 70 6f 69 6e 74 0a 2d racket-debug-toggle-breakpoint.-
122e60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
122e80 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 ---.....M-x.......racket-debug-t
122ea0 6f 67 67 6c 65 2d 62 72 65 61 6b 70 6f 69 6e 74 e2 80 99 0a 0a 20 20 20 41 64 64 20 6f 72 20 72 oggle-breakpoint........Add.or.r
122ec0 65 6d 6f 76 65 20 61 20 62 72 65 61 6b 70 6f 69 6e 74 2e 0a 0a 20 20 20 45 61 63 68 20 62 72 65 emove.a.breakpoint......Each.bre
122ee0 61 6b 70 6f 69 6e 74 20 68 61 73 20 61 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e 64 20 61 20 6c 69 akpoint.has.a.condition.and.a.li
122f00 73 74 20 6f 66 20 61 63 74 69 6f 6e 73 2e 0a 0a 20 20 20 54 68 65 20 63 6f 6e 64 69 74 69 6f 6e st.of.actions......The.condition
122f20 20 69 73 20 61 20 52 61 63 6b 65 74 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 61 74 20 69 73 20 .is.a.Racket.expression.that.is.
122f40 65 76 61 6c 75 61 74 65 64 20 69 6e 20 61 20 63 6f 6e 74 65 78 74 0a 77 68 65 72 65 20 6c 6f 63 evaluated.in.a.context.where.loc
122f60 61 6c 20 76 61 72 69 61 62 6c 65 73 20 65 78 69 73 74 2e 20 20 45 78 61 6d 70 6c 65 73 3a 0a 0a al.variables.exist...Examples:..
122f80 20 20 20 e2 80 a2 20 e2 80 9c 23 74 e2 80 9d 20 6d 65 61 6e 73 20 62 72 65 61 6b 20 61 6c 77 61 ..........#t....means.break.alwa
122fa0 79 73 2e 0a 0a 20 20 20 e2 80 a2 20 49 66 20 74 68 65 20 63 6f 64 65 20 61 72 6f 75 6e 64 20 74 ys..........If.the.code.around.t
122fc0 68 65 20 62 72 65 61 6b 70 6f 69 6e 74 20 69 73 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 he.breakpoint.is.something.like.
122fe0 e2 80 9c 28 66 6f 72 20 28 5b 6e 20 31 30 30 5d 29 0a 20 20 20 20 20 5f 29 e2 80 9d 2c 20 74 68 ...(for.([n.100])......_)...,.th
123000 65 6e 20 61 20 63 6f 6e 64 69 74 69 6f 6e 20 6c 69 6b 65 20 e2 80 9c 28 7a 65 72 6f 3f 20 20 28 en.a.condition.like....(zero?..(
123020 6d 6f 64 75 6c 6f 20 6e 20 31 30 29 29 e2 80 9d 20 69 73 20 65 76 65 72 79 20 31 30 0a 20 20 20 modulo.n.10))....is.every.10....
123040 20 20 74 69 6d 65 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 6c 6f 6f 70 2e 0a 0a 20 20 20 41 63 ..times.through.the.loop......Ac
123060 74 69 6f 6e 73 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 73 79 6d 62 6f 6c 73 3b 20 79 6f 75 20 tions.is.a.list.of.symbols;.you.
123080 6d 61 79 20 73 70 65 63 69 66 79 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 2e 20 20 54 68 65 0a 61 63 may.specify.one.or.more...The.ac
1230a0 74 69 6f 6e 20 73 79 6d 62 6f 6c 73 20 61 72 65 3a 0a 0a 20 20 20 e2 80 a2 20 e2 80 9c 62 72 65 tion.symbols.are:............bre
1230c0 61 6b e2 80 9d 20 63 61 75 73 65 73 20 61 20 62 72 65 61 6b 2c 20 65 6e 61 62 6c 69 6e 67 20 2a ak....causes.a.break,.enabling.*
1230e0 6e 6f 74 65 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 3a 3a 2e 0a 0a 20 20 20 e2 80 note.racket-debug-mode::........
123100 a2 20 e2 80 9c 6c 6f 67 e2 80 9d 20 61 6e 64 20 e2 80 9c 70 72 69 6e 74 e2 80 9d 20 64 69 73 70 .....log....and....print....disp
123120 6c 61 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 6c 6f 63 61 6c 20 76 61 72 69 lay.information.about.local.vari
123140 61 62 6c 65 73 20 74 6f 20 74 68 65 0a 20 20 20 20 20 6c 6f 67 67 65 72 20 6f 72 20 52 45 50 4c ables.to.the......logger.or.REPL
123160 20 6f 75 74 70 75 74 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 20 20 41 6c 74 68 6f 75 67 68 .output,.respectively...Although
123180 20 2a 6e 6f 74 65 0a 20 20 20 20 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 3a 3a 20 .*note......racket-debug-mode::.
1231a0 61 6c 72 65 61 64 79 20 73 68 6f 77 73 20 74 68 65 73 65 20 76 61 6c 75 65 73 20 e2 80 9c 69 6e already.shows.these.values....in
1231c0 20 73 69 74 75 e2 80 9d 20 77 68 65 6e 20 79 6f 75 0a 20 20 20 20 20 72 65 61 63 68 20 61 20 62 .situ....when.you......reach.a.b
1231e0 72 65 61 6b 2c 20 74 68 69 73 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 69 66 20 79 6f 75 20 reak,.this.may.be.useful.if.you.
123200 77 61 6e 74 20 61 20 68 69 73 74 6f 72 79 2e 0a 20 20 20 20 20 53 70 65 63 69 66 79 69 6e 67 20 want.a.history.......Specifying.
123220 e2 80 9c 6c 6f 67 e2 80 9d 20 6f 72 20 e2 80 9c 70 72 69 6e 74 e2 80 9d 2c 20 62 75 74 20 6e 6f ...log....or....print...,.but.no
123240 74 20 e2 80 9c 62 72 65 61 6b e2 80 9d 2c 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 t....break...,.is.equivalent.to.
123260 77 68 61 74 0a 20 20 20 20 20 6d 61 6e 79 20 64 65 62 75 67 67 65 72 73 20 63 61 6c 6c 20 61 20 what......many.debuggers.call.a.
123280 77 61 74 63 68 70 6f 69 6e 74 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 62 72 65 61 6b 70 6f 69 watchpoint.instead.of.a.breakpoi
1232a0 6e 74 3a 20 4f 75 74 70 75 74 0a 20 20 20 20 20 73 6f 6d 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e nt:.Output......some.information
1232c0 20 61 6e 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 73 75 6d 65 2e 0a 0a 20 20 20 4e .and.automatically.resume......N
1232e0 6f 74 65 3a 20 41 6c 74 68 6f 75 67 68 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 64 65 62 75 67 ote:.Although.*note.racket-debug
123300 2d 6d 6f 64 65 3a 3a 20 70 72 6f 76 69 64 65 73 20 61 20 63 6f 6e 76 65 6e 69 65 6e 74 0a 6b 65 -mode::.provides.a.convenient.ke
123320 79 62 69 6e 64 69 6e 67 2c 20 79 6f 75 20 6d 61 79 20 69 6e 76 6f 6b 65 20 74 68 69 73 20 63 6f ybinding,.you.may.invoke.this.co
123340 6d 6d 61 6e 64 20 61 6e 79 74 69 6d 65 20 75 73 69 6e 67 20 4d 2d 78 2e 0a 0a 20 20 20 4e 6f 74 mmand.anytime.using.M-x......Not
123360 65 3a 20 49 66 20 79 6f 75 e2 80 99 72 65 20 77 61 72 6e 65 64 20 74 68 61 74 20 70 6f 69 6e 74 e:.If.you...re.warned.that.point
123380 20 69 73 6e e2 80 99 74 20 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 61 20 62 72 65 61 6b 61 62 6c 65 .isn...t.known.to.be.a.breakable
1233a0 0a 70 6f 73 69 74 69 6f 6e 2c 20 74 68 61 74 20 6d 69 67 68 74 20 62 65 20 62 65 63 61 75 73 65 .position,.that.might.be.because
1233c0 20 69 74 20 74 72 75 6c 79 20 69 73 6e e2 80 99 74 2c 20 6f 72 2c 20 6a 75 73 74 20 62 65 63 61 .it.truly.isn...t,.or,.just.beca
1233e0 75 73 65 20 79 6f 75 20 61 72 65 0a 6e 6f 74 20 69 6e 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d use.you.are.not.in.*note.racket-
123400 64 65 62 75 67 2d 6d 6f 64 65 3a 3a 20 61 6e 64 20 74 68 65 20 62 72 65 61 6b 61 62 6c 65 20 70 debug-mode::.and.the.breakable.p
123420 6f 73 69 74 69 6f 6e 73 20 61 72 65 6e e2 80 99 74 20 79 65 74 0a 6b 6e 6f 77 6e 2e 20 20 57 6f ositions.aren...t.yet.known...Wo
123440 72 73 74 20 63 61 73 65 2c 20 69 66 20 79 6f 75 20 73 65 74 20 61 20 62 72 65 61 6b 70 6f 69 6e rst.case,.if.you.set.a.breakpoin
123460 74 20 73 6f 6d 65 70 6c 61 63 65 20 74 68 61 74 20 69 73 20 6e 6f 74 0a 62 72 65 61 6b 61 62 6c t.someplace.that.is.not.breakabl
123480 65 2c 20 69 74 20 69 73 20 69 67 6e 6f 72 65 64 2e 20 20 57 69 74 68 20 61 20 66 65 77 20 65 78 e,.it.is.ignored...With.a.few.ex
1234a0 63 65 70 74 69 6f 6e 73 20 e2 80 93 20 73 75 63 68 20 61 73 20 63 6c 6f 73 65 20 70 61 72 65 6e ceptions.....such.as.close.paren
1234c0 0a 70 6f 73 69 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 74 61 69 6c 20 63 61 6c 6c 73 20 e2 .positions.that.are.tail.calls..
1234e0 80 93 20 6d 6f 73 74 20 6f 70 65 6e 20 70 61 72 65 6e 73 20 61 6e 64 20 63 6c 6f 73 65 20 70 61 ...most.open.parens.and.close.pa
123500 72 65 6e 73 20 61 72 65 0a 62 72 65 61 6b 62 6c 65 20 70 6f 73 69 74 69 6f 6e 73 2e 0a 0a 1f 0a rens.are.breakble.positions.....
123520 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 File:.doc49fz4A.info,..Node:.rac
123540 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 66 61 73 74 65 72 2c 20 20 4e 65 78 74 3a 20 72 61 ket-mode-start-faster,..Next:.ra
123560 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 73 6c 6f 77 65 72 2c 20 20 50 72 65 76 3a 20 72 cket-mode-start-slower,..Prev:.r
123580 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 6f 67 67 6c 65 2d 62 72 65 61 6b 70 6f 69 6e 74 2c 20 20 acket-debug-toggle-breakpoint,..
1235a0 55 70 3a 20 4f 74 68 65 72 0a 0a 36 2e 39 2e 32 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 Up:.Other..6.9.2.racket-mode-sta
1235c0 72 74 2d 66 61 73 74 65 72 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d rt-faster.----------------------
1235e0 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 6d 6f --------.....M-x.......racket-mo
123600 64 65 2d 73 74 61 72 74 2d 66 61 73 74 65 72 e2 80 99 0a 0a 20 20 20 43 6f 6d 70 69 6c 65 20 52 de-start-faster........Compile.R
123620 61 63 6b 65 74 20 4d 6f 64 65 e2 80 99 73 20 2e 72 6b 74 20 66 69 6c 65 73 20 66 6f 72 20 66 61 acket.Mode...s..rkt.files.for.fa
123640 73 74 65 72 20 73 74 61 72 74 75 70 2e 0a 0a 20 20 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 69 73 ster.startup......Racket.Mode.is
123660 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73 20 61 6e 20 45 6d 61 63 73 20 4c 69 73 70 20 e2 80 .implemented.as.an.Emacs.Lisp...
123680 9c 66 72 6f 6e 74 20 65 6e 64 e2 80 9d 20 74 68 61 74 20 74 61 6c 6b 73 20 74 6f 0a 61 20 52 61 .front.end....that.talks.to.a.Ra
1236a0 63 6b 65 74 20 70 72 6f 63 65 73 73 20 e2 80 9c 62 61 63 6b 20 65 6e 64 e2 80 9d 2e 20 20 42 65 cket.process....back.end......Be
1236c0 63 61 75 73 65 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 69 73 20 64 65 6c 69 76 65 72 65 64 20 61 cause.Racket.Mode.is.delivered.a
1236e0 73 20 61 6e 0a 45 6d 61 63 73 20 70 61 63 6b 61 67 65 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 s.an.Emacs.package.instead.of.a.
123700 52 61 63 6b 65 74 20 70 61 63 6b 61 67 65 2c 20 69 6e 73 74 61 6c 6c 69 6e 67 20 69 74 20 64 6f Racket.package,.installing.it.do
123720 65 73 20 6e 6f 74 20 64 6f 20 74 68 65 0a e2 80 98 72 61 63 6f 20 73 65 74 75 70 e2 80 99 20 74 es.not.do.the....raco.setup....t
123740 68 61 74 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 64 6f 6e 65 20 66 6f 72 20 52 61 63 6b 65 74 20 hat.is.normally.done.for.Racket.
123760 70 61 63 6b 61 67 65 73 2e 0a 0a 20 20 20 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 packages......This.command.will.
123780 64 6f 20 61 20 e2 80 98 72 61 63 6f 20 6d 61 6b 65 e2 80 99 20 6f 66 20 52 61 63 6b 65 74 20 4d do.a....raco.make....of.Racket.M
1237a0 6f 64 65 e2 80 99 73 20 2e 72 6b 74 20 66 69 6c 65 73 2c 0a 63 72 65 61 74 69 6e 67 20 62 79 74 ode...s..rkt.files,.creating.byt
1237c0 65 63 6f 64 65 20 66 69 6c 65 73 20 69 6e 20 e2 80 98 63 6f 6d 70 69 6c 65 64 2f e2 80 99 20 73 ecode.files.in....compiled/....s
1237e0 75 62 64 69 72 65 63 74 6f 72 69 65 73 2e 20 20 41 73 20 61 20 72 65 73 75 6c 74 2c 0a 77 68 65 ubdirectories...As.a.result,.whe
123800 6e 20 61 20 63 6f 6d 6d 61 6e 64 20 6d 75 73 74 20 73 74 61 72 74 20 74 68 65 20 52 61 63 6b 65 n.a.command.must.start.the.Racke
123820 74 20 70 72 6f 63 65 73 73 2c 20 69 74 20 77 69 6c 6c 20 73 74 61 72 74 20 73 6f 6d 65 77 68 61 t.process,.it.will.start.somewha
123840 74 0a 66 61 73 74 65 72 2e 0a 0a 20 20 20 4f 6e 20 6d 61 6e 79 20 63 6f 6d 70 75 74 65 72 73 2c t.faster......On.many.computers,
123860 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 73 70 65 65 64 20 75 70 20 69 73 20 6e 65 67 6c 69 .the.resulting.speed.up.is.negli
123880 67 69 62 6c 65 2c 20 61 6e 64 20 6d 69 67 68 74 0a 6e 6f 74 20 62 65 20 77 6f 72 74 68 20 74 68 gible,.and.might.not.be.worth.th
1238a0 65 20 63 6f 6d 70 6c 69 63 61 74 69 6f 6e 2e 0a 0a 20 20 20 49 66 20 79 6f 75 20 72 75 6e 20 74 e.complication......If.you.run.t
1238c0 68 69 73 20 63 6f 6d 6d 61 6e 64 2c 20 65 76 65 72 2c 20 79 6f 75 20 77 69 6c 6c 20 6e 65 65 64 his.command,.ever,.you.will.need
1238e0 20 74 6f 20 72 75 6e 20 69 74 20 61 67 61 69 6e 20 61 66 74 65 72 3a 0a 0a 20 20 20 e2 80 a2 20 .to.run.it.again.after:.........
123900 49 6e 73 74 61 6c 6c 69 6e 67 20 61 6e 20 75 70 64 61 74 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 Installing.an.updated.version.of
123920 20 52 61 63 6b 65 74 20 4d 6f 64 65 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 79 6f 75 20 6d 69 .Racket.Mode...Otherwise,.you.mi
123940 67 68 74 0a 20 20 20 20 20 6c 6f 73 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 73 70 65 65 64 2d ght......lose.some.of.the.speed-
123960 75 70 2e 0a 0a 20 20 20 e2 80 a2 20 49 6e 73 74 61 6c 6c 69 6e 67 20 61 20 6e 65 77 20 76 65 72 up..........Installing.a.new.ver
123980 73 69 6f 6e 20 6f 66 20 52 61 63 6b 65 74 20 61 6e 64 2f 6f 72 20 63 68 61 6e 67 69 6e 67 20 74 sion.of.Racket.and/or.changing.t
1239a0 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 2a 6e he.value.of.the......variable.*n
1239c0 6f 74 65 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 3a 3a 2e 20 20 4f 74 68 65 72 77 69 73 65 ote.racket-program::...Otherwise
1239e0 2c 20 79 6f 75 20 6d 69 67 68 74 20 67 65 74 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 6d 65 ,.you.might.get.an.error......me
123a00 73 73 61 67 65 20 64 75 65 20 74 6f 20 74 68 65 20 62 79 74 65 63 6f 64 65 20 62 65 69 6e 67 20 ssage.due.to.the.bytecode.being.
123a20 64 69 66 66 65 72 65 6e 74 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 20 54 6f 20 72 65 76 65 72 different.versions......To.rever
123a40 74 20 74 6f 20 63 6f 6d 70 69 6c 69 6e 67 20 6f 6e 20 73 74 61 72 74 75 70 2c 20 75 73 65 20 2a t.to.compiling.on.startup,.use.*
123a60 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 73 6c 6f 77 65 72 3a 3a 2e note.racket-mode-start-slower::.
123a80 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a ....File:.doc49fz4A.info,..Node:
123aa0 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 73 6c 6f 77 65 72 2c 20 20 50 72 65 76 .racket-mode-start-slower,..Prev
123ac0 3a 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 66 61 73 74 65 72 2c 20 20 55 70 3a :.racket-mode-start-faster,..Up:
123ae0 20 4f 74 68 65 72 0a 0a 36 2e 39 2e 33 20 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d .Other..6.9.3.racket-mode-start-
123b00 73 6c 6f 77 65 72 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d slower.-------------------------
123b20 2d 2d 2d 2d 2d 0a 0a e2 80 98 4d 2d 78 e2 80 99 20 e2 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 2d -----.....M-x.......racket-mode-
123b40 73 74 61 72 74 2d 73 6c 6f 77 65 72 e2 80 99 0a 0a 20 20 20 44 65 6c 65 74 65 20 74 68 65 20 e2 start-slower........Delete.the..
123b60 80 9c 63 6f 6d 70 69 6c 65 64 e2 80 9d 20 64 69 72 65 63 74 6f 72 69 65 73 20 6d 61 64 65 20 62 ..compiled....directories.made.b
123b80 79 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 66 61 73 74 65 72 y.*note.racket-mode-start-faster
123ba0 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f ::.....File:.doc49fz4A.info,..No
123bc0 64 65 3a 20 56 61 72 69 61 62 6c 65 73 2c 20 20 4e 65 78 74 3a 20 43 6f 6e 66 69 67 75 72 61 74 de:.Variables,..Next:.Configurat
123be0 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 43 6f 6d 6d 61 6e 64 73 2c 20 ion.functions,..Prev:.Commands,.
123c00 20 55 70 3a 20 54 6f 70 0a 0a 37 20 56 61 72 69 61 62 6c 65 73 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a .Up:.Top..7.Variables.**********
123c20 2a 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 47 65 6e 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 3a *..*.Menu:..*.General.variables:
123c40 3a 0a 2a 20 48 61 73 68 20 6c 61 6e 67 20 76 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 52 45 50 4c :.*.Hash.lang.variables::.*.REPL
123c60 20 76 61 72 69 61 62 6c 65 73 3a 3a 0a 2a 20 4f 74 68 65 72 20 76 61 72 69 61 62 6c 65 73 3a 3a .variables::.*.Other.variables::
123c80 0a 2a 20 45 78 70 65 72 69 6d 65 6e 74 61 6c 20 64 65 62 75 67 67 65 72 20 76 61 72 69 61 62 6c .*.Experimental.debugger.variabl
123ca0 65 73 3a 3a 0a 2a 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 3a 0a 2a 20 52 es::.*.Showing.information::.*.R
123cc0 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 unning.racket.and.raco.commands.
123ce0 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 3a 3a 0a 0a 1f 0a 46 69 6c 65 in.a.shell.or.terminal::....File
123d00 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 47 65 6e 65 72 61 6c :.doc49fz4A.info,..Node:.General
123d20 20 76 61 72 69 61 62 6c 65 73 2c 20 20 4e 65 78 74 3a 20 48 61 73 68 20 6c 61 6e 67 20 76 61 72 .variables,..Next:.Hash.lang.var
123d40 69 61 62 6c 65 73 2c 20 20 55 70 3a 20 56 61 72 69 61 62 6c 65 73 0a 0a 37 2e 31 20 47 65 6e 65 iables,..Up:.Variables..7.1.Gene
123d60 72 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ral.variables.==================
123d80 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 3a 3a ===..*.Menu:..*.racket-program::
123da0 0a 2a 20 72 61 63 6b 65 74 2d 63 6f 6d 6d 61 6e 64 2d 74 69 6d 65 6f 75 74 3a 3a 0a 2a 20 72 61 .*.racket-command-timeout::.*.ra
123dc0 63 6b 65 74 2d 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 72 72 cket-memory-limit::.*.racket-err
123de0 6f 72 2d 63 6f 6e 74 65 78 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 75 73 65 72 2d 63 6f 6d 6d 61 or-context::.*.racket-user-comma
123e00 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 62 72 6f nd-line-arguments::.*.racket-bro
123e20 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 61 wse-url-function::.*.racket-xp-a
123e40 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 3a 3a 0a 2a 20 72 61 fter-change-refresh-delay::.*.ra
123e60 63 6b 65 74 2d 78 70 2d 68 69 67 68 6c 69 67 68 74 2d 75 6e 75 73 65 64 2d 72 65 67 65 78 70 3a cket-xp-highlight-unused-regexp:
123e80 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 3a :.*.racket-xp-add-binding-faces:
123ea0 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d :.*.racket-documentation-search-
123ec0 6c 6f 63 61 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e location::.*.racket-expand-hidin
123ee0 67 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f g::....File:.doc49fz4A.info,..No
123f00 64 65 3a 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 de:.racket-program,..Next:.racke
123f20 74 2d 63 6f 6d 6d 61 6e 64 2d 74 69 6d 65 6f 75 74 2c 20 20 55 70 3a 20 47 65 6e 65 72 61 6c 20 t-command-timeout,..Up:.General.
123f40 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 31 2e 31 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 0a variables..7.1.1.racket-program.
123f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 50 61 74 68 6e 61 6d 65 20 6f --------------------..Pathname.o
123f80 66 20 74 68 65 20 52 61 63 6b 65 74 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 0a 20 20 20 4e 6f 74 f.the.Racket.executable......Not
123fa0 65 20 74 68 61 74 20 61 20 62 61 63 6b 20 65 6e 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 e.that.a.back.end.configuration.
123fc0 63 61 6e 20 6f 76 65 72 72 69 64 65 20 74 68 69 73 20 77 69 74 68 20 61 20 6e 6f 6e 2d 6e 69 6c can.override.this.with.a.non-nil
123fe0 0a e2 80 98 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d e2 80 99 20 70 72 6f 70 65 72 74 79 20 6c ....racket-program....property.l
124000 69 73 74 20 76 61 6c 75 65 2e 20 20 53 65 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 61 64 64 ist.value...See.*note.racket-add
124020 2d 62 61 63 6b 2d 65 6e 64 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e -back-end::.....File:.doc49fz4A.
124040 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 63 6f 6d 6d 61 6e 64 2d 74 69 6d 65 info,..Node:.racket-command-time
124060 6f 75 74 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 2c out,..Next:.racket-memory-limit,
124080 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 2c 20 20 55 70 3a 20 47 65 6e ..Prev:.racket-program,..Up:.Gen
1240a0 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 31 2e 32 20 72 61 63 6b 65 74 2d 63 6f 6d eral.variables..7.1.2.racket-com
1240c0 6d 61 6e 64 2d 74 69 6d 65 6f 75 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d mand-timeout.-------------------
1240e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 48 6f 77 20 6d 61 6e 79 20 73 65 63 6f 6e 64 73 20 74 6f 20 77 ---------..How.many.seconds.to.w
124100 61 69 74 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 20 73 65 72 76 65 72 20 72 65 73 70 6f 6e 73 65 73 ait.for.command.server.responses
124120 2e 0a 0a 20 20 20 4e 6f 74 65 3a 20 54 68 69 73 20 69 73 20 6d 6f 73 74 6c 79 20 6f 62 73 6f 6c ......Note:.This.is.mostly.obsol
124140 65 74 65 2c 20 66 6f 72 74 75 6e 61 74 65 6c 79 2c 20 62 65 63 61 75 73 65 20 69 74 20 61 70 70 ete,.fortunately,.because.it.app
124160 6c 69 65 73 20 6f 6e 6c 79 0a 74 6f 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 6d 75 73 74 20 lies.only.to.commands.that.must.
124180 62 6c 6f 63 6b 20 74 68 65 20 45 6d 61 63 73 20 55 49 20 75 6e 74 69 6c 20 74 68 65 79 20 67 65 block.the.Emacs.UI.until.they.ge
1241a0 74 20 61 20 72 65 73 70 6f 6e 73 65 2e 0a 49 6e 73 74 65 61 64 20 6d 6f 73 74 20 52 61 63 6b 65 t.a.response..Instead.most.Racke
1241c0 74 20 4d 6f 64 65 20 63 6f 6d 6d 61 6e 64 73 20 74 68 65 73 65 20 64 61 79 73 20 72 65 63 65 69 t.Mode.commands.these.days.recei
1241e0 76 65 20 74 68 65 69 72 20 72 65 73 70 6f 6e 73 65 0a 61 73 79 63 68 72 6f 6e 6f 75 73 6c 79 2e ve.their.response.asychronously.
124200 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a ....File:.doc49fz4A.info,..Node:
124220 20 72 61 63 6b 65 74 2d 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 2c 20 20 4e 65 78 74 3a 20 72 61 63 .racket-memory-limit,..Next:.rac
124240 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 ket-error-context,..Prev:.racket
124260 2d 63 6f 6d 6d 61 6e 64 2d 74 69 6d 65 6f 75 74 2c 20 20 55 70 3a 20 47 65 6e 65 72 61 6c 20 76 -command-timeout,..Up:.General.v
124280 61 72 69 61 62 6c 65 73 0a 0a 37 2e 31 2e 33 20 72 61 63 6b 65 74 2d 6d 65 6d 6f 72 79 2d 6c 69 ariables..7.1.3.racket-memory-li
1242a0 6d 69 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 mit.-------------------------..T
1242c0 65 72 6d 69 6e 61 74 65 20 74 68 65 20 52 61 63 6b 65 74 20 70 72 6f 63 65 73 73 20 69 66 20 6d erminate.the.Racket.process.if.m
1242e0 65 6d 6f 72 79 20 75 73 65 20 65 78 63 65 65 64 73 20 74 68 69 73 20 76 61 6c 75 65 20 69 6e 20 emory.use.exceeds.this.value.in.
124300 4d 42 2e 0a 0a 20 20 20 43 68 61 6e 67 65 73 20 74 6f 20 74 68 69 73 20 76 61 6c 75 65 20 74 61 MB......Changes.to.this.value.ta
124320 6b 65 20 65 66 66 65 63 74 20 75 70 6f 6e 20 74 68 65 20 6e 65 78 74 20 2a 6e 6f 74 65 20 72 61 ke.effect.upon.the.next.*note.ra
124340 63 6b 65 74 2d 72 75 6e 3a 3a 2e 0a 41 20 76 61 6c 75 65 20 6f 66 20 30 20 6d 65 61 6e 73 20 6e cket-run::..A.value.of.0.means.n
124360 6f 20 6c 69 6d 69 74 2e 0a 0a 20 20 20 43 61 76 65 61 74 3a 20 54 68 69 73 20 75 73 65 73 20 52 o.limit......Caveat:.This.uses.R
124380 61 63 6b 65 74 e2 80 99 73 20 e2 80 98 63 75 73 74 6f 64 69 61 6e 2d 6c 69 6d 69 74 2d 6d 65 6d acket...s....custodian-limit-mem
1243a0 6f 72 79 e2 80 99 2c 20 77 68 69 63 68 20 64 6f 65 73 20 6e 6f 74 0a 65 6e 66 6f 72 63 65 20 74 ory...,.which.does.not.enforce.t
1243c0 68 65 20 6c 69 6d 69 74 20 65 78 61 63 74 6c 79 2e 20 20 49 6e 73 74 65 61 64 2c 20 74 68 65 20 he.limit.exactly...Instead,.the.
1243e0 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 62 65 20 74 65 72 6d 69 6e 61 74 65 64 20 75 70 6f 6e 0a program.will.be.terminated.upon.
124400 74 68 65 20 66 69 72 73 74 20 67 61 72 62 61 67 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 77 68 65 the.first.garbage.collection.whe
124420 72 65 20 6d 65 6d 6f 72 79 20 65 78 63 65 65 64 73 20 74 68 65 20 6c 69 6d 69 74 20 28 6d 61 79 re.memory.exceeds.the.limit.(may
124440 62 65 20 62 79 20 61 0a 73 69 67 6e 69 66 69 63 61 6e 74 20 61 6d 6f 75 6e 74 29 2e 0a 0a 1f 0a be.by.a.significant.amount).....
124460 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 File:.doc49fz4A.info,..Node:.rac
124480 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 ket-error-context,..Next:.racket
1244a0 2d 75 73 65 72 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 2c 20 20 50 -user-command-line-arguments,..P
1244c0 72 65 76 3a 20 72 61 63 6b 65 74 2d 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 2c 20 20 55 70 3a 20 47 rev:.racket-memory-limit,..Up:.G
1244e0 65 6e 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 31 2e 34 20 72 61 63 6b 65 74 2d 65 eneral.variables..7.1.4.racket-e
124500 72 72 6f 72 2d 63 6f 6e 74 65 78 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d rror-context.-------------------
124520 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 63 6f 6e 74 65 78 74 20 66 -------..The.amount.of.context.f
124540 6f 72 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 2e 0a 0a 20 20 20 45 61 63 68 20 69 6e 63 72 or.error.messages......Each.incr
124560 65 61 73 69 6e 67 20 6c 65 76 65 6c 20 73 75 70 70 6c 69 65 73 20 62 65 74 74 65 72 20 63 6f 6e easing.level.supplies.better.con
124580 74 65 78 74 20 28 e2 80 9c 73 74 61 63 6b 20 74 72 61 63 65 e2 80 9d 29 20 66 6f 72 0a 65 72 72 text.(...stack.trace...).for.err
1245a0 6f 72 20 6d 65 73 73 61 67 65 73 2c 20 62 75 74 20 63 61 75 73 69 6e 67 20 79 6f 75 72 20 70 72 or.messages,.but.causing.your.pr
1245c0 6f 67 72 61 6d 20 74 6f 20 72 75 6e 20 6d 6f 72 65 20 73 6c 6f 77 6c 79 2e 0a 0a 20 20 20 e2 80 ogram.to.run.more.slowly........
1245e0 a2 20 6c 6f 77 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 63 6f 6d 70 69 6c 65 2d 65 6e 66 ..low.corresponds.to.compile-enf
124600 6f 72 63 65 2d 6d 6f 64 75 6c 65 2d 63 6f 6e 73 74 61 6e 74 73 20 23 74 20 61 6e 64 0a 20 20 20 orce-module-constants.#t.and....
124620 20 20 63 6f 6d 70 69 6c 65 2d 63 6f 6e 74 65 78 74 2d 70 72 65 73 65 72 76 61 74 69 6f 6e 2d 65 ..compile-context-preservation-e
124640 6e 61 62 6c 65 64 20 23 66 2e 0a 0a 20 20 20 e2 80 a2 20 6d 65 64 69 75 6d 20 63 6f 72 72 65 73 nabled.#f..........medium.corres
124660 70 6f 6e 64 73 20 74 6f 20 63 6f 6d 70 69 6c 65 2d 65 6e 66 6f 72 63 65 2d 6d 6f 64 75 6c 65 2d ponds.to.compile-enforce-module-
124680 63 6f 6e 73 74 61 6e 74 73 20 23 66 20 61 6e 64 0a 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 63 6f constants.#f.and......compile-co
1246a0 6e 74 65 78 74 2d 70 72 65 73 65 72 76 61 74 69 6f 6e 2d 65 6e 61 62 6c 65 64 20 23 74 2c 20 77 ntext-preservation-enabled.#t,.w
1246c0 68 69 63 68 20 64 69 73 61 62 6c 65 73 20 73 6f 6d 65 0a 20 20 20 20 20 6f 70 74 69 6d 69 7a 61 hich.disables.some......optimiza
1246e0 74 69 6f 6e 73 20 6c 69 6b 65 20 69 6e 6c 69 6e 69 6e 67 2e 0a 0a 20 20 20 e2 80 a2 20 68 69 67 tions.like.inlining..........hig
124700 68 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 6d 65 64 69 75 6d 20 70 6c 75 73 20 74 68 65 h.corresponds.to.medium.plus.the
124720 20 75 73 65 20 6f 66 20 65 72 72 6f 72 74 72 61 63 65 2c 20 77 68 69 63 68 0a 20 20 20 20 20 65 .use.of.errortrace,.which......e
124740 78 74 65 6e 73 69 76 65 6c 79 20 69 6e 73 74 72 75 6d 65 6e 74 73 20 79 6f 75 72 20 63 6f 64 65 xtensively.instruments.your.code
124760 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 6d 69 67 68 74 20 63 61 75 73 65 20 69 74 20 74 6f .and.therefore.might.cause.it.to
124780 0a 20 20 20 20 20 72 75 6e 20 73 69 67 6e 69 66 69 63 61 6e 74 6c 79 20 73 6c 6f 77 65 72 2e 0a ......run.significantly.slower..
1247a0 0a 20 20 20 54 69 70 3a 20 52 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 69 73 20 73 65 74 74 ....Tip:.Regardless.of.this.sett
1247c0 69 6e 67 2c 20 79 6f 75 20 63 61 6e 20 65 6e 61 62 6c 65 20 68 69 67 68 20 65 72 72 6f 72 74 72 ing,.you.can.enable.high.errortr
1247e0 61 63 65 20 66 6f 72 20 61 0a 73 70 65 63 69 66 69 63 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d ace.for.a.specific.*note.racket-
124800 72 75 6e 3a 3a 20 6f 72 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 run::.or.*note.racket-run-module
124820 2d 61 74 2d 70 6f 69 6e 74 3a 3a 20 62 79 0a 75 73 69 6e 67 20 e2 80 98 43 2d 75 e2 80 99 20 2e -at-point::.by.using....C-u.....
124840 20 20 54 68 69 73 20 6c 65 74 73 20 79 6f 75 20 6e 6f 72 6d 61 6c 6c 79 20 72 75 6e 20 77 69 74 ..This.lets.you.normally.run.wit
124860 68 20 61 20 6c 6f 77 65 72 2c 20 66 61 73 74 65 72 20 73 65 74 74 69 6e 67 2c 0a 61 6e 64 20 72 h.a.lower,.faster.setting,.and.r
124880 65 2d 72 75 6e 20 77 68 65 6e 20 64 65 73 69 72 65 64 20 74 6f 20 67 65 74 20 61 20 6d 6f 72 65 e-run.when.desired.to.get.a.more
1248a0 2d 68 65 6c 70 66 75 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 0a 0a 1f 0a 46 69 6c 65 3a -helpful.error.message.....File:
1248c0 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 75 .doc49fz4A.info,..Node:.racket-u
1248e0 73 65 72 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 2c 20 20 4e 65 78 ser-command-line-arguments,..Nex
124900 74 3a 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 2c 20 20 t:.racket-browse-url-function,..
124920 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 2c 20 20 55 70 3a Prev:.racket-error-context,..Up:
124940 20 47 65 6e 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 31 2e 35 20 72 61 63 6b 65 74 .General.variables..7.1.5.racket
124960 2d 75 73 65 72 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 0a 2d 2d 2d -user-command-line-arguments.---
124980 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1249a0 2d 2d 2d 2d 2d 0a 0a 4c 69 73 74 20 6f 66 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 61 72 67 75 -----..List.of.command-line.argu
1249c0 6d 65 6e 74 73 20 74 6f 20 73 75 70 70 6c 79 20 74 6f 20 79 6f 75 72 20 52 61 63 6b 65 74 20 70 ments.to.supply.to.your.Racket.p
1249e0 72 6f 67 72 61 6d 2e 0a 0a 20 20 20 41 63 63 65 73 73 69 62 6c 65 20 69 6e 20 79 6f 75 72 20 52 rogram......Accessible.in.your.R
124a00 61 63 6b 65 74 20 70 72 6f 67 72 61 6d 20 69 6e 20 74 68 65 20 75 73 75 61 6c 20 77 61 79 20 e2 acket.program.in.the.usual.way..
124a20 80 94 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 0a e2 80 98 63 75 72 72 65 6e 74 2d 63 6f 6d 6d ...the.parameter....current-comm
124a40 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 e2 80 99 20 61 6e 64 20 66 72 69 65 6e 64 and-line-arguments....and.friend
124a60 73 2e 0a 0a 20 20 20 54 68 69 73 20 69 73 20 61 6e 20 45 6d 61 63 73 20 62 75 66 66 65 72 2d 6c s......This.is.an.Emacs.buffer-l
124a80 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 e2 80 94 20 63 6f 6e 76 65 6e 69 65 6e 74 20 74 6f 20 ocal.variable.....convenient.to.
124aa0 73 65 74 20 61 73 20 61 20 66 69 6c 65 0a 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 2e 20 20 46 set.as.a.file.local.variable...F
124ac0 6f 72 20 65 78 61 6d 70 6c 65 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 79 6f 75 72 20 2e 72 or.example.at.the.end.of.your..r
124ae0 6b 74 20 66 69 6c 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 kt.file:...........;;.Local.Vari
124b00 61 62 6c 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 72 61 63 6b 65 74 2d 75 73 65 72 2d 63 ables:..........;;.racket-user-c
124b20 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 3a 20 28 22 2d 66 22 20 22 62 61 ommand-line-arguments:.("-f"."ba
124b40 72 22 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 45 6e 64 3a 0a 0a 20 20 20 53 65 74 20 74 68 69 r")..........;;.End:.....Set.thi
124b60 73 20 77 61 79 2c 20 74 68 65 20 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 61 6e 20 2a 75 6e 71 s.way,.the.value.must.be.an.*unq
124b80 75 6f 74 65 64 2a 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e 67 73 2e 20 20 46 6f 72 0a 65 78 61 uoted*.list.of.strings...For.exa
124ba0 6d 70 6c 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 28 22 2d 66 22 20 22 62 61 72 22 29 0a 0a 20 20 mple:...........("-f"."bar")....
124bc0 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 20 77 69 6c 6c 20 5f 6e 6f 74 5f .The.following.values.will._not_
124be0 20 77 6f 72 6b 3a 0a 0a 20 20 20 20 20 20 20 20 20 27 28 22 2d 66 22 20 22 62 61 72 22 29 0a 20 .work:...........'("-f"."bar")..
124c00 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 22 2d 66 22 20 22 62 61 72 22 29 0a 0a 1f 0a 46 69 6c ........(list."-f"."bar")....Fil
124c20 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 e:.doc49fz4A.info,..Node:.racket
124c40 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 72 61 63 -browse-url-function,..Next:.rac
124c60 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 ket-xp-after-change-refresh-dela
124c80 79 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 75 73 65 72 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 y,..Prev:.racket-user-command-li
124ca0 6e 65 2d 61 72 67 75 6d 65 6e 74 73 2c 20 20 55 70 3a 20 47 65 6e 65 72 61 6c 20 76 61 72 69 61 ne-arguments,..Up:.General.varia
124cc0 62 6c 65 73 0a 0a 37 2e 31 2e 36 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 bles..7.1.6.racket-browse-url-fu
124ce0 6e 63 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d nction.-------------------------
124d00 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 75 6e 63 74 69 6f 6e 20 74 6f 20 63 61 6c 6c 20 74 6f 20 62 72 6f -------..Function.to.call.to.bro
124d20 77 73 65 20 61 20 55 52 4c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e wse.a.URL.....File:.doc49fz4A.in
124d40 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 fo,..Node:.racket-xp-after-chang
124d60 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 e-refresh-delay,..Next:.racket-x
124d80 70 2d 68 69 67 68 6c 69 67 68 74 2d 75 6e 75 73 65 64 2d 72 65 67 65 78 70 2c 20 20 50 72 65 76 p-highlight-unused-regexp,..Prev
124da0 3a 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 2c 20 20 55 :.racket-browse-url-function,..U
124dc0 70 3a 20 47 65 6e 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 31 2e 37 20 72 61 63 6b p:.General.variables..7.1.7.rack
124de0 65 74 2d 78 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 et-xp-after-change-refresh-delay
124e00 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .-------------------------------
124e20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 53 65 63 6f 6e 64 73 20 74 6f 20 77 61 69 74 20 62 65 66 -----------..Seconds.to.wait.bef
124e40 6f 72 65 20 72 65 66 72 65 73 68 69 6e 67 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d ore.refreshing.*note.racket-xp-m
124e60 6f 64 65 3a 3a 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2e 0a 0a 20 20 20 53 65 74 20 74 6f 20 6e 69 ode::.annotations......Set.to.ni
124e80 6c 20 74 6f 20 64 69 73 61 62 6c 65 20 61 75 74 6f 6d 61 74 69 63 20 72 65 66 72 65 73 68 20 61 l.to.disable.automatic.refresh.a
124ea0 6e 64 20 6d 61 6e 75 61 6c 6c 79 20 75 73 65 0a e2 80 98 72 61 63 6b 65 74 2d 78 70 2d 61 6e 6e nd.manually.use....racket-xp-ann
124ec0 6f 74 61 74 65 e2 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 otate........File:.doc49fz4A.inf
124ee0 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 68 69 67 68 6c 69 67 68 74 2d 75 6e o,..Node:.racket-xp-highlight-un
124f00 75 73 65 64 2d 72 65 67 65 78 70 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 61 64 used-regexp,..Next:.racket-xp-ad
124f20 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 d-binding-faces,..Prev:.racket-x
124f40 70 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 2c 20 20 55 p-after-change-refresh-delay,..U
124f60 70 3a 20 47 65 6e 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 31 2e 38 20 72 61 63 6b p:.General.variables..7.1.8.rack
124f80 65 74 2d 78 70 2d 68 69 67 68 6c 69 67 68 74 2d 75 6e 75 73 65 64 2d 72 65 67 65 78 70 0a 2d 2d et-xp-highlight-unused-regexp.--
124fa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
124fc0 2d 2d 2d 2d 2d 0a 0a 4f 6e 6c 79 20 67 69 76 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 -----..Only.give.*note.racket-xp
124fe0 2d 75 6e 75 73 65 64 2d 66 61 63 65 3a 3a 20 74 6f 20 75 6e 75 73 65 64 20 62 69 6e 64 69 6e 67 -unused-face::.to.unused.binding
125000 73 20 74 68 61 74 20 6d 61 74 63 68 0a 74 68 69 73 20 72 65 67 65 78 70 2e 0a 0a 20 20 20 54 68 s.that.match.this.regexp......Th
125020 65 20 64 65 66 61 75 6c 74 20 69 73 20 74 6f 20 68 69 67 68 6c 69 67 68 74 20 69 64 65 6e 74 69 e.default.is.to.highlight.identi
125040 66 69 65 72 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 73 74 61 72 74 20 77 69 74 68 20 61 6e 0a fiers.that.do.not.start.with.an.
125060 75 6e 64 65 72 6c 69 6e 65 2c 20 77 68 69 63 68 20 69 73 20 61 20 63 6f 6d 6d 6f 6e 20 63 6f 6e underline,.which.is.a.common.con
125080 76 65 6e 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f vention.....File:.doc49fz4A.info
1250a0 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 ,..Node:.racket-xp-add-binding-f
1250c0 61 63 65 73 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f aces,..Next:.racket-documentatio
1250e0 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 74 69 6f 6e 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 n-search-location,..Prev:.racket
125100 2d 78 70 2d 68 69 67 68 6c 69 67 68 74 2d 75 6e 75 73 65 64 2d 72 65 67 65 78 70 2c 20 20 55 70 -xp-highlight-unused-regexp,..Up
125120 3a 20 47 65 6e 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 31 2e 39 20 72 61 63 6b 65 :.General.variables..7.1.9.racke
125140 74 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d t-xp-add-binding-faces.---------
125160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 48 61 76 65 20 2a ------------------------..Have.*
125180 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 20 66 6f 6e 74 69 66 79 20 62 69 note.racket-xp-mode::.fontify.bi
1251a0 6e 64 69 6e 67 20 69 64 65 6e 74 69 66 69 65 72 20 73 69 74 65 73 2e 0a 0a 20 20 20 41 20 e2 80 nding.identifier.sites......A...
1251c0 99 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 70 72 6f 70 65 72 74 79 20 69 73 20 61 64 64 65 .font-lock-face.property.is.adde
1251e0 64 20 66 6f 72 20 62 69 6e 64 69 6e 67 73 20 66 72 6f 6d 3a 0a 0a 20 20 20 e2 80 a2 20 74 68 65 d.for.bindings.from:.........the
125200 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 2c 20 75 73 69 6e 67 20 2a 6e 6f 74 65 20 72 61 .module.language,.using.*note.ra
125220 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 66 61 63 65 3a 3a 20 61 6e 64 0a cket-xp-binding-lang-face::.and.
125240 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e .....*note.racket-xp-binding-lan
125260 67 2d 75 73 65 2d 66 61 63 65 3a 3a 2e 0a 0a 20 20 20 e2 80 a2 20 6f 74 68 65 72 20 69 6d 70 6f g-use-face::..........other.impo
125280 72 74 73 2c 20 75 73 69 6e 67 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 rts,.using.*note.racket-xp-bindi
1252a0 6e 67 2d 69 6d 70 6f 72 74 2d 66 61 63 65 3a 3a 20 61 6e 64 0a 20 20 20 20 20 2a 6e 6f 74 65 20 ng-import-face::.and......*note.
1252c0 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 75 73 65 2d 66 61 63 racket-xp-binding-import-use-fac
1252e0 65 3a 3a 2e 0a 0a 20 20 20 e2 80 a2 20 6c 6f 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 2c 20 e::..........local.definitions,.
125300 75 73 69 6e 67 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f using.*note.racket-xp-binding-lo
125320 63 61 6c 2d 66 61 63 65 3a 3a 20 61 6e 64 0a 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 cal-face::.and......*note.racket
125340 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 75 73 65 2d 66 61 63 65 3a 3a 2e 0a 0a 20 -xp-binding-local-use-face::....
125360 20 20 54 68 69 73 20 68 61 73 20 61 20 76 69 73 69 62 6c 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 ..This.has.a.visible.effect.only
125380 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 5f 6e 6f 74 5f 20 61 6c 73 6f 20 61 20 e2 80 99 66 .when.there.is._not_.also.a....f
1253a0 61 63 65 0a 70 72 6f 70 65 72 74 79 20 61 70 70 6c 69 65 64 20 62 79 20 74 68 65 20 6d 61 6a 6f ace.property.applied.by.the.majo
1253c0 72 20 6d 6f 64 65 e2 80 99 73 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c r.mode...s.fontification.....Fil
1253e0 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 e:.doc49fz4A.info,..Node:.racket
125400 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 74 69 6f 6e 2c 20 -documentation-search-location,.
125420 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 2c 20 20 50 72 .Next:.racket-expand-hiding,..Pr
125440 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 2c ev:.racket-xp-add-binding-faces,
125460 20 20 55 70 3a 20 47 65 6e 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 31 2e 31 30 20 ..Up:.General.variables..7.1.10.
125480 72 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 racket-documentation-search-loca
1254a0 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d tion.---------------------------
1254c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f ----------------..The.location.o
1254e0 66 20 74 68 65 20 52 61 63 6b 65 74 20 e2 80 9c 53 65 61 72 63 68 20 4d 61 6e 75 61 6c 73 e2 80 f.the.Racket....Search.Manuals..
125500 9d 20 77 65 62 20 70 61 67 65 2e 20 20 57 68 65 72 65 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d ..web.page...Where.*note.racket-
125520 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 3a 3a 2c 20 2a 6e 6f 74 65 20 72 61 documentation-search::,.*note.ra
125540 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 3a 20 61 6e 64 20 2a 6e 6f 74 cket-xp-documentation::.and.*not
125560 65 0a 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 3a 20 73 68 e.racket-repl-documentation::.sh
125580 6f 75 6c 64 20 6c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 73 65 61 72 63 68 20 70 61 67 65 2e 0a 0a ould.look.for.the.search.page...
1255a0 20 20 20 e2 80 a2 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 69 73 20 76 61 72 69 .......If.the.value.of.this.vari
1255c0 61 62 6c 65 20 69 73 20 74 68 65 20 73 79 6d 62 6f 6c 20 e2 80 9c 6c 6f 63 61 6c e2 80 9d 2c 20 able.is.the.symbol....local...,.
1255e0 6f 70 65 6e 20 74 68 65 0a 20 20 20 20 20 73 65 61 72 63 68 20 70 61 67 65 20 66 72 6f 6d 20 74 open.the......search.page.from.t
125600 68 65 20 6c 6f 63 61 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 61 73 20 77 69 74 68 20 he.local.documentation,.as.with.
125620 e2 80 9c 72 61 63 6f 20 64 6f 63 e2 80 9d 2e 0a 0a 20 20 20 e2 80 a2 20 4f 74 68 65 72 77 69 73 ...raco.doc.............Otherwis
125640 65 2c 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 61 20 73 74 72 69 6e 67 20 72 65 63 6f 67 6e 69 e,.the.value.is.a.string.recogni
125660 7a 61 62 6c 65 20 62 79 20 e2 80 98 66 6f 72 6d 61 74 e2 80 99 2c 20 77 69 74 68 0a 20 20 20 20 zable.by....format...,.with.....
125680 20 e2 80 9c 25 73 e2 80 9d 20 61 74 20 74 68 65 20 70 6f 69 6e 74 20 61 74 20 77 68 69 63 68 20 ....%s....at.the.point.at.which.
1256a0 74 6f 20 69 6e 73 65 72 74 20 74 68 65 20 75 73 65 72 e2 80 99 73 20 73 65 61 72 63 68 20 74 65 to.insert.the.user...s.search.te
1256c0 78 74 20 61 66 74 65 72 0a 20 20 20 20 20 61 70 70 6c 79 69 6e 67 20 e2 80 98 75 72 6c 2d 68 65 xt.after......applying....url-he
1256e0 78 69 66 79 2d 73 74 72 69 6e 67 e2 80 99 2e 20 20 41 70 61 72 74 20 66 72 6f 6d 20 e2 80 9c 25 xify-string......Apart.from....%
125700 73 e2 80 9d 2c 20 74 68 65 20 73 74 72 69 6e 67 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 62 65 20 s...,.the.string.should......be.
125720 61 20 70 72 6f 70 65 72 6c 79 20 65 6e 63 6f 64 65 64 20 55 52 4c 2e 0a 0a 1f 0a 46 69 6c 65 3a a.properly.encoded.URL.....File:
125740 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 65 .doc49fz4A.info,..Node:.racket-e
125760 78 70 61 6e 64 2d 68 69 64 69 6e 67 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 64 6f 63 75 xpand-hiding,..Prev:.racket-docu
125780 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 74 69 6f 6e 2c 20 20 55 70 3a 20 mentation-search-location,..Up:.
1257a0 47 65 6e 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 31 2e 31 31 20 72 61 63 6b 65 74 General.variables..7.1.11.racket
1257c0 2d 65 78 70 61 6e 64 2d 68 69 64 69 6e 67 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -expand-hiding.-----------------
1257e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 20 6d 61 63 72 6f 20 68 69 64 69 6e 67 20 70 6f 6c ----------..The.macro.hiding.pol
125800 69 63 79 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 6c 69 6b 65 20 2a 6e 6f 74 65 20 72 61 63 6b icy.for.commands.like.*note.rack
125820 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 et-expand-file::.....File:.doc49
125840 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 48 61 73 68 20 6c 61 6e 67 20 76 61 72 69 fz4A.info,..Node:.Hash.lang.vari
125860 61 62 6c 65 73 2c 20 20 4e 65 78 74 3a 20 52 45 50 4c 20 76 61 72 69 61 62 6c 65 73 2c 20 20 50 ables,..Next:.REPL.variables,..P
125880 72 65 76 3a 20 47 65 6e 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 20 55 70 3a 20 56 61 72 rev:.General.variables,..Up:.Var
1258a0 69 61 62 6c 65 73 0a 0a 37 2e 32 20 48 61 73 68 20 6c 61 6e 67 20 76 61 72 69 61 62 6c 65 73 0a iables..7.2.Hash.lang.variables.
1258c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a =======================..*.Menu:
1258e0 0a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 74 6f 6b 65 6e 2d 66 61 63 65 2d ..*.racket-hash-lang-token-face-
125900 61 6c 69 73 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 alist::.*.racket-hash-lang-pairs
125920 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e ::.*.racket-hash-lang-module-lan
125940 67 75 61 67 65 2d 68 6f 6f 6b 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e guage-hook::....File:.doc49fz4A.
125960 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 74 6f info,..Node:.racket-hash-lang-to
125980 6b 65 6e 2d 66 61 63 65 2d 61 6c 69 73 74 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 68 61 ken-face-alist,..Next:.racket-ha
1259a0 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 2c 20 20 55 70 3a 20 48 61 73 68 20 6c 61 6e 67 20 76 61 sh-lang-pairs,..Up:.Hash.lang.va
1259c0 72 69 61 62 6c 65 73 0a 0a 37 2e 32 2e 31 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d riables..7.2.1.racket-hash-lang-
1259e0 74 6f 6b 65 6e 2d 66 61 63 65 2d 61 6c 69 73 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d token-face-alist.---------------
125a00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 41 6e 20 61 73 73 ------------------------..An.ass
125a20 6f 63 69 61 74 69 6f 6e 20 6c 69 73 74 20 66 72 6f 6d 20 63 6f 6c 6f 72 2d 6c 65 78 65 72 20 74 ociation.list.from.color-lexer.t
125a40 6f 6b 65 6e 20 73 79 6d 62 6f 6c 73 20 74 6f 20 66 61 63 65 20 73 79 6d 62 6f 6c 73 2e 0a 0a 20 oken.symbols.to.face.symbols....
125a60 20 20 4e 6f 74 65 3a 20 49 6e 20 6d 61 6e 79 20 52 61 63 6b 65 74 20 6c 61 6e 67 75 61 67 65 73 ..Note:.In.many.Racket.languages
125a80 2c 20 74 68 65 20 6c 65 78 65 72 20 63 6c 61 73 73 69 66 69 65 73 20 74 6f 6b 65 6e 73 20 66 6f ,.the.lexer.classifies.tokens.fo
125aa0 72 0a 69 64 65 6e 74 69 66 69 65 72 73 20 61 73 20 e2 80 99 73 79 6d 62 6f 6c 2e 20 20 49 6e 20 r.identifiers.as....symbol...In.
125ac0 6d 61 6e 79 20 70 72 6f 67 72 61 6d 73 2c 20 61 20 6d 61 6a 6f 72 69 74 79 20 6f 66 20 74 68 65 many.programs,.a.majority.of.the
125ae0 20 73 6f 75 72 63 65 0a 63 6f 6e 73 69 73 74 73 20 6f 66 20 69 64 65 6e 74 69 66 69 65 72 73 20 .source.consists.of.identifiers.
125b00 61 74 20 62 69 6e 64 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 20 61 6e 64 20 75 73 65 20 73 69 at.binding.definition.and.use.si
125b20 74 65 73 2e 20 20 54 68 65 72 65 66 6f 72 65 0a 74 68 65 20 61 70 70 65 61 72 61 6e 63 65 20 6f tes...Therefore.the.appearance.o
125b40 66 20 e2 80 9c 73 79 6d 62 6f 6c e2 80 9d 20 74 6f 6b 65 6e 73 20 69 73 20 73 69 67 6e 69 66 69 f....symbol....tokens.is.signifi
125b60 63 61 6e 74 2c 20 61 6e 64 20 61 20 6d 61 74 74 65 72 20 6f 66 0a 70 65 72 73 6f 6e 61 6c 20 70 cant,.and.a.matter.of.personal.p
125b80 72 65 66 65 72 65 6e 63 65 2e 0a 0a 20 20 20 e2 80 a2 20 49 66 20 79 6f 75 20 70 72 65 66 65 72 reference..........If.you.prefer
125ba0 20 61 20 e2 80 9c 70 6c 61 69 6e 65 72 e2 80 9d 20 61 70 70 65 61 72 61 6e 63 65 2c 20 73 69 6d .a....plainer....appearance,.sim
125bc0 69 6c 61 72 20 74 6f 20 44 72 20 52 61 63 6b 65 74 3a 20 41 64 64 0a 20 20 20 20 20 e2 80 99 73 ilar.to.Dr.Racket:.Add.........s
125be0 79 6d 62 6f 6c 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 e2 80 99 64 65 66 61 75 6c 74 2e ymbol.with.the.value....default.
125c00 20 20 54 68 69 73 20 67 69 76 65 73 20 61 6e 20 65 78 70 6c 69 63 69 74 20 e2 80 99 66 61 63 65 ..This.gives.an.explicit....face
125c20 0a 20 20 20 20 20 70 72 6f 70 65 72 74 79 20 74 68 61 74 20 70 72 65 76 61 69 6c 73 20 6f 76 65 ......property.that.prevails.ove
125c40 72 20 61 6e 79 20 e2 80 99 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 70 72 6f 70 65 72 74 79 r.any....font-lock-face.property
125c60 20 74 68 61 74 20 61 0a 20 20 20 20 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 6d 69 67 68 74 20 61 70 .that.a......minor.mode.might.ap
125c80 70 6c 79 20 74 6f 20 65 6e 68 61 6e 63 65 20 74 68 65 20 62 61 73 69 63 20 66 6f 6e 74 69 66 69 ply.to.enhance.the.basic.fontifi
125ca0 63 61 74 69 6f 6e 2e 0a 0a 20 20 20 e2 80 a2 20 49 66 20 79 6f 75 20 70 72 65 66 65 72 20 61 20 cation..........If.you.prefer.a.
125cc0 6d 6f 72 65 20 e2 80 9c 63 6f 6c 6f 72 66 75 6c e2 80 9d 20 61 70 70 65 61 72 61 6e 63 65 2c 20 more....colorful....appearance,.
125ce0 73 69 6d 69 6c 61 72 20 74 6f 20 e2 80 9c 63 6c 61 73 73 69 63 e2 80 9d 0a 20 20 20 20 20 2a 6e similar.to....classic.........*n
125d00 6f 74 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 3a 20 44 6f 20 5f 6e 6f 74 5f 20 6d 61 70 20 ote.racket-mode:::.Do._not_.map.
125d20 e2 80 99 73 79 6d 62 6f 6c 20 74 6f 6b 65 6e 73 20 69 6e 20 74 68 69 73 20 6c 69 73 74 2e 20 20 ...symbol.tokens.in.this.list...
125d40 53 65 65 0a 20 20 20 20 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d See......*note.racket-hash-lang-
125d60 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 3a 3a 20 66 6f 72 20 69 64 65 61 73 module-language-hook::.for.ideas
125d80 2e 0a 0a 20 20 20 4e 6f 74 65 3a 20 53 6f 6d 65 20 74 6f 6b 65 6e 73 20 61 72 65 20 68 61 72 64 ......Note:.Some.tokens.are.hard
125da0 77 69 72 65 64 20 61 6e 64 20 6e 6f 74 20 63 75 73 74 6f 6d 69 7a 61 62 6c 65 20 62 79 20 74 68 wired.and.not.customizable.by.th
125dc0 69 73 20 6c 69 73 74 3a 0a 43 6f 6d 6d 65 6e 74 20 74 6f 6b 65 6e 73 20 75 73 65 20 74 68 65 20 is.list:.Comment.tokens.use.the.
125de0 66 61 63 65 20 e2 80 98 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 e2 80 face....font-lock-comment-face..
125e00 99 2c 20 73 6f 6d 65 74 69 6d 65 73 20 62 6c 65 6e 64 65 64 0a 77 69 74 68 20 6f 74 68 65 72 20 .,.sometimes.blended.with.other.
125e20 66 61 63 65 73 2e 20 20 50 61 72 65 6e 74 68 65 73 69 73 20 74 6f 6b 65 6e 73 20 75 73 65 20 74 faces...Parenthesis.tokens.use.t
125e40 68 65 20 66 61 63 65 20 e2 80 98 70 61 72 65 6e 74 68 65 73 69 73 e2 80 99 20 69 66 0a 64 65 66 he.face....parenthesis....if.def
125e60 69 6e 65 64 2c 20 61 73 20 62 79 20 74 68 65 20 70 61 72 65 6e 2d 66 61 63 65 20 70 61 63 6b 61 ined,.as.by.the.paren-face.packa
125e80 67 65 2e 20 20 53 74 72 69 6e 67 20 74 6f 6b 65 6e 73 20 75 73 65 0a e2 80 98 66 6f 6e 74 2d 6c ge...String.tokens.use....font-l
125ea0 6f 63 6b 2d 73 74 72 69 6e 67 2d 66 61 63 65 e2 80 99 2e 20 20 54 65 78 74 20 74 6f 6b 65 6e 73 ock-string-face......Text.tokens
125ec0 2c 20 65 2e 67 2e 20 20 53 63 72 69 62 62 6c 65 20 74 65 78 74 2c 20 75 73 65 20 74 68 65 20 66 ,.e.g...Scribble.text,.use.the.f
125ee0 61 63 65 0a e2 80 98 64 65 66 61 75 6c 74 e2 80 99 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 ace....default.......File:.doc49
125f00 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 fz4A.info,..Node:.racket-hash-la
125f20 6e 67 2d 70 61 69 72 73 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e ng-pairs,..Next:.racket-hash-lan
125f40 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 2c 20 20 50 72 65 76 3a 20 72 g-module-language-hook,..Prev:.r
125f60 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 74 6f 6b 65 6e 2d 66 61 63 65 2d 61 6c 69 73 74 acket-hash-lang-token-face-alist
125f80 2c 20 20 55 70 3a 20 48 61 73 68 20 6c 61 6e 67 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 32 2e ,..Up:.Hash.lang.variables..7.2.
125fa0 32 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 0a 2d 2d 2d 2d 2d 2d 2d 2.racket-hash-lang-pairs.-------
125fc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 50 61 69 72 73 20 6f 66 20 ---------------------..Pairs.of.
125fe0 64 65 6c 69 6d 69 74 65 72 73 20 74 6f 20 69 6e 73 65 72 74 20 6f 72 20 64 65 6c 65 74 65 20 61 delimiters.to.insert.or.delete.a
126000 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 0a 0a 20 20 20 54 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 utomatically......The.format.of.
126020 65 61 63 68 20 69 74 65 6d 20 69 73 20 28 63 6f 6e 73 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 each.item.is.(cons.string.string
126040 29 2e 0a 0a 20 20 20 54 68 69 73 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 77 68 65 6e 65 )......This.is.initialized.whene
126060 76 65 72 20 61 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 20 63 68 61 6e 67 65 73 2c 20 75 ver.a.module.language.changes,.u
126080 73 69 6e 67 20 76 61 6c 75 65 73 0a 66 72 6f 6d 20 74 68 65 20 6c 61 6e 67 75 61 67 65 e2 80 99 sing.values.from.the.language...
1260a0 73 20 72 65 70 6f 72 74 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20 64 72 72 61 63 6b 65 74 3a 70 s.reported.values.for.drracket:p
1260c0 61 72 65 6e 2d 6d 61 74 63 68 65 73 20 61 6e 64 0a 64 72 72 61 63 6b 65 74 3a 71 75 6f 74 65 2d aren-matches.and.drracket:quote-
1260e0 6d 61 74 63 68 65 73 2e 0a 0a 20 20 20 59 6f 75 20 6d 61 79 20 63 75 73 74 6f 6d 69 7a 65 20 74 matches......You.may.customize.t
126100 68 69 73 20 64 65 66 61 75 6c 74 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 69 6e 20 2a 6e his.default.initialization.in.*n
126120 6f 74 65 0a 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 ote.racket-hash-lang-module-lang
126140 75 61 67 65 2d 68 6f 6f 6b 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e uage-hook::.....File:.doc49fz4A.
126160 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f info,..Node:.racket-hash-lang-mo
126180 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 dule-language-hook,..Prev:.racke
1261a0 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 2c 20 20 55 70 3a 20 48 61 73 68 20 6c 61 6e t-hash-lang-pairs,..Up:.Hash.lan
1261c0 67 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 32 2e 33 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c g.variables..7.2.3.racket-hash-l
1261e0 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 0a 2d 2d 2d 2d 2d 2d 2d ang-module-language-hook.-------
126200 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
126220 2d 2d 2d 2d 0a 0a 48 6f 6f 6b 20 72 75 6e 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c ----..Hook.run.when.the.module.l
126240 61 6e 67 75 61 67 65 20 63 68 61 6e 67 65 73 2e 0a 0a 20 20 20 54 79 70 69 63 61 6c 6c 79 20 69 anguage.changes......Typically.i
126260 6e 20 45 6d 61 63 73 20 65 61 63 68 20 6c 61 6e 67 75 61 67 65 20 67 65 74 73 20 69 74 73 20 6f n.Emacs.each.language.gets.its.o
126280 77 6e 20 6d 61 6a 6f 72 20 6d 6f 64 65 2e 20 20 41 73 20 61 0a 72 65 73 75 6c 74 2c 20 74 68 65 wn.major.mode...As.a.result,.the
1262a0 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 68 6f 6f 6b 20 69 73 20 79 6f 75 72 20 6f 70 70 6f 72 74 75 .major.mode.hook.is.your.opportu
1262c0 6e 69 74 79 20 74 6f 20 65 78 70 72 65 73 73 20 70 72 65 66 65 72 65 6e 63 65 73 2e 0a 48 6f 77 nity.to.express.preferences..How
1262e0 65 76 65 72 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 ever.*note.racket-hash-lang-mode
126300 3a 3a 20 68 61 6e 64 6c 65 73 20 72 61 64 69 63 61 6c 6c 79 20 64 69 66 66 65 72 65 6e 74 20 6b ::.handles.radically.different.k
126320 69 6e 64 73 0a 6f 66 20 68 61 73 68 20 6c 61 6e 67 73 20 69 6e 20 6f 6e 65 20 6d 61 6a 6f 72 20 inds.of.hash.langs.in.one.major.
126340 6d 6f 64 65 2e 20 20 41 6e 64 20 61 20 67 69 76 65 6e 20 62 75 66 66 65 72 20 63 61 6e 20 63 68 mode...And.a.given.buffer.can.ch
126360 61 6e 67 65 20 6c 61 6e 67 73 0a 77 68 65 6e 20 79 6f 75 20 65 64 69 74 20 74 68 65 20 e2 80 9c ange.langs.when.you.edit.the....
126380 23 6c 61 6e 67 e2 80 9d 20 6c 69 6e 65 2e 20 20 41 73 20 61 20 72 65 73 75 6c 74 2c 0a e2 80 98 #lang....line...As.a.result,....
1263a0 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 2d 68 6f 6f 6b e2 80 99 20 69 73 racket-hash-lang-mode-hook....is
1263c0 20 6e 6f 74 20 75 73 65 66 75 6c 20 66 6f 72 20 70 65 72 2d 6c 61 6e 67 20 63 6f 6e 66 69 67 75 .not.useful.for.per-lang.configu
1263e0 72 61 74 69 6f 6e 2e 0a 49 6e 73 74 65 61 64 20 79 6f 75 20 6e 65 65 64 20 61 20 6b 69 6e 64 20 ration..Instead.you.need.a.kind.
126400 6f 66 20 e2 80 9c 73 75 62 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 68 6f 6f 6b e2 80 9d 2e 20 20 54 of....sub.major.mode.hook......T
126420 68 69 73 20 69 73 20 74 68 61 74 20 68 6f 6f 6b 2e 0a 0a 20 20 20 54 68 65 20 68 6f 6f 6b 20 69 his.is.that.hook......The.hook.i
126440 73 20 72 75 6e 20 77 68 65 6e 20 61 20 66 69 6c 65 20 69 73 20 66 69 72 73 74 20 76 69 73 69 74 s.run.when.a.file.is.first.visit
126460 65 64 2c 20 61 6e 64 20 74 68 65 72 65 61 66 74 65 72 20 77 68 65 6e 65 76 65 72 0a 74 68 65 20 ed,.and.thereafter.whenever.the.
126480 e2 80 9c 23 6c 61 6e 67 e2 80 9d 20 6c 69 6e 65 20 69 73 20 65 64 69 74 65 64 20 e2 80 93 20 70 ...#lang....line.is.edited.....p
1264a0 72 6f 76 69 64 65 64 20 74 68 61 74 20 72 65 73 75 6c 74 73 20 69 6e 20 64 69 66 66 65 72 65 6e rovided.that.results.in.differen
1264c0 74 20 6c 61 6e 67 75 61 67 65 0a 69 6e 66 6f 3b 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 63 68 61 t.language.info;.for.example.cha
1264e0 6e 67 69 6e 67 20 66 72 6f 6d 20 e2 80 9c 23 6c 61 6e 67 20 72 61 63 6b 65 74 e2 80 9d 20 74 6f nging.from....#lang.racket....to
126500 20 e2 80 9c 23 6c 61 6e 67 20 72 61 63 6b 65 74 2f 62 61 73 65 e2 80 9d 0a 77 69 6c 6c 20 5f 6e ....#lang.racket/base....will._n
126520 6f 74 5f 20 72 75 6e 20 74 68 65 20 68 6f 6f 6b 2e 0a 0a 20 20 20 54 68 65 20 66 75 6e 63 74 69 ot_.run.the.hook......The.functi
126540 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 73 74 72 69 6e 67 20 72 65 74 75 72 on.is.called.with.a.string.retur
126560 6e 65 64 20 62 79 20 74 68 65 20 6c 61 6e 67 e2 80 99 73 0a e2 80 9c 6d 6f 64 75 6c 65 2d 6c 61 ned.by.the.lang...s....module-la
126580 6e 67 75 61 67 65 e2 80 9d 20 69 6e 66 6f 20 6b 65 79 2e 20 20 54 68 69 73 20 69 6e 66 6f 20 6b nguage....info.key...This.info.k
1265a0 65 79 20 69 73 20 73 75 70 70 6c 69 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 77 68 65 ey.is.supplied.automatically.whe
1265c0 6e 20 61 20 6c 61 6e 67 75 61 67 65 20 69 73 20 64 65 66 69 6e 65 64 20 75 73 69 6e 67 20 73 79 n.a.language.is.defined.using.sy
1265e0 6e 74 61 78 2f 6d 6f 64 75 6c 65 2d 72 65 61 64 65 72 3a 0a 0a 20 20 20 3c 68 74 74 70 73 3a 2f ntax/module-reader:.....<https:/
126600 2f 64 6f 63 73 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 73 79 6e 74 61 78 2f 72 65 61 /docs.racket-lang.org/syntax/rea
126620 64 65 72 2d 68 65 6c 70 65 72 73 2e 68 74 6d 6c 23 25 32 38 6d 6f 64 2d 70 61 74 68 2e 5f 73 79 der-helpers.html#%28mod-path._sy
126640 6e 74 61 78 25 32 46 6d 6f 64 75 6c 65 2d 72 65 61 64 65 72 25 32 39 3e 2e 0a 0a 20 20 20 4f 74 ntax%2Fmodule-reader%29>......Ot
126660 68 65 72 77 69 73 65 20 61 20 6c 61 6e 67 20 6d 69 67 68 74 20 6e 6f 74 20 73 75 70 70 6c 79 20 herwise.a.lang.might.not.supply.
126680 74 68 69 73 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 6e 69 6c 2e 0a this.and.the.value.will.be.nil..
1266a0 0a 20 20 20 54 68 65 20 68 6f 6f 6b 20 69 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 79 6f 75 20 ....The.hook.is.useful.when.you.
1266c0 77 61 6e 74 20 74 6f 20 76 61 72 79 20 45 6d 61 63 73 20 62 65 68 61 76 69 6f 72 20 69 6e 20 77 want.to.vary.Emacs.behavior.in.w
1266e0 61 79 73 20 74 68 61 74 0a 67 6f 20 62 65 79 6f 6e 64 20 77 68 61 74 20 61 20 6c 61 6e 67 20 63 ays.that.go.beyond.what.a.lang.c
126700 61 6e 20 64 65 73 63 72 69 62 65 2e 20 20 54 68 69 73 20 6d 61 79 20 69 6e 63 6c 75 64 65 20 65 an.describe...This.may.include.e
126720 6e 61 62 6c 69 6e 67 20 e2 80 9c 66 61 6e 63 79 e2 80 9d 0a 6f 72 20 e2 80 9c 63 6c 61 73 73 69 nabling....fancy....or....classi
126740 63 e2 80 9d 20 45 6d 61 63 73 20 62 65 68 61 76 69 6f 72 73 20 6f 6e 6c 79 20 66 6f 72 20 73 2d c....Emacs.behaviors.only.for.s-
126760 65 78 70 72 65 73 73 69 6f 6e 20 6c 61 6e 67 73 2e 0a 0a 20 20 20 46 6f 72 20 65 78 61 6d 70 6c expression.langs......For.exampl
126780 65 2c 20 6d 61 79 62 65 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 20 e2 80 98 70 61 72 65 e,.maybe.you.want.to.use....pare
1267a0 64 69 74 2d 6d 6f 64 65 e2 80 99 20 77 68 65 6e 20 69 74 20 69 73 20 73 75 69 74 61 62 6c 65 0a dit-mode....when.it.is.suitable.
1267c0 66 6f 72 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 3a 0a 0a 20 20 20 20 20 20 for.the.module.language:........
1267e0 20 28 64 65 66 75 6e 20 6d 79 2d 68 6f 6f 6b 20 28 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 65 .(defun.my-hook.(module-language
126800 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 61 63 6b 65 74 79 0a 20 20 20 20 20 20 )..........(let.((rackety.......
126820 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 62 65 72 20 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 61 67 ..........(member.module-languag
126840 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 e.........................(list.
126860 22 72 61 63 6b 65 74 22 20 22 72 61 63 6b 65 74 2f 62 61 73 65 22 0a 20 20 20 20 20 20 20 20 20 "racket"."racket/base"..........
126880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 64 2f 72 61 63 6b ....................."typed/rack
1268a0 65 74 22 20 22 74 79 70 65 64 2f 72 61 63 6b 65 74 2f 62 61 73 65 22 29 29 29 29 0a 20 20 20 20 et"."typed/racket/base")))).....
1268c0 20 20 20 20 20 20 20 28 69 66 20 72 61 63 6b 65 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(if.rackety..............
1268e0 20 20 28 70 61 72 65 64 69 74 2d 6d 6f 64 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(paredit-mode.1)..............
126900 28 70 61 72 65 64 69 74 2d 6d 6f 64 65 20 2d 31 29 29 29 29 0a 20 20 20 20 20 20 20 28 61 64 64 (paredit-mode.-1))))........(add
126920 2d 68 6f 6f 6b 20 27 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c -hook.'racket-hash-lang-module-l
126940 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 20 23 27 6d 79 2d 68 6f 6f 6b 29 0a 0a 20 20 20 41 20 73 69 anguage-hook.#'my-hook).....A.si
126960 6d 69 6c 61 72 20 74 61 63 74 69 63 20 63 61 6e 20 62 65 20 75 73 65 64 20 66 6f 72 20 e2 80 98 milar.tactic.can.be.used.for....
126980 73 6d 61 72 74 70 61 72 65 6e 73 e2 80 99 20 6f 72 0a e2 80 98 65 6c 65 63 74 72 69 63 2d 70 61 smartparens....or....electric-pa
1269a0 69 72 2d 6d 6f 64 65 e2 80 99 2e 20 20 49 6e 20 67 65 6e 65 72 61 6c 2c 20 6e 6f 6e 65 20 6f 66 ir-mode......In.general,.none.of
1269c0 20 74 68 65 73 65 20 64 65 6c 69 6d 69 74 65 72 2d 6d 61 74 63 68 69 6e 67 0a 6d 6f 64 65 73 20 .these.delimiter-matching.modes.
1269e0 69 73 20 6c 69 6b 65 6c 79 20 74 6f 20 77 6f 72 6b 20 77 65 6c 6c 20 75 6e 6c 65 73 73 20 74 68 is.likely.to.work.well.unless.th
126a00 65 20 68 61 73 68 2d 6c 61 6e 67 20 75 73 65 73 20 72 61 63 6b 65 74 20 66 6f 72 0a 64 72 72 61 e.hash-lang.uses.racket.for.drra
126a20 63 6b 65 74 3a 67 72 6f 75 70 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 2c 20 69 6e 20 77 68 69 63 68 cket:grouping-position,.in.which
126a40 20 63 61 73 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 .case.*note.racket-hash-lang-mod
126a60 65 3a 3a 0a 75 73 65 73 20 74 68 65 20 63 6c 61 73 73 69 63 20 2a 6e 6f 74 65 20 72 61 63 6b 65 e::.uses.the.classic.*note.racke
126a80 74 2d 6d 6f 64 65 3a 3a 20 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 62 75 t-mode::.syntax-table.for.the.bu
126aa0 66 66 65 72 2e 0a 4f 74 68 65 72 77 69 73 65 20 79 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 65 ffer..Otherwise.you.should.not.e
126ac0 6e 61 62 6c 65 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 6d 6f 64 65 73 2c 20 61 6e 64 20 69 6e nable.one.of.these.modes,.and.in
126ae0 73 74 65 61 64 20 6a 75 73 74 20 75 73 65 0a 74 68 65 20 73 69 6d 70 6c 65 20 64 65 6c 69 6d 69 stead.just.use.the.simple.delimi
126b00 74 65 72 20 6d 61 74 63 68 69 6e 67 20 62 75 69 6c 74 20 69 6e 74 6f 20 2a 6e 6f 74 65 20 72 61 ter.matching.built.into.*note.ra
126b20 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 3a 3a 3b 0a 73 65 65 20 2a 6e 6f 74 65 cket-hash-lang-mode::;.see.*note
126b40 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 3a 3a 2e 0a 0a 20 20 20 41 .racket-hash-lang-pairs::......A
126b60 73 20 61 6e 6f 74 68 65 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 70 72 65 66 65 72 s.another.example,.if.you.prefer
126b80 20 6d 6f 72 65 20 63 6f 6c 6f 72 73 20 74 68 61 6e 20 6a 75 73 74 20 74 6f 6b 65 6e 73 2c 0a 63 .more.colors.than.just.tokens,.c
126ba0 68 6f 69 63 65 73 20 69 6e 63 6c 75 64 65 3a 0a 0a 20 20 20 e2 80 a2 20 45 6e 61 62 6c 65 20 2a hoices.include:.........Enable.*
126bc0 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 20 69 6e 20 e2 80 98 72 61 63 6b note.racket-xp-mode::.in....rack
126be0 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 2d 68 6f 6f 6b e2 80 99 20 61 6e 64 0a 20 20 et-hash-lang-mode-hook....and...
126c00 20 20 20 69 6e 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 20 68 6f 6f 6b 20 6c ...in.the.module.language.hook.l
126c20 6f 63 61 6c 6c 79 20 73 65 74 20 2a 6e 6f 74 65 0a 20 20 20 20 20 72 61 63 6b 65 74 2d 78 70 2d ocally.set.*note......racket-xp-
126c40 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 3a 3a 3a 0a 0a 20 20 20 20 20 20 20 28 73 65 add-binding-faces:::.........(se
126c60 74 71 2d 6c 6f 63 61 6c 20 72 61 63 6b 65 74 2d 78 70 2d 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 tq-local.racket-xp-add-binding-f
126c80 61 63 65 73 20 74 29 0a 0a 20 20 20 4f 52 0a 0a 20 20 20 e2 80 a2 20 55 73 65 20 73 6f 6d 65 20 aces.t).....OR.........Use.some.
126ca0 6f 66 20 74 68 65 20 72 65 67 65 78 70 20 73 65 61 72 63 68 2d 62 61 73 65 64 20 66 6f 6e 74 69 of.the.regexp.search-based.fonti
126cc0 66 69 63 61 74 69 6f 6e 20 66 72 6f 6d 20 63 6c 61 73 73 69 63 0a 20 20 20 20 20 2a 6e 6f 74 65 fication.from.classic......*note
126ce0 20 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 20 66 6f 72 20 72 61 63 6b 65 74 79 20 6d 6f 64 75 6c .racket-mode::.for.rackety.modul
126d00 65 20 6c 61 6e 67 75 61 67 65 73 3a 0a 0a 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 72 e.languages:.........(require.'r
126d20 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 29 0a 20 20 20 20 20 20 20 28 69 66 20 72 61 63 6b acket-font-lock)........(if.rack
126d40 65 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 61 64 64 2d 6b 65 ety............(font-lock-add-ke
126d60 79 77 6f 72 64 73 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ywords.nil......................
126d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 72 61 63 6b 65 74 2d 66 6f 6e ..............(append.racket-fon
126da0 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-lock-keywords-2...............
126dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 .............................rac
126de0 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 33 29 29 0a 20 20 20 20 20 ket-font-lock-keywords-3))......
126e00 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 72 65 6d 6f 76 65 2d 6b 65 79 77 6f 72 64 73 20 6e ....(font-lock-remove-keywords.n
126e20 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 il..............................
126e40 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 72 61 63 6b 65 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d .......(append.racket-font-lock-
126e60 6b 65 79 77 6f 72 64 73 2d 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 keywords-2......................
126e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 6b 65 74 2d 66 6f .......................racket-fo
126ea0 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 33 29 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 nt-lock-keywords-3)))....File:.d
126ec0 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 52 45 50 4c 20 76 61 72 69 61 oc49fz4A.info,..Node:.REPL.varia
126ee0 62 6c 65 73 2c 20 20 4e 65 78 74 3a 20 4f 74 68 65 72 20 76 61 72 69 61 62 6c 65 73 2c 20 20 50 bles,..Next:.Other.variables,..P
126f00 72 65 76 3a 20 48 61 73 68 20 6c 61 6e 67 20 76 61 72 69 61 62 6c 65 73 2c 20 20 55 70 3a 20 56 rev:.Hash.lang.variables,..Up:.V
126f20 61 72 69 61 62 6c 65 73 0a 0a 37 2e 33 20 52 45 50 4c 20 76 61 72 69 61 62 6c 65 73 0a 3d 3d 3d ariables..7.3.REPL.variables.===
126f40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b ===============..*.Menu:..*.rack
126f60 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 3a 3a 0a 2a et-repl-buffer-name-function::.*
126f80 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 74 6f 2d 72 75 6e 3a 3a 0a 2a 20 72 61 .racket-submodules-to-run::.*.ra
126fa0 63 6b 65 74 2d 72 65 70 6c 2d 68 69 73 74 6f 72 79 2d 64 69 72 65 63 74 6f 72 79 3a 3a 0a 2a 20 cket-repl-history-directory::.*.
126fc0 72 61 63 6b 65 74 2d 68 69 73 74 6f 72 79 2d 66 69 6c 74 65 72 2d 72 65 67 65 78 70 3a 3a 0a 2a racket-history-filter-regexp::.*
126fe0 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 69 6e 6c 69 6e 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 .racket-images-inline::.*.racket
127000 2d 69 6d 61 67 65 6d 61 67 69 63 6b 2d 70 72 6f 70 73 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6d -imagemagick-props::.*.racket-im
127020 61 67 65 73 2d 6b 65 65 70 2d 6c 61 73 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 ages-keep-last::.*.racket-images
127040 2d 73 79 73 74 65 6d 2d 76 69 65 77 65 72 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 -system-viewer::.*.racket-pretty
127060 2d 70 72 69 6e 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 -print::.*.racket-repl-command-f
127080 69 6c 65 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 ile::....File:.doc49fz4A.info,..
1270a0 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 Node:.racket-repl-buffer-name-fu
1270c0 6e 63 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 nction,..Next:.racket-submodules
1270e0 2d 74 6f 2d 72 75 6e 2c 20 20 55 70 3a 20 52 45 50 4c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e -to-run,..Up:.REPL.variables..7.
127100 33 2e 31 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 3.1.racket-repl-buffer-name-func
127120 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d tion.---------------------------
127140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 48 6f 77 20 74 6f 20 61 73 73 6f 63 69 61 74 65 20 2a 6e -----------..How.to.associate.*n
127160 6f 74 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 20 65 64 69 74 20 62 75 66 66 65 72 73 20 77 ote.racket-mode::.edit.buffers.w
127180 69 74 68 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 20 62 75 66 ith.*note.racket-repl-mode::.buf
1271a0 66 65 72 73 2e 0a 0a 20 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 69 73 20 6e 69 6c 2c 20 77 68 fers......The.default.is.nil,.wh
1271c0 69 63 68 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 73 75 70 70 6c 79 69 6e 67 20 2a ich.is.equivalent.to.supplying.*
1271e0 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 61 note.racket-repl-buffer-name-sha
127200 72 65 64 3a 3a 3a 20 4f 6e 65 20 52 45 50 4c 20 62 75 66 66 65 72 20 69 73 20 73 68 61 72 65 64 red:::.One.REPL.buffer.is.shared
127220 2e 0a 0a 20 20 20 4f 74 68 65 72 20 70 72 65 64 65 66 69 6e 65 64 20 63 68 6f 69 63 65 73 20 69 ......Other.predefined.choices.i
127240 6e 63 6c 75 64 65 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d nclude.*note.racket-repl-buffer-
127260 6e 61 6d 65 2d 75 6e 69 71 75 65 3a 3a 20 61 6e 64 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 72 name-unique::.and.*note.racket-r
127280 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 70 72 6f 6a 65 63 74 3a 3a 2e 0a 0a 20 20 20 54 epl-buffer-name-project::......T
1272a0 68 69 73 20 69 73 20 75 73 65 64 20 77 68 65 6e 20 61 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d his.is.used.when.a.*note.racket-
1272c0 6d 6f 64 65 3a 3a 20 62 75 66 66 65 72 20 69 73 20 63 72 65 61 74 65 64 2e 20 20 43 68 61 6e 67 mode::.buffer.is.created...Chang
1272e0 69 6e 67 0a 74 68 69 73 20 74 6f 20 61 20 6e 65 77 20 76 61 6c 75 65 20 6f 6e 6c 79 20 61 66 66 ing.this.to.a.new.value.only.aff
127300 65 63 74 73 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6d 6f 64 65 3a 3a 20 62 75 66 66 65 72 73 ects.*note.racket-mode::.buffers
127320 20 63 72 65 61 74 65 64 0a 6c 61 74 65 72 2e 0a 0a 20 20 20 41 6e 79 20 73 75 63 68 20 66 75 6e .created.later......Any.such.fun
127340 63 74 69 6f 6e 20 74 61 6b 65 73 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 68 6f 75 6c 64 ction.takes.no.arguments,.should
127360 20 6c 6f 6f 6b 20 61 74 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a e2 80 98 62 75 66 66 65 72 2d .look.at.the.variable....buffer-
127380 66 69 6c 65 2d 6e 61 6d 65 e2 80 99 20 69 66 20 6e 65 63 65 73 73 61 72 79 2c 20 61 6e 64 20 65 file-name....if.necessary,.and.e
1273a0 69 74 68 65 72 20 e2 80 98 73 65 74 71 2d 64 65 66 61 75 6c 74 e2 80 99 20 6f 72 0a e2 80 98 73 ither....setq-default....or....s
1273c0 65 74 71 2d 6c 6f 63 61 6c e2 80 99 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 e2 80 98 72 61 63 etq-local....the.variable....rac
1273e0 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 e2 80 99 20 74 6f 20 61 20 64 65 73 ket-repl-buffer-name....to.a.des
127400 69 72 65 64 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 20 62 75 ired.*note.racket-repl-mode::.bu
127420 66 66 65 72 20 6e 61 6d 65 2e 20 20 41 73 20 61 20 72 65 73 75 6c 74 2c 20 2a 6e 6f 74 65 20 72 ffer.name...As.a.result,.*note.r
127440 61 63 6b 65 74 2d 72 75 6e 3a 3a 0a 63 6f 6d 6d 61 6e 64 73 20 77 69 6c 6c 20 75 73 65 20 61 20 acket-run::.commands.will.use.a.
127460 62 75 66 66 65 72 20 6f 66 20 74 68 61 74 20 6e 61 6d 65 2c 20 63 72 65 61 74 69 6e 67 20 69 74 buffer.of.that.name,.creating.it
127480 20 69 66 20 6e 65 63 65 73 73 61 72 79 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 .if.necessary.....File:.doc49fz4
1274a0 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 A.info,..Node:.racket-submodules
1274c0 2d 74 6f 2d 72 75 6e 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 68 69 73 74 -to-run,..Next:.racket-repl-hist
1274e0 6f 72 79 2d 64 69 72 65 63 74 6f 72 79 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 70 ory-directory,..Prev:.racket-rep
127500 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 2c 20 20 55 70 3a 20 52 45 50 l-buffer-name-function,..Up:.REP
127520 4c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 33 2e 32 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 L.variables..7.3.2.racket-submod
127540 75 6c 65 73 2d 74 6f 2d 72 75 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ules-to-run.--------------------
127560 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 45 78 74 72 61 20 73 75 62 6d 6f 64 75 6c 65 73 20 74 6f 20 ----------..Extra.submodules.to.
127580 72 75 6e 2e 0a 0a 20 20 20 54 68 69 73 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 73 75 62 6d 6f run......This.is.a.list.of.submo
1275a0 64 75 6c 65 73 2e 20 20 45 61 63 68 20 73 75 62 6d 6f 64 75 6c 65 20 69 73 20 64 65 73 63 72 69 dules...Each.submodule.is.descri
1275c0 62 65 64 20 61 73 20 61 20 6c 69 73 74 2c 0a 74 6f 20 73 75 70 70 6f 72 74 20 73 75 62 6d 6f 64 bed.as.a.list,.to.support.submod
1275e0 75 6c 65 73 20 6e 65 73 74 65 64 20 74 6f 20 61 6e 79 20 64 65 70 74 68 2e 0a 0a 20 20 20 54 68 ules.nested.to.any.depth......Th
127600 69 73 20 69 73 20 75 73 65 64 20 62 79 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 65 6d 75 6c is.is.used.by.commands.that.emul
127620 61 74 65 20 74 68 65 20 44 72 52 61 63 6b 65 74 20 52 75 6e 20 63 6f 6d 6d 61 6e 64 3a 0a 0a 20 ate.the.DrRacket.Run.command:...
127640 20 20 e2 80 a2 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 3a 3a 0a 20 20 20 e2 80 a2 20 ......*note.racket-run::........
127660 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 74 6f 2d 72 *note.racket-run-and-switch-to-r
127680 65 70 6c 3a 3a 20 e2 80 98 3c 66 35 3e e2 80 99 0a 0a 20 20 20 49 74 20 69 73 20 4e 4f 54 20 75 epl::....<f5>........It.is.NOT.u
1276a0 73 65 64 20 62 79 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 72 75 6e 20 6f 6e 65 20 73 70 65 sed.by.commands.that.run.one.spe
1276c0 63 69 66 69 63 20 6d 6f 64 75 6c 65 2c 20 73 75 63 68 20 61 73 3a 0a 0a 20 20 20 e2 80 a2 20 2a cific.module,.such.as:.........*
1276e0 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 3a note.racket-run-module-at-point:
127700 3a 20 e2 80 98 43 2d 63 20 43 2d 6b e2 80 99 20 6f 72 20 e2 80 98 43 2d 63 20 43 2d 63 e2 80 99 :....C-c.C-k....or....C-c.C-c...
127720 0a 20 20 20 e2 80 a2 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 74 65 73 74 3a 3a 20 e2 80 98 43 ........*note.racket-test::....C
127740 2d 3c 66 35 3e e2 80 99 20 6f 72 20 e2 80 98 43 2d 63 20 43 2d 74 e2 80 99 0a 20 20 20 e2 80 a2 -<f5>....or....C-c.C-t..........
127760 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a .*note.racket-profile::....File:
127780 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 .doc49fz4A.info,..Node:.racket-r
1277a0 65 70 6c 2d 68 69 73 74 6f 72 79 2d 64 69 72 65 63 74 6f 72 79 2c 20 20 4e 65 78 74 3a 20 72 61 epl-history-directory,..Next:.ra
1277c0 63 6b 65 74 2d 68 69 73 74 6f 72 79 2d 66 69 6c 74 65 72 2d 72 65 67 65 78 70 2c 20 20 50 72 65 cket-history-filter-regexp,..Pre
1277e0 76 3a 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 74 6f 2d 72 75 6e 2c 20 20 55 70 v:.racket-submodules-to-run,..Up
127800 3a 20 52 45 50 4c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 33 2e 33 20 72 61 63 6b 65 74 2d 72 :.REPL.variables..7.3.3.racket-r
127820 65 70 6c 2d 68 69 73 74 6f 72 79 2d 64 69 72 65 63 74 6f 72 79 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d epl-history-directory.----------
127840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 44 69 72 65 63 -------------------------..Direc
127860 74 6f 72 79 20 66 6f 72 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a tory.for.*note.racket-repl-mode:
127880 3a 20 68 69 73 74 6f 72 79 20 66 69 6c 65 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 :.history.files.....File:.doc49f
1278a0 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 69 73 74 6f 72 79 2d z4A.info,..Node:.racket-history-
1278c0 66 69 6c 74 65 72 2d 72 65 67 65 78 70 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 69 6d 61 filter-regexp,..Next:.racket-ima
1278e0 67 65 73 2d 69 6e 6c 69 6e 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 68 ges-inline,..Prev:.racket-repl-h
127900 69 73 74 6f 72 79 2d 64 69 72 65 63 74 6f 72 79 2c 20 20 55 70 3a 20 52 45 50 4c 20 76 61 72 69 istory-directory,..Up:.REPL.vari
127920 61 62 6c 65 73 0a 0a 37 2e 33 2e 34 20 72 61 63 6b 65 74 2d 68 69 73 74 6f 72 79 2d 66 69 6c 74 ables..7.3.4.racket-history-filt
127940 65 72 2d 72 65 67 65 78 70 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d er-regexp.----------------------
127960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 49 6e 70 75 74 20 6d 61 74 63 68 69 6e 67 20 74 68 69 ------------..Input.matching.thi
127980 73 20 72 65 67 65 78 70 20 61 72 65 20 4e 4f 54 20 73 61 76 65 64 20 6f 6e 20 74 68 65 20 68 69 s.regexp.are.NOT.saved.on.the.hi
1279a0 73 74 6f 72 79 20 6c 69 73 74 2e 20 20 44 65 66 61 75 6c 74 0a 76 61 6c 75 65 20 69 73 20 61 20 story.list...Default.value.is.a.
1279c0 72 65 67 65 78 70 20 74 6f 20 69 67 6e 6f 72 65 20 69 6e 70 75 74 20 74 68 61 74 20 69 73 20 61 regexp.to.ignore.input.that.is.a
1279e0 6c 6c 20 77 68 69 74 65 73 70 61 63 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 ll.whitespace.....File:.doc49fz4
127a00 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 69 6e 6c A.info,..Node:.racket-images-inl
127a20 69 6e 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 6d 61 67 69 63 6b 2d 70 ine,..Next:.racket-imagemagick-p
127a40 72 6f 70 73 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 68 69 73 74 6f 72 79 2d 66 69 6c 74 rops,..Prev:.racket-history-filt
127a60 65 72 2d 72 65 67 65 78 70 2c 20 20 55 70 3a 20 52 45 50 4c 20 76 61 72 69 61 62 6c 65 73 0a 0a er-regexp,..Up:.REPL.variables..
127a80 37 2e 33 2e 35 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 69 6e 6c 69 6e 65 0a 2d 2d 2d 2d 2d 7.3.5.racket-images-inline.-----
127aa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 57 68 65 74 68 65 72 20 74 ---------------------..Whether.t
127ac0 6f 20 64 69 73 70 6c 61 79 20 69 6e 6c 69 6e 65 20 69 6d 61 67 65 73 20 69 6e 20 74 68 65 20 52 o.display.inline.images.in.the.R
127ae0 45 50 4c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e EPL.....File:.doc49fz4A.info,..N
127b00 6f 64 65 3a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 6d 61 67 69 63 6b 2d 70 72 6f 70 73 2c 20 20 ode:.racket-imagemagick-props,..
127b20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 6b 65 65 70 2d 6c 61 73 74 2c 20 20 Next:.racket-images-keep-last,..
127b40 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 69 6e 6c 69 6e 65 2c 20 20 55 70 3a Prev:.racket-images-inline,..Up:
127b60 20 52 45 50 4c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 33 2e 36 20 72 61 63 6b 65 74 2d 69 6d .REPL.variables..7.3.6.racket-im
127b80 61 67 65 6d 61 67 69 63 6b 2d 70 72 6f 70 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d agemagick-props.----------------
127ba0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 55 73 65 20 49 6d 61 67 65 4d 61 67 69 63 6b 20 --------------..Use.ImageMagick.
127bc0 77 69 74 68 20 74 68 65 73 65 20 70 72 6f 70 65 72 74 69 65 73 20 66 6f 72 20 52 45 50 4c 20 69 with.these.properties.for.REPL.i
127be0 6d 61 67 65 73 2e 0a 0a 20 20 20 57 68 65 6e 20 74 68 69 73 20 70 72 6f 70 65 72 74 79 20 6c 69 mages......When.this.property.li
127c00 73 74 20 69 73 20 6e 6f 74 20 65 6d 70 74 79 20 e2 80 93 20 61 6e 64 20 74 68 65 20 76 61 72 69 st.is.not.empty.....and.the.vari
127c20 61 62 6c 65 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 69 6e 6c 69 6e 65 3a able.*note.racket-images-inline:
127c40 3a 20 69 73 20 74 72 75 65 2c 20 61 6e 64 20 45 6d 61 63 73 20 69 73 20 62 75 69 6c 74 20 77 69 :.is.true,.and.Emacs.is.built.wi
127c60 74 68 20 77 69 74 68 20 49 6d 61 67 65 4d 61 67 69 63 6b 0a 73 75 70 70 6f 72 74 20 e2 80 93 20 th.with.ImageMagick.support.....
127c80 74 68 65 6e 20 e2 80 98 63 72 65 61 74 65 2d 69 6d 61 67 65 e2 80 99 20 69 73 20 63 61 6c 6c 65 then....create-image....is.calle
127ca0 64 20 77 69 74 68 20 e2 80 9c 69 6d 61 67 65 6d 61 67 69 63 6b e2 80 9d 20 61 73 20 74 68 65 20 d.with....imagemagick....as.the.
127cc0 74 79 70 65 0a 61 6e 64 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 70 65 72 74 79 20 6c 69 73 74 type.and.with.this.property.list
127ce0 2e 0a 0a 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 73 63 61 6c 65 20 69 6d 61 67 ......For.example,.to.scale.imag
127d00 65 73 20 77 68 6f 73 65 20 77 69 64 74 68 20 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 35 30 es.whose.width.is.larger.than.50
127d20 30 20 70 69 78 65 6c 73 2c 0a 73 75 70 70 6c 79 20 28 3a 6d 61 78 2d 77 69 64 74 68 20 35 30 30 0.pixels,.supply.(:max-width.500
127d40 29 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 ).....File:.doc49fz4A.info,..Nod
127d60 65 3a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 6b 65 65 70 2d 6c 61 73 74 2c 20 20 4e 65 78 e:.racket-images-keep-last,..Nex
127d80 74 3a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 73 79 73 74 65 6d 2d 76 69 65 77 65 72 2c 20 t:.racket-images-system-viewer,.
127da0 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 6d 61 67 69 63 6b 2d 70 72 6f 70 73 2c .Prev:.racket-imagemagick-props,
127dc0 20 20 55 70 3a 20 52 45 50 4c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 33 2e 37 20 72 61 63 6b ..Up:.REPL.variables..7.3.7.rack
127de0 65 74 2d 69 6d 61 67 65 73 2d 6b 65 65 70 2d 6c 61 73 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d et-images-keep-last.------------
127e00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 48 6f 77 20 6d 61 6e 79 20 69 6d 61 67 -----------------..How.many.imag
127e20 65 73 20 74 6f 20 6b 65 65 70 20 69 6e 20 74 68 65 20 69 6d 61 67 65 20 63 61 63 68 65 2e 0a 0a es.to.keep.in.the.image.cache...
127e40 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 ..File:.doc49fz4A.info,..Node:.r
127e60 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 73 79 73 74 65 6d 2d 76 69 65 77 65 72 2c 20 20 4e 65 78 acket-images-system-viewer,..Nex
127e80 74 3a 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 70 72 69 6e 74 2c 20 20 50 72 65 76 3a 20 72 t:.racket-pretty-print,..Prev:.r
127ea0 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 6b 65 65 70 2d 6c 61 73 74 2c 20 20 55 70 3a 20 52 45 50 acket-images-keep-last,..Up:.REP
127ec0 4c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 33 2e 38 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 L.variables..7.3.8.racket-images
127ee0 2d 73 79 73 74 65 6d 2d 76 69 65 77 65 72 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -system-viewer.-----------------
127f00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 20 69 6d 61 67 65 20 76 69 65 77 ----------------..The.image.view
127f20 65 72 20 70 72 6f 67 72 61 6d 20 74 6f 20 75 73 65 20 66 6f 72 20 e2 80 98 72 61 63 6b 65 74 2d er.program.to.use.for....racket-
127f40 76 69 65 77 2d 69 6d 61 67 65 e2 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 view-image........File:.doc49fz4
127f60 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 70 72 69 A.info,..Node:.racket-pretty-pri
127f80 6e 74 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 nt,..Next:.racket-repl-command-f
127fa0 69 6c 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 73 79 73 74 65 6d ile,..Prev:.racket-images-system
127fc0 2d 76 69 65 77 65 72 2c 20 20 55 70 3a 20 52 45 50 4c 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e -viewer,..Up:.REPL.variables..7.
127fe0 33 2e 39 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 70 72 69 6e 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 3.9.racket-pretty-print.--------
128000 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 55 73 65 20 70 72 65 74 74 79 2d 70 72 -----------------..Use.pretty-pr
128020 69 6e 74 20 69 6e 73 74 65 61 64 20 6f 66 20 70 72 69 6e 74 20 69 6e 20 52 45 50 4c 3f 0a 0a 1f int.instead.of.print.in.REPL?...
128040 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 .File:.doc49fz4A.info,..Node:.ra
128060 63 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 2c 20 20 50 72 65 76 3a 20 72 cket-repl-command-file,..Prev:.r
128080 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 70 72 69 6e 74 2c 20 20 55 70 3a 20 52 45 50 4c 20 76 61 acket-pretty-print,..Up:.REPL.va
1280a0 72 69 61 62 6c 65 73 0a 0a 37 2e 33 2e 31 30 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6f 6d 6d riables..7.3.10.racket-repl-comm
1280c0 61 6e 64 2d 66 69 6c 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d and-file.-----------------------
1280e0 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 75 73 65 64 20 --------..Name.of.the.file.used.
128100 62 79 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a by.*note.racket-repl::.....File:
128120 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4f 74 68 65 72 20 76 61 .doc49fz4A.info,..Node:.Other.va
128140 72 69 61 62 6c 65 73 2c 20 20 4e 65 78 74 3a 20 45 78 70 65 72 69 6d 65 6e 74 61 6c 20 64 65 62 riables,..Next:.Experimental.deb
128160 75 67 67 65 72 20 76 61 72 69 61 62 6c 65 73 2c 20 20 50 72 65 76 3a 20 52 45 50 4c 20 76 61 72 ugger.variables,..Prev:.REPL.var
128180 69 61 62 6c 65 73 2c 20 20 55 70 3a 20 56 61 72 69 61 62 6c 65 73 0a 0a 37 2e 34 20 4f 74 68 65 iables,..Up:.Variables..7.4.Othe
1281a0 72 20 76 61 72 69 61 62 6c 65 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a r.variables.===================.
1281c0 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 63 75 72 6c 79 2d .*.Menu:..*.racket-indent-curly-
1281e0 61 73 2d 73 65 71 75 65 6e 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 as-sequence::.*.racket-indent-se
128200 71 75 65 6e 63 65 2d 64 65 70 74 68 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 6c quence-depth::.*.racket-pretty-l
128220 61 6d 62 64 61 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 ambda::.*.racket-smart-open-brac
128240 6b 65 74 2d 65 6e 61 62 6c 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e ket-enable::.*.racket-logger-con
128260 66 69 67 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 3a 3a fig::.*.racket-before-run-hook::
128280 0a 2a 20 72 61 63 6b 65 74 2d 61 66 74 65 72 2d 72 75 6e 2d 68 6f 6f 6b 3a 3a 0a 2a 20 72 61 63 .*.racket-after-run-hook::.*.rac
1282a0 6b 65 74 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 64 65 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a ket-sexp-comment-fade::....File:
1282c0 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 69 .doc49fz4A.info,..Node:.racket-i
1282e0 6e 64 65 6e 74 2d 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 65 2c 20 20 4e 65 78 74 3a 20 ndent-curly-as-sequence,..Next:.
128300 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 2c 20 20 55 racket-indent-sequence-depth,..U
128320 70 3a 20 4f 74 68 65 72 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 34 2e 31 20 72 61 63 6b 65 74 p:.Other.variables..7.4.1.racket
128340 2d 69 6e 64 65 6e 74 2d 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 65 0a 2d 2d 2d 2d 2d 2d -indent-curly-as-sequence.------
128360 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a -------------------------------.
128380 0a 49 6e 64 65 6e 74 20 e2 80 98 7b 7d e2 80 99 20 77 69 74 68 20 69 74 65 6d 73 20 61 6c 69 67 .Indent....{}....with.items.alig
1283a0 6e 65 64 20 77 69 74 68 20 74 68 65 20 68 65 61 64 20 69 74 65 6d 3f 0a 0a 20 20 20 54 68 69 73 ned.with.the.head.item?.....This
1283c0 20 69 73 20 69 6e 64 69 72 65 63 74 6c 79 20 64 69 73 61 62 6c 65 64 20 69 66 20 2a 6e 6f 74 65 .is.indirectly.disabled.if.*note
1283e0 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 3a 3a 0a .racket-indent-sequence-depth::.
128400 69 73 20 30 2e 20 20 54 68 69 73 20 69 73 20 73 61 66 65 20 74 6f 20 73 65 74 20 61 73 20 61 20 is.0...This.is.safe.to.set.as.a.
128420 66 69 6c 65 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f file-local.variable.....File:.do
128440 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 69 6e 64 65 c49fz4A.info,..Node:.racket-inde
128460 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 nt-sequence-depth,..Next:.racket
128480 2d 70 72 65 74 74 79 2d 6c 61 6d 62 64 61 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 69 6e -pretty-lambda,..Prev:.racket-in
1284a0 64 65 6e 74 2d 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 65 2c 20 20 55 70 3a 20 4f 74 68 dent-curly-as-sequence,..Up:.Oth
1284c0 65 72 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 34 2e 32 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e er.variables..7.4.2.racket-inden
1284e0 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 74 68 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d t-sequence-depth.---------------
128500 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 6f 20 77 68 61 74 20 64 65 70 -------------------..To.what.dep
128520 74 68 20 73 68 6f 75 6c 64 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 6c 69 th.should.*note.racket-indent-li
128540 6e 65 3a 3a 20 73 65 61 72 63 68 2e 0a 0a 20 20 20 54 68 69 73 20 61 66 66 65 63 74 73 20 74 68 ne::.search......This.affects.th
128560 65 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 6f 66 20 66 6f 72 6d 73 20 6c 69 6b 65 20 e2 80 99 28 e.indentation.of.forms.like....(
128580 29 20 e2 80 98 28 29 20 23 28 29 20 e2 80 93 20 61 6e 64 20 7b 7d 20 69 66 0a 2a 6e 6f 74 65 20 )....().#().....and.{}.if.*note.
1285a0 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 65 3a racket-indent-curly-as-sequence:
1285c0 3a 20 69 73 20 74 20 e2 80 94 20 62 75 74 20 6e 6f 74 20 23 e2 80 99 28 29 20 23 e2 80 98 28 29 :.is.t.....but.not.#...().#...()
1285e0 20 2c 28 29 0a 2c 40 28 29 2e 20 20 41 20 7a 65 72 6f 20 76 61 6c 75 65 20 64 69 73 61 62 6c 65 .,().,@()...A.zero.value.disable
128600 73 2c 20 67 69 76 69 6e 67 20 74 68 65 20 6e 6f 72 6d 61 6c 20 69 6e 64 65 6e 74 20 62 65 68 61 s,.giving.the.normal.indent.beha
128620 76 69 6f 72 20 6f 66 0a 44 72 52 61 63 6b 65 74 20 6f 72 20 45 6d 61 63 73 20 e2 80 98 6c 69 73 vior.of.DrRacket.or.Emacs....lis
128640 70 2d 6d 6f 64 65 e2 80 99 20 64 65 72 69 76 65 64 20 6d 6f 64 65 73 20 6c 69 6b 65 20 e2 80 98 p-mode....derived.modes.like....
128660 73 63 68 65 6d 65 2d 6d 6f 64 65 e2 80 99 2e 20 20 53 65 74 74 69 6e 67 0a 74 68 69 73 20 74 6f scheme-mode......Setting.this.to
128680 20 61 20 68 69 67 68 20 76 61 6c 75 65 20 63 61 6e 20 6d 61 6b 65 20 69 6e 64 65 6e 74 61 74 69 .a.high.value.can.make.indentati
1286a0 6f 6e 20 6e 6f 74 69 63 65 61 62 6c 79 20 73 6c 6f 77 65 72 2e 20 20 54 68 69 73 20 69 73 0a 73 on.noticeably.slower...This.is.s
1286c0 61 66 65 20 74 6f 20 73 65 74 20 61 73 20 61 20 66 69 6c 65 2d 6c 6f 63 61 6c 20 76 61 72 69 61 afe.to.set.as.a.file-local.varia
1286e0 62 6c 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e ble.....File:.doc49fz4A.info,..N
128700 6f 64 65 3a 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 6c 61 6d 62 64 61 2c 20 20 4e 65 78 74 ode:.racket-pretty-lambda,..Next
128720 3a 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 65 6e 61 62 :.racket-smart-open-bracket-enab
128740 6c 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 le,..Prev:.racket-indent-sequenc
128760 65 2d 64 65 70 74 68 2c 20 20 55 70 3a 20 4f 74 68 65 72 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 e-depth,..Up:.Other.variables..7
128780 2e 34 2e 33 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 6c 61 6d 62 64 61 0a 2d 2d 2d 2d 2d 2d .4.3.racket-pretty-lambda.------
1287a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 44 69 73 70 6c 61 79 20 6c 61 --------------------..Display.la
1287c0 6d 62 64 61 20 6b 65 79 77 6f 72 64 73 20 75 73 69 6e 67 20 ce bb 2e 20 20 54 68 69 73 20 69 73 mbda.keywords.using......This.is
1287e0 20 44 45 50 52 45 43 41 54 45 44 2e 0a 0a 20 20 20 49 6e 73 74 65 61 64 20 75 73 65 20 e2 80 98 .DEPRECATED......Instead.use....
128800 70 72 65 74 74 69 66 79 2d 73 79 6d 62 6f 6c 73 2d 6d 6f 64 65 e2 80 99 20 69 6e 20 6e 65 77 65 prettify-symbols-mode....in.newe
128820 72 20 76 65 72 69 73 6f 6e 73 20 6f 66 20 45 6d 61 63 73 2c 20 6f 72 2c 0a 75 73 65 20 2a 6e 6f r.verisons.of.Emacs,.or,.use.*no
128840 74 65 20 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 3a 3a 20 74 6f 20 69 6e 73 te.racket-insert-lambda::.to.ins
128860 65 72 74 20 61 63 74 75 61 6c 20 ce bb 20 63 68 61 72 61 63 74 65 72 73 2e 0a 0a 1f 0a 46 69 6c ert.actual....characters.....Fil
128880 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 e:.doc49fz4A.info,..Node:.racket
1288a0 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 65 6e 61 62 6c 65 2c 20 20 4e 65 78 -smart-open-bracket-enable,..Nex
1288c0 74 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 2c 20 20 50 72 65 76 3a 20 t:.racket-logger-config,..Prev:.
1288e0 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 6c 61 6d 62 64 61 2c 20 20 55 70 3a 20 4f 74 68 65 72 racket-pretty-lambda,..Up:.Other
128900 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 34 2e 34 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f .variables..7.4.4.racket-smart-o
128920 70 65 6e 2d 62 72 61 63 6b 65 74 2d 65 6e 61 62 6c 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d pen-bracket-enable.-------------
128940 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 69 73 20 -------------------------..This.
128960 76 61 72 69 61 62 6c 65 20 69 73 20 6f 62 73 6f 6c 65 74 65 20 61 6e 64 20 68 61 73 20 6e 6f 20 variable.is.obsolete.and.has.no.
128980 65 66 66 65 63 74 2e 0a 0a 20 20 20 49 6e 73 74 65 61 64 20 6f 66 20 75 73 69 6e 67 20 74 68 69 effect......Instead.of.using.thi
1289a0 73 20 76 61 72 69 61 62 6c 65 2c 20 79 6f 75 20 6d 61 79 20 62 69 6e 64 20 74 68 65 20 e2 80 98 s.variable,.you.may.bind.the....
1289c0 5b e2 80 99 20 6b 65 79 20 74 6f 20 74 68 65 0a e2 80 98 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d [....key.to.the....racket-smart-
1289e0 6f 70 65 6e 2d 62 72 61 63 6b 65 74 e2 80 99 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20 e2 open-bracket....command.in.the..
128a00 80 98 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 6d 61 70 e2 80 99 20 61 6e 64 2f 6f 72 0a e2 80 98 72 ..racket-mode-map....and/or....r
128a20 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 2d 6d 61 70 e2 80 99 20 6b 65 79 6d 61 70 73 2e 0a acket-repl-mode-map....keymaps..
128a40 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 ...File:.doc49fz4A.info,..Node:.
128a60 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 2c 20 20 4e 65 78 74 3a 20 72 61 63 racket-logger-config,..Next:.rac
128a80 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 2c 20 20 50 72 65 76 3a 20 72 61 63 6b ket-before-run-hook,..Prev:.rack
128aa0 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 65 6e 61 62 6c 65 2c 20 20 55 et-smart-open-bracket-enable,..U
128ac0 70 3a 20 4f 74 68 65 72 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 34 2e 35 20 72 61 63 6b 65 74 p:.Other.variables..7.4.5.racket
128ae0 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -logger-config.-----------------
128b00 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 66 20 2a 6e 6f 74 ---------..Configuration.of.*not
128b20 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 3a 3a 20 74 6f 70 69 63 73 20 61 6e e.racket-logger-mode::.topics.an
128b40 64 20 6c 65 76 65 6c 73 2e 0a 0a 20 20 20 54 68 65 20 74 6f 70 69 63 20 e2 80 9c 2a e2 80 9d 20 d.levels......The.topic....*....
128b60 72 65 73 70 72 65 73 65 6e 74 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 6c 65 76 65 6c 20 75 73 respresents.the.default.level.us
128b80 65 64 20 66 6f 72 20 74 6f 70 69 63 73 20 6e 6f 74 0a 61 73 73 69 67 6e 65 64 20 61 20 6c 65 76 ed.for.topics.not.assigned.a.lev
128ba0 65 6c 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 74 6f 70 69 63 20 73 79 6d 62 6f 6c el...Otherwise,.the.topic.symbol
128bc0 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 75 73 65 64 20 62 79 0a 52 61 63 6b 65 74 s.are.the.same.as.used.by.Racket
128be0 e2 80 99 73 20 e2 80 98 64 65 66 69 6e 65 2d 6c 6f 67 67 65 72 e2 80 99 2e 0a 0a 20 20 20 54 68 ...s....define-logger.........Th
128c00 65 20 6c 65 76 65 6c 73 20 61 72 65 20 74 68 6f 73 65 20 75 73 65 64 20 62 79 20 52 61 63 6b 65 e.levels.are.those.used.by.Racke
128c20 74 e2 80 99 73 20 6c 6f 67 67 69 6e 67 20 73 79 73 74 65 6d 3a 20 e2 80 9c 64 65 62 75 67 e2 80 t...s.logging.system:....debug..
128c40 9d 2c 0a e2 80 9c 69 6e 66 6f e2 80 9d 2c 20 e2 80 9c 77 61 72 6e 69 6e 67 e2 80 9d 2c 20 e2 80 .,....info...,....warning...,...
128c60 9c 65 72 72 6f 72 e2 80 9d 2c 20 e2 80 9c 66 61 74 61 6c e2 80 9d 2e 0a 0a 20 20 20 46 6f 72 20 .error...,....fatal.........For.
128c80 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 73 65 65 3a 0a 3c 68 74 74 70 73 3a 2f 2f 64 more.information.see:.<https://d
128ca0 6f 63 73 2e 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f 72 67 2f 72 65 66 65 72 65 6e 63 65 2f 6c 6f ocs.racket-lang.org/reference/lo
128cc0 67 67 69 6e 67 2e 68 74 6d 6c 3e 0a 0a 20 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 gging.html>.....The.default.valu
128ce0 65 20 73 65 74 73 20 73 6f 6d 65 20 6b 6e 6f 77 6e 20 e2 80 9c 6e 6f 69 73 79 e2 80 9d 20 74 6f e.sets.some.known....noisy....to
128d00 70 69 63 73 20 74 6f 20 62 65 20 6f 6e 65 20 6c 65 76 65 6c 0a 71 75 69 65 74 65 72 2e 20 20 54 pics.to.be.one.level.quieter...T
128d20 68 61 74 20 77 61 79 20 79 6f 75 20 63 61 6e 20 73 65 74 20 74 68 65 20 e2 80 9c 2a e2 80 9d 20 hat.way.you.can.set.the....*....
128d40 74 6f 70 69 63 20 74 6f 20 61 20 6c 65 76 65 6c 20 6c 69 6b 65 20 e2 80 9c 64 65 62 75 67 e2 80 topic.to.a.level.like....debug..
128d60 9d 20 61 6e 64 0a 6e 6f 74 20 67 65 74 20 6f 76 65 72 68 77 65 6c 6d 65 64 20 62 79 20 74 68 65 ..and.not.get.overhwelmed.by.the
128d80 73 65 20 6e 6f 69 73 79 20 74 6f 70 69 63 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 se.noisy.topics.....File:.doc49f
128da0 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 z4A.info,..Node:.racket-before-r
128dc0 75 6e 2d 68 6f 6f 6b 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 61 66 74 65 72 2d 72 75 6e un-hook,..Next:.racket-after-run
128de0 2d 68 6f 6f 6b 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 -hook,..Prev:.racket-logger-conf
128e00 69 67 2c 20 20 55 70 3a 20 4f 74 68 65 72 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 34 2e 36 20 ig,..Up:.Other.variables..7.4.6.
128e20 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d racket-before-run-hook.---------
128e40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4e 6f 72 6d 61 6c 20 68 6f 6f 6b -------------------..Normal.hook
128e60 20 64 6f 6e 65 20 62 65 66 6f 72 65 20 76 61 72 69 6f 75 73 20 52 61 63 6b 65 74 20 4d 6f 64 65 .done.before.various.Racket.Mode
128e80 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 20 20 20 48 65 72 65 20 e2 80 9c 62 65 66 6f 72 .run.commands......Here....befor
128ea0 65 e2 80 9d 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 e....means.that.the.*note.racket
128ec0 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 20 62 75 66 66 65 72 20 6d 69 67 68 74 0a 6e 6f 74 20 65 78 -repl-mode::.buffer.might.not.ex
128ee0 69 73 74 20 79 65 74 2e 0a 0a 20 20 20 57 68 65 6e 20 68 6f 6f 6b 20 66 75 6e 63 74 69 6f 6e 73 ist.yet......When.hook.functions
128f00 20 61 72 65 20 63 61 6c 6c 65 64 2c 20 e2 80 98 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 e2 80 .are.called,....current-buffer..
128f20 99 20 69 73 20 74 68 61 74 20 6f 66 20 74 68 65 20 65 64 69 74 0a 62 75 66 66 65 72 20 77 68 65 ..is.that.of.the.edit.buffer.whe
128f40 6e 20 74 68 65 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 20 77 61 73 20 69 73 73 75 65 64 2e 20 20 49 n.the.run.command.was.issued...I
128f60 66 20 61 20 68 6f 6f 6b 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 65 61 64 0a 6e 65 65 64 73 20 f.a.hook.function.instead.needs.
128f80 74 68 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 20 62 75 66 the.*note.racket-repl-mode::.buf
128fa0 66 65 72 2c 20 69 74 20 73 68 6f 75 6c 64 20 67 65 74 20 74 68 61 74 20 66 72 6f 6d 20 74 68 65 fer,.it.should.get.that.from.the
128fc0 0a 76 61 72 69 61 62 6c 65 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d .variable....racket-repl-buffer-
128fe0 6e 61 6d 65 e2 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f name........File:.doc49fz4A.info
129000 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 61 66 74 65 72 2d 72 75 6e 2d 68 6f 6f 6b 2c 20 ,..Node:.racket-after-run-hook,.
129020 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 64 65 2c .Next:.racket-sexp-comment-fade,
129040 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 2c 20 ..Prev:.racket-before-run-hook,.
129060 20 55 70 3a 20 4f 74 68 65 72 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 34 2e 37 20 72 61 63 6b .Up:.Other.variables..7.4.7.rack
129080 65 74 2d 61 66 74 65 72 2d 72 75 6e 2d 68 6f 6f 6b 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d et-after-run-hook.--------------
1290a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4e 6f 72 6d 61 6c 20 68 6f 6f 6b 20 64 6f 6e 65 20 -------------..Normal.hook.done.
1290c0 61 66 74 65 72 20 76 61 72 69 6f 75 73 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 72 75 6e 20 63 6f after.various.Racket.Mode.run.co
1290e0 6d 6d 61 6e 64 73 2e 0a 0a 20 20 20 48 65 72 65 20 e2 80 9c 61 66 74 65 72 e2 80 9d 20 6d 65 61 mmands......Here....after....mea
129100 6e 73 20 74 68 61 74 20 74 68 65 20 72 75 6e 20 68 61 73 20 63 6f 6d 70 6c 65 74 65 64 20 61 6e ns.that.the.run.has.completed.an
129120 64 20 74 68 65 20 52 45 50 4c 20 69 73 20 77 61 69 74 69 6e 67 0a 61 74 20 61 6e 6f 74 68 65 72 d.the.REPL.is.waiting.at.another
129140 20 70 72 6f 6d 70 74 2e 0a 0a 20 20 20 57 68 65 6e 20 68 6f 6f 6b 20 66 75 6e 63 74 69 6f 6e 73 .prompt......When.hook.functions
129160 20 61 72 65 20 63 61 6c 6c 65 64 2c 20 e2 80 98 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 e2 80 .are.called,....current-buffer..
129180 99 20 69 73 20 74 68 61 74 20 6f 66 20 74 68 65 0a 62 75 66 66 65 72 20 77 68 65 6e 20 74 68 65 ..is.that.of.the.buffer.when.the
1291a0 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 20 77 61 73 20 69 73 73 75 65 64 2e 20 20 49 66 20 61 20 68 .run.command.was.issued...If.a.h
1291c0 6f 6f 6b 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 65 61 64 0a 6e 65 65 64 73 20 74 68 65 20 2a ook.function.instead.needs.the.*
1291e0 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 20 62 75 66 66 65 72 2c 20 note.racket-repl-mode::.buffer,.
129200 69 74 20 73 68 6f 75 6c 64 20 67 65 74 20 74 68 61 74 20 66 72 6f 6d 20 74 68 65 0a 76 61 72 69 it.should.get.that.from.the.vari
129220 61 62 6c 65 20 e2 80 98 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 e2 able....racket-repl-buffer-name.
129240 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f .......File:.doc49fz4A.info,..No
129260 64 65 3a 20 72 61 63 6b 65 74 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 64 65 2c 20 20 50 de:.racket-sexp-comment-fade,..P
129280 72 65 76 3a 20 72 61 63 6b 65 74 2d 61 66 74 65 72 2d 72 75 6e 2d 68 6f 6f 6b 2c 20 20 55 70 3a rev:.racket-after-run-hook,..Up:
1292a0 20 4f 74 68 65 72 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 34 2e 38 20 72 61 63 6b 65 74 2d 73 .Other.variables..7.4.8.racket-s
1292c0 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 64 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d exp-comment-fade.---------------
1292e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 48 6f 77 20 6d 75 63 68 20 74 6f 20 66 61 64 ---------------..How.much.to.fad
129300 65 20 66 61 63 65 73 20 75 73 65 64 20 69 6e 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 63 6f 6d e.faces.used.in.s-expression.com
129320 6d 65 6e 74 20 62 6f 64 69 65 73 2e 0a 0a 20 20 20 41 20 6e 75 6d 62 65 72 20 66 72 6f 6d 20 30 ment.bodies......A.number.from.0
129340 2e 30 20 74 6f 20 31 2e 30 2c 20 77 68 65 72 65 20 30 2e 30 20 69 73 20 30 25 20 66 61 64 65 20 .0.to.1.0,.where.0.0.is.0%.fade.
129360 61 6e 64 20 31 2e 30 20 69 73 20 31 30 30 25 20 66 61 64 65 0a 28 69 6e 76 69 73 69 62 6c 65 29 and.1.0.is.100%.fade.(invisible)
129380 2e 0a 0a 20 20 20 54 68 69 73 20 66 65 61 74 75 72 65 20 77 6f 72 6b 73 20 62 79 20 63 72 65 61 ......This.feature.works.by.crea
1293a0 74 69 6e 67 20 66 61 63 65 73 20 74 68 61 74 20 61 72 65 20 61 6c 74 65 72 6e 61 74 69 76 65 73 ting.faces.that.are.alternatives
1293c0 20 66 6f 72 20 66 61 63 65 73 0a 75 73 65 64 20 69 6e 20 73 2d 65 78 70 72 65 73 73 69 6f 6e 20 .for.faces.used.in.s-expression.
1293e0 63 6f 6d 6d 65 6e 74 73 2e 20 20 54 68 65 20 61 6c 65 72 6e 61 74 69 76 65 20 66 61 63 65 73 20 comments...The.alernative.faces.
129400 75 73 65 20 61 20 66 61 64 65 64 0a 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 2e 20 20 54 use.a.faded.foreground.color...T
129420 68 65 20 63 6f 6c 6f 72 73 20 61 72 65 20 72 65 63 61 6c 63 75 6c 61 74 65 64 20 61 75 74 6f 6d he.colors.are.recalculated.autom
129440 61 74 69 63 61 6c 6c 79 20 61 66 74 65 72 20 79 6f 75 0a 63 68 61 6e 67 65 20 74 68 65 20 76 61 atically.after.you.change.the.va
129460 6c 75 65 20 6f 66 20 74 68 69 73 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 20 76 61 72 69 61 62 lue.of.this.customization.variab
129480 6c 65 20 61 6e 64 20 61 66 74 65 72 20 61 6e 79 0a e2 80 98 6c 6f 61 64 2d 74 68 65 6d 65 e2 80 le.and.after.any....load-theme..
1294a0 99 2e 20 20 48 6f 77 65 76 65 72 20 69 6e 20 6f 74 68 65 72 20 63 69 72 63 75 6d 73 74 61 6e 63 ....However.in.other.circumstanc
1294c0 65 73 20 79 6f 75 20 6d 69 67 68 74 20 6e 65 65 64 20 74 6f 20 75 73 65 0a e2 80 98 72 61 63 6b es.you.might.need.to.use....rack
1294e0 65 74 2d 72 65 66 72 65 73 68 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 73 e2 80 99 et-refresh-sexp-comment-faces...
129500 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 .....File:.doc49fz4A.info,..Node
129520 3a 20 45 78 70 65 72 69 6d 65 6e 74 61 6c 20 64 65 62 75 67 67 65 72 20 76 61 72 69 61 62 6c 65 :.Experimental.debugger.variable
129540 73 2c 20 20 4e 65 78 74 3a 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 20 s,..Next:.Showing.information,..
129560 50 72 65 76 3a 20 4f 74 68 65 72 20 76 61 72 69 61 62 6c 65 73 2c 20 20 55 70 3a 20 56 61 72 69 Prev:.Other.variables,..Up:.Vari
129580 61 62 6c 65 73 0a 0a 37 2e 35 20 45 78 70 65 72 69 6d 65 6e 74 61 6c 20 64 65 62 75 67 67 65 72 ables..7.5.Experimental.debugger
1295a0 20 76 61 72 69 61 62 6c 65 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .variables.=====================
1295c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b 65 ==============..*.Menu:..*.racke
1295e0 74 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f t-debuggable-files::....File:.do
129600 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 64 65 62 75 c49fz4A.info,..Node:.racket-debu
129620 67 67 61 62 6c 65 2d 66 69 6c 65 73 2c 20 20 55 70 3a 20 45 78 70 65 72 69 6d 65 6e 74 61 6c 20 ggable-files,..Up:.Experimental.
129640 64 65 62 75 67 67 65 72 20 76 61 72 69 61 62 6c 65 73 0a 0a 37 2e 35 2e 31 20 72 61 63 6b 65 74 debugger.variables..7.5.1.racket
129660 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -debuggable-files.--------------
129680 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 55 73 65 64 20 74 6f 20 74 65 6c 6c 20 2a 6e ---------------..Used.to.tell.*n
1296a0 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 3a 3a 20 77 68 61 74 20 66 69 6c 65 73 20 6d 61 79 20 ote.racket-run::.what.files.may.
1296c0 62 65 20 69 6e 73 74 72 75 6d 65 6e 74 65 64 20 66 6f 72 0a 64 65 62 75 67 67 69 6e 67 2e 0a 0a be.instrumented.for.debugging...
1296e0 20 20 20 54 68 69 73 20 69 73 6e e2 80 99 74 20 79 65 74 20 61 20 64 65 66 63 75 73 74 6f 6d 20 ...This.isn...t.yet.a.defcustom.
129700 62 65 63 75 61 73 65 20 74 68 65 20 64 65 62 75 67 67 65 72 20 73 74 61 74 75 73 20 69 73 20 73 becuase.the.debugger.status.is.s
129720 74 69 6c 6c 0a e2 80 9c 65 78 70 65 72 69 6d 65 6e 74 61 6c e2 80 9d 2e 0a 0a 20 20 20 4d 75 73 till....experimental.........Mus
129740 74 20 62 65 20 65 69 74 68 65 72 20 61 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 20 6e 61 6d 65 20 t.be.either.a.list.of.file.name.
129760 73 74 72 69 6e 67 73 2c 20 6f 72 2c 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b strings,.or,.a.function.that.tak
129780 65 73 0a 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 62 65 69 6e 67 20 72 75 es.the.name.of.the.file.being.ru
1297a0 6e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 20 6e 61 6d n.and.returns.a.list.of.file.nam
1297c0 65 73 2e 0a 0a 20 20 20 45 61 63 68 20 66 69 6c 65 20 6e 61 6d 65 20 69 6e 20 74 68 65 20 6c 69 es......Each.file.name.in.the.li
1297e0 73 74 20 69 73 20 6d 61 64 65 20 61 62 73 6f 6c 75 74 65 20 75 73 69 6e 67 20 e2 80 98 65 78 70 st.is.made.absolute.using....exp
129800 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 e2 80 99 0a 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f and-file-name....with.respect.to
129820 20 74 68 65 20 66 69 6c 65 20 62 65 69 6e 67 20 72 75 6e 20 61 6e 64 20 67 69 76 65 6e 20 74 6f .the.file.being.run.and.given.to
129840 0a e2 80 98 72 61 63 6b 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 2d 66 72 6f 6e 74 2d 74 6f 2d 62 61 ....racket-file-name-front-to-ba
129860 63 6b e2 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 ck........File:.doc49fz4A.info,.
129880 20 4e 6f 64 65 3a 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 20 4e 65 78 .Node:.Showing.information,..Nex
1298a0 74 3a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 t:.Running.racket.and.raco.comma
1298c0 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 2c 20 20 50 72 65 nds.in.a.shell.or.terminal,..Pre
1298e0 76 3a 20 45 78 70 65 72 69 6d 65 6e 74 61 6c 20 64 65 62 75 67 67 65 72 20 76 61 72 69 61 62 6c v:.Experimental.debugger.variabl
129900 65 73 2c 20 20 55 70 3a 20 56 61 72 69 61 62 6c 65 73 0a 0a 37 2e 36 20 53 68 6f 77 69 6e 67 20 es,..Up:.Variables..7.6.Showing.
129920 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d information.====================
129940 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 ===..*.Menu:..*.racket-show-func
129960 74 69 6f 6e 73 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c tions::....File:.doc49fz4A.info,
129980 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 2c 20 20 ..Node:.racket-show-functions,..
1299a0 55 70 3a 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a 37 2e 36 2e 31 20 72 Up:.Showing.information..7.6.1.r
1299c0 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d acket-show-functions.-----------
1299e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 41 6e 20 e2 80 9c 61 62 6e 6f 72 6d 61 6c ----------------..An....abnormal
129a00 20 68 6f 6f 6b e2 80 9d 20 76 61 72 69 61 62 6c 65 20 74 6f 20 63 75 73 74 6f 6d 69 7a 65 20 e2 .hook....variable.to.customize..
129a20 80 98 72 61 63 6b 65 74 2d 73 68 6f 77 e2 80 99 2e 0a 0a 20 20 20 54 68 69 73 20 69 73 20 61 20 ..racket-show.........This.is.a.
129a40 6c 69 73 74 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a list.of.one.or.more.functions...
129a60 20 20 20 45 61 63 68 20 73 75 63 68 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 61 63 63 65 70 ...Each.such.function.must.accep
129a80 74 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 3a 20 53 54 52 20 61 6e 64 20 50 4f 53 2e 0a 0a 20 t.two.arguments:.STR.and.POS....
129aa0 20 20 53 54 52 20 69 73 20 6f 6e 65 20 6f 66 3a 0a 0a 20 20 20 e2 80 a2 20 4e 6f 6e 2d 62 6c 61 ..STR.is.one.of:.........Non-bla
129ac0 6e 6b 20 73 74 72 69 6e 67 3a 20 44 69 73 70 6c 61 79 20 74 68 65 20 73 74 72 69 6e 67 20 73 6f nk.string:.Display.the.string.so
129ae0 6d 65 68 6f 77 2e 0a 0a 20 20 20 e2 80 a2 20 42 6c 61 6e 6b 20 73 74 72 69 6e 67 3a 20 48 69 64 mehow..........Blank.string:.Hid
129b00 65 20 61 6e 79 20 70 72 65 76 69 6f 75 73 6c 79 20 64 69 73 70 6c 61 79 65 64 20 73 74 72 69 6e e.any.previously.displayed.strin
129b20 67 2e 0a 0a 20 20 20 e2 80 a2 20 6e 69 6c 3a 20 48 69 64 65 20 61 6e 79 20 70 65 72 73 69 73 74 g..........nil:.Hide.any.persist
129b40 65 6e 74 20 55 49 20 74 68 61 74 20 6d 69 67 68 74 20 68 61 76 65 20 62 65 65 6e 20 63 72 65 61 ent.UI.that.might.have.been.crea
129b60 74 65 64 2e 20 20 46 6f 72 0a 20 20 20 20 20 69 6e 73 74 61 6e 63 65 20 2a 6e 6f 74 65 20 72 61 ted...For......instance.*note.ra
129b80 63 6b 65 74 2d 73 68 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 3a 3a 20 68 69 64 65 73 20 74 68 cket-show-header-line::.hides.th
129ba0 65 20 68 65 61 64 65 72 20 6c 69 6e 65 2e 0a 0a 20 20 20 50 4f 53 20 6d 61 79 20 62 65 20 6e 69 e.header.line......POS.may.be.ni
129bc0 6c 20 77 68 65 6e 20 53 54 52 20 69 73 20 6e 69 6c 20 6f 72 20 61 20 62 6c 61 6e 6b 20 73 74 72 l.when.STR.is.nil.or.a.blank.str
129be0 69 6e 67 2e 0a 0a 20 20 20 4f 74 68 65 72 77 69 73 65 20 50 4f 53 20 69 73 20 74 68 65 20 62 75 ing......Otherwise.POS.is.the.bu
129c00 66 66 65 72 20 70 6f 73 69 74 69 6f 6e 20 e2 80 93 20 74 79 70 69 63 61 6c 6c 79 20 74 68 65 20 ffer.position.....typically.the.
129c20 65 6e 64 20 6f 66 20 61 20 73 70 61 6e 20 e2 80 93 0a 74 68 61 74 20 74 68 65 20 6e 6f 6e 2d 62 end.of.a.span.....that.the.non-b
129c40 6c 61 6e 6b 20 53 54 52 20 64 65 73 63 72 69 62 65 73 2e 0a 0a 20 20 20 41 20 66 75 6e 63 74 69 lank.STR.describes......A.functi
129c60 6f 6e 20 74 68 61 74 20 73 68 6f 77 73 20 53 54 52 20 6e 65 61 72 20 50 4f 53 20 73 68 6f 75 6c on.that.shows.STR.near.POS.shoul
129c80 64 20 70 6f 73 69 74 69 6f 6e 20 69 74 20 6e 6f 74 20 74 6f 20 68 69 64 65 20 74 68 65 0a 73 70 d.position.it.not.to.hide.the.sp
129ca0 61 6e 2c 20 69 2e 65 2e 20 20 62 65 6c 6f 77 20 61 6e 64 2f 6f 72 20 72 69 67 68 74 20 6f 66 20 an,.i.e...below.and/or.right.of.
129cc0 50 4f 53 2e 20 20 45 78 61 6d 70 6c 65 73 3a 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 73 68 6f POS...Examples:.*note.racket-sho
129ce0 77 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 3a 3a 20 61 6e 64 20 2a 6e 6f 74 65 20 72 61 63 w-pseudo-tooltip::.and.*note.rac
129d00 6b 65 74 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 3a 3a 2e 0a 0a 20 20 20 41 20 66 75 6e 63 74 69 ket-show-pos-tip::......A.functi
129d20 6f 6e 20 74 68 61 74 20 73 68 6f 77 73 20 53 54 52 20 69 6e 20 61 20 66 69 78 65 64 20 6c 6f 63 on.that.shows.STR.in.a.fixed.loc
129d40 61 74 69 6f 6e 20 6d 61 79 20 6f 66 20 63 6f 75 72 73 65 20 69 67 6e 6f 72 65 0a 50 4f 53 2e 20 ation.may.of.course.ignore.POS..
129d60 20 45 78 61 6d 70 6c 65 73 3a 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 68 .Examples:.*note.racket-show-ech
129d80 6f 2d 61 72 65 61 3a 3a 20 61 6e 64 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 73 68 6f 77 2d 68 o-area::.and.*note.racket-show-h
129da0 65 61 64 65 72 2d 6c 69 6e 65 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e eader-line::....File:.doc49fz4A.
129dc0 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 info,..Node:.Running.racket.and.
129de0 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d raco.commands.in.a.shell.or.term
129e00 69 6e 61 6c 2c 20 20 50 72 65 76 3a 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e inal,..Prev:.Showing.information
129e20 2c 20 20 55 70 3a 20 56 61 72 69 61 62 6c 65 73 0a 0a 37 2e 37 20 52 75 6e 6e 69 6e 67 20 72 61 ,..Up:.Variables..7.7.Running.ra
129e40 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c cket.and.raco.commands.in.a.shel
129e60 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d l.or.terminal.==================
129e80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
129ea0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b 65 74 2d 73 68 65 =========..*.Menu:..*.racket-she
129ec0 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 3a 3a 0a 0a 1f 0a 46 69 6c ll-or-terminal-function::....Fil
129ee0 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 e:.doc49fz4A.info,..Node:.racket
129f00 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 2c 20 20 55 70 -shell-or-terminal-function,..Up
129f20 3a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e :.Running.racket.and.raco.comman
129f40 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 0a 0a 37 2e 37 2e 31 ds.in.a.shell.or.terminal..7.7.1
129f60 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 .racket-shell-or-terminal-functi
129f80 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d on.-----------------------------
129fa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 48 6f 77 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 61 63 ----------..How.*note.racket-rac
129fc0 6b 65 74 3a 3a 20 61 6e 64 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 61 63 6f 2d 74 65 73 74 ket::.and.*note.racket-raco-test
129fe0 3a 3a 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f ::.run.commands......The.functio
12a000 6e 20 73 68 6f 75 6c 64 20 61 63 63 65 70 74 20 61 20 63 6f 6d 6d 61 6e 64 20 73 74 72 69 6e 67 n.should.accept.a.command.string
12a020 2c 20 6e 6f 74 20 69 6e 63 6c 75 64 69 6e 67 20 61 20 6e 65 77 6c 69 6e 65 2c 0a 67 65 74 20 6f ,.not.including.a.newline,.get.o
12a040 72 20 63 72 65 61 74 65 20 61 20 73 75 69 74 61 62 6c 65 20 62 75 66 66 65 72 2c 20 73 65 6e 64 r.create.a.suitable.buffer,.send
12a060 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2c 20 61 6e 64 20 73 65 6e 64 20 61 20 6e 65 77 6c 69 6e 65 .the.command,.and.send.a.newline
12a080 20 6f 72 0a 65 6e 74 65 72 2e 0a 0a 20 20 20 50 72 65 64 65 66 69 6e 65 64 20 63 68 6f 69 63 65 .or.enter......Predefined.choice
12a0a0 73 20 69 6e 63 6c 75 64 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 3a 3a 2c 20 s.include.*note.racket-shell::,.
12a0c0 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 74 65 72 6d 3a 3a 2c 0a 2a 6e 6f 74 65 20 72 61 63 6b 65 *note.racket-term::,.*note.racke
12a0e0 74 2d 61 6e 73 69 2d 74 65 72 6d 3a 3a 2c 20 61 6e 64 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d t-ansi-term::,.and.*note.racket-
12a100 76 74 65 72 6d 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f vterm::.....File:.doc49fz4A.info
12a120 2c 20 20 4e 6f 64 65 3a 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 ,..Node:.Configuration.functions
12a140 2c 20 20 4e 65 78 74 3a 20 46 61 63 65 73 2c 20 20 50 72 65 76 3a 20 56 61 72 69 61 62 6c 65 73 ,..Next:.Faces,..Prev:.Variables
12a160 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 38 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 75 6e 63 ,..Up:.Top..8.Configuration.func
12a180 74 69 6f 6e 73 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a tions.*************************.
12a1a0 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a .*.Menu:..*.Showing.information:
12a1c0 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 28 31 29 2e 0a 2a 20 41 73 73 6f .Showing.information.(1)..*.Asso
12a1e0 63 69 61 74 69 6e 67 20 65 64 69 74 20 62 75 66 66 65 72 73 20 77 69 74 68 20 52 45 50 4c 20 62 ciating.edit.buffers.with.REPL.b
12a200 75 66 66 65 72 73 3a 3a 0a 2a 20 42 72 6f 77 73 69 6e 67 20 66 69 6c 65 20 55 52 4c 73 20 77 69 uffers::.*.Browsing.file.URLs.wi
12a220 74 68 20 61 6e 63 68 6f 72 73 3a 3a 0a 2a 20 43 6f 6e 66 69 67 75 72 69 6e 67 20 62 61 63 6b 20 th.anchors::.*.Configuring.back.
12a240 65 6e 64 73 3a 3a 0a 2a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f ends::.*.Running.racket.and.raco
12a260 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c .commands.in.a.shell.or.terminal
12a280 3a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e :.Running.racket.and.raco.comman
12a2a0 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 28 31 29 2e 0a 0a ds.in.a.shell.or.terminal.(1)...
12a2c0 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 ..File:.doc49fz4A.info,..Node:.S
12a2e0 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 28 31 29 2c 20 20 4e 65 78 74 3a 20 41 howing.information.(1),..Next:.A
12a300 73 73 6f 63 69 61 74 69 6e 67 20 65 64 69 74 20 62 75 66 66 65 72 73 20 77 69 74 68 20 52 45 50 ssociating.edit.buffers.with.REP
12a320 4c 20 62 75 66 66 65 72 73 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 75 L.buffers,..Up:.Configuration.fu
12a340 6e 63 74 69 6f 6e 73 0a 0a 38 2e 31 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e nctions..8.1.Showing.information
12a360 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 .=======================..*.Menu
12a380 3a 0a 0a 2a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 3a :..*.racket-show-pseudo-tooltip:
12a3a0 3a 0a 2a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 61 3a 3a 0a 2a 20 72 61 :.*.racket-show-echo-area::.*.ra
12a3c0 63 6b 65 74 2d 73 68 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 cket-show-header-line::.*.racket
12a3e0 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a -show-pos-tip::....File:.doc49fz
12a400 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 75 4A.info,..Node:.racket-show-pseu
12a420 64 6f 2d 74 6f 6f 6c 74 69 70 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 do-tooltip,..Next:.racket-show-e
12a440 63 68 6f 2d 61 72 65 61 2c 20 20 55 70 3a 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 cho-area,..Up:.Showing.informati
12a460 6f 6e 20 28 31 29 0a 0a 38 2e 31 2e 31 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 75 64 6f on.(1)..8.1.1.racket-show-pseudo
12a480 2d 74 6f 6f 6c 74 69 70 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -tooltip.-----------------------
12a4a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 28 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 75 64 ---------.....(racket-show-pseud
12a4c0 6f 2d 74 6f 6f 6c 74 69 70 20 73 74 72 20 26 6f 70 74 69 6f 6e 61 6c 20 70 6f 73 29 e2 80 99 0a o-tooltip.str.&optional.pos)....
12a4e0 0a 20 20 20 53 68 6f 77 20 75 73 69 6e 67 20 61 6e 20 6f 76 65 72 6c 61 79 20 74 68 61 74 20 72 ....Show.using.an.overlay.that.r
12a500 65 73 65 6d 62 6c 65 73 20 61 20 74 6f 6f 6c 74 69 70 2e 0a 0a 20 20 20 54 68 69 73 20 69 73 20 esembles.a.tooltip......This.is.
12a520 6e 69 63 65 72 20 74 68 61 6e 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 6f 73 nicer.than.*note.racket-show-pos
12a540 2d 74 69 70 3a 3a 20 62 65 63 61 75 73 65 20 69 74 3a 0a 0a 20 20 20 e2 80 a2 20 44 6f 65 73 6e -tip::.because.it:.........Doesn
12a560 e2 80 99 74 20 66 6c 69 63 6b 65 72 20 77 68 69 6c 65 20 6e 61 76 69 67 61 74 69 6e 67 2e 0a 20 ...t.flicker.while.navigating...
12a580 20 20 e2 80 a2 20 44 6f 65 73 6e e2 80 99 74 20 64 69 73 61 70 70 65 61 72 20 61 66 74 65 72 20 ......Doesn...t.disappear.after.
12a5a0 61 20 74 69 6d 65 6f 75 74 2e 0a 20 20 20 e2 80 a2 20 50 65 72 66 6f 72 6d 73 20 77 65 6c 6c 20 a.timeout.........Performs.well.
12a5c0 77 68 65 6e 20 e2 80 98 78 2d 67 74 6b 2d 75 73 65 2d 73 79 73 74 65 6d 2d 74 6f 6f 6c 74 69 70 when....x-gtk-use-system-tooltip
12a5e0 73 e2 80 99 20 69 73 20 6e 69 6c 2e 0a 0a 20 20 20 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 s....is.nil......On.the.other.ha
12a600 6e 64 2c 20 74 68 69 73 20 64 6f 65 73 20 6e 6f 74 20 6c 6f 6f 6b 20 61 73 20 6e 69 63 65 20 77 nd,.this.does.not.look.as.nice.w
12a620 68 65 6e 20 64 69 73 70 6c 61 79 69 6e 67 20 74 65 78 74 0a 74 68 61 74 20 73 70 61 6e 73 20 6d hen.displaying.text.that.spans.m
12a640 75 6c 74 69 70 6c 65 20 6c 69 6e 65 73 20 6f 72 20 69 73 20 74 6f 6f 20 77 69 64 65 20 74 6f 20 ultiple.lines.or.is.too.wide.to.
12a660 66 69 74 20 74 68 65 20 77 69 6e 64 6f 77 2e 20 20 49 6e 20 74 68 61 74 0a 63 61 73 65 2c 20 77 fit.the.window...In.that.case,.w
12a680 65 20 73 69 6d 70 6c 79 20 6c 65 66 74 2d 6a 75 73 74 69 66 79 20 65 76 65 72 79 74 68 69 6e 67 e.simply.left-justify.everything
12a6a0 20 61 6e 64 20 64 6f 20 6e 6f 74 20 64 72 61 77 20 61 6e 79 20 62 6f 72 64 65 72 2e 0a 0a 1f 0a .and.do.not.draw.any.border.....
12a6c0 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 File:.doc49fz4A.info,..Node:.rac
12a6e0 6b 65 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 61 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 ket-show-echo-area,..Next:.racke
12a700 74 2d 73 68 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 t-show-header-line,..Prev:.racke
12a720 74 2d 73 68 6f 77 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 2c 20 20 55 70 3a 20 53 68 6f 77 t-show-pseudo-tooltip,..Up:.Show
12a740 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 28 31 29 0a 0a 38 2e 31 2e 32 20 72 61 63 6b 65 ing.information.(1)..8.1.2.racke
12a760 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 61 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d t-show-echo-area.---------------
12a780 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 28 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 ------------.....(racket-show-ec
12a7a0 68 6f 2d 61 72 65 61 20 73 74 72 20 26 6f 70 74 69 6f 6e 61 6c 20 5f 70 6f 73 29 e2 80 99 0a 0a ho-area.str.&optional._pos).....
12a7c0 20 20 20 53 68 6f 77 20 74 68 69 6e 67 73 20 69 6e 20 74 68 65 20 65 63 68 6f 20 61 72 65 61 2e ...Show.things.in.the.echo.area.
12a7e0 0a 0a 20 20 20 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 2a 6e .....A.value.for.the.variable.*n
12a800 6f 74 65 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 3a 3a 2e 0a 0a 20 20 ote.racket-show-functions::.....
12a820 20 54 68 69 73 20 64 6f 65 73 20 5f 6e 6f 74 5f 20 61 64 64 20 53 54 52 20 74 6f 20 74 68 65 20 .This.does._not_.add.STR.to.the.
12a840 e2 80 9c 2a 4d 65 73 73 61 67 65 73 2a e2 80 9d 20 6c 6f 67 20 62 75 66 66 65 72 2e 0a 0a 1f 0a ...*Messages*....log.buffer.....
12a860 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 File:.doc49fz4A.info,..Node:.rac
12a880 6b 65 74 2d 73 68 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 ket-show-header-line,..Next:.rac
12a8a0 6b 65 74 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d ket-show-pos-tip,..Prev:.racket-
12a8c0 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 61 2c 20 20 55 70 3a 20 53 68 6f 77 69 6e 67 20 69 6e 66 show-echo-area,..Up:.Showing.inf
12a8e0 6f 72 6d 61 74 69 6f 6e 20 28 31 29 0a 0a 38 2e 31 2e 33 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d ormation.(1)..8.1.3.racket-show-
12a900 68 65 61 64 65 72 2d 6c 69 6e 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d header-line.--------------------
12a920 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 28 72 61 63 6b 65 74 2d 73 68 6f 77 2d 68 65 61 64 65 ---------.....(racket-show-heade
12a940 72 2d 6c 69 6e 65 20 73 74 72 20 26 6f 70 74 69 6f 6e 61 6c 20 5f 70 6f 73 29 e2 80 99 0a 0a 20 r-line.str.&optional._pos)......
12a960 20 20 53 68 6f 77 20 74 68 69 6e 67 73 20 75 73 69 6e 67 20 61 20 62 75 66 66 65 72 20 68 65 61 ..Show.things.using.a.buffer.hea
12a980 64 65 72 20 6c 69 6e 65 2e 0a 0a 20 20 20 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 der.line......A.value.for.the.va
12a9a0 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f riable.*note.racket-show-functio
12a9c0 6e 73 3a 3a 2e 0a 0a 20 20 20 57 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 74 68 69 6e 67 20 ns::......When.there.is.nothing.
12a9e0 74 6f 20 73 68 6f 77 2c 20 6b 65 65 70 20 61 20 62 6c 61 6e 6b 20 68 65 61 64 65 72 2d 6c 69 6e to.show,.keep.a.blank.header-lin
12aa00 65 2e 20 20 54 68 61 74 20 77 61 79 2c 0a 74 68 65 20 62 75 66 66 65 72 20 62 65 6c 6f 77 20 64 e...That.way,.the.buffer.below.d
12aa20 6f 65 73 6e e2 80 99 74 20 e2 80 9c 6a 75 6d 70 20 75 70 20 61 6e 64 20 64 6f 77 6e e2 80 9d 20 oesn...t....jump.up.and.down....
12aa40 62 79 20 61 20 6c 69 6e 65 20 61 73 20 6d 65 73 73 61 67 65 73 20 61 70 70 65 61 72 0a 61 6e 64 by.a.line.as.messages.appear.and
12aa60 20 64 69 73 61 70 70 65 61 72 2e 20 20 4f 6e 6c 79 20 77 68 65 6e 20 56 20 69 73 20 6e 69 6c 20 .disappear...Only.when.V.is.nil.
12aa80 64 6f 20 77 65 20 72 65 6d 6f 76 65 20 74 68 65 20 68 65 61 64 65 72 20 6c 69 6e 65 2e 0a 0a 1f do.we.remove.the.header.line....
12aaa0 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 .File:.doc49fz4A.info,..Node:.ra
12aac0 63 6b 65 74 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 cket-show-pos-tip,..Prev:.racket
12aae0 2d 73 68 6f 77 2d 68 65 61 64 65 72 2d 6c 69 6e 65 2c 20 20 55 70 3a 20 53 68 6f 77 69 6e 67 20 -show-header-line,..Up:.Showing.
12ab00 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 28 31 29 0a 0a 38 2e 31 2e 34 20 72 61 63 6b 65 74 2d 73 68 information.(1)..8.1.4.racket-sh
12ab20 6f 77 2d 70 6f 73 2d 74 69 70 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ow-pos-tip.---------------------
12ab40 2d 2d 2d 2d 0a 0a e2 80 98 28 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 6f 73 2d 74 69 70 20 73 74 ----.....(racket-show-pos-tip.st
12ab60 72 20 26 6f 70 74 69 6f 6e 61 6c 20 70 6f 73 29 e2 80 99 0a 0a 20 20 20 53 68 6f 77 20 74 68 69 r.&optional.pos)........Show.thi
12ab80 6e 67 73 20 75 73 69 6e 67 20 e2 80 98 70 6f 73 2d 74 69 70 2d 73 68 6f 77 e2 80 99 20 69 66 20 ngs.using....pos-tip-show....if.
12aba0 61 76 61 69 6c 61 62 6c 65 2e 0a 0a 20 20 20 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 available......A.value.for.the.v
12abc0 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 ariable.*note.racket-show-functi
12abe0 6f 6e 73 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 ons::.....File:.doc49fz4A.info,.
12ac00 20 4e 6f 64 65 3a 20 41 73 73 6f 63 69 61 74 69 6e 67 20 65 64 69 74 20 62 75 66 66 65 72 73 20 .Node:.Associating.edit.buffers.
12ac20 77 69 74 68 20 52 45 50 4c 20 62 75 66 66 65 72 73 2c 20 20 4e 65 78 74 3a 20 42 72 6f 77 73 69 with.REPL.buffers,..Next:.Browsi
12ac40 6e 67 20 66 69 6c 65 20 55 52 4c 73 20 77 69 74 68 20 61 6e 63 68 6f 72 73 2c 20 20 50 72 65 76 ng.file.URLs.with.anchors,..Prev
12ac60 3a 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 28 31 29 2c 20 20 55 70 3a 20 :.Showing.information.(1),..Up:.
12ac80 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 0a 0a 38 2e 32 20 41 73 73 Configuration.functions..8.2.Ass
12aca0 6f 63 69 61 74 69 6e 67 20 65 64 69 74 20 62 75 66 66 65 72 73 20 77 69 74 68 20 52 45 50 4c 20 ociating.edit.buffers.with.REPL.
12acc0 62 75 66 66 65 72 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d buffers.========================
12ace0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a ======================..*.Menu:.
12ad00 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 61 72 65 .*.racket-repl-buffer-name-share
12ad20 64 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e d::.*.racket-repl-buffer-name-un
12ad40 69 71 75 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 ique::.*.racket-repl-buffer-name
12ad60 2d 70 72 6f 6a 65 63 74 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 -project::.*.racket-project-root
12ad80 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 ::....File:.doc49fz4A.info,..Nod
12ada0 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 61 72 65 e:.racket-repl-buffer-name-share
12adc0 64 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d d,..Next:.racket-repl-buffer-nam
12ade0 65 2d 75 6e 69 71 75 65 2c 20 20 55 70 3a 20 41 73 73 6f 63 69 61 74 69 6e 67 20 65 64 69 74 20 e-unique,..Up:.Associating.edit.
12ae00 62 75 66 66 65 72 73 20 77 69 74 68 20 52 45 50 4c 20 62 75 66 66 65 72 73 0a 0a 38 2e 32 2e 31 buffers.with.REPL.buffers..8.2.1
12ae20 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 61 72 65 64 0a .racket-repl-buffer-name-shared.
12ae40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12ae60 2d 2d 2d 2d 0a 0a e2 80 98 28 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d ----.....(racket-repl-buffer-nam
12ae80 65 2d 73 68 61 72 65 64 29 e2 80 99 0a 0a 20 20 20 41 6c 6c 20 2a 6e 6f 74 65 20 72 61 63 6b 65 e-shared)........All.*note.racke
12aea0 74 2d 6d 6f 64 65 3a 3a 20 65 64 69 74 20 62 75 66 66 65 72 73 20 73 68 61 72 65 20 6f 6e 65 20 t-mode::.edit.buffers.share.one.
12aec0 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 20 62 75 66 66 65 72 20 *note.racket-repl-mode::.buffer.
12aee0 70 65 72 20 62 61 63 6b 20 65 6e 64 2e 0a 0a 20 20 20 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 per.back.end......A.value.for.th
12af00 65 20 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 e.variable.*note.racket-repl-buf
12af20 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f fer-name-function::.....File:.do
12af40 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c c49fz4A.info,..Node:.racket-repl
12af60 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b -buffer-name-unique,..Next:.rack
12af80 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 70 72 6f 6a 65 63 74 2c 20 20 50 72 et-repl-buffer-name-project,..Pr
12afa0 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 73 68 61 72 ev:.racket-repl-buffer-name-shar
12afc0 65 64 2c 20 20 55 70 3a 20 41 73 73 6f 63 69 61 74 69 6e 67 20 65 64 69 74 20 62 75 66 66 65 72 ed,..Up:.Associating.edit.buffer
12afe0 73 20 77 69 74 68 20 52 45 50 4c 20 62 75 66 66 65 72 73 0a 0a 38 2e 32 2e 32 20 72 61 63 6b 65 s.with.REPL.buffers..8.2.2.racke
12b000 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 0a 2d 2d 2d 2d 2d 2d t-repl-buffer-name-unique.------
12b020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a ------------------------------..
12b040 e2 80 98 28 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 ...(racket-repl-buffer-name-uniq
12b060 75 65 29 e2 80 99 0a 0a 20 20 20 45 61 63 68 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6d 6f 64 ue)........Each.*note.racket-mod
12b080 65 3a 3a 20 65 64 69 74 20 62 75 66 66 65 72 20 67 65 74 73 20 69 74 73 20 6f 77 6e 20 2a 6e 6f e::.edit.buffer.gets.its.own.*no
12b0a0 74 65 0a 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 20 62 75 66 66 65 72 2e 0a 0a 20 te.racket-repl-mode::.buffer....
12b0c0 20 20 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 ..A.value.for.the.variable.*note
12b0e0 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f .racket-repl-buffer-name-functio
12b100 6e 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e n::.....File:.doc49fz4A.info,..N
12b120 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 70 72 6f ode:.racket-repl-buffer-name-pro
12b140 6a 65 63 74 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 ject,..Next:.racket-project-root
12b160 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 ,..Prev:.racket-repl-buffer-name
12b180 2d 75 6e 69 71 75 65 2c 20 20 55 70 3a 20 41 73 73 6f 63 69 61 74 69 6e 67 20 65 64 69 74 20 62 -unique,..Up:.Associating.edit.b
12b1a0 75 66 66 65 72 73 20 77 69 74 68 20 52 45 50 4c 20 62 75 66 66 65 72 73 0a 0a 38 2e 32 2e 33 20 uffers.with.REPL.buffers..8.2.3.
12b1c0 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 70 72 6f 6a 65 63 74 0a racket-repl-buffer-name-project.
12b1e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12b200 2d 2d 2d 2d 2d 0a 0a e2 80 98 28 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 -----.....(racket-repl-buffer-na
12b220 6d 65 2d 70 72 6f 6a 65 63 74 29 e2 80 99 0a 0a 20 20 20 41 6c 6c 20 2a 6e 6f 74 65 20 72 61 63 me-project)........All.*note.rac
12b240 6b 65 74 2d 6d 6f 64 65 3a 3a 20 62 75 66 66 65 72 73 20 69 6e 20 61 20 70 72 6f 6a 65 63 74 20 ket-mode::.buffers.in.a.project.
12b260 73 68 61 72 65 20 61 20 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a share.a.*note.racket-repl-mode::
12b280 20 62 75 66 66 65 72 2e 0a 0a 20 20 20 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 .buffer......A.value.for.the.var
12b2a0 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e iable.*note.racket-repl-buffer-n
12b2c0 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 3a 3a 2e 0a 0a 20 20 20 54 68 65 20 e2 80 9c 70 72 6f 6a 65 ame-function::......The....proje
12b2e0 63 74 e2 80 9d 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 2a 6e 6f 74 65 20 72 61 63 ct....is.determined.by.*note.rac
12b300 6b 65 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 ket-project-root::.....File:.doc
12b320 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 70 72 6f 6a 65 49fz4A.info,..Node:.racket-proje
12b340 63 74 2d 72 6f 6f 74 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 ct-root,..Prev:.racket-repl-buff
12b360 65 72 2d 6e 61 6d 65 2d 70 72 6f 6a 65 63 74 2c 20 20 55 70 3a 20 41 73 73 6f 63 69 61 74 69 6e er-name-project,..Up:.Associatin
12b380 67 20 65 64 69 74 20 62 75 66 66 65 72 73 20 77 69 74 68 20 52 45 50 4c 20 62 75 66 66 65 72 73 g.edit.buffers.with.REPL.buffers
12b3a0 0a 0a 38 2e 32 2e 34 20 72 61 63 6b 65 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 0a 2d 2d 2d 2d ..8.2.4.racket-project-root.----
12b3c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 28 72 61 63 6b 65 ---------------------.....(racke
12b3e0 74 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 66 69 6c 65 29 e2 80 99 0a 0a 20 20 20 47 69 76 65 t-project-root.file)........Give
12b400 6e 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 6e 61 6d 65 20 66 6f 72 20 46 49 4c 45 2c n.an.absolute.pathname.for.FILE,
12b420 20 72 65 74 75 72 6e 20 69 74 73 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 0a 64 69 72 65 63 74 6f .return.its.project.root.directo
12b440 72 79 2e 0a 0a 20 20 20 54 68 65 20 e2 80 9c 70 72 6f 6a 65 63 74 e2 80 9d 20 69 73 20 64 65 74 ry......The....project....is.det
12b460 65 72 6d 69 6e 65 64 20 62 79 20 74 72 79 69 6e 67 2c 20 69 6e 20 6f 72 64 65 72 3a 0a 0a 20 20 ermined.by.trying,.in.order:....
12b480 20 e2 80 a2 20 e2 80 98 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 e2 ........projectile-project-root.
12b4a0 80 99 0a 20 20 20 e2 80 a2 20 e2 80 98 76 63 2d 72 6f 6f 74 2d 64 69 72 e2 80 99 0a 20 20 20 e2 .............vc-root-dir........
12b4c0 80 a2 20 e2 80 98 70 72 6f 6a 65 63 74 2d 63 75 72 72 65 6e 74 e2 80 99 0a 20 20 20 e2 80 a2 20 ......project-current...........
12b4e0 e2 80 98 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 0a 0a 1f 0a 46 69 6c ...file-name-directory.......Fil
12b500 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 42 72 6f 77 73 69 e:.doc49fz4A.info,..Node:.Browsi
12b520 6e 67 20 66 69 6c 65 20 55 52 4c 73 20 77 69 74 68 20 61 6e 63 68 6f 72 73 2c 20 20 4e 65 78 74 ng.file.URLs.with.anchors,..Next
12b540 3a 20 43 6f 6e 66 69 67 75 72 69 6e 67 20 62 61 63 6b 20 65 6e 64 73 2c 20 20 50 72 65 76 3a 20 :.Configuring.back.ends,..Prev:.
12b560 41 73 73 6f 63 69 61 74 69 6e 67 20 65 64 69 74 20 62 75 66 66 65 72 73 20 77 69 74 68 20 52 45 Associating.edit.buffers.with.RE
12b580 50 4c 20 62 75 66 66 65 72 73 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 PL.buffers,..Up:.Configuration.f
12b5a0 75 6e 63 74 69 6f 6e 73 0a 0a 38 2e 33 20 42 72 6f 77 73 69 6e 67 20 66 69 6c 65 20 55 52 4c 73 unctions..8.3.Browsing.file.URLs
12b5c0 20 77 69 74 68 20 61 6e 63 68 6f 72 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .with.anchors.==================
12b5e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 =================..*.Menu:..*.ra
12b600 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 75 73 69 6e 67 2d 74 65 6d 70 6f 72 61 72 79 2d cket-browse-url-using-temporary-
12b620 66 69 6c 65 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 file::....File:.doc49fz4A.info,.
12b640 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 75 73 69 6e 67 2d 74 .Node:.racket-browse-url-using-t
12b660 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2c 20 20 55 70 3a 20 42 72 6f 77 73 69 6e 67 20 66 69 6c emporary-file,..Up:.Browsing.fil
12b680 65 20 55 52 4c 73 20 77 69 74 68 20 61 6e 63 68 6f 72 73 0a 0a 38 2e 33 2e 31 20 72 61 63 6b 65 e.URLs.with.anchors..8.3.1.racke
12b6a0 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 75 73 69 6e 67 2d 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c t-browse-url-using-temporary-fil
12b6c0 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d e.------------------------------
12b6e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 28 72 61 63 6b 65 74 2d 62 72 6f 77 73 --------------.....(racket-brows
12b700 65 2d 75 72 6c 2d 75 73 69 6e 67 2d 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 20 75 72 6c 20 26 e-url-using-temporary-file.url.&
12b720 72 65 73 74 20 5f 61 72 67 73 29 e2 80 99 0a 0a 20 20 20 42 72 6f 77 73 65 20 61 20 55 52 4c 20 rest._args)........Browse.a.URL.
12b740 76 69 61 20 61 20 74 65 6d 70 6f 72 61 72 79 20 48 54 4d 4c 20 66 69 6c 65 20 75 73 69 6e 67 20 via.a.temporary.HTML.file.using.
12b760 61 20 6d 65 74 61 20 72 65 64 69 72 65 63 74 2e 0a 0a 20 20 20 41 20 73 75 69 74 61 62 6c 65 20 a.meta.redirect......A.suitable.
12b780 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 value.for.the.variable.*note.rac
12b7a0 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 3a 3a 2e 0a 0a 20 20 20 52 ket-browse-url-function::......R
12b7c0 61 63 6b 65 74 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 55 52 4c 73 20 64 65 70 65 6e 64 20 acket.documentation.URLs.depend.
12b7e0 6f 6e 20 61 6e 63 68 6f 72 73 20 e2 80 93 20 74 68 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 on.anchors.....the.portion.of.th
12b800 65 20 55 52 4c 0a 61 66 74 65 72 20 74 68 65 20 23 20 63 68 61 72 61 63 74 65 72 20 e2 80 93 20 e.URL.after.the.#.character.....
12b820 74 6f 20 6a 75 6d 70 20 74 6f 20 61 20 6c 6f 63 61 74 69 6f 6e 20 77 69 74 68 69 6e 20 61 20 70 to.jump.to.a.location.within.a.p
12b840 61 67 65 2e 0a 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20 6f 6e 20 73 6f 6d 65 20 6f 70 65 72 61 age..Unfortunately.on.some.opera
12b860 74 69 6e 67 20 73 79 73 74 65 6d 73 20 61 6e 64 2f 6f 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 ting.systems.and/or.versions.of.
12b880 45 6d 61 63 73 2c 20 74 68 65 0a 64 65 66 61 75 6c 74 20 68 61 6e 64 6c 69 6e 67 20 66 6f 72 20 Emacs,.the.default.handling.for.
12b8a0 62 72 6f 77 73 69 6e 67 20 66 69 6c 65 20 55 52 4c 73 20 69 67 6e 6f 72 65 73 20 61 6e 63 68 6f browsing.file.URLs.ignores.ancho
12b8c0 72 73 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 61 74 74 65 6d 70 74 73 20 74 6f 20 61 rs...This.function.attempts.to.a
12b8e0 76 6f 69 64 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 62 79 20 75 73 69 6e 67 20 61 20 74 65 6d 70 void.the.problem.by.using.a.temp
12b900 6f 72 61 72 79 20 48 54 4d 4c 20 66 69 6c 65 20 77 69 74 68 20 61 20 6d 65 74 61 0a 72 65 64 69 orary.HTML.file.with.a.meta.redi
12b920 72 65 63 74 20 61 73 20 61 20 e2 80 9c 74 72 61 6d 70 6f 6c 69 6e 65 e2 80 9d 2e 0a 0a 20 20 20 rect.as.a....trampoline.........
12b940 41 6c 74 68 6f 75 67 68 20 74 68 65 20 69 6e 74 65 6e 74 20 69 73 20 74 6f 20 70 72 6f 76 69 64 Although.the.intent.is.to.provid
12b960 65 20 61 20 64 65 66 61 75 6c 74 20 74 68 61 74 20 e2 80 9c 6a 75 73 74 20 77 6f 72 6b 73 e2 80 e.a.default.that....just.works..
12b980 9d 2c 20 79 6f 75 20 64 6f 0a 6e 6f 74 20 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 69 73 2e 20 .,.you.do.not.need.to.use.this..
12b9a0 20 59 6f 75 20 63 61 6e 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 .You.can.customize.the.variable.
12b9c0 2a 6e 6f 74 65 0a 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e *note.racket-browse-url-function
12b9e0 3a 3a 20 69 6e 73 74 65 61 64 20 74 6f 20 62 65 20 e2 80 98 62 72 6f 77 73 65 2d 75 72 6c e2 80 ::.instead.to.be....browse-url..
12ba00 99 2c 20 6f 72 0a e2 80 98 62 72 6f 77 73 65 2d 75 72 6c 2d 62 72 6f 77 73 65 72 2d 66 75 6e 63 .,.or....browse-url-browser-func
12ba20 74 69 6f 6e e2 80 99 20 69 6e 20 63 61 73 65 20 68 61 76 65 20 68 61 76 65 20 63 75 73 74 6f 6d tion....in.case.have.have.custom
12ba40 69 7a 65 64 20 74 68 61 74 2c 20 6f 72 0a 69 6e 64 65 65 64 20 77 68 61 74 65 76 65 72 20 79 6f ized.that,.or.indeed.whatever.yo
12ba60 75 20 77 61 6e 74 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c u.want.....File:.doc49fz4A.info,
12ba80 20 20 4e 6f 64 65 3a 20 43 6f 6e 66 69 67 75 72 69 6e 67 20 62 61 63 6b 20 65 6e 64 73 2c 20 20 ..Node:.Configuring.back.ends,..
12baa0 4e 65 78 74 3a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f Next:.Running.racket.and.raco.co
12bac0 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 28 31 mmands.in.a.shell.or.terminal.(1
12bae0 29 2c 20 20 50 72 65 76 3a 20 42 72 6f 77 73 69 6e 67 20 66 69 6c 65 20 55 52 4c 73 20 77 69 74 ),..Prev:.Browsing.file.URLs.wit
12bb00 68 20 61 6e 63 68 6f 72 73 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 75 h.anchors,..Up:.Configuration.fu
12bb20 6e 63 74 69 6f 6e 73 0a 0a 38 2e 34 20 43 6f 6e 66 69 67 75 72 69 6e 67 20 62 61 63 6b 20 65 6e nctions..8.4.Configuring.back.en
12bb40 64 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 ds.=========================..*.
12bb60 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 3a 3a 0a 0a Menu:..*.racket-add-back-end::..
12bb80 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 ..File:.doc49fz4A.info,..Node:.r
12bba0 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 2c 20 20 55 70 3a 20 43 6f 6e 66 69 67 75 acket-add-back-end,..Up:.Configu
12bbc0 72 69 6e 67 20 62 61 63 6b 20 65 6e 64 73 0a 0a 38 2e 34 2e 31 20 72 61 63 6b 65 74 2d 61 64 64 ring.back.ends..8.4.1.racket-add
12bbe0 2d 62 61 63 6b 2d 65 6e 64 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -back-end.----------------------
12bc00 2d 2d 2d 0a 0a e2 80 98 28 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 20 64 69 72 ---.....(racket-add-back-end.dir
12bc20 65 63 74 6f 72 79 20 26 72 65 73 74 20 70 6c 69 73 74 29 e2 80 99 0a 0a 20 20 20 41 64 64 20 61 ectory.&rest.plist)........Add.a
12bc40 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 61 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 62 61 .description.of.a.Racket.Mode.ba
12bc60 63 6b 20 65 6e 64 2e 0a 0a 20 20 20 52 61 63 6b 65 74 20 4d 6f 64 65 20 73 75 70 70 6f 72 74 73 ck.end......Racket.Mode.supports
12bc80 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 62 61 63 6b 20 65 6e 64 73 2c 20 77 68 69 63 68 20 61 72 .one.or.more.back.ends,.which.ar
12bca0 65 20 52 61 63 6b 65 74 0a 70 72 6f 63 65 73 73 65 73 20 73 75 70 70 6f 72 74 69 6e 67 20 52 45 e.Racket.processes.supporting.RE
12bcc0 50 4c 73 20 61 73 20 77 65 6c 6c 20 61 73 20 76 61 72 69 6f 75 73 20 6f 74 68 65 72 20 52 61 63 PLs.as.well.as.various.other.Rac
12bce0 6b 65 74 20 4d 6f 64 65 0a 66 65 61 74 75 72 65 73 2e 0a 0a 20 20 20 44 49 52 45 43 54 4f 52 59 ket.Mode.features......DIRECTORY
12bd00 20 69 73 20 61 20 73 74 72 69 6e 67 20 64 65 73 63 72 69 62 69 6e 67 20 61 20 e2 80 98 66 69 6c .is.a.string.describing.a....fil
12bd20 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74 65 2d 70 e2 80 99 20 64 69 72 65 63 74 6f 72 79 0a 6f e-name-absolute-p....directory.o
12bd40 6e 20 73 6f 6d 65 20 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 65 20 73 65 72 76 65 72 2e 0a 0a n.some.local.or.remote.server...
12bd60 20 20 20 57 68 65 6e 20 61 20 62 61 63 6b 20 65 6e 64 e2 80 99 73 20 44 49 52 45 43 54 4f 52 59 ...When.a.back.end...s.DIRECTORY
12bd80 20 69 73 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 6d 61 74 63 68 69 6e 67 20 70 72 65 66 69 78 20 .is.the.longest.matching.prefix.
12bda0 6f 66 20 61 0a 62 75 66 66 65 72 e2 80 99 73 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 of.a.buffer...s....default-direc
12bdc0 74 6f 72 79 e2 80 99 2c 20 74 68 61 74 20 62 61 63 6b 20 65 6e 64 20 69 73 20 75 73 65 64 20 66 tory...,.that.back.end.is.used.f
12bde0 6f 72 20 74 68 65 20 62 75 66 66 65 72 2e 0a 0a 20 20 20 44 49 52 45 43 54 4f 52 59 20 63 61 6e or.the.buffer......DIRECTORY.can
12be00 20 62 65 20 61 20 6c 6f 63 61 6c 20 64 69 72 65 63 74 6f 72 79 20 6c 69 6b 65 20 e2 80 9c 2f e2 .be.a.local.directory.like..../.
12be20 80 9d 20 6f 72 20 e2 80 9c 2f 70 61 74 68 2f 74 6f 2f 70 72 6f 6a 65 63 74 e2 80 9d 2c 20 6f 72 ...or..../path/to/project...,.or
12be40 0a 61 20 e2 80 98 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 e2 80 99 20 64 69 72 65 63 74 6f 72 79 .a....file-remote-p....directory
12be60 20 6c 69 6b 65 20 e2 80 9c 2f 75 73 65 72 40 68 6f 73 74 3a e2 80 9d 20 6f 72 0a e2 80 9c 2f 75 .like..../user@host:....or..../u
12be80 73 65 72 40 68 6f 73 74 3a 2f 70 61 74 68 2f 74 6f 2f 70 72 6f 6a 65 63 74 e2 80 9d 2e 0a 0a 20 ser@host:/path/to/project.......
12bea0 20 20 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 65 ..Note.that.you.need.not.include
12bec0 20 61 20 6d 65 74 68 6f 64 20 e2 80 93 20 73 75 63 68 20 61 73 20 74 68 65 20 e2 80 9c 73 73 68 .a.method.....such.as.the....ssh
12bee0 e2 80 9d 20 69 6e 0a e2 80 9c 2f 73 73 68 3a 75 73 65 72 40 68 6f 73 74 3a e2 80 9d 20 e2 80 93 ....in..../ssh:user@host:.......
12bf00 20 61 6e 64 20 69 66 20 79 6f 75 20 64 6f 20 69 74 20 69 73 20 73 74 72 69 70 70 65 64 3a 20 41 .and.if.you.do.it.is.stripped:.A
12bf20 20 62 61 63 6b 20 65 6e 64 20 70 72 6f 63 65 73 73 20 69 73 0a 61 6c 77 61 79 73 20 73 74 61 72 .back.end.process.is.always.star
12bf40 74 65 64 20 75 73 69 6e 67 20 53 53 48 2e 20 20 45 76 65 6e 20 69 66 20 6d 75 6c 74 69 70 6c 65 ted.using.SSH...Even.if.multiple
12bf60 20 62 75 66 66 65 72 73 20 66 6f 72 20 74 68 65 20 73 61 6d 65 0a 75 73 65 72 2b 68 6f 73 74 2b .buffers.for.the.same.user+host+
12bf80 70 6f 72 74 20 75 73 65 20 64 69 66 66 65 72 65 6e 74 20 6d 65 74 68 6f 64 73 2c 20 74 68 65 79 port.use.different.methods,.they
12bfa0 20 77 69 6c 6c 20 73 68 61 72 65 20 74 68 65 20 73 61 6d 65 20 62 61 63 6b 20 65 6e 64 2e 0a 0a .will.share.the.same.back.end...
12bfc0 20 20 20 50 72 61 63 74 69 63 61 6c 6c 79 20 73 70 65 61 6b 69 6e 67 2c 20 44 49 52 45 43 54 4f ...Practically.speaking,.DIRECTO
12bfe0 52 59 20 69 73 20 61 20 70 61 74 68 20 79 6f 75 20 63 6f 75 6c 64 20 67 69 76 65 20 74 6f 0a e2 RY.is.a.path.you.could.give.to..
12c000 80 98 66 69 6e 64 2d 66 69 6c 65 e2 80 99 20 74 6f 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 66 ..find-file....to.successfully.f
12c020 69 6e 64 20 73 6f 6d 65 20 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 65 20 66 69 6c 65 2c 20 62 ind.some.local.or.remote.file,.b
12c040 75 74 20 6f 6d 69 74 74 69 6e 67 0a 61 6e 79 20 6d 65 74 68 6f 64 2e 20 20 28 53 6f 6d 65 20 72 ut.omitting.any.method...(Some.r
12c060 65 6d 6f 74 65 20 66 69 6c 65 20 73 68 6f 72 74 68 61 6e 64 20 66 6f 72 6d 73 20 67 65 74 20 65 emote.file.shorthand.forms.get.e
12c080 78 70 61 6e 64 65 64 20 74 6f 20 61 74 20 6c 65 61 73 74 0a e2 80 9c 2f 6d 65 74 68 6f 64 3a 68 xpanded.to.at.least..../method:h
12c0a0 6f 73 74 3a e2 80 9d 2e 20 20 57 68 65 6e 20 69 6e 20 64 6f 75 62 74 20 63 68 65 63 6b 20 e2 80 ost:......When.in.doubt.check...
12c0c0 98 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 e2 80 99 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 .buffer-file-name....and.follow.
12c0e0 69 74 73 0a 65 78 61 6d 70 6c 65 2e 29 0a 0a 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f its.example.).....In.addition.to
12c100 20 62 65 69 6e 67 20 75 73 65 64 20 61 73 20 61 20 70 61 74 74 65 72 6e 20 74 6f 20 70 69 63 6b .being.used.as.a.pattern.to.pick
12c120 20 61 20 62 61 63 6b 20 65 6e 64 20 66 6f 72 20 61 0a 62 75 66 66 65 72 2c 20 44 49 52 45 43 54 .a.back.end.for.a.buffer,.DIRECT
12c140 4f 52 59 20 64 65 74 65 72 6d 69 6e 65 73 3a 0a 0a 20 20 20 e2 80 a2 20 57 68 65 74 68 65 72 20 ORY.determines:.........Whether.
12c160 74 68 65 20 62 61 63 6b 20 65 6e 64 20 69 73 20 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 65 2e the.back.end.is.local.or.remote.
12c180 0a 0a 20 20 20 e2 80 a2 20 57 68 65 6e 20 72 65 6d 6f 74 65 2c 20 61 6e 79 20 65 78 70 6c 69 63 .........When.remote,.any.explic
12c1a0 69 74 20 75 73 65 72 20 61 6e 64 20 70 6f 72 74 20 75 73 65 64 20 74 6f 20 6d 61 6b 65 20 53 53 it.user.and.port.used.to.make.SS
12c1c0 48 0a 20 20 20 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 28 61 73 20 6f 70 70 6f 73 65 64 20 74 H......connections.(as.opposed.t
12c1e0 6f 20 72 65 6c 79 69 6e 67 20 6f 6e 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 7e 2f 2e 73 73 68 2f o.relying.on.values.from.~/.ssh/
12c200 63 6f 6e 66 69 67 29 2e 0a 0a 20 20 20 e2 80 a2 20 4f 74 68 65 72 20 70 72 6f 70 65 72 74 69 65 config)..........Other.propertie
12c220 73 20 67 65 74 20 72 65 61 73 6f 6e 61 62 6c 65 20 64 65 66 61 75 6c 74 73 20 62 61 73 65 64 20 s.get.reasonable.defaults.based.
12c240 6f 6e 20 77 68 65 74 68 65 72 20 74 68 65 20 62 61 63 6b 0a 20 20 20 20 20 65 6e 64 20 69 73 20 on.whether.the.back......end.is.
12c260 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 65 2c 20 61 73 20 64 65 73 63 72 69 62 65 64 20 62 65 local.or.remote,.as.described.be
12c280 6c 6f 77 2e 0a 0a 20 20 20 41 66 74 65 72 20 44 49 52 45 43 54 4f 52 59 2c 20 74 68 65 20 72 65 low......After.DIRECTORY,.the.re
12c2a0 6d 61 69 6e 69 6e 69 6e 67 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6f 70 74 69 6f 6e 61 6c mainining.arguments.are.optional
12c2c0 3b 20 74 68 65 79 20 61 72 65 0a 61 6c 74 65 72 6e 61 74 69 6e 67 20 3a 6b 65 79 77 6f 72 64 73 ;.they.are.alternating.:keywords
12c2e0 20 61 6e 64 20 76 61 6c 75 65 73 20 64 65 73 63 72 69 62 69 6e 67 20 73 6f 6d 65 20 6f 74 68 65 .and.values.describing.some.othe
12c300 72 20 70 72 6f 70 65 72 74 69 65 73 20 6f 66 20 61 0a 62 61 63 6b 20 65 6e 64 3a 0a 0a 20 20 20 r.properties.of.a.back.end:.....
12c320 e2 80 a2 20 3a 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 0a 0a 20 20 20 20 20 57 68 65 6e 20 6e ....:racket-program.......When.n
12c340 6f 74 20 6e 69 6c 20 74 68 69 73 20 69 73 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 74 ot.nil.this.is.used.instead.of.t
12c360 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 0a 20 20 he.value.of.the.customization...
12c380 20 20 20 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d ...variable.*note.racket-program
12c3a0 3a 3a 2e 0a 0a 20 20 20 e2 80 a2 20 3a 72 65 6d 6f 74 65 2d 73 6f 75 72 63 65 2d 64 69 72 0a 0a ::..........:remote-source-dir..
12c3c0 20 20 20 20 20 57 68 65 72 65 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 68 6f 73 74 20 74 6f 20 63 .....Where.on.a.remote.host.to.c
12c3e0 6f 70 79 20 74 68 65 20 62 61 63 6b 20 65 6e 64 e2 80 99 73 20 2a 2e 72 6b 74 20 66 69 6c 65 73 opy.the.back.end...s.*.rkt.files
12c400 20 77 68 65 6e 20 74 68 65 79 0a 20 20 20 20 20 64 6f 20 6e 6f 74 20 65 78 69 73 74 20 6f 72 20 .when.they......do.not.exist.or.
12c420 64 6f 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 64 69 67 65 73 74 20 6f 66 20 74 68 65 20 6c do.not.match.the.digest.of.the.l
12c440 6f 63 61 6c 20 66 69 6c 65 73 2e 20 20 54 68 69 73 0a 20 20 20 20 20 6d 75 73 74 20 62 65 20 e2 ocal.files...This......must.be..
12c460 80 98 66 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74 65 2d 70 e2 80 99 20 6f 6e 20 74 68 65 ..file-name-absolute-p....on.the
12c480 20 72 65 6d 6f 74 65 2e 20 20 4f 6e 6c 79 20 73 75 70 70 6c 79 20 74 68 65 0a 20 20 20 20 20 6c .remote...Only.supply.the......l
12c4a0 6f 63 61 6c 6e 61 6d 65 20 74 68 65 72 65 20 28 6e 6f 74 20 61 20 66 75 6c 6c 20 e2 80 98 66 69 ocalname.there.(not.a.full....fi
12c4c0 6c 65 2d 72 65 6d 6f 74 65 2d 70 e2 80 99 29 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 le-remote-p...)...The.default.va
12c4e0 6c 75 65 20 69 73 0a 20 20 20 20 20 e2 80 9c 2f 74 6d 70 2f 72 61 63 6b 65 74 2d 6d 6f 64 65 2d lue.is........./tmp/racket-mode-
12c500 62 61 63 6b 2d 65 6e 64 e2 80 9d 2e 0a 0a 20 20 20 e2 80 a2 20 3a 77 69 6e 64 6f 77 73 0a 0a 20 back-end.............:windows...
12c520 20 20 20 20 57 68 65 74 68 65 72 20 74 68 65 20 62 61 63 6b 20 65 6e 64 20 75 73 65 73 20 57 69 ....Whether.the.back.end.uses.Wi
12c540 6e 64 6f 77 73 20 73 74 79 6c 65 20 70 61 74 68 20 6e 61 6d 65 73 2e 20 20 55 73 65 64 20 74 6f ndows.style.path.names...Used.to
12c560 0a 20 20 20 20 20 74 72 61 6e 73 6c 61 74 65 20 62 65 74 77 65 6e 20 73 6c 61 73 68 65 73 20 61 ......translate.betwen.slashes.a
12c580 6e 64 20 62 61 63 6b 73 6c 61 73 68 65 73 20 62 65 74 77 65 65 6e 20 74 68 65 20 45 6d 61 63 73 nd.backslashes.between.the.Emacs
12c5a0 20 66 72 6f 6e 74 0a 20 20 20 20 20 65 6e 64 20 28 77 68 69 63 68 20 75 73 65 73 20 73 6c 61 73 .front......end.(which.uses.slas
12c5c0 68 65 73 20 65 76 65 6e 20 6f 6e 20 57 69 6e 64 6f 77 73 29 20 61 6e 64 20 74 68 65 20 52 61 63 hes.even.on.Windows).and.the.Rac
12c5e0 6b 65 74 20 62 61 63 6b 20 65 6e 64 0a 20 20 20 20 20 28 77 68 69 63 68 20 65 78 70 65 63 74 73 ket.back.end......(which.expects
12c600 20 6e 61 74 69 76 65 20 62 61 63 6b 73 6c 61 73 68 65 73 20 6f 6e 20 57 69 6e 64 6f 77 73 29 2e .native.backslashes.on.Windows).
12c620 0a 0a 20 20 20 e2 80 a2 20 3a 72 65 73 74 61 72 74 2d 77 61 74 63 68 2d 64 69 72 65 63 74 6f 72 .........:restart-watch-director
12c640 69 65 73 0a 0a 20 20 20 20 20 41 20 6c 69 73 74 20 6f 66 20 e2 80 98 64 69 72 65 63 74 6f 72 79 ies.......A.list.of....directory
12c660 2d 6e 61 6d 65 2d 70 e2 80 99 20 73 74 72 69 6e 67 73 2e 20 20 45 61 63 68 20 64 69 72 65 63 74 -name-p....strings...Each.direct
12c680 6f 72 79 2c 20 61 6e 64 0a 20 20 20 20 20 72 65 63 75 72 73 69 76 65 6c 79 20 69 74 73 20 73 75 ory,.and......recursively.its.su
12c6a0 62 64 69 72 65 63 74 6f 72 69 65 73 2c 20 77 69 6c 6c 20 62 65 20 77 61 74 63 68 65 64 20 66 6f bdirectories,.will.be.watched.fo
12c6c0 72 20 66 69 6c 65 20 73 79 73 74 65 6d 0a 20 20 20 20 20 63 68 61 6e 67 65 73 2e 20 20 41 66 74 r.file.system......changes...Aft
12c6e0 65 72 20 61 6e 79 20 63 68 61 6e 67 65 73 20 61 72 65 20 64 65 74 65 63 74 65 64 2c 20 74 68 65 er.any.changes.are.detected,.the
12c700 20 6e 65 78 74 20 2a 6e 6f 74 65 0a 20 20 20 20 20 72 61 63 6b 65 74 2d 72 75 6e 3a 3a 20 28 6f .next.*note......racket-run::.(o
12c720 72 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 r.*note.racket-run-module-at-poi
12c740 6e 74 3a 3a 20 65 74 63 2e 29 20 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 77 69 6c 6c 20 61 73 nt::.etc.)..command......will.as
12c760 6b 20 79 6f 75 20 69 66 20 69 74 20 73 68 6f 75 6c 64 20 72 65 73 74 61 72 74 20 74 68 65 20 62 k.you.if.it.should.restart.the.b
12c780 61 63 6b 20 65 6e 64 20 66 6f 72 20 79 6f 75 2e 20 20 54 68 69 73 20 6d 61 79 0a 20 20 20 20 20 ack.end.for.you...This.may......
12c7a0 62 65 20 68 65 6c 70 66 75 6c 20 77 68 65 6e 20 79 6f 75 20 61 72 65 20 63 68 61 6e 67 69 6e 67 be.helpful.when.you.are.changing
12c7c0 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 74 68 65 20 62 61 63 6b 20 65 .source.files.used.by.the.back.e
12c7e0 6e 64 2e 0a 0a 20 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 70 72 6f 70 65 72 74 79 20 76 61 6c nd......The.default.property.val
12c800 75 65 73 20 61 72 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 77 68 65 74 68 65 72 20 ues.are.appropriate.for.whether.
12c820 44 49 52 45 43 54 4f 52 59 20 69 73 0a 6c 6f 63 61 6c 20 6f 72 20 72 65 6d 6f 74 65 3a 0a 0a 20 DIRECTORY.is.local.or.remote:...
12c840 20 20 e2 80 a2 20 57 68 65 6e 20 44 49 52 45 43 54 4f 52 59 20 69 73 20 72 65 6d 6f 74 65 2c 20 ......When.DIRECTORY.is.remote,.
12c860 3a 77 69 6e 64 6f 77 73 20 64 65 66 61 75 6c 74 73 20 74 6f 20 6e 69 6c 2e 0a 0a 20 20 20 e2 80 :windows.defaults.to.nil........
12c880 a2 20 4f 74 68 65 72 77 69 73 65 2c 20 3a 77 69 6e 64 6f 77 73 20 64 65 66 61 75 6c 74 73 20 74 ..Otherwise,.:windows.defaults.t
12c8a0 6f 20 61 20 76 61 6c 75 65 20 62 61 73 65 64 20 6f 6e 20 e2 80 98 73 79 73 74 65 6d 2d 74 79 70 o.a.value.based.on....system-typ
12c8c0 65 e2 80 99 2e 0a 0a 20 20 20 41 6c 74 68 6f 75 67 68 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 e.........Although.the.default.v
12c8e0 61 6c 75 65 73 20 75 73 75 61 6c 6c 79 20 e2 80 9c 6a 75 73 74 20 77 6f 72 6b e2 80 9d 20 66 6f alues.usually....just.work....fo
12c900 72 20 6c 6f 63 61 6c 20 61 6e 64 20 72 65 6d 6f 74 65 0a 62 61 63 6b 20 65 6e 64 73 2c 20 79 6f r.local.and.remote.back.ends,.yo
12c920 75 20 6d 69 67 68 74 20 77 61 6e 74 20 61 20 73 70 65 63 69 61 6c 20 63 6f 6e 66 69 67 75 72 61 u.might.want.a.special.configura
12c940 74 69 6f 6e 2e 20 20 48 65 72 65 20 61 72 65 20 61 20 66 65 77 0a 65 78 61 6d 70 6c 65 73 2e 0a tion...Here.are.a.few.examples..
12c960 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 31 2e 20 41 20 62 61 63 6b 20 65 6e 64 20 63 6f 6e 66 69 ..........;;.1..A.back.end.confi
12c980 67 75 72 61 74 69 6f 6e 20 66 6f 72 20 22 2f 22 20 69 73 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 guration.for."/".is..........;;.
12c9a0 63 72 65 61 74 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 61 6e 64 20 77 6f 72 6b 73 20 created.automatically.and.works.
12c9c0 66 69 6e 65 20 61 73 20 61 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 66 6f fine.as.a.default..........;;.fo
12c9e0 72 20 62 75 66 66 65 72 73 20 76 69 73 69 74 69 6e 67 20 6c 6f 63 61 6c 20 66 69 6c 65 73 2c 20 r.buffers.visiting.local.files,.
12ca00 73 6f 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 74 6f 20 so.we.don't.need..........;;.to.
12ca20 61 64 64 20 6f 6e 65 20 68 65 72 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 32 2e 20 48 6f add.one.here............;;.2..Ho
12ca40 77 65 76 65 72 20 61 73 73 75 6d 65 20 77 65 20 77 61 6e 74 20 62 75 66 66 65 72 73 20 75 6e 64 wever.assume.we.want.buffers.und
12ca60 65 72 20 2f 76 61 72 2f 74 6d 70 2f 38 2e 30 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 69 6e 73 74 er./var/tmp/8.0..........;;.inst
12ca80 65 61 64 20 74 6f 20 75 73 65 20 52 61 63 6b 65 74 20 38 2e 30 2e 0a 20 20 20 20 20 20 20 20 20 ead.to.use.Racket.8.0...........
12caa0 28 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 20 22 2f 76 61 72 2f 74 6d 70 2f 38 (racket-add-back-end."/var/tmp/8
12cac0 2e 30 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .0".............................
12cae0 20 20 3a 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 20 22 7e 2f 72 61 63 6b 65 74 2f 38 2e 30 2f ..:racket-program."~/racket/8.0/
12cb00 62 69 6e 2f 72 61 63 6b 65 74 22 29 0a 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 33 2e 20 41 20 62 bin/racket")...........;;.3..A.b
12cb20 61 63 6b 20 65 6e 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 63 72 ack.end.configuration.will.be.cr
12cb40 65 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 eated..........;;.automatically.
12cb60 66 6f 72 20 62 75 66 66 65 72 73 20 76 69 73 69 74 69 6e 67 20 66 69 6c 65 20 6e 61 6d 65 73 20 for.buffers.visiting.file.names.
12cb80 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 22 2f 73 73 68 3a 75 73 65 72 40 6c 69 6e 6f like..........;;."/ssh:user@lino
12cba0 64 65 22 2c 20 73 6f 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 61 64 64 20 6f 6e 65 de",.so.we.don't.need.to.add.one
12cbc0 20 68 65 72 65 2e 0a 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 49 .here...........;;..........;;.I
12cbe0 66 20 7e 2f 2e 73 73 68 2f 63 6f 6e 66 69 67 20 64 65 66 69 6e 65 73 20 61 20 48 6f 73 74 20 61 f.~/.ssh/config.defines.a.Host.a
12cc00 6c 69 61 73 20 6e 61 6d 65 64 20 22 6c 69 6e 6f 64 65 22 2c 0a 20 20 20 20 20 20 20 20 20 3b 3b lias.named."linode",..........;;
12cc20 20 77 69 74 68 20 48 6f 73 74 4e 61 6d 65 20 61 6e 64 20 55 73 65 72 20 73 65 74 74 69 6e 67 73 .with.HostName.and.User.settings
12cc40 2c 20 61 20 66 69 6c 65 20 6e 61 6d 65 20 61 73 20 73 69 6d 70 6c 65 20 61 73 0a 20 20 20 20 20 ,.a.file.name.as.simple.as......
12cc60 20 20 20 20 3b 3b 20 22 2f 6c 69 6e 6f 64 65 3a 22 20 77 6f 75 6c 64 20 77 6f 72 6b 20 66 69 6e ....;;."/linode:".would.work.fin
12cc80 65 20 77 69 74 68 20 74 72 61 6d 70 20 2d 2d 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 e.with.tramp.--.and.the.........
12cca0 20 3b 3b 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 72 65 61 74 65 64 20 62 61 63 6b 20 65 .;;.automatically.created.back.e
12ccc0 6e 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 77 6f 75 6c 64 20 77 6f 72 6b 0a 20 20 20 20 nd.configuration.would.work.....
12cce0 20 20 20 20 20 3b 3b 20 66 69 6e 65 2c 20 74 6f 6f 2e 0a 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 .....;;.fine,.too............;;.
12cd00 34 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 27 73 20 73 61 6b 65 2c 20 61 73 73 75 6d 65 20 66 6f 4..For.example's.sake,.assume.fo
12cd20 72 20 62 75 66 66 65 72 73 20 76 69 73 69 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 2f r.buffers.visiting..........;;./
12cd40 73 73 68 3a 68 65 61 64 6c 65 73 73 3a 7e 2f 67 75 69 2d 70 72 6f 6a 65 63 74 2f 20 77 65 20 77 ssh:headless:~/gui-project/.we.w
12cd60 61 6e 74 20 3a 72 61 63 6b 65 74 2d 70 72 6f 67 72 61 6d 20 69 6e 73 74 65 61 64 0a 20 20 20 20 ant.:racket-program.instead.....
12cd80 20 20 20 20 20 3b 3b 20 74 6f 20 62 65 20 22 78 76 66 62 2d 72 75 6e 20 72 61 63 6b 65 74 22 2e .....;;.to.be."xvfb-run.racket".
12cda0 0a 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 61 64 64 2d 62 61 63 6b 2d 65 6e 64 20 22 ..........(racket-add-back-end."
12cdc0 2f 73 73 68 3a 68 65 61 64 6c 65 73 73 3a 7e 2f 67 75 69 2d 70 72 6f 6a 65 63 74 2f 22 0a 20 20 /ssh:headless:~/gui-project/"...
12cde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 72 61 63 ............................:rac
12ce00 6b 65 74 2d 70 72 6f 67 72 61 6d 20 22 78 76 66 62 2d 72 75 6e 20 72 61 63 6b 65 74 22 29 0a 0a ket-program."xvfb-run.racket")..
12ce20 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 52 ..File:.doc49fz4A.info,..Node:.R
12ce40 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 unning.racket.and.raco.commands.
12ce60 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 28 31 29 2c 20 20 50 72 65 in.a.shell.or.terminal.(1),..Pre
12ce80 76 3a 20 43 6f 6e 66 69 67 75 72 69 6e 67 20 62 61 63 6b 20 65 6e 64 73 2c 20 20 55 70 3a 20 43 v:.Configuring.back.ends,..Up:.C
12cea0 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 0a 0a 38 2e 35 20 52 75 6e 6e onfiguration.functions..8.5.Runn
12cec0 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 ing.racket.and.raco.commands.in.
12cee0 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d a.shell.or.terminal.============
12cf00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
12cf20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b ===============..*.Menu:..*.rack
12cf40 65 74 2d 73 68 65 6c 6c 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 74 65 72 6d 3a 3a 0a 2a 20 72 61 63 et-shell::.*.racket-term::.*.rac
12cf60 6b 65 74 2d 61 6e 73 69 2d 74 65 72 6d 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 76 74 65 72 6d 3a 3a ket-ansi-term::.*.racket-vterm::
12cf80 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a ....File:.doc49fz4A.info,..Node:
12cfa0 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 74 65 72 .racket-shell,..Next:.racket-ter
12cfc0 6d 2c 20 20 55 70 3a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 m,..Up:.Running.racket.and.raco.
12cfe0 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 commands.in.a.shell.or.terminal.
12d000 28 31 29 0a 0a 38 2e 35 2e 31 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 0a 2d 2d 2d 2d 2d 2d 2d 2d (1)..8.5.1.racket-shell.--------
12d020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 28 72 61 63 6b 65 74 2d 73 68 65 6c 6c 20 63 6d 64 ----------.....(racket-shell.cmd
12d040 29 e2 80 99 0a 0a 20 20 20 52 75 6e 20 43 4d 44 20 75 73 69 6e 67 20 e2 80 98 73 68 65 6c 6c e2 )........Run.CMD.using....shell.
12d060 80 99 2e 0a 0a 20 20 20 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 ........A.value.for.the.variable
12d080 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d .*note.racket-shell-or-terminal-
12d0a0 66 75 6e 63 74 69 6f 6e 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 function::.....File:.doc49fz4A.i
12d0c0 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 74 65 72 6d 2c 20 20 4e 65 78 74 3a 20 nfo,..Node:.racket-term,..Next:.
12d0e0 72 61 63 6b 65 74 2d 61 6e 73 69 2d 74 65 72 6d 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d racket-ansi-term,..Prev:.racket-
12d100 73 68 65 6c 6c 2c 20 20 55 70 3a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 shell,..Up:.Running.racket.and.r
12d120 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 aco.commands.in.a.shell.or.termi
12d140 6e 61 6c 20 28 31 29 0a 0a 38 2e 35 2e 32 20 72 61 63 6b 65 74 2d 74 65 72 6d 0a 2d 2d 2d 2d 2d nal.(1)..8.5.2.racket-term.-----
12d160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 28 72 61 63 6b 65 74 2d 74 65 72 6d 20 63 6d ------------.....(racket-term.cm
12d180 64 29 e2 80 99 0a 0a 20 20 20 52 75 6e 20 43 4d 44 20 75 73 69 6e 67 20 e2 80 98 74 65 72 6d e2 d)........Run.CMD.using....term.
12d1a0 80 99 2e 0a 0a 20 20 20 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 ........A.value.for.the.variable
12d1c0 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d .*note.racket-shell-or-terminal-
12d1e0 66 75 6e 63 74 69 6f 6e 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 function::.....File:.doc49fz4A.i
12d200 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 61 6e 73 69 2d 74 65 72 6d 2c 20 20 4e nfo,..Node:.racket-ansi-term,..N
12d220 65 78 74 3a 20 72 61 63 6b 65 74 2d 76 74 65 72 6d 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 ext:.racket-vterm,..Prev:.racket
12d240 2d 74 65 72 6d 2c 20 20 55 70 3a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 -term,..Up:.Running.racket.and.r
12d260 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 aco.commands.in.a.shell.or.termi
12d280 6e 61 6c 20 28 31 29 0a 0a 38 2e 35 2e 33 20 72 61 63 6b 65 74 2d 61 6e 73 69 2d 74 65 72 6d 0a nal.(1)..8.5.3.racket-ansi-term.
12d2a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 28 72 61 63 6b ----------------------.....(rack
12d2c0 65 74 2d 61 6e 73 69 2d 74 65 72 6d 20 63 6d 64 29 e2 80 99 0a 0a 20 20 20 52 75 6e 20 43 4d 44 et-ansi-term.cmd)........Run.CMD
12d2e0 20 75 73 69 6e 67 20 e2 80 98 61 6e 73 69 2d 74 65 72 6d e2 80 99 2e 0a 0a 20 20 20 41 20 76 61 .using....ansi-term.........A.va
12d300 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 lue.for.the.variable.*note.racke
12d320 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 6c 2d 66 75 6e 63 74 69 6f 6e 3a 3a 2e 0a t-shell-or-terminal-function::..
12d340 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 ...File:.doc49fz4A.info,..Node:.
12d360 72 61 63 6b 65 74 2d 76 74 65 72 6d 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 61 6e 73 69 racket-vterm,..Prev:.racket-ansi
12d380 2d 74 65 72 6d 2c 20 20 55 70 3a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 -term,..Up:.Running.racket.and.r
12d3a0 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 aco.commands.in.a.shell.or.termi
12d3c0 6e 61 6c 20 28 31 29 0a 0a 38 2e 35 2e 34 20 72 61 63 6b 65 74 2d 76 74 65 72 6d 0a 2d 2d 2d 2d nal.(1)..8.5.4.racket-vterm.----
12d3e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a e2 80 98 28 72 61 63 6b 65 74 2d 76 74 65 72 6d --------------.....(racket-vterm
12d400 20 63 6d 64 29 e2 80 99 0a 0a 20 20 20 52 75 6e 20 43 4d 44 20 75 73 69 6e 67 20 e2 80 98 76 74 .cmd)........Run.CMD.using....vt
12d420 65 72 6d e2 80 99 2c 20 69 66 20 74 68 61 74 20 70 61 63 6b 61 67 65 20 69 73 20 69 6e 73 74 61 erm...,.if.that.package.is.insta
12d440 6c 6c 65 64 2e 0a 0a 20 20 20 41 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 lled......A.value.for.the.variab
12d460 6c 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 61 le.*note.racket-shell-or-termina
12d480 6c 2d 66 75 6e 63 74 69 6f 6e 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 l-function::.....File:.doc49fz4A
12d4a0 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 61 63 65 73 2c 20 20 50 72 65 76 3a 20 43 6f 6e 66 .info,..Node:.Faces,..Prev:.Conf
12d4c0 69 67 75 72 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 39 iguration.functions,..Up:.Top..9
12d4e0 20 46 61 63 65 73 0a 2a 2a 2a 2a 2a 2a 2a 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 41 6c 6c 3a 3a .Faces.*******..*.Menu:..*.All::
12d500 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a ....File:.doc49fz4A.info,..Node:
12d520 20 41 6c 6c 2c 20 20 55 70 3a 20 46 61 63 65 73 0a 0a 39 2e 31 20 41 6c 6c 0a 3d 3d 3d 3d 3d 3d .All,..Up:.Faces..9.1.All.======
12d540 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 2d 61 72 67 =..*.Menu:..*.racket-keyword-arg
12d560 75 6d 65 6e 74 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 71 75 6f ument-face::.*.racket-reader-quo
12d580 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 61 64 65 ted-symbol-face::.*.racket-reade
12d5a0 72 2d 73 79 6e 74 61 78 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 3a 3a 0a 2a 20 r-syntax-quoted-symbol-face::.*.
12d5c0 72 61 63 6b 65 74 2d 68 65 72 65 2d 73 74 72 69 6e 67 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b racket-here-string-face::.*.rack
12d5e0 65 74 2d 78 70 2d 64 65 66 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 et-xp-def-face::.*.racket-xp-use
12d600 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 65 3a -face::.*.racket-xp-unused-face:
12d620 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 2d 66 61 63 65 3a 3a :.*.racket-xp-tail-target-face::
12d640 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 2d 66 61 63 65 3a .*.racket-xp-tail-position-face:
12d660 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 66 61 63 65 3a :.*.racket-xp-binding-lang-face:
12d680 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 75 73 65 2d 66 :.*.racket-xp-binding-lang-use-f
12d6a0 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 ace::.*.racket-xp-binding-import
12d6c0 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f -face::.*.racket-xp-binding-impo
12d6e0 72 74 2d 75 73 65 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e rt-use-face::.*.racket-xp-bindin
12d700 67 2d 6c 6f 63 61 6c 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 g-local-face::.*.racket-xp-bindi
12d720 6e 67 2d 6c 6f 63 61 6c 2d 75 73 65 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 ng-local-use-face::.*.racket-log
12d740 67 65 72 2d 63 6f 6e 66 69 67 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 ger-config-face::.*.racket-logge
12d760 72 2d 74 6f 70 69 63 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 66 r-topic-face::.*.racket-logger-f
12d780 61 74 61 6c 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 65 72 72 6f atal-face::.*.racket-logger-erro
12d7a0 72 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 77 61 72 6e 69 6e 67 r-face::.*.racket-logger-warning
12d7c0 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 69 6e 66 6f 2d 66 61 63 -face::.*.racket-logger-info-fac
12d7e0 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 64 65 62 75 67 2d 66 61 63 65 3a 3a e::.*.racket-logger-debug-face::
12d800 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b .*.racket-doc-link-face::.*.rack
12d820 65 74 2d 65 78 74 2d 6c 69 6e 6b 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 2d et-ext-link-face::.*.racket-doc-
12d840 6f 75 74 70 75 74 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 74 63 68 output-face::.*.racket-doc-litch
12d860 61 72 2d 66 61 63 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 3a ar-face::.*.racket-repl-message:
12d880 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 3a 3a 0a 2a 20 72 61 63 6b 65 :.*.racket-repl-prompt::.*.racke
12d8a0 74 2d 72 65 70 6c 2d 76 61 6c 75 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 t-repl-value::.*.racket-repl-err
12d8c0 6f 72 2d 6d 65 73 73 61 67 65 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 or-message::.*.racket-repl-error
12d8e0 2d 6c 6f 63 61 74 69 6f 6e 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 6f 75 74 -location::.*.racket-repl-stdout
12d900 3a 3a 0a 2a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 65 72 72 3a 3a 0a 0a 1f 0a 46 69 6c ::.*.racket-repl-stderr::....Fil
12d920 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 e:.doc49fz4A.info,..Node:.racket
12d940 2d 6b 65 79 77 6f 72 64 2d 61 72 67 75 6d 65 6e 74 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 -keyword-argument-face,..Next:.r
12d960 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 2c acket-reader-quoted-symbol-face,
12d980 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 31 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 2d ..Up:.All..9.1.1.racket-keyword-
12d9a0 61 72 67 75 6d 65 6e 74 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d argument-face.------------------
12d9c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 66 6f 72 20 e2 80 98 23 3a ----------------..Face.for....#:
12d9e0 6b 65 79 77 6f 72 64 e2 80 99 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 keyword....arguments.....File:.d
12da00 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 61 oc49fz4A.info,..Node:.racket-rea
12da20 64 65 72 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 der-quoted-symbol-face,..Next:.r
12da40 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 73 79 6e 74 61 78 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f acket-reader-syntax-quoted-symbo
12da60 6c 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 2d 61 72 l-face,..Prev:.racket-keyword-ar
12da80 67 75 6d 65 6e 74 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 32 20 72 61 63 gument-face,..Up:.All..9.1.2.rac
12daa0 6b 65 74 2d 72 65 61 64 65 72 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 0a 2d 2d ket-reader-quoted-symbol-face.--
12dac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12dae0 2d 2d 2d 2d 0a 0a 46 61 63 65 20 66 6f 72 20 73 79 6d 62 6f 6c 73 20 71 75 6f 74 65 64 20 75 73 ----..Face.for.symbols.quoted.us
12db00 69 6e 67 20 e2 80 99 20 6f 72 20 e2 80 98 2e 0a 0a 20 20 20 54 68 69 73 20 66 61 63 65 20 69 73 ing.....or..........This.face.is
12db20 20 67 69 76 65 6e 20 6f 6e 6c 79 20 74 6f 20 73 79 6d 62 6f 6c 73 20 64 69 72 65 63 74 6c 79 20 .given.only.to.symbols.directly.
12db40 71 75 6f 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 72 65 61 64 65 72 0a 73 68 6f 72 74 68 61 6e quoted.using.the.reader.shorthan
12db60 64 73 20 e2 80 99 20 6f 72 20 e2 80 98 2e 20 20 41 6c 6c 20 6f 74 68 65 72 20 64 69 72 65 63 74 ds.....or.......All.other.direct
12db80 6c 79 20 71 75 6f 74 65 64 20 76 61 6c 75 65 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 79 6d 62 ly.quoted.values,.including.symb
12dba0 6f 6c 73 0a 71 75 6f 74 65 64 20 75 73 69 6e 67 20 e2 80 9c 71 75 6f 74 65 e2 80 9d 20 6f 72 20 ols.quoted.using....quote....or.
12dbc0 e2 80 9c 71 75 61 73 69 71 75 6f 74 65 e2 80 9d 2c 20 67 65 74 20 74 68 65 20 66 61 63 65 0a e2 ...quasiquote...,.get.the.face..
12dbe0 80 98 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74 2d 66 61 63 65 e2 80 99 2e 0a 0a 1f ..font-lock-constant-face.......
12dc00 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 .File:.doc49fz4A.info,..Node:.ra
12dc20 63 6b 65 74 2d 72 65 61 64 65 72 2d 73 79 6e 74 61 78 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c cket-reader-syntax-quoted-symbol
12dc40 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 68 65 72 65 2d 73 74 72 69 6e 67 -face,..Next:.racket-here-string
12dc60 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 71 75 6f 74 -face,..Prev:.racket-reader-quot
12dc80 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 33 20 ed-symbol-face,..Up:.All..9.1.3.
12dca0 72 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 73 79 6e 74 61 78 2d 71 75 6f 74 65 64 2d 73 79 6d 62 racket-reader-syntax-quoted-symb
12dcc0 6f 6c 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ol-face.------------------------
12dce0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 66 6f 72 20 ---------------------..Face.for.
12dd00 73 79 6d 62 6f 6c 73 20 71 75 6f 74 65 64 20 75 73 69 6e 67 20 23 e2 80 99 20 6f 72 20 23 e2 80 symbols.quoted.using.#....or.#..
12dd20 98 2e 0a 0a 20 20 20 54 68 69 73 20 66 61 63 65 20 69 73 20 67 69 76 65 6e 20 6f 6e 6c 79 20 74 .......This.face.is.given.only.t
12dd40 6f 20 73 79 6d 62 6f 6c 73 20 64 69 72 65 63 74 6c 79 20 71 75 6f 74 65 64 20 75 73 69 6e 67 20 o.symbols.directly.quoted.using.
12dd60 74 68 65 20 72 65 61 64 65 72 0a 73 68 6f 72 74 68 61 6e 64 73 20 23 e2 80 99 20 6f 72 20 23 e2 the.reader.shorthands.#....or.#.
12dd80 80 98 2e 20 20 41 6c 6c 20 6f 74 68 65 72 20 64 69 72 65 63 74 6c 79 20 71 75 6f 74 65 64 20 76 .....All.other.directly.quoted.v
12dda0 61 6c 75 65 73 2c 20 69 6e 63 6c 75 64 69 6e 67 0a 73 79 6d 62 6f 6c 73 20 71 75 6f 74 65 64 20 alues,.including.symbols.quoted.
12ddc0 75 73 69 6e 67 20 e2 80 9c 73 79 6e 74 61 78 e2 80 9d 20 6f 72 20 e2 80 9c 71 75 61 73 69 73 79 using....syntax....or....quasisy
12dde0 6e 74 61 78 e2 80 9d 2c 20 67 65 74 20 74 68 65 20 66 61 63 65 0a e2 80 98 66 6f 6e 74 2d 6c 6f ntax...,.get.the.face....font-lo
12de00 63 6b 2d 63 6f 6e 73 74 61 6e 74 2d 66 61 63 65 e2 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f ck-constant-face........File:.do
12de20 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 65 72 65 c49fz4A.info,..Node:.racket-here
12de40 2d 73 74 72 69 6e 67 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 64 -string-face,..Next:.racket-xp-d
12de60 65 66 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 73 79 ef-face,..Prev:.racket-reader-sy
12de80 6e 74 61 78 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c ntax-quoted-symbol-face,..Up:.Al
12dea0 6c 0a 0a 39 2e 31 2e 34 20 72 61 63 6b 65 74 2d 68 65 72 65 2d 73 74 72 69 6e 67 2d 66 61 63 65 l..9.1.4.racket-here-string-face
12dec0 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a .-----------------------------..
12dee0 46 61 63 65 20 66 6f 72 20 68 65 72 65 20 73 74 72 69 6e 67 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 Face.for.here.strings.....File:.
12df00 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 doc49fz4A.info,..Node:.racket-xp
12df20 2d 64 65 66 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d -def-face,..Next:.racket-xp-use-
12df40 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 68 65 72 65 2d 73 74 72 69 6e 67 2d face,..Prev:.racket-here-string-
12df60 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 35 20 72 61 63 6b 65 74 2d 78 70 2d face,..Up:.All..9.1.5.racket-xp-
12df80 64 65 66 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d def-face.-----------------------
12dfa0 2d 0a 0a 46 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 20 75 -..Face.*note.racket-xp-mode::.u
12dfc0 73 65 73 20 77 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 61 20 64 65 66 69 6e 69 74 69 6f ses.when.point.is.on.a.definitio
12dfe0 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 n.....File:.doc49fz4A.info,..Nod
12e000 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 61 e:.racket-xp-use-face,..Next:.ra
12e020 63 6b 65 74 2d 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b cket-xp-unused-face,..Prev:.rack
12e040 65 74 2d 78 70 2d 64 65 66 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 36 20 et-xp-def-face,..Up:.All..9.1.6.
12e060 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d racket-xp-use-face.-------------
12e080 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 -----------..Face.*note.racket-x
12e0a0 70 2d 6d 6f 64 65 3a 3a 20 75 73 65 73 20 77 68 65 6e 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20 61 p-mode::.uses.when.point.is.on.a
12e0c0 20 75 73 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 .use.....File:.doc49fz4A.info,..
12e0e0 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 65 2c 20 20 4e 65 Node:.racket-xp-unused-face,..Ne
12e100 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 2d 66 61 63 65 2c 20 xt:.racket-xp-tail-target-face,.
12e120 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d 66 61 63 65 2c 20 20 55 70 3a 20 .Prev:.racket-xp-use-face,..Up:.
12e140 41 6c 6c 0a 0a 39 2e 31 2e 37 20 72 61 63 6b 65 74 2d 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 65 All..9.1.7.racket-xp-unused-face
12e160 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 .---------------------------..Fa
12e180 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 20 75 73 65 73 20 74 ce.*note.racket-xp-mode::.uses.t
12e1a0 6f 20 68 69 67 68 6c 69 67 68 74 20 75 6e 75 73 65 64 20 72 65 71 75 69 72 65 73 20 6f 72 0a 64 o.highlight.unused.requires.or.d
12e1c0 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 efinitions.....File:.doc49fz4A.i
12e1e0 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 nfo,..Node:.racket-xp-tail-targe
12e200 74 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f t-face,..Next:.racket-xp-tail-po
12e220 73 69 74 69 6f 6e 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 75 6e sition-face,..Prev:.racket-xp-un
12e240 75 73 65 64 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 38 20 72 61 63 6b 65 used-face,..Up:.All..9.1.8.racke
12e260 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d t-xp-tail-target-face.----------
12e280 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 2a 6e 6f ----------------------..Face.*no
12e2a0 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 20 75 73 65 73 20 74 6f 20 68 69 67 68 te.racket-xp-mode::.uses.to.high
12e2c0 6c 69 67 68 74 20 74 61 72 67 65 74 73 20 6f 66 20 61 20 74 61 69 6c 0a 70 6f 73 69 74 69 6f 6e light.targets.of.a.tail.position
12e2e0 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 .....File:.doc49fz4A.info,..Node
12e300 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 2d 66 61 63 65 2c 20 :.racket-xp-tail-position-face,.
12e320 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 66 61 .Next:.racket-xp-binding-lang-fa
12e340 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 ce,..Prev:.racket-xp-tail-target
12e360 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 39 20 72 61 63 6b 65 74 2d 78 70 -face,..Up:.All..9.1.9.racket-xp
12e380 2d 74 61 69 6c 2d 70 6f 73 69 74 69 6f 6e 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -tail-position-face.------------
12e3a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 2a 6e 6f ----------------------..Face.*no
12e3c0 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 20 75 73 65 73 20 74 6f 20 68 69 67 68 te.racket-xp-mode::.uses.to.high
12e3e0 6c 69 67 68 74 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 6e 20 61 20 74 61 69 6c 0a 70 6f 73 69 light.expressions.in.a.tail.posi
12e400 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 tion.....File:.doc49fz4A.info,..
12e420 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 66 61 63 Node:.racket-xp-binding-lang-fac
12e440 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 e,..Next:.racket-xp-binding-lang
12e460 2d 75 73 65 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c -use-face,..Prev:.racket-xp-tail
12e480 2d 70 6f 73 69 74 69 6f 6e 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 31 30 -position-face,..Up:.All..9.1.10
12e4a0 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 66 61 63 65 0a 2d 2d 2d .racket-xp-binding-lang-face.---
12e4c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a -------------------------------.
12e4e0 0a 46 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 20 67 69 76 .Face.*note.racket-xp-mode::.giv
12e500 65 73 20 74 6f 20 74 68 65 20 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 20 6e 61 6d 65 2e 0a es.to.the.module.language.name..
12e520 0a 20 20 20 53 65 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 e2 80 98 6e 69 6c e2 80 99 2e 0a ....See.the.variable....nil.....
12e540 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 ...File:.doc49fz4A.info,..Node:.
12e560 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 75 73 65 2d 66 61 63 65 2c racket-xp-binding-lang-use-face,
12e580 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 ..Next:.racket-xp-binding-import
12e5a0 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d -face,..Prev:.racket-xp-binding-
12e5c0 6c 61 6e 67 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 31 31 20 72 61 63 6b lang-face,..Up:.All..9.1.11.rack
12e5e0 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 75 73 65 2d 66 61 63 65 0a 2d 2d 2d 2d et-xp-binding-lang-use-face.----
12e600 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12e620 2d 2d 0a 0a 46 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 20 --..Face.*note.racket-xp-mode::.
12e640 67 69 76 65 73 20 75 73 65 73 20 6f 66 20 62 69 6e 64 69 6e 67 73 20 69 6d 70 6f 72 74 65 64 20 gives.uses.of.bindings.imported.
12e660 66 72 6f 6d 20 74 68 65 0a 6d 6f 64 75 6c 65 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 20 20 20 53 65 from.the.module.language......Se
12e680 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 1f 0a 46 69 6c e.the.variable....nil........Fil
12e6a0 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 e:.doc49fz4A.info,..Node:.racket
12e6c0 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 -xp-binding-import-face,..Next:.
12e6e0 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 75 73 65 2d 66 61 63 racket-xp-binding-import-use-fac
12e700 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 e,..Prev:.racket-xp-binding-lang
12e720 2d 75 73 65 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 31 32 20 72 61 63 6b -use-face,..Up:.All..9.1.12.rack
12e740 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d et-xp-binding-import-face.------
12e760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a ------------------------------..
12e780 46 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 20 67 69 76 65 Face.*note.racket-xp-mode::.give
12e7a0 73 20 74 6f 20 69 6d 70 6f 72 74 65 64 20 6d 6f 64 75 6c 65 20 6e 61 6d 65 73 2e 0a 0a 20 20 20 s.to.imported.module.names......
12e7c0 53 65 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 1f 0a 46 See.the.variable....nil........F
12e7e0 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b ile:.doc49fz4A.info,..Node:.rack
12e800 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 75 73 65 2d 66 61 63 65 2c 20 20 et-xp-binding-import-use-face,..
12e820 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 66 61 Next:.racket-xp-binding-local-fa
12e840 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 ce,..Prev:.racket-xp-binding-imp
12e860 6f 72 74 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 31 33 20 72 61 63 6b 65 ort-face,..Up:.All..9.1.13.racke
12e880 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 75 73 65 2d 66 61 63 65 0a 2d 2d 2d t-xp-binding-import-use-face.---
12e8a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12e8c0 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 -----..Face.*note.racket-xp-mode
12e8e0 3a 3a 20 67 69 76 65 73 20 75 73 65 73 20 6f 66 20 69 6d 70 6f 72 74 65 64 20 62 69 6e 64 69 6e ::.gives.uses.of.imported.bindin
12e900 67 73 2e 0a 0a 20 20 20 53 65 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 e2 80 98 6e 69 6c e2 gs......See.the.variable....nil.
12e920 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f .......File:.doc49fz4A.info,..No
12e940 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 66 61 63 65 de:.racket-xp-binding-local-face
12e960 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c ,..Next:.racket-xp-binding-local
12e980 2d 75 73 65 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 -use-face,..Prev:.racket-xp-bind
12e9a0 69 6e 67 2d 69 6d 70 6f 72 74 2d 75 73 65 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 ing-import-use-face,..Up:.All..9
12e9c0 2e 31 2e 31 34 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 66 61 .1.14.racket-xp-binding-local-fa
12e9e0 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ce.-----------------------------
12ea00 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 ------..Face.*note.racket-xp-mod
12ea20 65 3a 3a 20 67 69 76 65 73 20 74 6f 20 6c 6f 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a e::.gives.to.local.definitions..
12ea40 0a 20 20 20 53 65 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 e2 80 98 6e 69 6c e2 80 99 2e 0a ....See.the.variable....nil.....
12ea60 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 ...File:.doc49fz4A.info,..Node:.
12ea80 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 75 73 65 2d 66 61 63 65 racket-xp-binding-local-use-face
12eaa0 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 2d 66 61 ,..Next:.racket-logger-config-fa
12eac0 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 ce,..Prev:.racket-xp-binding-loc
12eae0 61 6c 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 31 35 20 72 61 63 6b 65 74 al-face,..Up:.All..9.1.15.racket
12eb00 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 75 73 65 2d 66 61 63 65 0a 2d 2d 2d 2d 2d -xp-binding-local-use-face.-----
12eb20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12eb40 2d 2d 0a 0a 46 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 65 3a 3a 20 --..Face.*note.racket-xp-mode::.
12eb60 67 69 76 65 73 20 74 6f 20 75 73 65 73 20 6f 66 20 6c 6f 63 61 6c 20 64 65 66 69 6e 69 74 69 6f gives.to.uses.of.local.definitio
12eb80 6e 73 2e 0a 0a 20 20 20 53 65 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 e2 80 98 6e 69 6c e2 ns......See.the.variable....nil.
12eba0 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f .......File:.doc49fz4A.info,..No
12ebc0 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 2d 66 61 63 65 2c 20 20 de:.racket-logger-config-face,..
12ebe0 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 66 61 63 65 2c 20 Next:.racket-logger-topic-face,.
12ec00 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 75 .Prev:.racket-xp-binding-local-u
12ec20 73 65 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 31 36 20 72 61 63 6b 65 74 se-face,..Up:.All..9.1.16.racket
12ec40 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -logger-config-face.------------
12ec60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 66 6f 72 20 2a --------------------..Face.for.*
12ec80 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 3a 3a 20 63 6f 6e 66 69 67 note.racket-logger-mode::.config
12eca0 75 72 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f uration.....File:.doc49fz4A.info
12ecc0 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 66 61 63 ,..Node:.racket-logger-topic-fac
12ece0 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 66 61 74 61 6c 2d 66 61 e,..Next:.racket-logger-fatal-fa
12ed00 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 2d ce,..Prev:.racket-logger-config-
12ed20 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 31 37 20 72 61 63 6b 65 74 2d 6c 6f face,..Up:.All..9.1.17.racket-lo
12ed40 67 67 65 72 2d 74 6f 70 69 63 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d gger-topic-face.----------------
12ed60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 66 6f 72 20 2a 6e 6f 74 65 20 ---------------..Face.for.*note.
12ed80 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 3a 3a 20 74 6f 70 69 63 73 2e 0a 0a 1f 0a racket-logger-mode::.topics.....
12eda0 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 File:.doc49fz4A.info,..Node:.rac
12edc0 6b 65 74 2d 6c 6f 67 67 65 72 2d 66 61 74 61 6c 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 61 ket-logger-fatal-face,..Next:.ra
12ede0 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 65 72 72 6f 72 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 cket-logger-error-face,..Prev:.r
12ee00 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c acket-logger-topic-face,..Up:.Al
12ee20 6c 0a 0a 39 2e 31 2e 31 38 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 66 61 74 61 6c 2d 66 61 l..9.1.18.racket-logger-fatal-fa
12ee40 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ce.-----------------------------
12ee60 2d 2d 0a 0a 46 61 63 65 20 66 6f 72 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 --..Face.for.*note.racket-logger
12ee80 2d 6d 6f 64 65 3a 3a 20 66 61 74 61 6c 20 6c 65 76 65 6c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f -mode::.fatal.level.....File:.do
12eea0 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 c49fz4A.info,..Node:.racket-logg
12eec0 65 72 2d 65 72 72 6f 72 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 er-error-face,..Next:.racket-log
12eee0 67 65 72 2d 77 61 72 6e 69 6e 67 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d ger-warning-face,..Prev:.racket-
12ef00 6c 6f 67 67 65 72 2d 66 61 74 61 6c 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 logger-fatal-face,..Up:.All..9.1
12ef20 2e 31 39 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 65 72 72 6f 72 2d 66 61 63 65 0a 2d 2d 2d .19.racket-logger-error-face.---
12ef40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 ----------------------------..Fa
12ef60 63 65 20 66 6f 72 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 3a ce.for.*note.racket-logger-mode:
12ef80 3a 20 65 72 72 6f 72 20 6c 65 76 65 6c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 :.error.level.....File:.doc49fz4
12efa0 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 77 61 72 A.info,..Node:.racket-logger-war
12efc0 6e 69 6e 67 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d ning-face,..Next:.racket-logger-
12efe0 69 6e 66 6f 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d info-face,..Prev:.racket-logger-
12f000 65 72 72 6f 72 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 32 30 20 72 61 63 error-face,..Up:.All..9.1.20.rac
12f020 6b 65 74 2d 6c 6f 67 67 65 72 2d 77 61 72 6e 69 6e 67 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d ket-logger-warning-face.--------
12f040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 -------------------------..Face.
12f060 66 6f 72 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 3a 3a 20 77 for.*note.racket-logger-mode::.w
12f080 61 72 6e 69 6e 67 20 6c 65 76 65 6c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 arning.level.....File:.doc49fz4A
12f0a0 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 69 6e 66 6f .info,..Node:.racket-logger-info
12f0c0 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 64 65 62 75 -face,..Next:.racket-logger-debu
12f0e0 67 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 77 61 72 g-face,..Prev:.racket-logger-war
12f100 6e 69 6e 67 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 32 31 20 72 61 63 6b ning-face,..Up:.All..9.1.21.rack
12f120 65 74 2d 6c 6f 67 67 65 72 2d 69 6e 66 6f 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d et-logger-info-face.------------
12f140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 66 6f 72 20 2a 6e 6f ------------------..Face.for.*no
12f160 74 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 3a 3a 20 69 6e 66 6f 20 6c 65 76 te.racket-logger-mode::.info.lev
12f180 65 6c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f el.....File:.doc49fz4A.info,..No
12f1a0 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 64 65 62 75 67 2d 66 61 63 65 2c 20 20 4e de:.racket-logger-debug-face,..N
12f1c0 65 78 74 3a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 66 61 63 65 2c 20 20 50 72 65 76 ext:.racket-doc-link-face,..Prev
12f1e0 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 69 6e 66 6f 2d 66 61 63 65 2c 20 20 55 70 3a 20 :.racket-logger-info-face,..Up:.
12f200 41 6c 6c 0a 0a 39 2e 31 2e 32 32 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 64 65 62 75 67 2d All..9.1.22.racket-logger-debug-
12f220 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d face.---------------------------
12f240 2d 2d 2d 2d 0a 0a 46 61 63 65 20 66 6f 72 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 6c 6f 67 67 ----..Face.for.*note.racket-logg
12f260 65 72 2d 6d 6f 64 65 3a 3a 20 64 65 62 75 67 20 6c 65 76 65 6c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 er-mode::.debug.level.....File:.
12f280 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 64 6f doc49fz4A.info,..Node:.racket-do
12f2a0 63 2d 6c 69 6e 6b 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 65 78 74 2d 6c c-link-face,..Next:.racket-ext-l
12f2c0 69 6e 6b 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 64 ink-face,..Prev:.racket-logger-d
12f2e0 65 62 75 67 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 32 33 20 72 61 63 6b ebug-face,..Up:.All..9.1.23.rack
12f300 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d et-doc-link-face.---------------
12f320 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 73 ------------..Face....racket-des
12f340 63 72 69 62 65 2d 6d 6f 64 65 e2 80 99 20 75 73 65 73 20 66 6f 72 20 6c 69 6e 6b 73 20 77 69 74 cribe-mode....uses.for.links.wit
12f360 68 69 6e 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 20 20 4e 6f 74 65 3a 0a 57 68 65 6e 20 73 hin.documentation...Note:.When.s
12f380 6f 6d 65 20 73 70 65 63 69 61 6c 20 66 61 63 65 20 69 73 20 61 6c 72 65 61 64 79 20 73 70 65 63 ome.special.face.is.already.spec
12f3a0 69 66 69 65 64 20 62 79 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 74 68 65 6e ified.by.the.documentation,.then
12f3c0 0a 74 6f 20 61 76 6f 69 64 20 76 69 73 75 61 6c 20 63 6c 75 74 74 65 72 20 74 68 69 73 20 66 61 .to.avoid.visual.clutter.this.fa
12f3e0 63 65 20 69 73 20 4e 4f 54 20 61 6c 73 6f 20 61 64 64 65 64 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 ce.is.NOT.also.added.....File:.d
12f400 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 65 78 74 oc49fz4A.info,..Node:.racket-ext
12f420 2d 6c 69 6e 6b 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6f 75 -link-face,..Next:.racket-doc-ou
12f440 74 70 75 74 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e tput-face,..Prev:.racket-doc-lin
12f460 6b 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 32 34 20 72 61 63 6b 65 74 2d k-face,..Up:.All..9.1.24.racket-
12f480 65 78 74 2d 6c 69 6e 6b 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ext-link-face.------------------
12f4a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 73 63 72 69 ---------..Face....racket-descri
12f4c0 62 65 2d 6d 6f 64 65 e2 80 99 20 75 73 65 73 20 66 6f 72 20 65 78 74 65 72 6e 61 6c 20 6c 69 6e be-mode....uses.for.external.lin
12f4e0 6b 73 2e 20 20 53 65 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 2a 6e 6f 74 65 20 72 61 63 6b ks...See.the.variable.*note.rack
12f500 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 75 6e 63 74 69 6f 6e 3a 3a 2e 0a 0a 1f 0a 46 69 6c et-browse-url-function::.....Fil
12f520 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 e:.doc49fz4A.info,..Node:.racket
12f540 2d 64 6f 63 2d 6f 75 74 70 75 74 2d 66 61 63 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d -doc-output-face,..Next:.racket-
12f560 64 6f 63 2d 6c 69 74 63 68 61 72 2d 66 61 63 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d doc-litchar-face,..Prev:.racket-
12f580 65 78 74 2d 6c 69 6e 6b 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 32 35 20 ext-link-face,..Up:.All..9.1.25.
12f5a0 72 61 63 6b 65 74 2d 64 6f 63 2d 6f 75 74 70 75 74 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d racket-doc-output-face.---------
12f5c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 e2 80 98 72 61 --------------------..Face....ra
12f5e0 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d 6f 64 65 e2 80 99 20 75 73 65 73 20 66 6f 72 20 53 cket-describe-mode....uses.for.S
12f600 63 72 69 62 62 6c 65 20 40 65 78 61 6d 70 6c 65 20 6f 72 20 40 69 6e 74 65 72 61 63 74 69 6f 6e cribble.@example.or.@interaction
12f620 73 0a 6f 75 74 70 75 74 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 s.output.....File:.doc49fz4A.inf
12f640 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 74 63 68 61 72 2d 66 61 63 o,..Node:.racket-doc-litchar-fac
12f660 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 2c 20 20 e,..Next:.racket-repl-message,..
12f680 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6f 75 74 70 75 74 2d 66 61 63 65 2c 20 20 55 Prev:.racket-doc-output-face,..U
12f6a0 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 32 36 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 74 63 68 61 p:.All..9.1.26.racket-doc-litcha
12f6c0 72 2d 66 61 63 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d r-face.-------------------------
12f6e0 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 e2 80 98 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 6d -----..Face....racket-describe-m
12f700 6f 64 65 e2 80 99 20 75 73 65 73 20 66 6f 72 20 53 63 72 69 62 62 6c 65 20 40 6c 69 74 63 68 61 ode....uses.for.Scribble.@litcha
12f720 72 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 r.....File:.doc49fz4A.info,..Nod
12f740 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 2c 20 20 4e 65 78 74 3a 20 72 e:.racket-repl-message,..Next:.r
12f760 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 acket-repl-prompt,..Prev:.racket
12f780 2d 64 6f 63 2d 6c 69 74 63 68 61 72 2d 66 61 63 65 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 -doc-litchar-face,..Up:.All..9.1
12f7a0 2e 32 37 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 0a 2d 2d 2d 2d 2d 2d 2d 2d .27.racket-repl-message.--------
12f7c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 2a 6e 6f 74 65 20 72 ------------------..Face.*note.r
12f7e0 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 20 75 73 65 73 20 66 6f 72 20 6d 65 73 73 61 acket-repl-mode::.uses.for.messa
12f800 67 65 73 20 66 72 6f 6d 20 74 68 65 20 62 61 63 6b 20 65 6e 64 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 ges.from.the.back.end.....File:.
12f820 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 doc49fz4A.info,..Node:.racket-re
12f840 70 6c 2d 70 72 6f 6d 70 74 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 76 61 pl-prompt,..Next:.racket-repl-va
12f860 6c 75 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 65 73 73 61 67 65 2c lue,..Prev:.racket-repl-message,
12f880 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 32 38 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 ..Up:.All..9.1.28.racket-repl-pr
12f8a0 6f 6d 70 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a ompt.-------------------------..
12f8c0 46 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 20 75 73 Face.*note.racket-repl-mode::.us
12f8e0 65 73 20 66 6f 72 20 70 72 6f 6d 70 74 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a es.for.prompts.....File:.doc49fz
12f900 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 76 61 6c 75 4A.info,..Node:.racket-repl-valu
12f920 65 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 e,..Next:.racket-repl-error-mess
12f940 61 67 65 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 70 72 6f 6d 70 74 2c 20 age,..Prev:.racket-repl-prompt,.
12f960 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 32 39 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 76 61 6c .Up:.All..9.1.29.racket-repl-val
12f980 75 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 ue.------------------------..Fac
12f9a0 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 20 75 73 65 73 20 e.*note.racket-repl-mode::.uses.
12f9c0 66 6f 72 20 76 61 6c 75 65 73 20 6f 75 74 70 75 74 20 62 79 20 63 75 72 72 65 6e 74 2d 70 72 69 for.values.output.by.current-pri
12f9e0 6e 74 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f nt.....File:.doc49fz4A.info,..No
12fa00 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 2c 20 20 de:.racket-repl-error-message,..
12fa20 4e 65 78 74 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e Next:.racket-repl-error-location
12fa40 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 76 61 6c 75 65 2c 20 20 55 70 3a ,..Prev:.racket-repl-value,..Up:
12fa60 20 41 6c 6c 0a 0a 39 2e 31 2e 33 30 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6d .All..9.1.30.racket-repl-error-m
12fa80 65 73 73 61 67 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d essage.-------------------------
12faa0 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d -------..Face.*note.racket-repl-
12fac0 6d 6f 64 65 3a 3a 20 75 73 65 73 20 66 6f 72 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 2e 0a mode::.uses.for.error.messages..
12fae0 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 ...File:.doc49fz4A.info,..Node:.
12fb00 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 2c 20 20 4e 65 78 racket-repl-error-location,..Nex
12fb20 74 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 6f 75 74 2c 20 20 50 72 65 76 3a 20 72 61 t:.racket-repl-stdout,..Prev:.ra
12fb40 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 2c 20 20 55 70 3a 20 41 6c cket-repl-error-message,..Up:.Al
12fb60 6c 0a 0a 39 2e 31 2e 33 31 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6c 6f 63 61 l..9.1.31.racket-repl-error-loca
12fb80 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d tion.---------------------------
12fba0 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d ------..Face.*note.racket-repl-m
12fbc0 6f 64 65 3a 3a 20 75 73 65 73 20 66 6f 72 20 65 72 72 6f 72 20 6c 6f 63 61 74 69 6f 6e 73 2e 0a ode::.uses.for.error.locations..
12fbe0 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 ...File:.doc49fz4A.info,..Node:.
12fc00 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 6f 75 74 2c 20 20 4e 65 78 74 3a 20 72 61 63 6b 65 racket-repl-stdout,..Next:.racke
12fc20 74 2d 72 65 70 6c 2d 73 74 64 65 72 72 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 70 t-repl-stderr,..Prev:.racket-rep
12fc40 6c 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e l-error-location,..Up:.All..9.1.
12fc60 33 32 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 6f 75 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 32.racket-repl-stdout.----------
12fc80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 46 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b ---------------..Face.*note.rack
12fca0 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 3a 3a 20 75 73 65 73 20 66 6f 72 20 6f 75 74 70 75 74 20 74 et-repl-mode::.uses.for.output.t
12fcc0 6f 20 63 75 72 72 65 6e 74 2d 6f 75 74 70 75 74 2d 70 6f 72 74 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 o.current-output-port.....File:.
12fce0 64 6f 63 34 39 66 7a 34 41 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 doc49fz4A.info,..Node:.racket-re
12fd00 70 6c 2d 73 74 64 65 72 72 2c 20 20 50 72 65 76 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 pl-stderr,..Prev:.racket-repl-st
12fd20 64 6f 75 74 2c 20 20 55 70 3a 20 41 6c 6c 0a 0a 39 2e 31 2e 33 33 20 72 61 63 6b 65 74 2d 72 65 dout,..Up:.All..9.1.33.racket-re
12fd40 70 6c 2d 73 74 64 65 72 72 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d pl-stderr.----------------------
12fd60 2d 2d 2d 0a 0a 46 61 63 65 20 2a 6e 6f 74 65 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 6d 6f 64 65 ---..Face.*note.racket-repl-mode
12fd80 3a 3a 20 75 73 65 73 20 66 6f 72 20 6f 75 74 70 75 74 20 74 6f 20 63 75 72 72 65 6e 74 2d 65 72 ::.uses.for.output.to.current-er
12fda0 72 6f 72 2d 70 6f 72 74 2e 0a 0a 0a 1f 0a 54 61 67 20 54 61 62 6c 65 3a 0a 4e 6f 64 65 3a 20 54 ror-port......Tag.Table:.Node:.T
12fdc0 6f 70 7f 33 30 39 0a 4e 6f 64 65 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 7f 36 35 37 31 0a 4e op.309.Node:.Introduction.6571.N
12fde0 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 20 55 70 64 61 74 65 20 61 6e 64 20 55 6e 69 6e 73 74 61 6c ode:.Install.Update.and.Uninstal
12fe00 6c 7f 37 38 30 30 0a 4e 6f 64 65 3a 20 55 73 65 20 45 6d 61 63 73 20 32 38 31 20 6f 72 20 6e 65 l.7800.Node:.Use.Emacs.281.or.ne
12fe20 77 65 72 20 77 69 74 68 20 4e 6f 6e 47 4e 55 20 45 4c 50 41 7f 38 35 30 39 0a 4e 6f 64 65 3a 20 wer.with.NonGNU.ELPA.8509.Node:.
12fe40 43 6f 6e 66 69 67 75 72 65 20 45 6d 61 63 73 20 74 6f 20 75 73 65 20 4d 45 4c 50 41 7f 38 39 33 Configure.Emacs.to.use.MELPA.893
12fe60 34 0a 4e 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 7f 39 38 31 33 0a 4e 6f 64 65 3a 20 4d 69 6e 69 6d 4.Node:.Install.9813.Node:.Minim
12fe80 61 6c 20 52 61 63 6b 65 74 7f 31 30 34 33 38 0a 4e 6f 64 65 3a 20 55 6e 69 6e 73 74 61 6c 6c 7f al.Racket.10438.Node:.Uninstall.
12fea0 31 31 37 34 38 0a 4e 6f 64 65 3a 20 55 70 64 61 74 65 7f 31 32 30 35 35 0a 4e 6f 64 65 3a 20 55 11748.Node:.Update.12055.Node:.U
12fec0 70 67 72 61 64 69 6e 67 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 7f 31 32 32 33 37 0a 4e 6f 64 65 pgrading.all.packages.12237.Node
12fee0 3a 20 55 70 64 61 74 69 6e 67 20 6a 75 73 74 20 52 61 63 6b 65 74 20 4d 6f 64 65 7f 31 33 31 39 :.Updating.just.Racket.Mode.1319
12ff00 35 0a 4e 6f 64 65 3a 20 43 6f 6e 66 69 67 75 72 65 7f 31 33 37 35 39 0a 4e 6f 64 65 3a 20 57 68 5.Node:.Configure.13759.Node:.Wh
12ff20 69 63 68 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 74 6f 20 75 73 65 7f 31 35 30 36 38 0a 4e 6f 64 65 ich.major.mode.to.use.15068.Node
12ff40 3a 20 4b 65 79 20 62 69 6e 64 69 6e 67 73 7f 31 37 39 32 34 0a 4e 6f 64 65 3a 20 46 6f 6e 74 2d :.Key.bindings.17924.Node:.Font-
12ff60 6c 6f 63 6b 20 28 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 29 7f 31 38 35 38 35 lock.(syntax.highlighting).18585
12ff80 0a 4e 6f 64 65 3a 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 61 74 20 70 6f 69 6e 74 7f 32 30 30 33 38 .Node:.Completion.at.point.20038
12ffa0 0a 4e 6f 64 65 3a 20 43 6f 6d 70 6c 65 74 69 6f 6e 20 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 7f .Node:.Completion.in.minibuffer.
12ffc0 32 31 39 39 38 0a 4e 6f 64 65 3a 20 58 72 65 66 20 28 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 21998.Node:.Xref.(definitions.an
12ffe0 64 20 72 65 66 65 72 65 6e 63 65 73 29 7f 32 32 36 34 38 0a 4e 6f 64 65 3a 20 49 6e 64 65 6e 74 d.references).22648.Node:.Indent
130000 7f 32 35 36 30 33 0a 4e 6f 64 65 3a 20 70 61 72 65 64 69 74 7f 32 36 33 36 38 0a 4e 6f 64 65 3a .25603.Node:.paredit.26368.Node:
130020 20 73 6d 61 72 74 70 61 72 65 6e 73 7f 32 38 33 36 39 0a 4e 6f 64 65 3a 20 41 70 70 65 61 72 61 .smartparens.28369.Node:.Appeara
130040 6e 63 65 20 6f 66 20 70 61 72 65 6e 74 68 65 73 65 73 7f 32 38 39 32 32 0a 4e 6f 64 65 3a 20 45 nce.of.parentheses.28922.Node:.E
130060 64 69 74 20 62 75 66 66 65 72 73 20 61 6e 64 20 52 45 50 4c 20 62 75 66 66 65 72 73 7f 32 39 33 dit.buffers.and.REPL.buffers.293
130080 31 34 0a 4e 6f 64 65 3a 20 65 6c 64 6f 63 7f 33 30 38 35 36 0a 4e 6f 64 65 3a 20 53 74 61 72 74 14.Node:.eldoc.30856.Node:.Start
1300a0 20 66 61 73 74 65 72 7f 33 32 31 31 37 0a 4e 6f 64 65 3a 20 55 6e 69 63 6f 64 65 20 69 6e 70 75 .faster.32117.Node:.Unicode.inpu
1300c0 74 20 6d 65 74 68 6f 64 7f 33 32 33 34 32 0a 4e 6f 64 65 3a 20 4c 69 67 61 74 75 72 65 73 7f 33 t.method.32342.Node:.Ligatures.3
1300e0 33 30 35 36 0a 4e 6f 64 65 3a 20 41 72 63 68 69 74 65 63 74 75 72 65 7f 33 33 37 34 31 0a 52 65 3056.Node:.Architecture.33741.Re
130100 66 3a 20 41 72 63 68 69 74 65 63 74 75 72 65 2d 46 6f 6f 74 6e 6f 74 65 2d 31 7f 33 36 38 32 38 f:.Architecture-Footnote-1.36828
130120 0a 4e 6f 64 65 3a 20 52 65 66 65 72 65 6e 63 65 7f 33 37 32 31 33 0a 4e 6f 64 65 3a 20 43 6f 6d .Node:.Reference.37213.Node:.Com
130140 6d 61 6e 64 73 7f 33 37 37 30 36 0a 4e 6f 64 65 3a 20 45 64 69 74 7f 33 37 39 33 31 0a 4e 6f 64 mands.37706.Node:.Edit.37931.Nod
130160 65 3a 20 72 61 63 6b 65 74 2d 6d 6f 64 65 7f 33 38 34 38 35 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 e:.racket-mode.38485.Node:.racke
130180 74 2d 69 6e 73 65 72 74 2d 6c 61 6d 62 64 61 7f 34 31 34 38 39 0a 4e 6f 64 65 3a 20 72 61 63 6b t-insert-lambda.41489.Node:.rack
1301a0 65 74 2d 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 7f 34 31 37 37 35 0a 4e 6f 64 65 3a 20 72 61 et-fold-all-tests.41775.Node:.ra
1301c0 63 6b 65 74 2d 75 6e 66 6f 6c 64 2d 61 6c 6c 2d 74 65 73 74 73 7f 34 32 30 31 30 0a 4e 6f 64 65 cket-unfold-all-tests.42010.Node
1301e0 3a 20 72 61 63 6b 65 74 2d 74 69 64 79 2d 72 65 71 75 69 72 65 73 7f 34 32 32 35 31 0a 4e 6f 64 :.racket-tidy-requires.42251.Nod
130200 65 3a 20 72 61 63 6b 65 74 2d 74 72 69 6d 2d 72 65 71 75 69 72 65 73 7f 34 33 32 39 33 0a 4e 6f e:.racket-trim-requires.43293.No
130220 64 65 3a 20 72 61 63 6b 65 74 2d 62 61 73 65 2d 72 65 71 75 69 72 65 73 7f 34 34 30 30 31 0a 4e de:.racket-base-requires.44001.N
130240 6f 64 65 3a 20 72 61 63 6b 65 74 2d 61 64 64 2d 72 65 71 75 69 72 65 2d 66 6f 72 2d 69 64 65 6e ode:.racket-add-require-for-iden
130260 74 69 66 69 65 72 7f 34 35 32 36 34 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 tifier.45264.Node:.racket-indent
130280 2d 6c 69 6e 65 7f 34 36 31 36 38 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f -line.46168.Node:.racket-smart-o
1302a0 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 7f 35 30 31 31 38 0a 4e 6f 64 65 3a 20 72 61 63 pen-bracket-mode.50118.Node:.rac
1302c0 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 7f 35 32 35 35 33 0a 4e 6f 64 65 3a 20 72 ket-insert-closing.52553.Node:.r
1302e0 61 63 6b 65 74 2d 63 79 63 6c 65 2d 70 61 72 65 6e 2d 73 68 61 70 65 73 7f 35 33 30 34 34 0a 4e acket-cycle-paren-shapes.53044.N
130300 6f 64 65 3a 20 72 61 63 6b 65 74 2d 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 7f 35 33 32 ode:.racket-backward-up-list.532
130320 39 33 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 75 6e 69 63 6f 64 65 2d 69 6e 70 75 74 2d 6d 65 93.Node:.racket-unicode-input-me
130340 74 68 6f 64 2d 65 6e 61 62 6c 65 7f 35 33 38 35 31 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 61 thod-enable.53851.Node:.racket-a
130360 6c 69 67 6e 7f 35 35 39 34 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 75 6e 61 6c 69 67 6e 7f lign.55942.Node:.racket-unalign.
130380 35 37 39 39 37 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 63 6f 6d 70 6c 65 74 65 2d 61 74 2d 70 57997.Node:.racket-complete-at-p
1303a0 6f 69 6e 74 7f 35 38 33 32 38 0a 4e 6f 64 65 3a 20 48 61 73 68 20 4c 61 6e 67 73 7f 35 38 37 34 oint.58328.Node:.Hash.Langs.5874
1303c0 38 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 65 7f 35 39 8.Node:.racket-hash-lang-mode.59
1303e0 30 34 33 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 62 61 63 6b 77 043.Node:.racket-hash-lang-backw
130400 61 72 64 7f 36 32 37 36 31 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 ard.62761.Node:.racket-hash-lang
130420 2d 66 6f 72 77 61 72 64 7f 36 33 30 34 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 -forward.63042.Node:.racket-hash
130440 2d 6c 61 6e 67 2d 75 70 7f 36 33 33 31 38 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 -lang-up.63318.Node:.racket-hash
130460 2d 6c 61 6e 67 2d 64 6f 77 6e 7f 36 33 35 38 34 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 -lang-down.63584.Node:.racket-ha
130480 73 68 2d 6c 61 6e 67 2d 43 2d 4d 2d 71 2d 64 77 69 6d 7f 36 33 38 35 30 0a 4e 6f 64 65 3a 20 45 sh-lang-C-M-q-dwim.63850.Node:.E
1304a0 78 70 6c 6f 72 65 7f 36 34 33 36 37 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 6d 6f 64 xplore.64367.Node:.racket-xp-mod
1304c0 65 7f 36 34 38 39 39 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 73 63 72 69 62 65 e.64899.Node:.racket-xp-describe
1304e0 7f 37 32 39 30 34 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 64 6f 63 75 6d 65 6e 74 61 .72904.Node:.racket-xp-documenta
130500 74 69 6f 6e 7f 37 34 35 30 34 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d tion.74504.Node:.racket-xp-next-
130520 64 65 66 69 6e 69 74 69 6f 6e 7f 37 35 36 35 36 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 definition.75656.Node:.racket-xp
130540 2d 70 72 65 76 69 6f 75 73 2d 64 65 66 69 6e 69 74 69 6f 6e 7f 37 35 39 31 37 0a 4e 6f 64 65 3a -previous-definition.75917.Node:
130560 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 75 73 65 7f 37 36 31 38 35 0a 4e 6f 64 65 3a 20 .racket-xp-next-use.76185.Node:.
130580 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 75 73 65 7f 37 36 34 34 32 0a 4e 6f 64 racket-xp-previous-use.76442.Nod
1305a0 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 6e 65 78 74 2d 65 72 72 6f 72 7f 37 36 37 30 32 0a 4e 6f e:.racket-xp-next-error.76702.No
1305c0 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 7f 37 36 39 de:.racket-xp-previous-error.769
1305e0 37 30 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 75 70 7f 37 37 32 34 39 70.Node:.racket-xp-tail-up.77249
130600 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 64 6f 77 6e 7f 37 37 37 31 31 .Node:.racket-xp-tail-down.77711
130620 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 6e 65 78 74 2d 73 69 62 6c 69 .Node:.racket-xp-tail-next-sibli
130640 6e 67 7f 37 37 39 39 30 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 72 ng.77990.Node:.racket-xp-tail-pr
130660 65 76 69 6f 75 73 2d 73 69 62 6c 69 6e 67 7f 37 38 32 39 30 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 evious-sibling.78290.Node:.racke
130680 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 7f 37 38 36 31 30 0a 4e 6f 64 t-documentation-search.78610.Nod
1306a0 65 3a 20 72 61 63 6b 65 74 2d 64 65 73 63 72 69 62 65 2d 73 65 61 72 63 68 7f 37 39 36 33 36 0a e:.racket-describe-search.79636.
1306c0 4e 6f 64 65 3a 20 52 75 6e 7f 38 30 33 37 35 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 Node:.Run.80375.Node:.racket-rep
1306e0 6c 2d 6d 6f 64 65 7f 38 30 38 34 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 75 6e 7f 38 33 l-mode.80842.Node:.racket-run.83
130700 39 33 33 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 75 6e 2d 61 6e 64 2d 73 77 69 74 63 68 2d 933.Node:.racket-run-and-switch-
130720 74 6f 2d 72 65 70 6c 7f 38 35 39 38 34 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 75 6e 2d 6d to-repl.85984.Node:.racket-run-m
130740 6f 64 75 6c 65 2d 61 74 2d 70 6f 69 6e 74 7f 38 36 34 33 38 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 odule-at-point.86438.Node:.racke
130760 74 2d 72 65 70 6c 7f 38 36 39 34 33 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 64 t-repl.86943.Node:.racket-repl-d
130780 65 73 63 72 69 62 65 7f 38 37 38 37 38 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d escribe.87878.Node:.racket-repl-
1307a0 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 7f 38 39 33 36 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 documentation.89362.Node:.racket
1307c0 2d 72 61 63 6b 65 74 7f 39 30 34 37 38 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 -racket.90478.Node:.racket-profi
1307e0 6c 65 7f 39 30 38 31 35 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 70 72 6f 66 69 6c 65 2d 6d 6f le.90815.Node:.racket-profile-mo
130800 64 65 7f 39 31 35 33 31 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 7f 39 32 35 de.91531.Node:.racket-logger.925
130820 32 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 6d 6f 64 65 7f 39 32 37 34 22.Node:.racket-logger-mode.9274
130840 31 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 6d 6f 64 65 7f 39 33 38 37 37 0a 1.Node:.racket-debug-mode.93877.
130860 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 7f 39 37 31 35 38 0a 4e 6f Node:.racket-repl-clear.97158.No
130880 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 63 6c 65 61 72 2d 6c 65 61 76 69 6e 67 2d 6c 61 de:.racket-repl-clear-leaving-la
1308a0 73 74 2d 70 72 6f 6d 70 74 7f 39 37 37 34 33 0a 4e 6f 64 65 3a 20 54 65 73 74 7f 39 38 30 35 36 st-prompt.97743.Node:.Test.98056
1308c0 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 74 65 73 74 7f 39 38 31 39 39 0a 4e 6f 64 65 3a 20 72 .Node:.racket-test.98199.Node:.r
1308e0 61 63 6b 65 74 2d 72 61 63 6f 2d 74 65 73 74 7f 39 39 30 31 35 0a 4e 6f 64 65 3a 20 45 76 61 6c acket-raco-test.99015.Node:.Eval
130900 7f 39 39 33 36 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 72 65 67 69 6f 6e 7f .99362.Node:.racket-send-region.
130920 39 39 35 35 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 64 65 66 69 6e 69 74 69 99552.Node:.racket-send-definiti
130940 6f 6e 7f 39 39 37 36 38 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 65 6e 64 2d 6c 61 73 74 2d on.99768.Node:.racket-send-last-
130960 73 65 78 70 7f 31 30 30 30 31 35 0a 4e 6f 64 65 3a 20 43 6f 6c 6c 65 63 74 69 6f 6e 73 7f 31 30 sexp.100015.Node:.Collections.10
130980 30 35 39 35 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6f 70 65 6e 2d 72 65 71 75 69 72 65 2d 70 0595.Node:.racket-open-require-p
1309a0 61 74 68 7f 31 30 30 37 36 30 0a 4e 6f 64 65 3a 20 4d 61 63 72 6f 20 65 78 70 61 6e 64 7f 31 30 ath.100760.Node:.Macro.expand.10
1309c0 31 33 36 39 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 74 65 70 70 65 72 2d 6d 6f 64 65 7f 31 1369.Node:.racket-stepper-mode.1
1309e0 30 31 36 33 37 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 66 69 6c 65 7f 31 01637.Node:.racket-expand-file.1
130a00 30 32 37 36 39 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 72 65 67 69 6f 6e 02769.Node:.racket-expand-region
130a20 7f 31 30 33 34 37 30 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 64 65 66 69 .103470.Node:.racket-expand-defi
130a40 6e 69 74 69 6f 6e 7f 31 30 33 38 38 31 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e nition.103881.Node:.racket-expan
130a60 64 2d 6c 61 73 74 2d 73 65 78 70 7f 31 30 34 33 31 35 0a 4e 6f 64 65 3a 20 4f 74 68 65 72 7f 31 d-last-sexp.104315.Node:.Other.1
130a80 30 34 37 31 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 64 65 62 75 67 2d 74 6f 67 67 6c 65 2d 04712.Node:.racket-debug-toggle-
130aa0 62 72 65 61 6b 70 6f 69 6e 74 7f 31 30 34 39 31 30 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6d breakpoint.104910.Node:.racket-m
130ac0 6f 64 65 2d 73 74 61 72 74 2d 66 61 73 74 65 72 7f 31 30 36 37 38 32 0a 4e 6f 64 65 3a 20 72 61 ode-start-faster.106782.Node:.ra
130ae0 63 6b 65 74 2d 6d 6f 64 65 2d 73 74 61 72 74 2d 73 6c 6f 77 65 72 7f 31 30 38 31 36 32 0a 4e 6f cket-mode-start-slower.108162.No
130b00 64 65 3a 20 56 61 72 69 61 62 6c 65 73 7f 31 30 38 34 35 33 0a 4e 6f 64 65 3a 20 47 65 6e 65 72 de:.Variables.108453.Node:.Gener
130b20 61 6c 20 76 61 72 69 61 62 6c 65 73 7f 31 30 38 37 39 34 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 al.variables.108794.Node:.racket
130b40 2d 70 72 6f 67 72 61 6d 7f 31 30 39 32 38 35 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 63 6f 6d -program.109285.Node:.racket-com
130b60 6d 61 6e 64 2d 74 69 6d 65 6f 75 74 7f 31 30 39 36 31 34 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 mand-timeout.109614.Node:.racket
130b80 2d 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 7f 31 31 30 30 38 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 -memory-limit.110082.Node:.racke
130ba0 74 2d 65 72 72 6f 72 2d 63 6f 6e 74 65 78 74 7f 31 31 30 36 38 36 0a 4e 6f 64 65 3a 20 72 61 63 t-error-context.110686.Node:.rac
130bc0 6b 65 74 2d 75 73 65 72 2d 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 61 72 67 75 6d 65 6e 74 73 7f ket-user-command-line-arguments.
130be0 31 31 31 38 30 31 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 66 111801.Node:.racket-browse-url-f
130c00 75 6e 63 74 69 6f 6e 7f 31 31 32 36 36 37 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 61 unction.112667.Node:.racket-xp-a
130c20 66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 66 72 65 73 68 2d 64 65 6c 61 79 7f 31 31 32 39 34 30 fter-change-refresh-delay.112940
130c40 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 68 69 67 68 6c 69 67 68 74 2d 75 6e 75 73 65 .Node:.racket-xp-highlight-unuse
130c60 64 2d 72 65 67 65 78 70 7f 31 31 33 33 35 35 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d d-regexp.113355.Node:.racket-xp-
130c80 61 64 64 2d 62 69 6e 64 69 6e 67 2d 66 61 63 65 73 7f 31 31 33 38 30 32 0a 4e 6f 64 65 3a 20 72 add-binding-faces.113802.Node:.r
130ca0 61 63 6b 65 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 6c 6f 63 61 74 acket-documentation-search-locat
130cc0 69 6f 6e 7f 31 31 34 36 35 31 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 65 78 70 61 6e 64 2d 68 ion.114651.Node:.racket-expand-h
130ce0 69 64 69 6e 67 7f 31 31 35 35 31 33 0a 4e 6f 64 65 3a 20 48 61 73 68 20 6c 61 6e 67 20 76 61 72 iding.115513.Node:.Hash.lang.var
130d00 69 61 62 6c 65 73 7f 31 31 35 37 36 33 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d iables.115763.Node:.racket-hash-
130d20 6c 61 6e 67 2d 74 6f 6b 65 6e 2d 66 61 63 65 2d 61 6c 69 73 74 7f 31 31 36 30 34 36 0a 4e 6f 64 lang-token-face-alist.116046.Nod
130d40 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 70 61 69 72 73 7f 31 31 37 34 39 31 e:.racket-hash-lang-pairs.117491
130d60 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c .Node:.racket-hash-lang-module-l
130d80 61 6e 67 75 61 67 65 2d 68 6f 6f 6b 7f 31 31 38 30 39 34 0a 4e 6f 64 65 3a 20 52 45 50 4c 20 76 anguage-hook.118094.Node:.REPL.v
130da0 61 72 69 61 62 6c 65 73 7f 31 32 31 35 32 37 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 ariables.121527.Node:.racket-rep
130dc0 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 7f 31 32 31 39 39 31 0a 4e 6f l-buffer-name-function.121991.No
130de0 64 65 3a 20 72 61 63 6b 65 74 2d 73 75 62 6d 6f 64 75 6c 65 73 2d 74 6f 2d 72 75 6e 7f 31 32 33 de:.racket-submodules-to-run.123
130e00 30 32 34 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 68 69 73 74 6f 72 79 2d 64 69 024.Node:.racket-repl-history-di
130e20 72 65 63 74 6f 72 79 7f 31 32 33 37 36 39 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 68 69 73 74 rectory.123769.Node:.racket-hist
130e40 6f 72 79 2d 66 69 6c 74 65 72 2d 72 65 67 65 78 70 7f 31 32 34 30 35 30 0a 4e 6f 64 65 3a 20 72 ory-filter-regexp.124050.Node:.r
130e60 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 69 6e 6c 69 6e 65 7f 31 32 34 34 30 30 0a 4e 6f 64 65 3a acket-images-inline.124400.Node:
130e80 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 6d 61 67 69 63 6b 2d 70 72 6f 70 73 7f 31 32 34 36 34 36 .racket-imagemagick-props.124646
130ea0 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 6b 65 65 70 2d 6c 61 73 74 7f 31 .Node:.racket-images-keep-last.1
130ec0 32 35 32 35 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 69 6d 61 67 65 73 2d 73 79 73 74 65 6d 25252.Node:.racket-images-system
130ee0 2d 76 69 65 77 65 72 7f 31 32 35 35 30 34 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 70 72 65 74 -viewer.125504.Node:.racket-pret
130f00 74 79 2d 70 72 69 6e 74 7f 31 32 35 37 37 36 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 ty-print.125776.Node:.racket-rep
130f20 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 7f 31 32 36 30 31 35 0a 4e 6f 64 65 3a 20 4f 74 68 65 l-command-file.126015.Node:.Othe
130f40 72 20 76 61 72 69 61 62 6c 65 73 7f 31 32 36 32 33 33 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d r.variables.126233.Node:.racket-
130f60 69 6e 64 65 6e 74 2d 63 75 72 6c 79 2d 61 73 2d 73 65 71 75 65 6e 63 65 7f 31 32 36 36 34 39 0a indent-curly-as-sequence.126649.
130f80 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 69 6e 64 65 6e 74 2d 73 65 71 75 65 6e 63 65 2d 64 65 70 Node:.racket-indent-sequence-dep
130fa0 74 68 7f 31 32 37 30 33 30 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 70 72 65 74 74 79 2d 6c 61 th.127030.Node:.racket-pretty-la
130fc0 6d 62 64 61 7f 31 32 37 37 31 38 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f mbda.127718.Node:.racket-smart-o
130fe0 70 65 6e 2d 62 72 61 63 6b 65 74 2d 65 6e 61 62 6c 65 7f 31 32 38 31 32 33 0a 4e 6f 64 65 3a 20 pen-bracket-enable.128123.Node:.
131000 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 7f 31 32 38 35 37 37 0a 4e 6f 64 65 racket-logger-config.128577.Node
131020 3a 20 72 61 63 6b 65 74 2d 62 65 66 6f 72 65 2d 72 75 6e 2d 68 6f 6f 6b 7f 31 32 39 34 32 36 0a :.racket-before-run-hook.129426.
131040 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 61 66 74 65 72 2d 72 75 6e 2d 68 6f 6f 6b 7f 31 33 30 30 Node:.racket-after-run-hook.1300
131060 32 36 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 65 78 70 2d 63 6f 6d 6d 65 6e 74 2d 66 61 64 26.Node:.racket-sexp-comment-fad
131080 65 7f 31 33 30 36 32 39 0a 4e 6f 64 65 3a 20 45 78 70 65 72 69 6d 65 6e 74 61 6c 20 64 65 62 75 e.130629.Node:.Experimental.debu
1310a0 67 67 65 72 20 76 61 72 69 61 62 6c 65 73 7f 31 33 31 33 33 31 0a 4e 6f 64 65 3a 20 72 61 63 6b gger.variables.131331.Node:.rack
1310c0 65 74 2d 64 65 62 75 67 67 61 62 6c 65 2d 66 69 6c 65 73 7f 31 33 31 35 37 34 0a 4e 6f 64 65 3a et-debuggable-files.131574.Node:
1310e0 20 53 68 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 7f 31 33 32 32 30 30 0a 4e 6f 64 65 .Showing.information.132200.Node
131100 3a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 66 75 6e 63 74 69 6f 6e 73 7f 31 33 32 34 35 37 0a 4e :.racket-show-functions.132457.N
131120 6f 64 65 3a 20 52 75 6e 6e 69 6e 67 20 72 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d ode:.Running.racket.and.raco.com
131140 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 7f 31 33 33 mands.in.a.shell.or.terminal.133
131160 35 35 30 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 68 65 6c 6c 2d 6f 72 2d 74 65 72 6d 69 6e 550.Node:.racket-shell-or-termin
131180 61 6c 2d 66 75 6e 63 74 69 6f 6e 7f 31 33 33 38 35 31 0a 4e 6f 64 65 3a 20 43 6f 6e 66 69 67 75 al-function.133851.Node:.Configu
1311a0 72 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 7f 31 33 34 34 31 30 0a 4e 6f 64 65 3a 20 53 68 ration.functions.134410.Node:.Sh
1311c0 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 28 31 29 7f 31 33 34 38 34 38 0a 4e 6f 64 owing.information.(1).134848.Nod
1311e0 65 3a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 73 65 75 64 6f 2d 74 6f 6f 6c 74 69 70 7f 31 33 e:.racket-show-pseudo-tooltip.13
131200 35 31 35 33 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 65 63 68 6f 2d 61 72 65 61 5153.Node:.racket-show-echo-area
131220 7f 31 33 35 38 37 30 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 68 65 61 64 65 72 .135870.Node:.racket-show-header
131240 2d 6c 69 6e 65 7f 31 33 36 32 38 36 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 73 68 6f 77 2d 70 -line.136286.Node:.racket-show-p
131260 6f 73 2d 74 69 70 7f 31 33 36 38 36 33 0a 4e 6f 64 65 3a 20 41 73 73 6f 63 69 61 74 69 6e 67 20 os-tip.136863.Node:.Associating.
131280 65 64 69 74 20 62 75 66 66 65 72 73 20 77 69 74 68 20 52 45 50 4c 20 62 75 66 66 65 72 73 7f 31 edit.buffers.with.REPL.buffers.1
1312a0 33 37 31 39 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 37192.Node:.racket-repl-buffer-n
1312c0 61 6d 65 2d 73 68 61 72 65 64 7f 31 33 37 36 30 34 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 ame-shared.137604.Node:.racket-r
1312e0 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 75 6e 69 71 75 65 7f 31 33 38 30 33 38 0a 4e 6f epl-buffer-name-unique.138038.No
131300 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 70 72 6f 6a de:.racket-repl-buffer-name-proj
131320 65 63 74 7f 31 33 38 35 30 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 70 72 6f 6a 65 63 74 2d ect.138502.Node:.racket-project-
131340 72 6f 6f 74 7f 31 33 39 30 32 39 0a 4e 6f 64 65 3a 20 42 72 6f 77 73 69 6e 67 20 66 69 6c 65 20 root.139029.Node:.Browsing.file.
131360 55 52 4c 73 20 77 69 74 68 20 61 6e 63 68 6f 72 73 7f 31 33 39 35 31 35 0a 4e 6f 64 65 3a 20 72 URLs.with.anchors.139515.Node:.r
131380 61 63 6b 65 74 2d 62 72 6f 77 73 65 2d 75 72 6c 2d 75 73 69 6e 67 2d 74 65 6d 70 6f 72 61 72 79 acket-browse-url-using-temporary
1313a0 2d 66 69 6c 65 7f 31 33 39 38 31 36 0a 4e 6f 64 65 3a 20 43 6f 6e 66 69 67 75 72 69 6e 67 20 62 -file.139816.Node:.Configuring.b
1313c0 61 63 6b 20 65 6e 64 73 7f 31 34 30 39 30 35 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 61 64 64 ack.ends.140905.Node:.racket-add
1313e0 2d 62 61 63 6b 2d 65 6e 64 7f 31 34 31 31 38 34 0a 4e 6f 64 65 3a 20 52 75 6e 6e 69 6e 67 20 72 -back-end.141184.Node:.Running.r
131400 61 63 6b 65 74 20 61 6e 64 20 72 61 63 6f 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 61 20 73 68 65 acket.and.raco.commands.in.a.she
131420 6c 6c 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 28 31 29 7f 31 34 35 39 35 32 0a 4e 6f 64 65 3a 20 ll.or.terminal.(1).145952.Node:.
131440 72 61 63 6b 65 74 2d 73 68 65 6c 6c 7f 31 34 36 33 30 36 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 racket-shell.146306.Node:.racket
131460 2d 74 65 72 6d 7f 31 34 36 36 30 35 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 61 6e 73 69 2d 74 -term.146605.Node:.racket-ansi-t
131480 65 72 6d 7f 31 34 36 39 32 35 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 76 74 65 72 6d 7f 31 34 erm.146925.Node:.racket-vterm.14
1314a0 37 32 36 35 0a 4e 6f 64 65 3a 20 46 61 63 65 73 7f 31 34 37 35 39 39 0a 4e 6f 64 65 3a 20 41 6c 7265.Node:.Faces.147599.Node:.Al
1314c0 6c 7f 31 34 37 37 31 34 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6b 65 79 77 6f 72 64 2d 61 72 l.147714.Node:.racket-keyword-ar
1314e0 67 75 6d 65 6e 74 2d 66 61 63 65 7f 31 34 38 37 36 33 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d gument-face.148763.Node:.racket-
131500 72 65 61 64 65 72 2d 71 75 6f 74 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 7f 31 34 38 39 38 33 reader-quoted-symbol-face.148983
131520 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 61 64 65 72 2d 73 79 6e 74 61 78 2d 71 75 6f 74 .Node:.racket-reader-syntax-quot
131540 65 64 2d 73 79 6d 62 6f 6c 2d 66 61 63 65 7f 31 34 39 35 30 33 0a 4e 6f 64 65 3a 20 72 61 63 6b ed-symbol-face.149503.Node:.rack
131560 65 74 2d 68 65 72 65 2d 73 74 72 69 6e 67 2d 66 61 63 65 7f 31 35 30 30 33 38 0a 4e 6f 64 65 3a et-here-string-face.150038.Node:
131580 20 72 61 63 6b 65 74 2d 78 70 2d 64 65 66 2d 66 61 63 65 7f 31 35 30 32 36 34 0a 4e 6f 64 65 3a .racket-xp-def-face.150264.Node:
1315a0 20 72 61 63 6b 65 74 2d 78 70 2d 75 73 65 2d 66 61 63 65 7f 31 35 30 35 30 30 0a 4e 6f 64 65 3a .racket-xp-use-face.150500.Node:
1315c0 20 72 61 63 6b 65 74 2d 78 70 2d 75 6e 75 73 65 64 2d 66 61 63 65 7f 31 35 30 37 32 37 0a 4e 6f .racket-xp-unused-face.150727.No
1315e0 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 74 61 72 67 65 74 2d 66 61 63 65 7f 31 de:.racket-xp-tail-target-face.1
131600 35 30 39 38 39 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 74 61 69 6c 2d 70 6f 73 69 74 50989.Node:.racket-xp-tail-posit
131620 69 6f 6e 2d 66 61 63 65 7f 31 35 31 32 36 37 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d ion-face.151267.Node:.racket-xp-
131640 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 66 61 63 65 7f 31 35 31 35 35 39 0a 4e 6f 64 65 3a 20 72 binding-lang-face.151559.Node:.r
131660 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 61 6e 67 2d 75 73 65 2d 66 61 63 65 7f 31 acket-xp-binding-lang-use-face.1
131680 35 31 38 37 33 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 69 6d 51873.Node:.racket-xp-binding-im
1316a0 70 6f 72 74 2d 66 61 63 65 7f 31 35 32 32 31 39 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 port-face.152219.Node:.racket-xp
1316c0 2d 62 69 6e 64 69 6e 67 2d 69 6d 70 6f 72 74 2d 75 73 65 2d 66 61 63 65 7f 31 35 32 35 34 31 0a -binding-import-use-face.152541.
1316e0 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e 67 2d 6c 6f 63 61 6c 2d 66 61 Node:.racket-xp-binding-local-fa
131700 63 65 7f 31 35 32 38 36 39 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 78 70 2d 62 69 6e 64 69 6e ce.152869.Node:.racket-xp-bindin
131720 67 2d 6c 6f 63 61 6c 2d 75 73 65 2d 66 61 63 65 7f 31 35 33 31 38 35 0a 4e 6f 64 65 3a 20 72 61 g-local-use-face.153185.Node:.ra
131740 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 63 6f 6e 66 69 67 2d 66 61 63 65 7f 31 35 33 35 30 39 0a 4e cket-logger-config-face.153509.N
131760 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 74 6f 70 69 63 2d 66 61 63 65 7f 31 35 ode:.racket-logger-topic-face.15
131780 33 37 37 30 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 66 61 74 61 6c 2d 66 3770.Node:.racket-logger-fatal-f
1317a0 61 63 65 7f 31 35 34 30 31 34 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 65 ace.154014.Node:.racket-logger-e
1317c0 72 72 6f 72 2d 66 61 63 65 7f 31 35 34 32 36 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f rror-face.154262.Node:.racket-lo
1317e0 67 67 65 72 2d 77 61 72 6e 69 6e 67 2d 66 61 63 65 7f 31 35 34 35 31 32 0a 4e 6f 64 65 3a 20 72 gger-warning-face.154512.Node:.r
131800 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 69 6e 66 6f 2d 66 61 63 65 7f 31 35 34 37 36 37 0a 4e 6f acket-logger-info-face.154767.No
131820 64 65 3a 20 72 61 63 6b 65 74 2d 6c 6f 67 67 65 72 2d 64 65 62 75 67 2d 66 61 63 65 7f 31 35 35 de:.racket-logger-debug-face.155
131840 30 31 33 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 6e 6b 2d 66 61 63 65 7f 31 013.Node:.racket-doc-link-face.1
131860 35 35 32 35 36 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 65 78 74 2d 6c 69 6e 6b 2d 66 61 63 65 55256.Node:.racket-ext-link-face
131880 7f 31 35 35 36 33 39 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6f 75 74 70 75 74 2d .155639.Node:.racket-doc-output-
1318a0 66 61 63 65 7f 31 35 35 39 33 31 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 64 6f 63 2d 6c 69 74 face.155931.Node:.racket-doc-lit
1318c0 63 68 61 72 2d 66 61 63 65 7f 31 35 36 32 30 33 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 char-face.156203.Node:.racket-re
1318e0 70 6c 2d 6d 65 73 73 61 67 65 7f 31 35 36 34 35 32 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 pl-message.156452.Node:.racket-r
131900 65 70 6c 2d 70 72 6f 6d 70 74 7f 31 35 36 36 39 36 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 epl-prompt.156696.Node:.racket-r
131920 65 70 6c 2d 76 61 6c 75 65 7f 31 35 36 39 31 33 0a 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 epl-value.156913.Node:.racket-re
131940 70 6c 2d 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 7f 31 35 37 31 35 37 0a 4e 6f 64 65 3a 20 72 61 pl-error-message.157157.Node:.ra
131960 63 6b 65 74 2d 72 65 70 6c 2d 65 72 72 6f 72 2d 6c 6f 63 61 74 69 6f 6e 7f 31 35 37 34 30 39 0a cket-repl-error-location.157409.
131980 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 6f 75 74 7f 31 35 37 36 36 35 0a Node:.racket-repl-stdout.157665.
1319a0 4e 6f 64 65 3a 20 72 61 63 6b 65 74 2d 72 65 70 6c 2d 73 74 64 65 72 72 7f 31 35 37 39 31 32 0a Node:.racket-repl-stderr.157912.
1319c0 1f 0a 45 6e 64 20 54 61 67 20 54 61 62 6c 65 0a 0a 1f 0a 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c ..End.Tag.Table....Local.Variabl
1319e0 65 73 3a 0a 63 6f 64 69 6e 67 3a 20 75 74 66 2d 38 0a 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 es:.coding:.utf-8.End:..........
131a00 72 61 63 6b 65 74 2d 6d 6f 64 65 2d 31 2e 30 2e 32 30 32 34 30 33 31 39 2e 31 36 30 32 32 36 2f racket-mode-1.0.20240319.160226/
131a20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 racket-smart-open.el............
131a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
131a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
131a80 30 30 32 32 32 37 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 35 33 30 00 20 30 00 00 00 0022271.00000000000.017530..0...
131aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
131ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
131ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
131b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
131b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
131b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
131b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
131b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
131ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
131bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
131be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
131c00 3b 3b 3b 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2e 65 6c 20 2d 2a 2d 20 6c 65 78 ;;;.racket-smart-open.el.-*-.lex
131c20 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 ical-binding:.t;.-*-..;;.Copyrig
131c40 68 74 20 28 63 29 20 32 30 31 33 2d 32 30 32 30 20 62 79 20 47 72 65 67 20 48 65 6e 64 65 72 73 ht.(c).2013-2020.by.Greg.Henders
131c60 68 6f 74 74 2e 0a 3b 3b 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 hott..;;.Portions.Copyright.(C).
131c80 31 39 38 35 2d 31 39 38 36 2c 20 31 39 39 39 2d 32 30 31 33 20 46 72 65 65 20 53 6f 66 74 77 61 1985-1986,.1999-2013.Free.Softwa
131ca0 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 re.Foundation,.Inc...;;.Author:.
131cc0 47 72 65 67 20 48 65 6e 64 65 72 73 68 6f 74 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f Greg.Hendershott.;;.URL:.https:/
131ce0 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 72 65 67 68 65 6e 64 65 72 73 68 6f 74 74 2f 72 61 63 6b /github.com/greghendershott/rack
131d00 65 74 2d 6d 6f 64 65 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 et-mode..;;.SPDX-License-Identif
131d20 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 3b 20 72 61 63 6b 65 ier:.GPL-3.0-or-later..;;;.racke
131d40 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 0a 28 72 65 71 75 t-smart-open-bracket-mode..(requ
131d60 69 72 65 20 27 72 61 63 6b 65 74 2d 63 75 73 74 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 ire.'racket-custom).(require.'ra
131d80 63 6b 65 74 2d 70 61 72 65 6e 73 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 70 70 cket-parens).(require.'racket-pp
131da0 73 73 29 0a 28 72 65 71 75 69 72 65 20 27 72 61 63 6b 65 74 2d 75 74 69 6c 29 0a 0a 3b 3b 3b 23 ss).(require.'racket-util)..;;;#
131dc0 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 72 61 ##autoload.(define-minor-mode.ra
131de0 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 0a 20 20 22 cket-smart-open-bracket-mode..."
131e00 4d 69 6e 6f 72 20 6d 6f 64 65 20 74 6f 20 6c 65 74 20 79 6f 75 20 61 6c 77 61 79 73 20 74 79 70 Minor.mode.to.let.you.always.typ
131e20 65 20 60 5b 60 27 20 74 6f 20 69 6e 73 65 72 74 20 60 28 60 20 6f 72 20 60 5b 60 20 61 75 74 6f e.`[`'.to.insert.`(`.or.`[`.auto
131e40 6d 61 74 69 63 61 6c 6c 79 2e 0a 0a 42 65 68 61 76 65 73 20 6c 69 6b 65 20 74 68 65 20 5c 22 41 matically...Behaves.like.the.\"A
131e60 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 61 64 6a 75 73 74 20 6f 70 65 6e 69 6e 67 20 73 71 75 61 utomatically.adjust.opening.squa
131e80 72 65 20 62 72 61 63 6b 65 74 73 5c 22 0a 66 65 61 74 75 72 65 20 69 6e 20 44 72 2e 20 52 61 63 re.brackets\".feature.in.Dr..Rac
131ea0 6b 65 74 2e 0a 0a 42 79 20 64 65 66 61 75 6c 74 2c 20 69 6e 73 65 72 74 73 20 61 20 60 28 60 2e ket...By.default,.inserts.a.`(`.
131ec0 20 49 6e 73 65 72 74 73 20 61 20 60 5b 60 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 .Inserts.a.`[`.in.the.following.
131ee0 63 61 73 65 73 3a 0a 0a 20 20 2d 20 60 6c 65 74 60 2d 6c 69 6b 65 20 62 69 6e 64 69 6e 67 73 20 cases:....-.`let`-like.bindings.
131f00 2d 2d 20 66 6f 72 6d 73 20 77 69 74 68 20 60 6c 65 74 60 20 69 6e 20 74 68 65 20 6e 61 6d 65 20 --.forms.with.`let`.in.the.name.
131f20 61 73 20 77 65 6c 6c 0a 20 20 20 20 61 73 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 60 70 61 72 61 as.well.....as.things.like.`para
131f40 6d 65 74 65 72 69 7a 65 60 2c 20 60 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 60 2c 20 61 6e 64 0a meterize`,.`with-handlers`,.and.
131f60 20 20 20 20 60 77 69 74 68 2d 73 79 6e 74 61 78 60 2e 0a 0a 20 20 2d 20 60 63 61 73 65 60 2c 20 ....`with-syntax`.....-.`case`,.
131f80 60 63 6f 6e 64 60 2c 20 60 6d 61 74 63 68 60 2c 20 60 73 79 6e 74 61 78 2d 63 61 73 65 60 2c 20 `cond`,.`match`,.`syntax-case`,.
131fa0 60 73 79 6e 74 61 78 2d 70 61 72 73 65 60 2c 20 61 6e 64 0a 20 20 20 20 60 73 79 6e 74 61 78 2d `syntax-parse`,.and.....`syntax-
131fc0 72 75 6c 65 73 60 20 63 6c 61 75 73 65 73 2e 0a 0a 20 20 2d 20 60 66 6f 72 60 2d 6c 69 6b 65 20 rules`.clauses.....-.`for`-like.
131fe0 62 69 6e 64 69 6e 67 73 20 61 6e 64 20 60 66 6f 72 2f 66 6f 6c 64 60 20 61 63 63 75 6d 75 6c 61 bindings.and.`for/fold`.accumula
132000 74 6f 72 73 2e 0a 0a 20 20 2d 20 60 63 6c 61 73 73 60 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 73 tors.....-.`class`.declaration.s
132020 79 6e 74 61 78 2c 20 73 75 63 68 20 61 73 20 60 69 6e 69 74 60 20 61 6e 64 20 60 69 6e 68 65 72 yntax,.such.as.`init`.and.`inher
132040 69 74 60 2e 0a 0a 57 68 65 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 73 2d 65 78 70 72 65 73 it`...When.the.previous.s-expres
132060 73 69 6f 6e 20 69 6e 20 61 20 73 65 71 75 65 6e 63 65 20 69 73 20 61 20 63 6f 6d 70 6f 75 6e 64 sion.in.a.sequence.is.a.compound
132080 0a 65 78 70 72 65 73 73 69 6f 6e 2c 20 75 73 65 73 20 74 68 65 20 73 61 6d 65 20 6b 69 6e 64 20 .expression,.uses.the.same.kind.
1320a0 6f 66 20 64 65 6c 69 6d 69 74 65 72 2e 0a 0a 54 6f 20 66 6f 72 63 65 20 69 6e 73 65 72 74 20 60 of.delimiter...To.force.insert.`
1320c0 5b 60 2c 20 75 73 65 20 60 71 75 6f 74 65 64 2d 69 6e 73 65 72 74 27 2e 0a 0a 43 6f 6d 62 69 6e [`,.use.`quoted-insert'...Combin
1320e0 65 64 20 77 69 74 68 20 60 72 61 63 6b 65 74 2d 69 6e 73 65 72 74 2d 63 6c 6f 73 69 6e 67 27 20 ed.with.`racket-insert-closing'.
132100 74 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 0a 70 72 65 73 73 20 74 68 this.means.that.you.can.press.th
132120 65 20 75 6e 73 68 69 66 74 65 64 20 60 5b 60 20 61 6e 64 20 60 5d 60 20 6b 65 79 73 20 74 6f 20 e.unshifted.`[`.and.`]`.keys.to.
132140 67 65 74 20 77 68 61 74 65 76 65 72 20 64 65 6c 69 6d 69 74 65 72 73 0a 66 6f 6c 6c 6f 77 20 74 get.whatever.delimiters.follow.t
132160 68 65 20 52 61 63 6b 65 74 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 73 65 20 he.Racket.conventions.for.these.
132180 66 6f 72 6d 73 2e 20 57 68 65 6e 20 73 6f 6d 65 74 68 69 6e 67 0a 6c 69 6b 65 20 60 65 6c 65 63 forms..When.something.like.`elec
1321a0 74 72 69 63 2d 70 61 69 72 2d 6d 6f 64 65 27 20 6f 72 20 60 70 61 72 65 64 69 74 2d 6d 6f 64 65 tric-pair-mode'.or.`paredit-mode
1321c0 27 20 69 73 20 61 63 74 69 76 65 2c 20 79 6f 75 20 6e 65 65 64 0a 6e 6f 74 20 65 76 65 6e 20 70 '.is.active,.you.need.not.even.p
1321e0 72 65 73 73 20 60 5d 60 2e 0a 0a 54 69 70 3a 20 57 68 65 6e 20 61 6c 73 6f 20 75 73 69 6e 67 20 ress.`]`...Tip:.When.also.using.
132200 60 70 61 72 65 64 69 74 2d 6d 6f 64 65 27 2c 20 65 6e 61 62 6c 65 20 74 68 61 74 20 66 69 72 73 `paredit-mode',.enable.that.firs
132220 74 20 73 6f 20 74 68 61 74 0a 74 68 65 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 74 68 65 20 60 5b t.so.that.the.binding.for.the.`[
132240 60 27 20 6b 65 79 20 69 6e 20 74 68 65 20 6d 61 70 20 66 6f 72 0a 60 72 61 63 6b 65 74 2d 73 6d `'.key.in.the.map.for.`racket-sm
132260 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 27 20 68 61 73 20 68 69 67 68 65 art-open-bracket-mode'.has.highe
132280 72 20 70 72 69 6f 72 69 74 79 2e 20 53 65 65 20 61 6c 73 6f 0a 74 68 65 20 76 61 72 69 61 62 6c r.priority..See.also.the.variabl
1322a0 65 20 60 6d 69 6e 6f 72 2d 6d 6f 64 65 2d 6d 61 70 2d 61 6c 69 73 74 27 2e 0a 0a 54 69 70 3a 20 e.`minor-mode-map-alist'...Tip:.
1322c0 57 68 65 6e 20 75 73 69 6e 67 20 74 68 69 73 20 77 69 74 68 20 60 72 61 63 6b 65 74 2d 68 61 73 When.using.this.with.`racket-has
1322e0 68 2d 6c 61 6e 67 2d 6d 6f 64 65 27 2c 20 79 6f 75 20 6d 61 79 20 77 61 6e 74 0a 74 6f 20 75 73 h-lang-mode',.you.may.want.to.us
132300 65 20 60 72 61 63 6b 65 74 2d 68 61 73 68 2d 6c 61 6e 67 2d 6d 6f 64 75 6c 65 2d 6c 61 6e 67 75 e.`racket-hash-lang-module-langu
132320 61 67 65 2d 68 6f 6f 6b 27 20 74 6f 20 65 6e 61 62 6c 65 20 69 74 20 49 46 46 0a 74 68 65 20 6d age-hook'.to.enable.it.IFF.the.m
132340 6f 64 75 6c 65 20 6c 61 6e 67 75 67 61 67 65 20 69 73 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b odule.langugage.is.something.lik
132360 65 20 5c 22 72 61 63 6b 65 74 5c 22 2e 22 0a 20 20 3a 6c 69 67 68 74 65 72 20 22 20 52 61 63 6b e.\"racket\"."...:lighter.".Rack
132380 65 74 53 6d 61 72 74 4f 70 65 6e 22 0a 20 20 3a 6b 65 79 6d 61 70 20 28 72 61 63 6b 65 74 2d 2d etSmartOpen"...:keymap.(racket--
1323a0 65 61 73 79 2d 6b 65 79 6d 61 70 2d 64 65 66 69 6e 65 20 27 28 28 22 5b 22 20 72 61 63 6b 65 74 easy-keymap-define.'(("[".racket
1323c0 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 29 29 29 0a 20 20 28 72 61 63 6b 65 74 -smart-open-bracket)))...(racket
1323e0 2d 2d 61 73 73 65 72 74 2d 65 64 69 74 2d 6f 72 2d 72 65 70 6c 2d 6d 6f 64 65 0a 20 20 20 28 6c --assert-edit-or-repl-mode....(l
132400 61 6d 62 64 61 20 28 29 20 28 73 65 74 71 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e ambda.().(setq.racket-smart-open
132420 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 20 6e 69 6c 29 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 -bracket-mode.nil))))..(defconst
132440 20 72 61 63 6b 65 74 2d 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 64 61 74 61 .racket--smart-open-bracket-data
132460 0a 20 20 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 20 20 60 28 3b 3b 20 63 ...(eval-when-compile.....`(;;.c
132480 6f 6e 64 2d 6c 69 6b 65 0a 20 20 20 20 20 20 28 30 20 30 20 2c 28 72 78 20 28 73 65 71 20 22 28 ond-like.......(0.0.,(rx.(seq."(
1324a0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 22 61 75 67 6d "......................(or."augm
1324c0 65 6e 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 ent".........................."a
1324e0 75 67 6d 65 6e 74 2d 66 69 6e 61 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ugment-final"...................
132500 20 20 20 20 20 20 20 22 61 75 67 72 69 64 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......."augride"................
132520 20 20 20 20 20 20 20 20 20 20 22 63 6f 6e 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........."cond"................
132540 20 20 20 20 20 20 20 20 20 20 22 66 69 65 6c 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........."field"...............
132560 20 20 20 20 20 20 20 20 20 20 20 22 69 6e 68 65 72 69 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 ..........."inherit"............
132580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 6e 68 65 72 69 74 2d 66 69 65 6c 64 22 0a 20 20 .............."inherit-field"...
1325a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 6e 68 65 72 69 74 2f ......................."inherit/
1325c0 73 75 70 65 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 super"..........................
1325e0 22 69 6e 68 65 72 69 74 2f 69 6e 6e 65 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "inherit/inner".................
132600 20 20 20 20 20 20 20 20 20 22 69 6e 69 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........."init".................
132620 20 20 20 20 20 20 20 20 20 22 69 6e 69 74 2d 66 69 65 6c 64 22 0a 20 20 20 20 20 20 20 20 20 20 ........."init-field"...........
132640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 61 74 63 68 2d 6c 61 6d 62 64 61 22 0a 20 20 ..............."match-lambda"...
132660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 61 74 63 68 2d 6c 61 ......................."match-la
132680 6d 62 64 61 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mbda*"..........................
1326a0 22 6d 61 74 63 68 2d 6c 61 6d 62 64 61 2a 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "match-lambda**"................
1326c0 20 20 20 20 20 20 20 20 20 20 22 6f 76 65 72 6d 65 6e 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 .........."overment"............
1326e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 76 65 72 72 69 64 65 22 0a 20 20 20 20 20 20 20 .............."override"........
132700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 76 65 72 72 69 64 65 2d 66 69 6e 61 .................."override-fina
132720 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 75 62 l".........................."pub
132740 6c 69 63 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 lic".........................."p
132760 75 62 6d 65 6e 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ubment".........................
132780 20 22 70 75 62 6c 69 63 2d 66 69 6e 61 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."public-final".................
1327a0 20 20 20 20 20 20 20 20 20 22 72 65 6e 61 6d 65 2d 69 6e 6e 65 72 22 0a 20 20 20 20 20 20 20 20 ........."rename-inner".........
1327c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 6e 61 6d 65 2d 73 75 70 65 72 22 0a ................."rename-super".
1327e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 75 70 65 72 2d ........................."super-
132800 6e 65 77 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 73 new")......................(or.s
132820 70 61 63 65 20 6c 69 6e 65 2d 65 6e 64 29 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 63 61 73 65 2d pace.line-end)))).......;;.case-
132840 6c 69 6b 65 0a 20 20 20 20 20 20 28 32 20 30 20 2c 28 72 78 20 28 73 65 71 20 22 28 22 0a 20 20 like.......(2.0.,(rx.(seq."("...
132860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 22 63 61 73 65 22 0a 20 20 ...................(or."case"...
132880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 65 77 22 0a 20 20 20 ......................."new"....
1328a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 61 74 63 68 22 0a 20 20 ......................"match"...
1328c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 61 74 63 68 2a 22 0a ......................."match*".
1328e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 79 6e 74 61 78 ........................."syntax
132900 2d 70 61 72 73 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -parse".........................
132920 20 22 73 79 6e 74 61 78 2d 72 75 6c 65 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."syntax-rules")................
132940 20 20 20 20 20 20 28 6f 72 20 73 70 61 63 65 20 6c 69 6e 65 2d 65 6e 64 29 29 29 29 0a 20 20 20 ......(or.space.line-end))))....
132960 20 20 20 3b 3b 20 73 79 6e 74 61 78 2d 63 61 73 65 0a 20 20 20 20 20 20 28 33 20 30 20 2c 28 72 ...;;.syntax-case.......(3.0.,(r
132980 78 20 28 73 65 71 20 22 28 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x.(seq."("......................
1329a0 28 6f 72 20 22 73 79 6e 74 61 78 2d 63 61 73 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (or."syntax-case")..............
1329c0 20 20 20 20 20 20 20 20 28 6f 72 20 73 70 61 63 65 20 6c 69 6e 65 2d 65 6e 64 29 29 29 29 0a 20 ........(or.space.line-end))))..
1329e0 20 20 20 20 20 3b 3b 20 73 79 6e 74 61 78 2d 63 61 73 65 2a 0a 20 20 20 20 20 20 28 34 20 30 20 .....;;.syntax-case*.......(4.0.
132a00 2c 28 72 78 20 28 73 65 71 20 22 28 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,(rx.(seq."("...................
132a20 20 20 20 28 6f 72 20 22 73 79 6e 74 61 78 2d 63 61 73 65 2a 22 29 0a 20 20 20 20 20 20 20 20 20 ...(or."syntax-case*")..........
132a40 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 73 70 61 63 65 20 6c 69 6e 65 2d 65 6e 64 29 29 ............(or.space.line-end))
132a60 29 29 0a 20 20 20 20 20 20 3b 3b 20 6c 65 74 2d 6c 69 6b 65 0a 20 20 20 20 20 20 3b 3b 0a 20 20 )).......;;.let-like.......;;...
132a80 20 20 20 20 3b 3b 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 6f 62 76 69 6f 75 ....;;.In.addition.to.the.obviou
132aa0 73 20 73 75 73 70 65 63 74 73 20 77 69 74 68 20 27 6c 65 74 27 20 69 6e 20 74 68 65 20 6e 61 6d s.suspects.with.'let'.in.the.nam
132ac0 65 2c 0a 20 20 20 20 20 20 3b 3b 20 68 61 6e 64 6c 65 73 20 66 6f 72 6d 73 20 6c 69 6b 65 20 27 e,.......;;.handles.forms.like.'
132ae0 70 61 72 61 6d 65 74 65 72 69 7a 65 27 2c 20 27 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 27 2c 20 parameterize',.'with-handlers',.
132b00 27 66 6f 72 27 2c 0a 20 20 20 20 20 20 3b 3b 20 61 6e 64 20 27 66 6f 72 2f 66 6f 6c 64 27 20 61 'for',.......;;.and.'for/fold'.a
132b20 63 63 75 6d 75 6c 61 74 6f 72 20 62 69 6e 64 69 6e 67 73 2e 0a 20 20 20 20 20 20 28 30 20 31 20 ccumulator.bindings........(0.1.
132b40 2c 28 72 78 20 28 73 65 71 20 28 6f 72 20 22 66 6f 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ,(rx.(seq.(or."for".............
132b60 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2f 6c 69 73 74 22 0a 20 20 20 20 20 20 20 20 ............."for/list".........
132b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2f 76 65 63 74 6f 72 22 0a 20 20 ................."for/vector"...
132ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2f 68 61 73 68 ......................."for/hash
132bc0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2f ".........................."for/
132be0 68 61 73 68 65 71 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hasheq".........................
132c00 20 22 66 6f 72 2f 68 61 73 68 65 71 76 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."for/hasheqv"..................
132c20 20 20 20 20 20 20 20 20 22 66 6f 72 2f 61 6e 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"for/and"...............
132c40 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2f 6f 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..........."for/or".............
132c60 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2f 6c 69 73 74 73 22 0a 20 20 20 20 20 20 20 ............."for/lists"........
132c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2f 66 69 72 73 74 22 0a 20 20 .................."for/first"...
132ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2f 6c 61 73 74 ......................."for/last
132cc0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2f ".........................."for/
132ce0 66 6f 6c 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 fold".........................."
132d00 66 6f 72 2f 66 6f 6c 64 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 for/foldr"......................
132d20 20 20 20 20 22 66 6f 72 2f 66 6c 76 65 63 74 6f 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."for/flvector"..............
132d40 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2f 65 78 74 66 6c 76 65 63 74 6f 72 22 0a 20 20 ............"for/extflvector"...
132d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2f 73 65 74 22 ......................."for/set"
132d80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2f 73 .........................."for/s
132da0 75 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f um".........................."fo
132dc0 72 2f 70 72 6f 64 75 63 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r/product"......................
132de0 20 20 20 20 22 66 6f 72 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."for*"......................
132e00 20 20 20 20 22 66 6f 72 2a 2f 6c 69 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."for*/list".................
132e20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2a 2f 76 65 63 74 6f 72 22 0a 20 20 20 20 20 20 20 20 20 ........."for*/vector"..........
132e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2a 2f 68 61 73 68 22 0a 20 20 20 20 ................"for*/hash".....
132e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2a 2f 68 61 73 68 65 ....................."for*/hashe
132e80 71 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 q".........................."for
132ea0 2a 2f 68 61 73 68 65 71 76 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 */hasheqv"......................
132ec0 20 20 20 20 22 66 6f 72 2a 2f 61 6e 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."for*/and"..................
132ee0 20 20 20 20 20 20 20 20 22 66 6f 72 2a 2f 6f 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"for*/or"...............
132f00 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2a 2f 6c 69 73 74 73 22 0a 20 20 20 20 20 20 20 20 ..........."for*/lists".........
132f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2a 2f 66 69 72 73 74 22 0a 20 20 ................."for*/first"...
132f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2a 2f 6c 61 73 ......................."for*/las
132f60 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 t".........................."for
132f80 2a 2f 66 6f 6c 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 */fold".........................
132fa0 20 22 66 6f 72 2a 2f 66 6f 6c 64 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."for*/foldr"...................
132fc0 20 20 20 20 20 20 20 22 66 6f 72 2a 2f 66 6c 76 65 63 74 6f 72 22 0a 20 20 20 20 20 20 20 20 20 ......."for*/flvector"..........
132fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2a 2f 65 78 74 66 6c 76 65 63 74 6f ................"for*/extflvecto
133000 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 r".........................."for
133020 2a 2f 73 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 */set"..........................
133040 22 66 6f 72 2a 2f 73 75 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "for*/sum"......................
133060 20 20 20 20 22 66 6f 72 2a 2f 70 72 6f 64 75 63 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."for*/product"..............
133080 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6c 75 69 64 2d 6c 65 74 22 0a 20 20 20 20 20 20 20 20 ............"fluid-let".........
1330a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 ................."let"..........
1330c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 65 74 2a 22 0a 20 20 20 20 20 20 20 20 20 ................"let*"..........
1330e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 65 74 2a 2d 76 61 6c 75 65 73 22 0a 20 20 ................"let*-values"...
133100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 65 74 2d 73 74 72 75 ......................."let-stru
133120 63 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 65 ct".........................."le
133140 74 2d 73 79 6e 74 61 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-syntax".......................
133160 20 20 20 22 6c 65 74 2d 73 79 6e 74 61 78 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."let-syntaxes"...............
133180 20 20 20 20 20 20 20 20 20 20 20 22 6c 65 74 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 20 20 20 20 ..........."let-values".........
1331a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 65 74 2f 63 63 22 0a 20 20 20 20 20 20 ................."let/cc".......
1331c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 65 74 2f 65 63 22 0a 20 20 20 20 ..................."let/ec".....
1331e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 65 74 72 65 63 22 0a 20 20 ....................."letrec"...
133200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 65 74 72 65 63 2d 73 ......................."letrec-s
133220 79 6e 74 61 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 yntax"..........................
133240 22 6c 65 74 72 65 63 2d 73 79 6e 74 61 78 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "letrec-syntaxes"...............
133260 20 20 20 20 20 20 20 20 20 20 20 22 6c 65 74 72 65 63 2d 73 79 6e 74 61 78 65 73 2b 76 61 6c 75 ..........."letrec-syntaxes+valu
133280 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 65 es".........................."le
1332a0 74 72 65 63 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 trec-values"....................
1332c0 20 20 20 20 20 20 22 6d 61 74 63 68 2d 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"match-let"...............
1332e0 20 20 20 20 20 20 20 20 20 20 20 22 6d 61 74 63 68 2d 6c 65 74 2a 22 0a 20 20 20 20 20 20 20 20 ..........."match-let*".........
133300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 61 74 63 68 2d 6c 65 74 2d 76 61 6c 75 ................."match-let-valu
133320 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 61 es".........................."ma
133340 74 63 68 2d 6c 65 74 2a 2d 76 61 6c 75 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tch-let*-values"................
133360 20 20 20 20 20 20 20 20 20 20 22 6d 61 74 63 68 2d 6c 65 74 72 65 63 22 0a 20 20 20 20 20 20 20 .........."match-letrec"........
133380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 61 72 61 6d 65 74 65 72 69 7a 65 22 .................."parameterize"
1333a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 61 72 61 6d .........................."param
1333c0 65 74 65 72 69 7a 65 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eterize*".......................
1333e0 20 20 20 22 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."with-handlers"..............
133400 20 20 20 20 20 20 20 20 20 20 20 20 22 77 69 74 68 2d 68 61 6e 64 6c 65 72 73 2a 22 0a 20 20 20 ............"with-handlers*"....
133420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 77 69 74 68 2d 73 79 6e 74 ......................"with-synt
133440 61 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 77 69 ax".........................."wi
133460 74 68 2d 73 79 6e 74 61 78 2a 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 th-syntax*")....................
133480 20 20 28 6f 72 20 73 70 61 63 65 20 6c 69 6e 65 2d 65 6e 64 29 29 29 29 0a 20 20 20 20 20 20 3b ..(or.space.line-end)))).......;
1334a0 3b 20 66 6f 72 2f 66 6f 6c 64 20 62 69 6e 64 69 6e 67 73 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20 ;.for/fold.bindings.......;;....
1334c0 20 20 20 3b 3b 20 4e 6f 74 65 3a 20 50 72 65 76 69 6f 75 73 20 69 74 65 6d 20 68 61 6e 64 6c 65 ...;;.Note:.Previous.item.handle
1334e0 73 20 74 68 65 20 66 69 72 73 74 2c 20 61 63 63 75 6d 75 6c 61 74 6f 72 73 20 73 75 62 66 6f 72 s.the.first,.accumulators.subfor
133500 6d 2e 0a 20 20 20 20 20 20 28 30 20 32 20 2c 28 72 78 20 28 73 65 71 20 28 6f 72 20 22 66 6f 72 m........(0.2.,(rx.(seq.(or."for
133520 2f 66 6f 6c 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /fold"..........................
133540 22 66 6f 72 2a 2f 66 6f 6c 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "for*/fold".....................
133560 20 20 20 20 20 22 66 6f 72 2f 66 6f 6c 64 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."for/foldr"................
133580 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 2a 2f 66 6f 6c 64 72 22 29 0a 20 20 20 20 20 20 20 20 .........."for*/foldr").........
1335a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 73 70 61 63 65 20 6c 69 6e 65 2d 65 6e 64 29 .............(or.space.line-end)
1335c0 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 6e 61 6d 65 64 2d 6c 65 74 20 62 69 6e 64 69 6e 67 73 0a ))).......;;.named-let.bindings.
1335e0 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 28 30 20 32 20 2c 28 72 78 20 28 73 65 71 20 22 6c ......;;.......(0.2.,(rx.(seq."l
133600 65 74 22 20 28 31 2b 20 77 68 69 74 65 73 70 61 63 65 29 20 28 31 2b 20 28 6e 6f 74 20 28 69 6e et".(1+.whitespace).(1+.(not.(in
133620 20 22 28 29 5b 5d 7b 7d 5c 22 2c 27 60 3b 23 7c 5c 22 20 22 29 29 29 29 29 29 29 29 0a 20 20 22 ."()[]{}\",'`;#|\"."))))))))..."
133640 41 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2e 20 45 61 63 68 20 73 75 62 20 6c 69 73 74 20 69 A.list.of.lists..Each.sub.list.i
133660 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 73 75 70 70 6c 79 20 74 6f 0a 20 20 60 72 61 63 6b s.arguments.to.supply.to...`rack
133680 65 74 2d 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 68 65 6c 70 65 72 27 2e 22 et--smart-open-bracket-helper'."
1336a0 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 )..(defun.racket--smart-open-bra
1336c0 63 6b 65 74 2d 68 65 6c 70 65 72 20 28 70 72 65 2d 62 61 63 6b 77 61 72 64 2d 73 65 78 70 73 0a cket-helper.(pre-backward-sexps.
1336e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
133700 20 20 20 20 20 20 20 20 20 20 70 6f 73 74 2d 62 61 63 6b 77 61 72 64 2d 73 65 78 70 73 0a 20 20 ..........post-backward-sexps...
133720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
133740 20 20 20 20 20 20 20 20 72 65 67 65 78 70 29 0a 20 20 22 49 73 20 70 6f 69 6e 74 20 61 74 20 61 ........regexp)..."Is.point.at.a
133760 20 73 75 62 66 6f 72 6d 20 6f 66 20 61 20 6b 6e 6f 77 6e 20 66 6f 72 6d 20 52 45 47 45 58 50 20 .subform.of.a.known.form.REGEXP.
133780 74 68 61 74 20 73 68 6f 75 6c 64 20 6f 70 65 6e 20 77 69 74 68 20 27 5b 27 2e 0a 0a 52 65 74 75 that.should.open.with.'['...Retu
1337a0 72 6e 73 20 27 5b 27 20 6f 72 20 6e 69 6c 2e 22 0a 0a 20 20 28 61 6e 64 20 28 73 61 76 65 2d 65 rns.'['.or.nil."....(and.(save-e
1337c0 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 xcursion..........(ignore-errors
1337e0 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 73 65 78 70 20 70 72 65 2d 62 ............(backward-sexp.pre-b
133800 61 63 6b 77 61 72 64 2d 73 65 78 70 73 29 20 74 29 29 0a 20 20 20 20 20 20 20 28 73 61 76 65 2d ackward-sexps).t))........(save-
133820 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 excursion..........(ignore-error
133840 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 75 70 2d 6c 69 73 74 29 0a s............(backward-up-list).
133860 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 73 65 78 70 20 70 6f 73 74 2d 62 ...........(backward-sexp.post-b
133880 61 63 6b 77 61 72 64 2d 73 65 78 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 ackward-sexps)............(when.
1338a0 28 6c 6f 6f 6b 69 6e 67 2d 61 74 2d 70 20 72 65 67 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 (looking-at-p.regexp)...........
1338c0 20 20 20 3f 5c 5b 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d 73 6d 61 72 74 ...?\[)))))..(defun.racket-smart
1338e0 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 29 -open-bracket.(&optional.prefix)
133900 0a 20 20 22 41 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 69 6e 73 65 72 74 20 61 20 60 28 60 20 6f ..."Automatically.insert.a.`(`.o
133920 72 20 61 20 60 5b 60 20 61 73 20 61 70 70 72 6f 70 72 69 61 74 65 2e 0a 0a 53 65 65 20 60 72 61 r.a.`[`.as.appropriate...See.`ra
133940 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 6d 6f 64 65 27 2e 22 0a cket-smart-open-bracket-mode'.".
133960 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 6c 65 74 20 28 28 63 68 20 ..(interactive."P")...(let.((ch.
133980 28 6f 72 20 28 61 6e 64 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 (or.(and.(save-excursion........
1339a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 74 20 28 70 6f 69 6e 74 ................(let.((pt.(point
1339c0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 65 )))..........................(be
1339e0 67 69 6e 6e 69 6e 67 2d 6f 66 2d 64 65 66 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ginning-of-defun)...............
133a00 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 74 61 74 65 20 28 70 61 72 73 65 2d 70 ...........(let.((state.(parse-p
133a20 61 72 74 69 61 6c 2d 73 65 78 70 20 28 70 6f 69 6e 74 29 20 70 74 29 29 29 0a 20 20 20 20 20 20 artial-sexp.(point).pt))).......
133a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 72 61 63 6b 65 74 .....................(or.(racket
133a60 2d 2d 70 70 73 73 2d 73 74 72 69 6e 67 2d 70 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 --ppss-string-p.state)..........
133a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 70 ......................(racket--p
133aa0 70 73 73 2d 63 6f 6d 6d 65 6e 74 2d 70 20 73 74 61 74 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 pss-comment-p.state)))))........
133ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3f 5c 5b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............?\[)..............
133ae0 20 20 20 28 63 6c 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28 78 73 29 0a 20 20 20 20 20 20 20 ...(cl-some.(lambda.(xs)........
133b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 72 61 63 ....................(apply.#'rac
133b20 6b 65 74 2d 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 68 65 6c 70 65 72 20 78 ket--smart-open-bracket-helper.x
133b40 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 63 s))..........................rac
133b60 6b 65 74 2d 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 2d 64 61 74 61 29 0a 20 20 ket--smart-open-bracket-data)...
133b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 6f 70 65 6e 2d 70 61 72 65 ..............(racket--open-pare
133ba0 6e 20 23 27 62 61 63 6b 77 61 72 64 2d 73 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 n.#'backward-sexp)..............
133bc0 20 20 20 3f 5c 28 29 29 29 0a 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 72 61 63 6b ...?\())).....(if.(fboundp.'rack
133be0 65 74 2d 2d 70 61 72 65 64 69 74 2d 61 77 61 72 65 2d 6f 70 65 6e 29 0a 20 20 20 20 20 20 20 20 et--paredit-aware-open).........
133c00 28 72 61 63 6b 65 74 2d 2d 70 61 72 65 64 69 74 2d 61 77 61 72 65 2d 6f 70 65 6e 20 70 72 65 66 (racket--paredit-aware-open.pref
133c20 69 78 20 63 68 29 0a 20 20 20 20 20 20 28 72 61 63 6b 65 74 2d 2d 73 65 6c 66 2d 69 6e 73 65 72 ix.ch).......(racket--self-inser
133c40 74 20 63 68 29 29 29 29 0a 0a 28 70 75 74 20 27 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 t.ch))))..(put.'racket-smart-ope
133c60 6e 2d 62 72 61 63 6b 65 74 20 27 64 65 6c 65 74 65 2d 73 65 6c 65 63 74 69 6f 6e 0a 20 20 20 20 n-bracket.'delete-selection.....
133c80 20 23 27 72 61 63 6b 65 74 2d 2d 65 6c 65 63 74 72 69 63 2d 70 61 69 72 2d 6d 6f 64 65 2d 6e 6f .#'racket--electric-pair-mode-no
133ca0 74 2d 61 63 74 69 76 65 29 0a 0a 28 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 70 61 72 t-active)..(eval-after-load.'par
133cc0 65 64 69 74 0a 20 20 27 28 70 72 6f 67 6e 0a 20 20 20 20 20 28 64 65 63 6c 61 72 65 2d 66 75 6e edit...'(progn......(declare-fun
133ce0 63 74 69 6f 6e 20 70 61 72 65 64 69 74 2d 6f 70 65 6e 2d 72 6f 75 6e 64 20 20 22 65 78 74 3a 70 ction.paredit-open-round.."ext:p
133d00 61 72 65 64 69 74 22 20 28 26 6f 70 74 69 6f 6e 61 6c 20 4e 29 20 74 29 0a 20 20 20 20 20 28 64 aredit".(&optional.N).t)......(d
133d20 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 70 61 72 65 64 69 74 2d 6f 70 65 6e 2d 73 71 75 eclare-function.paredit-open-squ
133d40 61 72 65 20 22 65 78 74 3a 70 61 72 65 64 69 74 22 20 28 26 6f 70 74 69 6f 6e 61 6c 20 4e 29 20 are."ext:paredit".(&optional.N).
133d60 74 29 0a 20 20 20 20 20 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 70 61 72 65 64 69 t)......(declare-function.paredi
133d80 74 2d 6f 70 65 6e 2d 63 75 72 6c 79 20 20 22 65 78 74 3a 70 61 72 65 64 69 74 22 20 28 26 6f 70 t-open-curly.."ext:paredit".(&op
133da0 74 69 6f 6e 61 6c 20 4e 29 20 74 29 0a 20 20 20 20 20 28 64 65 66 75 6e 20 72 61 63 6b 65 74 2d tional.N).t)......(defun.racket-
133dc0 2d 70 61 72 65 64 69 74 2d 61 77 61 72 65 2d 6f 70 65 6e 20 28 70 72 65 66 69 78 20 63 68 29 0a -paredit-aware-open.(prefix.ch).
133de0 20 20 20 20 20 20 20 22 41 20 70 61 72 65 64 69 74 2d 61 77 61 72 65 20 68 65 6c 70 65 72 20 66 ......."A.paredit-aware.helper.f
133e00 6f 72 20 60 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2d 62 72 61 63 6b 65 74 27 2e 0a or.`racket-smart-open-bracket'..
133e20 0a 57 68 65 6e 20 60 70 61 72 65 64 69 74 2d 6d 6f 64 65 27 20 69 73 20 61 63 74 69 76 65 2c 20 .When.`paredit-mode'.is.active,.
133e40 75 73 65 20 69 74 73 20 66 75 6e 63 74 69 6f 6e 73 2c 20 73 75 63 68 20 61 73 0a 60 70 61 72 65 use.its.functions,.such.as.`pare
133e60 64 69 74 2d 6f 70 65 6e 2d 72 6f 75 6e 64 27 2e 20 4e 6f 74 65 3a 20 54 68 69 73 20 66 75 6e 63 dit-open-round'..Note:.This.func
133e80 74 69 6f 6e 20 69 73 6e 27 74 20 64 65 66 69 6e 65 64 20 75 6e 6c 65 73 73 0a 70 61 72 65 64 69 tion.isn't.defined.unless.paredi
133ea0 74 20 69 73 20 6c 6f 61 64 65 64 2c 20 73 6f 20 63 68 65 63 6b 20 66 6f 72 20 74 68 69 73 20 66 t.is.loaded,.so.check.for.this.f
133ec0 75 6e 63 74 69 6f 6e 27 73 20 65 78 69 73 74 65 6e 63 65 20 75 73 69 6e 67 0a 60 66 62 6f 75 6e unction's.existence.using.`fboun
133ee0 64 70 27 2e 22 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 61 72 65 64 69 74 2d 61 63 74 69 dp'."........(let.((paredit-acti
133f00 76 65 20 28 61 6e 64 20 28 62 6f 75 6e 64 70 20 27 70 61 72 65 64 69 74 2d 6d 6f 64 65 29 20 70 ve.(and.(boundp.'paredit-mode).p
133f20 61 72 65 64 69 74 2d 6d 6f 64 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 aredit-mode)))..........(cond.((
133f40 6e 6f 74 20 70 61 72 65 64 69 74 2d 61 63 74 69 76 65 29 20 28 72 61 63 6b 65 74 2d 2d 73 65 6c not.paredit-active).(racket--sel
133f60 66 2d 69 6e 73 65 72 74 20 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 f-insert.ch))................((e
133f80 71 20 63 68 20 3f 5c 28 29 20 20 20 20 20 20 20 20 20 20 28 70 61 72 65 64 69 74 2d 6f 70 65 6e q.ch.?\()..........(paredit-open
133fa0 2d 72 6f 75 6e 64 20 70 72 65 66 69 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 -round.prefix))................(
133fc0 28 65 71 20 63 68 20 3f 5c 5b 29 20 20 20 20 20 20 20 20 20 20 28 70 61 72 65 64 69 74 2d 6f 70 (eq.ch.?\[)..........(paredit-op
133fe0 65 6e 2d 73 71 75 61 72 65 20 70 72 65 66 69 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 en-square.prefix))..............
134000 20 20 28 28 65 71 20 63 68 20 3f 5c 7b 29 20 20 20 20 20 20 20 20 20 20 28 70 61 72 65 64 69 74 ..((eq.ch.?\{)..........(paredit
134020 2d 6f 70 65 6e 2d 63 75 72 6c 79 20 70 72 65 66 69 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 -open-curly.prefix))............
134040 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 61 63 6b 65 ....(t....................(racke
134060 74 2d 2d 73 65 6c 66 2d 69 6e 73 65 72 74 20 63 68 29 29 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 t--self-insert.ch)))))))..(provi
134080 64 65 20 27 72 61 63 6b 65 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 29 0a 0a 3b 3b 20 72 61 63 6b 65 de.'racket-smart-open)..;;.racke
1340a0 74 2d 73 6d 61 72 74 2d 6f 70 65 6e 2e 65 6c 20 65 6e 64 73 20 68 65 72 0a 00 00 00 00 00 00 00 t-smart-open.el.ends.her........
1340c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1340e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1341a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1341c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1341e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1342a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1342c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1342e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1343a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1343c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1343e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1344a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1344c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1344e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1345a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1345c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1345e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1346a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1346c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1346e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1347a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1347c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1347e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1348a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1348c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1348e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1349a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1349c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1349e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1350a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1350c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1350e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1351a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1351c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1351e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1352a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1352c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1352e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1353a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1353c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1353e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1354a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1354c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1354e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1355a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1355c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1355e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1356a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1356c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1356e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1357a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1357c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1357e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1358a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1358c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1358e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1359a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1359c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1359e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................