home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: Mailbox/MIME Entity
(archive/mbox).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Mailbox/MIME Entity (archive/mbox)
| magic
| Supported |
100%
| dexvert
| Internet Message Format (text/imf)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| Mailbox text, 1st line "From ark1!uakari.primate.wisc.edu!brutus.cs.uiuc.edu!usc!cs.utexas.edu!tut.cis.ohio-state.edu!nimbus3!djs Wed Mar 28 12:30:19 1"
| default
| |
99%
| file
| Lisp/Scheme program text
| default
| |
98%
| file
| Lisp/Scheme program, ASCII text
| default
| |
100%
| TrID
| E-Mail message (Var. 2)
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| x-fmt/111 Plain Text File
| default
| |
100%
| detectItEasy
| Format: Plain text[LF]
| default
| |
100%
| xdgMime
| application/mbox
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 20 61 72 6b | 31 21 75 61 6b 61 72 69 |From ark|1!uakari|
|00000010| 2e 70 72 69 6d 61 74 65 | 2e 77 69 73 63 2e 65 64 |.primate|.wisc.ed|
|00000020| 75 21 62 72 75 74 75 73 | 2e 63 73 2e 75 69 75 63 |u!brutus|.cs.uiuc|
|00000030| 2e 65 64 75 21 75 73 63 | 21 63 73 2e 75 74 65 78 |.edu!usc|!cs.utex|
|00000040| 61 73 2e 65 64 75 21 74 | 75 74 2e 63 69 73 2e 6f |as.edu!t|ut.cis.o|
|00000050| 68 69 6f 2d 73 74 61 74 | 65 2e 65 64 75 21 6e 69 |hio-stat|e.edu!ni|
|00000060| 6d 62 75 73 33 21 64 6a | 73 20 57 65 64 20 4d 61 |mbus3!dj|s Wed Ma|
|00000070| 72 20 32 38 20 31 32 3a | 33 30 3a 31 39 20 31 39 |r 28 12:|30:19 19|
|00000080| 39 30 0a 41 72 74 69 63 | 6c 65 20 31 36 34 39 20 |90.Artic|le 1649 |
|00000090| 6f 66 20 63 6f 6d 70 2e | 65 6d 61 63 73 3a 0a 58 |of comp.|emacs:.X|
|000000a0| 72 65 66 3a 20 61 72 6b | 31 20 63 6f 6d 70 2e 65 |ref: ark|1 comp.e|
|000000b0| 64 69 74 6f 72 73 3a 36 | 31 33 20 67 6e 75 2e 65 |ditors:6|13 gnu.e|
|000000c0| 6d 61 63 73 3a 31 33 39 | 35 20 63 6f 6d 70 2e 65 |macs:139|5 comp.e|
|000000d0| 6d 61 63 73 3a 31 36 34 | 39 0a 50 61 74 68 3a 20 |macs:164|9.Path: |
|000000e0| 61 72 6b 31 21 75 61 6b | 61 72 69 2e 70 72 69 6d |ark1!uak|ari.prim|
|000000f0| 61 74 65 2e 77 69 73 63 | 2e 65 64 75 21 62 72 75 |ate.wisc|.edu!bru|
|00000100| 74 75 73 2e 63 73 2e 75 | 69 75 63 2e 65 64 75 21 |tus.cs.u|iuc.edu!|
|00000110| 75 73 63 21 63 73 2e 75 | 74 65 78 61 73 2e 65 64 |usc!cs.u|texas.ed|
|00000120| 75 21 74 75 74 2e 63 69 | 73 2e 6f 68 69 6f 2d 73 |u!tut.ci|s.ohio-s|
|00000130| 74 61 74 65 2e 65 64 75 | 21 6e 69 6d 62 75 73 33 |tate.edu|!nimbus3|
|00000140| 21 64 6a 73 0a 46 72 6f | 6d 20 64 6a 73 40 6e 69 |!djs.Fro|m djs@ni|
|00000150| 6d 62 75 73 33 2e 75 75 | 63 70 20 28 44 6f 75 67 |mbus3.uu|cp (Doug|
|00000160| 29 0a 4e 65 77 73 67 72 | 6f 75 70 73 3a 20 63 6f |).Newsgr|oups: co|
|00000170| 6d 70 2e 65 64 69 74 6f | 72 73 2c 67 6e 75 2e 65 |mp.edito|rs,gnu.e|
|00000180| 6d 61 63 73 2c 63 6f 6d | 70 2e 65 6d 61 63 73 2c |macs,com|p.emacs,|
|00000190| 61 6c 74 2e 73 6f 75 72 | 63 65 73 0a 53 75 62 6a |alt.sour|ces.Subj|
|000001a0| 65 63 74 3a 20 59 65 74 | 20 61 6e 6f 74 68 65 72 |ect: Yet| another|
|000001b0| 20 76 69 20 65 6d 75 6c | 61 74 6f 72 20 66 6f 72 | vi emul|ator for|
|000001c0| 20 47 4e 55 20 65 6d 61 | 63 73 20 28 70 61 72 74 | GNU ema|cs (part|
|000001d0| 20 33 20 6f 66 20 33 29 | 0a 4d 65 73 73 61 67 65 | 3 of 3)|.Message|
|000001e0| 2d 49 44 3a 20 3c 31 39 | 39 30 4d 61 72 32 37 2e |-ID: <19|90Mar27.|
|000001f0| 32 33 33 35 31 35 2e 36 | 34 33 39 40 6e 69 6d 62 |233515.6|439@nimb|
|00000200| 75 73 33 2e 75 75 63 70 | 3e 0a 44 61 74 65 3a 20 |us3.uucp|>.Date: |
|00000210| 32 37 20 4d 61 72 20 39 | 30 20 32 33 3a 33 35 3a |27 Mar 9|0 23:35:|
|00000220| 31 35 20 47 4d 54 0a 52 | 65 70 6c 79 2d 54 6f 3a |15 GMT.R|eply-To:|
|00000230| 20 64 6a 73 40 6e 69 6d | 62 75 73 33 2e 55 55 43 | djs@nim|bus3.UUC|
|00000240| 50 20 28 44 6f 75 67 29 | 0a 4f 72 67 61 6e 69 7a |P (Doug)|.Organiz|
|00000250| 61 74 69 6f 6e 3a 20 41 | 47 53 20 49 6e 66 6f 72 |ation: A|GS Infor|
|00000260| 6d 61 74 69 6f 6e 20 53 | 65 72 76 69 63 65 73 2c |mation S|ervices,|
|00000270| 20 49 6e 63 2e 0a 4c 69 | 6e 65 73 3a 20 31 35 39 | Inc..Li|nes: 159|
|00000280| 38 0a 0a 0a 0a 23 20 54 | 68 69 73 20 69 73 20 61 |8....# T|his is a|
|00000290| 20 73 68 65 6c 6c 20 61 | 72 63 68 69 76 65 2e 20 | shell a|rchive. |
|000002a0| 20 52 65 6d 6f 76 65 20 | 61 6e 79 74 68 69 6e 67 | Remove |anything|
|000002b0| 20 62 65 66 6f 72 65 20 | 74 68 69 73 20 6c 69 6e | before |this lin|
|000002c0| 65 2c 20 74 68 65 6e 0a | 23 20 75 6e 70 61 63 6b |e, then.|# unpack|
|000002d0| 20 69 74 20 62 79 20 73 | 61 76 69 6e 67 20 69 74 | it by s|aving it|
|000002e0| 20 69 6e 20 61 20 66 69 | 6c 65 20 61 6e 64 20 74 | in a fi|le and t|
|000002f0| 79 70 69 6e 67 20 22 73 | 68 20 66 69 6c 65 22 2e |yping "s|h file".|
|00000300| 20 20 28 46 69 6c 65 73 | 0a 23 20 75 6e 70 61 63 | (Files|.# unpac|
|00000310| 6b 65 64 20 77 69 6c 6c | 20 62 65 20 6f 77 6e 65 |ked will| be owne|
|00000320| 64 20 62 79 20 79 6f 75 | 20 61 6e 64 20 68 61 76 |d by you| and hav|
|00000330| 65 20 64 65 66 61 75 6c | 74 20 70 65 72 6d 69 73 |e defaul|t permis|
|00000340| 73 69 6f 6e 73 2e 29 0a | 23 0a 23 20 54 68 69 73 |sions.).|#.# This|
|00000350| 20 61 72 63 68 69 76 65 | 20 63 6f 6e 74 61 69 6e | archive| contain|
|00000360| 73 3a 0a 23 20 6d 76 69 | 2e 65 6c 2e 32 0a 0a 65 |s:.# mvi|.el.2..e|
|00000370| 63 68 6f 20 78 20 2d 20 | 6d 76 69 2e 65 6c 2e 32 |cho x - |mvi.el.2|
|00000380| 0a 63 61 74 20 3e 20 22 | 6d 76 69 2e 65 6c 2e 32 |.cat > "|mvi.el.2|
|00000390| 22 20 3c 3c 20 27 2f 2f | 45 2a 4f 2a 46 20 6d 76 |" << '//|E*O*F mv|
|000003a0| 69 2e 65 6c 2e 32 2f 2f | 27 0a 28 64 65 66 75 6e |i.el.2//|'.(defun|
|000003b0| 20 6d 76 69 2d 30 20 28 | 61 72 67 20 6e 75 6d 62 | mvi-0 (|arg numb|
|000003c0| 65 72 20 26 6f 70 74 69 | 6f 6e 61 6c 20 6d 6f 74 |er &opti|onal mot|
|000003d0| 69 6f 6e 2d 61 72 67 20 | 74 65 78 74 29 0a 20 20 |ion-arg |text). |
|000003e0| 22 6d 76 69 20 6d 6f 76 | 65 20 74 6f 20 66 69 72 |"mvi mov|e to fir|
|000003f0| 73 74 20 6e 6f 6e 2d 77 | 68 69 74 65 73 70 61 63 |st non-w|hitespac|
|00000400| 65 20 63 68 61 72 61 63 | 74 65 72 20 6f 6e 20 6c |e charac|ter on l|
|00000410| 69 6e 65 2e 22 0a 20 20 | 28 69 6e 74 65 72 61 63 |ine.". |(interac|
|00000420| 74 69 76 65 20 22 50 5c | 6e 56 22 29 0a 09 28 6c |tive "P\|nV")..(l|
|00000430| 65 74 20 28 28 72 61 77 | 2d 6e 75 6d 62 65 72 20 |et ((raw|-number |
|00000440| 28 6d 76 69 2d 6e 74 68 | 20 30 20 61 72 67 29 29 |(mvi-nth| 0 arg))|
|00000450| 0a 09 09 09 09 28 72 65 | 67 69 73 74 65 72 20 28 |.....(re|gister (|
|00000460| 6d 76 69 2d 6e 74 68 20 | 31 20 61 72 67 29 29 0a |mvi-nth |1 arg)).|
|00000470| 09 09 09 09 28 61 70 70 | 65 6e 64 20 28 6d 76 69 |....(app|end (mvi|
|00000480| 2d 6e 74 68 20 32 20 61 | 72 67 29 29 0a 09 09 09 |-nth 2 a|rg))....|
|00000490| 09 28 67 2d 66 6c 61 67 | 20 28 6d 76 69 2d 6e 74 |.(g-flag| (mvi-nt|
|000004a0| 68 20 33 20 61 72 67 29 | 29 0a 09 09 09 09 28 63 |h 3 arg)|).....(c|
|000004b0| 6f 6d 6d 61 6e 64 20 28 | 6d 76 69 2d 6e 74 68 20 |ommand (|mvi-nth |
|000004c0| 34 20 61 72 67 29 29 0a | 09 09 09 09 28 68 69 73 |4 arg)).|....(his|
|000004d0| 74 2d 74 6d 70 29 29 0a | 09 09 28 69 66 20 28 6e |t-tmp)).|..(if (n|
|000004e0| 6f 74 20 72 61 77 2d 6e | 75 6d 62 65 72 29 20 28 |ot raw-n|umber) (|
|000004f0| 73 65 74 71 20 6e 75 6d | 62 65 72 20 30 29 29 0a |setq num|ber 0)).|
|00000500| 09 09 28 6d 6f 76 65 2d | 6d 61 72 6b 65 72 20 6d |..(move-|marker m|
|00000510| 76 69 2d 67 2d 70 6f 69 | 6e 74 20 28 70 6f 69 6e |vi-g-poi|nt (poin|
|00000520| 74 29 29 0a 09 09 28 69 | 66 20 63 6f 6d 6d 61 6e |t))...(i|f comman|
|00000530| 64 20 0a 09 09 09 28 70 | 72 6f 67 6e 0a 09 09 09 |d ....(p|rogn....|
|00000540| 09 28 6d 6f 76 65 2d 6d | 61 72 6b 65 72 20 6d 76 |.(move-m|arker mv|
|00000550| 69 2d 63 6f 6d 2d 70 6f | 69 6e 74 20 28 70 6f 69 |i-com-po|int (poi|
|00000560| 6e 74 29 29 0a 09 09 09 | 09 28 6d 76 69 2d 66 6f |nt))....|.(mvi-fo|
|00000570| 72 77 61 72 64 2d 6c 69 | 6e 65 20 6e 75 6d 62 65 |rward-li|ne numbe|
|00000580| 72 29 0a 09 09 09 09 28 | 6d 76 69 2d 65 78 65 63 |r).....(|mvi-exec|
|00000590| 75 74 65 2d 63 6f 6d 20 | 27 6d 76 69 2d 30 29 29 |ute-com |'mvi-0))|
|000005a0| 0a 09 09 09 28 6d 76 69 | 2d 66 6f 72 77 61 72 64 |....(mvi|-forward|
|000005b0| 2d 6c 69 6e 65 20 6e 75 | 6d 62 65 72 29 29 29 29 |-line nu|mber))))|
|000005c0| 0a 0a 28 64 65 66 75 6e | 20 6d 76 69 2d 62 6f 6c |..(defun| mvi-bol|
|000005d0| 20 28 61 72 67 20 6e 75 | 6d 62 65 72 20 26 6f 70 | (arg nu|mber &op|
|000005e0| 74 69 6f 6e 61 6c 20 6d | 6f 74 69 6f 6e 2d 61 72 |tional m|otion-ar|
|000005f0| 67 20 74 65 78 74 29 0a | 20 20 22 6d 76 69 20 74 |g text).| "mvi t|
|00000600| 6f 20 62 65 67 69 6e 6e | 69 6e 67 20 6f 66 20 6c |o beginn|ing of l|
|00000610| 69 6e 65 2e 22 0a 20 20 | 28 69 6e 74 65 72 61 63 |ine.". |(interac|
|00000620| 74 69 76 65 20 22 50 5c | 6e 56 22 29 0a 09 28 6c |tive "P\|nV")..(l|
|00000630| 65 74 20 28 28 72 61 77 | 2d 6e 75 6d 62 65 72 20 |et ((raw|-number |
|00000640| 28 6d 76 69 2d 6e 74 68 | 20 30 20 61 72 67 29 29 |(mvi-nth| 0 arg))|
|00000650| 0a 09 09 09 09 28 72 65 | 67 69 73 74 65 72 20 28 |.....(re|gister (|
|00000660| 6d 76 69 2d 6e 74 68 20 | 31 20 61 72 67 29 29 0a |mvi-nth |1 arg)).|
|00000670| 09 09 09 09 28 61 70 70 | 65 6e 64 20 28 6d 76 69 |....(app|end (mvi|
|00000680| 2d 6e 74 68 20 32 20 61 | 72 67 29 29 0a 09 09 09 |-nth 2 a|rg))....|
|00000690| 09 28 67 2d 66 6c 61 67 | 20 28 6d 76 69 2d 6e 74 |.(g-flag| (mvi-nt|
|000006a0| 68 20 33 20 61 72 67 29 | 29 0a 09 09 09 09 28 63 |h 3 arg)|).....(c|
|000006b0| 6f 6d 6d 61 6e 64 20 28 | 6d 76 69 2d 6e 74 68 20 |ommand (|mvi-nth |
|000006c0| 34 20 61 72 67 29 29 0a | 09 09 09 09 28 68 69 73 |4 arg)).|....(his|
|000006d0| 74 2d 74 6d 70 29 29 0a | 09 09 28 69 66 20 28 6e |t-tmp)).|..(if (n|
|000006e0| 6f 74 20 72 61 77 2d 6e | 75 6d 62 65 72 29 20 28 |ot raw-n|umber) (|
|000006f0| 73 65 74 71 20 6e 75 6d | 62 65 72 20 30 29 29 0a |setq num|ber 0)).|
|00000700| 09 09 28 6d 6f 76 65 2d | 6d 61 72 6b 65 72 20 6d |..(move-|marker m|
|00000710| 76 69 2d 67 2d 70 6f 69 | 6e 74 20 28 70 6f 69 6e |vi-g-poi|nt (poin|
|00000720| 74 29 29 0a 09 09 28 69 | 66 20 63 6f 6d 6d 61 6e |t))...(i|f comman|
|00000730| 64 20 0a 09 09 09 28 70 | 72 6f 67 6e 0a 09 09 09 |d ....(p|rogn....|
|00000740| 09 28 6d 6f 76 65 2d 6d | 61 72 6b 65 72 20 6d 76 |.(move-m|arker mv|
|00000750| 69 2d 63 6f 6d 2d 70 6f | 69 6e 74 20 28 70 6f 69 |i-com-po|int (poi|
|00000760| 6e 74 29 29 0a 09 09 09 | 09 28 66 6f 72 77 61 72 |nt))....|.(forwar|
|00000770| 64 2d 6c 69 6e 65 20 6e | 75 6d 62 65 72 29 0a 09 |d-line n|umber)..|
|00000780| 09 09 09 28 6d 76 69 2d | 65 78 65 63 75 74 65 2d |...(mvi-|execute-|
|00000790| 63 6f 6d 20 27 6d 76 69 | 2d 62 6f 6c 29 29 0a 09 |com 'mvi|-bol))..|
|000007a0| 09 09 28 66 6f 72 77 61 | 72 64 2d 6c 69 6e 65 20 |..(forwa|rd-line |
|000007b0| 6e 75 6d 62 65 72 29 29 | 29 29 0a 0a 28 64 65 66 |number))|))..(def|
|000007c0| 75 6e 20 6d 76 69 2d 70 | 61 72 65 6e 20 28 61 72 |un mvi-p|aren (ar|
|000007d0| 67 20 6e 75 6d 62 65 72 | 20 26 6f 70 74 69 6f 6e |g number| &option|
|000007e0| 61 6c 20 6d 6f 74 69 6f | 6e 2d 61 72 67 20 74 65 |al motio|n-arg te|
|000007f0| 78 74 29 0a 20 20 22 6d | 76 69 20 66 69 6e 64 20 |xt). "m|vi find |
|00000800| 6d 61 74 63 68 69 6e 67 | 20 70 61 72 65 6e 74 68 |matching| parenth|
|00000810| 65 74 69 63 61 6c 20 63 | 68 61 72 61 63 74 65 72 |etical c|haracter|
|00000820| 2e 22 0a 20 20 28 69 6e | 74 65 72 61 63 74 69 76 |.". (in|teractiv|
|00000830| 65 20 22 50 5c 6e 56 22 | 29 0a 09 28 6c 65 74 20 |e "P\nV"|)..(let |
|00000840| 28 28 72 65 67 69 73 74 | 65 72 20 28 6d 76 69 2d |((regist|er (mvi-|
|00000850| 6e 74 68 20 31 20 61 72 | 67 29 29 0a 09 09 09 09 |nth 1 ar|g)).....|
|00000860| 28 61 70 70 65 6e 64 20 | 28 6d 76 69 2d 6e 74 68 |(append |(mvi-nth|
|00000870| 20 32 20 61 72 67 29 29 | 0a 09 09 09 09 28 67 2d | 2 arg))|.....(g-|
|00000880| 66 6c 61 67 20 28 6d 76 | 69 2d 6e 74 68 20 33 20 |flag (mv|i-nth 3 |
|00000890| 61 72 67 29 29 0a 09 09 | 09 09 28 63 6f 6d 6d 61 |arg))...|..(comma|
|000008a0| 6e 64 20 28 6d 76 69 2d | 6e 74 68 20 34 20 61 72 |nd (mvi-|nth 4 ar|
|000008b0| 67 29 29 0a 09 09 09 09 | 28 68 69 73 74 2d 74 6d |g)).....|(hist-tm|
|000008c0| 70 29 29 0a 09 09 28 6d | 6f 76 65 2d 6d 61 72 6b |p))...(m|ove-mark|
|000008d0| 65 72 20 6d 76 69 2d 67 | 2d 70 6f 69 6e 74 20 28 |er mvi-g|-point (|
|000008e0| 70 6f 69 6e 74 29 29 0a | 09 09 28 69 66 20 63 6f |point)).|..(if co|
|000008f0| 6d 6d 61 6e 64 20 0a 09 | 09 09 28 70 72 6f 67 6e |mmand ..|..(progn|
|00000900| 0a 09 09 09 09 28 69 66 | 20 28 6c 6f 6f 6b 69 6e |.....(if| (lookin|
|00000910| 67 2d 61 74 20 22 5b 5b | 28 7b 5d 22 29 20 0a 09 |g-at "[[|({]") ..|
|00000920| 09 09 09 09 28 70 72 6f | 67 6e 0a 09 09 09 09 09 |....(pro|gn......|
|00000930| 09 28 6d 6f 76 65 2d 6d | 61 72 6b 65 72 20 6d 76 |.(move-m|arker mv|
|00000940| 69 2d 63 6f 6d 2d 70 6f | 69 6e 74 20 28 70 6f 69 |i-com-po|int (poi|
|00000950| 6e 74 29 29 0a 09 09 09 | 09 09 09 28 66 6f 72 77 |nt))....|...(forw|
|00000960| 61 72 64 2d 6c 69 73 74 | 20 6e 75 6d 62 65 72 29 |ard-list| number)|
|00000970| 29 0a 09 09 09 09 09 28 | 69 66 20 28 6c 6f 6f 6b |)......(|if (look|
|00000980| 69 6e 67 2d 61 74 20 22 | 5b 5d 29 7d 5d 22 29 20 |ing-at "|[])}]") |
|00000990| 0a 09 09 09 09 09 09 28 | 70 72 6f 67 6e 0a 09 09 |.......(|progn...|
|000009a0| 09 09 09 09 09 28 66 6f | 72 77 61 72 64 2d 63 68 |.....(fo|rward-ch|
|000009b0| 61 72 29 0a 09 09 09 09 | 09 09 09 28 6d 6f 76 65 |ar).....|...(move|
|000009c0| 2d 6d 61 72 6b 65 72 20 | 6d 76 69 2d 63 6f 6d 2d |-marker |mvi-com-|
|000009d0| 70 6f 69 6e 74 20 28 70 | 6f 69 6e 74 29 29 0a 09 |point (p|oint))..|
|000009e0| 09 09 09 09 09 09 28 62 | 61 63 6b 77 61 72 64 2d |......(b|ackward-|
|000009f0| 6c 69 73 74 20 6e 75 6d | 62 65 72 29 29 0a 09 09 |list num|ber))...|
|00000a00| 09 09 09 09 28 65 72 72 | 6f 72 20 22 4e 6f 74 20 |....(err|or "Not |
|00000a10| 6f 6e 20 70 61 72 65 6e | 74 68 65 74 69 63 61 6c |on paren|thetical|
|00000a20| 20 63 68 61 72 61 63 74 | 65 72 22 29 29 29 0a 09 | charact|er")))..|
|00000a30| 09 09 09 28 6d 76 69 2d | 65 78 65 63 75 74 65 2d |...(mvi-|execute-|
|00000a40| 63 6f 6d 20 27 6d 76 69 | 2d 70 61 72 65 6e 29 29 |com 'mvi|-paren))|
|00000a50| 0a 09 09 09 28 69 66 20 | 28 6c 6f 6f 6b 69 6e 67 |....(if |(looking|
|00000a60| 2d 61 74 20 22 5b 5b 28 | 7b 5d 22 29 20 0a 09 09 |-at "[[(|{]") ...|
|00000a70| 09 09 28 70 72 6f 67 6e | 0a 09 09 09 09 09 28 66 |..(progn|......(f|
|00000a80| 6f 72 77 61 72 64 2d 6c | 69 73 74 20 6e 75 6d 62 |orward-l|ist numb|
|00000a90| 65 72 29 0a 09 09 09 09 | 09 28 62 61 63 6b 77 61 |er).....|.(backwa|
|00000aa0| 72 64 2d 63 68 61 72 29 | 29 0a 09 09 09 09 28 69 |rd-char)|).....(i|
|00000ab0| 66 20 28 6c 6f 6f 6b 69 | 6e 67 2d 61 74 20 22 5b |f (looki|ng-at "[|
|00000ac0| 5d 29 7d 5d 22 29 20 0a | 09 09 09 09 09 28 70 72 |])}]") .|.....(pr|
|00000ad0| 6f 67 6e 0a 09 09 09 09 | 09 09 28 66 6f 72 77 61 |ogn.....|..(forwa|
|00000ae0| 72 64 2d 63 68 61 72 29 | 0a 09 09 09 09 09 09 28 |rd-char)|.......(|
|00000af0| 62 61 63 6b 77 61 72 64 | 2d 6c 69 73 74 20 6e 75 |backward|-list nu|
|00000b00| 6d 62 65 72 29 29 0a 09 | 09 09 09 09 28 65 72 72 |mber))..|....(err|
|00000b10| 6f 72 20 22 4e 6f 74 20 | 6f 6e 20 70 61 72 65 6e |or "Not |on paren|
|00000b20| 74 68 65 74 69 63 61 6c | 20 63 68 61 72 61 63 74 |thetical| charact|
|00000b30| 65 72 22 29 29 29 29 29 | 29 0a 0a 28 64 65 66 75 |er")))))|)..(defu|
|00000b40| 6e 20 6d 76 69 2d 66 2d | 6c 69 73 74 20 28 61 72 |n mvi-f-|list (ar|
|00000b50| 67 20 6e 75 6d 62 65 72 | 20 26 6f 70 74 69 6f 6e |g number| &option|
|00000b60| 61 6c 20 6d 6f 74 69 6f | 6e 2d 61 72 67 20 74 65 |al motio|n-arg te|
|00000b70| 78 74 29 0a 20 20 22 6d | 76 69 20 66 6f 72 77 61 |xt). "m|vi forwa|
|00000b80| 72 64 20 6c 69 73 74 2e | 22 0a 20 20 28 69 6e 74 |rd list.|". (int|
|00000b90| 65 72 61 63 74 69 76 65 | 20 22 50 5c 6e 56 22 29 |eractive| "P\nV")|
|00000ba0| 0a 09 28 6c 65 74 20 28 | 28 72 65 67 69 73 74 65 |..(let (|(registe|
|00000bb0| 72 20 28 6d 76 69 2d 6e | 74 68 20 31 20 61 72 67 |r (mvi-n|th 1 arg|
|00000bc0| 29 29 0a 09 09 09 09 28 | 61 70 70 65 6e 64 20 28 |)).....(|append (|
|00000bd0| 6d 76 69 2d 6e 74 68 20 | 32 20 61 72 67 29 29 0a |mvi-nth |2 arg)).|
|00000be0| 09 09 09 09 28 67 2d 66 | 6c 61 67 20 28 6d 76 69 |....(g-f|lag (mvi|
|00000bf0| 2d 6e 74 68 20 33 20 61 | 72 67 29 29 0a 09 09 09 |-nth 3 a|rg))....|
|00000c00| 09 28 63 6f 6d 6d 61 6e | 64 20 28 6d 76 69 2d 6e |.(comman|d (mvi-n|
|00000c10| 74 68 20 34 20 61 72 67 | 29 29 0a 09 09 09 09 28 |th 4 arg|)).....(|
|00000c20| 68 69 73 74 2d 74 6d 70 | 29 29 0a 09 09 28 6d 6f |hist-tmp|))...(mo|
|00000c30| 76 65 2d 6d 61 72 6b 65 | 72 20 6d 76 69 2d 67 2d |ve-marke|r mvi-g-|
|00000c40| 70 6f 69 6e 74 20 28 70 | 6f 69 6e 74 29 29 0a 09 |point (p|oint))..|
|00000c50| 09 28 69 66 20 63 6f 6d | 6d 61 6e 64 20 0a 09 09 |.(if com|mand ...|
|00000c60| 09 28 70 72 6f 67 6e 0a | 09 09 09 09 28 6d 6f 76 |.(progn.|....(mov|
|00000c70| 65 2d 6d 61 72 6b 65 72 | 20 6d 76 69 2d 63 6f 6d |e-marker| mvi-com|
|00000c80| 2d 70 6f 69 6e 74 20 28 | 70 6f 69 6e 74 29 29 0a |-point (|point)).|
|00000c90| 09 09 09 09 28 66 6f 72 | 77 61 72 64 2d 6c 69 73 |....(for|ward-lis|
|00000ca0| 74 20 6e 75 6d 62 65 72 | 29 0a 09 09 09 09 28 6d |t number|).....(m|
|00000cb0| 76 69 2d 65 78 65 63 75 | 74 65 2d 63 6f 6d 20 27 |vi-execu|te-com '|
|00000cc0| 6d 76 69 2d 66 2d 6c 69 | 73 74 29 29 0a 09 09 09 |mvi-f-li|st))....|
|00000cd0| 28 66 6f 72 77 61 72 64 | 2d 6c 69 73 74 20 6e 75 |(forward|-list nu|
|00000ce0| 6d 62 65 72 29 29 29 29 | 0a 0a 28 64 65 66 75 6e |mber))))|..(defun|
|00000cf0| 20 6d 76 69 2d 62 2d 6c | 69 73 74 20 28 61 72 67 | mvi-b-l|ist (arg|
|00000d00| 20 6e 75 6d 62 65 72 20 | 26 6f 70 74 69 6f 6e 61 | number |&optiona|
|00000d10| 6c 20 6d 6f 74 69 6f 6e | 2d 61 72 67 20 74 65 78 |l motion|-arg tex|
|00000d20| 74 29 0a 20 20 22 6d 76 | 69 20 62 61 63 6b 77 61 |t). "mv|i backwa|
|00000d30| 72 64 20 6c 69 73 74 2e | 22 0a 20 20 28 69 6e 74 |rd list.|". (int|
|00000d40| 65 72 61 63 74 69 76 65 | 20 22 50 5c 6e 56 22 29 |eractive| "P\nV")|
|00000d50| 0a 09 28 6c 65 74 20 28 | 28 72 65 67 69 73 74 65 |..(let (|(registe|
|00000d60| 72 20 28 6d 76 69 2d 6e | 74 68 20 31 20 61 72 67 |r (mvi-n|th 1 arg|
|00000d70| 29 29 0a 09 09 09 09 28 | 61 70 70 65 6e 64 20 28 |)).....(|append (|
|00000d80| 6d 76 69 2d 6e 74 68 20 | 32 20 61 72 67 29 29 0a |mvi-nth |2 arg)).|
|00000d90| 09 09 09 09 28 67 2d 66 | 6c 61 67 20 28 6d 76 69 |....(g-f|lag (mvi|
|00000da0| 2d 6e 74 68 20 33 20 61 | 72 67 29 29 0a 09 09 09 |-nth 3 a|rg))....|
|00000db0| 09 28 63 6f 6d 6d 61 6e | 64 20 28 6d 76 69 2d 6e |.(comman|d (mvi-n|
|00000dc0| 74 68 20 34 20 61 72 67 | 29 29 0a 09 09 09 09 28 |th 4 arg|)).....(|
|00000dd0| 68 69 73 74 2d 74 6d 70 | 29 29 0a 09 09 28 6d 6f |hist-tmp|))...(mo|
|00000de0| 76 65 2d 6d 61 72 6b 65 | 72 20 6d 76 69 2d 67 2d |ve-marke|r mvi-g-|
|00000df0| 70 6f 69 6e 74 20 28 70 | 6f 69 6e 74 29 29 0a 09 |point (p|oint))..|
|00000e00| 09 28 69 66 20 63 6f 6d | 6d 61 6e 64 20 0a 09 09 |.(if com|mand ...|
|00000e10| 09 28 70 72 6f 67 6e 0a | 09 09 09 09 28 6d 6f 76 |.(progn.|....(mov|
|00000e20| 65 2d 6d 61 72 6b 65 72 | 20 6d 76 69 2d 63 6f 6d |e-marker| mvi-com|
|00000e30| 2d 70 6f 69 6e 74 20 28 | 70 6f 69 6e 74 29 29 0a |-point (|point)).|
|00000e40| 09 09 09 09 28 62 61 63 | 6b 77 61 72 64 2d 6c 69 |....(bac|kward-li|
|00000e50| 73 74 20 6e 75 6d 62 65 | 72 29 0a 09 09 09 09 28 |st numbe|r).....(|
|00000e60| 6d 76 69 2d 65 78 65 63 | 75 74 65 2d 63 6f 6d 20 |mvi-exec|ute-com |
|00000e70| 27 6d 76 69 2d 62 2d 6c | 69 73 74 29 29 0a 09 09 |'mvi-b-l|ist))...|
|00000e80| 09 28 62 61 63 6b 77 61 | 72 64 2d 6c 69 73 74 20 |.(backwa|rd-list |
|00000e90| 6e 75 6d 62 65 72 29 29 | 29 29 0a 0a 28 64 65 66 |number))|))..(def|
|00000ea0| 75 6e 20 6d 76 69 2d 66 | 2d 73 65 78 70 20 28 61 |un mvi-f|-sexp (a|
|00000eb0| 72 67 20 6e 75 6d 62 65 | 72 20 26 6f 70 74 69 6f |rg numbe|r &optio|
|00000ec0| 6e 61 6c 20 6d 6f 74 69 | 6f 6e 2d 61 72 67 20 74 |nal moti|on-arg t|
|00000ed0| 65 78 74 29 0a 20 20 22 | 6d 76 69 20 66 6f 72 77 |ext). "|mvi forw|
|00000ee0| 61 72 64 20 73 75 62 2d | 65 78 70 72 65 73 73 69 |ard sub-|expressi|
|00000ef0| 6f 6e 2e 22 0a 20 20 28 | 69 6e 74 65 72 61 63 74 |on.". (|interact|
|00000f00| 69 76 65 20 22 50 5c 6e | 56 22 29 0a 09 28 6c 65 |ive "P\n|V")..(le|
|00000f10| 74 20 28 28 72 65 67 69 | 73 74 65 72 20 28 6d 76 |t ((regi|ster (mv|
|00000f20| 69 2d 6e 74 68 20 31 20 | 61 72 67 29 29 0a 09 09 |i-nth 1 |arg))...|
|00000f30| 09 09 28 61 70 70 65 6e | 64 20 28 6d 76 69 2d 6e |..(appen|d (mvi-n|
|00000f40| 74 68 20 32 20 61 72 67 | 29 29 0a 09 09 09 09 28 |th 2 arg|)).....(|
|00000f50| 67 2d 66 6c 61 67 20 28 | 6d 76 69 2d 6e 74 68 20 |g-flag (|mvi-nth |
|00000f60| 33 20 61 72 67 29 29 0a | 09 09 09 09 28 63 6f 6d |3 arg)).|....(com|
|00000f70| 6d 61 6e 64 20 28 6d 76 | 69 2d 6e 74 68 20 34 20 |mand (mv|i-nth 4 |
|00000f80| 61 72 67 29 29 0a 09 09 | 09 09 28 68 69 73 74 2d |arg))...|..(hist-|
|00000f90| 74 6d 70 29 29 0a 09 09 | 28 6d 6f 76 65 2d 6d 61 |tmp))...|(move-ma|
|00000fa0| 72 6b 65 72 20 6d 76 69 | 2d 67 2d 70 6f 69 6e 74 |rker mvi|-g-point|
|00000fb0| 20 28 70 6f 69 6e 74 29 | 29 0a 09 09 28 69 66 20 | (point)|)...(if |
|00000fc0| 63 6f 6d 6d 61 6e 64 20 | 0a 09 09 09 28 70 72 6f |command |....(pro|
|00000fd0| 67 6e 0a 09 09 09 09 28 | 6d 6f 76 65 2d 6d 61 72 |gn.....(|move-mar|
|00000fe0| 6b 65 72 20 6d 76 69 2d | 63 6f 6d 2d 70 6f 69 6e |ker mvi-|com-poin|
|00000ff0| 74 20 28 70 6f 69 6e 74 | 29 29 0a 09 09 09 09 28 |t (point|)).....(|
|00001000| 66 6f 72 77 61 72 64 2d | 73 65 78 70 20 6e 75 6d |forward-|sexp num|
|00001010| 62 65 72 29 0a 09 09 09 | 09 28 6d 76 69 2d 65 78 |ber)....|.(mvi-ex|
|00001020| 65 63 75 74 65 2d 63 6f | 6d 20 27 6d 76 69 2d 66 |ecute-co|m 'mvi-f|
|00001030| 2d 73 65 78 70 29 29 0a | 09 09 09 28 66 6f 72 77 |-sexp)).|...(forw|
|00001040| 61 72 64 2d 73 65 78 70 | 20 6e 75 6d 62 65 72 29 |ard-sexp| number)|
|00001050| 29 29 29 0a 0a 28 64 65 | 66 75 6e 20 6d 76 69 2d |)))..(de|fun mvi-|
|00001060| 62 2d 73 65 78 70 20 28 | 61 72 67 20 6e 75 6d 62 |b-sexp (|arg numb|
|00001070| 65 72 20 26 6f 70 74 69 | 6f 6e 61 6c 20 6d 6f 74 |er &opti|onal mot|
|00001080| 69 6f 6e 2d 61 72 67 20 | 74 65 78 74 29 0a 20 20 |ion-arg |text). |
|00001090| 22 6d 76 69 20 62 61 63 | 6b 77 61 72 64 20 73 75 |"mvi bac|kward su|
|000010a0| 62 2d 65 78 70 72 65 73 | 73 69 6f 6e 2e 22 0a 20 |b-expres|sion.". |
|000010b0| 20 28 69 6e 74 65 72 61 | 63 74 69 76 65 20 22 50 | (intera|ctive "P|
|000010c0| 5c 6e 56 22 29 0a 09 28 | 6c 65 74 20 28 28 72 65 |\nV")..(|let ((re|
|000010d0| 67 69 73 74 65 72 20 28 | 6d 76 69 2d 6e 74 68 20 |gister (|mvi-nth |
|000010e0| 31 20 61 72 67 29 29 0a | 09 09 09 09 28 61 70 70 |1 arg)).|....(app|
|000010f0| 65 6e 64 20 28 6d 76 69 | 2d 6e 74 68 20 32 20 61 |end (mvi|-nth 2 a|
|00001100| 72 67 29 29 0a 09 09 09 | 09 28 67 2d 66 6c 61 67 |rg))....|.(g-flag|
|00001110| 20 28 6d 76 69 2d 6e 74 | 68 20 33 20 61 72 67 29 | (mvi-nt|h 3 arg)|
|00001120| 29 0a 09 09 09 09 28 63 | 6f 6d 6d 61 6e 64 20 28 |).....(c|ommand (|
|00001130| 6d 76 69 2d 6e 74 68 20 | 34 20 61 72 67 29 29 0a |mvi-nth |4 arg)).|
|00001140| 09 09 09 09 28 68 69 73 | 74 2d 74 6d 70 29 29 0a |....(his|t-tmp)).|
|00001150| 09 09 28 6d 6f 76 65 2d | 6d 61 72 6b 65 72 20 6d |..(move-|marker m|
|00001160| 76 69 2d 67 2d 70 6f 69 | 6e 74 20 28 70 6f 69 6e |vi-g-poi|nt (poin|
|00001170| 74 29 29 0a 09 09 28 69 | 66 20 63 6f 6d 6d 61 6e |t))...(i|f comman|
|00001180| 64 20 0a 09 09 09 28 70 | 72 6f 67 6e 0a 09 09 09 |d ....(p|rogn....|
|00001190| 09 28 6d 6f 76 65 2d 6d | 61 72 6b 65 72 20 6d 76 |.(move-m|arker mv|
|000011a0| 69 2d 63 6f 6d 2d 70 6f | 69 6e 74 20 28 70 6f 69 |i-com-po|int (poi|
|000011b0| 6e 74 29 29 0a 09 09 09 | 09 28 62 61 63 6b 77 61 |nt))....|.(backwa|
|000011c0| 72 64 2d 73 65 78 70 20 | 6e 75 6d 62 65 72 29 0a |rd-sexp |number).|
|000011d0| 09 09 09 09 28 6d 76 69 | 2d 65 78 65 63 75 74 65 |....(mvi|-execute|
|000011e0| 2d 63 6f 6d 20 27 6d 76 | 69 2d 62 2d 73 65 78 70 |-com 'mv|i-b-sexp|
|000011f0| 29 29 0a 09 09 09 28 62 | 61 63 6b 77 61 72 64 2d |))....(b|ackward-|
|00001200| 73 65 78 70 20 6e 75 6d | 62 65 72 29 29 29 29 0a |sexp num|ber)))).|
|00001210| 0a 28 64 65 66 75 6e 20 | 66 6f 72 77 61 72 64 2d |.(defun |forward-|
|00001220| 74 65 78 74 2d 73 65 78 | 70 20 28 61 72 67 20 26 |text-sex|p (arg &|
|00001230| 6f 70 74 69 6f 6e 61 6c | 20 6e 6f 2d 65 72 72 6f |optional| no-erro|
|00001240| 72 29 0a 20 20 22 4d 6f | 76 65 20 66 6f 72 77 61 |r). "Mo|ve forwa|
|00001250| 72 64 20 6f 76 65 72 20 | 74 65 78 74 20 73 75 62 |rd over |text sub|
|00001260| 2d 65 78 70 72 65 73 73 | 69 6f 6e 73 2e 0a 41 72 |-express|ions..Ar|
|00001270| 67 75 6d 65 6e 74 73 20 | 61 72 65 20 43 4f 55 4e |guments |are COUN|
|00001280| 54 20 61 6e 64 20 6f 70 | 74 69 6f 6e 61 6c 6c 79 |T and op|tionally|
|00001290| 20 4e 4f 2d 45 52 52 4f | 52 20 6f 6e 20 69 6e 63 | NO-ERRO|R on inc|
|000012a0| 6f 6d 70 6c 65 74 65 20 | 65 78 70 72 65 73 73 69 |omplete |expressi|
|000012b0| 6f 6e 73 2e 0a 57 68 65 | 6e 20 69 6e 74 65 72 61 |ons..Whe|n intera|
|000012c0| 63 74 69 76 65 2c 20 43 | 4f 55 4e 54 20 69 73 20 |ctive, C|OUNT is |
|000012d0| 74 68 65 20 70 72 6f 63 | 65 73 73 65 64 20 70 72 |the proc|essed pr|
|000012e0| 65 66 69 78 20 61 72 67 | 75 6d 65 6e 74 2e 0a 0a |efix arg|ument...|
|000012f0| 54 68 69 73 20 66 75 6e | 63 74 69 6f 6e 20 72 65 |This fun|ction re|
|00001300| 6c 69 65 73 20 6f 6e 20 | 32 20 76 61 72 69 61 62 |lies on |2 variab|
|00001310| 6c 65 73 20 74 6f 20 70 | 61 72 73 65 20 74 68 65 |les to p|arse the|
|00001320| 20 74 65 78 74 2e 20 20 | 54 68 65 20 66 69 72 73 | text. |The firs|
|00001330| 74 20 69 73 0a 5c 22 74 | 65 78 74 2d 73 65 78 70 |t is.\"t|ext-sexp|
|00001340| 2d 64 65 6c 69 6d 5c 22 | 20 77 68 69 63 68 20 69 |-delim\"| which i|
|00001350| 73 20 61 20 72 65 67 75 | 6c 61 72 20 65 78 70 72 |s a regu|lar expr|
|00001360| 65 73 73 69 6f 6e 20 74 | 68 61 74 20 6d 61 74 63 |ession t|hat matc|
|00001370| 68 65 73 20 61 6c 6c 20 | 74 68 65 20 0a 64 65 6c |hes all |the .del|
|00001380| 69 6d 65 74 65 72 73 2e | 20 54 68 65 20 73 65 63 |imeters.| The sec|
|00001390| 6f 6e 64 20 69 73 20 5c | 22 74 65 78 74 2d 73 65 |ond is \|"text-se|
|000013a0| 78 70 2d 64 61 74 61 5c | 22 20 77 68 69 63 68 20 |xp-data\|" which |
|000013b0| 69 73 20 61 6e 20 61 2d | 6c 69 73 74 2c 20 74 68 |is an a-|list, th|
|000013c0| 65 0a 63 61 72 20 6f 66 | 20 77 68 69 63 68 20 69 |e.car of| which i|
|000013d0| 73 20 61 20 73 74 72 69 | 6e 67 20 72 65 70 72 65 |s a stri|ng repre|
|000013e0| 73 65 6e 74 69 6e 67 20 | 74 68 65 20 6f 70 65 6e |senting |the open|
|000013f0| 69 6e 67 20 64 65 6c 69 | 6d 65 74 65 72 2c 20 74 |ing deli|meter, t|
|00001400| 68 65 20 63 64 72 0a 63 | 6f 6e 74 61 69 6e 73 20 |he cdr.c|ontains |
|00001410| 61 20 6c 69 73 74 20 6f | 66 20 64 61 74 61 20 72 |a list o|f data r|
|00001420| 65 6c 61 74 65 64 20 74 | 6f 20 69 74 2e 20 20 54 |elated t|o it. T|
|00001430| 68 65 20 65 6c 65 6d 65 | 6e 74 73 20 6f 66 20 74 |he eleme|nts of t|
|00001440| 68 65 20 6c 69 73 74 20 | 69 6e 0a 6f 72 64 65 72 |he list |in.order|
|00001450| 20 61 72 65 3a 0a 0a 30 | 2e 20 41 20 73 74 72 69 | are:..0|. A stri|
|00001460| 6e 67 20 74 68 61 74 20 | 69 73 20 75 73 65 64 20 |ng that |is used |
|00001470| 61 73 20 61 20 72 65 67 | 75 6c 61 72 20 65 78 70 |as a reg|ular exp|
|00001480| 72 65 73 73 69 6f 6e 20 | 6f 66 20 74 68 65 20 63 |ression |of the c|
|00001490| 6f 72 72 65 73 70 6f 6e | 64 69 6e 67 0a 20 20 20 |orrespon|ding. |
|000014a0| 63 6c 6f 73 69 6e 67 20 | 64 65 6c 69 6d 69 74 65 |closing |delimite|
|000014b0| 72 2e 0a 31 2e 20 49 66 | 20 74 20 6e 65 73 74 69 |r..1. If| t nesti|
|000014c0| 6e 67 20 6f 66 20 73 75 | 62 2d 65 78 70 72 65 73 |ng of su|b-expres|
|000014d0| 73 69 6f 6e 73 20 69 6e | 73 69 64 65 20 74 68 69 |sions in|side thi|
|000014e0| 73 20 6f 6e 65 20 69 73 | 20 61 6c 6c 6f 77 65 64 |s one is| allowed|
|000014f0| 2e 0a 32 2e 20 41 20 73 | 74 72 69 6e 67 20 74 68 |..2. A s|tring th|
|00001500| 61 74 20 69 73 20 75 73 | 65 64 20 61 73 20 61 20 |at is us|ed as a |
|00001510| 72 65 67 75 6c 61 72 20 | 65 78 70 72 65 73 73 69 |regular |expressi|
|00001520| 6f 6e 20 6f 66 20 61 20 | 64 65 6c 69 6d 69 74 65 |on of a |delimite|
|00001530| 72 20 74 68 61 74 20 69 | 73 20 61 6e 0a 20 20 20 |r that i|s an. |
|00001540| 65 72 72 6f 72 20 69 66 | 20 66 6f 75 6e 64 20 62 |error if| found b|
|00001550| 65 66 6f 72 65 20 74 68 | 65 20 63 6c 6f 73 69 6e |efore th|e closin|
|00001560| 67 20 64 65 6c 69 6d 69 | 74 65 72 2e 0a 33 2e 20 |g delimi|ter..3. |
|00001570| 49 66 20 74 20 61 66 74 | 65 72 20 61 20 63 6c 6f |If t aft|er a clo|
|00001580| 73 69 6e 67 20 64 65 6c | 69 6d 65 74 65 72 20 69 |sing del|imeter i|
|00001590| 66 20 66 6f 75 6e 64 2c | 20 67 6f 20 74 6f 20 74 |f found,| go to t|
|000015a0| 68 65 20 65 6e 64 20 6f | 66 20 74 68 65 20 64 65 |he end o|f the de|
|000015b0| 6c 69 6d 69 74 65 72 2e | 0a 34 2e 20 49 66 20 74 |limiter.|.4. If t|
|000015c0| 20 61 66 74 65 72 20 61 | 20 66 75 6c 6c 20 74 65 | after a| full te|
|000015d0| 78 74 20 73 75 62 2d 65 | 78 70 72 65 73 73 69 6f |xt sub-e|xpressio|
|000015e0| 6e 2c 20 67 6f 20 74 6f | 20 74 68 65 20 65 6e 64 |n, go to| the end|
|000015f0| 20 6f 66 20 74 68 65 20 | 64 65 6c 69 6d 69 74 65 | of the |delimite|
|00001600| 72 2e 0a 35 2e 20 4f 6e | 20 6d 6f 76 69 6e 67 20 |r..5. On| moving |
|00001610| 62 61 63 6b 77 61 72 64 | 20 6f 76 65 72 20 61 20 |backward| over a |
|00001620| 74 65 78 74 20 73 75 62 | 2d 65 78 70 72 65 73 73 |text sub|-express|
|00001630| 69 6f 6e 2c 20 69 66 20 | 73 74 61 72 74 69 6e 67 |ion, if |starting|
|00001640| 20 6f 6e 20 61 20 64 65 | 6c 69 6d 69 74 65 72 2c | on a de|limiter,|
|00001650| 0a 20 20 20 69 66 20 74 | 2c 20 69 74 20 69 73 20 |. if t|, it is |
|00001660| 61 20 76 61 6c 69 64 20 | 73 74 61 72 74 69 6e 67 |a valid |starting|
|00001670| 20 70 6f 69 6e 74 2e 22 | 0a 20 20 28 69 6e 74 65 | point."|. (inte|
|00001680| 72 61 63 74 69 76 65 20 | 22 70 22 29 0a 20 20 28 |ractive |"p"). (|
|00001690| 6c 65 74 20 28 28 63 61 | 73 65 2d 66 6f 6c 64 2d |let ((ca|se-fold-|
|000016a0| 73 65 61 72 63 68 20 6e | 69 6c 29 0a 09 09 09 09 |search n|il).....|
|000016b0| 28 65 6e 64 20 6e 69 6c | 29 0a 09 09 09 09 28 6e |(end nil|).....(n|
|000016c0| 6f 74 2d 64 6f 6e 65 20 | 74 29 0a 09 09 09 09 28 |ot-done |t).....(|
|000016d0| 65 78 69 74 2d 73 74 61 | 74 75 73 20 74 29 0a 09 |exit-sta|tus t)..|
|000016e0| 09 09 09 28 66 6c 61 67 | 29 0a 09 09 09 09 28 6b |...(flag|).....(k|
|000016f0| 65 79 29 0a 09 09 09 09 | 28 64 61 74 61 29 0a 09 |ey).....|(data)..|
|00001700| 09 09 09 28 68 6f 6c 64 | 2d 65 6e 64 29 29 0a 09 |...(hold|-end))..|
|00001710| 09 28 77 68 69 6c 65 20 | 28 61 6e 64 20 28 3e 20 |.(while |(and (> |
|00001720| 61 72 67 20 30 29 20 6e | 6f 74 2d 64 6f 6e 65 29 |arg 0) n|ot-done)|
|00001730| 0a 09 09 09 28 69 66 20 | 28 72 65 2d 73 65 61 72 |....(if |(re-sear|
|00001740| 63 68 2d 66 6f 72 77 61 | 72 64 20 74 65 78 74 2d |ch-forwa|rd text-|
|00001750| 73 65 78 70 2d 64 65 6c | 69 6d 20 6e 69 6c 20 31 |sexp-del|im nil 1|
|00001760| 20 31 29 0a 09 09 09 09 | 09 28 70 72 6f 67 6e 0a | 1).....|.(progn.|
|00001770| 09 09 09 09 09 09 28 73 | 65 74 71 20 6b 65 79 20 |......(s|etq key |
|00001780| 28 62 75 66 66 65 72 2d | 73 75 62 73 74 72 69 6e |(buffer-|substrin|
|00001790| 67 20 28 6d 61 74 63 68 | 2d 62 65 67 69 6e 6e 69 |g (match|-beginni|
|000017a0| 6e 67 20 30 29 20 28 70 | 6f 69 6e 74 29 29 29 0a |ng 0) (p|oint))).|
|000017b0| 09 09 09 09 09 09 28 73 | 65 74 71 20 64 61 74 61 |......(s|etq data|
|000017c0| 20 28 63 64 72 20 28 61 | 73 73 6f 63 20 6b 65 79 | (cdr (a|ssoc key|
|000017d0| 20 74 65 78 74 2d 73 65 | 78 70 2d 64 61 74 61 29 | text-se|xp-data)|
|000017e0| 29 29 0a 09 09 09 09 09 | 09 28 73 65 74 71 20 65 |))......|.(setq e|
|000017f0| 6e 64 20 28 6c 69 73 74 | 20 64 61 74 61 29 29 0a |nd (list| data)).|
|00001800| 09 09 09 09 09 09 28 6f | 72 20 64 61 74 61 20 28 |......(o|r data (|
|00001810| 73 65 74 71 20 6e 6f 74 | 2d 64 6f 6e 65 20 6e 69 |setq not|-done ni|
|00001820| 6c 20 65 78 69 74 2d 73 | 74 61 74 75 73 20 6e 69 |l exit-s|tatus ni|
|00001830| 6c 29 29 29 0a 09 09 09 | 09 28 73 65 74 71 20 6e |l)))....|.(setq n|
|00001840| 6f 74 2d 64 6f 6e 65 20 | 6e 69 6c 29 29 0a 09 09 |ot-done |nil))...|
|00001850| 09 28 73 65 74 71 20 66 | 6c 61 67 20 74 29 0a 09 |.(setq f|lag t)..|
|00001860| 09 09 28 77 68 69 6c 65 | 20 28 61 6e 64 20 66 6c |..(while| (and fl|
|00001870| 61 67 20 6e 6f 74 2d 64 | 6f 6e 65 29 0a 09 09 09 |ag not-d|one)....|
|00001880| 09 28 69 66 20 28 72 65 | 2d 73 65 61 72 63 68 2d |.(if (re|-search-|
|00001890| 66 6f 72 77 61 72 64 20 | 28 69 66 20 28 6e 74 68 |forward |(if (nth|
|000018a0| 20 31 20 64 61 74 61 29 | 20 74 65 78 74 2d 73 65 | 1 data)| text-se|
|000018b0| 78 70 2d 64 65 6c 69 6d | 20 28 6e 74 68 20 30 20 |xp-delim| (nth 0 |
|000018c0| 64 61 74 61 29 29 20 6e | 69 6c 20 31 20 31 29 0a |data)) n|il 1 1).|
|000018d0| 09 09 09 09 09 09 28 70 | 72 6f 67 6e 0a 09 09 09 |......(p|rogn....|
|000018e0| 09 09 09 09 28 73 65 74 | 71 20 68 6f 6c 64 2d 65 |....(set|q hold-e|
|000018f0| 6e 64 20 28 70 6f 69 6e | 74 29 29 0a 09 09 09 09 |nd (poin|t)).....|
|00001900| 09 09 09 28 67 6f 74 6f | 2d 63 68 61 72 20 28 6d |...(goto|-char (m|
|00001910| 61 74 63 68 2d 62 65 67 | 69 6e 6e 69 6e 67 20 30 |atch-beg|inning 0|
|00001920| 29 29 0a 09 09 09 09 09 | 09 09 28 63 6f 6e 64 0a |))......|..(cond.|
|00001930| 09 09 09 09 09 09 09 20 | 28 28 6c 6f 6f 6b 69 6e |....... |((lookin|
|00001940| 67 2d 61 74 20 28 6e 74 | 68 20 30 20 64 61 74 61 |g-at (nt|h 0 data|
|00001950| 29 29 0a 09 09 09 09 09 | 09 09 09 28 69 66 20 28 |))......|...(if (|
|00001960| 6e 74 68 20 33 20 64 61 | 74 61 29 20 28 67 6f 74 |nth 3 da|ta) (got|
|00001970| 6f 2d 63 68 61 72 20 28 | 6d 61 74 63 68 2d 65 6e |o-char (|match-en|
|00001980| 64 20 30 29 29 29 0a 09 | 09 09 09 09 09 09 09 28 |d 0)))..|.......(|
|00001990| 73 65 74 71 20 65 6e 64 | 20 28 6e 74 68 63 64 72 |setq end| (nthcdr|
|000019a0| 20 31 20 65 6e 64 29 29 | 0a 09 09 09 09 09 09 09 | 1 end))|........|
|000019b0| 09 28 73 65 74 71 20 64 | 61 74 61 20 28 6e 74 68 |.(setq d|ata (nth|
|000019c0| 20 30 20 65 6e 64 29 29 | 0a 09 09 09 09 09 09 09 | 0 end))|........|
|000019d0| 09 28 6f 72 20 65 6e 64 | 20 0a 09 09 09 09 09 09 |.(or end| .......|
|000019e0| 09 09 09 09 28 70 72 6f | 67 6e 20 0a 09 09 09 09 |....(pro|gn .....|
|000019f0| 09 09 09 09 09 09 09 28 | 69 66 20 28 6e 74 68 20 |.......(|if (nth |
|00001a00| 34 20 64 61 74 61 29 20 | 28 67 6f 74 6f 2d 63 68 |4 data) |(goto-ch|
|00001a10| 61 72 20 28 6d 61 74 63 | 68 2d 65 6e 64 20 30 29 |ar (matc|h-end 0)|
|00001a20| 29 29 0a 09 09 09 09 09 | 09 09 09 09 09 09 28 73 |))......|......(s|
|00001a30| 65 74 71 20 66 6c 61 67 | 20 6e 69 6c 29 29 29 29 |etq flag| nil))))|
|00001a40| 0a 09 09 09 09 09 09 09 | 20 28 28 61 6e 64 20 28 |........| ((and (|
|00001a50| 6e 74 68 20 32 20 64 61 | 74 61 29 20 28 6c 6f 6f |nth 2 da|ta) (loo|
|00001a60| 6b 69 6e 67 2d 61 74 20 | 28 6e 74 68 20 32 20 64 |king-at |(nth 2 d|
|00001a70| 61 74 61 29 29 29 0a 09 | 09 09 09 09 09 09 09 28 |ata)))..|.......(|
|00001a80| 67 6f 74 6f 2d 63 68 61 | 72 20 28 6d 61 74 63 68 |goto-cha|r (match|
|00001a90| 2d 65 6e 64 20 30 29 29 | 0a 09 09 09 09 09 09 09 |-end 0))|........|
|00001aa0| 09 28 73 65 74 71 20 6e | 6f 74 2d 64 6f 6e 65 20 |.(setq n|ot-done |
|00001ab0| 6e 69 6c 20 65 78 69 74 | 2d 73 74 61 74 75 73 20 |nil exit|-status |
|00001ac0| 6e 69 6c 29 29 0a 09 09 | 09 09 09 09 09 20 28 74 |nil))...|..... (t|
|00001ad0| 0a 09 09 09 09 09 09 09 | 09 28 73 65 74 71 20 6b |........|.(setq k|
|00001ae0| 65 79 20 28 62 75 66 66 | 65 72 2d 73 75 62 73 74 |ey (buff|er-subst|
|00001af0| 72 69 6e 67 20 28 70 6f | 69 6e 74 29 20 68 6f 6c |ring (po|int) hol|
|00001b00| 64 2d 65 6e 64 29 29 0a | 09 09 09 09 09 09 09 09 |d-end)).|........|
|00001b10| 28 73 65 74 71 20 64 61 | 74 61 20 28 63 64 72 20 |(setq da|ta (cdr |
|00001b20| 28 61 73 73 6f 63 20 6b | 65 79 20 74 65 78 74 2d |(assoc k|ey text-|
|00001b30| 73 65 78 70 2d 64 61 74 | 61 29 29 29 0a 09 09 09 |sexp-dat|a)))....|
|00001b40| 09 09 09 09 09 28 73 65 | 74 71 20 65 6e 64 20 28 |.....(se|tq end (|
|00001b50| 63 6f 6e 73 20 64 61 74 | 61 20 65 6e 64 29 29 0a |cons dat|a end)).|
|00001b60| 09 09 09 09 09 09 09 09 | 28 67 6f 74 6f 2d 63 68 |........|(goto-ch|
|00001b70| 61 72 20 68 6f 6c 64 2d | 65 6e 64 29 0a 09 09 09 |ar hold-|end)....|
|00001b80| 09 09 09 09 09 28 6f 72 | 20 64 61 74 61 20 28 73 |.....(or| data (s|
|00001b90| 65 74 71 20 6e 6f 74 2d | 64 6f 6e 65 20 6e 69 6c |etq not-|done nil|
|00001ba0| 20 65 78 69 74 2d 73 74 | 61 74 75 73 20 6e 69 6c | exit-st|atus nil|
|00001bb0| 29 29 29 29 29 0a 09 09 | 09 09 09 28 73 65 74 71 |)))))...|...(setq|
|00001bc0| 20 6e 6f 74 2d 64 6f 6e | 65 20 6e 69 6c 29 29 29 | not-don|e nil)))|
|00001bd0| 0a 09 09 09 28 73 65 74 | 71 20 61 72 67 20 28 31 |....(set|q arg (1|
|00001be0| 2d 20 61 72 67 29 29 29 | 0a 20 20 20 20 28 69 66 |- arg)))|. (if|
|00001bf0| 20 65 78 69 74 2d 73 74 | 61 74 75 73 0a 09 09 09 | exit-st|atus....|
|00001c00| 09 74 0a 20 20 20 20 20 | 20 28 69 66 20 6e 6f 2d |.t. | (if no-|
|00001c10| 65 72 72 6f 72 0a 09 09 | 09 09 09 6e 69 6c 0a 09 |error...|...nil..|
|00001c20| 09 09 09 28 65 72 72 6f | 72 20 22 49 6e 63 6f 6d |...(erro|r "Incom|
|00001c30| 70 6c 65 74 65 20 74 65 | 78 74 20 73 75 62 2d 65 |plete te|xt sub-e|
|00001c40| 78 70 72 65 73 73 69 6f | 6e 22 29 29 29 29 29 0a |xpressio|n"))))).|
|00001c50| 0a 28 64 65 66 75 6e 20 | 62 61 63 6b 77 61 72 64 |.(defun |backward|
|00001c60| 2d 74 65 78 74 2d 73 65 | 78 70 20 28 61 72 67 20 |-text-se|xp (arg |
|00001c70| 26 6f 70 74 69 6f 6e 61 | 6c 20 6e 6f 2d 65 72 72 |&optiona|l no-err|
|00001c80| 6f 72 20 73 74 61 72 74 | 2d 61 74 29 0a 20 20 22 |or start|-at). "|
|00001c90| 4d 6f 76 65 20 62 61 63 | 6b 77 61 72 64 20 6f 76 |Move bac|kward ov|
|00001ca0| 65 72 20 74 65 78 74 20 | 73 75 62 2d 65 78 70 72 |er text |sub-expr|
|00001cb0| 65 73 73 69 6f 6e 73 2e | 0a 41 72 67 75 6d 65 6e |essions.|.Argumen|
|00001cc0| 74 73 20 61 72 65 20 43 | 4f 55 4e 54 20 61 6e 64 |ts are C|OUNT and|
|00001cd0| 20 6f 70 74 69 6f 6e 61 | 6c 6c 79 20 4e 4f 2d 45 | optiona|lly NO-E|
|00001ce0| 52 52 4f 52 20 6f 6e 20 | 69 6e 63 6f 6d 70 6c 65 |RROR on |incomple|
|00001cf0| 74 65 20 65 78 70 72 65 | 73 73 69 6f 6e 73 0a 61 |te expre|ssions.a|
|00001d00| 6e 64 20 53 54 41 52 54 | 2d 41 54 20 74 6f 20 73 |nd START|-AT to s|
|00001d10| 74 61 72 74 20 74 68 65 | 20 73 65 61 72 63 68 20 |tart the| search |
|00001d20| 61 74 20 61 20 64 69 66 | 66 65 72 65 6e 74 20 70 |at a dif|ferent p|
|00001d30| 6f 69 6e 74 2e 0a 57 68 | 65 6e 20 69 6e 74 65 72 |oint..Wh|en inter|
|00001d40| 61 63 74 69 76 65 2c 20 | 43 4f 55 4e 54 20 69 73 |active, |COUNT is|
|00001d50| 20 74 68 65 20 70 72 6f | 63 65 73 73 65 64 20 70 | the pro|cessed p|
|00001d60| 72 65 66 69 78 20 61 72 | 67 75 6d 65 6e 74 2e 22 |refix ar|gument."|
|00001d70| 0a 20 20 28 69 6e 74 65 | 72 61 63 74 69 76 65 20 |. (inte|ractive |
|00001d80| 22 70 22 29 0a 20 20 28 | 6c 65 74 20 28 28 65 78 |"p"). (|let ((ex|
|00001d90| 69 74 2d 73 74 61 74 75 | 73 20 74 29 0a 09 09 09 |it-statu|s t)....|
|00001da0| 09 28 6e 6f 74 2d 64 6f | 6e 65 20 74 29 0a 09 09 |.(not-do|ne t)...|
|00001db0| 09 09 28 68 6f 6c 64 2d | 62 65 67 29 0a 09 09 09 |..(hold-|beg)....|
|00001dc0| 09 28 68 6f 6c 64 2d 65 | 6e 64 29 0a 09 09 09 09 |.(hold-e|nd).....|
|00001dd0| 28 74 6f 70 29 29 0a 09 | 09 28 69 66 20 28 61 6e |(top))..|.(if (an|
|00001de0| 64 20 28 6c 6f 6f 6b 69 | 6e 67 2d 61 74 20 74 65 |d (looki|ng-at te|
|00001df0| 78 74 2d 73 65 78 70 2d | 64 65 6c 69 6d 29 0a 09 |xt-sexp-|delim)..|
|00001e00| 09 09 09 09 09 20 28 6e | 74 68 20 35 20 28 63 64 |..... (n|th 5 (cd|
|00001e10| 72 20 28 61 73 73 6f 63 | 20 28 62 75 66 66 65 72 |r (assoc| (buffer|
|00001e20| 2d 73 75 62 73 74 72 69 | 6e 67 20 28 70 6f 69 6e |-substri|ng (poin|
|00001e30| 74 29 20 28 6d 61 74 63 | 68 2d 65 6e 64 20 30 29 |t) (matc|h-end 0)|
|00001e40| 29 0a 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |).......|........|
|00001e50| 09 09 74 65 78 74 2d 73 | 65 78 70 2d 64 61 74 61 |..text-s|exp-data|
|00001e60| 29 29 29 29 0a 09 09 09 | 09 28 73 65 74 71 20 68 |))))....|.(setq h|
|00001e70| 6f 6c 64 2d 62 65 67 20 | 28 6d 61 74 63 68 2d 62 |old-beg |(match-b|
|00001e80| 65 67 69 6e 6e 69 6e 67 | 20 30 29 20 68 6f 6c 64 |eginning| 0) hold|
|00001e90| 2d 65 6e 64 20 28 6d 61 | 74 63 68 2d 65 6e 64 20 |-end (ma|tch-end |
|00001ea0| 30 29 29 0a 09 09 09 28 | 69 66 20 28 72 65 2d 73 |0))....(|if (re-s|
|00001eb0| 65 61 72 63 68 2d 62 61 | 63 6b 77 61 72 64 20 74 |earch-ba|ckward t|
|00001ec0| 65 78 74 2d 73 65 78 70 | 2d 64 65 6c 69 6d 20 6e |ext-sexp|-delim n|
|00001ed0| 69 6c 20 31 20 31 29 0a | 09 09 09 09 09 28 73 65 |il 1 1).|.....(se|
|00001ee0| 74 71 20 68 6f 6c 64 2d | 62 65 67 20 28 6d 61 74 |tq hold-|beg (mat|
|00001ef0| 63 68 2d 62 65 67 69 6e | 6e 69 6e 67 20 30 29 20 |ch-begin|ning 0) |
|00001f00| 68 6f 6c 64 2d 65 6e 64 | 20 28 6d 61 74 63 68 2d |hold-end| (match-|
|00001f10| 65 6e 64 20 30 29 29 0a | 09 09 09 09 28 73 65 74 |end 0)).|....(set|
|00001f20| 71 20 65 78 69 74 2d 73 | 74 61 74 75 73 20 6e 69 |q exit-s|tatus ni|
|00001f30| 6c 20 6e 6f 74 2d 64 6f | 6e 65 20 6e 69 6c 29 29 |l not-do|ne nil))|
|00001f40| 29 0a 09 09 28 69 66 20 | 73 74 61 72 74 2d 61 74 |)...(if |start-at|
|00001f50| 20 28 67 6f 74 6f 2d 63 | 68 61 72 20 73 74 61 72 | (goto-c|har star|
|00001f60| 74 2d 61 74 29 29 0a 09 | 09 28 77 68 69 6c 65 20 |t-at))..|.(while |
|00001f70| 6e 6f 74 2d 64 6f 6e 65 | 0a 09 09 09 28 69 66 20 |not-done|....(if |
|00001f80| 28 72 65 2d 73 65 61 72 | 63 68 2d 62 61 63 6b 77 |(re-sear|ch-backw|
|00001f90| 61 72 64 20 74 65 78 74 | 2d 73 65 78 70 2d 64 65 |ard text|-sexp-de|
|00001fa0| 6c 69 6d 20 6e 69 6c 20 | 31 20 31 29 0a 09 09 09 |lim nil |1 1)....|
|00001fb0| 09 09 28 70 72 6f 67 6e | 0a 09 09 09 09 09 09 28 |..(progn|.......(|
|00001fc0| 73 65 74 71 20 74 6f 70 | 20 28 70 6f 69 6e 74 29 |setq top| (point)|
|00001fd0| 29 0a 09 09 09 09 09 09 | 28 61 6e 64 20 28 66 6f |).......|(and (fo|
|00001fe0| 72 77 61 72 64 2d 74 65 | 78 74 2d 73 65 78 70 20 |rward-te|xt-sexp |
|00001ff0| 61 72 67 20 74 29 0a 09 | 09 09 09 09 09 09 09 20 |arg t)..|....... |
|00002000| 28 6f 72 20 28 3d 20 28 | 70 6f 69 6e 74 29 20 68 |(or (= (|point) h|
|00002010| 6f 6c 64 2d 62 65 67 29 | 20 28 3d 20 28 70 6f 69 |old-beg)| (= (poi|
|00002020| 6e 74 29 20 68 6f 6c 64 | 2d 65 6e 64 29 29 0a 09 |nt) hold|-end))..|
|00002030| 09 09 09 09 09 09 09 20 | 28 73 65 74 71 20 6e 6f |....... |(setq no|
|00002040| 74 2d 64 6f 6e 65 20 6e | 69 6c 29 29 0a 09 09 09 |t-done n|il))....|
|00002050| 09 09 09 28 67 6f 74 6f | 2d 63 68 61 72 20 74 6f |...(goto|-char to|
|00002060| 70 29 29 0a 09 09 09 09 | 28 73 65 74 71 20 65 78 |p)).....|(setq ex|
|00002070| 69 74 2d 73 74 61 74 75 | 73 20 6e 69 6c 20 6e 6f |it-statu|s nil no|
|00002080| 74 2d 64 6f 6e 65 20 6e | 69 6c 29 29 29 0a 20 20 |t-done n|il))). |
|00002090| 20 20 28 69 66 20 65 78 | 69 74 2d 73 74 61 74 75 | (if ex|it-statu|
|000020a0| 73 0a 09 09 09 09 74 0a | 20 20 20 20 20 20 28 69 |s.....t.| (i|
|000020b0| 66 20 6e 6f 2d 65 72 72 | 6f 72 0a 09 09 09 09 09 |f no-err|or......|
|000020c0| 6e 69 6c 0a 09 09 09 09 | 28 65 72 72 6f 72 20 22 |nil.....|(error "|
|000020d0| 49 6e 63 6f 6d 70 6c 65 | 74 65 20 74 65 78 74 20 |Incomple|te text |
|000020e0| 73 75 62 2d 65 78 70 72 | 65 73 73 69 6f 6e 22 29 |sub-expr|ession")|
|000020f0| 29 29 29 29 0a 0a 28 64 | 65 66 75 6e 20 6d 76 69 |))))..(d|efun mvi|
|00002100| 2d 66 2d 74 65 78 74 2d | 73 65 78 70 20 28 61 72 |-f-text-|sexp (ar|
|00002110| 67 20 6e 75 6d 62 65 72 | 20 26 6f 70 74 69 6f 6e |g number| &option|
|00002120| 61 6c 20 6d 6f 74 69 6f | 6e 2d 61 72 67 20 74 65 |al motio|n-arg te|
|00002130| 78 74 29 0a 20 20 22 6d | 76 69 20 66 6f 72 77 61 |xt). "m|vi forwa|
|00002140| 72 64 20 74 65 78 74 20 | 73 75 62 2d 65 78 70 72 |rd text |sub-expr|
|00002150| 65 73 73 69 6f 6e 2e 22 | 0a 20 20 28 69 6e 74 65 |ession."|. (inte|
|00002160| 72 61 63 74 69 76 65 20 | 22 50 5c 6e 56 22 29 0a |ractive |"P\nV").|
|00002170| 09 28 6c 65 74 20 28 28 | 72 65 67 69 73 74 65 72 |.(let ((|register|
|00002180| 20 28 6d 76 69 2d 6e 74 | 68 20 31 20 61 72 67 29 | (mvi-nt|h 1 arg)|
|00002190| 29 0a 09 09 09 09 28 61 | 70 70 65 6e 64 20 28 6d |).....(a|ppend (m|
|000021a0| 76 69 2d 6e 74 68 20 32 | 20 61 72 67 29 29 0a 09 |vi-nth 2| arg))..|
|000021b0| 09 09 09 28 67 2d 66 6c | 61 67 20 28 6d 76 69 2d |...(g-fl|ag (mvi-|
|000021c0| 6e 74 68 20 33 20 61 72 | 67 29 29 0a 09 09 09 09 |nth 3 ar|g)).....|
|000021d0| 28 63 6f 6d 6d 61 6e 64 | 20 28 6d 76 69 2d 6e 74 |(command| (mvi-nt|
|000021e0| 68 20 34 20 61 72 67 29 | 29 0a 09 09 09 09 28 68 |h 4 arg)|).....(h|
|000021f0| 69 73 74 2d 74 6d 70 29 | 29 0a 09 09 28 6d 6f 76 |ist-tmp)|)...(mov|
|00002200| 65 2d 6d 61 72 6b 65 72 | 20 6d 76 69 2d 67 2d 70 |e-marker| mvi-g-p|
|00002210| 6f 69 6e 74 20 28 70 6f | 69 6e 74 29 29 0a 09 09 |oint (po|int))...|
|00002220| 28 69 66 20 63 6f 6d 6d | 61 6e 64 20 0a 09 09 09 |(if comm|and ....|
|00002230| 28 70 72 6f 67 6e 0a 09 | 09 09 09 28 6d 6f 76 65 |(progn..|...(move|
|00002240| 2d 6d 61 72 6b 65 72 20 | 6d 76 69 2d 63 6f 6d 2d |-marker |mvi-com-|
|00002250| 70 6f 69 6e 74 20 28 70 | 6f 69 6e 74 29 29 0a 09 |point (p|oint))..|
|00002260| 09 09 09 28 66 6f 72 77 | 61 72 64 2d 74 65 78 74 |...(forw|ard-text|
|00002270| 2d 73 65 78 70 20 6e 75 | 6d 62 65 72 29 0a 09 09 |-sexp nu|mber)...|
|00002280| 09 09 28 6d 76 69 2d 65 | 78 65 63 75 74 65 2d 63 |..(mvi-e|xecute-c|
|00002290| 6f 6d 20 27 6d 76 69 2d | 66 2d 74 65 78 74 2d 73 |om 'mvi-|f-text-s|
|000022a0| 65 78 70 29 29 0a 09 09 | 09 28 66 6f 72 77 61 72 |exp))...|.(forwar|
|000022b0| 64 2d 74 65 78 74 2d 73 | 65 78 70 20 6e 75 6d 62 |d-text-s|exp numb|
|000022c0| 65 72 29 29 29 29 0a 0a | 28 64 65 66 75 6e 20 6d |er))))..|(defun m|
|000022d0| 76 69 2d 62 2d 74 65 78 | 74 2d 73 65 78 70 20 28 |vi-b-tex|t-sexp (|
|000022e0| 61 72 67 20 6e 75 6d 62 | 65 72 20 26 6f 70 74 69 |arg numb|er &opti|
|000022f0| 6f 6e 61 6c 20 6d 6f 74 | 69 6f 6e 2d 61 72 67 20 |onal mot|ion-arg |
|00002300| 74 65 78 74 29 0a 20 20 | 22 6d 76 69 20 62 61 63 |text). |"mvi bac|
|00002310| 6b 77 61 72 64 20 74 65 | 78 74 20 73 75 62 2d 65 |kward te|xt sub-e|
|00002320| 78 70 72 65 73 73 69 6f | 6e 2e 22 0a 20 20 28 69 |xpressio|n.". (i|
|00002330| 6e 74 65 72 61 63 74 69 | 76 65 20 22 50 5c 6e 56 |nteracti|ve "P\nV|
|00002340| 22 29 0a 09 28 6c 65 74 | 20 28 28 72 65 67 69 73 |")..(let| ((regis|
|00002350| 74 65 72 20 28 6d 76 69 | 2d 6e 74 68 20 31 20 61 |ter (mvi|-nth 1 a|
|00002360| 72 67 29 29 0a 09 09 09 | 09 28 61 70 70 65 6e 64 |rg))....|.(append|
|00002370| 20 28 6d 76 69 2d 6e 74 | 68 20 32 20 61 72 67 29 | (mvi-nt|h 2 arg)|
|00002380| 29 0a 09 09 09 09 28 67 | 2d 66 6c 61 67 20 28 6d |).....(g|-flag (m|
|00002390| 76 69 2d 6e 74 68 20 33 | 20 61 72 67 29 29 0a 09 |vi-nth 3| arg))..|
|000023a0| 09 09 09 28 63 6f 6d 6d | 61 6e 64 20 28 6d 76 69 |...(comm|and (mvi|
|000023b0| 2d 6e 74 68 20 34 20 61 | 72 67 29 29 0a 09 09 09 |-nth 4 a|rg))....|
|000023c0| 09 28 6f 72 69 67 2d 63 | 68 61 72 20 28 70 6f 69 |.(orig-c|har (poi|
|000023d0| 6e 74 29 29 0a 09 09 09 | 09 28 73 74 61 72 74 2d |nt))....|.(start-|
|000023e0| 61 74 20 28 70 6f 69 6e | 74 29 29 0a 09 09 09 09 |at (poin|t)).....|
|000023f0| 28 66 6c 61 67 20 74 29 | 0a 09 09 09 09 28 63 29 |(flag t)|.....(c)|
|00002400| 0a 09 09 09 09 28 68 69 | 73 74 2d 74 6d 70 29 29 |.....(hi|st-tmp))|
|00002410| 0a 09 09 28 6d 6f 76 65 | 2d 6d 61 72 6b 65 72 20 |...(move|-marker |
|00002420| 6d 76 69 2d 67 2d 70 6f | 69 6e 74 20 28 70 6f 69 |mvi-g-po|int (poi|
|00002430| 6e 74 29 29 0a 09 09 28 | 69 66 20 63 6f 6d 6d 61 |nt))...(|if comma|
|00002440| 6e 64 20 28 6d 6f 76 65 | 2d 6d 61 72 6b 65 72 20 |nd (move|-marker |
|00002450| 6d 76 69 2d 63 6f 6d 2d | 70 6f 69 6e 74 20 28 70 |mvi-com-|point (p|
|00002460| 6f 69 6e 74 29 29 29 0a | 09 09 28 69 66 20 28 3e |oint))).|..(if (>|
|00002470| 3d 20 6e 75 6d 62 65 72 | 20 30 29 0a 09 09 09 09 |= number| 0).....|
|00002480| 28 62 61 63 6b 77 61 72 | 64 2d 74 65 78 74 2d 73 |(backwar|d-text-s|
|00002490| 65 78 70 20 6e 75 6d 62 | 65 72 29 0a 09 09 09 28 |exp numb|er)....(|
|000024a0| 77 68 69 6c 65 20 66 6c | 61 67 0a 09 09 09 09 28 |while fl|ag.....(|
|000024b0| 69 66 20 28 62 61 63 6b | 77 61 72 64 2d 74 65 78 |if (back|ward-tex|
|000024c0| 74 2d 73 65 78 70 20 28 | 2d 20 6e 75 6d 62 65 72 |t-sexp (|- number|
|000024d0| 29 20 74 20 73 74 61 72 | 74 2d 61 74 29 20 0a 09 |) t star|t-at) ..|
|000024e0| 09 09 09 09 09 28 69 66 | 20 28 70 72 6f 67 6e 20 |.....(if| (progn |
|000024f0| 28 6d 65 73 73 61 67 65 | 20 22 47 6f 20 62 61 63 |(message| "Go bac|
|00002500| 6b 20 66 75 72 74 68 65 | 72 3f 22 29 20 0a 09 09 |k furthe|r?") ...|
|00002510| 09 09 09 09 09 09 09 09 | 09 20 28 73 65 74 71 20 |........|. (setq |
|00002520| 63 20 28 72 65 61 64 2d | 63 68 61 72 29 29 20 28 |c (read-|char)) (|
|00002530| 6f 72 20 28 3d 20 63 20 | 3f 79 29 20 28 3d 20 63 |or (= c |?y) (= c|
|00002540| 20 3f 59 29 29 29 0a 09 | 09 09 09 09 09 09 09 28 | ?Y)))..|.......(|
|00002550| 70 72 6f 67 6e 0a 09 09 | 09 09 09 09 09 09 09 28 |progn...|.......(|
|00002560| 73 65 74 71 20 73 74 61 | 72 74 2d 61 74 20 28 70 |setq sta|rt-at (p|
|00002570| 6f 69 6e 74 29 29 0a 09 | 09 09 09 09 09 09 09 09 |oint))..|........|
|00002580| 28 67 6f 74 6f 2d 63 68 | 61 72 20 6f 72 69 67 2d |(goto-ch|ar orig-|
|00002590| 63 68 61 72 29 29 0a 09 | 09 09 09 09 09 09 28 73 |char))..|......(s|
|000025a0| 65 74 71 20 66 6c 61 67 | 20 6e 69 6c 29 29 0a 09 |etq flag| nil))..|
|000025b0| 09 09 09 09 28 65 72 72 | 6f 72 20 22 49 6e 63 6f |....(err|or "Inco|
|000025c0| 6d 70 6c 65 74 65 20 74 | 65 78 74 20 73 75 62 2d |mplete t|ext sub-|
|000025d0| 65 78 70 72 65 73 73 69 | 6f 6e 22 29 29 29 29 0a |expressi|on")))).|
|000025e0| 09 09 28 69 66 20 63 6f | 6d 6d 61 6e 64 20 28 6d |..(if co|mmand (m|
|000025f0| 76 69 2d 65 78 65 63 75 | 74 65 2d 63 6f 6d 20 27 |vi-execu|te-com '|
|00002600| 6d 76 69 2d 62 2d 74 65 | 78 74 2d 73 65 78 70 29 |mvi-b-te|xt-sexp)|
|00002610| 29 29 29 0a 0a 28 64 65 | 66 75 6e 20 6d 76 69 2d |)))..(de|fun mvi-|
|00002620| 66 6f 72 77 61 72 64 2d | 73 65 6e 74 65 6e 63 65 |forward-|sentence|
|00002630| 20 28 61 72 67 29 0a 20 | 20 22 4d 6f 76 65 20 66 | (arg). | "Move f|
|00002640| 6f 72 77 61 72 64 20 74 | 6f 20 6e 65 78 74 20 73 |orward t|o next s|
|00002650| 65 6e 74 65 6e 63 65 2d | 65 6e 64 2e 20 20 44 69 |entence-|end. Di|
|00002660| 66 66 65 72 73 20 66 72 | 6f 6d 20 67 6e 75 73 20 |ffers fr|om gnus |
|00002670| 62 79 20 6d 6f 76 69 6e | 67 20 74 6f 0a 74 68 65 |by movin|g to.the|
|00002680| 20 62 65 67 69 6e 6e 69 | 6e 67 20 6f 66 20 74 68 | beginni|ng of th|
|00002690| 65 20 6e 65 78 74 20 73 | 65 6e 74 65 6e 63 65 20 |e next s|entence |
|000026a0| 69 66 20 70 6f 73 73 69 | 62 6c 65 2e 22 0a 20 20 |if possi|ble.". |
|000026b0| 28 77 68 69 6c 65 20 28 | 3c 20 61 72 67 20 30 29 |(while (|< arg 0)|
|000026c0| 0a 20 20 20 20 28 6c 65 | 74 20 28 28 70 61 72 2d |. (le|t ((par-|
|000026d0| 62 65 67 20 28 73 61 76 | 65 2d 65 78 63 75 72 73 |beg (sav|e-excurs|
|000026e0| 69 6f 6e 20 28 73 74 61 | 72 74 2d 6f 66 2d 70 61 |ion (sta|rt-of-pa|
|000026f0| 72 61 67 72 61 70 68 2d | 74 65 78 74 29 20 28 70 |ragraph-|text) (p|
|00002700| 6f 69 6e 74 29 29 29 29 | 0a 20 20 20 20 20 20 28 |oint))))|. (|
|00002710| 69 66 20 28 72 65 2d 73 | 65 61 72 63 68 2d 62 61 |if (re-s|earch-ba|
|00002720| 63 6b 77 61 72 64 20 28 | 63 6f 6e 63 61 74 20 73 |ckward (|concat s|
|00002730| 65 6e 74 65 6e 63 65 2d | 65 6e 64 20 22 5b 5e 20 |entence-|end "[^ |
|00002740| 5c 74 5c 6e 5d 22 29 20 | 70 61 72 2d 62 65 67 20 |\t\n]") |par-beg |
|00002750| 74 29 0a 09 20 20 28 67 | 6f 74 6f 2d 63 68 61 72 |t).. (g|oto-char|
|00002760| 20 28 31 2d 20 28 6d 61 | 74 63 68 2d 65 6e 64 20 | (1- (ma|tch-end |
|00002770| 30 29 29 29 0a 09 28 67 | 6f 74 6f 2d 63 68 61 72 |0)))..(g|oto-char|
|00002780| 20 70 61 72 2d 62 65 67 | 29 29 29 0a 20 20 20 20 | par-beg|))). |
|00002790| 28 73 65 74 71 20 61 72 | 67 20 28 31 2b 20 61 72 |(setq ar|g (1+ ar|
|000027a0| 67 29 29 29 0a 20 20 28 | 77 68 69 6c 65 20 28 3e |g))). (|while (>|
|000027b0| 20 61 72 67 20 30 29 0a | 20 20 20 20 28 6c 65 74 | arg 0).| (let|
|000027c0| 20 28 28 70 61 72 2d 65 | 6e 64 20 28 73 61 76 65 | ((par-e|nd (save|
|000027d0| 2d 65 78 63 75 72 73 69 | 6f 6e 20 28 65 6e 64 2d |-excursi|on (end-|
|000027e0| 6f 66 2d 70 61 72 61 67 | 72 61 70 68 2d 74 65 78 |of-parag|raph-tex|
|000027f0| 74 29 20 28 70 6f 69 6e | 74 29 29 29 29 0a 20 20 |t) (poin|t)))). |
|00002800| 20 20 20 20 28 69 66 20 | 28 72 65 2d 73 65 61 72 | (if |(re-sear|
|00002810| 63 68 2d 66 6f 72 77 61 | 72 64 20 73 65 6e 74 65 |ch-forwa|rd sente|
|00002820| 6e 63 65 2d 65 6e 64 20 | 70 61 72 2d 65 6e 64 20 |nce-end |par-end |
|00002830| 74 29 0a 09 09 09 09 28 | 70 72 6f 67 6e 0a 09 09 |t).....(|progn...|
|00002840| 09 09 09 28 73 6b 69 70 | 2d 63 68 61 72 73 2d 62 |...(skip|-chars-b|
|00002850| 61 63 6b 77 61 72 64 20 | 22 20 5c 74 5c 6e 22 29 |ackward |" \t\n")|
|00002860| 0a 09 09 09 09 09 28 61 | 6e 64 20 28 3d 20 61 72 |......(a|nd (= ar|
|00002870| 67 20 31 29 20 28 6c 6f | 6f 6b 69 6e 67 2d 61 74 |g 1) (lo|oking-at|
|00002880| 20 22 5b 20 5c 74 5d 2b | 5c 5c 77 5c 5c 7c 5b 20 | "[ \t]+|\\w\\|[ |
|00002890| 5c 74 5d 2a 5c 6e 5b 20 | 5c 74 5d 2a 5c 5c 77 22 |\t]*\n[ |\t]*\\w"|
|000028a0| 29 20 0a 09 09 09 09 09 | 09 28 67 6f 74 6f 2d 63 |) ......|.(goto-c|
|000028b0| 68 61 72 20 28 31 2d 20 | 28 6d 61 74 63 68 2d 65 |har (1- |(match-e|
|000028c0| 6e 64 20 30 29 29 29 29 | 29 0a 09 09 09 09 28 67 |nd 0))))|).....(g|
|000028d0| 6f 74 6f 2d 63 68 61 72 | 20 70 61 72 2d 65 6e 64 |oto-char| par-end|
|000028e0| 29 29 29 0a 20 20 20 20 | 28 73 65 74 71 20 61 72 |))). |(setq ar|
|000028f0| 67 20 28 31 2d 20 61 72 | 67 29 29 29 29 0a 0a 28 |g (1- ar|g))))..(|
|00002900| 64 65 66 75 6e 20 6d 76 | 69 2d 66 2d 73 65 6e 74 |defun mv|i-f-sent|
|00002910| 20 28 61 72 67 20 6e 75 | 6d 62 65 72 20 26 6f 70 | (arg nu|mber &op|
|00002920| 74 69 6f 6e 61 6c 20 6d | 6f 74 69 6f 6e 2d 61 72 |tional m|otion-ar|
|00002930| 67 20 74 65 78 74 29 0a | 20 20 22 6d 76 69 20 66 |g text).| "mvi f|
|00002940| 6f 72 77 61 72 64 20 73 | 65 6e 74 65 6e 63 65 2e |orward s|entence.|
|00002950| 22 0a 20 20 28 69 6e 74 | 65 72 61 63 74 69 76 65 |". (int|eractive|
|00002960| 20 22 50 5c 6e 56 22 29 | 0a 09 28 6c 65 74 20 28 | "P\nV")|..(let (|
|00002970| 28 72 65 67 69 73 74 65 | 72 20 28 6d 76 69 2d 6e |(registe|r (mvi-n|
|00002980| 74 68 20 31 20 61 72 67 | 29 29 0a 09 09 09 09 28 |th 1 arg|)).....(|
|00002990| 61 70 70 65 6e 64 20 28 | 6d 76 69 2d 6e 74 68 20 |append (|mvi-nth |
|000029a0| 32 20 61 72 67 29 29 0a | 09 09 09 09 28 67 2d 66 |2 arg)).|....(g-f|
|000029b0| 6c 61 67 20 28 6d 76 69 | 2d 6e 74 68 20 33 20 61 |lag (mvi|-nth 3 a|
|000029c0| 72 67 29 29 0a 09 09 09 | 09 28 63 6f 6d 6d 61 6e |rg))....|.(comman|
|000029d0| 64 20 28 6d 76 69 2d 6e | 74 68 20 34 20 61 72 67 |d (mvi-n|th 4 arg|
|000029e0| 29 29 0a 09 09 09 09 28 | 68 69 73 74 2d 74 6d 70 |)).....(|hist-tmp|
|000029f0| 29 29 0a 09 09 28 6d 6f | 76 65 2d 6d 61 72 6b 65 |))...(mo|ve-marke|
|00002a00| 72 20 6d 76 69 2d 67 2d | 70 6f 69 6e 74 20 28 70 |r mvi-g-|point (p|
|00002a10| 6f 69 6e 74 29 29 0a 09 | 09 28 69 66 20 63 6f 6d |oint))..|.(if com|
|00002a20| 6d 61 6e 64 20 0a 09 09 | 09 28 70 72 6f 67 6e 0a |mand ...|.(progn.|
|00002a30| 09 09 09 09 28 6d 6f 76 | 65 2d 6d 61 72 6b 65 72 |....(mov|e-marker|
|00002a40| 20 6d 76 69 2d 63 6f 6d | 2d 70 6f 69 6e 74 20 28 | mvi-com|-point (|
|00002a50| 70 6f 69 6e 74 29 29 0a | 09 09 09 09 28 6d 76 69 |point)).|....(mvi|
|00002a60| 2d 66 6f 72 77 61 72 64 | 2d 73 65 6e 74 65 6e 63 |-forward|-sentenc|
|00002a70| 65 20 6e 75 6d 62 65 72 | 29 0a 09 09 09 09 28 6d |e number|).....(m|
|00002a80| 76 69 2d 65 78 65 63 75 | 74 65 2d 63 6f 6d 20 27 |vi-execu|te-com '|
|00002a90| 6d 76 69 2d 66 2d 73 65 | 6e 74 29 29 0a 09 09 09 |mvi-f-se|nt))....|
|00002aa0| 28 6d 76 69 2d 66 6f 72 | 77 61 72 64 2d 73 65 6e |(mvi-for|ward-sen|
|00002ab0| 74 65 6e 63 65 20 6e 75 | 6d 62 65 72 29 29 29 29 |tence nu|mber))))|
|00002ac0| 0a 0a 28 64 65 66 75 6e | 20 6d 76 69 2d 62 2d 73 |..(defun| mvi-b-s|
|00002ad0| 65 6e 74 20 28 61 72 67 | 20 6e 75 6d 62 65 72 20 |ent (arg| number |
|00002ae0| 26 6f 70 74 69 6f 6e 61 | 6c 20 6d 6f 74 69 6f 6e |&optiona|l motion|
|00002af0| 2d 61 72 67 20 74 65 78 | 74 29 0a 20 20 22 6d 76 |-arg tex|t). "mv|
|00002b00| 69 20 62 61 63 6b 77 61 | 72 64 20 73 65 6e 74 65 |i backwa|rd sente|
|00002b10| 6e 63 65 2e 22 0a 20 20 | 28 69 6e 74 65 72 61 63 |nce.". |(interac|
|00002b20| 74 69 76 65 20 22 50 5c | 6e 56 22 29 0a 09 28 6c |tive "P\|nV")..(l|
|00002b30| 65 74 20 28 28 72 65 67 | 69 73 74 65 72 20 28 6d |et ((reg|ister (m|
|00002b40| 76 69 2d 6e 74 68 20 31 | 20 61 72 67 29 29 0a 09 |vi-nth 1| arg))..|
|00002b50| 09 09 09 28 61 70 70 65 | 6e 64 20 28 6d 76 69 2d |...(appe|nd (mvi-|
|00002b60| 6e 74 68 20 32 20 61 72 | 67 29 29 0a 09 09 09 09 |nth 2 ar|g)).....|
|00002b70| 28 67 2d 66 6c 61 67 20 | 28 6d 76 69 2d 6e 74 68 |(g-flag |(mvi-nth|
|00002b80| 20 33 20 61 72 67 29 29 | 0a 09 09 09 09 28 63 6f | 3 arg))|.....(co|
|00002b90| 6d 6d 61 6e 64 20 28 6d | 76 69 2d 6e 74 68 20 34 |mmand (m|vi-nth 4|
|00002ba0| 20 61 72 67 29 29 0a 09 | 09 09 09 28 68 69 73 74 | arg))..|...(hist|
|00002bb0| 2d 74 6d 70 29 29 0a 09 | 09 28 6d 6f 76 65 2d 6d |-tmp))..|.(move-m|
|00002bc0| 61 72 6b 65 72 20 6d 76 | 69 2d 67 2d 70 6f 69 6e |arker mv|i-g-poin|
|00002bd0| 74 20 28 70 6f 69 6e 74 | 29 29 0a 09 09 28 69 66 |t (point|))...(if|
|00002be0| 20 63 6f 6d 6d 61 6e 64 | 20 0a 09 09 09 28 70 72 | command| ....(pr|
|00002bf0| 6f 67 6e 0a 09 09 09 09 | 28 6d 6f 76 65 2d 6d 61 |ogn.....|(move-ma|
|00002c00| 72 6b 65 72 20 6d 76 69 | 2d 63 6f 6d 2d 70 6f 69 |rker mvi|-com-poi|
|00002c10| 6e 74 20 28 70 6f 69 6e | 74 29 29 0a 09 09 09 09 |nt (poin|t)).....|
|00002c20| 28 6d 76 69 2d 66 6f 72 | 77 61 72 64 2d 73 65 6e |(mvi-for|ward-sen|
|00002c30| 74 65 6e 63 65 20 28 2d | 20 6e 75 6d 62 65 72 29 |tence (-| number)|
|00002c40| 29 0a 09 09 09 09 28 6d | 76 69 2d 65 78 65 63 75 |).....(m|vi-execu|
|00002c50| 74 65 2d 63 6f 6d 20 27 | 6d 76 69 2d 62 2d 73 65 |te-com '|mvi-b-se|
|00002c60| 6e 74 29 29 0a 09 09 09 | 28 6d 76 69 2d 66 6f 72 |nt))....|(mvi-for|
|00002c70| 77 61 72 64 2d 73 65 6e | 74 65 6e 63 65 20 28 2d |ward-sen|tence (-|
|00002c80| 20 6e 75 6d 62 65 72 29 | 29 29 29 29 0a 0a 28 64 | number)|))))..(d|
|00002c90| 65 66 75 6e 20 6d 76 69 | 2d 66 2d 70 61 72 20 28 |efun mvi|-f-par (|
|00002ca0| 61 72 67 20 6e 75 6d 62 | 65 72 20 26 6f 70 74 69 |arg numb|er &opti|
|00002cb0| 6f 6e 61 6c 20 6d 6f 74 | 69 6f 6e 2d 61 72 67 20 |onal mot|ion-arg |
|00002cc0| 74 65 78 74 29 0a 20 20 | 22 6d 76 69 20 66 6f 72 |text). |"mvi for|
|00002cd0| 77 61 72 64 20 70 61 72 | 61 67 72 61 70 68 2e 22 |ward par|agraph."|
|00002ce0| 0a 20 20 28 69 6e 74 65 | 72 61 63 74 69 76 65 20 |. (inte|ractive |
|00002cf0| 22 50 5c 6e 56 22 29 0a | 09 28 6c 65 74 20 28 28 |"P\nV").|.(let ((|
|00002d00| 72 65 67 69 73 74 65 72 | 20 28 6d 76 69 2d 6e 74 |register| (mvi-nt|
|00002d10| 68 20 31 20 61 72 67 29 | 29 0a 09 09 09 09 28 61 |h 1 arg)|).....(a|
|00002d20| 70 70 65 6e 64 20 28 6d | 76 69 2d 6e 74 68 20 32 |ppend (m|vi-nth 2|
|00002d30| 20 61 72 67 29 29 0a 09 | 09 09 09 28 67 2d 66 6c | arg))..|...(g-fl|
|00002d40| 61 67 20 28 6d 76 69 2d | 6e 74 68 20 33 20 61 72 |ag (mvi-|nth 3 ar|
|00002d50| 67 29 29 0a 09 09 09 09 | 28 63 6f 6d 6d 61 6e 64 |g)).....|(command|
|00002d60| 20 28 6d 76 69 2d 6e 74 | 68 20 34 20 61 72 67 29 | (mvi-nt|h 4 arg)|
|00002d70| 29 0a 09 09 09 09 28 68 | 69 73 74 2d 74 6d 70 29 |).....(h|ist-tmp)|
|00002d80| 29 0a 09 09 28 6d 6f 76 | 65 2d 6d 61 72 6b 65 72 |)...(mov|e-marker|
|00002d90| 20 6d 76 69 2d 67 2d 70 | 6f 69 6e 74 20 28 70 6f | mvi-g-p|oint (po|
|00002da0| 69 6e 74 29 29 0a 09 09 | 28 69 66 20 63 6f 6d 6d |int))...|(if comm|
|00002db0| 61 6e 64 20 0a 09 09 09 | 28 70 72 6f 67 6e 0a 09 |and ....|(progn..|
|00002dc0| 09 09 09 28 6d 6f 76 65 | 2d 6d 61 72 6b 65 72 20 |...(move|-marker |
|00002dd0| 6d 76 69 2d 63 6f 6d 2d | 70 6f 69 6e 74 20 28 70 |mvi-com-|point (p|
|00002de0| 6f 69 6e 74 29 29 0a 09 | 09 09 09 28 66 6f 72 77 |oint))..|...(forw|
|00002df0| 61 72 64 2d 70 61 72 61 | 67 72 61 70 68 20 6e 75 |ard-para|graph nu|
|00002e00| 6d 62 65 72 29 0a 09 09 | 09 09 28 6d 76 69 2d 65 |mber)...|..(mvi-e|
|00002e10| 78 65 63 75 74 65 2d 63 | 6f 6d 20 27 6d 76 69 2d |xecute-c|om 'mvi-|
|00002e20| 66 2d 70 61 72 29 29 0a | 09 09 09 28 66 6f 72 77 |f-par)).|...(forw|
|00002e30| 61 72 64 2d 70 61 72 61 | 67 72 61 70 68 20 6e 75 |ard-para|graph nu|
|00002e40| 6d 62 65 72 29 29 29 29 | 0a 0a 28 64 65 66 75 6e |mber))))|..(defun|
|00002e50| 20 6d 76 69 2d 62 2d 70 | 61 72 20 28 61 72 67 20 | mvi-b-p|ar (arg |
|00002e60| 6e 75 6d 62 65 72 20 26 | 6f 70 74 69 6f 6e 61 6c |number &|optional|
|00002e70| 20 6d 6f 74 69 6f 6e 2d | 61 72 67 20 74 65 78 74 | motion-|arg text|
|00002e80| 29 0a 20 20 22 6d 76 69 | 20 62 61 63 6b 77 61 72 |). "mvi| backwar|
|00002e90| 64 20 70 61 72 61 67 72 | 61 70 68 2e 22 0a 20 20 |d paragr|aph.". |
|00002ea0| 28 69 6e 74 65 72 61 63 | 74 69 76 65 20 22 50 5c |(interac|tive "P\|
|00002eb0| 6e 56 22 29 0a 09 28 6c | 65 74 20 28 28 72 65 67 |nV")..(l|et ((reg|
|00002ec0| 69 73 74 65 72 20 28 6d | 76 69 2d 6e 74 68 20 31 |ister (m|vi-nth 1|
|00002ed0| 20 61 72 67 29 29 0a 09 | 09 09 09 28 61 70 70 65 | arg))..|...(appe|
|00002ee0| 6e 64 20 28 6d 76 69 2d | 6e 74 68 20 32 20 61 72 |nd (mvi-|nth 2 ar|
|00002ef0| 67 29 29 0a 09 09 09 09 | 28 67 2d 66 6c 61 67 20 |g)).....|(g-flag |
|00002f00| 28 6d 76 69 2d 6e 74 68 | 20 33 20 61 72 67 29 29 |(mvi-nth| 3 arg))|
|00002f10| 0a 09 09 09 09 28 63 6f | 6d 6d 61 6e 64 20 28 6d |.....(co|mmand (m|
|00002f20| 76 69 2d 6e 74 68 20 34 | 20 61 72 67 29 29 0a 09 |vi-nth 4| arg))..|
|00002f30| 09 09 09 28 68 69 73 74 | 2d 74 6d 70 29 29 0a 09 |...(hist|-tmp))..|
|00002f40| 09 28 6d 6f 76 65 2d 6d | 61 72 6b 65 72 20 6d 76 |.(move-m|arker mv|
|00002f50| 69 2d 67 2d 70 6f 69 6e | 74 20 28 70 6f 69 6e 74 |i-g-poin|t (point|
|00002f60| 29 29 0a 09 09 28 69 66 | 20 63 6f 6d 6d 61 6e 64 |))...(if| command|
|00002f70| 20 0a 09 09 09 28 70 72 | 6f 67 6e 0a 09 09 09 09 | ....(pr|ogn.....|
|00002f80| 28 6d 6f 76 65 2d 6d 61 | 72 6b 65 72 20 6d 76 69 |(move-ma|rker mvi|
|00002f90| 2d 63 6f 6d 2d 70 6f 69 | 6e 74 20 28 70 6f 69 6e |-com-poi|nt (poin|
|00002fa0| 74 29 29 0a 09 09 09 09 | 28 62 61 63 6b 77 61 72 |t)).....|(backwar|
|00002fb0| 64 2d 70 61 72 61 67 72 | 61 70 68 20 6e 75 6d 62 |d-paragr|aph numb|
|00002fc0| 65 72 29 0a 09 09 09 09 | 28 6d 76 69 2d 65 78 65 |er).....|(mvi-exe|
|00002fd0| 63 75 74 65 2d 63 6f 6d | 20 27 6d 76 69 2d 62 2d |cute-com| 'mvi-b-|
|00002fe0| 70 61 72 29 29 0a 09 09 | 09 28 62 61 63 6b 77 61 |par))...|.(backwa|
|00002ff0| 72 64 2d 70 61 72 61 67 | 72 61 70 68 20 6e 75 6d |rd-parag|raph num|
|00003000| 62 65 72 29 29 29 29 0a | 0a 28 64 65 66 75 6e 20 |ber)))).|.(defun |
|00003010| 6d 76 69 2d 66 6f 72 77 | 61 72 64 2d 70 61 67 65 |mvi-forw|ard-page|
|00003020| 20 28 63 6f 75 6e 74 29 | 0a 20 20 22 4d 6f 76 65 | (count)|. "Move|
|00003030| 20 66 6f 72 77 61 72 64 | 20 74 6f 20 70 61 67 65 | forward| to page|
|00003040| 20 62 6f 75 6e 64 61 72 | 79 2e 20 20 44 69 66 66 | boundar|y. Diff|
|00003050| 65 72 73 20 66 72 6f 6d | 20 67 6e 75 73 20 69 6e |ers from| gnus in|
|00003060| 20 74 68 61 74 20 69 74 | 20 73 74 6f 70 73 20 61 | that it| stops a|
|00003070| 74 0a 74 68 65 20 62 65 | 67 69 6e 6e 69 6e 67 20 |t.the be|ginning |
|00003080| 6f 66 20 74 68 65 20 6e | 65 78 74 20 70 61 67 65 |of the n|ext page|
|00003090| 2e 22 0a 09 28 61 6e 64 | 20 28 3e 20 63 6f 75 6e |."..(and| (> coun|
|000030a0| 74 20 30 29 20 28 6c 6f | 6f 6b 69 6e 67 2d 61 74 |t 0) (lo|oking-at|
|000030b0| 20 70 61 67 65 2d 64 65 | 6c 69 6d 69 74 65 72 29 | page-de|limiter)|
|000030c0| 20 28 67 6f 74 6f 2d 63 | 68 61 72 20 28 6d 61 74 | (goto-c|har (mat|
|000030d0| 63 68 2d 65 6e 64 20 30 | 29 29 29 0a 20 20 28 77 |ch-end 0|))). (w|
|000030e0| 68 69 6c 65 20 28 61 6e | 64 20 28 3e 20 63 6f 75 |hile (an|d (> cou|
|000030f0| 6e 74 20 30 29 20 28 6e | 6f 74 20 28 65 6f 62 70 |nt 0) (n|ot (eobp|
|00003100| 29 29 29 0a 20 20 20 20 | 28 69 66 20 28 72 65 2d |))). |(if (re-|
|00003110| 73 65 61 72 63 68 2d 66 | 6f 72 77 61 72 64 20 70 |search-f|orward p|
|00003120| 61 67 65 2d 64 65 6c 69 | 6d 69 74 65 72 20 6e 69 |age-deli|miter ni|
|00003130| 6c 20 74 29 0a 09 09 09 | 28 69 66 20 28 3d 20 63 |l t)....|(if (= c|
|00003140| 6f 75 6e 74 20 31 29 20 | 28 67 6f 74 6f 2d 63 68 |ount 1) |(goto-ch|
|00003150| 61 72 20 28 6d 61 74 63 | 68 2d 62 65 67 69 6e 6e |ar (matc|h-beginn|
|00003160| 69 6e 67 20 30 29 29 29 | 0a 20 20 20 20 20 20 28 |ing 0)))|. (|
|00003170| 67 6f 74 6f 2d 63 68 61 | 72 20 28 70 6f 69 6e 74 |goto-cha|r (point|
|00003180| 2d 6d 61 78 29 29 29 0a | 20 20 20 20 28 73 65 74 |-max))).| (set|
|00003190| 71 20 63 6f 75 6e 74 20 | 28 31 2d 20 63 6f 75 6e |q count |(1- coun|
|000031a0| 74 29 29 29 0a 20 20 28 | 77 68 69 6c 65 20 28 61 |t))). (|while (a|
|000031b0| 6e 64 20 28 3c 20 63 6f | 75 6e 74 20 30 29 20 28 |nd (< co|unt 0) (|
|000031c0| 6e 6f 74 20 28 62 6f 62 | 70 29 29 29 0a 20 20 20 |not (bob|p))). |
|000031d0| 20 28 6f 72 20 28 72 65 | 2d 73 65 61 72 63 68 2d | (or (re|-search-|
|000031e0| 62 61 63 6b 77 61 72 64 | 20 70 61 67 65 2d 64 65 |backward| page-de|
|000031f0| 6c 69 6d 69 74 65 72 20 | 6e 69 6c 20 74 29 0a 20 |limiter |nil t). |
|00003200| 20 20 20 20 20 28 67 6f | 74 6f 2d 63 68 61 72 20 | (go|to-char |
|00003210| 28 70 6f 69 6e 74 2d 6d | 69 6e 29 29 29 0a 20 20 |(point-m|in))). |
|00003220| 20 20 28 73 65 74 71 20 | 63 6f 75 6e 74 20 28 31 | (setq |count (1|
|00003230| 2b 20 63 6f 75 6e 74 29 | 29 29 29 0a 0a 28 64 65 |+ count)|)))..(de|
|00003240| 66 75 6e 20 6d 76 69 2d | 66 2d 70 61 67 65 20 28 |fun mvi-|f-page (|
|00003250| 61 72 67 20 6e 75 6d 62 | 65 72 20 26 6f 70 74 69 |arg numb|er &opti|
|00003260| 6f 6e 61 6c 20 6d 6f 74 | 69 6f 6e 2d 61 72 67 20 |onal mot|ion-arg |
|00003270| 74 65 78 74 29 0a 20 20 | 22 6d 76 69 20 66 6f 72 |text). |"mvi for|
|00003280| 77 61 72 64 20 70 61 67 | 65 2e 22 0a 20 20 28 69 |ward pag|e.". (i|
|00003290| 6e 74 65 72 61 63 74 69 | 76 65 20 22 50 5c 6e 56 |nteracti|ve "P\nV|
|000032a0| 22 29 0a 09 28 6c 65 74 | 20 28 28 72 65 67 69 73 |")..(let| ((regis|
|000032b0| 74 65 72 20 28 6d 76 69 | 2d 6e 74 68 20 31 20 61 |ter (mvi|-nth 1 a|
|000032c0| 72 67 29 29 0a 09 09 09 | 09 28 61 70 70 65 6e 64 |rg))....|.(append|
|000032d0| 20 28 6d 76 69 2d 6e 74 | 68 20 32 20 61 72 67 29 | (mvi-nt|h 2 arg)|
|000032e0| 29 0a 09 09 09 09 28 67 | 2d 66 6c 61 67 20 28 6d |).....(g|-flag (m|
|000032f0| 76 69 2d 6e 74 68 20 33 | 20 61 72 67 29 29 0a 09 |vi-nth 3| arg))..|
|00003300| 09 09 09 28 63 6f 6d 6d | 61 6e 64 20 28 6d 76 69 |...(comm|and (mvi|
|00003310| 2d 6e 74 68 20 34 20 61 | 72 67 29 29 0a 09 09 09 |-nth 4 a|rg))....|
|00003320| 09 28 68 69 73 74 2d 74 | 6d 70 29 29 0a 09 09 28 |.(hist-t|mp))...(|
|00003330| 6d 6f 76 65 2d 6d 61 72 | 6b 65 72 20 6d 76 69 2d |move-mar|ker mvi-|
|00003340| 67 2d 70 6f 69 6e 74 20 | 28 70 6f 69 6e 74 29 29 |g-point |(point))|
|00003350| 0a 09 09 28 69 66 20 63 | 6f 6d 6d 61 6e 64 20 0a |...(if c|ommand .|
|00003360| 09 09 09 28 70 72 6f 67 | 6e 0a 09 09 09 09 28 6d |...(prog|n.....(m|
|00003370| 6f 76 65 2d 6d 61 72 6b | 65 72 20 6d 76 69 2d 63 |ove-mark|er mvi-c|
|00003380| 6f 6d 2d 70 6f 69 6e 74 | 20 28 70 6f 69 6e 74 29 |om-point| (point)|
|00003390| 29 0a 09 09 09 09 28 6d | 76 69 2d 66 6f 72 77 61 |).....(m|vi-forwa|
|000033a0| 72 64 2d 70 61 67 65 20 | 6e 75 6d 62 65 72 29 0a |rd-page |number).|
|000033b0| 09 09 09 09 28 6d 76 69 | 2d 65 78 65 63 75 74 65 |....(mvi|-execute|
|000033c0| 2d 63 6f 6d 20 27 6d 76 | 69 2d 66 2d 70 61 67 65 |-com 'mv|i-f-page|
|000033d0| 29 29 0a 09 09 09 28 6d | 76 69 2d 66 6f 72 77 61 |))....(m|vi-forwa|
|000033e0| 72 64 2d 70 61 67 65 20 | 6e 75 6d 62 65 72 29 29 |rd-page |number))|
|000033f0| 29 29 0a 0a 28 64 65 66 | 75 6e 20 6d 76 69 2d 62 |))..(def|un mvi-b|
|00003400| 2d 70 61 67 65 20 28 61 | 72 67 20 6e 75 6d 62 65 |-page (a|rg numbe|
|00003410| 72 20 26 6f 70 74 69 6f | 6e 61 6c 20 6d 6f 74 69 |r &optio|nal moti|
|00003420| 6f 6e 2d 61 72 67 20 74 | 65 78 74 29 0a 20 20 22 |on-arg t|ext). "|
|00003430| 6d 76 69 20 62 61 63 6b | 77 61 72 64 20 70 61 67 |mvi back|ward pag|
|00003440| 65 2e 22 0a 20 20 28 69 | 6e 74 65 72 61 63 74 69 |e.". (i|nteracti|
|00003450| 76 65 20 22 50 5c 6e 56 | 22 29 0a 09 28 6c 65 74 |ve "P\nV|")..(let|
|00003460| 20 28 28 72 65 67 69 73 | 74 65 72 20 28 6d 76 69 | ((regis|ter (mvi|
|00003470| 2d 6e 74 68 20 31 20 61 | 72 67 29 29 0a 09 09 09 |-nth 1 a|rg))....|
|00003480| 09 28 61 70 70 65 6e 64 | 20 28 6d 76 69 2d 6e 74 |.(append| (mvi-nt|
|00003490| 68 20 32 20 61 72 67 29 | 29 0a 09 09 09 09 28 67 |h 2 arg)|).....(g|
|000034a0| 2d 66 6c 61 67 20 28 6d | 76 69 2d 6e 74 68 20 33 |-flag (m|vi-nth 3|
|000034b0| 20 61 72 67 29 29 0a 09 | 09 09 09 28 63 6f 6d 6d | arg))..|...(comm|
|000034c0| 61 6e 64 20 28 6d 76 69 | 2d 6e 74 68 20 34 20 61 |and (mvi|-nth 4 a|
|000034d0| 72 67 29 29 0a 09 09 09 | 09 28 68 69 73 74 2d 74 |rg))....|.(hist-t|
|000034e0| 6d 70 29 29 0a 09 09 28 | 6d 6f 76 65 2d 6d 61 72 |mp))...(|move-mar|
|000034f0| 6b 65 72 20 6d 76 69 2d | 67 2d 70 6f 69 6e 74 20 |ker mvi-|g-point |
|00003500| 28 70 6f 69 6e 74 29 29 | 0a 09 09 28 69 66 20 63 |(point))|...(if c|
|00003510| 6f 6d 6d 61 6e 64 20 0a | 09 09 09 28 70 72 6f 67 |ommand .|...(prog|
|00003520| 6e 0a 09 09 09 09 28 6d | 6f 76 65 2d 6d 61 72 6b |n.....(m|ove-mark|
|00003530| 65 72 20 6d 76 69 2d 63 | 6f 6d 2d 70 6f 69 6e 74 |er mvi-c|om-point|
|00003540| 20 28 70 6f 69 6e 74 29 | 29 0a 09 09 09 09 28 6d | (point)|).....(m|
|00003550| 76 69 2d 66 6f 72 77 61 | 72 64 2d 70 61 67 65 20 |vi-forwa|rd-page |
|00003560| 28 2d 20 6e 75 6d 62 65 | 72 29 29 0a 09 09 09 09 |(- numbe|r)).....|
|00003570| 28 6d 76 69 2d 65 78 65 | 63 75 74 65 2d 63 6f 6d |(mvi-exe|cute-com|
|00003580| 20 27 6d 76 69 2d 62 2d | 70 61 67 65 29 29 0a 09 | 'mvi-b-|page))..|
|00003590| 09 09 28 6d 76 69 2d 66 | 6f 72 77 61 72 64 2d 70 |..(mvi-f|orward-p|
|000035a0| 61 67 65 20 28 2d 20 6e | 75 6d 62 65 72 29 29 29 |age (- n|umber)))|
|000035b0| 29 29 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 0a 0a 0a |))......|........|
|000035c0| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 0a 0a 0a |........|........|
|000035d0| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 0a 0a 0a |........|........|
|000035e0| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 0a 0a 0a |........|........|
|000035f0| 3b 3b 20 6d 6f 76 69 6e | 67 20 61 72 6f 75 6e 64 |;; movin|g around|
|00003600| 0a 0a 28 64 65 66 75 6e | 20 6d 76 69 2d 74 6f 2d |..(defun| mvi-to-|
|00003610| 63 6f 6c 20 28 61 72 67 | 20 6e 75 6d 62 65 72 20 |col (arg| number |
|00003620| 26 6f 70 74 69 6f 6e 61 | 6c 20 6d 6f 74 69 6f 6e |&optiona|l motion|
|00003630| 2d 61 72 67 20 74 65 78 | 74 29 0a 20 20 22 6d 76 |-arg tex|t). "mv|
|00003640| 69 20 6d 6f 76 65 20 74 | 6f 20 63 6f 6c 75 6d 6e |i move t|o column|
|00003650| 2e 22 0a 20 20 28 69 6e | 74 65 72 61 63 74 69 76 |.". (in|teractiv|
|00003660| 65 20 22 50 5c 6e 56 22 | 29 0a 09 28 6c 65 74 20 |e "P\nV"|)..(let |
|00003670| 28 28 72 61 77 2d 6e 75 | 6d 62 65 72 20 28 6d 76 |((raw-nu|mber (mv|
|00003680| 69 2d 6e 74 68 20 30 20 | 61 72 67 29 29 0a 09 09 |i-nth 0 |arg))...|
|00003690| 09 09 28 72 65 67 69 73 | 74 65 72 20 28 6d 76 69 |..(regis|ter (mvi|
|000036a0| 2d 6e 74 68 20 31 20 61 | 72 67 29 29 0a 09 09 09 |-nth 1 a|rg))....|
|000036b0| 09 28 61 70 70 65 6e 64 | 20 28 6d 76 69 2d 6e 74 |.(append| (mvi-nt|
|000036c0| 68 20 32 20 61 72 67 29 | 29 0a 09 09 09 09 28 67 |h 2 arg)|).....(g|
|000036d0| 2d 66 6c 61 67 20 28 6d | 76 69 2d 6e 74 68 20 33 |-flag (m|vi-nth 3|
|000036e0| 20 61 72 67 29 29 0a 09 | 09 09 09 28 63 6f 6d 6d | arg))..|...(comm|
|000036f0| 61 6e 64 20 28 6d 76 69 | 2d 6e 74 68 20 34 20 61 |and (mvi|-nth 4 a|
|00003700| 72 67 29 29 0a 09 09 09 | 09 28 68 69 73 74 2d 74 |rg))....|.(hist-t|
|00003710| 6d 70 29 29 0a 09 09 28 | 69 66 20 28 6e 6f 74 20 |mp))...(|if (not |
|00003720| 72 61 77 2d 6e 75 6d 62 | 65 72 29 20 28 73 65 74 |raw-numb|er) (set|
|00003730| 71 20 6e 75 6d 62 65 72 | 20 30 29 29 0a 09 09 28 |q number| 0))...(|
|00003740| 6d 6f 76 65 2d 6d 61 72 | 6b 65 72 20 6d 76 69 2d |move-mar|ker mvi-|
|00003750| 67 2d 70 6f 69 6e 74 20 | 28 70 6f 69 6e 74 29 29 |g-point |(point))|
|00003760| 0a 09 09 28 69 66 20 63 | 6f 6d 6d 61 6e 64 20 0a |...(if c|ommand .|
|00003770| 09 09 09 28 70 72 6f 67 | 6e 0a 09 09 09 09 28 6d |...(prog|n.....(m|
|00003780| 6f 76 65 2d 6d 61 72 6b | 65 72 20 6d 76 69 2d 63 |ove-mark|er mvi-c|
|00003790| 6f 6d 2d 70 6f 69 6e 74 | 20 28 70 6f 69 6e 74 29 |om-point| (point)|
|000037a0| 29 0a 09 09 09 09 28 6d | 6f 76 65 2d 74 6f 2d 63 |).....(m|ove-to-c|
|000037b0| 6f 6c 75 6d 6e 20 6e 75 | 6d 62 65 72 29 0a 09 09 |olumn nu|mber)...|
|000037c0| 09 09 28 6d 76 69 2d 65 | 78 65 63 75 74 65 2d 63 |..(mvi-e|xecute-c|
|000037d0| 6f 6d 20 27 6d 76 69 2d | 74 6f 2d 63 6f 6c 29 29 |om 'mvi-|to-col))|
|000037e0| 0a 09 09 09 28 6d 6f 76 | 65 2d 74 6f 2d 63 6f 6c |....(mov|e-to-col|
|000037f0| 75 6d 6e 20 6e 75 6d 62 | 65 72 29 29 29 29 0a 0a |umn numb|er))))..|
|00003800| 28 64 65 66 75 6e 20 6d | 76 69 2d 77 68 61 74 2d |(defun m|vi-what-|
|00003810| 63 6f 6c 20 28 61 72 67 | 29 0a 20 20 22 6d 76 69 |col (arg|). "mvi|
|00003820| 20 64 69 73 70 6c 61 79 | 20 63 75 72 72 65 6e 74 | display| current|
|00003830| 20 63 6f 6c 75 6d 6e 2e | 22 0a 20 20 28 69 6e 74 | column.|". (int|
|00003840| 65 72 61 63 74 69 76 65 | 20 22 50 22 29 0a 09 28 |eractive| "P")..(|
|00003850| 6c 65 74 20 28 28 63 6f | 6d 6d 61 6e 64 20 28 6d |let ((co|mmand (m|
|00003860| 76 69 2d 6e 74 68 20 34 | 20 61 72 67 29 29 29 0a |vi-nth 4| arg))).|
|00003870| 09 09 28 69 66 20 63 6f | 6d 6d 61 6e 64 20 28 65 |..(if co|mmand (e|
|00003880| 72 72 6f 72 20 22 42 61 | 64 20 63 6f 6d 6d 61 6e |rror "Ba|d comman|
|00003890| 64 22 29 29 0a 09 09 28 | 6d 65 73 73 61 67 65 20 |d"))...(|message |
|000038a0| 28 66 6f 72 6d 61 74 20 | 22 43 75 72 72 65 6e 74 |(format |"Current|
|000038b0| 20 63 6f 6c 75 6d 6e 20 | 3d 20 25 73 22 20 28 63 | column |= %s" (c|
|000038c0| 75 72 72 65 6e 74 2d 63 | 6f 6c 75 6d 6e 29 29 29 |urrent-c|olumn)))|
|000038d0| 29 29 0a 0a 28 64 65 66 | 75 6e 20 6d 76 69 2d 47 |))..(def|un mvi-G|
|000038e0| 20 28 61 72 67 20 6e 75 | 6d 62 65 72 20 26 6f 70 | (arg nu|mber &op|
|000038f0| 74 69 6f 6e 61 6c 20 6d | 6f 74 69 6f 6e 2d 61 72 |tional m|otion-ar|
|00003900| 67 20 74 65 78 74 29 0a | 20 20 22 6d 76 69 20 67 |g text).| "mvi g|
|00003910| 6f 74 6f 20 6c 69 6e 65 | 20 6e 75 6d 62 65 72 2e |oto line| number.|
|00003920| 22 0a 20 20 28 69 6e 74 | 65 72 61 63 74 69 76 65 |". (int|eractive|
|00003930| 20 22 50 5c 6e 56 22 29 | 0a 09 28 6c 65 74 20 28 | "P\nV")|..(let (|
|00003940| 28 72 61 77 2d 6e 75 6d | 62 65 72 20 28 6d 76 69 |(raw-num|ber (mvi|
|00003950| 2d 6e 74 68 20 30 20 61 | 72 67 29 29 0a 09 09 09 |-nth 0 a|rg))....|
|00003960| 09 28 72 65 67 69 73 74 | 65 72 20 28 6d 76 69 2d |.(regist|er (mvi-|
|00003970| 6e 74 68 20 31 20 61 72 | 67 29 29 0a 09 09 09 09 |nth 1 ar|g)).....|
|00003980| 28 61 70 70 65 6e 64 20 | 28 6d 76 69 2d 6e 74 68 |(append |(mvi-nth|
|00003990| 20 32 20 61 72 67 29 29 | 0a 09 09 09 09 28 67 2d | 2 arg))|.....(g-|
|000039a0| 66 6c 61 67 20 28 6d 76 | 69 2d 6e 74 68 20 33 20 |flag (mv|i-nth 3 |
|000039b0| 61 72 67 29 29 0a 09 09 | 09 09 28 63 6f 6d 6d 61 |arg))...|..(comma|
|000039c0| 6e 64 20 28 6d 76 69 2d | 6e 74 68 20 34 20 61 72 |nd (mvi-|nth 4 ar|
|000039d0| 67 29 29 0a 09 09 09 09 | 28 68 69 73 74 2d 74 6d |g)).....|(hist-tm|
|000039e0| 70 29 29 0a 09 09 28 69 | 66 20 28 6e 6f 74 20 72 |p))...(i|f (not r|
|000039f0| 61 77 2d 6e 75 6d 62 65 | 72 29 20 28 73 65 74 71 |aw-numbe|r) (setq|
|00003a00| 20 6e 75 6d 62 65 72 20 | 38 30 30 30 30 30 30 29 | number |8000000)|
|00003a10| 29 0a 09 09 28 6d 6f 76 | 65 2d 6d 61 72 6b 65 72 |)...(mov|e-marker|
|00003a20| 20 6d 76 69 2d 67 2d 70 | 6f 69 6e 74 20 28 70 6f | mvi-g-p|oint (po|
|00003a30| 69 6e 74 29 29 0a 09 09 | 28 69 66 20 28 3c 20 6e |int))...|(if (< n|
|00003a40| 75 6d 62 65 72 20 30 29 | 0a 09 09 09 28 73 65 74 |umber 0)|....(set|
|00003a50| 71 20 6e 75 6d 62 65 72 | 20 28 2d 20 6e 75 6d 62 |q number| (- numb|
|00003a60| 65 72 29 29 0a 09 09 09 | 28 70 75 73 68 2d 6d 61 |er))....|(push-ma|
|00003a70| 72 6b 20 6e 69 6c 20 74 | 29 29 0a 09 09 28 69 66 |rk nil t|))...(if|
|00003a80| 20 63 6f 6d 6d 61 6e 64 | 20 0a 09 09 09 28 70 72 | command| ....(pr|
|00003a90| 6f 67 6e 0a 09 09 09 09 | 28 6d 76 69 2d 65 6e 6c |ogn.....|(mvi-enl|
|00003aa0| 61 72 67 65 2d 72 65 67 | 69 6f 6e 20 28 70 6f 69 |arge-reg|ion (poi|
|00003ab0| 6e 74 29 20 28 70 72 6f | 67 6e 20 28 67 6f 74 6f |nt) (pro|gn (goto|
|00003ac0| 2d 6c 69 6e 65 20 6e 75 | 6d 62 65 72 29 20 28 70 |-line nu|mber) (p|
|00003ad0| 6f 69 6e 74 29 29 29 0a | 09 09 09 09 28 73 65 74 |oint))).|....(set|
|00003ae0| 71 20 6e 75 6d 62 65 72 | 20 72 61 77 2d 6e 75 6d |q number| raw-num|
|00003af0| 62 65 72 29 0a 09 09 09 | 09 28 6d 76 69 2d 65 78 |ber)....|.(mvi-ex|
|00003b00| 65 63 75 74 65 2d 63 6f | 6d 20 27 6d 76 69 2d 47 |ecute-co|m 'mvi-G|
|00003b10| 29 29 0a 09 09 09 28 67 | 6f 74 6f 2d 6c 69 6e 65 |))....(g|oto-line|
|00003b20| 20 6e 75 6d 62 65 72 29 | 29 29 29 0a 0a 0a 0a 0a | number)|))).....|
|00003b30| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 0a 0a 0a |........|........|
|00003b40| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 0a 0a 0a |........|........|
|00003b50| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 0a 0a 0a |........|........|
|00003b60| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 3b 3b 20 77 69 6e 64 |........|.;; wind|
|00003b70| 6f 77 20 73 63 72 6f 6c | 6c 69 6e 67 20 65 74 63 |ow scrol|ling etc|
|00003b80| 2e 0a 0a 28 64 65 66 75 | 6e 20 6d 76 69 2d 48 20 |...(defu|n mvi-H |
|00003b90| 28 61 72 67 20 6e 75 6d | 62 65 72 20 26 6f 70 74 |(arg num|ber &opt|
|00003ba0| 69 6f 6e 61 6c 20 6d 6f | 74 69 6f 6e 2d 61 72 67 |ional mo|tion-arg|
|00003bb0| 20 74 65 78 74 29 0a 20 | 20 22 6d 76 69 20 6d 6f | text). | "mvi mo|
|00003bc0| 76 65 20 74 6f 20 74 6f | 70 20 6f 66 20 73 63 72 |ve to to|p of scr|
|00003bd0| 65 65 6e 2e 22 0a 20 20 | 28 69 6e 74 65 72 61 63 |een.". |(interac|
|00003be0| 74 69 76 65 20 22 50 5c | 6e 56 22 29 0a 09 28 6c |tive "P\|nV")..(l|
|00003bf0| 65 74 20 28 28 72 65 67 | 69 73 74 65 72 20 28 6d |et ((reg|ister (m|
|00003c00| 76 69 2d 6e 74 68 20 31 | 20 61 72 67 29 29 0a 09 |vi-nth 1| arg))..|
|00003c10| 09 09 09 28 61 70 70 65 | 6e 64 20 28 6d 76 69 2d |...(appe|nd (mvi-|
|00003c20| 6e 74 68 20 32 20 61 72 | 67 29 29 0a 09 09 09 09 |nth 2 ar|g)).....|
|00003c30| 28 67 2d 66 6c 61 67 20 | 28 6d 76 69 2d 6e 74 68 |(g-flag |(mvi-nth|
|00003c40| 20 33 20 61 72 67 29 29 | 0a 09 09 09 09 28 63 6f | 3 arg))|.....(co|
|00003c50| 6d 6d 61 6e 64 20 28 6d | 76 69 2d 6e 74 68 20 34 |mmand (m|vi-nth 4|
|00003c60| 20 61 72 67 29 29 0a 09 | 09 09 09 28 68 69 73 74 | arg))..|...(hist|
|00003c70| 2d 74 6d 70 29 29 0a 09 | 09 28 6d 6f 76 65 2d 6d |-tmp))..|.(move-m|
|00003c80| 61 72 6b 65 72 20 6d 76 | 69 2d 67 2d 70 6f 69 6e |arker mv|i-g-poin|
|00003c90| 74 20 28 70 6f 69 6e 74 | 29 29 0a 09 09 28 69 66 |t (point|))...(if|
|00003ca0| 20 63 6f 6d 6d 61 6e 64 | 20 0a 09 09 09 28 70 72 | command| ....(pr|
|00003cb0| 6f 67 6e 0a 09 09 09 09 | 28 6d 76 69 2d 65 6e 6c |ogn.....|(mvi-enl|
|00003cc0| 61 72 67 65 2d 72 65 67 | 69 6f 6e 20 28 70 6f 69 |arge-reg|ion (poi|
|00003cd0| 6e 74 29 20 28 70 72 6f | 67 6e 20 28 6d 6f 76 65 |nt) (pro|gn (move|
|00003ce0| 2d 74 6f 2d 77 69 6e 64 | 6f 77 2d 6c 69 6e 65 20 |-to-wind|ow-line |
|00003cf0| 28 31 2d 20 6e 75 6d 62 | 65 72 29 29 0a 09 09 09 |(1- numb|er))....|
|00003d00| 09 09 28 70 6f 69 6e 74 | 29 29 29 0a 09 09 09 09 |..(point|))).....|
|00003d10| 28 6d 76 69 2d 65 78 65 | 63 75 74 65 2d 63 6f 6d |(mvi-exe|cute-com|
|00003d20| 20 27 6d 76 69 2d 48 29 | 29 0a 09 09 09 28 6d 6f | 'mvi-H)|)....(mo|
|00003d30| 76 65 2d 74 6f 2d 77 69 | 6e 64 6f 77 2d 6c 69 6e |ve-to-wi|ndow-lin|
|00003d40| 65 20 28 31 2d 20 6e 75 | 6d 62 65 72 29 29 29 29 |e (1- nu|mber))))|
|00003d50| 29 0a 0a 28 64 65 66 75 | 6e 20 6d 76 69 2d 4c 20 |)..(defu|n mvi-L |
|00003d60| 28 61 72 67 20 6e 75 6d | 62 65 72 20 26 6f 70 74 |(arg num|ber &opt|
|00003d70| 69 6f 6e 61 6c 20 6d 6f | 74 69 6f 6e 2d 61 72 67 |ional mo|tion-arg|
|00003d80| 20 74 65 78 74 29 0a 20 | 20 22 6d 76 69 20 6d 6f | text). | "mvi mo|
|00003d90| 76 65 20 74 6f 20 62 6f | 74 74 6f 6d 20 6f 66 20 |ve to bo|ttom of |
|00003da0| 73 63 72 65 65 6e 2e 22 | 0a 20 20 28 69 6e 74 65 |screen."|. (inte|
|00003db0| 72 61 63 74 69 76 65 20 | 22 50 5c 6e 56 22 29 0a |ractive |"P\nV").|
|00003dc0| 09 28 6c 65 74 20 28 28 | 72 65 67 69 73 74 65 72 |.(let ((|register|
|00003dd0| 20 28 6d 76 69 2d 6e 74 | 68 20 31 20 61 72 67 29 | (mvi-nt|h 1 arg)|
|00003de0| 29 0a 09 09 09 09 28 61 | 70 70 65 6e 64 20 28 6d |).....(a|ppend (m|
|00003df0| 76 69 2d 6e 74 68 20 32 | 20 61 72 67 29 29 0a 09 |vi-nth 2| arg))..|
|00003e00| 09 09 09 28 67 2d 66 6c | 61 67 20 28 6d 76 69 2d |...(g-fl|ag (mvi-|
|00003e10| 6e 74 68 20 33 20 61 72 | 67 29 29 0a 09 09 09 09 |nth 3 ar|g)).....|
|00003e20| 28 63 6f 6d 6d 61 6e 64 | 20 28 6d 76 69 2d 6e 74 |(command| (mvi-nt|
|00003e30| 68 20 34 20 61 72 67 29 | 29 0a 09 09 09 09 28 68 |h 4 arg)|).....(h|
|00003e40| 69 73 74 2d 74 6d 70 29 | 29 0a 09 09 28 6d 6f 76 |ist-tmp)|)...(mov|
|00003e50| 65 2d 6d 61 72 6b 65 72 | 20 6d 76 69 2d 67 2d 70 |e-marker| mvi-g-p|
|00003e60| 6f 69 6e 74 20 28 70 6f | 69 6e 74 29 29 0a 09 09 |oint (po|int))...|
|00003e70| 28 69 66 20 63 6f 6d 6d | 61 6e 64 20 0a 09 09 09 |(if comm|and ....|
|00003e80| 28 70 72 6f 67 6e 0a 09 | 09 09 09 28 6d 76 69 2d |(progn..|...(mvi-|
|00003e90| 65 6e 6c 61 72 67 65 2d | 72 65 67 69 6f 6e 20 28 |enlarge-|region (|
|00003ea0| 70 6f 69 6e 74 29 20 28 | 70 72 6f 67 6e 20 28 6d |point) (|progn (m|
|00003eb0| 6f 76 65 2d 74 6f 2d 77 | 69 6e 64 6f 77 2d 6c 69 |ove-to-w|indow-li|
|00003ec0| 6e 65 20 28 2d 20 6e 75 | 6d 62 65 72 29 29 0a 09 |ne (- nu|mber))..|
|00003ed0| 09 09 09 09 28 70 6f 69 | 6e 74 29 29 29 0a 09 09 |....(poi|nt)))...|
|00003ee0| 09 09 28 6d 76 69 2d 65 | 78 65 63 75 74 65 2d 63 |..(mvi-e|xecute-c|
|00003ef0| 6f 6d 20 27 6d 76 69 2d | 4c 29 29 0a 09 09 09 28 |om 'mvi-|L))....(|
|00003f00| 6d 6f 76 65 2d 74 6f 2d | 77 69 6e 64 6f 77 2d 6c |move-to-|window-l|
|00003f10| 69 6e 65 20 28 2d 20 6e | 75 6d 62 65 72 29 29 29 |ine (- n|umber)))|
|00003f20| 29 29 0a 0a 28 64 65 66 | 75 6e 20 6d 76 69 2d 4d |))..(def|un mvi-M|
|00003f30| 20 28 61 72 67 20 6e 75 | 6d 62 65 72 20 26 6f 70 | (arg nu|mber &op|
|00003f40| 74 69 6f 6e 61 6c 20 6d | 6f 74 69 6f 6e 2d 61 72 |tional m|otion-ar|
|00003f50| 67 20 74 65 78 74 29 0a | 20 20 22 6d 76 69 20 6d |g text).| "mvi m|
|00003f60| 6f 76 65 20 74 6f 20 74 | 68 65 20 6d 69 64 64 6c |ove to t|he middl|
|00003f70| 65 20 6f 66 20 73 63 72 | 65 65 6e 2e 22 0a 20 20 |e of scr|een.". |
|00003f80| 28 69 6e 74 65 72 61 63 | 74 69 76 65 20 22 50 5c |(interac|tive "P\|
|00003f90| 6e 56 22 29 0a 09 28 6c | 65 74 20 28 28 72 65 67 |nV")..(l|et ((reg|
|00003fa0| 69 73 74 65 72 20 28 6d | 76 69 2d 6e 74 68 20 31 |ister (m|vi-nth 1|
|00003fb0| 20 61 72 67 29 29 0a 09 | 09 09 09 28 61 70 70 65 | arg))..|...(appe|
|00003fc0| 6e 64 20 28 6d 76 69 2d | 6e 74 68 20 32 20 61 72 |nd (mvi-|nth 2 ar|
|00003fd0| 67 29 29 0a 09 09 09 09 | 28 67 2d 66 6c 61 67 20 |g)).....|(g-flag |
|00003fe0| 28 6d 76 69 2d 6e 74 68 | 20 33 20 61 72 67 29 29 |(mvi-nth| 3 arg))|
|00003ff0| 0a 09 09 09 09 28 63 6f | 6d 6d 61 6e 64 20 28 6d |.....(co|mmand (m|
|00004000| 76 69 2d 6e 74 68 20 34 | 20 61 72 67 29 29 0a 09 |vi-nth 4| arg))..|
|00004010| 09 09 09 28 68 69 73 74 | 2d 74 6d 70 29 29 0a 09 |...(hist|-tmp))..|
|00004020| 09 28 6d 6f 76 65 2d 6d | 61 72 6b 65 72 20 6d 76 |.(move-m|arker mv|
|00004030| 69 2d 67 2d 70 6f 69 6e | 74 20 28 70 6f 69 6e 74 |i-g-poin|t (point|
|00004040| 29 29 0a 09 09 28 69 66 | 20 63 6f 6d 6d 61 6e 64 |))...(if| command|
|00004050| 20 0a 09 09 09 28 70 72 | 6f 67 6e 0a 09 09 09 09 | ....(pr|ogn.....|
|00004060| 28 6d 76 69 2d 65 6e 6c | 61 72 67 65 2d 72 65 67 |(mvi-enl|arge-reg|
|00004070| 69 6f 6e 20 28 70 6f 69 | 6e 74 29 20 28 70 72 6f |ion (poi|nt) (pro|
|00004080| 67 6e 20 0a 09 09 09 09 | 09 28 6d 6f 76 65 2d 74 |gn .....|.(move-t|
|00004090| 6f 2d 77 69 6e 64 6f 77 | 2d 6c 69 6e 65 20 28 2b |o-window|-line (+|
|000040a0| 20 28 2f 20 28 31 2d 20 | 28 77 69 6e 64 6f 77 2d | (/ (1- |(window-|
|000040b0| 68 65 69 67 68 74 29 29 | 20 32 29 20 28 31 2d 20 |height))| 2) (1- |
|000040c0| 6e 75 6d 62 65 72 29 29 | 29 0a 09 09 09 09 09 28 |number))|)......(|
|000040d0| 70 6f 69 6e 74 29 29 29 | 0a 09 09 09 09 28 6d 76 |point)))|.....(mv|
|000040e0| 69 2d 65 78 65 63 75 74 | 65 2d 63 6f 6d 20 27 6d |i-execut|e-com 'm|
|000040f0| 76 69 2d 4d 29 29 0a 09 | 09 09 28 6d 6f 76 65 2d |vi-M))..|..(move-|
|00004100| 74 6f 2d 77 69 6e 64 6f | 77 2d 6c 69 6e 65 20 28 |to-windo|w-line (|
|00004110| 2b 20 28 2f 20 28 31 2d | 20 28 77 69 6e 64 6f 77 |+ (/ (1-| (window|
|00004120| 2d 68 65 69 67 68 74 29 | 29 20 32 29 20 28 31 2d |-height)|) 2) (1-|
|00004130| 20 6e 75 6d 62 65 72 29 | 29 29 29 29 29 0a 0a 28 | number)|)))))..(|
|00004140| 64 65 66 75 6e 20 6d 76 | 69 2d 6c 69 6e 65 2d 74 |defun mv|i-line-t|
|00004150| 6f 20 28 61 72 67 20 6e | 75 6d 62 65 72 29 0a 20 |o (arg n|umber). |
|00004160| 20 22 4d 6f 76 65 20 70 | 6f 69 6e 74 20 74 6f 20 | "Move p|oint to |
|00004170| 74 6f 70 2c 20 6d 69 64 | 64 6c 65 2c 20 6f 72 20 |top, mid|dle, or |
|00004180| 62 6f 74 74 6f 6d 20 6f | 66 20 73 63 72 65 65 6e |bottom o|f screen|
|00004190| 2e 22 0a 20 20 28 69 6e | 74 65 72 61 63 74 69 76 |.". (in|teractiv|
|000041a0| 65 20 22 50 5c 6e 56 22 | 29 0a 09 28 6c 65 74 20 |e "P\nV"|)..(let |
|000041b0| 28 28 63 6f 6d 6d 61 6e | 64 20 28 6d 76 69 2d 6e |((comman|d (mvi-n|
|000041c0| 74 68 20 34 20 61 72 67 | 29 29 29 0a 09 09 28 69 |th 4 arg|)))...(i|
|000041d0| 66 20 63 6f 6d 6d 61 6e | 64 20 28 65 72 72 6f 72 |f comman|d (error|
|000041e0| 20 22 42 61 64 20 63 6f | 6d 6d 61 6e 64 22 29 29 | "Bad co|mmand"))|
|000041f0| 0a 09 09 28 6d 6f 76 65 | 2d 6d 61 72 6b 65 72 20 |...(move|-marker |
|00004200| 6d 76 69 2d 67 2d 70 6f | 69 6e 74 20 28 70 6f 69 |mvi-g-po|int (poi|
|00004210| 6e 74 29 29 0a 09 09 28 | 63 6f 6e 64 0a 09 09 20 |nt))...(|cond... |
|00004220| 28 28 3d 20 6c 61 73 74 | 2d 63 6f 6d 6d 61 6e 64 |((= last|-command|
|00004230| 2d 63 68 61 72 20 3f 74 | 29 0a 09 09 09 09 28 72 |-char ?t|).....(r|
|00004240| 65 63 65 6e 74 65 72 20 | 28 31 2d 20 6e 75 6d 62 |ecenter |(1- numb|
|00004250| 65 72 29 29 29 20 0a 09 | 09 20 28 28 3d 20 6c 61 |er))) ..|. ((= la|
|00004260| 73 74 2d 63 6f 6d 6d 61 | 6e 64 2d 63 68 61 72 20 |st-comma|nd-char |
|00004270| 3f 6d 29 20 0a 09 09 09 | 09 28 72 65 63 65 6e 74 |?m) ....|.(recent|
|00004280| 65 72 20 28 2b 20 28 31 | 2d 20 6e 75 6d 62 65 72 |er (+ (1|- number|
|00004290| 29 20 28 2f 20 28 31 2d | 20 28 77 69 6e 64 6f 77 |) (/ (1-| (window|
|000042a0| 2d 68 65 69 67 68 74 29 | 29 20 32 29 29 29 29 0a |-height)|) 2)))).|
|000042b0| 09 09 20 28 28 3d 20 6c | 61 73 74 2d 63 6f 6d 6d |.. ((= l|ast-comm|
|000042c0| 61 6e 64 2d 63 68 61 72 | 20 3f 62 29 0a 09 09 09 |and-char| ?b)....|
|000042d0| 09 28 72 65 63 65 6e 74 | 65 72 20 28 2d 20 28 77 |.(recent|er (- (w|
|000042e0| 69 6e 64 6f 77 2d 68 65 | 69 67 68 74 29 20 28 31 |indow-he|ight) (1|
|000042f0| 2b 20 6e 75 6d 62 65 72 | 29 29 29 29 29 29 29 0a |+ number|))))))).|
|00004300| 0a 28 64 65 66 75 6e 20 | 6d 76 69 2d 73 65 61 72 |.(defun |mvi-sear|
|00004310| 63 68 2d 72 65 63 65 6e | 74 65 72 20 28 61 72 67 |ch-recen|ter (arg|
|00004320| 20 6e 75 6d 62 65 72 29 | 0a 20 20 22 4d 6f 76 65 | number)|. "Move|
|00004330| 20 70 6f 69 6e 74 20 74 | 6f 20 74 6f 70 2c 20 6d | point t|o top, m|
|00004340| 69 64 64 6c 65 2c 20 6f | 72 20 62 6f 74 74 6f 6d |iddle, o|r bottom|
|00004350| 20 6f 66 20 73 63 72 65 | 65 6e 20 61 66 74 65 72 | of scre|en after|
|00004360| 20 61 20 73 65 61 72 63 | 68 2e 22 0a 20 20 28 69 | a searc|h.". (i|
|00004370| 6e 74 65 72 61 63 74 69 | 76 65 20 22 50 5c 6e 56 |nteracti|ve "P\nV|
|00004380| 22 29 0a 09 28 6c 65 74 | 20 28 28 63 6f 6d 6d 61 |")..(let| ((comma|
|00004390| 6e 64 20 28 6d 76 69 2d | 6e 74 68 20 34 20 61 72 |nd (mvi-|nth 4 ar|
|000043a0| 67 29 29 29 0a 09 09 28 | 69 66 20 63 6f 6d 6d 61 |g)))...(|if comma|
|000043b0| 6e 64 20 28 65 72 72 6f | 72 20 22 42 61 64 20 63 |nd (erro|r "Bad c|
|000043c0| 6f 6d 6d 61 6e 64 22 29 | 29 0a 09 09 28 63 6f 6e |ommand")|)...(con|
|000043d0| 64 0a 09 09 20 28 28 3d | 20 6c 61 73 74 2d 63 6f |d... ((=| last-co|
|000043e0| 6d 6d 61 6e 64 2d 63 68 | 61 72 20 3f 54 29 0a 09 |mmand-ch|ar ?T)..|
|000043f0| 09 09 28 73 65 74 71 20 | 6d 76 69 2d 73 65 61 72 |..(setq |mvi-sear|
|00004400| 63 68 2d 66 75 6e 63 20 | 28 6c 69 73 74 20 27 6c |ch-func |(list 'l|
|00004410| 61 6d 62 64 61 20 27 28 | 29 20 28 6c 69 73 74 20 |ambda '(|) (list |
|00004420| 27 72 65 63 65 6e 74 65 | 72 20 28 31 2d 20 6e 75 |'recente|r (1- nu|
|00004430| 6d 62 65 72 29 29 29 29 | 29 0a 09 09 20 28 28 3d |mber))))|)... ((=|
|00004440| 20 6c 61 73 74 2d 63 6f | 6d 6d 61 6e 64 2d 63 68 | last-co|mmand-ch|
|00004450| 61 72 20 3f 4d 29 20 0a | 09 09 09 28 73 65 74 71 |ar ?M) .|...(setq|
|00004460| 20 6d 76 69 2d 73 65 61 | 72 63 68 2d 66 75 6e 63 | mvi-sea|rch-func|
|00004470| 20 28 6c 69 73 74 20 27 | 6c 61 6d 62 64 61 20 27 | (list '|lambda '|
|00004480| 28 29 20 28 6c 69 73 74 | 0a 09 09 09 09 27 72 65 |() (list|.....'re|
|00004490| 63 65 6e 74 65 72 20 28 | 6c 69 73 74 20 27 2b 20 |center (|list '+ |
|000044a0| 28 31 2d 20 6e 75 6d 62 | 65 72 29 20 0a 09 09 09 |(1- numb|er) ....|
|000044b0| 09 09 09 09 09 09 09 09 | 09 28 6c 69 73 74 20 27 |........|.(list '|
|000044c0| 2f 20 28 6c 69 73 74 20 | 27 31 2d 20 28 6c 69 73 |/ (list |'1- (lis|
|000044d0| 74 20 27 77 69 6e 64 6f | 77 2d 68 65 69 67 68 74 |t 'windo|w-height|
|000044e0| 29 29 20 32 29 29 29 29 | 29 29 0a 09 09 20 28 28 |)) 2))))|))... ((|
|000044f0| 3d 20 6c 61 73 74 2d 63 | 6f 6d 6d 61 6e 64 2d 63 |= last-c|ommand-c|
|00004500| 68 61 72 20 3f 42 29 0a | 09 09 09 28 73 65 74 71 |har ?B).|...(setq|
|00004510| 20 6d 76 69 2d 73 65 61 | 72 63 68 2d 66 75 6e 63 | mvi-sea|rch-func|
|00004520| 20 28 6c 69 73 74 20 27 | 6c 61 6d 62 64 61 20 27 | (list '|lambda '|
|00004530| 28 29 20 28 6c 69 73 74 | 0a 09 09 09 09 27 72 65 |() (list|.....'re|
|00004540| 63 65 6e 74 65 72 20 28 | 6c 69 73 74 20 27 2d 20 |center (|list '- |
|00004550| 28 6c 69 73 74 20 27 77 | 69 6e 64 6f 77 2d 68 65 |(list 'w|indow-he|
|00004560| 69 67 68 74 29 20 28 31 | 2b 20 6e 75 6d 62 65 72 |ight) (1|+ number|
|00004570| 29 29 29 29 29 29 0a 09 | 09 20 28 28 3e 20 6e 75 |))))))..|. ((> nu|
|00004580| 6d 62 65 72 20 31 29 0a | 09 09 09 28 73 65 74 71 |mber 1).|...(setq|
|00004590| 20 6d 76 69 2d 73 65 61 | 72 63 68 2d 66 75 6e 63 | mvi-sea|rch-func|
|000045a0| 20 28 6c 69 73 74 20 27 | 6c 61 6d 62 64 61 20 27 | (list '|lambda '|
|000045b0| 28 29 20 28 6c 69 73 74 | 20 27 6d 76 69 2d 73 65 |() (list| 'mvi-se|
|000045c0| 61 72 63 68 2d 63 6f 6e | 74 65 78 74 20 6e 75 6d |arch-con|text num|
|000045d0| 62 65 72 29 29 29 29 0a | 09 09 20 28 74 0a 09 09 |ber)))).|.. (t...|
|000045e0| 09 28 73 65 74 71 20 6d | 76 69 2d 73 65 61 72 63 |.(setq m|vi-searc|
|000045f0| 68 2d 66 75 6e 63 20 27 | 28 6c 61 6d 62 64 61 20 |h-func '|(lambda |
|00004600| 28 29 29 29 29 29 29 29 | 0a 0a 28 64 65 66 75 6e |()))))))|..(defun|
|00004610| 20 6d 76 69 2d 73 65 61 | 72 63 68 2d 63 6f 6e 74 | mvi-sea|rch-cont|
|00004620| 65 78 74 20 28 6e 75 6d | 62 65 72 29 0a 09 22 41 |ext (num|ber).."A|
|00004630| 66 74 65 72 20 61 20 73 | 65 61 72 63 68 2c 20 74 |fter a s|earch, t|
|00004640| 72 79 20 74 6f 20 66 6f | 72 63 65 20 61 74 20 6c |ry to fo|rce at l|
|00004650| 65 61 73 74 20 4e 55 4d | 42 45 52 20 6c 69 6e 65 |east NUM|BER line|
|00004660| 73 20 6f 66 20 63 6f 6e | 74 65 78 74 20 6f 6e 20 |s of con|text on |
|00004670| 73 63 72 65 65 6e 2e 22 | 0a 09 28 6c 65 74 20 28 |screen."|..(let (|
|00004680| 28 68 65 69 67 68 74 20 | 28 77 69 6e 64 6f 77 2d |(height |(window-|
|00004690| 68 65 69 67 68 74 29 29 | 0a 09 09 09 09 28 6c 69 |height))|.....(li|
|000046a0| 6e 65 20 28 63 6f 75 6e | 74 2d 6c 69 6e 65 73 20 |ne (coun|t-lines |
|000046b0| 28 77 69 6e 64 6f 77 2d | 73 74 61 72 74 29 20 28 |(window-|start) (|
|000046c0| 70 6f 69 6e 74 29 29 29 | 29 0a 09 09 28 63 6f 6e |point)))|)...(con|
|000046d0| 64 0a 09 09 20 28 28 3e | 3d 20 6e 75 6d 62 65 72 |d... ((>|= number|
|000046e0| 20 68 65 69 67 68 74 29 | 29 0a 09 09 20 28 28 3c | height)|)... ((<|
|000046f0| 20 6c 69 6e 65 20 6e 75 | 6d 62 65 72 29 20 28 72 | line nu|mber) (r|
|00004700| 65 63 65 6e 74 65 72 20 | 28 31 2d 20 6e 75 6d 62 |ecenter |(1- numb|
|00004710| 65 72 29 29 29 0a 09 09 | 20 28 28 3c 20 28 2d 20 |er)))...| ((< (- |
|00004720| 68 65 69 67 68 74 20 6c | 69 6e 65 29 20 6e 75 6d |height l|ine) num|
|00004730| 62 65 72 29 20 28 72 65 | 63 65 6e 74 65 72 20 28 |ber) (re|center (|
|00004740| 2d 20 68 65 69 67 68 74 | 20 28 31 2b 20 6e 75 6d |- height| (1+ num|
|00004750| 62 65 72 29 29 29 29 29 | 29 29 0a 0a 0a 0a 0a 0a |ber)))))|))......|
|00004760| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 0a 0a 0a |........|........|
|00004770| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 0a 0a 0a |........|........|
|00004780| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 0a 0a 0a |........|........|
|00004790| 0a 0a 0a 0a 0a 0a 0a 3b | 3b 20 73 63 72 6f 6c 6c |.......;|; scroll|
|000047a0| 69 6e 67 0a 0a 28 64 65 | 66 75 6e 20 6d 76 69 2d |ing..(de|fun mvi-|
|000047b0| 73 63 72 6f 6c 6c 2d 62 | 61 63 6b 20 28 61 72 67 |scroll-b|ack (arg|
|000047c0| 20 6e 75 6d 62 65 72 29 | 0a 20 20 22 6d 76 69 20 | number)|. "mvi |
|000047d0| 73 63 72 6f 6c 6c 20 62 | 61 63 6b 20 70 61 67 65 |scroll b|ack page|
|000047e0| 2e 22 0a 20 20 28 69 6e | 74 65 72 61 63 74 69 76 |.". (in|teractiv|
|000047f0| 65 20 22 50 5c 6e 56 22 | 29 0a 09 28 6c 65 74 20 |e "P\nV"|)..(let |
|00004800| 28 28 63 6f 6d 6d 61 6e | 64 20 28 6d 76 69 2d 6e |((comman|d (mvi-n|
|00004810| 74 68 20 34 20 61 72 67 | 29 29 29 0a 09 09 28 69 |th 4 arg|)))...(i|
|00004820| 66 20 63 6f 6d 6d 61 6e | 64 20 28 65 72 72 6f 72 |f comman|d (error|
|00004830| 20 22 42 61 64 20 63 6f | 6d 6d 61 6e 64 22 29 29 | "Bad co|mmand"))|
|00004840| 0a 09 09 28 6d 6f 76 65 | 2d 6d 61 72 6b 65 72 20 |...(move|-marker |
|00004850| 6d 76 69 2d 67 2d 70 6f | 69 6e 74 20 28 70 6f 69 |mvi-g-po|int (poi|
|00004860| 6e 74 29 29 0a 09 09 28 | 69 66 20 61 72 67 0a 09 |nt))...(|if arg..|
|00004870| 09 09 28 73 63 72 6f 6c | 6c 2d 64 6f 77 6e 20 28 |..(scrol|l-down (|
|00004880| 2a 20 28 31 2d 20 28 77 | 69 6e 64 6f 77 2d 68 65 |* (1- (w|indow-he|
|00004890| 69 67 68 74 29 29 20 6e | 75 6d 62 65 72 29 29 0a |ight)) n|umber)).|
|000048a0| 09 09 09 28 73 63 72 6f | 6c 6c 2d 64 6f 77 6e 29 |...(scro|ll-down)|
|000048b0| 29 29 29 0a 0a 28 64 65 | 66 75 6e 20 6d 76 69 2d |)))..(de|fun mvi-|
|000048c0| 73 63 72 6f 6c 6c 2d 66 | 6f 72 77 61 72 64 20 28 |scroll-f|orward (|
|000048d0| 61 72 67 20 6e 75 6d 62 | 65 72 29 0a 20 20 22 6d |arg numb|er). "m|
|000048e0| 76 69 20 73 63 72 6f 6c | 6c 20 66 6f 72 77 61 72 |vi scrol|l forwar|
|000048f0| 64 20 70 61 67 65 2e 22 | 0a 20 20 28 69 6e 74 65 |d page."|. (inte|
|00004900| 72 61 63 74 69 76 65 20 | 22 50 5c 6e 56 22 29 0a |ractive |"P\nV").|
|00004910| 09 28 6c 65 74 20 28 28 | 63 6f 6d 6d 61 6e 64 20 |.(let ((|command |
|00004920| 28 6d 76 69 2d 6e 74 68 | 20 34 20 61 72 67 29 29 |(mvi-nth| 4 arg))|
|00004930| 29 0a 09 09 28 69 66 20 | 63 6f 6d 6d 61 6e 64 20 |)...(if |command |
|00004940| 28 65 72 72 6f 72 20 22 | 42 61 64 20 63 6f 6d 6d |(error "|Bad comm|
|00004950| 61 6e 64 22 29 29 0a 09 | 09 28 6d 6f 76 65 2d 6d |and"))..|.(move-m|
|00004960| 61 72 6b 65 72 20 6d 76 | 69 2d 67 2d 70 6f 69 6e |arker mv|i-g-poin|
|00004970| 74 20 28 70 6f 69 6e 74 | 29 29 0a 09 09 28 69 66 |t (point|))...(if|
|00004980| 20 61 72 67 0a 09 09 09 | 28 73 63 72 6f 6c 6c 2d | arg....|(scroll-|
|00004990| 75 70 20 28 2a 20 28 31 | 2d 20 28 77 69 6e 64 6f |up (* (1|- (windo|
|000049a0| 77 2d 68 65 69 67 68 74 | 29 29 20 6e 75 6d 62 65 |w-height|)) numbe|
|000049b0| 72 29 29 0a 09 09 09 28 | 73 63 72 6f 6c 6c 2d 75 |r))....(|scroll-u|
|000049c0| 70 29 29 29 29 0a 0a 28 | 64 65 66 75 6e 20 6d 76 |p))))..(|defun mv|
|000049d0| 69 2d 73 63 72 6f 6c 6c | 2d 75 70 20 28 61 72 67 |i-scroll|-up (arg|
|000049e0| 20 6e 75 6d 62 65 72 29 | 0a 20 20 22 6d 76 69 20 | number)|. "mvi |
|000049f0| 73 63 72 6f 6c 6c 20 75 | 70 20 61 20 68 61 6c 66 |scroll u|p a half|
|00004a00| 20 6f 66 20 70 61 67 65 | 2e 22 0a 20 20 28 69 6e | of page|.". (in|
|00004a10| 74 65 72 61 63 74 69 76 | 65 20 22 50 5c 6e 56 22 |teractiv|e "P\nV"|
|00004a20| 29 0a 09 28 6c 65 74 20 | 28 28 63 6f 6d 6d 61 6e |)..(let |((comman|
|00004a30| 64 20 28 6d 76 69 2d 6e | 74 68 20 34 20 61 72 67 |d (mvi-n|th 4 arg|
|00004a40| 29 29 29 0a 09 09 28 69 | 66 20 63 6f 6d 6d 61 6e |)))...(i|f comman|
|00004a50| 64 20 28 65 72 72 6f 72 | 20 22 42 61 64 20 63 6f |d (error| "Bad co|
|00004a60| 6d 6d 61 6e 64 22 29 29 | 0a 09 09 28 6d 6f 76 65 |mmand"))|...(move|
|00004a70| 2d 6d 61 72 6b 65 72 20 | 6d 76 69 2d 67 2d 70 6f |-marker |mvi-g-po|
|00004a80| 69 6e 74 20 28 70 6f 69 | 6e 74 29 29 0a 09 09 28 |int (poi|nt))...(|
|00004a90| 73 63 72 6f 6c 6c 2d 64 | 6f 77 6e 20 28 2f 20 28 |scroll-d|own (/ (|
|00004aa0| 2a 20 28 31 2d 20 28 77 | 69 6e 64 6f 77 2d 68 65 |* (1- (w|indow-he|
|00004ab0| 69 67 68 74 29 29 20 6e | 75 6d 62 65 72 29 20 32 |ight)) n|umber) 2|
|00004ac0| 29 29 29 29 0a 0a 28 64 | 65 66 75 6e 20 6d 76 69 |))))..(d|efun mvi|
|00004ad0| 2d 73 63 72 6f 6c 6c 2d | 64 6f 77 6e 20 28 61 72 |-scroll-|down (ar|
|00004ae0| 67 20 6e 75 6d 62 65 72 | 29 0a 20 20 22 6d 76 69 |g number|). "mvi|
|00004af0| 20 73 63 72 6f 6c 6c 20 | 64 6f 77 6e 20 61 20 68 | scroll |down a h|
|00004b00| 61 6c 66 20 6f 66 20 70 | 61 67 65 2e 22 0a 20 20 |alf of p|age.". |
|00004b10| 28 69 6e 74 65 72 61 63 | 74 69 76 65 20 22 50 5c |(interac|tive "P\|
|00004b20| 6e 56 22 29 0a 09 28 6c | 65 74 20 28 28 63 6f 6d |nV")..(l|et ((com|
|00004b30| 6d 61 6e 64 20 28 6d 76 | 69 2d 6e 74 68 20 34 20 |mand (mv|i-nth 4 |
|00004b40| 61 72 67 29 29 29 0a 09 | 09 28 69 66 20 63 6f 6d |arg)))..|.(if com|
|00004b50| 6d 61 6e 64 20 28 65 72 | 72 6f 72 20 22 42 61 64 |mand (er|ror "Bad|
|00004b60| 20 63 6f 6d 6d 61 6e 64 | 22 29 29 0a 09 09 28 6d | command|"))...(m|
|00004b70| 6f 76 65 2d 6d 61 72 6b | 65 72 20 6d 76 69 2d 67 |ove-mark|er mvi-g|
|00004b80| 2d 70 6f 69 6e 74 20 28 | 70 6f 69 6e 74 29 29 0a |-point (|point)).|
|00004b90| 09 09 28 73 63 72 6f 6c | 6c 2d 75 70 20 28 2f 20 |..(scrol|l-up (/ |
|00004ba0| 28 2a 20 28 31 2d 20 28 | 77 69 6e 64 6f 77 2d 68 |(* (1- (|window-h|
|00004bb0| 65 69 67 68 74 29 29 20 | 6e 75 6d 62 65 72 29 20 |eight)) |number) |
|00004bc0| 32 29 29 29 29 0a 0a 28 | 64 65 66 75 6e 20 6d 76 |2))))..(|defun mv|
|00004bd0| 69 2d 73 63 72 6f 6c 6c | 2d 75 70 2d 6f 6e 65 20 |i-scroll|-up-one |
|00004be0| 28 61 72 67 20 6e 75 6d | 62 65 72 29 0a 20 20 22 |(arg num|ber). "|
|00004bf0| 6d 76 69 20 73 63 72 6f | 6c 6c 20 75 70 20 61 20 |mvi scro|ll up a |
|00004c00| 6c 69 6e 65 2e 22 0a 20 | 20 28 69 6e 74 65 72 61 |line.". | (intera|
|00004c10| 63 74 69 76 65 20 22 50 | 5c 6e 56 22 29 0a 09 28 |ctive "P|\nV")..(|
|00004c20| 6c 65 74 20 28 28 63 6f | 6d 6d 61 6e 64 20 28 6d |let ((co|mmand (m|
|00004c30| 76 69 2d 6e 74 68 20 34 | 20 61 72 67 29 29 29 0a |vi-nth 4| arg))).|
|00004c40| 09 09 28 69 66 20 63 6f | 6d 6d 61 6e 64 20 28 65 |..(if co|mmand (e|
|00004c50| 72 72 6f 72 20 22 42 61 | 64 20 63 6f 6d 6d 61 6e |rror "Ba|d comman|
|00004c60| 64 22 29 29 0a 09 09 28 | 6d 6f 76 65 2d 6d 61 72 |d"))...(|move-mar|
|00004c70| 6b 65 72 20 6d 76 69 2d | 67 2d 70 6f 69 6e 74 20 |ker mvi-|g-point |
|00004c80| 28 70 6f 69 6e 74 29 29 | 0a 09 09 28 73 63 72 6f |(point))|...(scro|
|00004c90| 6c 6c 2d 64 6f 77 6e 20 | 6e 75 6d 62 65 72 29 29 |ll-down |number))|
|00004ca0| 29 0a 0a 28 64 65 66 75 | 6e 20 6d 76 69 2d 73 63 |)..(defu|n mvi-sc|
|00004cb0| 72 6f 6c 6c 2d 64 6f 77 | 6e 2d 6f 6e 65 20 28 61 |roll-dow|n-one (a|
|00004cc0| 72 67 20 6e 75 6d 62 65 | 72 29 0a 20 20 22 6d 76 |rg numbe|r). "mv|
|00004cd0| 69 20 73 63 72 6f 6c 6c | 20 64 6f 77 6e 20 61 20 |i scroll| down a |
|00004ce0| 6c 69 6e 65 2e 22 0a 20 | 20 28 69 6e 74 65 72 61 |line.". | (intera|
|00004cf0| 63 74 69 76 65 20 22 50 | 5c 6e 56 22 29 0a 09 28 |ctive "P|\nV")..(|
|00004d00| 6c 65 74 20 28 28 63 6f | 6d 6d 61 6e 64 20 28 6d |let ((co|mmand (m|
|00004d10| 76 69 2d 6e 74 68 20 34 | 20 61 72 67 29 29 29 0a |vi-nth 4| arg))).|
|00004d20| 09 09 28 69 66 20 63 6f | 6d 6d 61 6e 64 20 28 65 |..(if co|mmand (e|
|00004d30| 72 72 6f 72 20 22 42 61 | 64 20 63 6f 6d 6d 61 6e |rror "Ba|d comman|
|00004d40| 64 22 29 29 0a 09 09 28 | 6d 6f 76 65 2d 6d 61 72 |d"))...(|move-mar|
|00004d50| 6b 65 72 20 6d 76 69 2d | 67 2d 70 6f 69 6e 74 20 |ker mvi-|g-point |
|00004d60| 28 70 6f 69 6e 74 29 29 | 0a 09 09 28 73 63 72 6f |(point))|...(scro|
|00004d70| 6c 6c 2d 75 70 20 6e 75 | 6d 62 65 72 29 29 29 0a |ll-up nu|mber))).|
|00004d80| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 0a 0a 0a |........|........|
|00004d90| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 0a 0a 0a |........|........|
|00004da0| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 0a 0a 0a |........|........|
|00004db0| 0a 0a 0a 0a 0a 0a 0a 0a | 0a 0a 0a 0a 0a 3b 3b 20 |........|.....;; |
|00004dc0| 73 65 61 72 63 68 69 6e | 67 0a 0a 28 64 65 66 75 |searchin|g..(defu|
|00004dd0| 6e 20 6d 76 69 2d 66 2d | 73 65 61 72 63 68 2d 62 |n mvi-f-|search-b|
|00004de0| 65 67 20 28 61 72 67 20 | 6e 75 6d 62 65 72 20 26 |eg (arg |number &|
|00004df0| 6f 70 74 69 6f 6e 61 6c | 20 6d 6f 74 69 6f 6e 2d |optional| motion-|
|00004e00| 61 72 67 20 74 65 78 74 | 20 6e 6f 2d 75 70 64 61 |arg text| no-upda|
|00004e10| 74 65 29 0a 20 20 22 53 | 65 61 72 63 68 20 66 6f |te). "S|earch fo|
|00004e20| 72 77 61 72 64 20 74 6f | 20 62 65 67 69 6e 6e 69 |rward to| beginni|
|00004e30| 6e 67 2e 22 0a 20 20 28 | 69 6e 74 65 72 61 63 74 |ng.". (|interact|
|00004e40| 69 76 65 20 22 50 5c 6e | 56 22 29 0a 09 28 6c 65 |ive "P\n|V")..(le|
|00004e50| 74 20 28 28 72 65 67 69 | 73 74 65 72 20 28 6d 76 |t ((regi|ster (mv|
|00004e60| 69 2d 6e 74 68 20 31 20 | 61 72 67 29 29 0a 09 09 |i-nth 1 |arg))...|
|00004e70| 09 09 28 61 70 70 65 6e | 64 20 28 6d 76 69 2d 6e |..(appen|d (mvi-n|
|00004e80| 74 68 20 32 20 61 72 67 | 29 29 0a 09 09 09 09 28 |th 2 arg|)).....(|
|00004e90| 67 2d 66 6c 61 67 20 28 | 6d 76 69 2d 6e 74 68 20 |g-flag (|mvi-nth |
|00004ea0| 33 20 61 72 67 29 29 0a | 09 09 09 09 28 63 6f 6d |3 arg)).|....(com|
|00004eb0| 6d 61 6e 64 20 28 6d 76 | 69 2d 6e 74 68 20 34 20 |mand (mv|i-nth 4 |
|00004ec0| 61 72 67 29 29 0a 09 09 | 09 09 28 63 6f 75 6e 74 |arg))...|..(count|
|00004ed0| 20 28 69 66 20 28 3e 20 | 6e 75 6d 62 65 72 20 30 | (if (> |number 0|
|00004ee0| 29 20 6e 75 6d 62 65 72 | 20 28 2d 20 6e 75 6d 62 |) number| (- numb|
|00004ef0| 65 72 29 29 29 0a 09 09 | 09 09 28 66 6f 6c 64 20 |er)))...|..(fold |
|00004f00| 63 61 73 65 2d 66 6f 6c | 64 2d 73 65 61 72 63 68 |case-fol|d-search|
|00004f10| 29 0a 09 09 09 09 28 63 | 61 73 65 2d 66 6f 6c 64 |).....(c|ase-fold|
|00004f20| 2d 73 65 61 72 63 68 20 | 6e 69 6c 29 0a 09 09 09 |-search |nil)....|
|00004f30| 09 28 6f 72 69 67 2d 63 | 68 61 72 20 28 70 6f 69 |.(orig-c|har (poi|
|00004f40| 6e 74 29 29 0a 09 09 09 | 09 28 72 65 67 65 78 70 |nt))....|.(regexp|
|00004f50| 29 0a 09 09 09 09 28 73 | 74 61 72 74 29 0a 09 09 |).....(s|tart)...|
|00004f60| 09 09 28 68 69 73 74 2d | 74 6d 70 29 29 0a 09 09 |..(hist-|tmp))...|
|00004f70| 28 6f 72 20 6d 6f 74 69 | 6f 6e 2d 61 72 67 0a 09 |(or moti|on-arg..|
|00004f80| 09 09 28 70 72 6f 67 6e | 0a 09 09 09 09 28 69 66 |..(progn|.....(if|
|00004f90| 20 6d 76 69 2d 6d 61 67 | 69 63 20 0a 09 09 09 09 | mvi-mag|ic .....|
|00004fa0| 09 28 73 65 74 71 20 6d | 6f 74 69 6f 6e 2d 61 72 |.(setq m|otion-ar|
|00004fb0| 67 20 28 72 65 61 64 2d | 73 74 72 69 6e 67 20 22 |g (read-|string "|
|00004fc0| 45 6e 74 65 72 20 72 65 | 2d 73 74 72 69 6e 67 3a |Enter re|-string:|
|00004fd0| 20 22 29 29 0a 09 09 09 | 09 09 28 73 65 74 71 20 | "))....|..(setq |
|00004fe0| 6d 6f 74 69 6f 6e 2d 61 | 72 67 20 28 72 65 61 64 |motion-a|rg (read|
|00004ff0| 2d 73 74 72 69 6e 67 20 | 22 45 6e 74 65 72 20 73 |-string |"Enter s|
|00005000| 74 72 69 6e 67 3a 20 22 | 29 29 29 0a 09 09 09 09 |tring: "|))).....|
|00005010| 28 6f 72 20 28 73 74 72 | 69 6e 67 3d 20 6d 6f 74 |(or (str|ing= mot|
|00005020| 69 6f 6e 2d 61 72 67 20 | 22 22 29 0a 09 09 09 09 |ion-arg |"").....|
|00005030| 09 28 73 65 74 71 20 63 | 6f 6d 6d 61 6e 64 2d 68 |.(setq c|ommand-h|
|00005040| 69 73 74 6f 72 79 20 0a | 09 09 09 09 09 09 28 63 |istory .|......(c|
|00005050| 6f 6e 73 20 28 6c 69 73 | 74 20 27 6d 76 69 2d 66 |ons (lis|t 'mvi-f|
|00005060| 2d 73 65 61 72 63 68 2d | 62 65 67 20 6e 69 6c 20 |-search-|beg nil |
|00005070| 6e 75 6d 62 65 72 20 6d | 6f 74 69 6f 6e 2d 61 72 |number m|otion-ar|
|00005080| 67 20 6e 69 6c 29 20 0a | 09 09 09 09 09 09 09 63 |g nil) .|.......c|
|00005090| 6f 6d 6d 61 6e 64 2d 68 | 69 73 74 6f 72 79 29 29 |ommand-h|istory))|
|000050a0| 29 29 29 0a 09 09 28 69 | 66 20 28 73 74 72 69 6e |)))...(i|f (strin|
|000050b0| 67 3d 20 6d 6f 74 69 6f | 6e 2d 61 72 67 20 22 22 |g= motio|n-arg ""|
|000050c0| 29 0a 09 09 09 28 73 65 | 74 71 20 6d 6f 74 69 6f |)....(se|tq motio|
|000050d0| 6e 2d 61 72 67 20 6d 76 | 69 2d 73 65 61 72 63 68 |n-arg mv|i-search|
|000050e0| 2d 73 74 72 69 6e 67 29 | 0a 09 09 09 28 73 65 74 |-string)|....(set|
|000050f0| 71 20 6d 76 69 2d 73 65 | 61 72 63 68 2d 73 74 72 |q mvi-se|arch-str|
|00005100| 69 6e 67 20 6d 6f 74 69 | 6f 6e 2d 61 72 67 29 29 |ing moti|on-arg))|
|00005110| 0a 09 09 28 6f 72 20 6e | 6f 2d 75 70 64 61 74 65 |...(or n|o-update|
|00005120| 20 28 73 65 74 71 20 6d | 76 69 2d 6c 61 73 74 2d | (setq m|vi-last-|
|00005130| 73 65 61 72 63 68 20 28 | 6c 69 73 74 20 27 6d 76 |search (|list 'mv|
|00005140| 69 2d 66 2d 73 65 61 72 | 63 68 2d 62 65 67 20 0a |i-f-sear|ch-beg .|
|00005150| 09 09 09 28 69 66 20 28 | 3e 20 6e 75 6d 62 65 72 |...(if (|> number|
|00005160| 20 30 29 20 74 20 6e 69 | 6c 29 29 29 29 0a 09 09 | 0) t ni|l))))...|
|00005170| 28 6d 6f 76 65 2d 6d 61 | 72 6b 65 72 20 6d 76 69 |(move-ma|rker mvi|
|00005180| 2d 67 2d 70 6f 69 6e 74 | 20 28 70 6f 69 6e 74 29 |-g-point| (point)|
|00005190| 29 0a 09 09 28 69 66 20 | 28 3e 20 6e 75 6d 62 65 |)...(if |(> numbe|
|000051a0| 72 20 30 29 20 28 70 75 | 73 68 2d 6d 61 72 6b 20 |r 0) (pu|sh-mark |
|000051b0| 6e 69 6c 20 74 29 29 0a | 09 09 28 69 66 20 28 61 |nil t)).|..(if (a|
|000051c0| 6e 64 20 66 6f 6c 64 20 | 28 6e 6f 74 20 28 73 74 |nd fold |(not (st|
|000051d0| 72 69 6e 67 2d 6d 61 74 | 63 68 20 22 5b 41 2d 5a |ring-mat|ch "[A-Z|
|000051e0| 5d 22 20 6d 6f 74 69 6f | 6e 2d 61 72 67 29 29 29 |]" motio|n-arg)))|
|000051f0| 0a 09 09 09 28 73 65 74 | 71 20 63 61 73 65 2d 66 |....(set|q case-f|
|00005200| 6f 6c 64 2d 73 65 61 72 | 63 68 20 74 29 0a 09 09 |old-sear|ch t)...|
|00005210| 09 28 73 65 74 71 20 63 | 61 73 65 2d 66 6f 6c 64 |.(setq c|ase-fold|
|00005220| 2d 73 65 61 72 63 68 20 | 6e 69 6c 29 29 0a 09 09 |-search |nil))...|
|00005230| 28 69 66 20 6d 76 69 2d | 6d 61 67 69 63 20 0a 09 |(if mvi-|magic ..|
|00005240| 09 20 20 28 73 65 74 71 | 20 72 65 67 65 78 70 20 |. (setq| regexp |
|00005250| 6d 6f 74 69 6f 6e 2d 61 | 72 67 29 0a 09 09 20 20 |motion-a|rg)... |
|00005260| 28 73 65 74 71 20 72 65 | 67 65 78 70 20 28 72 65 |(setq re|gexp (re|
|00005270| 67 65 78 70 2d 71 75 6f | 74 65 20 6d 6f 74 69 6f |gexp-quo|te motio|
|00005280| 6e 2d 61 72 67 29 29 29 | 0a 09 09 28 69 66 20 63 |n-arg)))|...(if c|
|00005290| 6f 6d 6d 61 6e 64 20 28 | 6d 6f 76 65 2d 6d 61 72 |ommand (|move-mar|
|000052a0| 6b 65 72 20 6d 76 69 2d | 63 6f 6d 2d 70 6f 69 6e |ker mvi-|com-poin|
|000052b0| 74 20 28 70 6f 69 6e 74 | 29 29 29 0a 09 09 28 63 |t (point|)))...(c|
|000052c0| 6f 6e 64 69 74 69 6f 6e | 2d 63 61 73 65 20 45 52 |ondition|-case ER|
|000052d0| 52 0a 09 09 09 28 70 72 | 6f 67 6e 0a 09 09 09 09 |R....(pr|ogn.....|
|000052e0| 28 69 66 20 28 61 6e 64 | 20 66 6f 6c 64 65 64 2d |(if (and| folded-|
|000052f0| 64 69 73 70 6c 61 79 20 | 73 65 61 72 63 68 2d 73 |display |search-s|
|00005300| 6b 69 70 2d 66 6f 6c 64 | 29 0a 09 09 09 09 09 28 |kip-fold|)......(|
|00005310| 70 72 6f 67 6e 0a 09 09 | 09 09 09 09 28 69 66 20 |progn...|....(if |
|00005320| 28 6c 6f 6f 6b 69 6e 67 | 2d 61 74 20 72 65 67 65 |(looking|-at rege|
|00005330| 78 70 29 20 28 67 6f 74 | 6f 2d 63 68 61 72 20 28 |xp) (got|o-char (|
|00005340| 6d 61 74 63 68 2d 65 6e | 64 20 30 29 29 29 0a 09 |match-en|d 0)))..|
|00005350| 09 09 09 09 09 28 73 65 | 74 71 20 73 74 61 72 74 |.....(se|tq start|
|00005360| 20 28 70 6f 69 6e 74 29 | 29 0a 09 09 09 09 09 09 | (point)|).......|
|00005370| 28 77 68 69 6c 65 20 28 | 61 6e 64 20 28 2f 3d 20 |(while (|and (/= |
|00005380| 63 6f 75 6e 74 20 30 29 | 20 28 72 65 2d 73 65 61 |count 0)| (re-sea|
|00005390| 72 63 68 2d 66 6f 72 77 | 61 72 64 20 72 65 67 65 |rch-forw|ard rege|
|000053a0| 78 70 20 6e 69 6c 20 6d | 76 69 2d 77 72 61 70 20 |xp nil m|vi-wrap |
|000053b0| 31 29 29 0a 09 09 09 09 | 09 09 09 28 6f 72 20 28 |1)).....|...(or (|
|000053c0| 66 6f 6c 64 65 64 2d 70 | 20 28 6d 61 74 63 68 2d |folded-p| (match-|
|000053d0| 62 65 67 69 6e 6e 69 6e | 67 20 30 29 29 20 28 73 |beginnin|g 0)) (s|
|000053e0| 65 74 71 20 63 6f 75 6e | 74 20 28 31 2d 20 63 6f |etq coun|t (1- co|
|000053f0| 75 6e 74 29 29 29 29 0a | 09 09 09 09 09 09 28 69 |unt)))).|......(i|
|00005400| 66 20 28 3d 20 63 6f 75 | 6e 74 20 30 29 0a 09 09 |f (= cou|nt 0)...|
|00005410| 09 09 09 09 09 28 67 6f | 74 6f 2d 63 68 61 72 20 |.....(go|to-char |
|00005420| 28 6d 61 74 63 68 2d 62 | 65 67 69 6e 6e 69 6e 67 |(match-b|eginning|
|00005430| 20 30 29 29 0a 09 09 09 | 09 09 09 09 28 70 72 6f | 0))....|....(pro|
|00005440| 67 6e 0a 09 09 09 09 09 | 09 09 09 28 67 6f 74 6f |gn......|...(goto|
|00005450| 2d 63 68 61 72 20 28 70 | 6f 69 6e 74 2d 6d 69 6e |-char (p|oint-min|
|00005460| 29 29 0a 09 09 09 09 09 | 09 09 09 28 77 68 69 6c |))......|...(whil|
|00005470| 65 20 28 61 6e 64 20 28 | 72 65 2d 73 65 61 72 63 |e (and (|re-searc|
|00005480| 68 2d 66 6f 72 77 61 72 | 64 20 72 65 67 65 78 70 |h-forwar|d regexp|
|00005490| 20 73 74 61 72 74 20 6e | 69 6c 20 31 29 0a 09 09 | start n|il 1)...|
|000054a0| 09 09 09 09 09 09 09 28 | 66 6f 6c 64 65 64 2d 70 |.......(|folded-p|
|000054b0| 20 28 6d 61 74 63 68 2d | 62 65 67 69 6e 6e 69 6e | (match-|beginnin|
|000054c0| 67 20 30 29 29 29 29 20 | 0a 09 09 09 09 09 09 09 |g 0)))) |........|
|000054d0| 09 28 67 6f 74 6f 2d 63 | 68 61 72 20 28 6d 61 74 |.(goto-c|har (mat|
|000054e0| 63 68 2d 62 65 67 69 6e | 6e 69 6e 67 20 30 29 29 |ch-begin|ning 0))|
|000054f0| 0a 09 09 09 09 09 09 09 | 09 28 73 65 74 71 20 63 |........|.(setq c|
|00005500| 6f 6d 6d 61 6e 64 20 6e | 69 6c 29 0a 09 09 09 09 |ommand n|il).....|
|00005510| 09 09 09 09 28 6d 65 73 | 73 61 67 65 20 22 53 65 |....(mes|sage "Se|
|00005520| 61 72 63 68 20 77 72 61 | 70 70 65 64 20 61 72 6f |arch wra|pped aro|
|00005530| 75 6e 64 20 62 75 66 66 | 65 72 22 29 29 29 29 0a |und buff|er")))).|
|00005540| 09 09 09 09 09 28 69 66 | 20 28 6c 6f 6f 6b 69 6e |.....(if| (lookin|
|00005550| 67 2d 61 74 20 72 65 67 | 65 78 70 29 20 28 67 6f |g-at reg|exp) (go|
|00005560| 74 6f 2d 63 68 61 72 20 | 28 6d 61 74 63 68 2d 65 |to-char |(match-e|
|00005570| 6e 64 20 30 29 29 29 0a | 09 09 09 09 09 28 73 65 |nd 0))).|.....(se|
|00005580| 74 71 20 73 74 61 72 74 | 20 28 70 6f 69 6e 74 29 |tq start| (point)|
|00005590| 29 0a 09 09 09 09 09 28 | 69 66 20 28 72 65 2d 73 |)......(|if (re-s|
|000055a0| 65 61 72 63 68 2d 66 6f | 72 77 61 72 64 20 72 65 |earch-fo|rward re|
|000055b0| 67 65 78 70 20 6e 69 6c | 20 6d 76 69 2d 77 72 61 |gexp nil| mvi-wra|
|000055c0| 70 20 63 6f 75 6e 74 29 | 0a 09 09 09 09 09 09 28 |p count)|.......(|
|000055d0| 67 6f 74 6f 2d 63 68 61 | 72 20 28 6d 61 74 63 68 |goto-cha|r (match|
|000055e0| 2d 62 65 67 69 6e 6e 69 | 6e 67 20 30 29 29 0a 09 |-beginni|ng 0))..|
|000055f0| 09 09 09 09 09 28 70 72 | 6f 67 6e 0a 09 09 09 09 |.....(pr|ogn.....|
|00005600| 09 09 09 28 67 6f 74 6f | 2d 63 68 61 72 20 28 70 |...(goto|-char (p|
|00005610| 6f 69 6e 74 2d 6d 69 6e | 29 29 0a 09 09 09 09 09 |oint-min|))......|
|00005620| 09 09 28 72 65 2d 73 65 | 61 72 63 68 2d 66 6f 72 |..(re-se|arch-for|
|00005630| 77 61 72 64 20 72 65 67 | 65 78 70 20 73 74 61 72 |ward reg|exp star|
|00005640| 74 20 6e 69 6c 20 31 29 | 0a 09 09 09 09 09 09 09 |t nil 1)|........|
|00005650| 28 67 6f 74 6f 2d 63 68 | 61 72 20 28 6d 61 74 63 |(goto-ch|ar (matc|
|00005660| 68 2d 62 65 67 69 6e 6e | 69 6e 67 20 30 29 29 0a |h-beginn|ing 0)).|
|00005670| 09 09 09 09 09 09 09 28 | 73 65 74 71 20 63 6f 6d |.......(|setq com|
|00005680| 6d 61 6e 64 20 6e 69 6c | 29 0a 09 09 09 09 09 09 |mand nil|).......|
|00005690| 09 28 6d 65 73 73 61 67 | 65 20 22 53 65 61 72 63 |.(messag|e "Searc|
|000056a0| 68 20 77 72 61 70 70 65 | 64 20 61 72 6f 75 6e 64 |h wrappe|d around|
|000056b0| 20 62 75 66 66 65 72 22 | 29 29 29 29 0a 09 09 09 | buffer"|))))....|
|000056c0| 09 28 61 6e 64 20 63 6f | 6d 6d 61 6e 64 20 28 6d |.(and co|mmand (m|
|000056d0| 76 69 2d 65 78 65 63 75 | 74 65 2d 63 6f 6d 20 27 |vi-execu|te-com '|
|000056e0| 6d 76 69 2d 66 2d 73 65 | 61 72 63 68 2d 62 65 67 |mvi-f-se|arch-beg|
|000056f0| 29 29 0a 09 09 09 09 28 | 66 75 6e 63 61 6c 6c 20 |)).....(|funcall |
|00005700| 6d 76 69 2d 73 65 61 72 | 63 68 2d 66 75 6e 63 29 |mvi-sear|ch-func)|
|00005710| 29 0a 09 09 28 65 72 72 | 6f 72 20 0a 09 09 09 28 |)...(err|or ....(|
|00005720| 67 6f 74 6f 2d 63 68 61 | 72 20 6f 72 69 67 2d 63 |goto-cha|r orig-c|
|00005730| 68 61 72 29 0a 09 09 09 | 28 65 72 72 6f 72 20 22 |har)....|(error "|
|00005740| 53 65 61 72 63 68 20 66 | 61 69 6c 65 64 3a 20 25 |Search f|ailed: %|
|00005750| 73 22 20 28 70 72 69 6e | 31 2d 74 6f 2d 73 74 72 |s" (prin|1-to-str|
|00005760| 69 6e 67 20 6d 6f 74 69 | 6f 6e 2d 61 72 67 29 29 |ing moti|on-arg))|
|00005770| 29 0a 09 09 28 71 75 69 | 74 20 0a 09 09 09 28 67 |)...(qui|t ....(g|
|00005780| 6f 74 6f 2d 63 68 61 72 | 20 6f 72 69 67 2d 63 68 |oto-char| orig-ch|
|00005790| 61 72 29 29 29 29 29 0a | 0a 28 64 65 66 75 6e 20 |ar))))).|.(defun |
|000057a0| 6d 76 69 2d 62 2d 73 65 | 61 72 63 68 2d 62 65 67 |mvi-b-se|arch-beg|
|000057b0| 20 28 61 72 67 20 6e 75 | 6d 62 65 72 20 26 6f 70 | (arg nu|mber &op|
|000057c0| 74 69 6f 6e 61 6c 20 6d | 6f 74 69 6f 6e 2d 61 72 |tional m|otion-ar|
|000057d0| 67 20 74 65 78 74 20 6e | 6f 2d 75 70 64 61 74 65 |g text n|o-update|
|000057e0| 29 0a 20 20 22 53 65 61 | 72 63 68 20 62 61 63 6b |). "Sea|rch back|
|000057f0| 77 61 72 64 20 74 6f 20 | 62 65 67 69 6e 6e 69 6e |ward to |beginnin|
|00005800| 67 2e 22 0a 20 20 28 69 | 6e 74 65 72 61 63 74 69 |g.". (i|nteracti|
|00005810| 76 65 20 22 50 5c 6e 56 | 22 29 0a 09 28 6c 65 74 |ve "P\nV|")..(let|
|00005820| 20 28 28 72 65 67 69 73 | 74 65 72 20 28 6d 76 69 | ((regis|ter (mvi|
|00005830| 2d 6e 74 68 20 31 20 61 | 72 67 29 29 0a 09 09 09 |-nth 1 a|rg))....|
|00005840| 09 28 61 70 70 65 6e 64 | 20 28 6d 76 69 2d 6e 74 |.(append| (mvi-nt|
|00005850| 68 20 32 20 61 72 67 29 | 29 0a 09 09 09 09 28 67 |h 2 arg)|).....(g|
|00005860| 2d 66 6c 61 67 20 28 6d | 76 69 2d 6e 74 68 20 33 |-flag (m|vi-nth 3|
|00005870| 20 61 72 67 29 29 0a 09 | 09 09 09 28 63 6f 6d 6d | arg))..|...(comm|
|00005880| 61 6e 64 20 28 6d 76 69 | 2d 6e 74 68 20 34 20 61 |and (mvi|-nth 4 a|
|00005890| 72 67 29 29 0a 09 09 09 | 09 28 63 6f 75 6e 74 20 |rg))....|.(count |
|000058a0| 28 69 66 20 28 3e 20 6e | 75 6d 62 65 72 20 30 29 |(if (> n|umber 0)|
|000058b0| 20 6e 75 6d 62 65 72 20 | 28 2d 20 6e 75 6d 62 65 | number |(- numbe|
|000058c0| 72 29 29 29 0a 09 09 09 | 09 28 66 6f 6c 64 20 63 |r)))....|.(fold c|
|000058d0| 61 73 65 2d 66 6f 6c 64 | 2d 73 65 61 72 63 68 29 |ase-fold|-search)|
|000058e0| 0a 09 09 09 09 28 63 61 | 73 65 2d 66 6f 6c 64 2d |.....(ca|se-fold-|
|000058f0| 73 65 61 72 63 68 20 6e | 69 6c 29 0a 09 09 09 09 |search n|il).....|
|00005900| 28 6f 72 69 67 2d 63 68 | 61 72 20 28 70 6f 69 6e |(orig-ch|ar (poin|
|00005910| 74 29 29 0a 09 09 09 09 | 28 72 65 67 65 78 70 29 |t)).....|(regexp)|
|00005920| 0a 09 09 09 09 28 73 74 | 61 72 74 29 0a 09 09 09 |.....(st|art)....|
|00005930| 09 28 68 69 73 74 2d 74 | 6d 70 29 29 0a 09 09 28 |.(hist-t|mp))...(|
|00005940| 6f 72 20 6d 6f 74 69 6f | 6e 2d 61 72 67 0a 09 09 |or motio|n-arg...|
|00005950| 09 28 70 72 6f 67 6e 0a | 09 09 09 09 28 69 66 20 |.(progn.|....(if |
|00005960| 6d 76 69 2d 6d 61 67 69 | 63 20 0a 09 09 09 09 09 |mvi-magi|c ......|
|00005970| 28 73 65 74 71 20 6d 6f | 74 69 6f 6e 2d 61 72 67 |(setq mo|tion-arg|
|00005980| 20 28 72 65 61 64 2d 73 | 74 72 69 6e 67 20 22 45 | (read-s|tring "E|
|00005990| 6e 74 65 72 20 72 65 2d | 73 74 72 69 6e 67 3a 20 |nter re-|string: |
|000059a0| 22 29 29 0a 09 09 09 09 | 09 28 73 65 74 71 20 6d |")).....|.(setq m|
|000059b0| 6f 74 69 6f 6e 2d 61 72 | 67 20 28 72 65 61 64 2d |otion-ar|g (read-|
|000059c0| 73 74 72 69 6e 67 20 22 | 45 6e 74 65 72 20 73 74 |string "|Enter st|
|000059d0| 72 69 6e 67 3a 20 22 29 | 29 29 0a 09 09 09 09 28 |ring: ")|)).....(|
|000059e0| 6f 72 20 28 73 74 72 69 | 6e 67 3d 20 6d 6f 74 69 |or (stri|ng= moti|
|000059f0| 6f 6e 2d 61 72 67 20 22 | 22 29 0a 09 09 09 09 09 |on-arg "|")......|
|00005a00| 28 73 65 74 71 20 63 6f | 6d 6d 61 6e 64 2d 68 69 |(setq co|mmand-hi|
|00005a10| 73 74 6f 72 79 20 0a 09 | 09 09 09 09 09 28 63 6f |story ..|.....(co|
|00005a20| 6e 73 20 28 6c 69 73 74 | 20 27 6d 76 69 2d 62 2d |ns (list| 'mvi-b-|
|00005a30| 73 65 61 72 63 68 2d 62 | 65 67 20 6e 69 6c 20 6e |search-b|eg nil n|
|00005a40| 75 6d 62 65 72 20 6d 6f | 74 69 6f 6e 2d 61 72 67 |umber mo|tion-arg|
|00005a50| 20 6e 69 6c 29 20 0a 09 | 09 09 09 09 09 09 63 6f | nil) ..|......co|
|00005a60| 6d 6d 61 6e 64 2d 68 69 | 73 74 6f 72 79 29 29 29 |mmand-hi|story)))|
|00005a70| 29 29 0a 09 09 28 69 66 | 20 28 73 74 72 69 6e 67 |))...(if| (string|
|00005a80| 3d 20 6d 6f 74 69 6f 6e | 2d 61 72 67 20 22 22 29 |= motion|-arg "")|
|00005a90| 0a 09 09 09 28 73 65 74 | 71 20 6d 6f 74 69 6f 6e |....(set|q motion|
|00005aa0| 2d 61 72 67 20 6d 76 69 | 2d 73 65 61 72 63 68 2d |-arg mvi|-search-|
|00005ab0| 73 74 72 69 6e 67 29 0a | 09 09 09 28 73 65 74 71 |string).|...(setq|
|00005ac0| 20 6d 76 69 2d 73 65 61 | 72 63 68 2d 73 74 72 69 | mvi-sea|rch-stri|
|00005ad0| 6e 67 20 6d 6f 74 69 6f | 6e 2d 61 72 67 29 29 0a |ng motio|n-arg)).|
|00005ae0| 09 09 28 6f 72 20 6e 6f | 2d 75 70 64 61 74 65 20 |..(or no|-update |
|00005af0| 28 73 65 74 71 20 6d 76 | 69 2d 6c 61 73 74 2d 73 |(setq mv|i-last-s|
|00005b00| 65 61 72 63 68 20 28 6c | 69 73 74 20 27 6d 76 69 |earch (l|ist 'mvi|
|00005b10| 2d 62 2d 73 65 61 72 63 | 68 2d 62 65 67 20 0a 09 |-b-searc|h-beg ..|
|00005b20| 09 09 28 69 66 20 28 3e | 20 6e 75 6d 62 65 72 20 |..(if (>| number |
|00005b30| 30 29 20 74 20 6e 69 6c | 29 29 29 29 0a 09 09 28 |0) t nil|))))...(|
|00005b40| 6d 6f 76 65 2d 6d 61 72 | 6b 65 72 20 6d 76 69 2d |move-mar|ker mvi-|
|00005b50| 67 2d 70 6f 69 6e 74 20 | 28 70 6f 69 6e 74 29 29 |g-point |(point))|
|00005b60| 0a 09 09 28 69 66 20 28 | 3e 20 6e 75 6d 62 65 72 |...(if (|> number|
|00005b70| 20 30 29 20 28 70 75 73 | 68 2d 6d 61 72 6b 20 6e | 0) (pus|h-mark n|
|00005b80| 69 6c 20 74 29 29 0a 09 | 09 28 69 66 20 28 61 6e |il t))..|.(if (an|
|00005b90| 64 20 66 6f 6c 64 20 28 | 6e 6f 74 20 28 73 74 72 |d fold (|not (str|
|00005ba0| 69 6e 67 2d 6d 61 74 63 | 68 20 22 5b 41 2d 5a 5d |ing-matc|h "[A-Z]|
|00005bb0| 22 20 6d 6f 74 69 6f 6e | 2d 61 72 67 29 29 29 0a |" motion|-arg))).|
|00005bc0| 09 09 09 28 73 65 74 71 | 20 63 61 73 65 2d 66 6f |...(setq| case-fo|
|00005bd0| 6c 64 2d 73 65 61 72 63 | 68 20 74 29 0a 09 09 09 |ld-searc|h t)....|
|00005be0| 28 73 65 74 71 20 63 61 | 73 65 2d 66 6f 6c 64 2d |(setq ca|se-fold-|
|00005bf0| 73 65 61 72 63 68 20 6e | 69 6c 29 29 0a 09 09 28 |search n|il))...(|
|00005c00| 69 66 20 6d 76 69 2d 6d | 61 67 69 63 20 0a 09 09 |if mvi-m|agic ...|
|00005c10| 20 20 28 73 65 74 71 20 | 72 65 67 65 78 70 20 6d | (setq |regexp m|
|00005c20| 6f 74 69 6f 6e 2d 61 72 | 67 29 0a 09 09 20 20 28 |otion-ar|g)... (|
|00005c30| 73 65 74 71 20 72 65 67 | 65 78 70 20 28 72 65 67 |setq reg|exp (reg|
|00005c40| 65 78 70 2d 71 75 6f 74 | 65 20 6d 6f 74 69 6f 6e |exp-quot|e motion|
|00005c50| 2d 61 72 67 29 29 29 0a | 09 09 28 69 66 20 63 6f |-arg))).|..(if co|
|00005c60| 6d 6d 61 6e 64 20 28 6d | 6f 76 65 2d 6d 61 72 6b |mmand (m|ove-mark|
|00005c70| 65 72 20 6d 76 69 2d 63 | 6f 6d 2d 70 6f 69 6e 74 |er mvi-c|om-point|
|00005c80| 20 28 70 6f 69 6e 74 29 | 29 29 0a 09 09 28 63 6f | (point)|))...(co|
|00005c90| 6e 64 69 74 69 6f 6e 2d | 63 61 73 65 20 45 52 52 |ndition-|case ERR|
|00005ca0| 0a 09 09 09 28 70 72 6f | 67 6e 0a 09 09 09 09 28 |....(pro|gn.....(|
|00005cb0| 69 66 20 28 61 6e 64 20 | 66 6f 6c 64 65 64 2d 64 |if (and |folded-d|
|00005cc0| 69 73 70 6c 61 79 20 73 | 65 61 72 63 68 2d 73 6b |isplay s|earch-sk|
|00005cd0| 69 70 2d 66 6f 6c 64 29 | 0a 09 09 09 09 09 28 70 |ip-fold)|......(p|
|00005ce0| 72 6f 67 6e 0a 09 09 09 | 09 09 09 28 73 65 74 71 |rogn....|...(setq|
|00005cf0| 20 73 74 61 72 74 20 28 | 70 6f 69 6e 74 29 29 0a | start (|point)).|
|00005d00| 09 09 09 09 09 09 28 77 | 68 69 6c 65 20 28 61 6e |......(w|hile (an|
|00005d10| 64 20 28 2f 3d 20 63 6f | 75 6e 74 20 30 29 20 0a |d (/= co|unt 0) .|
|00005d20| 09 09 09 09 09 09 09 28 | 72 65 2d 73 65 61 72 63 |.......(|re-searc|
|00005d30| 68 2d 62 61 63 6b 77 61 | 72 64 20 72 65 67 65 78 |h-backwa|rd regex|
|00005d40| 70 20 6e 69 6c 20 6d 76 | 69 2d 77 72 61 70 20 31 |p nil mv|i-wrap 1|
|00005d50| 29 29 0a 09 09 09 09 09 | 09 09 09 28 6f 72 20 28 |))......|...(or (|
|00005d60| 66 6f 6c 64 65 64 2d 70 | 29 20 28 73 65 74 71 20 |folded-p|) (setq |
|00005d70| 63 6f 75 6e 74 20 28 31 | 2d 20 63 6f 75 6e 74 29 |count (1|- count)|
|00005d80| 29 29 29 0a 09 09 09 09 | 09 09 28 6f 72 20 28 3d |))).....|..(or (=|
|00005d90| 20 63 6f 75 6e 74 20 30 | 29 0a 09 09 09 09 09 09 | count 0|).......|
|00005da0| 09 28 70 72 6f 67 6e 0a | 09 09 09 09 09 09 09 09 |.(progn.|........|
|00005db0| 28 67 6f 74 6f 2d 63 68 | 61 72 20 28 70 6f 69 6e |(goto-ch|ar (poin|
|00005dc0| 74 2d 6d 61 78 29 29 0a | 09 09 09 09 09 09 09 09 |t-max)).|........|
|00005dd0| 28 77 68 69 6c 65 20 28 | 61 6e 64 20 28 72 65 2d |(while (|and (re-|
|00005de0| 73 65 61 72 63 68 2d 62 | 61 63 6b 77 61 72 64 20 |search-b|ackward |
|00005df0| 72 65 67 65 78 70 20 73 | 74 61 72 74 20 6e 69 6c |regexp s|tart nil|
|00005e00| 20 31 29 0a 09 09 09 09 | 09 09 09 09 09 28 66 6f | 1).....|.....(fo|
|00005e10| 6c 64 65 64 2d 70 29 29 | 29 20 0a 09 09 09 09 09 |lded-p))|) ......|
|00005e20| 09 09 09 28 73 65 74 71 | 20 63 6f 6d 6d 61 6e 64 |...(setq| command|
|00005e30| 20 6e 69 6c 29 0a 09 09 | 09 09 09 09 09 09 28 6d | nil)...|......(m|
|00005e40| 65 73 73 61 67 65 20 22 | 53 65 61 72 63 68 20 77 |essage "|Search w|
|00005e50| 72 61 70 70 65 64 20 61 | 72 6f 75 6e 64 20 62 75 |rapped a|round bu|
|00005e60| 66 66 65 72 22 29 29 29 | 29 0a 09 09 09 09 09 28 |ffer")))|)......(|
|00005e70| 73 65 74 71 20 73 74 61 | 72 74 20 28 70 6f 69 6e |setq sta|rt (poin|
|00005e80| 74 29 29 0a 09 09 09 09 | 09 28 6f 72 20 28 72 65 |t)).....|.(or (re|
|00005e90| 2d 73 65 61 72 63 68 2d | 62 61 63 6b 77 61 72 64 |-search-|backward|
|00005ea0| 20 72 65 67 65 78 70 20 | 6e 69 6c 20 6d 76 69 2d | regexp |nil mvi-|
|00005eb0| 77 72 61 70 20 63 6f 75 | 6e 74 29 0a 09 09 09 09 |wrap cou|nt).....|
|00005ec0| 09 09 28 70 72 6f 67 6e | 0a 09 09 09 09 09 09 09 |..(progn|........|
|00005ed0| 28 67 6f 74 6f 2d 63 68 | 61 72 20 28 70 6f 69 6e |(goto-ch|ar (poin|
|00005ee0| 74 2d 6d 61 78 29 29 0a | 09 09 09 09 09 09 09 28 |t-max)).|.......(|
|00005ef0| 72 65 2d 73 65 61 72 63 | 68 2d 62 61 63 6b 77 61 |re-searc|h-backwa|
|00005f00| 72 64 20 72 65 67 65 78 | 70 20 73 74 61 72 74 20 |rd regex|p start |
|00005f10| 6e 69 6c 20 31 29 0a 09 | 09 09 09 09 09 09 28 73 |nil 1)..|......(s|
|00005f20| 65 74 71 20 63 6f 6d 6d | 61 6e 64 20 6e 69 6c 29 |etq comm|and nil)|
|00005f30| 0a 09 09 09 09 09 09 09 | 28 6d 65 73 73 61 67 65 |........|(message|
|00005f40| 20 22 53 65 61 72 63 68 | 20 77 72 61 70 70 65 64 | "Search| wrapped|
|00005f50| 20 61 72 6f 75 6e 64 20 | 62 75 66 66 65 72 22 29 | around |buffer")|
|00005f60| 29 29 29 0a 09 09 09 09 | 28 61 6e 64 20 63 6f 6d |))).....|(and com|
|00005f70| 6d 61 6e 64 20 28 6d 76 | 69 2d 65 78 65 63 75 74 |mand (mv|i-execut|
|00005f80| 65 2d 63 6f 6d 20 27 6d | 76 69 2d 62 2d 73 65 61 |e-com 'm|vi-b-sea|
|00005f90| 72 63 68 2d 62 65 67 29 | 29 0a 09 09 09 09 28 66 |rch-beg)|).....(f|
|00005fa0| 75 6e 63 61 6c 6c 20 6d | 76 69 2d 73 65 61 72 63 |uncall m|vi-searc|
|00005fb0| 68 2d 66 75 6e 63 29 29 | 0a 09 09 28 65 72 72 6f |h-func))|...(erro|
|00005fc0| 72 20 0a 09 09 09 28 67 | 6f 74 6f 2d 63 68 61 72 |r ....(g|oto-char|
|00005fd0| 20 6f 72 69 67 2d 63 68 | 61 72 29 0a 09 09 09 28 | orig-ch|ar)....(|
|00005fe0| 65 72 72 6f 72 20 22 53 | 65 61 72 63 68 20 66 61 |error "S|earch fa|
|00005ff0| 69 6c 65 64 3a 20 25 73 | 22 20 28 70 72 69 6e 31 |iled: %s|" (prin1|
|00006000| 2d 74 6f 2d 73 74 72 69 | 6e 67 20 6d 6f 74 69 6f |-to-stri|ng motio|
|00006010| 6e 2d 61 72 67 29 29 29 | 0a 09 09 28 71 75 69 74 |n-arg)))|...(quit|
|00006020| 20 0a 09 09 09 28 67 6f | 74 6f 2d 63 68 61 72 20 | ....(go|to-char |
|00006030| 6f 72 69 67 2d 63 68 61 | 72 29 29 29 29 29 0a 0a |orig-cha|r)))))..|
|00006040| 28 64 65 66 75 6e 20 6d | 76 69 2d 66 2d 73 65 61 |(defun m|vi-f-sea|
|00006050| 72 63 68 2d 65 6e 64 20 | 28 61 72 67 20 6e 75 6d |rch-end |(arg num|
|00006060| 62 65 72 20 26 6f 70 74 | 69 6f 6e 61 6c 20 6d 6f |ber &opt|ional mo|
|00006070| 74 69 6f 6e 2d 61 72 67 | 20 74 65 78 74 20 6e 6f |tion-arg| text no|
|00006080| 2d 75 70 64 61 74 65 29 | 0a 20 20 22 53 65 61 72 |-update)|. "Sear|
|00006090| 63 68 20 66 6f 72 77 61 | 72 64 20 74 6f 20 65 6e |ch forwa|rd to en|
|000060a0| 64 2e 22 0a 20 20 28 69 | 6e 74 65 72 61 63 74 69 |d.". (i|nteracti|
|000060b0| 76 65 20 22 50 5c 6e 56 | 22 29 0a 09 28 6c 65 74 |ve "P\nV|")..(let|
|000060c0| 20 28 28 72 65 67 69 73 | 74 65 72 20 28 6d 76 69 | ((regis|ter (mvi|
|000060d0| 2d 6e 74 68 20 31 20 61 | 72 67 29 29 0a 09 09 09 |-nth 1 a|rg))....|
|000060e0| 09 28 61 70 70 65 6e 64 | 20 28 6d 76 69 2d 6e 74 |.(append| (mvi-nt|
|000060f0| 68 20 32 20 61 72 67 29 | 29 0a 09 09 09 09 28 67 |h 2 arg)|).....(g|
|00006100| 2d 66 6c 61 67 20 28 6d | 76 69 2d 6e 74 68 20 33 |-flag (m|vi-nth 3|
|00006110| 20 61 72 67 29 29 0a 09 | 09 09 09 28 63 6f 6d 6d | arg))..|...(comm|
|00006120| 61 6e 64 20 28 6d 76 69 | 2d 6e 74 68 20 34 20 61 |and (mvi|-nth 4 a|
|00006130| 72 67 29 29 0a 09 09 09 | 09 28 63 6f 75 6e 74 20 |rg))....|.(count |
|00006140| 28 69 66 20 28 3e 20 6e | 75 6d 62 65 72 20 30 29 |(if (> n|umber 0)|
|00006150| 20 6e 75 6d 62 65 72 20 | 28 2d 20 6e 75 6d 62 65 | number |(- numbe|
|00006160| 72 29 29 29 0a 09 09 09 | 09 28 66 6f 6c 64 20 63 |r)))....|.(fold c|
|00006170| 61 73 65 2d 66 6f 6c 64 | 2d 73 65 61 72 63 68 29 |ase-fold|-search)|
|00006180| 0a 09 09 09 09 28 63 61 | 73 65 2d 66 6f 6c 64 2d |.....(ca|se-fold-|
|00006190| 73 65 61 72 63 68 20 6e | 69 6c 29 0a 09 09 09 09 |search n|il).....|
|000061a0| 28 6f 72 69 67 2d 63 68 | 61 72 20 28 70 6f 69 6e |(orig-ch|ar (poin|
|000061b0| 74 29 29 0a 09 09 09 09 | 28 72 65 67 65 78 70 29 |t)).....|(regexp)|
|000061c0| 0a 09 09 09 09 28 73 74 | 61 72 74 29 0a 09 09 09 |.....(st|art)....|
|000061d0| 09 28 68 69 73 74 2d 74 | 6d 70 29 29 0a 09 09 28 |.(hist-t|mp))...(|
|000061e0| 6f 72 20 6d 6f 74 69 6f | 6e 2d 61 72 67 0a 09 09 |or motio|n-arg...|
|000061f0| 09 28 70 72 6f 67 6e 0a | 09 09 09 09 28 69 66 20 |.(progn.|....(if |
|00006200| 6d 76 69 2d 6d 61 67 69 | 63 20 0a 09 09 09 09 09 |mvi-magi|c ......|
|00006210| 28 73 65 74 71 20 6d 6f | 74 69 6f 6e 2d 61 72 67 |(setq mo|tion-arg|
|00006220| 20 28 72 65 61 64 2d 73 | 74 72 69 6e 67 20 22 45 | (read-s|tring "E|
|00006230| 6e 74 65 72 20 72 65 2d | 73 74 72 69 6e 67 3a 20 |nter re-|string: |
|00006240| 22 29 29 0a 09 09 09 09 | 09 28 73 65 74 71 20 6d |")).....|.(setq m|
|00006250| 6f 74 69 6f 6e 2d 61 72 | 67 20 28 72 65 61 64 2d |otion-ar|g (read-|
|00006260| 73 74 72 69 6e 67 20 22 | 45 6e 74 65 72 20 73 74 |string "|Enter st|
|00006270| 72 69 6e 67 3a 20 22 29 | 29 29 0a 09 09 09 09 28 |ring: ")|)).....(|
|00006280| 6f 72 20 28 73 74 72 69 | 6e 67 3d 20 6d 6f 74 69 |or (stri|ng= moti|
|00006290| 6f 6e 2d 61 72 67 20 22 | 22 29 0a 09 09 09 09 09 |on-arg "|")......|
|000062a0| 28 73 65 74 71 20 63 6f | 6d 6d 61 6e 64 2d 68 69 |(setq co|mmand-hi|
|000062b0| 73 74 6f 72 79 20 0a 09 | 09 09 09 09 09 28 63 6f |story ..|.....(co|
|000062c0| 6e 73 20 28 6c 69 73 74 | 20 27 6d 76 69 2d 66 2d |ns (list| 'mvi-f-|
|000062d0| 73 65 61 72 63 68 2d 65 | 6e 64 20 6e 69 6c 20 6e |search-e|nd nil n|
|000062e0| 75 6d 62 65 72 20 6d 6f | 74 69 6f 6e 2d 61 72 67 |umber mo|tion-arg|
|000062f0| 20 6e 69 6c 29 20 0a 09 | 09 09 09 09 09 09 63 6f | nil) ..|......co|
|00006300| 6d 6d 61 6e 64 2d 68 69 | 73 74 6f 72 79 29 29 29 |mmand-hi|story)))|
|00006310| 29 29 0a 09 09 28 69 66 | 20 28 73 74 72 69 6e 67 |))...(if| (string|
|00006320| 3d 20 6d 6f 74 69 6f 6e | 2d 61 72 67 20 22 22 29 |= motion|-arg "")|
|00006330| 0a 09 09 09 28 73 65 74 | 71 20 6d 6f 74 69 6f 6e |....(set|q motion|
|00006340| 2d 61 72 67 20 6d 76 69 | 2d 73 65 61 72 63 68 2d |-arg mvi|-search-|
|00006350| 73 74 72 69 6e 67 29 0a | 09 09 09 28 73 65 74 71 |string).|...(setq|
|00006360| 20 6d 76 69 2d 73 65 61 | 72 63 68 2d 73 74 72 69 | mvi-sea|rch-stri|
|00006370| 6e 67 20 6d 6f 74 69 6f | 6e 2d 61 72 67 29 29 0a |ng motio|n-arg)).|
|00006380| 09 09 28 6f 72 20 6e 6f | 2d 75 70 64 61 74 65 20 |..(or no|-update |
|00006390| 28 73 65 74 71 20 6d 76 | 69 2d 6c 61 73 74 2d 73 |(setq mv|i-last-s|
|000063a0| 65 61 72 63 68 20 28 6c | 69 73 74 20 27 6d 76 69 |earch (l|ist 'mvi|
|000063b0| 2d 66 2d 73 65 61 72 63 | 68 2d 65 6e 64 20 0a 09 |-f-searc|h-end ..|
|000063c0| 09 09 28 69 66 20 28 3e | 20 6e 75 6d 62 65 72 20 |..(if (>| number |
|000063d0| 30 29 20 74 20 6e 69 6c | 29 29 29 29 0a 09 09 28 |0) t nil|))))...(|
|000063e0| 6d 6f 76 65 2d 6d 61 72 | 6b 65 72 20 6d 76 69 2d |move-mar|ker mvi-|
|000063f0| 67 2d 70 6f 69 6e 74 20 | 28 70 6f 69 6e 74 29 29 |g-point |(point))|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.