home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume5 / ue3.9-macros < prev    next >
SHell self-extracting ARchive  |  1989-02-03  |  10.4 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: SHell self-extracting ARchive (archive/shar).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Newsgroup Content (archive/news) magic Supported
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file news, ASCII text default
100% checkBytes Printable ASCII default
100% dexmagic PrintFox/Pagefox WEAK default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime message/news default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 50 61 74 68 3a 20 78 61 | 6e 74 68 21 6e 69 63 2e |Path: xa|nth!nic.|
|00000010| 4d 52 2e 4e 45 54 21 68 | 61 6c 21 6e 63 6f 61 73 |MR.NET!h|al!ncoas|
|00000020| 74 21 61 6c 6c 62 65 72 | 79 0a 46 72 6f 6d 3a 20 |t!allber|y.From: |
|00000030| 65 64 66 40 52 4f 43 4b | 59 32 2e 52 4f 43 4b 45 |edf@ROCK|Y2.ROCKE|
|00000040| 46 45 4c 4c 45 52 2e 45 | 44 55 20 28 44 61 76 69 |FELLER.E|DU (Davi|
|00000050| 64 20 4d 61 63 4b 65 6e | 7a 69 65 29 0a 4e 65 77 |d MacKen|zie).New|
|00000060| 73 67 72 6f 75 70 73 3a | 20 63 6f 6d 70 2e 73 6f |sgroups:| comp.so|
|00000070| 75 72 63 65 73 2e 6d 69 | 73 63 0a 53 75 62 6a 65 |urces.mi|sc.Subje|
|00000080| 63 74 3a 20 76 30 35 69 | 30 33 31 3a 20 49 6e 74 |ct: v05i|031: Int|
|00000090| 65 72 61 63 74 69 76 65 | 20 73 70 65 6c 6c 65 72 |eractive| speller|
|000000a0| 20 61 6e 64 20 6f 74 68 | 65 72 20 4d 69 63 72 6f | and oth|er Micro|
|000000b0| 45 4d 41 43 53 20 6d 61 | 63 72 6f 73 0a 4d 65 73 |EMACS ma|cros.Mes|
|000000c0| 73 61 67 65 2d 49 44 3a | 20 3c 38 38 31 31 30 31 |sage-ID:| <881101|
|000000d0| 30 36 35 30 2e 41 41 32 | 34 32 35 31 40 72 6f 63 |0650.AA2|4251@roc|
|000000e0| 6b 79 32 3e 0a 44 61 74 | 65 3a 20 32 20 4e 6f 76 |ky2>.Dat|e: 2 Nov|
|000000f0| 20 38 38 20 30 32 3a 32 | 33 3a 34 39 20 47 4d 54 | 88 02:2|3:49 GMT|
|00000100| 0a 53 65 6e 64 65 72 3a | 20 61 6c 6c 62 65 72 79 |.Sender:| allbery|
|00000110| 40 6e 63 6f 61 73 74 2e | 55 55 43 50 0a 52 65 70 |@ncoast.|UUCP.Rep|
|00000120| 6c 79 2d 54 6f 3a 20 65 | 64 66 40 52 4f 43 4b 59 |ly-To: e|df@ROCKY|
|00000130| 32 2e 52 4f 43 4b 45 46 | 45 4c 4c 45 52 2e 45 44 |2.ROCKEF|ELLER.ED|
|00000140| 55 20 28 44 61 76 69 64 | 20 4d 61 63 4b 65 6e 7a |U (David| MacKenz|
|00000150| 69 65 29 0a 4c 69 6e 65 | 73 3a 20 33 34 34 0a 41 |ie).Line|s: 344.A|
|00000160| 70 70 72 6f 76 65 64 3a | 20 61 6c 6c 62 65 72 79 |pproved:| allbery|
|00000170| 40 6e 63 6f 61 73 74 2e | 55 55 43 50 0a 0a 50 6f |@ncoast.|UUCP..Po|
|00000180| 73 74 69 6e 67 2d 6e 75 | 6d 62 65 72 3a 20 56 6f |sting-nu|mber: Vo|
|00000190| 6c 75 6d 65 20 35 2c 20 | 49 73 73 75 65 20 33 31 |lume 5, |Issue 31|
|000001a0| 0a 53 75 62 6d 69 74 74 | 65 64 2d 62 79 3a 20 22 |.Submitt|ed-by: "|
|000001b0| 44 61 76 69 64 20 4d 61 | 63 4b 65 6e 7a 69 65 22 |David Ma|cKenzie"|
|000001c0| 20 3c 65 64 66 40 52 4f | 43 4b 59 32 2e 52 4f 43 | <edf@RO|CKY2.ROC|
|000001d0| 4b 45 46 45 4c 4c 45 52 | 2e 45 44 55 3e 0a 41 72 |KEFELLER|.EDU>.Ar|
|000001e0| 63 68 69 76 65 2d 6e 61 | 6d 65 3a 20 75 65 33 2e |chive-na|me: ue3.|
|000001f0| 39 2d 6d 61 63 72 6f 73 | 0a 0a 49 6e 20 6c 69 67 |9-macros|..In lig|
|00000200| 68 74 20 6f 66 20 74 68 | 65 20 72 65 63 65 6e 74 |ht of th|e recent|
|00000210| 20 73 70 61 74 65 20 6f | 66 20 73 70 65 6c 6c 69 | spate o|f spelli|
|00000220| 6e 67 20 63 68 65 63 6b | 65 72 73 2c 20 68 65 72 |ng check|ers, her|
|00000230| 65 20 69 73 20 6f 6e 65 | 20 74 68 61 74 0a 72 75 |e is one| that.ru|
|00000240| 6e 73 20 75 6e 64 65 72 | 20 4d 69 63 72 6f 45 4d |ns under| MicroEM|
|00000250| 41 43 53 2e 20 20 41 6c | 73 6f 2c 20 74 68 69 73 |ACS. Al|so, this|
|00000260| 20 73 75 6d 6d 65 72 20 | 74 68 65 72 65 20 77 65 | summer |there we|
|00000270| 72 65 20 64 69 73 63 75 | 73 73 69 6f 6e 73 20 61 |re discu|ssions a|
|00000280| 62 6f 75 74 0a 61 75 74 | 6f 6d 61 74 69 63 61 6c |bout.aut|omatical|
|00000290| 6c 79 20 75 6e 63 6f 6d | 70 72 65 73 73 69 6e 67 |ly uncom|pressing|
|000002a0| 20 66 69 6c 65 73 20 66 | 72 6f 6d 20 47 4e 55 20 | files f|rom GNU |
|000002b0| 45 4d 41 43 53 3b 20 74 | 68 69 73 20 70 6f 73 74 |EMACS; t|his post|
|000002c0| 69 6e 67 20 61 6c 73 6f | 0a 63 6f 6e 74 61 69 6e |ing also|.contain|
|000002d0| 73 20 6d 61 63 72 6f 73 | 20 74 6f 20 64 6f 20 74 |s macros| to do t|
|000002e0| 68 61 74 2c 20 61 73 20 | 77 65 6c 6c 20 61 73 20 |hat, as |well as |
|000002f0| 73 6f 6d 65 20 6f 74 68 | 65 72 20 75 73 65 66 75 |some oth|er usefu|
|00000300| 6c 20 65 78 74 65 6e 73 | 69 6f 6e 73 2e 0a 54 68 |l extens|ions..Th|
|00000310| 65 20 73 70 65 6c 6c 65 | 72 20 64 65 70 65 6e 64 |e spelle|r depend|
|00000320| 73 20 6f 6e 20 74 68 65 | 20 55 6e 69 78 20 73 70 |s on the| Unix sp|
|00000330| 65 6c 6c 20 70 72 6f 67 | 72 61 6d 3b 20 74 68 65 |ell prog|ram; the|
|00000340| 20 6f 74 68 65 72 20 6d | 61 63 72 6f 73 0a 70 72 | other m|acros.pr|
|00000350| 6f 62 61 62 6c 79 20 6e | 65 65 64 20 55 6e 69 78 |obably n|eed Unix|
|00000360| 20 74 6f 6f 2e 20 20 54 | 68 65 79 20 68 61 76 65 | too. T|hey have|
|00000370| 20 62 65 65 6e 20 74 65 | 73 74 65 64 20 75 6e 64 | been te|sted und|
|00000380| 65 72 20 4d 69 63 72 6f | 45 4d 41 43 53 33 2e 39 |er Micro|EMACS3.9|
|00000390| 65 2e 0a 0a 49 6e 20 74 | 68 65 20 5e 58 21 20 6d |e...In t|he ^X! m|
|000003a0| 61 63 72 6f 2c 20 6e 6f | 74 65 20 74 68 65 20 6c |acro, no|te the l|
|000003b0| 69 6e 65 20 74 68 61 74 | 20 70 72 69 6e 74 73 20 |ine that| prints |
|000003c0| 22 5b 45 6e 64 5d 22 20 | 61 6e 64 20 77 61 69 74 |"[End]" |and wait|
|000003d0| 20 66 6f 72 20 61 0a 6b | 65 79 70 72 65 73 73 3b | for a.k|eypress;|
|000003e0| 20 4d 69 63 72 6f 45 4d | 41 43 53 20 33 2e 39 65 | MicroEM|ACS 3.9e|
|000003f0| 20 61 70 70 61 72 65 6e | 74 6c 79 20 68 61 73 20 | apparen|tly has |
|00000400| 61 20 62 75 67 20 69 6e | 20 74 68 61 74 20 75 6e |a bug in| that un|
|00000410| 64 65 72 20 73 6f 6d 65 | 20 4f 53 27 73 2c 0a 69 |der some| OS's,.i|
|00000420| 6e 63 6c 75 64 69 6e 67 | 20 55 6e 69 78 2c 20 73 |ncluding| Unix, s|
|00000430| 68 65 6c 6c 2d 63 6f 6d | 6d 61 6e 64 20 61 6c 77 |hell-com|mand alw|
|00000440| 61 79 73 20 77 61 69 74 | 73 20 66 6f 72 20 61 20 |ays wait|s for a |
|00000450| 6b 65 79 73 74 72 6f 6b | 65 20 61 66 74 65 72 0a |keystrok|e after.|
|00000460| 72 75 6e 6e 69 6e 67 2c | 20 77 68 69 6c 65 20 69 |running,| while i|
|00000470| 6e 20 6f 74 68 65 72 73 | 2c 20 73 75 63 68 20 61 |n others|, such a|
|00000480| 73 20 4d 53 2d 44 4f 53 | 2c 20 69 74 20 6f 6e 6c |s MS-DOS|, it onl|
|00000490| 79 20 64 6f 65 73 20 73 | 6f 20 69 66 20 69 74 27 |y does s|o if it'|
|000004a0| 73 20 6e 6f 74 0a 62 65 | 69 6e 67 20 72 75 6e 20 |s not.be|ing run |
|000004b0| 66 72 6f 6d 20 61 20 6d | 61 63 72 6f 2e 20 20 43 |from a m|acro. C|
|000004c0| 6f 6d 6d 65 6e 74 20 74 | 68 61 74 20 6c 69 6e 65 |omment t|hat line|
|000004d0| 20 6f 75 74 20 69 66 20 | 79 6f 75 20 68 61 76 65 | out if |you have|
|000004e0| 6e 27 74 20 66 69 78 65 | 64 0a 74 68 61 74 20 62 |n't fixe|d.that b|
|000004f0| 75 67 20 66 6f 72 20 55 | 6e 69 78 20 28 69 74 20 |ug for U|nix (it |
|00000500| 6a 75 73 74 20 69 6e 76 | 6f 6c 76 65 73 20 61 64 |just inv|olves ad|
|00000510| 64 69 6e 67 20 61 6e 20 | 22 69 66 20 28 63 6c 65 |ding an |"if (cle|
|00000520| 78 65 63 20 3d 3d 20 46 | 41 4c 53 45 29 0a 7b 2e |xec == F|ALSE).{.|
|00000530| 2e 2e 7d 22 20 61 72 6f | 75 6e 64 20 74 68 65 20 |..}" aro|und the |
|00000540| 66 6f 75 72 20 6c 69 6e | 65 73 20 6f 66 20 63 6f |four lin|es of co|
|00000550| 64 65 20 69 6e 20 73 70 | 61 77 6e 2e 63 20 74 68 |de in sp|awn.c th|
|00000560| 61 74 20 77 61 69 74 20 | 66 6f 72 20 74 68 65 0a |at wait |for the.|
|00000570| 6b 65 79 70 72 65 73 73 | 29 2e 0a 0a 49 20 68 61 |keypress|)...I ha|
|00000580| 76 65 20 74 68 65 20 63 | 6f 6e 74 65 6e 74 73 20 |ve the c|ontents |
|00000590| 6f 66 20 65 6e 68 61 6e | 63 65 2e 63 6d 64 20 69 |of enhan|ce.cmd i|
|000005a0| 6e 20 6d 79 20 2e 65 6d | 61 63 73 72 63 3b 20 49 |n my .em|acsrc; I|
|000005b0| 20 6c 6f 61 64 20 73 70 | 65 6c 6c 2e 63 6d 64 20 | load sp|ell.cmd |
|000005c0| 77 68 65 6e 0a 49 20 6e | 65 65 64 20 69 74 20 77 |when.I n|eed it w|
|000005d0| 69 74 68 20 4d 2d 78 20 | 65 78 65 63 75 74 65 2d |ith M-x |execute-|
|000005e0| 66 69 6c 65 2e 0a 0a 44 | 61 76 69 64 20 4d 61 63 |file...D|avid Mac|
|000005f0| 4b 65 6e 7a 69 65 0a 0a | 23 21 20 2f 62 69 6e 2f |Kenzie..|#! /bin/|
|00000600| 73 68 0a 23 20 54 68 69 | 73 20 69 73 20 61 20 73 |sh.# Thi|s is a s|
|00000610| 68 65 6c 6c 20 61 72 63 | 68 69 76 65 2e 20 20 52 |hell arc|hive. R|
|00000620| 65 6d 6f 76 65 20 61 6e | 79 74 68 69 6e 67 20 62 |emove an|ything b|
|00000630| 65 66 6f 72 65 20 74 68 | 69 73 20 6c 69 6e 65 2c |efore th|is line,|
|00000640| 20 74 68 65 6e 20 75 6e | 70 61 63 6b 0a 23 20 69 | then un|pack.# i|
|00000650| 74 20 62 79 20 73 61 76 | 69 6e 67 20 69 74 20 69 |t by sav|ing it i|
|00000660| 6e 74 6f 20 61 20 66 69 | 6c 65 20 61 6e 64 20 74 |nto a fi|le and t|
|00000670| 79 70 69 6e 67 20 22 73 | 68 20 66 69 6c 65 22 2e |yping "s|h file".|
|00000680| 20 20 54 6f 20 6f 76 65 | 72 77 72 69 74 65 20 65 | To ove|rwrite e|
|00000690| 78 69 73 74 69 6e 67 0a | 23 20 66 69 6c 65 73 2c |xisting.|# files,|
|000006a0| 20 74 79 70 65 20 22 73 | 68 20 66 69 6c 65 20 2d | type "s|h file -|
|000006b0| 63 22 2e 20 20 59 6f 75 | 20 63 61 6e 20 61 6c 73 |c". You| can als|
|000006c0| 6f 20 66 65 65 64 20 74 | 68 69 73 20 61 73 20 73 |o feed t|his as s|
|000006d0| 74 61 6e 64 61 72 64 20 | 69 6e 70 75 74 20 76 69 |tandard |input vi|
|000006e0| 61 0a 23 20 75 6e 73 68 | 61 72 2c 20 6f 72 20 62 |a.# unsh|ar, or b|
|000006f0| 79 20 74 79 70 69 6e 67 | 20 22 73 68 20 3c 66 69 |y typing| "sh <fi|
|00000700| 6c 65 22 2c 20 65 2e 67 | 2e 2e 20 20 49 66 20 74 |le", e.g|.. If t|
|00000710| 68 69 73 20 61 72 63 68 | 69 76 65 20 69 73 20 63 |his arch|ive is c|
|00000720| 6f 6d 70 6c 65 74 65 2c | 20 79 6f 75 0a 23 20 77 |omplete,| you.# w|
|00000730| 69 6c 6c 20 73 65 65 20 | 74 68 65 20 66 6f 6c 6c |ill see |the foll|
|00000740| 6f 77 69 6e 67 20 6d 65 | 73 73 61 67 65 20 61 74 |owing me|ssage at|
|00000750| 20 74 68 65 20 65 6e 64 | 3a 0a 23 09 09 22 45 6e | the end|:.#.."En|
|00000760| 64 20 6f 66 20 73 68 65 | 6c 6c 20 61 72 63 68 69 |d of she|ll archi|
|00000770| 76 65 2e 22 0a 23 20 43 | 6f 6e 74 65 6e 74 73 3a |ve.".# C|ontents:|
|00000780| 20 20 65 6e 68 61 6e 63 | 65 2e 63 6d 64 20 73 70 | enhanc|e.cmd sp|
|00000790| 65 6c 6c 2e 63 6d 64 0a | 23 20 57 72 61 70 70 65 |ell.cmd.|# Wrappe|
|000007a0| 64 20 62 79 20 64 61 76 | 65 40 65 64 66 64 63 20 |d by dav|e@edfdc |
|000007b0| 20 6f 6e 20 46 72 69 20 | 53 65 70 20 20 39 20 30 | on Fri |Sep 9 0|
|000007c0| 30 3a 35 37 3a 33 35 20 | 31 39 38 38 0a 50 41 54 |0:57:35 |1988.PAT|
|000007d0| 48 3d 2f 62 69 6e 3a 2f | 75 73 72 2f 62 69 6e 3a |H=/bin:/|usr/bin:|
|000007e0| 2f 75 73 72 2f 75 63 62 | 20 3b 20 65 78 70 6f 72 |/usr/ucb| ; expor|
|000007f0| 74 20 50 41 54 48 0a 69 | 66 20 74 65 73 74 20 2d |t PATH.i|f test -|
|00000800| 66 20 27 65 6e 68 61 6e | 63 65 2e 63 6d 64 27 20 |f 'enhan|ce.cmd' |
|00000810| 2d 61 20 22 24 7b 31 7d | 22 20 21 3d 20 22 2d 63 |-a "${1}|" != "-c|
|00000820| 22 20 3b 20 74 68 65 6e | 20 0a 20 20 65 63 68 6f |" ; then| . echo|
|00000830| 20 73 68 61 72 3a 20 57 | 69 6c 6c 20 6e 6f 74 20 | shar: W|ill not |
|00000840| 63 6c 6f 62 62 65 72 20 | 65 78 69 73 74 69 6e 67 |clobber |existing|
|00000850| 20 66 69 6c 65 20 5c 22 | 27 65 6e 68 61 6e 63 65 | file \"|'enhance|
|00000860| 2e 63 6d 64 27 5c 22 0a | 65 6c 73 65 0a 65 63 68 |.cmd'\".|else.ech|
|00000870| 6f 20 73 68 61 72 3a 20 | 45 78 74 72 61 63 74 69 |o shar: |Extracti|
|00000880| 6e 67 20 5c 22 27 65 6e | 68 61 6e 63 65 2e 63 6d |ng \"'en|hance.cm|
|00000890| 64 27 5c 22 20 5c 28 34 | 30 34 35 20 63 68 61 72 |d'\" \(4|045 char|
|000008a0| 61 63 74 65 72 73 5c 29 | 0a 73 65 64 20 22 73 2f |acters\)|.sed "s/|
|000008b0| 5e 58 2f 2f 22 20 3e 27 | 65 6e 68 61 6e 63 65 2e |^X//" >'|enhance.|
|000008c0| 63 6d 64 27 20 3c 3c 27 | 45 4e 44 5f 4f 46 5f 46 |cmd' <<'|END_OF_F|
|000008d0| 49 4c 45 27 0a 58 3b 20 | 65 6e 68 61 6e 63 65 2e |ILE'.X; |enhance.|
|000008e0| 63 6d 64 0a 58 3b 0a 58 | 3b 20 4d 69 63 72 6f 45 |cmd.X;.X|; MicroE|
|000008f0| 4d 41 43 53 20 33 2e 39 | 20 6d 61 63 72 6f 73 0a |MACS 3.9| macros.|
|00000900| 58 3b 0a 58 3b 20 49 2e | 20 20 4e 65 77 20 62 69 |X;.X; I.| New bi|
|00000910| 6e 64 69 6e 67 73 0a 58 | 3b 20 20 20 20 41 2e 20 |ndings.X|; A. |
|00000920| 20 45 53 43 2d 45 53 43 | 20 2d 3e 20 65 78 65 63 | ESC-ESC| -> exec|
|00000930| 75 74 65 20 63 6f 6d 6d | 61 6e 64 20 6c 69 6e 65 |ute comm|and line|
|00000940| 0a 58 3b 20 20 20 20 42 | 2e 20 20 45 53 43 2d 5e |.X; B|. ESC-^|
|00000950| 58 20 20 2d 3e 20 65 78 | 65 63 75 74 65 20 63 75 |X -> ex|ecute cu|
|00000960| 72 72 65 6e 74 20 62 75 | 66 66 65 72 0a 58 3b 20 |rrent bu|ffer.X; |
|00000970| 20 20 20 43 2e 20 20 45 | 53 43 2d 54 41 42 20 2d | C. E|SC-TAB -|
|00000980| 3e 20 74 6f 67 67 6c 65 | 20 4f 56 45 52 73 74 72 |> toggle| OVERstr|
|00000990| 69 6b 65 20 6d 6f 64 65 | 0a 58 3b 20 20 20 20 44 |ike mode|.X; D|
|000009a0| 2e 20 20 45 53 43 2d 23 | 20 20 20 2d 3e 20 66 69 |. ESC-#| -> fi|
|000009b0| 6c 74 65 72 20 72 65 67 | 69 6f 6e 20 74 68 72 6f |lter reg|ion thro|
|000009c0| 75 67 68 20 61 20 70 72 | 6f 67 72 61 6d 0a 58 3b |ugh a pr|ogram.X;|
|000009d0| 20 49 49 2e 20 20 45 6e | 68 61 6e 63 65 6d 65 6e | II. En|hancemen|
|000009e0| 74 73 20 74 6f 20 65 78 | 69 73 74 69 6e 67 20 62 |ts to ex|isting b|
|000009f0| 69 6e 64 69 6e 67 73 0a | 58 3b 20 20 20 20 42 2e |indings.|X; B.|
|00000a00| 20 20 5e 58 21 20 61 6c | 6c 6f 77 73 20 72 65 73 | ^X! al|lows res|
|00000a10| 70 6f 6e 73 65 20 6f 66 | 20 22 21 22 20 74 6f 20 |ponse of| "!" to |
|00000a20| 72 65 70 65 61 74 20 70 | 72 65 76 69 6f 75 73 20 |repeat p|revious |
|00000a30| 63 6f 6d 6d 61 6e 64 0a | 58 3b 20 20 20 20 43 2e |command.|X; C.|
|00000a40| 20 20 5e 58 5e 46 2c 20 | 5e 58 5e 56 2c 20 5e 58 | ^X^F, |^X^V, ^X|
|00000a50| 5e 52 2c 20 5e 58 5e 49 | 2c 20 5e 58 5e 57 2c 20 |^R, ^X^I|, ^X^W, |
|00000a60| 5e 58 5e 4e 20 65 78 70 | 61 6e 64 20 7e 2f 66 69 |^X^N exp|and ~/fi|
|00000a70| 6c 65 20 70 72 6f 70 65 | 72 6c 79 0a 58 3b 20 20 |le prope|rly.X; |
|00000a80| 20 20 44 2e 20 20 5e 58 | 5e 46 2c 20 5e 58 5e 56 | D. ^X|^F, ^X^V|
|00000a90| 2c 20 5e 58 5e 52 2c 20 | 5e 58 5e 49 20 63 68 65 |, ^X^R, |^X^I che|
|00000aa0| 63 6b 20 69 66 20 74 68 | 65 20 66 69 6c 65 20 65 |ck if th|e file e|
|00000ab0| 78 69 73 74 73 20 6f 6e | 6c 79 20 69 6e 0a 58 3b |xists on|ly in.X;|
|00000ac0| 20 20 20 20 20 20 20 20 | 63 6f 6d 70 72 65 73 73 | |compress|
|00000ad0| 65 64 20 66 6f 72 6d 20 | 28 65 6e 64 69 6e 67 20 |ed form |(ending |
|00000ae0| 77 69 74 68 20 22 2e 5a | 22 29 2c 20 61 6e 64 20 |with ".Z|"), and |
|00000af0| 69 66 20 73 6f 2c 20 75 | 6e 63 6f 6d 70 72 65 73 |if so, u|ncompres|
|00000b00| 73 20 69 74 0a 58 3b 0a | 58 3b 20 44 61 76 69 64 |s it.X;.|X; David|
|00000b10| 20 4d 61 63 4b 65 6e 7a | 69 65 0a 58 3b 20 4c 61 | MacKenz|ie.X; La|
|00000b20| 74 65 73 74 20 72 65 76 | 69 73 69 6f 6e 3a 20 30 |test rev|ision: 0|
|00000b30| 39 2f 30 38 2f 38 38 0a | 58 0a 58 0a 58 3b 20 53 |9/08/88.|X.X.X; S|
|00000b40| 65 74 20 75 70 20 45 53 | 43 2d 45 53 43 20 74 6f |et up ES|C-ESC to|
|00000b50| 20 65 78 65 63 75 74 65 | 20 61 20 6d 61 63 72 6f | execute| a macro|
|00000b60| 20 6c 61 6e 67 75 61 67 | 65 20 63 6f 6d 6d 61 6e | languag|e comman|
|00000b70| 64 20 66 72 6f 6d 20 6b | 65 79 62 6f 61 72 64 2e |d from k|eyboard.|
|00000b80| 0a 58 62 69 6e 64 2d 74 | 6f 2d 6b 65 79 20 65 78 |.Xbind-t|o-key ex|
|00000b90| 65 63 75 74 65 2d 63 6f | 6d 6d 61 6e 64 2d 6c 69 |ecute-co|mmand-li|
|00000ba0| 6e 65 20 4d 2d 5e 5b 0a | 58 0a 58 3b 20 53 65 74 |ne M-^[.|X.X; Set|
|00000bb0| 20 75 70 20 45 53 43 2d | 43 74 72 6c 2d 58 20 74 | up ESC-|Ctrl-X t|
|00000bc0| 6f 20 65 78 65 63 75 74 | 65 20 74 68 65 20 63 75 |o execut|e the cu|
|00000bd0| 72 72 65 6e 74 20 62 75 | 66 66 65 72 2e 0a 58 31 |rrent bu|ffer..X1|
|00000be0| 20 73 74 6f 72 65 2d 6d | 61 63 72 6f 0a 58 20 20 | store-m|acro.X |
|00000bf0| 20 20 65 78 65 63 75 74 | 65 2d 62 75 66 66 65 72 | execut|e-buffer|
|00000c00| 20 24 63 62 75 66 6e 61 | 6d 65 0a 58 21 65 6e 64 | $cbufna|me.X!end|
|00000c10| 6d 0a 58 62 69 6e 64 2d | 74 6f 2d 6b 65 79 20 65 |m.Xbind-|to-key e|
|00000c20| 78 65 63 75 74 65 2d 6d | 61 63 72 6f 2d 31 20 4d |xecute-m|acro-1 M|
|00000c30| 2d 5e 78 0a 58 0a 58 3b | 20 53 65 74 20 75 70 20 |-^x.X.X;| Set up |
|00000c40| 4d 2d 54 41 42 20 74 6f | 20 74 6f 67 67 6c 65 20 |M-TAB to| toggle |
|00000c50| 69 6e 73 65 72 74 2f 6f | 76 65 72 73 74 72 69 6b |insert/o|verstrik|
|00000c60| 65 2e 0a 58 32 20 73 74 | 6f 72 65 2d 6d 61 63 72 |e..X2 st|ore-macr|
|00000c70| 6f 0a 58 20 20 20 20 73 | 65 74 20 24 63 6d 6f 64 |o.X s|et $cmod|
|00000c80| 65 20 26 62 78 6f 72 20 | 24 63 6d 6f 64 65 20 33 |e &bxor |$cmode 3|
|00000c90| 32 0a 58 21 65 6e 64 6d | 0a 58 62 69 6e 64 2d 74 |2.X!endm|.Xbind-t|
|00000ca0| 6f 2d 6b 65 79 20 65 78 | 65 63 75 74 65 2d 6d 61 |o-key ex|ecute-ma|
|00000cb0| 63 72 6f 2d 32 20 4d 2d | 5e 49 0a 58 0a 58 3b 20 |cro-2 M-|^I.X.X; |
|00000cc0| 41 64 64 20 21 21 20 28 | 72 65 70 65 61 74 20 70 |Add !! (|repeat p|
|00000cd0| 72 65 76 69 6f 75 73 20 | 63 6f 6d 6d 61 6e 64 29 |revious |command)|
|00000ce0| 20 63 61 70 61 62 69 6c | 69 74 79 20 74 6f 20 73 | capabil|ity to s|
|00000cf0| 68 65 6c 6c 2d 63 6f 6d | 6d 61 6e 64 2e 0a 58 3b |hell-com|mand..X;|
|00000d00| 20 41 63 74 69 76 61 74 | 65 64 20 62 79 20 61 20 | Activat|ed by a |
|00000d10| 72 65 73 70 6f 6e 73 65 | 20 6f 66 20 22 21 3c 52 |response| of "!<R|
|00000d20| 65 74 75 72 6e 3e 22 2e | 0a 58 73 65 74 20 25 70 |eturn>".|.Xset %p|
|00000d30| 72 65 76 2d 63 6d 64 20 | 22 21 22 0a 58 33 20 73 |rev-cmd |"!".X3 s|
|00000d40| 74 6f 72 65 2d 6d 61 63 | 72 6f 0a 58 20 20 20 20 |tore-mac|ro.X |
|00000d50| 73 65 74 20 25 73 68 65 | 6c 6c 2d 63 6d 64 20 40 |set %she|ll-cmd @|
|00000d60| 22 21 22 0a 58 20 20 20 | 20 21 69 66 20 26 73 65 |"!".X | !if &se|
|00000d70| 71 75 61 6c 20 25 73 68 | 65 6c 6c 2d 63 6d 64 20 |qual %sh|ell-cmd |
|00000d80| 22 45 52 52 4f 52 22 20 | 20 3b 20 43 74 72 6c 2d |"ERROR" | ; Ctrl-|
|00000d90| 47 20 68 69 74 2e 0a 58 | 20 20 20 20 20 20 20 20 |G hit..X| |
|00000da0| 21 72 65 74 75 72 6e 0a | 58 20 20 20 20 21 65 6e |!return.|X !en|
|00000db0| 64 69 66 0a 58 20 20 20 | 20 21 69 66 20 26 73 65 |dif.X | !if &se|
|00000dc0| 71 75 61 6c 20 25 73 68 | 65 6c 6c 2d 63 6d 64 20 |qual %sh|ell-cmd |
|00000dd0| 22 21 22 0a 58 20 20 20 | 20 20 20 20 20 21 69 66 |"!".X | !if|
|00000de0| 20 26 73 65 71 75 61 6c | 20 25 70 72 65 76 2d 63 | &sequal| %prev-c|
|00000df0| 6d 64 20 22 21 22 0a 58 | 20 20 20 20 20 20 20 20 |md "!".X| |
|00000e00| 20 20 20 20 77 72 69 74 | 65 2d 6d 65 73 73 61 67 | writ|e-messag|
|00000e10| 65 20 22 5b 4e 6f 20 70 | 72 65 76 69 6f 75 73 20 |e "[No p|revious |
|00000e20| 63 6f 6d 6d 61 6e 64 5d | 22 0a 58 20 20 20 20 20 |command]|".X |
|00000e30| 20 20 20 20 20 20 20 21 | 72 65 74 75 72 6e 0a 58 | !|return.X|
|00000e40| 20 20 20 20 20 20 20 20 | 21 65 6e 64 69 66 0a 58 | |!endif.X|
|00000e50| 20 20 20 20 20 20 20 20 | 3b 20 45 63 68 6f 20 74 | |; Echo t|
|00000e60| 68 65 20 63 6f 6d 6d 61 | 6e 64 20 77 65 27 72 65 |he comma|nd we're|
|00000e70| 20 72 65 70 65 61 74 69 | 6e 67 20 66 6f 72 20 72 | repeati|ng for r|
|00000e80| 65 66 65 72 65 6e 63 65 | 2c 20 61 20 6c 61 20 63 |eference|, a la c|
|00000e90| 73 68 2e 0a 58 20 20 20 | 20 20 20 20 20 77 72 69 |sh..X | wri|
|00000ea0| 74 65 2d 6d 65 73 73 61 | 67 65 20 26 63 61 74 20 |te-messa|ge &cat |
|00000eb0| 22 21 22 20 20 26 63 61 | 74 20 25 70 72 65 76 2d |"!" &ca|t %prev-|
|00000ec0| 63 6d 64 20 22 7e 72 7e | 6e 22 3b 20 43 52 4c 46 |cmd "~r~|n"; CRLF|
|00000ed0| 0a 58 20 20 20 20 20 20 | 20 20 73 65 74 20 25 73 |.X | set %s|
|00000ee0| 68 65 6c 6c 2d 63 6d 64 | 20 25 70 72 65 76 2d 63 |hell-cmd| %prev-c|
|00000ef0| 6d 64 0a 58 20 20 20 20 | 21 65 6c 73 65 0a 58 20 |md.X |!else.X |
|00000f00| 20 20 20 20 20 20 20 73 | 65 74 20 25 70 72 65 76 | s|et %prev|
|00000f10| 2d 63 6d 64 20 25 73 68 | 65 6c 6c 2d 63 6d 64 0a |-cmd %sh|ell-cmd.|
|00000f20| 58 20 20 20 20 21 65 6e | 64 69 66 0a 58 20 20 20 |X !en|dif.X |
|00000f30| 20 73 68 65 6c 6c 2d 63 | 6f 6d 6d 61 6e 64 20 25 | shell-c|ommand %|
|00000f40| 73 68 65 6c 6c 2d 63 6d | 64 0a 58 20 20 20 20 77 |shell-cm|d.X w|
|00000f50| 72 69 74 65 2d 6d 65 73 | 73 61 67 65 20 22 5b 45 |rite-mes|sage "[E|
|00000f60| 6e 64 5d 22 0a 58 20 20 | 20 20 73 65 74 20 25 72 |nd]".X | set %r|
|00000f70| 63 6b 65 79 20 26 67 74 | 6b 65 79 0a 58 21 65 6e |ckey &gt|key.X!en|
|00000f80| 64 6d 0a 58 62 69 6e 64 | 2d 74 6f 2d 6b 65 79 20 |dm.Xbind|-to-key |
|00000f90| 65 78 65 63 75 74 65 2d | 6d 61 63 72 6f 2d 33 20 |execute-|macro-3 |
|00000fa0| 5e 58 21 0a 58 0a 58 3b | 20 49 66 20 25 66 6e 61 |^X!.X.X;| If %fna|
|00000fb0| 6d 65 20 73 74 61 72 74 | 73 20 77 69 74 68 20 22 |me start|s with "|
|00000fc0| 7e 2f 22 2c 20 73 75 62 | 73 74 69 74 75 74 65 20 |~/", sub|stitute |
|00000fd0| 74 68 65 20 76 61 6c 75 | 65 20 6f 66 20 48 4f 4d |the valu|e of HOM|
|00000fe0| 45 20 66 72 6f 6d 20 65 | 6e 76 69 72 6f 6e 2e 0a |E from e|nviron..|
|00000ff0| 58 73 74 6f 72 65 2d 70 | 72 6f 63 65 64 75 72 65 |Xstore-p|rocedure|
|00001000| 20 74 69 6c 64 65 73 75 | 62 0a 58 20 20 20 20 3b | tildesu|b.X ;|
|00001010| 20 7e 20 69 73 20 4d 69 | 63 72 6f 45 4d 41 43 53 | ~ is Mi|croEMACS|
|00001020| 27 73 20 65 73 63 61 70 | 65 20 63 68 61 72 61 63 |'s escap|e charac|
|00001030| 74 65 72 20 73 6f 20 77 | 65 20 6e 65 65 64 20 74 |ter so w|e need t|
|00001040| 6f 20 65 73 63 61 70 65 | 20 69 74 2e 0a 58 20 20 |o escape| it..X |
|00001050| 20 20 21 69 66 20 26 73 | 65 71 75 61 6c 20 26 6c | !if &s|equal &l|
|00001060| 65 66 74 20 25 66 6e 61 | 6d 65 20 32 20 22 7e 7e |eft %fna|me 2 "~~|
|00001070| 2f 22 0a 58 20 20 20 20 | 20 20 20 20 73 65 74 20 |/".X | set |
|00001080| 25 66 6e 61 6d 65 20 26 | 63 61 74 20 20 26 65 6e |%fname &|cat &en|
|00001090| 76 20 22 48 4f 4d 45 22 | 20 20 26 72 69 67 68 74 |v "HOME"| &right|
|000010a0| 20 25 66 6e 61 6d 65 20 | 26 73 75 62 20 26 6c 65 | %fname |&sub &le|
|000010b0| 6e 67 74 68 20 25 66 6e | 61 6d 65 20 31 0a 58 20 |ngth %fn|ame 1.X |
|000010c0| 20 20 20 21 65 6e 64 69 | 66 0a 58 21 65 6e 64 6d | !endi|f.X!endm|
|000010d0| 0a 58 0a 58 3b 20 49 66 | 20 25 66 6e 61 6d 65 20 |.X.X; If| %fname |
|000010e0| 65 78 69 73 74 73 20 6f | 6e 6c 79 20 61 73 20 61 |exists o|nly as a|
|000010f0| 20 63 6f 6d 70 72 65 73 | 73 65 64 20 66 69 6c 65 | compres|sed file|
|00001100| 2c 20 75 6e 63 6f 6d 70 | 72 65 73 73 20 69 74 20 |, uncomp|ress it |
|00001110| 66 69 72 73 74 2e 0a 58 | 73 74 6f 72 65 2d 70 72 |first..X|store-pr|
|00001120| 6f 63 65 64 75 72 65 20 | 7a 63 68 65 63 6b 0a 58 |ocedure |zcheck.X|
|00001130| 20 20 20 20 21 69 66 20 | 26 61 6e 64 20 26 6e 6f | !if |&and &no|
|00001140| 74 20 26 65 78 69 20 25 | 66 6e 61 6d 65 20 20 26 |t &exi %|fname &|
|00001150| 65 78 69 20 26 63 61 74 | 20 25 66 6e 61 6d 65 20 |exi &cat| %fname |
|00001160| 22 2e 5a 22 0a 58 20 20 | 20 20 20 20 20 20 73 68 |".Z".X | sh|
|00001170| 65 6c 6c 2d 63 6f 6d 6d | 61 6e 64 20 26 63 61 74 |ell-comm|and &cat|
|00001180| 20 22 75 6e 63 6f 6d 70 | 72 65 73 73 20 2d 76 20 | "uncomp|ress -v |
|00001190| 22 20 25 66 6e 61 6d 65 | 0a 58 20 20 20 20 21 65 |" %fname|.X !e|
|000011a0| 6e 64 69 66 0a 58 21 65 | 6e 64 6d 0a 58 0a 58 3b |ndif.X!e|ndm.X.X;|
|000011b0| 20 41 64 64 20 74 69 6c | 64 65 20 73 75 62 73 74 | Add til|de subst|
|000011c0| 69 74 75 74 69 6f 6e 20 | 6f 6e 20 66 69 6c 65 20 |itution |on file |
|000011d0| 66 69 6e 64 69 6e 67 2c | 20 76 69 65 77 69 6e 67 |finding,| viewing|
|000011e0| 2c 20 65 74 63 2e 0a 58 | 34 20 73 74 6f 72 65 2d |, etc..X|4 store-|
|000011f0| 6d 61 63 72 6f 0a 58 20 | 20 20 20 73 65 74 20 25 |macro.X | set %|
|00001200| 66 6e 61 6d 65 20 40 22 | 46 69 6e 64 20 66 69 6c |fname @"|Find fil|
|00001210| 65 3a 20 22 0a 58 20 20 | 20 20 21 69 66 20 26 73 |e: ".X | !if &s|
|00001220| 65 71 75 61 6c 20 25 66 | 6e 61 6d 65 20 22 45 52 |equal %f|name "ER|
|00001230| 52 4f 52 22 20 20 3b 20 | 43 74 72 6c 2d 47 20 68 |ROR" ; |Ctrl-G h|
|00001240| 69 74 2e 0a 58 20 20 20 | 20 20 20 20 20 21 72 65 |it..X | !re|
|00001250| 74 75 72 6e 0a 58 20 20 | 20 20 21 65 6e 64 69 66 |turn.X | !endif|
|00001260| 0a 58 20 20 20 20 72 75 | 6e 20 74 69 6c 64 65 73 |.X ru|n tildes|
|00001270| 75 62 0a 58 20 20 20 20 | 72 75 6e 20 7a 63 68 65 |ub.X |run zche|
|00001280| 63 6b 0a 58 20 20 20 20 | 66 69 6e 64 2d 66 69 6c |ck.X |find-fil|
|00001290| 65 20 25 66 6e 61 6d 65 | 0a 58 21 65 6e 64 6d 0a |e %fname|.X!endm.|
|000012a0| 58 62 69 6e 64 2d 74 6f | 2d 6b 65 79 20 65 78 65 |Xbind-to|-key exe|
|000012b0| 63 75 74 65 2d 6d 61 63 | 72 6f 2d 34 20 5e 58 5e |cute-mac|ro-4 ^X^|
|000012c0| 46 0a 58 0a 58 35 20 73 | 74 6f 72 65 2d 6d 61 63 |F.X.X5 s|tore-mac|
|000012d0| 72 6f 0a 58 20 20 20 20 | 73 65 74 20 25 66 6e 61 |ro.X |set %fna|
|000012e0| 6d 65 20 40 22 56 69 65 | 77 20 66 69 6c 65 3a 20 |me @"Vie|w file: |
|000012f0| 22 0a 58 20 20 20 20 21 | 69 66 20 26 73 65 71 75 |".X !|if &sequ|
|00001300| 61 6c 20 25 66 6e 61 6d | 65 20 22 45 52 52 4f 52 |al %fnam|e "ERROR|
|00001310| 22 0a 58 20 20 20 20 20 | 20 20 20 21 72 65 74 75 |".X | !retu|
|00001320| 72 6e 0a 58 20 20 20 20 | 21 65 6e 64 69 66 0a 58 |rn.X |!endif.X|
|00001330| 20 20 20 20 72 75 6e 20 | 74 69 6c 64 65 73 75 62 | run |tildesub|
|00001340| 0a 58 20 20 20 20 72 75 | 6e 20 7a 63 68 65 63 6b |.X ru|n zcheck|
|00001350| 0a 58 20 20 20 20 76 69 | 65 77 2d 66 69 6c 65 20 |.X vi|ew-file |
|00001360| 25 66 6e 61 6d 65 0a 58 | 21 65 6e 64 6d 0a 58 62 |%fname.X|!endm.Xb|
|00001370| 69 6e 64 2d 74 6f 2d 6b | 65 79 20 65 78 65 63 75 |ind-to-k|ey execu|
|00001380| 74 65 2d 6d 61 63 72 6f | 2d 35 20 5e 58 5e 56 0a |te-macro|-5 ^X^V.|
|00001390| 58 0a 58 36 20 73 74 6f | 72 65 2d 6d 61 63 72 6f |X.X6 sto|re-macro|
|000013a0| 0a 58 20 20 20 20 73 65 | 74 20 25 66 6e 61 6d 65 |.X se|t %fname|
|000013b0| 20 40 22 52 65 61 64 20 | 66 69 6c 65 3a 20 22 0a | @"Read |file: ".|
|000013c0| 58 20 20 20 20 21 69 66 | 20 26 73 65 71 75 61 6c |X !if| &sequal|
|000013d0| 20 25 66 6e 61 6d 65 20 | 22 45 52 52 4f 52 22 0a | %fname |"ERROR".|
|000013e0| 58 20 20 20 20 20 20 20 | 20 21 72 65 74 75 72 6e |X | !return|
|000013f0| 0a 58 20 20 20 20 21 65 | 6e 64 69 66 0a 58 20 20 |.X !e|ndif.X |
|00001400| 20 20 72 75 6e 20 74 69 | 6c 64 65 73 75 62 0a 58 | run ti|ldesub.X|
|00001410| 20 20 20 20 72 75 6e 20 | 7a 63 68 65 63 6b 0a 58 | run |zcheck.X|
|00001420| 20 20 20 20 72 65 61 64 | 2d 66 69 6c 65 20 25 66 | read|-file %f|
|00001430| 6e 61 6d 65 0a 58 21 65 | 6e 64 6d 0a 58 62 69 6e |name.X!e|ndm.Xbin|
|00001440| 64 2d 74 6f 2d 6b 65 79 | 20 65 78 65 63 75 74 65 |d-to-key| execute|
|00001450| 2d 6d 61 63 72 6f 2d 36 | 20 5e 58 5e 52 0a 58 0a |-macro-6| ^X^R.X.|
|00001460| 58 37 20 73 74 6f 72 65 | 2d 6d 61 63 72 6f 0a 58 |X7 store|-macro.X|
|00001470| 20 20 20 20 73 65 74 20 | 25 66 6e 61 6d 65 20 40 | set |%fname @|
|00001480| 22 49 6e 73 65 72 74 20 | 66 69 6c 65 3a 20 22 0a |"Insert |file: ".|
|00001490| 58 20 20 20 20 21 69 66 | 20 26 73 65 71 75 61 6c |X !if| &sequal|
|000014a0| 20 25 66 6e 61 6d 65 20 | 22 45 52 52 4f 52 22 0a | %fname |"ERROR".|
|000014b0| 58 20 20 20 20 20 20 20 | 20 21 72 65 74 75 72 6e |X | !return|
|000014c0| 0a 58 20 20 20 20 21 65 | 6e 64 69 66 0a 58 20 20 |.X !e|ndif.X |
|000014d0| 20 20 72 75 6e 20 74 69 | 6c 64 65 73 75 62 0a 58 | run ti|ldesub.X|
|000014e0| 20 20 20 20 72 75 6e 20 | 7a 63 68 65 63 6b 0a 58 | run |zcheck.X|
|000014f0| 20 20 20 20 69 6e 73 65 | 72 74 2d 66 69 6c 65 20 | inse|rt-file |
|00001500| 25 66 6e 61 6d 65 0a 58 | 21 65 6e 64 6d 0a 58 62 |%fname.X|!endm.Xb|
|00001510| 69 6e 64 2d 74 6f 2d 6b | 65 79 20 65 78 65 63 75 |ind-to-k|ey execu|
|00001520| 74 65 2d 6d 61 63 72 6f | 2d 37 20 5e 58 5e 49 0a |te-macro|-7 ^X^I.|
|00001530| 58 0a 58 38 20 73 74 6f | 72 65 2d 6d 61 63 72 6f |X.X8 sto|re-macro|
|00001540| 0a 58 20 20 20 20 73 65 | 74 20 25 66 6e 61 6d 65 |.X se|t %fname|
|00001550| 20 40 22 57 72 69 74 65 | 20 66 69 6c 65 3a 20 22 | @"Write| file: "|
|00001560| 0a 58 20 20 20 20 21 69 | 66 20 26 73 65 71 75 61 |.X !i|f &sequa|
|00001570| 6c 20 25 66 6e 61 6d 65 | 20 22 45 52 52 4f 52 22 |l %fname| "ERROR"|
|00001580| 0a 58 20 20 20 20 20 20 | 20 20 21 72 65 74 75 72 |.X | !retur|
|00001590| 6e 0a 58 20 20 20 20 21 | 65 6e 64 69 66 0a 58 20 |n.X !|endif.X |
|000015a0| 20 20 20 72 75 6e 20 74 | 69 6c 64 65 73 75 62 0a | run t|ildesub.|
|000015b0| 58 20 20 20 20 77 72 69 | 74 65 2d 66 69 6c 65 20 |X wri|te-file |
|000015c0| 25 66 6e 61 6d 65 0a 58 | 21 65 6e 64 6d 0a 58 62 |%fname.X|!endm.Xb|
|000015d0| 69 6e 64 2d 74 6f 2d 6b | 65 79 20 65 78 65 63 75 |ind-to-k|ey execu|
|000015e0| 74 65 2d 6d 61 63 72 6f | 2d 38 20 5e 58 5e 57 0a |te-macro|-8 ^X^W.|
|000015f0| 58 0a 58 39 20 73 74 6f | 72 65 2d 6d 61 63 72 6f |X.X9 sto|re-macro|
|00001600| 0a 58 20 20 20 20 73 65 | 74 20 25 66 6e 61 6d 65 |.X se|t %fname|
|00001610| 20 40 22 4e 61 6d 65 3a | 20 22 0a 58 20 20 20 20 | @"Name:| ".X |
|00001620| 21 69 66 20 26 73 65 71 | 75 61 6c 20 25 66 6e 61 |!if &seq|ual %fna|
|00001630| 6d 65 20 22 45 52 52 4f | 52 22 0a 58 20 20 20 20 |me "ERRO|R".X |
|00001640| 20 20 20 20 21 72 65 74 | 75 72 6e 0a 58 20 20 20 | !ret|urn.X |
|00001650| 20 21 65 6e 64 69 66 0a | 58 20 20 20 20 72 75 6e | !endif.|X run|
|00001660| 20 74 69 6c 64 65 73 75 | 62 0a 58 20 20 20 20 63 | tildesu|b.X c|
|00001670| 68 61 6e 67 65 2d 66 69 | 6c 65 2d 6e 61 6d 65 20 |hange-fi|le-name |
|00001680| 25 66 6e 61 6d 65 0a 58 | 21 65 6e 64 6d 0a 58 62 |%fname.X|!endm.Xb|
|00001690| 69 6e 64 2d 74 6f 2d 6b | 65 79 20 65 78 65 63 75 |ind-to-k|ey execu|
|000016a0| 74 65 2d 6d 61 63 72 6f | 2d 39 20 5e 58 4e 0a 58 |te-macro|-9 ^XN.X|
|000016b0| 0a 58 3b 20 46 69 6c 74 | 65 72 20 74 68 65 20 72 |.X; Filt|er the r|
|000016c0| 65 67 69 6f 6e 20 74 68 | 72 6f 75 67 68 20 61 6e |egion th|rough an|
|000016d0| 20 65 78 74 65 72 6e 61 | 6c 20 63 6f 6d 6d 61 6e | externa|l comman|
|000016e0| 64 2e 0a 58 31 30 20 73 | 74 6f 72 65 2d 6d 61 63 |d..X10 s|tore-mac|
|000016f0| 72 6f 0a 58 20 20 20 20 | 73 65 74 20 25 66 69 6c |ro.X |set %fil|
|00001700| 74 2d 63 6d 64 20 40 22 | 23 22 0a 58 20 20 20 20 |t-cmd @"|#".X |
|00001710| 21 69 66 20 26 6f 72 20 | 20 25 73 65 71 75 61 6c |!if &or | %sequal|
|00001720| 20 25 66 69 6c 74 2d 63 | 6d 64 20 22 45 52 52 4f | %filt-c|md "ERRO|
|00001730| 52 22 20 20 26 73 65 71 | 75 61 6c 20 25 66 69 6c |R" &seq|ual %fil|
|00001740| 74 2d 63 6d 64 20 22 22 | 0a 58 20 20 20 20 20 20 |t-cmd ""|.X |
|00001750| 20 20 21 72 65 74 75 72 | 6e 0a 58 20 20 20 20 21 | !retur|n.X !|
|00001760| 65 6e 64 69 66 0a 58 20 | 20 20 20 77 72 69 74 65 |endif.X | write|
|00001770| 2d 6d 65 73 73 61 67 65 | 20 22 5b 46 69 6c 74 65 |-message| "[Filte|
|00001780| 72 69 6e 67 20 72 65 67 | 69 6f 6e 5d 22 0a 58 20 |ring reg|ion]".X |
|00001790| 20 20 20 6b 69 6c 6c 2d | 72 65 67 69 6f 6e 0a 58 | kill-|region.X|
|000017a0| 20 20 20 20 32 20 73 70 | 6c 69 74 2d 63 75 72 72 | 2 sp|lit-curr|
|000017b0| 65 6e 74 2d 77 69 6e 64 | 6f 77 0a 58 20 20 20 20 |ent-wind|ow.X |
|000017c0| 73 65 6c 65 63 74 2d 62 | 75 66 66 65 72 20 22 5b |select-b|uffer "[|
|000017d0| 74 65 6d 70 5d 22 0a 58 | 20 20 20 20 79 61 6e 6b |temp]".X| yank|
|000017e0| 0a 58 20 20 20 20 65 6e | 64 2d 6f 66 2d 66 69 6c |.X en|d-of-fil|
|000017f0| 65 0a 58 20 20 20 20 64 | 65 6c 65 74 65 2d 70 72 |e.X d|elete-pr|
|00001800| 65 76 69 6f 75 73 2d 63 | 68 61 72 61 63 74 65 72 |evious-c|haracter|
|00001810| 20 3b 20 52 65 6d 6f 76 | 65 20 75 6e 77 61 6e 74 | ; Remov|e unwant|
|00001820| 65 64 20 65 78 74 72 61 | 20 6e 65 77 6c 69 6e 65 |ed extra| newline|
|00001830| 2e 0a 58 20 20 20 20 75 | 6e 6d 61 72 6b 2d 62 75 |..X u|nmark-bu|
|00001840| 66 66 65 72 0a 58 0a 58 | 20 20 20 20 66 69 6c 74 |ffer.X.X| filt|
|00001850| 65 72 2d 62 75 66 66 65 | 72 20 25 66 69 6c 74 2d |er-buffe|r %filt-|
|00001860| 63 6d 64 0a 58 0a 58 20 | 20 20 20 62 65 67 69 6e |cmd.X.X | begin|
|00001870| 6e 69 6e 67 2d 6f 66 2d | 66 69 6c 65 0a 58 20 20 |ning-of-|file.X |
|00001880| 20 20 73 65 74 2d 6d 61 | 72 6b 0a 58 20 20 20 20 | set-ma|rk.X |
|00001890| 65 6e 64 2d 6f 66 2d 66 | 69 6c 65 0a 58 20 20 20 |end-of-f|ile.X |
|000018a0| 20 6b 69 6c 6c 2d 72 65 | 67 69 6f 6e 0a 58 20 20 | kill-re|gion.X |
|000018b0| 20 20 75 6e 6d 61 72 6b | 2d 62 75 66 66 65 72 0a | unmark|-buffer.|
|000018c0| 58 20 20 20 20 64 65 6c | 65 74 65 2d 77 69 6e 64 |X del|ete-wind|
|000018d0| 6f 77 0a 58 20 20 20 20 | 79 61 6e 6b 0a 58 20 20 |ow.X |yank.X |
|000018e0| 20 20 64 65 6c 65 74 65 | 2d 62 75 66 66 65 72 20 | delete|-buffer |
|000018f0| 22 5b 74 65 6d 70 5d 22 | 0a 58 20 20 20 20 77 72 |"[temp]"|.X wr|
|00001900| 69 74 65 2d 6d 65 73 73 | 61 67 65 20 22 5b 52 65 |ite-mess|age "[Re|
|00001910| 67 69 6f 6e 20 66 69 6c | 74 65 72 65 64 5d 22 0a |gion fil|tered]".|
|00001920| 58 21 65 6e 64 6d 0a 58 | 62 69 6e 64 2d 74 6f 2d |X!endm.X|bind-to-|
|00001930| 6b 65 79 20 65 78 65 63 | 75 74 65 2d 6d 61 63 72 |key exec|ute-macr|
|00001940| 6f 2d 31 30 20 4d 2d 23 | 0a 45 4e 44 5f 4f 46 5f |o-10 M-#|.END_OF_|
|00001950| 46 49 4c 45 0a 69 66 20 | 74 65 73 74 20 34 30 34 |FILE.if |test 404|
|00001960| 35 20 2d 6e 65 20 60 77 | 63 20 2d 63 20 3c 27 65 |5 -ne `w|c -c <'e|
|00001970| 6e 68 61 6e 63 65 2e 63 | 6d 64 27 60 3b 20 74 68 |nhance.c|md'`; th|
|00001980| 65 6e 0a 20 20 20 20 65 | 63 68 6f 20 73 68 61 72 |en. e|cho shar|
|00001990| 3a 20 5c 22 27 65 6e 68 | 61 6e 63 65 2e 63 6d 64 |: \"'enh|ance.cmd|
|000019a0| 27 5c 22 20 75 6e 70 61 | 63 6b 65 64 20 77 69 74 |'\" unpa|cked wit|
|000019b0| 68 20 77 72 6f 6e 67 20 | 73 69 7a 65 21 0a 66 69 |h wrong |size!.fi|
|000019c0| 0a 23 20 65 6e 64 20 6f | 66 20 27 65 6e 68 61 6e |.# end o|f 'enhan|
|000019d0| 63 65 2e 63 6d 64 27 0a | 66 69 0a 69 66 20 74 65 |ce.cmd'.|fi.if te|
|000019e0| 73 74 20 2d 66 20 27 73 | 70 65 6c 6c 2e 63 6d 64 |st -f 's|pell.cmd|
|000019f0| 27 20 2d 61 20 22 24 7b | 31 7d 22 20 21 3d 20 22 |' -a "${|1}" != "|
|00001a00| 2d 63 22 20 3b 20 74 68 | 65 6e 20 0a 20 20 65 63 |-c" ; th|en . ec|
|00001a10| 68 6f 20 73 68 61 72 3a | 20 57 69 6c 6c 20 6e 6f |ho shar:| Will no|
|00001a20| 74 20 63 6c 6f 62 62 65 | 72 20 65 78 69 73 74 69 |t clobbe|r existi|
|00001a30| 6e 67 20 66 69 6c 65 20 | 5c 22 27 73 70 65 6c 6c |ng file |\"'spell|
|00001a40| 2e 63 6d 64 27 5c 22 0a | 65 6c 73 65 0a 65 63 68 |.cmd'\".|else.ech|
|00001a50| 6f 20 73 68 61 72 3a 20 | 45 78 74 72 61 63 74 69 |o shar: |Extracti|
|00001a60| 6e 67 20 5c 22 27 73 70 | 65 6c 6c 2e 63 6d 64 27 |ng \"'sp|ell.cmd'|
|00001a70| 5c 22 20 5c 28 33 35 36 | 30 20 63 68 61 72 61 63 |\" \(356|0 charac|
|00001a80| 74 65 72 73 5c 29 0a 73 | 65 64 20 22 73 2f 5e 58 |ters\).s|ed "s/^X|
|00001a90| 2f 2f 22 20 3e 27 73 70 | 65 6c 6c 2e 63 6d 64 27 |//" >'sp|ell.cmd'|
|00001aa0| 20 3c 3c 27 45 4e 44 5f | 4f 46 5f 46 49 4c 45 27 | <<'END_|OF_FILE'|
|00001ab0| 0a 58 3b 20 73 70 65 6c | 6c 2e 63 6d 64 0a 58 3b |.X; spel|l.cmd.X;|
|00001ac0| 0a 58 3b 20 73 65 6d 69 | 2d 69 6e 74 65 72 61 63 |.X; semi|-interac|
|00001ad0| 74 69 76 65 20 4d 69 63 | 72 6f 45 4d 41 43 53 20 |tive Mic|roEMACS |
|00001ae0| 33 2e 39 20 73 70 65 6c | 6c 69 6e 67 20 63 68 65 |3.9 spel|ling che|
|00001af0| 63 6b 65 72 0a 58 3b 20 | 42 61 73 65 64 20 6f 6e |cker.X; |Based on|
|00001b00| 20 74 68 65 20 55 6e 69 | 78 20 73 70 65 6c 6c 20 | the Uni|x spell |
|00001b10| 63 6f 6d 6d 61 6e 64 2e | 0a 58 3b 20 41 63 74 69 |command.|.X; Acti|
|00001b20| 76 61 74 65 20 77 69 74 | 68 20 4d 2d 78 20 72 75 |vate wit|h M-x ru|
|00001b30| 6e 20 73 70 65 6c 6c 2d | 62 75 66 66 65 72 0a 58 |n spell-|buffer.X|
|00001b40| 3b 0a 58 3b 20 44 61 76 | 69 64 20 4d 61 63 4b 65 |;.X; Dav|id MacKe|
|00001b50| 6e 7a 69 65 0a 58 3b 20 | 4c 61 74 65 73 74 20 72 |nzie.X; |Latest r|
|00001b60| 65 76 69 73 69 6f 6e 3a | 20 30 38 2f 31 38 2f 38 |evision:| 08/18/8|
|00001b70| 38 0a 58 0a 58 0a 58 3b | 20 54 68 65 73 65 20 65 |8.X.X.X;| These e|
|00001b80| 6e 63 6c 6f 73 65 20 6d | 69 73 73 70 65 6c 6c 65 |nclose m|isspelle|
|00001b90| 64 20 77 6f 72 64 73 2e | 20 20 43 68 61 6e 67 65 |d words.| Change|
|00001ba0| 20 74 68 65 6d 20 69 66 | 20 79 6f 75 20 64 6f 6e | them if| you don|
|00001bb0| 27 74 20 6c 69 6b 65 20 | 74 68 65 6d 2e 0a 58 73 |'t like |them..Xs|
|00001bc0| 65 74 20 25 6c 6d 61 72 | 6b 20 22 3c 3c 22 0a 58 |et %lmar|k "<<".X|
|00001bd0| 73 65 74 20 25 72 6d 61 | 72 6b 20 22 3e 3e 22 0a |set %rma|rk ">>".|
|00001be0| 58 0a 58 73 74 6f 72 65 | 2d 70 72 6f 63 65 64 75 |X.Xstore|-procedu|
|00001bf0| 72 65 20 73 70 65 6c 6c | 2d 62 75 66 66 65 72 0a |re spell|-buffer.|
|00001c00| 58 0a 58 20 20 20 20 73 | 65 74 20 25 73 61 76 65 |X.X s|et %save|
|00001c10| 63 62 75 66 20 24 63 62 | 75 66 6e 61 6d 65 0a 58 |cbuf $cb|ufname.X|
|00001c20| 20 20 20 20 21 69 66 20 | 26 73 65 71 75 61 6c 20 | !if |&sequal |
|00001c30| 24 63 66 6e 61 6d 65 20 | 22 22 20 20 20 20 3b 20 |$cfname |"" ; |
|00001c40| 4e 6f 20 66 69 6c 65 6e | 61 6d 65 21 0a 58 20 20 |No filen|ame!.X |
|00001c50| 20 20 20 20 20 20 73 65 | 74 20 24 63 66 6e 61 6d | se|t $cfnam|
|00001c60| 65 20 24 63 62 75 66 6e | 61 6d 65 20 3b 20 4d 61 |e $cbufn|ame ; Ma|
|00001c70| 6b 65 20 6f 6e 65 2e 0a | 58 20 20 20 20 21 65 6e |ke one..|X !en|
|00001c80| 64 69 66 0a 58 20 20 20 | 20 73 65 74 20 25 66 69 |dif.X | set %fi|
|00001c90| 6c 65 20 24 63 66 6e 61 | 6d 65 0a 58 20 20 20 20 |le $cfna|me.X |
|00001ca0| 73 61 76 65 2d 66 69 6c | 65 20 20 20 20 20 20 20 |save-fil|e |
|00001cb0| 20 20 20 20 20 20 20 20 | 3b 20 4d 61 6b 65 20 73 | |; Make s|
|00001cc0| 75 72 65 20 69 74 27 73 | 20 75 70 20 74 6f 20 64 |ure it's| up to d|
|00001cd0| 61 74 65 2e 0a 58 20 20 | 20 20 75 70 64 61 74 65 |ate..X | update|
|00001ce0| 2d 73 63 72 65 65 6e 0a | 58 20 20 20 20 0a 58 20 |-screen.|X .X |
|00001cf0| 20 20 20 73 65 74 20 25 | 6c 66 69 6c 65 20 40 22 | set %|lfile @"|
|00001d00| 4c 6f 63 61 6c 20 77 6f | 72 64 20 6c 69 73 74 20 |Local wo|rd list |
|00001d10| 66 69 6c 65 6e 61 6d 65 | 20 28 3c 52 65 74 75 72 |filename| (<Retur|
|00001d20| 6e 3e 20 3d 20 6e 6f 6e | 65 29 3f 20 22 0a 58 20 |n> = non|e)? ".X |
|00001d30| 20 20 20 21 69 66 20 26 | 6f 72 20 20 26 73 65 71 | !if &|or &seq|
|00001d40| 75 61 6c 20 25 6c 66 69 | 6c 65 20 22 71 22 20 20 |ual %lfi|le "q" |
|00001d50| 26 73 65 71 75 61 6c 20 | 25 6c 66 69 6c 65 20 22 |&sequal |%lfile "|
|00001d60| 45 52 52 4f 52 22 20 3b | 20 43 74 72 6c 2d 47 0a |ERROR" ;| Ctrl-G.|
|00001d70| 58 20 20 20 20 20 20 20 | 20 77 72 69 74 65 2d 6d |X | write-m|
|00001d80| 65 73 73 61 67 65 20 22 | 5b 53 70 65 6c 6c 69 6e |essage "|[Spellin|
|00001d90| 67 20 63 6f 72 72 65 63 | 74 69 6f 6e 20 61 62 6f |g correc|tion abo|
|00001da0| 72 74 65 64 5d 22 0a 58 | 20 20 20 20 20 20 20 20 |rted]".X| |
|00001db0| 21 72 65 74 75 72 6e 0a | 58 20 20 20 20 21 65 6e |!return.|X !en|
|00001dc0| 64 69 66 0a 58 20 20 20 | 20 21 69 66 20 26 6e 6f |dif.X | !if &no|
|00001dd0| 74 20 26 73 65 71 75 61 | 6c 20 25 6c 66 69 6c 65 |t &sequa|l %lfile|
|00001de0| 20 22 22 0a 58 20 20 20 | 20 20 20 20 20 73 65 74 | "".X | set|
|00001df0| 20 25 6c 66 69 6c 65 20 | 26 63 61 74 20 20 26 63 | %lfile |&cat &c|
|00001e00| 61 74 20 22 2b 22 20 25 | 6c 66 69 6c 65 20 20 22 |at "+" %|lfile "|
|00001e10| 20 22 0a 58 20 20 20 20 | 21 65 6e 64 69 66 0a 58 | ".X |!endif.X|
|00001e20| 20 20 20 20 0a 58 20 20 | 20 20 77 72 69 74 65 2d | .X | write-|
|00001e30| 6d 65 73 73 61 67 65 20 | 22 5b 49 64 65 6e 74 69 |message |"[Identi|
|00001e40| 66 79 69 6e 67 20 70 6f | 73 73 69 62 6c 65 20 6d |fying po|ssible m|
|00001e50| 69 73 73 70 65 6c 6c 69 | 6e 67 73 2e 2e 2e 5d 22 |isspelli|ngs...]"|
|00001e60| 0a 58 20 20 20 20 3b 20 | 72 75 6e 20 74 68 65 20 |.X ; |run the |
|00001e70| 63 6f 6d 6d 61 6e 64 20 | 77 69 74 68 20 6f 75 74 |command |with out|
|00001e80| 70 75 74 20 74 6f 20 74 | 68 65 20 62 75 66 66 65 |put to t|he buffe|
|00001e90| 72 2c 20 22 63 6f 6d 6d | 61 6e 64 22 0a 58 20 20 |r, "comm|and".X |
|00001ea0| 20 20 70 69 70 65 2d 63 | 6f 6d 6d 61 6e 64 20 26 | pipe-c|ommand &|
|00001eb0| 63 61 74 20 20 26 63 61 | 74 20 22 73 70 65 6c 6c |cat &ca|t "spell|
|00001ec0| 20 22 20 25 6c 66 69 6c | 65 20 20 25 66 69 6c 65 | " %lfil|e %file|
|00001ed0| 0a 58 20 20 20 20 0a 58 | 20 20 20 20 3b 20 22 63 |.X .X| ; "c|
|00001ee0| 6f 6d 6d 61 6e 64 22 20 | 69 73 20 6e 6f 77 20 74 |ommand" |is now t|
|00001ef0| 68 65 20 73 65 6c 65 63 | 74 65 64 20 62 75 66 66 |he selec|ted buff|
|00001f00| 65 72 0a 58 20 20 20 20 | 64 65 6c 65 74 65 2d 77 |er.X |delete-w|
|00001f10| 69 6e 64 6f 77 0a 58 20 | 20 20 20 73 65 6c 65 63 |indow.X | selec|
|00001f20| 74 2d 62 75 66 66 65 72 | 20 25 73 61 76 65 63 62 |t-buffer| %savecb|
|00001f30| 75 66 0a 58 20 20 20 20 | 0a 58 20 20 20 20 21 77 |uf.X |.X !w|
|00001f40| 68 69 6c 65 20 22 54 52 | 55 45 22 0a 58 20 20 20 |hile "TR|UE".X |
|00001f50| 20 20 20 20 20 73 65 74 | 20 25 77 6f 72 64 20 23 | set| %word #|
|00001f60| 63 6f 6d 6d 61 6e 64 0a | 58 09 21 69 66 20 26 73 |command.|X.!if &s|
|00001f70| 65 71 75 61 6c 20 25 77 | 6f 72 64 20 22 45 52 52 |equal %w|ord "ERR|
|00001f80| 4f 52 22 0a 58 09 20 20 | 20 20 21 62 72 65 61 6b |OR".X. | !break|
|00001f90| 20 3b 20 4e 6f 20 6d 6f | 72 65 20 6d 69 73 2d 73 | ; No mo|re mis-s|
|00001fa0| 70 65 6c 6c 65 64 20 77 | 6f 72 64 73 2e 0a 58 09 |pelled w|ords..X.|
|00001fb0| 21 65 6e 64 69 66 0a 58 | 0a 58 20 20 20 20 20 20 |!endif.X|.X |
|00001fc0| 20 20 75 70 64 61 74 65 | 2d 73 63 72 65 65 6e 0a | update|-screen.|
|00001fd0| 58 20 20 20 20 20 20 20 | 20 77 72 69 74 65 2d 6d |X | write-m|
|00001fe0| 65 73 73 61 67 65 20 26 | 63 61 74 20 22 46 69 78 |essage &|cat "Fix|
|00001ff0| 20 60 22 20 20 26 63 61 | 74 20 25 77 6f 72 64 20 | `" &ca|t %word |
|00002000| 22 27 20 28 5b 79 5d 2f | 6e 29 3f 20 22 0a 58 20 |"' ([y]/|n)? ".X |
|00002010| 20 20 20 20 20 20 20 73 | 65 74 20 25 79 6e 20 26 | s|et %yn &|
|00002020| 67 74 6b 65 79 0a 58 20 | 20 20 20 20 20 20 20 21 |gtkey.X | !|
|00002030| 69 66 20 26 6f 72 20 20 | 26 73 65 71 75 61 6c 20 |if &or |&sequal |
|00002040| 25 79 6e 20 22 71 22 20 | 20 26 65 71 75 61 6c 20 |%yn "q" | &equal |
|00002050| 26 61 73 63 69 69 20 25 | 79 6e 20 37 20 3b 20 43 |&ascii %|yn 7 ; C|
|00002060| 74 72 6c 2d 47 0a 58 20 | 20 20 20 20 20 20 20 20 |trl-G.X | |
|00002070| 20 20 20 77 72 69 74 65 | 2d 6d 65 73 73 61 67 65 | write|-message|
|00002080| 20 22 5b 53 70 65 6c 6c | 69 6e 67 20 63 6f 72 72 | "[Spell|ing corr|
|00002090| 65 63 74 69 6f 6e 20 61 | 62 6f 72 74 65 64 5d 22 |ection a|borted]"|
|000020a0| 0a 58 09 20 20 20 20 21 | 72 65 74 75 72 6e 0a 58 |.X. !|return.X|
|000020b0| 09 21 65 6e 64 69 66 0a | 58 09 21 69 66 20 26 6f |.!endif.|X.!if &o|
|000020c0| 72 20 20 26 73 65 71 75 | 61 6c 20 25 79 6e 20 22 |r &sequ|al %yn "|
|000020d0| 79 22 20 20 26 73 65 71 | 75 61 6c 20 25 79 6e 20 |y" &seq|ual %yn |
|000020e0| 22 20 22 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |" ".X | |
|000020f0| 20 62 65 67 69 6e 6e 69 | 6e 67 2d 6f 66 2d 66 69 | beginni|ng-of-fi|
|00002100| 6c 65 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |le.X | |
|00002110| 21 77 68 69 6c 65 20 22 | 54 52 55 45 22 0a 58 20 |!while "|TRUE".X |
|00002120| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 77 | | w|
|00002130| 72 69 74 65 2d 6d 65 73 | 73 61 67 65 20 26 63 61 |rite-mes|sage &ca|
|00002140| 74 20 20 26 63 61 74 20 | 22 5b 53 65 61 72 63 68 |t &cat |"[Search|
|00002150| 69 6e 67 20 66 6f 72 20 | 60 22 20 25 77 6f 72 64 |ing for |`" %word|
|00002160| 20 20 22 27 2e 2e 2e 5d | 22 0a 58 20 20 20 20 20 | "'...]|".X |
|00002170| 20 20 20 20 20 20 20 20 | 20 20 20 21 66 6f 72 63 | | !forc|
|00002180| 65 20 73 65 61 72 63 68 | 2d 66 6f 72 77 61 72 64 |e search|-forward|
|00002190| 20 25 77 6f 72 64 0a 58 | 20 20 20 20 20 20 20 20 | %word.X| |
|000021a0| 20 20 20 20 20 20 20 20 | 21 69 66 20 26 73 65 71 | |!if &seq|
|000021b0| 75 61 6c 20 24 73 74 61 | 74 75 73 20 22 46 41 4c |ual $sta|tus "FAL|
|000021c0| 53 45 22 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |SE".X | |
|000021d0| 20 20 20 20 20 20 20 20 | 20 21 62 72 65 61 6b 20 | | !break |
|000021e0| 3b 20 4e 6f 20 6d 6f 72 | 65 20 6d 61 74 63 68 65 |; No mor|e matche|
|000021f0| 73 20 6f 66 20 74 68 69 | 73 20 77 6f 72 64 20 66 |s of thi|s word f|
|00002200| 6f 75 6e 64 2e 0a 58 20 | 20 20 20 20 20 20 20 20 |ound..X | |
|00002210| 20 20 20 20 20 20 20 21 | 65 6e 64 69 66 0a 58 20 | !|endif.X |
|00002220| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 72 | | r|
|00002230| 75 6e 20 6d 61 72 6b 2d | 77 6f 72 64 0a 58 09 09 |un mark-|word.X..|
|00002240| 75 70 64 61 74 65 2d 73 | 63 72 65 65 6e 20 3b 20 |update-s|creen ; |
|00002250| 4c 65 74 20 74 68 65 6d | 20 73 65 65 20 74 68 65 |Let them| see the|
|00002260| 20 6d 61 72 6b 65 64 20 | 77 6f 72 64 2e 0a 58 20 | marked |word..X |
|00002270| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 73 | | s|
|00002280| 65 74 20 25 6e 65 77 2d | 77 6f 72 64 20 20 40 26 |et %new-|word @&|
|00002290| 63 61 74 20 20 26 63 61 | 74 20 22 52 65 70 6c 61 |cat &ca|t "Repla|
|000022a0| 63 65 20 60 22 20 25 77 | 6f 72 64 20 20 22 27 20 |ce `" %w|ord "' |
|000022b0| 77 69 74 68 20 28 3c 52 | 65 74 75 72 6e 3e 20 74 |with (<R|eturn> t|
|000022c0| 6f 20 6b 65 65 70 29 3f | 20 22 0a 58 0a 58 20 20 |o keep)?| ".X.X |
|000022d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 21 69 | | !i|
|000022e0| 66 20 26 6f 72 20 20 26 | 73 65 71 75 61 6c 20 25 |f &or &|sequal %|
|000022f0| 6e 65 77 2d 77 6f 72 64 | 20 22 71 22 20 20 26 73 |new-word| "q" &s|
|00002300| 65 71 75 61 6c 20 25 6e | 65 77 2d 77 6f 72 64 20 |equal %n|ew-word |
|00002310| 22 45 52 52 4f 52 22 0a | 58 20 20 20 20 20 20 20 |"ERROR".|X |
|00002320| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 72 75 6e | | run|
|00002330| 20 75 6e 6d 61 72 6b 2d | 77 6f 72 64 0a 58 20 20 | unmark-|word.X |
|00002340| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002350| 20 20 77 72 69 74 65 2d | 6d 65 73 73 61 67 65 20 | write-|message |
|00002360| 22 5b 53 70 65 6c 6c 69 | 6e 67 20 63 6f 72 72 65 |"[Spelli|ng corre|
|00002370| 63 74 69 6f 6e 20 61 62 | 6f 72 74 65 64 5d 22 0a |ction ab|orted]".|
|00002380| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|00002390| 20 20 20 20 20 21 72 65 | 74 75 72 6e 0a 58 09 09 | !re|turn.X..|
|000023a0| 21 65 6e 64 69 66 0a 58 | 20 20 20 20 20 20 20 20 |!endif.X| |
|000023b0| 20 20 20 20 20 20 20 20 | 21 69 66 20 26 73 65 71 | |!if &seq|
|000023c0| 75 61 6c 20 25 6e 65 77 | 2d 77 6f 72 64 20 22 6e |ual %new|-word "n|
|000023d0| 22 20 3b 20 47 6f 20 6f | 6e 20 74 6f 20 74 68 65 |" ; Go o|n to the|
|000023e0| 20 6e 65 78 74 20 77 72 | 6f 6e 67 20 77 6f 72 64 | next wr|ong word|
|000023f0| 2e 0a 58 09 09 20 20 20 | 20 72 75 6e 20 75 6e 6d |..X.. | run unm|
|00002400| 61 72 6b 2d 77 6f 72 64 | 0a 58 09 09 20 20 20 20 |ark-word|.X.. |
|00002410| 21 62 72 65 61 6b 0a 58 | 09 09 21 65 6e 64 69 66 |!break.X|..!endif|
|00002420| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X | |
|00002430| 20 20 21 69 66 20 26 73 | 65 71 75 61 6c 20 25 6e | !if &s|equal %n|
|00002440| 65 77 2d 77 6f 72 64 20 | 22 70 22 20 3b 20 52 65 |ew-word |"p" ; Re|
|00002450| 70 65 61 74 20 70 72 65 | 76 69 6f 75 73 20 63 6f |peat pre|vious co|
|00002460| 72 72 65 63 74 69 6f 6e | 2e 0a 58 20 20 20 20 20 |rrection|..X |
|00002470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 73 | | s|
|00002480| 65 74 20 25 6e 65 77 2d | 77 6f 72 64 20 25 6f 6c |et %new-|word %ol|
|00002490| 64 2d 6e 65 77 0a 58 09 | 09 21 65 6e 64 69 66 0a |d-new.X.|.!endif.|
|000024a0| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|000024b0| 20 21 69 66 20 26 73 65 | 71 75 61 6c 20 25 6e 65 | !if &se|qual %ne|
|000024c0| 77 2d 77 6f 72 64 20 22 | 22 0a 58 09 09 20 20 20 |w-word "|".X.. |
|000024d0| 20 72 75 6e 20 75 6e 6d | 61 72 6b 2d 77 6f 72 64 | run unm|ark-word|
|000024e0| 0a 58 09 09 21 65 6c 73 | 65 0a 58 20 20 20 20 20 |.X..!els|e.X |
|000024f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 72 | | r|
|00002500| 75 6e 20 72 65 70 6c 61 | 63 65 2d 77 6f 72 64 0a |un repla|ce-word.|
|00002510| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|00002520| 20 21 65 6e 64 69 66 0a | 58 20 20 20 20 20 20 20 | !endif.|X |
|00002530| 20 20 20 20 20 20 20 20 | 20 73 65 74 20 25 6f 6c | | set %ol|
|00002540| 64 2d 6e 65 77 20 25 6e | 65 77 2d 77 6f 72 64 0a |d-new %n|ew-word.|
|00002550| 58 09 09 75 70 64 61 74 | 65 2d 73 63 72 65 65 6e |X..updat|e-screen|
|00002560| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 21 65 |.X | !e|
|00002570| 6e 64 77 68 69 6c 65 0a | 58 09 21 65 6e 64 69 66 |ndwhile.|X.!endif|
|00002580| 0a 58 20 20 20 20 21 65 | 6e 64 77 68 69 6c 65 0a |.X !e|ndwhile.|
|00002590| 58 20 20 20 20 77 72 69 | 74 65 2d 6d 65 73 73 61 |X wri|te-messa|
|000025a0| 67 65 20 22 5b 53 70 65 | 6c 6c 69 6e 67 20 63 6f |ge "[Spe|lling co|
|000025b0| 72 72 65 63 74 69 6f 6e | 20 63 6f 6d 70 6c 65 74 |rrection| complet|
|000025c0| 65 64 5d 22 0a 58 21 65 | 6e 64 6d 0a 58 0a 58 3b |ed]".X!e|ndm.X.X;|
|000025d0| 20 4d 61 72 6b 20 61 20 | 77 6f 72 64 20 77 69 74 | Mark a |word wit|
|000025e0| 68 20 25 6c 6d 61 72 6b | 20 61 6e 64 20 25 72 6d |h %lmark| and %rm|
|000025f0| 61 72 6b 2e 0a 58 3b 20 | 41 73 73 75 6d 65 73 20 |ark..X; |Assumes |
|00002600| 70 6f 69 6e 74 20 69 73 | 20 61 74 20 74 68 65 20 |point is| at the |
|00002610| 65 6e 64 20 6f 66 20 74 | 68 65 20 77 6f 72 64 20 |end of t|he word |
|00002620| 77 68 65 6e 20 63 61 6c | 6c 65 64 3b 0a 58 3b 20 |when cal|led;.X; |
|00002630| 6c 65 61 76 65 73 20 70 | 6f 69 6e 74 20 61 66 74 |leaves p|oint aft|
|00002640| 65 72 20 25 72 6d 61 72 | 6b 2e 0a 58 73 74 6f 72 |er %rmar|k..Xstor|
|00002650| 65 2d 70 72 6f 63 65 64 | 75 72 65 20 6d 61 72 6b |e-proced|ure mark|
|00002660| 2d 77 6f 72 64 0a 58 20 | 20 20 20 69 6e 73 65 72 |-word.X | inser|
|00002670| 74 2d 73 74 72 69 6e 67 | 20 25 72 6d 61 72 6b 0a |t-string| %rmark.|
|00002680| 58 20 20 20 20 73 65 74 | 2d 6d 61 72 6b 0a 58 20 |X set|-mark.X |
|00002690| 20 20 20 70 72 65 76 69 | 6f 75 73 2d 77 6f 72 64 | previ|ous-word|
|000026a0| 0a 58 20 20 20 20 69 6e | 73 65 72 74 2d 73 74 72 |.X in|sert-str|
|000026b0| 69 6e 67 20 25 6c 6d 61 | 72 6b 0a 58 21 65 6e 64 |ing %lma|rk.X!end|
|000026c0| 6d 0a 58 0a 58 3b 20 52 | 65 6d 6f 76 65 20 74 68 |m.X.X; R|emove th|
|000026d0| 65 20 6d 61 72 6b 2e 0a | 58 3b 20 41 73 73 75 6d |e mark..|X; Assum|
|000026e0| 65 73 20 70 6f 69 6e 74 | 20 69 73 20 77 68 65 72 |es point| is wher|
|000026f0| 65 20 6d 61 72 6b 2d 77 | 6f 72 64 20 6c 65 66 74 |e mark-w|ord left|
|00002700| 20 69 74 2c 20 61 66 74 | 65 72 20 25 6c 6d 61 72 | it, aft|er %lmar|
|00002710| 6b 2e 0a 58 3b 20 4c 65 | 61 76 65 73 20 70 6f 69 |k..X; Le|aves poi|
|00002720| 6e 74 20 61 66 74 65 72 | 20 74 68 65 20 77 6f 72 |nt after| the wor|
|00002730| 64 2e 0a 58 73 74 6f 72 | 65 2d 70 72 6f 63 65 64 |d..Xstor|e-proced|
|00002740| 75 72 65 20 75 6e 6d 61 | 72 6b 2d 77 6f 72 64 0a |ure unma|rk-word.|
|00002750| 58 20 20 20 20 26 6c 65 | 6e 20 25 6c 6d 61 72 6b |X &le|n %lmark|
|00002760| 20 64 65 6c 65 74 65 2d | 70 72 65 76 69 6f 75 73 | delete-|previous|
|00002770| 2d 63 68 61 72 61 63 74 | 65 72 20 3b 20 4e 75 6b |-charact|er ; Nuk|
|00002780| 65 20 25 6c 6d 61 72 6b | 2e 0a 58 20 20 20 20 65 |e %lmark|..X e|
|00002790| 78 63 68 61 6e 67 65 2d | 70 6f 69 6e 74 2d 61 6e |xchange-|point-an|
|000027a0| 64 2d 6d 61 72 6b 20 3b | 20 4d 6f 76 65 20 70 61 |d-mark ;| Move pa|
|000027b0| 73 74 20 25 72 6d 61 72 | 6b 2e 0a 58 20 20 20 20 |st %rmar|k..X |
|000027c0| 26 6c 65 6e 20 25 72 6d | 61 72 6b 20 64 65 6c 65 |&len %rm|ark dele|
|000027d0| 74 65 2d 70 72 65 76 69 | 6f 75 73 2d 63 68 61 72 |te-previ|ous-char|
|000027e0| 61 63 74 65 72 20 3b 20 | 4e 75 6b 65 20 25 72 6d |acter ; |Nuke %rm|
|000027f0| 61 72 6b 0a 58 21 65 6e | 64 6d 0a 58 0a 58 3b 20 |ark.X!en|dm.X.X; |
|00002800| 52 65 70 6c 61 63 65 20 | 74 68 65 20 6d 61 72 6b |Replace |the mark|
|00002810| 65 64 20 77 6f 72 64 20 | 77 69 74 68 20 25 6e 65 |ed word |with %ne|
|00002820| 77 2d 77 6f 72 64 2e 0a | 58 3b 20 43 61 6c 6c 65 |w-word..|X; Calle|
|00002830| 64 20 69 6e 73 74 65 61 | 64 20 6f 66 20 75 6e 6d |d instea|d of unm|
|00002840| 61 72 6b 2d 77 6f 72 64 | 2e 0a 58 3b 20 4c 65 61 |ark-word|..X; Lea|
|00002850| 76 65 73 20 70 6f 69 6e | 74 20 61 66 74 65 72 20 |ves poin|t after |
|00002860| 74 68 65 20 77 6f 72 64 | 2e 0a 58 73 74 6f 72 65 |the word|..Xstore|
|00002870| 2d 70 72 6f 63 65 64 75 | 72 65 20 72 65 70 6c 61 |-procedu|re repla|
|00002880| 63 65 2d 77 6f 72 64 0a | 58 20 20 20 20 26 6c 65 |ce-word.|X &le|
|00002890| 6e 20 25 6c 6d 61 72 6b | 20 64 65 6c 65 74 65 2d |n %lmark| delete-|
|000028a0| 70 72 65 76 69 6f 75 73 | 2d 63 68 61 72 61 63 74 |previous|-charact|
|000028b0| 65 72 20 3b 20 4e 75 6b | 65 20 25 6c 6d 61 72 6b |er ; Nuk|e %lmark|
|000028c0| 2e 0a 58 20 20 20 20 6b | 69 6c 6c 2d 72 65 67 69 |..X k|ill-regi|
|000028d0| 6f 6e 20 3b 20 4e 75 6b | 65 20 77 6f 72 64 20 61 |on ; Nuk|e word a|
|000028e0| 6e 64 20 25 72 6d 61 72 | 6b 2e 0a 58 20 20 20 20 |nd %rmar|k..X |
|000028f0| 69 6e 73 65 72 74 2d 73 | 74 72 69 6e 67 20 25 6e |insert-s|tring %n|
|00002900| 65 77 2d 77 6f 72 64 0a | 58 21 65 6e 64 6d 0a 45 |ew-word.|X!endm.E|
|00002910| 4e 44 5f 4f 46 5f 46 49 | 4c 45 0a 69 66 20 74 65 |ND_OF_FI|LE.if te|
|00002920| 73 74 20 33 35 36 30 20 | 2d 6e 65 20 60 77 63 20 |st 3560 |-ne `wc |
|00002930| 2d 63 20 3c 27 73 70 65 | 6c 6c 2e 63 6d 64 27 60 |-c <'spe|ll.cmd'`|
|00002940| 3b 20 74 68 65 6e 0a 20 | 20 20 20 65 63 68 6f 20 |; then. | echo |
|00002950| 73 68 61 72 3a 20 5c 22 | 27 73 70 65 6c 6c 2e 63 |shar: \"|'spell.c|
|00002960| 6d 64 27 5c 22 20 75 6e | 70 61 63 6b 65 64 20 77 |md'\" un|packed w|
|00002970| 69 74 68 20 77 72 6f 6e | 67 20 73 69 7a 65 21 0a |ith wron|g size!.|
|00002980| 66 69 0a 23 20 65 6e 64 | 20 6f 66 20 27 73 70 65 |fi.# end| of 'spe|
|00002990| 6c 6c 2e 63 6d 64 27 0a | 66 69 0a 65 63 68 6f 20 |ll.cmd'.|fi.echo |
|000029a0| 73 68 61 72 3a 20 45 6e | 64 20 6f 66 20 73 68 65 |shar: En|d of she|
|000029b0| 6c 6c 20 61 72 63 68 69 | 76 65 2e 0a 65 78 69 74 |ll archi|ve..exit|
|000029c0| 20 30 0a | | 0. | |
+--------+-------------------------+-------------------------+--------+--------+