home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / lucid / lemacs-19.6 / lisp / modes / hideif.elc < prev    next >
Emacs Compiled Lisp  |  1993-04-01  |  16.2 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
1% dexvert Combustion 2 Particle Library (other/combustion2ParticleLibrary) ext Unsupported
100% file Emacs/XEmacs v19 byte-compiled Lisp data default
99% file data default
100% TrID Emacs/XEmacs byte-compiled Lisp (generic) default
100% xdgMime text/x-emacs-lisp default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 13 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 6a 77 7a 40 74 68 61 |piled by| jwz@tha|
|00000020| 6c 69 64 6f 6d 69 64 65 | 20 6f 6e 20 4d 6f 6e 20 |lidomide| on Mon |
|00000030| 46 65 62 20 20 31 20 31 | 38 3a 35 39 3a 32 31 20 |Feb 1 1|8:59:21 |
|00000040| 31 39 39 33 0a 3b 3b 3b | 20 66 72 6f 6d 20 66 69 |1993.;;;| from fi|
|00000050| 6c 65 20 2f 63 61 64 69 | 6c 6c 61 63 31 2f 63 6f |le /cadi|llac1/co|
|00000060| 64 65 2f 62 75 69 6c 64 | 2f 6c 65 6d 61 63 73 2f |de/build|/lemacs/|
|00000070| 6c 69 73 70 2f 6d 6f 64 | 65 73 2f 68 69 64 65 69 |lisp/mod|es/hidei|
|00000080| 66 2e 65 6c 0a 3b 3b 3b | 20 65 6d 61 63 73 20 76 |f.el.;;;| emacs v|
|00000090| 65 72 73 69 6f 6e 20 31 | 39 2e 34 2e 31 33 20 4c |ersion 1|9.4.13 L|
|000000a0| 75 63 69 64 2e 0a 3b 3b | 3b 20 62 79 74 65 63 6f |ucid..;;|; byteco|
|000000b0| 6d 70 20 76 65 72 73 69 | 6f 6e 20 32 2e 31 30 3b |mp versi|on 2.10;|
|000000c0| 20 20 31 2d 66 65 62 2d | 39 33 2e 0a 3b 3b 3b 20 | 1-feb-|93..;;; |
|000000d0| 6f 70 74 69 6d 69 7a 61 | 74 69 6f 6e 20 69 73 20 |optimiza|tion is |
|000000e0| 6f 6e 2e 0a 3b 3b 3b 20 | 74 68 69 73 20 66 69 6c |on..;;; |this fil|
|000000f0| 65 20 75 73 65 73 20 6f | 70 63 6f 64 65 73 20 77 |e uses o|pcodes w|
|00000100| 68 69 63 68 20 64 6f 20 | 6e 6f 74 20 65 78 69 73 |hich do |not exis|
|00000110| 74 20 69 6e 20 45 6d 61 | 63 73 31 38 2e 0a 0a 28 |t in Ema|cs18...(|
|00000120| 69 66 20 28 61 6e 64 20 | 28 62 6f 75 6e 64 70 20 |if (and |(boundp |
|00000130| 27 65 6d 61 63 73 2d 76 | 65 72 73 69 6f 6e 29 0a |'emacs-v|ersion).|
|00000140| 09 20 28 6f 72 20 28 61 | 6e 64 20 28 62 6f 75 6e |. (or (a|nd (boun|
|00000150| 64 70 20 27 65 70 6f 63 | 68 3a 3a 76 65 72 73 69 |dp 'epoc|h::versi|
|00000160| 6f 6e 29 20 65 70 6f 63 | 68 3a 3a 76 65 72 73 69 |on) epoc|h::versi|
|00000170| 6f 6e 29 0a 09 20 20 20 | 20 20 28 73 74 72 69 6e |on).. | (strin|
|00000180| 67 2d 6c 65 73 73 70 20 | 65 6d 61 63 73 2d 76 65 |g-lessp |emacs-ve|
|00000190| 72 73 69 6f 6e 20 22 31 | 39 22 29 29 29 0a 20 20 |rsion "1|9"))). |
|000001a0| 20 20 28 65 72 72 6f 72 | 20 22 54 68 69 73 20 66 | (error| "This f|
|000001b0| 69 6c 65 20 77 61 73 20 | 63 6f 6d 70 69 6c 65 64 |ile was |compiled|
|000001c0| 20 66 6f 72 20 45 6d 61 | 63 73 31 39 2e 22 29 29 | for Ema|cs19."))|
|000001d0| 0a 0a 28 64 65 66 76 61 | 72 20 68 69 64 65 2d 69 |..(defva|r hide-i|
|000001e0| 66 64 65 66 2d 6d 6f 64 | 65 2d 6d 61 70 20 6e 69 |fdef-mod|e-map ni|
|000001f0| 6c 20 22 5c 0a 4b 65 79 | 6d 61 70 20 75 73 65 64 |l "\.Key|map used|
|00000200| 20 77 69 74 68 20 68 69 | 64 65 2d 69 66 64 65 66 | with hi|de-ifdef|
|00000210| 20 6d 6f 64 65 22 29 0a | 28 64 65 66 63 6f 6e 73 | mode").|(defcons|
|00000220| 74 20 68 69 64 65 2d 69 | 66 64 65 66 2d 6d 6f 64 |t hide-i|fdef-mod|
|00000230| 65 2d 70 72 65 66 69 78 | 2d 6b 65 79 20 22 03 22 |e-prefix|-key "."|
|00000240| 20 22 5c 0a 50 72 65 66 | 69 78 20 6b 65 79 20 66 | "\.Pref|ix key f|
|00000250| 6f 72 20 61 6c 6c 20 68 | 69 64 65 2d 69 66 64 65 |or all h|ide-ifde|
|00000260| 66 2d 6d 6f 64 65 20 63 | 6f 6d 6d 61 6e 64 73 2e |f-mode c|ommands.|
|00000270| 22 29 0a 28 64 65 66 76 | 61 72 20 68 69 64 65 2d |").(defv|ar hide-|
|00000280| 69 66 64 65 66 2d 6d 6f | 64 65 2d 6d 61 70 2d 62 |ifdef-mo|de-map-b|
|00000290| 65 66 6f 72 65 20 6e 69 | 6c 20 22 5c 0a 42 75 66 |efore ni|l "\.Buf|
|000002a0| 66 65 72 2d 6c 6f 63 61 | 6c 20 76 61 72 69 61 62 |fer-loca|l variab|
|000002b0| 6c 65 20 74 6f 20 73 74 | 6f 72 65 20 61 20 63 6f |le to st|ore a co|
|000002c0| 70 79 20 6f 66 20 74 68 | 65 20 6c 6f 63 61 6c 20 |py of th|e local |
|000002d0| 6b 65 79 6d 61 70 0a 09 | 62 65 66 6f 72 65 20 68 |keymap..|before h|
|000002e0| 69 64 65 2d 69 66 64 65 | 66 2d 6d 6f 64 65 20 6d |ide-ifde|f-mode m|
|000002f0| 6f 64 69 66 69 65 73 20 | 69 74 2e 22 29 0a 28 66 |odifies |it.").(f|
|00000300| 73 65 74 20 27 64 65 66 | 69 6e 65 2d 68 69 64 65 |set 'def|ine-hide|
|00000310| 2d 69 66 64 65 66 2d 6d | 6f 64 65 2d 6d 61 70 20 |-ifdef-m|ode-map |
|00000320| 23 5b 6e 69 6c 20 22 08 | ac e7 c1 20 10 c2 08 c3 |#[nil ".|... ....|
|00000330| c4 23 88 c2 08 c5 c6 23 | 88 c2 08 c7 c8 23 88 c2 |.#.....#|.....#..|
|00000340| 08 c9 ca 23 88 c2 08 cb | cc 23 88 c2 08 cd ce 23 |...#....|.#.....#|
|00000350| 88 c2 08 cf d0 23 88 c2 | 08 d1 d2 23 88 c2 08 d3 |.....#..|...#....|
|00000360| d4 23 88 c2 08 d5 d6 23 | 88 c2 08 d7 d8 23 88 c2 |.#.....#|.....#..|
|00000370| 08 d9 da 23 88 c2 08 db | dc 23 88 c2 08 dd de 23 |...#....|.#.....#|
|00000380| 88 c2 08 df e0 23 88 c2 | 08 e1 e2 e3 e4 23 e5 23 |.....#..|.....#.#|
|00000390| 88 c0 08 4d 87 22 20 5b | 68 69 64 65 2d 69 66 64 |...M." [|hide-ifd|
|000003a0| 65 66 2d 6d 6f 64 65 2d | 6d 61 70 20 6d 61 6b 65 |ef-mode-|map make|
|000003b0| 2d 73 70 61 72 73 65 2d | 6b 65 79 6d 61 70 20 64 |-sparse-|keymap d|
|000003c0| 65 66 69 6e 65 2d 6b 65 | 79 20 22 64 22 20 68 69 |efine-ke|y "d" hi|
|000003d0| 64 65 2d 69 66 64 65 66 | 2d 64 65 66 69 6e 65 20 |de-ifdef|-define |
|000003e0| 22 75 22 20 68 69 64 65 | 2d 69 66 64 65 66 2d 75 |"u" hide|-ifdef-u|
|000003f0| 6e 64 65 66 20 22 44 22 | 20 68 69 64 65 2d 69 66 |ndef "D"| hide-if|
|00000400| 64 65 66 2d 73 65 74 2d | 64 65 66 69 6e 65 2d 61 |def-set-|define-a|
|00000410| 6c 69 73 74 20 22 55 22 | 20 68 69 64 65 2d 69 66 |list "U"| hide-if|
|00000420| 64 65 66 2d 75 73 65 2d | 64 65 66 69 6e 65 2d 61 |def-use-|define-a|
|00000430| 6c 69 73 74 20 22 68 22 | 20 68 69 64 65 2d 69 66 |list "h"| hide-if|
|00000440| 64 65 66 73 20 22 73 22 | 20 73 68 6f 77 2d 69 66 |defs "s"| show-if|
|00000450| 64 65 66 73 20 22 08 22 | 20 68 69 64 65 2d 69 66 |defs "."| hide-if|
|00000460| 64 65 66 2d 62 6c 6f 63 | 6b 20 22 13 22 20 73 68 |def-bloc|k "." sh|
|00000470| 6f 77 2d 69 66 64 65 66 | 2d 62 6c 6f 63 6b 20 22 |ow-ifdef|-block "|
|00000480| 06 22 20 66 6f 72 77 61 | 72 64 2d 69 66 64 65 66 |." forwa|rd-ifdef|
|00000490| 20 22 02 22 20 62 61 63 | 6b 77 61 72 64 2d 69 66 | "." bac|kward-if|
|000004a0| 64 65 66 20 22 04 22 20 | 64 6f 77 6e 2d 69 66 64 |def "." |down-ifd|
|000004b0| 65 66 20 22 15 22 20 75 | 70 2d 69 66 64 65 66 20 |ef "." u|p-ifdef |
|000004c0| 22 0e 22 20 6e 65 78 74 | 2d 69 66 64 65 66 20 22 |"." next|-ifdef "|
|000004d0| 10 22 20 70 72 65 76 69 | 6f 75 73 2d 69 66 64 65 |." previ|ous-ifde|
|000004e0| 66 20 22 11 22 20 68 69 | 64 65 2d 69 66 64 65 66 |f "." hi|de-ifdef|
|000004f0| 2d 74 6f 67 67 6c 65 2d | 72 65 61 64 2d 6f 6e 6c |-toggle-|read-onl|
|00000500| 79 20 77 68 65 72 65 2d | 69 73 2d 69 6e 74 65 72 |y where-|is-inter|
|00000510| 6e 61 6c 20 74 6f 67 67 | 6c 65 2d 72 65 61 64 2d |nal togg|le-read-|
|00000520| 6f 6e 6c 79 20 6e 69 6c | 20 74 20 68 69 64 65 2d |only nil| t hide-|
|00000530| 69 66 64 65 66 2d 74 6f | 67 67 6c 65 2d 6f 75 74 |ifdef-to|ggle-out|
|00000540| 73 69 64 65 2d 72 65 61 | 64 2d 6f 6e 6c 79 5d 20 |side-rea|d-only] |
|00000550| 36 5d 29 0a 28 66 73 65 | 74 20 27 68 69 66 2d 75 |6]).(fse|t 'hif-u|
|00000560| 70 64 61 74 65 2d 6d 6f | 64 65 2d 6c 69 6e 65 20 |pdate-mo|de-line |
|00000570| 23 5b 6e 69 6c 20 22 c0 | c1 20 21 87 22 20 5b 73 |#[nil ".|. !." [s|
|00000580| 65 74 2d 62 75 66 66 65 | 72 2d 6d 6f 64 69 66 69 |et-buffe|r-modifi|
|00000590| 65 64 2d 70 20 62 75 66 | 66 65 72 2d 6d 6f 64 69 |ed-p buf|fer-modi|
|000005a0| 66 69 65 64 2d 70 5d 20 | 32 20 22 5c 0a 55 70 64 |fied-p] |2 "\.Upd|
|000005b0| 61 74 65 20 6d 6f 64 65 | 2d 6c 69 6e 65 20 62 79 |ate mode|-line by|
|000005c0| 20 73 65 74 74 69 6e 67 | 20 62 75 66 66 65 72 2d | setting| buffer-|
|000005d0| 6d 6f 64 69 66 69 65 64 | 20 74 6f 20 69 74 73 65 |modified| to itse|
|000005e0| 6c 66 2e 22 5d 29 0a 28 | 64 65 66 76 61 72 20 68 |lf."]).(|defvar h|
|000005f0| 69 64 65 2d 69 66 64 65 | 66 2d 6d 6f 64 65 20 6e |ide-ifde|f-mode n|
|00000600| 69 6c 20 22 5c 0a 6e 6f | 6e 2d 6e 69 6c 20 77 68 |il "\.no|n-nil wh|
|00000610| 65 6e 20 68 69 64 65 2d | 69 66 64 65 66 2d 6d 6f |en hide-|ifdef-mo|
|00000620| 64 65 20 69 73 20 61 63 | 74 69 76 61 74 65 64 2e |de is ac|tivated.|
|00000630| 22 29 0a 28 64 65 66 76 | 61 72 20 68 69 64 65 2d |").(defv|ar hide-|
|00000640| 69 66 64 65 66 2d 68 69 | 64 69 6e 67 20 6e 69 6c |ifdef-hi|ding nil|
|00000650| 20 22 5c 0a 6e 6f 6e 2d | 6e 69 6c 20 77 68 65 6e | "\.non-|nil when|
|00000660| 20 74 65 78 74 20 6d 61 | 79 20 62 65 20 68 69 64 | text ma|y be hid|
|00000670| 64 65 6e 2e 22 29 0a 28 | 62 79 74 65 2d 63 6f 64 |den.").(|byte-cod|
|00000680| 65 20 22 c0 09 9e ac 84 | c2 09 42 11 c3 09 9e ac |e ".....|..B.....|
|00000690| 84 c4 09 42 11 c0 87 22 | 20 5b 68 69 64 65 2d 69 |...B..."| [hide-i|
|000006a0| 66 64 65 66 2d 68 69 64 | 69 6e 67 20 6d 69 6e 6f |fdef-hid|ing mino|
|000006b0| 72 2d 6d 6f 64 65 2d 61 | 6c 69 73 74 20 28 68 69 |r-mode-a|list (hi|
|000006c0| 64 65 2d 69 66 64 65 66 | 2d 68 69 64 69 6e 67 20 |de-ifdef|-hiding |
|000006d0| 22 20 48 69 64 69 6e 67 | 22 29 20 68 69 64 65 2d |" Hiding|") hide-|
|000006e0| 69 66 64 65 66 2d 6d 6f | 64 65 20 28 68 69 64 65 |ifdef-mo|de (hide|
|000006f0| 2d 69 66 64 65 66 2d 6d | 6f 64 65 20 22 20 49 66 |-ifdef-m|ode " If|
|00000700| 64 65 66 22 29 5d 20 32 | 29 0a 28 66 73 65 74 20 |def")] 2|).(fset |
|00000710| 27 68 69 64 65 2d 69 66 | 64 65 66 2d 6d 6f 64 65 |'hide-if|def-mode|
|00000720| 20 23 5b 28 61 72 67 29 | 20 22 c0 c1 21 88 5c 6e | #[(arg)| "..!.\n|
|00000730| ac 84 09 3f aa 85 c3 5c | 6e 21 c4 56 11 c5 20 88 |...?...\|n!.V.. .|
|00000740| 09 ab da c6 c7 c8 5c 22 | 88 c6 c9 ca 5c 22 88 c6 |......\"|....\"..|
|00000750| cb ca 5c 22 88 c0 cc 21 | 88 cd cc 21 16 0c c0 ce |..\"...!|...!....|
|00000760| 21 88 cd ce 21 16 0e c0 | cf 21 88 0e 10 16 0f c0 |!...!...|.!......|
|00000770| d1 21 88 d2 20 16 11 d3 | d4 d2 20 21 21 88 d5 0e |.!.. ...|.. !!...|
|00000780| 16 21 88 d7 0e 16 d8 5c | 22 88 d9 20 88 da db 21 |.!.....\|".. ...!|
|00000790| 88 0e 1c ab 85 dd 20 88 | aa 83 de 20 88 df e0 21 |...... .|... ...!|
|000007a0| 87 0e 0e ab 83 de 20 88 | d3 0e 11 21 88 df e1 21 |...... .|...!...!|
|000007b0| 87 22 20 5b 6d 61 6b 65 | 2d 6c 6f 63 61 6c 2d 76 |." [make|-local-v|
|000007c0| 61 72 69 61 62 6c 65 20 | 68 69 64 65 2d 69 66 64 |ariable |hide-ifd|
|000007d0| 65 66 2d 6d 6f 64 65 20 | 61 72 67 20 70 72 65 66 |ef-mode |arg pref|
|000007e0| 69 78 2d 6e 75 6d 65 72 | 69 63 2d 76 61 6c 75 65 |ix-numer|ic-value|
|000007f0| 20 30 20 68 69 66 2d 75 | 70 64 61 74 65 2d 6d 6f | 0 hif-u|pdate-mo|
|00000800| 64 65 2d 6c 69 6e 65 20 | 6d 6f 64 69 66 79 2d 73 |de-line |modify-s|
|00000810| 79 6e 74 61 78 2d 65 6e | 74 72 79 20 39 35 20 22 |yntax-en|try 95 "|
|00000820| 77 22 20 33 38 20 22 2e | 22 20 31 32 34 20 68 69 |w" 38 ".|" 124 hi|
|00000830| 64 65 2d 69 66 64 65 66 | 2d 65 6e 76 20 64 65 66 |de-ifdef|-env def|
|00000840| 61 75 6c 74 2d 76 61 6c | 75 65 20 68 69 64 65 2d |ault-val|ue hide-|
|00000850| 69 66 64 65 66 2d 68 69 | 64 69 6e 67 20 68 69 66 |ifdef-hi|ding hif|
|00000860| 2d 6f 75 74 73 69 64 65 | 2d 72 65 61 64 2d 6f 6e |-outside|-read-on|
|00000870| 6c 79 20 62 75 66 66 65 | 72 2d 72 65 61 64 2d 6f |ly buffe|r-read-o|
|00000880| 6e 6c 79 20 68 69 64 65 | 2d 69 66 64 65 66 2d 6d |nly hide|-ifdef-m|
|00000890| 6f 64 65 2d 6d 61 70 2d | 62 65 66 6f 72 65 20 63 |ode-map-|before c|
|000008a0| 75 72 72 65 6e 74 2d 6c | 6f 63 61 6c 2d 6d 61 70 |urrent-l|ocal-map|
|000008b0| 20 75 73 65 2d 6c 6f 63 | 61 6c 2d 6d 61 70 20 63 | use-loc|al-map c|
|000008c0| 6f 70 79 2d 6b 65 79 6d | 61 70 20 6c 6f 63 61 6c |opy-keym|ap local|
|000008d0| 2d 75 6e 73 65 74 2d 6b | 65 79 20 68 69 64 65 2d |-unset-k|ey hide-|
|000008e0| 69 66 64 65 66 2d 6d 6f | 64 65 2d 70 72 65 66 69 |ifdef-mo|de-prefi|
|000008f0| 78 2d 6b 65 79 20 6c 6f | 63 61 6c 2d 73 65 74 2d |x-key lo|cal-set-|
|00000900| 6b 65 79 20 68 69 64 65 | 2d 69 66 64 65 66 2d 6d |key hide|-ifdef-m|
|00000910| 6f 64 65 2d 6d 61 70 20 | 64 65 66 69 6e 65 2d 68 |ode-map |define-h|
|00000920| 69 64 65 2d 69 66 64 65 | 66 2d 6d 6f 64 65 2d 6d |ide-ifde|f-mode-m|
|00000930| 61 70 20 72 75 6e 2d 68 | 6f 6f 6b 73 20 68 69 64 |ap run-h|ooks hid|
|00000940| 65 2d 69 66 64 65 66 2d | 6d 6f 64 65 2d 68 6f 6f |e-ifdef-|mode-hoo|
|00000950| 6b 20 68 69 64 65 2d 69 | 66 64 65 66 2d 69 6e 69 |k hide-i|fdef-ini|
|00000960| 74 69 61 6c 6c 79 20 68 | 69 64 65 2d 69 66 64 65 |tially h|ide-ifde|
|00000970| 66 73 20 73 68 6f 77 2d | 69 66 64 65 66 73 20 6d |fs show-|ifdefs m|
|00000980| 65 73 73 61 67 65 20 22 | 45 6e 74 65 72 20 68 69 |essage "|Enter hi|
|00000990| 64 65 2d 69 66 64 65 66 | 2d 6d 6f 64 65 2e 22 20 |de-ifdef|-mode." |
|000009a0| 22 45 78 69 74 20 68 69 | 64 65 2d 69 66 64 65 66 |"Exit hi|de-ifdef|
|000009b0| 2d 6d 6f 64 65 2e 22 5d | 20 33 20 22 5c 0a 54 6f |-mode."]| 3 "\.To|
|000009c0| 67 67 6c 65 20 68 69 64 | 65 2d 69 66 64 65 66 2d |ggle hid|e-ifdef-|
|000009d0| 6d 6f 64 65 2e 20 20 54 | 68 75 73 20 74 68 69 73 |mode. T|hus this|
|000009e0| 20 69 73 20 61 20 6d 69 | 6e 6f 72 20 6d 6f 64 65 | is a mi|nor mode|
|000009f0| 2c 20 61 6c 62 65 69 74 | 20 61 20 6c 61 72 67 65 |, albeit| a large|
|00000a00| 20 6f 6e 65 2e 0a 57 69 | 74 68 20 61 72 67 2c 20 | one..Wi|th arg, |
|00000a10| 74 75 72 6e 20 68 69 64 | 65 2d 69 66 64 65 66 2d |turn hid|e-ifdef-|
|00000a20| 6d 6f 64 65 20 6f 6e 20 | 69 66 66 20 61 72 67 20 |mode on |iff arg |
|00000a30| 69 73 20 70 6f 73 69 74 | 69 76 65 2e 0a 49 6e 20 |is posit|ive..In |
|00000a40| 68 69 64 65 2d 69 66 64 | 65 66 2d 6d 6f 64 65 2c |hide-ifd|ef-mode,|
|00000a50| 20 63 6f 64 65 20 77 69 | 74 68 69 6e 20 23 69 66 | code wi|thin #if|
|00000a60| 64 65 66 20 63 6f 6e 73 | 74 72 75 63 74 73 20 74 |def cons|tructs t|
|00000a70| 68 61 74 20 74 68 65 20 | 43 20 70 72 65 70 72 6f |hat the |C prepro|
|00000a80| 63 65 73 73 6f 72 0a 77 | 6f 75 6c 64 20 65 6c 69 |cessor.w|ould eli|
|00000a90| 6d 69 6e 61 74 65 20 6d | 61 79 20 62 65 20 68 69 |minate m|ay be hi|
|00000aa0| 64 64 65 6e 20 66 72 6f | 6d 20 76 69 65 77 2e 20 |dden fro|m view. |
|00000ab0| 20 53 65 76 65 72 61 6c | 20 76 61 72 69 61 62 6c | Several| variabl|
|00000ac0| 65 73 20 61 66 66 65 63 | 74 0a 68 6f 77 20 74 68 |es affec|t.how th|
|00000ad0| 65 20 68 69 64 69 6e 67 | 20 69 73 20 64 6f 6e 65 |e hiding| is done|
|00000ae0| 3a 0a 0a 68 69 64 65 2d | 69 66 64 65 66 2d 65 6e |:..hide-|ifdef-en|
|00000af0| 76 0a 09 41 6e 20 61 73 | 73 6f 63 69 61 74 69 6f |v..An as|sociatio|
|00000b00| 6e 20 6c 69 73 74 20 6f | 66 20 64 65 66 69 6e 65 |n list o|f define|
|00000b10| 64 20 61 6e 64 20 75 6e | 64 65 66 69 6e 65 64 20 |d and un|defined |
|00000b20| 73 79 6d 62 6f 6c 73 20 | 66 6f 72 20 74 68 65 0a |symbols |for the.|
|00000b30| 09 63 75 72 72 65 6e 74 | 20 62 75 66 66 65 72 2e |.current| buffer.|
|00000b40| 20 20 49 6e 69 74 69 61 | 6c 6c 79 2c 20 74 68 65 | Initia|lly, the|
|00000b50| 20 67 6c 6f 62 61 6c 20 | 76 61 6c 75 65 20 6f 66 | global |value of|
|00000b60| 20 68 69 64 65 2d 69 66 | 64 65 66 2d 65 6e 76 20 | hide-if|def-env |
|00000b70| 69 73 20 75 73 65 64 2e | 0a 0a 68 69 64 65 2d 69 |is used.|..hide-i|
|00000b80| 66 64 65 66 2d 64 65 66 | 69 6e 65 2d 61 6c 69 73 |fdef-def|ine-alis|
|00000b90| 74 0a 09 41 6e 20 61 73 | 73 6f 63 69 61 74 69 6f |t..An as|sociatio|
|00000ba0| 6e 20 6c 69 73 74 20 6f | 66 20 64 65 66 69 6e 65 |n list o|f define|
|00000bb0| 64 20 73 79 6d 62 6f 6c | 20 6c 69 73 74 73 2e 20 |d symbol| lists. |
|00000bc0| 20 0a 20 20 20 20 20 20 | 20 20 55 73 65 20 68 69 | . | Use hi|
|00000bd0| 64 65 2d 69 66 64 65 66 | 2d 73 65 74 2d 64 65 66 |de-ifdef|-set-def|
|00000be0| 69 6e 65 2d 61 6c 69 73 | 74 20 74 6f 20 73 61 76 |ine-alis|t to sav|
|00000bf0| 65 20 74 68 65 20 63 75 | 72 72 65 6e 74 20 68 69 |e the cu|rrent hi|
|00000c00| 64 65 2d 69 66 64 65 66 | 2d 65 6e 76 0a 20 20 20 |de-ifdef|-env. |
|00000c10| 20 20 20 20 20 61 6e 64 | 20 68 69 64 65 2d 69 66 | and| hide-if|
|00000c20| 64 65 66 2d 75 73 65 2d | 64 65 66 69 6e 65 2d 61 |def-use-|define-a|
|00000c30| 6c 69 73 74 20 74 6f 20 | 73 65 74 20 74 68 65 20 |list to |set the |
|00000c40| 63 75 72 72 65 6e 74 20 | 68 69 64 65 2d 69 66 64 |current |hide-ifd|
|00000c50| 65 66 2d 65 6e 76 0a 20 | 20 20 20 20 20 20 20 66 |ef-env. | f|
|00000c60| 72 6f 6d 20 6f 6e 65 20 | 6f 66 20 74 68 65 20 6c |rom one |of the l|
|00000c70| 69 73 74 73 20 69 6e 20 | 68 69 64 65 2d 69 66 64 |ists in |hide-ifd|
|00000c80| 65 66 2d 64 65 66 69 6e | 65 2d 61 6c 69 73 74 2e |ef-defin|e-alist.|
|00000c90| 0a 0a 68 69 64 65 2d 69 | 66 64 65 66 2d 6c 69 6e |..hide-i|fdef-lin|
|00000ca0| 65 73 0a 09 53 65 74 20 | 74 6f 20 6e 6f 6e 2d 6e |es..Set |to non-n|
|00000cb0| 69 6c 20 74 6f 20 6e 6f | 74 20 73 68 6f 77 20 23 |il to no|t show #|
|00000cc0| 69 66 2c 20 23 69 66 64 | 65 66 2c 20 23 69 66 6e |if, #ifd|ef, #ifn|
|00000cd0| 64 65 66 2c 20 23 65 6c | 73 65 2c 20 61 6e 64 0a |def, #el|se, and.|
|00000ce0| 09 23 65 6e 64 69 66 20 | 6c 69 6e 65 73 20 77 68 |.#endif |lines wh|
|00000cf0| 65 6e 20 68 69 64 69 6e | 67 2e 0a 0a 68 69 64 65 |en hidin|g...hide|
|00000d00| 2d 69 66 64 65 66 2d 69 | 6e 69 74 69 61 6c 6c 79 |-ifdef-i|nitially|
|00000d10| 0a 09 49 6e 64 69 63 61 | 74 65 73 20 77 68 65 74 |..Indica|tes whet|
|00000d20| 68 65 72 20 68 69 64 65 | 2d 69 66 64 65 66 73 20 |her hide|-ifdefs |
|00000d30| 73 68 6f 75 6c 64 20 62 | 65 20 63 61 6c 6c 65 64 |should b|e called|
|00000d40| 20 77 68 65 6e 20 68 69 | 64 65 2d 69 66 64 65 66 | when hi|de-ifdef|
|00000d50| 2d 6d 6f 64 65 0a 09 69 | 73 20 61 63 74 69 76 61 |-mode..i|s activa|
|00000d60| 74 65 64 2e 0a 0a 68 69 | 64 65 2d 69 66 64 65 66 |ted...hi|de-ifdef|
|00000d70| 2d 72 65 61 64 2d 6f 6e | 6c 79 0a 09 53 65 74 20 |-read-on|ly..Set |
|00000d80| 74 6f 20 6e 6f 6e 2d 6e | 69 6c 20 69 66 20 79 6f |to non-n|il if yo|
|00000d90| 75 20 77 61 6e 74 20 74 | 6f 20 6d 61 6b 65 20 62 |u want t|o make b|
|00000da0| 75 66 66 65 72 73 20 72 | 65 61 64 20 6f 6e 6c 79 |uffers r|ead only|
|00000db0| 20 77 68 69 6c 65 20 68 | 69 64 69 6e 67 2e 0a 09 | while h|iding...|
|00000dc0| 41 66 74 65 72 20 73 68 | 6f 77 2d 69 66 64 65 66 |After sh|ow-ifdef|
|00000dd0| 73 2c 20 72 65 61 64 2d | 6f 6e 6c 79 20 73 74 61 |s, read-|only sta|
|00000de0| 74 75 73 20 69 73 20 72 | 65 73 74 6f 72 65 64 20 |tus is r|estored |
|00000df0| 74 6f 20 70 72 65 76 69 | 6f 75 73 20 76 61 6c 75 |to previ|ous valu|
|00000e00| 65 2e 0a 0a 5c 5c 7b 68 | 69 64 65 2d 69 66 64 65 |e...\\{h|ide-ifde|
|00000e10| 66 2d 6d 6f 64 65 2d 6d | 61 70 7d 22 20 22 50 22 |f-mode-m|ap}" "P"|
|00000e20| 5d 29 0a 28 66 73 65 74 | 20 27 68 69 66 2d 6f 75 |]).(fset| 'hif-ou|
|00000e30| 74 6c 69 6e 65 2d 66 6c | 61 67 2d 72 65 67 69 6f |tline-fl|ag-regio|
|00000e40| 6e 20 23 5b 28 66 72 6f | 6d 20 74 6f 20 66 6c 61 |n #[(fro|m to fla|
|00000e50| 67 29 20 22 c0 20 19 c2 | 8e c3 0c 0d 0e 06 c7 55 |g) ". ..|.......U|
|00000e60| ab 83 c8 aa 81 c7 0e 06 | c9 25 2a 87 22 20 5b 62 |........|.%*." [b|
|00000e70| 75 66 66 65 72 2d 6d 6f | 64 69 66 69 65 64 2d 70 |uffer-mo|dified-p|
|00000e80| 20 6d 6f 64 70 20 28 28 | 73 65 74 2d 62 75 66 66 | modp ((|set-buff|
|00000e90| 65 72 2d 6d 6f 64 69 66 | 69 65 64 2d 70 20 6d 6f |er-modif|ied-p mo|
|00000ea0| 64 70 29 29 20 73 75 62 | 73 74 2d 63 68 61 72 2d |dp)) sub|st-char-|
|00000eb0| 69 6e 2d 72 65 67 69 6f | 6e 20 66 72 6f 6d 20 74 |in-regio|n from t|
|00000ec0| 6f 20 66 6c 61 67 20 31 | 30 20 31 33 20 74 5d 20 |o flag 1|0 13 t] |
|00000ed0| 36 20 22 5c 0a 48 69 64 | 65 73 20 6f 72 20 73 68 |6 "\.Hid|es or sh|
|00000ee0| 6f 77 73 20 6c 69 6e 65 | 73 20 66 72 6f 6d 20 46 |ows line|s from F|
|00000ef0| 52 4f 4d 20 74 6f 20 54 | 4f 2c 20 61 63 63 6f 72 |ROM to T|O, accor|
|00000f00| 64 69 6e 67 20 74 6f 20 | 46 4c 41 47 2e 20 20 49 |ding to |FLAG. I|
|00000f10| 66 20 46 4c 41 47 0a 69 | 73 20 5c 5c 6e 20 28 6e |f FLAG.i|s \\n (n|
|00000f20| 65 77 6c 69 6e 65 20 63 | 68 61 72 61 63 74 65 72 |ewline c|haracter|
|00000f30| 29 20 74 68 65 6e 20 74 | 65 78 74 20 69 73 20 73 |) then t|ext is s|
|00000f40| 68 6f 77 6e 2c 20 77 68 | 69 6c 65 20 69 66 20 46 |hown, wh|ile if F|
|00000f50| 4c 41 47 20 69 73 20 5c | 5c 5e 4d 0a 28 63 6f 6e |LAG is \|\^M.(con|
|00000f60| 74 72 6f 6c 2d 4d 29 20 | 74 68 65 20 74 65 78 74 |trol-M) |the text|
|00000f70| 20 69 73 20 68 69 64 64 | 65 6e 2e 22 5d 29 0a 28 | is hidd|en."]).(|
|00000f80| 66 73 65 74 20 27 68 69 | 66 2d 73 68 6f 77 2d 61 |fset 'hi|f-show-a|
|00000f90| 6c 6c 20 23 5b 6e 69 6c | 20 22 c0 65 64 c1 23 87 |ll #[nil| ".ed.#.|
|00000fa0| 22 20 5b 68 69 66 2d 6f | 75 74 6c 69 6e 65 2d 66 |" [hif-o|utline-f|
|00000fb0| 6c 61 67 2d 72 65 67 69 | 6f 6e 20 31 30 5d 20 34 |lag-regi|on 10] 4|
|00000fc0| 20 22 5c 0a 53 68 6f 77 | 20 61 6c 6c 20 6f 66 20 | "\.Show| all of |
|00000fd0| 74 68 65 20 74 65 78 74 | 20 69 6e 20 74 68 65 20 |the text| in the |
|00000fe0| 63 75 72 72 65 6e 74 20 | 62 75 66 66 65 72 2e 22 |current |buffer."|
|00000ff0| 20 6e 69 6c 5d 29 0a 28 | 66 73 65 74 20 27 68 69 | nil]).(|fset 'hi|
|00001000| 64 65 2d 69 66 64 65 66 | 2d 72 65 67 69 6f 6e 20 |de-ifdef|-region |
|00001010| 23 5b 28 73 74 61 72 74 | 20 65 6e 64 29 20 22 c0 |#[(start| end) ".|
|00001020| 09 5c 6e c3 23 87 22 20 | 5b 68 69 66 2d 6f 75 74 |.\n.#." |[hif-out|
|00001030| 6c 69 6e 65 2d 66 6c 61 | 67 2d 72 65 67 69 6f 6e |line-fla|g-region|
|00001040| 20 73 74 61 72 74 20 65 | 6e 64 20 31 33 5d 20 34 | start e|nd 13] 4|
|00001050| 20 22 5c 0a 53 54 41 52 | 54 20 69 73 20 74 68 65 | "\.STAR|T is the|
|00001060| 20 73 74 61 72 74 20 6f | 66 20 61 20 23 69 66 20 | start o|f a #if |
|00001070| 6f 72 20 23 65 6c 73 65 | 20 66 6f 72 6d 2e 20 20 |or #else| form. |
|00001080| 45 4e 44 20 69 73 20 74 | 68 65 20 65 6e 64 69 6e |END is t|he endin|
|00001090| 67 20 70 61 72 74 2e 0a | 45 76 65 72 79 74 68 69 |g part..|Everythi|
|000010a0| 6e 67 20 69 6e 63 6c 75 | 64 69 6e 67 20 74 68 65 |ng inclu|ding the|
|000010b0| 73 65 20 6c 69 6e 65 73 | 20 69 73 20 6d 61 64 65 |se lines| is made|
|000010c0| 20 69 6e 76 69 73 69 62 | 6c 65 2e 22 5d 29 0a 28 | invisib|le."]).(|
|000010d0| 66 73 65 74 20 27 68 69 | 66 2d 73 68 6f 77 2d 69 |fset 'hi|f-show-i|
|000010e0| 66 64 65 66 2d 72 65 67 | 69 6f 6e 20 23 5b 28 73 |fdef-reg|ion #[(s|
|000010f0| 74 61 72 74 20 65 6e 64 | 29 20 22 c0 09 5c 6e c3 |tart end|) "..\n.|
|00001100| 23 87 22 20 5b 68 69 66 | 2d 6f 75 74 6c 69 6e 65 |#." [hif|-outline|
|00001110| 2d 66 6c 61 67 2d 72 65 | 67 69 6f 6e 20 73 74 61 |-flag-re|gion sta|
|00001120| 72 74 20 65 6e 64 20 31 | 30 5d 20 34 20 22 5c 0a |rt end 1|0] 4 "\.|
|00001130| 45 76 65 72 79 74 68 69 | 6e 67 20 62 65 74 77 65 |Everythi|ng betwe|
|00001140| 65 6e 20 53 54 41 52 54 | 20 61 6e 64 20 45 4e 44 |en START| and END|
|00001150| 20 69 73 20 6d 61 64 65 | 20 76 69 73 69 62 6c 65 | is made| visible|
|00001160| 2e 22 5d 29 0a 28 64 65 | 66 76 61 72 20 68 69 64 |."]).(de|fvar hid|
|00001170| 65 2d 69 66 64 65 66 2d | 65 76 61 6c 75 61 74 6f |e-ifdef-|evaluato|
|00001180| 72 20 27 65 76 61 6c 20 | 22 5c 0a 54 68 65 20 65 |r 'eval |"\.The e|
|00001190| 76 61 6c 75 61 74 6f 72 | 20 69 73 20 67 69 76 65 |valuator| is give|
|000011a0| 6e 20 61 20 63 61 6e 6f | 6e 69 63 61 6c 20 66 6f |n a cano|nical fo|
|000011b0| 72 6d 20 61 6e 64 20 72 | 65 74 75 72 6e 73 20 54 |rm and r|eturns T|
|000011c0| 20 69 66 20 74 65 78 74 | 20 75 6e 64 65 72 0a 74 | if text| under.t|
|000011d0| 68 61 74 20 66 6f 72 6d | 20 73 68 6f 75 6c 64 20 |hat form| should |
|000011e0| 62 65 20 64 69 73 70 6c | 61 79 65 64 2e 22 29 0a |be displ|ayed.").|
|000011f0| 28 64 65 66 76 61 72 20 | 68 69 66 2d 75 6e 64 65 |(defvar |hif-unde|
|00001200| 66 69 6e 65 64 2d 73 79 | 6d 62 6f 6c 20 6e 69 6c |fined-sy|mbol nil|
|00001210| 20 22 5c 0a 2e 2e 2e 69 | 73 20 62 79 20 64 65 66 | "\....i|s by def|
|00001220| 61 75 6c 74 20 63 6f 6e | 73 69 64 65 72 65 64 20 |ault con|sidered |
|00001230| 74 6f 20 62 65 20 66 61 | 6c 73 65 2e 22 29 0a 28 |to be fa|lse.").(|
|00001240| 64 65 66 76 61 72 20 68 | 69 64 65 2d 69 66 64 65 |defvar h|ide-ifde|
|00001250| 66 2d 65 6e 76 20 6e 69 | 6c 20 22 5c 0a 41 6e 20 |f-env ni|l "\.An |
|00001260| 61 6c 69 73 74 20 6f 66 | 20 64 65 66 69 6e 65 64 |alist of| defined|
|00001270| 20 73 79 6d 62 6f 6c 73 | 20 61 6e 64 20 74 68 65 | symbols| and the|
|00001280| 69 72 20 76 61 6c 75 65 | 73 2e 22 29 0a 28 66 73 |ir value|s.").(fs|
|00001290| 65 74 20 27 68 69 66 2d | 73 65 74 2d 76 61 72 20 |et 'hif-|set-var |
|000012a0| 23 5b 28 76 61 72 20 76 | 61 6c 75 65 29 20 22 08 |#[(var v|alue) ".|
|000012b0| 09 42 5c 6e 42 89 12 87 | 22 20 5b 76 61 72 20 76 |.B\nB...|" [var v|
|000012c0| 61 6c 75 65 20 68 69 64 | 65 2d 69 66 64 65 66 2d |alue hid|e-ifdef-|
|000012d0| 65 6e 76 5d 20 32 20 22 | 5c 0a 50 72 65 70 65 6e |env] 2 "|\.Prepen|
|000012e0| 64 20 28 76 61 72 20 76 | 61 6c 75 65 29 20 70 61 |d (var v|alue) pa|
|000012f0| 69 72 20 74 6f 20 68 69 | 64 65 2d 69 66 64 65 66 |ir to hi|de-ifdef|
|00001300| 2d 65 6e 76 2e 22 5d 29 | 0a 28 62 79 74 65 2d 63 |-env."])|.(byte-c|
|00001310| 6f 64 65 20 22 c0 c1 4d | 88 c2 c3 4d 88 c4 15 c4 |ode "..M|...M....|
|00001320| c6 50 16 07 0d c8 50 16 | 09 0d ca 50 16 0b 0d cc |.P....P.|...P....|
|00001330| 50 16 0d 0e 09 ce 0e 0b | ce 0e 0d b0 05 16 0f c0 |P.......|........|
|00001340| 87 22 20 5b 68 69 66 2d | 6c 6f 6f 6b 75 70 20 23 |." [hif-|lookup #|
|00001350| 5b 28 76 61 72 29 20 22 | c0 09 5c 6e 5c 22 89 1b |[(var) "|..\n\"..|
|00001360| ab 84 0b 41 aa 81 0c 29 | 87 22 20 5b 61 73 73 6f |...A...)|." [asso|
|00001370| 63 20 76 61 72 20 68 69 | 64 65 2d 69 66 64 65 66 |c var hi|de-ifdef|
|00001380| 2d 65 6e 76 20 76 61 6c | 20 68 69 66 2d 75 6e 64 |-env val| hif-und|
|00001390| 65 66 69 6e 65 64 2d 73 | 79 6d 62 6f 6c 5d 20 34 |efined-s|ymbol] 4|
|000013a0| 5d 20 68 69 66 2d 64 65 | 66 69 6e 65 64 20 23 5b |] hif-de|fined #[|
|000013b0| 28 76 61 72 29 20 22 c0 | 09 21 87 22 20 5b 68 69 |(var) ".|.!." [hi|
|000013c0| 66 2d 6c 6f 6f 6b 75 70 | 20 76 61 72 5d 20 32 5d |f-lookup| var] 2]|
|000013d0| 20 22 5c 5c 28 5e 5c 5c | 7c 0d 5c 5c 29 5b 20 09 | "\\(^\\||.\\)[ .|
|000013e0| 5d 2a 23 5b 20 09 5d 2a | 22 20 68 69 66 2d 63 70 |]*#[ .]*|" hif-cp|
|000013f0| 70 2d 70 72 65 66 69 78 | 20 22 69 66 6e 64 65 66 |p-prefix| "ifndef|
|00001400| 22 20 68 69 66 2d 69 66 | 6e 64 65 66 2d 72 65 67 |" hif-if|ndef-reg|
|00001410| 65 78 70 20 22 69 66 5c | 5c 28 6e 3f 64 65 66 5c |exp "if\|\(n?def\|
|00001420| 5c 29 3f 5b 20 09 5d 2b | 22 20 68 69 66 2d 69 66 |\)?[ .]+|" hif-if|
|00001430| 78 2d 72 65 67 65 78 70 | 20 22 65 6c 73 65 22 20 |x-regexp| "else" |
|00001440| 68 69 66 2d 65 6c 73 65 | 2d 72 65 67 65 78 70 20 |hif-else|-regexp |
|00001450| 22 65 6e 64 69 66 22 20 | 68 69 66 2d 65 6e 64 69 |"endif" |hif-endi|
|00001460| 66 2d 72 65 67 65 78 70 | 20 22 5c 5c 7c 22 20 68 |f-regexp| "\\|" h|
|00001470| 69 66 2d 69 66 78 2d 65 | 6c 73 65 2d 65 6e 64 69 |if-ifx-e|lse-endi|
|00001480| 66 2d 72 65 67 65 78 70 | 5d 20 35 29 0a 28 66 73 |f-regexp|] 5).(fs|
|00001490| 65 74 20 27 68 69 66 2d | 69 6e 66 69 78 2d 74 6f |et 'hif-|infix-to|
|000014a0| 2d 70 72 65 66 69 78 20 | 23 5b 28 74 6f 6b 65 6e |-prefix |#[(token|
|000014b0| 2d 6c 69 73 74 29 20 22 | 08 47 c1 55 ab 87 c2 c3 |-list) "|.G.U....|
|000014c0| 08 40 44 44 87 c4 08 21 | 87 22 20 5b 74 6f 6b 65 |.@DD...!|." [toke|
|000014d0| 6e 2d 6c 69 73 74 20 31 | 20 68 69 66 2d 6c 6f 6f |n-list 1| hif-loo|
|000014e0| 6b 75 70 20 71 75 6f 74 | 65 20 68 69 66 2d 70 61 |kup quot|e hif-pa|
|000014f0| 72 73 65 2d 69 66 2d 65 | 78 70 5d 20 33 20 22 5c |rse-if-e|xp] 3 "\|
|00001500| 0a 43 6f 6e 76 65 72 74 | 20 6c 69 73 74 20 6f 66 |.Convert| list of|
|00001510| 20 74 6f 6b 65 6e 73 20 | 69 6e 20 69 6e 66 69 78 | tokens |in infix|
|00001520| 20 69 6e 74 6f 20 70 72 | 65 66 69 78 20 6c 69 73 | into pr|efix lis|
|00001530| 74 22 5d 29 0a 28 62 79 | 74 65 2d 63 6f 64 65 20 |t"]).(by|te-code |
|00001540| 22 c0 11 c2 13 c4 87 22 | 20 5b 22 5e 5c 5c 28 21 |"......"| ["^\\(!|
|00001550| 5c 5c 7c 26 26 5c 5c 7c | 7c 7c 5c 5c 7c 5b 28 29 |\\|&&\\||||\\|[()|
|00001560| 5d 5c 5c 7c 5c 5c 77 2b | 5c 5c 29 22 20 68 69 66 |]\\|\\w+|\\)" hif|
|00001570| 2d 74 6f 6b 65 6e 2d 72 | 65 67 65 78 70 20 22 5c |-token-r|egexp "\|
|00001580| 5c 2a 2f 22 20 68 69 66 | 2d 65 6e 64 2d 6f 66 2d |\*/" hif|-end-of-|
|00001590| 63 6f 6d 6d 65 6e 74 20 | 6e 69 6c 5d 20 31 29 0a |comment |nil] 1).|
|000015a0| 28 66 73 65 74 20 27 68 | 69 66 2d 74 6f 6b 65 6e |(fset 'h|if-token|
|000015b0| 69 7a 65 20 23 5b 28 65 | 78 70 72 2d 73 74 72 69 |ize #[(e|xpr-stri|
|000015c0| 6e 67 29 20 22 c0 c1 5c | 6e 47 1b 1c 1d 0c 0b 57 |ng) "..\|nG.....W|
|000015d0| 83 a9 00 c6 c7 5c 6e 0c | 23 ab 8b c1 95 14 5c 6e |.....\n.|#.....\n|
|000015e0| 0c 53 c8 49 88 aa 68 c6 | c9 5c 6e 0c 23 ab a2 c1 |.S.I..h.|.\n.#...|
|000015f0| 95 14 5c 6e 0c 53 c8 49 | 88 c6 0e 5c 6e 5c 6e 0c |..\n.S.I|...\n\n.|
|00001600| 23 ac 86 c6 cb 5c 6e 0c | 23 88 c1 95 14 5c 6e 0c |#....\n.|#....\n.|
|00001610| 53 c8 49 88 aa 3f c6 0e | 0c 5c 6e 0c 23 ab d1 5c |S.I..?..|.\n.#..\|
|00001620| 6e 0c c1 95 4f 1e 0d c1 | 95 14 5c 6e 0c 53 c8 49 |n...O...|..\n.S.I|
|00001630| 88 0e 0d ce 98 ab 83 cf | aa b1 0e 0d d0 98 ab 83 |........|........|
|00001640| d1 aa a8 0e 0d d2 98 ab | 83 d3 aa 9f 0e 0d d4 98 |........|........|
|00001650| ab 83 d5 aa 96 0e 0d d6 | 98 ab 83 d7 aa 8d 0e 0d |........|........|
|00001660| d8 98 ab 83 d9 aa 84 da | 0e 0d 21 0d 42 15 29 82 |........|..!.B.).|
|00001670| 07 00 db dc 5c 6e 5c 22 | 88 82 07 00 0d 9f 2b 87 |....\n\"|......+.|
|00001680| 22 20 5b 6e 69 6c 20 30 | 20 65 78 70 72 2d 73 74 |" [nil 0| expr-st|
|00001690| 72 69 6e 67 20 65 78 70 | 72 2d 6c 65 6e 67 74 68 |ring exp|r-length|
|000016a0| 20 65 78 70 72 2d 73 74 | 61 72 74 20 74 6f 6b 65 | expr-st|art toke|
|000016b0| 6e 2d 6c 69 73 74 20 73 | 74 72 69 6e 67 2d 6d 61 |n-list s|tring-ma|
|000016c0| 74 63 68 20 22 5e 5b 20 | 09 5d 2b 22 20 31 30 20 |tch "^[ |.]+" 10 |
|000016d0| 22 5e 2f 5c 5c 2a 22 20 | 68 69 66 2d 65 6e 64 2d |"^/\\*" |hif-end-|
|000016e0| 6f 66 2d 63 6f 6d 6d 65 | 6e 74 20 22 24 22 20 68 |of-comme|nt "$" h|
|000016f0| 69 66 2d 74 6f 6b 65 6e | 2d 72 65 67 65 78 70 20 |if-token|-regexp |
|00001700| 74 6f 6b 65 6e 20 22 7c | 7c 22 20 6f 72 20 22 26 |token "|||" or "&|
|00001710| 26 22 20 61 6e 64 20 22 | 21 22 20 6e 6f 74 20 22 |&" and "|!" not "|
|00001720| 64 65 66 69 6e 65 64 22 | 20 68 69 66 2d 64 65 66 |defined"| hif-def|
|00001730| 69 6e 65 64 20 22 28 22 | 20 6c 70 61 72 65 6e 20 |ined "("| lparen |
|00001740| 22 29 22 20 72 70 61 72 | 65 6e 20 69 6e 74 65 72 |")" rpar|en inter|
|00001750| 6e 20 65 72 72 6f 72 20 | 22 42 61 64 20 23 69 66 |n error |"Bad #if|
|00001760| 20 65 78 70 72 65 73 73 | 69 6f 6e 3a 20 25 73 22 | express|ion: %s"|
|00001770| 5d 20 34 20 22 5c 0a 53 | 65 70 61 72 61 74 65 20 |] 4 "\.S|eparate |
|00001780| 73 74 72 69 6e 67 20 69 | 6e 74 6f 20 61 20 6c 69 |string i|nto a li|
|00001790| 73 74 20 6f 66 20 74 6f | 6b 65 6e 73 22 5d 29 0a |st of to|kens"]).|
|000017a0| 28 66 73 65 74 20 27 68 | 69 66 2d 70 61 72 73 65 |(fset 'h|if-parse|
|000017b0| 2d 69 66 2d 65 78 70 20 | 23 5b 28 74 6f 6b 65 6e |-if-exp |#[(token|
|000017c0| 2d 6c 69 73 74 29 20 22 | c0 20 88 c1 20 5c 6e ab |-list) "|. .. \n.|
|000017d0| 85 c3 c4 5c 6e 5c 22 88 | 87 22 20 5b 68 69 66 2d |...\n\".|." [hif-|
|000017e0| 6e 65 78 74 74 6f 6b 65 | 6e 20 68 69 66 2d 65 78 |nexttoke|n hif-ex|
|000017f0| 70 72 20 74 6f 6b 65 6e | 20 65 72 72 6f 72 20 22 |pr token| error "|
|00001800| 45 72 72 6f 72 3a 20 75 | 6e 65 78 70 65 63 74 65 |Error: u|nexpecte|
|00001810| 64 20 74 6f 6b 65 6e 3a | 20 25 73 22 5d 20 34 20 |d token:| %s"] 4 |
|00001820| 22 5c 0a 50 61 72 73 65 | 20 74 68 65 20 54 4f 4b |"\.Parse| the TOK|
|00001830| 45 4e 2d 4c 49 53 54 2e | 20 20 52 65 74 75 72 6e |EN-LIST.| Return|
|00001840| 20 74 72 61 6e 73 6c 61 | 74 65 64 20 6c 69 73 74 | transla|ted list|
|00001850| 20 69 6e 20 70 72 65 66 | 69 78 20 66 6f 72 6d 2e | in pref|ix form.|
|00001860| 22 5d 29 0a 28 66 73 65 | 74 20 27 68 69 66 2d 6e |"]).(fse|t 'hif-n|
|00001870| 65 78 74 74 6f 6b 65 6e | 20 23 5b 6e 69 6c 20 22 |exttoken| #[nil "|
|00001880| 08 40 11 08 41 10 09 87 | 22 20 5b 74 6f 6b 65 6e |.@..A...|" [token|
|00001890| 2d 6c 69 73 74 20 74 6f | 6b 65 6e 5d 20 31 20 22 |-list to|ken] 1 "|
|000018a0| 5c 0a 50 6f 70 20 74 68 | 65 20 6e 65 78 74 20 74 |\.Pop th|e next t|
|000018b0| 6f 6b 65 6e 20 66 72 6f | 6d 20 74 6f 6b 65 6e 2d |oken fro|m token-|
|000018c0| 6c 69 73 74 20 69 6e 74 | 6f 20 74 68 65 20 6c 65 |list int|o the le|
|000018d0| 74 20 76 61 72 69 61 62 | 6c 65 20 5c 22 74 6f 6b |t variab|le \"tok|
|000018e0| 65 6e 5c 22 2e 22 5d 29 | 0a 28 66 73 65 74 20 27 |en\"."])|.(fset '|
|000018f0| 68 69 66 2d 65 78 70 72 | 20 23 5b 6e 69 6c 20 22 |hif-expr| #[nil "|
|00001900| c0 20 19 5c 6e c3 3d ab | 8b c4 20 88 c3 09 c0 20 |. .\n.=.|.. .... |
|00001910| 45 11 aa 70 09 29 87 22 | 20 5b 68 69 66 2d 74 65 |E..p.)."| [hif-te|
|00001920| 72 6d 20 72 65 73 75 6c | 74 20 74 6f 6b 65 6e 20 |rm resul|t token |
|00001930| 6f 72 20 68 69 66 2d 6e | 65 78 74 74 6f 6b 65 6e |or hif-n|exttoken|
|00001940| 5d 20 33 20 22 5c 0a 50 | 61 72 73 65 20 61 6e 64 |] 3 "\.P|arse and|
|00001950| 20 65 78 70 72 65 73 73 | 69 6f 6e 20 6f 66 20 74 | express|ion of t|
|00001960| 68 65 20 66 6f 72 6d 0a | 20 20 20 20 20 20 20 65 |he form.| e|
|00001970| 78 70 72 20 3a 20 74 65 | 72 6d 20 7c 20 65 78 70 |xpr : te|rm | exp|
|00001980| 72 20 27 7c 7c 27 20 74 | 65 72 6d 2e 22 5d 29 0a |r '||' t|erm."]).|
|00001990| 28 66 73 65 74 20 27 68 | 69 66 2d 74 65 72 6d 20 |(fset 'h|if-term |
|000019a0| 23 5b 6e 69 6c 20 22 c0 | 20 19 5c 6e c3 3d ab 8b |#[nil ".| .\n.=..|
|000019b0| c4 20 88 c3 09 c0 20 45 | 11 aa 70 09 29 87 22 20 |. .... E|..p.)." |
|000019c0| 5b 68 69 66 2d 66 61 63 | 74 6f 72 20 72 65 73 75 |[hif-fac|tor resu|
|000019d0| 6c 74 20 74 6f 6b 65 6e | 20 61 6e 64 20 68 69 66 |lt token| and hif|
|000019e0| 2d 6e 65 78 74 74 6f 6b | 65 6e 5d 20 33 20 22 5c |-nexttok|en] 3 "\|
|000019f0| 0a 50 61 72 73 65 20 61 | 20 74 65 72 6d 20 6f 66 |.Parse a| term of|
|00001a00| 20 74 68 65 20 66 6f 72 | 6d 0a 20 20 20 20 20 20 | the for|m. |
|00001a10| 20 74 65 72 6d 20 3a 20 | 66 61 63 74 6f 72 20 7c | term : |factor ||
|00001a20| 20 74 65 72 6d 20 27 26 | 26 27 20 66 61 63 74 6f | term '&|&' facto|
|00001a30| 72 2e 22 5d 29 0a 28 66 | 73 65 74 20 27 68 69 66 |r."]).(f|set 'hif|
|00001a40| 2d 66 61 63 74 6f 72 20 | 23 5b 6e 69 6c 20 22 08 |-factor |#[nil ".|
|00001a50| c1 3d ab 88 c2 20 88 c1 | c3 20 44 87 08 c4 3d ab |.=... ..|. D...=.|
|00001a60| 99 c2 20 88 c5 20 1e 06 | 08 c7 3d ac 86 c8 c9 08 |.. .. ..|..=.....|
|00001a70| 5c 22 aa 85 c2 20 88 0e | 06 29 87 08 ca 3d ab b3 |\"... ..|.)...=..|
|00001a80| c2 20 88 08 c4 3d ac 84 | c8 cb 21 88 c2 20 88 08 |. ...=..|..!.. ..|
|00001a90| 1e 0c 08 cd 3e ab 85 c8 | ce 08 5c 22 88 c2 20 88 |....>...|..\".. .|
|00001aa0| 08 c7 3d ac 84 c8 cf 21 | 88 c2 20 88 ca d0 0e 0c |..=....!|.. .....|
|00001ab0| 29 44 44 87 08 89 1e 0c | d1 3e ab 84 c8 d2 21 88 |)DD.....|.>....!.|
|00001ac0| c2 20 88 d3 d0 0e 0c 29 | 44 44 87 22 20 5b 74 6f |. .....)|DD." [to|
|00001ad0| 6b 65 6e 20 6e 6f 74 20 | 68 69 66 2d 6e 65 78 74 |ken not |hif-next|
|00001ae0| 74 6f 6b 65 6e 20 68 69 | 66 2d 66 61 63 74 6f 72 |token hi|f-factor|
|00001af0| 20 6c 70 61 72 65 6e 20 | 68 69 66 2d 65 78 70 72 | lparen |hif-expr|
|00001b00| 20 72 65 73 75 6c 74 20 | 72 70 61 72 65 6e 20 65 | result |rparen e|
|00001b10| 72 72 6f 72 20 22 42 61 | 64 20 74 6f 6b 65 6e 20 |rror "Ba|d token |
|00001b20| 69 6e 20 70 61 72 65 6e | 74 68 65 73 69 7a 65 64 |in paren|thesized|
|00001b30| 20 65 78 70 72 65 73 73 | 69 6f 6e 3a 20 25 73 22 | express|ion: %s"|
|00001b40| 20 68 69 66 2d 64 65 66 | 69 6e 65 64 20 22 45 72 | hif-def|ined "Er|
|00001b50| 72 6f 72 3a 20 65 78 70 | 65 63 74 65 64 20 5c 22 |ror: exp|ected \"|
|00001b60| 28 5c 22 20 61 66 74 65 | 72 20 5c 22 64 65 66 69 |(\" afte|r \"defi|
|00001b70| 6e 65 64 5c 22 22 20 69 | 64 65 6e 74 20 28 6f 72 |ned\"" i|dent (or|
|00001b80| 20 61 6e 64 20 6e 6f 74 | 20 68 69 66 2d 64 65 66 | and not| hif-def|
|00001b90| 69 6e 65 64 20 6c 70 61 | 72 65 6e 20 72 70 61 72 |ined lpa|ren rpar|
|00001ba0| 65 6e 29 20 22 45 72 72 | 6f 72 3a 20 75 6e 65 78 |en) "Err|or: unex|
|00001bb0| 70 65 63 74 65 64 20 74 | 6f 6b 65 6e 3a 20 25 73 |pected t|oken: %s|
|00001bc0| 22 20 22 45 72 72 6f 72 | 3a 20 65 78 70 65 63 74 |" "Error|: expect|
|00001bd0| 65 64 20 5c 22 29 5c 22 | 20 61 66 74 65 72 20 69 |ed \")\"| after i|
|00001be0| 64 65 6e 74 69 66 69 65 | 72 22 20 71 75 6f 74 65 |dentifie|r" quote|
|00001bf0| 20 28 6f 72 20 61 6e 64 | 29 20 22 45 72 72 6f 72 | (or and|) "Error|
|00001c00| 3a 20 6d 69 73 73 69 6e | 67 20 69 64 65 6e 74 69 |: missin|g identi|
|00001c10| 66 69 65 72 22 20 68 69 | 66 2d 6c 6f 6f 6b 75 70 |fier" hi|f-lookup|
|00001c20| 5d 20 34 20 22 5c 0a 50 | 61 72 73 65 20 61 20 66 |] 4 "\.P|arse a f|
|00001c30| 61 63 74 6f 72 20 6f 66 | 20 74 68 65 20 66 6f 72 |actor of| the for|
|00001c40| 6d 0a 20 20 20 20 20 20 | 20 66 61 63 74 6f 72 20 |m. | factor |
|00001c50| 3a 20 27 21 27 20 66 61 | 63 74 6f 72 20 7c 20 27 |: '!' fa|ctor | '|
|00001c60| 28 27 20 65 78 70 72 20 | 27 29 27 20 7c 20 27 64 |(' expr |')' | 'd|
|00001c70| 65 66 69 6e 65 64 28 27 | 20 69 64 20 27 29 27 20 |efined('| id ')' |
|00001c80| 7c 20 69 64 2e 22 5d 29 | 0a 28 66 73 65 74 20 27 || id."])|.(fset '|
|00001c90| 68 69 66 2d 63 61 6e 6f | 6e 69 63 61 6c 69 7a 65 |hif-cano|nicalize|
|00001ca0| 20 23 5b 6e 69 6c 20 22 | 8a c0 09 21 1a c3 0c 21 | #[nil "|...!...!|
|00001cb0| 88 60 c5 c6 77 88 60 7b | 1e 07 c8 c9 0e 07 21 21 |.`..w.`{|......!!|
|00001cc0| 1e 5c 6e 5c 6e ab 86 cb | 0e 5c 6e 44 aa 82 0e 5c |.\n\n...|.\nD...\|
|00001cd0| 6e 2c 87 22 20 5b 6c 6f | 6f 6b 69 6e 67 2d 61 74 |n,." [lo|oking-at|
|00001ce0| 20 68 69 66 2d 69 66 6e | 64 65 66 2d 72 65 67 65 | hif-ifn|def-rege|
|00001cf0| 78 70 20 6e 65 67 61 74 | 65 20 72 65 2d 73 65 61 |xp negat|e re-sea|
|00001d00| 72 63 68 2d 66 6f 72 77 | 61 72 64 20 68 69 66 2d |rch-forw|ard hif-|
|00001d10| 69 66 78 2d 72 65 67 65 | 78 70 20 22 5e 5c 6e 0d |ifx-rege|xp "^\n.|
|00001d20| 22 20 6e 69 6c 20 65 78 | 70 72 2d 73 74 72 69 6e |" nil ex|pr-strin|
|00001d30| 67 20 68 69 66 2d 69 6e | 66 69 78 2d 74 6f 2d 70 |g hif-in|fix-to-p|
|00001d40| 72 65 66 69 78 20 68 69 | 66 2d 74 6f 6b 65 6e 69 |refix hi|f-tokeni|
|00001d50| 7a 65 20 65 78 70 72 20 | 6e 6f 74 5d 20 33 20 22 |ze expr |not] 3 "|
|00001d60| 5c 0a 57 68 65 6e 20 61 | 74 20 62 65 67 69 6e 6e |\.When a|t beginn|
|00001d70| 69 6e 67 20 6f 66 20 23 | 69 66 58 2c 20 72 65 74 |ing of #|ifX, ret|
|00001d80| 75 72 6e 73 20 61 20 63 | 61 6e 6f 6e 69 63 61 6c |urns a c|anonical|
|00001d90| 20 28 65 76 61 6c 75 61 | 74 61 62 6c 65 29 0a 20 | (evalua|table). |
|00001da0| 20 20 20 20 20 20 66 6f | 72 6d 20 66 6f 72 20 74 | fo|rm for t|
|00001db0| 68 65 20 65 78 70 72 65 | 73 73 69 6f 6e 2e 22 5d |he expre|ssion."]|
|00001dc0| 29 0a 28 66 73 65 74 20 | 27 68 69 66 2d 66 69 6e |).(fset |'hif-fin|
|00001dd0| 64 2d 61 6e 79 2d 69 66 | 58 20 23 5b 6e 69 6c 20 |d-any-if|X #[nil |
|00001de0| 22 c0 09 64 c2 23 c3 79 | 88 87 22 20 5b 72 65 2d |"..d.#.y|.." [re-|
|00001df0| 73 65 61 72 63 68 2d 66 | 6f 72 77 61 72 64 20 68 |search-f|orward h|
|00001e00| 69 66 2d 69 66 78 2d 72 | 65 67 65 78 70 20 74 20 |if-ifx-r|egexp t |
|00001e10| 30 5d 20 34 20 22 5c 0a | 50 6f 73 69 74 69 6f 6e |0] 4 "\.|Position|
|00001e20| 20 61 74 20 62 65 67 69 | 6e 6e 69 6e 67 20 6f 66 | at begi|nning of|
|00001e30| 20 6e 65 78 74 20 23 69 | 66 2c 20 23 69 66 64 65 | next #i|f, #ifde|
|00001e40| 66 2c 20 6f 72 20 23 69 | 66 6e 64 65 66 2c 20 69 |f, or #i|fndef, i|
|00001e50| 6e 63 6c 75 64 69 6e 67 | 20 6f 6e 65 20 6f 6e 0a |ncluding| one on.|
|00001e60| 74 68 69 73 20 6c 69 6e | 65 2e 22 5d 29 0a 28 66 |this lin|e."]).(f|
|00001e70| 73 65 74 20 27 68 69 66 | 2d 66 69 6e 64 2d 6e 65 |set 'hif|-find-ne|
|00001e80| 78 74 2d 72 65 6c 65 76 | 61 6e 74 20 23 5b 6e 69 |xt-relev|ant #[ni|
|00001e90| 6c 20 22 c0 7f 88 c1 5c | 6e 64 c3 23 ad 84 c4 79 |l "....\|nd.#...y|
|00001ea0| 88 c0 87 22 20 5b 6e 69 | 6c 20 72 65 2d 73 65 61 |..." [ni|l re-sea|
|00001eb0| 72 63 68 2d 66 6f 72 77 | 61 72 64 20 68 69 66 2d |rch-forw|ard hif-|
|00001ec0| 69 66 78 2d 65 6c 73 65 | 2d 65 6e 64 69 66 2d 72 |ifx-else|-endif-r|
|00001ed0| 65 67 65 78 70 20 74 20 | 30 5d 20 34 20 22 5c 0a |egexp t |0] 4 "\.|
|00001ee0| 50 6f 73 69 74 69 6f 6e | 20 61 74 20 62 65 67 69 |Position| at begi|
|00001ef0| 6e 6e 69 6e 67 20 6f 66 | 20 6e 65 78 74 20 23 69 |nning of| next #i|
|00001f00| 66 64 65 66 2c 20 23 69 | 66 6e 64 65 66 2c 20 23 |fdef, #i|fndef, #|
|00001f10| 65 6c 73 65 2c 20 23 65 | 6e 64 69 66 2c 0a 4e 4f |else, #e|ndif,.NO|
|00001f20| 54 20 69 6e 63 6c 75 64 | 69 6e 67 20 6f 6e 65 20 |T includ|ing one |
|00001f30| 6f 6e 20 74 68 69 73 20 | 6c 69 6e 65 2e 22 5d 29 |on this |line."])|
|00001f40| 0a 28 66 73 65 74 20 27 | 68 69 66 2d 66 69 6e 64 |.(fset '|hif-find|
|00001f50| 2d 70 72 65 76 69 6f 75 | 73 2d 72 65 6c 65 76 61 |-previou|s-releva|
|00001f60| 6e 74 20 23 5b 6e 69 6c | 20 22 c0 79 88 c1 5c 6e |nt #[nil| ".y..\n|
|00001f70| 65 c3 23 ad 84 c0 79 88 | c4 87 22 20 5b 30 20 72 |e.#...y.|.." [0 r|
|00001f80| 65 2d 73 65 61 72 63 68 | 2d 62 61 63 6b 77 61 72 |e-search|-backwar|
|00001f90| 64 20 68 69 66 2d 69 66 | 78 2d 65 6c 73 65 2d 65 |d hif-if|x-else-e|
|00001fa0| 6e 64 69 66 2d 72 65 67 | 65 78 70 20 74 20 6e 69 |ndif-reg|exp t ni|
|00001fb0| 6c 5d 20 34 20 22 5c 0a | 50 6f 73 69 74 69 6f 6e |l] 4 "\.|Position|
|00001fc0| 20 61 74 20 62 65 67 69 | 6e 6e 69 6e 67 20 6f 66 | at begi|nning of|
|00001fd0| 20 70 72 65 76 69 6f 75 | 73 20 23 69 66 64 65 66 | previou|s #ifdef|
|00001fe0| 2c 20 23 69 66 6e 64 65 | 66 2c 20 23 65 6c 73 65 |, #ifnde|f, #else|
|00001ff0| 2c 20 23 65 6e 64 69 66 | 2c 0a 4e 4f 54 20 69 6e |, #endif|,.NOT in|
|00002000| 63 6c 75 64 69 6e 67 20 | 6f 6e 65 20 6f 6e 20 74 |cluding |one on t|
|00002010| 68 69 73 20 6c 69 6e 65 | 2e 22 5d 29 0a 28 62 79 |his line|."]).(by|
|00002020| 74 65 2d 63 6f 64 65 20 | 22 c0 c1 4d 88 c2 c3 4d |te-code |"..M...M|
|00002030| 88 c4 c5 4d 87 22 20 5b | 68 69 66 2d 6c 6f 6f 6b |...M." [|hif-look|
|00002040| 69 6e 67 2d 61 74 2d 69 | 66 58 20 23 5b 6e 69 6c |ing-at-i|fX #[nil|
|00002050| 20 22 c0 09 21 87 22 20 | 5b 6c 6f 6f 6b 69 6e 67 | "..!." |[looking|
|00002060| 2d 61 74 20 68 69 66 2d | 69 66 78 2d 72 65 67 65 |-at hif-|ifx-rege|
|00002070| 78 70 5d 20 32 5d 20 68 | 69 66 2d 6c 6f 6f 6b 69 |xp] 2] h|if-looki|
|00002080| 6e 67 2d 61 74 2d 65 6e | 64 69 66 20 23 5b 6e 69 |ng-at-en|dif #[ni|
|00002090| 6c 20 22 c0 09 21 87 22 | 20 5b 6c 6f 6f 6b 69 6e |l "..!."| [lookin|
|000020a0| 67 2d 61 74 20 68 69 66 | 2d 65 6e 64 69 66 2d 72 |g-at hif|-endif-r|
|000020b0| 65 67 65 78 70 5d 20 32 | 5d 20 68 69 66 2d 6c 6f |egexp] 2|] hif-lo|
|000020c0| 6f 6b 69 6e 67 2d 61 74 | 2d 65 6c 73 65 20 23 5b |oking-at|-else #[|
|000020d0| 6e 69 6c 20 22 c0 09 21 | 87 22 20 5b 6c 6f 6f 6b |nil "..!|." [look|
|000020e0| 69 6e 67 2d 61 74 20 68 | 69 66 2d 65 6c 73 65 2d |ing-at h|if-else-|
|000020f0| 72 65 67 65 78 70 5d 20 | 32 5d 5d 20 32 29 0a 28 |regexp] |2]] 2).(|
|00002100| 66 73 65 74 20 27 68 69 | 66 2d 69 66 64 65 66 2d |fset 'hi|f-ifdef-|
|00002110| 74 6f 2d 65 6e 64 69 66 | 20 23 5b 6e 69 6c 20 22 |to-endif| #[nil "|
|00002120| c0 20 88 c1 20 ab 86 c2 | 20 88 c2 20 87 c3 20 ab |. .. ...| .. .. .|
|00002130| 83 c2 20 87 c4 20 ab 82 | c5 87 c6 c7 21 87 22 20 |.. .. ..|....!." |
|00002140| 5b 68 69 66 2d 66 69 6e | 64 2d 6e 65 78 74 2d 72 |[hif-fin|d-next-r|
|00002150| 65 6c 65 76 61 6e 74 20 | 68 69 66 2d 6c 6f 6f 6b |elevant |hif-look|
|00002160| 69 6e 67 2d 61 74 2d 69 | 66 58 20 68 69 66 2d 69 |ing-at-i|fX hif-i|
|00002170| 66 64 65 66 2d 74 6f 2d | 65 6e 64 69 66 20 68 69 |fdef-to-|endif hi|
|00002180| 66 2d 6c 6f 6f 6b 69 6e | 67 2d 61 74 2d 65 6c 73 |f-lookin|g-at-els|
|00002190| 65 20 68 69 66 2d 6c 6f | 6f 6b 69 6e 67 2d 61 74 |e hif-lo|oking-at|
|000021a0| 2d 65 6e 64 69 66 20 64 | 6f 6e 65 20 65 72 72 6f |-endif d|one erro|
|000021b0| 72 20 22 4d 69 73 73 6d | 61 74 63 68 65 64 20 23 |r "Missm|atched #|
|000021c0| 69 66 64 65 66 20 23 65 | 6e 64 69 66 20 70 61 69 |ifdef #e|ndif pai|
|000021d0| 72 22 5d 20 32 20 22 5c | 0a 49 66 20 70 6f 73 69 |r"] 2 "\|.If posi|
|000021e0| 74 69 6f 6e 65 64 20 61 | 74 20 23 69 66 58 20 6f |tioned a|t #ifX o|
|000021f0| 72 20 23 65 6c 73 65 20 | 66 6f 72 6d 2c 20 73 6b |r #else |form, sk|
|00002200| 69 70 20 74 6f 20 63 6f | 72 72 65 73 70 6f 6e 64 |ip to co|rrespond|
|00002210| 69 6e 67 20 23 65 6e 64 | 69 66 2e 22 5d 29 0a 28 |ing #end|if."]).(|
|00002220| 66 73 65 74 20 27 68 69 | 66 2d 65 6e 64 69 66 2d |fset 'hi|f-endif-|
|00002230| 74 6f 2d 69 66 64 65 66 | 20 23 5b 6e 69 6c 20 22 |to-ifdef| #[nil "|
|00002240| 60 18 c1 20 88 08 60 55 | ab 84 c2 c3 21 88 29 c4 |`.. ..`U|....!.).|
|00002250| 20 ab 86 c5 20 88 c5 20 | 87 c6 20 ab 83 c5 20 87 | ... .. |.. ... .|
|00002260| c7 20 ab 82 c8 87 c9 87 | 22 20 5b 73 74 61 72 74 |. ......|" [start|
|00002270| 20 68 69 66 2d 66 69 6e | 64 2d 70 72 65 76 69 6f | hif-fin|d-previo|
|00002280| 75 73 2d 72 65 6c 65 76 | 61 6e 74 20 65 72 72 6f |us-relev|ant erro|
|00002290| 72 20 22 4d 69 73 73 6d | 61 74 63 68 65 64 20 23 |r "Missm|atched #|
|000022a0| 69 66 64 65 66 20 23 65 | 6e 64 69 66 20 70 61 69 |ifdef #e|ndif pai|
|000022b0| 72 22 20 68 69 66 2d 6c | 6f 6f 6b 69 6e 67 2d 61 |r" hif-l|ooking-a|
|000022c0| 74 2d 65 6e 64 69 66 20 | 68 69 66 2d 65 6e 64 69 |t-endif |hif-endi|
|000022d0| 66 2d 74 6f 2d 69 66 64 | 65 66 20 68 69 66 2d 6c |f-to-ifd|ef hif-l|
|000022e0| 6f 6f 6b 69 6e 67 2d 61 | 74 2d 65 6c 73 65 20 68 |ooking-a|t-else h|
|000022f0| 69 66 2d 6c 6f 6f 6b 69 | 6e 67 2d 61 74 2d 69 66 |if-looki|ng-at-if|
|00002300| 58 20 64 6f 6e 65 20 74 | 5d 20 32 20 22 5c 0a 49 |X done t|] 2 "\.I|
|00002310| 66 20 70 6f 73 69 74 69 | 6f 6e 65 64 20 61 74 20 |f positi|oned at |
|00002320| 23 65 6e 64 69 66 20 66 | 6f 72 6d 2c 20 73 6b 69 |#endif f|orm, ski|
|00002330| 70 20 62 61 63 6b 77 61 | 72 64 20 74 6f 20 63 6f |p backwa|rd to co|
|00002340| 72 72 65 73 70 6f 6e 64 | 69 6e 67 20 23 69 66 58 |rrespond|ing #ifX|
|00002350| 2e 22 5d 29 0a 28 66 73 | 65 74 20 27 66 6f 72 77 |."]).(fs|et 'forw|
|00002360| 61 72 64 2d 69 66 64 65 | 66 20 23 5b 28 26 6f 70 |ard-ifde|f #[(&op|
|00002370| 74 69 6f 6e 61 6c 20 61 | 72 67 29 20 22 08 ac 82 |tional a|rg) "...|
|00002380| c1 10 08 c2 57 ab 85 c3 | 08 5b 21 88 c2 08 57 ad |....W...|.[!...W.|
|00002390| 9f 08 5b 10 60 1c c5 20 | ac 83 c6 20 88 c5 20 ab |..[.`.. |... .. .|
|000023a0| 85 c7 20 88 aa 87 0c 62 | 88 c8 c9 21 88 29 aa 5c |.. ....b|...!.).\|
|000023b0| 5c 87 22 20 5b 61 72 67 | 20 31 20 30 20 62 61 63 |\." [arg| 1 0 bac|
|000023c0| 6b 77 61 72 64 2d 69 66 | 64 65 66 20 73 74 61 72 |kward-if|def star|
|000023d0| 74 20 68 69 66 2d 6c 6f | 6f 6b 69 6e 67 2d 61 74 |t hif-lo|oking-at|
|000023e0| 2d 69 66 58 20 68 69 66 | 2d 66 69 6e 64 2d 6e 65 |-ifX hif|-find-ne|
|000023f0| 78 74 2d 72 65 6c 65 76 | 61 6e 74 20 68 69 66 2d |xt-relev|ant hif-|
|00002400| 69 66 64 65 66 2d 74 6f | 2d 65 6e 64 69 66 20 65 |ifdef-to|-endif e|
|00002410| 72 72 6f 72 20 22 4e 6f | 20 66 6f 6c 6c 6f 77 69 |rror "No| followi|
|00002420| 6e 67 20 23 69 66 64 65 | 66 22 5d 20 32 20 22 5c |ng #ifde|f"] 2 "\|
|00002430| 0a 4d 6f 76 65 20 70 6f | 69 6e 74 20 74 6f 20 62 |.Move po|int to b|
|00002440| 65 67 69 6e 6e 69 6e 67 | 20 6f 66 20 6c 69 6e 65 |eginning| of line|
|00002450| 20 6f 66 20 74 68 65 20 | 6e 65 78 74 20 69 66 64 | of the |next ifd|
|00002460| 65 66 2d 65 6e 64 69 66 | 2e 0a 20 20 20 20 20 20 |ef-endif|.. |
|00002470| 20 57 69 74 68 20 61 72 | 67 75 6d 65 6e 74 2c 20 | With ar|gument, |
|00002480| 64 6f 20 74 68 69 73 20 | 74 68 61 74 20 6d 61 6e |do this |that man|
|00002490| 79 20 74 69 6d 65 73 2e | 22 20 22 70 22 5d 29 0a |y times.|" "p"]).|
|000024a0| 28 66 73 65 74 20 27 62 | 61 63 6b 77 61 72 64 2d |(fset 'b|ackward-|
|000024b0| 69 66 64 65 66 20 23 5b | 28 26 6f 70 74 69 6f 6e |ifdef #[|(&option|
|000024c0| 61 6c 20 61 72 67 29 20 | 22 08 ac 82 c1 10 08 c2 |al arg) |".......|
|000024d0| 57 ab 85 c3 08 5b 21 88 | c2 08 57 ad a2 08 53 10 |W....[!.|..W...S.|
|000024e0| c2 79 88 60 1c c5 20 ac | 83 c6 20 88 c5 20 ab 85 |.y.`.. .|.. .. ..|
|000024f0| c7 20 88 aa 87 0c 62 88 | c8 c9 21 88 29 aa 59 87 |. ....b.|..!.).Y.|
|00002500| 22 20 5b 61 72 67 20 31 | 20 30 20 66 6f 72 77 61 |" [arg 1| 0 forwa|
|00002510| 72 64 2d 69 66 64 65 66 | 20 73 74 61 72 74 20 68 |rd-ifdef| start h|
|00002520| 69 66 2d 6c 6f 6f 6b 69 | 6e 67 2d 61 74 2d 65 6e |if-looki|ng-at-en|
|00002530| 64 69 66 20 68 69 66 2d | 66 69 6e 64 2d 70 72 65 |dif hif-|find-pre|
|00002540| 76 69 6f 75 73 2d 72 65 | 6c 65 76 61 6e 74 20 68 |vious-re|levant h|
|00002550| 69 66 2d 65 6e 64 69 66 | 2d 74 6f 2d 69 66 64 65 |if-endif|-to-ifde|
|00002560| 66 20 65 72 72 6f 72 20 | 22 4e 6f 20 70 72 65 76 |f error |"No prev|
|00002570| 69 6f 75 73 20 23 69 66 | 64 65 66 22 5d 20 32 20 |ious #if|def"] 2 |
|00002580| 22 5c 0a 4d 6f 76 65 20 | 70 6f 69 6e 74 20 74 6f |"\.Move |point to|
|00002590| 20 62 65 67 69 6e 6e 69 | 6e 67 20 6f 66 20 74 68 | beginni|ng of th|
|000025a0| 65 20 70 72 65 76 69 6f | 75 73 20 69 66 64 65 66 |e previo|us ifdef|
|000025b0| 2d 65 6e 64 69 66 2e 0a | 20 20 20 20 20 20 20 57 |-endif..| W|
|000025c0| 69 74 68 20 61 72 67 75 | 6d 65 6e 74 2c 20 64 6f |ith argu|ment, do|
|000025d0| 20 74 68 69 73 20 74 68 | 61 74 20 6d 61 6e 79 20 | this th|at many |
|000025e0| 74 69 6d 65 73 2e 22 20 | 22 70 22 5d 29 0a 28 66 |times." |"p"]).(f|
|000025f0| 73 65 74 20 27 64 6f 77 | 6e 2d 69 66 64 65 66 20 |set 'dow|n-ifdef |
|00002600| 23 5b 6e 69 6c 20 22 60 | 18 c1 20 88 c2 20 ae 82 |#[nil "`|.. .. ..|
|00002610| c3 20 3f ad 86 08 62 88 | c4 c5 21 29 87 22 20 5b |. ?...b.|..!)." [|
|00002620| 73 74 61 72 74 20 68 69 | 66 2d 66 69 6e 64 2d 6e |start hi|f-find-n|
|00002630| 65 78 74 2d 72 65 6c 65 | 76 61 6e 74 20 68 69 66 |ext-rele|vant hif|
|00002640| 2d 6c 6f 6f 6b 69 6e 67 | 2d 61 74 2d 69 66 58 20 |-looking|-at-ifX |
|00002650| 68 69 66 2d 6c 6f 6f 6b | 69 6e 67 2d 61 74 2d 65 |hif-look|ing-at-e|
|00002660| 6c 73 65 20 65 72 72 6f | 72 20 22 4e 6f 20 66 6f |lse erro|r "No fo|
|00002670| 6c 6c 6f 77 69 6e 67 20 | 23 69 66 64 65 66 22 5d |llowing |#ifdef"]|
|00002680| 20 32 20 22 5c 0a 4d 6f | 76 65 20 70 6f 69 6e 74 | 2 "\.Mo|ve point|
|00002690| 20 74 6f 20 62 65 67 69 | 6e 6e 69 6e 67 20 6f 66 | to begi|nning of|
|000026a0| 20 6e 65 73 74 65 64 20 | 69 66 64 65 66 20 6f 72 | nested |ifdef or|
|000026b0| 20 65 6c 73 65 2d 70 61 | 72 74 2e 22 20 6e 69 6c | else-pa|rt." nil|
|000026c0| 5d 29 0a 28 66 73 65 74 | 20 27 75 70 2d 69 66 64 |]).(fset| 'up-ifd|
|000026d0| 65 66 20 23 5b 6e 69 6c | 20 22 c0 79 88 60 19 c2 |ef #[nil| ".y.`..|
|000026e0| 20 ac 83 c3 20 88 c2 20 | ab 83 c4 20 88 09 60 55 | ... .. |... ..`U|
|000026f0| ad 83 c5 c6 21 29 87 22 | 20 5b 30 20 73 74 61 72 |....!)."| [0 star|
|00002700| 74 20 68 69 66 2d 6c 6f | 6f 6b 69 6e 67 2d 61 74 |t hif-lo|oking-at|
|00002710| 2d 65 6e 64 69 66 20 68 | 69 66 2d 66 69 6e 64 2d |-endif h|if-find-|
|00002720| 70 72 65 76 69 6f 75 73 | 2d 72 65 6c 65 76 61 6e |previous|-relevan|
|00002730| 74 20 68 69 66 2d 65 6e | 64 69 66 2d 74 6f 2d 69 |t hif-en|dif-to-i|
|00002740| 66 64 65 66 20 65 72 72 | 6f 72 20 22 4e 6f 20 70 |fdef err|or "No p|
|00002750| 72 65 76 69 6f 75 73 20 | 23 69 66 64 65 66 22 5d |revious |#ifdef"]|
|00002760| 20 32 20 22 5c 0a 4d 6f | 76 65 20 70 6f 69 6e 74 | 2 "\.Mo|ve point|
|00002770| 20 74 6f 20 62 65 67 69 | 6e 6e 69 6e 67 20 6f 66 | to begi|nning of|
|00002780| 20 65 6e 63 6c 6f 73 69 | 6e 67 20 69 66 64 65 66 | enclosi|ng ifdef|
|00002790| 20 6f 72 20 65 6c 73 65 | 2d 70 61 72 74 2e 22 20 | or else|-part." |
|000027a0| 6e 69 6c 5d 29 0a 28 66 | 73 65 74 20 27 6e 65 78 |nil]).(f|set 'nex|
|000027b0| 74 2d 69 66 64 65 66 20 | 23 5b 28 26 6f 70 74 69 |t-ifdef |#[(&opti|
|000027c0| 6f 6e 61 6c 20 61 72 67 | 29 20 22 08 ac 82 c1 10 |onal arg|) ".....|
|000027d0| 08 c2 57 ab 85 c3 08 5b | 21 88 c2 08 57 ad 92 08 |..W....[|!...W...|
|000027e0| 53 10 c4 20 88 6c ab 72 | c2 79 88 c5 c6 21 88 aa |S.. .l.r|.y...!..|
|000027f0| 69 87 22 20 5b 61 72 67 | 20 31 20 30 20 70 72 65 |i." [arg| 1 0 pre|
|00002800| 76 69 6f 75 73 2d 69 66 | 64 65 66 20 68 69 66 2d |vious-if|def hif-|
|00002810| 66 69 6e 64 2d 6e 65 78 | 74 2d 72 65 6c 65 76 61 |find-nex|t-releva|
|00002820| 6e 74 20 65 72 72 6f 72 | 20 22 4e 6f 20 66 6f 6c |nt error| "No fol|
|00002830| 6c 6f 77 69 6e 67 20 23 | 69 66 64 65 66 73 2c 20 |lowing #|ifdefs, |
|00002840| 23 65 6c 73 65 73 2c 20 | 6f 72 20 23 65 6e 64 69 |#elses, |or #endi|
|00002850| 66 73 22 5d 20 32 20 22 | 5c 0a 4d 6f 76 65 20 74 |fs"] 2 "|\.Move t|
|00002860| 6f 20 74 68 65 20 62 65 | 67 69 6e 6e 69 6e 67 20 |o the be|ginning |
|00002870| 6f 66 20 74 68 65 20 6e | 65 78 74 20 23 69 66 58 |of the n|ext #ifX|
|00002880| 2c 20 23 65 6c 73 65 2c | 20 6f 72 20 23 65 6e 64 |, #else,| or #end|
|00002890| 69 66 2e 0a 20 20 20 20 | 20 20 20 57 69 74 68 20 |if.. | With |
|000028a0| 61 72 67 75 6d 65 6e 74 | 2c 20 64 6f 20 74 68 69 |argument|, do thi|
|000028b0| 73 20 74 68 61 74 20 6d | 61 6e 79 20 74 69 6d 65 |s that m|any time|
|000028c0| 73 2e 22 20 22 70 22 5d | 29 0a 28 66 73 65 74 20 |s." "p"]|).(fset |
|000028d0| 27 70 72 65 76 69 6f 75 | 73 2d 69 66 64 65 66 20 |'previou|s-ifdef |
|000028e0| 23 5b 28 26 6f 70 74 69 | 6f 6e 61 6c 20 61 72 67 |#[(&opti|onal arg|
|000028f0| 29 20 22 08 ac 82 c1 10 | 08 c2 57 ab 85 c3 08 5b |) ".....|..W....[|
|00002900| 21 88 c2 08 57 ad 94 08 | 53 10 60 1c c5 20 88 0c |!...W...|S.`.. ..|
|00002910| 60 55 ab 84 c6 c7 21 88 | 29 aa 67 87 22 20 5b 61 |`U....!.|).g." [a|
|00002920| 72 67 20 31 20 30 20 6e | 65 78 74 2d 69 66 64 65 |rg 1 0 n|ext-ifde|
|00002930| 66 20 73 74 61 72 74 20 | 68 69 66 2d 66 69 6e 64 |f start |hif-find|
|00002940| 2d 70 72 65 76 69 6f 75 | 73 2d 72 65 6c 65 76 61 |-previou|s-releva|
|00002950| 6e 74 20 65 72 72 6f 72 | 20 22 4e 6f 20 70 72 65 |nt error| "No pre|
|00002960| 76 69 6f 75 73 20 23 69 | 66 64 65 66 73 2c 20 23 |vious #i|fdefs, #|
|00002970| 65 6c 73 65 73 2c 20 6f | 72 20 23 65 6e 64 69 66 |elses, o|r #endif|
|00002980| 73 22 5d 20 32 20 22 5c | 0a 4d 6f 76 65 20 74 6f |s"] 2 "\|.Move to|
|00002990| 20 74 68 65 20 62 65 67 | 69 6e 6e 69 6e 67 20 6f | the beg|inning o|
|000029a0| 66 20 74 68 65 20 70 72 | 65 76 69 6f 75 73 20 23 |f the pr|evious #|
|000029b0| 69 66 58 2c 20 23 65 6c | 73 65 2c 20 6f 72 20 23 |ifX, #el|se, or #|
|000029c0| 65 6e 64 69 66 2e 0a 20 | 20 20 20 20 20 20 57 69 |endif.. | Wi|
|000029d0| 74 68 20 61 72 67 75 6d | 65 6e 74 2c 20 64 6f 20 |th argum|ent, do |
|000029e0| 74 68 69 73 20 74 68 61 | 74 20 6d 61 6e 79 20 74 |this tha|t many t|
|000029f0| 69 6d 65 73 2e 22 20 22 | 70 22 5d 29 0a 28 62 79 |imes." "|p"]).(by|
|00002a00| 74 65 2d 63 6f 64 65 20 | 22 c0 c1 4d 88 c2 c3 4d |te-code |"..M...M|
|00002a10| 88 c4 c5 4d 88 c6 c7 4d | 88 c8 c9 4d 87 22 20 5b |...M...M|...M." [|
|00002a20| 68 69 66 2d 6d 61 6b 65 | 2d 72 61 6e 67 65 20 23 |hif-make|-range #|
|00002a30| 5b 28 65 6c 73 65 2d 70 | 20 73 74 61 72 74 20 65 |[(else-p| start e|
|00002a40| 6e 64 20 26 6f 70 74 69 | 6f 6e 61 6c 20 65 6c 73 |nd &opti|onal els|
|00002a50| 65 29 20 22 08 09 5c 6e | 0b 46 87 22 20 5b 65 6c |e) "..\n|.F." [el|
|00002a60| 73 65 2d 70 20 73 74 61 | 72 74 20 65 6c 73 65 20 |se-p sta|rt else |
|00002a70| 65 6e 64 5d 20 34 5d 20 | 68 69 66 2d 72 61 6e 67 |end] 4] |hif-rang|
|00002a80| 65 2d 65 6c 73 65 2d 70 | 20 23 5b 28 72 61 6e 67 |e-else-p| #[(rang|
|00002a90| 65 29 20 22 08 c1 9c 87 | 22 20 5b 72 61 6e 67 65 |e) "....|" [range|
|00002aa0| 20 30 5d 20 32 5d 20 68 | 69 66 2d 72 61 6e 67 65 | 0] 2] h|if-range|
|00002ab0| 2d 73 74 61 72 74 20 23 | 5b 28 72 61 6e 67 65 29 |-start #|[(range)|
|00002ac0| 20 22 08 c1 9c 87 22 20 | 5b 72 61 6e 67 65 20 31 | "...." |[range 1|
|00002ad0| 5d 20 32 5d 20 68 69 66 | 2d 72 61 6e 67 65 2d 65 |] 2] hif|-range-e|
|00002ae0| 6c 73 65 20 23 5b 28 72 | 61 6e 67 65 29 20 22 08 |lse #[(r|ange) ".|
|00002af0| c1 9c 87 22 20 5b 72 61 | 6e 67 65 20 32 5d 20 32 |..." [ra|nge 2] 2|
|00002b00| 5d 20 68 69 66 2d 72 61 | 6e 67 65 2d 65 6e 64 20 |] hif-ra|nge-end |
|00002b10| 23 5b 28 72 61 6e 67 65 | 29 20 22 08 c1 9c 87 22 |#[(range|) "...."|
|00002b20| 20 5b 72 61 6e 67 65 20 | 33 5d 20 32 5d 5d 20 32 | [range |3] 2]] 2|
|00002b30| 29 0a 28 66 73 65 74 20 | 27 68 69 66 2d 66 69 6e |).(fset |'hif-fin|
|00002b40| 64 2d 72 61 6e 67 65 20 | 23 5b 6e 69 6c 20 22 8a |d-range |#[nil ".|
|00002b50| c0 79 88 60 c1 89 89 1a | 1b 1c 1d c6 20 88 c7 20 |.y.`....|.... .. |
|00002b60| ab 88 c8 20 88 c6 20 88 | aa 74 c9 20 ab 86 ca 14 |... .. .|.t. ....|
|00002b70| 60 13 aa 82 60 12 0c ab | 99 c6 20 88 c7 20 ab 88 |`...`...|.. .. ..|
|00002b80| c8 20 88 c6 20 88 aa 74 | c9 20 ab 84 cb cc 21 88 |. .. ..t|. ....!.|
|00002b90| 60 12 cd 0c 0d 5c 6e 0b | 24 2d 87 22 20 5b 30 20 |`....\n.|$-." [0 |
|00002ba0| 6e 69 6c 20 65 6e 64 20 | 65 6c 73 65 20 65 6c 73 |nil end |else els|
|00002bb0| 65 2d 70 20 73 74 61 72 | 74 20 68 69 66 2d 66 69 |e-p star|t hif-fi|
|00002bc0| 6e 64 2d 6e 65 78 74 2d | 72 65 6c 65 76 61 6e 74 |nd-next-|relevant|
|00002bd0| 20 68 69 66 2d 6c 6f 6f | 6b 69 6e 67 2d 61 74 2d | hif-loo|king-at-|
|00002be0| 69 66 58 20 68 69 66 2d | 69 66 64 65 66 2d 74 6f |ifX hif-|ifdef-to|
|00002bf0| 2d 65 6e 64 69 66 20 68 | 69 66 2d 6c 6f 6f 6b 69 |-endif h|if-looki|
|00002c00| 6e 67 2d 61 74 2d 65 6c | 73 65 20 74 20 65 72 72 |ng-at-el|se t err|
|00002c10| 6f 72 20 22 46 6f 75 6e | 64 20 74 77 6f 20 65 6c |or "Foun|d two el|
|00002c20| 73 65 73 20 69 6e 20 61 | 20 72 6f 77 3f 20 20 42 |ses in a| row? B|
|00002c30| 72 6f 6b 65 6e 21 22 20 | 68 69 66 2d 6d 61 6b 65 |roken!" |hif-make|
|00002c40| 2d 72 61 6e 67 65 5d 20 | 35 20 22 5c 0a 52 65 74 |-range] |5 "\.Ret|
|00002c50| 75 72 6e 73 20 61 20 52 | 61 6e 67 65 20 73 74 72 |urns a R|ange str|
|00002c60| 75 63 74 75 72 65 20 64 | 65 73 63 72 69 62 69 6e |ucture d|escribin|
|00002c70| 67 20 74 68 65 20 63 75 | 72 72 65 6e 74 20 23 69 |g the cu|rrent #i|
|00002c80| 66 20 72 65 67 69 6f 6e | 2e 0a 50 6f 69 6e 74 20 |f region|..Point |
|00002c90| 69 73 20 6c 65 66 74 20 | 75 6e 63 68 61 6e 67 65 |is left |unchange|
|00002ca0| 64 2e 22 5d 29 0a 28 66 | 73 65 74 20 27 68 69 66 |d."]).(f|set 'hif|
|00002cb0| 2d 68 69 64 65 2d 6c 69 | 6e 65 20 23 5b 28 70 6f |-hide-li|ne #[(po|
|00002cc0| 69 6e 74 29 20 22 08 ad | 98 8a 09 62 88 c2 20 1b |int) "..|...b.. .|
|00002cd0| c4 8e c5 79 88 60 c6 55 | 3f ad 85 c7 60 53 60 5c |...y.`.U|?...`S`\|
|00002ce0| 22 2b 87 22 20 5b 68 69 | 64 65 2d 69 66 64 65 66 |"+." [hi|de-ifdef|
|00002cf0| 2d 6c 69 6e 65 73 20 70 | 6f 69 6e 74 20 62 75 66 |-lines p|oint buf|
|00002d00| 66 65 72 2d 6d 6f 64 69 | 66 69 65 64 2d 70 20 6d |fer-modi|fied-p m|
|00002d10| 6f 64 70 20 28 28 73 65 | 74 2d 62 75 66 66 65 72 |odp ((se|t-buffer|
|00002d20| 2d 6d 6f 64 69 66 69 65 | 64 2d 70 20 6d 6f 64 70 |-modifie|d-p modp|
|00002d30| 29 29 20 30 20 31 20 68 | 69 64 65 2d 69 66 64 65 |)) 0 1 h|ide-ifde|
|00002d40| 66 2d 72 65 67 69 6f 6e | 5d 20 33 20 22 5c 0a 48 |f-region|] 3 "\.H|
|00002d50| 69 64 65 20 74 68 65 20 | 6c 69 6e 65 20 63 6f 6e |ide the |line con|
|00002d60| 74 61 69 6e 69 6e 67 20 | 70 6f 69 6e 74 2e 20 20 |taining |point. |
|00002d70| 44 6f 65 73 20 6e 6f 74 | 68 69 6e 67 20 69 66 0a |Does not|hing if.|
|00002d80| 68 69 64 65 2d 69 66 64 | 65 66 2d 6c 69 6e 65 73 |hide-ifd|ef-lines|
|00002d90| 20 69 73 20 6e 69 6c 2e | 22 5d 29 0a 28 66 73 65 | is nil.|"]).(fse|
|00002da0| 74 20 27 68 69 66 2d 72 | 65 63 75 72 73 65 2d 6f |t 'hif-r|ecurse-o|
|00002db0| 6e 20 23 5b 28 73 74 61 | 72 74 20 65 6e 64 29 20 |n #[(sta|rt end) |
|00002dc0| 22 8a 8c 08 62 88 c1 7f | 88 60 5c 6e 7d 88 c3 20 |"...b...|.`\n}.. |
|00002dd0| 2a 87 22 20 5b 73 74 61 | 72 74 20 6e 69 6c 20 65 |*." [sta|rt nil e|
|00002de0| 6e 64 20 68 69 64 65 2d | 69 66 64 65 66 2d 67 75 |nd hide-|ifdef-gu|
|00002df0| 74 73 5d 20 32 20 22 5c | 0a 43 61 6c 6c 20 68 69 |ts] 2 "\|.Call hi|
|00002e00| 64 65 2d 69 66 64 65 66 | 2d 67 75 74 73 20 61 66 |de-ifdef|-guts af|
|00002e10| 74 65 72 20 6e 61 72 72 | 6f 77 69 6e 67 20 74 6f |ter narr|owing to|
|00002e20| 20 65 6e 64 20 6f 66 20 | 53 54 41 52 54 20 6c 69 | end of |START li|
|00002e30| 6e 65 20 61 6e 64 20 45 | 4e 44 0a 6c 69 6e 65 2e |ne and E|ND.line.|
|00002e40| 22 5d 29 0a 28 66 73 65 | 74 20 27 68 69 66 2d 70 |"]).(fse|t 'hif-p|
|00002e50| 6f 73 73 69 62 6c 79 2d | 68 69 64 65 20 23 5b 6e |ossibly-|hide #[n|
|00002e60| 69 6c 20 22 c0 20 c1 20 | 1a 1b c4 c5 5c 6e 21 21 |il ". . |....\n!!|
|00002e70| 88 0e 06 0b 21 ab ab c7 | 5c 6e 21 ab 9b c4 c8 5c |....!...|\n!....\|
|00002e80| 6e 21 21 88 c9 c8 5c 6e | 21 c5 5c 6e 21 53 5c 22 |n!!...\n|!.\n!S\"|
|00002e90| 88 ca cb 5c 6e 21 c8 5c | 6e 21 5c 22 88 aa b3 ca |...\n!.\|n!\"....|
|00002ea0| cb 5c 6e 21 c5 5c 6e 21 | 5c 22 88 aa a8 c7 5c 6e |.\n!.\n!|\"....\n|
|00002eb0| 21 ab 9b c4 c8 5c 6e 21 | 21 88 c9 cb 5c 6e 21 c8 |!....\n!|!...\n!.|
|00002ec0| 5c 6e 21 53 5c 22 88 ca | c8 5c 6e 21 c5 5c 6e 21 |\n!S\"..|.\n!.\n!|
|00002ed0| 5c 22 88 aa 88 c9 60 c5 | 5c 6e 21 53 5c 22 88 c4 |\"....`.|\n!S\"..|
|00002ee0| cb 5c 6e 21 21 88 c5 5c | 6e 21 62 88 cc 7f 2a 87 |.\n!!..\|n!b...*.|
|00002ef0| 22 20 5b 68 69 66 2d 63 | 61 6e 6f 6e 69 63 61 6c |" [hif-c|anonical|
|00002f00| 69 7a 65 20 68 69 66 2d | 66 69 6e 64 2d 72 61 6e |ize hif-|find-ran|
|00002f10| 67 65 20 72 61 6e 67 65 | 20 74 65 73 74 20 68 69 |ge range| test hi|
|00002f20| 66 2d 68 69 64 65 2d 6c | 69 6e 65 20 68 69 66 2d |f-hide-l|ine hif-|
|00002f30| 72 61 6e 67 65 2d 65 6e | 64 20 68 69 64 65 2d 69 |range-en|d hide-i|
|00002f40| 66 64 65 66 2d 65 76 61 | 6c 75 61 74 6f 72 20 68 |fdef-eva|luator h|
|00002f50| 69 66 2d 72 61 6e 67 65 | 2d 65 6c 73 65 2d 70 20 |if-range|-else-p |
|00002f60| 68 69 66 2d 72 61 6e 67 | 65 2d 65 6c 73 65 20 68 |hif-rang|e-else h|
|00002f70| 69 64 65 2d 69 66 64 65 | 66 2d 72 65 67 69 6f 6e |ide-ifde|f-region|
|00002f80| 20 68 69 66 2d 72 65 63 | 75 72 73 65 2d 6f 6e 20 | hif-rec|urse-on |
|00002f90| 68 69 66 2d 72 61 6e 67 | 65 2d 73 74 61 72 74 20 |hif-rang|e-start |
|00002fa0| 6e 69 6c 5d 20 34 20 22 | 5c 0a 43 61 6c 6c 65 64 |nil] 4 "|\.Called|
|00002fb0| 20 61 74 20 23 69 66 58 | 20 65 78 70 72 65 73 73 | at #ifX| express|
|00002fc0| 69 6f 6e 2c 20 74 68 69 | 73 20 68 69 64 65 73 20 |ion, thi|s hides |
|00002fd0| 74 68 6f 73 65 20 70 61 | 72 74 73 20 74 68 61 74 |those pa|rts that|
|00002fe0| 20 73 68 6f 75 6c 64 20 | 62 65 0a 68 69 64 64 65 | should |be.hidde|
|00002ff0| 6e 2c 20 61 63 63 6f 72 | 64 69 6e 67 20 74 6f 20 |n, accor|ding to |
|00003000| 6a 75 64 67 65 6d 65 6e | 74 20 6f 66 20 68 69 64 |judgemen|t of hid|
|00003010| 65 2d 69 66 64 65 66 2d | 65 76 61 6c 75 61 74 6f |e-ifdef-|evaluato|
|00003020| 72 2e 22 5d 29 0a 28 66 | 73 65 74 20 27 68 69 64 |r."]).(f|set 'hid|
|00003030| 65 2d 69 66 64 65 66 2d | 67 75 74 73 20 23 5b 6e |e-ifdef-|guts #[n|
|00003040| 69 6c 20 22 8a 65 62 88 | c0 20 ad 85 c1 20 88 aa |il ".eb.|. ... ..|
|00003050| 77 29 87 22 20 5b 68 69 | 66 2d 66 69 6e 64 2d 61 |w)." [hi|f-find-a|
|00003060| 6e 79 2d 69 66 58 20 68 | 69 66 2d 70 6f 73 73 69 |ny-ifX h|if-possi|
|00003070| 62 6c 79 2d 68 69 64 65 | 5d 20 31 20 22 5c 0a 44 |bly-hide|] 1 "\.D|
|00003080| 6f 65 73 20 74 68 65 20 | 77 6f 72 6b 20 6f 66 20 |oes the |work of |
|00003090| 68 69 64 65 2d 69 66 64 | 65 66 73 2c 20 65 78 63 |hide-ifd|efs, exc|
|000030a0| 65 70 74 20 66 6f 72 20 | 74 68 65 20 77 6f 72 6b |ept for |the work|
|000030b0| 20 74 68 61 74 27 73 20 | 70 6f 69 6e 74 6c 65 73 | that's |pointles|
|000030c0| 73 0a 74 6f 20 72 65 64 | 6f 20 6f 6e 20 61 20 72 |s.to red|o on a r|
|000030d0| 65 63 75 72 73 69 76 65 | 20 65 6e 74 72 79 2e 22 |ecursive| entry."|
|000030e0| 5d 29 0a 28 64 65 66 76 | 61 72 20 68 69 64 65 2d |]).(defv|ar hide-|
|000030f0| 69 66 64 65 66 2d 69 6e | 69 74 69 61 6c 6c 79 20 |ifdef-in|itially |
|00003100| 6e 69 6c 20 22 5c 0a 2a | 4e 6f 6e 2d 6e 69 6c 20 |nil "\.*|Non-nil |
|00003110| 69 66 20 68 69 64 65 2d | 69 66 64 65 66 73 20 73 |if hide-|ifdefs s|
|00003120| 68 6f 75 6c 64 20 62 65 | 20 63 61 6c 6c 65 64 20 |hould be| called |
|00003130| 77 68 65 6e 20 68 69 64 | 65 2d 69 66 64 65 66 2d |when hid|e-ifdef-|
|00003140| 6d 6f 64 65 0a 09 69 73 | 20 66 69 72 73 74 20 61 |mode..is| first a|
|00003150| 63 74 69 76 61 74 65 64 | 2e 22 29 0a 28 64 65 66 |ctivated|.").(def|
|00003160| 76 61 72 20 68 69 64 65 | 2d 69 66 64 65 66 2d 68 |var hide|-ifdef-h|
|00003170| 69 64 69 6e 67 20 6e 69 | 6c 20 22 5c 0a 4e 6f 6e |iding ni|l "\.Non|
|00003180| 2d 6e 69 6c 20 69 66 20 | 74 65 78 74 20 6d 69 67 |-nil if |text mig|
|00003190| 68 74 20 62 65 20 68 69 | 64 64 65 6e 2e 22 29 0a |ht be hi|dden.").|
|000031a0| 28 64 65 66 76 61 72 20 | 68 69 64 65 2d 69 66 64 |(defvar |hide-ifd|
|000031b0| 65 66 2d 72 65 61 64 2d | 6f 6e 6c 79 20 6e 69 6c |ef-read-|only nil|
|000031c0| 20 22 5c 0a 2a 53 65 74 | 20 74 6f 20 6e 6f 6e 2d | "\.*Set| to non-|
|000031d0| 6e 69 6c 20 69 66 20 79 | 6f 75 20 77 61 6e 74 20 |nil if y|ou want |
|000031e0| 62 75 66 66 65 72 20 74 | 6f 20 62 65 20 72 65 61 |buffer t|o be rea|
|000031f0| 64 2d 6f 6e 6c 79 20 77 | 68 69 6c 65 20 68 69 64 |d-only w|hile hid|
|00003200| 69 6e 67 20 74 65 78 74 | 2e 22 29 0a 28 64 65 66 |ing text|.").(def|
|00003210| 76 61 72 20 68 69 66 2d | 6f 75 74 73 69 64 65 2d |var hif-|outside-|
|00003220| 72 65 61 64 2d 6f 6e 6c | 79 20 6e 69 6c 20 22 5c |read-onl|y nil "\|
|00003230| 0a 49 6e 74 65 72 6e 61 | 6c 20 76 61 72 69 61 62 |.Interna|l variab|
|00003240| 6c 65 2e 20 20 53 61 76 | 65 73 20 74 68 65 20 76 |le. Sav|es the v|
|00003250| 61 6c 75 65 20 6f 66 20 | 62 75 66 66 65 72 2d 72 |alue of |buffer-r|
|00003260| 65 61 64 2d 6f 6e 6c 79 | 20 77 68 69 6c 65 20 68 |ead-only| while h|
|00003270| 69 64 69 6e 67 2e 22 29 | 0a 28 64 65 66 76 61 72 |iding.")|.(defvar|
|00003280| 20 68 69 64 65 2d 69 66 | 64 65 66 2d 6c 69 6e 65 | hide-if|def-line|
|00003290| 73 20 6e 69 6c 20 22 5c | 0a 2a 53 65 74 20 74 6f |s nil "\|.*Set to|
|000032a0| 20 74 20 69 66 20 79 6f | 75 20 64 6f 6e 27 74 20 | t if yo|u don't |
|000032b0| 77 61 6e 74 20 74 6f 20 | 73 65 65 20 74 68 65 20 |want to |see the |
|000032c0| 23 69 66 58 2c 20 23 65 | 6c 73 65 2c 20 61 6e 64 |#ifX, #e|lse, and|
|000032d0| 20 23 65 6e 64 69 66 20 | 6c 69 6e 65 73 2e 22 29 | #endif |lines.")|
|000032e0| 0a 28 66 73 65 74 20 27 | 68 69 64 65 2d 69 66 64 |.(fset '|hide-ifd|
|000032f0| 65 66 2d 74 6f 67 67 6c | 65 2d 72 65 61 64 2d 6f |ef-toggl|e-read-o|
|00003300| 6e 6c 79 20 23 5b 6e 69 | 6c 20 22 08 3f 10 c1 c2 |nly #[ni|l ".?...|
|00003310| 08 ab 83 c3 aa 81 c4 5c | 22 88 0d ab 87 08 ae 82 |.......\|".......|
|00003320| 0e 06 16 07 c8 20 87 22 | 20 5b 68 69 64 65 2d 69 |..... ."| [hide-i|
|00003330| 66 64 65 66 2d 72 65 61 | 64 2d 6f 6e 6c 79 20 6d |fdef-rea|d-only m|
|00003340| 65 73 73 61 67 65 20 22 | 48 69 64 65 2d 52 65 61 |essage "|Hide-Rea|
|00003350| 64 2d 4f 6e 6c 79 20 25 | 73 22 20 22 4f 4e 22 20 |d-Only %|s" "ON" |
|00003360| 22 4f 46 46 22 20 68 69 | 64 65 2d 69 66 64 65 66 |"OFF" hi|de-ifdef|
|00003370| 2d 68 69 64 69 6e 67 20 | 68 69 66 2d 6f 75 74 73 |-hiding |hif-outs|
|00003380| 69 64 65 2d 72 65 61 64 | 2d 6f 6e 6c 79 20 62 75 |ide-read|-only bu|
|00003390| 66 66 65 72 2d 72 65 61 | 64 2d 6f 6e 6c 79 20 68 |ffer-rea|d-only h|
|000033a0| 69 66 2d 75 70 64 61 74 | 65 2d 6d 6f 64 65 2d 6c |if-updat|e-mode-l|
|000033b0| 69 6e 65 5d 20 33 20 22 | 5c 0a 54 6f 67 67 6c 65 |ine] 3 "|\.Toggle|
|000033c0| 20 68 69 64 65 2d 69 66 | 64 65 66 2d 72 65 61 64 | hide-if|def-read|
|000033d0| 2d 6f 6e 6c 79 2e 22 20 | 6e 69 6c 5d 29 0a 28 66 |-only." |nil]).(f|
|000033e0| 73 65 74 20 27 68 69 64 | 65 2d 69 66 64 65 66 2d |set 'hid|e-ifdef-|
|000033f0| 74 6f 67 67 6c 65 2d 6f | 75 74 73 69 64 65 2d 72 |toggle-o|utside-r|
|00003400| 65 61 64 2d 6f 6e 6c 79 | 20 23 5b 6e 69 6c 20 22 |ead-only| #[nil "|
|00003410| 08 3f 10 c1 c2 08 ab 83 | c3 aa 81 c4 5c 22 88 0d |.?......|....\"..|
|00003420| ab 84 0e 06 ae 81 08 16 | 07 c8 20 87 22 20 5b 68 |........|.. ." [h|
|00003430| 69 66 2d 6f 75 74 73 69 | 64 65 2d 72 65 61 64 2d |if-outsi|de-read-|
|00003440| 6f 6e 6c 79 20 6d 65 73 | 73 61 67 65 20 22 52 65 |only mes|sage "Re|
|00003450| 61 64 20 6f 6e 6c 79 20 | 25 73 22 20 22 4f 4e 22 |ad only |%s" "ON"|
|00003460| 20 22 4f 46 46 22 20 68 | 69 64 65 2d 69 66 64 65 | "OFF" h|ide-ifde|
|00003470| 66 2d 68 69 64 69 6e 67 | 20 68 69 64 65 2d 69 66 |f-hiding| hide-if|
|00003480| 64 65 66 2d 72 65 61 64 | 2d 6f 6e 6c 79 20 62 75 |def-read|-only bu|
|00003490| 66 66 65 72 2d 72 65 61 | 64 2d 6f 6e 6c 79 20 68 |ffer-rea|d-only h|
|000034a0| 69 66 2d 75 70 64 61 74 | 65 2d 6d 6f 64 65 2d 6c |if-updat|e-mode-l|
|000034b0| 69 6e 65 5d 20 33 20 22 | 5c 0a 52 65 70 6c 61 63 |ine] 3 "|\.Replac|
|000034c0| 65 6d 65 6e 74 20 66 6f | 72 20 74 6f 67 67 6c 65 |ement fo|r toggle|
|000034d0| 2d 72 65 61 64 2d 6f 6e | 6c 79 20 77 69 74 68 69 |-read-on|ly withi|
|000034e0| 6e 20 68 69 64 65 2d 69 | 66 64 65 66 2d 6d 6f 64 |n hide-i|fdef-mod|
|000034f0| 65 2e 22 20 6e 69 6c 5d | 29 0a 28 66 73 65 74 20 |e." nil]|).(fset |
|00003500| 27 68 69 64 65 2d 69 66 | 64 65 66 2d 64 65 66 69 |'hide-if|def-defi|
|00003510| 6e 65 20 23 5b 28 76 61 | 72 29 20 22 c0 09 c2 5c |ne #[(va|r) "...\|
|00003520| 22 88 0b ad 82 c4 20 87 | 22 20 5b 68 69 66 2d 73 |"..... .|" [hif-s|
|00003530| 65 74 2d 76 61 72 20 76 | 61 72 20 74 20 68 69 64 |et-var v|ar t hid|
|00003540| 65 2d 69 66 64 65 66 2d | 68 69 64 69 6e 67 20 68 |e-ifdef-|hiding h|
|00003550| 69 64 65 2d 69 66 64 65 | 66 73 5d 20 33 20 22 5c |ide-ifde|fs] 3 "\|
|00003560| 0a 44 65 66 69 6e 65 20 | 61 20 56 41 52 20 73 6f |.Define |a VAR so|
|00003570| 20 74 68 61 74 20 23 69 | 66 64 65 66 20 56 41 52 | that #i|fdef VAR|
|00003580| 20 77 6f 75 6c 64 20 62 | 65 20 69 6e 63 6c 75 64 | would b|e includ|
|00003590| 65 64 2e 22 20 22 53 44 | 65 66 69 6e 65 20 77 68 |ed." "SD|efine wh|
|000035a0| 61 74 3f 20 22 5d 29 0a | 28 66 73 65 74 20 27 68 |at? "]).|(fset 'h|
|000035b0| 69 64 65 2d 69 66 64 65 | 66 2d 75 6e 64 65 66 20 |ide-ifde|f-undef |
|000035c0| 23 5b 28 76 61 72 29 20 | 22 c0 09 c2 5c 22 88 0b |#[(var) |"...\"..|
|000035d0| ad 82 c4 20 87 22 20 5b | 68 69 66 2d 73 65 74 2d |... ." [|hif-set-|
|000035e0| 76 61 72 20 76 61 72 20 | 6e 69 6c 20 68 69 64 65 |var var |nil hide|
|000035f0| 2d 69 66 64 65 66 2d 68 | 69 64 69 6e 67 20 68 69 |-ifdef-h|iding hi|
|00003600| 64 65 2d 69 66 64 65 66 | 73 5d 20 33 20 22 5c 0a |de-ifdef|s] 3 "\.|
|00003610| 55 6e 64 65 66 69 6e 65 | 20 61 20 56 41 52 20 73 |Undefine| a VAR s|
|00003620| 6f 20 74 68 61 74 20 23 | 69 66 64 65 66 20 56 41 |o that #|ifdef VA|
|00003630| 52 20 77 6f 75 6c 64 20 | 6e 6f 74 20 62 65 20 69 |R would |not be i|
|00003640| 6e 63 6c 75 64 65 64 2e | 22 20 22 53 55 6e 64 65 |ncluded.|" "SUnde|
|00003650| 66 69 6e 65 20 77 68 61 | 74 3f 20 22 5d 29 0a 28 |fine wha|t? "]).(|
|00003660| 66 73 65 74 20 27 68 69 | 64 65 2d 69 66 64 65 66 |fset 'hi|de-ifdef|
|00003670| 73 20 23 5b 6e 69 6c 20 | 22 c0 c1 21 88 5c 6e ac |s #[nil |"..!.\n.|
|00003680| 84 c2 c3 21 88 0c ab 83 | c5 20 88 0e 06 ab 83 c7 |...!....|. ......|
|00003690| 20 88 c8 16 09 c8 14 ca | 20 88 0e 0b ac 84 0e 0c | .......| .......|
|000036a0| ab 83 c7 20 88 c0 cd 21 | 87 22 20 5b 6d 65 73 73 |... ...!|." [mess|
|000036b0| 61 67 65 20 22 48 69 64 | 69 6e 67 2e 2e 2e 22 20 |age "Hid|ing..." |
|000036c0| 68 69 64 65 2d 69 66 64 | 65 66 2d 6d 6f 64 65 20 |hide-ifd|ef-mode |
|000036d0| 31 20 68 69 64 65 2d 69 | 66 64 65 66 2d 68 69 64 |1 hide-i|fdef-hid|
|000036e0| 69 6e 67 20 73 68 6f 77 | 2d 69 66 64 65 66 73 20 |ing show|-ifdefs |
|000036f0| 62 75 66 66 65 72 2d 72 | 65 61 64 2d 6f 6e 6c 79 |buffer-r|ead-only|
|00003700| 20 74 6f 67 67 6c 65 2d | 72 65 61 64 2d 6f 6e 6c | toggle-|read-onl|
|00003710| 79 20 74 20 73 65 6c 65 | 63 74 69 76 65 2d 64 69 |y t sele|ctive-di|
|00003720| 73 70 6c 61 79 20 68 69 | 64 65 2d 69 66 64 65 66 |splay hi|de-ifdef|
|00003730| 2d 67 75 74 73 20 68 69 | 64 65 2d 69 66 64 65 66 |-guts hi|de-ifdef|
|00003740| 2d 72 65 61 64 2d 6f 6e | 6c 79 20 68 69 66 2d 6f |-read-on|ly hif-o|
|00003750| 75 74 73 69 64 65 2d 72 | 65 61 64 2d 6f 6e 6c 79 |utside-r|ead-only|
|00003760| 20 22 48 69 64 69 6e 67 | 20 64 6f 6e 65 22 5d 20 | "Hiding| done"] |
|00003770| 32 20 22 5c 0a 48 69 64 | 65 20 74 68 65 20 63 6f |2 "\.Hid|e the co|
|00003780| 6e 74 65 6e 74 73 20 6f | 66 20 73 6f 6d 65 20 23 |ntents o|f some #|
|00003790| 69 66 64 65 66 73 2e 20 | 20 41 73 73 75 6d 65 20 |ifdefs. | Assume |
|000037a0| 74 68 61 74 20 64 65 66 | 69 6e 65 64 20 73 79 6d |that def|ined sym|
|000037b0| 62 6f 6c 73 20 68 61 76 | 65 0a 62 65 65 6e 20 61 |bols hav|e.been a|
|000037c0| 64 64 65 64 20 74 6f 20 | 68 69 64 65 2d 69 66 64 |dded to |hide-ifd|
|000037d0| 65 66 2d 65 6e 76 2e 20 | 20 54 68 65 20 74 65 78 |ef-env. | The tex|
|000037e0| 74 20 68 69 64 64 65 6e | 20 69 73 20 74 68 65 20 |t hidden| is the |
|000037f0| 74 65 78 74 20 74 68 61 | 74 20 77 6f 75 6c 64 20 |text tha|t would |
|00003800| 6e 6f 74 0a 62 65 20 69 | 6e 63 6c 75 64 65 64 20 |not.be i|ncluded |
|00003810| 62 79 20 74 68 65 20 43 | 20 70 72 65 70 72 6f 63 |by the C| preproc|
|00003820| 65 73 73 6f 72 20 69 66 | 20 69 74 20 77 65 72 65 |essor if| it were|
|00003830| 20 67 69 76 65 6e 20 74 | 68 65 20 66 69 6c 65 20 | given t|he file |
|00003840| 77 69 74 68 20 74 68 6f | 73 65 0a 73 79 6d 62 6f |with tho|se.symbo|
|00003850| 6c 73 20 64 65 66 69 6e | 65 64 2e 0a 0a 54 75 72 |ls defin|ed...Tur|
|00003860| 6e 20 6f 66 66 20 68 69 | 64 69 6e 67 20 62 79 20 |n off hi|ding by |
|00003870| 63 61 6c 6c 69 6e 67 20 | 73 68 6f 77 2d 69 66 64 |calling |show-ifd|
|00003880| 65 66 2e 22 20 6e 69 6c | 5d 29 0a 28 66 73 65 74 |ef." nil|]).(fset|
|00003890| 20 27 73 68 6f 77 2d 69 | 66 64 65 66 73 20 23 5b | 'show-i|fdefs #[|
|000038a0| 6e 69 6c 20 22 08 ab 83 | c1 20 88 c2 13 c4 20 88 |nil "...|. .... .|
|000038b0| 0d ab 83 c1 20 88 c2 89 | 16 06 87 22 20 5b 62 75 |.... ...|..." [bu|
|000038c0| 66 66 65 72 2d 72 65 61 | 64 2d 6f 6e 6c 79 20 74 |ffer-rea|d-only t|
|000038d0| 6f 67 67 6c 65 2d 72 65 | 61 64 2d 6f 6e 6c 79 20 |oggle-re|ad-only |
|000038e0| 6e 69 6c 20 73 65 6c 65 | 63 74 69 76 65 2d 64 69 |nil sele|ctive-di|
|000038f0| 73 70 6c 61 79 20 68 69 | 66 2d 73 68 6f 77 2d 61 |splay hi|f-show-a|
|00003900| 6c 6c 20 68 69 66 2d 6f | 75 74 73 69 64 65 2d 72 |ll hif-o|utside-r|
|00003910| 65 61 64 2d 6f 6e 6c 79 | 20 68 69 64 65 2d 69 66 |ead-only| hide-if|
|00003920| 64 65 66 2d 68 69 64 69 | 6e 67 5d 20 32 20 22 5c |def-hidi|ng] 2 "\|
|00003930| 0a 43 61 6e 63 65 6c 20 | 74 68 65 20 65 66 66 65 |.Cancel |the effe|
|00003940| 63 74 73 20 6f 66 20 68 | 69 64 65 2d 69 66 64 65 |cts of h|ide-ifde|
|00003950| 66 2e 20 20 54 68 65 20 | 63 6f 6e 74 65 6e 74 73 |f. The |contents|
|00003960| 20 6f 66 20 61 6c 6c 20 | 23 69 66 64 65 66 73 20 | of all |#ifdefs |
|00003970| 69 73 20 73 68 6f 77 6e | 2e 22 20 6e 69 6c 5d 29 |is shown|." nil])|
|00003980| 0a 28 66 73 65 74 20 27 | 68 69 66 2d 66 69 6e 64 |.(fset '|hif-find|
|00003990| 2d 69 66 64 65 66 2d 62 | 6c 6f 63 6b 20 23 5b 6e |-ifdef-b|lock #[n|
|000039a0| 69 6c 20 22 c0 19 8a c2 | 79 88 c3 20 ac 87 c4 20 |il "....|y.. ... |
|000039b0| ac 83 c5 20 88 60 16 06 | c7 20 88 60 53 11 29 8a |... .`..|. .`S.).|
|000039c0| c2 79 88 c8 20 ac 83 c9 | 20 88 c4 20 ab 88 c7 20 |.y.. ...| .. ... |
|000039d0| 88 c9 20 88 aa 74 09 60 | 53 5e 89 16 5c 6e 2a 87 |.. ..t.`|S^..\n*.|
|000039e0| 22 20 5b 6e 69 6c 20 6d | 61 78 2d 62 6f 74 74 6f |" [nil m|ax-botto|
|000039f0| 6d 20 30 20 68 69 66 2d | 6c 6f 6f 6b 69 6e 67 2d |m 0 hif-|looking-|
|00003a00| 61 74 2d 65 6c 73 65 20 | 68 69 66 2d 6c 6f 6f 6b |at-else |hif-look|
|00003a10| 69 6e 67 2d 61 74 2d 69 | 66 58 20 75 70 2d 69 66 |ing-at-i|fX up-if|
|00003a20| 64 65 66 20 74 6f 70 20 | 68 69 66 2d 69 66 64 65 |def top |hif-ifde|
|00003a30| 66 2d 74 6f 2d 65 6e 64 | 69 66 20 68 69 66 2d 6c |f-to-end|if hif-l|
|00003a40| 6f 6f 6b 69 6e 67 2d 61 | 74 2d 65 6e 64 69 66 20 |ooking-a|t-endif |
|00003a50| 68 69 66 2d 66 69 6e 64 | 2d 6e 65 78 74 2d 72 65 |hif-find|-next-re|
|00003a60| 6c 65 76 61 6e 74 20 62 | 6f 74 74 6f 6d 5d 20 32 |levant b|ottom] 2|
|00003a70| 20 22 5c 0a 55 74 69 6c | 69 74 69 79 20 66 6f 72 | "\.Util|itiy for|
|00003a80| 20 68 69 64 65 20 61 6e | 64 20 73 68 6f 77 20 69 | hide an|d show i|
|00003a90| 66 64 65 66 2d 62 6c 6f | 63 6b 2e 20 20 53 65 74 |fdef-blo|ck. Set|
|00003aa0| 20 74 6f 70 20 61 6e 64 | 20 62 6f 74 74 6f 6d 20 | top and| bottom |
|00003ab0| 6f 66 20 69 66 64 65 66 | 20 62 6c 6f 63 6b 2e 22 |of ifdef| block."|
|00003ac0| 5d 29 0a 28 66 73 65 74 | 20 27 68 69 64 65 2d 69 |]).(fset| 'hide-i|
|00003ad0| 66 64 65 66 2d 62 6c 6f | 63 6b 20 23 5b 6e 69 6c |fdef-blo|ck #[nil|
|00003ae0| 20 22 08 ac 84 c0 c1 21 | 88 5c 6e ab 83 c3 20 88 | ".....!|.\n... .|
|00003af0| c4 15 c6 89 1e 07 1e 08 | c9 20 88 ca 0e 08 0e 07 |........|. ......|
|00003b00| 5c 22 88 0e 0b ab 8b cc | 0e 08 21 88 cc 0e 07 54 |\"......|..!....T|
|00003b10| 21 88 c4 16 0d 2a 0e 0e | ac 84 0e 0f ad 82 c3 20 |!....*..|....... |
|00003b20| 87 22 20 5b 68 69 64 65 | 2d 69 66 64 65 66 2d 6d |." [hide|-ifdef-m|
|00003b30| 6f 64 65 20 31 20 62 75 | 66 66 65 72 2d 72 65 61 |ode 1 bu|ffer-rea|
|00003b40| 64 2d 6f 6e 6c 79 20 74 | 6f 67 67 6c 65 2d 72 65 |d-only t|oggle-re|
|00003b50| 61 64 2d 6f 6e 6c 79 20 | 74 20 73 65 6c 65 63 74 |ad-only |t select|
|00003b60| 69 76 65 2d 64 69 73 70 | 6c 61 79 20 6e 69 6c 20 |ive-disp|lay nil |
|00003b70| 62 6f 74 74 6f 6d 20 74 | 6f 70 20 68 69 66 2d 66 |bottom t|op hif-f|
|00003b80| 69 6e 64 2d 69 66 64 65 | 66 2d 62 6c 6f 63 6b 20 |ind-ifde|f-block |
|00003b90| 68 69 64 65 2d 69 66 64 | 65 66 2d 72 65 67 69 6f |hide-ifd|ef-regio|
|00003ba0| 6e 20 68 69 64 65 2d 69 | 66 64 65 66 2d 6c 69 6e |n hide-i|fdef-lin|
|00003bb0| 65 73 20 68 69 66 2d 68 | 69 64 65 2d 6c 69 6e 65 |es hif-h|ide-line|
|00003bc0| 20 68 69 64 65 2d 69 66 | 64 65 66 2d 68 69 64 69 | hide-if|def-hidi|
|00003bd0| 6e 67 20 68 69 64 65 2d | 69 66 64 65 66 2d 72 65 |ng hide-|ifdef-re|
|00003be0| 61 64 2d 6f 6e 6c 79 20 | 68 69 66 2d 6f 75 74 73 |ad-only |hif-outs|
|00003bf0| 69 64 65 2d 72 65 61 64 | 2d 6f 6e 6c 79 5d 20 33 |ide-read|-only] 3|
|00003c00| 20 22 5c 0a 48 69 64 65 | 20 74 68 65 20 69 66 64 | "\.Hide| the ifd|
|00003c10| 65 66 20 62 6c 6f 63 6b | 20 28 74 72 75 65 20 6f |ef block| (true o|
|00003c20| 72 20 66 61 6c 73 65 20 | 70 61 72 74 29 20 65 6e |r false |part) en|
|00003c30| 63 6c 6f 73 69 6e 67 20 | 6f 72 20 62 65 66 6f 72 |closing |or befor|
|00003c40| 65 20 74 68 65 20 63 75 | 72 73 6f 72 2e 22 20 6e |e the cu|rsor." n|
|00003c50| 69 6c 5d 29 0a 28 66 73 | 65 74 20 27 73 68 6f 77 |il]).(fs|et 'show|
|00003c60| 2d 69 66 64 65 66 2d 62 | 6c 6f 63 6b 20 23 5b 6e |-ifdef-b|lock #[n|
|00003c70| 69 6c 20 22 08 89 19 ab | 83 c2 20 88 0b ab 90 8a |il "....|.. .....|
|00003c80| c4 79 88 c5 60 53 c6 7f | 88 60 5c 22 88 29 aa 92 |.y..`S..|.`\".)..|
|00003c90| c6 89 1e 07 1e 08 c9 20 | 88 c5 0e 08 53 0e 07 5c |....... |....S..\|
|00003ca0| 22 88 2a 09 ad 82 c2 20 | 29 87 22 20 5b 62 75 66 |".*.... |)." [buf|
|00003cb0| 66 65 72 2d 72 65 61 64 | 2d 6f 6e 6c 79 20 6f 6c |fer-read|-only ol|
|00003cc0| 64 2d 72 65 61 64 2d 6f | 6e 6c 79 20 74 6f 67 67 |d-read-o|nly togg|
|00003cd0| 6c 65 2d 72 65 61 64 2d | 6f 6e 6c 79 20 68 69 64 |le-read-|only hid|
|00003ce0| 65 2d 69 66 64 65 66 2d | 6c 69 6e 65 73 20 30 20 |e-ifdef-|lines 0 |
|00003cf0| 68 69 66 2d 73 68 6f 77 | 2d 69 66 64 65 66 2d 72 |hif-show|-ifdef-r|
|00003d00| 65 67 69 6f 6e 20 6e 69 | 6c 20 62 6f 74 74 6f 6d |egion ni|l bottom|
|00003d10| 20 74 6f 70 20 68 69 66 | 2d 66 69 6e 64 2d 69 66 | top hif|-find-if|
|00003d20| 64 65 66 2d 62 6c 6f 63 | 6b 5d 20 34 20 22 5c 0a |def-bloc|k] 4 "\.|
|00003d30| 53 68 6f 77 20 74 68 65 | 20 69 66 64 65 66 20 62 |Show the| ifdef b|
|00003d40| 6c 6f 63 6b 20 28 74 72 | 75 65 20 6f 72 20 66 61 |lock (tr|ue or fa|
|00003d50| 6c 73 65 20 70 61 72 74 | 29 20 65 6e 63 6c 6f 73 |lse part|) enclos|
|00003d60| 69 6e 67 20 6f 72 20 62 | 65 66 6f 72 65 20 74 68 |ing or b|efore th|
|00003d70| 65 20 63 75 72 73 6f 72 | 2e 22 20 6e 69 6c 5d 29 |e cursor|." nil])|
|00003d80| 0a 28 64 65 66 76 61 72 | 20 68 69 64 65 2d 69 66 |.(defvar| hide-if|
|00003d90| 64 65 66 2d 64 65 66 69 | 6e 65 2d 61 6c 69 73 74 |def-defi|ne-alist|
|00003da0| 20 6e 69 6c 20 22 5c 0a | 41 20 67 6c 6f 62 61 6c | nil "\.|A global|
|00003db0| 20 61 73 73 6f 63 20 6c | 69 73 74 20 6f 66 20 70 | assoc l|ist of p|
|00003dc0| 72 65 2d 64 65 66 69 6e | 65 64 20 73 79 6d 62 6f |re-defin|ed symbo|
|00003dd0| 6c 20 6c 69 73 74 73 22 | 29 0a 28 66 73 65 74 20 |l lists"|).(fset |
|00003de0| 27 68 69 66 2d 63 6f 6d | 70 72 65 73 73 2d 64 65 |'hif-com|press-de|
|00003df0| 66 69 6e 65 2d 6c 69 73 | 74 20 23 5b 28 65 6e 76 |fine-lis|t #[(env|
|00003e00| 29 20 22 c0 c1 5c 6e 5c | 22 c3 1c 89 1d ab 8f 0d |) "..\n\|".......|
|00003e10| 40 ab 85 0d 40 0c 42 14 | 0d 41 89 15 ac 71 0c 2a |@...@.B.|.A...q.*|
|00003e20| 87 22 20 5b 6d 61 70 63 | 61 72 20 23 5b 28 61 72 |." [mapc|ar #[(ar|
|00003e30| 67 29 20 22 c0 09 40 21 | ad 82 09 40 87 22 20 5b |g) "..@!|...@." [|
|00003e40| 68 69 66 2d 6c 6f 6f 6b | 75 70 20 61 72 67 5d 20 |hif-look|up arg] |
|00003e50| 32 5d 20 65 6e 76 20 6e | 69 6c 20 6e 65 77 2d 64 |2] env n|il new-d|
|00003e60| 65 66 73 20 64 65 66 73 | 5d 20 34 20 22 5c 0a 43 |efs defs|] 4 "\.C|
|00003e70| 6f 6d 70 72 65 73 73 20 | 74 68 65 20 64 65 66 69 |ompress |the defi|
|00003e80| 6e 65 20 6c 69 73 74 20 | 45 4e 56 20 69 6e 74 6f |ne list |ENV into|
|00003e90| 20 61 20 6c 69 73 74 20 | 6f 66 20 64 65 66 69 6e | a list |of defin|
|00003ea0| 65 64 20 73 79 6d 62 6f | 6c 73 20 6f 6e 6c 79 2e |ed symbo|ls only.|
|00003eb0| 22 5d 29 0a 28 66 73 65 | 74 20 27 68 69 64 65 2d |"]).(fse|t 'hide-|
|00003ec0| 69 66 64 65 66 2d 73 65 | 74 2d 64 65 66 69 6e 65 |ifdef-se|t-define|
|00003ed0| 2d 61 6c 69 73 74 20 23 | 5b 28 6e 61 6d 65 29 20 |-alist #|[(name) |
|00003ee0| 22 08 c1 5c 6e 21 42 0b | 42 89 13 87 22 20 5b 6e |"..\n!B.|B..." [n|
|00003ef0| 61 6d 65 20 68 69 66 2d | 63 6f 6d 70 72 65 73 73 |ame hif-|compress|
|00003f00| 2d 64 65 66 69 6e 65 2d | 6c 69 73 74 20 68 69 64 |-define-|list hid|
|00003f10| 65 2d 69 66 64 65 66 2d | 65 6e 76 20 68 69 64 65 |e-ifdef-|env hide|
|00003f20| 2d 69 66 64 65 66 2d 64 | 65 66 69 6e 65 2d 61 6c |-ifdef-d|efine-al|
|00003f30| 69 73 74 5d 20 33 20 22 | 5c 0a 53 65 74 20 74 68 |ist] 3 "|\.Set th|
|00003f40| 65 20 61 73 73 6f 63 69 | 61 74 69 6f 6e 20 66 6f |e associ|ation fo|
|00003f50| 72 20 4e 41 4d 45 20 74 | 6f 20 68 69 64 65 2d 69 |r NAME t|o hide-i|
|00003f60| 66 64 65 66 2d 65 6e 76 | 2e 22 20 22 53 53 65 74 |fdef-env|." "SSet|
|00003f70| 20 64 65 66 69 6e 65 20 | 6c 69 73 74 3a 20 22 5d | define |list: "]|
|00003f80| 29 0a 28 66 73 65 74 20 | 27 68 69 64 65 2d 69 66 |).(fset |'hide-if|
|00003f90| 64 65 66 2d 75 73 65 2d | 64 65 66 69 6e 65 2d 61 |def-use-|define-a|
|00003fa0| 6c 69 73 74 20 23 5b 28 | 6e 61 6d 65 29 20 22 c0 |list #[(|name) ".|
|00003fb0| 09 5c 6e 5c 22 89 1b ab | 89 c4 c5 0b 41 5c 22 16 |.\n\"...|....A\".|
|00003fc0| 06 aa 85 c7 c8 09 5c 22 | 88 0e 09 ad 82 ca 20 29 |......\"|...... )|
|00003fd0| 87 22 20 5b 61 73 73 6f | 63 20 6e 61 6d 65 20 68 |." [asso|c name h|
|00003fe0| 69 64 65 2d 69 66 64 65 | 66 2d 64 65 66 69 6e 65 |ide-ifde|f-define|
|00003ff0| 2d 61 6c 69 73 74 20 64 | 65 66 69 6e 65 2d 6c 69 |-alist d|efine-li|
|00004000| 73 74 20 6d 61 70 63 61 | 72 20 23 5b 28 61 72 67 |st mapca|r #[(arg|
|00004010| 29 20 22 08 c1 42 87 22 | 20 5b 61 72 67 20 74 5d |) "..B."| [arg t]|
|00004020| 20 32 5d 20 68 69 64 65 | 2d 69 66 64 65 66 2d 65 | 2] hide|-ifdef-e|
|00004030| 6e 76 20 65 72 72 6f 72 | 20 22 4e 6f 20 64 65 66 |nv error| "No def|
|00004040| 69 6e 65 20 6c 69 73 74 | 20 66 6f 72 20 25 73 22 |ine list| for %s"|
|00004050| 20 68 69 64 65 2d 69 66 | 64 65 66 2d 68 69 64 69 | hide-if|def-hidi|
|00004060| 6e 67 20 68 69 64 65 2d | 69 66 64 65 66 73 5d 20 |ng hide-|ifdefs] |
|00004070| 34 20 22 5c 0a 53 65 74 | 20 68 69 64 65 2d 69 66 |4 "\.Set| hide-if|
|00004080| 64 65 66 2d 65 6e 76 20 | 74 6f 20 74 68 65 20 64 |def-env |to the d|
|00004090| 65 66 69 6e 65 20 6c 69 | 73 74 20 73 70 65 63 69 |efine li|st speci|
|000040a0| 66 69 65 64 20 62 79 20 | 4e 41 4d 45 2e 22 20 22 |fied by |NAME." "|
|000040b0| 53 55 73 65 20 64 65 66 | 69 6e 65 20 6c 69 73 74 |SUse def|ine list|
|000040c0| 3a 20 22 5d 29 0a | |: "]). | |
+--------+-------------------------+-------------------------+--------+--------+