home *** CD-ROM | disk | FTP | other *** search
Emacs Compiled Lisp | 1993-04-01 | 25.7 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: Emacs Compiled Lisp
(other/emacsCompiledLisp).
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
1%
| dexvert
| Emacs Compiled Lisp (other/emacsCompiledLisp)
| magic
| Unsupported |
1%
| dexvert
| Combustion 2 Particle Library (other/combustion2ParticleLibrary)
| ext
| Unsupported |
100%
| file
| Emacs/XEmacs v19 byte-compiled Lisp data
| default
| |
99%
| file
| data
| default
| |
100%
| TrID
| Emacs/XEmacs byte-compiled Lisp (generic)
| default
| |
100%
| xdgMime
| text/x-emacs-lisp
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 13 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 6a 77 7a 40 74 68 61 |piled by| jwz@tha|
|00000020| 6c 69 64 6f 6d 69 64 65 | 20 6f 6e 20 4d 6f 6e 20 |lidomide| on Mon |
|00000030| 46 65 62 20 20 31 20 31 | 38 3a 33 37 3a 34 33 20 |Feb 1 1|8:37:43 |
|00000040| 31 39 39 33 0a 3b 3b 3b | 20 66 72 6f 6d 20 66 69 |1993.;;;| from fi|
|00000050| 6c 65 20 2f 63 61 64 69 | 6c 6c 61 63 31 2f 63 6f |le /cadi|llac1/co|
|00000060| 64 65 2f 62 75 69 6c 64 | 2f 6c 65 6d 61 63 73 2f |de/build|/lemacs/|
|00000070| 6c 69 73 70 2f 63 6f 6d | 69 6e 74 2f 63 6f 6d 69 |lisp/com|int/comi|
|00000080| 6e 74 2e 65 6c 0a 3b 3b | 3b 20 65 6d 61 63 73 20 |nt.el.;;|; emacs |
|00000090| 76 65 72 73 69 6f 6e 20 | 31 39 2e 34 2e 31 33 20 |version |19.4.13 |
|000000a0| 4c 75 63 69 64 2e 0a 3b | 3b 3b 20 62 79 74 65 63 |Lucid..;|;; bytec|
|000000b0| 6f 6d 70 20 76 65 72 73 | 69 6f 6e 20 32 2e 31 30 |omp vers|ion 2.10|
|000000c0| 3b 20 20 31 2d 66 65 62 | 2d 39 33 2e 0a 3b 3b 3b |; 1-feb|-93..;;;|
|000000d0| 20 6f 70 74 69 6d 69 7a | 61 74 69 6f 6e 20 69 73 | optimiz|ation is|
|000000e0| 20 6f 6e 2e 0a 3b 3b 3b | 20 74 68 69 73 20 66 69 | on..;;;| this fi|
|000000f0| 6c 65 20 75 73 65 73 20 | 6f 70 63 6f 64 65 73 20 |le uses |opcodes |
|00000100| 77 68 69 63 68 20 64 6f | 20 6e 6f 74 20 65 78 69 |which do| not exi|
|00000110| 73 74 20 69 6e 20 45 6d | 61 63 73 31 38 2e 0a 0a |st in Em|acs18...|
|00000120| 28 69 66 20 28 61 6e 64 | 20 28 62 6f 75 6e 64 70 |(if (and| (boundp|
|00000130| 20 27 65 6d 61 63 73 2d | 76 65 72 73 69 6f 6e 29 | 'emacs-|version)|
|00000140| 0a 09 20 28 6f 72 20 28 | 61 6e 64 20 28 62 6f 75 |.. (or (|and (bou|
|00000150| 6e 64 70 20 27 65 70 6f | 63 68 3a 3a 76 65 72 73 |ndp 'epo|ch::vers|
|00000160| 69 6f 6e 29 20 65 70 6f | 63 68 3a 3a 76 65 72 73 |ion) epo|ch::vers|
|00000170| 69 6f 6e 29 0a 09 20 20 | 20 20 20 28 73 74 72 69 |ion).. | (stri|
|00000180| 6e 67 2d 6c 65 73 73 70 | 20 65 6d 61 63 73 2d 76 |ng-lessp| emacs-v|
|00000190| 65 72 73 69 6f 6e 20 22 | 31 39 22 29 29 29 0a 20 |ersion "|19"))). |
|000001a0| 20 20 20 28 65 72 72 6f | 72 20 22 54 68 69 73 20 | (erro|r "This |
|000001b0| 66 69 6c 65 20 77 61 73 | 20 63 6f 6d 70 69 6c 65 |file was| compile|
|000001c0| 64 20 66 6f 72 20 45 6d | 61 63 73 31 39 2e 22 29 |d for Em|acs19.")|
|000001d0| 29 0a 0a 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c0 |)..(byte|-code ".|
|000001e0| c1 21 88 c2 13 c0 87 22 | 20 5b 70 72 6f 76 69 64 |.!....."| [provid|
|000001f0| 65 20 63 6f 6d 69 6e 74 | 20 22 32 2e 30 32 22 20 |e comint| "2.02" |
|00000200| 63 6f 6d 69 6e 74 2d 76 | 65 72 73 69 6f 6e 5d 20 |comint-v|ersion] |
|00000210| 32 29 0a 28 64 65 66 76 | 61 72 20 63 6f 6d 69 6e |2).(defv|ar comin|
|00000220| 74 2d 70 72 6f 6d 70 74 | 2d 72 65 67 65 78 70 20 |t-prompt|-regexp |
|00000230| 22 5e 22 20 22 5c 0a 52 | 65 67 65 78 70 20 74 6f |"^" "\.R|egexp to|
|00000240| 20 72 65 63 6f 67 6e 69 | 73 65 20 70 72 6f 6d 70 | recogni|se promp|
|00000250| 74 73 20 69 6e 20 74 68 | 65 20 69 6e 66 65 72 69 |ts in th|e inferi|
|00000260| 6f 72 20 70 72 6f 63 65 | 73 73 2e 0a 44 65 66 61 |or proce|ss..Defa|
|00000270| 75 6c 74 73 20 74 6f 20 | 5c 22 5e 5c 22 2c 20 74 |ults to |\"^\", t|
|00000280| 68 65 20 6e 75 6c 6c 20 | 73 74 72 69 6e 67 20 61 |he null |string a|
|00000290| 74 20 42 4f 4c 2e 0a 0a | 47 6f 6f 64 20 63 68 6f |t BOL...|Good cho|
|000002a0| 69 63 65 73 3a 0a 20 20 | 43 61 6e 6f 6e 69 63 61 |ices:. |Canonica|
|000002b0| 6c 20 4c 69 73 70 3a 20 | 5c 22 5e 5b 5e 3e 20 5d |l Lisp: |\"^[^> ]|
|000002c0| 2a 3e 2b 3a 3f 20 2a 5c | 22 20 28 4c 75 63 69 64 |*>+:? *\|" (Lucid|
|000002d0| 2c 20 66 72 61 6e 7a 2c | 20 6b 63 6c 2c 20 54 2c |, franz,| kcl, T,|
|000002e0| 20 63 73 63 68 65 6d 65 | 2c 20 6f 61 6b 6c 69 73 | cscheme|, oaklis|
|000002f0| 70 29 0a 20 20 4c 75 63 | 69 64 20 43 6f 6d 6d 6f |p). Luc|id Commo|
|00000300| 6e 20 4c 69 73 70 3a 20 | 5c 22 5e 5c 5c 28 3e 5c |n Lisp: |\"^\\(>\|
|00000310| 5c 7c 5c 5c 28 2d 3e 5c | 5c 29 2b 5c 5c 29 20 2a |\|\\(->\|\)+\\) *|
|00000320| 5c 22 0a 20 20 66 72 61 | 6e 7a 3a 20 5c 22 5e 5c |\". fra|nz: \"^\|
|00000330| 5c 28 2d 3e 5c 5c 7c 3c | 5b 30 2d 39 5d 2a 3e 3a |\(->\\|<|[0-9]*>:|
|00000340| 5c 5c 29 20 2a 5c 22 0a | 20 20 6b 63 6c 3a 20 5c |\\) *\".| kcl: \|
|00000350| 22 5e 3e 2b 20 2a 5c 22 | 0a 20 20 73 68 65 6c 6c |"^>+ *\"|. shell|
|00000360| 3a 20 5c 22 5e 5b 5e 23 | 24 25 3e 5d 2a 5b 23 24 |: \"^[^#|$%>]*[#$|
|00000370| 25 3e 5d 20 2a 5c 22 0a | 20 20 54 3a 20 5c 22 5e |%>] *\".| T: \"^|
|00000380| 3e 2b 20 2a 5c 22 0a 0a | 54 68 69 73 20 69 73 20 |>+ *\"..|This is |
|00000390| 61 20 67 6f 6f 64 20 74 | 68 69 6e 67 20 74 6f 20 |a good t|hing to |
|000003a0| 73 65 74 20 69 6e 20 6d | 6f 64 65 20 68 6f 6f 6b |set in m|ode hook|
|000003b0| 73 2e 22 29 0a 28 64 65 | 66 76 61 72 20 69 6e 70 |s.").(de|fvar inp|
|000003c0| 75 74 2d 72 69 6e 67 2d | 73 69 7a 65 20 33 30 20 |ut-ring-|size 30 |
|000003d0| 22 5c 0a 53 69 7a 65 20 | 6f 66 20 69 6e 70 75 74 |"\.Size |of input|
|000003e0| 20 68 69 73 74 6f 72 79 | 20 72 69 6e 67 2e 22 29 | history| ring.")|
|000003f0| 0a 28 64 65 66 76 61 72 | 20 63 6f 6d 69 6e 74 2d |.(defvar| comint-|
|00000400| 67 65 74 2d 6f 6c 64 2d | 69 6e 70 75 74 20 27 63 |get-old-|input 'c|
|00000410| 6f 6d 69 6e 74 2d 67 65 | 74 2d 6f 6c 64 2d 69 6e |omint-ge|t-old-in|
|00000420| 70 75 74 2d 64 65 66 61 | 75 6c 74 20 22 5c 0a 46 |put-defa|ult "\.F|
|00000430| 75 6e 63 74 69 6f 6e 20 | 74 68 61 74 20 73 75 62 |unction |that sub|
|00000440| 6d 69 74 73 20 6f 6c 64 | 20 74 65 78 74 20 69 6e |mits old| text in|
|00000450| 20 63 6f 6d 69 6e 74 20 | 6d 6f 64 65 2e 0a 54 68 | comint |mode..Th|
|00000460| 69 73 20 66 75 6e 63 74 | 69 6f 6e 20 69 73 20 63 |is funct|ion is c|
|00000470| 61 6c 6c 65 64 20 77 68 | 65 6e 20 72 65 74 75 72 |alled wh|en retur|
|00000480| 6e 20 69 73 20 74 79 70 | 65 64 20 77 68 69 6c 65 |n is typ|ed while|
|00000490| 20 74 68 65 20 70 6f 69 | 6e 74 20 69 73 20 69 6e | the poi|nt is in|
|000004a0| 20 6f 6c 64 20 74 65 78 | 74 2e 0a 49 74 20 72 65 | old tex|t..It re|
|000004b0| 74 75 72 6e 73 20 74 68 | 65 20 74 65 78 74 20 74 |turns th|e text t|
|000004c0| 6f 20 62 65 20 73 75 62 | 6d 69 74 74 65 64 20 61 |o be sub|mitted a|
|000004d0| 73 20 70 72 6f 63 65 73 | 73 20 69 6e 70 75 74 2e |s proces|s input.|
|000004e0| 20 20 54 68 65 20 64 65 | 66 61 75 6c 74 20 69 73 | The de|fault is|
|000004f0| 0a 63 6f 6d 69 6e 74 2d | 67 65 74 2d 6f 6c 64 2d |.comint-|get-old-|
|00000500| 69 6e 70 75 74 2d 64 65 | 66 61 75 6c 74 2c 20 77 |input-de|fault, w|
|00000510| 68 69 63 68 20 67 72 61 | 62 73 20 74 68 65 20 63 |hich gra|bs the c|
|00000520| 75 72 72 65 6e 74 20 6c | 69 6e 65 2c 20 61 6e 64 |urrent l|ine, and|
|00000530| 20 73 74 72 69 70 73 20 | 6f 66 66 0a 6c 65 61 64 | strips |off.lead|
|00000540| 69 6e 67 20 74 65 78 74 | 20 6d 61 74 63 68 69 6e |ing text| matchin|
|00000550| 67 20 63 6f 6d 69 6e 74 | 2d 70 72 6f 6d 70 74 2d |g comint|-prompt-|
|00000560| 72 65 67 65 78 70 22 29 | 0a 28 64 65 66 76 61 72 |regexp")|.(defvar|
|00000570| 20 63 6f 6d 69 6e 74 2d | 69 6e 70 75 74 2d 73 65 | comint-|input-se|
|00000580| 6e 74 69 6e 65 6c 20 27 | 69 67 6e 6f 72 65 20 22 |ntinel '|ignore "|
|00000590| 5c 0a 43 61 6c 6c 65 64 | 20 6f 6e 20 65 61 63 68 |\.Called| on each|
|000005a0| 20 69 6e 70 75 74 20 73 | 75 62 6d 69 74 74 65 64 | input s|ubmitted|
|000005b0| 20 74 6f 20 63 6f 6d 69 | 6e 74 20 6d 6f 64 65 20 | to comi|nt mode |
|000005c0| 70 72 6f 63 65 73 73 20 | 62 79 20 63 6f 6d 69 6e |process |by comin|
|000005d0| 74 2d 73 65 6e 64 2d 69 | 6e 70 75 74 2e 0a 54 68 |t-send-i|nput..Th|
|000005e0| 75 73 20 69 74 20 63 61 | 6e 2c 20 66 6f 72 20 69 |us it ca|n, for i|
|000005f0| 6e 73 74 61 6e 63 65 2c | 20 74 72 61 63 6b 20 63 |nstance,| track c|
|00000600| 64 2f 70 75 73 68 64 2f | 70 6f 70 64 20 63 6f 6d |d/pushd/|popd com|
|00000610| 6d 61 6e 64 73 20 69 73 | 73 75 65 64 20 74 6f 20 |mands is|sued to |
|00000620| 74 68 65 20 63 73 68 2e | 22 29 0a 28 64 65 66 76 |the csh.|").(defv|
|00000630| 61 72 20 63 6f 6d 69 6e | 74 2d 69 6e 70 75 74 2d |ar comin|t-input-|
|00000640| 66 69 6c 74 65 72 20 23 | 5b 28 73 74 72 29 20 22 |filter #|[(str) "|
|00000650| c0 c1 5c 6e 5c 22 3f ad | 84 5c 6e 47 c3 56 87 22 |..\n\"?.|.\nG.V."|
|00000660| 20 5b 73 74 72 69 6e 67 | 2d 6d 61 74 63 68 20 22 | [string|-match "|
|00000670| 5c 5c 60 5c 5c 73 20 2a | 5c 5c 27 22 20 73 74 72 |\\`\\s *|\\'" str|
|00000680| 20 32 5d 20 33 5d 20 22 | 5c 0a 50 72 65 64 69 63 | 2] 3] "|\.Predic|
|00000690| 61 74 65 20 66 6f 72 20 | 66 69 6c 74 65 72 69 6e |ate for |filterin|
|000006a0| 67 20 61 64 64 69 74 69 | 6f 6e 73 20 74 6f 20 69 |g additi|ons to i|
|000006b0| 6e 70 75 74 20 68 69 73 | 74 6f 72 79 2e 0a 4f 6e |nput his|tory..On|
|000006c0| 6c 79 20 69 6e 70 75 74 | 73 20 61 6e 73 77 65 72 |ly input|s answer|
|000006d0| 69 6e 67 20 74 72 75 65 | 20 74 6f 20 74 68 69 73 |ing true| to this|
|000006e0| 20 66 75 6e 63 74 69 6f | 6e 20 61 72 65 20 73 61 | functio|n are sa|
|000006f0| 76 65 64 20 6f 6e 20 74 | 68 65 20 69 6e 70 75 74 |ved on t|he input|
|00000700| 0a 68 69 73 74 6f 72 79 | 20 6c 69 73 74 2e 20 44 |.history| list. D|
|00000710| 65 66 61 75 6c 74 20 69 | 73 20 74 6f 20 73 61 76 |efault i|s to sav|
|00000720| 65 20 61 6e 79 74 68 69 | 6e 67 20 6c 6f 6e 67 65 |e anythi|ng longe|
|00000730| 72 20 74 68 61 6e 20 74 | 77 6f 20 63 68 61 72 61 |r than t|wo chara|
|00000740| 63 74 65 72 73 0a 74 68 | 61 74 20 69 73 6e 27 74 |cters.th|at isn't|
|00000750| 20 61 6c 6c 20 77 68 69 | 74 65 73 70 61 63 65 2e | all whi|tespace.|
|00000760| 20 49 66 20 61 6e 20 65 | 78 69 73 74 69 6e 67 20 | If an e|xisting |
|00000770| 69 74 65 6d 20 69 6e 20 | 74 68 65 20 68 69 73 74 |item in |the hist|
|00000780| 6f 72 79 20 65 78 61 63 | 74 6c 79 0a 6d 61 74 63 |ory exac|tly.matc|
|00000790| 68 65 73 20 74 68 65 20 | 6e 65 77 20 69 6e 70 75 |hes the |new inpu|
|000007a0| 74 2c 20 74 68 65 20 65 | 78 69 73 74 69 6e 67 20 |t, the e|xisting |
|000007b0| 69 74 65 6d 20 69 73 20 | 72 65 6d 6f 76 65 64 20 |item is |removed |
|000007c0| 61 6e 64 20 74 68 65 20 | 6e 65 77 20 69 6e 70 75 |and the |new inpu|
|000007d0| 74 0a 69 73 20 61 64 64 | 65 64 2e 22 29 0a 28 64 |t.is add|ed.").(d|
|000007e0| 65 66 76 61 72 20 63 6f | 6d 69 6e 74 2d 69 6e 70 |efvar co|mint-inp|
|000007f0| 75 74 2d 73 65 6e 64 65 | 72 20 27 63 6f 6d 69 6e |ut-sende|r 'comin|
|00000800| 74 2d 73 69 6d 70 6c 65 | 2d 73 65 6e 64 20 22 5c |t-simple|-send "\|
|00000810| 0a 46 75 6e 63 74 69 6f | 6e 20 74 6f 20 61 63 74 |.Functio|n to act|
|00000820| 75 61 6c 6c 79 20 73 65 | 6e 64 20 74 6f 20 50 52 |ually se|nd to PR|
|00000830| 4f 43 45 53 53 20 74 68 | 65 20 53 54 52 49 4e 47 |OCESS th|e STRING|
|00000840| 20 73 75 62 6d 69 74 74 | 65 64 20 62 79 20 75 73 | submitt|ed by us|
|00000850| 65 72 2e 0a 55 73 75 61 | 6c 6c 79 20 74 68 69 73 |er..Usua|lly this|
|00000860| 20 69 73 20 6a 75 73 74 | 20 27 63 6f 6d 69 6e 74 | is just| 'comint|
|00000870| 2d 73 69 6d 70 6c 65 2d | 73 65 6e 64 2c 20 62 75 |-simple-|send, bu|
|00000880| 74 20 69 66 20 79 6f 75 | 72 20 6d 6f 64 65 20 6e |t if you|r mode n|
|00000890| 65 65 64 73 20 74 6f 20 | 0a 6d 61 73 73 61 67 65 |eeds to |.massage|
|000008a0| 20 74 68 65 20 69 6e 70 | 75 74 20 73 74 72 69 6e | the inp|ut strin|
|000008b0| 67 2c 20 74 68 69 73 20 | 69 73 20 79 6f 75 72 20 |g, this |is your |
|000008c0| 68 6f 6f 6b 2e 20 54 68 | 69 73 20 69 73 20 63 61 |hook. Th|is is ca|
|000008d0| 6c 6c 65 64 20 66 72 6f | 6d 0a 74 68 65 20 75 73 |lled fro|m.the us|
|000008e0| 65 72 20 63 6f 6d 6d 61 | 6e 64 20 63 6f 6d 69 6e |er comma|nd comin|
|000008f0| 74 2d 73 65 6e 64 2d 69 | 6e 70 75 74 2e 20 63 6f |t-send-i|nput. co|
|00000900| 6d 69 6e 74 2d 73 69 6d | 70 6c 65 2d 73 65 6e 64 |mint-sim|ple-send|
|00000910| 20 6a 75 73 74 20 73 65 | 6e 64 73 0a 74 68 65 20 | just se|nds.the |
|00000920| 73 74 72 69 6e 67 20 70 | 6c 75 73 20 61 20 6e 65 |string p|lus a ne|
|00000930| 77 6c 69 6e 65 2e 22 29 | 0a 28 64 65 66 76 61 72 |wline.")|.(defvar|
|00000940| 20 63 6f 6d 69 6e 74 2d | 65 6f 6c 2d 6f 6e 2d 73 | comint-|eol-on-s|
|00000950| 65 6e 64 20 27 54 20 22 | 5c 0a 49 66 20 6e 6f 6e |end 'T "|\.If non|
|00000960| 2d 6e 69 6c 2c 20 74 68 | 65 6e 20 6a 75 6d 70 20 |-nil, th|en jump |
|00000970| 74 6f 20 74 68 65 20 65 | 6e 64 20 6f 66 20 74 68 |to the e|nd of th|
|00000980| 65 20 6c 69 6e 65 20 62 | 65 66 6f 72 65 20 73 65 |e line b|efore se|
|00000990| 6e 64 69 6e 67 20 69 6e | 70 75 74 20 74 6f 20 70 |nding in|put to p|
|000009a0| 72 6f 63 65 73 73 2e 0a | 53 65 65 20 43 4f 4d 49 |rocess..|See COMI|
|000009b0| 4e 54 2d 53 45 4e 44 2d | 49 4e 50 55 54 22 29 0a |NT-SEND-|INPUT").|
|000009c0| 28 64 65 66 76 61 72 20 | 63 6f 6d 69 6e 74 2d 6d |(defvar |comint-m|
|000009d0| 6f 64 65 2d 68 6f 6f 6b | 20 6e 69 6c 20 22 5c 0a |ode-hook| nil "\.|
|000009e0| 43 61 6c 6c 65 64 20 75 | 70 6f 6e 20 65 6e 74 72 |Called u|pon entr|
|000009f0| 79 20 69 6e 74 6f 20 63 | 6f 6d 69 6e 74 2d 6d 6f |y into c|omint-mo|
|00000a00| 64 65 0a 54 68 69 73 20 | 69 73 20 72 75 6e 20 62 |de.This |is run b|
|00000a10| 65 66 6f 72 65 20 74 68 | 65 20 70 72 6f 63 65 73 |efore th|e proces|
|00000a20| 73 20 69 73 20 63 72 61 | 6e 6b 65 64 20 75 70 2e |s is cra|nked up.|
|00000a30| 22 29 0a 28 64 65 66 76 | 61 72 20 63 6f 6d 69 6e |").(defv|ar comin|
|00000a40| 74 2d 65 78 65 63 2d 68 | 6f 6f 6b 20 6e 69 6c 20 |t-exec-h|ook nil |
|00000a50| 22 5c 0a 43 61 6c 6c 65 | 64 20 65 61 63 68 20 74 |"\.Calle|d each t|
|00000a60| 69 6d 65 20 61 20 70 72 | 6f 63 65 73 73 20 69 73 |ime a pr|ocess is|
|00000a70| 20 65 78 65 63 27 64 20 | 62 79 20 63 6f 6d 69 6e | exec'd |by comin|
|00000a80| 74 2d 65 78 65 63 2e 0a | 54 68 69 73 20 69 73 20 |t-exec..|This is |
|00000a90| 63 61 6c 6c 65 64 20 61 | 66 74 65 72 20 74 68 65 |called a|fter the|
|00000aa0| 20 70 72 6f 63 65 73 73 | 20 69 73 20 63 72 61 6e | process| is cran|
|00000ab0| 6b 65 64 20 75 70 2e 20 | 20 49 74 20 69 73 20 75 |ked up. | It is u|
|00000ac0| 73 65 66 75 6c 20 66 6f | 72 20 74 68 69 6e 67 73 |seful fo|r things|
|00000ad0| 20 74 68 61 74 0a 6d 75 | 73 74 20 62 65 20 64 6f | that.mu|st be do|
|00000ae0| 6e 65 20 65 61 63 68 20 | 74 69 6d 65 20 61 20 70 |ne each |time a p|
|00000af0| 72 6f 63 65 73 73 20 69 | 73 20 65 78 65 63 75 74 |rocess i|s execut|
|00000b00| 65 64 20 69 6e 20 61 20 | 63 6f 6d 69 6e 74 2d 6d |ed in a |comint-m|
|00000b10| 6f 64 65 20 62 75 66 66 | 65 72 20 28 65 2e 67 2e |ode buff|er (e.g.|
|00000b20| 2c 0a 28 70 72 6f 63 65 | 73 73 2d 6b 69 6c 6c 2d |,.(proce|ss-kill-|
|00000b30| 77 69 74 68 6f 75 74 2d | 71 75 65 72 79 29 29 2e |without-|query)).|
|00000b40| 20 49 6e 20 63 6f 6e 74 | 72 61 73 74 2c 20 74 68 | In cont|rast, th|
|00000b50| 65 20 63 6f 6d 69 6e 74 | 2d 6d 6f 64 65 2d 68 6f |e comint|-mode-ho|
|00000b60| 6f 6b 20 69 73 20 6f 6e | 6c 79 0a 65 78 65 63 75 |ok is on|ly.execu|
|00000b70| 74 65 64 20 6f 6e 63 65 | 20 77 68 65 6e 20 74 68 |ted once| when th|
|00000b80| 65 20 62 75 66 66 65 72 | 20 69 73 20 63 72 65 61 |e buffer| is crea|
|00000b90| 74 65 64 2e 22 29 0a 28 | 62 79 74 65 2d 63 6f 64 |ted.").(|byte-cod|
|00000ba0| 65 20 22 c0 c1 21 ac 82 | c2 11 c2 87 22 20 5b 62 |e "..!..|...." [b|
|00000bb0| 6f 75 6e 64 70 20 63 6f | 6d 69 6e 74 2d 6d 6f 64 |oundp co|mint-mod|
|00000bc0| 65 2d 6d 61 70 20 6e 69 | 6c 5d 20 32 29 0a 28 66 |e-map ni|l] 2).(f|
|00000bd0| 73 65 74 20 27 63 6f 6d | 69 6e 74 2d 6d 6f 64 65 |set 'com|int-mode|
|00000be0| 20 23 5b 6e 69 6c 20 22 | c0 20 09 1a 1b c4 15 c6 | #[nil "|. ......|
|00000bf0| 16 07 c8 16 09 ca 0e 0b | 21 88 cc cd 21 88 ce 20 |........|!...!.. |
|00000c00| 16 0d cc cf 21 88 ce 20 | 16 0f cc d0 21 88 d1 16 |....!.. |....!...|
|00000c10| 10 cc d2 21 88 cc d3 21 | 88 cc d4 21 88 d5 16 14 |...!...!|...!....|
|00000c20| cc d6 21 88 d7 16 16 cc | d8 21 88 cc d9 21 88 cc |..!.....|.!...!..|
|00000c30| da 21 88 cc db 21 88 cc | dc 21 88 cc c1 21 88 5c |.!...!..|.!...!.\|
|00000c40| 6e 11 dd de 21 88 df e0 | 0b 21 ab 83 0b aa 84 e1 |n...!...|.!......|
|00000c50| 0e 13 21 21 2a 87 22 20 | 5b 67 65 74 2d 69 6e 70 |..!!*." |[get-inp|
|00000c60| 75 74 2d 72 69 6e 67 20 | 63 6f 6d 69 6e 74 2d 70 |ut-ring |comint-p|
|00000c70| 74 79 70 20 6f 6c 64 2d | 70 74 79 70 20 6f 6c 64 |typ old-|ptyp old|
|00000c80| 2d 72 69 6e 67 20 63 6f | 6d 69 6e 74 2d 6d 6f 64 |-ring co|mint-mod|
|00000c90| 65 20 6d 61 6a 6f 72 2d | 6d 6f 64 65 20 22 43 6f |e major-|mode "Co|
|00000ca0| 6d 69 6e 74 22 20 6d 6f | 64 65 2d 6e 61 6d 65 20 |mint" mo|de-name |
|00000cb0| 28 22 3a 20 25 73 22 29 | 20 6d 6f 64 65 2d 6c 69 |(": %s")| mode-li|
|00000cc0| 6e 65 2d 70 72 6f 63 65 | 73 73 20 75 73 65 2d 6c |ne-proce|ss use-l|
|00000cd0| 6f 63 61 6c 2d 6d 61 70 | 20 63 6f 6d 69 6e 74 2d |ocal-map| comint-|
|00000ce0| 6d 6f 64 65 2d 6d 61 70 | 20 6d 61 6b 65 2d 6c 6f |mode-map| make-lo|
|00000cf0| 63 61 6c 2d 76 61 72 69 | 61 62 6c 65 20 63 6f 6d |cal-vari|able com|
|00000d00| 69 6e 74 2d 6c 61 73 74 | 2d 69 6e 70 75 74 2d 73 |int-last|-input-s|
|00000d10| 74 61 72 74 20 6d 61 6b | 65 2d 6d 61 72 6b 65 72 |tart mak|e-marker|
|00000d20| 20 63 6f 6d 69 6e 74 2d | 6c 61 73 74 2d 69 6e 70 | comint-|last-inp|
|00000d30| 75 74 2d 65 6e 64 20 63 | 6f 6d 69 6e 74 2d 6c 61 |ut-end c|omint-la|
|00000d40| 73 74 2d 69 6e 70 75 74 | 2d 6d 61 74 63 68 20 22 |st-input|-match "|
|00000d50| 22 20 63 6f 6d 69 6e 74 | 2d 70 72 6f 6d 70 74 2d |" comint|-prompt-|
|00000d60| 72 65 67 65 78 70 20 69 | 6e 70 75 74 2d 72 69 6e |regexp i|nput-rin|
|00000d70| 67 2d 73 69 7a 65 20 69 | 6e 70 75 74 2d 72 69 6e |g-size i|nput-rin|
|00000d80| 67 20 6e 69 6c 20 69 6e | 70 75 74 2d 72 69 6e 67 |g nil in|put-ring|
|00000d90| 2d 69 6e 64 65 78 20 30 | 20 63 6f 6d 69 6e 74 2d |-index 0| comint-|
|00000da0| 67 65 74 2d 6f 6c 64 2d | 69 6e 70 75 74 20 63 6f |get-old-|input co|
|00000db0| 6d 69 6e 74 2d 69 6e 70 | 75 74 2d 73 65 6e 74 69 |mint-inp|ut-senti|
|00000dc0| 6e 65 6c 20 63 6f 6d 69 | 6e 74 2d 69 6e 70 75 74 |nel comi|nt-input|
|00000dd0| 2d 66 69 6c 74 65 72 20 | 63 6f 6d 69 6e 74 2d 69 |-filter |comint-i|
|00000de0| 6e 70 75 74 2d 73 65 6e | 64 65 72 20 63 6f 6d 69 |nput-sen|der comi|
|00000df0| 6e 74 2d 65 6f 6c 2d 6f | 6e 2d 73 65 6e 64 20 72 |nt-eol-o|n-send r|
|00000e00| 75 6e 2d 68 6f 6f 6b 73 | 20 63 6f 6d 69 6e 74 2d |un-hooks| comint-|
|00000e10| 6d 6f 64 65 2d 68 6f 6f | 6b 20 73 65 74 2d 69 6e |mode-hoo|k set-in|
|00000e20| 70 75 74 2d 72 69 6e 67 | 20 72 69 6e 67 2d 70 20 |put-ring| ring-p |
|00000e30| 6d 61 6b 65 2d 72 69 6e | 67 5d 20 33 20 22 5c 0a |make-rin|g] 3 "\.|
|00000e40| 4d 61 6a 6f 72 20 6d 6f | 64 65 20 66 6f 72 20 69 |Major mo|de for i|
|00000e50| 6e 74 65 72 61 63 74 69 | 6e 67 20 77 69 74 68 20 |nteracti|ng with |
|00000e60| 61 6e 20 69 6e 66 65 72 | 69 6f 72 20 69 6e 74 65 |an infer|ior inte|
|00000e70| 72 70 72 65 74 65 72 2e | 0a 49 6e 74 65 72 70 72 |rpreter.|.Interpr|
|00000e80| 65 74 65 72 20 6e 61 6d | 65 20 69 73 20 73 61 6d |eter nam|e is sam|
|00000e90| 65 20 61 73 20 62 75 66 | 66 65 72 20 6e 61 6d 65 |e as buf|fer name|
|00000ea0| 2c 20 73 61 6e 73 20 74 | 68 65 20 61 73 74 65 72 |, sans t|he aster|
|00000eb0| 69 73 6b 73 2e 0a 52 65 | 74 75 72 6e 20 61 74 20 |isks..Re|turn at |
|00000ec0| 65 6e 64 20 6f 66 20 62 | 75 66 66 65 72 20 73 65 |end of b|uffer se|
|00000ed0| 6e 64 73 20 6c 69 6e 65 | 20 61 73 20 69 6e 70 75 |nds line| as inpu|
|00000ee0| 74 2e 0a 52 65 74 75 72 | 6e 20 6e 6f 74 20 61 74 |t..Retur|n not at|
|00000ef0| 20 65 6e 64 20 63 6f 70 | 69 65 73 20 72 65 73 74 | end cop|ies rest|
|00000f00| 20 6f 66 20 6c 69 6e 65 | 20 74 6f 20 65 6e 64 20 | of line| to end |
|00000f10| 61 6e 64 20 73 65 6e 64 | 73 20 69 74 2e 0a 53 65 |and send|s it..Se|
|00000f20| 74 74 69 6e 67 20 6d 6f | 64 65 20 76 61 72 69 61 |tting mo|de varia|
|00000f30| 62 6c 65 20 63 6f 6d 69 | 6e 74 2d 65 6f 6c 2d 6f |ble comi|nt-eol-o|
|00000f40| 6e 2d 73 65 6e 64 20 6d | 65 61 6e 73 20 6a 75 6d |n-send m|eans jum|
|00000f50| 70 20 74 6f 20 74 68 65 | 20 65 6e 64 20 6f 66 20 |p to the| end of |
|00000f60| 74 68 65 20 6c 69 6e 65 | 0a 62 65 66 6f 72 65 20 |the line|.before |
|00000f70| 73 75 62 6d 69 74 74 69 | 6e 67 20 6e 65 77 20 69 |submitti|ng new i|
|00000f80| 6e 70 75 74 2e 0a 0a 54 | 68 69 73 20 6d 6f 64 65 |nput...T|his mode|
|00000f90| 20 69 73 20 74 79 70 69 | 63 61 6c 6c 79 20 63 75 | is typi|cally cu|
|00000fa0| 73 74 6f 6d 69 73 65 64 | 20 74 6f 20 63 72 65 61 |stomised| to crea|
|00000fb0| 74 65 20 69 6e 66 65 72 | 69 6f 72 2d 6c 69 73 70 |te infer|ior-lisp|
|00000fc0| 2d 6d 6f 64 65 2c 0a 73 | 68 65 6c 6c 2d 6d 6f 64 |-mode,.s|hell-mod|
|00000fd0| 65 2c 20 65 74 63 2e 2e | 20 54 68 69 73 20 63 61 |e, etc..| This ca|
|00000fe0| 6e 20 62 65 20 64 6f 6e | 65 20 62 79 20 73 65 74 |n be don|e by set|
|00000ff0| 74 69 6e 67 20 74 68 65 | 20 68 6f 6f 6b 73 0a 63 |ting the| hooks.c|
|00001000| 6f 6d 69 6e 74 2d 69 6e | 70 75 74 2d 73 65 6e 74 |omint-in|put-sent|
|00001010| 69 6e 65 6c 2c 20 63 6f | 6d 69 6e 74 2d 69 6e 70 |inel, co|mint-inp|
|00001020| 75 74 2d 66 69 6c 74 65 | 72 2c 20 63 6f 6d 69 6e |ut-filte|r, comin|
|00001030| 74 2d 69 6e 70 75 74 2d | 73 65 6e 64 65 72 20 61 |t-input-|sender a|
|00001040| 6e 64 0a 63 6f 6d 69 6e | 74 2d 67 65 74 2d 6f 6c |nd.comin|t-get-ol|
|00001050| 64 2d 69 6e 70 75 74 20 | 74 6f 20 61 70 70 72 6f |d-input |to appro|
|00001060| 70 72 69 61 74 65 20 66 | 75 6e 63 74 69 6f 6e 73 |priate f|unctions|
|00001070| 2c 20 61 6e 64 20 74 68 | 65 20 76 61 72 69 61 62 |, and th|e variab|
|00001080| 6c 65 0a 63 6f 6d 69 6e | 74 2d 70 72 6f 6d 70 74 |le.comin|t-prompt|
|00001090| 2d 72 65 67 65 78 70 20 | 74 6f 20 74 68 65 20 61 |-regexp |to the a|
|000010a0| 70 70 72 6f 70 72 69 61 | 74 65 20 72 65 67 75 6c |ppropria|te regul|
|000010b0| 61 72 20 65 78 70 72 65 | 73 73 69 6f 6e 2e 0a 0a |ar expre|ssion...|
|000010c0| 41 6e 20 69 6e 70 75 74 | 20 68 69 73 74 6f 72 79 |An input| history|
|000010d0| 20 69 73 20 6d 61 69 6e | 74 61 69 6e 65 64 20 6f | is main|tained o|
|000010e0| 66 20 73 69 7a 65 20 69 | 6e 70 75 74 2d 72 69 6e |f size i|nput-rin|
|000010f0| 67 2d 73 69 7a 65 2c 20 | 61 6e 64 0a 63 61 6e 20 |g-size, |and.can |
|00001100| 62 65 20 61 63 63 65 73 | 73 65 64 20 77 69 74 68 |be acces|sed with|
|00001110| 20 74 68 65 20 63 6f 6d | 6d 61 6e 64 73 20 63 6f | the com|mands co|
|00001120| 6d 69 6e 74 2d 6e 65 78 | 74 2d 69 6e 70 75 74 20 |mint-nex|t-input |
|00001130| 5b 5c 5c 5b 63 6f 6d 69 | 6e 74 2d 6e 65 78 74 2d |[\\[comi|nt-next-|
|00001140| 69 6e 70 75 74 5d 5d 20 | 61 6e 64 20 0a 63 6f 6d |input]] |and .com|
|00001150| 69 6e 74 2d 70 72 65 76 | 69 6f 75 73 2d 69 6e 70 |int-prev|ious-inp|
|00001160| 75 74 20 5b 5c 5c 5b 63 | 6f 6d 69 6e 74 2d 70 72 |ut [\\[c|omint-pr|
|00001170| 65 76 69 6f 75 73 2d 69 | 6e 70 75 74 5d 5d 2e 20 |evious-i|nput]]. |
|00001180| 43 6f 6d 6d 61 6e 64 73 | 20 6e 6f 74 20 6b 65 79 |Commands| not key|
|00001190| 62 6f 75 6e 64 20 62 79 | 0a 64 65 66 61 75 6c 74 |bound by|.default|
|000011a0| 20 61 72 65 20 73 65 6e | 64 2d 69 6e 76 69 73 69 | are sen|d-invisi|
|000011b0| 62 6c 65 2c 20 63 6f 6d | 69 6e 74 2d 64 79 6e 61 |ble, com|int-dyna|
|000011c0| 6d 69 63 2d 63 6f 6d 70 | 6c 65 74 65 2c 20 61 6e |mic-comp|lete, an|
|000011d0| 64 20 0a 63 6f 6d 69 6e | 74 2d 6c 69 73 74 2d 64 |d .comin|t-list-d|
|000011e0| 79 6e 61 6d 69 63 2d 63 | 6f 6d 70 6c 65 74 69 6f |ynamic-c|ompletio|
|000011f0| 6e 73 2e 0a 0a 49 66 20 | 79 6f 75 20 61 63 63 69 |ns...If |you acci|
|00001200| 64 65 6e 74 61 6c 6c 79 | 20 73 75 73 70 65 6e 64 |dentally| suspend|
|00001210| 20 79 6f 75 72 20 70 72 | 6f 63 65 73 73 2c 20 75 | your pr|ocess, u|
|00001220| 73 65 20 5c 5c 5b 63 6f | 6d 69 6e 74 2d 63 6f 6e |se \\[co|mint-con|
|00001230| 74 69 6e 75 65 2d 73 75 | 62 6a 6f 62 5d 0a 74 6f |tinue-su|bjob].to|
|00001240| 20 63 6f 6e 74 69 6e 75 | 65 20 69 74 2e 0a 0a 5c | continu|e it...\|
|00001250| 5c 7b 63 6f 6d 69 6e 74 | 2d 6d 6f 64 65 2d 6d 61 |\{comint|-mode-ma|
|00001260| 70 7d 0a 0a 45 6e 74 72 | 79 20 74 6f 20 74 68 69 |p}..Entr|y to thi|
|00001270| 73 20 6d 6f 64 65 20 72 | 75 6e 73 20 74 68 65 20 |s mode r|uns the |
|00001280| 68 6f 6f 6b 73 20 6f 6e | 20 63 6f 6d 69 6e 74 2d |hooks on| comint-|
|00001290| 6d 6f 64 65 2d 68 6f 6f | 6b 22 20 6e 69 6c 5d 29 |mode-hoo|k" nil])|
|000012a0| 0a 28 62 79 74 65 2d 63 | 6f 64 65 20 22 08 ac e9 |.(byte-c|ode "...|
|000012b0| c1 20 10 c2 08 c3 c4 23 | 88 c2 08 c5 c6 23 88 c2 |. .....#|.....#..|
|000012c0| 08 c7 c4 23 88 c2 08 c8 | c9 23 88 c2 08 ca cb 23 |...#....|.#.....#|
|000012d0| 88 c2 08 cc cd 23 88 c2 | 08 ce cf 23 88 c2 08 d0 |.....#..|...#....|
|000012e0| d1 23 88 c2 08 d2 d3 23 | 88 c2 08 d4 d5 23 88 c2 |.#.....#|.....#..|
|000012f0| 08 d6 d7 23 88 c2 08 d8 | d9 23 88 c2 08 da db 23 |...#....|.#.....#|
|00001300| 88 c2 08 dc dd 23 88 c2 | 08 de df 23 88 c2 08 e0 |.....#..|...#....|
|00001310| e1 23 88 c2 08 e2 e3 23 | 88 c1 87 22 20 5b 63 6f |.#.....#|..." [co|
|00001320| 6d 69 6e 74 2d 6d 6f 64 | 65 2d 6d 61 70 20 6d 61 |mint-mod|e-map ma|
|00001330| 6b 65 2d 73 70 61 72 73 | 65 2d 6b 65 79 6d 61 70 |ke-spars|e-keymap|
|00001340| 20 64 65 66 69 6e 65 2d | 6b 65 79 20 22 1b 70 22 | define-|key ".p"|
|00001350| 20 63 6f 6d 69 6e 74 2d | 70 72 65 76 69 6f 75 73 | comint-|previous|
|00001360| 2d 73 69 6d 69 6c 61 72 | 2d 69 6e 70 75 74 20 22 |-similar|-input "|
|00001370| 1b 6e 22 20 63 6f 6d 69 | 6e 74 2d 6e 65 78 74 2d |.n" comi|nt-next-|
|00001380| 73 69 6d 69 6c 61 72 2d | 69 6e 70 75 74 20 22 1b |similar-|input ".|
|00001390| 73 22 20 22 0d 22 20 63 | 6f 6d 69 6e 74 2d 73 65 |s" "." c|omint-se|
|000013a0| 6e 64 2d 69 6e 70 75 74 | 20 22 01 22 20 63 6f 6d |nd-input| "." com|
|000013b0| 69 6e 74 2d 62 6f 6c 20 | 22 03 15 22 20 63 6f 6d |int-bol |".." com|
|000013c0| 69 6e 74 2d 6b 69 6c 6c | 2d 69 6e 70 75 74 20 22 |int-kill|-input "|
|000013d0| 03 17 22 20 62 61 63 6b | 77 61 72 64 2d 6b 69 6c |.." back|ward-kil|
|000013e0| 6c 2d 77 6f 72 64 20 22 | 03 03 22 20 63 6f 6d 69 |l-word "|.." comi|
|000013f0| 6e 74 2d 69 6e 74 65 72 | 72 75 70 74 2d 73 75 62 |nt-inter|rupt-sub|
|00001400| 6a 6f 62 20 22 03 1a 22 | 20 63 6f 6d 69 6e 74 2d |job ".."| comint-|
|00001410| 73 74 6f 70 2d 73 75 62 | 6a 6f 62 20 22 03 1c 22 |stop-sub|job ".."|
|00001420| 20 63 6f 6d 69 6e 74 2d | 71 75 69 74 2d 73 75 62 | comint-|quit-sub|
|00001430| 6a 6f 62 20 22 03 04 22 | 20 63 6f 6d 69 6e 74 2d |job ".."| comint-|
|00001440| 73 65 6e 64 2d 65 6f 66 | 20 22 03 0f 22 20 63 6f |send-eof| ".." co|
|00001450| 6d 69 6e 74 2d 6b 69 6c | 6c 2d 6f 75 74 70 75 74 |mint-kil|l-output|
|00001460| 20 22 03 72 22 20 63 6f | 6d 69 6e 74 2d 70 72 65 | ".r" co|mint-pre|
|00001470| 76 69 6f 75 73 2d 69 6e | 70 75 74 2d 6d 61 74 63 |vious-in|put-matc|
|00001480| 68 69 6e 67 20 22 03 12 | 22 20 63 6f 6d 69 6e 74 |hing "..|" comint|
|00001490| 2d 73 68 6f 77 2d 6f 75 | 74 70 75 74 20 22 1b 50 |-show-ou|tput ".P|
|000014a0| 22 20 63 6f 6d 69 6e 74 | 2d 6d 73 65 61 72 63 68 |" comint|-msearch|
|000014b0| 2d 69 6e 70 75 74 20 22 | 1b 4e 22 20 63 6f 6d 69 |-input "|.N" comi|
|000014c0| 6e 74 2d 70 73 65 61 72 | 63 68 2d 69 6e 70 75 74 |nt-psear|ch-input|
|000014d0| 20 22 03 52 22 20 63 6f | 6d 69 6e 74 2d 6d 73 65 | ".R" co|mint-mse|
|000014e0| 61 72 63 68 2d 69 6e 70 | 75 74 2d 6d 61 74 63 68 |arch-inp|ut-match|
|000014f0| 69 6e 67 5d 20 34 29 0a | 28 66 73 65 74 20 27 66 |ing] 4).|(fset 'f|
|00001500| 75 6c 6c 2d 63 6f 70 79 | 2d 73 70 61 72 73 65 2d |ull-copy|-sparse-|
|00001510| 6b 65 79 6d 61 70 20 23 | 5b 28 6b 6d 29 20 22 08 |keymap #|[(km) ".|
|00001520| 3a ab 8a c1 08 40 21 c1 | 08 41 21 42 87 c2 08 21 |:....@!.|.A!B...!|
|00001530| 87 22 20 5b 6b 6d 20 66 | 75 6c 6c 2d 63 6f 70 79 |." [km f|ull-copy|
|00001540| 2d 73 70 61 72 73 65 2d | 6b 65 79 6d 61 70 20 63 |-sparse-|keymap c|
|00001550| 6f 70 79 2d 6b 65 79 6d | 61 70 5d 20 33 20 22 5c |opy-keym|ap] 3 "\|
|00001560| 0a 52 65 63 75 72 73 69 | 76 65 6c 79 20 63 6f 70 |.Recursi|vely cop|
|00001570| 79 20 74 68 65 20 73 70 | 61 72 73 65 20 6b 65 79 |y the sp|arse key|
|00001580| 6d 61 70 20 4b 4d 22 5d | 29 0a 28 66 73 65 74 20 |map KM"]|).(fset |
|00001590| 27 63 6f 6d 69 6e 74 2d | 63 68 65 63 6b 2d 70 72 |'comint-|check-pr|
|000015a0| 6f 63 20 23 5b 28 62 75 | 66 66 65 72 2d 6e 61 6d |oc #[(bu|ffer-nam|
|000015b0| 65 29 20 22 c0 09 21 89 | 1a ad 85 c3 5c 6e 21 c4 |e) "..!.|....\n!.|
|000015c0| 3e 29 87 22 20 5b 67 65 | 74 2d 62 75 66 66 65 72 |>)." [ge|t-buffer|
|000015d0| 2d 70 72 6f 63 65 73 73 | 20 62 75 66 66 65 72 2d |-process| buffer-|
|000015e0| 6e 61 6d 65 20 70 72 6f | 63 20 70 72 6f 63 65 73 |name pro|c proces|
|000015f0| 73 2d 73 74 61 74 75 73 | 20 28 72 75 6e 20 73 74 |s-status| (run st|
|00001600| 6f 70 29 5d 20 33 20 22 | 5c 0a 54 72 75 65 20 69 |op)] 3 "|\.True i|
|00001610| 66 20 74 68 65 72 65 20 | 69 73 20 61 20 70 72 6f |f there |is a pro|
|00001620| 63 65 73 73 20 61 73 73 | 6f 63 69 61 74 65 64 20 |cess ass|ociated |
|00001630| 77 2f 62 75 66 66 65 72 | 20 42 55 46 46 45 52 2d |w/buffer| BUFFER-|
|00001640| 4e 41 4d 45 2c 20 61 6e | 64 0a 69 74 20 69 73 20 |NAME, an|d.it is |
|00001650| 61 6c 69 76 65 20 28 73 | 74 61 74 75 73 20 52 55 |alive (s|tatus RU|
|00001660| 4e 20 6f 72 20 53 54 4f | 50 29 2e 22 5d 29 0a 28 |N or STO|P)."]).(|
|00001670| 66 73 65 74 20 27 63 6f | 6d 69 6e 74 2d 6d 61 72 |fset 'co|mint-mar|
|00001680| 6b 20 23 5b 6e 69 6c 20 | 22 c0 c1 70 21 21 87 22 |k #[nil |"..p!!."|
|00001690| 20 5b 70 72 6f 63 65 73 | 73 2d 6d 61 72 6b 20 67 | [proces|s-mark g|
|000016a0| 65 74 2d 62 75 66 66 65 | 72 2d 70 72 6f 63 65 73 |et-buffe|r-proces|
|000016b0| 73 5d 20 33 20 22 5c 0a | 52 65 74 75 72 6e 73 20 |s] 3 "\.|Returns |
|000016c0| 74 68 65 20 70 72 6f 63 | 65 73 73 2d 6d 61 72 6b |the proc|ess-mark|
|000016d0| 20 6f 66 20 74 68 65 20 | 63 75 72 72 65 6e 74 20 | of the |current |
|000016e0| 62 75 66 66 65 72 2e 22 | 5d 29 0a 28 62 79 74 65 |buffer."|]).(byte|
|000016f0| 2d 63 6f 64 65 20 22 c0 | c1 4d 88 c2 c0 4d 87 22 |-code ".|.M...M."|
|00001700| 20 5b 6d 61 6b 65 2d 63 | 6f 6d 69 6e 74 20 23 5b | [make-c|omint #[|
|00001710| 28 6e 61 6d 65 20 70 72 | 6f 67 72 61 6d 20 26 6f |(name pr|ogram &o|
|00001720| 70 74 69 6f 6e 61 6c 20 | 73 74 61 72 74 66 69 6c |ptional |startfil|
|00001730| 65 20 26 72 65 73 74 20 | 73 77 69 74 63 68 65 73 |e &rest |switches|
|00001740| 29 20 22 c0 19 c2 c3 0c | c3 51 21 29 1d c6 0d 21 |) ".....|.Q!)...!|
|00001750| 89 1e 07 ab 88 c8 0e 07 | 21 c9 3e ac 93 8a 0d 71 |........|!.>....q|
|00001760| 88 ca 20 88 29 cb 0d 0c | 0e 0c 0e 0d 0e 0e 25 88 |.. .)...|......%.|
|00001770| 0d 2a 87 22 20 5b 66 75 | 6e 64 61 6d 65 6e 74 61 |.*." [fu|ndamenta|
|00001780| 6c 2d 6d 6f 64 65 20 64 | 65 66 61 75 6c 74 2d 6d |l-mode d|efault-m|
|00001790| 61 6a 6f 72 2d 6d 6f 64 | 65 20 67 65 74 2d 62 75 |ajor-mod|e get-bu|
|000017a0| 66 66 65 72 2d 63 72 65 | 61 74 65 20 22 2a 22 20 |ffer-cre|ate "*" |
|000017b0| 6e 61 6d 65 20 62 75 66 | 66 65 72 20 67 65 74 2d |name buf|fer get-|
|000017c0| 62 75 66 66 65 72 2d 70 | 72 6f 63 65 73 73 20 70 |buffer-p|rocess p|
|000017d0| 72 6f 63 20 70 72 6f 63 | 65 73 73 2d 73 74 61 74 |roc proc|ess-stat|
|000017e0| 75 73 20 28 72 75 6e 20 | 73 74 6f 70 29 20 63 6f |us (run |stop) co|
|000017f0| 6d 69 6e 74 2d 6d 6f 64 | 65 20 63 6f 6d 69 6e 74 |mint-mod|e comint|
|00001800| 2d 65 78 65 63 20 70 72 | 6f 67 72 61 6d 20 73 74 |-exec pr|ogram st|
|00001810| 61 72 74 66 69 6c 65 20 | 73 77 69 74 63 68 65 73 |artfile |switches|
|00001820| 5d 20 37 5d 20 6d 61 6b | 65 2d 73 68 65 6c 6c 5d |] 7] mak|e-shell]|
|00001830| 20 32 29 0a 28 64 65 66 | 76 61 72 20 63 6f 6d 69 | 2).(def|var comi|
|00001840| 6e 74 2d 70 74 79 70 20 | 74 20 22 5c 0a 54 72 75 |nt-ptyp |t "\.Tru|
|00001850| 65 20 69 66 20 63 6f 6d | 6d 75 6e 69 63 61 74 69 |e if com|municati|
|00001860| 6f 6e 73 20 76 69 61 20 | 70 74 79 3b 20 66 61 6c |ons via |pty; fal|
|00001870| 73 65 20 69 66 20 62 79 | 20 70 69 70 65 2e 20 42 |se if by| pipe. B|
|00001880| 75 66 66 65 72 20 6c 6f | 63 61 6c 2e 0a 54 68 69 |uffer lo|cal..Thi|
|00001890| 73 20 69 73 20 74 6f 20 | 77 6f 72 6b 20 61 72 6f |s is to |work aro|
|000018a0| 75 6e 64 20 61 20 62 75 | 67 20 69 6e 20 65 6d 61 |und a bu|g in ema|
|000018b0| 63 73 20 70 72 6f 63 65 | 73 73 20 73 69 67 6e 61 |cs proce|ss signa|
|000018c0| 6c 6c 69 6e 67 2e 22 29 | 0a 28 66 73 65 74 20 27 |lling.")|.(fset '|
|000018d0| 63 6f 6d 69 6e 74 2d 65 | 78 65 63 20 23 5b 28 62 |comint-e|xec #[(b|
|000018e0| 75 66 66 65 72 20 6e 61 | 6d 65 20 63 6f 6d 6d 61 |uffer na|me comma|
|000018f0| 6e 64 20 73 74 61 72 74 | 66 69 6c 65 20 73 77 69 |nd start|file swi|
|00001900| 74 63 68 65 73 29 20 22 | 8a 08 71 88 c1 08 21 89 |tches) "|..q...!.|
|00001910| 1a ab 84 c3 5c 6e 21 88 | 29 c4 0d 08 0e 06 0e 07 |....\n!.|).......|
|00001920| 24 1a c8 c9 21 88 0e 5c | 6e 16 09 64 62 88 cb 5c |$...!..\|n..db..\|
|00001930| 6e 21 60 cc 93 88 0e 0d | ab 9b ce cf 21 88 64 62 |n!`.....|....!.db|
|00001940| 88 d0 0e 0d 21 88 60 64 | 7b 16 0d 60 64 7c 88 d1 |....!.`d|{..`d|..|
|00001950| 5c 6e 0e 0d 5c 22 88 29 | d2 d3 21 88 08 29 87 22 |\n..\".)|..!..)."|
|00001960| 20 5b 62 75 66 66 65 72 | 20 67 65 74 2d 62 75 66 | [buffer| get-buf|
|00001970| 66 65 72 2d 70 72 6f 63 | 65 73 73 20 70 72 6f 63 |fer-proc|ess proc|
|00001980| 20 64 65 6c 65 74 65 2d | 70 72 6f 63 65 73 73 20 | delete-|process |
|00001990| 63 6f 6d 69 6e 74 2d 65 | 78 65 63 2d 31 20 6e 61 |comint-e|xec-1 na|
|000019a0| 6d 65 20 63 6f 6d 6d 61 | 6e 64 20 73 77 69 74 63 |me comma|nd switc|
|000019b0| 68 65 73 20 6d 61 6b 65 | 2d 6c 6f 63 61 6c 2d 76 |hes make|-local-v|
|000019c0| 61 72 69 61 62 6c 65 20 | 63 6f 6d 69 6e 74 2d 70 |ariable |comint-p|
|000019d0| 74 79 70 20 70 72 6f 63 | 65 73 73 2d 63 6f 6e 6e |typ proc|ess-conn|
|000019e0| 65 63 74 69 6f 6e 2d 74 | 79 70 65 20 70 72 6f 63 |ection-t|ype proc|
|000019f0| 65 73 73 2d 6d 61 72 6b | 20 6e 69 6c 20 73 74 61 |ess-mark| nil sta|
|00001a00| 72 74 66 69 6c 65 20 73 | 6c 65 65 70 2d 66 6f 72 |rtfile s|leep-for|
|00001a10| 20 31 20 69 6e 73 65 72 | 74 2d 66 69 6c 65 2d 63 | 1 inser|t-file-c|
|00001a20| 6f 6e 74 65 6e 74 73 20 | 63 6f 6d 69 6e 74 2d 73 |ontents |comint-s|
|00001a30| 65 6e 64 2d 73 74 72 69 | 6e 67 20 72 75 6e 2d 68 |end-stri|ng run-h|
|00001a40| 6f 6f 6b 73 20 63 6f 6d | 69 6e 74 2d 65 78 65 63 |ooks com|int-exec|
|00001a50| 2d 68 6f 6f 6b 5d 20 36 | 20 22 5c 0a 46 69 72 65 |-hook] 6| "\.Fire|
|00001a60| 73 20 75 70 20 61 20 70 | 72 6f 63 65 73 73 20 69 |s up a p|rocess i|
|00001a70| 6e 20 62 75 66 66 65 72 | 20 66 6f 72 20 63 6f 6d |n buffer| for com|
|00001a80| 69 6e 74 20 6d 6f 64 65 | 73 2e 0a 42 6c 61 73 74 |int mode|s..Blast|
|00001a90| 73 20 61 6e 79 20 6f 6c | 64 20 70 72 6f 63 65 73 |s any ol|d proces|
|00001aa0| 73 20 72 75 6e 6e 69 6e | 67 20 69 6e 20 74 68 65 |s runnin|g in the|
|00001ab0| 20 62 75 66 66 65 72 2e | 20 44 6f 65 73 6e 27 74 | buffer.| Doesn't|
|00001ac0| 20 73 65 74 20 74 68 65 | 20 62 75 66 66 65 72 20 | set the| buffer |
|00001ad0| 6d 6f 64 65 2e 0a 59 6f | 75 20 63 61 6e 20 75 73 |mode..Yo|u can us|
|00001ae0| 65 20 74 68 69 73 20 74 | 6f 20 63 68 65 61 70 6c |e this t|o cheapl|
|00001af0| 79 20 72 75 6e 20 61 20 | 73 65 72 69 65 73 20 6f |y run a |series o|
|00001b00| 66 20 70 72 6f 63 65 73 | 73 65 73 20 69 6e 20 74 |f proces|ses in t|
|00001b10| 68 65 20 73 61 6d 65 20 | 63 6f 6d 69 6e 74 0a 62 |he same |comint.b|
|00001b20| 75 66 66 65 72 2e 20 54 | 68 65 20 68 6f 6f 6b 20 |uffer. T|he hook |
|00001b30| 63 6f 6d 69 6e 74 2d 65 | 78 65 63 2d 68 6f 6f 6b |comint-e|xec-hook|
|00001b40| 20 69 73 20 72 75 6e 20 | 61 66 74 65 72 20 65 61 | is run |after ea|
|00001b50| 63 68 20 65 78 65 63 2e | 22 5d 29 0a 28 62 79 74 |ch exec.|"]).(byt|
|00001b60| 65 2d 63 6f 64 65 20 22 | c0 c1 4d 88 c2 c3 4d 87 |e-code "|..M...M.|
|00001b70| 22 20 5b 63 6f 6d 69 6e | 74 2d 65 78 65 63 2d 31 |" [comin|t-exec-1|
|00001b80| 20 23 5b 28 6e 61 6d 65 | 20 62 75 66 66 65 72 20 | #[(name| buffer |
|00001b90| 63 6f 6d 6d 61 6e 64 20 | 73 77 69 74 63 68 65 73 |command |switches|
|00001ba0| 29 20 22 c0 c1 21 ab 99 | c2 09 c3 c4 c5 20 5c 22 |) "..!..|..... \"|
|00001bb0| c6 c7 45 5c 22 19 c8 c9 | 0e 5c 6e 0e 0b 0e 0c 0e |..E\"...|.\n.....|
|00001bc0| 0d 25 29 87 ce cf 21 ce | d0 21 ce d1 21 1e 12 1e |.%)...!.|.!..!...|
|00001bd0| 13 1e 14 d5 8e d6 cf c3 | d7 c5 20 5c 22 5c 22 88 |........|.. \"\".|
|00001be0| d6 d0 d8 5c 22 88 d6 d1 | d9 5c 22 88 c8 c9 0e 5c |...\"...|.\"....\|
|00001bf0| 6e 0e 0b 0e 0c 0e 0d 25 | 2c 87 22 20 5b 62 6f 75 |n......%|,." [bou|
|00001c00| 6e 64 70 20 70 72 6f 63 | 65 73 73 2d 65 6e 76 69 |ndp proc|ess-envi|
|00001c10| 72 6f 6e 6d 65 6e 74 20 | 63 6f 6d 69 6e 74 2d 75 |ronment |comint-u|
|00001c20| 70 64 61 74 65 2d 65 6e | 76 20 66 6f 72 6d 61 74 |pdate-en|v format|
|00001c30| 20 22 54 45 52 4d 43 41 | 50 3d 65 6d 61 63 73 3a | "TERMCA|P=emacs:|
|00001c40| 63 6f 23 25 64 3a 74 63 | 3d 75 6e 6b 6e 6f 77 6e |co#%d:tc|=unknown|
|00001c50| 22 20 73 63 72 65 65 6e | 2d 77 69 64 74 68 20 22 |" screen|-width "|
|00001c60| 54 45 52 4d 3d 65 6d 61 | 63 73 22 20 22 45 4d 41 |TERM=ema|cs" "EMA|
|00001c70| 43 53 3d 74 22 20 61 70 | 70 6c 79 20 73 74 61 72 |CS=t" ap|ply star|
|00001c80| 74 2d 70 72 6f 63 65 73 | 73 20 6e 61 6d 65 20 62 |t-proces|s name b|
|00001c90| 75 66 66 65 72 20 63 6f | 6d 6d 61 6e 64 20 73 77 |uffer co|mmand sw|
|00001ca0| 69 74 63 68 65 73 20 67 | 65 74 65 6e 76 20 22 54 |itches g|etenv "T|
|00001cb0| 45 52 4d 43 41 50 22 20 | 22 54 45 52 4d 22 20 22 |ERMCAP" |"TERM" "|
|00001cc0| 45 4d 41 43 53 22 20 65 | 6d 76 20 74 65 72 6d 76 |EMACS" e|mv termv|
|00001cd0| 20 74 63 61 70 76 20 28 | 28 62 79 74 65 2d 63 6f | tcapv (|(byte-co|
|00001ce0| 64 65 20 22 c0 c1 5c 6e | 5c 22 88 c0 c3 0c 5c 22 |de "..\n|\"....\"|
|00001cf0| 88 c0 c5 0e 06 5c 22 87 | 22 20 5b 73 65 74 65 6e |.....\".|" [seten|
|00001d00| 76 20 22 54 45 52 4d 43 | 41 50 22 20 74 63 61 70 |v "TERMC|AP" tcap|
|00001d10| 76 20 22 54 45 52 4d 22 | 20 74 65 72 6d 76 20 22 |v "TERM"| termv "|
|00001d20| 45 4d 41 43 53 22 20 65 | 6d 76 5d 20 33 29 29 20 |EMACS" e|mv] 3)) |
|00001d30| 73 65 74 65 6e 76 20 22 | 65 6d 61 63 73 3a 63 6f |setenv "|emacs:co|
|00001d40| 23 25 64 3a 74 63 3d 75 | 6e 6b 6e 6f 77 6e 22 20 |#%d:tc=u|nknown" |
|00001d50| 22 65 6d 61 63 73 22 20 | 22 74 22 5d 20 36 5d 20 |"emacs" |"t"] 6] |
|00001d60| 63 6f 6d 69 6e 74 2d 75 | 70 64 61 74 65 2d 65 6e |comint-u|pdate-en|
|00001d70| 76 20 23 5b 28 6f 6c 64 | 2d 65 6e 76 20 6e 65 77 |v #[(old|-env new|
|00001d80| 29 20 22 c0 09 21 c2 c3 | 09 5c 22 1c 1d 0e 06 ab |) "..!..|.\".....|
|00001d90| b6 0e 06 40 1e 07 c8 c9 | 0e 07 5c 22 ad 86 0e 07 |...@....|..\"....|
|00001da0| ca 89 95 4f 1e 0b 0e 06 | 41 16 06 0e 0b ab 87 cc |...O....|A.......|
|00001db0| 0e 0b 0c 5c 22 ac 8f 0e | 0b ab 86 0e 0b 0c 42 16 |...\"...|......B.|
|00001dc0| 0b 0e 07 0d 42 15 2a aa | 46 0d 9f 2a 87 22 20 5b |....B.*.|F..*." [|
|00001dd0| 72 65 76 65 72 73 65 20 | 6e 65 77 20 6d 61 70 63 |reverse |new mapc|
|00001de0| 61 72 20 23 5b 28 76 76 | 29 20 22 c0 c1 5c 6e 5c |ar #[(vv|) "..\n\|
|00001df0| 22 ad 85 5c 6e c3 89 95 | 4f 87 22 20 5b 73 74 72 |"..\n...|O." [str|
|00001e00| 69 6e 67 2d 6d 61 74 63 | 68 20 22 5e 5b 5e 3d 5d |ing-matc|h "^[^=]|
|00001e10| 2a 3d 22 20 76 76 20 30 | 5d 20 33 5d 20 76 61 72 |*=" vv 0|] 3] var|
|00001e20| 73 20 61 6e 73 20 6f 6c | 64 2d 65 6e 76 20 76 76 |s ans ol|d-env vv|
|00001e30| 20 73 74 72 69 6e 67 2d | 6d 61 74 63 68 20 22 5e | string-|match "^|
|00001e40| 5b 5e 3d 5d 2a 3d 22 20 | 30 20 76 61 72 20 63 6f |[^=]*=" |0 var co|
|00001e50| 6d 69 6e 74 2d 6d 65 6d | 5d 20 34 5d 5d 20 32 29 |mint-mem|] 4]] 2)|
|00001e60| 0a 28 66 73 65 74 20 27 | 63 6f 6d 69 6e 74 2d 6d |.(fset '|comint-m|
|00001e70| 65 6d 20 23 5b 28 69 74 | 65 6d 20 6c 69 73 74 20 |em #[(it|em list |
|00001e80| 26 6f 70 74 69 6f 6e 61 | 6c 20 65 6c 74 3d 29 20 |&optiona|l elt=) |
|00001e90| 22 08 ae 81 c1 c2 1b 18 | 0c ab 94 0b ac 91 08 0d |".......|........|
|00001ea0| 0c 40 5c 22 ab 84 0c 13 | aa 6f 0c 41 89 14 ac 6c |.@\"....|.o.A...l|
|00001eb0| 0b 2a 87 22 20 5b 65 6c | 74 3d 20 65 71 75 61 6c |.*." [el|t= equal|
|00001ec0| 20 6e 69 6c 20 64 6f 6e | 65 20 6c 69 73 74 20 69 | nil don|e list i|
|00001ed0| 74 65 6d 5d 20 34 20 22 | 5c 0a 54 65 73 74 20 74 |tem] 4 "|\.Test t|
|00001ee0| 6f 20 73 65 65 20 69 66 | 20 49 54 45 4d 20 69 73 |o see if| ITEM is|
|00001ef0| 20 65 71 75 61 6c 20 74 | 6f 20 61 6e 20 69 74 65 | equal t|o an ite|
|00001f00| 6d 20 69 6e 20 4c 49 53 | 54 2e 0a 4f 70 74 69 6f |m in LIS|T..Optio|
|00001f10| 6e 20 63 6f 6d 70 61 72 | 69 73 6f 6e 20 66 75 6e |n compar|ison fun|
|00001f20| 63 74 69 6f 6e 20 45 4c | 54 3d 20 64 65 66 61 75 |ction EL|T= defau|
|00001f30| 6c 74 73 20 74 6f 20 65 | 71 75 61 6c 2e 22 5d 29 |lts to e|qual."])|
|00001f40| 0a 28 62 79 74 65 2d 63 | 6f 64 65 20 22 c0 c1 21 |.(byte-c|ode "..!|
|00001f50| ac 82 c2 11 c0 c3 21 ac | 82 c2 13 c4 c5 4d 88 c6 |......!.|.....M..|
|00001f60| c7 4d 87 22 20 5b 62 6f | 75 6e 64 70 20 75 73 65 |.M." [bo|undp use|
|00001f70| 2d 62 75 66 66 65 72 2d | 6c 6f 63 61 6c 2d 69 6e |-buffer-|local-in|
|00001f80| 70 75 74 2d 72 69 6e 67 | 20 6e 69 6c 20 2a 62 75 |put-ring| nil *bu|
|00001f90| 66 66 65 72 2d 68 69 73 | 74 6f 72 69 65 73 2d 6c |ffer-his|tories-l|
|00001fa0| 69 73 74 2a 20 67 65 74 | 2d 69 6e 70 75 74 2d 72 |ist* get|-input-r|
|00001fb0| 69 6e 67 20 23 5b 6e 69 | 6c 20 22 08 ab 87 c1 c2 |ing #[ni|l ".....|
|00001fc0| 21 ad d8 5c 6e 87 0b 70 | c4 1d 1e 06 89 1e 07 ab |!..\n..p|........|
|00001fd0| c1 0d ac be 0e 06 c8 0e | 07 40 c9 48 21 3d ab 90 |........|.@.H!=..|
|00001fe0| 0e 07 40 ca 0e 06 49 88 | 0e 07 40 cb 48 15 aa 9a |..@...I.|..@.H...|
|00001ff0| 0e 06 0e 07 40 ca 48 3d | ab 90 0e 07 40 c9 cc 0e |....@.H=|....@...|
|00002000| 06 21 49 88 0e 07 40 cb | 48 15 0e 07 41 89 16 07 |.!I...@.|H...A...|
|00002010| ac 3f 0d ac 85 cd c4 21 | aa 81 0d 2b 87 22 20 5b |.?.....!|...+." [|
|00002020| 75 73 65 2d 62 75 66 66 | 65 72 2d 6c 6f 63 61 6c |use-buff|er-local|
|00002030| 2d 69 6e 70 75 74 2d 72 | 69 6e 67 20 62 6f 75 6e |-input-r|ing boun|
|00002040| 64 70 20 69 6e 70 75 74 | 2d 72 69 6e 67 20 2a 62 |dp input|-ring *b|
|00002050| 75 66 66 65 72 2d 68 69 | 73 74 6f 72 69 65 73 2d |uffer-hi|stories-|
|00002060| 6c 69 73 74 2a 20 6e 69 | 6c 20 72 69 6e 67 20 62 |list* ni|l ring b|
|00002070| 75 66 66 65 72 20 6c 69 | 73 74 20 67 65 74 2d 62 |uffer li|st get-b|
|00002080| 75 66 66 65 72 20 30 20 | 31 20 32 20 62 75 66 66 |uffer 0 |1 2 buff|
|00002090| 65 72 2d 6e 61 6d 65 20 | 73 65 74 2d 69 6e 70 75 |er-name |set-inpu|
|000020a0| 74 2d 72 69 6e 67 5d 20 | 35 5d 20 73 65 74 2d 69 |t-ring] |5] set-i|
|000020b0| 6e 70 75 74 2d 72 69 6e | 67 20 23 5b 28 72 69 6e |nput-rin|g #[(rin|
|000020c0| 67 2d 74 6f 2d 75 73 65 | 29 20 22 c0 09 21 ac 84 |g-to-use|) "..!..|
|000020d0| c2 0b 21 11 0c ab 89 c5 | c6 21 88 09 89 16 06 87 |..!.....|.!......|
|000020e0| c7 c8 70 21 70 09 23 0e | 09 42 16 09 09 87 22 20 |..p!p.#.|.B...." |
|000020f0| 5b 72 69 6e 67 2d 70 20 | 72 69 6e 67 2d 74 6f 2d |[ring-p |ring-to-|
|00002100| 75 73 65 20 6d 61 6b 65 | 2d 72 69 6e 67 20 69 6e |use make|-ring in|
|00002110| 70 75 74 2d 72 69 6e 67 | 2d 73 69 7a 65 20 75 73 |put-ring|-size us|
|00002120| 65 2d 62 75 66 66 65 72 | 2d 6c 6f 63 61 6c 2d 69 |e-buffer|-local-i|
|00002130| 6e 70 75 74 2d 72 69 6e | 67 20 6d 61 6b 65 2d 6c |nput-rin|g make-l|
|00002140| 6f 63 61 6c 2d 76 61 72 | 69 61 62 6c 65 20 69 6e |ocal-var|iable in|
|00002150| 70 75 74 2d 72 69 6e 67 | 20 76 65 63 74 6f 72 20 |put-ring| vector |
|00002160| 62 75 66 66 65 72 2d 6e | 61 6d 65 20 2a 62 75 66 |buffer-n|ame *buf|
|00002170| 66 65 72 2d 68 69 73 74 | 6f 72 69 65 73 2d 6c 69 |fer-hist|ories-li|
|00002180| 73 74 2a 5d 20 34 5d 5d | 20 32 29 0a 28 66 73 65 |st*] 4]]| 2).(fse|
|00002190| 74 20 27 72 69 6e 67 2d | 70 20 23 5b 28 78 29 20 |t 'ring-|p #[(x) |
|000021a0| 22 08 3a ad 95 08 40 a8 | ad 90 08 41 3a ad 8b 08 |".:...@.|...A:...|
|000021b0| 41 40 a8 ad 85 c1 08 41 | 41 21 87 22 20 5b 78 20 |A@.....A|A!." [x |
|000021c0| 76 65 63 74 6f 72 70 5d | 20 32 20 22 5c 0a 54 20 |vectorp]| 2 "\.T |
|000021d0| 69 66 20 58 20 69 73 20 | 61 20 72 69 6e 67 3b 20 |if X is |a ring; |
|000021e0| 4e 49 4c 20 6f 74 68 65 | 72 77 69 73 65 2e 22 5d |NIL othe|rwise."]|
|000021f0| 29 0a 28 62 79 74 65 2d | 63 6f 64 65 20 22 c0 c1 |).(byte-|code "..|
|00002200| 4d 88 c2 c3 4d 88 c4 c5 | 4d 88 c6 c7 4d 88 c8 c9 |M...M...|M...M...|
|00002210| 4d 87 22 20 5b 72 69 6e | 67 2d 68 65 61 64 20 23 |M." [rin|g-head #|
|00002220| 5b 28 72 69 6e 67 29 20 | 22 08 40 87 22 20 5b 72 |[(ring) |".@." [r|
|00002230| 69 6e 67 5d 20 31 5d 20 | 73 65 74 2d 72 69 6e 67 |ing] 1] |set-ring|
|00002240| 2d 68 65 61 64 20 23 5b | 28 72 69 6e 67 20 76 61 |-head #[|(ring va|
|00002250| 6c 75 65 29 20 22 08 41 | 41 47 19 5c 6e c3 57 ac |lue) ".A|AG.\n.W.|
|00002260| 85 5c 6e 09 59 ab 88 c4 | c5 c6 09 5c 6e 23 21 88 |.\n.Y...|...\n#!.|
|00002270| 08 5c 6e a0 29 87 22 20 | 5b 72 69 6e 67 20 6c 65 |.\n.)." |[ring le|
|00002280| 6e 20 76 61 6c 75 65 20 | 30 20 65 72 72 6f 72 20 |n value |0 error |
|00002290| 66 6f 72 6d 61 74 20 22 | 41 74 74 65 6d 70 74 20 |format "|Attempt |
|000022a0| 74 6f 20 6d 61 6b 65 20 | 68 65 61 64 20 6f 66 20 |to make |head of |
|000022b0| 72 69 6e 67 20 28 73 69 | 7a 65 20 3d 20 25 64 29 |ring (si|ze = %d)|
|000022c0| 20 62 65 20 25 64 22 5d | 20 35 5d 20 72 69 6e 67 | be %d"]| 5] ring|
|000022d0| 2d 74 61 69 6c 20 23 5b | 28 72 69 6e 67 29 20 22 |-tail #[|(ring) "|
|000022e0| 08 41 40 87 22 20 5b 72 | 69 6e 67 5d 20 31 5d 20 |.A@." [r|ing] 1] |
|000022f0| 73 65 74 2d 72 69 6e 67 | 2d 74 61 69 6c 20 23 5b |set-ring|-tail #[|
|00002300| 28 72 69 6e 67 20 76 61 | 6c 75 65 29 20 22 08 41 |(ring va|lue) ".A|
|00002310| 41 47 19 5c 6e c3 57 ac | 85 5c 6e 09 59 ab 88 c4 |AG.\n.W.|.\n.Y...|
|00002320| c5 c6 09 5c 6e 23 21 88 | 08 41 5c 6e a0 29 87 22 |...\n#!.|.A\n.)."|
|00002330| 20 5b 72 69 6e 67 20 6c | 65 6e 20 76 61 6c 75 65 | [ring l|en value|
|00002340| 20 30 20 65 72 72 6f 72 | 20 66 6f 72 6d 61 74 20 | 0 error| format |
|00002350| 22 41 74 74 65 6d 70 74 | 20 74 6f 20 6d 61 6b 65 |"Attempt| to make|
|00002360| 20 68 65 61 64 20 6f 66 | 20 72 69 6e 67 20 28 73 | head of| ring (s|
|00002370| 69 7a 65 20 3d 20 25 64 | 29 20 62 65 20 25 64 22 |ize = %d|) be %d"|
|00002380| 5d 20 35 5d 20 72 69 6e | 67 2d 76 65 63 74 6f 72 |] 5] rin|g-vector|
|00002390| 20 23 5b 28 72 69 6e 67 | 29 20 22 08 41 41 87 22 | #[(ring|) ".AA."|
|000023a0| 20 5b 72 69 6e 67 5d 20 | 31 5d 5d 20 32 29 0a 28 | [ring] |1]] 2).(|
|000023b0| 66 73 65 74 20 27 6d 61 | 6b 65 2d 72 69 6e 67 20 |fset 'ma|ke-ring |
|000023c0| 23 5b 28 73 69 7a 65 29 | 20 22 c0 c1 c2 0b c0 5c |#[(size)| ".....\|
|000023d0| 5c c4 5c 22 42 42 87 22 | 20 5b 31 20 30 20 6d 61 |\.\"BB."| [1 0 ma|
|000023e0| 6b 65 2d 76 65 63 74 6f | 72 20 73 69 7a 65 20 6e |ke-vecto|r size n|
|000023f0| 69 6c 5d 20 35 20 22 5c | 0a 4d 61 6b 65 20 61 20 |il] 5 "\|.Make a |
|00002400| 72 69 6e 67 20 74 68 61 | 74 20 63 61 6e 20 63 6f |ring tha|t can co|
|00002410| 6e 74 61 69 6e 20 53 49 | 5a 45 20 65 6c 74 73 22 |ntain SI|ZE elts"|
|00002420| 5d 29 0a 28 66 73 65 74 | 20 27 72 69 6e 67 2d 70 |]).(fset| 'ring-p|
|00002430| 6c 75 73 31 20 23 5b 28 | 69 6e 64 65 78 20 76 65 |lus1 #[(|index ve|
|00002440| 63 6c 65 6e 29 20 22 08 | c1 5c 5c 89 1a 0b 55 ab |clen) ".|.\\...U.|
|00002450| 83 c4 aa 81 5c 6e 29 87 | 22 20 5b 69 6e 64 65 78 |....\n).|" [index|
|00002460| 20 31 20 6e 65 77 2d 69 | 6e 64 65 78 20 76 65 63 | 1 new-i|ndex vec|
|00002470| 6c 65 6e 20 30 5d 20 33 | 20 22 5c 0a 49 4e 44 45 |len 0] 3| "\.INDE|
|00002480| 58 2b 31 2c 20 77 69 74 | 68 20 77 72 61 70 61 72 |X+1, wit|h wrapar|
|00002490| 6f 75 6e 64 22 5d 29 0a | 28 66 73 65 74 20 27 72 |ound"]).|(fset 'r|
|000024a0| 69 6e 67 2d 6d 69 6e 75 | 73 31 20 23 5b 28 69 6e |ing-minu|s1 #[(in|
|000024b0| 64 65 78 20 76 65 63 6c | 65 6e 29 20 22 08 c1 55 |dex vecl|en) "..U|
|000024c0| ab 83 5c 6e aa 81 08 c3 | 5a 87 22 20 5b 69 6e 64 |..\n....|Z." [ind|
|000024d0| 65 78 20 30 20 76 65 63 | 6c 65 6e 20 31 5d 20 32 |ex 0 vec|len 1] 2|
|000024e0| 20 22 5c 0a 49 4e 44 45 | 58 2d 31 2c 20 77 69 74 | "\.INDE|X-1, wit|
|000024f0| 68 20 77 72 61 70 61 72 | 6f 75 6e 64 22 5d 29 0a |h wrapar|ound"]).|
|00002500| 28 66 73 65 74 20 27 72 | 69 6e 67 2d 70 6c 75 73 |(fset 'r|ing-plus|
|00002510| 20 23 5b 28 69 6e 64 65 | 78 20 69 6e 63 72 65 6d | #[(inde|x increm|
|00002520| 65 6e 74 20 76 65 63 6c | 65 6e 29 20 22 c0 09 5c |ent vecl|en) "..\|
|00002530| 6e 5c 5c 0b 5c 22 87 22 | 20 5b 63 6f 6d 69 6e 74 |n\\.\"."| [comint|
|00002540| 2d 6d 6f 64 20 69 6e 64 | 65 78 20 69 6e 63 72 65 |-mod ind|ex incre|
|00002550| 6d 65 6e 74 20 76 65 63 | 6c 65 6e 5d 20 33 20 22 |ment vec|len] 3 "|
|00002560| 5c 0a 49 4e 44 45 58 2b | 49 4e 43 52 45 4d 45 4e |\.INDEX+|INCREMEN|
|00002570| 54 2c 20 77 69 74 68 20 | 77 72 61 70 61 72 6f 75 |T, with |wraparou|
|00002580| 6e 64 2e 22 5d 29 0a 28 | 66 73 65 74 20 27 72 69 |nd."]).(|fset 'ri|
|00002590| 6e 67 2d 6c 65 6e 67 74 | 68 20 23 5b 28 72 69 6e |ng-lengt|h #[(rin|
|000025a0| 67 29 20 22 c0 09 21 c2 | 09 21 c3 09 21 47 1c 1d |g) "..!.|.!..!G..|
|000025b0| 89 1e 06 0d 58 ab 88 0d | 0e 06 5a c7 5c 5c aa 88 |....X...|..Z.\\..|
|000025c0| 0d 0c 0e 06 5a c7 5c 5c | 5c 5c 89 1e 08 0c 55 ab |....Z.\\|\\....U.|
|000025d0| 83 c9 aa 82 0e 08 2c 87 | 22 20 5b 72 69 6e 67 2d |......,.|" [ring-|
|000025e0| 68 65 61 64 20 72 69 6e | 67 20 72 69 6e 67 2d 74 |head rin|g ring-t|
|000025f0| 61 69 6c 20 72 69 6e 67 | 2d 76 65 63 74 6f 72 20 |ail ring|-vector |
|00002600| 73 69 7a 20 74 6c 20 68 | 64 20 31 20 6c 65 6e 20 |siz tl h|d 1 len |
|00002610| 30 5d 20 35 20 22 5c 0a | 4e 75 6d 62 65 72 20 6f |0] 5 "\.|Number o|
|00002620| 66 20 65 6c 74 73 20 69 | 6e 20 74 68 65 20 72 69 |f elts i|n the ri|
|00002630| 6e 67 2e 22 5d 29 0a 28 | 66 73 65 74 20 27 72 69 |ng."]).(|fset 'ri|
|00002640| 6e 67 2d 65 6d 70 74 79 | 2d 70 20 23 5b 28 72 69 |ng-empty|-p #[(ri|
|00002650| 6e 67 29 20 22 c0 09 21 | c2 55 87 22 20 5b 72 69 |ng) "..!|.U." [ri|
|00002660| 6e 67 2d 6c 65 6e 67 74 | 68 20 72 69 6e 67 20 30 |ng-lengt|h ring 0|
|00002670| 5d 20 32 5d 29 0a 28 66 | 73 65 74 20 27 72 69 6e |] 2]).(f|set 'rin|
|00002680| 67 2d 69 6e 73 65 72 74 | 2d 6e 65 77 20 23 5b 28 |g-insert|-new #[(|
|00002690| 72 69 6e 67 20 69 74 65 | 6d 29 20 22 c0 09 21 89 |ring ite|m) "..!.|
|000026a0| 1a 47 1b c4 c5 09 21 0b | 5c 22 1e 06 c7 09 0e 06 |.G....!.|\"......|
|000026b0| 5c 22 88 5c 6e 0e 06 0e | 08 49 88 c9 09 21 ad 89 |\".\n...|.I...!..|
|000026c0| ca 09 c4 cb 09 21 0b 5c | 22 5c 22 2b 87 22 20 5b |.....!.\|"\"+." [|
|000026d0| 72 69 6e 67 2d 76 65 63 | 74 6f 72 20 72 69 6e 67 |ring-vec|tor ring|
|000026e0| 20 76 65 63 20 6c 65 6e | 20 72 69 6e 67 2d 6d 69 | vec len| ring-mi|
|000026f0| 6e 75 73 31 20 72 69 6e | 67 2d 68 65 61 64 20 6e |nus1 rin|g-head n|
|00002700| 65 77 2d 68 64 20 73 65 | 74 2d 72 69 6e 67 2d 68 |ew-hd se|t-ring-h|
|00002710| 65 61 64 20 69 74 65 6d | 20 72 69 6e 67 2d 65 6d |ead item| ring-em|
|00002720| 70 74 79 2d 70 20 73 65 | 74 2d 72 69 6e 67 2d 74 |pty-p se|t-ring-t|
|00002730| 61 69 6c 20 72 69 6e 67 | 2d 74 61 69 6c 5d 20 36 |ail ring|-tail] 6|
|00002740| 20 22 5c 0a 49 6e 73 65 | 72 74 20 61 20 6e 65 77 | "\.Inse|rt a new|
|00002750| 20 69 74 65 6d 20 6f 6e | 74 6f 20 74 68 65 20 72 | item on|to the r|
|00002760| 69 6e 67 2e 20 49 66 20 | 74 68 65 20 72 69 6e 67 |ing. If |the ring|
|00002770| 20 69 73 20 66 75 6c 6c | 2c 20 64 75 6d 70 20 74 | is full|, dump t|
|00002780| 68 65 20 6f 6c 64 65 73 | 74 0a 69 74 65 6d 20 74 |he oldes|t.item t|
|00002790| 6f 20 6d 61 6b 65 20 72 | 6f 6f 6d 2e 22 5d 29 0a |o make r|oom."]).|
|000027a0| 28 66 73 65 74 20 27 72 | 69 6e 67 2d 72 65 6d 6f |(fset 'r|ing-remo|
|000027b0| 76 65 2d 6f 6c 64 65 73 | 74 20 23 5b 28 72 69 6e |ve-oldes|t #[(rin|
|000027c0| 67 29 20 22 c0 09 21 ab | 84 c2 c3 21 87 c4 09 21 |g) "..!.|...!...!|
|000027d0| c5 09 21 1e 06 1e 07 c8 | 09 c9 0e 07 0e 06 47 5c |..!.....|......G\|
|000027e0| 22 5c 22 88 0e 06 0e 07 | 48 2a 87 22 20 5b 72 69 |"\".....|H*." [ri|
|000027f0| 6e 67 2d 65 6d 70 74 79 | 2d 70 20 72 69 6e 67 20 |ng-empty|-p ring |
|00002800| 65 72 72 6f 72 20 22 52 | 69 6e 67 20 65 6d 70 74 |error "R|ing empt|
|00002810| 79 22 20 72 69 6e 67 2d | 74 61 69 6c 20 72 69 6e |y" ring-|tail rin|
|00002820| 67 2d 76 65 63 74 6f 72 | 20 76 65 63 20 74 6c 20 |g-vector| vec tl |
|00002830| 73 65 74 2d 72 69 6e 67 | 2d 74 61 69 6c 20 72 69 |set-ring|-tail ri|
|00002840| 6e 67 2d 6d 69 6e 75 73 | 31 5d 20 35 20 22 5c 0a |ng-minus|1] 5 "\.|
|00002850| 52 65 6d 6f 76 65 20 74 | 68 65 20 6f 6c 64 65 73 |Remove t|he oldes|
|00002860| 74 20 69 74 65 6d 20 72 | 65 74 61 69 6e 65 64 20 |t item r|etained |
|00002870| 6f 6e 20 74 68 65 20 72 | 69 6e 67 2e 22 5d 29 0a |on the r|ing."]).|
|00002880| 28 66 73 65 74 20 27 72 | 69 6e 67 2d 72 65 6d 6f |(fset 'r|ing-remo|
|00002890| 76 65 2d 6e 65 77 65 73 | 74 20 23 5b 28 72 69 6e |ve-newes|t #[(rin|
|000028a0| 67 29 20 22 c0 09 21 ab | 84 c2 c3 21 87 c4 09 21 |g) "..!.|...!...!|
|000028b0| c5 09 21 1e 06 1e 07 c8 | 09 c9 0e 07 0e 06 47 5c |..!.....|......G\|
|000028c0| 22 5c 22 88 0e 06 0e 07 | 48 2a 87 22 20 5b 72 69 |"\".....|H*." [ri|
|000028d0| 6e 67 2d 65 6d 70 74 79 | 2d 70 20 72 69 6e 67 20 |ng-empty|-p ring |
|000028e0| 65 72 72 6f 72 20 22 52 | 69 6e 67 20 65 6d 70 74 |error "R|ing empt|
|000028f0| 79 22 20 72 69 6e 67 2d | 68 65 61 64 20 72 69 6e |y" ring-|head rin|
|00002900| 67 2d 76 65 63 74 6f 72 | 20 76 65 63 20 68 64 20 |g-vector| vec hd |
|00002910| 73 65 74 2d 72 69 6e 67 | 2d 68 65 61 64 20 72 69 |set-ring|-head ri|
|00002920| 6e 67 2d 70 6c 75 73 31 | 5d 20 35 20 22 5c 0a 52 |ng-plus1|] 5 "\.R|
|00002930| 65 6d 6f 76 65 20 74 68 | 65 20 6e 65 77 65 73 74 |emove th|e newest|
|00002940| 20 69 74 65 6d 20 72 65 | 74 61 69 6e 65 64 20 6f | item re|tained o|
|00002950| 6e 20 74 68 65 20 72 69 | 6e 67 2e 22 5d 29 0a 28 |n the ri|ng."]).(|
|00002960| 66 73 65 74 20 27 63 6f | 6d 69 6e 74 2d 6d 6f 64 |fset 'co|mint-mod|
|00002970| 20 23 5b 28 6e 20 6d 29 | 20 22 08 c1 55 ab 8a 5c | #[(n m)| "..U..\|
|00002980| 6e c1 57 ab 83 5c 6e 5b | 87 5c 6e 87 5c 6e 08 a6 |n.W..\n[|.\n.\n..|
|00002990| 89 1a c1 59 ab 83 5c 6e | aa 8c 5c 6e 08 c1 59 ab |...Y..\n|..\n..Y.|
|000029a0| 83 08 aa 82 08 5b 5c 5c | 29 87 22 20 5b 6d 20 30 |.....[\\|)." [m 0|
|000029b0| 20 6e 5d 20 34 20 22 5c | 0a 52 65 74 75 72 6e 73 | n] 4 "\|.Returns|
|000029c0| 20 4e 20 6d 6f 64 20 4d | 2e 20 4d 20 69 73 20 70 | N mod M|. M is p|
|000029d0| 6f 73 69 74 69 76 65 2e | 20 41 6e 73 77 65 72 20 |ositive.| Answer |
|000029e0| 69 73 20 67 75 61 72 61 | 6e 74 65 65 64 20 74 6f |is guara|nteed to|
|000029f0| 20 62 65 20 6e 6f 6e 2d | 6e 65 67 61 74 69 76 65 | be non-|negative|
|00002a00| 2c 20 0a 61 6e 64 20 6c | 65 73 73 20 74 68 61 6e |, .and l|ess than|
|00002a10| 20 28 74 68 65 20 61 62 | 73 6f 6c 75 74 65 20 76 | (the ab|solute v|
|00002a20| 61 6c 75 65 20 6f 66 29 | 20 4d 2e 22 5d 29 0a 28 |alue of)| M."]).(|
|00002a30| 66 73 65 74 20 27 72 69 | 6e 67 2d 72 65 66 20 23 |fset 'ri|ng-ref #|
|00002a40| 5b 28 72 69 6e 67 20 69 | 6e 64 65 78 29 20 22 c0 |[(ring i|ndex) ".|
|00002a50| 09 21 89 1a c3 55 ab 85 | c4 c5 21 aa a8 c6 09 21 |.!...U..|..!....!|
|00002a60| 1e 07 c8 09 21 1e 09 ca | 09 21 1e 0b cc 0e 0d 5c |....!...|.!.....\|
|00002a70| 6e 5c 22 1e 0d cc 0e 0d | 0e 07 5c 5c 0e 0b 47 5c |n\".....|..\\..G\|
|00002a80| 22 1e 0e 0e 0b 0e 0e 48 | 2d 29 87 22 20 5b 72 69 |"......H|-)." [ri|
|00002a90| 6e 67 2d 6c 65 6e 67 74 | 68 20 72 69 6e 67 20 6e |ng-lengt|h ring n|
|00002aa0| 75 6d 65 6c 74 73 20 30 | 20 65 72 72 6f 72 20 22 |umelts 0| error "|
|00002ab0| 69 6e 64 65 78 65 64 20 | 65 6d 70 74 79 20 72 69 |indexed |empty ri|
|00002ac0| 6e 67 22 20 72 69 6e 67 | 2d 68 65 61 64 20 68 64 |ng" ring|-head hd|
|00002ad0| 20 72 69 6e 67 2d 74 61 | 69 6c 20 74 6c 20 72 69 | ring-ta|il tl ri|
|00002ae0| 6e 67 2d 76 65 63 74 6f | 72 20 76 65 63 20 63 6f |ng-vecto|r vec co|
|00002af0| 6d 69 6e 74 2d 6d 6f 64 | 20 69 6e 64 65 78 20 76 |mint-mod| index v|
|00002b00| 65 63 2d 69 6e 64 65 78 | 5d 20 34 5d 29 0a 28 66 |ec-index|] 4]).(f|
|00002b10| 73 65 74 20 27 72 69 6e | 67 2d 73 65 61 72 63 68 |set 'rin|g-search|
|00002b20| 2d 61 6e 64 2d 64 65 73 | 74 72 6f 79 20 23 5b 28 |-and-des|troy #[(|
|00002b30| 72 69 6e 67 20 76 69 63 | 74 69 6d 20 70 72 65 64 |ring vic|tim pred|
|00002b40| 69 63 61 74 65 29 20 22 | c0 09 21 3f 85 c9 00 c2 |icate) "|..!?....|
|00002b50| 09 21 1b c4 09 21 1d c6 | 09 21 89 1e 07 47 1e 08 |.!...!..|.!...G..|
|00002b60| 0d 0b 59 ab 85 0d c9 5c | 5c aa 82 0e 08 1e 5c 6e |..Y....\|\.....\n|
|00002b70| 0b 1e 0b cc 1e 0d 0e 0d | ac c3 0e 0b 0e 5c 6e 57 |........|.....\nW|
|00002b80| ab bc 0e 0e 0e 0f 0e 07 | 0e 0b 48 5c 22 ab a8 0e |........|..H\"...|
|00002b90| 0b 0b 56 ab 96 0e 07 0e | 0b 0e 07 0e 0b c9 5a 48 |..V.....|......ZH|
|00002ba0| 49 88 0e 0b c9 5a 89 16 | 0b aa 66 d0 09 d1 0b 0e |I....Z..|..f.....|
|00002bb0| 08 5c 22 5c 22 88 d2 16 | 0d 0e 0b c9 5c 5c 16 0b |.\"\"...|....\\..|
|00002bc0| aa 39 0e 0d 3f ad cf 0d | 0b 57 ad ca d3 16 0b 0e |.9..?...|.W......|
|00002bd0| 0d 3f ad c2 0e 0b 0d 58 | ad bc 0e 0e 0e 0f 0e 07 |.?.....X|........|
|00002be0| 0e 0b 48 5c 22 ab a8 0e | 0b 0d 57 ab 96 0e 07 0e |..H\"...|..W.....|
|00002bf0| 0b 0e 07 0e 0b c9 5c 5c | 48 49 88 0e 0b c9 5c 5c |......\\|HI....\\|
|00002c00| 89 16 0b aa 66 d4 09 d5 | 0d 0e 08 5c 22 5c 22 88 |....f...|...\"\".|
|00002c10| d2 16 0d 0e 0b c9 5c 5c | 16 0b aa 39 2e 07 87 22 |......\\|...9..."|
|00002c20| 20 5b 72 69 6e 67 2d 65 | 6d 70 74 79 2d 70 20 72 | [ring-e|mpty-p r|
|00002c30| 69 6e 67 20 72 69 6e 67 | 2d 68 65 61 64 20 68 64 |ing ring|-head hd|
|00002c40| 20 72 69 6e 67 2d 74 61 | 69 6c 20 74 6c 20 72 69 | ring-ta|il tl ri|
|00002c50| 6e 67 2d 76 65 63 74 6f | 72 20 76 65 63 20 6c 65 |ng-vecto|r vec le|
|00002c60| 6e 20 31 20 74 6f 70 20 | 69 20 6e 69 6c 20 64 6f |n 1 top |i nil do|
|00002c70| 6e 65 20 70 72 65 64 69 | 63 61 74 65 20 76 69 63 |ne predi|cate vic|
|00002c80| 74 69 6d 20 73 65 74 2d | 72 69 6e 67 2d 68 65 61 |tim set-|ring-hea|
|00002c90| 64 20 72 69 6e 67 2d 70 | 6c 75 73 31 20 74 20 30 |d ring-p|lus1 t 0|
|00002ca0| 20 73 65 74 2d 72 69 6e | 67 2d 74 61 69 6c 20 72 | set-rin|g-tail r|
|00002cb0| 69 6e 67 2d 6d 69 6e 75 | 73 31 5d 20 36 20 22 5c |ing-minu|s1] 6 "\|
|00002cc0| 0a 53 65 61 72 63 68 20 | 66 6f 72 20 61 20 6d 61 |.Search |for a ma|
|00002cd0| 74 63 68 69 6e 67 20 76 | 69 63 74 69 6d 20 69 6e |tching v|ictim in|
|00002ce0| 20 74 68 65 20 72 69 6e | 67 20 61 63 63 6f 72 64 | the rin|g accord|
|00002cf0| 69 6e 67 20 74 6f 20 70 | 72 65 64 69 63 61 74 65 |ing to p|redicate|
|00002d00| 0a 61 6e 64 20 64 65 73 | 74 72 75 63 74 69 76 65 |.and des|tructive|
|00002d10| 6c 79 20 72 65 6d 6f 76 | 65 20 69 74 20 69 66 20 |ly remov|e it if |
|00002d20| 66 6f 75 6e 64 2e 22 5d | 29 0a 28 66 73 65 74 20 |found."]|).(fset |
|00002d30| 27 63 6f 6d 69 6e 74 2d | 70 72 65 76 69 6f 75 73 |'comint-|previous|
|00002d40| 2d 69 6e 70 75 74 20 23 | 5b 28 61 72 67 29 20 22 |-input #|[(arg) "|
|00002d50| c0 20 19 c2 09 21 89 1b | c4 58 ab 88 c5 c6 21 88 |. ...!..|.X....!.|
|00002d60| c7 20 aa dd c8 20 ac 88 | c5 c9 21 88 c7 20 aa d1 |. ... ..|..!.. ..|
|00002d70| 0e 5c 6e cb 3d ab 87 0e | 0c 60 7c 88 aa a8 0e 5c |.\n.=...|.`|....\|
|00002d80| 6e cd 3d ab 87 ce 20 60 | 7c 88 aa 9b 0e 0f c4 56 |n.=... `||......V|
|00002d90| ab 83 d0 aa 8a 0e 0f c4 | 57 ab 83 d1 aa 81 c4 16 |........|W.......|
|00002da0| 12 0e 0c 60 d3 93 88 d4 | 0e 12 0e 0f 5c 5c 0b 5c |...`....|....\\.\|
|00002db0| 22 16 12 c5 d5 0e 12 54 | 5c 22 88 d6 09 0e 12 5c |"......T|\".....\|
|00002dc0| 22 63 88 cb 89 16 17 2a | 87 22 20 5b 67 65 74 2d |"c.....*|." [get-|
|00002dd0| 69 6e 70 75 74 2d 72 69 | 6e 67 20 72 69 6e 67 20 |input-ri|ng ring |
|00002de0| 72 69 6e 67 2d 6c 65 6e | 67 74 68 20 6c 65 6e 20 |ring-len|gth len |
|00002df0| 30 20 6d 65 73 73 61 67 | 65 20 22 45 6d 70 74 79 |0 messag|e "Empty|
|00002e00| 20 69 6e 70 75 74 20 72 | 69 6e 67 22 20 64 69 6e | input r|ing" din|
|00002e10| 67 20 63 6f 6d 69 6e 74 | 2d 61 66 74 65 72 2d 70 |g comint|-after-p|
|00002e20| 6d 61 72 6b 2d 70 20 22 | 4e 6f 74 20 61 66 74 65 |mark-p "|Not afte|
|00002e30| 72 20 70 72 6f 63 65 73 | 73 20 6d 61 72 6b 22 20 |r proces|s mark" |
|00002e40| 6c 61 73 74 2d 63 6f 6d | 6d 61 6e 64 20 63 6f 6d |last-com|mand com|
|00002e50| 69 6e 74 2d 70 72 65 76 | 69 6f 75 73 2d 69 6e 70 |int-prev|ious-inp|
|00002e60| 75 74 20 63 6f 6d 69 6e | 74 2d 6c 61 73 74 2d 69 |ut comin|t-last-i|
|00002e70| 6e 70 75 74 2d 73 74 61 | 72 74 20 63 6f 6d 69 6e |nput-sta|rt comin|
|00002e80| 74 2d 70 72 65 76 69 6f | 75 73 2d 73 69 6d 69 6c |t-previo|us-simil|
|00002e90| 61 72 2d 69 6e 70 75 74 | 20 63 6f 6d 69 6e 74 2d |ar-input| comint-|
|00002ea0| 6d 61 72 6b 20 61 72 67 | 20 2d 31 20 31 20 69 6e |mark arg| -1 1 in|
|00002eb0| 70 75 74 2d 72 69 6e 67 | 2d 69 6e 64 65 78 20 6e |put-ring|-index n|
|00002ec0| 69 6c 20 63 6f 6d 69 6e | 74 2d 6d 6f 64 20 22 25 |il comin|t-mod "%|
|00002ed0| 64 22 20 72 69 6e 67 2d | 72 65 66 20 74 68 69 73 |d" ring-|ref this|
|00002ee0| 2d 63 6f 6d 6d 61 6e 64 | 5d 20 34 20 22 5c 0a 43 |-command|] 4 "\.C|
|00002ef0| 79 63 6c 65 20 62 61 63 | 6b 77 61 72 64 73 20 74 |ycle bac|kwards t|
|00002f00| 68 72 6f 75 67 68 20 69 | 6e 70 75 74 20 68 69 73 |hrough i|nput his|
|00002f10| 74 6f 72 79 2e 22 20 22 | 2a 70 22 5d 29 0a 28 66 |tory." "|*p"]).(f|
|00002f20| 73 65 74 20 27 63 6f 6d | 69 6e 74 2d 6e 65 78 74 |set 'com|int-next|
|00002f30| 2d 69 6e 70 75 74 20 23 | 5b 28 61 72 67 29 20 22 |-input #|[(arg) "|
|00002f40| c0 09 5b 21 87 22 20 5b | 63 6f 6d 69 6e 74 2d 70 |..[!." [|comint-p|
|00002f50| 72 65 76 69 6f 75 73 2d | 69 6e 70 75 74 20 61 72 |revious-|input ar|
|00002f60| 67 5d 20 32 20 22 5c 0a | 43 79 63 6c 65 20 66 6f |g] 2 "\.|Cycle fo|
|00002f70| 72 77 61 72 64 73 20 74 | 68 72 6f 75 67 68 20 69 |rwards t|hrough i|
|00002f80| 6e 70 75 74 20 68 69 73 | 74 6f 72 79 2e 22 20 22 |nput his|tory." "|
|00002f90| 2a 70 22 5d 29 0a 28 64 | 65 66 76 61 72 20 63 6f |*p"]).(d|efvar co|
|00002fa0| 6d 69 6e 74 2d 6c 61 73 | 74 2d 69 6e 70 75 74 2d |mint-las|t-input-|
|00002fb0| 6d 61 74 63 68 20 22 22 | 20 22 5c 0a 4c 61 73 74 |match ""| "\.Last|
|00002fc0| 20 73 74 72 69 6e 67 20 | 73 65 61 72 63 68 65 64 | string |searched|
|00002fd0| 20 66 6f 72 20 62 79 20 | 63 6f 6d 69 6e 74 20 69 | for by |comint i|
|00002fe0| 6e 70 75 74 20 68 69 73 | 74 6f 72 79 20 73 65 61 |nput his|tory sea|
|00002ff0| 72 63 68 2c 20 66 6f 72 | 20 64 65 66 61 75 6c 74 |rch, for| default|
|00003000| 69 6e 67 2e 0a 42 75 66 | 66 65 72 20 6c 6f 63 61 |ing..Buf|fer loca|
|00003010| 6c 20 76 61 72 69 61 62 | 6c 65 2e 22 29 0a 28 66 |l variab|le.").(f|
|00003020| 73 65 74 20 27 63 6f 6d | 69 6e 74 2d 70 72 65 76 |set 'com|int-prev|
|00003030| 69 6f 75 73 2d 69 6e 70 | 75 74 2d 6d 61 74 63 68 |ious-inp|ut-match|
|00003040| 69 6e 67 20 23 5b 28 73 | 74 72 29 20 22 08 11 5c |ing #[(s|tr) "..\|
|00003050| 6e c3 3d ac 82 c4 15 c6 | 20 1e 07 c8 08 21 18 c9 |n.=.....| ....!..|
|00003060| 0e 07 21 1e 5c 6e 0d cb | 5c 5c 89 1e 0c 0e 5c 6e |..!.\n..|\\....\n|
|00003070| 57 ab 94 cd 08 ce 0e 07 | 0e 0c 5c 22 5c 22 ac 89 |W.......|..\"\"..|
|00003080| 0e 0c cb 5c 5c 89 16 0c | aa 67 0e 0c 0e 5c 6e 57 |...\\...|.g...\nW|
|00003090| ab 88 c3 0e 0c 0d 5a 21 | aa 8e 5c 6e c3 3d ab 83 |......Z!|..\n.=..|
|000030a0| c3 16 0f d0 d1 21 88 d2 | 20 2c 87 22 20 5b 73 74 |.....!..| ,." [st|
|000030b0| 72 20 63 6f 6d 69 6e 74 | 2d 6c 61 73 74 2d 69 6e |r comint|-last-in|
|000030c0| 70 75 74 2d 6d 61 74 63 | 68 20 6c 61 73 74 2d 63 |put-matc|h last-c|
|000030d0| 6f 6d 6d 61 6e 64 20 63 | 6f 6d 69 6e 74 2d 70 72 |ommand c|omint-pr|
|000030e0| 65 76 69 6f 75 73 2d 69 | 6e 70 75 74 20 2d 31 20 |evious-i|nput -1 |
|000030f0| 69 6e 70 75 74 2d 72 69 | 6e 67 2d 69 6e 64 65 78 |input-ri|ng-index|
|00003100| 20 67 65 74 2d 69 6e 70 | 75 74 2d 72 69 6e 67 20 | get-inp|ut-ring |
|00003110| 72 69 6e 67 20 72 65 67 | 65 78 70 2d 71 75 6f 74 |ring reg|exp-quot|
|00003120| 65 20 72 69 6e 67 2d 6c | 65 6e 67 74 68 20 6c 65 |e ring-l|ength le|
|00003130| 6e 20 31 20 6e 20 73 74 | 72 69 6e 67 2d 6d 61 74 |n 1 n st|ring-mat|
|00003140| 63 68 20 72 69 6e 67 2d | 72 65 66 20 74 68 69 73 |ch ring-|ref this|
|00003150| 2d 63 6f 6d 6d 61 6e 64 | 20 6d 65 73 73 61 67 65 |-command| message|
|00003160| 20 22 4e 6f 74 20 66 6f | 75 6e 64 2e 22 20 64 69 | "Not fo|und." di|
|00003170| 6e 67 5d 20 36 20 22 5c | 0a 53 65 61 72 63 68 65 |ng] 6 "\|.Searche|
|00003180| 73 20 62 61 63 6b 77 61 | 72 64 73 20 74 68 72 6f |s backwa|rds thro|
|00003190| 75 67 68 20 69 6e 70 75 | 74 20 68 69 73 74 6f 72 |ugh inpu|t histor|
|000031a0| 79 20 66 6f 72 20 73 75 | 62 73 74 72 69 6e 67 20 |y for su|bstring |
|000031b0| 6d 61 74 63 68 2e 22 20 | 28 62 79 74 65 2d 63 6f |match." |(byte-co|
|000031c0| 64 65 20 22 08 18 c1 c2 | c3 0c 5c 22 21 89 1d c6 |de "....|..\"!...|
|000031d0| 98 ab 83 0c aa 81 0d 2a | 43 87 22 20 5b 6c 61 73 |.......*|C." [las|
|000031e0| 74 2d 63 6f 6d 6d 61 6e | 64 20 72 65 61 64 2d 66 |t-comman|d read-f|
|000031f0| 72 6f 6d 2d 6d 69 6e 69 | 62 75 66 66 65 72 20 66 |rom-mini|buffer f|
|00003200| 6f 72 6d 61 74 20 22 43 | 6f 6d 6d 61 6e 64 20 73 |ormat "C|ommand s|
|00003210| 75 62 73 74 72 69 6e 67 | 20 28 64 65 66 61 75 6c |ubstring| (defaul|
|00003220| 74 20 25 73 29 3a 20 22 | 20 63 6f 6d 69 6e 74 2d |t %s): "| comint-|
|00003230| 6c 61 73 74 2d 69 6e 70 | 75 74 2d 6d 61 74 63 68 |last-inp|ut-match|
|00003240| 20 73 20 22 22 5d 20 35 | 29 5d 29 0a 28 66 73 65 | s ""] 5|)]).(fse|
|00003250| 74 20 27 63 6f 6d 69 6e | 74 2d 70 73 65 61 72 63 |t 'comin|t-psearc|
|00003260| 68 2d 69 6e 70 75 74 20 | 23 5b 6e 69 6c 20 22 c0 |h-input |#[nil ".|
|00003270| 09 64 c2 23 ab 83 c3 7f | 87 c4 c5 21 87 22 20 5b |.d.#....|...!." [|
|00003280| 72 65 2d 73 65 61 72 63 | 68 2d 66 6f 72 77 61 72 |re-searc|h-forwar|
|00003290| 64 20 63 6f 6d 69 6e 74 | 2d 70 72 6f 6d 70 74 2d |d comint|-prompt-|
|000032a0| 72 65 67 65 78 70 20 74 | 20 6e 69 6c 20 65 72 72 |regexp t| nil err|
|000032b0| 6f 72 20 22 4e 6f 20 6f | 63 63 75 72 72 65 6e 63 |or "No o|ccurrenc|
|000032c0| 65 20 6f 66 20 70 72 6f | 6d 70 74 20 66 6f 75 6e |e of pro|mpt foun|
|000032d0| 64 22 5d 20 34 20 22 5c | 0a 53 65 61 72 63 68 20 |d"] 4 "\|.Search |
|000032e0| 66 6f 72 77 61 72 64 73 | 20 66 6f 72 20 6e 65 78 |forwards| for nex|
|000032f0| 74 20 6f 63 63 75 72 72 | 65 6e 63 65 20 6f 66 20 |t occurr|ence of |
|00003300| 70 72 6f 6d 70 74 20 61 | 6e 64 20 73 6b 69 70 20 |prompt a|nd skip |
|00003310| 74 6f 20 65 6e 64 20 6f | 66 20 6c 69 6e 65 2e 0a |to end o|f line..|
|00003320| 28 70 72 6f 6d 70 74 20 | 69 73 20 61 6e 79 74 68 |(prompt |is anyth|
|00003330| 69 6e 67 20 6d 61 74 63 | 68 69 6e 67 20 72 65 67 |ing matc|hing reg|
|00003340| 65 78 70 20 63 6f 6d 69 | 6e 74 2d 70 72 6f 6d 70 |exp comi|nt-promp|
|00003350| 74 2d 72 65 67 65 78 70 | 29 22 20 6e 69 6c 5d 29 |t-regexp|)" nil])|
|00003360| 0a 28 66 73 65 74 20 27 | 63 6f 6d 69 6e 74 2d 6d |.(fset '|comint-m|
|00003370| 73 65 61 72 63 68 2d 69 | 6e 70 75 74 20 23 5b 6e |search-i|nput #[n|
|00003380| 69 6c 20 22 8a c0 79 88 | c1 5c 6e 65 c3 23 ab 86 |il "..y.|.\ne.#..|
|00003390| c4 7f 88 60 aa 81 c4 29 | 89 1d ab 84 0d 62 aa 83 |...`...)|.....b..|
|000033a0| c6 c7 21 29 87 22 20 5b | 30 20 72 65 2d 73 65 61 |..!)." [|0 re-sea|
|000033b0| 72 63 68 2d 62 61 63 6b | 77 61 72 64 20 63 6f 6d |rch-back|ward com|
|000033c0| 69 6e 74 2d 70 72 6f 6d | 70 74 2d 72 65 67 65 78 |int-prom|pt-regex|
|000033d0| 70 20 74 20 6e 69 6c 20 | 70 20 65 72 72 6f 72 20 |p t nil |p error |
|000033e0| 22 4e 6f 20 6f 63 63 75 | 72 72 65 6e 63 65 20 6f |"No occu|rrence o|
|000033f0| 66 20 70 72 6f 6d 70 74 | 20 66 6f 75 6e 64 22 5d |f prompt| found"]|
|00003400| 20 35 20 22 5c 0a 53 65 | 61 72 63 68 20 62 61 63 | 5 "\.Se|arch bac|
|00003410| 6b 77 61 72 64 73 20 66 | 6f 72 20 70 72 65 76 69 |kwards f|or previ|
|00003420| 6f 75 73 20 6f 63 63 75 | 72 72 65 6e 63 65 20 6f |ous occu|rrence o|
|00003430| 66 20 70 72 6f 6d 70 74 | 20 61 6e 64 20 73 6b 69 |f prompt| and ski|
|00003440| 70 20 74 6f 20 65 6e 64 | 20 6f 66 20 6c 69 6e 65 |p to end| of line|
|00003450| 2e 0a 53 65 61 72 63 68 | 20 73 74 61 72 74 73 20 |..Search| starts |
|00003460| 66 72 6f 6d 20 62 65 67 | 69 6e 6e 69 6e 67 20 6f |from beg|inning o|
|00003470| 66 20 63 75 72 72 65 6e | 74 20 6c 69 6e 65 2e 22 |f curren|t line."|
|00003480| 20 6e 69 6c 5d 29 0a 28 | 66 73 65 74 20 27 63 6f | nil]).(|fset 'co|
|00003490| 6d 69 6e 74 2d 6d 73 65 | 61 72 63 68 2d 69 6e 70 |mint-mse|arch-inp|
|000034a0| 75 74 2d 6d 61 74 63 68 | 69 6e 67 20 23 5b 28 73 |ut-match|ing #[(s|
|000034b0| 74 72 29 20 22 08 11 5c | 6e c3 08 21 50 1c 8a c5 |tr) "..\|n..!P...|
|000034c0| 79 88 c6 0c 65 c7 23 ab | 86 c8 7f 88 60 aa 81 c8 |y...e.#.|....`...|
|000034d0| 29 89 1e 09 ab 85 0e 09 | 62 aa 83 ca cb 21 2a 87 |).......|b....!*.|
|000034e0| 22 20 5b 73 74 72 20 63 | 6f 6d 69 6e 74 2d 6c 61 |" [str c|omint-la|
|000034f0| 73 74 2d 69 6e 70 75 74 | 2d 6d 61 74 63 68 20 63 |st-input|-match c|
|00003500| 6f 6d 69 6e 74 2d 70 72 | 6f 6d 70 74 2d 72 65 67 |omint-pr|ompt-reg|
|00003510| 65 78 70 20 72 65 67 65 | 78 70 2d 71 75 6f 74 65 |exp rege|xp-quote|
|00003520| 20 72 20 30 20 72 65 2d | 73 65 61 72 63 68 2d 62 | r 0 re-|search-b|
|00003530| 61 63 6b 77 61 72 64 20 | 74 20 6e 69 6c 20 70 20 |ackward |t nil p |
|00003540| 65 72 72 6f 72 20 22 4e | 6f 20 6d 61 74 63 68 22 |error "N|o match"|
|00003550| 5d 20 35 20 22 5c 0a 53 | 65 61 72 63 68 20 62 61 |] 5 "\.S|earch ba|
|00003560| 63 6b 77 61 72 64 73 20 | 66 6f 72 20 6f 63 63 75 |ckwards |for occu|
|00003570| 72 72 65 6e 63 65 20 6f | 66 20 70 72 6f 6d 70 74 |rrence o|f prompt|
|00003580| 20 66 6f 6c 6c 6f 77 65 | 64 20 62 79 20 53 54 52 | followe|d by STR|
|00003590| 49 4e 47 2e 0a 53 54 52 | 49 4e 47 20 69 73 20 70 |ING..STR|ING is p|
|000035a0| 72 6f 6d 70 74 65 64 20 | 66 6f 72 2c 20 61 6e 64 |rompted |for, and|
|000035b0| 20 69 73 20 4e 4f 54 20 | 61 20 72 65 67 75 6c 61 | is NOT |a regula|
|000035c0| 72 20 65 78 70 72 65 73 | 73 69 6f 6e 2e 22 20 28 |r expres|sion." (|
|000035d0| 62 79 74 65 2d 63 6f 64 | 65 20 22 c0 c1 c2 0b 5c |byte-cod|e "....\|
|000035e0| 22 21 89 1c c5 98 ab 83 | 0b aa 81 0c 29 43 87 22 |"!......|....)C."|
|000035f0| 20 5b 72 65 61 64 2d 66 | 72 6f 6d 2d 6d 69 6e 69 | [read-f|rom-mini|
|00003600| 62 75 66 66 65 72 20 66 | 6f 72 6d 61 74 20 22 43 |buffer f|ormat "C|
|00003610| 6f 6d 6d 61 6e 64 20 28 | 64 65 66 61 75 6c 74 20 |ommand (|default |
|00003620| 25 73 29 3a 20 22 20 63 | 6f 6d 69 6e 74 2d 6c 61 |%s): " c|omint-la|
|00003630| 73 74 2d 69 6e 70 75 74 | 2d 6d 61 74 63 68 20 73 |st-input|-match s|
|00003640| 20 22 22 5d 20 35 29 5d | 29 0a 28 64 65 66 76 61 | ""] 5)]|).(defva|
|00003650| 72 20 63 6f 6d 69 6e 74 | 2d 6c 61 73 74 2d 73 69 |r comint|-last-si|
|00003660| 6d 69 6c 61 72 2d 73 74 | 72 69 6e 67 20 22 22 20 |milar-st|ring "" |
|00003670| 22 5c 0a 54 68 65 20 73 | 74 72 69 6e 67 20 6c 61 |"\.The s|tring la|
|00003680| 73 74 20 75 73 65 64 20 | 69 6e 20 61 20 73 69 6d |st used |in a sim|
|00003690| 69 6c 61 72 20 73 74 72 | 69 6e 67 20 73 65 61 72 |ilar str|ing sear|
|000036a0| 63 68 2e 22 29 0a 28 66 | 73 65 74 20 27 63 6f 6d |ch.").(f|set 'com|
|000036b0| 69 6e 74 2d 70 72 65 76 | 69 6f 75 73 2d 73 69 6d |int-prev|ious-sim|
|000036c0| 69 6c 61 72 2d 69 6e 70 | 75 74 20 23 5b 28 61 72 |ilar-inp|ut #[(ar|
|000036d0| 67 29 20 22 c0 20 ac 84 | c1 c2 21 88 0b c4 3d ac |g) ". ..|..!...=.|
|000036e0| 89 c5 16 06 c7 20 60 7b | 16 08 0e 08 47 1e 09 ca |..... `{|....G...|
|000036f0| 20 1e 0b cc 0e 0b 21 1e | 0d 0e 06 c5 55 ab 8f 0e | .....!.|....U...|
|00003700| 0e cf 55 ab 83 d0 aa 8e | 0e 0d cf 5a aa 88 d1 0e |..U.....|...Z....|
|00003710| 06 0e 0e 0e 0d 23 89 1e | 12 1e 13 d4 1e 15 d4 1e |.....#..|........|
|00003720| 16 0e 15 ac b0 d7 0e 0b | 0e 13 5c 22 89 16 16 47 |........|..\"...G|
|00003730| 0e 09 57 ac 8b 0e 08 0e | 16 d0 0e 09 4f 98 ac 96 |..W.....|....O...|
|00003740| d1 0e 13 0e 0e 0e 0d 23 | 89 16 13 0e 12 55 ab 52 |.......#|.....U.R|
|00003750| d8 89 16 15 ab 50 0e 15 | ac 9f 0e 13 16 06 0b c4 |.....P..|........|
|00003760| 3d ab 87 0e 19 60 7c 88 | aa 86 0e 19 60 d4 93 88 |=....`|.|....`...|
|00003770| 0e 16 0e 09 d4 4f 63 aa | 8a da db 21 88 dc 20 88 |.....Oc.|...!.. .|
|00003780| dd cf 21 2e 07 87 22 20 | 5b 63 6f 6d 69 6e 74 2d |..!..." |[comint-|
|00003790| 61 66 74 65 72 2d 70 6d | 61 72 6b 2d 70 20 65 72 |after-pm|ark-p er|
|000037a0| 72 6f 72 20 22 4e 6f 74 | 20 61 66 74 65 72 20 70 |ror "Not| after p|
|000037b0| 72 6f 63 65 73 73 20 6d | 61 72 6b 22 20 6c 61 73 |rocess m|ark" las|
|000037c0| 74 2d 63 6f 6d 6d 61 6e | 64 20 63 6f 6d 69 6e 74 |t-comman|d comint|
|000037d0| 2d 70 72 65 76 69 6f 75 | 73 2d 73 69 6d 69 6c 61 |-previou|s-simila|
|000037e0| 72 2d 69 6e 70 75 74 20 | 2d 31 20 69 6e 70 75 74 |r-input |-1 input|
|000037f0| 2d 72 69 6e 67 2d 69 6e | 64 65 78 20 63 6f 6d 69 |-ring-in|dex comi|
|00003800| 6e 74 2d 6d 61 72 6b 20 | 63 6f 6d 69 6e 74 2d 6c |nt-mark |comint-l|
|00003810| 61 73 74 2d 73 69 6d 69 | 6c 61 72 2d 73 74 72 69 |ast-simi|lar-stri|
|00003820| 6e 67 20 73 69 7a 65 20 | 67 65 74 2d 69 6e 70 75 |ng size |get-inpu|
|00003830| 74 2d 72 69 6e 67 20 72 | 69 6e 67 20 72 69 6e 67 |t-ring r|ing ring|
|00003840| 2d 6c 65 6e 67 74 68 20 | 6c 65 6e 20 61 72 67 20 |-length |len arg |
|00003850| 31 20 30 20 72 69 6e 67 | 2d 70 6c 75 73 20 6c 69 |1 0 ring|-plus li|
|00003860| 6d 69 74 20 6e 20 6e 69 | 6c 20 64 6f 6e 65 20 65 |mit n ni|l done e|
|00003870| 6e 74 72 79 20 72 69 6e | 67 2d 72 65 66 20 74 20 |ntry rin|g-ref t |
|00003880| 63 6f 6d 69 6e 74 2d 6c | 61 73 74 2d 69 6e 70 75 |comint-l|ast-inpu|
|00003890| 74 2d 73 74 61 72 74 20 | 6d 65 73 73 61 67 65 20 |t-start |message |
|000038a0| 22 4e 6f 74 20 66 6f 75 | 6e 64 2e 22 20 64 69 6e |"Not fou|nd." din|
|000038b0| 67 20 73 69 74 2d 66 6f | 72 5d 20 35 20 22 5c 0a |g sit-fo|r] 5 "\.|
|000038c0| 52 65 65 6e 74 65 72 73 | 20 74 68 65 20 6c 61 73 |Reenters| the las|
|000038d0| 74 20 69 6e 70 75 74 20 | 74 68 61 74 20 6d 61 74 |t input |that mat|
|000038e0| 63 68 65 73 20 74 68 65 | 20 73 74 72 69 6e 67 20 |ches the| string |
|000038f0| 74 79 70 65 64 20 73 6f | 20 66 61 72 2e 20 20 49 |typed so| far. I|
|00003900| 66 20 72 65 70 65 61 74 | 65 64 20 0a 73 75 63 63 |f repeat|ed .succ|
|00003910| 65 73 73 69 76 65 6c 79 | 20 6f 6c 64 65 72 20 69 |essively| older i|
|00003920| 6e 70 75 74 73 20 61 72 | 65 20 72 65 65 6e 74 65 |nputs ar|e reente|
|00003930| 72 65 64 2e 20 20 49 66 | 20 61 72 67 20 69 73 20 |red. If| arg is |
|00003940| 31 2c 20 69 74 20 77 69 | 6c 6c 20 67 6f 20 62 61 |1, it wi|ll go ba|
|00003950| 63 6b 0a 69 6e 20 74 68 | 65 20 68 69 73 74 6f 72 |ck.in th|e histor|
|00003960| 79 2c 20 69 66 20 2d 31 | 20 69 74 20 77 69 6c 6c |y, if -1| it will|
|00003970| 20 67 6f 20 66 6f 72 77 | 61 72 64 2e 22 20 22 70 | go forw|ard." "p|
|00003980| 22 5d 29 0a 28 66 73 65 | 74 20 27 63 6f 6d 69 6e |"]).(fse|t 'comin|
|00003990| 74 2d 6e 65 78 74 2d 73 | 69 6d 69 6c 61 72 2d 69 |t-next-s|imilar-i|
|000039a0| 6e 70 75 74 20 23 5b 28 | 61 72 67 29 20 22 c0 11 |nput #[(|arg) "..|
|000039b0| c0 5c 6e 5b 21 87 22 20 | 5b 63 6f 6d 69 6e 74 2d |.\n[!." |[comint-|
|000039c0| 70 72 65 76 69 6f 75 73 | 2d 73 69 6d 69 6c 61 72 |previous|-similar|
|000039d0| 2d 69 6e 70 75 74 20 74 | 68 69 73 2d 63 6f 6d 6d |-input t|his-comm|
|000039e0| 61 6e 64 20 61 72 67 5d | 20 32 20 22 5c 0a 52 65 |and arg]| 2 "\.Re|
|000039f0| 65 6e 74 65 72 73 20 74 | 68 65 20 6c 61 73 74 20 |enters t|he last |
|00003a00| 69 6e 70 75 74 20 74 68 | 61 74 20 6d 61 74 63 68 |input th|at match|
|00003a10| 65 73 20 74 68 65 20 73 | 74 72 69 6e 67 20 74 79 |es the s|tring ty|
|00003a20| 70 65 64 20 73 6f 20 66 | 61 72 2e 20 20 49 66 20 |ped so f|ar. If |
|00003a30| 72 65 70 65 61 74 65 64 | 20 0a 73 75 63 63 65 73 |repeated| .succes|
|00003a40| 73 69 76 65 6c 79 20 6f | 6c 64 65 72 20 69 6e 70 |sively o|lder inp|
|00003a50| 75 74 73 20 61 72 65 20 | 72 65 65 6e 74 65 72 65 |uts are |reentere|
|00003a60| 64 2e 20 20 49 66 20 61 | 72 67 20 69 73 20 31 2c |d. If a|rg is 1,|
|00003a70| 20 69 74 20 77 69 6c 6c | 20 67 6f 20 66 6f 72 77 | it will| go forw|
|00003a80| 61 72 64 0a 69 6e 20 74 | 68 65 20 68 69 73 74 6f |ard.in t|he histo|
|00003a90| 72 79 2c 20 69 66 20 2d | 31 20 69 74 20 77 69 6c |ry, if -|1 it wil|
|00003aa0| 6c 20 67 6f 20 62 61 63 | 6b 2e 22 20 22 70 22 5d |l go bac|k." "p"]|
|00003ab0| 29 0a 28 66 73 65 74 20 | 27 63 6f 6d 69 6e 74 2d |).(fset |'comint-|
|00003ac0| 73 65 6e 64 2d 69 6e 70 | 75 74 20 23 5b 6e 69 6c |send-inp|ut #[nil|
|00003ad0| 20 22 c0 70 21 89 19 ac | 85 c2 c3 21 aa e4 c4 20 | ".p!...|...!... |
|00003ae0| 1d c6 09 21 1e 07 c8 0e | 07 21 1e 09 60 0e 09 59 |...!....|.!..`..Y|
|00003af0| ab 8d 0e 5c 6e ab 83 cb | 7f 88 0e 07 60 7b aa 90 |...\n...|....`{..|
|00003b00| 0e 0c 20 1e 0d 0e 07 62 | 88 0e 0d 63 88 0e 0d 29 |.. ....b|...c...)|
|00003b10| 1e 0e cf 63 88 0e 10 0e | 0e 21 ab 8d d1 0d 0e 0e |...c....|.!......|
|00003b20| d2 23 88 d3 0d 0e 0e 5c | 22 88 0e 14 0e 0e 21 88 |.#.....\|".....!.|
|00003b30| 0e 15 09 0e 0e 5c 22 88 | c6 09 21 60 cb 93 88 0e |.....\".|..!`....|
|00003b40| 16 60 cb 93 2c 29 87 22 | 20 5b 67 65 74 2d 62 75 |.`..,)."| [get-bu|
|00003b50| 66 66 65 72 2d 70 72 6f | 63 65 73 73 20 70 72 6f |ffer-pro|cess pro|
|00003b60| 63 20 65 72 72 6f 72 20 | 22 43 75 72 72 65 6e 74 |c error |"Current|
|00003b70| 20 62 75 66 66 65 72 20 | 68 61 73 20 6e 6f 20 70 | buffer |has no p|
|00003b80| 72 6f 63 65 73 73 22 20 | 67 65 74 2d 69 6e 70 75 |rocess" |get-inpu|
|00003b90| 74 2d 72 69 6e 67 20 72 | 69 6e 67 20 70 72 6f 63 |t-ring r|ing proc|
|00003ba0| 65 73 73 2d 6d 61 72 6b | 20 70 6d 61 72 6b 20 6d |ess-mark| pmark m|
|00003bb0| 61 72 6b 65 72 2d 70 6f | 73 69 74 69 6f 6e 20 70 |arker-po|sition p|
|00003bc0| 6d 61 72 6b 2d 76 61 6c | 20 63 6f 6d 69 6e 74 2d |mark-val| comint-|
|00003bd0| 65 6f 6c 2d 6f 6e 2d 73 | 65 6e 64 20 6e 69 6c 20 |eol-on-s|end nil |
|00003be0| 63 6f 6d 69 6e 74 2d 67 | 65 74 2d 6f 6c 64 2d 69 |comint-g|et-old-i|
|00003bf0| 6e 70 75 74 20 63 6f 70 | 79 20 69 6e 70 75 74 20 |nput cop|y input |
|00003c00| 31 30 20 63 6f 6d 69 6e | 74 2d 69 6e 70 75 74 2d |10 comin|t-input-|
|00003c10| 66 69 6c 74 65 72 20 72 | 69 6e 67 2d 73 65 61 72 |filter r|ing-sear|
|00003c20| 63 68 2d 61 6e 64 2d 64 | 65 73 74 72 6f 79 20 73 |ch-and-d|estroy s|
|00003c30| 74 72 69 6e 67 2d 65 71 | 75 61 6c 20 72 69 6e 67 |tring-eq|ual ring|
|00003c40| 2d 69 6e 73 65 72 74 2d | 6e 65 77 20 63 6f 6d 69 |-insert-|new comi|
|00003c50| 6e 74 2d 69 6e 70 75 74 | 2d 73 65 6e 74 69 6e 65 |nt-input|-sentine|
|00003c60| 6c 20 63 6f 6d 69 6e 74 | 2d 69 6e 70 75 74 2d 73 |l comint|-input-s|
|00003c70| 65 6e 64 65 72 20 63 6f | 6d 69 6e 74 2d 6c 61 73 |ender co|mint-las|
|00003c80| 74 2d 69 6e 70 75 74 2d | 65 6e 64 5d 20 35 20 22 |t-input-|end] 5 "|
|00003c90| 5c 0a 53 65 6e 64 20 69 | 6e 70 75 74 20 74 6f 20 |\.Send i|nput to |
|00003ca0| 70 72 6f 63 65 73 73 2e | 20 20 41 66 74 65 72 20 |process.| After |
|00003cb0| 74 68 65 20 70 72 6f 63 | 65 73 73 20 6f 75 74 70 |the proc|ess outp|
|00003cc0| 75 74 20 6d 61 72 6b 2c | 20 73 65 6e 64 73 20 61 |ut mark,| sends a|
|00003cd0| 6c 6c 20 74 65 78 74 0a | 66 72 6f 6d 20 74 68 65 |ll text.|from the|
|00003ce0| 20 70 72 6f 63 65 73 73 | 20 6d 61 72 6b 20 74 6f | process| mark to|
|00003cf0| 20 70 6f 69 6e 74 20 61 | 73 20 69 6e 70 75 74 20 | point a|s input |
|00003d00| 74 6f 20 74 68 65 20 70 | 72 6f 63 65 73 73 2e 20 |to the p|rocess. |
|00003d10| 20 42 65 66 6f 72 65 20 | 74 68 65 0a 70 72 6f 63 | Before |the.proc|
|00003d20| 65 73 73 20 6f 75 74 70 | 75 74 20 6d 61 72 6b 2c |ess outp|ut mark,|
|00003d30| 20 63 61 6c 6c 73 20 76 | 61 6c 75 65 20 6f 66 20 | calls v|alue of |
|00003d40| 76 61 72 69 61 62 6c 65 | 20 63 6f 6d 69 6e 74 2d |variable| comint-|
|00003d50| 67 65 74 2d 6f 6c 64 2d | 69 6e 70 75 74 20 74 6f |get-old-|input to|
|00003d60| 20 72 65 74 72 69 65 76 | 65 0a 6f 6c 64 20 69 6e | retriev|e.old in|
|00003d70| 70 75 74 2c 20 63 6f 70 | 69 65 73 20 69 74 20 74 |put, cop|ies it t|
|00003d80| 6f 20 74 68 65 20 65 6e | 64 20 6f 66 20 74 68 65 |o the en|d of the|
|00003d90| 20 62 75 66 66 65 72 2c | 20 61 6e 64 20 73 65 6e | buffer,| and sen|
|00003da0| 64 73 20 69 74 2e 20 20 | 41 20 74 65 72 6d 69 6e |ds it. |A termin|
|00003db0| 61 6c 0a 6e 65 77 6c 69 | 6e 65 20 69 73 20 61 6c |al.newli|ne is al|
|00003dc0| 73 6f 20 69 6e 73 65 72 | 74 65 64 20 69 6e 74 6f |so inser|ted into|
|00003dd0| 20 74 68 65 20 62 75 66 | 66 65 72 20 61 6e 64 20 | the buf|fer and |
|00003de0| 73 65 6e 74 20 74 6f 20 | 74 68 65 20 70 72 6f 63 |sent to |the proc|
|00003df0| 65 73 73 2e 20 20 49 6e | 20 65 69 74 68 65 72 0a |ess. In| either.|
|00003e00| 63 61 73 65 2c 20 76 61 | 6c 75 65 20 6f 66 20 76 |case, va|lue of v|
|00003e10| 61 72 69 61 62 6c 65 20 | 63 6f 6d 69 6e 74 2d 69 |ariable |comint-i|
|00003e20| 6e 70 75 74 2d 73 65 6e | 74 69 6e 65 6c 20 69 73 |nput-sen|tinel is|
|00003e30| 20 63 61 6c 6c 65 64 20 | 6f 6e 20 74 68 65 20 69 | called |on the i|
|00003e40| 6e 70 75 74 20 62 65 66 | 6f 72 65 0a 73 65 6e 64 |nput bef|ore.send|
|00003e50| 69 6e 67 20 69 74 2e 20 | 20 54 68 65 20 69 6e 70 |ing it. | The inp|
|00003e60| 75 74 20 69 73 20 65 6e | 74 65 72 65 64 20 69 6e |ut is en|tered in|
|00003e70| 74 6f 20 74 68 65 20 69 | 6e 70 75 74 20 68 69 73 |to the i|nput his|
|00003e80| 74 6f 72 79 20 72 69 6e | 67 2c 20 69 66 20 76 61 |tory rin|g, if va|
|00003e90| 6c 75 65 20 6f 66 0a 76 | 61 72 69 61 62 6c 65 20 |lue of.v|ariable |
|00003ea0| 63 6f 6d 69 6e 74 2d 69 | 6e 70 75 74 2d 66 69 6c |comint-i|nput-fil|
|00003eb0| 74 65 72 20 72 65 74 75 | 72 6e 73 20 6e 6f 6e 2d |ter retu|rns non-|
|00003ec0| 6e 69 6c 20 77 68 65 6e | 20 63 61 6c 6c 65 64 20 |nil when| called |
|00003ed0| 6f 6e 20 74 68 65 20 69 | 6e 70 75 74 2e 0a 0a 49 |on the i|nput...I|
|00003ee0| 66 20 76 61 72 69 61 62 | 6c 65 20 63 6f 6d 69 6e |f variab|le comin|
|00003ef0| 74 2d 65 6f 6c 2d 6f 6e | 2d 73 65 6e 64 20 69 73 |t-eol-on|-send is|
|00003f00| 20 6e 6f 6e 2d 6e 69 6c | 2c 20 74 68 65 6e 20 70 | non-nil|, then p|
|00003f10| 6f 69 6e 74 20 69 73 20 | 6d 6f 76 65 64 20 74 6f |oint is |moved to|
|00003f20| 20 74 68 65 20 65 6e 64 | 20 6f 66 0a 6c 69 6e 65 | the end| of.line|
|00003f30| 20 62 65 66 6f 72 65 20 | 73 65 6e 64 69 6e 67 20 | before |sending |
|00003f40| 74 68 65 20 69 6e 70 75 | 74 2e 0a 0a 63 6f 6d 69 |the inpu|t...comi|
|00003f50| 6e 74 2d 67 65 74 2d 6f | 6c 64 2d 69 6e 70 75 74 |nt-get-o|ld-input|
|00003f60| 2c 20 63 6f 6d 69 6e 74 | 2d 69 6e 70 75 74 2d 73 |, comint|-input-s|
|00003f70| 65 6e 74 69 6e 65 6c 2c | 20 61 6e 64 20 63 6f 6d |entinel,| and com|
|00003f80| 69 6e 74 2d 69 6e 70 75 | 74 2d 66 69 6c 74 65 72 |int-inpu|t-filter|
|00003f90| 20 61 72 65 20 63 68 6f | 73 65 6e 0a 61 63 63 6f | are cho|sen.acco|
|00003fa0| 72 64 69 6e 67 20 74 6f | 20 74 68 65 20 63 6f 6d |rding to| the com|
|00003fb0| 6d 61 6e 64 20 69 6e 74 | 65 72 70 72 65 74 65 72 |mand int|erpreter|
|00003fc0| 20 72 75 6e 6e 69 6e 67 | 20 69 6e 20 74 68 65 20 | running| in the |
|00003fd0| 62 75 66 66 65 72 2e 20 | 45 2e 67 2e 2c 0a 49 66 |buffer. |E.g.,.If|
|00003fe0| 20 74 68 65 20 69 6e 74 | 65 72 70 72 65 74 65 72 | the int|erpreter|
|00003ff0| 20 69 73 20 74 68 65 20 | 63 73 68 2c 0a 20 20 20 | is the |csh,. |
|00004000| 20 63 6f 6d 69 6e 74 2d | 67 65 74 2d 6f 6c 64 2d | comint-|get-old-|
|00004010| 69 6e 70 75 74 20 69 73 | 20 74 68 65 20 64 65 66 |input is| the def|
|00004020| 61 75 6c 74 3a 20 74 61 | 6b 65 20 74 68 65 20 63 |ault: ta|ke the c|
|00004030| 75 72 72 65 6e 74 20 6c | 69 6e 65 2c 20 64 69 73 |urrent l|ine, dis|
|00004040| 63 61 72 64 20 61 6e 79 | 0a 20 20 20 20 20 20 20 |card any|. |
|00004050| 20 69 6e 69 74 69 61 6c | 20 73 74 72 69 6e 67 20 | initial| string |
|00004060| 6d 61 74 63 68 69 6e 67 | 20 72 65 67 65 78 70 20 |matching| regexp |
|00004070| 63 6f 6d 69 6e 74 2d 70 | 72 6f 6d 70 74 2d 72 65 |comint-p|rompt-re|
|00004080| 67 65 78 70 2e 0a 20 20 | 20 20 63 6f 6d 69 6e 74 |gexp.. | comint|
|00004090| 2d 69 6e 70 75 74 2d 73 | 65 6e 74 69 6e 65 6c 20 |-input-s|entinel |
|000040a0| 6d 6f 6e 69 74 6f 72 73 | 20 69 6e 70 75 74 20 66 |monitors| input f|
|000040b0| 6f 72 20 5c 22 63 64 5c | 22 2c 20 5c 22 70 75 73 |or \"cd\|", \"pus|
|000040c0| 68 64 5c 22 2c 20 61 6e | 64 20 5c 22 70 6f 70 64 |hd\", an|d \"popd|
|000040d0| 5c 22 20 0a 20 20 20 20 | 20 20 20 20 63 6f 6d 6d |\" . | comm|
|000040e0| 61 6e 64 73 2e 20 57 68 | 65 6e 20 69 74 20 73 65 |ands. Wh|en it se|
|000040f0| 65 73 20 6f 6e 65 2c 20 | 69 74 20 63 64 27 73 20 |es one, |it cd's |
|00004100| 74 68 65 20 62 75 66 66 | 65 72 2e 0a 20 20 20 20 |the buff|er.. |
|00004110| 63 6f 6d 69 6e 74 2d 69 | 6e 70 75 74 2d 66 69 6c |comint-i|nput-fil|
|00004120| 74 65 72 20 69 73 20 74 | 68 65 20 64 65 66 61 75 |ter is t|he defau|
|00004130| 6c 74 3a 20 72 65 74 75 | 72 6e 73 20 54 20 69 66 |lt: retu|rns T if|
|00004140| 20 74 68 65 20 69 6e 70 | 75 74 20 69 73 6e 27 74 | the inp|ut isn't|
|00004150| 20 61 6c 6c 20 77 68 69 | 74 65 0a 09 73 70 61 63 | all whi|te..spac|
|00004160| 65 2e 0a 0a 49 66 20 74 | 68 65 20 63 6f 6d 69 6e |e...If t|he comin|
|00004170| 74 20 69 73 20 4c 75 63 | 69 64 20 43 6f 6d 6d 6f |t is Luc|id Commo|
|00004180| 6e 20 4c 69 73 70 2c 20 | 0a 20 20 20 20 63 6f 6d |n Lisp, |. com|
|00004190| 69 6e 74 2d 67 65 74 2d | 6f 6c 64 2d 69 6e 70 75 |int-get-|old-inpu|
|000041a0| 74 20 73 6e 61 72 66 73 | 20 74 68 65 20 73 65 78 |t snarfs| the sex|
|000041b0| 70 20 65 6e 64 69 6e 67 | 20 61 74 20 70 6f 69 6e |p ending| at poin|
|000041c0| 74 2e 0a 20 20 20 20 63 | 6f 6d 69 6e 74 2d 69 6e |t.. c|omint-in|
|000041d0| 70 75 74 2d 73 65 6e 74 | 69 6e 65 6c 20 64 6f 65 |put-sent|inel doe|
|000041e0| 73 20 6e 6f 74 68 69 6e | 67 2e 0a 20 20 20 20 63 |s nothin|g.. c|
|000041f0| 6f 6d 69 6e 74 2d 69 6e | 70 75 74 2d 66 69 6c 74 |omint-in|put-filt|
|00004200| 65 72 20 72 65 74 75 72 | 6e 73 20 4e 49 4c 20 69 |er retur|ns NIL i|
|00004210| 66 20 74 68 65 20 69 6e | 70 75 74 20 6d 61 74 63 |f the in|put matc|
|00004220| 68 65 73 20 69 6e 70 75 | 74 2d 66 69 6c 74 65 72 |hes inpu|t-filter|
|00004230| 2d 72 65 67 65 78 70 2c | 0a 20 20 20 20 20 20 20 |-regexp,|. |
|00004240| 20 77 68 69 63 68 20 6d | 61 74 63 68 65 73 20 28 | which m|atches (|
|00004250| 31 29 20 61 6c 6c 20 77 | 68 69 74 65 73 70 61 63 |1) all w|hitespac|
|00004260| 65 20 28 32 29 20 3a 61 | 2c 20 3a 63 2c 20 65 74 |e (2) :a|, :c, et|
|00004270| 63 2e 0a 0a 53 69 6d 69 | 6c 61 72 6c 79 20 66 6f |c...Simi|larly fo|
|00004280| 72 20 53 6f 61 72 2c 20 | 53 63 68 65 6d 65 2c 20 |r Soar, |Scheme, |
|00004290| 65 74 63 2e 2e 22 20 6e | 69 6c 5d 29 0a 28 66 73 |etc.." n|il]).(fs|
|000042a0| 65 74 20 27 63 6f 6d 69 | 6e 74 2d 67 65 74 2d 6f |et 'comi|nt-get-o|
|000042b0| 6c 64 2d 69 6e 70 75 74 | 2d 64 65 66 61 75 6c 74 |ld-input|-default|
|000042c0| 20 23 5b 6e 69 6c 20 22 | 8a c0 79 88 c1 20 88 60 | #[nil "|..y.. .`|
|000042d0| 1a c3 7f 88 5c 6e 60 7b | 2a 87 22 20 5b 30 20 63 |....\n`{|*." [0 c|
|000042e0| 6f 6d 69 6e 74 2d 73 6b | 69 70 2d 70 72 6f 6d 70 |omint-sk|ip-promp|
|000042f0| 74 20 62 65 67 20 6e 69 | 6c 5d 20 32 20 22 5c 0a |t beg ni|l] 2 "\.|
|00004300| 44 65 66 61 75 6c 74 20 | 66 6f 72 20 63 6f 6d 69 |Default |for comi|
|00004310| 6e 74 2d 67 65 74 2d 6f | 6c 64 2d 69 6e 70 75 74 |nt-get-o|ld-input|
|00004320| 3a 20 74 61 6b 65 20 74 | 68 65 20 63 75 72 72 65 |: take t|he curre|
|00004330| 6e 74 20 6c 69 6e 65 2c | 20 61 6e 64 20 64 69 73 |nt line,| and dis|
|00004340| 63 61 72 64 0a 61 6e 79 | 20 69 6e 69 74 69 61 6c |card.any| initial|
|00004350| 20 74 65 78 74 20 6d 61 | 74 63 68 69 6e 67 20 63 | text ma|tching c|
|00004360| 6f 6d 69 6e 74 2d 70 72 | 6f 6d 70 74 2d 72 65 67 |omint-pr|ompt-reg|
|00004370| 65 78 70 2e 22 5d 29 0a | 28 66 73 65 74 20 27 63 |exp."]).|(fset 'c|
|00004380| 6f 6d 69 6e 74 2d 73 6b | 69 70 2d 70 72 6f 6d 70 |omint-sk|ip-promp|
|00004390| 74 20 23 5b 6e 69 6c 20 | 22 8a c0 7f 88 60 29 19 |t #[nil |"....`).|
|000043a0| c2 0b 21 ad 89 c4 95 09 | 58 ad 83 c4 95 62 29 87 |..!.....|X....b).|
|000043b0| 22 20 5b 6e 69 6c 20 65 | 6f 6c 20 6c 6f 6f 6b 69 |" [nil e|ol looki|
|000043c0| 6e 67 2d 61 74 20 63 6f | 6d 69 6e 74 2d 70 72 6f |ng-at co|mint-pro|
|000043d0| 6d 70 74 2d 72 65 67 65 | 78 70 20 30 5d 20 32 20 |mpt-rege|xp 0] 2 |
|000043e0| 22 5c 0a 53 6b 69 70 20 | 70 61 73 74 20 74 68 65 |"\.Skip |past the|
|000043f0| 20 74 65 78 74 20 6d 61 | 74 63 68 69 6e 67 20 72 | text ma|tching r|
|00004400| 65 67 65 78 70 20 63 6f | 6d 69 6e 74 2d 70 72 6f |egexp co|mint-pro|
|00004410| 6d 70 74 2d 72 65 67 65 | 78 70 2e 20 0a 49 66 20 |mpt-rege|xp. .If |
|00004420| 74 68 69 73 20 74 61 6b | 65 73 20 75 73 20 70 61 |this tak|es us pa|
|00004430| 73 74 20 74 68 65 20 65 | 6e 64 20 6f 66 20 74 68 |st the e|nd of th|
|00004440| 65 20 63 75 72 72 65 6e | 74 20 6c 69 6e 65 2c 20 |e curren|t line, |
|00004450| 64 6f 6e 27 74 20 73 6b | 69 70 20 61 74 20 61 6c |don't sk|ip at al|
|00004460| 6c 2e 22 5d 29 0a 28 66 | 73 65 74 20 27 63 6f 6d |l."]).(f|set 'com|
|00004470| 69 6e 74 2d 61 66 74 65 | 72 2d 70 6d 61 72 6b 2d |int-afte|r-pmark-|
|00004480| 70 20 23 5b 6e 69 6c 20 | 22 c0 c1 20 21 89 1a 60 |p #[nil |".. !..`|
|00004490| 58 29 87 22 20 5b 6d 61 | 72 6b 65 72 2d 70 6f 73 |X)." [ma|rker-pos|
|000044a0| 69 74 69 6f 6e 20 63 6f | 6d 69 6e 74 2d 6d 61 72 |ition co|mint-mar|
|000044b0| 6b 20 70 72 6f 63 2d 70 | 6f 73 5d 20 33 20 22 5c |k proc-p|os] 3 "\|
|000044c0| 0a 49 73 20 70 6f 69 6e | 74 20 61 66 74 65 72 20 |.Is poin|t after |
|000044d0| 74 68 65 20 70 72 6f 63 | 65 73 73 20 6f 75 74 70 |the proc|ess outp|
|000044e0| 75 74 20 6d 61 72 6b 65 | 72 3f 22 5d 29 0a 28 66 |ut marke|r?"]).(f|
|000044f0| 73 65 74 20 27 63 6f 6d | 69 6e 74 2d 73 69 6d 70 |set 'com|int-simp|
|00004500| 6c 65 2d 73 65 6e 64 20 | 23 5b 28 70 72 6f 63 20 |le-send |#[(proc |
|00004510| 73 74 72 69 6e 67 29 20 | 22 c0 09 5c 6e 5c 22 88 |string) |"..\n\".|
|00004520| c0 09 c3 5c 22 87 22 20 | 5b 63 6f 6d 69 6e 74 2d |...\"." |[comint-|
|00004530| 73 65 6e 64 2d 73 74 72 | 69 6e 67 20 70 72 6f 63 |send-str|ing proc|
|00004540| 20 73 74 72 69 6e 67 20 | 22 5c 6e 22 5d 20 33 20 | string |"\n"] 3 |
|00004550| 22 5c 0a 44 65 66 61 75 | 6c 74 20 66 75 6e 63 74 |"\.Defau|lt funct|
|00004560| 69 6f 6e 20 66 6f 72 20 | 73 65 6e 64 69 6e 67 20 |ion for |sending |
|00004570| 74 6f 20 50 52 4f 43 20 | 69 6e 70 75 74 20 53 54 |to PROC |input ST|
|00004580| 52 49 4e 47 2e 0a 54 68 | 69 73 20 6a 75 73 74 20 |RING..Th|is just |
|00004590| 73 65 6e 64 73 20 53 54 | 52 49 4e 47 20 70 6c 75 |sends ST|RING plu|
|000045a0| 73 20 61 20 6e 65 77 6c | 69 6e 65 2e 20 54 6f 20 |s a newl|ine. To |
|000045b0| 6f 76 65 72 72 69 64 65 | 20 74 68 69 73 2c 0a 73 |override| this,.s|
|000045c0| 65 74 20 74 68 65 20 68 | 6f 6f 6b 20 43 4f 4d 49 |et the h|ook COMI|
|000045d0| 4e 54 2d 49 4e 50 55 54 | 2d 53 45 4e 44 45 52 2e |NT-INPUT|-SENDER.|
|000045e0| 22 5d 29 0a 28 66 73 65 | 74 20 27 63 6f 6d 69 6e |"]).(fse|t 'comin|
|000045f0| 74 2d 62 6f 6c 20 23 5b | 28 61 72 67 29 20 22 c0 |t-bol #[|(arg) ".|
|00004600| 79 88 09 3f ad 82 c2 20 | 87 22 20 5b 30 20 61 72 |y..?... |." [0 ar|
|00004610| 67 20 63 6f 6d 69 6e 74 | 2d 73 6b 69 70 2d 70 72 |g comint|-skip-pr|
|00004620| 6f 6d 70 74 5d 20 31 20 | 22 5c 0a 47 6f 65 73 20 |ompt] 1 |"\.Goes |
|00004630| 74 6f 20 74 68 65 20 62 | 65 67 69 6e 6e 69 6e 67 |to the b|eginning|
|00004640| 20 6f 66 20 6c 69 6e 65 | 2c 20 74 68 65 6e 20 73 | of line|, then s|
|00004650| 6b 69 70 73 20 70 61 73 | 74 20 74 68 65 20 70 72 |kips pas|t the pr|
|00004660| 6f 6d 70 74 2c 20 69 66 | 20 61 6e 79 2e 0a 49 66 |ompt, if| any..If|
|00004670| 20 61 20 70 72 65 66 69 | 78 20 61 72 67 75 6d 65 | a prefi|x argume|
|00004680| 6e 74 20 69 73 20 67 69 | 76 65 6e 20 28 5c 5c 5b |nt is gi|ven (\\[|
|00004690| 75 6e 69 76 65 72 73 61 | 6c 2d 61 72 67 75 6d 65 |universa|l-argume|
|000046a0| 6e 74 5d 29 2c 20 74 68 | 65 6e 20 6e 6f 20 70 72 |nt]), th|en no pr|
|000046b0| 6f 6d 70 74 20 73 6b 69 | 70 20 0a 2d 2d 20 67 6f |ompt ski|p .-- go|
|000046c0| 20 73 74 72 61 69 67 68 | 74 20 74 6f 20 63 6f 6c | straigh|t to col|
|000046d0| 75 6d 6e 20 30 2e 0a 0a | 54 68 65 20 70 72 6f 6d |umn 0...|The prom|
|000046e0| 70 74 20 73 6b 69 70 20 | 69 73 20 64 6f 6e 65 20 |pt skip |is done |
|000046f0| 62 79 20 73 6b 69 70 70 | 69 6e 67 20 74 65 78 74 |by skipp|ing text|
|00004700| 20 6d 61 74 63 68 69 6e | 67 20 74 68 65 20 72 65 | matchin|g the re|
|00004710| 67 75 6c 61 72 20 65 78 | 70 72 65 73 73 69 6f 6e |gular ex|pression|
|00004720| 0a 63 6f 6d 69 6e 74 2d | 70 72 6f 6d 70 74 2d 72 |.comint-|prompt-r|
|00004730| 65 67 65 78 70 2c 20 61 | 20 62 75 66 66 65 72 20 |egexp, a| buffer |
|00004740| 6c 6f 63 61 6c 20 76 61 | 72 69 61 62 6c 65 2e 0a |local va|riable..|
|00004750| 0a 49 66 20 79 6f 75 20 | 64 6f 6e 27 74 20 6c 69 |.If you |don't li|
|00004760| 6b 65 20 74 68 69 73 20 | 63 6f 6d 6d 61 6e 64 2c |ke this |command,|
|00004770| 20 72 65 73 65 74 20 63 | 2d 61 20 74 6f 20 62 65 | reset c|-a to be|
|00004780| 67 69 6e 6e 69 6e 67 2d | 6f 66 2d 6c 69 6e 65 20 |ginning-|of-line |
|00004790| 0a 69 6e 20 79 6f 75 72 | 20 68 6f 6f 6b 2c 20 63 |.in your| hook, c|
|000047a0| 6f 6d 69 6e 74 2d 6d 6f | 64 65 2d 68 6f 6f 6b 2e |omint-mo|de-hook.|
|000047b0| 22 20 22 50 22 5d 29 0a | 28 66 73 65 74 20 27 63 |" "P"]).|(fset 'c|
|000047c0| 6f 6d 69 6e 74 2d 72 65 | 61 64 2d 6e 6f 65 63 68 |omint-re|ad-noech|
|000047d0| 6f 20 23 5b 28 70 72 6f | 6d 70 74 29 20 22 c0 c1 |o #[(pro|mpt) "..|
|000047e0| c2 1b 1c 1d 0e 06 3b ab | 8d c7 0e 06 21 c1 98 ac |......;.|....!...|
|000047f0| 85 c7 0e 06 21 88 c8 20 | 89 13 c9 55 ac 8d 0b ca |....!.. |...U....|
|00004800| 55 ac 88 0c cb 0b 21 50 | 14 aa 6b c7 c1 21 88 0c |U.....!P|..k..!..|
|00004810| 2b 87 22 20 5b 30 20 22 | 22 20 6e 69 6c 20 74 65 |+." [0 "|" nil te|
|00004820| 6d 20 61 6e 73 77 20 65 | 63 68 6f 2d 6b 65 79 73 |m answ e|cho-keys|
|00004830| 74 72 6f 6b 65 73 20 70 | 72 6f 6d 70 74 20 6d 65 |trokes p|rompt me|
|00004840| 73 73 61 67 65 20 72 65 | 61 64 2d 63 68 61 72 20 |ssage re|ad-char |
|00004850| 31 33 20 31 30 20 63 68 | 61 72 2d 74 6f 2d 73 74 |13 10 ch|ar-to-st|
|00004860| 72 69 6e 67 5d 20 33 20 | 22 5c 0a 50 72 6f 6d 70 |ring] 3 |"\.Promp|
|00004870| 74 20 74 68 65 20 75 73 | 65 72 20 77 69 74 68 20 |t the us|er with |
|00004880| 61 72 67 75 6d 65 6e 74 | 20 50 52 4f 4d 50 54 2e |argument| PROMPT.|
|00004890| 20 52 65 61 64 20 61 20 | 73 69 6e 67 6c 65 20 6c | Read a |single l|
|000048a0| 69 6e 65 20 6f 66 20 74 | 65 78 74 0a 77 69 74 68 |ine of t|ext.with|
|000048b0| 6f 75 74 20 65 63 68 6f | 69 6e 67 2c 20 61 6e 64 |out echo|ing, and|
|000048c0| 20 72 65 74 75 72 6e 20 | 69 74 2e 20 4e 6f 74 65 | return |it. Note|
|000048d0| 20 74 68 61 74 20 74 68 | 65 20 6b 65 79 73 74 72 | that th|e keystr|
|000048e0| 6f 6b 65 73 20 63 6f 6d | 70 72 69 73 69 6e 67 0a |okes com|prising.|
|000048f0| 74 68 65 20 74 65 78 74 | 20 63 61 6e 20 73 74 69 |the text| can sti|
|00004900| 6c 6c 20 62 65 20 72 65 | 63 6f 76 65 72 65 64 20 |ll be re|covered |
|00004910| 28 74 65 6d 70 6f 72 61 | 72 69 6c 79 29 20 77 69 |(tempora|rily) wi|
|00004920| 74 68 20 5c 5c 5b 76 69 | 65 77 2d 6c 6f 73 73 61 |th \\[vi|ew-lossa|
|00004930| 67 65 5d 2e 20 54 68 69 | 73 0a 6d 61 79 20 62 65 |ge]. Thi|s.may be|
|00004940| 20 61 20 73 65 63 75 72 | 69 74 79 20 62 75 67 20 | a secur|ity bug |
|00004950| 66 6f 72 20 73 6f 6d 65 | 20 61 70 70 6c 69 63 61 |for some| applica|
|00004960| 74 69 6f 6e 73 2e 22 5d | 29 0a 28 66 73 65 74 20 |tions."]|).(fset |
|00004970| 27 73 65 6e 64 2d 69 6e | 76 69 73 69 62 6c 65 20 |'send-in|visible |
|00004980| 23 5b 28 73 74 72 29 20 | 22 c0 70 21 89 19 ac 85 |#[(str) |".p!....|
|00004990| c2 c3 21 aa 92 c4 09 0d | 3b ab 83 0d aa 83 c6 c7 |..!.....|;.......|
|000049a0| 21 5c 22 88 c4 09 c8 5c | 22 29 87 22 20 5b 67 65 |!\"....\|")." [ge|
|000049b0| 74 2d 62 75 66 66 65 72 | 2d 70 72 6f 63 65 73 73 |t-buffer|-process|
|000049c0| 20 70 72 6f 63 20 65 72 | 72 6f 72 20 22 43 75 72 | proc er|ror "Cur|
|000049d0| 72 65 6e 74 20 62 75 66 | 66 65 72 20 68 61 73 20 |rent buf|fer has |
|000049e0| 6e 6f 20 70 72 6f 63 65 | 73 73 22 20 63 6f 6d 69 |no proce|ss" comi|
|000049f0| 6e 74 2d 73 65 6e 64 2d | 73 74 72 69 6e 67 20 73 |nt-send-|string s|
|00004a00| 74 72 20 63 6f 6d 69 6e | 74 2d 72 65 61 64 2d 6e |tr comin|t-read-n|
|00004a10| 6f 65 63 68 6f 20 22 45 | 6e 74 65 72 20 6e 6f 6e |oecho "E|nter non|
|00004a20| 2d 65 63 68 6f 65 64 20 | 74 65 78 74 22 20 22 5c |-echoed |text" "\|
|00004a30| 6e 22 5d 20 35 20 22 5c | 0a 52 65 61 64 20 61 20 |n"] 5 "\|.Read a |
|00004a40| 73 74 72 69 6e 67 20 77 | 69 74 68 6f 75 74 20 65 |string w|ithout e|
|00004a50| 63 68 6f 69 6e 67 2c 20 | 61 6e 64 20 73 65 6e 64 |choing, |and send|
|00004a60| 20 69 74 20 74 6f 20 74 | 68 65 20 70 72 6f 63 65 | it to t|he proce|
|00004a70| 73 73 20 72 75 6e 6e 69 | 6e 67 0a 69 6e 20 74 68 |ss runni|ng.in th|
|00004a80| 65 20 63 75 72 72 65 6e | 74 20 62 75 66 66 65 72 |e curren|t buffer|
|00004a90| 2e 20 41 20 6e 65 77 2d | 6c 69 6e 65 20 69 73 20 |. A new-|line is |
|00004aa0| 61 64 64 69 74 69 6f 6e | 61 6c 6c 79 20 73 65 6e |addition|ally sen|
|00004ab0| 74 2e 20 53 74 72 69 6e | 67 20 69 73 20 6e 6f 74 |t. Strin|g is not|
|00004ac0| 20 0a 73 61 76 65 64 20 | 6f 6e 20 63 6f 6d 69 6e | .saved |on comin|
|00004ad0| 74 20 69 6e 70 75 74 20 | 68 69 73 74 6f 72 79 20 |t input |history |
|00004ae0| 6c 69 73 74 2e 0a 53 65 | 63 75 72 69 74 79 20 62 |list..Se|curity b|
|00004af0| 75 67 3a 20 79 6f 75 72 | 20 73 74 72 69 6e 67 20 |ug: your| string |
|00004b00| 63 61 6e 20 73 74 69 6c | 6c 20 62 65 20 74 65 6d |can stil|l be tem|
|00004b10| 70 6f 72 61 72 69 6c 79 | 20 72 65 63 6f 76 65 72 |porarily| recover|
|00004b20| 65 64 20 77 69 74 68 0a | 5c 5c 5b 76 69 65 77 2d |ed with.|\\[view-|
|00004b30| 6c 6f 73 73 61 67 65 5d | 2e 22 20 22 50 22 5d 29 |lossage]|." "P"])|
|00004b40| 0a 28 64 65 66 76 61 72 | 20 63 6f 6d 69 6e 74 2d |.(defvar| comint-|
|00004b50| 69 6e 70 75 74 2d 63 68 | 75 6e 6b 2d 73 69 7a 65 |input-ch|unk-size|
|00004b60| 20 35 31 32 20 22 5c 0a | 2a 4c 6f 6e 67 20 69 6e | 512 "\.|*Long in|
|00004b70| 70 75 74 73 20 73 65 6e | 64 20 74 6f 20 63 6f 6d |puts sen|d to com|
|00004b80| 69 6e 74 20 70 72 6f 63 | 65 73 73 65 73 20 61 72 |int proc|esses ar|
|00004b90| 65 20 62 72 6f 6b 65 6e | 20 75 70 20 69 6e 74 6f |e broken| up into|
|00004ba0| 20 63 68 75 6e 6b 73 20 | 6f 66 20 74 68 69 73 20 | chunks |of this |
|00004bb0| 73 69 7a 65 2e 0a 49 66 | 20 79 6f 75 72 20 70 72 |size..If| your pr|
|00004bc0| 6f 63 65 73 73 20 69 73 | 20 63 68 6f 6b 69 6e 67 |ocess is| choking|
|00004bd0| 20 6f 6e 20 62 69 67 20 | 69 6e 70 75 74 73 2c 20 | on big |inputs, |
|00004be0| 74 72 79 20 6c 6f 77 65 | 72 69 6e 67 20 74 68 65 |try lowe|ring the|
|00004bf0| 20 76 61 6c 75 65 2e 22 | 29 0a 28 66 73 65 74 20 | value."|).(fset |
|00004c00| 27 63 6f 6d 69 6e 74 2d | 73 65 6e 64 2d 73 74 72 |'comint-|send-str|
|00004c10| 69 6e 67 20 23 5b 28 70 | 72 6f 63 20 73 74 72 29 |ing #[(p|roc str)|
|00004c20| 20 22 08 47 89 19 5c 6e | 5e 1b c4 0d 08 c6 0b 4f | ".G..\n|^......O|
|00004c30| 5c 22 88 0b 09 57 ad 99 | 0b 5c 6e 5c 5c 1e 07 c8 |\"...W..|.\n\\...|
|00004c40| 20 88 c4 0d 08 0b 09 0e | 07 5e 4f 5c 22 88 0e 07 | .......|.^O\"...|
|00004c50| 13 29 aa 62 2a 87 22 20 | 5b 73 74 72 20 6c 65 6e |.).b*." |[str len|
|00004c60| 20 63 6f 6d 69 6e 74 2d | 69 6e 70 75 74 2d 63 68 | comint-|input-ch|
|00004c70| 75 6e 6b 2d 73 69 7a 65 | 20 69 20 70 72 6f 63 65 |unk-size| i proce|
|00004c80| 73 73 2d 73 65 6e 64 2d | 73 74 72 69 6e 67 20 70 |ss-send-|string p|
|00004c90| 72 6f 63 20 30 20 6e 65 | 78 74 2d 69 20 61 63 63 |roc 0 ne|xt-i acc|
|00004ca0| 65 70 74 2d 70 72 6f 63 | 65 73 73 2d 6f 75 74 70 |ept-proc|ess-outp|
|00004cb0| 75 74 5d 20 37 20 22 5c | 0a 53 65 6e 64 20 50 52 |ut] 7 "\|.Send PR|
|00004cc0| 4f 43 45 53 53 20 74 68 | 65 20 63 6f 6e 74 65 6e |OCESS th|e conten|
|00004cd0| 74 73 20 6f 66 20 53 54 | 52 49 4e 47 20 61 73 20 |ts of ST|RING as |
|00004ce0| 69 6e 70 75 74 2e 0a 54 | 68 69 73 20 69 73 20 65 |input..T|his is e|
|00004cf0| 71 75 69 76 61 6c 65 6e | 74 20 74 6f 20 70 72 6f |quivalen|t to pro|
|00004d00| 63 65 73 73 2d 73 65 6e | 64 2d 73 74 72 69 6e 67 |cess-sen|d-string|
|00004d10| 2c 20 65 78 63 65 70 74 | 20 74 68 61 74 20 6c 6f |, except| that lo|
|00004d20| 6e 67 20 69 6e 70 75 74 | 20 73 74 72 69 6e 67 73 |ng input| strings|
|00004d30| 0a 61 72 65 20 62 72 6f | 6b 65 6e 20 75 70 20 69 |.are bro|ken up i|
|00004d40| 6e 74 6f 20 63 68 75 6e | 6b 73 20 6f 66 20 73 69 |nto chun|ks of si|
|00004d50| 7a 65 20 63 6f 6d 69 6e | 74 2d 69 6e 70 75 74 2d |ze comin|t-input-|
|00004d60| 63 68 75 6e 6b 2d 73 69 | 7a 65 2e 20 50 72 6f 63 |chunk-si|ze. Proc|
|00004d70| 65 73 73 65 73 0a 61 72 | 65 20 67 69 76 65 6e 20 |esses.ar|e given |
|00004d80| 61 20 63 68 61 6e 63 65 | 20 74 6f 20 6f 75 74 70 |a chance| to outp|
|00004d90| 75 74 20 62 65 74 77 65 | 65 6e 20 63 68 75 6e 6b |ut betwe|en chunk|
|00004da0| 73 2e 20 54 68 69 73 20 | 63 61 6e 20 68 65 6c 70 |s. This |can help|
|00004db0| 20 70 72 65 76 65 6e 74 | 20 70 72 6f 63 65 73 73 | prevent| process|
|00004dc0| 65 73 0a 66 72 6f 6d 20 | 68 61 6e 67 69 6e 67 20 |es.from |hanging |
|00004dd0| 77 68 65 6e 20 79 6f 75 | 20 73 65 6e 64 20 74 68 |when you| send th|
|00004de0| 65 6d 20 6c 6f 6e 67 20 | 69 6e 70 75 74 73 20 6f |em long |inputs o|
|00004df0| 6e 20 73 6f 6d 65 20 4f | 53 27 73 2e 22 5d 29 0a |n some O|S's."]).|
|00004e00| 28 66 73 65 74 20 27 63 | 6f 6d 69 6e 74 2d 73 65 |(fset 'c|omint-se|
|00004e10| 6e 64 2d 72 65 67 69 6f | 6e 20 23 5b 28 70 72 6f |nd-regio|n #[(pro|
|00004e20| 63 20 73 74 61 72 74 20 | 65 6e 64 29 20 22 c0 09 |c start |end) "..|
|00004e30| 5c 6e 0b 7b 5c 22 87 22 | 20 5b 63 6f 6d 69 6e 74 |\n.{\"."| [comint|
|00004e40| 2d 73 65 6e 64 2d 73 74 | 72 69 6e 67 20 70 72 6f |-send-st|ring pro|
|00004e50| 63 20 73 74 61 72 74 20 | 65 6e 64 5d 20 34 20 22 |c start |end] 4 "|
|00004e60| 5c 0a 53 65 6e 64 73 20 | 74 6f 20 50 52 4f 43 20 |\.Sends |to PROC |
|00004e70| 74 68 65 20 72 65 67 69 | 6f 6e 20 64 65 6c 69 6d |the regi|on delim|
|00004e80| 69 74 65 64 20 62 79 20 | 53 54 41 52 54 20 61 6e |ited by |START an|
|00004e90| 64 20 45 4e 44 2e 0a 54 | 68 69 73 20 69 73 20 61 |d END..T|his is a|
|00004ea0| 20 72 65 70 6c 61 63 65 | 6d 65 6e 74 20 66 6f 72 | replace|ment for|
|00004eb0| 20 70 72 6f 63 65 73 73 | 2d 73 65 6e 64 2d 72 65 | process|-send-re|
|00004ec0| 67 69 6f 6e 20 74 68 61 | 74 20 74 72 69 65 73 20 |gion tha|t tries |
|00004ed0| 74 6f 20 6b 65 65 70 0a | 79 6f 75 72 20 70 72 6f |to keep.|your pro|
|00004ee0| 63 65 73 73 20 66 72 6f | 6d 20 68 61 6e 67 69 6e |cess fro|m hangin|
|00004ef0| 67 20 6f 6e 20 6c 6f 6e | 67 20 69 6e 70 75 74 73 |g on lon|g inputs|
|00004f00| 2e 20 53 65 65 20 63 6f | 6d 69 6e 74 2d 73 65 6e |. See co|mint-sen|
|00004f10| 64 2d 73 74 72 69 6e 67 | 2e 22 5d 29 0a 28 66 73 |d-string|."]).(fs|
|00004f20| 65 74 20 27 63 6f 6d 69 | 6e 74 2d 6b 69 6c 6c 2d |et 'comi|nt-kill-|
|00004f30| 6f 75 74 70 75 74 20 23 | 5b 6e 69 6c 20 22 c0 20 |output #|[nil ". |
|00004f40| 19 c2 0b 09 5c 22 88 09 | 62 88 c4 63 88 09 60 c5 |....\"..|b..c..`.|
|00004f50| 93 29 87 22 20 5b 63 6f | 6d 69 6e 74 2d 6d 61 72 |.)." [co|mint-mar|
|00004f60| 6b 20 70 6d 61 72 6b 20 | 6b 69 6c 6c 2d 72 65 67 |k pmark |kill-reg|
|00004f70| 69 6f 6e 20 63 6f 6d 69 | 6e 74 2d 6c 61 73 74 2d |ion comi|nt-last-|
|00004f80| 69 6e 70 75 74 2d 65 6e | 64 20 22 2a 2a 2a 20 6f |input-en|d "*** o|
|00004f90| 75 74 70 75 74 20 66 6c | 75 73 68 65 64 20 2a 2a |utput fl|ushed **|
|00004fa0| 2a 5c 6e 22 20 6e 69 6c | 5d 20 33 20 22 5c 0a 4b |*\n" nil|] 3 "\.K|
|00004fb0| 69 6c 6c 20 61 6c 6c 20 | 6f 75 74 70 75 74 20 66 |ill all |output f|
|00004fc0| 72 6f 6d 20 69 6e 74 65 | 72 70 72 65 74 65 72 20 |rom inte|rpreter |
|00004fd0| 73 69 6e 63 65 20 6c 61 | 73 74 20 69 6e 70 75 74 |since la|st input|
|00004fe0| 2e 22 20 6e 69 6c 5d 29 | 0a 28 66 73 65 74 20 27 |." nil])|.(fset '|
|00004ff0| 63 6f 6d 69 6e 74 2d 73 | 68 6f 77 2d 6f 75 74 70 |comint-s|how-outp|
|00005000| 75 74 20 23 5b 6e 69 6c | 20 22 08 62 88 c1 20 88 |ut #[nil| ".b.. .|
|00005010| c2 79 88 c3 c4 20 60 5c | 22 88 c5 7f 87 22 20 5b |.y... `\|"...." [|
|00005020| 63 6f 6d 69 6e 74 2d 6c | 61 73 74 2d 69 6e 70 75 |comint-l|ast-inpu|
|00005030| 74 2d 65 6e 64 20 62 61 | 63 6b 77 61 72 64 2d 63 |t-end ba|ckward-c|
|00005040| 68 61 72 20 30 20 73 65 | 74 2d 77 69 6e 64 6f 77 |har 0 se|t-window|
|00005050| 2d 73 74 61 72 74 20 73 | 65 6c 65 63 74 65 64 2d |-start s|elected-|
|00005060| 77 69 6e 64 6f 77 20 6e | 69 6c 5d 20 33 20 22 5c |window n|il] 3 "\|
|00005070| 0a 44 69 73 70 6c 61 79 | 20 73 74 61 72 74 20 6f |.Display| start o|
|00005080| 66 20 74 68 69 73 20 62 | 61 74 63 68 20 6f 66 20 |f this b|atch of |
|00005090| 69 6e 74 65 72 70 72 65 | 74 65 72 20 6f 75 74 70 |interpre|ter outp|
|000050a0| 75 74 20 61 74 20 74 6f | 70 20 6f 66 20 77 69 6e |ut at to|p of win|
|000050b0| 64 6f 77 2e 0a 41 6c 73 | 6f 20 70 75 74 20 63 75 |dow..Als|o put cu|
|000050c0| 72 73 6f 72 20 74 68 65 | 72 65 2e 22 20 6e 69 6c |rsor the|re." nil|
|000050d0| 5d 29 0a 28 66 73 65 74 | 20 27 63 6f 6d 69 6e 74 |]).(fset| 'comint|
|000050e0| 2d 69 6e 74 65 72 72 75 | 70 74 2d 73 75 62 6a 6f |-interru|pt-subjo|
|000050f0| 62 20 23 5b 6e 69 6c 20 | 22 c0 c1 5c 6e 5c 22 87 |b #[nil |"..\n\".|
|00005100| 22 20 5b 69 6e 74 65 72 | 72 75 70 74 2d 70 72 6f |" [inter|rupt-pro|
|00005110| 63 65 73 73 20 6e 69 6c | 20 63 6f 6d 69 6e 74 2d |cess nil| comint-|
|00005120| 70 74 79 70 5d 20 33 20 | 22 5c 0a 49 6e 74 65 72 |ptyp] 3 |"\.Inter|
|00005130| 72 75 70 74 20 74 68 65 | 20 63 75 72 72 65 6e 74 |rupt the| current|
|00005140| 20 73 75 62 6a 6f 62 2e | 22 20 6e 69 6c 5d 29 0a | subjob.|" nil]).|
|00005150| 28 66 73 65 74 20 27 63 | 6f 6d 69 6e 74 2d 6b 69 |(fset 'c|omint-ki|
|00005160| 6c 6c 2d 73 75 62 6a 6f | 62 20 23 5b 6e 69 6c 20 |ll-subjo|b #[nil |
|00005170| 22 c0 c1 5c 6e 5c 22 87 | 22 20 5b 6b 69 6c 6c 2d |"..\n\".|" [kill-|
|00005180| 70 72 6f 63 65 73 73 20 | 6e 69 6c 20 63 6f 6d 69 |process |nil comi|
|00005190| 6e 74 2d 70 74 79 70 5d | 20 33 20 22 5c 0a 53 65 |nt-ptyp]| 3 "\.Se|
|000051a0| 6e 64 20 6b 69 6c 6c 20 | 73 69 67 6e 61 6c 20 74 |nd kill |signal t|
|000051b0| 6f 20 74 68 65 20 63 75 | 72 72 65 6e 74 20 73 75 |o the cu|rrent su|
|000051c0| 62 6a 6f 62 2e 22 20 6e | 69 6c 5d 29 0a 28 66 73 |bjob." n|il]).(fs|
|000051d0| 65 74 20 27 63 6f 6d 69 | 6e 74 2d 71 75 69 74 2d |et 'comi|nt-quit-|
|000051e0| 73 75 62 6a 6f 62 20 23 | 5b 6e 69 6c 20 22 c0 c1 |subjob #|[nil "..|
|000051f0| 5c 6e 5c 22 87 22 20 5b | 71 75 69 74 2d 70 72 6f |\n\"." [|quit-pro|
|00005200| 63 65 73 73 20 6e 69 6c | 20 63 6f 6d 69 6e 74 2d |cess nil| comint-|
|00005210| 70 74 79 70 5d 20 33 20 | 22 5c 0a 53 65 6e 64 20 |ptyp] 3 |"\.Send |
|00005220| 71 75 69 74 20 73 69 67 | 6e 61 6c 20 74 6f 20 74 |quit sig|nal to t|
|00005230| 68 65 20 63 75 72 72 65 | 6e 74 20 73 75 62 6a 6f |he curre|nt subjo|
|00005240| 62 2e 22 20 6e 69 6c 5d | 29 0a 28 66 73 65 74 20 |b." nil]|).(fset |
|00005250| 27 63 6f 6d 69 6e 74 2d | 73 74 6f 70 2d 73 75 62 |'comint-|stop-sub|
|00005260| 6a 6f 62 20 23 5b 6e 69 | 6c 20 22 c0 c1 5c 6e 5c |job #[ni|l "..\n\|
|00005270| 22 87 22 20 5b 73 74 6f | 70 2d 70 72 6f 63 65 73 |"." [sto|p-proces|
|00005280| 73 20 6e 69 6c 20 63 6f | 6d 69 6e 74 2d 70 74 79 |s nil co|mint-pty|
|00005290| 70 5d 20 33 20 22 5c 0a | 53 74 6f 70 20 74 68 65 |p] 3 "\.|Stop the|
|000052a0| 20 63 75 72 72 65 6e 74 | 20 73 75 62 6a 6f 62 2e | current| subjob.|
|000052b0| 0a 57 41 52 4e 49 4e 47 | 3a 20 69 66 20 74 68 65 |.WARNING|: if the|
|000052c0| 72 65 20 69 73 20 6e 6f | 20 63 75 72 72 65 6e 74 |re is no| current|
|000052d0| 20 73 75 62 6a 6f 62 2c | 20 79 6f 75 20 63 61 6e | subjob,| you can|
|000052e0| 20 65 6e 64 20 75 70 20 | 73 75 73 70 65 6e 64 69 | end up |suspendi|
|000052f0| 6e 67 0a 74 68 65 20 74 | 6f 70 2d 6c 65 76 65 6c |ng.the t|op-level|
|00005300| 20 70 72 6f 63 65 73 73 | 20 72 75 6e 6e 69 6e 67 | process| running|
|00005310| 20 69 6e 20 74 68 65 20 | 62 75 66 66 65 72 2e 20 | in the |buffer. |
|00005320| 49 66 20 79 6f 75 20 61 | 63 63 69 64 65 6e 74 61 |If you a|ccidenta|
|00005330| 6c 6c 79 20 64 6f 0a 74 | 68 69 73 2c 20 75 73 65 |lly do.t|his, use|
|00005340| 20 5c 5c 5b 63 6f 6d 69 | 6e 74 2d 63 6f 6e 74 69 | \\[comi|nt-conti|
|00005350| 6e 75 65 2d 73 75 62 6a | 6f 62 5d 20 74 6f 20 72 |nue-subj|ob] to r|
|00005360| 65 73 75 6d 65 20 74 68 | 65 20 70 72 6f 63 65 73 |esume th|e proces|
|00005370| 73 2e 20 28 54 68 69 73 | 0a 69 73 20 6e 6f 74 20 |s. (This|.is not |
|00005380| 61 20 70 72 6f 62 6c 65 | 6d 20 77 69 74 68 20 6d |a proble|m with m|
|00005390| 6f 73 74 20 73 68 65 6c | 6c 73 2c 20 73 69 6e 63 |ost shel|ls, sinc|
|000053a0| 65 20 74 68 65 79 20 69 | 67 6e 6f 72 65 20 74 68 |e they i|gnore th|
|000053b0| 69 73 20 73 69 67 6e 61 | 6c 2e 29 22 20 6e 69 6c |is signa|l.)" nil|
|000053c0| 5d 29 0a 28 66 73 65 74 | 20 27 63 6f 6d 69 6e 74 |]).(fset| 'comint|
|000053d0| 2d 63 6f 6e 74 69 6e 75 | 65 2d 73 75 62 6a 6f 62 |-continu|e-subjob|
|000053e0| 20 23 5b 6e 69 6c 20 22 | c0 c1 5c 6e 5c 22 87 22 | #[nil "|..\n\"."|
|000053f0| 20 5b 63 6f 6e 74 69 6e | 75 65 2d 70 72 6f 63 65 | [contin|ue-proce|
|00005400| 73 73 20 6e 69 6c 20 63 | 6f 6d 69 6e 74 2d 70 74 |ss nil c|omint-pt|
|00005410| 79 70 5d 20 33 20 22 5c | 0a 53 65 6e 64 20 43 4f |yp] 3 "\|.Send CO|
|00005420| 4e 54 20 73 69 67 6e 61 | 6c 20 74 6f 20 70 72 6f |NT signa|l to pro|
|00005430| 63 65 73 73 20 62 75 66 | 66 65 72 27 73 20 70 72 |cess buf|fer's pr|
|00005440| 6f 63 65 73 73 20 67 72 | 6f 75 70 2e 0a 55 73 65 |ocess gr|oup..Use|
|00005450| 66 75 6c 20 69 66 20 79 | 6f 75 20 61 63 63 69 64 |ful if y|ou accid|
|00005460| 65 6e 74 61 6c 6c 79 20 | 73 75 73 70 65 6e 64 20 |entally |suspend |
|00005470| 74 68 65 20 74 6f 70 2d | 6c 65 76 65 6c 20 70 72 |the top-|level pr|
|00005480| 6f 63 65 73 73 2e 22 20 | 6e 69 6c 5d 29 0a 28 66 |ocess." |nil]).(f|
|00005490| 73 65 74 20 27 63 6f 6d | 69 6e 74 2d 6b 69 6c 6c |set 'com|int-kill|
|000054a0| 2d 69 6e 70 75 74 20 23 | 5b 6e 69 6c 20 22 c0 20 |-input #|[nil ". |
|000054b0| 19 c2 09 21 1b 60 0b 56 | ad 84 c4 09 60 5c 22 2a |...!.`.V|....`\"*|
|000054c0| 87 22 20 5b 63 6f 6d 69 | 6e 74 2d 6d 61 72 6b 20 |." [comi|nt-mark |
|000054d0| 70 6d 61 72 6b 20 6d 61 | 72 6b 65 72 2d 70 6f 73 |pmark ma|rker-pos|
|000054e0| 69 74 69 6f 6e 20 70 2d | 70 6f 73 20 6b 69 6c 6c |ition p-|pos kill|
|000054f0| 2d 72 65 67 69 6f 6e 5d | 20 33 20 22 5c 0a 4b 69 |-region]| 3 "\.Ki|
|00005500| 6c 6c 20 61 6c 6c 20 74 | 65 78 74 20 66 72 6f 6d |ll all t|ext from|
|00005510| 20 6c 61 73 74 20 73 74 | 75 66 66 20 6f 75 74 70 | last st|uff outp|
|00005520| 75 74 20 62 79 20 69 6e | 74 65 72 70 72 65 74 65 |ut by in|terprete|
|00005530| 72 20 74 6f 20 70 6f 69 | 6e 74 2e 22 20 6e 69 6c |r to poi|nt." nil|
|00005540| 5d 29 0a 28 66 73 65 74 | 20 27 63 6f 6d 69 6e 74 |]).(fset| 'comint|
|00005550| 2d 64 65 6c 63 68 61 72 | 2d 6f 72 2d 6d 61 79 62 |-delchar|-or-mayb|
|00005560| 65 2d 65 6f 66 20 23 5b | 28 61 72 67 29 20 22 6d |e-eof #[|(arg) "m|
|00005570| ab 83 c0 20 87 c1 5c 6e | 21 87 22 20 5b 70 72 6f |... ..\n|!." [pro|
|00005580| 63 65 73 73 2d 73 65 6e | 64 2d 65 6f 66 20 64 65 |cess-sen|d-eof de|
|00005590| 6c 65 74 65 2d 63 68 61 | 72 20 61 72 67 5d 20 32 |lete-cha|r arg] 2|
|000055a0| 20 22 5c 0a 44 65 6c 65 | 74 65 20 41 52 47 20 63 | "\.Dele|te ARG c|
|000055b0| 68 61 72 61 63 74 65 72 | 73 20 66 6f 72 77 61 72 |haracter|s forwar|
|000055c0| 64 2c 20 6f 72 20 73 65 | 6e 64 20 61 6e 20 45 4f |d, or se|nd an EO|
|000055d0| 46 20 74 6f 20 70 72 6f | 63 65 73 73 20 69 66 20 |F to pro|cess if |
|000055e0| 61 74 20 65 6e 64 20 6f | 66 20 62 75 66 66 65 72 |at end o|f buffer|
|000055f0| 2e 22 20 22 70 22 5d 29 | 0a 28 66 73 65 74 20 27 |." "p"])|.(fset '|
|00005600| 63 6f 6d 69 6e 74 2d 73 | 65 6e 64 2d 65 6f 66 20 |comint-s|end-eof |
|00005610| 23 5b 6e 69 6c 20 22 c0 | 20 87 22 20 5b 70 72 6f |#[nil ".| ." [pro|
|00005620| 63 65 73 73 2d 73 65 6e | 64 2d 65 6f 66 5d 20 31 |cess-sen|d-eof] 1|
|00005630| 20 22 5c 0a 53 65 6e 64 | 20 61 6e 20 45 4f 46 20 | "\.Send| an EOF |
|00005640| 74 6f 20 74 68 65 20 70 | 72 6f 63 65 73 73 20 69 |to the p|rocess i|
|00005650| 6e 20 74 68 65 20 63 75 | 72 72 65 6e 74 20 62 75 |n the cu|rrent bu|
|00005660| 66 66 65 72 2e 22 20 6e | 69 6c 5d 29 0a 28 62 79 |ffer." n|il]).(by|
|00005670| 74 65 2d 63 6f 64 65 20 | 22 c0 c1 4d 88 c2 c3 4d |te-code |"..M...M|
|00005680| 87 22 20 5b 63 6f 6d 69 | 6e 74 2d 73 6f 75 72 63 |." [comi|nt-sourc|
|00005690| 65 2d 64 65 66 61 75 6c | 74 20 23 5b 28 70 72 65 |e-defaul|t #[(pre|
|000056a0| 76 69 6f 75 73 2d 64 69 | 72 2f 66 69 6c 65 20 73 |vious-di|r/file s|
|000056b0| 6f 75 72 63 65 2d 6d 6f | 64 65 73 29 20 22 08 ab |ource-mo|des) "..|
|000056c0| 8d 09 5c 6e 3e ab 88 c3 | 08 21 c4 08 21 42 87 0d |..\n>...|.!..!B..|
|000056d0| ae 84 0e 06 c7 42 87 22 | 20 5b 62 75 66 66 65 72 |.....B."| [buffer|
|000056e0| 2d 66 69 6c 65 2d 6e 61 | 6d 65 20 6d 61 6a 6f 72 |-file-na|me major|
|000056f0| 2d 6d 6f 64 65 20 73 6f | 75 72 63 65 2d 6d 6f 64 |-mode so|urce-mod|
|00005700| 65 73 20 66 69 6c 65 2d | 6e 61 6d 65 2d 64 69 72 |es file-|name-dir|
|00005710| 65 63 74 6f 72 79 20 66 | 69 6c 65 2d 6e 61 6d 65 |ectory f|ile-name|
|00005720| 2d 6e 6f 6e 64 69 72 65 | 63 74 6f 72 79 20 70 72 |-nondire|ctory pr|
|00005730| 65 76 69 6f 75 73 2d 64 | 69 72 2f 66 69 6c 65 20 |evious-d|ir/file |
|00005740| 64 65 66 61 75 6c 74 2d | 64 69 72 65 63 74 6f 72 |default-|director|
|00005750| 79 20 6e 69 6c 5d 20 33 | 5d 20 63 6f 6d 69 6e 74 |y nil] 3|] comint|
|00005760| 2d 63 68 65 63 6b 2d 73 | 6f 75 72 63 65 20 23 5b |-check-s|ource #[|
|00005770| 28 66 6e 61 6d 65 29 20 | 22 c0 09 21 89 1a ad 9c |(fname) |"..!....|
|00005780| c3 5c 6e 21 ad 97 c4 c5 | c6 c7 5c 6e 21 5c 22 21 |.\n!....|..\n!\"!|
|00005790| ad 8d 70 1e 08 5c 6e 71 | 88 c9 20 88 0e 08 71 29 |..p..\nq|.. ...q)|
|000057a0| 29 87 22 20 5b 67 65 74 | 2d 66 69 6c 65 2d 62 75 |)." [get|-file-bu|
|000057b0| 66 66 65 72 20 66 6e 61 | 6d 65 20 62 75 66 66 20 |ffer fna|me buff |
|000057c0| 62 75 66 66 65 72 2d 6d | 6f 64 69 66 69 65 64 2d |buffer-m|odified-|
|000057d0| 70 20 79 2d 6f 72 2d 6e | 2d 70 20 66 6f 72 6d 61 |p y-or-n|-p forma|
|000057e0| 74 20 22 53 61 76 65 20 | 62 75 66 66 65 72 20 25 |t "Save |buffer %|
|000057f0| 73 20 66 69 72 73 74 3f | 20 22 20 62 75 66 66 65 |s first?| " buffe|
|00005800| 72 2d 6e 61 6d 65 20 6f | 6c 64 2d 62 75 66 66 65 |r-name o|ld-buffe|
|00005810| 72 20 73 61 76 65 2d 62 | 75 66 66 65 72 5d 20 36 |r save-b|uffer] 6|
|00005820| 5d 5d 20 32 29 0a 28 66 | 73 65 74 20 27 63 6f 6d |]] 2).(f|set 'com|
|00005830| 69 6e 74 2d 65 78 74 72 | 61 63 74 2d 73 74 72 69 |int-extr|act-stri|
|00005840| 6e 67 20 23 5b 6e 69 6c | 20 22 8a 60 18 c1 79 88 |ng #[nil| ".`..y.|
|00005850| 60 1a c3 7f 88 60 1c 08 | 62 88 c5 c6 5c 6e c7 23 |`....`..|b...\n.#|
|00005860| ad 82 60 54 1e 08 08 62 | 88 c9 c6 0c c7 23 ad 82 |..`T...b|.....#..|
|00005870| 60 53 1e 5c 6e 0e 08 ad | 89 0e 5c 6e ad 85 0e 08 |`S.\n...|..\n....|
|00005880| 0e 5c 6e 7b 2e 06 87 22 | 20 5b 70 6f 69 6e 74 20 |.\n{..."| [point |
|00005890| 30 20 62 6f 6c 20 6e 69 | 6c 20 65 6f 6c 20 73 65 |0 bol ni|l eol se|
|000058a0| 61 72 63 68 2d 62 61 63 | 6b 77 61 72 64 20 22 5c |arch-bac|kward "\|
|000058b0| 22 22 20 74 20 73 74 61 | 72 74 20 73 65 61 72 63 |"" t sta|rt searc|
|000058c0| 68 2d 66 6f 72 77 61 72 | 64 20 65 6e 64 5d 20 34 |h-forwar|d end] 4|
|000058d0| 20 22 5c 0a 52 65 74 75 | 72 6e 73 20 73 74 72 69 | "\.Retu|rns stri|
|000058e0| 6e 67 20 61 72 6f 75 6e | 64 20 70 6f 69 6e 74 20 |ng aroun|d point |
|000058f0| 74 68 61 74 20 73 74 61 | 72 74 73 20 74 68 65 20 |that sta|rts the |
|00005900| 63 75 72 72 65 6e 74 20 | 6c 69 6e 65 20 6f 72 20 |current |line or |
|00005910| 6e 69 6c 2e 22 5d 29 0a | 28 62 79 74 65 2d 63 6f |nil."]).|(byte-co|
|00005920| 64 65 20 22 c0 c1 4d 88 | c2 c3 4d 88 c4 c5 21 ac |de "..M.|..M...!.|
|00005930| 82 c6 15 c0 87 22 20 5b | 63 6f 6d 69 6e 74 2d 67 |....." [|comint-g|
|00005940| 65 74 2d 73 6f 75 72 63 | 65 20 23 5b 28 70 72 6f |et-sourc|e #[(pro|
|00005950| 6d 70 74 20 70 72 65 76 | 2d 64 69 72 2f 66 69 6c |mpt prev|-dir/fil|
|00005960| 65 20 73 6f 75 72 63 65 | 2d 6d 6f 64 65 73 20 6d |e source|-modes m|
|00005970| 75 73 74 6d 61 74 63 68 | 2d 70 29 20 22 c0 09 5c |ustmatch|-p) "..\|
|00005980| 6e 5c 22 1b c4 20 89 1d | ad 8a c6 c7 c8 8f ad 84 |n\".. ..|........|
|00005990| c9 0d 21 3f 89 1e 5c 6e | ab 85 cb 0d 21 aa 82 0b |..!?..\n|....!...|
|000059a0| 40 1e 0c 0e 5c 6e ab 85 | cd 0d 21 aa 82 0b 41 1e |@...\n..|..!...A.|
|000059b0| 0e cf 0e 0e ab 89 d0 d1 | 0e 12 0e 0e 23 aa 82 0e |........|....#...|
|000059c0| 12 0e 0c 89 0e 0e 50 0e | 13 24 1e 14 d5 d6 0e 14 |......P.|.$......|
|000059d0| 21 21 2e 06 43 87 22 20 | 5b 63 6f 6d 69 6e 74 2d |!!..C." |[comint-|
|000059e0| 73 6f 75 72 63 65 2d 64 | 65 66 61 75 6c 74 20 70 |source-d|efault p|
|000059f0| 72 65 76 2d 64 69 72 2f | 66 69 6c 65 20 73 6f 75 |rev-dir/|file sou|
|00005a00| 72 63 65 2d 6d 6f 64 65 | 73 20 64 65 66 20 63 6f |rce-mode|s def co|
|00005a10| 6d 69 6e 74 2d 65 78 74 | 72 61 63 74 2d 73 74 72 |mint-ext|ract-str|
|00005a20| 69 6e 67 20 73 74 72 69 | 6e 67 66 69 6c 65 20 6e |ing stri|ngfile n|
|00005a30| 69 6c 20 28 66 69 6c 65 | 2d 65 78 69 73 74 73 2d |il (file|-exists-|
|00005a40| 70 20 73 74 72 69 6e 67 | 66 69 6c 65 29 20 28 28 |p string|file) ((|
|00005a50| 65 72 72 6f 72 29 29 20 | 66 69 6c 65 2d 64 69 72 |error)) |file-dir|
|00005a60| 65 63 74 6f 72 79 2d 70 | 20 73 66 69 6c 65 2d 70 |ectory-p| sfile-p|
|00005a70| 20 66 69 6c 65 2d 6e 61 | 6d 65 2d 64 69 72 65 63 | file-na|me-direc|
|00005a80| 74 6f 72 79 20 64 65 66 | 64 69 72 20 66 69 6c 65 |tory def|dir file|
|00005a90| 2d 6e 61 6d 65 2d 6e 6f | 6e 64 69 72 65 63 74 6f |-name-no|ndirecto|
|00005aa0| 72 79 20 64 65 66 66 69 | 6c 65 20 72 65 61 64 2d |ry deffi|le read-|
|00005ab0| 66 69 6c 65 2d 6e 61 6d | 65 20 66 6f 72 6d 61 74 |file-nam|e format|
|00005ac0| 20 22 25 73 28 64 65 66 | 61 75 6c 74 20 25 73 29 | "%s(def|ault %s)|
|00005ad0| 20 22 20 70 72 6f 6d 70 | 74 20 6d 75 73 74 6d 61 | " promp|t mustma|
|00005ae0| 74 63 68 2d 70 20 61 6e | 73 20 65 78 70 61 6e 64 |tch-p an|s expand|
|00005af0| 2d 66 69 6c 65 2d 6e 61 | 6d 65 20 73 75 62 73 74 |-file-na|me subst|
|00005b00| 69 74 75 74 65 2d 69 6e | 2d 66 69 6c 65 2d 6e 61 |itute-in|-file-na|
|00005b10| 6d 65 5d 20 36 5d 20 63 | 6f 6d 69 6e 74 2d 70 72 |me] 6] c|omint-pr|
|00005b20| 6f 63 2d 71 75 65 72 79 | 20 23 5b 28 70 72 6f 63 |oc-query| #[(proc|
|00005b30| 20 73 74 72 29 20 22 c0 | 09 21 1a c3 09 21 1c c5 | str) ".|.!...!..|
|00005b40| 5c 6e 21 88 5c 6e 71 88 | c6 5c 6e 21 c7 0c 21 1e |\n!.\nq.|.\n!..!.|
|00005b50| 08 1e 09 ca 09 0e 0b 5c | 22 88 cc 09 21 88 cd 0e |.......\|"...!...|
|00005b60| 08 0e 09 5c 22 3f ad a5 | ce 0e 09 21 1e 0f d0 0e |...\"?..|...!....|
|00005b70| 09 0c 5c 22 88 d1 d2 21 | 88 cd 0e 0f 0e 09 5c 22 |..\"...!|......\"|
|00005b80| ac 86 d3 0e 0f 21 aa 86 | d0 0e 09 0e 0f 5c 22 29 |.....!..|.....\")|
|00005b90| 2c 87 22 20 5b 70 72 6f | 63 65 73 73 2d 62 75 66 |,." [pro|cess-buf|
|00005ba0| 66 65 72 20 70 72 6f 63 | 20 70 72 6f 63 2d 62 75 |fer proc| proc-bu|
|00005bb0| 66 20 70 72 6f 63 65 73 | 73 2d 6d 61 72 6b 20 70 |f proces|s-mark p|
|00005bc0| 72 6f 63 2d 6d 61 72 6b | 20 64 69 73 70 6c 61 79 |roc-mark| display|
|00005bd0| 2d 62 75 66 66 65 72 20 | 67 65 74 2d 62 75 66 66 |-buffer |get-buff|
|00005be0| 65 72 2d 77 69 6e 64 6f | 77 20 6d 61 72 6b 65 72 |er-windo|w marker|
|00005bf0| 2d 70 6f 73 69 74 69 6f | 6e 20 70 72 6f 63 2d 70 |-positio|n proc-p|
|00005c00| 74 20 70 72 6f 63 2d 77 | 69 6e 20 63 6f 6d 69 6e |t proc-w|in comin|
|00005c10| 74 2d 73 65 6e 64 2d 73 | 74 72 69 6e 67 20 73 74 |t-send-s|tring st|
|00005c20| 72 20 61 63 63 65 70 74 | 2d 70 72 6f 63 65 73 73 |r accept|-process|
|00005c30| 2d 6f 75 74 70 75 74 20 | 70 6f 73 2d 76 69 73 69 |-output |pos-visi|
|00005c40| 62 6c 65 2d 69 6e 2d 77 | 69 6e 64 6f 77 2d 70 20 |ble-in-w|indow-p |
|00005c50| 77 69 6e 64 6f 77 2d 70 | 6f 69 6e 74 20 6f 70 6f |window-p|oint opo|
|00005c60| 69 6e 74 20 73 65 74 2d | 77 69 6e 64 6f 77 2d 70 |int set-|window-p|
|00005c70| 6f 69 6e 74 20 73 69 74 | 2d 66 6f 72 20 30 20 70 |oint sit|-for 0 p|
|00005c80| 75 73 68 2d 6d 61 72 6b | 5d 20 33 5d 20 62 6f 75 |ush-mark|] 3] bou|
|00005c90| 6e 64 70 20 63 6f 6d 69 | 6e 74 2d 6d 61 74 63 68 |ndp comi|nt-match|
|00005ca0| 2d 70 61 72 74 69 61 6c | 2d 70 61 74 68 6e 61 6d |-partial|-pathnam|
|00005cb0| 65 2d 63 68 61 72 73 20 | 22 5e 5d 5b 3c 3e 7b 7d |e-chars |"^][<>{}|
|00005cc0| 28 29 21 23 24 5e 26 2a | 5c 5c 7c 3f 60 27 5e 20 |()!#$^&*|\\|?`'^ |
|00005cd0| 09 5c 6e 0d 08 22 5d 20 | 32 29 0a 28 66 73 65 74 |.\n.."] |2).(fset|
|00005ce0| 20 27 63 6f 6d 69 6e 74 | 2d 6d 61 74 63 68 2d 70 | 'comint|-match-p|
|00005cf0| 61 72 74 69 61 6c 2d 70 | 61 74 68 6e 61 6d 65 20 |artial-p|athname |
|00005d00| 23 5b 6e 69 6c 20 22 8a | c0 c1 78 88 60 c1 1a 1b |#[nil ".|..x.`...|
|00005d10| 0c c1 78 88 60 12 0b 5c | 6e 55 ab 84 c5 c6 21 88 |..x.`..\|nU....!.|
|00005d20| c7 c8 0c c9 51 21 88 0b | 62 88 ca 5c 6e 0b 7b 21 |....Q!..|b..\n.{!|
|00005d30| 2b 87 22 20 5b 22 20 09 | 5c 6e 0d 22 20 6e 69 6c |+." [" .|\n." nil|
|00005d40| 20 70 32 20 70 20 63 6f | 6d 69 6e 74 2d 6d 61 74 | p2 p co|mint-mat|
|00005d50| 63 68 2d 70 61 72 74 69 | 61 6c 2d 70 61 74 68 6e |ch-parti|al-pathn|
|00005d60| 61 6d 65 2d 63 68 61 72 | 73 20 65 72 72 6f 72 20 |ame-char|s error |
|00005d70| 22 22 20 6c 6f 6f 6b 69 | 6e 67 2d 61 74 20 22 5b |"" looki|ng-at "[|
|00005d80| 22 20 22 5d 2b 22 20 73 | 75 62 73 74 69 74 75 74 |" "]+" s|ubstitut|
|00005d90| 65 2d 69 6e 2d 66 69 6c | 65 2d 6e 61 6d 65 5d 20 |e-in-fil|e-name] |
|00005da0| 34 20 22 5c 0a 52 65 74 | 75 72 6e 73 20 74 68 65 |4 "\.Ret|urns the|
|00005db0| 20 66 69 6c 65 6e 61 6d | 65 20 61 74 20 70 6f 69 | filenam|e at poi|
|00005dc0| 6e 74 20 6f 72 20 63 61 | 75 73 65 73 20 61 6e 20 |nt or ca|uses an |
|00005dd0| 65 72 72 6f 72 2e 22 5d | 29 0a 28 66 73 65 74 20 |error."]|).(fset |
|00005de0| 27 63 6f 6d 69 6e 74 2d | 72 65 70 6c 61 63 65 2d |'comint-|replace-|
|00005df0| 62 79 2d 65 78 70 61 6e | 64 65 64 2d 66 69 6c 65 |by-expan|ded-file|
|00005e00| 6e 61 6d 65 20 23 5b 6e | 69 6c 20 22 c0 20 19 c2 |name #[n|il ". ..|
|00005e10| 09 21 1b c4 09 21 1d c6 | 0d 0b ae 82 0e 07 5c 22 |.!...!..|......\"|
|00005e20| 89 1e 08 ac 89 c9 ca 09 | 5c 22 88 cb 20 aa 98 0e |........|\".. ...|
|00005e30| 08 cc 3d ab 85 c9 cd 21 | aa 8d ce 94 ce 95 7c 88 |..=....!|......|.|
|00005e40| cf 0b 0e 08 50 21 63 2c | 87 22 20 5b 63 6f 6d 69 |....P!c,|." [comi|
|00005e50| 6e 74 2d 6d 61 74 63 68 | 2d 70 61 72 74 69 61 6c |nt-match|-partial|
|00005e60| 2d 70 61 74 68 6e 61 6d | 65 20 70 61 74 68 6e 61 |-pathnam|e pathna|
|00005e70| 6d 65 20 66 69 6c 65 2d | 6e 61 6d 65 2d 64 69 72 |me file-|name-dir|
|00005e80| 65 63 74 6f 72 79 20 70 | 61 74 68 64 69 72 20 66 |ectory p|athdir f|
|00005e90| 69 6c 65 2d 6e 61 6d 65 | 2d 6e 6f 6e 64 69 72 65 |ile-name|-nondire|
|00005ea0| 63 74 6f 72 79 20 70 61 | 74 68 6e 6f 6e 64 69 72 |ctory pa|thnondir|
|00005eb0| 20 66 69 6c 65 2d 6e 61 | 6d 65 2d 63 6f 6d 70 6c | file-na|me-compl|
|00005ec0| 65 74 69 6f 6e 20 64 65 | 66 61 75 6c 74 2d 64 69 |etion de|fault-di|
|00005ed0| 72 65 63 74 6f 72 79 20 | 63 6f 6d 70 6c 65 74 69 |rectory |completi|
|00005ee0| 6f 6e 20 6d 65 73 73 61 | 67 65 20 22 4e 6f 20 63 |on messa|ge "No c|
|00005ef0| 6f 6d 70 6c 65 74 69 6f | 6e 73 20 6f 66 20 25 73 |ompletio|ns of %s|
|00005f00| 2e 22 20 64 69 6e 67 20 | 74 20 22 55 6e 69 71 75 |." ding |t "Uniqu|
|00005f10| 65 20 63 6f 6d 70 6c 65 | 74 69 6f 6e 2e 22 20 30 |e comple|tion." 0|
|00005f20| 20 65 78 70 61 6e 64 2d | 66 69 6c 65 2d 6e 61 6d | expand-|file-nam|
|00005f30| 65 5d 20 34 20 22 5c 0a | 52 65 70 6c 61 63 65 20 |e] 4 "\.|Replace |
|00005f40| 74 68 65 20 66 69 6c 65 | 6e 61 6d 65 20 61 74 20 |the file|name at |
|00005f50| 70 6f 69 6e 74 20 77 69 | 74 68 20 61 6e 20 65 78 |point wi|th an ex|
|00005f60| 70 61 6e 64 65 64 2c 20 | 63 61 6e 6f 6e 69 63 61 |panded, |canonica|
|00005f70| 6c 69 73 65 64 2c 20 61 | 6e 64 0a 63 6f 6d 70 6c |lised, a|nd.compl|
|00005f80| 65 74 65 64 20 72 65 70 | 6c 61 63 65 6d 65 6e 74 |eted rep|lacement|
|00005f90| 2e 0a 5c 22 45 78 70 61 | 6e 64 65 64 5c 22 20 6d |..\"Expa|nded\" m|
|00005fa0| 65 61 6e 73 20 65 6e 76 | 69 72 6f 6e 6d 65 6e 74 |eans env|ironment|
|00005fb0| 20 76 61 72 69 61 62 6c | 65 73 20 28 65 2e 67 2e | variabl|es (e.g.|
|00005fc0| 2c 20 24 48 4f 4d 45 29 | 20 61 6e 64 20 7e 27 73 |, $HOME)| and ~'s|
|00005fd0| 20 61 72 65 0a 72 65 70 | 6c 61 63 65 64 20 77 69 | are.rep|laced wi|
|00005fe0| 74 68 20 74 68 65 20 63 | 6f 72 72 65 73 70 6f 6e |th the c|orrespon|
|00005ff0| 64 69 6e 67 20 64 69 72 | 65 63 74 6f 72 69 65 73 |ding dir|ectories|
|00006000| 2e 20 20 5c 22 43 61 6e | 6f 6e 69 63 61 6c 69 73 |. \"Can|onicalis|
|00006010| 65 64 5c 22 20 6d 65 61 | 6e 73 20 2e 2e 0a 61 6e |ed\" mea|ns ...an|
|00006020| 64 20 2e 20 61 72 65 20 | 72 65 6d 6f 76 65 64 2c |d . are |removed,|
|00006030| 20 61 6e 64 20 74 68 65 | 20 66 69 6c 65 6e 61 6d | and the| filenam|
|00006040| 65 20 69 73 20 6d 61 64 | 65 20 61 62 73 6f 6c 75 |e is mad|e absolu|
|00006050| 74 65 20 69 6e 73 74 65 | 61 64 20 6f 66 20 72 65 |te inste|ad of re|
|00006060| 6c 61 74 69 76 65 2e 0a | 53 65 65 20 66 75 6e 63 |lative..|See func|
|00006070| 74 69 6f 6e 73 20 65 78 | 70 61 6e 64 2d 66 69 6c |tions ex|pand-fil|
|00006080| 65 2d 6e 61 6d 65 20 61 | 6e 64 20 73 75 62 73 74 |e-name a|nd subst|
|00006090| 69 74 75 74 65 2d 69 6e | 2d 66 69 6c 65 2d 6e 61 |itute-in|-file-na|
|000060a0| 6d 65 2e 20 53 65 65 20 | 61 6c 73 6f 0a 63 6f 6d |me. See |also.com|
|000060b0| 69 6e 74 2d 64 79 6e 61 | 6d 69 63 2d 63 6f 6d 70 |int-dyna|mic-comp|
|000060c0| 6c 65 74 65 2e 22 20 6e | 69 6c 5d 29 0a 28 66 73 |lete." n|il]).(fs|
|000060d0| 65 74 20 27 63 6f 6d 69 | 6e 74 2d 64 79 6e 61 6d |et 'comi|nt-dynam|
|000060e0| 69 63 2d 63 6f 6d 70 6c | 65 74 65 20 23 5b 6e 69 |ic-compl|ete #[ni|
|000060f0| 6c 20 22 c0 20 19 c2 09 | 21 1b c4 09 21 1d c6 0d |l ". ...|!...!...|
|00006100| 0b ae 82 0e 07 5c 22 89 | 1e 08 ac 89 c9 ca 09 5c |.....\".|.......\|
|00006110| 22 88 cb 20 aa a1 0e 08 | cc 3d ab 85 c9 cd 21 aa |".. ....|.=....!.|
|00006120| 96 0d 0e 08 9a ab 85 ce | cc 21 aa 8b cf 95 62 88 |........|.!....b.|
|00006130| 0e 08 0d 47 d0 4f 63 2c | 87 22 20 5b 63 6f 6d 69 |...G.Oc,|." [comi|
|00006140| 6e 74 2d 6d 61 74 63 68 | 2d 70 61 72 74 69 61 6c |nt-match|-partial|
|00006150| 2d 70 61 74 68 6e 61 6d | 65 20 70 61 74 68 6e 61 |-pathnam|e pathna|
|00006160| 6d 65 20 66 69 6c 65 2d | 6e 61 6d 65 2d 64 69 72 |me file-|name-dir|
|00006170| 65 63 74 6f 72 79 20 70 | 61 74 68 64 69 72 20 66 |ectory p|athdir f|
|00006180| 69 6c 65 2d 6e 61 6d 65 | 2d 6e 6f 6e 64 69 72 65 |ile-name|-nondire|
|00006190| 63 74 6f 72 79 20 70 61 | 74 68 6e 6f 6e 64 69 72 |ctory pa|thnondir|
|000061a0| 20 66 69 6c 65 2d 6e 61 | 6d 65 2d 63 6f 6d 70 6c | file-na|me-compl|
|000061b0| 65 74 69 6f 6e 20 64 65 | 66 61 75 6c 74 2d 64 69 |etion de|fault-di|
|000061c0| 72 65 63 74 6f 72 79 20 | 63 6f 6d 70 6c 65 74 69 |rectory |completi|
|000061d0| 6f 6e 20 6d 65 73 73 61 | 67 65 20 22 4e 6f 20 63 |on messa|ge "No c|
|000061e0| 6f 6d 70 6c 65 74 69 6f | 6e 73 20 6f 66 20 25 73 |ompletio|ns of %s|
|000061f0| 2e 22 20 64 69 6e 67 20 | 74 20 22 55 6e 69 71 75 |." ding |t "Uniqu|
|00006200| 65 20 63 6f 6d 70 6c 65 | 74 69 6f 6e 2e 22 20 63 |e comple|tion." c|
|00006210| 6f 6d 69 6e 74 2d 64 79 | 6e 61 6d 69 63 2d 6c 69 |omint-dy|namic-li|
|00006220| 73 74 2d 63 6f 6d 70 6c | 65 74 69 6f 6e 73 20 30 |st-compl|etions 0|
|00006230| 20 6e 69 6c 5d 20 34 20 | 22 5c 0a 44 79 6e 61 6d | nil] 4 |"\.Dynam|
|00006240| 69 63 61 6c 6c 79 20 63 | 6f 6d 70 6c 65 74 65 20 |ically c|omplete |
|00006250| 74 68 65 20 66 69 6c 65 | 6e 61 6d 65 20 61 74 20 |the file|name at |
|00006260| 70 6f 69 6e 74 2e 0a 54 | 68 69 73 20 66 75 6e 63 |point..T|his func|
|00006270| 74 69 6f 6e 20 69 73 20 | 73 69 6d 69 6c 61 72 20 |tion is |similar |
|00006280| 74 6f 20 63 6f 6d 69 6e | 74 2d 72 65 70 6c 61 63 |to comin|t-replac|
|00006290| 65 2d 62 79 2d 65 78 70 | 61 6e 64 65 64 2d 66 69 |e-by-exp|anded-fi|
|000062a0| 6c 65 6e 61 6d 65 2c 20 | 65 78 63 65 70 74 0a 74 |lename, |except.t|
|000062b0| 68 61 74 20 69 74 20 77 | 6f 6e 27 74 20 63 68 61 |hat it w|on't cha|
|000062c0| 6e 67 65 20 70 61 72 74 | 73 20 6f 66 20 74 68 65 |nge part|s of the|
|000062d0| 20 66 69 6c 65 6e 61 6d | 65 20 61 6c 72 65 61 64 | filenam|e alread|
|000062e0| 79 20 65 6e 74 65 72 65 | 64 20 69 6e 20 74 68 65 |y entere|d in the|
|000062f0| 20 62 75 66 66 65 72 3b | 20 0a 69 74 20 6a 75 73 | buffer;| .it jus|
|00006300| 74 20 61 64 64 73 20 63 | 6f 6d 70 6c 65 74 69 6f |t adds c|ompletio|
|00006310| 6e 20 63 68 61 72 61 63 | 74 65 72 73 20 74 6f 20 |n charac|ters to |
|00006320| 74 68 65 20 65 6e 64 20 | 6f 66 20 74 68 65 20 66 |the end |of the f|
|00006330| 69 6c 65 6e 61 6d 65 2e | 22 20 6e 69 6c 5d 29 0a |ilename.|" nil]).|
|00006340| 28 66 73 65 74 20 27 63 | 6f 6d 69 6e 74 2d 64 79 |(fset 'c|omint-dy|
|00006350| 6e 61 6d 69 63 2d 6c 69 | 73 74 2d 63 6f 6d 70 6c |namic-li|st-compl|
|00006360| 65 74 69 6f 6e 73 20 23 | 5b 28 26 6f 70 74 69 6f |etions #|[(&optio|
|00006370| 6e 61 6c 20 72 65 76 65 | 72 74 2d 73 6f 6f 6e 65 |nal reve|rt-soone|
|00006380| 73 74 29 20 22 c0 20 19 | c2 09 21 1b c4 09 21 1d |st) ". .|..!...!.|
|00006390| c6 0d 0b ae 82 0e 07 5c | 22 89 1e 08 ac 89 c9 ca |.......\|".......|
|000063a0| 09 5c 22 88 cb 20 aa cc | cc 20 1e 0d ce 90 cf 0e |.\".. ..|. ......|
|000063b0| 08 21 91 88 d0 d1 21 88 | 0e 12 ac 84 c9 d3 21 88 |.!....!.|......!.|
|000063c0| d4 d5 20 21 1e 16 0e 12 | ab 96 d7 0e 16 21 ab 87 |.. !....|.....!..|
|000063d0| d8 0e 0d 21 88 aa 83 d9 | 16 1a db 0e 16 21 aa 93 |...!....|.....!..|
|000063e0| dc 0e 16 21 dd 3d ab 86 | d8 0e 0d 21 aa 85 0e 16 |...!.=..|...!....|
|000063f0| 89 16 1e 2a 2c 87 22 20 | 5b 63 6f 6d 69 6e 74 2d |...*,." |[comint-|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.