home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_emacs.idb / usr / freeware / share / emacs / 19.34 / lisp / sh-script.elc.z / sh-script.elc
Emacs Compiled Lisp  |  1998-10-28  |  37.9 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
100% file Emacs/XEmacs v19 byte-compiled Lisp data default
99% file data default
100% TrID Emacs/XEmacs byte-compiled Lisp (generic) default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 13 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 72 6d 73 40 70 73 69 |piled by| rms@psi|
|00000020| 6c 6f 63 69 6e 2e 67 6e | 75 2e 61 69 2e 6d 69 74 |locin.gn|u.ai.mit|
|00000030| 2e 65 64 75 20 6f 6e 20 | 54 68 75 20 41 75 67 20 |.edu on |Thu Aug |
|00000040| 20 31 20 31 38 3a 31 39 | 3a 33 38 20 31 39 39 36 | 1 18:19|:38 1996|
|00000050| 0a 3b 3b 3b 20 66 72 6f | 6d 20 66 69 6c 65 20 2f |.;;; fro|m file /|
|00000060| 68 6f 6d 65 2f 66 73 66 | 2f 72 6d 73 2f 65 31 39 |home/fsf|/rms/e19|
|00000070| 2f 6c 69 73 70 2f 73 68 | 2d 73 63 72 69 70 74 2e |/lisp/sh|-script.|
|00000080| 65 6c 0a 3b 3b 3b 20 65 | 6d 61 63 73 20 76 65 72 |el.;;; e|macs ver|
|00000090| 73 69 6f 6e 20 31 39 2e | 33 31 2e 39 37 2e 34 2e |sion 19.|31.97.4.|
|000000a0| 0a 3b 3b 3b 20 62 79 74 | 65 63 6f 6d 70 20 76 65 |.;;; byt|ecomp ve|
|000000b0| 72 73 69 6f 6e 20 46 53 | 46 20 32 2e 31 30 0a 3b |rsion FS|F 2.10.;|
|000000c0| 3b 3b 20 6f 70 74 69 6d | 69 7a 61 74 69 6f 6e 20 |;; optim|ization |
|000000d0| 69 73 20 6f 6e 2e 0a 3b | 3b 3b 20 74 68 69 73 20 |is on..;|;; this |
|000000e0| 66 69 6c 65 20 75 73 65 | 73 20 6f 70 63 6f 64 65 |file use|s opcode|
|000000f0| 73 20 77 68 69 63 68 20 | 64 6f 20 6e 6f 74 20 65 |s which |do not e|
|00000100| 78 69 73 74 20 69 6e 20 | 45 6d 61 63 73 20 31 38 |xist in |Emacs 18|
|00000110| 2e 0a 0a 28 69 66 20 28 | 61 6e 64 20 28 62 6f 75 |...(if (|and (bou|
|00000120| 6e 64 70 20 27 65 6d 61 | 63 73 2d 76 65 72 73 69 |ndp 'ema|cs-versi|
|00000130| 6f 6e 29 0a 09 20 28 6f | 72 20 28 61 6e 64 20 28 |on).. (o|r (and (|
|00000140| 62 6f 75 6e 64 70 20 27 | 65 70 6f 63 68 3a 3a 76 |boundp '|epoch::v|
|00000150| 65 72 73 69 6f 6e 29 20 | 65 70 6f 63 68 3a 3a 76 |ersion) |epoch::v|
|00000160| 65 72 73 69 6f 6e 29 0a | 09 20 20 20 20 20 28 73 |ersion).|. (s|
|00000170| 74 72 69 6e 67 2d 6c 65 | 73 73 70 20 65 6d 61 63 |tring-le|ssp emac|
|00000180| 73 2d 76 65 72 73 69 6f | 6e 20 22 31 39 2e 32 39 |s-versio|n "19.29|
|00000190| 22 29 29 29 0a 20 20 20 | 20 28 65 72 72 6f 72 20 |"))). | (error |
|000001a0| 22 60 73 68 2d 73 63 72 | 69 70 74 2e 65 6c 27 20 |"`sh-scr|ipt.el' |
|000001b0| 77 61 73 20 63 6f 6d 70 | 69 6c 65 64 20 66 6f 72 |was comp|iled for|
|000001c0| 20 45 6d 61 63 73 20 31 | 39 2e 32 39 20 6f 72 20 | Emacs 1|9.29 or |
|000001d0| 6c 61 74 65 72 22 29 29 | 0a 0a 0a 28 72 65 71 75 |later"))|...(requ|
|000001e0| 69 72 65 20 28 71 75 6f | 74 65 20 65 78 65 63 75 |ire (quo|te execu|
|000001f0| 74 61 62 6c 65 29 29 0a | 23 40 36 35 36 20 2a 41 |table)).|#@656 *A|
|00000200| 6c 69 73 74 20 73 68 6f | 77 69 6e 67 20 74 68 65 |list sho|wing the|
|00000210| 20 64 69 72 65 63 74 20 | 61 6e 63 65 73 74 6f 72 | direct |ancestor|
|00000220| 20 6f 66 20 76 61 72 69 | 6f 75 73 20 73 68 65 6c | of vari|ous shel|
|00000230| 6c 73 2e 0a 54 68 69 73 | 20 69 73 20 74 68 65 20 |ls..This| is the |
|00000240| 62 61 73 69 73 20 66 6f | 72 20 60 73 68 2d 66 65 |basis fo|r `sh-fe|
|00000250| 61 74 75 72 65 27 2e 20 | 20 53 65 65 20 61 6c 73 |ature'. | See als|
|00000260| 6f 20 60 73 68 2d 61 6c | 69 61 73 2d 61 6c 69 73 |o `sh-al|ias-alis|
|00000270| 74 27 2e 0a 42 79 20 64 | 65 66 61 75 6c 74 20 77 |t'..By d|efault w|
|00000280| 65 20 68 61 76 65 20 74 | 68 65 20 66 6f 6c 6c 6f |e have t|he follo|
|00000290| 77 69 6e 67 20 74 68 72 | 65 65 20 68 69 65 72 61 |wing thr|ee hiera|
|000002a0| 72 63 68 69 65 73 3a 0a | 0a 63 73 68 09 09 43 20 |rchies:.|.csh..C |
|000002b0| 53 68 65 6c 6c 0a 20 20 | 6a 63 73 68 09 09 43 20 |Shell. |jcsh..C |
|000002c0| 53 68 65 6c 6c 20 77 69 | 74 68 20 4a 6f 62 20 43 |Shell wi|th Job C|
|000002d0| 6f 6e 74 72 6f 6c 0a 20 | 20 74 63 73 68 09 09 54 |ontrol. | tcsh..T|
|000002e0| 6f 72 6f 6e 74 6f 20 43 | 20 53 68 65 6c 6c 0a 20 |oronto C| Shell. |
|000002f0| 20 20 20 69 74 63 73 68 | 09 3f 20 54 6f 72 6f 6e | itcsh|.? Toron|
|00000300| 74 6f 20 43 20 53 68 65 | 6c 6c 0a 72 63 09 09 50 |to C She|ll.rc..P|
|00000310| 6c 61 6e 20 39 20 53 68 | 65 6c 6c 0a 20 20 65 73 |lan 9 Sh|ell. es|
|00000320| 09 09 45 78 74 65 6e 73 | 69 62 6c 65 20 53 68 65 |..Extens|ible She|
|00000330| 6c 6c 0a 73 68 09 09 42 | 6f 75 72 6e 65 20 53 68 |ll.sh..B|ourne Sh|
|00000340| 65 6c 6c 0a 20 20 61 73 | 68 09 09 3f 20 53 68 65 |ell. as|h..? She|
|00000350| 6c 6c 0a 20 20 6a 73 68 | 09 09 42 6f 75 72 6e 65 |ll. jsh|..Bourne|
|00000360| 20 53 68 65 6c 6c 20 77 | 69 74 68 20 4a 6f 62 20 | Shell w|ith Job |
|00000370| 43 6f 6e 74 72 6f 6c 0a | 20 20 20 20 62 61 73 68 |Control.| bash|
|00000380| 09 47 4e 55 20 42 6f 75 | 72 6e 65 20 41 67 61 69 |.GNU Bou|rne Agai|
|00000390| 6e 20 53 68 65 6c 6c 0a | 20 20 20 20 6b 73 68 38 |n Shell.| ksh8|
|000003a0| 38 09 4b 6f 72 6e 20 53 | 68 65 6c 6c 20 27 38 38 |8.Korn S|hell '88|
|000003b0| 0a 20 20 20 20 20 20 6b | 73 68 09 4b 6f 72 6e 20 |. k|sh.Korn |
|000003c0| 53 68 65 6c 6c 20 27 39 | 33 0a 09 64 74 6b 73 68 |Shell '9|3..dtksh|
|000003d0| 09 43 44 45 20 44 65 73 | 6b 74 6f 70 20 4b 6f 72 |.CDE Des|ktop Kor|
|000003e0| 6e 20 53 68 65 6c 6c 0a | 20 20 20 20 20 20 70 64 |n Shell.| pd|
|000003f0| 6b 73 68 09 50 75 62 6c | 69 63 20 44 6f 6d 61 69 |ksh.Publ|ic Domai|
|00000400| 6e 20 4b 6f 72 6e 20 53 | 68 65 6c 6c 0a 20 20 20 |n Korn S|hell. |
|00000410| 20 20 20 77 6b 73 68 09 | 57 69 6e 64 6f 77 20 4b | wksh.|Window K|
|00000420| 6f 72 6e 20 53 68 65 6c | 6c 0a 20 20 20 20 20 20 |orn Shel|l. |
|00000430| 7a 73 68 09 5a 20 53 68 | 65 6c 6c 0a 20 20 6f 61 |zsh.Z Sh|ell. oa|
|00000440| 73 68 09 09 53 43 4f 20 | 4f 41 20 28 63 75 72 73 |sh..SCO |OA (curs|
|00000450| 65 73 29 20 53 68 65 6c | 6c 0a 20 20 70 6f 73 69 |es) Shel|l. posi|
|00000460| 78 09 09 49 45 45 45 20 | 31 30 30 33 2e 32 20 53 |x..IEEE |1003.2 S|
|00000470| 68 65 6c 6c 20 53 74 61 | 6e 64 61 72 64 0a 20 20 |hell Sta|ndard. |
|00000480| 77 73 68 09 09 3f 20 53 | 68 65 6c 6c 1f 0a 28 64 |wsh..? S|hell..(d|
|00000490| 65 66 76 61 72 20 73 68 | 2d 61 6e 63 65 73 74 6f |efvar sh|-ancesto|
|000004a0| 72 2d 61 6c 69 73 74 20 | 28 71 75 6f 74 65 20 28 |r-alist |(quote (|
|000004b0| 28 61 73 68 20 2e 20 73 | 68 29 20 28 62 61 73 68 |(ash . s|h) (bash|
|000004c0| 20 2e 20 6a 73 68 29 20 | 28 64 74 6b 73 68 20 2e | . jsh) |(dtksh .|
|000004d0| 20 6b 73 68 29 20 28 65 | 73 20 2e 20 72 63 29 20 | ksh) (e|s . rc) |
|000004e0| 28 69 74 63 73 68 20 2e | 20 74 63 73 68 29 20 28 |(itcsh .| tcsh) (|
|000004f0| 6a 63 73 68 20 2e 20 63 | 73 68 29 20 28 6a 73 68 |jcsh . c|sh) (jsh|
|00000500| 20 2e 20 73 68 29 20 28 | 6b 73 68 20 2e 20 6b 73 | . sh) (|ksh . ks|
|00000510| 68 38 38 29 20 28 6b 73 | 68 38 38 20 2e 20 6a 73 |h88) (ks|h88 . js|
|00000520| 68 29 20 28 6f 61 73 68 | 20 2e 20 73 68 29 20 28 |h) (oash| . sh) (|
|00000530| 70 64 6b 73 68 20 2e 20 | 6b 73 68 38 38 29 20 28 |pdksh . |ksh88) (|
|00000540| 70 6f 73 69 78 20 2e 20 | 73 68 29 20 28 74 63 73 |posix . |sh) (tcs|
|00000550| 68 20 2e 20 63 73 68 29 | 20 28 77 6b 73 68 20 2e |h . csh)| (wksh .|
|00000560| 20 6b 73 68 38 38 29 20 | 28 77 73 68 20 2e 20 73 | ksh88) |(wsh . s|
|00000570| 68 29 20 28 7a 73 68 20 | 2e 20 6b 73 68 38 38 29 |h) (zsh |. ksh88)|
|00000580| 29 29 20 28 23 24 20 2e | 20 2d 35 31 30 29 29 0a |)) (#$ .| -510)).|
|00000590| 23 40 31 35 38 20 2a 41 | 6c 69 73 74 20 66 6f 72 |#@158 *A|list for|
|000005a0| 20 74 72 61 6e 73 66 6f | 72 6d 69 6e 67 20 73 68 | transfo|rming sh|
|000005b0| 65 6c 6c 20 6e 61 6d 65 | 73 20 74 6f 20 77 68 61 |ell name|s to wha|
|000005c0| 74 20 74 68 65 79 20 72 | 65 61 6c 6c 79 20 61 72 |t they r|eally ar|
|000005d0| 65 2e 0a 55 73 65 20 74 | 68 69 73 20 77 68 65 72 |e..Use t|his wher|
|000005e0| 65 20 74 68 65 20 6e 61 | 6d 65 20 6f 66 20 74 68 |e the na|me of th|
|000005f0| 65 20 65 78 65 63 75 74 | 61 62 6c 65 20 64 6f 65 |e execut|able doe|
|00000600| 73 6e 27 74 20 63 6f 72 | 72 65 73 70 6f 6e 64 20 |sn't cor|respond |
|00000610| 74 6f 20 74 68 65 20 74 | 79 70 65 20 6f 66 0a 73 |to the t|ype of.s|
|00000620| 68 65 6c 6c 20 69 74 20 | 72 65 61 6c 6c 79 20 69 |hell it |really i|
|00000630| 73 2e 1f 0a 28 64 65 66 | 76 61 72 20 73 68 2d 61 |s...(def|var sh-a|
|00000640| 6c 69 61 73 2d 61 6c 69 | 73 74 20 28 62 79 74 65 |lias-ali|st (byte|
|00000650| 2d 63 6f 64 65 20 22 08 | c1 3d 85 07 00 c2 c3 a4 |-code ".|.=......|
|00000660| 87 22 20 5b 73 79 73 74 | 65 6d 2d 74 79 70 65 20 |." [syst|em-type |
|00000670| 6c 69 67 6e 75 78 20 28 | 28 63 73 68 20 2e 20 74 |lignux (|(csh . t|
|00000680| 63 73 68 29 20 28 6b 73 | 68 20 2e 20 70 64 6b 73 |csh) (ks|h . pdks|
|00000690| 68 29 29 20 28 28 6b 73 | 68 20 2e 20 6b 73 68 38 |h)) ((ks|h . ksh8|
|000006a0| 38 29 20 28 73 68 35 20 | 2e 20 73 68 29 29 5d 20 |8) (sh5 |. sh))] |
|000006b0| 32 29 20 28 23 24 20 2e | 20 2d 31 34 33 30 29 29 |2) (#$ .| -1430))|
|000006c0| 0a 23 40 35 39 20 2a 54 | 68 65 20 65 78 65 63 75 |.#@59 *T|he execu|
|000006d0| 74 61 62 6c 65 20 66 69 | 6c 65 20 6e 61 6d 65 20 |table fi|le name |
|000006e0| 66 6f 72 20 74 68 65 20 | 73 68 65 6c 6c 20 62 65 |for the |shell be|
|000006f0| 69 6e 67 20 70 72 6f 67 | 72 61 6d 6d 65 64 2e 1f |ing prog|rammed..|
|00000700| 0a 28 64 65 66 76 61 72 | 20 73 68 2d 73 68 65 6c |.(defvar| sh-shel|
|00000710| 6c 2d 66 69 6c 65 20 28 | 62 79 74 65 2d 63 6f 64 |l-file (|byte-cod|
|00000720| 65 20 22 c0 c1 21 86 07 | 00 c2 87 22 20 5b 67 65 |e "..!..|..." [ge|
|00000730| 74 65 6e 76 20 22 53 48 | 45 4c 4c 22 20 22 2f 62 |tenv "SH|ELL" "/b|
|00000740| 69 6e 2f 73 68 22 5d 20 | 32 29 20 28 23 24 20 2e |in/sh"] |2) (#$ .|
|00000750| 20 2d 31 37 33 34 29 29 | 0a 23 40 36 36 20 2a 53 | -1734))|.#@66 *S|
|00000760| 69 6e 67 6c 65 20 61 72 | 67 75 6d 65 6e 74 20 73 |ingle ar|gument s|
|00000770| 74 72 69 6e 67 20 66 6f | 72 20 74 68 65 20 6d 61 |tring fo|r the ma|
|00000780| 67 69 63 20 6e 75 6d 62 | 65 72 2e 20 20 53 65 65 |gic numb|er. See|
|00000790| 20 60 73 68 2d 66 65 61 | 74 75 72 65 27 2e 1f 0a | `sh-fea|ture'...|
|000007a0| 28 64 65 66 76 61 72 20 | 73 68 2d 73 68 65 6c 6c |(defvar |sh-shell|
|000007b0| 2d 61 72 67 20 28 71 75 | 6f 74 65 20 28 28 62 61 |-arg (qu|ote ((ba|
|000007c0| 73 68 29 20 28 63 73 68 | 20 2e 20 22 2d 66 22 29 |sh) (csh| . "-f")|
|000007d0| 20 28 70 64 6b 73 68 29 | 20 28 6b 73 68 38 38 29 | (pdksh)| (ksh88)|
|000007e0| 20 28 72 63 20 2e 20 22 | 2d 70 22 29 20 28 77 6b | (rc . "|-p") (wk|
|000007f0| 73 68 29 20 28 7a 73 68 | 20 2e 20 22 2d 66 22 29 |sh) (zsh| . "-f")|
|00000800| 29 29 20 28 23 24 20 2e | 20 2d 31 38 38 36 29 29 |)) (#$ .| -1886))|
|00000810| 0a 23 40 32 34 36 20 41 | 6c 69 73 74 20 6f 66 20 |.#@246 A|list of |
|00000820| 73 68 65 6c 6c 20 76 61 | 72 69 61 62 6c 65 20 6e |shell va|riable n|
|00000830| 61 6d 65 73 20 74 68 61 | 74 20 73 68 6f 75 6c 64 |ames tha|t should|
|00000840| 20 62 65 20 69 6e 63 6c | 75 64 65 64 20 69 6e 20 | be incl|uded in |
|00000850| 63 6f 6d 70 6c 65 74 69 | 6f 6e 2e 0a 54 68 65 73 |completi|on..Thes|
|00000860| 65 20 61 72 65 20 75 73 | 65 64 20 66 6f 72 20 63 |e are us|ed for c|
|00000870| 6f 6d 70 6c 65 74 69 6f | 6e 20 69 6e 20 61 64 64 |ompletio|n in add|
|00000880| 69 74 69 6f 6e 20 74 6f | 20 61 6c 6c 20 74 68 65 |ition to| all the|
|00000890| 20 76 61 72 69 61 62 6c | 65 73 20 6e 61 6d 65 64 | variabl|es named|
|000008a0| 0a 69 6e 20 60 70 72 6f | 63 65 73 73 2d 65 6e 76 |.in `pro|cess-env|
|000008b0| 69 72 6f 6e 6d 65 6e 74 | 27 2e 20 20 45 61 63 68 |ironment|'. Each|
|000008c0| 20 65 6c 65 6d 65 6e 74 | 20 6c 6f 6f 6b 73 20 6c | element| looks l|
|000008d0| 69 6b 65 20 28 56 41 52 | 20 2e 20 56 41 52 29 2c |ike (VAR| . VAR),|
|000008e0| 20 77 68 65 72 65 0a 74 | 68 65 20 63 61 72 20 61 | where.t|he car a|
|000008f0| 6e 64 20 63 64 72 20 61 | 72 65 20 74 68 65 20 73 |nd cdr a|re the s|
|00000900| 61 6d 65 20 73 79 6d 62 | 6f 6c 2e 1f 0a 28 64 65 |ame symb|ol...(de|
|00000910| 66 76 61 72 20 73 68 2d | 73 68 65 6c 6c 2d 76 61 |fvar sh-|shell-va|
|00000920| 72 69 61 62 6c 65 73 20 | 6e 69 6c 20 28 23 24 20 |riables |nil (#$ |
|00000930| 2e 20 32 30 37 31 29 29 | 0a 23 40 34 39 20 4e 6f |. 2071))|.#@49 No|
|00000940| 6e 2d 6e 69 6c 20 69 66 | 20 60 73 68 2d 73 68 65 |n-nil if| `sh-she|
|00000950| 6c 6c 2d 76 61 72 69 61 | 62 6c 65 73 27 20 69 73 |ll-varia|bles' is|
|00000960| 20 69 6e 69 74 69 61 6c | 69 7a 65 64 2e 1f 0a 28 | initial|ized...(|
|00000970| 64 65 66 76 61 72 20 73 | 68 2d 73 68 65 6c 6c 2d |defvar s|h-shell-|
|00000980| 76 61 72 69 61 62 6c 65 | 73 2d 69 6e 69 74 69 61 |variable|s-initia|
|00000990| 6c 69 7a 65 64 20 6e 69 | 6c 20 28 23 24 20 2e 20 |lized ni|l (#$ . |
|000009a0| 32 33 36 36 29 29 0a 23 | 40 36 33 20 43 6f 6e 76 |2366)).#|@63 Conv|
|000009b0| 65 72 74 20 61 20 73 68 | 65 6c 6c 20 6e 61 6d 65 |ert a sh|ell name|
|000009c0| 20 53 48 45 4c 4c 20 74 | 6f 20 74 68 65 20 6f 6e | SHELL t|o the on|
|000009d0| 65 20 77 65 20 73 68 6f | 75 6c 64 20 68 61 6e 64 |e we sho|uld hand|
|000009e0| 6c 65 20 69 74 20 61 73 | 2e 1f 0a 28 64 65 66 61 |le it as|...(defa|
|000009f0| 6c 69 61 73 20 27 73 68 | 2d 63 61 6e 6f 6e 69 63 |lias 'sh|-canonic|
|00000a00| 61 6c 69 7a 65 2d 73 68 | 65 6c 6c 20 23 5b 28 73 |alize-sh|ell #[(s|
|00000a10| 68 65 6c 6c 29 20 22 08 | 39 84 09 00 c1 08 21 10 |hell) ".|9.....!.|
|00000a20| 08 5c 6e 9e 41 86 11 00 | 08 87 22 20 5b 73 68 65 |.\n.A...|.." [she|
|00000a30| 6c 6c 20 69 6e 74 65 72 | 6e 20 73 68 2d 61 6c 69 |ll inter|n sh-ali|
|00000a40| 61 73 2d 61 6c 69 73 74 | 5d 20 32 20 28 23 24 20 |as-alist|] 2 (#$ |
|00000a50| 2e 20 32 34 37 36 29 5d | 29 0a 23 40 36 32 20 54 |. 2476)]|).#@62 T|
|00000a60| 68 65 20 73 68 65 6c 6c | 20 62 65 69 6e 67 20 70 |he shell| being p|
|00000a70| 72 6f 67 72 61 6d 6d 65 | 64 2e 20 20 54 68 69 73 |rogramme|d. This|
|00000a80| 20 69 73 20 73 65 74 20 | 62 79 20 5c 5b 73 68 2d | is set |by \[sh-|
|00000a90| 73 65 74 2d 73 68 65 6c | 6c 5d 2e 1f 0a 28 64 65 |set-shel|l]...(de|
|00000aa0| 66 76 61 72 20 73 68 2d | 73 68 65 6c 6c 20 28 62 |fvar sh-|shell (b|
|00000ab0| 79 74 65 2d 63 6f 64 65 | 20 22 c0 c1 5c 6e 21 21 |yte-code| "..\n!!|
|00000ac0| 87 22 20 5b 73 68 2d 63 | 61 6e 6f 6e 69 63 61 6c |." [sh-c|anonical|
|00000ad0| 69 7a 65 2d 73 68 65 6c | 6c 20 66 69 6c 65 2d 6e |ize-shel|l file-n|
|00000ae0| 61 6d 65 2d 6e 6f 6e 64 | 69 72 65 63 74 6f 72 79 |ame-nond|irectory|
|00000af0| 20 73 68 2d 73 68 65 6c | 6c 2d 66 69 6c 65 5d 20 | sh-shel|l-file] |
|00000b00| 33 29 20 28 23 24 20 2e | 20 32 36 35 35 29 29 0a |3) (#$ .| 2655)).|
|00000b10| 23 40 36 30 20 53 79 6e | 74 61 78 2d 74 61 62 6c |#@60 Syn|tax-tabl|
|00000b20| 65 20 75 73 65 64 20 69 | 6e 20 53 68 65 6c 6c 2d |e used i|n Shell-|
|00000b30| 53 63 72 69 70 74 20 6d | 6f 64 65 2e 20 20 53 65 |Script m|ode. Se|
|00000b40| 65 20 60 73 68 2d 66 65 | 61 74 75 72 65 27 2e 1f |e `sh-fe|ature'..|
|00000b50| 0a 28 64 65 66 76 61 72 | 20 73 68 2d 6d 6f 64 65 |.(defvar| sh-mode|
|00000b60| 2d 73 79 6e 74 61 78 2d | 74 61 62 6c 65 20 28 71 |-syntax-|table (q|
|00000b70| 75 6f 74 65 20 28 28 63 | 73 68 20 65 76 61 6c 20 |uote ((c|sh eval |
|00000b80| 69 64 65 6e 74 69 74 79 | 20 73 68 29 20 28 73 68 |identity| sh) (sh|
|00000b90| 20 65 76 61 6c 20 73 68 | 2d 6d 6f 64 65 2d 73 79 | eval sh|-mode-sy|
|00000ba0| 6e 74 61 78 2d 74 61 62 | 6c 65 20 6e 69 6c 20 33 |ntax-tab|le nil 3|
|00000bb0| 34 20 22 5c 22 5c 22 22 | 20 33 39 20 22 5c 22 27 |4 "\"\""| 39 "\"'|
|00000bc0| 22 20 39 36 20 22 2e 60 | 22 20 33 36 20 22 5f 22 |" 96 ".`|" 36 "_"|
|00000bd0| 20 33 33 20 22 5f 22 20 | 33 37 20 22 5f 22 20 35 | 33 "_" |37 "_" 5|
|00000be0| 38 20 22 5f 22 20 34 36 | 20 22 5f 22 20 39 34 20 |8 "_" 46| "_" 94 |
|00000bf0| 22 5f 22 20 31 32 36 20 | 22 5f 22 29 20 28 72 63 |"_" 126 |"_") (rc|
|00000c00| 20 65 76 61 6c 20 73 68 | 2d 6d 6f 64 65 2d 73 79 | eval sh|-mode-sy|
|00000c10| 6e 74 61 78 2d 74 61 62 | 6c 65 20 73 68 20 33 34 |ntax-tab|le sh 34|
|00000c20| 20 22 5f 22 20 39 36 20 | 22 2e 22 29 29 29 20 28 | "_" 96 |"."))) (|
|00000c30| 23 24 20 2e 20 32 38 33 | 37 29 29 0a 23 40 33 35 |#$ . 283|7)).#@35|
|00000c40| 20 4b 65 79 6d 61 70 20 | 75 73 65 64 20 69 6e 20 | Keymap |used in |
|00000c50| 53 68 65 6c 6c 2d 53 63 | 72 69 70 74 20 6d 6f 64 |Shell-Sc|ript mod|
|00000c60| 65 2e 1f 0a 28 64 65 66 | 76 61 72 20 73 68 2d 6d |e...(def|var sh-m|
|00000c70| 6f 64 65 2d 6d 61 70 20 | 28 62 79 74 65 2d 63 6f |ode-map |(byte-co|
|00000c80| 64 65 20 22 c0 20 c0 c1 | 21 1a 1b c4 0b c5 c6 23 |de ". ..|!......#|
|00000c90| 88 c4 0b c7 c8 23 88 c4 | 0b c9 ca 23 88 c4 0b cb |.....#..|...#....|
|00000ca0| cc 23 88 c4 0b cd ce 23 | 88 c4 0b cf d0 23 88 c4 |.#.....#|.....#..|
|00000cb0| 0b d1 d2 23 88 c4 0b d3 | d4 23 88 c4 0b d5 d6 23 |...#....|.#.....#|
|00000cc0| 88 c4 0b d7 d8 23 88 c4 | 0b d9 da 23 88 c4 0b db |.....#..|...#....|
|00000cd0| dc 23 88 c4 0b dd de 23 | 88 c4 0b df e0 23 88 c4 |.#.....#|.....#..|
|00000ce0| 0b e1 e2 23 88 c4 0b e3 | e4 23 88 c4 0b e5 e6 23 |...#....|.#.....#|
|00000cf0| 88 c4 0b e7 e6 23 88 c4 | 0b e8 e6 23 88 c4 0b e9 |.....#..|...#....|
|00000d00| e6 23 88 c4 0b ea e6 23 | 88 c4 0b eb e6 23 88 c4 |.#.....#|.....#..|
|00000d10| 0b ec ed 23 88 ee ef f0 | 0b f1 20 24 88 ee f2 f3 |...#....|.. $....|
|00000d20| 0b f1 20 24 88 ee f4 f5 | 0b f1 20 24 88 c4 0b f6 |.. $....|.. $....|
|00000d30| f7 23 88 ee f8 f9 0b f1 | 20 24 88 ee fa fb 0b f1 |.#......| $......|
|00000d40| 20 24 88 ee fc fd 0b f1 | 20 24 88 c4 0b fe c1 5c | $......| $.....\|
|00000d50| 6e 42 23 88 c4 5c 6e ff | 81 40 00 23 88 c4 5c 6e |nB#..\n.|.@.#..\n|
|00000d60| 81 41 00 81 42 00 23 88 | c4 5c 6e 81 43 00 81 44 |.A..B.#.|.\n.C..D|
|00000d70| 00 23 88 c4 5c 6e 81 45 | 00 81 46 00 23 88 c4 5c |.#..\n.E|..F.#..\|
|00000d80| 6e 81 47 00 81 48 00 23 | 88 c4 5c 6e 81 49 00 81 |n.G..H.#|..\n.I..|
|00000d90| 4a 00 23 88 c4 5c 6e 81 | 4b 00 81 4c 00 23 88 c4 |J.#..\n.|K..L.#..|
|00000da0| 5c 6e 81 4d 00 81 4e 00 | 23 88 c4 5c 6e 81 4f 00 |\n.M..N.|#..\n.O.|
|00000db0| 81 50 00 23 88 c4 5c 6e | 81 51 00 81 52 00 23 88 |.P.#..\n|.Q..R.#.|
|00000dc0| 0b 2a 87 22 20 5b 6d 61 | 6b 65 2d 73 70 61 72 73 |.*." [ma|ke-spars|
|00000dd0| 65 2d 6b 65 79 6d 61 70 | 20 22 49 6e 73 65 72 74 |e-keymap| "Insert|
|00000de0| 22 20 6d 65 6e 75 2d 6d | 61 70 20 6d 61 70 20 64 |" menu-m|ap map d|
|00000df0| 65 66 69 6e 65 2d 6b 65 | 79 20 22 03 28 22 20 73 |efine-ke|y ".(" s|
|00000e00| 68 2d 66 75 6e 63 74 69 | 6f 6e 20 22 03 17 22 20 |h-functi|on ".." |
|00000e10| 73 68 2d 77 68 69 6c 65 | 20 22 03 15 22 20 73 68 |sh-while| ".." sh|
|00000e20| 2d 75 6e 74 69 6c 20 22 | 03 14 22 20 73 68 2d 74 |-until "|.." sh-t|
|00000e30| 6d 70 2d 66 69 6c 65 20 | 22 03 13 22 20 73 68 2d |mp-file |".." sh-|
|00000e40| 73 65 6c 65 63 74 20 22 | 03 12 22 20 73 68 2d 72 |select "|.." sh-r|
|00000e50| 65 70 65 61 74 20 22 03 | 0f 22 20 73 68 2d 77 68 |epeat ".|." sh-wh|
|00000e60| 69 6c 65 2d 67 65 74 6f | 70 74 73 20 22 03 5c 66 |ile-geto|pts ".\f|
|00000e70| 22 20 73 68 2d 69 6e 64 | 65 78 65 64 2d 6c 6f 6f |" sh-ind|exed-loo|
|00000e80| 70 20 22 03 09 22 20 73 | 68 2d 69 66 20 22 03 06 |p ".." s|h-if "..|
|00000e90| 22 20 73 68 2d 66 6f 72 | 20 22 03 03 22 20 73 68 |" sh-for| ".." sh|
|00000ea0| 2d 63 61 73 65 20 22 3d | 22 20 73 68 2d 61 73 73 |-case "=|" sh-ass|
|00000eb0| 69 67 6e 6d 65 6e 74 20 | 22 03 2b 22 20 73 68 2d |ignment |".+" sh-|
|00000ec0| 61 64 64 20 22 98 22 20 | 73 68 2d 65 78 65 63 75 |add "." |sh-execu|
|00000ed0| 74 65 2d 72 65 67 69 6f | 6e 20 22 03 18 22 20 65 |te-regio|n ".." e|
|00000ee0| 78 65 63 75 74 61 62 6c | 65 2d 69 6e 74 65 72 70 |xecutabl|e-interp|
|00000ef0| 72 65 74 20 22 3c 22 20 | 73 68 2d 6d 61 79 62 65 |ret "<" |sh-maybe|
|00000f00| 2d 68 65 72 65 2d 64 6f | 63 75 6d 65 6e 74 20 22 |-here-do|cument "|
|00000f10| 28 22 20 73 6b 65 6c 65 | 74 6f 6e 2d 70 61 69 72 |(" skele|ton-pair|
|00000f20| 2d 69 6e 73 65 72 74 2d | 6d 61 79 62 65 20 22 7b |-insert-|maybe "{|
|00000f30| 22 20 22 5b 22 20 22 27 | 22 20 22 60 22 20 22 5c |" "[" "'|" "`" "\|
|00000f40| 22 22 20 22 09 22 20 73 | 68 2d 69 6e 64 65 6e 74 |"" "." s|h-indent|
|00000f50| 2d 6c 69 6e 65 20 73 75 | 62 73 74 69 74 75 74 65 |-line su|bstitute|
|00000f60| 2d 6b 65 79 2d 64 65 66 | 69 6e 69 74 69 6f 6e 20 |-key-def|inition |
|00000f70| 63 6f 6d 70 6c 65 74 65 | 2d 74 61 67 20 63 6f 6d |complete|-tag com|
|00000f80| 69 6e 74 2d 64 79 6e 61 | 6d 69 63 2d 63 6f 6d 70 |int-dyna|mic-comp|
|00000f90| 6c 65 74 65 20 63 75 72 | 72 65 6e 74 2d 67 6c 6f |lete cur|rent-glo|
|00000fa0| 62 61 6c 2d 6d 61 70 20 | 6e 65 77 6c 69 6e 65 2d |bal-map |newline-|
|00000fb0| 61 6e 64 2d 69 6e 64 65 | 6e 74 20 73 68 2d 6e 65 |and-inde|nt sh-ne|
|00000fc0| 77 6c 69 6e 65 2d 61 6e | 64 2d 69 6e 64 65 6e 74 |wline-an|d-indent|
|00000fd0| 20 64 65 6c 65 74 65 2d | 62 61 63 6b 77 61 72 64 | delete-|backward|
|00000fe0| 2d 63 68 61 72 20 62 61 | 63 6b 77 61 72 64 2d 64 |-char ba|ckward-d|
|00000ff0| 65 6c 65 74 65 2d 63 68 | 61 72 2d 75 6e 74 61 62 |elete-ch|ar-untab|
|00001000| 69 66 79 20 22 03 3a 22 | 20 73 68 2d 73 65 74 2d |ify ".:"| sh-set-|
|00001010| 73 68 65 6c 6c 20 62 65 | 67 69 6e 6e 69 6e 67 2d |shell be|ginning-|
|00001020| 6f 66 2d 64 65 66 75 6e | 20 73 68 2d 62 65 67 69 |of-defun| sh-begi|
|00001030| 6e 6e 69 6e 67 2d 6f 66 | 2d 63 6f 6d 70 6f 75 6e |nning-of|-compoun|
|00001040| 64 2d 63 6f 6d 6d 61 6e | 64 20 62 61 63 6b 77 61 |d-comman|d backwa|
|00001050| 72 64 2d 73 65 6e 74 65 | 6e 63 65 20 73 68 2d 62 |rd-sente|nce sh-b|
|00001060| 65 67 69 6e 6e 69 6e 67 | 2d 6f 66 2d 63 6f 6d 6d |eginning|-of-comm|
|00001070| 61 6e 64 20 66 6f 72 77 | 61 72 64 2d 73 65 6e 74 |and forw|ard-sent|
|00001080| 65 6e 63 65 20 73 68 2d | 65 6e 64 2d 6f 66 2d 63 |ence sh-|end-of-c|
|00001090| 6f 6d 6d 61 6e 64 20 5b | 6d 65 6e 75 2d 62 61 72 |ommand [|menu-bar|
|000010a0| 20 69 6e 73 65 72 74 5d | 20 5b 73 68 2d 77 68 69 | insert]| [sh-whi|
|000010b0| 6c 65 5d 20 28 22 57 68 | 69 6c 65 20 4c 6f 6f 70 |le] ("Wh|ile Loop|
|000010c0| 22 20 2e 20 73 68 2d 77 | 68 69 6c 65 29 20 5b 73 |" . sh-w|hile) [s|
|000010d0| 68 2d 75 6e 74 69 6c 5d | 20 28 22 55 6e 74 69 6c |h-until]| ("Until|
|000010e0| 20 4c 6f 6f 70 22 20 2e | 20 73 68 2d 75 6e 74 69 | Loop" .| sh-unti|
|000010f0| 6c 29 20 5b 73 68 2d 74 | 6d 70 2d 66 69 6c 65 5d |l) [sh-t|mp-file]|
|00001100| 20 28 22 54 65 6d 70 6f | 72 61 72 79 20 46 69 6c | ("Tempo|rary Fil|
|00001110| 65 22 20 2e 20 73 68 2d | 74 6d 70 2d 66 69 6c 65 |e" . sh-|tmp-file|
|00001120| 29 20 5b 73 68 2d 73 65 | 6c 65 63 74 5d 20 28 22 |) [sh-se|lect] ("|
|00001130| 53 65 6c 65 63 74 20 53 | 74 61 74 65 6d 65 6e 74 |Select S|tatement|
|00001140| 22 20 2e 20 73 68 2d 73 | 65 6c 65 63 74 29 20 5b |" . sh-s|elect) [|
|00001150| 73 68 2d 72 65 70 65 61 | 74 5d 20 28 22 52 65 70 |sh-repea|t] ("Rep|
|00001160| 65 61 74 20 4c 6f 6f 70 | 22 20 2e 20 73 68 2d 72 |eat Loop|" . sh-r|
|00001170| 65 70 65 61 74 29 20 5b | 73 68 2d 77 68 69 6c 65 |epeat) [|sh-while|
|00001180| 2d 67 65 74 6f 70 74 73 | 5d 20 28 22 4f 70 74 69 |-getopts|] ("Opti|
|00001190| 6f 6e 73 20 4c 6f 6f 70 | 22 20 2e 20 73 68 2d 77 |ons Loop|" . sh-w|
|000011a0| 68 69 6c 65 2d 67 65 74 | 6f 70 74 73 29 20 5b 73 |hile-get|opts) [s|
|000011b0| 68 2d 69 6e 64 65 78 65 | 64 2d 6c 6f 6f 70 5d 20 |h-indexe|d-loop] |
|000011c0| 28 22 49 6e 64 65 78 65 | 64 20 4c 6f 6f 70 22 20 |("Indexe|d Loop" |
|000011d0| 2e 20 73 68 2d 69 6e 64 | 65 78 65 64 2d 6c 6f 6f |. sh-ind|exed-loo|
|000011e0| 70 29 20 5b 73 68 2d 69 | 66 5d 20 28 22 49 66 20 |p) [sh-i|f] ("If |
|000011f0| 53 74 61 74 65 6d 65 6e | 74 22 20 2e 20 73 68 2d |Statemen|t" . sh-|
|00001200| 69 66 29 20 5b 73 68 2d | 66 6f 72 5d 20 28 22 46 |if) [sh-|for] ("F|
|00001210| 6f 72 20 4c 6f 6f 70 22 | 20 2e 20 73 68 2d 66 6f |or Loop"| . sh-fo|
|00001220| 72 29 20 5b 73 68 2d 63 | 61 73 65 5d 20 28 22 43 |r) [sh-c|ase] ("C|
|00001230| 61 73 65 20 53 74 61 74 | 65 6d 65 6e 74 22 20 2e |ase Stat|ement" .|
|00001240| 20 73 68 2d 63 61 73 65 | 29 5d 20 35 29 20 28 23 | sh-case|)] 5) (#|
|00001250| 24 20 2e 20 33 31 33 37 | 29 29 0a 23 40 34 36 20 |$ . 3137|)).#@46 |
|00001260| 2a 46 75 6e 63 74 69 6f | 6e 73 20 66 6f 72 20 64 |*Functio|ns for d|
|00001270| 6f 69 6e 67 20 54 41 42 | 20 64 79 6e 61 6d 69 63 |oing TAB| dynamic|
|00001280| 20 63 6f 6d 70 6c 65 74 | 69 6f 6e 2e 1f 0a 28 64 | complet|ion...(d|
|00001290| 65 66 76 61 72 20 73 68 | 2d 64 79 6e 61 6d 69 63 |efvar sh|-dynamic|
|000012a0| 2d 63 6f 6d 70 6c 65 74 | 65 2d 66 75 6e 63 74 69 |-complet|e-functi|
|000012b0| 6f 6e 73 20 28 71 75 6f | 74 65 20 28 73 68 65 6c |ons (quo|te (shel|
|000012c0| 6c 2d 64 79 6e 61 6d 69 | 63 2d 63 6f 6d 70 6c 65 |l-dynami|c-comple|
|000012d0| 74 65 2d 65 6e 76 69 72 | 6f 6e 6d 65 6e 74 2d 76 |te-envir|onment-v|
|000012e0| 61 72 69 61 62 6c 65 20 | 73 68 65 6c 6c 2d 64 79 |ariable |shell-dy|
|000012f0| 6e 61 6d 69 63 2d 63 6f | 6d 70 6c 65 74 65 2d 63 |namic-co|mplete-c|
|00001300| 6f 6d 6d 61 6e 64 20 63 | 6f 6d 69 6e 74 2d 64 79 |ommand c|omint-dy|
|00001310| 6e 61 6d 69 63 2d 63 6f | 6d 70 6c 65 74 65 2d 66 |namic-co|mplete-f|
|00001320| 69 6c 65 6e 61 6d 65 29 | 29 20 28 23 24 20 2e 20 |ilename)|) (#$ . |
|00001330| 2d 34 37 30 34 29 29 0a | 23 40 38 33 20 2a 56 61 |-4704)).|#@83 *Va|
|00001340| 6c 75 65 20 6f 66 20 60 | 72 65 71 75 69 72 65 2d |lue of `|require-|
|00001350| 66 69 6e 61 6c 2d 6e 65 | 77 6c 69 6e 65 27 20 69 |final-ne|wline' i|
|00001360| 6e 20 53 68 65 6c 6c 2d | 53 63 72 69 70 74 20 6d |n Shell-|Script m|
|00001370| 6f 64 65 20 62 75 66 66 | 65 72 73 2e 0a 53 65 65 |ode buff|ers..See|
|00001380| 20 60 73 68 2d 66 65 61 | 74 75 72 65 27 2e 1f 0a | `sh-fea|ture'...|
|00001390| 28 64 65 66 76 61 72 20 | 73 68 2d 72 65 71 75 69 |(defvar |sh-requi|
|000013a0| 72 65 2d 66 69 6e 61 6c | 2d 6e 65 77 6c 69 6e 65 |re-final|-newline|
|000013b0| 20 28 71 75 6f 74 65 20 | 28 28 63 73 68 20 2e 20 | (quote |((csh . |
|000013c0| 74 29 20 28 70 64 6b 73 | 68 20 2e 20 74 29 20 28 |t) (pdks|h . t) (|
|000013d0| 72 63 20 65 76 61 6c 20 | 2e 20 72 65 71 75 69 72 |rc eval |. requir|
|000013e0| 65 2d 66 69 6e 61 6c 2d | 6e 65 77 6c 69 6e 65 29 |e-final-|newline)|
|000013f0| 20 28 73 68 20 65 76 61 | 6c 20 2e 20 72 65 71 75 | (sh eva|l . requ|
|00001400| 69 72 65 2d 66 69 6e 61 | 6c 2d 6e 65 77 6c 69 6e |ire-fina|l-newlin|
|00001410| 65 29 29 29 20 28 23 24 | 20 2e 20 2d 34 39 32 35 |e))) (#$| . -4925|
|00001420| 29 29 0a 23 40 31 39 30 | 20 2a 52 65 67 65 78 70 |)).#@190| *Regexp|
|00001430| 20 6d 61 74 63 68 69 6e | 67 20 77 68 61 74 20 6d | matchin|g what m|
|00001440| 61 79 20 63 6f 6d 65 20 | 62 65 66 6f 72 65 20 61 |ay come |before a|
|00001450| 20 63 6f 6d 6d 65 6e 74 | 20 60 23 27 2e 0a 54 68 | comment| `#'..Th|
|00001460| 69 73 20 6d 75 73 74 20 | 63 6f 6e 74 61 69 6e 20 |is must |contain |
|00001470| 6f 6e 65 20 5c 28 67 72 | 6f 75 70 69 6e 67 5c 29 |one \(gr|ouping\)|
|00001480| 20 73 69 6e 63 65 20 69 | 74 20 69 73 20 74 68 65 | since i|t is the|
|00001490| 20 62 61 73 69 73 20 66 | 6f 72 20 66 6f 6e 74 69 | basis f|or fonti|
|000014a0| 66 79 69 6e 67 0a 63 6f | 6d 6d 65 6e 74 73 20 61 |fying.co|mments a|
|000014b0| 73 20 77 65 6c 6c 20 61 | 73 20 66 6f 72 20 60 63 |s well a|s for `c|
|000014c0| 6f 6d 6d 65 6e 74 2d 73 | 74 61 72 74 2d 73 6b 69 |omment-s|tart-ski|
|000014d0| 70 27 2e 0a 53 65 65 20 | 60 73 68 2d 66 65 61 74 |p'..See |`sh-feat|
|000014e0| 75 72 65 27 2e 1f 0a 28 | 64 65 66 76 61 72 20 73 |ure'...(|defvar s|
|000014f0| 68 2d 63 6f 6d 6d 65 6e | 74 2d 70 72 65 66 69 78 |h-commen|t-prefix|
|00001500| 20 28 71 75 6f 74 65 20 | 28 28 63 73 68 20 2e 20 | (quote |((csh . |
|00001510| 22 5c 5c 28 5e 5c 5c 7c | 5b 5e 24 5d 5c 5c 7c 5c |"\\(^\\||[^$]\\|\|
|00001520| 5c 24 5b 5e 7b 5d 5c 5c | 29 22 29 20 28 72 63 20 |\$[^{]\\|)") (rc |
|00001530| 65 76 61 6c 20 69 64 65 | 6e 74 69 74 79 20 63 73 |eval ide|ntity cs|
|00001540| 68 29 20 28 73 68 20 2e | 20 22 5c 5c 28 5e 5c 5c |h) (sh .| "\\(^\\|
|00001550| 7c 5b 20 09 7c 26 3b 28 | 29 5d 5c 5c 29 22 29 29 ||[ .|&;(|)]\\)"))|
|00001560| 29 20 28 23 24 20 2e 20 | 2d 35 31 36 31 29 29 0a |) (#$ . |-5161)).|
|00001570| 23 40 31 37 32 20 2a 52 | 65 67 65 78 70 20 66 6f |#@172 *R|egexp fo|
|00001580| 72 20 74 68 65 20 76 61 | 72 69 61 62 6c 65 20 6e |r the va|riable n|
|00001590| 61 6d 65 20 61 6e 64 20 | 77 68 61 74 20 6d 61 79 |ame and |what may|
|000015a0| 20 66 6f 6c 6c 6f 77 20 | 69 6e 20 61 6e 20 61 73 | follow |in an as|
|000015b0| 73 69 67 6e 6d 65 6e 74 | 2e 0a 46 69 72 73 74 20 |signment|..First |
|000015c0| 67 72 6f 75 70 69 6e 67 | 20 6d 61 74 63 68 65 73 |grouping| matches|
|000015d0| 20 74 68 65 20 76 61 72 | 69 61 62 6c 65 20 6e 61 | the var|iable na|
|000015e0| 6d 65 2e 20 20 54 68 69 | 73 20 69 73 20 75 70 74 |me. Thi|s is upt|
|000015f0| 6f 20 61 6e 64 20 69 6e | 63 6c 75 64 69 6e 67 20 |o and in|cluding |
|00001600| 74 68 65 20 60 3d 27 0a | 73 69 67 6e 2e 20 20 53 |the `='.|sign. S|
|00001610| 65 65 20 60 73 68 2d 66 | 65 61 74 75 72 65 27 2e |ee `sh-f|eature'.|
|00001620| 1f 0a 28 64 65 66 76 61 | 72 20 73 68 2d 61 73 73 |..(defva|r sh-ass|
|00001630| 69 67 6e 6d 65 6e 74 2d | 72 65 67 65 78 70 20 28 |ignment-|regexp (|
|00001640| 71 75 6f 74 65 20 28 28 | 63 73 68 20 2e 20 22 5c |quote ((|csh . "\|
|00001650| 5c 3c 5c 5c 28 5b 61 2d | 7a 41 2d 5a 30 2d 39 5f |\<\\([a-|zA-Z0-9_|
|00001660| 5d 2b 5c 5c 29 5c 5c 28 | 5c 5c 5b 2e 2b 5c 5c 5d |]+\\)\\(|\\[.+\\]|
|00001670| 5c 5c 29 3f 5b 20 09 5d | 2a 5b 2d 2b 2a 2f 25 5e |\\)?[ .]|*[-+*/%^|
|00001680| 5d 3f 3d 22 29 20 28 6b | 73 68 38 38 20 2e 20 22 |]?=") (k|sh88 . "|
|00001690| 5c 5c 3c 5c 5c 28 5b 61 | 2d 7a 41 2d 5a 30 2d 39 |\\<\\([a|-zA-Z0-9|
|000016a0| 5f 5d 2b 5c 5c 29 5c 5c | 28 5c 5c 5b 2e 2b 5c 5c |_]+\\)\\|(\\[.+\\|
|000016b0| 5d 5c 5c 29 3f 5b 20 09 | 5d 2a 5c 5c 28 5b 2d 2b |]\\)?[ .|]*\\([-+|
|000016c0| 2a 2f 25 26 7c 7e 5e 5d | 5c 5c 7c 3c 3c 5c 5c 7c |*/%&|~^]|\\|<<\\||
|000016d0| 3e 3e 5c 5c 29 3f 3d 22 | 29 20 28 72 63 20 2e 20 |>>\\)?="|) (rc . |
|000016e0| 22 5c 5c 3c 5c 5c 28 5b | 61 2d 7a 41 2d 5a 30 2d |"\\<\\([|a-zA-Z0-|
|000016f0| 39 5f 2a 5d 2b 5c 5c 29 | 5b 20 09 5d 2a 3d 22 29 |9_*]+\\)|[ .]*=")|
|00001700| 20 28 73 68 20 2e 20 22 | 5c 5c 3c 5c 5c 28 5b 61 | (sh . "|\\<\\([a|
|00001710| 2d 7a 41 2d 5a 30 2d 39 | 5f 5d 2b 5c 5c 29 3d 22 |-zA-Z0-9|_]+\\)="|
|00001720| 29 29 29 20 28 23 24 20 | 2e 20 2d 35 34 39 34 29 |))) (#$ |. -5494)|
|00001730| 29 0a 23 40 35 37 20 54 | 68 65 20 77 69 64 74 68 |).#@57 T|he width|
|00001740| 20 66 6f 72 20 66 75 72 | 74 68 65 72 20 69 6e 64 | for fur|ther ind|
|00001750| 65 6e 74 61 74 69 6f 6e | 20 69 6e 20 53 68 65 6c |entation| in Shel|
|00001760| 6c 2d 53 63 72 69 70 74 | 20 6d 6f 64 65 2e 1f 0a |l-Script| mode...|
|00001770| 28 64 65 66 76 61 72 20 | 73 68 2d 69 6e 64 65 6e |(defvar |sh-inden|
|00001780| 74 61 74 69 6f 6e 20 34 | 20 28 23 24 20 2e 20 35 |tation 4| (#$ . 5|
|00001790| 39 34 33 29 29 0a 23 40 | 37 31 20 2a 44 6f 6e 27 |943)).#@|71 *Don'|
|000017a0| 74 20 72 65 6d 65 6d 62 | 65 72 20 76 61 72 69 61 |t rememb|er varia|
|000017b0| 62 6c 65 73 20 6c 65 73 | 73 20 74 68 61 6e 20 74 |bles les|s than t|
|000017c0| 68 69 73 20 6c 65 6e 67 | 74 68 20 66 6f 72 20 63 |his leng|th for c|
|000017d0| 6f 6d 70 6c 65 74 69 6e | 67 20 72 65 61 64 73 2e |ompletin|g reads.|
|000017e0| 1f 0a 28 64 65 66 76 61 | 72 20 73 68 2d 72 65 6d |..(defva|r sh-rem|
|000017f0| 65 6d 62 65 72 2d 76 61 | 72 69 61 62 6c 65 2d 6d |ember-va|riable-m|
|00001800| 69 6e 20 33 20 28 23 24 | 20 2e 20 2d 36 30 34 33 |in 3 (#$| . -6043|
|00001810| 29 29 0a 23 40 31 33 30 | 20 57 68 65 6e 20 6e 6f |)).#@130| When no|
|00001820| 6e 2d 60 6e 69 6c 27 20 | 69 73 20 74 68 65 20 65 |n-`nil' |is the e|
|00001830| 6e 64 20 6f 66 20 68 65 | 61 64 65 72 20 66 6f 72 |nd of he|ader for|
|00001840| 20 70 72 65 70 65 6e 64 | 69 6e 67 20 62 79 20 5c | prepend|ing by \|
|00001850| 5b 73 68 2d 65 78 65 63 | 75 74 65 2d 72 65 67 69 |[sh-exec|ute-regi|
|00001860| 6f 6e 5d 2e 0a 54 68 61 | 74 20 63 6f 6d 6d 61 6e |on]..Tha|t comman|
|00001870| 64 20 69 73 20 61 6c 73 | 6f 20 75 73 65 64 20 66 |d is als|o used f|
|00001880| 6f 72 20 73 65 74 74 69 | 6e 67 20 74 68 69 73 20 |or setti|ng this |
|00001890| 76 61 72 69 61 62 6c 65 | 2e 1f 0a 28 64 65 66 76 |variable|...(defv|
|000018a0| 61 72 20 73 68 2d 68 65 | 61 64 65 72 2d 6d 61 72 |ar sh-he|ader-mar|
|000018b0| 6b 65 72 20 6e 69 6c 20 | 28 23 24 20 2e 20 36 31 |ker nil |(#$ . 61|
|000018c0| 36 39 29 29 0a 23 40 31 | 32 37 20 2a 52 65 67 65 |69)).#@1|27 *Rege|
|000018d0| 78 70 20 74 6f 20 64 65 | 74 65 72 6d 69 6e 65 20 |xp to de|termine |
|000018e0| 74 68 65 20 62 65 67 69 | 6e 6e 69 6e 67 20 6f 66 |the begi|nning of|
|000018f0| 20 61 20 73 68 65 6c 6c | 20 63 6f 6d 6d 61 6e 64 | a shell| command|
|00001900| 2e 0a 54 68 65 20 61 63 | 74 75 61 6c 20 63 6f 6d |..The ac|tual com|
|00001910| 6d 61 6e 64 20 73 74 61 | 72 74 73 20 61 74 20 74 |mand sta|rts at t|
|00001920| 68 65 20 62 65 67 69 6e | 6e 69 6e 67 20 6f 66 20 |he begin|ning of |
|00001930| 74 68 65 20 73 65 63 6f | 6e 64 20 5c 28 67 72 6f |the seco|nd \(gro|
|00001940| 75 70 69 6e 67 5c 29 2e | 1f 0a 28 64 65 66 76 61 |uping\).|..(defva|
|00001950| 72 20 73 68 2d 62 65 67 | 69 6e 6e 69 6e 67 2d 6f |r sh-beg|inning-o|
|00001960| 66 2d 63 6f 6d 6d 61 6e | 64 20 22 5c 5c 28 5b 3b |f-comman|d "\\([;|
|00001970| 28 7b 60 7c 26 5d 5c 5c | 7c 5c 5c 60 5c 5c 7c 5b |({`|&]\\||\\`\\|[|
|00001980| 5e 5c 5c 5d 5c 6e 5c 5c | 29 5b 20 09 5d 2a 5c 5c |^\\]\n\\|)[ .]*\\|
|00001990| 28 5b 2f 7e 61 2d 7a 41 | 2d 5a 30 2d 39 3a 5d 5c |([/~a-zA|-Z0-9:]\|
|000019a0| 5c 29 22 20 28 23 24 20 | 2e 20 2d 36 33 34 37 29 |\)" (#$ |. -6347)|
|000019b0| 29 0a 23 40 31 31 32 20 | 2a 52 65 67 65 78 70 20 |).#@112 |*Regexp |
|000019c0| 74 6f 20 64 65 74 65 72 | 6d 69 6e 65 20 74 68 65 |to deter|mine the|
|000019d0| 20 65 6e 64 20 6f 66 20 | 61 20 73 68 65 6c 6c 20 | end of |a shell |
|000019e0| 63 6f 6d 6d 61 6e 64 2e | 0a 54 68 65 20 61 63 74 |command.|.The act|
|000019f0| 75 61 6c 20 63 6f 6d 6d | 61 6e 64 20 65 6e 64 73 |ual comm|and ends|
|00001a00| 20 61 74 20 74 68 65 20 | 65 6e 64 20 6f 66 20 74 | at the |end of t|
|00001a10| 68 65 20 66 69 72 73 74 | 20 5c 28 67 72 6f 75 70 |he first| \(group|
|00001a20| 69 6e 67 5c 29 2e 1f 0a | 28 64 65 66 76 61 72 20 |ing\)...|(defvar |
|00001a30| 73 68 2d 65 6e 64 2d 6f | 66 2d 63 6f 6d 6d 61 6e |sh-end-o|f-comman|
|00001a40| 64 20 22 5c 5c 28 5b 2f | 7e 61 2d 7a 41 2d 5a 30 |d "\\([/|~a-zA-Z0|
|00001a50| 2d 39 3a 5d 5c 5c 29 5b | 20 09 5d 2a 5c 5c 28 5b |-9:]\\)[| .]*\\([|
|00001a60| 3b 23 29 7d 60 7c 26 5d | 5c 5c 7c 24 5c 5c 29 22 |;#)}`|&]|\\|$\\)"|
|00001a70| 20 28 23 24 20 2e 20 2d | 36 35 38 34 29 29 0a 23 | (#$ . -|6584)).#|
|00001a80| 40 33 33 20 57 6f 72 64 | 20 74 6f 20 64 65 6c 69 |@33 Word| to deli|
|00001a90| 6d 69 74 20 68 65 72 65 | 20 64 6f 63 75 6d 65 6e |mit here| documen|
|00001aa0| 74 73 2e 1f 0a 28 64 65 | 66 76 61 72 20 73 68 2d |ts...(de|fvar sh-|
|00001ab0| 68 65 72 65 2d 64 6f 63 | 75 6d 65 6e 74 2d 77 6f |here-doc|ument-wo|
|00001ac0| 72 64 20 22 45 4f 46 22 | 20 28 23 24 20 2e 20 36 |rd "EOF"| (#$ . 6|
|00001ad0| 37 38 38 29 29 0a 23 40 | 37 35 20 49 6e 69 74 69 |788)).#@|75 Initi|
|00001ae0| 61 6c 20 69 6e 70 75 74 | 20 69 6e 20 42 6f 75 72 |al input| in Bour|
|00001af0| 6e 65 20 69 66 2c 20 77 | 68 69 6c 65 20 61 6e 64 |ne if, w|hile and|
|00001b00| 20 75 6e 74 69 6c 20 73 | 6b 65 6c 65 74 6f 6e 73 | until s|keletons|
|00001b10| 2e 20 20 53 65 65 20 60 | 73 68 2d 66 65 61 74 75 |. See `|sh-featu|
|00001b20| 72 65 27 2e 1f 0a 28 64 | 65 66 76 61 72 20 73 68 |re'...(d|efvar sh|
|00001b30| 2d 74 65 73 74 20 28 71 | 75 6f 74 65 20 28 28 73 |-test (q|uote ((s|
|00001b40| 68 20 22 5b 20 20 5d 22 | 20 2e 20 33 29 20 28 6b |h "[ ]"| . 3) (k|
|00001b50| 73 68 38 38 20 22 5b 5b | 20 20 5d 5d 22 20 2e 20 |sh88 "[[| ]]" . |
|00001b60| 34 29 29 29 20 28 23 24 | 20 2e 20 36 38 37 35 29 |4))) (#$| . 6875)|
|00001b70| 29 0a 23 40 31 38 30 20 | 2a 4c 69 73 74 20 6f 66 |).#@180 |*List of|
|00001b80| 20 61 6c 6c 20 73 68 65 | 6c 6c 20 62 75 69 6c 74 | all she|ll built|
|00001b90| 69 6e 73 20 66 6f 72 20 | 63 6f 6d 70 6c 65 74 69 |ins for |completi|
|00001ba0| 6e 67 20 72 65 61 64 20 | 61 6e 64 20 66 6f 6e 74 |ng read |and font|
|00001bb0| 69 66 69 63 61 74 69 6f | 6e 2e 0a 4e 6f 74 65 20 |ificatio|n..Note |
|00001bc0| 74 68 61 74 20 6f 6e 20 | 73 6f 6d 65 20 73 79 73 |that on |some sys|
|00001bd0| 74 65 6d 73 20 6e 6f 74 | 20 61 6c 6c 20 62 75 69 |tems not| all bui|
|00001be0| 6c 74 69 6e 73 20 61 72 | 65 20 61 76 61 69 6c 61 |ltins ar|e availa|
|00001bf0| 62 6c 65 20 6f 72 20 73 | 6f 6d 65 20 61 72 65 0a |ble or s|ome are.|
|00001c00| 69 6d 70 6c 65 6d 65 6e | 74 65 64 20 61 73 20 61 |implemen|ted as a|
|00001c10| 6c 69 61 73 65 73 2e 20 | 20 53 65 65 20 60 73 68 |liases. | See `sh|
|00001c20| 2d 66 65 61 74 75 72 65 | 27 2e 1f 0a 28 64 65 66 |-feature|'...(def|
|00001c30| 76 61 72 20 73 68 2d 62 | 75 69 6c 74 69 6e 73 20 |var sh-b|uiltins |
|00001c40| 28 71 75 6f 74 65 20 28 | 28 62 61 73 68 20 65 76 |(quote (|(bash ev|
|00001c50| 61 6c 20 73 68 2d 61 70 | 70 65 6e 64 20 70 6f 73 |al sh-ap|pend pos|
|00001c60| 69 78 20 22 61 6c 69 61 | 73 22 20 22 62 67 22 20 |ix "alia|s" "bg" |
|00001c70| 22 62 69 6e 64 22 20 22 | 62 75 69 6c 74 69 6e 22 |"bind" "|builtin"|
|00001c80| 20 22 64 65 63 6c 61 72 | 65 22 20 22 64 69 72 73 | "declar|e" "dirs|
|00001c90| 22 20 22 65 6e 61 62 6c | 65 22 20 22 66 63 22 20 |" "enabl|e" "fc" |
|00001ca0| 22 66 67 22 20 22 68 65 | 6c 70 22 20 22 68 69 73 |"fg" "he|lp" "his|
|00001cb0| 74 6f 72 79 22 20 22 6a | 6f 62 73 22 20 22 6b 69 |tory" "j|obs" "ki|
|00001cc0| 6c 6c 22 20 22 6c 65 74 | 22 20 22 6c 6f 63 61 6c |ll" "let|" "local|
|00001cd0| 22 20 22 70 6f 70 64 22 | 20 22 70 75 73 68 64 22 |" "popd"| "pushd"|
|00001ce0| 20 22 73 6f 75 72 63 65 | 22 20 22 73 75 73 70 65 | "source|" "suspe|
|00001cf0| 6e 64 22 20 22 74 79 70 | 65 73 65 74 22 20 22 75 |nd" "typ|eset" "u|
|00001d00| 6e 61 6c 69 61 73 22 29 | 20 28 62 6f 75 72 6e 65 |nalias")| (bourne|
|00001d10| 20 65 76 61 6c 20 73 68 | 2d 61 70 70 65 6e 64 20 | eval sh|-append |
|00001d20| 73 68 65 6c 6c 20 22 65 | 76 61 6c 22 20 22 65 78 |shell "e|val" "ex|
|00001d30| 70 6f 72 74 22 20 22 67 | 65 74 6f 70 74 73 22 20 |port" "g|etopts" |
|00001d40| 22 6e 65 77 67 72 70 22 | 20 22 70 77 64 22 20 22 |"newgrp"| "pwd" "|
|00001d50| 72 65 61 64 22 20 22 72 | 65 61 64 6f 6e 6c 79 22 |read" "r|eadonly"|
|00001d60| 20 22 74 69 6d 65 73 22 | 20 22 75 6c 69 6d 69 74 | "times"| "ulimit|
|00001d70| 22 29 20 28 63 73 68 20 | 65 76 61 6c 20 73 68 2d |") (csh |eval sh-|
|00001d80| 61 70 70 65 6e 64 20 73 | 68 65 6c 6c 20 22 61 6c |append s|hell "al|
|00001d90| 69 61 73 22 20 22 63 68 | 64 69 72 22 20 22 67 6c |ias" "ch|dir" "gl|
|00001da0| 6f 62 22 20 22 68 69 73 | 74 6f 72 79 22 20 22 6c |ob" "his|tory" "l|
|00001db0| 69 6d 69 74 22 20 22 6e | 69 63 65 22 20 22 6e 6f |imit" "n|ice" "no|
|00001dc0| 68 75 70 22 20 22 72 65 | 68 61 73 68 22 20 22 73 |hup" "re|hash" "s|
|00001dd0| 65 74 65 6e 76 22 20 22 | 73 6f 75 72 63 65 22 20 |etenv" "|source" |
|00001de0| 22 74 69 6d 65 22 20 22 | 75 6e 61 6c 69 61 73 22 |"time" "|unalias"|
|00001df0| 20 22 75 6e 68 61 73 68 | 22 29 20 28 64 74 6b 73 | "unhash|") (dtks|
|00001e00| 68 20 65 76 61 6c 20 69 | 64 65 6e 74 69 74 79 20 |h eval i|dentity |
|00001e10| 77 6b 73 68 29 20 28 65 | 73 20 22 61 63 63 65 73 |wksh) (e|s "acces|
|00001e20| 73 22 20 22 61 70 69 64 | 73 22 20 22 63 64 22 20 |s" "apid|s" "cd" |
|00001e30| 22 65 63 68 6f 22 20 22 | 65 76 61 6c 22 20 22 66 |"echo" "|eval" "f|
|00001e40| 61 6c 73 65 22 20 22 6c | 65 74 22 20 22 6c 69 6d |alse" "l|et" "lim|
|00001e50| 69 74 22 20 22 6c 6f 63 | 61 6c 22 20 22 6e 65 77 |it" "loc|al" "new|
|00001e60| 70 67 72 70 22 20 22 72 | 65 73 75 6c 74 22 20 22 |pgrp" "r|esult" "|
|00001e70| 74 69 6d 65 22 20 22 75 | 6d 61 73 6b 22 20 22 76 |time" "u|mask" "v|
|00001e80| 61 72 22 20 22 76 61 72 | 73 22 20 22 77 61 69 74 |ar" "var|s" "wait|
|00001e90| 22 20 22 77 68 61 74 69 | 73 22 29 20 28 6a 73 68 |" "whati|s") (jsh|
|00001ea0| 20 65 76 61 6c 20 73 68 | 2d 61 70 70 65 6e 64 20 | eval sh|-append |
|00001eb0| 73 68 20 22 62 67 22 20 | 22 66 67 22 20 22 6a 6f |sh "bg" |"fg" "jo|
|00001ec0| 62 73 22 20 22 6b 69 6c | 6c 22 20 22 73 74 6f 70 |bs" "kil|l" "stop|
|00001ed0| 22 20 22 73 75 73 70 65 | 6e 64 22 29 20 28 6a 63 |" "suspe|nd") (jc|
|00001ee0| 73 68 20 65 76 61 6c 20 | 73 68 2d 61 70 70 65 6e |sh eval |sh-appen|
|00001ef0| 64 20 63 73 68 20 22 62 | 67 22 20 22 66 67 22 20 |d csh "b|g" "fg" |
|00001f00| 22 6a 6f 62 73 22 20 22 | 6b 69 6c 6c 22 20 22 6e |"jobs" "|kill" "n|
|00001f10| 6f 74 69 66 79 22 20 22 | 73 74 6f 70 22 20 22 73 |otify" "|stop" "s|
|00001f20| 75 73 70 65 6e 64 22 29 | 20 28 6b 73 68 38 38 20 |uspend")| (ksh88 |
|00001f30| 65 76 61 6c 20 73 68 2d | 61 70 70 65 6e 64 20 62 |eval sh-|append b|
|00001f40| 6f 75 72 6e 65 20 22 61 | 6c 69 61 73 22 20 22 62 |ourne "a|lias" "b|
|00001f50| 67 22 20 22 66 61 6c 73 | 65 22 20 22 66 63 22 20 |g" "fals|e" "fc" |
|00001f60| 22 66 67 22 20 22 6a 6f | 62 73 22 20 22 6b 69 6c |"fg" "jo|bs" "kil|
|00001f70| 6c 22 20 22 6c 65 74 22 | 20 22 70 72 69 6e 74 22 |l" "let"| "print"|
|00001f80| 20 22 74 69 6d 65 22 20 | 22 74 79 70 65 73 65 74 | "time" |"typeset|
|00001f90| 22 20 22 75 6e 61 6c 69 | 61 73 22 20 22 77 68 65 |" "unali|as" "whe|
|00001fa0| 6e 63 65 22 29 20 28 6f | 61 73 68 20 65 76 61 6c |nce") (o|ash eval|
|00001fb0| 20 73 68 2d 61 70 70 65 | 6e 64 20 73 68 20 22 63 | sh-appe|nd sh "c|
|00001fc0| 68 65 63 6b 77 69 6e 22 | 20 22 64 61 74 65 6c 69 |heckwin"| "dateli|
|00001fd0| 6e 65 22 20 22 65 72 72 | 6f 72 22 20 22 66 6f 72 |ne" "err|or" "for|
|00001fe0| 6d 22 20 22 6d 65 6e 75 | 22 20 22 6e 65 77 77 69 |m" "menu|" "newwi|
|00001ff0| 6e 22 20 22 6f 61 64 65 | 69 6e 69 74 22 20 22 6f |n" "oade|init" "o|
|00002000| 61 65 64 22 20 22 6f 61 | 68 65 6c 70 22 20 22 6f |aed" "oa|help" "o|
|00002010| 61 69 6e 69 74 22 20 22 | 70 70 22 20 22 70 70 66 |ainit" "|pp" "ppf|
|00002020| 69 6c 65 22 20 22 73 63 | 61 6e 22 20 22 73 63 72 |ile" "sc|an" "scr|
|00002030| 6f 6c 6c 6f 6b 22 20 22 | 77 61 74 74 72 22 20 22 |ollok" "|wattr" "|
|00002040| 77 63 6c 65 61 72 22 20 | 22 77 65 72 61 73 65 22 |wclear" |"werase"|
|00002050| 20 22 77 69 6e 22 20 22 | 77 6d 63 6c 6f 73 65 22 | "win" "|wmclose"|
|00002060| 20 22 77 6d 6d 65 73 73 | 61 67 65 22 20 22 77 6d | "wmmess|age" "wm|
|00002070| 6f 70 65 6e 22 20 22 77 | 6d 6f 76 65 22 20 22 77 |open" "w|move" "w|
|00002080| 6d 74 69 74 6c 65 22 20 | 22 77 72 65 66 72 65 73 |mtitle" |"wrefres|
|00002090| 68 22 29 20 28 70 64 6b | 73 68 20 65 76 61 6c 20 |h") (pdk|sh eval |
|000020a0| 73 68 2d 61 70 70 65 6e | 64 20 6b 73 68 38 38 20 |sh-appen|d ksh88 |
|000020b0| 22 62 69 6e 64 22 29 20 | 28 70 6f 73 69 78 20 65 |"bind") |(posix e|
|000020c0| 76 61 6c 20 73 68 2d 61 | 70 70 65 6e 64 20 73 68 |val sh-a|ppend sh|
|000020d0| 20 22 63 6f 6d 6d 61 6e | 64 22 29 20 28 72 63 20 | "comman|d") (rc |
|000020e0| 22 62 75 69 6c 74 69 6e | 22 20 22 63 64 22 20 22 |"builtin|" "cd" "|
|000020f0| 65 63 68 6f 22 20 22 65 | 76 61 6c 22 20 22 6c 69 |echo" "e|val" "li|
|00002100| 6d 69 74 22 20 22 6e 65 | 77 70 67 72 70 22 20 22 |mit" "ne|wpgrp" "|
|00002110| 73 68 69 66 74 22 20 22 | 75 6d 61 73 6b 22 20 22 |shift" "|umask" "|
|00002120| 77 61 69 74 22 20 22 77 | 68 61 74 69 73 22 29 20 |wait" "w|hatis") |
|00002130| 28 73 68 20 65 76 61 6c | 20 73 68 2d 61 70 70 65 |(sh eval| sh-appe|
|00002140| 6e 64 20 62 6f 75 72 6e | 65 20 22 68 61 73 68 22 |nd bourn|e "hash"|
|00002150| 20 22 74 65 73 74 22 20 | 22 74 79 70 65 22 29 20 | "test" |"type") |
|00002160| 28 73 68 65 6c 6c 20 22 | 63 64 22 20 22 65 63 68 |(shell "|cd" "ech|
|00002170| 6f 22 20 22 65 76 61 6c | 22 20 22 73 65 74 22 20 |o" "eval|" "set" |
|00002180| 22 73 68 69 66 74 22 20 | 22 75 6d 61 73 6b 22 20 |"shift" |"umask" |
|00002190| 22 75 6e 73 65 74 22 20 | 22 77 61 69 74 22 29 20 |"unset" |"wait") |
|000021a0| 28 77 6b 73 68 20 65 76 | 61 6c 20 73 68 2d 61 70 |(wksh ev|al sh-ap|
|000021b0| 70 65 6e 64 20 6b 73 68 | 38 38 20 22 58 74 5b 41 |pend ksh|88 "Xt[A|
|000021c0| 2d 5a 5d 5b 41 2d 5a 61 | 2d 7a 5d 2a 22 29 20 28 |-Z][A-Za|-z]*") (|
|000021d0| 7a 73 68 20 65 76 61 6c | 20 73 68 2d 61 70 70 65 |zsh eval| sh-appe|
|000021e0| 6e 64 20 6b 73 68 38 38 | 20 22 61 75 74 6f 6c 6f |nd ksh88| "autolo|
|000021f0| 61 64 22 20 22 62 69 6e | 64 6b 65 79 22 20 22 62 |ad" "bin|dkey" "b|
|00002200| 75 69 6c 74 69 6e 22 20 | 22 63 68 64 69 72 22 20 |uiltin" |"chdir" |
|00002210| 22 63 6f 6d 70 63 74 6c | 22 20 22 64 65 63 6c 61 |"compctl|" "decla|
|00002220| 72 65 22 20 22 64 69 72 | 73 22 20 22 64 69 73 61 |re" "dir|s" "disa|
|00002230| 62 6c 65 22 20 22 64 69 | 73 6f 77 6e 22 20 22 65 |ble" "di|sown" "e|
|00002240| 63 68 6f 74 63 22 20 22 | 65 6e 61 62 6c 65 22 20 |chotc" "|enable" |
|00002250| 22 66 75 6e 63 74 69 6f | 6e 73 22 20 22 67 65 74 |"functio|ns" "get|
|00002260| 6c 6e 22 20 22 68 61 73 | 68 22 20 22 68 69 73 74 |ln" "has|h" "hist|
|00002270| 6f 72 79 22 20 22 69 6e | 74 65 67 65 72 22 20 22 |ory" "in|teger" "|
|00002280| 6c 69 6d 69 74 22 20 22 | 6c 6f 63 61 6c 22 20 22 |limit" "|local" "|
|00002290| 6c 6f 67 22 20 22 70 6f | 70 64 22 20 22 70 75 73 |log" "po|pd" "pus|
|000022a0| 68 64 22 20 22 72 22 20 | 22 72 65 61 64 6f 6e 6c |hd" "r" |"readonl|
|000022b0| 79 22 20 22 72 65 68 61 | 73 68 22 20 22 73 63 68 |y" "reha|sh" "sch|
|000022c0| 65 64 22 20 22 73 65 74 | 6f 70 74 22 20 22 73 6f |ed" "set|opt" "so|
|000022d0| 75 72 63 65 22 20 22 73 | 75 73 70 65 6e 64 22 20 |urce" "s|uspend" |
|000022e0| 22 74 72 75 65 22 20 22 | 74 74 79 63 74 6c 22 20 |"true" "|ttyctl" |
|000022f0| 22 74 79 70 65 22 20 22 | 75 6e 66 75 6e 63 74 69 |"type" "|unfuncti|
|00002300| 6f 6e 22 20 22 75 6e 68 | 61 73 68 22 20 22 75 6e |on" "unh|ash" "un|
|00002310| 6c 69 6d 69 74 22 20 22 | 75 6e 73 65 74 6f 70 74 |limit" "|unsetopt|
|00002320| 22 20 22 76 61 72 65 64 | 22 20 22 77 68 69 63 68 |" "vared|" "which|
|00002330| 22 29 29 29 20 28 23 24 | 20 2e 20 2d 37 30 33 32 |"))) (#$| . -7032|
|00002340| 29 29 0a 23 40 32 37 31 | 20 2a 4c 69 73 74 20 6f |)).#@271| *List o|
|00002350| 66 20 6b 65 79 77 6f 72 | 64 73 20 74 68 61 74 20 |f keywor|ds that |
|00002360| 6d 61 79 20 62 65 20 69 | 6d 6d 65 64 69 61 74 65 |may be i|mmediate|
|00002370| 6c 79 20 66 6f 6c 6c 6f | 77 65 64 20 62 79 20 61 |ly follo|wed by a|
|00002380| 20 62 75 69 6c 74 69 6e | 20 6f 72 20 6b 65 79 77 | builtin| or keyw|
|00002390| 6f 72 64 2e 0a 47 69 76 | 65 6e 20 73 6f 6d 65 20 |ord..Giv|en some |
|000023a0| 63 6f 6e 66 75 73 69 6f | 6e 20 62 65 74 77 65 65 |confusio|n betwee|
|000023b0| 6e 20 6b 65 79 77 6f 72 | 64 73 20 61 6e 64 20 62 |n keywor|ds and b|
|000023c0| 75 69 6c 74 69 6e 73 20 | 64 65 70 65 6e 64 69 6e |uiltins |dependin|
|000023d0| 67 20 6f 6e 20 73 68 65 | 6c 6c 20 61 6e 64 0a 73 |g on she|ll and.s|
|000023e0| 79 73 74 65 6d 2c 20 74 | 68 65 20 64 69 73 74 69 |ystem, t|he disti|
|000023f0| 6e 63 74 69 6f 6e 20 68 | 65 72 65 20 68 61 73 20 |nction h|ere has |
|00002400| 62 65 65 6e 20 62 61 73 | 65 64 20 6f 6e 20 77 68 |been bas|ed on wh|
|00002410| 65 74 68 65 72 20 74 68 | 65 79 20 69 6e 66 6c 75 |ether th|ey influ|
|00002420| 65 6e 63 65 20 74 68 65 | 0a 66 6c 6f 77 20 6f 66 |ence the|.flow of|
|00002430| 20 63 6f 6e 74 72 6f 6c | 20 6f 72 20 73 79 6e 74 | control| or synt|
|00002440| 61 78 2e 20 20 53 65 65 | 20 60 73 68 2d 66 65 61 |ax. See| `sh-fea|
|00002450| 74 75 72 65 27 2e 1f 0a | 28 64 65 66 76 61 72 20 |ture'...|(defvar |
|00002460| 73 68 2d 6c 65 61 64 69 | 6e 67 2d 6b 65 79 77 6f |sh-leadi|ng-keywo|
|00002470| 72 64 73 20 28 71 75 6f | 74 65 20 28 28 63 73 68 |rds (quo|te ((csh|
|00002480| 20 22 65 6c 73 65 22 29 | 20 28 65 73 20 22 74 72 | "else")| (es "tr|
|00002490| 75 65 22 20 22 75 6e 77 | 69 6e 64 2d 70 72 6f 74 |ue" "unw|ind-prot|
|000024a0| 65 63 74 22 20 22 77 68 | 61 74 69 73 22 29 20 28 |ect" "wh|atis") (|
|000024b0| 72 63 20 22 65 6c 73 65 | 22 29 20 28 73 68 20 22 |rc "else|") (sh "|
|000024c0| 64 6f 22 20 22 65 6c 69 | 66 22 20 22 65 6c 73 65 |do" "eli|f" "else|
|000024d0| 22 20 22 69 66 22 20 22 | 74 68 65 6e 22 20 22 74 |" "if" "|then" "t|
|000024e0| 72 61 70 22 20 22 74 79 | 70 65 22 20 22 75 6e 74 |rap" "ty|pe" "unt|
|000024f0| 69 6c 22 20 22 77 68 69 | 6c 65 22 29 29 29 20 28 |il" "whi|le"))) (|
|00002500| 23 24 20 2e 20 2d 39 30 | 33 33 29 29 0a 23 40 36 |#$ . -90|33)).#@6|
|00002510| 37 20 2a 4c 69 73 74 20 | 6f 66 20 6b 65 79 77 6f |7 *List |of keywo|
|00002520| 72 64 73 20 6e 6f 74 20 | 69 6e 20 60 73 68 2d 6c |rds not |in `sh-l|
|00002530| 65 61 64 69 6e 67 2d 6b | 65 79 77 6f 72 64 73 27 |eading-k|eywords'|
|00002540| 2e 0a 53 65 65 20 60 73 | 68 2d 66 65 61 74 75 72 |..See `s|h-featur|
|00002550| 65 27 2e 1f 0a 28 64 65 | 66 76 61 72 20 73 68 2d |e'...(de|fvar sh-|
|00002560| 6f 74 68 65 72 2d 6b 65 | 79 77 6f 72 64 73 20 28 |other-ke|ywords (|
|00002570| 71 75 6f 74 65 20 28 28 | 62 61 73 68 20 65 76 61 |quote ((|bash eva|
|00002580| 6c 20 73 68 2d 61 70 70 | 65 6e 64 20 62 6f 75 72 |l sh-app|end bour|
|00002590| 6e 65 20 22 62 79 65 22 | 20 22 6c 6f 67 6f 75 74 |ne "bye"| "logout|
|000025a0| 22 29 20 28 62 6f 75 72 | 6e 65 20 65 76 61 6c 20 |") (bour|ne eval |
|000025b0| 73 68 2d 61 70 70 65 6e | 64 20 73 68 65 6c 6c 20 |sh-appen|d shell |
|000025c0| 22 64 6f 6e 65 22 20 22 | 65 73 61 63 22 20 22 66 |"done" "|esac" "f|
|000025d0| 69 22 20 22 66 6f 72 22 | 20 22 66 75 6e 63 74 69 |i" "for"| "functi|
|000025e0| 6f 6e 22 20 22 69 6e 22 | 20 22 72 65 74 75 72 6e |on" "in"| "return|
|000025f0| 22 29 20 28 63 73 68 20 | 65 76 61 6c 20 73 68 2d |") (csh |eval sh-|
|00002600| 61 70 70 65 6e 64 20 73 | 68 65 6c 6c 20 22 62 72 |append s|hell "br|
|00002610| 65 61 6b 73 77 22 20 22 | 64 65 66 61 75 6c 74 22 |eaksw" "|default"|
|00002620| 20 22 65 6e 64 22 20 22 | 65 6e 64 69 66 22 20 22 | "end" "|endif" "|
|00002630| 65 6e 64 73 77 22 20 22 | 66 6f 72 65 61 63 68 22 |endsw" "|foreach"|
|00002640| 20 22 67 6f 74 6f 22 20 | 22 69 66 22 20 22 6c 6f | "goto" |"if" "lo|
|00002650| 67 6f 75 74 22 20 22 6f | 6e 69 6e 74 72 22 20 22 |gout" "o|nintr" "|
|00002660| 72 65 70 65 61 74 22 20 | 22 73 77 69 74 63 68 22 |repeat" |"switch"|
|00002670| 20 22 74 68 65 6e 22 20 | 22 77 68 69 6c 65 22 29 | "then" |"while")|
|00002680| 20 28 65 73 20 22 62 72 | 65 61 6b 22 20 22 63 61 | (es "br|eak" "ca|
|00002690| 74 63 68 22 20 22 65 78 | 65 63 22 20 22 65 78 69 |tch" "ex|ec" "exi|
|000026a0| 74 22 20 22 66 6e 22 20 | 22 66 6f 72 22 20 22 66 |t" "fn" |"for" "f|
|000026b0| 6f 72 65 76 65 72 22 20 | 22 66 6f 72 6b 22 20 22 |orever" |"fork" "|
|000026c0| 69 66 22 20 22 72 65 74 | 75 72 6e 22 20 22 74 68 |if" "ret|urn" "th|
|000026d0| 72 6f 77 22 20 22 77 68 | 69 6c 65 22 29 20 28 6b |row" "wh|ile") (k|
|000026e0| 73 68 38 38 20 65 76 61 | 6c 20 73 68 2d 61 70 70 |sh88 eva|l sh-app|
|000026f0| 65 6e 64 20 62 6f 75 72 | 6e 65 20 22 73 65 6c 65 |end bour|ne "sele|
|00002700| 63 74 22 29 20 28 72 63 | 20 22 62 72 65 61 6b 22 |ct") (rc| "break"|
|00002710| 20 22 63 61 73 65 22 20 | 22 65 78 65 63 22 20 22 | "case" |"exec" "|
|00002720| 65 78 69 74 22 20 22 66 | 6e 22 20 22 66 6f 72 22 |exit" "f|n" "for"|
|00002730| 20 22 69 66 22 20 22 69 | 6e 22 20 22 72 65 74 75 | "if" "i|n" "retu|
|00002740| 72 6e 22 20 22 73 77 69 | 74 63 68 22 20 22 77 68 |rn" "swi|tch" "wh|
|00002750| 69 6c 65 22 29 20 28 73 | 68 65 6c 6c 20 22 62 72 |ile") (s|hell "br|
|00002760| 65 61 6b 22 20 22 63 61 | 73 65 22 20 22 63 6f 6e |eak" "ca|se" "con|
|00002770| 74 69 6e 75 65 22 20 22 | 65 78 65 63 22 20 22 65 |tinue" "|exec" "e|
|00002780| 78 69 74 22 29 20 28 7a | 73 68 20 65 76 61 6c 20 |xit") (z|sh eval |
|00002790| 73 68 2d 61 70 70 65 6e | 64 20 62 61 73 68 20 22 |sh-appen|d bash "|
|000027a0| 73 65 6c 65 63 74 22 29 | 29 29 20 28 23 24 20 2e |select")|)) (#$ .|
|000027b0| 20 2d 39 34 39 30 29 29 | 0a 23 40 37 38 20 4c 69 | -9490))|.#@78 Li|
|000027c0| 73 74 20 6f 66 20 61 6c | 6c 20 73 68 65 6c 6c 20 |st of al|l shell |
|000027d0| 76 61 72 69 61 62 6c 65 | 73 20 61 76 61 69 6c 61 |variable|s availa|
|000027e0| 62 6c 65 20 66 6f 72 20 | 63 6f 6d 70 6c 65 74 69 |ble for |completi|
|000027f0| 6e 67 20 72 65 61 64 2e | 0a 53 65 65 20 60 73 68 |ng read.|.See `sh|
|00002800| 2d 66 65 61 74 75 72 65 | 27 2e 1f 0a 28 64 65 66 |-feature|'...(def|
|00002810| 76 61 72 20 73 68 2d 76 | 61 72 69 61 62 6c 65 73 |var sh-v|ariables|
|00002820| 20 28 71 75 6f 74 65 20 | 28 28 62 61 73 68 20 65 | (quote |((bash e|
|00002830| 76 61 6c 20 73 68 2d 61 | 70 70 65 6e 64 20 73 68 |val sh-a|ppend sh|
|00002840| 20 22 61 6c 6c 6f 77 5f | 6e 75 6c 6c 5f 67 6c 6f | "allow_|null_glo|
|00002850| 62 5f 65 78 70 61 6e 73 | 69 6f 6e 22 20 22 61 75 |b_expans|ion" "au|
|00002860| 74 6f 5f 72 65 73 75 6d | 65 22 20 22 42 41 53 48 |to_resum|e" "BASH|
|00002870| 22 20 22 42 41 53 48 5f | 56 45 52 53 49 4f 4e 22 |" "BASH_|VERSION"|
|00002880| 20 22 63 64 61 62 6c 65 | 5f 76 61 72 73 22 20 22 | "cdable|_vars" "|
|00002890| 45 4e 56 22 20 22 45 55 | 49 44 22 20 22 46 43 45 |ENV" "EU|ID" "FCE|
|000028a0| 44 49 54 22 20 22 46 49 | 47 4e 4f 52 45 22 20 22 |DIT" "FI|GNORE" "|
|000028b0| 67 6c 6f 62 5f 64 6f 74 | 5f 66 69 6c 65 6e 61 6d |glob_dot|_filenam|
|000028c0| 65 73 22 20 22 68 69 73 | 74 63 68 61 72 73 22 20 |es" "his|tchars" |
|000028d0| 22 48 49 53 54 46 49 4c | 45 22 20 22 48 49 53 54 |"HISTFIL|E" "HIST|
|000028e0| 46 49 4c 45 53 49 5a 45 | 22 20 22 68 69 73 74 6f |FILESIZE|" "histo|
|000028f0| 72 79 5f 63 6f 6e 74 72 | 6f 6c 22 20 22 48 49 53 |ry_contr|ol" "HIS|
|00002900| 54 53 49 5a 45 22 20 22 | 68 6f 73 74 6e 61 6d 65 |TSIZE" "|hostname|
|00002910| 5f 63 6f 6d 70 6c 65 74 | 69 6f 6e 5f 66 69 6c 65 |_complet|ion_file|
|00002920| 22 20 22 48 4f 53 54 54 | 59 50 45 22 20 22 49 47 |" "HOSTT|YPE" "IG|
|00002930| 4e 4f 52 45 45 4f 46 22 | 20 22 69 67 6e 6f 72 65 |NOREEOF"| "ignore|
|00002940| 65 6f 66 22 20 22 4c 49 | 4e 45 4e 4f 22 20 22 4d |eof" "LI|NENO" "M|
|00002950| 41 49 4c 5f 57 41 52 4e | 49 4e 47 22 20 22 6e 6f |AIL_WARN|ING" "no|
|00002960| 63 6c 6f 62 62 65 72 22 | 20 22 6e 6f 6c 69 6e 6b |clobber"| "nolink|
|00002970| 73 22 20 22 6e 6f 74 69 | 66 79 22 20 22 6e 6f 5f |s" "noti|fy" "no_|
|00002980| 65 78 69 74 5f 6f 6e 5f | 66 61 69 6c 65 64 5f 65 |exit_on_|failed_e|
|00002990| 78 65 63 22 20 22 4e 4f | 5f 50 52 4f 4d 50 54 5f |xec" "NO|_PROMPT_|
|000029a0| 56 41 52 53 22 20 22 4f | 4c 44 50 57 44 22 20 22 |VARS" "O|LDPWD" "|
|000029b0| 4f 50 54 45 52 52 22 20 | 22 50 50 49 44 22 20 22 |OPTERR" |"PPID" "|
|000029c0| 50 52 4f 4d 50 54 5f 43 | 4f 4d 4d 41 4e 44 22 20 |PROMPT_C|OMMAND" |
|000029d0| 22 50 53 34 22 20 22 70 | 75 73 68 64 5f 73 69 6c |"PS4" "p|ushd_sil|
|000029e0| 65 6e 74 22 20 22 50 57 | 44 22 20 22 52 41 4e 44 |ent" "PW|D" "RAND|
|000029f0| 4f 4d 22 20 22 52 45 50 | 4c 59 22 20 22 53 45 43 |OM" "REP|LY" "SEC|
|00002a00| 4f 4e 44 53 22 20 22 53 | 48 4c 56 4c 22 20 22 54 |ONDS" "S|HLVL" "T|
|00002a10| 4d 4f 55 54 22 20 22 55 | 49 44 22 29 20 28 63 73 |MOUT" "U|ID") (cs|
|00002a20| 68 20 65 76 61 6c 20 73 | 68 2d 61 70 70 65 6e 64 |h eval s|h-append|
|00002a30| 20 73 68 65 6c 6c 20 22 | 61 72 67 76 22 20 22 63 | shell "|argv" "c|
|00002a40| 64 70 61 74 68 22 20 22 | 63 68 69 6c 64 22 20 22 |dpath" "|child" "|
|00002a50| 65 63 68 6f 22 20 22 68 | 69 73 74 63 68 61 72 73 |echo" "h|istchars|
|00002a60| 22 20 22 68 69 73 74 6f | 72 79 22 20 22 68 6f 6d |" "histo|ry" "hom|
|00002a70| 65 22 20 22 69 67 6e 6f | 72 65 65 6f 66 22 20 22 |e" "igno|reeof" "|
|00002a80| 6d 61 69 6c 22 20 22 6e | 6f 63 6c 6f 62 62 65 72 |mail" "n|oclobber|
|00002a90| 22 20 22 6e 6f 67 6c 6f | 62 22 20 22 6e 6f 6e 6f |" "noglo|b" "nono|
|00002aa0| 6d 61 74 63 68 22 20 22 | 70 61 74 68 22 20 22 70 |match" "|path" "p|
|00002ab0| 72 6f 6d 70 74 22 20 22 | 73 68 65 6c 6c 22 20 22 |rompt" "|shell" "|
|00002ac0| 73 74 61 74 75 73 22 20 | 22 74 69 6d 65 22 20 22 |status" |"time" "|
|00002ad0| 76 65 72 62 6f 73 65 22 | 29 20 28 65 73 20 65 76 |verbose"|) (es ev|
|00002ae0| 61 6c 20 73 68 2d 61 70 | 70 65 6e 64 20 73 68 65 |al sh-ap|pend she|
|00002af0| 6c 6c 20 22 61 70 69 64 | 22 20 22 63 64 70 61 74 |ll "apid|" "cdpat|
|00002b00| 68 22 20 22 43 44 50 41 | 54 48 22 20 22 68 69 73 |h" "CDPA|TH" "his|
|00002b10| 74 6f 72 79 22 20 22 68 | 6f 6d 65 22 20 22 69 66 |tory" "h|ome" "if|
|00002b20| 73 22 20 22 6e 6f 65 78 | 70 6f 72 74 22 20 22 70 |s" "noex|port" "p|
|00002b30| 61 74 68 22 20 22 70 69 | 64 22 20 22 70 72 6f 6d |ath" "pi|d" "prom|
|00002b40| 70 74 22 20 22 73 69 67 | 6e 61 6c 73 22 29 20 28 |pt" "sig|nals") (|
|00002b50| 6a 63 73 68 20 65 76 61 | 6c 20 73 68 2d 61 70 70 |jcsh eva|l sh-app|
|00002b60| 65 6e 64 20 63 73 68 20 | 22 6e 6f 74 69 66 79 22 |end csh |"notify"|
|00002b70| 29 20 28 6b 73 68 38 38 | 20 65 76 61 6c 20 73 68 |) (ksh88| eval sh|
|00002b80| 2d 61 70 70 65 6e 64 20 | 73 68 20 22 45 4e 56 22 |-append |sh "ENV"|
|00002b90| 20 22 45 52 52 4e 4f 22 | 20 22 46 43 45 44 49 54 | "ERRNO"| "FCEDIT|
|00002ba0| 22 20 22 46 50 41 54 48 | 22 20 22 48 49 53 54 46 |" "FPATH|" "HISTF|
|00002bb0| 49 4c 45 22 20 22 48 49 | 53 54 53 49 5a 45 22 20 |ILE" "HI|STSIZE" |
|00002bc0| 22 4c 49 4e 45 4e 4f 22 | 20 22 4f 4c 44 50 57 44 |"LINENO"| "OLDPWD|
|00002bd0| 22 20 22 50 50 49 44 22 | 20 22 50 53 33 22 20 22 |" "PPID"| "PS3" "|
|00002be0| 50 53 34 22 20 22 50 57 | 44 22 20 22 52 41 4e 44 |PS4" "PW|D" "RAND|
|00002bf0| 4f 4d 22 20 22 52 45 50 | 4c 59 22 20 22 53 45 43 |OM" "REP|LY" "SEC|
|00002c00| 4f 4e 44 53 22 20 22 54 | 4d 4f 55 54 22 29 20 28 |ONDS" "T|MOUT") (|
|00002c10| 6f 61 73 68 20 65 76 61 | 6c 20 73 68 2d 61 70 70 |oash eva|l sh-app|
|00002c20| 65 6e 64 20 73 68 20 22 | 46 49 45 4c 44 22 20 22 |end sh "|FIELD" "|
|00002c30| 46 49 45 4c 44 5f 4d 41 | 58 22 20 22 4c 41 53 54 |FIELD_MA|X" "LAST|
|00002c40| 5f 4b 45 59 22 20 22 4f | 41 4c 49 42 22 20 22 50 |_KEY" "O|ALIB" "P|
|00002c50| 50 5f 49 54 45 4d 22 20 | 22 50 50 5f 4e 55 4d 22 |P_ITEM" |"PP_NUM"|
|00002c60| 29 20 28 72 63 20 65 76 | 61 6c 20 73 68 2d 61 70 |) (rc ev|al sh-ap|
|00002c70| 70 65 6e 64 20 73 68 65 | 6c 6c 20 22 61 70 69 64 |pend she|ll "apid|
|00002c80| 22 20 22 61 70 69 64 73 | 22 20 22 63 64 70 61 74 |" "apids|" "cdpat|
|00002c90| 68 22 20 22 43 44 50 41 | 54 48 22 20 22 68 69 73 |h" "CDPA|TH" "his|
|00002ca0| 74 6f 72 79 22 20 22 68 | 6f 6d 65 22 20 22 69 66 |tory" "h|ome" "if|
|00002cb0| 73 22 20 22 70 61 74 68 | 22 20 22 70 69 64 22 20 |s" "path|" "pid" |
|00002cc0| 22 70 72 6f 6d 70 74 22 | 20 22 73 74 61 74 75 73 |"prompt"| "status|
|00002cd0| 22 29 20 28 73 68 20 65 | 76 61 6c 20 73 68 2d 61 |") (sh e|val sh-a|
|00002ce0| 70 70 65 6e 64 20 73 68 | 65 6c 6c 20 22 43 44 50 |ppend sh|ell "CDP|
|00002cf0| 41 54 48 22 20 22 49 46 | 53 22 20 22 4f 50 54 41 |ATH" "IF|S" "OPTA|
|00002d00| 52 47 22 20 22 4f 50 54 | 49 4e 44 22 20 22 50 53 |RG" "OPT|IND" "PS|
|00002d10| 31 22 20 22 50 53 32 22 | 29 20 28 73 68 65 6c 6c |1" "PS2"|) (shell|
|00002d20| 20 22 43 4f 4c 55 4d 4e | 53 22 20 22 45 44 49 54 | "COLUMN|S" "EDIT|
|00002d30| 4f 52 22 20 22 48 4f 4d | 45 22 20 22 48 55 53 48 |OR" "HOM|E" "HUSH|
|00002d40| 4c 4f 47 49 4e 22 20 22 | 4c 41 4e 47 22 20 22 4c |LOGIN" "|LANG" "L|
|00002d50| 43 5f 43 4f 4c 4c 41 54 | 45 22 20 22 4c 43 5f 43 |C_COLLAT|E" "LC_C|
|00002d60| 54 59 50 45 22 20 22 4c | 43 5f 4d 45 53 53 41 47 |TYPE" "L|C_MESSAG|
|00002d70| 45 53 22 20 22 4c 43 5f | 4d 4f 4e 45 54 41 52 59 |ES" "LC_|MONETARY|
|00002d80| 22 20 22 4c 43 5f 4e 55 | 4d 45 52 49 43 22 20 22 |" "LC_NU|MERIC" "|
|00002d90| 4c 43 5f 54 49 4d 45 22 | 20 22 4c 49 4e 45 53 22 |LC_TIME"| "LINES"|
|00002da0| 20 22 4c 4f 47 4e 41 4d | 45 22 20 22 4d 41 49 4c | "LOGNAM|E" "MAIL|
|00002db0| 22 20 22 4d 41 49 4c 43 | 48 45 43 4b 22 20 22 4d |" "MAILC|HECK" "M|
|00002dc0| 41 49 4c 50 41 54 48 22 | 20 22 50 41 47 45 52 22 |AILPATH"| "PAGER"|
|00002dd0| 20 22 50 41 54 48 22 20 | 22 53 48 45 4c 4c 22 20 | "PATH" |"SHELL" |
|00002de0| 22 54 45 52 4d 22 20 22 | 54 45 52 4d 43 41 50 22 |"TERM" "|TERMCAP"|
|00002df0| 20 22 54 45 52 4d 49 4e | 46 4f 22 20 22 56 49 53 | "TERMIN|FO" "VIS|
|00002e00| 55 41 4c 22 29 20 28 74 | 63 73 68 20 65 76 61 6c |UAL") (t|csh eval|
|00002e10| 20 73 68 2d 61 70 70 65 | 6e 64 20 63 73 68 20 22 | sh-appe|nd csh "|
|00002e20| 61 64 64 73 75 66 66 69 | 78 22 20 22 61 6d 70 6d |addsuffi|x" "ampm|
|00002e30| 22 20 22 61 75 74 6f 63 | 6f 72 72 65 63 74 22 20 |" "autoc|orrect" |
|00002e40| 22 61 75 74 6f 65 78 70 | 61 6e 64 22 20 22 61 75 |"autoexp|and" "au|
|00002e50| 74 6f 6c 69 73 74 22 20 | 22 61 75 74 6f 6c 6f 67 |tolist" |"autolog|
|00002e60| 6f 75 74 22 20 22 63 68 | 61 73 65 5f 73 79 6d 6c |out" "ch|ase_syml|
|00002e70| 69 6e 6b 73 22 20 22 63 | 6f 72 72 65 63 74 22 20 |inks" "c|orrect" |
|00002e80| 22 64 65 78 74 72 61 63 | 74 22 20 22 65 64 69 74 |"dextrac|t" "edit|
|00002e90| 22 20 22 65 6c 22 20 22 | 66 69 67 6e 6f 72 65 22 |" "el" "|fignore"|
|00002ea0| 20 22 67 69 64 22 20 22 | 68 69 73 74 6c 69 74 22 | "gid" "|histlit"|
|00002eb0| 20 22 48 4f 53 54 22 20 | 22 48 4f 53 54 54 59 50 | "HOST" |"HOSTTYP|
|00002ec0| 45 22 20 22 48 50 41 54 | 48 22 20 22 69 67 6e 6f |E" "HPAT|H" "igno|
|00002ed0| 72 65 5f 73 79 6d 6c 69 | 6e 6b 73 22 20 22 6c 69 |re_symli|nks" "li|
|00002ee0| 73 74 6a 6f 62 73 22 20 | 22 6c 69 73 74 6c 69 6e |stjobs" |"listlin|
|00002ef0| 6b 73 22 20 22 6c 69 73 | 74 6d 61 78 22 20 22 6d |ks" "lis|tmax" "m|
|00002f00| 61 74 63 68 62 65 65 70 | 22 20 22 6e 6f 62 65 65 |atchbeep|" "nobee|
|00002f10| 70 22 20 22 4e 4f 52 45 | 42 49 4e 44 22 20 22 6f |p" "NORE|BIND" "o|
|00002f20| 69 64 22 20 22 70 72 69 | 6e 74 65 78 69 74 76 61 |id" "pri|ntexitva|
|00002f30| 6c 75 65 22 20 22 70 72 | 6f 6d 70 74 32 22 20 22 |lue" "pr|ompt2" "|
|00002f40| 70 72 6f 6d 70 74 33 22 | 20 22 70 75 73 68 64 73 |prompt3"| "pushds|
|00002f50| 69 6c 65 6e 74 22 20 22 | 70 75 73 68 64 74 6f 68 |ilent" "|pushdtoh|
|00002f60| 6f 6d 65 22 20 22 72 65 | 63 65 78 61 63 74 22 20 |ome" "re|cexact" |
|00002f70| 22 72 65 63 6f 67 6e 69 | 7a 65 5f 6f 6e 6c 79 5f |"recogni|ze_only_|
|00002f80| 65 78 65 63 75 74 61 62 | 6c 65 73 22 20 22 72 6d |executab|les" "rm|
|00002f90| 73 74 61 72 22 20 22 73 | 61 76 65 68 69 73 74 22 |star" "s|avehist"|
|00002fa0| 20 22 53 48 4c 56 4c 22 | 20 22 73 68 6f 77 64 6f | "SHLVL"| "showdo|
|00002fb0| 74 73 22 20 22 73 6c 22 | 20 22 53 59 53 54 59 50 |ts" "sl"| "SYSTYP|
|00002fc0| 45 22 20 22 74 63 73 68 | 22 20 22 74 65 72 6d 22 |E" "tcsh|" "term"|
|00002fd0| 20 22 74 70 65 72 69 6f | 64 22 20 22 74 74 79 22 | "tperio|d" "tty"|
|00002fe0| 20 22 75 69 64 22 20 22 | 76 65 72 73 69 6f 6e 22 | "uid" "|version"|
|00002ff0| 20 22 76 69 73 69 62 6c | 65 62 65 6c 6c 22 20 22 | "visibl|ebell" "|
|00003000| 77 61 74 63 68 22 20 22 | 77 68 6f 22 20 22 77 6f |watch" "|who" "wo|
|00003010| 72 64 63 68 61 72 73 22 | 29 20 28 7a 73 68 20 65 |rdchars"|) (zsh e|
|00003020| 76 61 6c 20 73 68 2d 61 | 70 70 65 6e 64 20 6b 73 |val sh-a|ppend ks|
|00003030| 68 38 38 20 22 42 41 55 | 44 22 20 22 62 69 6e 64 |h88 "BAU|D" "bind|
|00003040| 63 6d 64 73 22 20 22 63 | 64 70 61 74 68 22 20 22 |cmds" "c|dpath" "|
|00003050| 44 49 52 53 54 41 43 4b | 53 49 5a 45 22 20 22 66 |DIRSTACK|SIZE" "f|
|00003060| 69 67 6e 6f 72 65 22 20 | 22 46 49 47 4e 4f 52 45 |ignore" |"FIGNORE|
|00003070| 22 20 22 66 70 61 74 68 | 22 20 22 48 49 53 54 43 |" "fpath|" "HISTC|
|00003080| 48 41 52 53 22 20 22 68 | 6f 73 74 63 6d 64 73 22 |HARS" "h|ostcmds"|
|00003090| 20 22 68 6f 73 74 73 22 | 20 22 48 4f 53 54 53 22 | "hosts"| "HOSTS"|
|000030a0| 20 22 4c 49 53 54 4d 41 | 58 22 20 22 4c 49 54 48 | "LISTMA|X" "LITH|
|000030b0| 49 53 54 53 49 5a 45 22 | 20 22 4c 4f 47 43 48 45 |ISTSIZE"| "LOGCHE|
|000030c0| 43 4b 22 20 22 6d 61 69 | 6c 70 61 74 68 22 20 22 |CK" "mai|lpath" "|
|000030d0| 6d 61 6e 70 61 74 68 22 | 20 22 4e 55 4c 4c 43 4d |manpath"| "NULLCM|
|000030e0| 44 22 20 22 6f 70 74 63 | 6d 64 73 22 20 22 70 61 |D" "optc|mds" "pa|
|000030f0| 74 68 22 20 22 50 4f 53 | 54 45 44 49 54 22 20 22 |th" "POS|TEDIT" "|
|00003100| 70 72 6f 6d 70 74 22 20 | 22 50 52 4f 4d 50 54 22 |prompt" |"PROMPT"|
|00003110| 20 22 50 52 4f 4d 50 54 | 32 22 20 22 50 52 4f 4d | "PROMPT|2" "PROM|
|00003120| 50 54 33 22 20 22 50 52 | 4f 4d 50 54 34 22 20 22 |PT3" "PR|OMPT4" "|
|00003130| 70 73 76 61 72 22 20 22 | 50 53 56 41 52 22 20 22 |psvar" "|PSVAR" "|
|00003140| 52 45 41 44 4e 55 4c 4c | 43 4d 44 22 20 22 52 45 |READNULL|CMD" "RE|
|00003150| 50 4f 52 54 54 49 4d 45 | 22 20 22 52 50 52 4f 4d |PORTTIME|" "RPROM|
|00003160| 50 54 22 20 22 52 50 53 | 31 22 20 22 53 41 56 45 |PT" "RPS|1" "SAVE|
|00003170| 48 49 53 54 22 20 22 53 | 50 52 4f 4d 50 54 22 20 |HIST" "S|PROMPT" |
|00003180| 22 53 54 54 59 22 20 22 | 54 49 4d 45 46 4d 54 22 |"STTY" "|TIMEFMT"|
|00003190| 20 22 54 4d 4f 55 54 22 | 20 22 54 4d 50 50 52 45 | "TMOUT"| "TMPPRE|
|000031a0| 46 49 58 22 20 22 76 61 | 72 63 6d 64 73 22 20 22 |FIX" "va|rcmds" "|
|000031b0| 77 61 74 63 68 22 20 22 | 57 41 54 43 48 22 20 22 |watch" "|WATCH" "|
|000031c0| 57 41 54 43 48 46 4d 54 | 22 20 22 57 4f 52 44 43 |WATCHFMT|" "WORDC|
|000031d0| 48 41 52 53 22 20 22 5a | 44 4f 54 44 49 52 22 29 |HARS" "Z|DOTDIR")|
|000031e0| 29 29 20 28 23 24 20 2e | 20 31 30 31 37 34 29 29 |)) (#$ .| 10174))|
|000031f0| 0a 23 40 35 39 20 2a 52 | 75 6c 65 73 20 66 6f 72 |.#@59 *R|ules for|
|00003200| 20 68 69 67 68 6c 69 67 | 68 74 69 6e 67 20 73 68 | highlig|hting sh|
|00003210| 65 6c 6c 20 73 63 72 69 | 70 74 73 2e 20 20 53 65 |ell scri|pts. Se|
|00003220| 65 20 60 73 68 2d 66 65 | 61 74 75 72 65 27 2e 1f |e `sh-fe|ature'..|
|00003230| 0a 28 64 65 66 76 61 72 | 20 73 68 2d 66 6f 6e 74 |.(defvar| sh-font|
|00003240| 2d 6c 6f 63 6b 2d 6b 65 | 79 77 6f 72 64 73 20 28 |-lock-ke|ywords (|
|00003250| 71 75 6f 74 65 20 28 28 | 63 73 68 20 65 76 61 6c |quote ((|csh eval|
|00003260| 20 73 68 2d 61 70 70 65 | 6e 64 20 73 68 65 6c 6c | sh-appe|nd shell|
|00003270| 20 28 71 75 6f 74 65 20 | 28 22 5c 5c 24 7b 3f 5b | (quote |("\\${?[|
|00003280| 23 3f 5d 3f 5c 5c 28 5b | 41 2d 5a 61 2d 7a 5f 5d |#?]?\\([|A-Za-z_]|
|00003290| 5b 41 2d 5a 61 2d 7a 30 | 2d 39 5f 5d 2a 5c 5c 7c |[A-Za-z0|-9_]*\\||
|000032a0| 30 5c 5c 29 22 20 31 20 | 66 6f 6e 74 2d 6c 6f 63 |0\\)" 1 |font-loc|
|000032b0| 6b 2d 76 61 72 69 61 62 | 6c 65 2d 6e 61 6d 65 2d |k-variab|le-name-|
|000032c0| 66 61 63 65 29 29 29 20 | 28 65 73 20 65 76 61 6c |face))) |(es eval|
|000032d0| 20 73 68 2d 61 70 70 65 | 6e 64 20 65 78 65 63 75 | sh-appe|nd execu|
|000032e0| 74 61 62 6c 65 2d 66 6f | 6e 74 2d 6c 6f 63 6b 2d |table-fo|nt-lock-|
|000032f0| 6b 65 79 77 6f 72 64 73 | 20 28 71 75 6f 74 65 20 |keywords| (quote |
|00003300| 28 22 5c 5c 24 23 3f 5c | 5c 28 5b 41 2d 5a 61 2d |("\\$#?\|\([A-Za-|
|00003310| 7a 5f 5d 5b 41 2d 5a 61 | 2d 7a 30 2d 39 5f 5d 2a |z_][A-Za|-z0-9_]*|
|00003320| 5c 5c 7c 5b 30 2d 39 5d | 2b 5c 5c 29 22 20 31 20 |\\|[0-9]|+\\)" 1 |
|00003330| 66 6f 6e 74 2d 6c 6f 63 | 6b 2d 76 61 72 69 61 62 |font-loc|k-variab|
|00003340| 6c 65 2d 6e 61 6d 65 2d | 66 61 63 65 29 29 29 20 |le-name-|face))) |
|00003350| 28 72 63 20 65 76 61 6c | 20 69 64 65 6e 74 69 74 |(rc eval| identit|
|00003360| 79 20 65 73 29 20 28 73 | 68 20 65 76 61 6c 20 73 |y es) (s|h eval s|
|00003370| 68 2d 61 70 70 65 6e 64 | 20 73 68 65 6c 6c 20 28 |h-append| shell (|
|00003380| 71 75 6f 74 65 20 28 22 | 5c 5c 24 5c 5c 28 7b 23 |quote ("|\\$\\({#|
|00003390| 3f 5c 5c 29 3f 5c 5c 28 | 5b 41 2d 5a 61 2d 7a 5f |?\\)?\\(|[A-Za-z_|
|000033a0| 5d 5b 41 2d 5a 61 2d 7a | 30 2d 39 5f 5d 2a 5c 5c |][A-Za-z|0-9_]*\\|
|000033b0| 7c 5b 2d 23 3f 40 21 5d | 5c 5c 29 22 20 32 20 66 ||[-#?@!]|\\)" 2 f|
|000033c0| 6f 6e 74 2d 6c 6f 63 6b | 2d 76 61 72 69 61 62 6c |ont-lock|-variabl|
|000033d0| 65 2d 6e 61 6d 65 2d 66 | 61 63 65 29 29 29 20 28 |e-name-f|ace))) (|
|000033e0| 73 68 65 6c 6c 20 65 76 | 61 6c 20 73 68 2d 61 70 |shell ev|al sh-ap|
|000033f0| 70 65 6e 64 20 65 78 65 | 63 75 74 61 62 6c 65 2d |pend exe|cutable-|
|00003400| 66 6f 6e 74 2d 6c 6f 63 | 6b 2d 6b 65 79 77 6f 72 |font-loc|k-keywor|
|00003410| 64 73 20 28 71 75 6f 74 | 65 20 28 22 5c 5c 5c 5c |ds (quot|e ("\\\\|
|00003420| 5b 5e 41 2d 5a 61 2d 7a | 30 2d 39 5d 22 20 30 20 |[^A-Za-z|0-9]" 0 |
|00003430| 66 6f 6e 74 2d 6c 6f 63 | 6b 2d 73 74 72 69 6e 67 |font-loc|k-string|
|00003440| 2d 66 61 63 65 29 29 20 | 28 71 75 6f 74 65 20 28 |-face)) |(quote (|
|00003450| 22 5c 5c 24 7b 3f 5c 5c | 28 5b 41 2d 5a 61 2d 7a |"\\${?\\|([A-Za-z|
|00003460| 5f 5d 5b 41 2d 5a 61 2d | 7a 30 2d 39 5f 5d 2a 5c |_][A-Za-|z0-9_]*\|
|00003470| 5c 7c 5b 30 2d 39 5d 2b | 5c 5c 7c 5b 24 2a 5f 5d |\|[0-9]+|\\|[$*_]|
|00003480| 5c 5c 29 22 20 31 20 66 | 6f 6e 74 2d 6c 6f 63 6b |\\)" 1 f|ont-lock|
|00003490| 2d 76 61 72 69 61 62 6c | 65 2d 6e 61 6d 65 2d 66 |-variabl|e-name-f|
|000034a0| 61 63 65 29 29 29 29 29 | 20 28 23 24 20 2e 20 2d |ace)))))| (#$ . -|
|000034b0| 31 32 37 39 30 29 29 0a | 23 40 37 30 20 2a 41 64 |12790)).|#@70 *Ad|
|000034c0| 64 69 74 69 6f 6e 61 6c | 20 72 75 6c 65 73 20 66 |ditional| rules f|
|000034d0| 6f 72 20 68 69 67 68 6c | 69 67 68 74 69 6e 67 20 |or highl|ighting |
|000034e0| 73 68 65 6c 6c 20 73 63 | 72 69 70 74 73 2e 20 20 |shell sc|ripts. |
|000034f0| 53 65 65 20 60 73 68 2d | 66 65 61 74 75 72 65 27 |See `sh-|feature'|
|00003500| 2e 1f 0a 28 64 65 66 76 | 61 72 20 73 68 2d 66 6f |...(defv|ar sh-fo|
|00003510| 6e 74 2d 6c 6f 63 6b 2d | 6b 65 79 77 6f 72 64 73 |nt-lock-|keywords|
|00003520| 2d 31 20 28 71 75 6f 74 | 65 20 28 28 73 68 20 22 |-1 (quot|e ((sh "|
|00003530| 5b 20 09 5d 69 6e 5c 5c | 3e 22 29 29 29 20 28 23 |[ .]in\\|>"))) (#|
|00003540| 24 20 2e 20 2d 31 33 35 | 30 31 29 29 0a 23 40 36 |$ . -135|01)).#@6|
|00003550| 38 20 2a 59 65 74 20 6d | 6f 72 65 20 72 75 6c 65 |8 *Yet m|ore rule|
|00003560| 73 20 66 6f 72 20 68 69 | 67 68 6c 69 67 68 74 69 |s for hi|ghlighti|
|00003570| 6e 67 20 73 68 65 6c 6c | 20 73 63 72 69 70 74 73 |ng shell| scripts|
|00003580| 2e 20 20 53 65 65 20 60 | 73 68 2d 66 65 61 74 75 |. See `|sh-featu|
|00003590| 72 65 27 2e 1f 0a 28 64 | 65 66 76 61 72 20 73 68 |re'...(d|efvar sh|
|000035a0| 2d 66 6f 6e 74 2d 6c 6f | 63 6b 2d 6b 65 79 77 6f |-font-lo|ck-keywo|
|000035b0| 72 64 73 2d 32 20 6e 69 | 6c 20 28 23 24 20 2e 20 |rds-2 ni|l (#$ . |
|000035c0| 2d 31 33 36 35 30 29 29 | 0a 23 40 33 33 37 20 2a |-13650))|.#@337 *|
|000035d0| 56 61 6c 75 65 20 6f 66 | 20 60 66 6f 6e 74 2d 6c |Value of| `font-l|
|000035e0| 6f 63 6b 2d 6b 65 79 77 | 6f 72 64 73 2d 6f 6e 6c |ock-keyw|ords-onl|
|000035f0| 79 27 20 66 6f 72 20 68 | 69 67 68 6c 69 67 68 74 |y' for h|ighlight|
|00003600| 69 6e 67 20 73 68 65 6c | 6c 20 73 63 72 69 70 74 |ing shel|l script|
|00003610| 73 2e 0a 44 65 66 61 75 | 6c 74 20 76 61 6c 75 65 |s..Defau|lt value|
|00003620| 20 69 73 20 60 74 27 20 | 62 65 63 61 75 73 65 20 | is `t' |because |
|00003630| 45 6d 61 63 73 27 20 73 | 79 6e 74 61 78 20 69 73 |Emacs' s|yntax is|
|00003640| 20 6e 6f 74 20 65 78 70 | 72 65 73 73 69 76 65 20 | not exp|ressive |
|00003650| 65 6e 6f 75 67 68 20 74 | 6f 0a 64 65 74 65 63 74 |enough t|o.detect|
|00003660| 20 74 68 61 74 20 24 23 | 20 64 6f 65 73 20 6e 6f | that $#| does no|
|00003670| 74 20 73 74 61 72 74 20 | 61 20 63 6f 6d 6d 65 6e |t start |a commen|
|00003680| 74 2e 20 20 54 68 75 73 | 20 63 6f 6d 6d 65 6e 74 |t. Thus| comment|
|00003690| 73 20 61 72 65 20 66 6f | 6e 74 69 66 69 65 64 20 |s are fo|ntified |
|000036a0| 62 79 0a 72 65 67 65 78 | 70 20 77 68 69 63 68 20 |by.regex|p which |
|000036b0| 6d 65 61 6e 73 20 74 68 | 61 74 20 61 20 73 69 6e |means th|at a sin|
|000036c0| 67 6c 65 20 61 70 6f 73 | 74 72 6f 70 68 65 20 69 |gle apos|trophe i|
|000036d0| 6e 20 61 20 63 6f 6d 6d | 65 6e 74 20 74 75 72 6e |n a comm|ent turn|
|000036e0| 73 20 65 76 65 72 79 74 | 68 69 6e 67 0a 75 70 74 |s everyt|hing.upt|
|000036f0| 6f 20 74 68 65 20 6e 65 | 78 74 20 6f 6e 65 20 6f |o the ne|xt one o|
|00003700| 72 20 65 6e 64 20 6f 66 | 20 62 75 66 66 65 72 20 |r end of| buffer |
|00003710| 69 6e 74 6f 20 61 20 73 | 74 72 69 6e 67 2e 1f 0a |into a s|tring...|
|00003720| 28 64 65 66 76 61 72 20 | 73 68 2d 66 6f 6e 74 2d |(defvar |sh-font-|
|00003730| 6c 6f 63 6b 2d 6b 65 79 | 77 6f 72 64 73 2d 6f 6e |lock-key|words-on|
|00003740| 6c 79 20 74 20 28 23 24 | 20 2e 20 2d 31 33 37 37 |ly t (#$| . -1377|
|00003750| 35 29 29 0a 28 70 75 74 | 20 28 71 75 6f 74 65 20 |5)).(put| (quote |
|00003760| 73 68 2d 6d 6f 64 65 29 | 20 28 71 75 6f 74 65 20 |sh-mode)| (quote |
|00003770| 6d 6f 64 65 2d 63 6c 61 | 73 73 29 20 28 71 75 6f |mode-cla|ss) (quo|
|00003780| 74 65 20 73 70 65 63 69 | 61 6c 29 29 0a 23 40 32 |te speci|al)).#@2|
|00003790| 30 37 31 20 4d 61 6a 6f | 72 20 6d 6f 64 65 20 66 |071 Majo|r mode f|
|000037a0| 6f 72 20 65 64 69 74 69 | 6e 67 20 73 68 65 6c 6c |or editi|ng shell|
|000037b0| 20 73 63 72 69 70 74 73 | 2e 0a 54 68 69 73 20 6d | scripts|..This m|
|000037c0| 6f 64 65 20 77 6f 72 6b | 73 20 66 6f 72 20 6d 61 |ode work|s for ma|
|000037d0| 6e 79 20 73 68 65 6c 6c | 73 2c 20 73 69 6e 63 65 |ny shell|s, since|
|000037e0| 20 74 68 65 79 20 61 6c | 6c 20 68 61 76 65 20 72 | they al|l have r|
|000037f0| 6f 75 67 68 6c 79 20 74 | 68 65 20 73 61 6d 65 20 |oughly t|he same |
|00003800| 73 79 6e 74 61 78 2c 0a | 61 73 20 66 61 72 20 61 |syntax,.|as far a|
|00003810| 73 20 63 6f 6d 6d 61 6e | 64 73 2c 20 61 72 67 75 |s comman|ds, argu|
|00003820| 6d 65 6e 74 73 2c 20 76 | 61 72 69 61 62 6c 65 73 |ments, v|ariables|
|00003830| 2c 20 70 69 70 65 73 2c | 20 63 6f 6d 6d 65 6e 74 |, pipes,| comment|
|00003840| 73 20 65 74 63 2e 20 61 | 72 65 20 63 6f 6e 63 65 |s etc. a|re conce|
|00003850| 72 6e 65 64 2e 0a 55 6e | 6c 65 73 73 20 74 68 65 |rned..Un|less the|
|00003860| 20 66 69 6c 65 27 73 20 | 6d 61 67 69 63 20 6e 75 | file's |magic nu|
|00003870| 6d 62 65 72 20 69 6e 64 | 69 63 61 74 65 73 20 74 |mber ind|icates t|
|00003880| 68 65 20 73 68 65 6c 6c | 2c 20 79 6f 75 72 20 75 |he shell|, your u|
|00003890| 73 75 61 6c 20 73 68 65 | 6c 6c 20 69 73 0a 61 73 |sual she|ll is.as|
|000038a0| 73 75 6d 65 64 2e 20 20 | 53 69 6e 63 65 20 66 69 |sumed. |Since fi|
|000038b0| 6c 65 6e 61 6d 65 73 20 | 72 61 72 65 6c 79 20 67 |lenames |rarely g|
|000038c0| 69 76 65 20 61 20 63 6c | 75 65 2c 20 74 68 65 79 |ive a cl|ue, they|
|000038d0| 20 61 72 65 20 6e 6f 74 | 20 66 75 72 74 68 65 72 | are not| further|
|000038e0| 20 61 6e 61 6c 79 7a 65 | 64 2e 0a 0a 54 68 69 73 | analyze|d...This|
|000038f0| 20 6d 6f 64 65 20 61 64 | 61 70 74 73 20 74 6f 20 | mode ad|apts to |
|00003900| 74 68 65 20 76 61 72 69 | 61 74 69 6f 6e 73 20 62 |the vari|ations b|
|00003910| 65 74 77 65 65 6e 20 73 | 68 65 6c 6c 73 20 28 73 |etween s|hells (s|
|00003920| 65 65 20 60 73 68 2d 73 | 65 74 2d 73 68 65 6c 6c |ee `sh-s|et-shell|
|00003930| 27 29 20 62 79 0a 6d 65 | 61 6e 73 20 6f 66 20 61 |') by.me|ans of a|
|00003940| 6e 20 69 6e 68 65 72 69 | 74 61 6e 63 65 20 62 61 |n inheri|tance ba|
|00003950| 73 65 64 20 66 65 61 74 | 75 72 65 20 6c 6f 6f 6b |sed feat|ure look|
|00003960| 75 70 20 28 73 65 65 20 | 60 73 68 2d 66 65 61 74 |up (see |`sh-feat|
|00003970| 75 72 65 27 29 2e 20 20 | 54 68 69 73 0a 6d 65 63 |ure'). |This.mec|
|00003980| 68 61 6e 69 73 6d 20 61 | 70 70 6c 69 65 73 20 74 |hanism a|pplies t|
|00003990| 6f 20 61 6c 6c 20 76 61 | 72 69 61 62 6c 65 73 20 |o all va|riables |
|000039a0| 28 69 6e 63 6c 75 64 69 | 6e 67 20 73 6b 65 6c 65 |(includi|ng skele|
|000039b0| 74 6f 6e 73 29 20 74 68 | 61 74 20 70 65 72 74 61 |tons) th|at perta|
|000039c0| 69 6e 20 74 6f 0a 73 68 | 65 6c 6c 2d 73 70 65 63 |in to.sh|ell-spec|
|000039d0| 69 66 69 63 20 66 65 61 | 74 75 72 65 73 2e 0a 0a |ific fea|tures...|
|000039e0| 54 68 65 20 64 65 66 61 | 75 6c 74 20 73 74 79 6c |The defa|ult styl|
|000039f0| 65 20 6f 66 20 74 68 69 | 73 20 6d 6f 64 65 20 69 |e of thi|s mode i|
|00003a00| 73 20 74 68 61 74 20 6f | 66 20 52 6f 73 65 6e 62 |s that o|f Rosenb|
|00003a10| 6c 61 74 74 27 73 20 4b | 6f 72 6e 20 73 68 65 6c |latt's K|orn shel|
|00003a20| 6c 20 62 6f 6f 6b 2e 0a | 54 68 65 20 73 79 6e 74 |l book..|The synt|
|00003a30| 61 78 20 6f 66 20 74 68 | 65 20 73 74 61 74 65 6d |ax of th|e statem|
|00003a40| 65 6e 74 73 20 76 61 72 | 69 65 73 20 77 69 74 68 |ents var|ies with|
|00003a50| 20 74 68 65 20 73 68 65 | 6c 6c 20 62 65 69 6e 67 | the she|ll being|
|00003a60| 20 75 73 65 64 2e 20 20 | 54 68 65 0a 66 6f 6c 6c | used. |The.foll|
|00003a70| 6f 77 69 6e 67 20 63 6f | 6d 6d 61 6e 64 73 20 61 |owing co|mmands a|
|00003a80| 72 65 20 61 76 61 69 6c | 61 62 6c 65 2c 20 62 61 |re avail|able, ba|
|00003a90| 73 65 64 20 6f 6e 20 74 | 68 65 20 63 75 72 72 65 |sed on t|he curre|
|00003aa0| 6e 74 20 73 68 65 6c 6c | 27 73 20 73 79 6e 74 61 |nt shell|'s synta|
|00003ab0| 78 3a 0a 0a 5c 5b 73 68 | 2d 63 61 73 65 5d 09 20 |x:..\[sh|-case]. |
|00003ac0| 63 61 73 65 20 73 74 61 | 74 65 6d 65 6e 74 0a 5c |case sta|tement.\|
|00003ad0| 5b 73 68 2d 66 6f 72 5d | 09 20 66 6f 72 20 6c 6f |[sh-for]|. for lo|
|00003ae0| 6f 70 0a 5c 5b 73 68 2d | 66 75 6e 63 74 69 6f 6e |op.\[sh-|function|
|00003af0| 5d 09 20 66 75 6e 63 74 | 69 6f 6e 20 64 65 66 69 |]. funct|ion defi|
|00003b00| 6e 69 74 69 6f 6e 0a 5c | 5b 73 68 2d 69 66 5d 09 |nition.\|[sh-if].|
|00003b10| 20 69 66 20 73 74 61 74 | 65 6d 65 6e 74 0a 5c 5b | if stat|ement.\[|
|00003b20| 73 68 2d 69 6e 64 65 78 | 65 64 2d 6c 6f 6f 70 5d |sh-index|ed-loop]|
|00003b30| 09 20 69 6e 64 65 78 65 | 64 20 6c 6f 6f 70 20 66 |. indexe|d loop f|
|00003b40| 72 6f 6d 20 31 20 74 6f | 20 6e 0a 5c 5b 73 68 2d |rom 1 to| n.\[sh-|
|00003b50| 77 68 69 6c 65 2d 67 65 | 74 6f 70 74 73 5d 09 20 |while-ge|topts]. |
|00003b60| 77 68 69 6c 65 20 67 65 | 74 6f 70 74 73 20 6c 6f |while ge|topts lo|
|00003b70| 6f 70 0a 5c 5b 73 68 2d | 72 65 70 65 61 74 5d 09 |op.\[sh-|repeat].|
|00003b80| 20 72 65 70 65 61 74 20 | 6c 6f 6f 70 0a 5c 5b 73 | repeat |loop.\[s|
|00003b90| 68 2d 73 65 6c 65 63 74 | 5d 09 20 73 65 6c 65 63 |h-select|]. selec|
|00003ba0| 74 20 6c 6f 6f 70 0a 5c | 5b 73 68 2d 75 6e 74 69 |t loop.\|[sh-unti|
|00003bb0| 6c 5d 09 20 75 6e 74 69 | 6c 20 6c 6f 6f 70 0a 5c |l]. unti|l loop.\|
|00003bc0| 5b 73 68 2d 77 68 69 6c | 65 5d 09 20 77 68 69 6c |[sh-whil|e]. whil|
|00003bd0| 65 20 6c 6f 6f 70 0a 0a | 5c 5b 62 61 63 6b 77 61 |e loop..|\[backwa|
|00003be0| 72 64 2d 64 65 6c 65 74 | 65 2d 63 68 61 72 2d 75 |rd-delet|e-char-u|
|00003bf0| 6e 74 61 62 69 66 79 5d | 09 20 44 65 6c 65 74 65 |ntabify]|. Delete|
|00003c00| 20 62 61 63 6b 77 61 72 | 64 20 6f 6e 65 20 70 6f | backwar|d one po|
|00003c10| 73 69 74 69 6f 6e 2c 20 | 65 76 65 6e 20 69 66 20 |sition, |even if |
|00003c20| 69 74 20 77 61 73 20 61 | 20 74 61 62 2e 0a 5c 5b |it was a| tab..\[|
|00003c30| 73 68 2d 6e 65 77 6c 69 | 6e 65 2d 61 6e 64 2d 69 |sh-newli|ne-and-i|
|00003c40| 6e 64 65 6e 74 5d 09 20 | 44 65 6c 65 74 65 20 75 |ndent]. |Delete u|
|00003c50| 6e 71 75 6f 74 65 64 20 | 73 70 61 63 65 20 61 6e |nquoted |space an|
|00003c60| 64 20 69 6e 64 65 6e 74 | 20 6e 65 77 20 6c 69 6e |d indent| new lin|
|00003c70| 65 20 73 61 6d 65 20 61 | 73 20 74 68 69 73 20 6f |e same a|s this o|
|00003c80| 6e 65 2e 0a 5c 5b 73 68 | 2d 65 6e 64 2d 6f 66 2d |ne..\[sh|-end-of-|
|00003c90| 63 6f 6d 6d 61 6e 64 5d | 09 20 47 6f 20 74 6f 20 |command]|. Go to |
|00003ca0| 65 6e 64 20 6f 66 20 73 | 75 63 63 65 73 73 69 76 |end of s|uccessiv|
|00003cb0| 65 20 63 6f 6d 6d 61 6e | 64 73 2e 0a 5c 5b 73 68 |e comman|ds..\[sh|
|00003cc0| 2d 62 65 67 69 6e 6e 69 | 6e 67 2d 6f 66 2d 63 6f |-beginni|ng-of-co|
|00003cd0| 6d 6d 61 6e 64 5d 09 20 | 47 6f 20 74 6f 20 62 65 |mmand]. |Go to be|
|00003ce0| 67 69 6e 6e 69 6e 67 20 | 6f 66 20 73 75 63 63 65 |ginning |of succe|
|00003cf0| 73 73 69 76 65 20 63 6f | 6d 6d 61 6e 64 73 2e 0a |ssive co|mmands..|
|00003d00| 5c 5b 73 68 2d 73 65 74 | 2d 73 68 65 6c 6c 5d 09 |\[sh-set|-shell].|
|00003d10| 20 53 65 74 20 74 68 69 | 73 20 62 75 66 66 65 72 | Set thi|s buffer|
|00003d20| 27 73 20 73 68 65 6c 6c | 2c 20 61 6e 64 20 6d 61 |'s shell|, and ma|
|00003d30| 79 62 65 20 69 74 73 20 | 6d 61 67 69 63 20 6e 75 |ybe its |magic nu|
|00003d40| 6d 62 65 72 2e 0a 5c 5b | 73 68 2d 65 78 65 63 75 |mber..\[|sh-execu|
|00003d50| 74 65 2d 72 65 67 69 6f | 6e 5d 09 20 48 61 76 65 |te-regio|n]. Have|
|00003d60| 20 6f 70 74 69 6f 6e 61 | 6c 20 68 65 61 64 65 72 | optiona|l header|
|00003d70| 20 61 6e 64 20 72 65 67 | 69 6f 6e 20 62 65 20 65 | and reg|ion be e|
|00003d80| 78 65 63 75 74 65 64 20 | 69 6e 20 61 20 73 75 62 |xecuted |in a sub|
|00003d90| 73 68 65 6c 6c 2e 0a 0a | 5c 5b 73 68 2d 6d 61 79 |shell...|\[sh-may|
|00003da0| 62 65 2d 68 65 72 65 2d | 64 6f 63 75 6d 65 6e 74 |be-here-|document|
|00003db0| 5d 09 20 57 69 74 68 6f | 75 74 20 70 72 65 66 69 |]. Witho|ut prefi|
|00003dc0| 78 2c 20 66 6f 6c 6c 6f | 77 69 6e 67 20 61 6e 20 |x, follo|wing an |
|00003dd0| 75 6e 71 75 6f 74 65 64 | 20 3c 20 69 6e 73 65 72 |unquoted| < inser|
|00003de0| 74 73 20 68 65 72 65 20 | 64 6f 63 75 6d 65 6e 74 |ts here |document|
|00003df0| 2e 0a 7b 2c 20 28 2c 20 | 5b 2c 20 27 2c 20 22 2c |..{, (, |[, ', ",|
|00003e00| 20 60 0a 09 55 6e 6c 65 | 73 73 20 71 75 6f 74 65 | `..Unle|ss quote|
|00003e10| 64 20 77 69 74 68 20 5c | 2c 20 69 6e 73 65 72 74 |d with \|, insert|
|00003e20| 20 74 68 65 20 70 61 69 | 72 73 20 7b 7d 2c 20 28 | the pai|rs {}, (|
|00003e30| 29 2c 20 5b 5d 2c 20 6f | 72 20 27 27 2c 20 22 22 |), [], o|r '', ""|
|00003e40| 2c 20 60 60 2e 0a 0a 49 | 66 20 79 6f 75 20 67 65 |, ``...I|f you ge|
|00003e50| 6e 65 72 61 6c 6c 79 20 | 70 72 6f 67 72 61 6d 20 |nerally |program |
|00003e60| 61 20 73 68 65 6c 6c 20 | 64 69 66 66 65 72 65 6e |a shell |differen|
|00003e70| 74 20 66 72 6f 6d 20 79 | 6f 75 72 20 6c 6f 67 69 |t from y|our logi|
|00003e80| 6e 20 73 68 65 6c 6c 20 | 79 6f 75 20 63 61 6e 0a |n shell |you can.|
|00003e90| 73 65 74 20 60 73 68 2d | 73 68 65 6c 6c 2d 66 69 |set `sh-|shell-fi|
|00003ea0| 6c 65 27 20 61 63 63 6f | 72 64 69 6e 67 6c 79 2e |le' acco|rdingly.|
|00003eb0| 20 20 49 66 20 79 6f 75 | 72 20 73 68 65 6c 6c 27 | If you|r shell'|
|00003ec0| 73 20 66 69 6c 65 20 6e | 61 6d 65 20 64 6f 65 73 |s file n|ame does|
|00003ed0| 6e 27 74 20 63 6f 72 72 | 65 63 74 6c 79 0a 69 6e |n't corr|ectly.in|
|00003ee0| 64 69 63 61 74 65 20 77 | 68 61 74 20 73 68 65 6c |dicate w|hat shel|
|00003ef0| 6c 20 69 74 20 69 73 20 | 75 73 65 20 60 73 68 2d |l it is |use `sh-|
|00003f00| 61 6c 69 61 73 2d 61 6c | 69 73 74 27 20 74 6f 20 |alias-al|ist' to |
|00003f10| 74 72 61 6e 73 6c 61 74 | 65 2e 0a 0a 49 66 20 79 |translat|e...If y|
|00003f20| 6f 75 72 20 73 68 65 6c | 6c 20 67 69 76 65 73 20 |our shel|l gives |
|00003f30| 65 72 72 6f 72 20 6d 65 | 73 73 61 67 65 73 20 77 |error me|ssages w|
|00003f40| 69 74 68 20 6c 69 6e 65 | 20 6e 75 6d 62 65 72 73 |ith line| numbers|
|00003f50| 2c 20 79 6f 75 20 63 61 | 6e 20 75 73 65 20 5c 5b |, you ca|n use \[|
|00003f60| 65 78 65 63 75 74 61 62 | 6c 65 2d 69 6e 74 65 72 |executab|le-inter|
|00003f70| 70 72 65 74 5d 0a 77 69 | 74 68 20 79 6f 75 72 20 |pret].wi|th your |
|00003f80| 73 63 72 69 70 74 20 66 | 6f 72 20 61 6e 20 65 64 |script f|or an ed|
|00003f90| 69 74 2d 69 6e 74 65 72 | 70 72 65 74 2d 64 65 62 |it-inter|pret-deb|
|00003fa0| 75 67 20 63 79 63 6c 65 | 2e 1f 0a 28 64 65 66 61 |ug cycle|...(defa|
|00003fb0| 6c 69 61 73 20 27 73 68 | 2d 6d 6f 64 65 20 23 5b |lias 'sh|-mode #[|
|00003fc0| 6e 69 6c 20 22 c0 20 88 | c1 5c 6e 21 88 c3 c4 21 |nil ". .|.\n!...!|
|00003fd0| 88 c3 c5 21 88 c3 c6 21 | 88 c3 c7 21 88 c3 c8 21 |...!...!|...!...!|
|00003fe0| 88 c3 c9 21 88 c3 ca 21 | 88 c3 cb 21 88 c3 cc 21 |...!...!|...!...!|
|00003ff0| 88 c3 cd 21 88 c3 ce 21 | 88 c3 cf 21 88 c3 d0 21 |...!...!|...!...!|
|00004000| 88 c3 d1 21 88 c3 d2 21 | 88 c3 d3 21 88 c3 d4 21 |...!...!|...!...!|
|00004010| 88 c3 d5 21 88 c3 d6 21 | 88 c3 d7 21 88 c3 d8 21 |...!...!|...!...!|
|00004020| 88 d9 16 1a db 16 1c dd | 14 de 15 df 16 06 0e 20 |........|....... |
|00004030| e1 50 89 16 07 16 08 e2 | 16 09 0e 23 16 11 e4 16 |.P......|...#....|
|00004040| 12 e5 0e 26 e7 42 42 16 | 14 e8 16 0f e9 16 10 ea |...&.BB.|........|
|00004050| 16 2b ec 16 15 ed 16 16 | 8a 65 62 88 ee ef 20 21 |.+......|.eb... !|
|00004060| 83 a7 00 0e 30 84 a7 00 | f1 0e 0d 21 88 29 f2 f3 |....0...|...!.)..|
|00004070| 21 87 22 20 5b 6b 69 6c | 6c 2d 61 6c 6c 2d 6c 6f |!." [kil|l-all-lo|
|00004080| 63 61 6c 2d 76 61 72 69 | 61 62 6c 65 73 20 75 73 |cal-vari|ables us|
|00004090| 65 2d 6c 6f 63 61 6c 2d | 6d 61 70 20 73 68 2d 6d |e-local-|map sh-m|
|000040a0| 6f 64 65 2d 6d 61 70 20 | 6d 61 6b 65 2d 6c 6f 63 |ode-map |make-loc|
|000040b0| 61 6c 2d 76 61 72 69 61 | 62 6c 65 20 69 6e 64 65 |al-varia|ble inde|
|000040c0| 6e 74 2d 6c 69 6e 65 2d | 66 75 6e 63 74 69 6f 6e |nt-line-|function|
|000040d0| 20 69 6e 64 65 6e 74 2d | 72 65 67 69 6f 6e 2d 66 | indent-|region-f|
|000040e0| 75 6e 63 74 69 6f 6e 20 | 73 6b 65 6c 65 74 6f 6e |unction |skeleton|
|000040f0| 2d 65 6e 64 2d 68 6f 6f | 6b 20 70 61 72 61 67 72 |-end-hoo|k paragr|
|00004100| 61 70 68 2d 73 74 61 72 | 74 20 70 61 72 61 67 72 |aph-star|t paragr|
|00004110| 61 70 68 2d 73 65 70 61 | 72 61 74 65 20 63 6f 6d |aph-sepa|rate com|
|00004120| 6d 65 6e 74 2d 73 74 61 | 72 74 20 63 6f 6d 6d 65 |ment-sta|rt comme|
|00004130| 6e 74 2d 73 74 61 72 74 | 2d 73 6b 69 70 20 72 65 |nt-start|-skip re|
|00004140| 71 75 69 72 65 2d 66 69 | 6e 61 6c 2d 6e 65 77 6c |quire-fi|nal-newl|
|00004150| 69 6e 65 20 73 68 2d 68 | 65 61 64 65 72 2d 6d 61 |ine sh-h|eader-ma|
|00004160| 72 6b 65 72 20 73 68 2d | 73 68 65 6c 6c 2d 66 69 |rker sh-|shell-fi|
|00004170| 6c 65 20 73 68 2d 73 68 | 65 6c 6c 20 73 6b 65 6c |le sh-sh|ell skel|
|00004180| 65 74 6f 6e 2d 70 61 69 | 72 2d 61 6c 69 73 74 20 |eton-pai|r-alist |
|00004190| 73 6b 65 6c 65 74 6f 6e | 2d 70 61 69 72 2d 66 69 |skeleton|-pair-fi|
|000041a0| 6c 74 65 72 20 63 6f 6d | 69 6e 74 2d 64 79 6e 61 |lter com|int-dyna|
|000041b0| 6d 69 63 2d 63 6f 6d 70 | 6c 65 74 65 2d 66 75 6e |mic-comp|lete-fun|
|000041c0| 63 74 69 6f 6e 73 20 63 | 6f 6d 69 6e 74 2d 70 72 |ctions c|omint-pr|
|000041d0| 6f 6d 70 74 2d 72 65 67 | 65 78 70 20 66 6f 6e 74 |ompt-reg|exp font|
|000041e0| 2d 6c 6f 63 6b 2d 6b 65 | 79 77 6f 72 64 73 20 66 |-lock-ke|ywords f|
|000041f0| 6f 6e 74 2d 6c 6f 63 6b | 2d 64 65 66 61 75 6c 74 |ont-lock|-default|
|00004200| 73 20 73 6b 65 6c 65 74 | 6f 6e 2d 66 69 6c 74 65 |s skelet|on-filte|
|00004210| 72 20 73 6b 65 6c 65 74 | 6f 6e 2d 6e 65 77 6c 69 |r skelet|on-newli|
|00004220| 6e 65 2d 69 6e 64 65 6e | 74 2d 72 69 67 69 64 6c |ne-inden|t-rigidl|
|00004230| 79 20 73 68 2d 73 68 65 | 6c 6c 2d 76 61 72 69 61 |y sh-she|ll-varia|
|00004240| 62 6c 65 73 20 73 68 2d | 73 68 65 6c 6c 2d 76 61 |bles sh-|shell-va|
|00004250| 72 69 61 62 6c 65 73 2d | 69 6e 69 74 69 61 6c 69 |riables-|initiali|
|00004260| 7a 65 64 20 73 68 2d 6d | 6f 64 65 20 6d 61 6a 6f |zed sh-m|ode majo|
|00004270| 72 2d 6d 6f 64 65 20 22 | 53 68 65 6c 6c 2d 73 63 |r-mode "|Shell-sc|
|00004280| 72 69 70 74 22 20 6d 6f | 64 65 2d 6e 61 6d 65 20 |ript" mo|de-name |
|00004290| 73 68 2d 69 6e 64 65 6e | 74 2d 6c 69 6e 65 20 23 |sh-inden|t-line #|
|000042a0| 5b 28 62 20 65 29 20 22 | 8a 08 62 88 c1 c2 21 88 |[(b e) "|..b...!.|
|000042b0| 60 10 0b 62 88 c1 c2 21 | 88 c4 08 60 0d 23 29 87 |`..b...!|...`.#).|
|000042c0| 22 20 5b 62 20 73 6b 69 | 70 2d 73 79 6e 74 61 78 |" [b ski|p-syntax|
|000042d0| 2d 62 61 63 6b 77 61 72 | 64 20 22 2d 22 20 65 20 |-backwar|d "-" e |
|000042e0| 69 6e 64 65 6e 74 2d 72 | 69 67 69 64 6c 79 20 73 |indent-r|igidly s|
|000042f0| 68 2d 69 6e 64 65 6e 74 | 61 74 69 6f 6e 5d 20 34 |h-indent|ation] 4|
|00004300| 5d 20 23 5b 6e 69 6c 20 | 22 6c 86 0b 00 c0 20 86 |] #[nil |"l.... .|
|00004310| 0b 00 c1 20 87 22 20 5b | 6e 65 77 6c 69 6e 65 20 |... ." [|newline |
|00004320| 69 6e 64 65 6e 74 2d 72 | 65 6c 61 74 69 76 65 5d |indent-r|elative]|
|00004330| 20 31 5d 20 70 61 67 65 | 2d 64 65 6c 69 6d 69 74 | 1] page|-delimit|
|00004340| 65 72 20 22 5c 5c 7c 24 | 22 20 22 23 20 22 20 73 |er "\\|$|" "# " s|
|00004350| 68 2d 64 79 6e 61 6d 69 | 63 2d 63 6f 6d 70 6c 65 |h-dynami|c-comple|
|00004360| 74 65 2d 66 75 6e 63 74 | 69 6f 6e 73 20 22 5e 5b |te-funct|ions "^[|
|00004370| 20 09 5d 2a 22 20 28 73 | 68 2d 66 6f 6e 74 2d 6c | .]*" (s|h-font-l|
|00004380| 6f 63 6b 2d 6b 65 79 77 | 6f 72 64 73 20 73 68 2d |ock-keyw|ords sh-|
|00004390| 66 6f 6e 74 2d 6c 6f 63 | 6b 2d 6b 65 79 77 6f 72 |font-loc|k-keywor|
|000043a0| 64 73 2d 31 20 73 68 2d | 66 6f 6e 74 2d 6c 6f 63 |ds-1 sh-|font-loc|
|000043b0| 6b 2d 6b 65 79 77 6f 72 | 64 73 2d 32 29 20 73 68 |k-keywor|ds-2) sh|
|000043c0| 2d 66 6f 6e 74 2d 6c 6f | 63 6b 2d 6b 65 79 77 6f |-font-lo|ck-keywo|
|000043d0| 72 64 73 2d 6f 6e 6c 79 | 20 28 6e 69 6c 20 28 28 |rds-only| (nil ((|
|000043e0| 34 37 20 2e 20 22 77 22 | 29 20 28 31 32 36 20 2e |47 . "w"|) (126 .|
|000043f0| 20 22 77 22 29 20 28 34 | 36 20 2e 20 22 77 22 29 | "w") (4|6 . "w")|
|00004400| 20 28 34 35 20 2e 20 22 | 77 22 29 20 28 39 35 20 | (45 . "|w") (95 |
|00004410| 2e 20 22 77 22 29 29 29 | 20 28 28 39 36 20 5f 20 |. "w")))| ((96 _ |
|00004420| 39 36 29 29 20 73 68 2d | 71 75 6f 74 65 64 2d 70 |96)) sh-|quoted-p|
|00004430| 20 28 28 3c 20 28 71 75 | 6f 74 65 20 28 2d 20 28 | ((< (qu|ote (- (|
|00004440| 6d 69 6e 20 73 68 2d 69 | 6e 64 65 6e 74 61 74 69 |min sh-i|ndentati|
|00004450| 6f 6e 20 28 63 75 72 72 | 65 6e 74 2d 63 6f 6c 75 |on (curr|ent-colu|
|00004460| 6d 6e 29 29 29 29 29 29 | 20 73 6b 65 6c 65 74 6f |mn))))))| skeleto|
|00004470| 6e 2d 66 75 72 74 68 65 | 72 2d 65 6c 65 6d 65 6e |n-furthe|r-elemen|
|00004480| 74 73 20 73 68 2d 66 65 | 61 74 75 72 65 20 74 20 |ts sh-fe|ature t |
|00004490| 7a 65 72 6f 70 20 62 75 | 66 66 65 72 2d 73 69 7a |zerop bu|ffer-siz|
|000044a0| 65 20 62 75 66 66 65 72 | 2d 72 65 61 64 2d 6f 6e |e buffer|-read-on|
|000044b0| 6c 79 20 73 68 2d 73 65 | 74 2d 73 68 65 6c 6c 20 |ly sh-se|t-shell |
|000044c0| 72 75 6e 2d 68 6f 6f 6b | 73 20 73 68 2d 6d 6f 64 |run-hook|s sh-mod|
|000044d0| 65 2d 68 6f 6f 6b 5d 20 | 34 20 28 23 24 20 2e 20 |e-hook] |4 (#$ . |
|000044e0| 31 34 32 32 38 29 20 6e | 69 6c 5d 29 0a 28 64 65 |14228) n|il]).(de|
|000044f0| 66 61 6c 69 61 73 20 28 | 71 75 6f 74 65 20 73 68 |falias (|quote sh|
|00004500| 65 6c 6c 2d 73 63 72 69 | 70 74 2d 6d 6f 64 65 29 |ell-scri|pt-mode)|
|00004510| 20 28 71 75 6f 74 65 20 | 73 68 2d 6d 6f 64 65 29 | (quote |sh-mode)|
|00004520| 29 0a 23 40 31 31 38 20 | 46 75 6e 63 74 69 6f 6e |).#@118 |Function|
|00004530| 20 74 6f 20 67 65 74 20 | 73 69 6d 70 6c 65 20 66 | to get |simple f|
|00004540| 6f 6e 74 69 66 69 63 61 | 74 69 6f 6e 20 62 61 73 |ontifica|tion bas|
|00004550| 65 64 20 6f 6e 20 60 73 | 68 2d 66 6f 6e 74 2d 6c |ed on `s|h-font-l|
|00004560| 6f 63 6b 2d 6b 65 79 77 | 6f 72 64 73 27 2e 0a 54 |ock-keyw|ords'..T|
|00004570| 68 69 73 20 61 64 64 73 | 20 72 75 6c 65 73 20 66 |his adds| rules f|
|00004580| 6f 72 20 63 6f 6d 6d 65 | 6e 74 73 20 61 6e 64 20 |or comme|nts and |
|00004590| 61 73 73 69 67 6e 6d 65 | 6e 74 73 2e 1f 0a 28 64 |assignme|nts...(d|
|000045a0| 65 66 61 6c 69 61 73 20 | 27 73 68 2d 66 6f 6e 74 |efalias |'sh-font|
|000045b0| 2d 6c 6f 63 6b 2d 6b 65 | 79 77 6f 72 64 73 20 23 |-lock-ke|ywords #|
|000045c0| 5b 28 26 6f 70 74 69 6f | 6e 61 6c 20 6b 65 79 77 |[(&optio|nal keyw|
|000045d0| 6f 72 64 73 29 20 22 c0 | 09 c2 5c 22 87 22 20 5b |ords) ".|..\"." [|
|000045e0| 73 68 2d 66 65 61 74 75 | 72 65 20 73 68 2d 66 6f |sh-featu|re sh-fo|
|000045f0| 6e 74 2d 6c 6f 63 6b 2d | 6b 65 79 77 6f 72 64 73 |nt-lock-|keywords|
|00004600| 20 23 5b 28 6c 69 73 74 | 29 20 22 c0 09 21 c2 50 | #[(list|) "..!.P|
|00004610| c3 42 c0 5c 66 21 c5 42 | c6 0e 07 0e 08 5c 22 42 |.B.\f!.B|.....\"B|
|00004620| 42 87 22 20 5b 73 68 2d | 66 65 61 74 75 72 65 20 |B." [sh-|feature |
|00004630| 73 68 2d 63 6f 6d 6d 65 | 6e 74 2d 70 72 65 66 69 |sh-comme|nt-prefi|
|00004640| 78 20 22 5c 5c 28 23 2e | 2a 5c 5c 29 22 20 28 32 |x "\\(#.|*\\)" (2|
|00004650| 20 66 6f 6e 74 2d 6c 6f | 63 6b 2d 63 6f 6d 6d 65 | font-lo|ck-comme|
|00004660| 6e 74 2d 66 61 63 65 20 | 74 29 20 73 68 2d 61 73 |nt-face |t) sh-as|
|00004670| 73 69 67 6e 6d 65 6e 74 | 2d 72 65 67 65 78 70 20 |signment|-regexp |
|00004680| 28 31 20 66 6f 6e 74 2d | 6c 6f 63 6b 2d 76 61 72 |(1 font-|lock-var|
|00004690| 69 61 62 6c 65 2d 6e 61 | 6d 65 2d 66 61 63 65 29 |iable-na|me-face)|
|000046a0| 20 61 70 70 65 6e 64 20 | 6b 65 79 77 6f 72 64 73 | append |keywords|
|000046b0| 20 6c 69 73 74 5d 20 35 | 5d 5d 20 33 20 28 23 24 | list] 5|]] 3 (#$|
|000046c0| 20 2e 20 31 37 37 30 34 | 29 5d 29 0a 23 40 35 38 | . 17704|)]).#@58|
|000046d0| 20 46 75 6e 63 74 69 6f | 6e 20 74 6f 20 67 65 74 | Functio|n to get|
|000046e0| 20 62 65 74 74 65 72 20 | 66 6f 6e 74 69 66 69 63 | better |fontific|
|000046f0| 61 74 69 6f 6e 20 69 6e | 63 6c 75 64 69 6e 67 20 |ation in|cluding |
|00004700| 6b 65 79 77 6f 72 64 73 | 2e 1f 0a 28 64 65 66 61 |keywords|...(defa|
|00004710| 6c 69 61 73 20 27 73 68 | 2d 66 6f 6e 74 2d 6c 6f |lias 'sh|-font-lo|
|00004720| 63 6b 2d 6b 65 79 77 6f | 72 64 73 2d 31 20 23 5b |ck-keywo|rds-1 #[|
|00004730| 28 26 6f 70 74 69 6f 6e | 61 6c 20 62 75 69 6c 74 |(&option|al built|
|00004740| 69 6e 73 29 20 22 c0 c1 | c2 c3 5c 66 21 c5 23 c6 |ins) "..|..\f!.#.|
|00004750| c1 c2 c7 c3 5c 66 21 c3 | 0e 08 21 5c 22 c5 23 c9 |....\f!.|..!\".#.|
|00004760| b0 05 1e 5c 6e cb c7 0e | 5c 66 85 36 00 0e 5c 6e |...\n...|\f.6..\n|
|00004770| cd c1 c2 c3 0e 0e 21 c5 | 23 cf 52 d0 42 c3 0e 11 |......!.|#.R.B...|
|00004780| 21 42 0e 5c 6e cf 50 d2 | 42 43 c3 0e 13 21 23 21 |!B.\n.P.|BC...!#!|
|00004790| 29 87 22 20 5b 22 5c 5c | 28 5b 3b 28 29 7b 7d 60 |)." ["\\|([;(){}`|
|000047a0| 7c 26 5d 5c 5c 7c 5e 5c | 5c 29 5b 20 09 5d 2a 5c ||&]\\|^\|\)[ .]*\|
|000047b0| 5c 28 5c 5c 28 5c 5c 28 | 22 20 6d 61 70 63 6f 6e |\(\\(\\(|" mapcon|
|000047c0| 63 61 74 20 69 64 65 6e | 74 69 74 79 20 73 68 2d |cat iden|tity sh-|
|000047d0| 66 65 61 74 75 72 65 20 | 73 68 2d 6c 65 61 64 69 |feature |sh-leadi|
|000047e0| 6e 67 2d 6b 65 79 77 6f | 72 64 73 20 22 5c 5c 7c |ng-keywo|rds "\\||
|000047f0| 22 20 22 5c 5c 29 5b 20 | 09 5d 2b 5c 5c 29 3f 5c |" "\\)[ |.]+\\)?\|
|00004800| 5c 28 22 20 61 70 70 65 | 6e 64 20 73 68 2d 6f 74 |\(" appe|nd sh-ot|
|00004810| 68 65 72 2d 6b 65 79 77 | 6f 72 64 73 20 22 5c 5c |her-keyw|ords "\\|
|00004820| 29 22 20 6b 65 79 77 6f | 72 64 73 20 73 68 2d 66 |)" keywo|rds sh-f|
|00004830| 6f 6e 74 2d 6c 6f 63 6b | 2d 6b 65 79 77 6f 72 64 |ont-lock|-keyword|
|00004840| 73 20 62 75 69 6c 74 69 | 6e 73 20 22 5b 20 09 5d |s builti|ns "[ .]|
|00004850| 2b 5c 5c 29 3f 5c 5c 28 | 22 20 73 68 2d 62 75 69 |+\\)?\\(|" sh-bui|
|00004860| 6c 74 69 6e 73 20 22 5c | 5c 29 5c 5c 3e 22 20 28 |ltins "\|\)\\>" (|
|00004870| 28 32 20 66 6f 6e 74 2d | 6c 6f 63 6b 2d 6b 65 79 |(2 font-|lock-key|
|00004880| 77 6f 72 64 2d 66 61 63 | 65 20 6e 69 6c 20 74 29 |word-fac|e nil t)|
|00004890| 20 28 36 20 66 6f 6e 74 | 2d 6c 6f 63 6b 2d 66 75 | (6 font|-lock-fu|
|000048a0| 6e 63 74 69 6f 6e 2d 6e | 61 6d 65 2d 66 61 63 65 |nction-n|ame-face|
|000048b0| 29 29 20 73 68 2d 66 6f | 6e 74 2d 6c 6f 63 6b 2d |)) sh-fo|nt-lock-|
|000048c0| 6b 65 79 77 6f 72 64 73 | 2d 32 20 28 32 20 66 6f |keywords|-2 (2 fo|
|000048d0| 6e 74 2d 6c 6f 63 6b 2d | 6b 65 79 77 6f 72 64 2d |nt-lock-|keyword-|
|000048e0| 66 61 63 65 29 20 73 68 | 2d 66 6f 6e 74 2d 6c 6f |face) sh|-font-lo|
|000048f0| 63 6b 2d 6b 65 79 77 6f | 72 64 73 2d 31 5d 20 39 |ck-keywo|rds-1] 9|
|00004900| 20 28 23 24 20 2e 20 31 | 38 31 32 39 29 5d 29 0a | (#$ . 1|8129)]).|
|00004910| 23 40 37 31 20 46 75 6e | 63 74 69 6f 6e 20 74 6f |#@71 Fun|ction to|
|00004920| 20 67 65 74 20 62 65 74 | 74 65 72 20 66 6f 6e 74 | get bet|ter font|
|00004930| 69 66 69 63 61 74 69 6f | 6e 20 69 6e 63 6c 75 64 |ificatio|n includ|
|00004940| 69 6e 67 20 6b 65 79 77 | 6f 72 64 73 20 61 6e 64 |ing keyw|ords and|
|00004950| 20 62 75 69 6c 74 69 6e | 73 2e 1f 0a 28 64 65 66 | builtin|s...(def|
|00004960| 61 6c 69 61 73 20 27 73 | 68 2d 66 6f 6e 74 2d 6c |alias 's|h-font-l|
|00004970| 6f 63 6b 2d 6b 65 79 77 | 6f 72 64 73 2d 32 20 23 |ock-keyw|ords-2 #|
|00004980| 5b 6e 69 6c 20 22 c0 c1 | 21 87 22 20 5b 73 68 2d |[nil "..|!." [sh-|
|00004990| 66 6f 6e 74 2d 6c 6f 63 | 6b 2d 6b 65 79 77 6f 72 |font-loc|k-keywor|
|000049a0| 64 73 2d 31 20 74 5d 20 | 32 20 28 23 24 20 2e 20 |ds-1 t] |2 (#$ . |
|000049b0| 31 38 37 30 39 29 5d 29 | 0a 23 40 31 35 30 20 53 |18709)])|.#@150 S|
|000049c0| 65 74 20 74 68 69 73 20 | 62 75 66 66 65 72 27 73 |et this |buffer's|
|000049d0| 20 73 68 65 6c 6c 20 74 | 6f 20 53 48 45 4c 4c 20 | shell t|o SHELL |
|000049e0| 28 61 20 73 74 72 69 6e | 67 29 2e 0a 4d 61 6b 65 |(a strin|g)..Make|
|000049f0| 73 20 74 68 69 73 20 73 | 63 72 69 70 74 20 65 78 |s this s|cript ex|
|00004a00| 65 63 75 74 61 62 6c 65 | 20 76 69 61 20 60 65 78 |ecutable| via `ex|
|00004a10| 65 63 75 74 61 62 6c 65 | 2d 73 65 74 2d 6d 61 67 |ecutable|-set-mag|
|00004a20| 69 63 27 2e 0a 43 61 6c | 6c 73 20 74 68 65 20 76 |ic'..Cal|ls the v|
|00004a30| 61 6c 75 65 20 6f 66 20 | 60 73 68 2d 73 65 74 2d |alue of |`sh-set-|
|00004a40| 73 68 65 6c 6c 2d 68 6f | 6f 6b 27 20 69 66 20 73 |shell-ho|ok' if s|
|00004a50| 65 74 2e 1f 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |et...(de|falias '|
|00004a60| 73 68 2d 73 65 74 2d 73 | 68 65 6c 6c 20 23 5b 28 |sh-set-s|hell #[(|
|00004a70| 73 68 65 6c 6c 20 26 6f | 70 74 69 6f 6e 61 6c 20 |shell &o|ptional |
|00004a80| 6e 6f 2d 71 75 65 72 79 | 2d 66 6c 61 67 20 69 6e |no-query|-flag in|
|00004a90| 73 65 72 74 2d 66 6c 61 | 67 29 20 22 c0 c1 5c 6e |sert-fla|g) "..\n|
|00004aa0| 21 21 89 13 5c 66 9e 41 | 86 0e 00 0b 13 c5 5c 6e |!!..\f.A|......\n|
|00004ab0| c6 0e 07 21 5c 22 16 08 | c6 0e 09 21 16 5c 6e cb |...!\"..|...!.\n.|
|00004ac0| 16 5c 66 cb 16 0d c6 0e | 0e 21 cf 50 16 10 d1 d2 |.\f.....|.!.P....|
|00004ad0| 0b 5c 22 16 13 cb 16 14 | cb 16 15 c6 0e 16 21 12 |.\".....|......!.|
|00004ae0| d7 c6 0e 18 21 21 88 5c | 6e 83 54 00 d9 5c 6e 40 |....!!.\|n.T..\n@|
|00004af0| 21 88 5c 6e 41 89 12 84 | 48 00 da db 21 83 65 00 |!.\nA...|H...!.e.|
|00004b00| 0e 1b 83 65 00 db 89 dc | 21 21 88 dd de 21 87 22 |...e....|!!...!."|
|00004b10| 20 5b 69 6e 74 65 72 6e | 20 66 69 6c 65 2d 6e 61 | [intern| file-na|
|00004b20| 6d 65 2d 6e 6f 6e 64 69 | 72 65 63 74 6f 72 79 20 |me-nondi|rectory |
|00004b30| 73 68 65 6c 6c 20 73 68 | 2d 73 68 65 6c 6c 20 73 |shell sh|-shell s|
|00004b40| 68 2d 61 6c 69 61 73 2d | 61 6c 69 73 74 20 65 78 |h-alias-|alist ex|
|00004b50| 65 63 75 74 61 62 6c 65 | 2d 73 65 74 2d 6d 61 67 |ecutable|-set-mag|
|00004b60| 69 63 20 73 68 2d 66 65 | 61 74 75 72 65 20 73 68 |ic sh-fe|ature sh|
|00004b70| 2d 73 68 65 6c 6c 2d 61 | 72 67 20 73 68 2d 73 68 |-shell-a|rg sh-sh|
|00004b80| 65 6c 6c 2d 66 69 6c 65 | 20 73 68 2d 72 65 71 75 |ell-file| sh-requ|
|00004b90| 69 72 65 2d 66 69 6e 61 | 6c 2d 6e 65 77 6c 69 6e |ire-fina|l-newlin|
|00004ba0| 65 20 72 65 71 75 69 72 | 65 2d 66 69 6e 61 6c 2d |e requir|e-final-|
|00004bb0| 6e 65 77 6c 69 6e 65 20 | 6e 69 6c 20 66 6f 6e 74 |newline |nil font|
|00004bc0| 2d 6c 6f 63 6b 2d 6b 65 | 79 77 6f 72 64 73 20 66 |-lock-ke|ywords f|
|00004bd0| 6f 6e 74 2d 6c 6f 63 6b | 2d 73 79 6e 74 61 78 2d |ont-lock|-syntax-|
|00004be0| 74 61 62 6c 65 20 73 68 | 2d 63 6f 6d 6d 65 6e 74 |table sh|-comment|
|00004bf0| 2d 70 72 65 66 69 78 20 | 22 23 2b 5b 09 20 5d 2a |-prefix |"#+[. ]*|
|00004c00| 22 20 63 6f 6d 6d 65 6e | 74 2d 73 74 61 72 74 2d |" commen|t-start-|
|00004c10| 73 6b 69 70 20 66 6f 72 | 6d 61 74 20 22 5b 25 73 |skip for|mat "[%s|
|00004c20| 5d 22 20 6d 6f 64 65 2d | 6c 69 6e 65 2d 70 72 6f |]" mode-|line-pro|
|00004c30| 63 65 73 73 20 73 68 2d | 73 68 65 6c 6c 2d 76 61 |cess sh-|shell-va|
|00004c40| 72 69 61 62 6c 65 73 20 | 73 68 2d 73 68 65 6c 6c |riables |sh-shell|
|00004c50| 2d 76 61 72 69 61 62 6c | 65 73 2d 69 6e 69 74 69 |-variabl|es-initi|
|00004c60| 61 6c 69 7a 65 64 20 73 | 68 2d 76 61 72 69 61 62 |alized s|h-variab|
|00004c70| 6c 65 73 20 73 65 74 2d | 73 79 6e 74 61 78 2d 74 |les set-|syntax-t|
|00004c80| 61 62 6c 65 20 73 68 2d | 6d 6f 64 65 2d 73 79 6e |able sh-|mode-syn|
|00004c90| 74 61 78 2d 74 61 62 6c | 65 20 73 68 2d 72 65 6d |tax-tabl|e sh-rem|
|00004ca0| 65 6d 62 65 72 2d 76 61 | 72 69 61 62 6c 65 20 62 |ember-va|riable b|
|00004cb0| 6f 75 6e 64 70 20 66 6f | 6e 74 2d 6c 6f 63 6b 2d |oundp fo|nt-lock-|
|00004cc0| 6d 6f 64 65 20 30 20 72 | 75 6e 2d 68 6f 6f 6b 73 |mode 0 r|un-hooks|
|00004cd0| 20 73 68 2d 73 65 74 2d | 73 68 65 6c 6c 2d 68 6f | sh-set-|shell-ho|
|00004ce0| 6f 6b 5d 20 35 20 28 23 | 24 20 2e 20 31 38 38 37 |ok] 5 (#|$ . 1887|
|00004cf0| 39 29 20 28 6c 69 73 74 | 20 28 63 6f 6d 70 6c 65 |9) (list| (comple|
|00004d00| 74 69 6e 67 2d 72 65 61 | 64 20 22 4e 61 6d 65 20 |ting-rea|d "Name |
|00004d10| 6f 72 20 70 61 74 68 20 | 6f 66 20 73 68 65 6c 6c |or path |of shell|
|00004d20| 3a 20 22 20 69 6e 74 65 | 72 70 72 65 74 65 72 2d |: " inte|rpreter-|
|00004d30| 6d 6f 64 65 2d 61 6c 69 | 73 74 20 28 6c 61 6d 62 |mode-ali|st (lamb|
|00004d40| 64 61 20 28 78 29 20 28 | 65 71 20 28 63 64 72 20 |da (x) (|eq (cdr |
|00004d50| 78 29 20 28 71 75 6f 74 | 65 20 73 68 2d 6d 6f 64 |x) (quot|e sh-mod|
|00004d60| 65 29 29 29 29 20 28 65 | 71 20 65 78 65 63 75 74 |e)))) (e|q execut|
|00004d70| 61 62 6c 65 2d 71 75 65 | 72 79 20 28 71 75 6f 74 |able-que|ry (quot|
|00004d80| 65 20 66 75 6e 63 74 69 | 6f 6e 29 29 20 74 29 5d |e functi|on)) t)]|
|00004d90| 29 0a 23 40 38 39 32 20 | 49 6e 64 65 78 20 41 4c |).#@892 |Index AL|
|00004da0| 49 53 54 20 62 79 20 74 | 68 65 20 63 75 72 72 65 |IST by t|he curre|
|00004db0| 6e 74 20 73 68 65 6c 6c | 2e 0a 49 66 20 41 4c 49 |nt shell|..If ALI|
|00004dc0| 53 54 20 69 73 6e 27 74 | 20 61 20 6c 69 73 74 20 |ST isn't| a list |
|00004dd0| 77 68 65 72 65 20 65 76 | 65 72 79 20 65 6c 65 6d |where ev|ery elem|
|00004de0| 65 6e 74 20 69 73 20 61 | 20 63 6f 6e 73 2c 20 69 |ent is a| cons, i|
|00004df0| 74 20 69 73 20 72 65 74 | 75 72 6e 65 64 20 61 73 |t is ret|urned as|
|00004e00| 20 69 73 2e 0a 45 6c 73 | 65 20 69 6e 64 65 78 69 | is..Els|e indexi|
|00004e10| 6e 67 20 66 6f 6c 6c 6f | 77 73 20 61 6e 20 69 6e |ng follo|ws an in|
|00004e20| 68 65 72 69 74 61 6e 63 | 65 20 6c 6f 67 69 63 20 |heritanc|e logic |
|00004e30| 77 68 69 63 68 20 77 6f | 72 6b 73 20 69 6e 20 74 |which wo|rks in t|
|00004e40| 77 6f 20 77 61 79 73 3a | 0a 0a 20 20 2d 20 46 61 |wo ways:|.. - Fa|
|00004e50| 6c 6c 20 62 61 63 6b 20 | 6f 6e 20 73 75 63 63 65 |ll back |on succe|
|00004e60| 73 73 69 76 65 20 61 6e | 63 65 73 74 6f 72 73 20 |ssive an|cestors |
|00004e70| 28 73 65 65 20 60 73 68 | 2d 61 6e 63 65 73 74 6f |(see `sh|-ancesto|
|00004e80| 72 2d 61 6c 69 73 74 27 | 29 20 61 73 20 6c 6f 6e |r-alist'|) as lon|
|00004e90| 67 20 61 73 0a 20 20 20 | 20 74 68 65 20 61 6c 69 |g as. | the ali|
|00004ea0| 73 74 20 63 6f 6e 74 61 | 69 6e 73 20 6e 6f 20 76 |st conta|ins no v|
|00004eb0| 61 6c 75 65 20 66 6f 72 | 20 74 68 65 20 63 75 72 |alue for| the cur|
|00004ec0| 72 65 6e 74 20 73 68 65 | 6c 6c 2e 0a 0a 20 20 2d |rent she|ll... -|
|00004ed0| 20 49 66 20 74 68 65 20 | 76 61 6c 75 65 20 74 68 | If the |value th|
|00004ee0| 75 73 20 6c 6f 6f 6b 65 | 64 20 75 70 20 69 73 20 |us looke|d up is |
|00004ef0| 61 20 6c 69 73 74 20 73 | 74 61 72 74 69 6e 67 20 |a list s|tarting |
|00004f00| 77 69 74 68 20 60 65 76 | 61 6c 27 20 69 74 73 20 |with `ev|al' its |
|00004f10| 60 63 64 72 27 20 69 73 | 0a 20 20 20 20 66 69 72 |`cdr' is|. fir|
|00004f20| 73 74 20 65 76 61 6c 75 | 61 74 65 64 2e 20 20 49 |st evalu|ated. I|
|00004f30| 66 20 74 68 61 74 20 69 | 73 20 61 6c 73 6f 20 61 |f that i|s also a|
|00004f40| 20 6c 69 73 74 20 61 6e | 64 20 74 68 65 20 66 69 | list an|d the fi|
|00004f50| 72 73 74 20 61 72 67 75 | 6d 65 6e 74 20 69 73 20 |rst argu|ment is |
|00004f60| 61 0a 20 20 20 20 73 79 | 6d 62 6f 6c 20 69 6e 20 |a. sy|mbol in |
|00004f70| 41 4c 49 53 54 20 69 74 | 20 69 73 20 6e 6f 74 20 |ALIST it| is not |
|00004f80| 65 76 61 6c 75 61 74 65 | 64 2c 20 62 75 74 20 72 |evaluate|d, but r|
|00004f90| 61 74 68 65 72 20 72 65 | 63 75 72 73 69 76 65 6c |ather re|cursivel|
|00004fa0| 79 20 6c 6f 6f 6b 65 64 | 20 75 70 20 69 6e 0a 20 |y looked| up in. |
|00004fb0| 20 20 20 41 4c 49 53 54 | 20 74 6f 20 61 6c 6c 6f | ALIST| to allo|
|00004fc0| 77 20 74 68 65 20 66 75 | 6e 63 74 69 6f 6e 20 63 |w the fu|nction c|
|00004fd0| 61 6c 6c 65 64 20 74 6f | 20 64 65 66 69 6e 65 20 |alled to| define |
|00004fe0| 74 68 65 20 76 61 6c 75 | 65 20 66 6f 72 20 6f 6e |the valu|e for on|
|00004ff0| 65 20 73 68 65 6c 6c 20 | 74 6f 20 62 65 0a 20 20 |e shell |to be. |
|00005000| 20 20 64 65 72 69 76 65 | 64 20 66 72 6f 6d 20 61 | derive|d from a|
|00005010| 6e 6f 74 68 65 72 20 73 | 68 65 6c 6c 2e 20 20 57 |nother s|hell. W|
|00005020| 68 69 6c 65 20 63 61 6c | 6c 69 6e 67 20 74 68 65 |hile cal|ling the|
|00005030| 20 66 75 6e 63 74 69 6f | 6e 2c 20 69 73 20 74 68 | functio|n, is th|
|00005040| 65 20 63 61 72 20 6f 66 | 20 74 68 65 0a 20 20 20 |e car of| the. |
|00005050| 20 61 6c 69 73 74 20 65 | 6c 65 6d 65 6e 74 20 69 | alist e|lement i|
|00005060| 73 20 74 68 65 20 63 75 | 72 72 65 6e 74 20 73 68 |s the cu|rrent sh|
|00005070| 65 6c 6c 2e 0a 20 20 20 | 20 54 68 65 20 76 61 6c |ell.. | The val|
|00005080| 75 65 20 74 68 75 73 20 | 64 65 74 65 72 6d 69 6e |ue thus |determin|
|00005090| 65 64 20 69 73 20 70 68 | 79 73 69 63 61 6c 6c 79 |ed is ph|ysically|
|000050a0| 20 72 65 70 6c 61 63 65 | 64 20 69 6e 74 6f 20 74 | replace|d into t|
|000050b0| 68 65 20 61 6c 69 73 74 | 2e 0a 0a 4f 70 74 69 6f |he alist|...Optio|
|000050c0| 6e 61 6c 20 46 55 4e 43 | 54 49 4f 4e 20 69 73 20 |nal FUNC|TION is |
|000050d0| 61 70 70 6c 69 65 64 20 | 74 6f 20 74 68 65 20 64 |applied |to the d|
|000050e0| 65 74 65 72 6d 69 6e 65 | 64 20 76 61 6c 75 65 20 |etermine|d value |
|000050f0| 61 6e 64 20 74 68 65 20 | 72 65 73 75 6c 74 20 69 |and the |result i|
|00005100| 73 20 63 61 63 68 65 64 | 0a 69 6e 20 41 4c 49 53 |s cached|.in ALIS|
|00005110| 54 2e 1f 0a 28 64 65 66 | 61 6c 69 61 73 20 27 73 |T...(def|alias 's|
|00005120| 68 2d 66 65 61 74 75 72 | 65 20 23 5b 28 6c 69 73 |h-featur|e #[(lis|
|00005130| 74 20 26 6f 70 74 69 6f | 6e 61 6c 20 66 75 6e 63 |t &optio|nal func|
|00005140| 74 69 6f 6e 29 20 22 08 | 3a 83 21 00 08 89 19 83 |tion) ".|:.!.....|
|00005150| 18 00 09 40 3a 83 18 00 | 09 41 89 11 84 0b 00 09 |...@:...|.A......|
|00005160| 85 1d 00 08 29 86 ac 00 | 5c 6e 83 31 00 c3 5c 66 |....)...|\n.1..\f|
|00005170| 5c 6e 42 89 12 08 5c 22 | 41 86 ac 00 5c 66 c5 89 |\nB...\"|A...\f..|
|00005180| 1e 06 1e 07 89 1c 83 50 | 00 5c 66 08 9e 89 16 07 |.......P|.\f.....|
|00005190| 84 50 00 5c 66 0e 08 9e | 41 89 14 84 3d 00 0e 07 |.P.\f...|A...=...|
|000051a0| 41 89 16 06 3a 83 94 00 | 0e 06 40 c9 3d 83 94 00 |A...:...|..@.=...|
|000051b0| 0e 07 c9 0e 06 41 89 16 | 06 3a 83 8c 00 0e 06 41 |.....A..|.:.....A|
|000051c0| 40 c5 1a 89 1c 08 9e 83 | 86 00 0e 06 41 ca cb 08 |@.......|....A...|
|000051d0| 21 44 a0 88 0e 06 2a 82 | 8e 00 0e 06 21 89 16 06 |!D....*.|....!...|
|000051e0| a1 88 5c 6e 83 a9 00 08 | 5c 6e 89 40 14 5c 6e 41 |..\n....|\n.@.\nA|
|000051f0| 0e 06 21 89 16 06 42 43 | a4 88 0e 06 2b 87 22 20 |..!...BC|....+." |
|00005200| 5b 6c 69 73 74 20 6c 20 | 66 75 6e 63 74 69 6f 6e |[list l |function|
|00005210| 20 61 73 73 6f 63 20 73 | 68 2d 73 68 65 6c 6c 20 | assoc s|h-shell |
|00005220| 6e 69 6c 20 76 61 6c 20 | 65 6c 74 20 73 68 2d 61 |nil val |elt sh-a|
|00005230| 6e 63 65 73 74 6f 72 2d | 61 6c 69 73 74 20 65 76 |ncestor-|alist ev|
|00005240| 61 6c 20 71 75 6f 74 65 | 20 73 68 2d 66 65 61 74 |al quote| sh-feat|
|00005250| 75 72 65 5d 20 37 20 28 | 23 24 20 2e 20 31 39 38 |ure] 7 (|#$ . 198|
|00005260| 36 34 29 5d 29 0a 23 40 | 37 32 20 43 6f 70 79 20 |64)]).#@|72 Copy |
|00005270| 54 41 42 4c 45 20 61 6e | 64 20 73 65 74 20 73 79 |TABLE an|d set sy|
|00005280| 6e 74 61 78 20 66 6f 72 | 20 73 75 63 63 65 73 73 |ntax for| success|
|00005290| 69 76 65 20 43 48 41 52 | 73 20 61 63 63 6f 72 64 |ive CHAR|s accord|
|000052a0| 69 6e 67 20 74 6f 20 73 | 74 72 69 6e 67 73 20 53 |ing to s|trings S|
|000052b0| 2e 1f 0a 28 64 65 66 61 | 6c 69 61 73 20 27 73 68 |...(defa|lias 'sh|
|000052c0| 2d 6d 6f 64 65 2d 73 79 | 6e 74 61 78 2d 74 61 62 |-mode-sy|ntax-tab|
|000052d0| 6c 65 20 23 5b 28 74 61 | 62 6c 65 20 26 72 65 73 |le #[(ta|ble &res|
|000052e0| 74 20 6c 69 73 74 29 20 | 22 c0 09 21 11 5c 6e 83 |t list) |"..!.\n.|
|000052f0| 19 00 c3 5c 6e 40 5c 6e | 41 40 09 23 88 5c 6e 41 |...\n@\n|A@.#.\nA|
|00005300| 41 89 12 84 08 00 09 87 | 22 20 5b 63 6f 70 79 2d |A.......|" [copy-|
|00005310| 73 79 6e 74 61 78 2d 74 | 61 62 6c 65 20 74 61 62 |syntax-t|able tab|
|00005320| 6c 65 20 6c 69 73 74 20 | 6d 6f 64 69 66 79 2d 73 |le list |modify-s|
|00005330| 79 6e 74 61 78 2d 65 6e | 74 72 79 5d 20 35 20 28 |yntax-en|try] 5 (|
|00005340| 23 24 20 2e 20 32 31 30 | 39 39 29 5d 29 0a 23 40 |#$ . 210|99)]).#@|
|00005350| 37 38 20 52 65 74 75 72 | 6e 20 6c 69 73 74 20 63 |78 Retur|n list c|
|00005360| 6f 6d 70 6f 73 65 64 20 | 6f 66 20 66 69 72 73 74 |omposed |of first|
|00005370| 20 61 72 67 75 6d 65 6e | 74 20 28 61 20 6c 69 73 | argumen|t (a lis|
|00005380| 74 29 20 70 68 79 73 69 | 63 61 6c 6c 79 20 61 70 |t) physi|cally ap|
|00005390| 70 65 6e 64 65 64 20 74 | 6f 20 72 65 73 74 2e 1f |pended t|o rest..|
|000053a0| 0a 28 64 65 66 61 6c 69 | 61 73 20 27 73 68 2d 61 |.(defali|as 'sh-a|
|000053b0| 70 70 65 6e 64 20 23 5b | 28 61 6e 63 65 73 74 6f |ppend #[|(ancesto|
|000053c0| 72 20 26 72 65 73 74 20 | 6c 69 73 74 29 20 22 08 |r &rest |list) ".|
|000053d0| 09 a4 87 22 20 5b 6c 69 | 73 74 20 61 6e 63 65 73 |..." [li|st ances|
|000053e0| 74 6f 72 5d 20 32 20 28 | 23 24 20 2e 20 32 31 33 |tor] 2 (|#$ . 213|
|000053f0| 33 31 29 5d 29 0a 23 40 | 37 33 20 4d 6f 64 69 66 |31)]).#@|73 Modif|
|00005400| 79 20 61 20 63 6f 70 79 | 20 6f 66 20 53 4b 45 4c |y a copy| of SKEL|
|00005410| 45 54 4f 4e 20 62 79 20 | 72 65 70 6c 61 63 69 6e |ETON by |replacin|
|00005420| 67 20 49 31 20 77 69 74 | 68 20 52 45 50 4c 31 2c |g I1 wit|h REPL1,|
|00005430| 20 49 32 20 77 69 74 68 | 20 52 45 50 4c 32 20 2e | I2 with| REPL2 .|
|00005440| 2e 2e 1f 0a 28 64 65 66 | 61 6c 69 61 73 20 27 73 |....(def|alias 's|
|00005450| 68 2d 6d 6f 64 69 66 79 | 20 23 5b 28 73 6b 65 6c |h-modify| #[(skel|
|00005460| 65 74 6f 6e 20 26 72 65 | 73 74 20 6c 69 73 74 29 |eton &re|st list)|
|00005470| 20 22 c0 09 21 11 5c 6e | 83 21 00 5c 6e 40 09 9b | "..!.\n|.!.\n@..|
|00005480| 86 14 00 c3 c4 5c 6e 40 | 5c 22 5c 6e 41 40 a0 88 |.....\n@|\"\nA@..|
|00005490| 5c 6e 41 41 89 12 84 08 | 00 09 87 22 20 5b 63 6f |\nAA....|..." [co|
|000054a0| 70 79 2d 73 65 71 75 65 | 6e 63 65 20 73 6b 65 6c |py-seque|nce skel|
|000054b0| 65 74 6f 6e 20 6c 69 73 | 74 20 65 72 72 6f 72 20 |eton lis|t error |
|000054c0| 22 49 6e 64 65 78 20 25 | 64 20 6f 75 74 20 6f 66 |"Index %|d out of|
|000054d0| 20 62 6f 75 6e 64 73 22 | 5d 20 34 20 28 23 24 20 | bounds"|] 4 (#$ |
|000054e0| 2e 20 32 31 34 39 39 29 | 5d 29 0a 23 40 31 33 32 |. 21499)|]).#@132|
|000054f0| 20 49 6e 64 65 6e 74 20 | 61 73 20 66 61 72 20 61 | Indent |as far a|
|00005500| 73 20 70 72 65 63 65 64 | 69 6e 67 20 6e 6f 6e 2d |s preced|ing non-|
|00005510| 65 6d 70 74 79 20 6c 69 | 6e 65 2c 20 74 68 65 6e |empty li|ne, then|
|00005520| 20 62 79 20 73 74 65 70 | 73 20 6f 66 20 60 73 68 | by step|s of `sh|
|00005530| 2d 69 6e 64 65 6e 74 61 | 74 69 6f 6e 27 2e 0a 4c |-indenta|tion'..L|
|00005540| 69 6e 65 73 20 63 6f 6e | 74 61 69 6e 69 6e 67 20 |ines con|taining |
|00005550| 6f 6e 6c 79 20 63 6f 6d | 6d 65 6e 74 73 20 61 72 |only com|ments ar|
|00005560| 65 20 63 6f 6e 73 69 64 | 65 72 65 64 20 65 6d 70 |e consid|ered emp|
|00005570| 74 79 2e 1f 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |ty...(de|falias '|
|00005580| 73 68 2d 69 6e 64 65 6e | 74 2d 6c 69 6e 65 20 23 |sh-inden|t-line #|
|00005590| 5b 6e 69 6c 20 22 8a 6f | 84 15 00 c0 79 88 c1 20 |[nil ".o|....y.. |
|000055a0| 88 6c 84 01 00 67 c2 3d | 84 01 00 69 29 c3 1c 1d |.l...g.=|...i)...|
|000055b0| 8a 0e 06 c7 3d 83 26 00 | 0d 82 5d 00 69 c1 20 88 |....=.&.|..].i. .|
|000055c0| 69 89 14 57 83 3d 00 6c | 83 39 00 0d 82 5d 00 c8 |i..W.=.l|.9...]..|
|000055d0| 82 5d 00 60 c8 79 88 60 | 7c 88 6c 83 55 00 0d 5c |.].`.y.`||.l.U..\|
|000055e0| 66 0e 09 a5 54 0e 09 5f | 5d 82 5d 00 5c 66 0e 09 |f...T.._|].].\f..|
|000055f0| a5 54 0e 09 5f 6a 88 29 | 69 ca 20 57 85 6a 00 cb |.T.._j.)|i. W.j..|
|00005600| c3 77 2a 87 22 20 5b 2d | 31 20 62 61 63 6b 2d 74 |.w*." [-|1 back-t|
|00005610| 6f 2d 69 6e 64 65 6e 74 | 61 74 69 6f 6e 20 33 35 |o-indent|ation 35|
|00005620| 20 6e 69 6c 20 63 75 72 | 72 65 6e 74 20 70 72 65 | nil cur|rent pre|
|00005630| 76 69 6f 75 73 20 74 68 | 69 73 2d 63 6f 6d 6d 61 |vious th|is-comma|
|00005640| 6e 64 20 6e 65 77 6c 69 | 6e 65 2d 61 6e 64 2d 69 |nd newli|ne-and-i|
|00005650| 6e 64 65 6e 74 20 30 20 | 73 68 2d 69 6e 64 65 6e |ndent 0 |sh-inden|
|00005660| 74 61 74 69 6f 6e 20 63 | 75 72 72 65 6e 74 2d 69 |tation c|urrent-i|
|00005670| 6e 64 65 6e 74 61 74 69 | 6f 6e 20 22 20 09 22 5d |ndentati|on " ."]|
|00005680| 20 33 20 28 23 24 20 2e | 20 32 31 37 34 35 29 20 | 3 (#$ .| 21745) |
|00005690| 6e 69 6c 5d 29 0a 23 40 | 33 39 38 20 50 61 73 73 |nil]).#@|398 Pass|
|000056a0| 20 6f 70 74 69 6f 6e 61 | 6c 20 68 65 61 64 65 72 | optiona|l header|
|000056b0| 20 61 6e 64 20 72 65 67 | 69 6f 6e 20 74 6f 20 61 | and reg|ion to a|
|000056c0| 20 73 75 62 73 68 65 6c | 6c 20 66 6f 72 20 6e 6f | subshel|l for no|
|000056d0| 6e 69 6e 74 65 72 61 63 | 74 69 76 65 20 65 78 65 |ninterac|tive exe|
|000056e0| 63 75 74 69 6f 6e 2e 0a | 54 68 65 20 77 6f 72 6b |cution..|The work|
|000056f0| 69 6e 67 20 64 69 72 65 | 63 74 6f 72 79 20 69 73 |ing dire|ctory is|
|00005700| 20 74 68 61 74 20 6f 66 | 20 74 68 65 20 62 75 66 | that of| the buf|
|00005710| 66 65 72 2c 20 61 6e 64 | 20 6f 6e 6c 79 20 65 6e |fer, and| only en|
|00005720| 76 69 72 6f 6e 6d 65 6e | 74 20 76 61 72 69 61 62 |vironmen|t variab|
|00005730| 6c 65 73 0a 61 72 65 20 | 61 6c 72 65 61 64 79 20 |les.are |already |
|00005740| 73 65 74 20 77 68 69 63 | 68 20 69 73 20 77 68 79 |set whic|h is why|
|00005750| 20 79 6f 75 20 63 61 6e | 20 6d 61 72 6b 20 61 20 | you can| mark a |
|00005760| 68 65 61 64 65 72 20 77 | 69 74 68 69 6e 20 74 68 |header w|ithin th|
|00005770| 65 20 73 63 72 69 70 74 | 2e 0a 0a 57 69 74 68 20 |e script|...With |
|00005780| 61 20 70 6f 73 69 74 69 | 76 65 20 70 72 65 66 69 |a positi|ve prefi|
|00005790| 78 20 41 52 47 2c 20 69 | 6e 73 74 65 61 64 20 6f |x ARG, i|nstead o|
|000057a0| 66 20 73 65 6e 64 69 6e | 67 20 72 65 67 69 6f 6e |f sendin|g region|
|000057b0| 2c 20 64 65 66 69 6e 65 | 20 68 65 61 64 65 72 20 |, define| header |
|000057c0| 66 72 6f 6d 0a 62 65 67 | 69 6e 6e 69 6e 67 20 6f |from.beg|inning o|
|000057d0| 66 20 62 75 66 66 65 72 | 20 74 6f 20 70 6f 69 6e |f buffer| to poin|
|000057e0| 74 2e 20 20 57 69 74 68 | 20 61 20 6e 65 67 61 74 |t. With| a negat|
|000057f0| 69 76 65 20 70 72 65 66 | 69 78 20 41 52 47 2c 20 |ive pref|ix ARG, |
|00005800| 69 6e 73 74 65 61 64 20 | 6f 66 20 73 65 6e 64 69 |instead |of sendi|
|00005810| 6e 67 0a 72 65 67 69 6f | 6e 2c 20 63 6c 65 61 72 |ng.regio|n, clear|
|00005820| 20 68 65 61 64 65 72 2e | 1f 0a 28 64 65 66 61 6c | header.|..(defal|
|00005830| 69 61 73 20 27 73 68 2d | 65 78 65 63 75 74 65 2d |ias 'sh-|execute-|
|00005840| 72 65 67 69 6f 6e 20 23 | 5b 28 73 74 61 72 74 20 |region #|[(start |
|00005850| 65 6e 64 20 26 6f 70 74 | 69 6f 6e 61 6c 20 66 6c |end &opt|ional fl|
|00005860| 61 67 29 20 22 08 83 11 | 00 c1 08 21 c2 56 85 0e |ag) "...|...!.V..|
|00005870| 00 c3 20 89 14 87 5c 66 | 83 3a 00 8a c5 1e 06 5c |.. ...\f|.:.....\|
|00005880| 66 62 88 c7 70 0e 08 0e | 09 23 88 ca 65 5c 66 0e |fb..p...|.#..e\f.|
|00005890| 09 0e 08 5a 5c 5c 89 16 | 09 0e 0b 23 88 5c 66 0e |...Z\\..|...#.\f.|
|000058a0| 09 7c 2a 87 ca 0e 08 0e | 09 0e 0b cc 50 23 87 22 |.|*.....|....P#."|
|000058b0| 20 5b 66 6c 61 67 20 70 | 72 65 66 69 78 2d 6e 75 | [flag p|refix-nu|
|000058c0| 6d 65 72 69 63 2d 76 61 | 6c 75 65 20 30 20 70 6f |meric-va|lue 0 po|
|000058d0| 69 6e 74 2d 6d 61 72 6b | 65 72 20 73 68 2d 68 65 |int-mark|er sh-he|
|000058e0| 61 64 65 72 2d 6d 61 72 | 6b 65 72 20 6e 69 6c 20 |ader-mar|ker nil |
|000058f0| 62 75 66 66 65 72 2d 75 | 6e 64 6f 2d 6c 69 73 74 |buffer-u|ndo-list|
|00005900| 20 61 70 70 65 6e 64 2d | 74 6f 2d 62 75 66 66 65 | append-|to-buffe|
|00005910| 72 20 73 74 61 72 74 20 | 65 6e 64 20 73 68 65 6c |r start |end shel|
|00005920| 6c 2d 63 6f 6d 6d 61 6e | 64 2d 6f 6e 2d 72 65 67 |l-comman|d-on-reg|
|00005930| 69 6f 6e 20 73 68 2d 73 | 68 65 6c 6c 2d 66 69 6c |ion sh-s|hell-fil|
|00005940| 65 20 22 20 2d 22 5d 20 | 35 20 28 23 24 20 2e 20 |e " -"] |5 (#$ . |
|00005950| 32 32 31 37 32 29 20 22 | 72 5c 6e 50 22 5d 29 0a |22172) "|r\nP"]).|
|00005960| 23 40 36 39 20 4d 61 6b | 65 20 56 41 52 49 41 42 |#@69 Mak|e VARIAB|
|00005970| 4c 45 20 61 76 61 69 6c | 61 62 6c 65 20 66 6f 72 |LE avail|able for|
|00005980| 20 66 75 74 75 72 65 20 | 63 6f 6d 70 6c 65 74 69 | future |completi|
|00005990| 6e 67 20 72 65 61 64 73 | 20 69 6e 20 74 68 69 73 |ng reads| in this|
|000059a0| 20 62 75 66 66 65 72 2e | 1f 0a 28 64 65 66 61 6c | buffer.|..(defal|
|000059b0| 69 61 73 20 27 73 68 2d | 72 65 6d 65 6d 62 65 72 |ias 'sh-|remember|
|000059c0| 2d 76 61 72 69 61 62 6c | 65 20 23 5b 28 76 61 72 |-variabl|e #[(var|
|000059d0| 29 20 22 08 47 09 57 84 | 1a 00 c2 08 21 84 1a 00 |) ".G.W.|....!...|
|000059e0| c3 08 5c 66 5c 22 84 1a | 00 08 89 42 5c 66 42 14 |..\f\"..|...B\fB.|
|000059f0| 08 87 22 20 5b 76 61 72 | 20 73 68 2d 72 65 6d 65 |.." [var| sh-reme|
|00005a00| 6d 62 65 72 2d 76 61 72 | 69 61 62 6c 65 2d 6d 69 |mber-var|iable-mi|
|00005a10| 6e 20 67 65 74 65 6e 76 | 20 61 73 73 6f 63 20 73 |n getenv| assoc s|
|00005a20| 68 2d 73 68 65 6c 6c 2d | 76 61 72 69 61 62 6c 65 |h-shell-|variable|
|00005a30| 73 5d 20 33 20 28 23 24 | 20 2e 20 32 32 38 38 35 |s] 3 (#$| . 22885|
|00005a40| 29 5d 29 0a 23 40 35 32 | 20 49 73 20 70 6f 69 6e |)]).#@52| Is poin|
|00005a50| 74 20 70 72 65 63 65 64 | 65 64 20 62 79 20 61 6e |t preced|ed by an|
|00005a60| 20 6f 64 64 20 6e 75 6d | 62 65 72 20 6f 66 20 62 | odd num|ber of b|
|00005a70| 61 63 6b 73 6c 61 73 68 | 65 73 3f 1f 0a 28 64 65 |ackslash|es?..(de|
|00005a80| 66 61 6c 69 61 73 20 27 | 73 68 2d 71 75 6f 74 65 |falias '|sh-quote|
|00005a90| 64 2d 70 20 23 5b 6e 69 | 6c 20 22 8a c0 c1 78 29 |d-p #[ni|l "...x)|
|00005aa0| c2 a6 c3 3d 87 22 20 5b | 22 5c 5c 5c 5c 22 20 6e |...=." [|"\\\\" n|
|00005ab0| 69 6c 20 32 20 2d 31 5d | 20 32 20 28 23 24 20 2e |il 2 -1]| 2 (#$ .|
|00005ac0| 20 32 33 31 31 33 29 5d | 29 0a 23 40 34 37 37 20 | 23113)]|).#@477 |
|00005ad0| 49 6e 73 65 72 74 20 61 | 20 63 61 73 65 2f 73 77 |Insert a| case/sw|
|00005ae0| 69 74 63 68 20 73 74 61 | 74 65 6d 65 6e 74 2e 20 |itch sta|tement. |
|00005af0| 20 53 65 65 20 60 73 68 | 2d 66 65 61 74 75 72 65 | See `sh|-feature|
|00005b00| 27 2e 0a 0a 54 68 69 73 | 20 69 73 20 61 20 73 6b |'...This| is a sk|
|00005b10| 65 6c 65 74 6f 6e 20 63 | 6f 6d 6d 61 6e 64 20 28 |eleton c|ommand (|
|00005b20| 73 65 65 20 60 73 6b 65 | 6c 65 74 6f 6e 2d 69 6e |see `ske|leton-in|
|00005b30| 73 65 72 74 27 29 2e 0a | 4e 6f 72 6d 61 6c 6c 79 |sert')..|Normally|
|00005b40| 20 74 68 65 20 73 6b 65 | 6c 65 74 6f 6e 20 74 65 | the ske|leton te|
|00005b50| 78 74 20 69 73 20 69 6e | 73 65 72 74 65 64 20 61 |xt is in|serted a|
|00005b60| 74 20 70 6f 69 6e 74 2c | 20 77 69 74 68 20 6e 6f |t point,| with no|
|00005b70| 74 68 69 6e 67 20 22 69 | 6e 73 69 64 65 22 2e 0a |thing "i|nside"..|
|00005b80| 49 66 20 74 68 65 72 65 | 20 69 73 20 61 20 68 69 |If there| is a hi|
|00005b90| 67 68 6c 69 67 68 74 65 | 64 20 72 65 67 69 6f 6e |ghlighte|d region|
|00005ba0| 2c 20 74 68 65 20 73 6b | 65 6c 65 74 6f 6e 20 74 |, the sk|eleton t|
|00005bb0| 65 78 74 20 69 73 20 77 | 72 61 70 70 65 64 0a 61 |ext is w|rapped.a|
|00005bc0| 72 6f 75 6e 64 20 74 68 | 65 20 72 65 67 69 6f 6e |round th|e region|
|00005bd0| 20 74 65 78 74 2e 0a 0a | 41 20 70 72 65 66 69 78 | text...|A prefix|
|00005be0| 20 61 72 67 75 6d 65 6e | 74 20 41 52 47 20 73 61 | argumen|t ARG sa|
|00005bf0| 79 73 20 74 6f 20 77 72 | 61 70 20 74 68 65 20 73 |ys to wr|ap the s|
|00005c00| 6b 65 6c 65 74 6f 6e 20 | 61 72 6f 75 6e 64 20 74 |keleton |around t|
|00005c10| 68 65 20 6e 65 78 74 20 | 41 52 47 20 77 6f 72 64 |he next |ARG word|
|00005c20| 73 2e 0a 41 20 70 72 65 | 66 69 78 20 61 72 67 75 |s..A pre|fix argu|
|00005c30| 6d 65 6e 74 20 6f 66 20 | 7a 65 72 6f 20 73 61 79 |ment of |zero say|
|00005c40| 73 20 74 6f 20 77 72 61 | 70 20 61 72 6f 75 6e 64 |s to wra|p around|
|00005c50| 20 7a 65 72 6f 20 77 6f | 72 64 73 2d 2d 2d 74 68 | zero wo|rds---th|
|00005c60| 61 74 20 69 73 2c 20 6e | 6f 74 68 69 6e 67 2e 0a |at is, n|othing..|
|00005c70| 54 68 69 73 20 69 73 20 | 61 20 77 61 79 20 6f 66 |This is |a way of|
|00005c80| 20 6f 76 65 72 69 64 69 | 6e 67 20 74 68 65 20 75 | overidi|ng the u|
|00005c90| 73 65 20 6f 66 20 61 20 | 68 69 67 68 6c 69 67 68 |se of a |highligh|
|00005ca0| 74 65 64 20 72 65 67 69 | 6f 6e 2e 1f 0a 28 64 65 |ted regi|on...(de|
|00005cb0| 66 61 6c 69 61 73 20 27 | 73 68 2d 63 61 73 65 20 |falias '|sh-case |
|00005cc0| 23 5b 28 26 6f 70 74 69 | 6f 6e 61 6c 20 73 74 72 |#[(&opti|onal str|
|00005cd0| 20 61 72 67 29 20 22 c0 | c1 5c 6e 0b 23 87 22 20 | arg) ".|.\n.#." |
|00005ce0| 5b 73 6b 65 6c 65 74 6f | 6e 2d 70 72 6f 78 79 2d |[skeleto|n-proxy-|
|00005cf0| 6e 65 77 20 28 28 63 73 | 68 20 22 65 78 70 72 65 |new ((cs|h "expre|
|00005d00| 73 73 69 6f 6e 3a 20 22 | 20 22 73 77 69 74 63 68 |ssion: "| "switch|
|00005d10| 28 20 22 20 73 74 72 20 | 22 20 29 22 20 6e 20 3e |( " str |" )" n >|
|00005d20| 20 22 63 61 73 65 20 22 | 20 28 72 65 61 64 2d 73 | "case "| (read-s|
|00005d30| 74 72 69 6e 67 20 22 70 | 61 74 74 65 72 6e 3a 20 |tring "p|attern: |
|00005d40| 22 29 20 35 38 20 6e 20 | 3e 20 5f 20 6e 20 22 62 |") 58 n |> _ n "b|
|00005d50| 72 65 61 6b 73 77 22 20 | 6e 20 28 22 6f 74 68 65 |reaksw" |n ("othe|
|00005d60| 72 20 70 61 74 74 65 72 | 6e 2c 20 25 73 3a 20 22 |r patter|n, %s: "|
|00005d70| 20 3c 20 22 63 61 73 65 | 20 22 20 73 74 72 20 35 | < "case| " str 5|
|00005d80| 38 20 6e 20 3e 20 5f 20 | 6e 20 22 62 72 65 61 6b |8 n > _ |n "break|
|00005d90| 73 77 22 20 6e 29 20 3c | 20 22 64 65 66 61 75 6c |sw" n) <| "defaul|
|00005da0| 74 3a 22 20 6e 20 3e 20 | 5f 20 6e 20 72 65 73 75 |t:" n > |_ n resu|
|00005db0| 6d 65 3a 20 3c 20 3c 20 | 22 65 6e 64 73 77 22 29 |me: < < |"endsw")|
|00005dc0| 20 28 65 73 29 20 28 72 | 63 20 22 65 78 70 72 65 | (es) (r|c "expre|
|00005dd0| 73 73 69 6f 6e 3a 20 22 | 20 22 73 77 69 74 63 68 |ssion: "| "switch|
|00005de0| 28 20 22 20 73 74 72 20 | 22 20 29 20 7b 22 20 6e |( " str |" ) {" n|
|00005df0| 20 3e 20 22 63 61 73 65 | 20 22 20 28 72 65 61 64 | > "case| " (read|
|00005e00| 2d 73 74 72 69 6e 67 20 | 22 70 61 74 74 65 72 6e |-string |"pattern|
|00005e10| 3a 20 22 29 20 6e 20 3e | 20 5f 20 6e 20 28 22 6f |: ") n >| _ n ("o|
|00005e20| 74 68 65 72 20 70 61 74 | 74 65 72 6e 2c 20 25 73 |ther pat|tern, %s|
|00005e30| 3a 20 22 20 3c 20 22 63 | 61 73 65 20 22 20 73 74 |: " < "c|ase " st|
|00005e40| 72 20 6e 20 3e 20 5f 20 | 6e 29 20 3c 20 22 63 61 |r n > _ |n) < "ca|
|00005e50| 73 65 20 2a 22 20 6e 20 | 3e 20 5f 20 6e 20 72 65 |se *" n |> _ n re|
|00005e60| 73 75 6d 65 3a 20 3c 20 | 3c 20 31 32 35 29 20 28 |sume: < |< 125) (|
|00005e70| 73 68 20 22 65 78 70 72 | 65 73 73 69 6f 6e 3a 20 |sh "expr|ession: |
|00005e80| 22 20 22 63 61 73 65 20 | 22 20 73 74 72 20 22 20 |" "case |" str " |
|00005e90| 69 6e 22 20 6e 20 3e 20 | 28 72 65 61 64 2d 73 74 |in" n > |(read-st|
|00005ea0| 72 69 6e 67 20 22 70 61 | 74 74 65 72 6e 3a 20 22 |ring "pa|ttern: "|
|00005eb0| 29 20 34 31 20 6e 20 3e | 20 5f 20 6e 20 22 3b 3b |) 41 n >| _ n ";;|
|00005ec0| 22 20 6e 20 28 22 6f 74 | 68 65 72 20 70 61 74 74 |" n ("ot|her patt|
|00005ed0| 65 72 6e 2c 20 25 73 3a | 20 22 20 3c 20 73 74 72 |ern, %s:| " < str|
|00005ee0| 20 34 31 20 6e 20 3e 20 | 5f 20 6e 20 22 3b 3b 22 | 41 n > |_ n ";;"|
|00005ef0| 20 6e 29 20 3c 20 22 2a | 29 22 20 6e 20 3e 20 5f | n) < "*|)" n > _|
|00005f00| 20 6e 20 72 65 73 75 6d | 65 3a 20 3c 20 3c 20 22 | n resum|e: < < "|
|00005f10| 65 73 61 63 22 29 29 20 | 73 74 72 20 61 72 67 5d |esac")) |str arg]|
|00005f20| 20 34 20 28 23 24 20 2e | 20 32 33 32 34 38 29 20 | 4 (#$ .| 23248) |
|00005f30| 22 2a 50 5c 6e 50 22 5d | 29 0a 28 70 75 74 20 28 |"*P\nP"]|).(put (|
|00005f40| 71 75 6f 74 65 20 73 68 | 2d 63 61 73 65 29 20 28 |quote sh|-case) (|
|00005f50| 71 75 6f 74 65 20 6d 65 | 6e 75 2d 65 6e 61 62 6c |quote me|nu-enabl|
|00005f60| 65 29 20 28 71 75 6f 74 | 65 20 28 73 68 2d 66 65 |e) (quot|e (sh-fe|
|00005f70| 61 74 75 72 65 20 73 68 | 2d 63 61 73 65 29 29 29 |ature sh|-case)))|
|00005f80| 0a 23 40 34 36 34 20 49 | 6e 73 65 72 74 20 61 20 |.#@464 I|nsert a |
|00005f90| 66 6f 72 20 6c 6f 6f 70 | 2e 20 20 53 65 65 20 60 |for loop|. See `|
|00005fa0| 73 68 2d 66 65 61 74 75 | 72 65 27 2e 0a 0a 54 68 |sh-featu|re'...Th|
|00005fb0| 69 73 20 69 73 20 61 20 | 73 6b 65 6c 65 74 6f 6e |is is a |skeleton|
|00005fc0| 20 63 6f 6d 6d 61 6e 64 | 20 28 73 65 65 20 60 73 | command| (see `s|
|00005fd0| 6b 65 6c 65 74 6f 6e 2d | 69 6e 73 65 72 74 27 29 |keleton-|insert')|
|00005fe0| 2e 0a 4e 6f 72 6d 61 6c | 6c 79 20 74 68 65 20 73 |..Normal|ly the s|
|00005ff0| 6b 65 6c 65 74 6f 6e 20 | 74 65 78 74 20 69 73 20 |keleton |text is |
|00006000| 69 6e 73 65 72 74 65 64 | 20 61 74 20 70 6f 69 6e |inserted| at poin|
|00006010| 74 2c 20 77 69 74 68 20 | 6e 6f 74 68 69 6e 67 20 |t, with |nothing |
|00006020| 22 69 6e 73 69 64 65 22 | 2e 0a 49 66 20 74 68 65 |"inside"|..If the|
|00006030| 72 65 20 69 73 20 61 20 | 68 69 67 68 6c 69 67 68 |re is a |highligh|
|00006040| 74 65 64 20 72 65 67 69 | 6f 6e 2c 20 74 68 65 20 |ted regi|on, the |
|00006050| 73 6b 65 6c 65 74 6f 6e | 20 74 65 78 74 20 69 73 |skeleton| text is|
|00006060| 20 77 72 61 70 70 65 64 | 0a 61 72 6f 75 6e 64 20 | wrapped|.around |
|00006070| 74 68 65 20 72 65 67 69 | 6f 6e 20 74 65 78 74 2e |the regi|on text.|
|00006080| 0a 0a 41 20 70 72 65 66 | 69 78 20 61 72 67 75 6d |..A pref|ix argum|
|00006090| 65 6e 74 20 41 52 47 20 | 73 61 79 73 20 74 6f 20 |ent ARG |says to |
|000060a0| 77 72 61 70 20 74 68 65 | 20 73 6b 65 6c 65 74 6f |wrap the| skeleto|
|000060b0| 6e 20 61 72 6f 75 6e 64 | 20 74 68 65 20 6e 65 78 |n around| the nex|
|000060c0| 74 20 41 52 47 20 77 6f | 72 64 73 2e 0a 41 20 70 |t ARG wo|rds..A p|
|000060d0| 72 65 66 69 78 20 61 72 | 67 75 6d 65 6e 74 20 6f |refix ar|gument o|
|000060e0| 66 20 7a 65 72 6f 20 73 | 61 79 73 20 74 6f 20 77 |f zero s|ays to w|
|000060f0| 72 61 70 20 61 72 6f 75 | 6e 64 20 7a 65 72 6f 20 |rap arou|nd zero |
|00006100| 77 6f 72 64 73 2d 2d 2d | 74 68 61 74 20 69 73 2c |words---|that is,|
|00006110| 20 6e 6f 74 68 69 6e 67 | 2e 0a 54 68 69 73 20 69 | nothing|..This i|
|00006120| 73 20 61 20 77 61 79 20 | 6f 66 20 6f 76 65 72 69 |s a way |of overi|
|00006130| 64 69 6e 67 20 74 68 65 | 20 75 73 65 20 6f 66 20 |ding the| use of |
|00006140| 61 20 68 69 67 68 6c 69 | 67 68 74 65 64 20 72 65 |a highli|ghted re|
|00006150| 67 69 6f 6e 2e 1f 0a 28 | 64 65 66 61 6c 69 61 73 |gion...(|defalias|
|00006160| 20 27 73 68 2d 66 6f 72 | 20 23 5b 28 26 6f 70 74 | 'sh-for| #[(&opt|
|00006170| 69 6f 6e 61 6c 20 73 74 | 72 20 61 72 67 29 20 22 |ional st|r arg) "|
|00006180| c0 c1 5c 6e 0b 23 87 22 | 20 5b 73 6b 65 6c 65 74 |..\n.#."| [skelet|
|00006190| 6f 6e 2d 70 72 6f 78 79 | 2d 6e 65 77 20 28 28 63 |on-proxy|-new ((c|
|000061a0| 73 68 20 65 76 61 6c 20 | 73 68 2d 6d 6f 64 69 66 |sh eval |sh-modif|
|000061b0| 79 20 73 68 20 31 20 22 | 66 6f 72 65 61 63 68 20 |y sh 1 "|foreach |
|000061c0| 22 20 33 20 22 20 28 20 | 22 20 35 20 22 20 29 22 |" 3 " ( |" 5 " )"|
|000061d0| 20 31 35 20 22 65 6e 64 | 22 29 20 28 65 73 20 65 | 15 "end|") (es e|
|000061e0| 76 61 6c 20 73 68 2d 6d | 6f 64 69 66 79 20 72 63 |val sh-m|odify rc|
|000061f0| 20 33 20 22 20 3d 20 22 | 29 20 28 72 63 20 65 76 | 3 " = "|) (rc ev|
|00006200| 61 6c 20 73 68 2d 6d 6f | 64 69 66 79 20 73 68 20 |al sh-mo|dify sh |
|00006210| 31 20 22 66 6f 72 28 20 | 22 20 35 20 22 20 29 20 |1 "for( |" 5 " ) |
|00006220| 7b 22 20 31 35 20 31 32 | 35 29 20 28 73 68 20 22 |{" 15 12|5) (sh "|
|00006230| 49 6e 64 65 78 20 76 61 | 72 69 61 62 6c 65 3a 20 |Index va|riable: |
|00006240| 22 20 22 66 6f 72 20 22 | 20 73 74 72 20 22 20 69 |" "for "| str " i|
|00006250| 6e 20 22 20 5f 20 22 3b | 20 64 6f 22 20 6e 20 3e |n " _ ";| do" n >|
|00006260| 20 5f 20 7c 20 33 36 20 | 26 20 28 73 68 2d 72 65 | _ | 36 |& (sh-re|
|00006270| 6d 65 6d 62 65 72 2d 76 | 61 72 69 61 62 6c 65 20 |member-v|ariable |
|00006280| 73 74 72 29 20 6e 20 3c | 20 22 64 6f 6e 65 22 29 |str) n <| "done")|
|00006290| 29 20 73 74 72 20 61 72 | 67 5d 20 34 20 28 23 24 |) str ar|g] 4 (#$|
|000062a0| 20 2e 20 32 34 34 35 35 | 29 20 22 2a 50 5c 6e 50 | . 24455|) "*P\nP|
|000062b0| 22 5d 29 0a 23 40 34 38 | 31 20 49 6e 73 65 72 74 |"]).#@48|1 Insert|
|000062c0| 20 61 6e 20 69 6e 64 65 | 78 65 64 20 6c 6f 6f 70 | an inde|xed loop|
|000062d0| 20 66 72 6f 6d 20 31 20 | 74 6f 20 6e 2e 20 20 53 | from 1 |to n. S|
|000062e0| 65 65 20 60 73 68 2d 66 | 65 61 74 75 72 65 27 2e |ee `sh-f|eature'.|
|000062f0| 0a 0a 54 68 69 73 20 69 | 73 20 61 20 73 6b 65 6c |..This i|s a skel|
|00006300| 65 74 6f 6e 20 63 6f 6d | 6d 61 6e 64 20 28 73 65 |eton com|mand (se|
|00006310| 65 20 60 73 6b 65 6c 65 | 74 6f 6e 2d 69 6e 73 65 |e `skele|ton-inse|
|00006320| 72 74 27 29 2e 0a 4e 6f | 72 6d 61 6c 6c 79 20 74 |rt')..No|rmally t|
|00006330| 68 65 20 73 6b 65 6c 65 | 74 6f 6e 20 74 65 78 74 |he skele|ton text|
|00006340| 20 69 73 20 69 6e 73 65 | 72 74 65 64 20 61 74 20 | is inse|rted at |
|00006350| 70 6f 69 6e 74 2c 20 77 | 69 74 68 20 6e 6f 74 68 |point, w|ith noth|
|00006360| 69 6e 67 20 22 69 6e 73 | 69 64 65 22 2e 0a 49 66 |ing "ins|ide"..If|
|00006370| 20 74 68 65 72 65 20 69 | 73 20 61 20 68 69 67 68 | there i|s a high|
|00006380| 6c 69 67 68 74 65 64 20 | 72 65 67 69 6f 6e 2c 20 |lighted |region, |
|00006390| 74 68 65 20 73 6b 65 6c | 65 74 6f 6e 20 74 65 78 |the skel|eton tex|
|000063a0| 74 20 69 73 20 77 72 61 | 70 70 65 64 0a 61 72 6f |t is wra|pped.aro|
|000063b0| 75 6e 64 20 74 68 65 20 | 72 65 67 69 6f 6e 20 74 |und the |region t|
|000063c0| 65 78 74 2e 0a 0a 41 20 | 70 72 65 66 69 78 20 61 |ext...A |prefix a|
|000063d0| 72 67 75 6d 65 6e 74 20 | 41 52 47 20 73 61 79 73 |rgument |ARG says|
|000063e0| 20 74 6f 20 77 72 61 70 | 20 74 68 65 20 73 6b 65 | to wrap| the ske|
|000063f0| 6c 65 74 6f 6e 20 61 72 | 6f 75 6e 64 20 74 68 65 |leton ar|ound the|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.