| ofs | hex dump | ascii | 
|---|
| 0000 | 68 65 6c 70 66 75 6c 2d 32 30 32 33 31 30 32 38    2e 35 31 36 2f 00 00 00 00 00 00 00 00 00 00 00 | helpful-20231028.516/........... | 
| 0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0060 | 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000755.0000000.0000000.0000 | 
| 0080 | 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 32 33 36 35 00 20 35 00 00 00 | 0000000.00000000000.012365..5... | 
| 00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0100 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... | 
| 0120 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... | 
| 0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0200 | 68 65 6c 70 66 75 6c 2d 32 30 32 33 31 30 32 38    2e 35 31 36 2f 68 65 6c 70 66 75 6c 2e 65 6c 00 | helpful-20231028.516/helpful.el. | 
| 0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 | 
| 0280 | 30 33 32 37 35 34 32 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 33 36 33 00 20 30 00 00 00 | 0327542.00000000000.014363..0... | 
| 02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... | 
| 0320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... | 
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0400 | 3b 3b 3b 20 68 65 6c 70 66 75 6c 2e 65 6c 20 2d    2d 2d 20 41 20 62 65 74 74 65 72 20 2a 68 65 6c | ;;;.helpful.el.---.A.better.*hel | 
| 0420 | 70 2a 20 62 75 66 66 65 72 20 20 20 20 20 20 20    20 20 20 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c | p*.buffer............-*-.lexical | 
| 0440 | 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d    0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 | -binding:.t;.-*-..;;.Copyright.( | 
| 0460 | 43 29 20 32 30 31 37 2d 32 30 32 32 20 20 57 69    6c 66 72 65 64 20 48 75 67 68 65 73 0a 0a 3b 3b | C).2017-2022..Wilfred.Hughes..;; | 
| 0480 | 20 41 75 74 68 6f 72 3a 20 57 69 6c 66 72 65 64    20 48 75 67 68 65 73 20 3c 6d 65 40 77 69 6c 66 | .Author:.Wilfred.Hughes.<me@wilf | 
| 04a0 | 72 65 64 2e 6d 65 2e 75 6b 3e 0a 3b 3b 20 55 52    4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | red.me.uk>.;;.URL:.https://githu | 
| 04c0 | 62 2e 63 6f 6d 2f 57 69 6c 66 72 65 64 2f 68 65    6c 70 66 75 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 | b.com/Wilfred/helpful.;;.Keyword | 
| 04e0 | 73 3a 20 68 65 6c 70 2c 20 6c 69 73 70 0a 3b 3b    20 56 65 72 73 69 6f 6e 3a 20 30 2e 32 32 0a 3b | s:.help,.lisp.;;.Version:.0.22.; | 
| 0500 | 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72    65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 35 22 | ;.Package-Requires:.((emacs."25" | 
| 0520 | 29 20 28 64 61 73 68 20 22 32 2e 31 38 2e 30 22    29 20 28 73 20 22 31 2e 31 31 2e 30 22 29 20 28 | ).(dash."2.18.0").(s."1.11.0").( | 
| 0540 | 66 20 22 30 2e 32 30 2e 30 22 29 20 28 65 6c 69    73 70 2d 72 65 66 73 20 22 31 2e 32 22 29 29 0a | f."0.20.0").(elisp-refs."1.2")). | 
| 0560 | 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d    20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 | .;;.This.program.is.free.softwar | 
| 0580 | 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73    74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f | e;.you.can.redistribute.it.and/o | 
| 05a0 | 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75    6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f | r.modify.;;.it.under.the.terms.o | 
| 05c0 | 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61    6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 | f.the.GNU.General.Public.License | 
| 05e0 | 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79    0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 | .as.published.by.;;.the.Free.Sof | 
| 0600 | 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e    2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e | tware.Foundation,.either.version | 
| 0620 | 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73    65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 | .3.of.the.License,.or.;;.(at.you | 
| 0640 | 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61    74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b | r.option).any.later.version...;; | 
| 0660 | 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73    20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 | .This.program.is.distributed.in. | 
| 0680 | 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74    20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c | the.hope.that.it.will.be.useful, | 
| 06a0 | 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20    41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 | .;;.but.WITHOUT.ANY.WARRANTY;.wi | 
| 06c0 | 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69    6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 | thout.even.the.implied.warranty. | 
| 06e0 | 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42    49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 | of.;;.MERCHANTABILITY.or.FITNESS | 
| 0700 | 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41    52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 | .FOR.A.PARTICULAR.PURPOSE...See. | 
| 0720 | 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72    61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 | the.;;.GNU.General.Public.Licens | 
| 0740 | 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69    6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 | e.for.more.details...;;.You.shou | 
| 0760 | 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64    20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 | ld.have.received.a.copy.of.the.G | 
| 0780 | 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69    63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f | NU.General.Public.License.;;.alo | 
| 07a0 | 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f    67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 | ng.with.this.program...If.not,.s | 
| 07c0 | 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67    6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f | ee.<http://www.gnu.org/licenses/ | 
| 07e0 | 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61    72 79 3a 0a 0a 3b 3b 20 48 65 6c 70 66 75 6c 20 | >...;;;.Commentary:..;;.Helpful. | 
| 0800 | 69 73 20 61 20 72 65 70 6c 61 63 65 6d 65 6e 74    20 66 6f 72 20 2a 68 65 6c 70 2a 20 62 75 66 66 | is.a.replacement.for.*help*.buff | 
| 0820 | 65 72 73 20 74 68 61 74 20 70 72 6f 76 69 64 65    73 20 6d 75 63 68 20 6d 6f 72 65 0a 3b 3b 20 63 | ers.that.provides.much.more.;;.c | 
| 0840 | 6f 6e 74 65 78 74 75 61 6c 20 69 6e 66 6f 72 6d    61 74 69 6f 6e 2e 20 20 54 6f 20 67 65 74 20 73 | ontextual.information...To.get.s | 
| 0860 | 74 61 72 74 65 64 2c 20 74 72 79 3a 0a 3b 3b 20    60 4d 2d 78 20 68 65 6c 70 66 75 6c 2d 66 75 6e | tarted,.try:.;;.`M-x.helpful-fun | 
| 0880 | 63 74 69 6f 6e 20 52 45 54 20 68 65 6c 70 66 75    6c 2d 66 75 6e 63 74 69 6f 6e 0a 3b 3b 0a 3b 3b | ction.RET.helpful-function.;;.;; | 
| 08a0 | 20 54 68 65 20 66 75 6c 6c 20 73 65 74 20 6f 66    20 63 6f 6d 6d 61 6e 64 73 20 79 6f 75 20 63 61 | .The.full.set.of.commands.you.ca | 
| 08c0 | 6e 20 74 72 79 20 69 73 3a 0a 3b 3b 0a 3b 3b 20    2a 20 68 65 6c 70 66 75 6c 2d 66 75 6e 63 74 69 | n.try.is:.;;.;;.*.helpful-functi | 
| 08e0 | 6f 6e 0a 3b 3b 20 2a 20 68 65 6c 70 66 75 6c 2d    63 6f 6d 6d 61 6e 64 0a 3b 3b 20 2a 20 68 65 6c | on.;;.*.helpful-command.;;.*.hel | 
| 0900 | 70 66 75 6c 2d 6b 65 79 0a 3b 3b 20 2a 20 68 65    6c 70 66 75 6c 2d 6d 61 63 72 6f 0a 3b 3b 20 2a | pful-key.;;.*.helpful-macro.;;.* | 
| 0920 | 20 68 65 6c 70 66 75 6c 2d 63 61 6c 6c 61 62 6c    65 0a 3b 3b 20 2a 20 68 65 6c 70 66 75 6c 2d 76 | .helpful-callable.;;.*.helpful-v | 
| 0940 | 61 72 69 61 62 6c 65 0a 3b 3b 20 2a 20 68 65 6c    70 66 75 6c 2d 61 74 2d 70 6f 69 6e 74 0a 3b 3b | ariable.;;.*.helpful-at-point.;; | 
| 0960 | 0a 3b 3b 20 46 6f 72 20 6d 6f 72 65 20 69 6e 66    6f 72 6d 61 74 69 6f 6e 20 61 6e 64 20 73 63 72 | .;;.For.more.information.and.scr | 
| 0980 | 65 65 6e 73 68 6f 74 73 2c 20 73 65 65 0a 3b 3b    20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e | eenshots,.see.;;.https://github. | 
| 09a0 | 63 6f 6d 2f 77 69 6c 66 72 65 64 2f 68 65 6c 70    66 75 6c 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a | com/wilfred/helpful..;;;.Code:.. | 
| 09c0 | 28 72 65 71 75 69 72 65 20 27 65 6c 69 73 70 2d    72 65 66 73 29 0a 28 72 65 71 75 69 72 65 20 27 | (require.'elisp-refs).(require.' | 
| 09e0 | 68 65 6c 70 29 0a 28 72 65 71 75 69 72 65 20 27    68 65 6c 70 2d 66 6e 73 29 0a 28 72 65 71 75 69 | help).(require.'help-fns).(requi | 
| 0a00 | 72 65 20 27 64 61 73 68 29 0a 28 72 65 71 75 69    72 65 20 27 73 29 0a 28 72 65 71 75 69 72 65 20 | re.'dash).(require.'s).(require. | 
| 0a20 | 27 66 29 0a 28 72 65 71 75 69 72 65 20 27 66 69    6e 64 2d 66 75 6e 63 29 0a 28 72 65 71 75 69 72 | 'f).(require.'find-func).(requir | 
| 0a40 | 65 20 27 6e 61 64 76 69 63 65 29 0a 28 72 65 71    75 69 72 65 20 27 69 6e 66 6f 2d 6c 6f 6f 6b 29 | e.'nadvice).(require.'info-look) | 
| 0a60 | 0a 28 72 65 71 75 69 72 65 20 27 65 64 65 62 75    67 29 0a 28 72 65 71 75 69 72 65 20 27 74 72 61 | .(require.'edebug).(require.'tra | 
| 0a80 | 63 65 29 0a 28 72 65 71 75 69 72 65 20 27 69 6d    65 6e 75 29 0a 28 72 65 71 75 69 72 65 20 27 63 | ce).(require.'imenu).(require.'c | 
| 0aa0 | 63 2d 6c 61 6e 67 73 29 0a 0a 28 64 65 63 6c 61    72 65 2d 66 75 6e 63 74 69 6f 6e 20 6f 72 67 2d | c-langs)..(declare-function.org- | 
| 0ac0 | 6c 69 6e 6b 2d 74 79 70 65 73 20 22 6f 6c 22 20    28 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e | link-types."ol".()).(declare-fun | 
| 0ae0 | 63 74 69 6f 6e 20 6f 72 67 2d 6c 69 6e 6b 2d 73    74 6f 72 65 2d 70 72 6f 70 73 20 22 6f 6c 22 20 | ction.org-link-store-props."ol". | 
| 0b00 | 28 26 72 65 73 74 20 70 6c 69 73 74 29 29 0a 28    64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e | (&rest.plist)).(declare-function | 
| 0b20 | 20 6f 72 67 2d 6c 69 6e 6b 2d 67 65 74 2d 70 61    72 61 6d 65 74 65 72 20 22 6f 6c 22 20 28 74 79 | .org-link-get-parameter."ol".(ty | 
| 0b40 | 70 65 20 6b 65 79 29 29 0a 0a 28 64 65 66 76 61    72 2d 6c 6f 63 61 6c 20 68 65 6c 70 66 75 6c 2d | pe.key))..(defvar-local.helpful- | 
| 0b60 | 2d 73 79 6d 20 6e 69 6c 29 0a 28 64 65 66 76 61    72 2d 6c 6f 63 61 6c 20 68 65 6c 70 66 75 6c 2d | -sym.nil).(defvar-local.helpful- | 
| 0b80 | 2d 63 61 6c 6c 61 62 6c 65 2d 70 20 6e 69 6c 29    0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 68 | -callable-p.nil).(defvar-local.h | 
| 0ba0 | 65 6c 70 66 75 6c 2d 2d 61 73 73 6f 63 69 61 74    65 64 2d 62 75 66 66 65 72 20 6e 69 6c 0a 20 20 | elpful--associated-buffer.nil... | 
| 0bc0 | 22 54 68 65 20 62 75 66 66 65 72 20 62 65 69 6e    67 20 75 73 65 64 20 77 68 65 6e 20 73 68 6f 77 | "The.buffer.being.used.when.show | 
| 0be0 | 69 6e 67 20 69 6e 73 70 65 63 74 69 6e 67 0a 62    75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 72 69 | ing.inspecting.buffer-local.vari | 
| 0c00 | 61 62 6c 65 73 2e 22 29 0a 28 64 65 66 76 61 72    2d 6c 6f 63 61 6c 20 68 65 6c 70 66 75 6c 2d 2d | ables.").(defvar-local.helpful-- | 
| 0c20 | 73 74 61 72 74 2d 62 75 66 66 65 72 20 6e 69 6c    0a 20 20 22 54 68 65 20 62 75 66 66 65 72 20 77 | start-buffer.nil..."The.buffer.w | 
| 0c40 | 65 20 77 65 72 65 20 6f 72 69 67 69 6e 61 6c 6c    79 20 63 61 6c 6c 65 64 20 66 72 6f 6d 2e 22 29 | e.were.originally.called.from.") | 
| 0c60 | 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 68    65 6c 70 66 75 6c 2d 2d 76 69 65 77 2d 6c 69 74 | .(defvar-local.helpful--view-lit | 
| 0c80 | 65 72 61 6c 20 6e 69 6c 0a 20 20 22 57 68 65 74    68 65 72 20 74 6f 20 73 68 6f 77 20 61 20 76 61 | eral.nil..."Whether.to.show.a.va | 
| 0ca0 | 6c 75 65 20 61 73 20 61 20 6c 69 74 65 72 61 6c    2c 20 6f 72 20 61 20 70 72 65 74 74 79 20 69 6e | lue.as.a.literal,.or.a.pretty.in | 
| 0cc0 | 74 65 72 61 63 74 69 76 65 0a 76 69 65 77 2e 22    29 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 | teractive.view.").(defvar-local. | 
| 0ce0 | 68 65 6c 70 66 75 6c 2d 2d 66 69 72 73 74 2d 64    69 73 70 6c 61 79 20 74 0a 20 20 22 57 68 65 74 | helpful--first-display.t..."Whet | 
| 0d00 | 68 65 72 20 74 68 69 73 20 69 73 20 74 68 65 20    66 69 72 73 74 20 74 69 6d 65 20 74 68 69 73 20 | her.this.is.the.first.time.this. | 
| 0d20 | 72 65 73 75 6c 74 73 20 62 75 66 66 65 72 20 68    61 73 20 62 65 65 6e 0a 64 69 73 70 6c 61 79 65 | results.buffer.has.been.displaye | 
| 0d40 | 64 2e 0a 0a 4e 69 6c 20 6d 65 61 6e 73 20 74 68    61 74 20 77 65 27 72 65 20 72 65 66 72 65 73 68 | d...Nil.means.that.we're.refresh | 
| 0d60 | 69 6e 67 2c 20 73 6f 20 77 65 20 64 6f 6e 27 74    20 77 61 6e 74 20 74 6f 20 63 6c 6f 62 62 65 72 | ing,.so.we.don't.want.to.clobber | 
| 0d80 | 20 61 6e 79 0a 73 65 74 74 69 6e 67 73 20 63 68    61 6e 67 65 64 20 62 79 20 74 68 65 20 75 73 65 | .any.settings.changed.by.the.use | 
| 0da0 | 72 2e 22 29 0a 0a 28 64 65 66 67 72 6f 75 70 20    68 65 6c 70 66 75 6c 20 6e 69 6c 0a 20 20 22 41 | r.")..(defgroup.helpful.nil..."A | 
| 0dc0 | 20 72 69 63 68 20 68 65 6c 70 20 73 79 73 74 65    6d 20 77 69 74 68 20 63 6f 6e 74 65 78 74 75 61 | .rich.help.system.with.contextua | 
| 0de0 | 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 22 0a    20 20 3a 6c 69 6e 6b 20 27 28 75 72 6c 2d 6c 69 | l.information."...:link.'(url-li | 
| 0e00 | 6e 6b 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68    75 62 2e 63 6f 6d 2f 57 69 6c 66 72 65 64 2f 68 | nk."https://github.com/Wilfred/h | 
| 0e20 | 65 6c 70 66 75 6c 22 29 0a 20 20 3a 67 72 6f 75    70 20 27 68 65 6c 70 29 0a 0a 28 64 65 66 63 75 | elpful")...:group.'help)..(defcu | 
| 0e40 | 73 74 6f 6d 20 68 65 6c 70 66 75 6c 2d 6d 61 78    2d 62 75 66 66 65 72 73 0a 20 20 35 0a 20 20 22 | stom.helpful-max-buffers...5..." | 
| 0e60 | 48 65 6c 70 66 75 6c 20 77 69 6c 6c 20 6b 69 6c    6c 20 74 68 65 20 6c 65 61 73 74 20 72 65 63 65 | Helpful.will.kill.the.least.rece | 
| 0e80 | 6e 74 6c 79 20 75 73 65 64 20 48 65 6c 70 66 75    6c 20 62 75 66 66 65 72 0a 69 66 20 74 68 65 72 | ntly.used.Helpful.buffer.if.ther | 
| 0ea0 | 65 20 61 72 65 20 6d 6f 72 65 20 74 68 61 6e 20    74 68 69 73 20 6d 61 6e 79 2e 0a 0a 54 6f 20 64 | e.are.more.than.this.many...To.d | 
| 0ec0 | 69 73 61 62 6c 65 20 63 6c 65 61 6e 75 70 20 65    6e 74 69 72 65 6c 79 2c 20 73 65 74 20 74 68 69 | isable.cleanup.entirely,.set.thi | 
| 0ee0 | 73 20 76 61 72 69 61 62 6c 65 20 74 6f 20 6e 69    6c 2e 20 53 65 65 20 61 6c 73 6f 0a 60 68 65 6c | s.variable.to.nil..See.also.`hel | 
| 0f00 | 70 66 75 6c 2d 6b 69 6c 6c 2d 62 75 66 66 65 72    73 27 20 66 6f 72 20 61 20 6f 6e 65 2d 6f 66 66 | pful-kill-buffers'.for.a.one-off | 
| 0f20 | 20 63 6c 65 61 6e 75 70 2e 22 0a 20 20 3a 74 79    70 65 20 27 28 63 68 6f 69 63 65 20 28 63 6f 6e | .cleanup."...:type.'(choice.(con | 
| 0f40 | 73 74 20 6e 69 6c 29 20 6e 75 6d 62 65 72 29 0a    20 20 3a 67 72 6f 75 70 20 27 68 65 6c 70 66 75 | st.nil).number)...:group.'helpfu | 
| 0f60 | 6c 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68    65 6c 70 66 75 6c 2d 73 77 69 74 63 68 2d 62 75 | l)..(defcustom.helpful-switch-bu | 
| 0f80 | 66 66 65 72 2d 66 75 6e 63 74 69 6f 6e 0a 20 20    23 27 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 0a | ffer-function...#'pop-to-buffer. | 
| 0fa0 | 20 20 22 46 75 6e 63 74 69 6f 6e 20 63 61 6c 6c    65 64 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 | .."Function.called.to.display.th | 
| 0fc0 | 65 20 2a 48 65 6c 70 66 75 6c 2a 20 62 75 66 66    65 72 2e 22 0a 20 20 3a 74 79 70 65 20 27 66 75 | e.*Helpful*.buffer."...:type.'fu | 
| 0fe0 | 6e 63 74 69 6f 6e 0a 20 20 3a 67 72 6f 75 70 20    27 68 65 6c 70 66 75 6c 29 0a 0a 28 64 65 66 63 | nction...:group.'helpful)..(defc | 
| 1000 | 75 73 74 6f 6d 20 68 65 6c 70 66 75 6c 2d 73 65    74 2d 76 61 72 69 61 62 6c 65 2d 66 75 6e 63 74 | ustom.helpful-set-variable-funct | 
| 1020 | 69 6f 6e 0a 20 20 28 69 66 20 28 3c 20 32 39 20    65 6d 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 | ion...(if.(<.29.emacs-major-vers | 
| 1040 | 69 6f 6e 29 20 23 27 73 65 74 6f 70 74 20 23 27    73 65 74 71 29 0a 20 20 22 46 75 6e 63 74 69 6f | ion).#'setopt.#'setq)..."Functio | 
| 1060 | 6e 20 75 73 65 64 20 62 79 20 60 68 65 6c 70 66    75 6c 2d 2d 73 65 74 27 20 74 6f 20 69 6e 74 65 | n.used.by.`helpful--set'.to.inte | 
| 1080 | 72 61 63 74 69 76 65 6c 79 20 73 65 74 20 76 61    72 69 61 62 6c 65 73 2e 22 0a 20 20 3a 74 79 70 | ractively.set.variables."...:typ | 
| 10a0 | 65 20 27 66 75 6e 63 74 69 6f 6e 0a 20 20 3a 67    72 6f 75 70 20 27 68 65 6c 70 66 75 6c 29 0a 0a | e.'function...:group.'helpful).. | 
| 10c0 | 3b 3b 20 54 4f 44 4f 3a 20 65 78 70 6c 6f 72 65    20 77 68 65 74 68 65 72 20 6d 6f 72 65 20 62 61 | ;;.TODO:.explore.whether.more.ba | 
| 10e0 | 73 69 63 20 68 69 67 68 6c 69 67 68 74 69 6e 67    20 69 73 20 66 61 73 74 20 65 6e 6f 75 67 68 20 | sic.highlighting.is.fast.enough. | 
| 1100 | 74 6f 0a 3b 3b 20 68 61 6e 64 6c 65 20 6c 61 72    67 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 20 53 | to.;;.handle.larger.functions..S | 
| 1120 | 65 65 20 60 63 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d    69 6e 69 74 27 20 61 6e 64 20 69 74 73 20 75 73 | ee.`c-font-lock-init'.and.its.us | 
| 1140 | 65 20 6f 66 0a 3b 3b 20 66 6f 6e 74 2d 6c 6f 63    6b 2d 6b 65 79 77 6f 72 64 73 2d 31 2e 0a 28 64 | e.of.;;.font-lock-keywords-1..(d | 
| 1160 | 65 66 63 6f 6e 73 74 20 68 65 6c 70 66 75 6c 2d    6d 61 78 2d 68 69 67 68 6c 69 67 68 74 20 35 30 | efconst.helpful-max-highlight.50 | 
| 1180 | 30 30 0a 20 20 22 44 6f 6e 27 74 20 68 69 67 68    6c 69 67 68 74 20 63 6f 64 65 20 77 69 74 68 20 | 00..."Don't.highlight.code.with. | 
| 11a0 | 6d 6f 72 65 20 74 68 61 6e 20 74 68 69 73 20 6d    61 6e 79 20 63 68 61 72 61 63 74 65 72 73 2e 0a | more.than.this.many.characters.. | 
| 11c0 | 0a 54 68 69 73 20 69 73 20 63 75 72 72 65 6e 74    6c 79 20 6f 6e 6c 79 20 75 73 65 64 20 66 6f 72 | .This.is.currently.only.used.for | 
| 11e0 | 20 43 20 63 6f 64 65 2c 20 61 73 20 6c 69 73 70    20 68 69 67 68 6c 69 67 68 74 69 6e 67 0a 73 65 | .C.code,.as.lisp.highlighting.se | 
| 1200 | 65 6d 73 20 74 6f 20 62 65 20 6d 6f 72 65 20 65    66 66 69 63 69 65 6e 74 2e 20 54 68 69 73 20 6d | ems.to.be.more.efficient..This.m | 
| 1220 | 61 79 20 63 68 61 6e 67 65 20 61 67 61 69 6e 20    69 6e 20 66 75 74 75 72 65 2e 0a 0a 53 65 65 20 | ay.change.again.in.future...See. | 
| 1240 | 60 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 27 20 61    73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 | `this-command'.as.an.example.of. | 
| 1260 | 61 20 6c 61 72 67 65 20 70 69 65 63 65 20 6f 66    20 43 20 63 6f 64 65 20 74 68 61 74 0a 63 61 6e | a.large.piece.of.C.code.that.can | 
| 1280 | 20 6d 61 6b 65 20 48 65 6c 70 66 75 6c 20 76 65    72 79 20 73 6c 6f 77 2e 22 29 0a 0a 28 64 65 66 | .make.Helpful.very.slow.")..(def | 
| 12a0 | 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6b 69 6e 64    2d 6e 61 6d 65 20 28 73 79 6d 62 6f 6c 20 63 61 | un.helpful--kind-name.(symbol.ca | 
| 12c0 | 6c 6c 61 62 6c 65 2d 70 29 0a 20 20 22 44 65 73    63 72 69 62 65 20 77 68 61 74 20 6b 69 6e 64 20 | llable-p)..."Describe.what.kind. | 
| 12e0 | 6f 66 20 73 79 6d 62 6f 6c 20 74 68 69 73 20 69    73 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 | of.symbol.this.is."...(cond....( | 
| 1300 | 28 6e 6f 74 20 63 61 6c 6c 61 62 6c 65 2d 70 29    20 22 76 61 72 69 61 62 6c 65 22 29 0a 20 20 20 | (not.callable-p)."variable").... | 
| 1320 | 28 28 63 6f 6d 6d 61 6e 64 70 20 73 79 6d 62 6f    6c 29 20 22 63 6f 6d 6d 61 6e 64 22 29 0a 20 20 | ((commandp.symbol)."command")... | 
| 1340 | 20 28 28 6d 61 63 72 6f 70 20 73 79 6d 62 6f 6c    29 20 22 6d 61 63 72 6f 22 29 0a 20 20 20 28 28 | .((macrop.symbol)."macro")....(( | 
| 1360 | 66 75 6e 63 74 69 6f 6e 70 20 73 79 6d 62 6f 6c    29 20 22 66 75 6e 63 74 69 6f 6e 22 29 0a 20 20 | functionp.symbol)."function")... | 
| 1380 | 20 28 28 73 70 65 63 69 61 6c 2d 66 6f 72 6d 2d    70 20 73 79 6d 62 6f 6c 29 20 22 73 70 65 63 69 | .((special-form-p.symbol)."speci | 
| 13a0 | 61 6c 20 66 6f 72 6d 22 29 29 29 0a 0a 28 64 65    66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 62 75 66 | al.form")))..(defun.helpful--buf | 
| 13c0 | 66 65 72 20 28 73 79 6d 62 6f 6c 20 63 61 6c 6c    61 62 6c 65 2d 70 29 0a 20 20 22 52 65 74 75 72 | fer.(symbol.callable-p)..."Retur | 
| 13e0 | 6e 20 61 20 62 75 66 66 65 72 20 74 6f 20 73 68    6f 77 20 68 65 6c 70 20 66 6f 72 20 53 59 4d 42 | n.a.buffer.to.show.help.for.SYMB | 
| 1400 | 4f 4c 20 69 6e 2e 22 0a 20 20 28 6c 65 74 2a 20    28 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 | OL.in."...(let*.((current-buffer | 
| 1420 | 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72    29 29 0a 20 20 20 20 20 20 20 20 20 28 62 75 66 | .(current-buffer))..........(buf | 
| 1440 | 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20    28 66 6f 72 6d 61 74 20 22 2a 68 65 6c 70 66 75 | -name...........(format."*helpfu | 
| 1460 | 6c 20 25 73 2a 22 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 79 | l.%s*"...................(if.(sy | 
| 1480 | 6d 62 6f 6c 70 20 73 79 6d 62 6f 6c 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | mbolp.symbol)................... | 
| 14a0 | 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 3a    20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 | ....(format."%s:.%s"............ | 
| 14c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 6b 69 6e | ...................(helpful--kin | 
| 14e0 | 64 2d 6e 61 6d 65 20 73 79 6d 62 6f 6c 20 63 61    6c 6c 61 62 6c 65 2d 70 29 0a 20 20 20 20 20 20 | d-name.symbol.callable-p)....... | 
| 1500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 29 0a | ........................symbol). | 
| 1520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 22 6c 61 6d 62 64 61 22 29 29 29 0a | ...................."lambda"))). | 
| 1540 | 20 20 20 20 20 20 20 20 20 28 62 75 66 20 28 67    65 74 2d 62 75 66 66 65 72 20 62 75 66 2d 6e 61 | .........(buf.(get-buffer.buf-na | 
| 1560 | 6d 65 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73    73 20 62 75 66 0a 20 20 20 20 20 20 3b 3b 20 49 | me))).....(unless.buf.......;;.I | 
| 1580 | 66 20 77 65 20 6e 65 65 64 20 74 6f 20 63 72 65    61 74 65 20 74 68 65 20 62 75 66 66 65 72 2c 20 | f.we.need.to.create.the.buffer,. | 
| 15a0 | 65 6e 73 75 72 65 20 77 65 20 64 6f 6e 27 74 20    65 78 63 65 65 64 0a 20 20 20 20 20 20 3b 3b 20 | ensure.we.don't.exceed.......;;. | 
| 15c0 | 60 68 65 6c 70 66 75 6c 2d 6d 61 78 2d 62 75 66    66 65 72 73 27 20 62 79 20 6b 69 6c 6c 69 6e 67 | `helpful-max-buffers'.by.killing | 
| 15e0 | 20 74 68 65 20 6c 65 61 73 74 20 72 65 63 65 6e    74 6c 79 20 75 73 65 64 2e 0a 20 20 20 20 20 20 | .the.least.recently.used........ | 
| 1600 | 28 77 68 65 6e 20 28 6e 75 6d 62 65 72 70 20 68    65 6c 70 66 75 6c 2d 6d 61 78 2d 62 75 66 66 65 | (when.(numberp.helpful-max-buffe | 
| 1620 | 72 73 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74    2a 20 28 28 62 75 66 66 65 72 73 20 28 62 75 66 | rs).........(let*.((buffers.(buf | 
| 1640 | 66 65 72 2d 6c 69 73 74 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 68 65 6c 70 66 | fer-list))................(helpf | 
| 1660 | 75 6c 2d 62 75 66 73 20 28 2d 2d 66 69 6c 74 65    72 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d | ul-bufs.(--filter.(with-current- | 
| 1680 | 62 75 66 66 65 72 20 69 74 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | buffer.it....................... | 
| 16a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 | ...................(eq.major-mod | 
| 16c0 | 65 20 27 68 65 6c 70 66 75 6c 2d 6d 6f 64 65 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.'helpful-mode))............... | 
| 16e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 73 | .........................buffers | 
| 1700 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3b 3b 20 60 62 75 66 66 65 72 2d 6c 69 73 | ))................;;.`buffer-lis | 
| 1720 | 74 27 20 73 65 65 6d 73 20 74 6f 20 62 65 20 6f    72 64 65 72 65 64 20 62 79 20 6d 6f 73 74 20 72 | t'.seems.to.be.ordered.by.most.r | 
| 1740 | 65 63 65 6e 74 6c 79 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3b 3b 20 76 69 73 69 74 65 | ecently................;;.visite | 
| 1760 | 64 20 66 69 72 73 74 2c 20 73 6f 20 6b 65 65 70    20 74 68 6f 73 65 2e 0a 20 20 20 20 20 20 20 20 | d.first,.so.keep.those.......... | 
| 1780 | 20 20 20 20 20 20 20 28 65 78 63 65 73 73 2d 62    75 66 66 65 72 73 20 28 2d 64 72 6f 70 20 28 31 | .......(excess-buffers.(-drop.(1 | 
| 17a0 | 2d 20 68 65 6c 70 66 75 6c 2d 6d 61 78 2d 62 75    66 66 65 72 73 29 20 68 65 6c 70 66 75 6c 2d 62 | -.helpful-max-buffers).helpful-b | 
| 17c0 | 75 66 73 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 3b 3b 20 4b 69 6c 6c 20 62 75 66 66 65 72 73 | ufs)))...........;;.Kill.buffers | 
| 17e0 | 20 73 6f 20 77 65 20 68 61 76 65 20 6f 6e 65 20    62 75 66 66 65 72 20 6c 65 73 73 20 74 68 61 6e | .so.we.have.one.buffer.less.than | 
| 1800 | 20 74 68 65 20 6d 61 78 69 6d 75 6d 0a 20 20 20    20 20 20 20 20 20 20 3b 3b 20 62 65 66 6f 72 65 | .the.maximum...........;;.before | 
| 1820 | 20 77 65 20 63 72 65 61 74 65 20 61 20 6e 65 77    20 6f 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 20 | .we.create.a.new.one............ | 
| 1840 | 28 2d 65 61 63 68 20 65 78 63 65 73 73 2d 62 75    66 66 65 72 73 20 23 27 6b 69 6c 6c 2d 62 75 66 | (-each.excess-buffers.#'kill-buf | 
| 1860 | 66 65 72 29 29 29 0a 0a 20 20 20 20 20 20 28 73    65 74 71 20 62 75 66 20 28 67 65 74 2d 62 75 66 | fer)))........(setq.buf.(get-buf | 
| 1880 | 66 65 72 2d 63 72 65 61 74 65 20 62 75 66 2d 6e    61 6d 65 29 29 29 0a 0a 20 20 20 20 3b 3b 20 49 | fer-create.buf-name)))......;;.I | 
| 18a0 | 6e 69 74 69 61 6c 69 73 65 20 74 68 65 20 62 75    66 66 65 72 20 77 69 74 68 20 74 68 65 20 73 79 | nitialise.the.buffer.with.the.sy | 
| 18c0 | 6d 62 6f 6c 20 61 6e 64 20 61 73 73 6f 63 69 61    74 65 64 20 64 61 74 61 2e 0a 20 20 20 20 28 77 | mbol.and.associated.data......(w | 
| 18e0 | 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66    65 72 20 62 75 66 0a 20 20 20 20 20 20 28 68 65 | ith-current-buffer.buf.......(he | 
| 1900 | 6c 70 66 75 6c 2d 6d 6f 64 65 29 0a 20 20 20 20    20 20 28 73 65 74 71 20 68 65 6c 70 66 75 6c 2d | lpful-mode).......(setq.helpful- | 
| 1920 | 2d 73 79 6d 20 73 79 6d 62 6f 6c 29 0a 20 20 20    20 20 20 28 73 65 74 71 20 68 65 6c 70 66 75 6c | -sym.symbol).......(setq.helpful | 
| 1940 | 2d 2d 63 61 6c 6c 61 62 6c 65 2d 70 20 63 61 6c    6c 61 62 6c 65 2d 70 29 0a 20 20 20 20 20 20 28 | --callable-p.callable-p).......( | 
| 1960 | 73 65 74 71 20 68 65 6c 70 66 75 6c 2d 2d 73 74    61 72 74 2d 62 75 66 66 65 72 20 63 75 72 72 65 | setq.helpful--start-buffer.curre | 
| 1980 | 6e 74 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20    20 28 73 65 74 71 20 68 65 6c 70 66 75 6c 2d 2d | nt-buffer).......(setq.helpful-- | 
| 19a0 | 61 73 73 6f 63 69 61 74 65 64 2d 62 75 66 66 65    72 20 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 | associated-buffer.current-buffer | 
| 19c0 | 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 69    73 74 2d 62 75 66 66 65 72 73 2d 64 69 72 65 63 | ).......(setq.list-buffers-direc | 
| 19e0 | 74 6f 72 79 0a 20 20 20 20 20 20 20 20 28 69 66    20 28 73 79 6d 62 6f 6c 70 20 73 79 6d 62 6f 6c | tory.........(if.(symbolp.symbol | 
| 1a00 | 29 20 28 66 6f 72 6d 61 74 20 22 25 73 3a 20 25    73 22 20 28 68 65 6c 70 66 75 6c 2d 2d 6b 69 6e | ).(format."%s:.%s".(helpful--kin | 
| 1a20 | 64 2d 6e 61 6d 65 20 73 79 6d 62 6f 6c 20 63 61    6c 6c 61 62 6c 65 2d 70 29 20 73 79 6d 62 6f 6c | d-name.symbol.callable-p).symbol | 
| 1a40 | 29 20 22 6c 61 6d 62 64 61 22 29 29 0a 20 20 20    20 20 20 28 69 66 20 28 68 65 6c 70 66 75 6c 2d | )."lambda")).......(if.(helpful- | 
| 1a60 | 2d 70 72 69 6d 69 74 69 76 65 2d 70 20 73 79 6d    62 6f 6c 20 63 61 6c 6c 61 62 6c 65 2d 70 29 0a | -primitive-p.symbol.callable-p). | 
| 1a80 | 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 2d    6c 6f 63 61 6c 20 63 6f 6d 6d 65 6e 74 2d 73 74 | ..........(setq-local.comment-st | 
| 1aa0 | 61 72 74 20 22 2f 2f 22 29 0a 20 20 20 20 20 20    20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 63 6f | art."//").........(setq-local.co | 
| 1ac0 | 6d 6d 65 6e 74 2d 73 74 61 72 74 20 22 3b 22 29    29 29 0a 20 20 20 20 62 75 66 29 29 0a 0a 28 64 | mment-start.";"))).....buf))..(d | 
| 1ae0 | 65 66 66 61 63 65 20 68 65 6c 70 66 75 6c 2d 68    65 61 64 69 6e 67 0a 20 20 27 28 28 74 20 28 3a | efface.helpful-heading...'((t.(: | 
| 1b00 | 77 65 69 67 68 74 20 62 6f 6c 64 29 29 29 0a 20    20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 | weight.bold)))..."Face.used.for. | 
| 1b20 | 68 65 61 64 69 6e 67 73 20 69 6e 20 48 65 6c 70    66 75 6c 20 62 75 66 66 65 72 73 2e 22 29 0a 0a | headings.in.Helpful.buffers.").. | 
| 1b40 | 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d    68 65 61 64 69 6e 67 20 28 74 65 78 74 29 0a 20 | (defun.helpful--heading.(text).. | 
| 1b60 | 20 22 50 72 6f 70 65 72 74 69 7a 65 20 54 45 58    54 20 61 73 20 61 20 68 65 61 64 69 6e 67 2e 22 | ."Propertize.TEXT.as.a.heading." | 
| 1b80 | 0a 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28    63 6f 6e 63 61 74 20 74 65 78 74 20 22 5c 6e 22 | ...(propertize.(concat.text."\n" | 
| 1ba0 | 29 20 27 66 61 63 65 20 27 68 65 6c 70 66 75 6c    2d 68 65 61 64 69 6e 67 29 29 0a 0a 28 64 65 66 | ).'face.'helpful-heading))..(def | 
| 1bc0 | 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 6d    61 74 2d 63 6c 6f 73 75 72 65 20 28 73 79 6d 20 | un.helpful--format-closure.(sym. | 
| 1be0 | 66 6f 72 6d 29 0a 20 20 22 47 69 76 65 6e 20 61    20 63 6c 6f 73 75 72 65 2c 20 72 65 74 75 72 6e | form)..."Given.a.closure,.return | 
| 1c00 | 20 61 6e 20 65 71 75 69 76 61 6c 65 6e 74 20 64    65 66 75 6e 20 66 6f 72 6d 2e 22 0a 20 20 28 2d | .an.equivalent.defun.form."...(- | 
| 1c20 | 6c 65 74 20 28 28 28 5f 6b 65 79 77 6f 72 64 20    5f 65 6e 76 20 61 72 67 73 20 2e 20 62 6f 64 79 | let.(((_keyword._env.args...body | 
| 1c40 | 29 20 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20    20 28 64 6f 63 73 74 72 69 6e 67 20 6e 69 6c 29 | ).form)..........(docstring.nil) | 
| 1c60 | 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73 74 72    69 6e 67 70 20 28 63 61 72 20 62 6f 64 79 29 29 | ).....(when.(stringp.(car.body)) | 
| 1c80 | 0a 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 63    73 74 72 69 6e 67 20 28 63 61 72 20 62 6f 64 79 | .......(setq.docstring.(car.body | 
| 1ca0 | 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62    6f 64 79 20 28 63 64 72 20 62 6f 64 79 29 29 0a | )).......(setq.body.(cdr.body)). | 
| 1cc0 | 20 20 20 20 20 20 3b 3b 20 45 6e 73 75 72 65 20    74 68 61 74 20 74 68 65 20 64 6f 63 73 74 72 69 | ......;;.Ensure.that.the.docstri | 
| 1ce0 | 6e 67 20 64 6f 65 73 6e 27 74 20 68 61 76 65 20    6c 69 6e 65 73 20 73 74 61 72 74 69 6e 67 20 77 | ng.doesn't.have.lines.starting.w | 
| 1d00 | 69 74 68 20 28 2c 0a 20 20 20 20 20 20 3b 3b 20    6f 72 20 69 74 20 62 72 65 61 6b 73 20 69 6e 64 | ith.(,.......;;.or.it.breaks.ind | 
| 1d20 | 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20    28 73 65 74 71 20 64 6f 63 73 74 72 69 6e 67 0a | entation........(setq.docstring. | 
| 1d40 | 20 20 20 20 20 20 20 20 20 20 20 20 28 73 2d 72    65 70 6c 61 63 65 20 22 5c 6e 28 22 20 22 5c 6e | ............(s-replace."\n("."\n | 
| 1d60 | 5c 5c 28 22 20 64 6f 63 73 74 72 69 6e 67 29 29    29 0a 20 20 20 20 28 69 66 20 64 6f 63 73 74 72 | \\(".docstring))).....(if.docstr | 
| 1d80 | 69 6e 67 0a 20 20 20 20 20 20 20 20 60 28 64 65    66 75 6e 20 2c 73 79 6d 20 2c 61 72 67 73 20 2c | ing.........`(defun.,sym.,args., | 
| 1da0 | 64 6f 63 73 74 72 69 6e 67 20 2c 40 62 6f 64 79    29 0a 20 20 20 20 20 20 60 28 64 65 66 75 6e 20 | docstring.,@body).......`(defun. | 
| 1dc0 | 2c 73 79 6d 20 2c 61 72 67 73 20 2c 40 62 6f 64    79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 | ,sym.,args.,@body))))..(defun.he | 
| 1de0 | 6c 70 66 75 6c 2d 2d 70 72 65 74 74 79 2d 70 72    69 6e 74 20 28 76 61 6c 75 65 29 0a 20 20 22 50 | lpful--pretty-print.(value)..."P | 
| 1e00 | 72 65 74 74 79 2d 70 72 69 6e 74 20 56 41 4c 55    45 2e 0a 0a 49 66 20 56 41 4c 55 45 20 69 73 20 | retty-print.VALUE...If.VALUE.is. | 
| 1e20 | 76 65 72 79 20 62 69 67 2c 20 74 68 65 20 75 73    65 72 20 6d 61 79 20 70 72 65 73 73 20 5c 5c 5b | very.big,.the.user.may.press.\\[ | 
| 1e40 | 6b 65 79 62 6f 61 72 64 2d 71 75 69 74 5d 20 74    6f 0a 67 72 61 63 65 66 75 6c 6c 79 20 73 74 6f | keyboard-quit].to.gracefully.sto | 
| 1e60 | 70 20 74 68 65 20 70 72 69 6e 74 69 6e 67 2e 20    49 66 20 56 41 4c 55 45 20 69 73 20 73 65 6c 66 | p.the.printing..If.VALUE.is.self | 
| 1e80 | 2d 72 65 66 65 72 65 6e 74 69 61 6c 2c 20 74 68    65 0a 65 72 72 6f 72 20 77 69 6c 6c 20 62 65 20 | -referential,.the.error.will.be. | 
| 1ea0 | 63 61 75 67 68 74 20 61 6e 64 20 64 69 73 70 6c    61 79 65 64 2e 22 0a 20 20 3b 3b 20 49 6e 73 70 | caught.and.displayed."...;;.Insp | 
| 1ec0 | 69 72 65 64 20 62 79 20 60 69 65 6c 6d 2d 65 76    61 6c 2d 69 6e 70 75 74 27 2e 0a 20 20 28 63 6f | ired.by.`ielm-eval-input'....(co | 
| 1ee0 | 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65 72 72    0a 20 20 20 20 20 20 28 73 2d 74 72 69 6d 2d 72 | ndition-case.err.......(s-trim-r | 
| 1f00 | 69 67 68 74 20 28 70 70 2d 74 6f 2d 73 74 72 69    6e 67 20 76 61 6c 75 65 29 29 0a 20 20 20 20 28 | ight.(pp-to-string.value)).....( | 
| 1f20 | 65 72 72 6f 72 0a 20 20 20 20 20 28 70 72 6f 70    65 72 74 69 7a 65 20 28 66 6f 72 6d 61 74 20 22 | error......(propertize.(format." | 
| 1f40 | 28 44 69 73 70 6c 61 79 20 65 72 72 6f 72 3a 20    25 73 29 22 20 28 63 61 64 72 20 65 72 72 29 29 | (Display.error:.%s)".(cadr.err)) | 
| 1f60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 27 66 61 63 65 20 27 66 6f 6e 74 2d 6c 6f | ..................'face.'font-lo | 
| 1f80 | 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 29    29 0a 20 20 20 20 28 71 75 69 74 0a 20 20 20 20 | ck-comment-face)).....(quit..... | 
| 1fa0 | 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 28 55    73 65 72 20 71 75 69 74 20 64 75 72 69 6e 67 20 | .(propertize."(User.quit.during. | 
| 1fc0 | 70 72 65 74 74 79 2d 70 72 69 6e 74 69 6e 67 2e    29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | pretty-printing.)".............. | 
| 1fe0 | 20 20 20 20 27 66 61 63 65 20 27 66 6f 6e 74 2d    6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 | ....'face.'font-lock-comment-fac | 
| 2000 | 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65    6c 70 66 75 6c 2d 2d 73 6f 72 74 2d 73 79 6d 62 | e))))..(defun.helpful--sort-symb | 
| 2020 | 6f 6c 73 20 28 73 79 6d 2d 6c 69 73 74 29 0a 20    20 22 53 6f 72 74 20 73 79 6d 62 6f 6c 73 20 69 | ols.(sym-list)..."Sort.symbols.i | 
| 2040 | 6e 20 53 59 4d 2d 4c 49 53 54 20 61 6c 70 68 61    62 65 74 69 63 61 6c 6c 79 2e 22 0a 20 20 28 2d | n.SYM-LIST.alphabetically."...(- | 
| 2060 | 2d 73 6f 72 74 0a 20 20 20 28 73 74 72 69 6e 67    3c 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 | -sort....(string<.(symbol-name.i | 
| 2080 | 74 29 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20    6f 74 68 65 72 29 29 0a 20 20 20 73 79 6d 2d 6c | t).(symbol-name.other))....sym-l | 
| 20a0 | 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 68 65    6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e 20 28 74 | ist))..(defun.helpful--button.(t | 
| 20c0 | 65 78 74 20 74 79 70 65 20 26 72 65 73 74 20 70    72 6f 70 65 72 74 69 65 73 29 0a 20 20 3b 3b 20 | ext.type.&rest.properties)...;;. | 
| 20e0 | 60 6d 61 6b 65 2d 74 65 78 74 2d 62 75 74 74 6f    6e 27 20 6d 75 74 61 74 65 73 20 6f 75 72 20 73 | `make-text-button'.mutates.our.s | 
| 2100 | 74 72 69 6e 67 20 74 6f 20 61 64 64 20 70 72 6f    70 65 72 74 69 65 73 2e 20 43 6f 70 79 0a 20 20 | tring.to.add.properties..Copy... | 
| 2120 | 3b 3b 20 54 45 58 54 20 74 6f 20 70 72 65 76 65    6e 74 20 6d 75 74 61 74 69 6e 67 20 6f 75 72 20 | ;;.TEXT.to.prevent.mutating.our. | 
| 2140 | 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e 64 20 74    6f 20 73 75 70 70 6f 72 74 20 27 70 75 72 65 27 | arguments,.and.to.support.'pure' | 
| 2160 | 0a 20 20 3b 3b 20 73 74 72 69 6e 67 73 2c 20 77    68 69 63 68 20 61 72 65 20 72 65 61 64 2d 6f 6e | ...;;.strings,.which.are.read-on | 
| 2180 | 6c 79 2e 0a 20 20 28 73 65 74 71 20 74 65 78 74    20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 | ly....(setq.text.(substring-no-p | 
| 21a0 | 72 6f 70 65 72 74 69 65 73 20 74 65 78 74 29 29    0a 20 20 28 61 70 70 6c 79 20 23 27 6d 61 6b 65 | roperties.text))...(apply.#'make | 
| 21c0 | 2d 74 65 78 74 2d 62 75 74 74 6f 6e 0a 20 20 20    20 20 20 20 20 20 74 65 78 74 20 6e 69 6c 0a 20 | -text-button..........text.nil.. | 
| 21e0 | 20 20 20 20 20 20 20 20 3a 74 79 70 65 20 74 79    70 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 70 | ........:type.type..........prop | 
| 2200 | 65 72 74 69 65 73 29 29 0a 0a 28 64 65 66 75 6e    20 68 65 6c 70 66 75 6c 2d 2d 63 61 6e 6f 6e 69 | erties))..(defun.helpful--canoni | 
| 2220 | 63 61 6c 2d 73 79 6d 62 6f 6c 20 28 73 79 6d 20    63 61 6c 6c 61 62 6c 65 2d 70 29 0a 20 20 22 49 | cal-symbol.(sym.callable-p)..."I | 
| 2240 | 66 20 53 59 4d 20 69 73 20 61 6e 20 61 6c 69 61    73 2c 20 72 65 74 75 72 6e 20 74 68 65 20 75 6e | f.SYM.is.an.alias,.return.the.un | 
| 2260 | 64 65 72 6c 79 69 6e 67 20 73 79 6d 62 6f 6c 2e    0a 52 65 74 75 72 6e 20 53 59 4d 20 6f 74 68 65 | derlying.symbol..Return.SYM.othe | 
| 2280 | 72 77 69 73 65 2e 22 0a 20 20 28 6c 65 74 20 28    28 64 65 70 74 68 20 30 29 29 0a 20 20 20 20 28 | rwise."...(let.((depth.0)).....( | 
| 22a0 | 69 66 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70    20 73 79 6d 29 20 63 61 6c 6c 61 62 6c 65 2d 70 | if.(and.(symbolp.sym).callable-p | 
| 22c0 | 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e    0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 6f | ).........(progn...........;;.Fo | 
| 22e0 | 6c 6c 6f 77 20 74 68 65 20 63 68 61 69 6e 20 6f    66 20 73 79 6d 62 6f 6c 73 20 75 6e 74 69 6c 20 | llow.the.chain.of.symbols.until. | 
| 2300 | 77 65 20 66 69 6e 64 20 61 20 73 79 6d 62 6f 6c    20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 | we.find.a.symbol.that........... | 
| 2320 | 3b 3b 20 69 73 6e 27 74 20 70 6f 69 6e 74 69 6e    67 20 74 6f 20 61 20 73 79 6d 62 6f 6c 2e 0a 20 | ;;.isn't.pointing.to.a.symbol... | 
| 2340 | 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20    28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 28 73 | .........(while.(and.(symbolp.(s | 
| 2360 | 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 73    79 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ymbol-function.sym))............ | 
| 2380 | 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 64 65    70 74 68 20 31 30 29 29 0a 20 20 20 20 20 20 20 | ...........(<.depth.10))........ | 
| 23a0 | 20 20 20 20 20 28 73 65 74 71 20 73 79 6d 20 28    73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 | .....(setq.sym.(symbol-function. | 
| 23c0 | 73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 73 65 74 71 20 64 65 70 74 68 20 28 31 | sym)).............(setq.depth.(1 | 
| 23e0 | 2b 20 64 65 70 74 68 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 3b 3b 20 49 66 20 74 68 69 73 20 | +.depth)))...........;;.If.this. | 
| 2400 | 69 73 20 61 6e 20 61 6c 69 61 73 20 74 6f 20 61    20 70 72 69 6d 69 74 69 76 65 2c 20 72 65 74 75 | is.an.alias.to.a.primitive,.retu | 
| 2420 | 72 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20    20 3b 3b 20 70 72 69 6d 69 74 69 76 65 27 73 20 | rn.the...........;;.primitive's. | 
| 2440 | 73 79 6d 62 6f 6c 2e 0a 20 20 20 20 20 20 20 20    20 20 28 77 68 65 6e 20 28 73 75 62 72 70 20 28 | symbol............(when.(subrp.( | 
| 2460 | 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20    73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 | symbol-function.sym))........... | 
| 2480 | 20 20 28 73 65 74 71 20 73 79 6d 20 28 69 6e 74    65 72 6e 20 28 73 75 62 72 2d 6e 61 6d 65 20 28 | ..(setq.sym.(intern.(subr-name.( | 
| 24a0 | 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20    73 79 6d 29 29 29 29 29 29 0a 20 20 20 20 20 20 | symbol-function.sym))))))....... | 
| 24c0 | 28 73 65 74 71 20 73 79 6d 20 28 69 6e 64 69 72    65 63 74 2d 76 61 72 69 61 62 6c 65 20 73 79 6d | (setq.sym.(indirect-variable.sym | 
| 24e0 | 29 29 29 29 0a 20 20 73 79 6d 29 0a 0a 28 64 65    66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 61 6c 69 | ))))...sym)..(defun.helpful--ali | 
| 2500 | 61 73 65 73 20 28 73 79 6d 20 63 61 6c 6c 61 62    6c 65 2d 70 29 0a 20 20 22 52 65 74 75 72 6e 20 | ases.(sym.callable-p)..."Return. | 
| 2520 | 61 6c 6c 20 74 68 65 20 61 6c 69 61 73 65 73 20    66 6f 72 20 53 59 4d 2e 22 0a 20 20 28 6c 65 74 | all.the.aliases.for.SYM."...(let | 
| 2540 | 20 28 28 63 61 6e 6f 6e 69 63 61 6c 20 28 68 65    6c 70 66 75 6c 2d 2d 63 61 6e 6f 6e 69 63 61 6c | .((canonical.(helpful--canonical | 
| 2560 | 2d 73 79 6d 62 6f 6c 20 73 79 6d 20 63 61 6c 6c    61 62 6c 65 2d 70 29 29 0a 20 20 20 20 20 20 20 | -symbol.sym.callable-p))........ | 
| 2580 | 20 61 6c 69 61 73 65 73 29 0a 20 20 20 20 28 6d    61 70 61 74 6f 6d 73 0a 20 20 20 20 20 28 6c 61 | .aliases).....(mapatoms......(la | 
| 25a0 | 6d 62 64 61 20 28 73 29 0a 20 20 20 20 20 20 20    28 77 68 65 6e 20 28 61 6e 64 0a 20 20 20 20 20 | mbda.(s)........(when.(and...... | 
| 25c0 | 20 20 20 20 20 20 20 20 20 3b 3b 20 53 6b 69 70    20 76 61 72 69 61 62 6c 65 73 20 74 68 61 74 20 | .........;;.Skip.variables.that. | 
| 25e0 | 61 72 65 6e 27 74 20 62 6f 75 6e 64 2c 20 73 6f    20 77 65 27 72 65 20 66 61 73 74 65 72 2e 0a 20 | aren't.bound,.so.we're.faster... | 
| 2600 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66    20 63 61 6c 6c 61 62 6c 65 2d 70 20 28 66 62 6f | .............(if.callable-p.(fbo | 
| 2620 | 75 6e 64 70 20 73 29 20 28 62 6f 75 6e 64 70 20    73 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 | undp.s).(boundp.s))............. | 
| 2640 | 20 20 20 3b 3b 20 49 66 20 74 68 69 73 20 73 79    6d 62 6f 6c 20 69 73 20 61 20 6e 65 77 20 61 6c | ...;;.If.this.symbol.is.a.new.al | 
| 2660 | 69 61 73 20 66 6f 72 20 6f 75 72 20 74 61 72 67    65 74 20 73 79 6d 2c 0a 20 20 20 20 20 20 20 20 | ias.for.our.target.sym,......... | 
| 2680 | 20 20 20 20 20 20 3b 3b 20 61 64 64 20 69 74 2e    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ......;;.add.it................( | 
| 26a0 | 65 71 20 63 61 6e 6f 6e 69 63 61 6c 20 28 68 65    6c 70 66 75 6c 2d 2d 63 61 6e 6f 6e 69 63 61 6c | eq.canonical.(helpful--canonical | 
| 26c0 | 2d 73 79 6d 62 6f 6c 20 73 20 63 61 6c 6c 61 62    6c 65 2d 70 29 29 0a 0a 20 20 20 20 20 20 20 20 | -symbol.s.callable-p)).......... | 
| 26e0 | 20 20 20 20 20 20 3b 3b 20 44 6f 6e 27 74 20 69    6e 63 6c 75 64 65 20 53 59 4d 2e 0a 20 20 20 20 | ......;;.Don't.include.SYM...... | 
| 2700 | 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28    65 71 20 73 79 6d 20 73 29 29 29 0a 20 20 20 20 | ..........(not.(eq.sym.s)))..... | 
| 2720 | 20 20 20 20 20 28 70 75 73 68 20 73 20 61 6c 69    61 73 65 73 29 29 29 29 0a 20 20 20 20 28 68 65 | .....(push.s.aliases)))).....(he | 
| 2740 | 6c 70 66 75 6c 2d 2d 73 6f 72 74 2d 73 79 6d 62    6f 6c 73 20 61 6c 69 61 73 65 73 29 29 29 0a 0a | lpful--sort-symbols.aliases))).. | 
| 2760 | 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d    6f 62 73 6f 6c 65 74 65 2d 69 6e 66 6f 20 28 73 | (defun.helpful--obsolete-info.(s | 
| 2780 | 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29 0a 20    20 28 77 68 65 6e 20 28 73 79 6d 62 6f 6c 70 20 | ym.callable-p)...(when.(symbolp. | 
| 27a0 | 73 79 6d 29 0a 20 20 20 20 28 67 65 74 20 73 79    6d 20 28 69 66 20 63 61 6c 6c 61 62 6c 65 2d 70 | sym).....(get.sym.(if.callable-p | 
| 27c0 | 20 27 62 79 74 65 2d 6f 62 73 6f 6c 65 74 65 2d    69 6e 66 6f 20 27 62 79 74 65 2d 6f 62 73 6f 6c | .'byte-obsolete-info.'byte-obsol | 
| 27e0 | 65 74 65 2d 76 61 72 69 61 62 6c 65 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c | ete-variable))))..(defun.helpful | 
| 2800 | 2d 2d 66 6f 72 6d 61 74 2d 61 6c 69 61 73 20 28    73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29 0a | --format-alias.(sym.callable-p). | 
| 2820 | 20 20 28 6c 65 74 20 28 28 6f 62 73 6f 6c 65 74    65 2d 69 6e 66 6f 20 28 68 65 6c 70 66 75 6c 2d | ..(let.((obsolete-info.(helpful- | 
| 2840 | 2d 6f 62 73 6f 6c 65 74 65 2d 69 6e 66 6f 20 73    79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29 29 0a | -obsolete-info.sym.callable-p)). | 
| 2860 | 20 20 20 20 20 20 20 20 28 73 79 6d 2d 62 75 74    74 6f 6e 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 | ........(sym-button.(helpful--bu | 
| 2880 | 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f | tton......................(symbo | 
| 28a0 | 6c 2d 6e 61 6d 65 20 73 79 6d 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l-name.sym)..................... | 
| 28c0 | 20 27 68 65 6c 70 66 75 6c 2d 64 65 73 63 72 69    62 65 2d 65 78 61 63 74 6c 79 2d 62 75 74 74 6f | .'helpful-describe-exactly-butto | 
| 28e0 | 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 27 73 79 6d 62 6f 6c 20 73 | n......................'symbol.s | 
| 2900 | 79 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 27 63 61 6c 6c 61 62 6c | ym......................'callabl | 
| 2920 | 65 2d 70 20 63 61 6c 6c 61 62 6c 65 2d 70 29 29    29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 | e-p.callable-p))).....(cond..... | 
| 2940 | 20 28 6f 62 73 6f 6c 65 74 65 2d 69 6e 66 6f 0a    20 20 20 20 20 20 28 2d 69 66 2d 6c 65 74 20 28 | .(obsolete-info.......(-if-let.( | 
| 2960 | 76 65 72 73 69 6f 6e 20 28 2d 6c 61 73 74 2d 69    74 65 6d 20 6f 62 73 6f 6c 65 74 65 2d 69 6e 66 | version.(-last-item.obsolete-inf | 
| 2980 | 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66    6f 72 6d 61 74 20 22 25 73 20 28 6f 62 73 6f 6c | o))...........(format."%s.(obsol | 
| 29a0 | 65 74 65 20 73 69 6e 63 65 20 25 73 29 22 20 73    79 6d 2d 62 75 74 74 6f 6e 20 76 65 72 73 69 6f | ete.since.%s)".sym-button.versio | 
| 29c0 | 6e 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 6d    61 74 20 22 25 73 20 28 6f 62 73 6f 6c 65 74 65 | n).........(format."%s.(obsolete | 
| 29e0 | 29 22 20 73 79 6d 2d 62 75 74 74 6f 6e 29 29 29    0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 73 | )".sym-button)))......(t.......s | 
| 2a00 | 79 6d 2d 62 75 74 74 6f 6e 29 29 29 29 0a 0a 28    64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 69 | ym-button))))..(defun.helpful--i | 
| 2a20 | 6e 64 65 6e 74 2d 72 69 67 69 64 6c 79 20 28 73    20 61 6d 6f 75 6e 74 29 0a 20 20 22 49 6e 64 65 | ndent-rigidly.(s.amount)..."Inde | 
| 2a40 | 6e 74 20 73 74 72 69 6e 67 20 53 20 62 79 20 61    64 64 69 6e 67 20 41 4d 4f 55 4e 54 20 73 70 61 | nt.string.S.by.adding.AMOUNT.spa | 
| 2a60 | 63 65 73 20 74 6f 20 65 61 63 68 20 6c 69 6e 65    2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d | ces.to.each.line."...(with-temp- | 
| 2a80 | 62 75 66 66 65 72 0a 20 20 20 20 28 69 6e 73 65    72 74 20 73 29 0a 20 20 20 20 28 69 6e 64 65 6e | buffer.....(insert.s).....(inden | 
| 2aa0 | 74 2d 72 69 67 69 64 6c 79 20 28 70 6f 69 6e 74    2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 | t-rigidly.(point-min).(point-max | 
| 2ac0 | 29 20 61 6d 6f 75 6e 74 29 0a 20 20 20 20 28 62    75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a | ).amount).....(buffer-string))). | 
| 2ae0 | 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d    2d 66 6f 72 6d 61 74 2d 70 72 6f 70 65 72 74 69 | .(defun.helpful--format-properti | 
| 2b00 | 65 73 20 28 73 79 6d 62 6f 6c 29 0a 20 20 22 52    65 74 75 72 6e 20 61 20 73 74 72 69 6e 67 20 64 | es.(symbol)..."Return.a.string.d | 
| 2b20 | 65 73 63 72 69 62 69 6e 67 20 61 6c 6c 20 74 68    65 20 70 72 6f 70 65 72 74 69 65 73 20 6f 66 20 | escribing.all.the.properties.of. | 
| 2b40 | 53 59 4d 42 4f 4c 2e 22 0a 20 20 28 6c 65 74 2a    20 28 28 73 79 6d 73 2d 61 6e 64 2d 76 61 6c 73 | SYMBOL."...(let*.((syms-and-vals | 
| 2b60 | 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72    74 69 74 69 6f 6e 20 32 20 28 61 6e 64 20 28 73 | ...........(-partition.2.(and.(s | 
| 2b80 | 79 6d 62 6f 6c 70 20 73 79 6d 62 6f 6c 29 20 28    73 79 6d 62 6f 6c 2d 70 6c 69 73 74 20 73 79 6d | ymbolp.symbol).(symbol-plist.sym | 
| 2ba0 | 62 6f 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20    20 28 73 79 6d 73 2d 61 6e 64 2d 76 61 6c 73 0a | bol))))..........(syms-and-vals. | 
| 2bc0 | 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74    20 28 2d 6c 61 6d 62 64 61 20 28 28 73 79 6d 31 | ..........(-sort.(-lambda.((sym1 | 
| 2be0 | 20 5f 29 20 28 73 79 6d 32 20 5f 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ._).(sym2._))................... | 
| 2c00 | 20 28 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 28    73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 73 79 6d 31 | .(string-lessp.(symbol-name.sym1 | 
| 2c20 | 29 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 73    79 6d 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 | ).(symbol-name.sym2))).......... | 
| 2c40 | 20 20 20 20 20 20 20 20 73 79 6d 73 2d 61 6e 64    2d 76 61 6c 73 29 29 0a 20 20 20 20 20 20 20 20 | ........syms-and-vals))......... | 
| 2c60 | 20 28 6c 69 6e 65 73 0a 20 20 20 20 20 20 20 20    20 20 28 2d 2d 6d 61 70 0a 20 20 20 20 20 20 20 | .(lines...........(--map........ | 
| 2c80 | 20 20 20 20 28 2d 6c 65 74 2a 20 28 28 28 73 79    6d 20 76 61 6c 29 20 69 74 29 0a 20 20 20 20 20 | ....(-let*.(((sym.val).it)...... | 
| 2ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70    72 65 74 74 79 2d 76 61 6c 0a 20 20 20 20 20 20 | ..............(pretty-val....... | 
| 2cc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68    65 6c 70 66 75 6c 2d 2d 70 72 65 74 74 79 2d 70 | ..............(helpful--pretty-p | 
| 2ce0 | 72 69 6e 74 20 76 61 6c 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 | rint.val)))..............(format | 
| 2d00 | 20 22 25 73 5c 6e 25 73 25 73 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ."%s\n%s%s"..................... | 
| 2d20 | 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 73 79    6d 62 6f 6c 2d 6e 61 6d 65 20 73 79 6d 29 0a 20 | .(propertize.(symbol-name.sym).. | 
| 2d40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 2d60 | 27 66 61 63 65 20 27 66 6f 6e 74 2d 6c 6f 63 6b    2d 63 6f 6e 73 74 61 6e 74 2d 66 61 63 65 29 0a | 'face.'font-lock-constant-face). | 
| 2d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 69 | .....................(helpful--i | 
| 2da0 | 6e 64 65 6e 74 2d 72 69 67 69 64 6c 79 20 70 72    65 74 74 79 2d 76 61 6c 20 32 29 0a 20 20 20 20 | ndent-rigidly.pretty-val.2)..... | 
| 2dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 | .................(cond.......... | 
| 2de0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20    41 6c 73 6f 20 6f 66 66 65 72 20 74 6f 20 64 69 | .............;;.Also.offer.to.di | 
| 2e00 | 73 61 73 73 65 6d 62 6c 65 20 62 79 74 65 2d 63    6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | sassemble.byte-code............. | 
| 2e20 | 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70 72 6f    70 65 72 74 69 65 73 2e 0a 20 20 20 20 20 20 20 | ..........;;.properties......... | 
| 2e40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    28 62 79 74 65 2d 63 6f 64 65 2d 66 75 6e 63 74 | ...............((byte-code-funct | 
| 2e60 | 69 6f 6e 2d 70 20 76 61 6c 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ion-p.val)...................... | 
| 2e80 | 20 20 28 66 6f 72 6d 61 74 20 22 5c 6e 20 20 25    73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..(format."\n..%s".............. | 
| 2ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 68 65 6c 70 66 75 6c 2d 2d 6d 61 6b 65 | ..................(helpful--make | 
| 2ec0 | 2d 64 69 73 61 73 73 65 6d 62 6c 65 2d 62 75 74    74 6f 6e 20 76 61 6c 29 29 29 0a 20 20 20 20 20 | -disassemble-button.val)))...... | 
| 2ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 28 65 71 20 73 79 6d 20 27 65 72 74 2d 2d | .................((eq.sym.'ert-- | 
| 2f00 | 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f | test)........................(fo | 
| 2f20 | 72 6d 61 74 20 22 5c 6e 20 20 25 73 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rmat."\n..%s"................... | 
| 2f40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65    6c 70 66 75 6c 2d 2d 6d 61 6b 65 2d 72 75 6e 2d | .............(helpful--make-run- | 
| 2f60 | 74 65 73 74 2d 62 75 74 74 6f 6e 20 73 79 6d 62    6f 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | test-button.symbol)))........... | 
| 2f80 | 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ............(t.................. | 
| 2fa0 | 20 20 20 20 20 20 22 22 29 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 73 79 6d 73 2d 61 6e 64 | ......""))))............syms-and | 
| 2fc0 | 2d 76 61 6c 73 29 29 29 0a 20 20 20 20 28 77 68    65 6e 20 6c 69 6e 65 73 0a 20 20 20 20 20 20 28 | -vals))).....(when.lines.......( | 
| 2fe0 | 73 2d 6a 6f 69 6e 20 22 5c 6e 22 20 6c 69 6e 65    73 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 62 | s-join."\n".lines))))..(define-b | 
| 3000 | 75 74 74 6f 6e 2d 74 79 70 65 20 27 68 65 6c 70    66 75 6c 2d 66 6f 72 67 65 74 2d 62 75 74 74 6f | utton-type.'helpful-forget-butto | 
| 3020 | 6e 0a 20 20 27 61 63 74 69 6f 6e 20 23 27 68 65    6c 70 66 75 6c 2d 2d 66 6f 72 67 65 74 0a 20 20 | n...'action.#'helpful--forget... | 
| 3040 | 27 73 79 6d 62 6f 6c 20 6e 69 6c 0a 20 20 27 63    61 6c 6c 61 62 6c 65 2d 70 20 6e 69 6c 0a 20 20 | 'symbol.nil...'callable-p.nil... | 
| 3060 | 27 66 6f 6c 6c 6f 77 2d 6c 69 6e 6b 20 74 0a 20    20 27 68 65 6c 70 2d 65 63 68 6f 20 22 55 6e 62 | 'follow-link.t...'help-echo."Unb | 
| 3080 | 69 6e 64 20 74 68 69 73 20 66 75 6e 63 74 69 6f    6e 22 29 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 69 74 | ind.this.function")..;;.TODO:.it | 
| 30a0 | 20 77 6f 75 6c 64 20 62 65 20 6e 69 63 65 20 74    6f 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 64 65 6c | .would.be.nice.to.optionally.del | 
| 30c0 | 65 74 65 20 74 68 65 20 73 6f 75 72 63 65 20 63    6f 64 65 20 74 6f 6f 2e 0a 28 64 65 66 75 6e 20 | ete.the.source.code.too..(defun. | 
| 30e0 | 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 67 65 74 20    28 62 75 74 74 6f 6e 29 0a 20 20 22 55 6e 62 69 | helpful--forget.(button)..."Unbi | 
| 3100 | 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 73    79 6d 62 6f 6c 2e 22 0a 20 20 28 6c 65 74 2a 20 | nd.the.current.symbol."...(let*. | 
| 3120 | 28 28 73 79 6d 20 28 62 75 74 74 6f 6e 2d 67 65    74 20 62 75 74 74 6f 6e 20 27 73 79 6d 62 6f 6c | ((sym.(button-get.button.'symbol | 
| 3140 | 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 61 6c    6c 61 62 6c 65 2d 70 20 28 62 75 74 74 6f 6e 2d | ))..........(callable-p.(button- | 
| 3160 | 67 65 74 20 62 75 74 74 6f 6e 20 27 63 61 6c 6c    61 62 6c 65 2d 70 29 29 0a 20 20 20 20 20 20 20 | get.button.'callable-p))........ | 
| 3180 | 20 20 28 6b 69 6e 64 20 28 68 65 6c 70 66 75 6c    2d 2d 6b 69 6e 64 2d 6e 61 6d 65 20 73 79 6d 20 | ..(kind.(helpful--kind-name.sym. | 
| 31a0 | 63 61 6c 6c 61 62 6c 65 2d 70 29 29 29 0a 20 20    20 20 28 77 68 65 6e 20 28 79 65 73 2d 6f 72 2d | callable-p))).....(when.(yes-or- | 
| 31c0 | 6e 6f 2d 70 20 28 66 6f 72 6d 61 74 20 22 46 6f    72 67 65 74 20 25 73 20 25 73 3f 22 20 6b 69 6e | no-p.(format."Forget.%s.%s?".kin | 
| 31e0 | 64 20 73 79 6d 29 29 0a 20 20 20 20 20 20 28 69    66 20 63 61 6c 6c 61 62 6c 65 2d 70 0a 20 20 20 | d.sym)).......(if.callable-p.... | 
| 3200 | 20 20 20 20 20 20 20 28 66 6d 61 6b 75 6e 62 6f    75 6e 64 20 73 79 6d 29 0a 20 20 20 20 20 20 20 | .......(fmakunbound.sym)........ | 
| 3220 | 20 28 6d 61 6b 75 6e 62 6f 75 6e 64 20 73 79 6d    29 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 | .(makunbound.sym)).......(messag | 
| 3240 | 65 20 22 46 6f 72 67 6f 74 20 25 73 20 25 73 2e    22 20 6b 69 6e 64 20 73 79 6d 29 0a 20 20 20 20 | e."Forgot.%s.%s.".kind.sym)..... | 
| 3260 | 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28    63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 | ..(kill-buffer.(current-buffer)) | 
| 3280 | 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 62 75 74    74 6f 6e 2d 74 79 70 65 20 27 68 65 6c 70 66 75 | )))..(define-button-type.'helpfu | 
| 32a0 | 6c 2d 63 2d 73 6f 75 72 63 65 2d 64 69 72 65 63    74 6f 72 79 0a 20 20 27 61 63 74 69 6f 6e 20 23 | l-c-source-directory...'action.# | 
| 32c0 | 27 68 65 6c 70 66 75 6c 2d 2d 63 2d 73 6f 75 72    63 65 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 27 | 'helpful--c-source-directory...' | 
| 32e0 | 66 6f 6c 6c 6f 77 2d 6c 69 6e 6b 20 74 0a 20 20    27 68 65 6c 70 2d 65 63 68 6f 20 22 53 65 74 20 | follow-link.t...'help-echo."Set. | 
| 3300 | 64 69 72 65 63 74 6f 72 79 20 74 6f 20 45 6d 61    63 73 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 | directory.to.Emacs.C.source.code | 
| 3320 | 22 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66    75 6c 2d 2d 63 2d 73 6f 75 72 63 65 2d 64 69 72 | ")..(defun.helpful--c-source-dir | 
| 3340 | 65 63 74 6f 72 79 20 28 5f 62 75 74 74 6f 6e 29    0a 20 20 22 53 65 74 20 60 66 69 6e 64 2d 66 75 | ectory.(_button)..."Set.`find-fu | 
| 3360 | 6e 63 74 69 6f 6e 2d 43 2d 73 6f 75 72 63 65 2d    64 69 72 65 63 74 6f 72 79 27 20 73 6f 20 77 65 | nction-C-source-directory'.so.we | 
| 3380 | 20 63 61 6e 20 73 68 6f 77 20 74 68 65 0a 73 6f    75 72 63 65 20 63 6f 64 65 20 74 6f 20 70 72 69 | .can.show.the.source.code.to.pri | 
| 33a0 | 6d 69 74 69 76 65 73 2e 22 0a 20 20 28 6c 65 74    20 28 28 65 6d 61 63 73 2d 73 72 63 2d 64 69 72 | mitives."...(let.((emacs-src-dir | 
| 33c0 | 20 28 72 65 61 64 2d 64 69 72 65 63 74 6f 72 79    2d 6e 61 6d 65 20 22 50 61 74 68 20 74 6f 20 45 | .(read-directory-name."Path.to.E | 
| 33e0 | 6d 61 63 73 20 73 6f 75 72 63 65 20 63 6f 64 65    3a 20 22 29 29 29 0a 20 20 20 20 3b 3b 20 4c 65 | macs.source.code:."))).....;;.Le | 
| 3400 | 74 20 74 68 65 20 75 73 65 72 20 73 70 65 63 69    66 79 20 74 68 65 20 73 6f 75 72 63 65 20 70 61 | t.the.user.specify.the.source.pa | 
| 3420 | 74 68 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f    75 74 20 73 72 63 2f 2c 0a 20 20 20 20 3b 3b 20 | th.with.or.without.src/,.....;;. | 
| 3440 | 77 68 69 63 68 20 69 73 20 61 20 73 75 62 64 69    72 65 63 74 6f 72 79 20 69 6e 20 74 68 65 20 45 | which.is.a.subdirectory.in.the.E | 
| 3460 | 6d 61 63 73 20 74 72 65 65 2e 0a 20 20 20 20 28    75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 66 | macs.tree......(unless.(equal.(f | 
| 3480 | 2d 66 69 6c 65 6e 61 6d 65 20 65 6d 61 63 73 2d    73 72 63 2d 64 69 72 29 20 22 73 72 63 22 29 0a | -filename.emacs-src-dir)."src"). | 
| 34a0 | 20 20 20 20 20 20 28 73 65 74 71 20 65 6d 61 63    73 2d 73 72 63 2d 64 69 72 20 28 66 2d 6a 6f 69 | ......(setq.emacs-src-dir.(f-joi | 
| 34c0 | 6e 20 65 6d 61 63 73 2d 73 72 63 2d 64 69 72 20    22 73 72 63 22 29 29 29 0a 20 20 20 20 28 73 65 | n.emacs-src-dir."src"))).....(se | 
| 34e0 | 74 71 20 66 69 6e 64 2d 66 75 6e 63 74 69 6f 6e    2d 43 2d 73 6f 75 72 63 65 2d 64 69 72 65 63 74 | tq.find-function-C-source-direct | 
| 3500 | 6f 72 79 20 65 6d 61 63 73 2d 73 72 63 2d 64 69    72 29 29 0a 20 20 28 68 65 6c 70 66 75 6c 2d 75 | ory.emacs-src-dir))...(helpful-u | 
| 3520 | 70 64 61 74 65 29 29 0a 0a 28 64 65 66 69 6e 65    2d 62 75 74 74 6f 6e 2d 74 79 70 65 20 27 68 65 | pdate))..(define-button-type.'he | 
| 3540 | 6c 70 66 75 6c 2d 64 69 73 61 73 73 65 6d 62 6c    65 2d 62 75 74 74 6f 6e 0a 20 20 27 61 63 74 69 | lpful-disassemble-button...'acti | 
| 3560 | 6f 6e 20 23 27 68 65 6c 70 66 75 6c 2d 2d 64 69    73 61 73 73 65 6d 62 6c 65 0a 20 20 27 66 6f 6c | on.#'helpful--disassemble...'fol | 
| 3580 | 6c 6f 77 2d 6c 69 6e 6b 20 74 0a 20 20 27 6f 62    6a 65 63 74 20 6e 69 6c 0a 20 20 27 68 65 6c 70 | low-link.t...'object.nil...'help | 
| 35a0 | 2d 65 63 68 6f 20 22 53 68 6f 77 20 64 69 73 61    73 73 65 6d 62 6c 65 64 20 62 79 74 65 63 6f 64 | -echo."Show.disassembled.bytecod | 
| 35c0 | 65 22 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70    66 75 6c 2d 2d 64 69 73 61 73 73 65 6d 62 6c 65 | e")..(defun.helpful--disassemble | 
| 35e0 | 20 28 62 75 74 74 6f 6e 29 0a 20 20 22 44 69 73    61 73 73 65 6d 62 6c 65 20 74 68 65 20 63 75 72 | .(button)..."Disassemble.the.cur | 
| 3600 | 72 65 6e 74 20 73 79 6d 62 6f 6c 2e 22 0a 20 20    3b 3b 20 60 64 69 73 61 73 73 65 6d 62 6c 65 27 | rent.symbol."...;;.`disassemble' | 
| 3620 | 20 63 61 6e 20 68 61 6e 64 6c 65 20 62 6f 74 68    20 73 79 6d 62 6f 6c 73 20 28 65 2e 67 2e 20 27 | .can.handle.both.symbols.(e.g..' | 
| 3640 | 77 68 65 6e 29 20 61 6e 64 20 72 61 77 0a 20 20    3b 3b 20 62 79 74 65 2d 63 6f 64 65 20 6f 62 6a | when).and.raw...;;.byte-code.obj | 
| 3660 | 65 63 74 73 2e 0a 20 20 28 64 69 73 61 73 73 65    6d 62 6c 65 20 28 62 75 74 74 6f 6e 2d 67 65 74 | ects....(disassemble.(button-get | 
| 3680 | 20 62 75 74 74 6f 6e 20 27 6f 62 6a 65 63 74 29    29 29 0a 0a 28 64 65 66 69 6e 65 2d 62 75 74 74 | .button.'object)))..(define-butt | 
| 36a0 | 6f 6e 2d 74 79 70 65 20 27 68 65 6c 70 66 75 6c    2d 72 75 6e 2d 74 65 73 74 2d 62 75 74 74 6f 6e | on-type.'helpful-run-test-button | 
| 36c0 | 0a 20 20 27 61 63 74 69 6f 6e 20 23 27 68 65 6c    70 66 75 6c 2d 2d 72 75 6e 2d 74 65 73 74 0a 20 | ...'action.#'helpful--run-test.. | 
| 36e0 | 20 27 66 6f 6c 6c 6f 77 2d 6c 69 6e 6b 20 74 0a    20 20 27 73 79 6d 62 6f 6c 20 6e 69 6c 0a 20 20 | .'follow-link.t...'symbol.nil... | 
| 3700 | 27 68 65 6c 70 2d 65 63 68 6f 20 22 52 75 6e 20    45 52 54 20 74 65 73 74 22 29 0a 0a 28 64 65 66 | 'help-echo."Run.ERT.test")..(def | 
| 3720 | 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 72 75 6e 2d    74 65 73 74 20 28 62 75 74 74 6f 6e 29 0a 20 20 | un.helpful--run-test.(button)... | 
| 3740 | 22 44 69 73 61 73 73 65 6d 62 6c 65 20 74 68 65    20 63 75 72 72 65 6e 74 20 73 79 6d 62 6f 6c 2e | "Disassemble.the.current.symbol. | 
| 3760 | 22 0a 20 20 28 65 72 74 20 28 62 75 74 74 6f 6e    2d 67 65 74 20 62 75 74 74 6f 6e 20 27 73 79 6d | "...(ert.(button-get.button.'sym | 
| 3780 | 62 6f 6c 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d    62 75 74 74 6f 6e 2d 74 79 70 65 20 27 68 65 6c | bol)))..(define-button-type.'hel | 
| 37a0 | 70 66 75 6c 2d 65 64 65 62 75 67 2d 62 75 74 74    6f 6e 0a 20 20 27 61 63 74 69 6f 6e 20 23 27 68 | pful-edebug-button...'action.#'h | 
| 37c0 | 65 6c 70 66 75 6c 2d 2d 65 64 65 62 75 67 0a 20    20 27 66 6f 6c 6c 6f 77 2d 6c 69 6e 6b 20 74 0a | elpful--edebug...'follow-link.t. | 
| 37e0 | 20 20 27 73 79 6d 62 6f 6c 20 6e 69 6c 0a 20 20    27 68 65 6c 70 2d 65 63 68 6f 20 22 54 6f 67 67 | ..'symbol.nil...'help-echo."Togg | 
| 3800 | 6c 65 20 65 64 65 62 75 67 20 28 72 65 2d 65 76    61 6c 75 61 74 65 73 20 64 65 66 69 6e 69 74 69 | le.edebug.(re-evaluates.definiti | 
| 3820 | 6f 6e 29 22 29 0a 0a 28 64 65 66 75 6e 20 68 65    6c 70 66 75 6c 2d 2d 6b 62 64 2d 6d 61 63 72 6f | on)")..(defun.helpful--kbd-macro | 
| 3840 | 2d 70 20 28 73 79 6d 29 0a 20 20 22 49 73 20 53    59 4d 20 61 20 6b 65 79 62 6f 61 72 64 20 6d 61 | -p.(sym)..."Is.SYM.a.keyboard.ma | 
| 3860 | 63 72 6f 3f 22 0a 20 20 28 61 6e 64 20 28 73 79    6d 62 6f 6c 70 20 73 79 6d 29 0a 20 20 20 20 20 | cro?"...(and.(symbolp.sym)...... | 
| 3880 | 20 20 28 6c 65 74 20 28 28 66 75 6e 63 20 28 73    79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 73 | ..(let.((func.(symbol-function.s | 
| 38a0 | 79 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 28    6f 72 20 28 73 74 72 69 6e 67 70 20 66 75 6e 63 | ym)))..........(or.(stringp.func | 
| 38c0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28    76 65 63 74 6f 72 70 20 66 75 6e 63 29 29 29 29 | )..............(vectorp.func)))) | 
| 38e0 | 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75    6c 2d 2d 65 64 65 62 75 67 2d 70 20 28 73 79 6d | )..(defun.helpful--edebug-p.(sym | 
| 3900 | 29 0a 20 20 22 44 6f 65 73 20 66 75 6e 63 74 69    6f 6e 20 53 59 4d 20 68 61 76 65 20 69 74 73 20 | )..."Does.function.SYM.have.its. | 
| 3920 | 64 65 66 69 6e 69 74 69 6f 6e 20 70 61 74 63 68    65 64 20 62 79 20 65 64 65 62 75 67 3f 22 0a 20 | definition.patched.by.edebug?".. | 
| 3940 | 20 28 6c 65 74 20 28 28 66 6e 2d 64 65 66 20 28    69 6e 64 69 72 65 63 74 2d 66 75 6e 63 74 69 6f | .(let.((fn-def.(indirect-functio | 
| 3960 | 6e 20 73 79 6d 29 29 29 0a 20 20 20 20 3b 3b 20    45 64 65 62 75 67 20 72 65 70 6c 61 63 65 73 20 | n.sym))).....;;.Edebug.replaces. | 
| 3980 | 66 75 6e 63 74 69 6f 6e 20 73 6f 75 72 63 65 20    63 6f 64 65 20 77 69 74 68 20 61 20 73 65 78 70 | function.source.code.with.a.sexp | 
| 39a0 | 20 74 68 61 74 20 68 61 73 0a 20 20 20 20 3b 3b    20 60 65 64 65 62 75 67 2d 65 6e 74 65 72 27 2c | .that.has.....;;.`edebug-enter', | 
| 39c0 | 20 60 65 64 65 62 75 67 2d 61 66 74 65 72 27 20    65 74 63 20 69 6e 74 65 72 6c 65 61 76 65 64 2e | .`edebug-after'.etc.interleaved. | 
| 39e0 | 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 65 0a    20 20 20 20 3b 3b 20 66 75 6e 63 74 69 6f 6e 20 | .This.means.the.....;;.function. | 
| 3a00 | 69 73 20 69 6e 74 65 72 70 72 65 74 65 64 2c 20    73 6f 20 60 69 6e 64 69 72 65 63 74 2d 66 75 6e | is.interpreted,.so.`indirect-fun | 
| 3a20 | 63 74 69 6f 6e 27 20 72 65 74 75 72 6e 73 20 61    20 6c 69 73 74 2e 0a 20 20 20 20 28 77 68 65 6e | ction'.returns.a.list......(when | 
| 3a40 | 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 66 6e 2d    64 65 66 29 20 28 63 6f 6e 73 70 20 28 63 64 72 | .(and.(consp.fn-def).(consp.(cdr | 
| 3a60 | 20 66 6e 2d 64 65 66 29 29 29 0a 20 20 20 20 20    20 28 2d 6c 65 74 20 5b 66 6e 2d 65 6e 64 20 28 | .fn-def))).......(-let.[fn-end.( | 
| 3a80 | 2d 6c 61 73 74 2d 69 74 65 6d 20 66 6e 2d 64 65    66 29 5d 0a 20 20 20 20 20 20 20 20 28 61 6e 64 | -last-item.fn-def)].........(and | 
| 3aa0 | 20 28 63 6f 6e 73 70 20 66 6e 2d 65 6e 64 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 | .(consp.fn-end)..............(eq | 
| 3ac0 | 20 28 63 61 72 20 66 6e 2d 65 6e 64 29 20 27 65    64 65 62 75 67 2d 65 6e 74 65 72 29 29 29 29 29 | .(car.fn-end).'edebug-enter))))) | 
| 3ae0 | 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75    6c 2d 2d 63 61 6e 2d 65 64 65 62 75 67 2d 70 20 | )..(defun.helpful--can-edebug-p. | 
| 3b00 | 28 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70 20    62 75 66 20 70 6f 73 29 0a 20 20 22 43 61 6e 20 | (sym.callable-p.buf.pos)..."Can. | 
| 3b20 | 77 65 20 75 73 65 20 65 64 65 62 75 67 20 77 69    74 68 20 53 59 4d 3f 22 0a 20 20 28 61 6e 64 0a | we.use.edebug.with.SYM?"...(and. | 
| 3b40 | 20 20 20 3b 3b 20 53 59 4d 20 6d 75 73 74 20 62    65 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 | ...;;.SYM.must.be.a.function.... | 
| 3b60 | 20 63 61 6c 6c 61 62 6c 65 2d 70 0a 20 20 20 3b    3b 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 | .callable-p....;;.The.function.c | 
| 3b80 | 61 6e 6e 6f 74 20 62 65 20 61 20 70 72 69 6d 69    74 69 76 65 2c 20 69 74 20 6d 75 73 74 20 62 65 | annot.be.a.primitive,.it.must.be | 
| 3ba0 | 20 64 65 66 69 6e 65 64 20 69 6e 20 65 6c 69 73    70 2e 0a 20 20 20 28 6e 6f 74 20 28 68 65 6c 70 | .defined.in.elisp.....(not.(help | 
| 3bc0 | 66 75 6c 2d 2d 70 72 69 6d 69 74 69 76 65 2d 70    20 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29 | ful--primitive-p.sym.callable-p) | 
| 3be0 | 29 0a 20 20 20 3b 3b 20 57 65 20 6e 65 65 64 20    74 6f 20 62 65 20 61 62 6c 65 20 74 6f 20 66 69 | )....;;.We.need.to.be.able.to.fi | 
| 3c00 | 6e 64 20 69 74 73 20 64 65 66 69 6e 69 74 69 6f    6e 2c 20 6f 72 20 77 65 20 63 61 6e 27 74 20 73 | nd.its.definition,.or.we.can't.s | 
| 3c20 | 74 65 70 0a 20 20 20 3b 3b 20 74 68 72 6f 75 67    68 20 74 68 65 20 73 6f 75 72 63 65 2e 0a 20 20 | tep....;;.through.the.source.... | 
| 3c40 | 20 62 75 66 20 70 6f 73 29 29 0a 0a 28 64 65 66    75 6e 20 68 65 6c 70 66 75 6c 2d 2d 74 6f 67 67 | .buf.pos))..(defun.helpful--togg | 
| 3c60 | 6c 65 2d 65 64 65 62 75 67 20 28 73 79 6d 29 0a    20 20 22 45 6e 61 62 6c 65 20 65 64 65 62 75 67 | le-edebug.(sym)..."Enable.edebug | 
| 3c80 | 20 77 68 65 6e 20 66 75 6e 63 74 69 6f 6e 20 53    59 4d 20 69 73 20 63 61 6c 6c 65 64 2c 0a 6f 72 | .when.function.SYM.is.called,.or | 
| 3ca0 | 20 64 69 73 61 62 6c 65 20 69 66 20 61 6c 72 65    61 64 79 20 65 6e 61 62 6c 65 64 2e 22 0a 20 20 | .disable.if.already.enabled."... | 
| 3cc0 | 28 2d 6c 65 74 20 28 28 73 68 6f 75 6c 64 2d 65    64 65 62 75 67 20 28 6e 6f 74 20 28 68 65 6c 70 | (-let.((should-edebug.(not.(help | 
| 3ce0 | 66 75 6c 2d 2d 65 64 65 62 75 67 2d 70 20 73 79    6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 | ful--edebug-p.sym)))..........(( | 
| 3d00 | 62 75 66 20 70 6f 73 20 63 72 65 61 74 65 64 29    20 28 68 65 6c 70 66 75 6c 2d 2d 64 65 66 69 6e | buf.pos.created).(helpful--defin | 
| 3d20 | 69 74 69 6f 6e 20 73 79 6d 20 74 29 29 29 0a 20    20 20 20 28 69 66 20 28 61 6e 64 20 62 75 66 20 | ition.sym.t))).....(if.(and.buf. | 
| 3d40 | 70 6f 73 29 0a 20 20 20 20 20 20 20 20 28 70 72    6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 77 | pos).........(progn...........(w | 
| 3d60 | 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66    65 72 20 62 75 66 0a 20 20 20 20 20 20 20 20 20 | ith-current-buffer.buf.......... | 
| 3d80 | 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69    6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...(save-excursion.............. | 
| 3da0 | 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69    6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(save-restriction.............. | 
| 3dc0 | 20 20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f | ...(widen).................(goto | 
| 3de0 | 2d 63 68 61 72 20 70 6f 73 29 0a 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 | -char.pos)..................(let | 
| 3e00 | 2a 20 28 28 65 64 65 62 75 67 2d 61 6c 6c 2d 66    6f 72 6d 73 20 73 68 6f 75 6c 64 2d 65 64 65 62 | *.((edebug-all-forms.should-edeb | 
| 3e20 | 75 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 65 64 65 62 | ug)........................(edeb | 
| 3e40 | 75 67 2d 61 6c 6c 2d 64 65 66 73 20 73 68 6f 75    6c 64 2d 65 64 65 62 75 67 29 0a 20 20 20 20 20 | ug-all-defs.should-edebug)...... | 
| 3e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 66 6f 72 6d 20 28 65 64 65 62 75 67 2d | ..................(form.(edebug- | 
| 3e80 | 72 65 61 64 2d 74 6f 70 2d 6c 65 76 65 6c 2d 66    6f 72 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 | read-top-level-form))).......... | 
| 3ea0 | 20 20 20 20 20 20 20 20 20 3b 3b 20 42 61 73 65    64 20 6f 6e 20 60 65 64 65 62 75 67 2d 65 76 61 | .........;;.Based.on.`edebug-eva | 
| 3ec0 | 6c 2d 64 65 66 75 6e 27 2e 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 65 76 61 | l-defun'....................(eva | 
| 3ee0 | 6c 20 28 65 76 61 6c 2d 73 65 78 70 2d 61 64 64    2d 64 65 66 76 61 72 73 20 66 6f 72 6d 29 20 6c | l.(eval-sexp-add-defvars.form).l | 
| 3f00 | 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 29 29    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b | exical-binding)))))...........;; | 
| 3f20 | 20 49 66 20 77 65 27 72 65 20 65 6e 61 62 6c 69    6e 67 20 65 64 65 62 75 67 2c 20 77 65 20 6e 65 | .If.we're.enabling.edebug,.we.ne | 
| 3f40 | 65 64 20 74 68 65 20 73 6f 75 72 63 65 20 62 75    66 66 65 72 20 74 6f 0a 20 20 20 20 20 20 20 20 | ed.the.source.buffer.to......... | 
| 3f60 | 20 20 3b 3b 20 65 78 69 73 74 2e 20 4f 74 68 65    72 77 69 73 65 2c 20 77 65 20 63 61 6e 20 63 6c | ..;;.exist..Otherwise,.we.can.cl | 
| 3f80 | 65 61 6e 20 69 74 20 75 70 2e 0a 20 20 20 20 20    20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 | ean.it.up............(when.(and. | 
| 3fa0 | 63 72 65 61 74 65 64 20 28 6e 6f 74 20 73 68 6f    75 6c 64 2d 65 64 65 62 75 67 29 29 0a 20 20 20 | created.(not.should-edebug)).... | 
| 3fc0 | 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62    75 66 66 65 72 20 62 75 66 29 29 29 0a 0a 20 20 | .........(kill-buffer.buf))).... | 
| 3fe0 | 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20    22 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 | ....(user-error."Could.not.find. | 
| 4000 | 73 6f 75 72 63 65 20 66 6f 72 20 65 64 65 62 75    67 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 | source.for.edebug"))))..(defun.h | 
| 4020 | 65 6c 70 66 75 6c 2d 2d 65 64 65 62 75 67 20 28    62 75 74 74 6f 6e 29 0a 20 20 22 54 6f 67 67 6c | elpful--edebug.(button)..."Toggl | 
| 4040 | 65 20 65 64 65 62 75 67 20 66 6f 72 20 74 68 65    20 63 75 72 72 65 6e 74 20 73 79 6d 62 6f 6c 2e | e.edebug.for.the.current.symbol. | 
| 4060 | 22 0a 20 20 28 68 65 6c 70 66 75 6c 2d 2d 74 6f    67 67 6c 65 2d 65 64 65 62 75 67 20 28 62 75 74 | "...(helpful--toggle-edebug.(but | 
| 4080 | 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f 6e 20 27    73 79 6d 62 6f 6c 29 29 0a 20 20 28 68 65 6c 70 | ton-get.button.'symbol))...(help | 
| 40a0 | 66 75 6c 2d 75 70 64 61 74 65 29 29 0a 0a 28 64    65 66 69 6e 65 2d 62 75 74 74 6f 6e 2d 74 79 70 | ful-update))..(define-button-typ | 
| 40c0 | 65 20 27 68 65 6c 70 66 75 6c 2d 74 72 61 63 65    2d 62 75 74 74 6f 6e 0a 20 20 27 61 63 74 69 6f | e.'helpful-trace-button...'actio | 
| 40e0 | 6e 20 23 27 68 65 6c 70 66 75 6c 2d 2d 74 72 61    63 65 0a 20 20 27 66 6f 6c 6c 6f 77 2d 6c 69 6e | n.#'helpful--trace...'follow-lin | 
| 4100 | 6b 20 74 0a 20 20 27 73 79 6d 62 6f 6c 20 6e 69    6c 0a 20 20 27 68 65 6c 70 2d 65 63 68 6f 20 22 | k.t...'symbol.nil...'help-echo." | 
| 4120 | 54 6f 67 67 6c 65 20 66 75 6e 63 74 69 6f 6e 20    74 72 61 63 69 6e 67 22 29 0a 0a 28 64 65 66 75 | Toggle.function.tracing")..(defu | 
| 4140 | 6e 20 68 65 6c 70 66 75 6c 2d 2d 74 72 61 63 65    20 28 62 75 74 74 6f 6e 29 0a 20 20 22 54 6f 67 | n.helpful--trace.(button)..."Tog | 
| 4160 | 67 6c 65 20 74 72 61 63 69 6e 67 20 66 6f 72 20    74 68 65 20 63 75 72 72 65 6e 74 20 73 79 6d 62 | gle.tracing.for.the.current.symb | 
| 4180 | 6f 6c 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 79    6d 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75 | ol."...(let.((sym.(button-get.bu | 
| 41a0 | 74 74 6f 6e 20 27 73 79 6d 62 6f 6c 29 29 29 0a    20 20 20 20 28 69 66 20 28 74 72 61 63 65 2d 69 | tton.'symbol))).....(if.(trace-i | 
| 41c0 | 73 2d 74 72 61 63 65 64 20 73 79 6d 29 0a 20 20    20 20 20 20 20 20 28 75 6e 74 72 61 63 65 2d 66 | s-traced.sym).........(untrace-f | 
| 41e0 | 75 6e 63 74 69 6f 6e 20 73 79 6d 29 0a 20 20 20    20 20 20 28 74 72 61 63 65 2d 66 75 6e 63 74 69 | unction.sym).......(trace-functi | 
| 4200 | 6f 6e 20 73 79 6d 29 29 29 0a 20 20 28 68 65 6c    70 66 75 6c 2d 75 70 64 61 74 65 29 29 0a 0a 28 | on.sym)))...(helpful-update))..( | 
| 4220 | 64 65 66 69 6e 65 2d 62 75 74 74 6f 6e 2d 74 79    70 65 20 27 68 65 6c 70 66 75 6c 2d 6e 61 76 69 | define-button-type.'helpful-navi | 
| 4240 | 67 61 74 65 2d 62 75 74 74 6f 6e 0a 20 20 27 61    63 74 69 6f 6e 20 23 27 68 65 6c 70 66 75 6c 2d | gate-button...'action.#'helpful- | 
| 4260 | 2d 6e 61 76 69 67 61 74 65 0a 20 20 27 70 61 74    68 20 6e 69 6c 0a 20 20 27 70 6f 73 69 74 69 6f | -navigate...'path.nil...'positio | 
| 4280 | 6e 20 6e 69 6c 0a 20 20 27 66 6f 6c 6c 6f 77 2d    6c 69 6e 6b 20 74 0a 20 20 27 68 65 6c 70 2d 65 | n.nil...'follow-link.t...'help-e | 
| 42a0 | 63 68 6f 20 22 4e 61 76 69 67 61 74 65 20 74 6f    20 64 65 66 69 6e 69 74 69 6f 6e 22 29 0a 0a 28 | cho."Navigate.to.definition")..( | 
| 42c0 | 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 67    6f 74 6f 2d 63 68 61 72 2d 77 69 64 65 6e 20 28 | defun.helpful--goto-char-widen.( | 
| 42e0 | 70 6f 73 29 0a 20 20 22 4d 6f 76 65 20 70 6f 69    6e 74 20 74 6f 20 50 4f 53 20 69 6e 20 74 68 65 | pos)..."Move.point.to.POS.in.the | 
| 4300 | 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e    0a 49 66 20 6e 61 72 72 6f 77 69 6e 67 20 69 73 | .current.buffer..If.narrowing.is | 
| 4320 | 20 69 6e 20 65 66 66 65 63 74 2c 20 77 69 64 65    6e 20 69 66 20 50 4f 53 20 69 73 6e 27 74 20 69 | .in.effect,.widen.if.POS.isn't.i | 
| 4340 | 6e 20 74 68 65 20 6e 61 72 72 6f 77 65 64 20 61    72 65 61 2e 22 0a 20 20 28 77 68 65 6e 20 28 6f | n.the.narrowed.area."...(when.(o | 
| 4360 | 72 20 28 3c 20 70 6f 73 20 28 70 6f 69 6e 74 2d    6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 | r.(<.pos.(point-min))........... | 
| 4380 | 20 20 28 3e 20 70 6f 73 20 28 70 6f 69 6e 74 2d    6d 61 78 29 29 29 0a 20 20 20 20 28 77 69 64 65 | ..(>.pos.(point-max))).....(wide | 
| 43a0 | 6e 29 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72    20 70 6f 73 29 29 0a 0a 28 64 65 66 75 6e 20 68 | n))...(goto-char.pos))..(defun.h | 
| 43c0 | 65 6c 70 66 75 6c 2d 2d 6e 61 76 69 67 61 74 65    20 28 62 75 74 74 6f 6e 29 0a 20 20 22 4e 61 76 | elpful--navigate.(button)..."Nav | 
| 43e0 | 69 67 61 74 65 20 74 6f 20 74 68 65 20 70 61 74    68 20 74 68 69 73 20 42 55 54 54 4f 4e 20 72 65 | igate.to.the.path.this.BUTTON.re | 
| 4400 | 70 72 65 73 65 6e 74 73 2e 22 0a 20 20 28 66 69    6e 64 2d 66 69 6c 65 20 28 73 75 62 73 74 72 69 | presents."...(find-file.(substri | 
| 4420 | 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73    20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 | ng-no-properties.(button-get.but | 
| 4440 | 74 6f 6e 20 27 70 61 74 68 29 29 29 0a 20 20 3b    3b 20 57 65 20 75 73 65 20 60 67 65 74 2d 74 65 | ton.'path)))...;;.We.use.`get-te | 
| 4460 | 78 74 2d 70 72 6f 70 65 72 74 79 27 20 74 6f 20    77 6f 72 6b 20 61 72 6f 75 6e 64 20 61 6e 20 45 | xt-property'.to.work.around.an.E | 
| 4480 | 6d 61 63 73 20 32 35 20 62 75 67 3a 0a 20 20 3b    3b 20 68 74 74 70 3a 2f 2f 67 69 74 2e 73 61 76 | macs.25.bug:...;;.http://git.sav | 
| 44a0 | 61 6e 6e 61 68 2e 67 6e 75 2e 6f 72 67 2f 63 67    69 74 2f 65 6d 61 63 73 2e 67 69 74 2f 63 6f 6d | annah.gnu.org/cgit/emacs.git/com | 
| 44c0 | 6d 69 74 2f 3f 69 64 3d 66 37 63 34 62 61 64 31    37 64 38 33 32 39 37 65 65 39 61 31 62 35 37 35 | mit/?id=f7c4bad17d83297ee9a1b575 | 
| 44e0 | 35 32 62 31 39 34 34 30 32 30 66 32 33 61 65 61    0a 20 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 70 | 52b1944020f23aea...(-when-let.(p | 
| 4500 | 6f 73 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f    70 65 72 74 79 20 62 75 74 74 6f 6e 20 27 70 6f | os.(get-text-property.button.'po | 
| 4520 | 73 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | sition.......................... | 
| 4540 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 72    6b 65 72 2d 62 75 66 66 65 72 20 62 75 74 74 6f | ............(marker-buffer.butto | 
| 4560 | 6e 29 29 29 0a 20 20 20 20 28 68 65 6c 70 66 75    6c 2d 2d 67 6f 74 6f 2d 63 68 61 72 2d 77 69 64 | n))).....(helpful--goto-char-wid | 
| 4580 | 65 6e 20 70 6f 73 29 29 29 0a 0a 28 64 65 66 75    6e 20 68 65 6c 70 66 75 6c 2d 2d 6e 61 76 69 67 | en.pos)))..(defun.helpful--navig | 
| 45a0 | 61 74 65 2d 62 75 74 74 6f 6e 20 28 74 65 78 74    20 70 61 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 | ate-button.(text.path.&optional. | 
| 45c0 | 70 6f 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61    20 62 75 74 74 6f 6e 20 74 68 61 74 20 6f 70 65 | pos)..."Return.a.button.that.ope | 
| 45e0 | 6e 73 20 50 41 54 48 20 61 6e 64 20 70 75 74 73    20 70 6f 69 6e 74 20 61 74 20 50 4f 53 2e 22 0a | ns.PATH.and.puts.point.at.POS.". | 
| 4600 | 20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74    6f 6e 0a 20 20 20 74 65 78 74 0a 20 20 20 27 68 | ..(helpful--button....text....'h | 
| 4620 | 65 6c 70 66 75 6c 2d 6e 61 76 69 67 61 74 65 2d    62 75 74 74 6f 6e 0a 20 20 20 27 70 61 74 68 20 | elpful-navigate-button....'path. | 
| 4640 | 70 61 74 68 0a 20 20 20 27 70 6f 73 69 74 69 6f    6e 20 70 6f 73 29 29 0a 0a 28 64 65 66 69 6e 65 | path....'position.pos))..(define | 
| 4660 | 2d 62 75 74 74 6f 6e 2d 74 79 70 65 20 27 68 65    6c 70 66 75 6c 2d 62 75 66 66 65 72 2d 62 75 74 | -button-type.'helpful-buffer-but | 
| 4680 | 74 6f 6e 0a 20 20 27 61 63 74 69 6f 6e 20 23 27    68 65 6c 70 66 75 6c 2d 2d 73 77 69 74 63 68 2d | ton...'action.#'helpful--switch- | 
| 46a0 | 74 6f 2d 62 75 66 66 65 72 0a 20 20 27 62 75 66    66 65 72 20 6e 69 6c 0a 20 20 27 70 6f 73 69 74 | to-buffer...'buffer.nil...'posit | 
| 46c0 | 69 6f 6e 20 6e 69 6c 0a 20 20 27 66 6f 6c 6c 6f    77 2d 6c 69 6e 6b 20 74 0a 20 20 27 68 65 6c 70 | ion.nil...'follow-link.t...'help | 
| 46e0 | 2d 65 63 68 6f 20 22 53 77 69 74 63 68 20 74 6f    20 74 68 69 73 20 62 75 66 66 65 72 22 29 0a 0a | -echo."Switch.to.this.buffer").. | 
| 4700 | 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d    73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 | (defun.helpful--switch-to-buffer | 
| 4720 | 20 28 62 75 74 74 6f 6e 29 0a 20 20 22 4e 61 76    69 67 61 74 65 20 74 6f 20 74 68 65 20 62 75 66 | .(button)..."Navigate.to.the.buf | 
| 4740 | 66 65 72 20 74 68 69 73 20 42 55 54 54 4f 4e 20    72 65 70 72 65 73 65 6e 74 73 2e 22 0a 20 20 28 | fer.this.BUTTON.represents."...( | 
| 4760 | 6c 65 74 20 28 28 62 75 66 20 28 62 75 74 74 6f    6e 2d 67 65 74 20 62 75 74 74 6f 6e 20 27 62 75 | let.((buf.(button-get.button.'bu | 
| 4780 | 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 28    70 6f 73 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 | ffer)).........(pos.(button-get. | 
| 47a0 | 62 75 74 74 6f 6e 20 27 70 6f 73 69 74 69 6f 6e    29 29 29 0a 20 20 20 20 28 73 77 69 74 63 68 2d | button.'position))).....(switch- | 
| 47c0 | 74 6f 2d 62 75 66 66 65 72 20 62 75 66 29 0a 20    20 20 20 28 77 68 65 6e 20 70 6f 73 0a 20 20 20 | to-buffer.buf).....(when.pos.... | 
| 47e0 | 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 67 6f 74    6f 2d 63 68 61 72 2d 77 69 64 65 6e 20 70 6f 73 | ...(helpful--goto-char-widen.pos | 
| 4800 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c    70 66 75 6c 2d 2d 62 75 66 66 65 72 2d 62 75 74 | ))))..(defun.helpful--buffer-but | 
| 4820 | 74 6f 6e 20 28 62 75 66 66 65 72 20 26 6f 70 74    69 6f 6e 61 6c 20 70 6f 73 29 0a 20 20 22 52 65 | ton.(buffer.&optional.pos)..."Re | 
| 4840 | 74 75 72 6e 20 61 20 62 75 74 74 6f 6e 20 74 68    61 74 20 73 77 69 74 63 68 65 73 20 74 6f 20 42 | turn.a.button.that.switches.to.B | 
| 4860 | 55 46 46 45 52 20 61 6e 64 20 70 75 74 73 20 70    6f 69 6e 74 20 61 74 20 50 4f 53 2e 22 0a 20 20 | UFFER.and.puts.point.at.POS."... | 
| 4880 | 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e    0a 20 20 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 | (helpful--button....(buffer-name | 
| 48a0 | 20 62 75 66 66 65 72 29 0a 20 20 20 27 68 65 6c    70 66 75 6c 2d 62 75 66 66 65 72 2d 62 75 74 74 | .buffer)....'helpful-buffer-butt | 
| 48c0 | 6f 6e 0a 20 20 20 27 62 75 66 66 65 72 20 62 75    66 66 65 72 0a 20 20 20 27 70 6f 73 69 74 69 6f | on....'buffer.buffer....'positio | 
| 48e0 | 6e 20 70 6f 73 29 29 0a 0a 28 64 65 66 69 6e 65    2d 62 75 74 74 6f 6e 2d 74 79 70 65 20 27 68 65 | n.pos))..(define-button-type.'he | 
| 4900 | 6c 70 66 75 6c 2d 63 75 73 74 6f 6d 69 7a 65 2d    62 75 74 74 6f 6e 0a 20 20 27 61 63 74 69 6f 6e | lpful-customize-button...'action | 
| 4920 | 20 23 27 68 65 6c 70 66 75 6c 2d 2d 63 75 73 74    6f 6d 69 7a 65 0a 20 20 27 73 79 6d 62 6f 6c 20 | .#'helpful--customize...'symbol. | 
| 4940 | 6e 69 6c 0a 20 20 27 66 6f 6c 6c 6f 77 2d 6c 69    6e 6b 20 74 0a 20 20 27 68 65 6c 70 2d 65 63 68 | nil...'follow-link.t...'help-ech | 
| 4960 | 6f 20 22 4f 70 65 6e 20 43 75 73 74 6f 6d 69 7a    65 20 66 6f 72 20 74 68 69 73 20 73 79 6d 62 6f | o."Open.Customize.for.this.symbo | 
| 4980 | 6c 22 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70    66 75 6c 2d 2d 63 75 73 74 6f 6d 69 7a 65 20 28 | l")..(defun.helpful--customize.( | 
| 49a0 | 62 75 74 74 6f 6e 29 0a 20 20 22 4f 70 65 6e 20    43 75 73 74 6f 6d 69 7a 65 20 66 6f 72 20 74 68 | button)..."Open.Customize.for.th | 
| 49c0 | 69 73 20 73 79 6d 62 6f 6c 2e 22 0a 20 20 28 63    75 73 74 6f 6d 69 7a 65 2d 76 61 72 69 61 62 6c | is.symbol."...(customize-variabl | 
| 49e0 | 65 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75    74 74 6f 6e 20 27 73 79 6d 62 6f 6c 29 29 29 0a | e.(button-get.button.'symbol))). | 
| 4a00 | 0a 28 64 65 66 69 6e 65 2d 62 75 74 74 6f 6e 2d    74 79 70 65 20 27 68 65 6c 70 66 75 6c 2d 61 73 | .(define-button-type.'helpful-as | 
| 4a20 | 73 6f 63 69 61 74 65 64 2d 62 75 66 66 65 72 2d    62 75 74 74 6f 6e 0a 20 20 27 61 63 74 69 6f 6e | sociated-buffer-button...'action | 
| 4a40 | 20 23 27 68 65 6c 70 66 75 6c 2d 2d 61 73 73 6f    63 69 61 74 65 64 2d 62 75 66 66 65 72 0a 20 20 | .#'helpful--associated-buffer... | 
| 4a60 | 27 73 79 6d 62 6f 6c 20 6e 69 6c 0a 20 20 27 70    72 6f 6d 70 74 2d 70 20 6e 69 6c 0a 20 20 27 66 | 'symbol.nil...'prompt-p.nil...'f | 
| 4a80 | 6f 6c 6c 6f 77 2d 6c 69 6e 6b 20 74 0a 20 20 27    68 65 6c 70 2d 65 63 68 6f 20 22 43 68 61 6e 67 | ollow-link.t...'help-echo."Chang | 
| 4aa0 | 65 20 61 73 73 6f 63 69 61 74 65 64 20 62 75 66    66 65 72 22 29 0a 0a 28 64 65 66 75 6e 20 68 65 | e.associated.buffer")..(defun.he | 
| 4ac0 | 6c 70 66 75 6c 2d 2d 72 65 61 64 2d 6c 69 76 65    2d 62 75 66 66 65 72 20 28 70 72 6f 6d 70 74 20 | lpful--read-live-buffer.(prompt. | 
| 4ae0 | 70 72 65 64 69 63 61 74 65 29 0a 20 20 22 52 65    61 64 20 61 20 6c 69 76 65 20 62 75 66 66 65 72 | predicate)..."Read.a.live.buffer | 
| 4b00 | 20 6e 61 6d 65 2c 20 61 6e 64 20 72 65 74 75 72    6e 20 74 68 65 20 62 75 66 66 65 72 20 6f 62 6a | .name,.and.return.the.buffer.obj | 
| 4b20 | 65 63 74 2e 0a 0a 54 68 69 73 20 69 73 20 6c 61    72 67 65 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 | ect...This.is.largely.equivalent | 
| 4b40 | 20 74 6f 20 60 72 65 61 64 2d 62 75 66 66 65 72    27 2c 20 62 75 74 20 63 6f 75 6e 73 65 6c 2e 65 | .to.`read-buffer',.but.counsel.e | 
| 4b60 | 6c 0a 6f 76 65 72 72 69 64 65 73 20 74 68 61 74    20 74 6f 20 69 6e 63 6c 75 64 65 20 70 72 65 76 | l.overrides.that.to.include.prev | 
| 4b80 | 69 6f 75 73 6c 79 20 6f 70 65 6e 65 64 20 62 75    66 66 65 72 73 2e 22 0a 20 20 28 6c 65 74 2a 20 | iously.opened.buffers."...(let*. | 
| 4ba0 | 28 28 6e 61 6d 65 73 20 28 2d 6d 61 70 20 23 27    62 75 66 66 65 72 2d 6e 61 6d 65 20 28 62 75 66 | ((names.(-map.#'buffer-name.(buf | 
| 4bc0 | 66 65 72 2d 6c 69 73 74 29 29 29 0a 20 20 20 20    20 20 20 20 20 28 64 65 66 61 75 6c 74 0a 20 20 | fer-list)))..........(default... | 
| 4be0 | 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20    20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 | .........(cond.............;;.If | 
| 4c00 | 20 77 65 27 72 65 20 61 6c 72 65 61 64 79 20 6c    6f 6f 6b 69 6e 67 20 61 74 20 61 20 62 75 66 66 | .we're.already.looking.at.a.buff | 
| 4c20 | 65 72 2d 6c 6f 63 61 6c 20 76 61 6c 75 65 2c 20    73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 20 | er-local.value,.start........... | 
| 4c40 | 20 20 3b 3b 20 74 68 65 20 70 72 6f 6d 70 74 20    66 72 6f 6d 20 74 68 65 20 72 65 6c 65 76 61 6e | ..;;.the.prompt.from.the.relevan | 
| 4c60 | 74 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 28 61 6e 64 20 68 65 6c 70 | t.buffer..............((and.help | 
| 4c80 | 66 75 6c 2d 2d 61 73 73 6f 63 69 61 74 65 64 2d    62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 | ful--associated-buffer.......... | 
| 4ca0 | 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72    2d 6c 69 76 65 2d 70 20 68 65 6c 70 66 75 6c 2d | .........(buffer-live-p.helpful- | 
| 4cc0 | 2d 61 73 73 6f 63 69 61 74 65 64 2d 62 75 66 66    65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | -associated-buffer))............ | 
| 4ce0 | 20 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 20 68    65 6c 70 66 75 6c 2d 2d 61 73 73 6f 63 69 61 74 | ..(buffer-name.helpful--associat | 
| 4d00 | 65 64 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 77 65 | ed-buffer)).............;;.If.we | 
| 4d20 | 27 72 65 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 74    68 65 20 67 6c 6f 62 61 6c 20 76 61 6c 75 65 2c | 're.looking.at.the.global.value, | 
| 4d40 | 20 6f 66 66 65 72 20 74 68 65 20 69 6e 69 74 69    61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b | .offer.the.initial.............; | 
| 4d60 | 3b 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 28 61 6e 64 20 68 65 6c 70 | ;.buffer..............((and.help | 
| 4d80 | 66 75 6c 2d 2d 73 74 61 72 74 2d 62 75 66 66 65    72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ful--start-buffer............... | 
| 4da0 | 20 20 20 20 28 62 75 66 66 65 72 2d 6c 69 76 65    2d 70 20 68 65 6c 70 66 75 6c 2d 2d 73 74 61 72 | ....(buffer-live-p.helpful--star | 
| 4dc0 | 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d | t-buffer))..............(buffer- | 
| 4de0 | 6e 61 6d 65 20 68 65 6c 70 66 75 6c 2d 2d 73 74    61 72 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 | name.helpful--start-buffer)).... | 
| 4e00 | 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 77    65 27 72 65 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 | .........;;.If.we're.looking.at. | 
| 4e20 | 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 6c 75 65    20 61 6e 64 20 68 61 76 65 20 6e 6f 20 69 6e 69 | the.global.value.and.have.no.ini | 
| 4e40 | 74 69 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20    20 3b 3b 20 62 75 66 66 65 72 2c 20 63 68 6f 6f | tial.............;;.buffer,.choo | 
| 4e60 | 73 65 20 74 68 65 20 66 69 72 73 74 20 6e 6f 72    6d 61 6c 20 62 75 66 66 65 72 2e 0a 20 20 20 20 | se.the.first.normal.buffer...... | 
| 4e80 | 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 2d 2d 66 69 72 73 74 | ........(t..............(--first | 
| 4ea0 | 20 28 61 6e 64 20 28 6e 6f 74 20 28 73 2d 73 74    61 72 74 73 2d 77 69 74 68 2d 70 20 22 20 22 20 | .(and.(not.(s-starts-with-p.".". | 
| 4ec0 | 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | it))............................ | 
| 4ee0 | 28 6e 6f 74 20 28 73 2d 73 74 61 72 74 73 2d 77    69 74 68 2d 70 20 22 2a 22 20 69 74 29 29 29 0a | (not.(s-starts-with-p."*".it))). | 
| 4f00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 6e 61 6d 65 73 29 29 0a 20 20 | ......................names))... | 
| 4f20 | 20 20 20 20 20 20 20 20 20 20 29 29 29 0a 20 20    20 20 28 67 65 74 2d 62 75 66 66 65 72 0a 20 20 | ..........))).....(get-buffer... | 
| 4f40 | 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72    65 61 64 0a 20 20 20 20 20 20 70 72 6f 6d 70 74 | ...(completing-read.......prompt | 
| 4f60 | 0a 20 20 20 20 20 20 6e 61 6d 65 73 0a 20 20 20    20 20 20 70 72 65 64 69 63 61 74 65 0a 20 20 20 | .......names.......predicate.... | 
| 4f80 | 20 20 20 74 0a 20 20 20 20 20 20 6e 69 6c 0a 20    20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 64 | ...t.......nil.......nil.......d | 
| 4fa0 | 65 66 61 75 6c 74 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 68 65 6c 70 66 75 6c 2d 2d 61 73 73 6f | efault))))..(defun.helpful--asso | 
| 4fc0 | 63 69 61 74 65 64 2d 62 75 66 66 65 72 20 28 62    75 74 74 6f 6e 29 0a 20 20 22 43 68 61 6e 67 65 | ciated-buffer.(button)..."Change | 
| 4fe0 | 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20    62 75 66 66 65 72 2c 20 73 6f 20 77 65 20 63 61 | .the.associated.buffer,.so.we.ca | 
| 5000 | 6e 20 73 65 65 20 62 75 66 66 65 72 2d 6c 6f 63    61 6c 20 76 61 6c 75 65 73 2e 22 0a 20 20 28 6c | n.see.buffer-local.values."...(l | 
| 5020 | 65 74 20 28 28 73 79 6d 20 28 62 75 74 74 6f 6e    2d 67 65 74 20 62 75 74 74 6f 6e 20 27 73 79 6d | et.((sym.(button-get.button.'sym | 
| 5040 | 62 6f 6c 29 29 0a 20 20 20 20 20 20 20 20 28 70    72 6f 6d 70 74 2d 70 20 28 62 75 74 74 6f 6e 2d | bol)).........(prompt-p.(button- | 
| 5060 | 67 65 74 20 62 75 74 74 6f 6e 20 27 70 72 6f 6d    70 74 2d 70 29 29 29 0a 20 20 20 20 28 69 66 20 | get.button.'prompt-p))).....(if. | 
| 5080 | 70 72 6f 6d 70 74 2d 70 0a 20 20 20 20 20 20 20    20 28 73 65 74 71 20 68 65 6c 70 66 75 6c 2d 2d | prompt-p.........(setq.helpful-- | 
| 50a0 | 61 73 73 6f 63 69 61 74 65 64 2d 62 75 66 66 65    72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | associated-buffer............... | 
| 50c0 | 28 68 65 6c 70 66 75 6c 2d 2d 72 65 61 64 2d 6c    69 76 65 2d 62 75 66 66 65 72 0a 20 20 20 20 20 | (helpful--read-live-buffer...... | 
| 50e0 | 20 20 20 20 20 20 20 20 20 20 22 56 69 65 77 20    76 61 72 69 61 62 6c 65 20 69 6e 3a 20 22 0a 20 | .........."View.variable.in:.".. | 
| 5100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c    61 6d 62 64 61 20 28 62 75 66 2d 6e 61 6d 65 29 | ..............(lambda.(buf-name) | 
| 5120 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c | ..................(local-variabl | 
| 5140 | 65 2d 70 20 73 79 6d 20 28 67 65 74 2d 62 75 66    66 65 72 20 62 75 66 2d 6e 61 6d 65 29 29 29 29 | e-p.sym.(get-buffer.buf-name)))) | 
| 5160 | 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 68 65    6c 70 66 75 6c 2d 2d 61 73 73 6f 63 69 61 74 65 | ).......(setq.helpful--associate | 
| 5180 | 64 2d 62 75 66 66 65 72 20 6e 69 6c 29 29 29 0a    20 20 28 68 65 6c 70 66 75 6c 2d 75 70 64 61 74 | d-buffer.nil)))...(helpful-updat | 
| 51a0 | 65 29 29 0a 0a 28 64 65 66 69 6e 65 2d 62 75 74    74 6f 6e 2d 74 79 70 65 20 27 68 65 6c 70 66 75 | e))..(define-button-type.'helpfu | 
| 51c0 | 6c 2d 74 6f 67 67 6c 65 2d 62 75 74 74 6f 6e 0a    20 20 27 61 63 74 69 6f 6e 20 23 27 68 65 6c 70 | l-toggle-button...'action.#'help | 
| 51e0 | 66 75 6c 2d 2d 74 6f 67 67 6c 65 0a 20 20 27 73    79 6d 62 6f 6c 20 6e 69 6c 0a 20 20 27 62 75 66 | ful--toggle...'symbol.nil...'buf | 
| 5200 | 66 65 72 20 6e 69 6c 0a 20 20 27 66 6f 6c 6c 6f    77 2d 6c 69 6e 6b 20 74 0a 20 20 27 68 65 6c 70 | fer.nil...'follow-link.t...'help | 
| 5220 | 2d 65 63 68 6f 20 22 54 6f 67 67 6c 65 20 74 68    69 73 20 73 79 6d 62 6f 6c 20 62 65 74 77 65 65 | -echo."Toggle.this.symbol.betwee | 
| 5240 | 6e 20 74 20 61 6e 64 20 6e 69 6c 22 29 0a 0a 28    64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 74 | n.t.and.nil")..(defun.helpful--t | 
| 5260 | 6f 67 67 6c 65 20 28 62 75 74 74 6f 6e 29 0a 20    20 22 54 6f 67 67 6c 65 20 74 68 65 20 73 79 6d | oggle.(button)..."Toggle.the.sym | 
| 5280 | 62 6f 6c 20 62 65 74 77 65 65 6e 20 6e 69 6c 20    61 6e 64 20 74 2e 22 0a 20 20 28 6c 65 74 20 28 | bol.between.nil.and.t."...(let.( | 
| 52a0 | 28 73 79 6d 20 28 62 75 74 74 6f 6e 2d 67 65 74    20 62 75 74 74 6f 6e 20 27 73 79 6d 62 6f 6c 29 | (sym.(button-get.button.'symbol) | 
| 52c0 | 29 0a 20 20 20 20 20 20 20 20 28 62 75 66 20 28    62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f | ).........(buf.(button-get.butto | 
| 52e0 | 6e 20 27 62 75 66 66 65 72 29 29 29 0a 20 20 20    20 28 73 61 76 65 2d 63 75 72 72 65 6e 74 2d 62 | n.'buffer))).....(save-current-b | 
| 5300 | 75 66 66 65 72 0a 20 20 20 20 20 20 3b 3b 20 49    66 20 74 68 69 73 20 69 73 20 61 20 62 75 66 66 | uffer.......;;.If.this.is.a.buff | 
| 5320 | 65 72 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c    65 2c 20 65 6e 73 75 72 65 20 77 65 27 72 65 20 | er-local.variable,.ensure.we're. | 
| 5340 | 69 6e 20 74 68 65 20 72 69 67 68 74 0a 20 20 20    20 20 20 3b 3b 20 62 75 66 66 65 72 2e 0a 20 20 | in.the.right.......;;.buffer.... | 
| 5360 | 20 20 20 20 28 77 68 65 6e 20 62 75 66 0a 20 20    20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 | ....(when.buf.........(set-buffe | 
| 5380 | 72 20 62 75 66 29 29 0a 20 20 20 20 20 20 28 73    65 74 20 73 79 6d 20 28 6e 6f 74 20 28 73 79 6d | r.buf)).......(set.sym.(not.(sym | 
| 53a0 | 62 6f 6c 2d 76 61 6c 75 65 20 73 79 6d 29 29 29    29 0a 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 75 | bol-value.sym)))).....(helpful-u | 
| 53c0 | 70 64 61 74 65 29 29 29 0a 0a 28 64 65 66 69 6e    65 2d 62 75 74 74 6f 6e 2d 74 79 70 65 20 27 68 | pdate)))..(define-button-type.'h | 
| 53e0 | 65 6c 70 66 75 6c 2d 73 65 74 2d 62 75 74 74 6f    6e 0a 20 20 27 61 63 74 69 6f 6e 20 23 27 68 65 | elpful-set-button...'action.#'he | 
| 5400 | 6c 70 66 75 6c 2d 2d 73 65 74 0a 20 20 27 73 79    6d 62 6f 6c 20 6e 69 6c 0a 20 20 27 62 75 66 66 | lpful--set...'symbol.nil...'buff | 
| 5420 | 65 72 20 6e 69 6c 0a 20 20 27 66 6f 6c 6c 6f 77    2d 6c 69 6e 6b 20 74 0a 20 20 27 68 65 6c 70 2d | er.nil...'follow-link.t...'help- | 
| 5440 | 65 63 68 6f 20 22 53 65 74 20 74 68 65 20 76 61    6c 75 65 20 6f 66 20 74 68 69 73 20 73 79 6d 62 | echo."Set.the.value.of.this.symb | 
| 5460 | 6f 6c 22 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c    70 66 75 6c 2d 2d 73 65 74 20 28 62 75 74 74 6f | ol")..(defun.helpful--set.(butto | 
| 5480 | 6e 29 0a 20 20 22 53 65 74 20 74 68 65 20 76 61    6c 75 65 20 6f 66 20 74 68 69 73 20 73 79 6d 62 | n)..."Set.the.value.of.this.symb | 
| 54a0 | 6f 6c 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 73    79 6d 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 | ol."...(let*.((sym.(button-get.b | 
| 54c0 | 75 74 74 6f 6e 20 27 73 79 6d 62 6f 6c 29 29 0a    20 20 20 20 20 20 20 20 20 28 62 75 66 20 28 62 | utton.'symbol))..........(buf.(b | 
| 54e0 | 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f 6e    20 27 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 | utton-get.button.'buffer))...... | 
| 5500 | 20 20 20 20 28 73 79 6d 2d 76 61 6c 75 65 20 28    68 65 6c 70 66 75 6c 2d 2d 73 79 6d 2d 76 61 6c | ....(sym-value.(helpful--sym-val | 
| 5520 | 75 65 20 73 79 6d 20 62 75 66 29 29 0a 20 20 20    20 20 20 20 20 20 28 73 65 74 2d 66 75 6e 63 20 | ue.sym.buf))..........(set-func. | 
| 5540 | 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 68 65 6c    70 66 75 6c 2d 73 65 74 2d 76 61 72 69 61 62 6c | (symbol-name.helpful-set-variabl | 
| 5560 | 65 2d 66 75 6e 63 74 69 6f 6e 29 29 0a 20 20 20    20 20 20 20 20 20 3b 3b 20 49 6e 73 70 69 72 65 | e-function))..........;;.Inspire | 
| 5580 | 64 20 62 79 20 60 63 6f 75 6e 73 65 6c 2d 72 65    61 64 2d 73 65 74 71 2d 65 78 70 72 65 73 73 69 | d.by.`counsel-read-setq-expressi | 
| 55a0 | 6f 6e 27 2e 0a 20 20 20 20 20 20 20 20 20 28 65    78 70 72 0a 20 20 20 20 20 20 20 20 20 20 28 6d | on'...........(expr...........(m | 
| 55c0 | 69 6e 69 62 75 66 66 65 72 2d 77 69 74 68 2d 73    65 74 75 70 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 | inibuffer-with-setup-hook....... | 
| 55e0 | 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20    28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........(lambda.().............. | 
| 5600 | 20 20 20 28 61 64 64 2d 66 75 6e 63 74 69 6f 6e    20 3a 62 65 66 6f 72 65 2d 75 6e 74 69 6c 20 28 | ...(add-function.:before-until.( | 
| 5620 | 6c 6f 63 61 6c 20 27 65 6c 64 6f 63 2d 64 6f 63    75 6d 65 6e 74 61 74 69 6f 6e 2d 66 75 6e 63 74 | local.'eldoc-documentation-funct | 
| 5640 | 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ion)............................ | 
| 5660 | 20 20 20 23 27 65 6c 69 73 70 2d 65 6c 64 6f 63    2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 66 | ...#'elisp-eldoc-documentation-f | 
| 5680 | 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 72 75 6e 2d 68 6f | unction).................(run-ho | 
| 56a0 | 6f 6b 73 20 27 65 76 61 6c 2d 65 78 70 72 65 73    73 69 6f 6e 2d 6d 69 6e 69 62 75 66 66 65 72 2d | oks.'eval-expression-minibuffer- | 
| 56c0 | 73 65 74 75 70 2d 68 6f 6f 6b 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 | setup-hook).................(got | 
| 56e0 | 6f 2d 63 68 61 72 20 28 6d 69 6e 69 62 75 66 66    65 72 2d 70 72 6f 6d 70 74 2d 65 6e 64 29 29 0a | o-char.(minibuffer-prompt-end)). | 
| 5700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 66 6f 72 77 61 72 64 2d 63 68 61 72 20 28 6c | ................(forward-char.(l | 
| 5720 | 65 6e 67 74 68 20 28 66 6f 72 6d 61 74 20 22 28    25 73 20 25 53 20 22 20 73 65 74 2d 66 75 6e 63 | ength.(format."(%s.%S.".set-func | 
| 5740 | 20 73 79 6d 29 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 72 65 61 64 2d 66 72 6f 6d 2d | .sym)))).............(read-from- | 
| 5760 | 6d 69 6e 69 62 75 66 66 65 72 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 22 45 76 61 6c 3a 20 22 | minibuffer.............."Eval:." | 
| 5780 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66    6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 | ..............(format........... | 
| 57a0 | 20 20 20 20 28 69 66 20 28 6f 72 20 28 63 6f 6e    73 70 20 73 79 6d 2d 76 61 6c 75 65 29 0a 20 20 | ....(if.(or.(consp.sym-value)... | 
| 57c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c | ....................(and.(symbol | 
| 57e0 | 70 20 73 79 6d 2d 76 61 6c 75 65 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | p.sym-value).................... | 
| 5800 | 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6e 75    6c 6c 20 73 79 6d 2d 76 61 6c 75 65 29 29 0a 20 | ........(not.(null.sym-value)).. | 
| 5820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 | ..........................(not.( | 
| 5840 | 6b 65 79 77 6f 72 64 70 20 73 79 6d 2d 76 61 6c    75 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 | keywordp.sym-value)))).......... | 
| 5860 | 20 20 20 20 20 20 20 20 20 22 28 25 73 20 25 73    20 27 25 53 29 22 0a 20 20 20 20 20 20 20 20 20 | ........."(%s.%s.'%S)".......... | 
| 5880 | 20 20 20 20 20 20 20 22 28 25 73 20 25 73 20 25    53 29 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ......."(%s.%s.%S)")............ | 
| 58a0 | 20 20 20 73 65 74 2d 66 75 6e 63 20 73 79 6d 20    73 79 6d 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 | ...set-func.sym.sym-value)...... | 
| 58c0 | 20 20 20 20 20 20 20 20 72 65 61 64 2d 65 78 70    72 65 73 73 69 6f 6e 2d 6d 61 70 20 74 0a 20 20 | ........read-expression-map.t... | 
| 58e0 | 20 20 20 20 20 20 20 20 20 20 20 27 72 65 61 64    2d 65 78 70 72 65 73 73 69 6f 6e 2d 68 69 73 74 | ...........'read-expression-hist | 
| 5900 | 6f 72 79 29 29 29 29 0a 20 20 20 20 28 73 61 76    65 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 | ory)))).....(save-current-buffer | 
| 5920 | 0a 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 69    73 20 69 73 20 61 20 62 75 66 66 65 72 2d 6c 6f | .......;;.If.this.is.a.buffer-lo | 
| 5940 | 63 61 6c 20 76 61 72 69 61 62 6c 65 2c 20 65 6e    73 75 72 65 20 77 65 27 72 65 20 69 6e 20 74 68 | cal.variable,.ensure.we're.in.th | 
| 5960 | 65 20 72 69 67 68 74 0a 20 20 20 20 20 20 3b 3b    20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 28 | e.right.......;;.buffer........( | 
| 5980 | 77 68 65 6e 20 62 75 66 0a 20 20 20 20 20 20 20    20 28 73 65 74 2d 62 75 66 66 65 72 20 62 75 66 | when.buf.........(set-buffer.buf | 
| 59a0 | 29 29 0a 20 20 20 20 20 20 28 65 76 61 6c 2d 65    78 70 72 65 73 73 69 6f 6e 20 65 78 70 72 29 29 | )).......(eval-expression.expr)) | 
| 59c0 | 0a 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 75 70    64 61 74 65 29 29 29 0a 0a 28 64 65 66 69 6e 65 | .....(helpful-update)))..(define | 
| 59e0 | 2d 62 75 74 74 6f 6e 2d 74 79 70 65 20 27 68 65    6c 70 66 75 6c 2d 76 69 65 77 2d 6c 69 74 65 72 | -button-type.'helpful-view-liter | 
| 5a00 | 61 6c 2d 62 75 74 74 6f 6e 0a 20 20 27 61 63 74    69 6f 6e 20 23 27 68 65 6c 70 66 75 6c 2d 2d 76 | al-button...'action.#'helpful--v | 
| 5a20 | 69 65 77 2d 6c 69 74 65 72 61 6c 0a 20 20 27 68    65 6c 70 2d 65 63 68 6f 20 22 54 6f 67 67 6c 65 | iew-literal...'help-echo."Toggle | 
| 5a40 | 20 76 69 65 77 69 6e 67 20 61 73 20 61 20 6c 69    74 65 72 61 6c 22 29 0a 0a 28 64 65 66 75 6e 20 | .viewing.as.a.literal")..(defun. | 
| 5a60 | 68 65 6c 70 66 75 6c 2d 2d 76 69 65 77 2d 6c 69    74 65 72 61 6c 20 28 5f 62 75 74 74 6f 6e 29 0a | helpful--view-literal.(_button). | 
| 5a80 | 20 20 22 53 65 74 20 74 68 65 20 76 61 6c 75 65    20 6f 66 20 74 68 69 73 20 73 79 6d 62 6f 6c 2e | .."Set.the.value.of.this.symbol. | 
| 5aa0 | 22 0a 20 20 28 73 65 74 71 20 68 65 6c 70 66 75    6c 2d 2d 76 69 65 77 2d 6c 69 74 65 72 61 6c 0a | "...(setq.helpful--view-literal. | 
| 5ac0 | 20 20 20 20 20 20 20 20 28 6e 6f 74 20 68 65 6c    70 66 75 6c 2d 2d 76 69 65 77 2d 6c 69 74 65 72 | ........(not.helpful--view-liter | 
| 5ae0 | 61 6c 29 29 0a 20 20 28 68 65 6c 70 66 75 6c 2d    75 70 64 61 74 65 29 29 0a 0a 28 64 65 66 69 6e | al))...(helpful-update))..(defin | 
| 5b00 | 65 2d 62 75 74 74 6f 6e 2d 74 79 70 65 20 27 68    65 6c 70 66 75 6c 2d 61 6c 6c 2d 72 65 66 65 72 | e-button-type.'helpful-all-refer | 
| 5b20 | 65 6e 63 65 73 2d 62 75 74 74 6f 6e 0a 20 20 27    61 63 74 69 6f 6e 20 23 27 68 65 6c 70 66 75 6c | ences-button...'action.#'helpful | 
| 5b40 | 2d 2d 61 6c 6c 2d 72 65 66 65 72 65 6e 63 65 73    0a 20 20 27 73 79 6d 62 6f 6c 20 6e 69 6c 0a 20 | --all-references...'symbol.nil.. | 
| 5b60 | 20 27 63 61 6c 6c 61 62 6c 65 2d 70 20 6e 69 6c    0a 20 20 27 66 6f 6c 6c 6f 77 2d 6c 69 6e 6b 20 | .'callable-p.nil...'follow-link. | 
| 5b80 | 74 0a 20 20 27 68 65 6c 70 2d 65 63 68 6f 20 22    46 69 6e 64 20 61 6c 6c 20 72 65 66 65 72 65 6e | t...'help-echo."Find.all.referen | 
| 5ba0 | 63 65 73 20 74 6f 20 74 68 69 73 20 73 79 6d 62    6f 6c 22 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c | ces.to.this.symbol")..(defun.hel | 
| 5bc0 | 70 66 75 6c 2d 2d 61 6c 6c 2d 72 65 66 65 72 65    6e 63 65 73 20 28 62 75 74 74 6f 6e 29 0a 20 20 | pful--all-references.(button)... | 
| 5be0 | 22 46 69 6e 64 20 61 6c 6c 20 74 68 65 20 72 65    66 65 72 65 6e 63 65 73 20 74 6f 20 74 68 65 20 | "Find.all.the.references.to.the. | 
| 5c00 | 73 79 6d 62 6f 6c 20 74 68 61 74 20 74 68 69 73    20 42 55 54 54 4f 4e 20 72 65 70 72 65 73 65 6e | symbol.that.this.BUTTON.represen | 
| 5c20 | 74 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 79    6d 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75 | ts."...(let.((sym.(button-get.bu | 
| 5c40 | 74 74 6f 6e 20 27 73 79 6d 62 6f 6c 29 29 0a 20    20 20 20 20 20 20 20 28 63 61 6c 6c 61 62 6c 65 | tton.'symbol)).........(callable | 
| 5c60 | 2d 70 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62    75 74 74 6f 6e 20 27 63 61 6c 6c 61 62 6c 65 2d | -p.(button-get.button.'callable- | 
| 5c80 | 70 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20    20 20 20 20 28 28 6e 6f 74 20 63 61 6c 6c 61 62 | p))).....(cond......((not.callab | 
| 5ca0 | 6c 65 2d 70 29 0a 20 20 20 20 20 20 28 65 6c 69    73 70 2d 72 65 66 73 2d 76 61 72 69 61 62 6c 65 | le-p).......(elisp-refs-variable | 
| 5cc0 | 20 73 79 6d 29 29 0a 20 20 20 20 20 28 28 66 75    6e 63 74 69 6f 6e 70 20 73 79 6d 29 0a 20 20 20 | .sym))......((functionp.sym).... | 
| 5ce0 | 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 66    75 6e 63 74 69 6f 6e 20 73 79 6d 29 29 0a 20 20 | ...(elisp-refs-function.sym))... | 
| 5d00 | 20 20 20 28 28 6d 61 63 72 6f 70 20 73 79 6d 29    0a 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 | ...((macrop.sym).......(elisp-re | 
| 5d20 | 66 73 2d 6d 61 63 72 6f 20 73 79 6d 29 29 29 29    29 0a 0a 28 64 65 66 69 6e 65 2d 62 75 74 74 6f | fs-macro.sym)))))..(define-butto | 
| 5d40 | 6e 2d 74 79 70 65 20 27 68 65 6c 70 66 75 6c 2d    63 61 6c 6c 65 65 73 2d 62 75 74 74 6f 6e 0a 20 | n-type.'helpful-callees-button.. | 
| 5d60 | 20 27 61 63 74 69 6f 6e 20 23 27 68 65 6c 70 66    75 6c 2d 2d 73 68 6f 77 2d 63 61 6c 6c 65 65 73 | .'action.#'helpful--show-callees | 
| 5d80 | 0a 20 20 27 73 79 6d 62 6f 6c 20 6e 69 6c 0a 20    20 27 73 6f 75 72 63 65 20 6e 69 6c 0a 20 20 27 | ...'symbol.nil...'source.nil...' | 
| 5da0 | 66 6f 6c 6c 6f 77 2d 6c 69 6e 6b 20 74 0a 20 20    27 68 65 6c 70 2d 65 63 68 6f 20 22 46 69 6e 64 | follow-link.t...'help-echo."Find | 
| 5dc0 | 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 63    61 6c 6c 65 64 20 62 79 20 74 68 69 73 20 66 75 | .the.functions.called.by.this.fu | 
| 5de0 | 6e 63 74 69 6f 6e 2f 6d 61 63 72 6f 22 29 0a 0a    28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d | nction/macro")..(defun.helpful-- | 
| 5e00 | 64 69 73 70 6c 61 79 2d 63 61 6c 6c 65 65 2d 67    72 6f 75 70 20 28 63 61 6c 6c 65 65 73 29 0a 20 | display-callee-group.(callees).. | 
| 5e20 | 20 22 49 6e 73 65 72 74 20 65 76 65 72 79 20 65    6e 74 72 79 20 69 6e 20 43 41 4c 4c 45 45 53 2e | ."Insert.every.entry.in.CALLEES. | 
| 5e40 | 22 0a 20 20 28 64 6f 6c 69 73 74 20 28 73 79 6d    20 28 68 65 6c 70 66 75 6c 2d 2d 73 6f 72 74 2d | "...(dolist.(sym.(helpful--sort- | 
| 5e60 | 73 79 6d 62 6f 6c 73 20 63 61 6c 6c 65 65 73 29    29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 | symbols.callees)).....(insert.". | 
| 5e80 | 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 28    68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e 0a | .".............(helpful--button. | 
| 5ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79    6d 62 6f 6c 2d 6e 61 6d 65 20 73 79 6d 29 0a 20 | .............(symbol-name.sym).. | 
| 5ec0 | 20 20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c    70 66 75 6c 2d 64 65 73 63 72 69 62 65 2d 65 78 | ............'helpful-describe-ex | 
| 5ee0 | 61 63 74 6c 79 2d 62 75 74 74 6f 6e 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 27 73 79 6d 62 6f | actly-button..............'symbo | 
| 5f00 | 6c 20 73 79 6d 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 27 63 61 6c 6c 61 62 6c 65 2d 70 20 74 | l.sym..............'callable-p.t | 
| 5f20 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 5c    6e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 | )............."\n")))..(defun.he | 
| 5f40 | 6c 70 66 75 6c 2d 2d 73 68 6f 77 2d 63 61 6c 6c    65 65 73 20 28 62 75 74 74 6f 6e 29 0a 20 20 22 | lpful--show-callees.(button)..." | 
| 5f60 | 46 69 6e 64 20 61 6c 6c 20 74 68 65 20 72 65 66    65 72 65 6e 63 65 73 20 74 6f 20 74 68 65 20 73 | Find.all.the.references.to.the.s | 
| 5f80 | 79 6d 62 6f 6c 20 74 68 61 74 20 74 68 69 73 20    42 55 54 54 4f 4e 20 72 65 70 72 65 73 65 6e 74 | ymbol.that.this.BUTTON.represent | 
| 5fa0 | 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 62 75    66 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 | s."...(let*.((buf.(get-buffer-cr | 
| 5fc0 | 65 61 74 65 20 22 2a 68 65 6c 70 66 75 6c 20 63    61 6c 6c 65 65 73 2a 22 29 29 0a 20 20 20 20 20 | eate."*helpful.callees*"))...... | 
| 5fe0 | 20 20 20 20 28 73 79 6d 20 28 62 75 74 74 6f 6e    2d 67 65 74 20 62 75 74 74 6f 6e 20 27 73 79 6d | ....(sym.(button-get.button.'sym | 
| 6000 | 62 6f 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28    72 61 77 2d 73 6f 75 72 63 65 20 28 62 75 74 74 | bol))..........(raw-source.(butt | 
| 6020 | 6f 6e 2d 67 65 74 20 62 75 74 74 6f 6e 20 27 73    6f 75 72 63 65 29 29 0a 20 20 20 20 20 20 20 20 | on-get.button.'source))......... | 
| 6040 | 20 28 73 6f 75 72 63 65 0a 20 20 20 20 20 20 20    20 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 | .(source...........(if.(stringp. | 
| 6060 | 72 61 77 2d 73 6f 75 72 63 65 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 20 | raw-source)...............(read. | 
| 6080 | 72 61 77 2d 73 6f 75 72 63 65 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 72 61 77 2d 73 6f 75 72 | raw-source).............raw-sour | 
| 60a0 | 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 73    79 6d 73 20 28 68 65 6c 70 66 75 6c 2d 2d 63 61 | ce))..........(syms.(helpful--ca | 
| 60c0 | 6c 6c 65 65 73 20 73 6f 75 72 63 65 29 29 0a 20    20 20 20 20 20 20 20 20 28 70 72 69 6d 69 74 69 | llees.source))..........(primiti | 
| 60e0 | 76 65 73 20 28 2d 66 69 6c 74 65 72 20 28 6c 61    6d 62 64 61 20 28 73 79 6d 29 20 28 68 65 6c 70 | ves.(-filter.(lambda.(sym).(help | 
| 6100 | 66 75 6c 2d 2d 70 72 69 6d 69 74 69 76 65 2d 70    20 73 79 6d 20 74 29 29 20 73 79 6d 73 29 29 0a | ful--primitive-p.sym.t)).syms)). | 
| 6120 | 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6f 75    6e 64 73 20 28 2d 72 65 6d 6f 76 65 20 28 6c 61 | .........(compounds.(-remove.(la | 
| 6140 | 6d 62 64 61 20 28 73 79 6d 29 20 28 68 65 6c 70    66 75 6c 2d 2d 70 72 69 6d 69 74 69 76 65 2d 70 | mbda.(sym).(helpful--primitive-p | 
| 6160 | 20 73 79 6d 20 74 29 29 20 73 79 6d 73 29 29 29    0a 0a 20 20 20 20 28 70 6f 70 2d 74 6f 2d 62 75 | .sym.t)).syms)))......(pop-to-bu | 
| 6180 | 66 66 65 72 20 62 75 66 29 0a 20 20 20 20 28 6c    65 74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 | ffer.buf).....(let.((inhibit-rea | 
| 61a0 | 64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 20    20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a | d-only.t)).......(erase-buffer). | 
| 61c0 | 0a 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20    4d 61 63 72 6f 73 20 75 73 65 64 2c 20 73 70 65 | .......;;.TODO:.Macros.used,.spe | 
| 61e0 | 63 69 61 6c 20 66 6f 72 6d 73 20 75 73 65 64 2c    20 67 6c 6f 62 61 6c 20 76 61 72 73 20 75 73 65 | cial.forms.used,.global.vars.use | 
| 6200 | 64 2e 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74    20 28 66 6f 72 6d 61 74 20 22 46 75 6e 63 74 69 | d........(insert.(format."Functi | 
| 6220 | 6f 6e 73 20 63 61 6c 6c 65 64 20 62 79 20 25 73    3a 5c 6e 5c 6e 22 20 73 79 6d 29 29 0a 20 20 20 | ons.called.by.%s:\n\n".sym)).... | 
| 6240 | 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 64 69 73    70 6c 61 79 2d 63 61 6c 6c 65 65 2d 67 72 6f 75 | ...(helpful--display-callee-grou | 
| 6260 | 70 20 63 6f 6d 70 6f 75 6e 64 73 29 0a 0a 20 20    20 20 20 20 28 77 68 65 6e 20 70 72 69 6d 69 74 | p.compounds)........(when.primit | 
| 6280 | 69 76 65 73 0a 20 20 20 20 20 20 20 20 28 69 6e    73 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 | ives.........(insert."\n")...... | 
| 62a0 | 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d    61 74 20 22 50 72 69 6d 69 74 69 76 65 73 20 63 | ...(insert.(format."Primitives.c | 
| 62c0 | 61 6c 6c 65 64 20 62 79 20 25 73 3a 5c 6e 5c 6e    22 20 73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 | alled.by.%s:\n\n".sym))......... | 
| 62e0 | 28 68 65 6c 70 66 75 6c 2d 2d 64 69 73 70 6c 61    79 2d 63 61 6c 6c 65 65 2d 67 72 6f 75 70 20 70 | (helpful--display-callee-group.p | 
| 6300 | 72 69 6d 69 74 69 76 65 73 29 29 0a 0a 20 20 20    20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 | rimitives))........(goto-char.(p | 
| 6320 | 6f 69 6e 74 2d 6d 69 6e 29 29 0a 0a 20 20 20 20    20 20 28 68 65 6c 70 66 75 6c 2d 6d 6f 64 65 29 | oint-min))........(helpful-mode) | 
| 6340 | 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 62 75 74    74 6f 6e 2d 74 79 70 65 20 27 68 65 6c 70 66 75 | )))..(define-button-type.'helpfu | 
| 6360 | 6c 2d 6d 61 6e 75 61 6c 2d 62 75 74 74 6f 6e 0a    20 20 27 61 63 74 69 6f 6e 20 23 27 68 65 6c 70 | l-manual-button...'action.#'help | 
| 6380 | 66 75 6c 2d 2d 6d 61 6e 75 61 6c 0a 20 20 27 73    79 6d 62 6f 6c 20 6e 69 6c 0a 20 20 27 66 6f 6c | ful--manual...'symbol.nil...'fol | 
| 63a0 | 6c 6f 77 2d 6c 69 6e 6b 20 74 0a 20 20 27 68 65    6c 70 2d 65 63 68 6f 20 22 56 69 65 77 20 74 68 | low-link.t...'help-echo."View.th | 
| 63c0 | 69 73 20 73 79 6d 62 6f 6c 20 69 6e 20 74 68 65    20 45 6d 61 63 73 20 6d 61 6e 75 61 6c 22 29 0a | is.symbol.in.the.Emacs.manual"). | 
| 63e0 | 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d    2d 6d 61 6e 75 61 6c 20 28 62 75 74 74 6f 6e 29 | .(defun.helpful--manual.(button) | 
| 6400 | 0a 20 20 22 4f 70 65 6e 20 74 68 65 20 6d 61 6e    75 61 6c 20 66 6f 72 20 74 68 65 20 73 79 73 74 | ..."Open.the.manual.for.the.syst | 
| 6420 | 65 6d 20 74 68 61 74 20 74 68 69 73 20 42 55 54    54 4f 4e 20 72 65 70 72 65 73 65 6e 74 73 2e 22 | em.that.this.BUTTON.represents." | 
| 6440 | 0a 20 20 28 6c 65 74 20 28 28 73 79 6d 20 28 62    75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f 6e | ...(let.((sym.(button-get.button | 
| 6460 | 20 27 73 79 6d 62 6f 6c 29 29 29 0a 20 20 20 20    28 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 20 27 73 79 | .'symbol))).....(info-lookup.'sy | 
| 6480 | 6d 62 6f 6c 20 73 79 6d 20 23 27 65 6d 61 63 73    2d 6c 69 73 70 2d 6d 6f 64 65 29 29 29 0a 0a 28 | mbol.sym.#'emacs-lisp-mode)))..( | 
| 64a0 | 64 65 66 69 6e 65 2d 62 75 74 74 6f 6e 2d 74 79    70 65 20 27 68 65 6c 70 66 75 6c 2d 64 65 73 63 | define-button-type.'helpful-desc | 
| 64c0 | 72 69 62 65 2d 62 75 74 74 6f 6e 0a 20 20 27 61    63 74 69 6f 6e 20 23 27 68 65 6c 70 66 75 6c 2d | ribe-button...'action.#'helpful- | 
| 64e0 | 2d 64 65 73 63 72 69 62 65 0a 20 20 27 73 79 6d    62 6f 6c 20 6e 69 6c 0a 20 20 27 66 6f 6c 6c 6f | -describe...'symbol.nil...'follo | 
| 6500 | 77 2d 6c 69 6e 6b 20 74 0a 20 20 27 68 65 6c 70    2d 65 63 68 6f 20 22 44 65 73 63 72 69 62 65 20 | w-link.t...'help-echo."Describe. | 
| 6520 | 74 68 69 73 20 73 79 6d 62 6f 6c 22 29 0a 0a 28    64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 64 | this.symbol")..(defun.helpful--d | 
| 6540 | 65 73 63 72 69 62 65 20 28 62 75 74 74 6f 6e 29    0a 20 20 22 44 65 73 63 72 69 62 65 20 74 68 65 | escribe.(button)..."Describe.the | 
| 6560 | 20 73 79 6d 62 6f 6c 20 74 68 61 74 20 74 68 69    73 20 42 55 54 54 4f 4e 20 72 65 70 72 65 73 65 | .symbol.that.this.BUTTON.represe | 
| 6580 | 6e 74 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 73    79 6d 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 | nts."...(let.((sym.(button-get.b | 
| 65a0 | 75 74 74 6f 6e 20 27 73 79 6d 62 6f 6c 29 29 29    0a 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 73 79 | utton.'symbol))).....(helpful-sy | 
| 65c0 | 6d 62 6f 6c 20 73 79 6d 29 29 29 0a 0a 28 64 65    66 69 6e 65 2d 62 75 74 74 6f 6e 2d 74 79 70 65 | mbol.sym)))..(define-button-type | 
| 65e0 | 20 27 68 65 6c 70 66 75 6c 2d 64 65 73 63 72 69    62 65 2d 65 78 61 63 74 6c 79 2d 62 75 74 74 6f | .'helpful-describe-exactly-butto | 
| 6600 | 6e 0a 20 20 27 61 63 74 69 6f 6e 20 23 27 68 65    6c 70 66 75 6c 2d 2d 64 65 73 63 72 69 62 65 2d | n...'action.#'helpful--describe- | 
| 6620 | 65 78 61 63 74 6c 79 0a 20 20 27 73 79 6d 62 6f    6c 20 6e 69 6c 0a 20 20 27 63 61 6c 6c 61 62 6c | exactly...'symbol.nil...'callabl | 
| 6640 | 65 2d 70 20 6e 69 6c 0a 20 20 27 66 6f 6c 6c 6f    77 2d 6c 69 6e 6b 20 74 0a 20 20 27 68 65 6c 70 | e-p.nil...'follow-link.t...'help | 
| 6660 | 2d 65 63 68 6f 20 22 44 65 73 63 72 69 62 65 20    74 68 69 73 20 73 79 6d 62 6f 6c 22 29 0a 0a 28 | -echo."Describe.this.symbol")..( | 
| 6680 | 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 64    65 73 63 72 69 62 65 2d 65 78 61 63 74 6c 79 20 | defun.helpful--describe-exactly. | 
| 66a0 | 28 62 75 74 74 6f 6e 29 0a 20 20 22 44 65 73 63    72 69 62 65 20 74 68 65 20 73 79 6d 62 6f 6c 20 | (button)..."Describe.the.symbol. | 
| 66c0 | 74 68 61 74 20 74 68 69 73 20 42 55 54 54 4f 4e    20 72 65 70 72 65 73 65 6e 74 73 2e 0a 54 68 69 | that.this.BUTTON.represents..Thi | 
| 66e0 | 73 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 60    68 65 6c 70 66 75 6c 2d 2d 64 65 73 63 72 69 62 | s.differs.from.`helpful--describ | 
| 6700 | 65 27 20 62 65 63 61 75 73 65 20 68 65 72 65 20    77 65 20 6b 6e 6f 77 0a 77 68 65 74 68 65 72 20 | e'.because.here.we.know.whether. | 
| 6720 | 74 68 65 20 73 79 6d 62 6f 6c 20 72 65 70 72 65    73 65 6e 74 73 20 61 20 76 61 72 69 61 62 6c 65 | the.symbol.represents.a.variable | 
| 6740 | 20 6f 72 20 61 20 63 61 6c 6c 61 62 6c 65 2e 22    0a 20 20 28 6c 65 74 20 28 28 73 79 6d 20 28 62 | .or.a.callable."...(let.((sym.(b | 
| 6760 | 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f 6e    20 27 73 79 6d 62 6f 6c 29 29 0a 20 20 20 20 20 | utton-get.button.'symbol))...... | 
| 6780 | 20 20 20 28 63 61 6c 6c 61 62 6c 65 2d 70 20 28    62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f | ...(callable-p.(button-get.butto | 
| 67a0 | 6e 20 27 63 61 6c 6c 61 62 6c 65 2d 70 29 29 29    0a 20 20 20 20 28 69 66 20 63 61 6c 6c 61 62 6c | n.'callable-p))).....(if.callabl | 
| 67c0 | 65 2d 70 0a 20 20 20 20 20 20 20 20 28 68 65 6c    70 66 75 6c 2d 63 61 6c 6c 61 62 6c 65 20 73 79 | e-p.........(helpful-callable.sy | 
| 67e0 | 6d 29 0a 20 20 20 20 20 20 28 68 65 6c 70 66 75    6c 2d 76 61 72 69 61 62 6c 65 20 73 79 6d 29 29 | m).......(helpful-variable.sym)) | 
| 6800 | 29 29 0a 0a 28 64 65 66 69 6e 65 2d 62 75 74 74    6f 6e 2d 74 79 70 65 20 27 68 65 6c 70 66 75 6c | ))..(define-button-type.'helpful | 
| 6820 | 2d 69 6e 66 6f 2d 62 75 74 74 6f 6e 0a 20 20 27    61 63 74 69 6f 6e 20 23 27 68 65 6c 70 66 75 6c | -info-button...'action.#'helpful | 
| 6840 | 2d 2d 69 6e 66 6f 0a 20 20 27 69 6e 66 6f 2d 6e    6f 64 65 20 6e 69 6c 0a 20 20 27 66 6f 6c 6c 6f | --info...'info-node.nil...'follo | 
| 6860 | 77 2d 6c 69 6e 6b 20 74 0a 20 20 27 68 65 6c 70    2d 65 63 68 6f 20 22 56 69 65 77 20 74 68 69 73 | w-link.t...'help-echo."View.this | 
| 6880 | 20 49 6e 66 6f 20 6e 6f 64 65 22 29 0a 0a 28 64    65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 69 6e | .Info.node")..(defun.helpful--in | 
| 68a0 | 66 6f 20 28 62 75 74 74 6f 6e 29 0a 20 20 22 44    65 73 63 72 69 62 65 20 74 68 65 20 73 79 6d 62 | fo.(button)..."Describe.the.symb | 
| 68c0 | 6f 6c 20 74 68 61 74 20 74 68 69 73 20 42 55 54    54 4f 4e 20 72 65 70 72 65 73 65 6e 74 73 2e 22 | ol.that.this.BUTTON.represents." | 
| 68e0 | 0a 20 20 28 69 6e 66 6f 20 28 62 75 74 74 6f 6e    2d 67 65 74 20 62 75 74 74 6f 6e 20 27 69 6e 66 | ...(info.(button-get.button.'inf | 
| 6900 | 6f 2d 6e 6f 64 65 29 29 29 0a 0a 28 64 65 66 69    6e 65 2d 62 75 74 74 6f 6e 2d 74 79 70 65 20 27 | o-node)))..(define-button-type.' | 
| 6920 | 68 65 6c 70 66 75 6c 2d 73 68 6f 72 74 64 6f 63    2d 62 75 74 74 6f 6e 0a 20 20 27 61 63 74 69 6f | helpful-shortdoc-button...'actio | 
| 6940 | 6e 20 23 27 68 65 6c 70 66 75 6c 2d 2d 73 68 6f    72 74 64 6f 63 0a 20 20 27 69 6e 66 6f 2d 6e 6f | n.#'helpful--shortdoc...'info-no | 
| 6960 | 64 65 20 6e 69 6c 0a 20 20 27 66 6f 6c 6c 6f 77    2d 6c 69 6e 6b 20 74 0a 20 20 27 68 65 6c 70 2d | de.nil...'follow-link.t...'help- | 
| 6980 | 65 63 68 6f 20 22 56 69 65 77 20 74 68 69 73 20    53 68 6f 72 74 64 6f 63 20 67 72 6f 75 70 22 29 | echo."View.this.Shortdoc.group") | 
| 69a0 | 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c    2d 2d 73 68 6f 72 74 64 6f 63 20 28 62 75 74 74 | ..(defun.helpful--shortdoc.(butt | 
| 69c0 | 6f 6e 29 0a 20 20 22 44 65 73 63 72 69 62 65 20    74 68 65 20 73 79 6d 62 6f 6c 20 74 68 61 74 20 | on)..."Describe.the.symbol.that. | 
| 69e0 | 74 68 69 73 20 42 55 54 54 4f 4e 20 72 65 70 72    65 73 65 6e 74 73 2e 22 0a 20 20 28 73 68 6f 72 | this.BUTTON.represents."...(shor | 
| 6a00 | 74 64 6f 63 2d 64 69 73 70 6c 61 79 2d 67 72 6f    75 70 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 | tdoc-display-group.(button-get.b | 
| 6a20 | 75 74 74 6f 6e 20 27 73 68 6f 72 74 64 6f 63 2d    67 72 6f 75 70 29 0a 20 20 20 20 20 20 20 20 20 | utton.'shortdoc-group).......... | 
| 6a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 | .................(button-get.but | 
| 6a60 | 74 6f 6e 20 27 73 79 6d 62 6f 6c 29 29 29 0a 0a    28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d | ton.'symbol)))..(defun.helpful-- | 
| 6a80 | 73 70 6c 69 74 2d 66 69 72 73 74 2d 6c 69 6e 65    20 28 64 6f 63 73 74 72 69 6e 67 29 0a 20 20 22 | split-first-line.(docstring)..." | 
| 6aa0 | 49 66 20 74 68 65 20 66 69 72 73 74 20 6c 69 6e    65 20 69 73 20 61 20 73 74 61 6e 64 61 6c 6f 6e | If.the.first.line.is.a.standalon | 
| 6ac0 | 65 20 73 65 6e 74 65 6e 63 65 2c 20 65 6e 73 75    72 65 20 77 65 20 68 61 76 65 20 61 0a 62 6c 61 | e.sentence,.ensure.we.have.a.bla | 
| 6ae0 | 6e 6b 20 6c 69 6e 65 20 61 66 74 65 72 77 61 72    64 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6c | nk.line.afterwards."...(let*.((l | 
| 6b00 | 69 6e 65 73 20 28 73 2d 6c 69 6e 65 73 20 64 6f    63 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 | ines.(s-lines.docstring))....... | 
| 6b20 | 20 20 20 28 66 69 72 73 74 2d 6c 69 6e 65 20 28    2d 66 69 72 73 74 2d 69 74 65 6d 20 6c 69 6e 65 | ...(first-line.(-first-item.line | 
| 6b40 | 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65    63 6f 6e 64 2d 6c 69 6e 65 20 28 77 68 65 6e 20 | s))..........(second-line.(when. | 
| 6b60 | 28 3e 20 28 6c 65 6e 67 74 68 20 6c 69 6e 65 73    29 20 31 29 20 28 6e 74 68 20 31 20 6c 69 6e 65 | (>.(length.lines).1).(nth.1.line | 
| 6b80 | 73 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 61    6e 64 20 28 73 2d 65 6e 64 73 2d 77 69 74 68 2d | s)))).....(if.(and.(s-ends-with- | 
| 6ba0 | 70 20 22 2e 22 20 66 69 72 73 74 2d 6c 69 6e 65    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | p.".".first-line)..............( | 
| 6bc0 | 73 74 72 69 6e 67 70 20 73 65 63 6f 6e 64 2d 6c    69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 | stringp.second-line)............ | 
| 6be0 | 20 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 73 65    63 6f 6e 64 2d 6c 69 6e 65 20 22 22 29 29 29 0a | ..(not.(equal.second-line.""))). | 
| 6c00 | 20 20 20 20 20 20 20 20 28 73 2d 6a 6f 69 6e 20    22 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 | ........(s-join."\n"............ | 
| 6c20 | 20 20 20 20 20 28 2d 63 6f 6e 73 2a 20 66 69 72    73 74 2d 6c 69 6e 65 20 22 22 20 28 63 64 72 20 | .....(-cons*.first-line."".(cdr. | 
| 6c40 | 6c 69 6e 65 73 29 29 29 0a 20 20 20 20 20 20 64    6f 63 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 | lines))).......docstring)))..(de | 
| 6c60 | 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 70 72 6f    70 65 72 74 69 7a 65 2d 73 79 6d 2d 72 65 66 20 | fun.helpful--propertize-sym-ref. | 
| 6c80 | 28 73 79 6d 2d 6e 61 6d 65 20 62 65 66 6f 72 65    2d 74 78 74 20 61 66 74 65 72 2d 74 78 74 29 0a | (sym-name.before-txt.after-txt). | 
| 6ca0 | 20 20 22 47 69 76 65 6e 20 61 20 73 79 6d 62 6f    6c 20 6e 61 6d 65 20 66 72 6f 6d 20 61 20 64 6f | .."Given.a.symbol.name.from.a.do | 
| 6cc0 | 63 73 74 72 69 6e 67 2c 20 63 6f 6e 76 65 72 74    20 74 6f 20 61 20 62 75 74 74 6f 6e 20 28 69 66 | cstring,.convert.to.a.button.(if | 
| 6ce0 | 0a 62 6f 75 6e 64 29 20 6f 72 20 65 6c 73 65 20    68 69 67 68 6c 69 67 68 74 2e 22 0a 20 20 28 6c | .bound).or.else.highlight."...(l | 
| 6d00 | 65 74 2a 20 28 28 73 79 6d 20 28 69 6e 74 65 72    6e 20 73 79 6d 2d 6e 61 6d 65 29 29 29 0a 20 20 | et*.((sym.(intern.sym-name)))... | 
| 6d20 | 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20    48 69 67 68 6c 69 67 68 74 20 6b 65 79 77 6f 72 | ..(cond......;;.Highlight.keywor | 
| 6d40 | 64 73 2e 0a 20 20 20 20 20 28 28 73 2d 6d 61 74    63 68 65 73 2d 70 0a 20 20 20 20 20 20 20 28 72 | ds.......((s-matches-p........(r | 
| 6d60 | 78 20 22 3a 22 0a 20 20 20 20 20 20 20 20 20 20    20 73 79 6d 62 6f 6c 2d 73 74 61 72 74 0a 20 20 | x.":"............symbol-start... | 
| 6d80 | 20 20 20 20 20 20 20 20 20 28 2b 3f 20 28 6f 72    20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 20 28 | .........(+?.(or.(syntax.word).( | 
| 6da0 | 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 73 79 6d 62 | syntax.symbol)))............symb | 
| 6dc0 | 6f 6c 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 73    79 6d 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 | ol-end)........sym-name).......( | 
| 6de0 | 70 72 6f 70 65 72 74 69 7a 65 20 73 79 6d 2d 6e    61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | propertize.sym-name............. | 
| 6e00 | 20 20 20 20 20 20 27 66 61 63 65 20 27 66 6f 6e    74 2d 6c 6f 63 6b 2d 62 75 69 6c 74 69 6e 2d 66 | ......'face.'font-lock-builtin-f | 
| 6e20 | 61 63 65 29 29 0a 20 20 20 20 20 28 28 61 6e 64    20 28 62 6f 75 6e 64 70 20 73 79 6d 29 20 28 73 | ace))......((and.(boundp.sym).(s | 
| 6e40 | 2d 65 6e 64 73 2d 77 69 74 68 2d 70 20 22 76 61    72 69 61 62 6c 65 20 22 20 28 64 6f 77 6e 63 61 | -ends-with-p."variable.".(downca | 
| 6e60 | 73 65 20 62 65 66 6f 72 65 2d 74 78 74 29 29 29    0a 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d | se.before-txt))).......(helpful- | 
| 6e80 | 2d 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 73    79 6d 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 27 | -button........sym-name........' | 
| 6ea0 | 68 65 6c 70 66 75 6c 2d 64 65 73 63 72 69 62 65    2d 65 78 61 63 74 6c 79 2d 62 75 74 74 6f 6e 0a | helpful-describe-exactly-button. | 
| 6ec0 | 20 20 20 20 20 20 20 27 73 79 6d 62 6f 6c 20 73    79 6d 0a 20 20 20 20 20 20 20 27 63 61 6c 6c 61 | .......'symbol.sym........'calla | 
| 6ee0 | 62 6c 65 2d 70 20 6e 69 6c 29 29 0a 20 20 20 20    20 28 28 61 6e 64 20 28 66 62 6f 75 6e 64 70 20 | ble-p.nil))......((and.(fboundp. | 
| 6f00 | 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20    28 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 | sym)............(or............. | 
| 6f20 | 28 73 2d 73 74 61 72 74 73 2d 77 69 74 68 2d 70    20 22 20 63 6f 6d 6d 61 6e 64 22 20 28 64 6f 77 | (s-starts-with-p.".command".(dow | 
| 6f40 | 6e 63 61 73 65 20 61 66 74 65 72 2d 74 78 74 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 | ncase.after-txt)).............(s | 
| 6f60 | 2d 65 6e 64 73 2d 77 69 74 68 2d 70 20 22 63 6f    6d 6d 61 6e 64 20 22 20 28 64 6f 77 6e 63 61 73 | -ends-with-p."command.".(downcas | 
| 6f80 | 65 20 62 65 66 6f 72 65 2d 74 78 74 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 28 73 2d 65 6e | e.before-txt)).............(s-en | 
| 6fa0 | 64 73 2d 77 69 74 68 2d 70 20 22 66 75 6e 63 74    69 6f 6e 20 22 20 28 64 6f 77 6e 63 61 73 65 20 | ds-with-p."function.".(downcase. | 
| 6fc0 | 62 65 66 6f 72 65 2d 74 78 74 29 29 29 29 0a 20    20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 | before-txt)))).......(helpful--b | 
| 6fe0 | 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 73 79 6d    2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 27 68 65 | utton........sym-name........'he | 
| 7000 | 6c 70 66 75 6c 2d 64 65 73 63 72 69 62 65 2d 65    78 61 63 74 6c 79 2d 62 75 74 74 6f 6e 0a 20 20 | lpful-describe-exactly-button... | 
| 7020 | 20 20 20 20 20 27 73 79 6d 62 6f 6c 20 73 79 6d    0a 20 20 20 20 20 20 20 27 63 61 6c 6c 61 62 6c | .....'symbol.sym........'callabl | 
| 7040 | 65 2d 70 20 74 29 29 0a 20 20 20 20 20 3b 3b 20    4f 6e 6c 79 20 63 72 65 61 74 65 20 61 20 6c 69 | e-p.t))......;;.Only.create.a.li | 
| 7060 | 6e 6b 20 69 66 20 74 68 69 73 20 69 73 20 61 20    73 79 6d 62 6f 6c 20 74 68 61 74 20 69 73 20 62 | nk.if.this.is.a.symbol.that.is.b | 
| 7080 | 6f 75 6e 64 20 61 73 20 61 0a 20 20 20 20 20 3b    3b 20 76 61 72 69 61 62 6c 65 20 6f 72 20 63 61 | ound.as.a......;;.variable.or.ca | 
| 70a0 | 6c 6c 61 62 6c 65 2e 0a 20 20 20 20 20 28 28 6f    72 20 28 62 6f 75 6e 64 70 20 73 79 6d 29 20 28 | llable.......((or.(boundp.sym).( | 
| 70c0 | 66 62 6f 75 6e 64 70 20 73 79 6d 29 29 0a 20 20    20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 | fboundp.sym)).......(helpful--bu | 
| 70e0 | 74 74 6f 6e 0a 20 20 20 20 20 20 20 73 79 6d 2d    6e 61 6d 65 0a 20 20 20 20 20 20 20 27 68 65 6c | tton........sym-name........'hel | 
| 7100 | 70 66 75 6c 2d 64 65 73 63 72 69 62 65 2d 62 75    74 74 6f 6e 0a 20 20 20 20 20 20 20 27 73 79 6d | pful-describe-button........'sym | 
| 7120 | 62 6f 6c 20 73 79 6d 29 29 0a 20 20 20 20 20 3b    3b 20 49 66 20 74 68 69 73 20 69 73 20 61 6c 72 | bol.sym))......;;.If.this.is.alr | 
| 7140 | 65 61 64 79 20 61 20 62 75 74 74 6f 6e 2c 20 64    6f 6e 27 74 20 6d 6f 64 69 66 79 20 69 74 2e 0a | eady.a.button,.don't.modify.it.. | 
| 7160 | 20 20 20 20 20 28 28 67 65 74 2d 74 65 78 74 2d    70 72 6f 70 65 72 74 79 20 30 20 27 62 75 74 74 | .....((get-text-property.0.'butt | 
| 7180 | 6f 6e 20 73 79 6d 2d 6e 61 6d 65 29 0a 20 20 20    20 20 20 73 79 6d 2d 6e 61 6d 65 29 0a 20 20 20 | on.sym-name).......sym-name).... | 
| 71a0 | 20 20 3b 3b 20 48 69 67 68 6c 69 67 68 74 20 74    68 65 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 | ..;;.Highlight.the.quoted.string | 
| 71c0 | 2e 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20    28 70 72 6f 70 65 72 74 69 7a 65 20 73 79 6d 2d | .......(t.......(propertize.sym- | 
| 71e0 | 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 27 66 61 63 65 20 27 66 6f | name...................'face.'fo | 
| 7200 | 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74    2d 66 61 63 65 29 29 29 29 29 0a 0a 28 64 65 66 | nt-lock-constant-face)))))..(def | 
| 7220 | 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 70 72 6f 70    65 72 74 69 7a 65 2d 69 6e 66 6f 20 28 64 6f 63 | un.helpful--propertize-info.(doc | 
| 7240 | 73 74 72 69 6e 67 29 0a 20 20 22 43 6f 6e 76 65    72 74 20 69 6e 66 6f 20 72 65 66 65 72 65 6e 63 | string)..."Convert.info.referenc | 
| 7260 | 65 73 20 69 6e 20 44 4f 43 53 54 52 49 4e 47 20    74 6f 20 62 75 74 74 6f 6e 73 2e 22 0a 20 20 28 | es.in.DOCSTRING.to.buttons."...( | 
| 7280 | 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69    6e 2d 73 74 72 69 6e 67 0a 20 20 20 3b 3b 20 52 | replace-regexp-in-string....;;.R | 
| 72a0 | 65 70 6c 61 63 65 20 61 6c 6c 20 74 65 78 74 20    74 68 61 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 | eplace.all.text.that.looks.like. | 
| 72c0 | 61 20 6c 69 6e 6b 20 74 6f 20 61 6e 20 49 6e 66    6f 20 70 61 67 65 2e 0a 20 20 20 28 72 78 20 28 | a.link.to.an.Info.page.....(rx.( | 
| 72e0 | 73 65 71 20 28 67 72 6f 75 70 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 62 6f 77 0a 20 20 20 20 | seq.(group..............bow..... | 
| 7300 | 20 20 20 20 20 20 20 20 20 28 61 6e 79 20 22 49    69 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .........(any."Ii")............. | 
| 7320 | 20 22 6e 66 6f 22 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6f 6e 65 2d 6f 72 2d 6d 6f 72 65 | ."nfo"..............(one-or-more | 
| 7340 | 20 77 68 69 74 65 73 70 61 63 65 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 | .whitespace)).............(group | 
| 7360 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f    72 20 22 6e 6f 64 65 22 20 22 61 6e 63 68 6f 72 | ..............(or."node"."anchor | 
| 7380 | 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    28 6f 6e 65 2d 6f 72 2d 6d 6f 72 65 20 77 68 69 | ")..............(one-or-more.whi | 
| 73a0 | 74 65 73 70 61 63 65 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 61 6e 79 20 22 27 60 e2 80 | tespace)).............(any."'`.. | 
| 73c0 | 98 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    28 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 | .").............(group.......... | 
| 73e0 | 20 20 20 20 28 6f 6e 65 2d 6f 72 2d 6d 6f 72 65    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ....(one-or-more...............( | 
| 7400 | 6e 6f 74 20 28 61 6e 79 20 22 27 e2 80 99 22 29    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | not.(any."'..."))))............. | 
| 7420 | 28 61 6e 79 20 22 27 e2 80 99 22 29 29 29 0a 20    20 20 28 6c 61 6d 62 64 61 20 28 69 74 29 0a 20 | (any."'...")))....(lambda.(it).. | 
| 7440 | 20 20 20 20 3b 3b 20 69 6e 66 6f 2d 6e 61 6d 65    20 6d 61 74 63 68 65 73 20 22 5b 49 69 5d 6e 66 | ....;;.info-name.matches."[Ii]nf | 
| 7460 | 6f 20 22 2e 0a 20 20 20 20 20 3b 3b 20 73 70 61    63 65 20 6d 61 74 63 68 65 73 20 22 6e 6f 64 65 | o.".......;;.space.matches."node | 
| 7480 | 20 22 20 6f 72 20 22 61 6e 63 68 6f 72 20 22 2e    0a 20 20 20 20 20 3b 3b 20 69 6e 66 6f 2d 6e 6f | .".or."anchor.".......;;.info-no | 
| 74a0 | 64 65 20 68 61 73 20 74 68 65 20 66 6f 72 6d 20    22 28 63 6c 29 4c 6f 6f 70 20 46 61 63 69 6c 69 | de.has.the.form."(cl)Loop.Facili | 
| 74c0 | 74 79 22 2e 0a 20 20 20 20 20 28 6c 65 74 20 28    28 69 6e 66 6f 2d 6e 61 6d 65 20 28 6d 61 74 63 | ty".......(let.((info-name.(matc | 
| 74e0 | 68 2d 73 74 72 69 6e 67 20 31 20 69 74 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 28 73 70 61 63 | h-string.1.it))............(spac | 
| 7500 | 65 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20    32 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 | e.(match-string.2.it)).......... | 
| 7520 | 20 20 28 69 6e 66 6f 2d 6e 6f 64 65 20 28 6d 61    74 63 68 2d 73 74 72 69 6e 67 20 33 20 69 74 29 | ..(info-node.(match-string.3.it) | 
| 7540 | 29 29 0a 20 20 20 20 20 20 20 3b 3b 20 49 66 20    74 68 65 20 64 6f 63 73 74 72 69 6e 67 20 64 6f | ))........;;.If.the.docstring.do | 
| 7560 | 65 73 6e 27 74 20 73 70 65 63 69 66 79 20 61 20    6d 61 6e 75 61 6c 2c 20 61 73 73 75 6d 65 20 74 | esn't.specify.a.manual,.assume.t | 
| 7580 | 68 65 20 45 6d 61 63 73 20 6d 61 6e 75 61 6c 2e    0a 20 20 20 20 20 20 20 28 73 61 76 65 2d 6d 61 | he.Emacs.manual.........(save-ma | 
| 75a0 | 74 63 68 2d 64 61 74 61 0a 20 20 20 20 20 20 20    20 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e | tch-data..........(unless.(strin | 
| 75c0 | 67 2d 6d 61 74 63 68 20 22 5e 28 5b 5e 29 5d 2b    29 22 20 69 6e 66 6f 2d 6e 6f 64 65 29 0a 20 20 | g-match."^([^)]+)".info-node)... | 
| 75e0 | 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69    6e 66 6f 2d 6e 6f 64 65 20 28 63 6f 6e 63 61 74 | .........(setq.info-node.(concat | 
| 7600 | 20 22 28 65 6d 61 63 73 29 22 20 69 6e 66 6f 2d    6e 6f 64 65 29 29 29 29 0a 20 20 20 20 20 20 20 | ."(emacs)".info-node))))........ | 
| 7620 | 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20    69 6e 66 6f 2d 6e 61 6d 65 0a 20 20 20 20 20 20 | (concat.........info-name....... | 
| 7640 | 20 20 73 70 61 63 65 0a 20 20 20 20 20 20 20 20    28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e | ..space.........(helpful--button | 
| 7660 | 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 2d 6e    6f 64 65 0a 20 20 20 20 20 20 20 20 20 27 68 65 | ..........info-node..........'he | 
| 7680 | 6c 70 66 75 6c 2d 69 6e 66 6f 2d 62 75 74 74 6f    6e 0a 20 20 20 20 20 20 20 20 20 27 69 6e 66 6f | lpful-info-button..........'info | 
| 76a0 | 2d 6e 6f 64 65 20 69 6e 66 6f 2d 6e 6f 64 65 29    29 29 29 0a 20 20 20 64 6f 63 73 74 72 69 6e 67 | -node.info-node))))....docstring | 
| 76c0 | 0a 20 20 20 74 20 74 29 29 0a 0a 28 64 65 66 75    6e 20 68 65 6c 70 66 75 6c 2d 2d 6b 65 79 6d 61 | ....t.t))..(defun.helpful--keyma | 
| 76e0 | 70 2d 6b 65 79 73 20 28 6b 65 79 6d 61 70 29 0a    20 20 22 52 65 74 75 72 6e 20 61 6c 6c 20 74 68 | p-keys.(keymap)..."Return.all.th | 
| 7700 | 65 20 6b 65 79 73 20 61 6e 64 20 63 6f 6d 6d 61    6e 64 73 20 69 6e 20 4b 45 59 4d 41 50 2e 0a 46 | e.keys.and.commands.in.KEYMAP..F | 
| 7720 | 6c 61 74 74 65 6e 73 20 6e 65 73 74 65 64 20 6b    65 79 6d 61 70 73 20 61 6e 64 20 66 6f 6c 6c 6f | lattens.nested.keymaps.and.follo | 
| 7740 | 77 73 20 72 65 6d 61 70 70 65 64 20 63 6f 6d 6d    61 6e 64 73 2e 0a 0a 52 65 74 75 72 6e 73 20 61 | ws.remapped.commands...Returns.a | 
| 7760 | 20 6c 69 73 74 20 6f 66 20 70 61 69 72 73 20 28    4b 45 59 43 4f 44 45 53 20 43 4f 4d 4d 41 4e 44 | .list.of.pairs.(KEYCODES.COMMAND | 
| 7780 | 29 2c 20 77 68 65 72 65 20 4b 45 59 43 4f 44 45    53 20 69 73 20 61 0a 76 65 63 74 6f 72 20 73 75 | ),.where.KEYCODES.is.a.vector.su | 
| 77a0 | 69 74 61 62 6c 65 20 66 6f 72 20 60 6b 65 79 2d    64 65 73 63 72 69 70 74 69 6f 6e 27 2c 20 61 6e | itable.for.`key-description',.an | 
| 77c0 | 64 20 43 4f 4d 4d 41 4e 44 20 69 73 20 61 20 73    6d 62 6f 6c 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 | d.COMMAND.is.a.smbol."...(cond.. | 
| 77e0 | 20 20 3b 3b 20 50 72 65 66 69 78 20 6b 65 79 73    2e 0a 20 20 20 28 28 61 6e 64 0a 20 20 20 20 20 | ..;;.Prefix.keys.....((and...... | 
| 7800 | 28 73 79 6d 62 6f 6c 70 20 6b 65 79 6d 61 70 29    0a 20 20 20 20 20 28 66 62 6f 75 6e 64 70 20 6b | (symbolp.keymap)......(fboundp.k | 
| 7820 | 65 79 6d 61 70 29 0a 20 20 20 20 20 3b 3b 20 50    72 65 66 69 78 20 6b 65 79 73 20 75 73 65 20 61 | eymap)......;;.Prefix.keys.use.a | 
| 7840 | 20 6b 65 79 6d 61 70 20 69 6e 20 74 68 65 20 66    75 6e 63 74 69 6f 6e 20 73 6c 6f 74 20 6f 66 20 | .keymap.in.the.function.slot.of. | 
| 7860 | 61 20 73 79 6d 62 6f 6c 2e 0a 20 20 20 20 20 28    6b 65 79 6d 61 70 70 20 28 73 79 6d 62 6f 6c 2d | a.symbol.......(keymapp.(symbol- | 
| 7880 | 66 75 6e 63 74 69 6f 6e 20 6b 65 79 6d 61 70 29    29 29 0a 20 20 20 20 28 68 65 6c 70 66 75 6c 2d | function.keymap))).....(helpful- | 
| 78a0 | 2d 6b 65 79 6d 61 70 2d 6b 65 79 73 20 28 73 79    6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 6b 65 | -keymap-keys.(symbol-function.ke | 
| 78c0 | 79 6d 61 70 29 29 29 0a 20 20 20 3b 3b 20 4f 74    68 65 72 20 73 79 6d 62 6f 6c 73 20 6f 72 20 63 | ymap)))....;;.Other.symbols.or.c | 
| 78e0 | 6f 6d 70 69 6c 65 64 20 66 75 6e 63 74 69 6f 6e    73 20 6d 65 61 6e 20 77 65 27 76 65 20 72 65 61 | ompiled.functions.mean.we've.rea | 
| 7900 | 63 68 65 64 20 61 20 6c 65 61 66 2c 0a 20 20 20    3b 3b 20 73 6f 20 74 68 69 73 20 69 73 20 61 20 | ched.a.leaf,....;;.so.this.is.a. | 
| 7920 | 63 6f 6d 6d 61 6e 64 20 77 65 20 63 61 6e 20 63    61 6c 6c 2e 0a 20 20 20 28 28 6f 72 0a 20 20 20 | command.we.can.call.....((or.... | 
| 7940 | 20 20 28 73 79 6d 62 6f 6c 70 20 6b 65 79 6d 61    70 29 0a 20 20 20 20 20 28 66 75 6e 63 74 69 6f | ..(symbolp.keymap)......(functio | 
| 7960 | 6e 70 20 6b 65 79 6d 61 70 29 0a 20 20 20 20 20    3b 3b 20 53 74 72 69 6e 67 73 20 6f 72 20 76 65 | np.keymap)......;;.Strings.or.ve | 
| 7980 | 63 74 6f 72 73 20 6d 65 61 6e 20 61 20 6b 65 79    62 6f 61 72 64 20 6d 61 63 72 6f 2e 0a 20 20 20 | ctors.mean.a.keyboard.macro..... | 
| 79a0 | 20 20 28 73 74 72 69 6e 67 70 20 6b 65 79 6d 61    70 29 0a 20 20 20 20 20 28 76 65 63 74 6f 72 70 | ..(stringp.keymap)......(vectorp | 
| 79c0 | 20 6b 65 79 6d 61 70 29 29 0a 20 20 20 20 60 28    28 5b 5d 20 2c 6b 65 79 6d 61 70 29 29 29 0a 20 | .keymap)).....`(([].,keymap))).. | 
| 79e0 | 20 20 28 28 73 74 72 69 6e 67 70 20 28 63 61 72    20 6b 65 79 6d 61 70 29 29 0a 20 20 20 20 28 68 | ..((stringp.(car.keymap)).....(h | 
| 7a00 | 65 6c 70 66 75 6c 2d 2d 6b 65 79 6d 61 70 2d 6b    65 79 73 20 28 63 64 72 20 6b 65 79 6d 61 70 29 | elpful--keymap-keys.(cdr.keymap) | 
| 7a20 | 29 29 0a 20 20 20 3b 3b 20 4f 74 68 65 72 77 69    73 65 2c 20 72 65 63 75 72 73 65 20 6f 6e 20 74 | ))....;;.Otherwise,.recurse.on.t | 
| 7a40 | 68 65 20 6b 65 79 73 20 61 74 20 74 68 69 73 20    6c 65 76 65 6c 20 6f 66 20 74 68 65 20 6b 65 79 | he.keys.at.this.level.of.the.key | 
| 7a60 | 6d 61 70 2e 0a 20 20 20 28 74 0a 20 20 20 20 28    6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 | map.....(t.....(let.(result).... | 
| 7a80 | 20 20 20 28 64 6f 6c 69 73 74 20 28 69 74 65 6d    20 28 63 64 72 20 6b 65 79 6d 61 70 29 29 0a 20 | ...(dolist.(item.(cdr.keymap)).. | 
| 7aa0 | 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20    20 20 20 20 20 20 28 28 61 6e 64 20 28 63 6f 6e | .......(cond..........((and.(con | 
| 7ac0 | 73 70 20 69 74 65 6d 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 65 71 20 28 63 61 72 | sp.item)................(eq.(car | 
| 7ae0 | 20 69 74 65 6d 29 20 27 6d 65 6e 75 2d 62 61 72    29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 | .item).'menu-bar))...........;;. | 
| 7b00 | 53 6b 69 70 20 6d 65 6e 75 20 62 61 72 20 69 74    65 6d 73 2e 0a 20 20 20 20 20 20 20 20 20 20 6e | Skip.menu.bar.items............n | 
| 7b20 | 69 6c 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20    53 70 61 72 73 65 20 6b 65 79 6d 61 70 73 20 61 | il)..........;;.Sparse.keymaps.a | 
| 7b40 | 72 65 20 6c 69 73 74 73 2e 0a 20 20 20 20 20 20    20 20 20 28 28 63 6f 6e 73 70 20 69 74 65 6d 29 | re.lists...........((consp.item) | 
| 7b60 | 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74    20 5b 28 6b 65 79 63 6f 64 65 20 2e 20 76 61 6c | ...........(-let.[(keycode...val | 
| 7b80 | 75 65 29 20 69 74 65 6d 5d 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 2d 65 61 63 68 20 28 68 65 | ue).item].............(-each.(he | 
| 7ba0 | 6c 70 66 75 6c 2d 2d 6b 65 79 6d 61 70 2d 6b 65    79 73 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 | lpful--keymap-keys.value)....... | 
| 7bc0 | 20 20 20 20 20 20 20 20 28 2d 6c 61 6d 62 64 61    20 28 28 6b 65 79 63 6f 64 65 73 20 63 6f 6d 6d | ........(-lambda.((keycodes.comm | 
| 7be0 | 61 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 70 75 73 68 20 28 6c 69 73 | and)).................(push.(lis | 
| 7c00 | 74 20 28 76 63 6f 6e 63 61 74 20 28 76 65 63 74    6f 72 20 6b 65 79 63 6f 64 65 29 20 6b 65 79 63 | t.(vconcat.(vector.keycode).keyc | 
| 7c20 | 6f 64 65 73 29 20 63 6f 6d 6d 61 6e 64 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | odes).command).................. | 
| 7c40 | 20 20 20 20 20 72 65 73 75 6c 74 29 29 29 29 29    0a 20 20 20 20 20 20 20 20 20 3b 3b 20 44 65 6e | .....result)))))..........;;.Den | 
| 7c60 | 73 65 20 6b 65 79 6d 61 70 73 20 61 72 65 20 63    68 61 72 2d 74 61 62 6c 65 73 2e 0a 20 20 20 20 | se.keymaps.are.char-tables...... | 
| 7c80 | 20 20 20 20 20 28 28 63 68 61 72 2d 74 61 62 6c    65 2d 70 20 69 74 65 6d 29 0a 20 20 20 20 20 20 | .....((char-table-p.item)....... | 
| 7ca0 | 20 20 20 20 28 6d 61 70 2d 63 68 61 72 2d 74 61    62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 | ....(map-char-table............( | 
| 7cc0 | 6c 61 6d 62 64 61 20 28 6b 65 79 63 6f 64 65 20    76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 | lambda.(keycode.value).......... | 
| 7ce0 | 20 20 20 20 28 2d 65 61 63 68 20 28 68 65 6c 70    66 75 6c 2d 2d 6b 65 79 6d 61 70 2d 6b 65 79 73 | ....(-each.(helpful--keymap-keys | 
| 7d00 | 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 2d 6c 61 6d 62 64 61 20 | .value)................(-lambda. | 
| 7d20 | 28 28 6b 65 79 63 6f 64 65 73 20 63 6f 6d 6d 61    6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ((keycodes.command))............ | 
| 7d40 | 20 20 20 20 20 20 28 70 75 73 68 20 28 6c 69 73    74 20 28 76 63 6f 6e 63 61 74 20 28 76 65 63 74 | ......(push.(list.(vconcat.(vect | 
| 7d60 | 6f 72 20 6b 65 79 63 6f 64 65 29 20 6b 65 79 63    6f 64 65 73 29 20 63 6f 6d 6d 61 6e 64 29 0a 20 | or.keycode).keycodes).command).. | 
| 7d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 72 65 73 75 6c 74 29 29 29 29 | ......................result)))) | 
| 7da0 | 0a 20 20 20 20 20 20 20 20 20 20 20 69 74 65 6d    29 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 46 6f | ............item)))).......;;.Fo | 
| 7dc0 | 72 20 65 76 65 72 79 20 63 6f 6d 6d 61 6e 64 20    60 6e 65 77 2d 66 75 6e 63 27 20 6d 61 70 70 65 | r.every.command.`new-func'.mappe | 
| 7de0 | 64 20 74 6f 20 61 20 63 6f 6d 6d 61 6e 64 20 60    6f 72 69 67 2d 66 75 6e 63 27 2c 20 73 68 6f 77 | d.to.a.command.`orig-func',.show | 
| 7e00 | 20 60 6e 65 77 2d 66 75 6e 63 27 20 77 69 74 68    0a 20 20 20 20 20 20 3b 3b 20 74 68 65 20 6b 65 | .`new-func'.with.......;;.the.ke | 
| 7e20 | 79 20 73 65 71 75 65 6e 63 65 20 66 6f 72 20 60    6f 72 69 67 2d 66 75 6e 63 27 2e 0a 20 20 20 20 | y.sequence.for.`orig-func'...... | 
| 7e40 | 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 0a 20    20 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 | ..(setq.result.............(-map | 
| 7e60 | 2d 77 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 28 2d 6c 61 6d 62 64 61 20 28 28 6b 65 | -when..............(-lambda.((ke | 
| 7e80 | 79 63 6f 64 65 73 20 5f 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 | ycodes._))................(and.( | 
| 7ea0 | 3e 20 28 6c 65 6e 67 74 68 20 6b 65 79 63 6f 64    65 73 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 | >.(length.keycodes).1).......... | 
| 7ec0 | 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28    65 6c 74 20 6b 65 79 63 6f 64 65 73 20 30 29 20 | ...........(eq.(elt.keycodes.0). | 
| 7ee0 | 27 72 65 6d 61 70 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 2d 6c 61 6d 62 64 61 20 | 'remap)))..............(-lambda. | 
| 7f00 | 28 28 6b 65 79 63 6f 64 65 73 20 63 6f 6d 6d 61    6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ((keycodes.command))............ | 
| 7f20 | 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 77 68 65 72 65 | ....(list.................(where | 
| 7f40 | 2d 69 73 2d 69 6e 74 65 72 6e 61 6c 20 28 65 6c    74 20 6b 65 79 63 6f 64 65 73 20 31 29 20 67 6c | -is-internal.(elt.keycodes.1).gl | 
| 7f60 | 6f 62 61 6c 2d 6d 61 70 20 74 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d | obal-map.t).................comm | 
| 7f80 | 61 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 | and))..............result))..... | 
| 7fa0 | 20 20 3b 3b 20 50 72 65 73 65 72 76 65 20 74 68    65 20 6f 72 69 67 69 6e 61 6c 20 6f 72 64 65 72 | ..;;.Preserve.the.original.order | 
| 7fc0 | 20 6f 66 20 74 68 65 20 6b 65 79 6d 61 70 2e 0a    20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 | .of.the.keymap........(nreverse. | 
| 7fe0 | 72 65 73 75 6c 74 29 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 | result)))))..(defun.helpful--for | 
| 8000 | 6d 61 74 2d 68 6f 6f 6b 20 28 68 6f 6f 6b 2d 76    61 6c 29 0a 20 20 22 47 69 76 65 6e 20 61 20 6c | mat-hook.(hook-val)..."Given.a.l | 
| 8020 | 69 73 74 20 76 61 6c 75 65 20 61 73 73 69 67 6e    65 64 20 74 6f 20 61 20 68 6f 6f 6b 2c 20 66 6f | ist.value.assigned.to.a.hook,.fo | 
| 8040 | 72 6d 61 74 20 69 74 20 77 69 74 68 20 6c 69 6e    6b 73 20 74 6f 20 66 75 6e 63 74 69 6f 6e 73 2e | rmat.it.with.links.to.functions. | 
| 8060 | 22 0a 20 20 28 6c 65 74 20 28 28 6c 69 6e 65 73    0a 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 | "...(let.((lines..........(--map | 
| 8080 | 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28    61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 69 74 29 | ...........(if.(and.(symbolp.it) | 
| 80a0 | 20 28 66 62 6f 75 6e 64 70 20 69 74 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 | .(fboundp.it))...............(he | 
| 80c0 | 6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 | lpful--button................(sy | 
| 80e0 | 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 27 68 65 | mbol-name.it)................'he | 
| 8100 | 6c 70 66 75 6c 2d 64 65 73 63 72 69 62 65 2d 65    78 61 63 74 6c 79 2d 62 75 74 74 6f 6e 0a 20 20 | lpful-describe-exactly-button... | 
| 8120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 79    6d 62 6f 6c 20 69 74 0a 20 20 20 20 20 20 20 20 | .............'symbol.it......... | 
| 8140 | 20 20 20 20 20 20 20 27 63 61 6c 6c 61 62 6c 65    2d 70 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 | .......'callable-p.t)........... | 
| 8160 | 20 20 28 68 65 6c 70 66 75 6c 2d 2d 73 79 6e 74    61 78 2d 68 69 67 68 6c 69 67 68 74 20 28 68 65 | ..(helpful--syntax-highlight.(he | 
| 8180 | 6c 70 66 75 6c 2d 2d 70 72 65 74 74 79 2d 70 72    69 6e 74 20 69 74 29 29 29 0a 20 20 20 20 20 20 | lpful--pretty-print.it)))....... | 
| 81a0 | 20 20 20 20 68 6f 6f 6b 2d 76 61 6c 29 29 29 0a    20 20 20 20 28 66 6f 72 6d 61 74 20 22 28 25 73 | ....hook-val))).....(format."(%s | 
| 81c0 | 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 28    73 2d 6a 6f 69 6e 20 22 5c 6e 20 22 20 6c 69 6e | )".............(s-join."\n.".lin | 
| 81e0 | 65 73 29 29 29 29 0a 0a 3b 3b 20 54 4f 44 4f 3a    20 75 6e 6c 69 6b 65 20 60 73 75 62 73 74 69 74 | es))))..;;.TODO:.unlike.`substit | 
| 8200 | 75 74 65 2d 63 6f 6d 6d 61 6e 64 2d 6b 65 79 73    27 2c 20 74 68 69 73 20 73 68 6f 77 73 20 6b 65 | ute-command-keys',.this.shows.ke | 
| 8220 | 79 62 69 6e 64 69 6e 67 73 0a 3b 3b 20 77 68 69    63 68 20 61 72 65 20 63 75 72 72 65 6e 74 6c 79 | ybindings.;;.which.are.currently | 
| 8240 | 20 73 68 61 64 6f 77 65 64 20 28 65 2e 67 2e 20    61 20 67 6c 6f 62 61 6c 20 6d 69 6e 6f 72 20 6d | .shadowed.(e.g..a.global.minor.m | 
| 8260 | 6f 64 65 20 6d 61 70 29 2e 0a 28 64 65 66 75 6e    20 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 6d 61 74 | ode.map)..(defun.helpful--format | 
| 8280 | 2d 6b 65 79 6d 61 70 20 28 6b 65 79 6d 61 70 29    0a 20 20 22 46 6f 72 6d 61 74 20 4b 45 59 4d 41 | -keymap.(keymap)..."Format.KEYMA | 
| 82a0 | 50 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6b 65    79 73 2d 61 6e 64 2d 63 6f 6d 6d 61 6e 64 73 20 | P."...(let*.((keys-and-commands. | 
| 82c0 | 28 68 65 6c 70 66 75 6c 2d 2d 6b 65 79 6d 61 70    2d 6b 65 79 73 20 6b 65 79 6d 61 70 29 29 0a 20 | (helpful--keymap-keys.keymap)).. | 
| 82e0 | 20 20 20 20 20 20 20 20 3b 3b 20 43 6f 6e 76 65    72 74 20 6b 65 79 63 6f 64 65 73 20 5b 32 37 20 | ........;;.Convert.keycodes.[27. | 
| 8300 | 69 5d 20 74 6f 20 22 43 2d 4d 2d 69 22 2e 0a 20    20 20 20 20 20 20 20 20 28 6b 65 79 73 20 28 2d | i].to."C-M-i"...........(keys.(- | 
| 8320 | 6d 61 70 20 23 27 2d 66 69 72 73 74 2d 69 74 65    6d 20 6b 65 79 73 2d 61 6e 64 2d 63 6f 6d 6d 61 | map.#'-first-item.keys-and-comma | 
| 8340 | 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 3b    3b 20 41 64 64 20 70 61 64 64 69 6e 67 20 73 6f | nds))..........;;.Add.padding.so | 
| 8360 | 20 61 6c 6c 20 6f 75 72 20 73 74 72 69 6e 67 73    20 61 72 65 20 74 68 65 20 73 61 6d 65 20 6c 65 | .all.our.strings.are.the.same.le | 
| 8380 | 6e 67 74 68 2e 0a 20 20 20 20 20 20 20 20 20 28    66 6f 72 6d 61 74 74 65 64 2d 6b 65 79 73 20 28 | ngth...........(formatted-keys.( | 
| 83a0 | 2d 6d 61 70 20 23 27 6b 65 79 2d 64 65 73 63 72    69 70 74 69 6f 6e 20 6b 65 79 73 29 29 0a 20 20 | -map.#'key-description.keys))... | 
| 83c0 | 20 20 20 20 20 20 20 28 6d 61 78 2d 66 6f 72 6d    61 74 74 65 64 2d 6c 65 6e 67 74 68 20 28 2d 6d | .......(max-formatted-length.(-m | 
| 83e0 | 61 78 20 28 63 6f 6e 73 20 30 20 28 2d 6d 61 70    20 23 27 6c 65 6e 67 74 68 20 66 6f 72 6d 61 74 | ax.(cons.0.(-map.#'length.format | 
| 8400 | 74 65 64 2d 6b 65 79 73 29 29 29 29 0a 20 20 20    20 20 20 20 20 20 28 61 6c 69 67 6e 65 64 2d 6b | ted-keys))))..........(aligned-k | 
| 8420 | 65 79 73 20 28 2d 2d 6d 61 70 20 28 73 2d 70 61    64 2d 72 69 67 68 74 20 28 31 2b 20 6d 61 78 2d | eys.(--map.(s-pad-right.(1+.max- | 
| 8440 | 66 6f 72 6d 61 74 74 65 64 2d 6c 65 6e 67 74 68    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | formatted-length)............... | 
| 8460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 22 | ............................."." | 
| 8480 | 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .it)............................ | 
| 84a0 | 20 20 20 66 6f 72 6d 61 74 74 65 64 2d 6b 65 79    73 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 | ...formatted-keys))..........;;. | 
| 84c0 | 46 6f 72 6d 61 74 20 63 6f 6d 6d 61 6e 64 73 20    61 73 20 62 75 74 74 6f 6e 73 2e 0a 20 20 20 20 | Format.commands.as.buttons...... | 
| 84e0 | 20 20 20 20 20 28 63 6f 6d 6d 61 6e 64 73 20 28    2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 28 | .....(commands.(-map.(-lambda.(( | 
| 8500 | 5f 20 63 6f 6d 6d 61 6e 64 29 29 20 63 6f 6d 6d    61 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 | _.command)).command)............ | 
| 8520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65    79 73 2d 61 6e 64 2d 63 6f 6d 6d 61 6e 64 73 29 | ..............keys-and-commands) | 
| 8540 | 29 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d    61 74 74 65 64 2d 63 6f 6d 6d 61 6e 64 73 0a 20 | )..........(formatted-commands.. | 
| 8560 | 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 0a    20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 | .........(--map............(cond | 
| 8580 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73    79 6d 62 6f 6c 70 20 69 74 29 0a 20 20 20 20 20 | .............((symbolp.it)...... | 
| 85a0 | 20 20 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c    2d 2d 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 | ........(helpful--button........ | 
| 85c0 | 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 2d 6e    61 6d 65 20 69 74 29 0a 20 20 20 20 20 20 20 20 | .......(symbol-name.it)......... | 
| 85e0 | 20 20 20 20 20 20 27 68 65 6c 70 66 75 6c 2d 64    65 73 63 72 69 62 65 2d 62 75 74 74 6f 6e 0a 20 | ......'helpful-describe-button.. | 
| 8600 | 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 79    6d 62 6f 6c 20 69 74 29 29 0a 20 20 20 20 20 20 | .............'symbol.it))....... | 
| 8620 | 20 20 20 20 20 20 28 28 6f 72 20 28 73 74 72 69    6e 67 70 20 69 74 29 20 28 76 65 63 74 6f 72 70 | ......((or.(stringp.it).(vectorp | 
| 8640 | 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 22 4b 65 79 62 6f 61 72 64 20 4d 61 63 | .it)).............."Keyboard.Mac | 
| 8660 | 72 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ro").............(t............. | 
| 8680 | 20 22 23 3c 61 6e 6f 6e 79 6d 6f 75 73 2d 66 75    6e 63 74 69 6f 6e 3e 22 29 29 0a 20 20 20 20 20 | ."#<anonymous-function>"))...... | 
| 86a0 | 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 73 29 29    0a 20 20 20 20 20 20 20 20 20 3b 3b 20 42 75 69 | ......commands))..........;;.Bui | 
| 86c0 | 6c 64 20 6c 69 6e 65 73 20 66 6f 72 20 64 69 73    70 6c 61 79 2e 0a 20 20 20 20 20 20 20 20 20 28 | ld.lines.for.display...........( | 
| 86e0 | 6c 69 6e 65 73 0a 20 20 20 20 20 20 20 20 20 20    28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 | lines...........(-map.(-lambda.( | 
| 8700 | 28 6b 65 79 20 2e 20 63 6f 6d 6d 61 6e 64 29 29    20 28 66 6f 72 6d 61 74 20 22 25 73 20 25 73 22 | (key...command)).(format."%s.%s" | 
| 8720 | 20 6b 65 79 20 63 6f 6d 6d 61 6e 64 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | .key.command)).................( | 
| 8740 | 2d 7a 69 70 2d 70 61 69 72 20 61 6c 69 67 6e 65    64 2d 6b 65 79 73 20 66 6f 72 6d 61 74 74 65 64 | -zip-pair.aligned-keys.formatted | 
| 8760 | 2d 63 6f 6d 6d 61 6e 64 73 29 29 29 29 0a 20 20    20 20 3b 3b 20 54 68 65 20 66 6c 61 74 74 65 6e | -commands)))).....;;.The.flatten | 
| 8780 | 65 64 20 6b 65 79 6d 61 70 20 77 69 6c 6c 20 68    61 76 65 20 6e 6f 72 6d 61 6c 20 62 69 6e 64 69 | ed.keymap.will.have.normal.bindi | 
| 87a0 | 6e 67 73 20 66 69 72 73 74 2c 20 61 6e 64 0a 20    20 20 20 3b 3b 20 69 6e 68 65 72 69 74 65 64 20 | ngs.first,.and.....;;.inherited. | 
| 87c0 | 62 69 6e 64 69 6e 67 73 20 6c 61 73 74 2e 20 53    6f 72 74 20 73 6f 20 74 68 61 74 20 77 65 20 67 | bindings.last..Sort.so.that.we.g | 
| 87e0 | 72 6f 75 70 20 62 79 20 70 72 65 66 69 78 2e 0a    20 20 20 20 28 73 2d 6a 6f 69 6e 20 22 5c 6e 22 | roup.by.prefix......(s-join."\n" | 
| 8800 | 20 28 2d 73 6f 72 74 20 23 27 73 74 72 69 6e 67    3c 20 6c 69 6e 65 73 29 29 29 29 0a 0a 28 64 65 | .(-sort.#'string<.lines))))..(de | 
| 8820 | 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 66 6f 72    6d 61 74 2d 63 6f 6d 6d 61 6e 64 73 20 28 73 74 | fun.helpful--format-commands.(st | 
| 8840 | 72 20 6b 65 79 6d 61 70 29 0a 20 20 22 52 65 70    6c 61 63 65 20 61 6c 6c 20 74 68 65 20 5c 5c 5b | r.keymap)..."Replace.all.the.\\[ | 
| 8860 | 20 72 65 66 65 72 65 6e 63 65 73 20 69 6e 20 53    54 52 20 77 69 74 68 20 62 75 74 74 6f 6e 73 2e | .references.in.STR.with.buttons. | 
| 8880 | 22 0a 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67    65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 | "...(replace-regexp-in-string... | 
| 88a0 | 20 3b 3b 20 54 65 78 74 20 6f 66 20 74 68 65 20    66 6f 72 6d 20 5c 5c 5b 66 6f 6f 2d 63 6f 6d 6d | .;;.Text.of.the.form.\\[foo-comm | 
| 88c0 | 61 6e 64 5d 0a 20 20 20 28 72 78 20 22 5c 5c 5b    22 20 28 67 72 6f 75 70 20 28 2b 20 28 6e 6f 74 | and]....(rx."\\[".(group.(+.(not | 
| 88e0 | 20 28 69 6e 20 22 5d 22 29 29 29 29 20 22 5d 22    29 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 69 74 | .(in."]"))))."]")....(lambda.(it | 
| 8900 | 29 0a 20 20 20 20 20 28 6c 65 74 2a 20 28 28 62    75 74 74 6f 6e 2d 66 61 63 65 20 28 69 66 20 28 | )......(let*.((button-face.(if.( | 
| 8920 | 3e 3d 20 65 6d 61 63 73 2d 6d 61 6a 6f 72 2d 76    65 72 73 69 6f 6e 20 32 38 29 20 27 68 65 6c 70 | >=.emacs-major-version.28).'help | 
| 8940 | 2d 6b 65 79 2d 62 69 6e 64 69 6e 67 20 27 62 75    74 74 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 | -key-binding.'button)).......... | 
| 8960 | 20 20 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20    28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 | ...(symbol-name.(match-string.1. | 
| 8980 | 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 73 79 6d 62 6f 6c 20 28 69 6e 74 65 72 6e | it)).............(symbol.(intern | 
| 89a0 | 20 73 79 6d 62 6f 6c 2d 6e 61 6d 65 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 20 | .symbol-name)).............(key. | 
| 89c0 | 28 77 68 65 72 65 2d 69 73 2d 69 6e 74 65 72 6e    61 6c 20 73 79 6d 62 6f 6c 20 6b 65 79 6d 61 70 | (where-is-internal.symbol.keymap | 
| 89e0 | 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 6b 65 79 2d 64 65 73 63 72 69 70 74 69 6f | .t)).............(key-descriptio | 
| 8a00 | 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28    69 66 20 6b 65 79 0a 20 20 20 20 20 20 20 20 20 | n..............(if.key.......... | 
| 8a20 | 20 20 20 20 20 20 20 20 28 6b 65 79 2d 64 65 73    63 72 69 70 74 69 6f 6e 20 6b 65 79 29 0a 20 20 | ........(key-description.key)... | 
| 8a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f    72 6d 61 74 20 22 4d 2d 78 20 25 73 22 20 73 79 | .............(format."M-x.%s".sy | 
| 8a60 | 6d 62 6f 6c 2d 6e 61 6d 65 29 29 29 29 0a 20 20    20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 | mbol-name))))........(helpful--b | 
| 8a80 | 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 6b 65    79 2d 64 65 73 63 72 69 70 74 69 6f 6e 0a 20 20 | utton.........key-description... | 
| 8aa0 | 20 20 20 20 20 20 27 68 65 6c 70 66 75 6c 2d 64    65 73 63 72 69 62 65 2d 65 78 61 63 74 6c 79 2d | ......'helpful-describe-exactly- | 
| 8ac0 | 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 27    73 79 6d 62 6f 6c 20 73 79 6d 62 6f 6c 0a 20 20 | button.........'symbol.symbol... | 
| 8ae0 | 20 20 20 20 20 20 27 63 61 6c 6c 61 62 6c 65 2d    70 20 74 0a 20 20 20 20 20 20 20 20 27 66 61 63 | ......'callable-p.t.........'fac | 
| 8b00 | 65 20 62 75 74 74 6f 6e 2d 66 61 63 65 29 29 29    0a 20 20 20 73 74 72 0a 20 20 20 74 0a 20 20 20 | e.button-face)))....str....t.... | 
| 8b20 | 74 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70    66 75 6c 2d 2d 63 68 61 72 73 2d 62 65 66 6f 72 | t))..(defun.helpful--chars-befor | 
| 8b40 | 65 20 28 70 6f 73 20 6e 29 0a 20 20 22 52 65 74    75 72 6e 20 75 70 20 74 6f 20 4e 20 63 68 61 72 | e.(pos.n)..."Return.up.to.N.char | 
| 8b60 | 73 20 62 65 66 6f 72 65 20 50 4f 53 20 69 6e 20    74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 | s.before.POS.in.the.current.buff | 
| 8b80 | 65 72 2e 0a 54 68 65 20 73 74 72 69 6e 67 20 6d    61 79 20 62 65 20 73 68 6f 72 74 65 72 20 74 68 | er..The.string.may.be.shorter.th | 
| 8ba0 | 61 6e 20 4e 20 6f 72 20 65 6d 70 74 79 20 69 66    20 6f 75 74 2d 6f 66 2d 72 61 6e 67 65 2e 22 0a | an.N.or.empty.if.out-of-range.". | 
| 8bc0 | 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72    69 6e 67 0a 20 20 20 28 6d 61 78 20 28 70 6f 69 | ..(buffer-substring....(max.(poi | 
| 8be0 | 6e 74 2d 6d 69 6e 29 20 28 2d 20 70 6f 73 20 6e    29 29 0a 20 20 20 70 6f 73 29 29 0a 0a 28 64 65 | nt-min).(-.pos.n))....pos))..(de | 
| 8c00 | 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 63 68 61    72 73 2d 61 66 74 65 72 20 28 70 6f 73 20 6e 29 | fun.helpful--chars-after.(pos.n) | 
| 8c20 | 0a 20 20 22 52 65 74 75 72 6e 20 75 70 20 74 6f    20 4e 20 63 68 61 72 73 20 61 66 74 65 72 20 50 | ..."Return.up.to.N.chars.after.P | 
| 8c40 | 4f 53 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e    74 20 62 75 66 66 65 72 2e 0a 54 68 65 20 73 74 | OS.in.the.current.buffer..The.st | 
| 8c60 | 72 69 6e 67 20 6d 61 79 20 62 65 20 73 68 6f 72    74 65 72 20 74 68 61 6e 20 4e 20 6f 72 20 65 6d | ring.may.be.shorter.than.N.or.em | 
| 8c80 | 70 74 79 20 69 66 20 6f 75 74 2d 6f 66 2d 72 61    6e 67 65 2e 22 0a 20 20 28 62 75 66 66 65 72 2d | pty.if.out-of-range."...(buffer- | 
| 8ca0 | 73 75 62 73 74 72 69 6e 67 0a 20 20 20 70 6f 73    0a 20 20 20 28 6d 69 6e 20 28 70 6f 69 6e 74 2d | substring....pos....(min.(point- | 
| 8cc0 | 6d 61 78 29 20 28 2b 20 70 6f 73 20 6e 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 | max).(+.pos.n))))..(defun.helpfu | 
| 8ce0 | 6c 2d 2d 66 6f 72 6d 61 74 2d 63 6f 6d 6d 61 6e    64 2d 6b 65 79 73 20 28 64 6f 63 73 74 72 69 6e | l--format-command-keys.(docstrin | 
| 8d00 | 67 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 63 6f    6d 6d 61 6e 64 20 6b 65 79 20 72 65 66 65 72 65 | g)..."Convert.command.key.refere | 
| 8d20 | 6e 63 65 73 20 61 6e 64 20 6b 65 79 6d 61 70 20    72 65 66 65 72 65 6e 63 65 73 0a 69 6e 20 44 4f | nces.and.keymap.references.in.DO | 
| 8d40 | 43 53 54 52 49 4e 47 20 74 6f 20 62 75 74 74 6f    6e 73 2e 0a 0a 45 6d 61 63 73 20 75 73 65 73 20 | CSTRING.to.buttons...Emacs.uses. | 
| 8d60 | 5c 5c 3d 20 74 6f 20 65 73 63 61 70 65 20 5c 5c    5b 20 72 65 66 65 72 65 6e 63 65 73 2c 20 73 6f | \\=.to.escape.\\[.references,.so | 
| 8d80 | 20 72 65 70 6c 61 63 65 20 74 68 61 74 0a 75 6e    65 73 63 61 70 69 6e 67 20 74 6f 6f 2e 22 0a 20 | .replace.that.unescaping.too.".. | 
| 8da0 | 20 3b 3b 20 4c 6f 6f 73 65 6c 79 20 62 61 73 65    64 20 6f 6e 20 60 73 75 62 73 74 69 74 75 74 65 | .;;.Loosely.based.on.`substitute | 
| 8dc0 | 2d 63 6f 6d 6d 61 6e 64 2d 6b 65 79 73 27 2c 20    62 75 74 20 63 6f 6e 76 65 72 74 73 0a 20 20 3b | -command-keys',.but.converts...; | 
| 8de0 | 3b 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20    62 75 74 74 6f 6e 73 2e 0a 20 20 28 6c 65 74 20 | ;.references.to.buttons....(let. | 
| 8e00 | 28 28 6b 65 79 6d 61 70 20 6e 69 6c 29 29 0a 20    20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 | ((keymap.nil)).....(with-temp-bu | 
| 8e20 | 66 66 65 72 0a 20 20 20 20 20 20 28 69 6e 73 65    72 74 20 64 6f 63 73 74 72 69 6e 67 29 0a 20 20 | ffer.......(insert.docstring)... | 
| 8e40 | 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28    70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 | ....(goto-char.(point-min))..... | 
| 8e60 | 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 65    6f 62 70 29 29 0a 20 20 20 20 20 20 20 20 28 63 | ..(while.(not.(eobp)).........(c | 
| 8e80 | 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 28 28 6c    6f 6f 6b 69 6e 67 2d 61 74 0a 20 20 20 20 20 20 | ond..........((looking-at....... | 
| 8ea0 | 20 20 20 20 20 3b 3b 20 54 65 78 74 20 6f 66 20    74 68 65 20 66 6f 72 6d 20 22 66 6f 6f 22 0a 20 | .....;;.Text.of.the.form."foo".. | 
| 8ec0 | 20 20 20 20 20 20 20 20 20 20 28 72 78 20 22 5c    22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b | ..........(rx."\""))...........; | 
| 8ee0 | 3b 20 46 6f 72 20 6c 69 74 65 72 61 6c 20 73 74    72 69 6e 67 73 2c 20 65 73 63 61 70 65 20 62 61 | ;.For.literal.strings,.escape.ba | 
| 8f00 | 63 6b 73 6c 61 73 68 65 73 20 73 6f 20 6f 75 72    20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 | ckslashes.so.our.output......... | 
| 8f20 | 20 20 3b 3b 20 73 68 6f 77 73 20 63 6f 70 79 2d    70 61 73 74 65 61 62 6c 65 20 6c 69 74 65 72 61 | ..;;.shows.copy-pasteable.litera | 
| 8f40 | 6c 73 2e 0a 20 20 20 20 20 20 20 20 20 20 28 6c    65 74 2a 20 28 28 73 74 61 72 74 2d 70 6f 73 20 | ls............(let*.((start-pos. | 
| 8f60 | 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 65 6e 64 2d 70 | (point))..................(end-p | 
| 8f80 | 6f 73 20 28 70 72 6f 67 6e 20 28 66 6f 72 77 61    72 64 2d 63 68 61 72 29 20 28 73 65 61 72 63 68 | os.(progn.(forward-char).(search | 
| 8fa0 | 2d 66 6f 72 77 61 72 64 20 22 5c 22 22 20 6e 69    6c 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 | -forward."\"".nil.t))).......... | 
| 8fc0 | 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 73    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 | ........contents).............(i | 
| 8fe0 | 66 20 65 6e 64 2d 70 6f 73 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e | f.end-pos.................(progn | 
| 9000 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 73 65 74 71 20 63 6f 6e 74 65 6e 74 | ...................(setq.content | 
| 9020 | 73 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72    69 6e 67 20 73 74 61 72 74 2d 70 6f 73 20 65 6e | s.(buffer-substring.start-pos.en | 
| 9040 | 64 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 | d-pos))...................(delet | 
| 9060 | 65 2d 72 65 67 69 6f 6e 20 73 74 61 72 74 2d 70    6f 73 20 65 6e 64 2d 70 6f 73 29 0a 20 20 20 20 | e-region.start-pos.end-pos)..... | 
| 9080 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69    6e 73 65 72 74 20 28 73 2d 72 65 70 6c 61 63 65 | ..............(insert.(s-replace | 
| 90a0 | 20 22 5c 5c 22 20 22 5c 5c 5c 5c 22 20 63 6f 6e    74 65 6e 74 73 29 29 29 0a 20 20 20 20 20 20 20 | ."\\"."\\\\".contents)))........ | 
| 90c0 | 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d    63 68 61 72 20 31 29 29 29 29 0a 20 20 20 20 20 | .......(forward-char.1))))...... | 
| 90e0 | 20 20 20 20 28 28 6c 6f 6f 6b 69 6e 67 2d 61 74    0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 | ....((looking-at............;;.T | 
| 9100 | 65 78 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 20    5c 3d 58 0a 20 20 20 20 20 20 20 20 20 20 20 28 | ext.of.the.form.\=X............( | 
| 9120 | 72 78 20 22 5c 5c 3d 22 29 29 0a 20 20 20 20 20    20 20 20 20 20 3b 3b 20 52 65 6d 6f 76 65 20 74 | rx."\\="))...........;;.Remove.t | 
| 9140 | 68 65 20 65 73 63 61 70 69 6e 67 2c 20 74 68 65    6e 20 73 74 65 70 20 6f 76 65 72 20 74 68 65 20 | he.escaping,.then.step.over.the. | 
| 9160 | 65 73 63 61 70 65 64 20 63 68 61 72 2e 0a 20 20    20 20 20 20 20 20 20 20 3b 3b 20 53 74 65 70 20 | escaped.char............;;.Step. | 
| 9180 | 6f 76 65 72 20 74 68 65 20 65 73 63 61 70 65 64    20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 | over.the.escaped.character...... | 
| 91a0 | 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65    67 69 6f 6e 20 28 70 6f 69 6e 74 29 20 28 2b 20 | ......(delete-region.(point).(+. | 
| 91c0 | 28 70 6f 69 6e 74 29 20 32 29 29 0a 20 20 20 20    20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 63 | (point).2))...........(forward-c | 
| 91e0 | 68 61 72 20 31 29 29 0a 20 20 20 20 20 20 20 20    20 28 28 6c 6f 6f 6b 69 6e 67 2d 61 74 0a 20 20 | har.1))..........((looking-at... | 
| 9200 | 20 20 20 20 20 20 20 20 20 3b 3b 20 54 65 78 74    20 6f 66 20 74 68 65 20 66 6f 72 6d 20 60 66 6f | .........;;.Text.of.the.form.`fo | 
| 9220 | 6f 27 0a 20 20 20 20 20 20 20 20 20 20 20 28 72    78 20 22 60 22 29 29 0a 20 20 20 20 20 20 20 20 | o'............(rx."`"))......... | 
| 9240 | 20 20 28 6c 65 74 2a 20 28 28 73 74 61 72 74 2d    70 6f 73 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 | ..(let*.((start-pos.(point)).... | 
| 9260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65    6e 64 2d 70 6f 73 20 28 73 65 61 72 63 68 2d 66 | ..............(end-pos.(search-f | 
| 9280 | 6f 72 77 61 72 64 20 22 27 22 20 6e 69 6c 20 74    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | orward."'".nil.t)).............. | 
| 92a0 | 20 20 20 20 28 63 6f 6e 74 65 6e 74 73 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(contents................... | 
| 92c0 | 28 77 68 65 6e 20 65 6e 64 2d 70 6f 73 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (when.end-pos................... | 
| 92e0 | 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72    69 6e 67 20 28 31 2b 20 73 74 61 72 74 2d 70 6f | ..(buffer-substring.(1+.start-po | 
| 9300 | 73 29 20 28 31 2d 20 65 6e 64 2d 70 6f 73 29 29    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | s).(1-.end-pos)))))............. | 
| 9320 | 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 28 28 6e 75 6c 6c 20 63 6f 6e 74 65 6e | (cond..............((null.conten | 
| 9340 | 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3b 3b 20 49 66 20 74 68 65 72 65 27 73 20 | ts)...............;;.If.there's. | 
| 9360 | 6e 6f 20 63 6c 6f 73 69 6e 67 20 27 20 74 6f 20    6d 61 74 63 68 20 74 68 65 20 6f 70 65 6e 69 6e | no.closing.'.to.match.the.openin | 
| 9380 | 67 20 60 2c 20 6a 75 73 74 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3b 3b 20 6c 65 61 76 65 | g.`,.just...............;;.leave | 
| 93a0 | 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 31 | .it................(goto-char.(1 | 
| 93c0 | 2b 20 73 74 61 72 74 2d 70 6f 73 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 2d | +.start-pos)))..............((s- | 
| 93e0 | 63 6f 6e 74 61 69 6e 73 2d 70 20 22 60 22 20 63    6f 6e 74 65 6e 74 73 29 0a 20 20 20 20 20 20 20 | contains-p."`".contents)........ | 
| 9400 | 20 20 20 20 20 20 20 3b 3b 20 49 66 20 77 65 20    68 61 76 65 20 72 65 70 65 61 74 65 64 20 62 61 | .......;;.If.we.have.repeated.ba | 
| 9420 | 63 6b 74 69 63 6b 73 20 60 66 6f 6f 20 60 62 61    72 27 2c 20 6c 65 61 76 65 20 74 68 65 0a 20 20 | ckticks.`foo.`bar',.leave.the... | 
| 9440 | 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66    69 72 73 74 20 6f 6e 65 2e 0a 20 20 20 20 20 20 | ............;;.first.one........ | 
| 9460 | 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68    61 72 20 28 31 2b 20 73 74 61 72 74 2d 70 6f 73 | ........(goto-char.(1+.start-pos | 
| 9480 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 28 28 73 2d 63 6f 6e 74 61 69 6e 73 2d 70 20 | )))..............((s-contains-p. | 
| 94a0 | 22 5c 5c 5b 22 20 63 6f 6e 74 65 6e 74 73 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 | "\\[".contents)...............(d | 
| 94c0 | 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 73 74 61    72 74 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 29 0a | elete-region.start-pos.end-pos). | 
| 94e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69    6e 73 65 72 74 20 28 68 65 6c 70 66 75 6c 2d 2d | ..............(insert.(helpful-- | 
| 9500 | 66 6f 72 6d 61 74 2d 63 6f 6d 6d 61 6e 64 73 20    63 6f 6e 74 65 6e 74 73 20 6b 65 79 6d 61 70 29 | format-commands.contents.keymap) | 
| 9520 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    3b 3b 20 48 69 67 68 6c 69 67 68 74 20 61 20 6e | ))..............;;.Highlight.a.n | 
| 9540 | 6f 72 6d 61 6c 20 60 66 6f 6f 27 2c 20 65 78 74    72 61 63 74 69 6e 67 20 74 68 65 20 73 75 72 72 | ormal.`foo',.extracting.the.surr | 
| 9560 | 6f 75 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 3b 3b 20 74 65 78 74 20 73 6f 20 | ounding..............;;.text.so. | 
| 9580 | 77 65 20 63 61 6e 20 64 65 74 65 63 74 20 65 2e    67 2e 20 22 66 75 6e 63 74 69 6f 6e 20 60 66 6f | we.can.detect.e.g.."function.`fo | 
| 95a0 | 6f 27 22 2e 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 | o'"...............(t............ | 
| 95c0 | 20 20 20 28 6c 65 74 20 28 28 62 65 66 6f 72 65    20 28 68 65 6c 70 66 75 6c 2d 2d 63 68 61 72 73 | ...(let.((before.(helpful--chars | 
| 95e0 | 2d 62 65 66 6f 72 65 20 73 74 61 72 74 2d 70 6f    73 20 31 30 29 29 0a 20 20 20 20 20 20 20 20 20 | -before.start-pos.10)).......... | 
| 9600 | 20 20 20 20 20 20 20 20 20 20 20 28 61 66 74 65    72 20 28 68 65 6c 70 66 75 6c 2d 2d 63 68 61 72 | ...........(after.(helpful--char | 
| 9620 | 73 2d 61 66 74 65 72 20 65 6e 64 2d 70 6f 73 20    31 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | s-after.end-pos.10)))........... | 
| 9640 | 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65    67 69 6f 6e 20 73 74 61 72 74 2d 70 6f 73 20 65 | ......(delete-region.start-pos.e | 
| 9660 | 6e 64 2d 70 6f 73 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 | nd-pos).................(insert. | 
| 9680 | 28 68 65 6c 70 66 75 6c 2d 2d 70 72 6f 70 65 72    74 69 7a 65 2d 73 79 6d 2d 72 65 66 20 63 6f 6e | (helpful--propertize-sym-ref.con | 
| 96a0 | 74 65 6e 74 73 20 62 65 66 6f 72 65 20 61 66 74    65 72 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 | tents.before.after)))))))....... | 
| 96c0 | 20 20 20 28 28 6c 6f 6f 6b 69 6e 67 2d 61 74 0a    20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 65 | ...((looking-at............;;.Te | 
| 96e0 | 78 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 5c    5c 3c 66 6f 6f 2d 6b 65 79 6d 61 70 3e 0a 20 20 | xt.of.the.form.\\<foo-keymap>... | 
| 9700 | 20 20 20 20 20 20 20 20 20 28 72 78 20 22 5c 5c    3c 22 20 28 67 72 6f 75 70 20 28 2b 20 28 6e 6f | .........(rx."\\<".(group.(+.(no | 
| 9720 | 74 20 28 69 6e 20 22 3e 22 29 29 29 29 20 22 3e    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.(in.">")))).">"............... | 
| 9740 | 20 28 3f 20 22 5c 6e 22 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 73 79 | .(?."\n")))...........(let*.((sy | 
| 9760 | 6d 62 6f 6c 2d 77 69 74 68 2d 70 61 72 65 6e 73    20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 30 | mbol-with-parens.(match-string.0 | 
| 9780 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 | ))..................(symbol-name | 
| 97a0 | 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .(match-string.1)))............. | 
| 97c0 | 3b 3b 20 52 65 6d 6f 76 65 20 74 68 65 20 6f 72    69 67 69 6e 61 6c 20 73 74 72 69 6e 67 2e 0a 20 | ;;.Remove.the.original.string... | 
| 97e0 | 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65    74 65 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 | ...........(delete-region.(point | 
| 9800 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 | )............................(+. | 
| 9820 | 28 70 6f 69 6e 74 29 20 28 6c 65 6e 67 74 68 20    73 79 6d 62 6f 6c 2d 77 69 74 68 2d 70 61 72 65 | (point).(length.symbol-with-pare | 
| 9840 | 6e 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 3b 3b 20 53 65 74 20 74 68 65 20 6e 65 77 | ns))).............;;.Set.the.new | 
| 9860 | 20 6b 65 79 6d 61 70 2e 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 73 65 74 71 20 6b 65 79 6d 61 | .keymap..............(setq.keyma | 
| 9880 | 70 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20    28 69 6e 74 65 72 6e 20 73 79 6d 62 6f 6c 2d 6e | p.(symbol-value.(intern.symbol-n | 
| 98a0 | 61 6d 65 29 29 29 29 29 0a 20 20 20 20 20 20 20    20 20 28 28 6c 6f 6f 6b 69 6e 67 2d 61 74 0a 20 | ame)))))..........((looking-at.. | 
| 98c0 | 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 65 78    74 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 5c 5c | ..........;;.Text.of.the.form.\\ | 
| 98e0 | 7b 66 6f 6f 2d 6d 6f 64 65 2d 6d 61 70 7d 0a 20    20 20 20 20 20 20 20 20 20 20 28 72 78 20 22 5c | {foo-mode-map}............(rx."\ | 
| 9900 | 5c 7b 22 20 28 67 72 6f 75 70 20 28 2b 20 28 6e    6f 74 20 28 69 6e 20 22 7d 22 29 29 29 29 20 22 | \{".(group.(+.(not.(in."}"))))." | 
| 9920 | 7d 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28    6c 65 74 2a 20 28 28 73 79 6d 62 6f 6c 2d 77 69 | }"))...........(let*.((symbol-wi | 
| 9940 | 74 68 2d 70 61 72 65 6e 73 20 28 6d 61 74 63 68    2d 73 74 72 69 6e 67 20 30 29 29 0a 20 20 20 20 | th-parens.(match-string.0))..... | 
| 9960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79    6d 62 6f 6c 2d 6e 61 6d 65 20 28 6d 61 74 63 68 | .............(symbol-name.(match | 
| 9980 | 2d 73 74 72 69 6e 67 20 31 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 65 | -string.1))..................(ke | 
| 99a0 | 79 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3b 3b 20 47 72 61 63 65 66 | ymap...................;;.Gracef | 
| 99c0 | 75 6c 6c 79 20 68 61 6e 64 6c 65 20 76 61 72 69    61 62 6c 65 73 20 6e 6f 74 20 62 65 69 6e 67 20 | ully.handle.variables.not.being. | 
| 99e0 | 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f | defined....................(igno | 
| 9a00 | 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 | re-errors.....................(s | 
| 9a20 | 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 28 69 6e 74    65 72 6e 20 73 79 6d 62 6f 6c 2d 6e 61 6d 65 29 | ymbol-value.(intern.symbol-name) | 
| 9a40 | 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 3b 3b 20 52 65 6d 6f 76 65 20 74 68 65 20 6f | )))).............;;.Remove.the.o | 
| 9a60 | 72 69 67 69 6e 61 6c 20 73 74 72 69 6e 67 2e 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c | riginal.string..............(del | 
| 9a80 | 65 74 65 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e    74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ete-region.(point).............. | 
| 9aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b    20 28 70 6f 69 6e 74 29 20 28 6c 65 6e 67 74 68 | ..............(+.(point).(length | 
| 9ac0 | 20 73 79 6d 62 6f 6c 2d 77 69 74 68 2d 70 61 72    65 6e 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 | .symbol-with-parens))).......... | 
| 9ae0 | 20 20 20 28 69 66 20 6b 65 79 6d 61 70 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 | ...(if.keymap.................(i | 
| 9b00 | 6e 73 65 72 74 20 28 68 65 6c 70 66 75 6c 2d 2d    66 6f 72 6d 61 74 2d 6b 65 79 6d 61 70 20 6b 65 | nsert.(helpful--format-keymap.ke | 
| 9b20 | 79 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f | ymap))...............(insert.(fo | 
| 9b40 | 72 6d 61 74 20 22 4b 65 79 6d 61 70 20 25 73 20    69 73 20 6e 6f 74 20 63 75 72 72 65 6e 74 6c 79 | rmat."Keymap.%s.is.not.currently | 
| 9b60 | 20 64 65 66 69 6e 65 64 2e 22 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .defined."...................... | 
| 9b80 | 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 2d    6e 61 6d 65 29 29 29 29 29 0a 20 20 20 20 20 20 | .........symbol-name)))))....... | 
| 9ba0 | 20 20 20 28 28 6c 6f 6f 6b 69 6e 67 2d 61 74 0a    20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 65 | ...((looking-at............;;.Te | 
| 9bc0 | 78 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 5c    5c 5b 66 6f 6f 2d 63 6f 6d 6d 61 6e 64 5d 0a 20 | xt.of.the.form.\\[foo-command].. | 
| 9be0 | 20 20 20 20 20 20 20 20 20 20 28 72 78 20 22 5c    5c 5b 22 20 28 67 72 6f 75 70 20 28 2b 20 28 6e | ..........(rx."\\[".(group.(+.(n | 
| 9c00 | 6f 74 20 28 69 6e 20 22 5d 22 29 29 29 29 20 22    5d 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | ot.(in."]"))))."]"))...........( | 
| 9c20 | 6c 65 74 2a 20 28 28 73 79 6d 62 6f 6c 2d 77 69    74 68 2d 70 61 72 65 6e 73 20 28 6d 61 74 63 68 | let*.((symbol-with-parens.(match | 
| 9c40 | 2d 73 74 72 69 6e 67 20 30 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 3b 3b 20 52 65 6d 6f | -string.0))).............;;.Remo | 
| 9c60 | 76 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20    73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 | ve.the.original.string.......... | 
| 9c80 | 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69    6f 6e 20 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 | ....(delete-region.(point)...... | 
| 9ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 2b 20 28 70 6f 69 6e 74 29 | ......................(+.(point) | 
| 9cc0 | 20 28 6c 65 6e 67 74 68 20 73 79 6d 62 6f 6c 2d    77 69 74 68 2d 70 61 72 65 6e 73 29 29 29 0a 20 | .(length.symbol-with-parens))).. | 
| 9ce0 | 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 64    64 20 61 20 62 75 74 74 6f 6e 2e 0a 20 20 20 20 | ...........;;.Add.a.button...... | 
| 9d00 | 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20    28 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 6d 61 74 | ........(insert.(helpful--format | 
| 9d20 | 2d 63 6f 6d 6d 61 6e 64 73 20 73 79 6d 62 6f 6c    2d 77 69 74 68 2d 70 61 72 65 6e 73 20 6b 65 79 | -commands.symbol-with-parens.key | 
| 9d40 | 6d 61 70 29 29 29 29 0a 20 20 20 20 20 20 20 20    20 3b 3b 20 44 6f 6e 27 74 20 6d 6f 64 69 66 79 | map))))..........;;.Don't.modify | 
| 9d60 | 20 6f 74 68 65 72 20 63 68 61 72 61 63 74 65 72    73 2e 0a 20 20 20 20 20 20 20 20 20 28 74 0a 20 | .other.characters...........(t.. | 
| 9d80 | 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72    64 2d 63 68 61 72 20 31 29 29 29 29 0a 20 20 20 | .........(forward-char.1)))).... | 
| 9da0 | 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e    67 29 29 29 29 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 | ...(buffer-string))))..;;.TODO:. | 
| 9dc0 | 66 69 78 20 75 70 73 74 72 65 61 6d 20 45 6d 61    63 73 20 62 75 67 20 74 68 61 74 20 6d 65 61 6e | fix.upstream.Emacs.bug.that.mean | 
| 9de0 | 73 20 60 2d 6d 61 70 27 20 69 73 20 6e 6f 74 20    68 69 67 68 6c 69 67 68 74 65 64 0a 3b 3b 20 69 | s.`-map'.is.not.highlighted.;;.i | 
| 9e00 | 6e 20 74 68 65 20 64 6f 63 73 74 72 69 6e 67 20    66 6f 72 20 60 2d 2d 6d 61 70 27 2e 0a 28 64 65 | n.the.docstring.for.`--map'..(de | 
| 9e20 | 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 66 6f 72    6d 61 74 2d 64 6f 63 73 74 72 69 6e 67 20 28 64 | fun.helpful--format-docstring.(d | 
| 9e40 | 6f 63 73 74 72 69 6e 67 29 0a 20 20 22 52 65 70    6c 61 63 65 20 63 72 6f 73 73 2d 72 65 66 65 72 | ocstring)..."Replace.cross-refer | 
| 9e60 | 65 6e 63 65 73 20 77 69 74 68 20 6c 69 6e 6b 73    20 69 6e 20 44 4f 43 53 54 52 49 4e 47 2e 22 0a | ences.with.links.in.DOCSTRING.". | 
| 9e80 | 20 20 28 2d 3e 20 64 6f 63 73 74 72 69 6e 67 0a    20 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d | ..(->.docstring.......(helpful-- | 
| 9ea0 | 73 70 6c 69 74 2d 66 69 72 73 74 2d 6c 69 6e 65    29 0a 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c | split-first-line).......(helpful | 
| 9ec0 | 2d 2d 70 72 6f 70 65 72 74 69 7a 65 2d 69 6e 66    6f 29 0a 20 20 20 20 20 20 28 68 65 6c 70 66 75 | --propertize-info).......(helpfu | 
| 9ee0 | 6c 2d 2d 70 72 6f 70 65 72 74 69 7a 65 2d 6c 69    6e 6b 73 29 0a 20 20 20 20 20 20 28 68 65 6c 70 | l--propertize-links).......(help | 
| 9f00 | 66 75 6c 2d 2d 70 72 6f 70 65 72 74 69 7a 65 2d    62 61 72 65 2d 6c 69 6e 6b 73 29 0a 20 20 20 20 | ful--propertize-bare-links)..... | 
| 9f20 | 20 20 28 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 6d    61 74 2d 63 6f 6d 6d 61 6e 64 2d 6b 65 79 73 29 | ..(helpful--format-command-keys) | 
| 9f40 | 0a 20 20 20 20 20 20 28 73 2d 74 72 69 6d 29 29    29 0a 0a 28 64 65 66 69 6e 65 2d 62 75 74 74 6f | .......(s-trim)))..(define-butto | 
| 9f60 | 6e 2d 74 79 70 65 20 27 68 65 6c 70 66 75 6c 2d    6c 69 6e 6b 2d 62 75 74 74 6f 6e 0a 20 20 27 61 | n-type.'helpful-link-button...'a | 
| 9f80 | 63 74 69 6f 6e 20 23 27 68 65 6c 70 66 75 6c 2d    2d 66 6f 6c 6c 6f 77 2d 6c 69 6e 6b 0a 20 20 27 | ction.#'helpful--follow-link...' | 
| 9fa0 | 66 6f 6c 6c 6f 77 2d 6c 69 6e 6b 20 74 0a 20 20    27 68 65 6c 70 2d 65 63 68 6f 20 22 46 6f 6c 6c | follow-link.t...'help-echo."Foll | 
| 9fc0 | 6f 77 20 74 68 69 73 20 6c 69 6e 6b 22 29 0a 0a    28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d | ow.this.link")..(defun.helpful-- | 
| 9fe0 | 70 72 6f 70 65 72 74 69 7a 65 2d 6c 69 6e 6b 73    20 28 64 6f 63 73 74 72 69 6e 67 29 0a 20 20 22 | propertize-links.(docstring)..." | 
| a000 | 43 6f 6e 76 65 72 74 20 55 52 4c 20 6c 69 6e 6b    73 20 69 6e 20 64 6f 63 73 74 72 69 6e 67 73 20 | Convert.URL.links.in.docstrings. | 
| a020 | 74 6f 20 62 75 74 74 6f 6e 73 2e 22 0a 20 20 28    72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 | to.buttons."...(replace-regexp-i | 
| a040 | 6e 2d 73 74 72 69 6e 67 0a 20 20 20 28 72 78 20    22 55 52 4c 20 60 22 20 28 67 72 6f 75 70 20 28 | n-string....(rx."URL.`".(group.( | 
| a060 | 2a 3f 20 61 6e 79 29 29 20 22 27 22 29 0a 20 20    20 28 6c 61 6d 62 64 61 20 28 6d 61 74 63 68 29 | *?.any))."'")....(lambda.(match) | 
| a080 | 0a 20 20 20 20 20 28 6c 65 74 20 28 28 75 72 6c    20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 | ......(let.((url.(match-string.1 | 
| a0a0 | 20 6d 61 74 63 68 29 29 29 0a 20 20 20 20 20 20    20 28 63 6f 6e 63 61 74 20 22 55 52 4c 20 22 0a | .match)))........(concat."URL.". | 
| a0c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e 0a | ...............(helpful--button. | 
| a0e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ................url............. | 
| a100 | 20 20 20 20 27 68 65 6c 70 66 75 6c 2d 6c 69 6e    6b 2d 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 | ....'helpful-link-button........ | 
| a120 | 20 20 20 20 20 20 20 20 20 27 75 72 6c 20 75 72    6c 29 29 29 29 0a 20 20 20 64 6f 63 73 74 72 69 | .........'url.url))))....docstri | 
| a140 | 6e 67 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c    70 66 75 6c 2d 2d 70 72 6f 70 65 72 74 69 7a 65 | ng))..(defun.helpful--propertize | 
| a160 | 2d 62 61 72 65 2d 6c 69 6e 6b 73 20 28 64 6f 63    73 74 72 69 6e 67 29 0a 20 20 22 43 6f 6e 76 65 | -bare-links.(docstring)..."Conve | 
| a180 | 72 74 20 55 52 4c 20 6c 69 6e 6b 73 20 69 6e 20    64 6f 63 73 74 72 69 6e 67 73 20 74 6f 20 62 75 | rt.URL.links.in.docstrings.to.bu | 
| a1a0 | 74 74 6f 6e 73 2e 22 0a 20 20 28 72 65 70 6c 61    63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 | ttons."...(replace-regexp-in-str | 
| a1c0 | 69 6e 67 0a 20 20 20 28 72 78 20 28 67 72 6f 75    70 20 28 6f 72 20 73 74 72 69 6e 67 2d 73 74 61 | ing....(rx.(group.(or.string-sta | 
| a1e0 | 72 74 20 73 70 61 63 65 20 22 3c 22 29 29 0a 20    20 20 20 20 20 20 28 67 72 6f 75 70 20 22 68 74 | rt.space."<"))........(group."ht | 
| a200 | 74 70 22 20 28 3f 20 22 73 22 29 20 22 3a 2f 2f    22 20 28 2b 3f 20 28 6e 6f 74 20 28 61 6e 79 20 | tp".(?."s")."://".(+?.(not.(any. | 
| a220 | 73 70 61 63 65 29 29 29 29 0a 20 20 20 20 20 20    20 28 67 72 6f 75 70 20 28 3f 20 28 61 6e 79 20 | space))))........(group.(?.(any. | 
| a240 | 22 2e 22 20 22 3e 22 20 22 29 22 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 | ".".">".")"))...............(or. | 
| a260 | 73 70 61 63 65 20 73 74 72 69 6e 67 2d 65 6e 64    20 22 3e 22 29 29 29 0a 20 20 20 28 6c 61 6d 62 | space.string-end.">")))....(lamb | 
| a280 | 64 61 20 28 6d 61 74 63 68 29 0a 20 20 20 20 20    28 6c 65 74 20 28 28 73 70 61 63 65 2d 62 65 66 | da.(match)......(let.((space-bef | 
| a2a0 | 6f 72 65 20 28 6d 61 74 63 68 2d 73 74 72 69 6e    67 20 31 20 6d 61 74 63 68 29 29 0a 20 20 20 20 | ore.(match-string.1.match))..... | 
| a2c0 | 20 20 20 20 20 20 20 28 75 72 6c 20 28 6d 61 74    63 68 2d 73 74 72 69 6e 67 20 32 20 6d 61 74 63 | .......(url.(match-string.2.matc | 
| a2e0 | 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28    61 66 74 65 72 20 28 6d 61 74 63 68 2d 73 74 72 | h))............(after.(match-str | 
| a300 | 69 6e 67 20 33 20 6d 61 74 63 68 29 29 29 0a 20    20 20 20 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 | ing.3.match)))........(concat... | 
| a320 | 20 20 20 20 20 20 73 70 61 63 65 2d 62 65 66 6f    72 65 0a 20 20 20 20 20 20 20 20 28 68 65 6c 70 | ......space-before.........(help | 
| a340 | 66 75 6c 2d 2d 62 75 74 74 6f 6e 0a 20 20 20 20    20 20 20 20 20 75 72 6c 0a 20 20 20 20 20 20 20 | ful--button..........url........ | 
| a360 | 20 20 27 68 65 6c 70 66 75 6c 2d 6c 69 6e 6b 2d    62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 | ..'helpful-link-button.......... | 
| a380 | 27 75 72 6c 20 75 72 6c 29 0a 20 20 20 20 20 20    20 20 61 66 74 65 72 29 29 29 0a 20 20 20 64 6f | 'url.url).........after)))....do | 
| a3a0 | 63 73 74 72 69 6e 67 29 29 0a 0a 28 64 65 66 75    6e 20 68 65 6c 70 66 75 6c 2d 2d 66 6f 6c 6c 6f | cstring))..(defun.helpful--follo | 
| a3c0 | 77 2d 6c 69 6e 6b 20 28 62 75 74 74 6f 6e 29 0a    20 20 22 46 6f 6c 6c 6f 77 20 74 68 65 20 55 52 | w-link.(button)..."Follow.the.UR | 
| a3e0 | 4c 20 73 70 65 63 69 66 69 65 64 20 62 79 20 42    55 54 54 4f 4e 2e 22 0a 20 20 28 62 72 6f 77 73 | L.specified.by.BUTTON."...(brows | 
| a400 | 65 2d 75 72 6c 20 28 62 75 74 74 6f 6e 2d 67 65    74 20 62 75 74 74 6f 6e 20 27 75 72 6c 29 29 29 | e-url.(button-get.button.'url))) | 
| a420 | 0a 0a 28 64 65 66 63 6f 6e 73 74 20 68 65 6c 70    66 75 6c 2d 2d 68 69 67 68 6c 69 67 68 74 69 6e | ..(defconst.helpful--highlightin | 
| a440 | 67 2d 66 75 6e 63 73 0a 20 20 27 28 65 72 74 2d    2d 61 63 74 69 76 61 74 65 2d 66 6f 6e 74 2d 6c | g-funcs...'(ert--activate-font-l | 
| a460 | 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 0a 20 20 20    20 68 69 67 68 6c 69 67 68 74 2d 71 75 6f 74 65 | ock-keywords.....highlight-quote | 
| a480 | 64 2d 6d 6f 64 65 0a 20 20 20 20 72 61 69 6e 62    6f 77 2d 64 65 6c 69 6d 69 74 65 72 73 2d 6d 6f | d-mode.....rainbow-delimiters-mo | 
| a4a0 | 64 65 29 0a 20 20 22 48 69 67 68 6c 69 67 68 74    69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 | de)..."Highlighting.functions.th | 
| a4c0 | 61 74 20 61 72 65 20 73 61 66 65 20 74 6f 20 72    75 6e 20 69 6e 20 61 20 74 65 6d 70 6f 72 61 72 | at.are.safe.to.run.in.a.temporar | 
| a4e0 | 79 20 62 75 66 66 65 72 2e 0a 54 68 69 73 20 69    73 20 75 73 65 64 20 69 6e 20 60 68 65 6c 70 66 | y.buffer..This.is.used.in.`helpf | 
| a500 | 75 6c 2d 2d 73 79 6e 74 61 78 2d 68 69 67 68 6c    69 67 68 74 27 20 74 6f 20 73 75 70 70 6f 72 74 | ul--syntax-highlight'.to.support | 
| a520 | 20 65 78 74 72 61 0a 68 69 67 68 6c 69 67 68 74    69 6e 67 20 74 68 61 74 20 74 68 65 20 75 73 65 | .extra.highlighting.that.the.use | 
| a540 | 72 20 6d 61 79 20 68 61 76 65 20 63 6f 6e 66 69    67 75 72 65 64 20 69 6e 20 74 68 65 69 72 20 6d | r.may.have.configured.in.their.m | 
| a560 | 6f 64 65 0a 68 6f 6f 6b 73 2e 22 29 0a 0a 3b 3b    20 54 4f 44 4f 3a 20 63 72 61 73 68 65 73 20 6f | ode.hooks.")..;;.TODO:.crashes.o | 
| a580 | 6e 20 60 62 61 63 6b 74 72 61 63 65 2d 66 72 61    6d 65 27 20 6f 6e 20 61 20 72 65 63 65 6e 74 20 | n.`backtrace-frame'.on.a.recent. | 
| a5a0 | 63 68 65 63 6b 6f 75 74 2e 0a 0a 28 64 65 66 75    6e 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6e 74 61 | checkout...(defun.helpful--synta | 
| a5c0 | 78 2d 68 69 67 68 6c 69 67 68 74 20 28 73 6f 75    72 63 65 20 26 6f 70 74 69 6f 6e 61 6c 20 6d 6f | x-highlight.(source.&optional.mo | 
| a5e0 | 64 65 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20    70 72 6f 70 65 72 74 69 7a 65 64 20 76 65 72 73 | de)..."Return.a.propertized.vers | 
| a600 | 69 6f 6e 20 6f 66 20 53 4f 55 52 43 45 20 69 6e    20 4d 4f 44 45 2e 22 0a 20 20 28 75 6e 6c 65 73 | ion.of.SOURCE.in.MODE."...(unles | 
| a620 | 73 20 6d 6f 64 65 0a 20 20 20 20 28 73 65 74 71    20 6d 6f 64 65 20 23 27 65 6d 61 63 73 2d 6c 69 | s.mode.....(setq.mode.#'emacs-li | 
| a640 | 73 70 2d 6d 6f 64 65 29 29 0a 20 20 28 69 66 20    28 6f 72 0a 20 20 20 20 20 20 20 28 3c 20 28 6c | sp-mode))...(if.(or........(<.(l | 
| a660 | 65 6e 67 74 68 20 73 6f 75 72 63 65 29 20 68 65    6c 70 66 75 6c 2d 6d 61 78 2d 68 69 67 68 6c 69 | ength.source).helpful-max-highli | 
| a680 | 67 68 74 29 0a 20 20 20 20 20 20 20 28 65 71 20    6d 6f 64 65 20 27 65 6d 61 63 73 2d 6c 69 73 70 | ght)........(eq.mode.'emacs-lisp | 
| a6a0 | 2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 28 77    69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a | -mode)).......(with-temp-buffer. | 
| a6c0 | 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20    73 6f 75 72 63 65 29 0a 0a 20 20 20 20 20 20 20 | ........(insert.source)......... | 
| a6e0 | 20 3b 3b 20 53 77 69 74 63 68 20 74 6f 20 6d 61    6a 6f 72 2d 6d 6f 64 65 20 4d 4f 44 45 2c 20 62 | .;;.Switch.to.major-mode.MODE,.b | 
| a700 | 75 74 20 64 6f 6e 27 74 20 72 75 6e 20 61 6e 79    20 68 6f 6f 6b 73 2e 0a 20 20 20 20 20 20 20 20 | ut.don't.run.any.hooks.......... | 
| a720 | 28 64 65 6c 61 79 2d 6d 6f 64 65 2d 68 6f 6f 6b    73 20 28 66 75 6e 63 61 6c 6c 20 6d 6f 64 65 29 | (delay-mode-hooks.(funcall.mode) | 
| a740 | 29 0a 0a 20 20 20 20 20 20 20 20 3b 3b 20 60 64    65 6c 61 79 65 64 2d 6d 6f 64 65 2d 68 6f 6f 6b | )..........;;.`delayed-mode-hook | 
| a760 | 73 27 20 63 6f 6e 74 61 69 6e 73 20 6d 6f 64 65    20 68 6f 6f 6b 73 20 6c 69 6b 65 0a 20 20 20 20 | s'.contains.mode.hooks.like..... | 
| a780 | 20 20 20 20 3b 3b 20 60 65 6d 61 63 73 2d 6c 69    73 70 2d 6d 6f 64 65 2d 68 6f 6f 6b 27 2e 20 42 | ....;;.`emacs-lisp-mode-hook'..B | 
| a7a0 | 75 69 6c 64 20 61 20 6c 69 73 74 20 6f 66 20 66    75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 61 72 | uild.a.list.of.functions.that.ar | 
| a7c0 | 65 20 72 75 6e 0a 20 20 20 20 20 20 20 20 3b 3b    20 77 68 65 6e 20 74 68 65 20 6d 6f 64 65 20 68 | e.run.........;;.when.the.mode.h | 
| a7e0 | 6f 6f 6b 73 20 72 75 6e 2e 0a 20 20 20 20 20 20    20 20 28 6c 65 74 20 28 68 6f 6f 6b 2d 66 75 6e | ooks.run..........(let.(hook-fun | 
| a800 | 63 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 64    6f 6c 69 73 74 20 28 68 6f 6f 6b 20 64 65 6c 61 | cs)...........(dolist.(hook.dela | 
| a820 | 79 65 64 2d 6d 6f 64 65 2d 68 6f 6f 6b 73 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 | yed-mode-hooks).............(let | 
| a840 | 20 28 28 66 75 6e 63 73 20 28 73 79 6d 62 6f 6c    2d 76 61 6c 75 65 20 68 6f 6f 6b 29 29 29 0a 20 | .((funcs.(symbol-value.hook))).. | 
| a860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 68 6f 6f 6b 2d 66 75 6e 63 73 20 28 61 | .............(setq.hook-funcs.(a | 
| a880 | 70 70 65 6e 64 20 68 6f 6f 6b 2d 66 75 6e 63 73    20 66 75 6e 63 73 29 29 29 29 0a 0a 20 20 20 20 | ppend.hook-funcs.funcs))))...... | 
| a8a0 | 20 20 20 20 20 20 3b 3b 20 46 69 6c 74 65 72 20    68 6f 6f 6b 73 20 74 6f 20 74 68 6f 73 65 20 74 | ......;;.Filter.hooks.to.those.t | 
| a8c0 | 68 61 74 20 72 65 6c 61 74 65 20 74 6f 20 68 69    67 68 6c 69 67 68 74 69 6e 67 2c 20 61 6e 64 20 | hat.relate.to.highlighting,.and. | 
| a8e0 | 72 75 6e 20 74 68 65 6d 2e 0a 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 68 6f 6f 6b 2d 66 | run.them............(setq.hook-f | 
| a900 | 75 6e 63 73 20 28 2d 69 6e 74 65 72 73 65 63 74    69 6f 6e 20 68 6f 6f 6b 2d 66 75 6e 63 73 20 68 | uncs.(-intersection.hook-funcs.h | 
| a920 | 65 6c 70 66 75 6c 2d 2d 68 69 67 68 6c 69 67 68    74 69 6e 67 2d 66 75 6e 63 73 29 29 0a 20 20 20 | elpful--highlighting-funcs)).... | 
| a940 | 20 20 20 20 20 20 20 28 2d 6d 61 70 20 23 27 66    75 6e 63 61 6c 6c 20 68 6f 6f 6b 2d 66 75 6e 63 | .......(-map.#'funcall.hook-func | 
| a960 | 73 29 29 0a 0a 20 20 20 20 20 20 20 20 28 69 66    20 28 66 62 6f 75 6e 64 70 20 27 66 6f 6e 74 2d | s))..........(if.(fboundp.'font- | 
| a980 | 6c 6f 63 6b 2d 65 6e 73 75 72 65 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c | lock-ensure).............(font-l | 
| a9a0 | 6f 63 6b 2d 65 6e 73 75 72 65 29 0a 20 20 20 20    20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 | ock-ensure)...........(with-no-w | 
| a9c0 | 61 72 6e 69 6e 67 73 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 | arnings.............(font-lock-f | 
| a9e0 | 6f 6e 74 69 66 79 2d 62 75 66 66 65 72 29 29 29    0a 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 | ontify-buffer))).........(buffer | 
| aa00 | 2d 73 74 72 69 6e 67 29 29 0a 20 20 20 20 3b 3b    20 53 4f 55 52 43 45 20 77 61 73 20 74 6f 6f 20 | -string)).....;;.SOURCE.was.too. | 
| aa20 | 6c 6f 6e 67 20 74 6f 20 68 69 67 68 6c 69 67 68    74 20 69 6e 20 61 20 72 65 61 73 6f 6e 61 62 6c | long.to.highlight.in.a.reasonabl | 
| aa40 | 65 20 61 6d 6f 75 6e 74 20 6f 66 0a 20 20 20 20    3b 3b 20 74 69 6d 65 2e 0a 20 20 20 20 28 63 6f | e.amount.of.....;;.time......(co | 
| aa60 | 6e 63 61 74 0a 20 20 20 20 20 28 70 72 6f 70 65    72 74 69 7a 65 0a 20 20 20 20 20 20 22 2f 2f 20 | ncat......(propertize......."//. | 
| aa80 | 53 6b 69 70 70 69 6e 67 20 68 69 67 68 6c 69 67    68 74 69 6e 67 20 64 75 65 20 74 6f 20 22 0a 20 | Skipping.highlighting.due.to.".. | 
| aaa0 | 20 20 20 20 20 27 66 61 63 65 20 27 66 6f 6e 74    2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 | .....'face.'font-lock-comment-fa | 
| aac0 | 63 65 29 0a 20 20 20 20 20 28 68 65 6c 70 66 75    6c 2d 2d 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 | ce)......(helpful--button....... | 
| aae0 | 22 68 65 6c 70 66 75 6c 2d 6d 61 78 2d 68 69 67    68 6c 69 67 68 74 22 0a 20 20 20 20 20 20 27 68 | "helpful-max-highlight".......'h | 
| ab00 | 65 6c 70 66 75 6c 2d 64 65 73 63 72 69 62 65 2d    65 78 61 63 74 6c 79 2d 62 75 74 74 6f 6e 0a 20 | elpful-describe-exactly-button.. | 
| ab20 | 20 20 20 20 20 27 73 79 6d 62 6f 6c 20 27 68 65    6c 70 66 75 6c 2d 6d 61 78 2d 68 69 67 68 6c 69 | .....'symbol.'helpful-max-highli | 
| ab40 | 67 68 74 0a 20 20 20 20 20 20 27 63 61 6c 6c 61    62 6c 65 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 | ght.......'callable-p.nil)...... | 
| ab60 | 28 70 72 6f 70 65 72 74 69 7a 65 0a 20 20 20 20    20 20 22 2e 5c 6e 22 0a 20 20 20 20 20 20 27 66 | (propertize.......".\n".......'f | 
| ab80 | 61 63 65 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 63    6f 6d 6d 65 6e 74 2d 66 61 63 65 29 0a 20 20 20 | ace.'font-lock-comment-face).... | 
| aba0 | 20 20 73 6f 75 72 63 65 29 29 29 0a 0a 28 64 65    66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 73 6f 75 | ..source)))..(defun.helpful--sou | 
| abc0 | 72 63 65 20 28 73 79 6d 20 63 61 6c 6c 61 62 6c    65 2d 70 20 62 75 66 20 70 6f 73 29 0a 20 20 22 | rce.(sym.callable-p.buf.pos)..." | 
| abe0 | 52 65 74 75 72 6e 20 74 68 65 20 73 6f 75 72 63    65 20 63 6f 64 65 20 6f 66 20 53 59 4d 2e 0a 49 | Return.the.source.code.of.SYM..I | 
| ac00 | 66 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64    65 20 63 61 6e 6e 6f 74 20 62 65 20 66 6f 75 6e | f.the.source.code.cannot.be.foun | 
| ac20 | 64 2c 20 72 65 74 75 72 6e 20 74 68 65 20 73 65    78 70 20 75 73 65 64 2e 22 0a 20 20 28 63 61 74 | d,.return.the.sexp.used."...(cat | 
| ac40 | 63 68 20 27 73 6f 75 72 63 65 0a 20 20 20 20 28    75 6e 6c 65 73 73 20 28 73 79 6d 62 6f 6c 70 20 | ch.'source.....(unless.(symbolp. | 
| ac60 | 73 79 6d 29 0a 20 20 20 20 20 20 28 74 68 72 6f    77 20 27 73 6f 75 72 63 65 20 73 79 6d 29 29 0a | sym).......(throw.'source.sym)). | 
| ac80 | 0a 20 20 20 20 28 6c 65 74 20 28 28 73 6f 75 72    63 65 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 | .....(let.((source.nil)).......( | 
| aca0 | 77 68 65 6e 20 28 61 6e 64 20 62 75 66 20 70 6f    73 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 | when.(and.buf.pos).........(with | 
| acc0 | 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20    62 75 66 0a 20 20 20 20 20 20 20 20 20 20 28 73 | -current-buffer.buf...........(s | 
| ace0 | 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20    20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d | ave-excursion.............(save- | 
| ad00 | 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d | restriction...............(goto- | 
| ad20 | 63 68 61 72 20 70 6f 73 29 0a 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e | char.pos)................(if.(an | 
| ad40 | 64 20 28 68 65 6c 70 66 75 6c 2d 2d 70 72 69 6d    69 74 69 76 65 2d 70 20 73 79 6d 20 63 61 6c 6c | d.(helpful--primitive-p.sym.call | 
| ad60 | 61 62 6c 65 2d 70 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | able-p)........................( | 
| ad80 | 6e 6f 74 20 63 61 6c 6c 61 62 6c 65 2d 70 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | not.callable-p))................ | 
| ada0 | 20 20 20 3b 3b 20 46 6f 72 20 76 61 72 69 61 62    6c 65 73 20 64 65 66 69 6e 65 64 20 69 6e 20 2e | ...;;.For.variables.defined.in.. | 
| adc0 | 63 20 66 69 6c 65 73 2c 20 6f 6e 6c 79 20 73 68    6f 77 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 | c.files,.only.show.the.......... | 
| ade0 | 20 20 20 20 20 20 20 20 20 3b 3b 20 44 45 46 56    41 52 20 65 78 70 72 65 73 73 69 6f 6e 20 72 61 | .........;;.DEFVAR.expression.ra | 
| ae00 | 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 68 75    67 65 20 63 6f 6e 74 61 69 6e 69 6e 67 0a 20 20 | ther.than.the.huge.containing... | 
| ae20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3b 3b 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 | ................;;.function..... | 
| ae40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 | ...............(progn........... | 
| ae60 | 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20    70 6f 73 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e | ..........(setq.pos.(line-beginn | 
| ae80 | 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ing-position)).................. | 
| aea0 | 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 73 74    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...(forward-list)............... | 
| aec0 | 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 63    68 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ......(forward-char)............ | 
| aee0 | 20 20 20 20 20 20 20 20 20 28 6e 61 72 72 6f 77    2d 74 6f 2d 72 65 67 69 6f 6e 20 70 6f 73 20 28 | .........(narrow-to-region.pos.( | 
| af00 | 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 3b 3b 20 4e 61 72 72 | point))).................;;.Narr | 
| af20 | 6f 77 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65    76 65 6c 20 64 65 66 69 6e 69 74 69 6f 6e 2e 0a | ow.to.the.top-level.definition.. | 
| af40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 6c 65 74 20 28 28 70 61 72 73 65 2d 73 65 78 | ................(let.((parse-sex | 
| af60 | 70 2d 69 67 6e 6f 72 65 2d 63 6f 6d 6d 65 6e 74    73 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 | p-ignore-comments.t))........... | 
| af80 | 20 20 20 20 20 20 20 20 28 6e 61 72 72 6f 77 2d    74 6f 2d 64 65 66 75 6e 20 74 29 29 29 0a 0a 20 | ........(narrow-to-defun.t)))... | 
| afa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20    49 66 20 74 68 65 72 65 20 77 61 73 20 61 20 70 | .............;;.If.there.was.a.p | 
| afc0 | 72 65 63 65 64 69 6e 67 20 63 6f 6d 6d 65 6e 74    2c 20 50 4f 53 20 77 69 6c 6c 20 62 65 0a 20 20 | receding.comment,.POS.will.be... | 
| afe0 | 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61    66 74 65 72 20 74 68 61 74 20 63 6f 6d 6d 65 6e | ............;;.after.that.commen | 
| b000 | 74 2e 20 4d 6f 76 65 20 74 68 65 20 70 6f 73 69    74 69 6f 6e 20 74 6f 20 69 6e 63 6c 75 64 65 20 | t..Move.the.position.to.include. | 
| b020 | 74 68 61 74 20 63 6f 6d 6d 65 6e 74 2e 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 | that.comment................(set | 
| b040 | 71 20 70 6f 73 20 28 70 6f 69 6e 74 2d 6d 69 6e    29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | q.pos.(point-min)).............. | 
| b060 | 20 20 28 73 65 74 71 20 73 6f 75 72 63 65 20 28    62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 | ..(setq.source.(buffer-substring | 
| b080 | 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28    70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e | -no-properties.(point-min).(poin | 
| b0a0 | 74 2d 6d 61 78 29 29 29 29 29 29 0a 20 20 20 20    20 20 20 20 28 73 65 74 71 20 73 6f 75 72 63 65 | t-max)))))).........(setq.source | 
| b0c0 | 20 28 73 2d 74 72 69 6d 2d 72 69 67 68 74 20 73    6f 75 72 63 65 29 29 0a 20 20 20 20 20 20 20 20 | .(s-trim-right.source))......... | 
| b0e0 | 28 77 68 65 6e 20 28 61 6e 64 20 73 6f 75 72 63    65 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e | (when.(and.source.(buffer-file-n | 
| b100 | 61 6d 65 20 62 75 66 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 73 6f 75 72 63 65 | ame.buf))...........(setq.source | 
| b120 | 20 28 70 72 6f 70 65 72 74 69 7a 65 20 73 6f 75    72 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .(propertize.source............. | 
| b140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 27 68 65 6c 70 66 75 6c 2d | .......................'helpful- | 
| b160 | 70 61 74 68 20 28 62 75 66 66 65 72 2d 66 69 6c    65 2d 6e 61 6d 65 20 62 75 66 29 0a 20 20 20 20 | path.(buffer-file-name.buf)..... | 
| b180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 | ...............................' | 
| b1a0 | 68 65 6c 70 66 75 6c 2d 70 6f 73 20 70 6f 73 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | helpful-pos.pos................. | 
| b1c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 27 68 65 6c 70 66 75 6c 2d 70 6f 73 2d | ...................'helpful-pos- | 
| b1e0 | 69 73 2d 73 74 61 72 74 20 74 29 29 29 0a 20 20    20 20 20 20 20 20 28 74 68 72 6f 77 20 27 73 6f | is-start.t))).........(throw.'so | 
| b200 | 75 72 63 65 20 73 6f 75 72 63 65 29 29 29 0a 0a    20 20 20 20 28 77 68 65 6e 20 63 61 6c 6c 61 62 | urce.source)))......(when.callab | 
| b220 | 6c 65 2d 70 0a 20 20 20 20 20 20 3b 3b 20 43 6f    75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 73 6f 75 | le-p.......;;.Could.not.find.sou | 
| b240 | 72 63 65 20 2d 2d 20 70 72 6f 62 61 62 6c 79 20    64 65 66 69 6e 65 64 20 69 6e 74 65 72 61 63 74 | rce.--.probably.defined.interact | 
| b260 | 69 76 65 6c 79 2c 20 6f 72 20 76 69 61 0a 20 20    20 20 20 20 3b 3b 20 61 20 6d 61 63 72 6f 2c 20 | ively,.or.via.......;;.a.macro,. | 
| b280 | 6f 72 20 66 69 6c 65 20 68 61 73 20 63 68 61 6e    67 65 64 2e 0a 20 20 20 20 20 20 3b 3b 20 54 4f | or.file.has.changed........;;.TO | 
| b2a0 | 44 4f 3a 20 76 65 72 69 66 79 20 74 68 61 74 20    74 68 65 20 73 6f 75 72 63 65 20 68 61 73 6e 27 | DO:.verify.that.the.source.hasn' | 
| b2c0 | 74 20 63 68 61 6e 67 65 64 20 62 65 66 6f 72 65    20 73 68 6f 77 69 6e 67 2e 0a 20 20 20 20 20 20 | t.changed.before.showing........ | 
| b2e0 | 3b 3b 20 54 4f 44 4f 3a 20 6f 66 66 65 72 20 74    6f 20 64 6f 77 6e 6c 6f 61 64 20 43 20 73 6f 75 | ;;.TODO:.offer.to.download.C.sou | 
| b300 | 72 63 65 73 20 66 6f 72 20 63 75 72 72 65 6e 74    20 76 65 72 73 69 6f 6e 2e 0a 20 20 20 20 20 20 | rces.for.current.version........ | 
| b320 | 28 74 68 72 6f 77 20 27 73 6f 75 72 63 65 20 28    69 6e 64 69 72 65 63 74 2d 66 75 6e 63 74 69 6f | (throw.'source.(indirect-functio | 
| b340 | 6e 20 73 79 6d 29 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 68 65 6c 70 66 75 6c 2d 2d 68 61 73 2d | n.sym)))))..(defun.helpful--has- | 
| b360 | 73 68 6f 72 74 64 6f 63 2d 70 20 28 73 79 6d 29    0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e | shortdoc-p.(sym)..."Return.non-n | 
| b380 | 69 6c 20 69 66 20 73 68 6f 72 74 64 6f 63 2e 65    6c 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 61 | il.if.shortdoc.el.is.available.a | 
| b3a0 | 6e 64 20 53 59 4d 20 69 73 20 69 6e 20 61 20 73    68 6f 72 74 64 6f 63 20 67 72 6f 75 70 2e 22 0a | nd.SYM.is.in.a.shortdoc.group.". | 
| b3c0 | 20 20 28 61 6e 64 20 28 66 65 61 74 75 72 65 70    20 27 73 68 6f 72 74 64 6f 63 29 0a 20 20 20 20 | ..(and.(featurep.'shortdoc)..... | 
| b3e0 | 20 20 20 28 73 68 6f 72 74 64 6f 63 2d 66 75 6e    63 74 69 6f 6e 2d 67 72 6f 75 70 73 20 73 79 6d | ...(shortdoc-function-groups.sym | 
| b400 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70    66 75 6c 2d 2d 69 6e 2d 6d 61 6e 75 61 6c 2d 70 | )))..(defun.helpful--in-manual-p | 
| b420 | 20 28 73 79 6d 29 0a 20 20 22 52 65 74 75 72 6e    20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 53 59 4d 20 | .(sym)..."Return.non-nil.if.SYM. | 
| b440 | 69 73 20 69 6e 20 61 6e 20 49 6e 66 6f 20 6d 61    6e 75 61 6c 2e 22 0a 20 20 28 6c 65 74 20 28 28 | is.in.an.Info.manual."...(let.(( | 
| b460 | 63 6f 6d 70 6c 65 74 69 6f 6e 73 0a 20 20 20 20    20 20 20 20 20 28 63 6c 2d 6c 65 74 66 20 28 28 | completions..........(cl-letf.(( | 
| b480 | 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e    20 23 27 6d 65 73 73 61 67 65 29 0a 20 20 20 20 | (symbol-function.#'message)..... | 
| b4a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 6c 61 6d 62 64 61 20 28 5f 66 6f 72 6d 61 74 | ................(lambda.(_format | 
| b4c0 | 2d 73 74 72 69 6e 67 20 26 72 65 73 74 20 5f 61    72 67 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 | -string.&rest._args))))......... | 
| b4e0 | 20 20 20 28 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d    3e 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 27 73 79 | ...(info-lookup->completions.'sy | 
| b500 | 6d 62 6f 6c 20 27 65 6d 61 63 73 2d 6c 69 73 70    2d 6d 6f 64 65 29 29 29 29 0a 20 20 20 20 28 2d | mbol.'emacs-lisp-mode)))).....(- | 
| b520 | 77 68 65 6e 2d 6c 65 74 20 28 62 75 66 20 28 67    65 74 2d 62 75 66 66 65 72 20 22 20 74 65 6d 70 | when-let.(buf.(get-buffer.".temp | 
| b540 | 2d 69 6e 66 6f 2d 6c 6f 6f 6b 22 29 29 0a 20 20    20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 | -info-look")).......(kill-buffer | 
| b560 | 20 62 75 66 29 29 0a 20 20 20 20 28 6f 72 20 28    61 73 73 6f 63 20 73 79 6d 20 63 6f 6d 70 6c 65 | .buf)).....(or.(assoc.sym.comple | 
| b580 | 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 28    61 73 73 6f 63 2d 73 74 72 69 6e 67 20 73 79 6d | tions).........(assoc-string.sym | 
| b5a0 | 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c | .completions))))..(defun.helpful | 
| b5c0 | 2d 2d 76 65 72 73 69 6f 6e 2d 69 6e 66 6f 20 28    73 79 6d 29 0a 20 20 22 49 66 20 53 59 4d 20 68 | --version-info.(sym)..."If.SYM.h | 
| b5e0 | 61 73 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72    6d 61 74 69 6f 6e 2c 20 66 6f 72 6d 61 74 20 61 | as.version.information,.format.a | 
| b600 | 6e 64 20 72 65 74 75 72 6e 20 69 74 2e 0a 52 65    74 75 72 6e 20 6e 69 6c 20 6f 74 68 65 72 77 69 | nd.return.it..Return.nil.otherwi | 
| b620 | 73 65 2e 22 0a 20 20 28 77 68 65 6e 20 28 73 79    6d 62 6f 6c 70 20 73 79 6d 29 0a 20 20 20 20 28 | se."...(when.(symbolp.sym).....( | 
| b640 | 6c 65 74 20 28 28 70 61 63 6b 61 67 65 2d 76 65    72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 | let.((package-version........... | 
| b660 | 20 28 67 65 74 20 73 79 6d 20 27 63 75 73 74 6f    6d 2d 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f | .(get.sym.'custom-package-versio | 
| b680 | 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65    6d 61 63 73 2d 76 65 72 73 69 6f 6e 0a 20 20 20 | n))...........(emacs-version.... | 
| b6a0 | 20 20 20 20 20 20 20 20 28 67 65 74 20 73 79 6d    20 27 63 75 73 74 6f 6d 2d 76 65 72 73 69 6f 6e | ........(get.sym.'custom-version | 
| b6c0 | 29 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 0a    20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d | ))).......(cond........(package- | 
| b6e0 | 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20    28 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 | version.........(format......... | 
| b700 | 20 22 54 68 69 73 20 76 61 72 69 61 62 6c 65 20    77 61 73 20 61 64 64 65 64 2c 20 6f 72 20 69 74 | ."This.variable.was.added,.or.it | 
| b720 | 73 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20    63 68 61 6e 67 65 64 2c 20 69 6e 20 25 73 20 76 | s.default.value.changed,.in.%s.v | 
| b740 | 65 72 73 69 6f 6e 20 25 73 2e 22 0a 20 20 20 20    20 20 20 20 20 28 63 61 72 20 70 61 63 6b 61 67 | ersion.%s."..........(car.packag | 
| b760 | 65 2d 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20    20 20 20 20 28 63 64 72 20 70 61 63 6b 61 67 65 | e-version)..........(cdr.package | 
| b780 | 2d 76 65 72 73 69 6f 6e 29 29 29 0a 20 20 20 20    20 20 20 28 65 6d 61 63 73 2d 76 65 72 73 69 6f | -version)))........(emacs-versio | 
| b7a0 | 6e 0a 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61    74 0a 20 20 20 20 20 20 20 20 20 22 54 68 69 73 | n.........(format.........."This | 
| b7c0 | 20 76 61 72 69 61 62 6c 65 20 77 61 73 20 61 64    64 65 64 2c 20 6f 72 20 69 74 73 20 64 65 66 61 | .variable.was.added,.or.its.defa | 
| b7e0 | 75 6c 74 20 76 61 6c 75 65 20 63 68 61 6e 67 65    64 2c 20 69 6e 20 45 6d 61 63 73 20 25 73 2e 22 | ult.value.changed,.in.Emacs.%s." | 
| b800 | 0a 20 20 20 20 20 20 20 20 20 65 6d 61 63 73 2d    76 65 72 73 69 6f 6e 29 29 29 29 29 29 0a 0a 28 | ..........emacs-version))))))..( | 
| b820 | 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6c    69 62 72 61 72 79 2d 70 61 74 68 20 28 6c 69 62 | defun.helpful--library-path.(lib | 
| b840 | 72 61 72 79 2d 6e 61 6d 65 29 0a 20 20 22 46 69    6e 64 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 | rary-name)..."Find.the.absolute. | 
| b860 | 70 61 74 68 20 66 6f 72 20 74 68 65 20 73 6f 75    72 63 65 20 6f 66 20 4c 49 42 52 41 52 59 2d 4e | path.for.the.source.of.LIBRARY-N | 
| b880 | 41 4d 45 2e 0a 0a 4c 49 42 52 41 52 59 2d 4e 41    4d 45 20 74 61 6b 65 73 20 74 68 65 20 66 6f 72 | AME...LIBRARY-NAME.takes.the.for | 
| b8a0 | 6d 20 5c 22 66 6f 6f 2e 65 6c 5c 22 20 2c 20 5c    22 66 6f 6f 2e 65 6c 5c 22 20 6f 72 0a 5c 22 73 | m.\"foo.el\".,.\"foo.el\".or.\"s | 
| b8c0 | 72 63 2f 66 6f 6f 2e 63 5c 22 2e 0a 0a 49 66 20    2e 65 6c 63 20 66 69 6c 65 73 20 65 78 69 73 74 | rc/foo.c\"...If..elc.files.exist | 
| b8e0 | 20 77 69 74 68 6f 75 74 20 74 68 65 20 63 6f 72    72 65 73 70 6f 6e 64 69 6e 67 20 2e 65 6c 2c 20 | .without.the.corresponding..el,. | 
| b900 | 72 65 74 75 72 6e 20 6e 69 6c 2e 22 0a 20 20 28    77 68 65 6e 20 28 6d 65 6d 62 65 72 20 28 66 2d | return.nil."...(when.(member.(f- | 
| b920 | 65 78 74 20 6c 69 62 72 61 72 79 2d 6e 61 6d 65    29 20 27 28 22 63 22 20 22 72 73 22 29 29 0a 20 | ext.library-name).'("c"."rs")).. | 
| b940 | 20 20 20 28 73 65 74 71 20 6c 69 62 72 61 72 79    2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 | ...(setq.library-name........... | 
| b960 | 28 66 2d 65 78 70 61 6e 64 20 6c 69 62 72 61 72    79 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 | (f-expand.library-name.......... | 
| b980 | 20 20 20 20 20 20 20 20 20 20 20 28 66 2d 70 61    72 65 6e 74 20 66 69 6e 64 2d 66 75 6e 63 74 69 | ...........(f-parent.find-functi | 
| b9a0 | 6f 6e 2d 43 2d 73 6f 75 72 63 65 2d 64 69 72 65    63 74 6f 72 79 29 29 29 29 0a 20 20 28 63 6f 6e | on-C-source-directory))))...(con | 
| b9c0 | 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a    20 20 20 20 20 20 28 66 69 6e 64 2d 6c 69 62 72 | dition-case.nil.......(find-libr | 
| b9e0 | 61 72 79 2d 6e 61 6d 65 20 6c 69 62 72 61 72 79    2d 6e 61 6d 65 29 0a 20 20 20 20 28 65 72 72 6f | ary-name.library-name).....(erro | 
| ba00 | 72 20 6e 69 6c 29 29 29 0a 0a 28 64 65 66 75 6e    20 68 65 6c 70 66 75 6c 2d 2d 6d 61 63 72 6f 65 | r.nil)))..(defun.helpful--macroe | 
| ba20 | 78 70 61 6e 64 2d 74 72 79 20 28 66 6f 72 6d 29    0a 20 20 22 54 72 79 20 74 6f 20 66 75 6c 6c 79 | xpand-try.(form)..."Try.to.fully | 
| ba40 | 20 6d 61 63 72 6f 65 78 70 61 6e 64 20 46 4f 52    4d 2e 0a 49 66 20 69 74 20 66 61 69 6c 73 2c 20 | .macroexpand.FORM..If.it.fails,. | 
| ba60 | 61 74 74 65 6d 70 74 20 74 6f 20 70 61 72 74 69    61 6c 6c 79 20 6d 61 63 72 6f 65 78 70 61 6e 64 | attempt.to.partially.macroexpand | 
| ba80 | 20 46 4f 52 4d 2e 22 0a 20 20 28 63 61 74 63 68    20 27 72 65 73 75 6c 74 0a 20 20 20 20 28 69 67 | .FORM."...(catch.'result.....(ig | 
| baa0 | 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20    20 20 3b 3b 20 48 61 70 70 79 20 70 61 74 68 3a | nore-errors.......;;.Happy.path: | 
| bac0 | 20 77 65 20 63 61 6e 20 66 75 6c 6c 79 20 65 78    70 61 6e 64 20 74 68 65 20 66 6f 72 6d 2e 0a 20 | .we.can.fully.expand.the.form... | 
| bae0 | 20 20 20 20 20 28 74 68 72 6f 77 20 27 72 65 73    75 6c 74 20 28 6d 61 63 72 6f 65 78 70 61 6e 64 | .....(throw.'result.(macroexpand | 
| bb00 | 2d 61 6c 6c 20 66 6f 72 6d 29 29 29 0a 20 20 20    20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a | -all.form))).....(ignore-errors. | 
| bb20 | 20 20 20 20 20 20 3b 3b 20 41 74 74 65 6d 70 74    20 6f 6e 65 20 6c 65 76 65 6c 20 6f 66 20 6d 61 | ......;;.Attempt.one.level.of.ma | 
| bb40 | 63 72 6f 65 78 70 61 6e 73 69 6f 6e 2e 0a 20 20    20 20 20 20 28 74 68 72 6f 77 20 27 72 65 73 75 | croexpansion........(throw.'resu | 
| bb60 | 6c 74 20 28 6d 61 63 72 6f 65 78 70 61 6e 64 2d    31 20 66 6f 72 6d 29 29 29 0a 20 20 20 20 3b 3b | lt.(macroexpand-1.form))).....;; | 
| bb80 | 20 46 61 6c 6c 62 61 63 6b 3a 20 6a 75 73 74 20    72 65 74 75 72 6e 20 74 68 65 20 6f 72 69 67 69 | .Fallback:.just.return.the.origi | 
| bba0 | 6e 61 6c 20 66 6f 72 6d 2e 0a 20 20 20 20 66 6f    72 6d 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c | nal.form......form))..(defun.hel | 
| bbc0 | 70 66 75 6c 2d 2d 74 72 65 65 2d 61 6e 79 2d 70    20 28 70 72 65 64 20 74 72 65 65 29 0a 20 20 22 | pful--tree-any-p.(pred.tree)..." | 
| bbe0 | 57 61 6c 6b 20 54 52 45 45 2c 20 61 70 70 6c 79    69 6e 67 20 50 52 45 44 20 74 6f 20 65 76 65 72 | Walk.TREE,.applying.PRED.to.ever | 
| bc00 | 79 20 73 75 62 74 72 65 65 2e 0a 52 65 74 75 72    6e 20 74 20 69 66 20 50 52 45 44 20 65 76 65 72 | y.subtree..Return.t.if.PRED.ever | 
| bc20 | 20 72 65 74 75 72 6e 73 20 74 2e 22 0a 20 20 28    63 61 74 63 68 20 27 66 6f 75 6e 64 0a 20 20 20 | .returns.t."...(catch.'found.... | 
| bc40 | 20 28 6c 65 74 20 28 28 73 74 61 63 6b 20 28 6c    69 73 74 20 74 72 65 65 29 29 29 0a 20 20 20 20 | .(let.((stack.(list.tree)))..... | 
| bc60 | 20 20 28 77 68 69 6c 65 20 73 74 61 63 6b 0a 20    20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 65 | ..(while.stack.........(let.((ne | 
| bc80 | 78 74 20 28 70 6f 70 20 73 74 61 63 6b 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 | xt.(pop.stack)))...........(cond | 
| bca0 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 66 75    6e 63 61 6c 6c 20 70 72 65 64 20 6e 65 78 74 29 | ............((funcall.pred.next) | 
| bcc0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68    72 6f 77 20 27 66 6f 75 6e 64 20 74 29 29 0a 20 | .............(throw.'found.t)).. | 
| bce0 | 20 20 20 20 20 20 20 20 20 20 28 28 63 6f 6e 73    70 20 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 | ..........((consp.next)......... | 
| bd00 | 20 20 20 20 28 70 75 73 68 20 28 63 61 72 20 6e    65 78 74 29 20 73 74 61 63 6b 29 0a 20 20 20 20 | ....(push.(car.next).stack)..... | 
| bd20 | 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63    64 72 20 6e 65 78 74 29 20 73 74 61 63 6b 29 29 | ........(push.(cdr.next).stack)) | 
| bd40 | 29 29 29 29 0a 20 20 20 20 6e 69 6c 29 29 0a 0a    28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d | )))).....nil))..(defun.helpful-- | 
| bd60 | 66 69 6e 64 2d 62 79 2d 6d 61 63 72 6f 65 78 70    61 6e 64 69 6e 67 20 28 62 75 66 20 73 79 6d 20 | find-by-macroexpanding.(buf.sym. | 
| bd80 | 63 61 6c 6c 61 62 6c 65 2d 70 29 0a 20 20 22 53    65 61 72 63 68 20 42 55 46 20 66 6f 72 20 74 68 | callable-p)..."Search.BUF.for.th | 
| bda0 | 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20    53 59 4d 20 62 79 20 6d 61 63 72 6f 65 78 70 61 | e.definition.of.SYM.by.macroexpa | 
| bdc0 | 6e 64 69 6e 67 0a 69 6e 74 65 72 65 73 74 69 6e    67 20 66 6f 72 6d 73 20 69 6e 20 42 55 46 2e 22 | nding.interesting.forms.in.BUF." | 
| bde0 | 0a 20 20 28 63 61 74 63 68 20 27 66 6f 75 6e 64    0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 | ...(catch.'found.....(with-curre | 
| be00 | 6e 74 2d 62 75 66 66 65 72 20 62 75 66 0a 20 20    20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 | nt-buffer.buf.......(save-excurs | 
| be20 | 69 6f 6e 0a 20 20 20 20 20 20 20 20 28 67 6f 74    6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 | ion.........(goto-char.(point-mi | 
| be40 | 6e 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e    64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a | n)).........(condition-case.nil. | 
| be60 | 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69    6c 65 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 | ............(while.t............ | 
| be80 | 20 20 20 28 6c 65 74 20 28 28 66 6f 72 6d 20 28    72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 | ...(let.((form.(read.(current-bu | 
| bea0 | 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 72 | ffer))).....................(var | 
| bec0 | 2d 64 65 66 2d 70 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d | -def-p......................(lam | 
| bee0 | 62 64 61 20 28 73 65 78 70 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | bda.(sexp)...................... | 
| bf00 | 20 20 28 61 6e 64 20 28 65 71 20 28 63 61 72 2d    73 61 66 65 20 73 65 78 70 29 20 27 64 65 66 76 | ..(and.(eq.(car-safe.sexp).'defv | 
| bf20 | 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ar)............................. | 
| bf40 | 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 28 63    64 72 20 73 65 78 70 29 29 20 73 79 6d 29 29 29 | (eq.(car-safe.(cdr.sexp)).sym))) | 
| bf60 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 66 6e 2d 64 65 66 2d 70 0a | ).....................(fn-def-p. | 
| bf80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 73 65 | .....................(lambda.(se | 
| bfa0 | 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 64 | xp)........................;;.`d | 
| bfc0 | 65 66 75 6e 27 20 75 6c 74 69 6d 61 74 65 6c 79    20 65 78 70 61 6e 64 73 20 74 6f 20 60 64 65 66 | efun'.ultimately.expands.to.`def | 
| bfe0 | 61 6c 69 61 73 27 2e 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | alias'.........................( | 
| c000 | 61 6e 64 20 28 65 71 20 28 63 61 72 2d 73 61 66    65 20 73 65 78 70 29 20 27 64 65 66 61 6c 69 61 | and.(eq.(car-safe.sexp).'defalia | 
| c020 | 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | s).............................( | 
| c040 | 65 71 75 61 6c 20 28 63 61 72 2d 73 61 66 65 20    28 63 64 72 20 73 65 78 70 29 29 20 60 28 71 75 | equal.(car-safe.(cdr.sexp)).`(qu | 
| c060 | 6f 74 65 20 2c 73 79 6d 29 29 29 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ote.,sym)))))).................( | 
| c080 | 73 65 74 71 20 66 6f 72 6d 20 28 68 65 6c 70 66    75 6c 2d 2d 6d 61 63 72 6f 65 78 70 61 6e 64 2d | setq.form.(helpful--macroexpand- | 
| c0a0 | 74 72 79 20 66 6f 72 6d 29 29 0a 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 | try.form))..................(whe | 
| c0c0 | 6e 20 28 68 65 6c 70 66 75 6c 2d 2d 74 72 65 65    2d 61 6e 79 2d 70 0a 20 20 20 20 20 20 20 20 20 | n.(helpful--tree-any-p.......... | 
| c0e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69    66 20 63 61 6c 6c 61 62 6c 65 2d 70 20 66 6e 2d | ..............(if.callable-p.fn- | 
| c100 | 64 65 66 2d 70 20 76 61 72 2d 64 65 66 2d 70 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | def-p.var-def-p)................ | 
| c120 | 20 20 20 20 20 20 20 20 66 6f 72 6d 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........form)................... | 
| c140 | 3b 3b 20 60 72 65 61 64 27 20 70 75 74 73 20 70    6f 69 6e 74 20 61 74 20 74 68 65 20 65 6e 64 20 | ;;.`read'.puts.point.at.the.end. | 
| c160 | 6f 66 20 74 68 65 20 66 6f 72 6d 2c 20 73 6f 20    67 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | of.the.form,.so.go.............. | 
| c180 | 20 20 20 20 20 3b 3b 20 62 61 63 6b 20 74 6f 20    74 68 65 20 73 74 61 72 74 2e 0a 20 20 20 20 20 | .....;;.back.to.the.start....... | 
| c1a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68    72 6f 77 20 27 66 6f 75 6e 64 20 28 73 63 61 6e | .............(throw.'found.(scan | 
| c1c0 | 2d 73 65 78 70 73 20 28 70 6f 69 6e 74 29 20 2d    31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 | -sexps.(point).-1))))).......... | 
| c1e0 | 20 28 65 6e 64 2d 6f 66 2d 66 69 6c 65 20 6e 69    6c 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | .(end-of-file.nil))))))..(defun. | 
| c200 | 68 65 6c 70 66 75 6c 2d 2d 6f 70 65 6e 2d 69 66    2d 6e 65 65 64 65 64 20 28 70 61 74 68 29 0a 20 | helpful--open-if-needed.(path).. | 
| c220 | 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20    28 42 55 46 20 4f 50 45 4e 45 44 29 20 77 68 65 | ."Return.a.list.(BUF.OPENED).whe | 
| c240 | 72 65 20 42 55 46 20 69 73 20 61 20 62 75 66 66    65 72 20 76 69 73 69 74 69 6e 67 20 50 41 54 48 | re.BUF.is.a.buffer.visiting.PATH | 
| c260 | 2e 0a 49 66 20 61 20 62 75 66 66 65 72 20 61 6c    72 65 61 64 79 20 65 78 69 73 74 73 2c 20 72 65 | ..If.a.buffer.already.exists,.re | 
| c280 | 74 75 72 6e 20 74 68 61 74 2e 20 49 66 20 6e 6f    74 2c 20 6f 70 65 6e 20 50 41 54 48 20 77 69 74 | turn.that..If.not,.open.PATH.wit | 
| c2a0 | 68 0a 74 68 65 20 60 65 6d 61 63 73 2d 6c 69 73    70 2d 6d 6f 64 65 27 20 73 79 6e 74 61 78 20 74 | h.the.`emacs-lisp-mode'.syntax.t | 
| c2c0 | 61 62 6c 65 20 61 63 74 69 76 65 20 62 75 74 20    73 6b 69 70 20 61 6e 79 20 68 6f 6f 6b 73 2e 22 | able.active.but.skip.any.hooks." | 
| c2e0 | 0a 20 20 28 6c 65 74 20 28 28 69 6e 69 74 69 61    6c 2d 62 75 66 66 65 72 73 20 28 62 75 66 66 65 | ...(let.((initial-buffers.(buffe | 
| c300 | 72 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20    20 28 62 75 66 20 6e 69 6c 29 0a 20 20 20 20 20 | r-list)).........(buf.nil)...... | 
| c320 | 20 20 20 28 6f 70 65 6e 65 64 20 6e 69 6c 29 0a    20 20 20 20 20 20 20 20 3b 3b 20 53 6b 69 70 20 | ...(opened.nil).........;;.Skip. | 
| c340 | 72 75 6e 6e 69 6e 67 20 68 6f 6f 6b 73 20 74 68    61 74 20 6d 61 79 20 70 72 6f 6d 70 74 20 74 68 | running.hooks.that.may.prompt.th | 
| c360 | 65 20 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20    28 66 69 6e 64 2d 66 69 6c 65 2d 68 6f 6f 6b 20 | e.user..........(find-file-hook. | 
| c380 | 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 3b 3b 20    49 66 20 77 65 20 65 6e 64 20 75 70 20 6f 70 65 | nil).........;;.If.we.end.up.ope | 
| c3a0 | 6e 69 6e 67 20 61 20 62 75 66 66 65 72 2c 20 64    6f 6e 27 74 20 62 6f 74 68 65 72 20 77 69 74 68 | ning.a.buffer,.don't.bother.with | 
| c3c0 | 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 3b 3b    20 76 61 72 69 61 62 6c 65 73 2e 20 49 74 20 70 | .file.........;;.variables..It.p | 
| c3e0 | 72 6f 6d 70 74 73 20 74 68 65 20 75 73 65 72 2c    20 61 6e 64 20 77 65 20 64 69 73 63 61 72 64 20 | rompts.the.user,.and.we.discard. | 
| c400 | 74 68 65 20 62 75 66 66 65 72 0a 20 20 20 20 20    20 20 20 3b 3b 20 61 66 74 65 72 77 61 72 64 73 | the.buffer.........;;.afterwards | 
| c420 | 20 61 6e 79 77 61 79 2e 0a 20 20 20 20 20 20 20    20 28 65 6e 61 62 6c 65 2d 6c 6f 63 61 6c 2d 76 | .anyway..........(enable-local-v | 
| c440 | 61 72 69 61 62 6c 65 73 20 6e 69 6c 29 29 0a 20    20 20 20 3b 3b 20 4f 70 65 6e 69 6e 67 20 6c 61 | ariables.nil)).....;;.Opening.la | 
| c460 | 72 67 65 20 2e 63 20 66 69 6c 65 73 20 63 61 6e    20 62 65 20 73 6c 6f 77 20 28 65 2e 67 2e 20 77 | rge..c.files.can.be.slow.(e.g..w | 
| c480 | 68 65 6e 20 6c 6f 6f 6b 69 6e 67 20 61 74 0a 20    20 20 20 3b 3b 20 60 64 65 66 61 6c 69 61 73 27 | hen.looking.at.....;;.`defalias' | 
| c4a0 | 29 2c 20 65 73 70 65 63 69 61 6c 6c 79 20 69 66    20 74 68 65 20 75 73 65 72 20 68 61 73 20 63 6f | ),.especially.if.the.user.has.co | 
| c4c0 | 6e 66 69 67 75 72 65 64 20 6d 6f 64 65 20 68 6f    6f 6b 73 2e 0a 20 20 20 20 3b 3b 0a 20 20 20 20 | nfigured.mode.hooks......;;..... | 
| c4e0 | 3b 3b 20 42 69 6e 64 20 60 61 75 74 6f 2d 6d 6f    64 65 2d 61 6c 69 73 74 27 20 74 6f 20 6e 69 6c | ;;.Bind.`auto-mode-alist'.to.nil | 
| c500 | 2c 20 73 6f 20 77 65 20 6f 70 65 6e 20 74 68 65    20 62 75 66 66 65 72 20 69 6e 0a 20 20 20 20 3b | ,.so.we.open.the.buffer.in.....; | 
| c520 | 3b 20 60 66 75 6e 64 61 6d 65 6e 74 61 6c 2d 6d    6f 64 65 27 20 69 66 20 69 74 20 69 73 6e 27 74 | ;.`fundamental-mode'.if.it.isn't | 
| c540 | 20 61 6c 72 65 61 64 79 20 6f 70 65 6e 2e 0a 20    20 20 20 28 6c 65 74 20 28 28 61 75 74 6f 2d 6d | .already.open......(let.((auto-m | 
| c560 | 6f 64 65 2d 61 6c 69 73 74 20 6e 69 6c 29 29 0a    20 20 20 20 20 20 28 73 65 74 71 20 62 75 66 20 | ode-alist.nil)).......(setq.buf. | 
| c580 | 28 66 69 6e 64 2d 66 69 6c 65 2d 6e 6f 73 65 6c    65 63 74 20 70 61 74 68 29 29 29 0a 0a 20 20 20 | (find-file-noselect.path)))..... | 
| c5a0 | 20 28 75 6e 6c 65 73 73 20 28 2d 63 6f 6e 74 61    69 6e 73 2d 70 20 69 6e 69 74 69 61 6c 2d 62 75 | .(unless.(-contains-p.initial-bu | 
| c5c0 | 66 66 65 72 73 20 62 75 66 29 0a 20 20 20 20 20    20 28 73 65 74 71 20 6f 70 65 6e 65 64 20 74 29 | ffers.buf).......(setq.opened.t) | 
| c5e0 | 0a 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 73    79 6e 74 61 78 2d 74 61 62 6c 65 20 65 6d 61 63 | ........(let.((syntax-table.emac | 
| c600 | 73 2d 6c 69 73 70 2d 6d 6f 64 65 2d 73 79 6e 74    61 78 2d 74 61 62 6c 65 29 29 0a 20 20 20 20 20 | s-lisp-mode-syntax-table))...... | 
| c620 | 20 20 20 28 77 68 65 6e 20 28 73 2d 65 6e 64 73    2d 77 69 74 68 2d 70 20 22 2e 63 22 20 70 61 74 | ...(when.(s-ends-with-p.".c".pat | 
| c640 | 68 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 | h)...........(setq.syntax-table. | 
| c660 | 28 6d 61 6b 65 2d 73 79 6e 74 61 78 2d 74 61 62    6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | (make-syntax-table))...........( | 
| c680 | 63 2d 70 6f 70 75 6c 61 74 65 2d 73 79 6e 74 61    78 2d 74 61 62 6c 65 20 73 79 6e 74 61 78 2d 74 | c-populate-syntax-table.syntax-t | 
| c6a0 | 61 62 6c 65 29 29 0a 0a 20 20 20 20 20 20 20 20    3b 3b 20 49 66 20 69 74 27 73 20 61 20 66 72 65 | able))..........;;.If.it's.a.fre | 
| c6c0 | 73 68 6c 79 20 6f 70 65 6e 65 64 20 62 75 66 66    65 72 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 73 | shly.opened.buffer,.we.need.to.s | 
| c6e0 | 65 74 20 74 68 65 20 73 79 6e 74 61 78 0a 20 20    20 20 20 20 20 20 3b 3b 20 74 61 62 6c 65 20 73 | et.the.syntax.........;;.table.s | 
| c700 | 6f 20 77 65 20 63 61 6e 20 73 65 61 72 63 68 20    63 6f 72 72 65 63 74 6c 79 2e 0a 20 20 20 20 20 | o.we.can.search.correctly....... | 
| c720 | 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74    2d 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 | ...(with-current-buffer.buf..... | 
| c740 | 20 20 20 20 20 20 28 73 65 74 2d 73 79 6e 74 61    78 2d 74 61 62 6c 65 20 73 79 6e 74 61 78 2d 74 | ......(set-syntax-table.syntax-t | 
| c760 | 61 62 6c 65 29 29 29 29 0a 0a 20 20 20 20 28 6c    69 73 74 20 62 75 66 20 6f 70 65 6e 65 64 29 29 | able))))......(list.buf.opened)) | 
| c780 | 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75    6c 2d 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28 73 | )..(defun.helpful--definition.(s | 
| c7a0 | 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29 0a 20    20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 | ym.callable-p)..."Return.a.list. | 
| c7c0 | 28 42 55 46 20 50 4f 53 20 4f 50 45 4e 45 44 29    20 77 68 65 72 65 20 53 59 4d 20 69 73 20 64 65 | (BUF.POS.OPENED).where.SYM.is.de | 
| c7e0 | 66 69 6e 65 64 2e 0a 0a 42 55 46 20 69 73 20 74    68 65 20 62 75 66 66 65 72 20 63 6f 6e 74 61 69 | fined...BUF.is.the.buffer.contai | 
| c800 | 6e 69 6e 67 20 74 68 65 20 64 65 66 69 6e 69 74    69 6f 6e 2e 20 49 66 20 74 68 65 20 75 73 65 72 | ning.the.definition..If.the.user | 
| c820 | 20 77 61 73 6e 27 74 0a 61 6c 72 65 61 64 79 20    76 69 73 69 74 69 6e 67 20 74 68 69 73 20 62 75 | .wasn't.already.visiting.this.bu | 
| c840 | 66 66 65 72 2c 20 4f 50 45 4e 45 44 20 69 73 20    74 20 61 6e 64 20 63 61 6c 6c 65 72 73 20 73 68 | ffer,.OPENED.is.t.and.callers.sh | 
| c860 | 6f 75 6c 64 20 6b 69 6c 6c 0a 74 68 65 20 62 75    66 66 65 72 20 77 68 65 6e 20 64 6f 6e 65 2e 0a | ould.kill.the.buffer.when.done.. | 
| c880 | 0a 50 4f 53 20 69 73 20 74 68 65 20 70 6f 73 69    74 69 6f 6e 20 6f 66 20 74 68 65 20 73 74 61 72 | .POS.is.the.position.of.the.star | 
| c8a0 | 74 20 6f 66 20 74 68 65 20 64 65 66 69 6e 69 74    69 6f 6e 20 77 69 74 68 69 6e 20 74 68 65 0a 62 | t.of.the.definition.within.the.b | 
| c8c0 | 75 66 66 65 72 2e 22 0a 20 20 28 6c 65 74 20 28    28 70 72 69 6d 69 74 69 76 65 2d 70 20 28 68 65 | uffer."...(let.((primitive-p.(he | 
| c8e0 | 6c 70 66 75 6c 2d 2d 70 72 69 6d 69 74 69 76 65    2d 70 20 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d | lpful--primitive-p.sym.callable- | 
| c900 | 70 29 29 0a 20 20 20 20 20 20 20 20 28 6c 69 62    72 61 72 79 2d 6e 61 6d 65 20 6e 69 6c 29 0a 20 | p)).........(library-name.nil).. | 
| c920 | 20 20 20 20 20 20 20 28 73 72 63 2d 70 61 74 68    20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 62 | .......(src-path.nil).........(b | 
| c940 | 75 66 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20    28 70 6f 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 | uf.nil).........(pos.nil)....... | 
| c960 | 20 20 28 6f 70 65 6e 65 64 20 6e 69 6c 29 29 0a    20 20 20 20 3b 3b 20 57 65 20 73 68 6f 75 6c 64 | ..(opened.nil)).....;;.We.should | 
| c980 | 6e 27 74 20 62 65 20 63 61 6c 6c 65 64 20 6f 6e    20 70 72 69 6d 69 74 69 76 65 20 66 75 6e 63 74 | n't.be.called.on.primitive.funct | 
| c9a0 | 69 6f 6e 73 20 69 66 20 77 65 20 64 6f 6e 27 74    20 68 61 76 65 0a 20 20 20 20 3b 3b 20 61 20 64 | ions.if.we.don't.have.....;;.a.d | 
| c9c0 | 69 72 65 63 74 6f 72 79 20 6f 66 20 45 6d 61 63    73 20 43 20 73 6f 75 72 63 65 63 6f 64 65 2e 0a | irectory.of.Emacs.C.sourcecode.. | 
| c9e0 | 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 0a 20    20 20 20 20 28 6f 72 20 66 69 6e 64 2d 66 75 6e | ....(cl-assert......(or.find-fun | 
| ca00 | 63 74 69 6f 6e 2d 43 2d 73 6f 75 72 63 65 2d 64    69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 | ction-C-source-directory........ | 
| ca20 | 20 20 28 6e 6f 74 20 70 72 69 6d 69 74 69 76 65    2d 70 29 29 29 0a 0a 20 20 20 20 28 77 68 65 6e | ..(not.primitive-p)))......(when | 
| ca40 | 20 28 73 79 6d 62 6f 6c 70 20 73 79 6d 29 0a 20    20 20 20 20 20 28 69 66 20 63 61 6c 6c 61 62 6c | .(symbolp.sym).......(if.callabl | 
| ca60 | 65 2d 70 0a 20 20 20 20 20 20 20 20 20 20 28 73    65 74 71 20 6c 69 62 72 61 72 79 2d 6e 61 6d 65 | e-p...........(setq.library-name | 
| ca80 | 20 28 63 64 72 20 28 66 69 6e 64 2d 66 75 6e 63    74 69 6f 6e 2d 6c 69 62 72 61 72 79 20 73 79 6d | .(cdr.(find-function-library.sym | 
| caa0 | 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 42    61 73 65 64 20 6f 6e 20 60 66 69 6e 64 2d 76 61 | ))).........;;.Based.on.`find-va | 
| cac0 | 72 69 61 62 6c 65 2d 6e 6f 73 65 6c 65 63 74 27    2e 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 | riable-noselect'..........(setq. | 
| cae0 | 6c 69 62 72 61 72 79 2d 6e 61 6d 65 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6f 72 0a 20 | library-name...............(or.. | 
| cb00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73    79 6d 62 6f 6c 2d 66 69 6c 65 20 73 79 6d 20 27 | ..............(symbol-file.sym.' | 
| cb20 | 64 65 66 76 61 72 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 68 65 6c 70 2d 43 2d 66 | defvar)................(help-C-f | 
| cb40 | 69 6c 65 2d 6e 61 6d 65 20 73 79 6d 20 27 76 61    72 29 29 29 29 29 0a 0a 20 20 20 20 28 77 68 65 | ile-name.sym.'var)))))......(whe | 
| cb60 | 6e 20 6c 69 62 72 61 72 79 2d 6e 61 6d 65 0a 20    20 20 20 20 20 28 73 65 74 71 20 73 72 63 2d 70 | n.library-name.......(setq.src-p | 
| cb80 | 61 74 68 20 28 68 65 6c 70 66 75 6c 2d 2d 6c 69    62 72 61 72 79 2d 70 61 74 68 20 6c 69 62 72 61 | ath.(helpful--library-path.libra | 
| cba0 | 72 79 2d 6e 61 6d 65 29 29 29 0a 0a 20 20 20 20    28 63 6f 6e 64 0a 20 20 20 20 20 28 28 61 6e 64 | ry-name)))......(cond......((and | 
| cbc0 | 20 28 6e 6f 74 20 28 73 79 6d 62 6f 6c 70 20 73    79 6d 29 29 20 28 66 75 6e 63 74 69 6f 6e 70 20 | .(not.(symbolp.sym)).(functionp. | 
| cbe0 | 73 79 6d 29 29 0a 20 20 20 20 20 20 28 6c 69 73    74 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 29 29 0a | sym)).......(list.nil.nil.nil)). | 
| cc00 | 20 20 20 20 20 28 28 61 6e 64 20 63 61 6c 6c 61    62 6c 65 2d 70 20 6c 69 62 72 61 72 79 2d 6e 61 | .....((and.callable-p.library-na | 
| cc20 | 6d 65 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20    73 72 63 2d 70 61 74 68 0a 20 20 20 20 20 20 20 | me).......(when.src-path........ | 
| cc40 | 20 28 2d 6c 65 74 20 5b 28 73 72 63 2d 62 75 66    20 73 72 63 2d 6f 70 65 6e 65 64 29 20 28 68 65 | .(-let.[(src-buf.src-opened).(he | 
| cc60 | 6c 70 66 75 6c 2d 2d 6f 70 65 6e 2d 69 66 2d 6e    65 65 64 65 64 20 73 72 63 2d 70 61 74 68 29 5d | lpful--open-if-needed.src-path)] | 
| cc80 | 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71    20 62 75 66 20 73 72 63 2d 62 75 66 29 0a 20 20 | ...........(setq.buf.src-buf)... | 
| cca0 | 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 70    65 6e 65 64 20 73 72 63 2d 6f 70 65 6e 65 64 29 | ........(setq.opened.src-opened) | 
| ccc0 | 29 0a 0a 20 20 20 20 20 20 20 20 3b 3b 20 42 61    73 65 64 20 6f 6e 20 60 66 69 6e 64 2d 66 75 6e | )..........;;.Based.on.`find-fun | 
| cce0 | 63 74 69 6f 6e 2d 6e 6f 73 65 6c 65 63 74 27 2e    0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 | ction-noselect'..........(with-c | 
| cd00 | 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75    66 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 | urrent-buffer.buf...........;;.` | 
| cd20 | 66 69 6e 64 2d 66 75 6e 63 74 69 6f 6e 2d 73 65    61 72 63 68 2d 66 6f 72 2d 73 79 6d 62 6f 6c 27 | find-function-search-for-symbol' | 
| cd40 | 20 6d 6f 76 65 73 20 70 6f 69 6e 74 2e 20 50 72    65 76 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 | .moves.point..Prevent........... | 
| cd60 | 3b 3b 20 74 68 61 74 2e 0a 20 20 20 20 20 20 20    20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 | ;;.that............(save-excursi | 
| cd80 | 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b    3b 20 4e 61 72 72 6f 77 69 6e 67 20 68 61 73 20 | on.............;;.Narrowing.has. | 
| cda0 | 62 65 65 6e 20 66 69 78 65 64 20 75 70 73 74 72    65 61 6d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | been.fixed.upstream:............ | 
| cdc0 | 20 3b 3b 20 68 74 74 70 3a 2f 2f 67 69 74 2e 73    61 76 61 6e 6e 61 68 2e 67 6e 75 2e 6f 72 67 2f | .;;.http://git.savannah.gnu.org/ | 
| cde0 | 63 67 69 74 2f 65 6d 61 63 73 2e 67 69 74 2f 63    6f 6d 6d 69 74 2f 3f 69 64 3d 61 62 64 31 38 32 | cgit/emacs.git/commit/?id=abd182 | 
| ce00 | 35 34 61 65 63 37 36 62 32 36 65 38 36 61 65 32    37 65 39 31 64 32 63 39 31 36 65 63 32 30 63 63 | 54aec76b26e86ae27e91d2c916ec20cc | 
| ce20 | 34 36 0a 20 20 20 20 20 20 20 20 20 20 20 20 28    73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e | 46.............(save-restriction | 
| ce40 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    77 69 64 65 6e 29 0a 20 20 20 20 20 20 20 20 20 | ...............(widen).......... | 
| ce60 | 20 20 20 20 20 28 73 65 74 71 20 70 6f 73 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....(setq.pos.................. | 
| ce80 | 20 20 20 28 63 64 72 20 28 66 69 6e 64 2d 66 75    6e 63 74 69 6f 6e 2d 73 65 61 72 63 68 2d 66 6f | ...(cdr.(find-function-search-fo | 
| cea0 | 72 2d 73 79 6d 62 6f 6c 20 73 79 6d 20 6e 69 6c    20 6c 69 62 72 61 72 79 2d 6e 61 6d 65 29 29 29 | r-symbol.sym.nil.library-name))) | 
| cec0 | 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 49    66 20 77 65 20 66 6f 75 6e 64 20 74 68 65 20 63 | ))).........;;.If.we.found.the.c | 
| cee0 | 6f 6e 74 61 69 6e 69 6e 67 20 62 75 66 66 65 72    2c 20 62 75 74 20 6e 6f 74 20 74 68 65 20 73 79 | ontaining.buffer,.but.not.the.sy | 
| cf00 | 6d 62 6f 6c 2c 20 61 74 74 65 6d 70 74 0a 20 20    20 20 20 20 20 20 3b 3b 20 74 6f 20 66 69 6e 64 | mbol,.attempt.........;;.to.find | 
| cf20 | 20 69 74 20 62 79 20 6d 61 63 72 6f 65 78 70 61    6e 64 69 6e 67 20 69 6e 74 65 72 65 73 74 69 6e | .it.by.macroexpanding.interestin | 
| cf40 | 67 20 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 20    20 28 77 68 65 6e 20 28 61 6e 64 20 62 75 66 20 | g.forms..........(when.(and.buf. | 
| cf60 | 28 6e 6f 74 20 70 6f 73 29 29 0a 20 20 20 20 20    20 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 28 | (not.pos))...........(setq.pos.( | 
| cf80 | 68 65 6c 70 66 75 6c 2d 2d 66 69 6e 64 2d 62 79    2d 6d 61 63 72 6f 65 78 70 61 6e 64 69 6e 67 20 | helpful--find-by-macroexpanding. | 
| cfa0 | 62 75 66 20 73 79 6d 20 74 29 29 29 29 29 0a 20    20 20 20 20 3b 3b 20 41 20 66 75 6e 63 74 69 6f | buf.sym.t)))))......;;.A.functio | 
| cfc0 | 6e 2c 20 62 75 74 20 6e 6f 20 66 69 6c 65 20 66    6f 75 6e 64 2e 0a 20 20 20 20 20 28 63 61 6c 6c | n,.but.no.file.found.......(call | 
| cfe0 | 61 62 6c 65 2d 70 0a 20 20 20 20 20 20 3b 3b 20    46 75 6e 63 74 69 6f 6e 73 20 64 65 66 69 6e 65 | able-p.......;;.Functions.define | 
| d000 | 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20    6d 61 79 20 68 61 76 65 20 61 6e 20 65 64 65 62 | d.interactively.may.have.an.edeb | 
| d020 | 75 67 20 70 72 6f 70 65 72 74 79 0a 20 20 20 20    20 20 3b 3b 20 74 68 61 74 20 63 6f 6e 74 61 69 | ug.property.......;;.that.contai | 
| d040 | 6e 73 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20    6f 66 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f | ns.the.location.of.the.definitio | 
| d060 | 6e 2e 0a 20 20 20 20 20 20 28 2d 77 68 65 6e 2d    6c 65 74 20 28 65 64 65 62 75 67 2d 69 6e 66 6f | n........(-when-let.(edebug-info | 
| d080 | 20 28 67 65 74 20 73 79 6d 20 27 65 64 65 62 75    67 29 29 0a 20 20 20 20 20 20 20 20 28 2d 6c 65 | .(get.sym.'edebug)).........(-le | 
| d0a0 | 74 20 5b 6d 61 72 6b 65 72 20 28 69 66 20 28 63    6f 6e 73 70 20 65 64 65 62 75 67 2d 69 6e 66 6f | t.[marker.(if.(consp.edebug-info | 
| d0c0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 | )...........................(car | 
| d0e0 | 20 65 64 65 62 75 67 2d 69 6e 66 6f 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .edebug-info)................... | 
| d100 | 20 20 20 20 20 20 65 64 65 62 75 67 2d 69 6e 66    6f 29 5d 0a 20 20 20 20 20 20 20 20 20 20 28 73 | ......edebug-info)]...........(s | 
| d120 | 65 74 71 20 62 75 66 20 28 6d 61 72 6b 65 72 2d    62 75 66 66 65 72 20 6d 61 72 6b 65 72 29 29 0a | etq.buf.(marker-buffer.marker)). | 
| d140 | 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20    70 6f 73 20 28 6d 61 72 6b 65 72 2d 70 6f 73 69 | ..........(setq.pos.(marker-posi | 
| d160 | 74 69 6f 6e 20 6d 61 72 6b 65 72 29 29 29 29 29    0a 20 20 20 20 20 28 28 61 6e 64 20 28 6e 6f 74 | tion.marker)))))......((and.(not | 
| d180 | 20 63 61 6c 6c 61 62 6c 65 2d 70 29 20 73 72 63    2d 70 61 74 68 29 0a 20 20 20 20 20 20 28 2d 6c | .callable-p).src-path).......(-l | 
| d1a0 | 65 74 20 5b 28 73 72 63 2d 62 75 66 20 73 72 63    2d 6f 70 65 6e 65 64 29 20 28 68 65 6c 70 66 75 | et.[(src-buf.src-opened).(helpfu | 
| d1c0 | 6c 2d 2d 6f 70 65 6e 2d 69 66 2d 6e 65 65 64 65    64 20 73 72 63 2d 70 61 74 68 29 5d 0a 20 20 20 | l--open-if-needed.src-path)].... | 
| d1e0 | 20 20 20 20 20 28 73 65 74 71 20 62 75 66 20 73    72 63 2d 62 75 66 29 0a 20 20 20 20 20 20 20 20 | .....(setq.buf.src-buf)......... | 
| d200 | 28 73 65 74 71 20 6f 70 65 6e 65 64 20 73 72 63    2d 6f 70 65 6e 65 64 29 0a 0a 20 20 20 20 20 20 | (setq.opened.src-opened)........ | 
| d220 | 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d    62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 20 | ..(with-current-buffer.buf...... | 
| d240 | 20 20 20 20 20 3b 3b 20 60 66 69 6e 64 2d 66 75    6e 63 74 69 6f 6e 2d 73 65 61 72 63 68 2d 66 6f | .....;;.`find-function-search-fo | 
| d260 | 72 2d 73 79 6d 62 6f 6c 27 20 6d 6f 76 65 73 20    70 6f 69 6e 74 2e 20 50 72 65 76 65 6e 74 0a 20 | r-symbol'.moves.point..Prevent.. | 
| d280 | 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 61 74    2e 0a 20 20 20 20 20 20 20 20 20 20 28 73 61 76 | .........;;.that............(sav | 
| d2a0 | 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20    20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 | e-excursion.............(conditi | 
| d2c0 | 6f 6e 2d 63 61 73 65 20 5f 65 72 72 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 | on-case._err.................(se | 
| d2e0 | 74 71 20 70 6f 73 20 28 63 64 72 20 28 66 69 6e    64 2d 76 61 72 69 61 62 6c 65 2d 6e 6f 73 65 6c | tq.pos.(cdr.(find-variable-nosel | 
| d300 | 65 63 74 20 73 79 6d 20 6c 69 62 72 61 72 79 2d    6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 | ect.sym.library-name)))......... | 
| d320 | 20 20 20 20 20 20 28 73 65 61 72 63 68 2d 66 61    69 6c 65 64 20 6e 69 6c 29 0a 20 20 20 20 20 20 | ......(search-failed.nil)....... | 
| d340 | 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 79 6f    75 72 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 | ........;;.If.your.current.Emacs | 
| d360 | 20 69 6e 73 74 61 6e 63 65 20 64 6f 65 73 6e 27    74 20 6d 61 74 63 68 20 74 68 65 20 73 6f 75 72 | .instance.doesn't.match.the.sour | 
| d380 | 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3b 3b 20 63 6f 64 65 20 63 6f 6e 66 69 67 75 | ce...............;;.code.configu | 
| d3a0 | 72 65 64 20 69 6e 20 66 69 6e 64 2d 66 75 6e 63    74 69 6f 6e 2d 43 2d 73 6f 75 72 63 65 2d 64 69 | red.in.find-function-C-source-di | 
| d3c0 | 72 65 63 74 6f 72 79 2c 20 77 65 20 63 61 6e 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b | rectory,.we.can...............;; | 
| d3e0 | 20 67 65 74 20 61 6e 20 65 72 72 6f 72 20 61 62    6f 75 74 20 6e 6f 74 20 66 69 6e 64 69 6e 67 20 | .get.an.error.about.not.finding. | 
| d400 | 73 6f 75 72 63 65 2e 20 54 72 79 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 64 65 | source..Try...............;;.`de | 
| d420 | 66 61 75 6c 74 2d 74 61 62 2d 77 69 64 74 68 27    20 61 67 61 69 6e 73 74 20 45 6d 61 63 73 20 74 | fault-tab-width'.against.Emacs.t | 
| d440 | 72 75 6e 6b 2e 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 65 72 72 6f 72 20 6e 69 6c 29 29 | runk................(error.nil)) | 
| d460 | 29 29 29 29 29 0a 0a 20 20 20 20 28 6c 69 73 74    20 62 75 66 20 70 6f 73 20 6f 70 65 6e 65 64 29 | )))))......(list.buf.pos.opened) | 
| d480 | 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66    75 6c 2d 2d 72 65 66 65 72 65 6e 63 65 2d 70 6f | ))..(defun.helpful--reference-po | 
| d4a0 | 73 69 74 69 6f 6e 73 20 28 73 79 6d 20 63 61 6c    6c 61 62 6c 65 2d 70 20 62 75 66 29 0a 20 20 22 | sitions.(sym.callable-p.buf)..." | 
| d4c0 | 52 65 74 75 72 6e 20 61 6c 6c 20 74 68 65 20 62    75 66 66 65 72 20 70 6f 73 69 74 69 6f 6e 73 20 | Return.all.the.buffer.positions. | 
| d4e0 | 6f 66 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f    20 53 59 4d 20 69 6e 20 42 55 46 2e 22 0a 20 20 | of.references.to.SYM.in.BUF."... | 
| d500 | 28 2d 6c 65 74 2a 20 28 28 66 6f 72 6d 73 2d 61    6e 64 2d 62 75 66 73 0a 20 20 20 20 20 20 20 20 | (-let*.((forms-and-bufs......... | 
| d520 | 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d    73 65 61 72 63 68 2d 31 0a 20 20 20 20 20 20 20 | ...(elisp-refs--search-1........ | 
| d540 | 20 20 20 20 20 28 6c 69 73 74 20 62 75 66 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d | .....(list.buf).............(lam | 
| d560 | 62 64 61 20 28 62 75 66 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 | bda.(buf)...............(elisp-r | 
| d580 | 65 66 73 2d 2d 72 65 61 64 2d 61 6e 64 2d 66 69    6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | efs--read-and-find.............. | 
| d5a0 | 20 20 62 75 66 20 73 79 6d 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 69 66 20 63 61 6c | ..buf.sym................(if.cal | 
| d5c0 | 6c 61 62 6c 65 2d 70 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 23 27 65 6c 69 | lable-p....................#'eli | 
| d5e0 | 73 70 2d 72 65 66 73 2d 2d 66 75 6e 63 74 69 6f    6e 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 | sp-refs--function-p............. | 
| d600 | 20 20 20 20 20 23 27 65 6c 69 73 70 2d 72 65 66    73 2d 2d 76 61 72 69 61 62 6c 65 2d 70 29 29 29 | .....#'elisp-refs--variable-p))) | 
| d620 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20    53 69 6e 63 65 20 77 65 20 6f 6e 6c 79 20 73 65 | ))...........;;.Since.we.only.se | 
| d640 | 61 72 63 68 65 64 20 6f 6e 65 20 62 75 66 66 65    72 2c 20 77 65 20 6b 6e 6f 77 20 74 68 61 74 0a | arched.one.buffer,.we.know.that. | 
| d660 | 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 6f 72    6d 73 2d 61 6e 64 2d 62 75 66 73 20 68 61 73 20 | ..........;;.forms-and-bufs.has. | 
| d680 | 6f 6e 6c 79 20 6f 6e 65 20 69 74 65 6d 2e 0a 20    20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 73 2d | only.one.item............(forms- | 
| d6a0 | 61 6e 64 2d 62 75 66 20 28 2d 66 69 72 73 74 2d    69 74 65 6d 20 66 6f 72 6d 73 2d 61 6e 64 2d 62 | and-buf.(-first-item.forms-and-b | 
| d6c0 | 75 66 73 29 29 0a 20 20 20 20 20 20 20 20 20 20    28 28 66 6f 72 6d 73 20 2e 20 5f 62 75 66 29 20 | ufs))...........((forms..._buf). | 
| d6e0 | 66 6f 72 6d 73 2d 61 6e 64 2d 62 75 66 29 29 0a    20 20 20 20 28 2d 6d 61 70 0a 20 20 20 20 20 28 | forms-and-buf)).....(-map......( | 
| d700 | 2d 6c 61 6d 62 64 61 20 28 28 5f 63 6f 64 65 20    73 74 61 72 74 2d 70 6f 73 20 5f 65 6e 64 2d 70 | -lambda.((_code.start-pos._end-p | 
| d720 | 6f 73 29 29 20 73 74 61 72 74 2d 70 6f 73 29 0a    20 20 20 20 20 66 6f 72 6d 73 29 29 29 0a 0a 28 | os)).start-pos)......forms)))..( | 
| d740 | 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 61    6c 6c 2d 6b 65 79 6d 61 70 2d 73 79 6d 73 20 28 | defun.helpful--all-keymap-syms.( | 
| d760 | 29 0a 20 20 22 52 65 74 75 72 6e 20 61 6c 6c 20    6b 65 79 6d 61 70 73 20 64 65 66 69 6e 65 64 20 | )..."Return.all.keymaps.defined. | 
| d780 | 69 6e 20 74 68 69 73 20 45 6d 61 63 73 20 69 6e    73 74 61 6e 63 65 2e 22 0a 20 20 28 6c 65 74 20 | in.this.Emacs.instance."...(let. | 
| d7a0 | 28 6b 65 79 6d 61 70 73 29 0a 20 20 20 20 28 6d    61 70 61 74 6f 6d 73 0a 20 20 20 20 20 28 6c 61 | (keymaps).....(mapatoms......(la | 
| d7c0 | 6d 62 64 61 20 28 73 79 6d 29 0a 20 20 20 20 20    20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 62 6f | mbda.(sym)........(when.(and.(bo | 
| d7e0 | 75 6e 64 70 20 73 79 6d 29 20 28 6b 65 79 6d 61    70 70 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 | undp.sym).(keymapp.(symbol-value | 
| d800 | 20 73 79 6d 29 29 29 0a 20 20 20 20 20 20 20 20    20 28 70 75 73 68 20 73 79 6d 20 6b 65 79 6d 61 | .sym)))..........(push.sym.keyma | 
| d820 | 70 73 29 29 29 29 0a 20 20 20 20 6b 65 79 6d 61    70 73 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c | ps)))).....keymaps))..(defun.hel | 
| d840 | 70 66 75 6c 2d 2d 6b 65 79 2d 73 65 71 75 65 6e    63 65 73 20 28 63 6f 6d 6d 61 6e 64 2d 73 79 6d | pful--key-sequences.(command-sym | 
| d860 | 20 6b 65 79 6d 61 70 20 67 6c 6f 62 61 6c 2d 6b    65 79 63 6f 64 65 73 29 0a 20 20 22 52 65 74 75 | .keymap.global-keycodes)..."Retu | 
| d880 | 72 6e 20 61 6c 6c 20 74 68 65 20 6b 65 79 20 73    65 71 75 65 6e 63 65 73 20 6f 66 20 43 4f 4d 4d | rn.all.the.key.sequences.of.COMM | 
| d8a0 | 41 4e 44 2d 53 59 4d 20 69 6e 20 4b 45 59 4d 41    50 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6b 65 | AND-SYM.in.KEYMAP."...(let*.((ke | 
| d8c0 | 79 63 6f 64 65 73 0a 20 20 20 20 20 20 20 20 20    20 3b 3b 20 4c 6f 6f 6b 20 75 70 20 74 68 69 73 | ycodes...........;;.Look.up.this | 
| d8e0 | 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20    6b 65 79 6d 61 70 2c 20 69 74 73 20 70 61 72 65 | .command.in.the.keymap,.its.pare | 
| d900 | 6e 74 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20    20 20 20 20 20 3b 3b 20 67 6c 6f 62 61 6c 20 6d | nt.and.the...........;;.global.m | 
| d920 | 61 70 2e 20 57 65 20 6e 65 65 64 20 74 6f 20 69    6e 63 6c 75 64 65 20 74 68 65 20 67 6c 6f 62 61 | ap..We.need.to.include.the.globa | 
| d940 | 6c 20 6d 61 70 20 74 6f 20 66 69 6e 64 0a 20 20    20 20 20 20 20 20 20 20 3b 3b 20 72 65 6d 61 70 | l.map.to.find...........;;.remap | 
| d960 | 70 65 64 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20    20 20 20 20 20 20 20 20 28 77 68 65 72 65 2d 69 | ped.commands............(where-i | 
| d980 | 73 2d 69 6e 74 65 72 6e 61 6c 20 63 6f 6d 6d 61    6e 64 2d 73 79 6d 20 6b 65 79 6d 61 70 20 6e 69 | s-internal.command-sym.keymap.ni | 
| d9a0 | 6c 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 3b    3b 20 4c 6f 6f 6b 20 75 70 20 74 68 69 73 20 63 | l.t))..........;;.Look.up.this.c | 
| d9c0 | 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20 70 61    72 65 6e 74 20 6b 65 79 6d 61 70 2e 0a 20 20 20 | ommand.in.the.parent.keymap..... | 
| d9e0 | 20 20 20 20 20 20 28 70 61 72 65 6e 74 2d 6b 65    79 6d 61 70 20 28 6b 65 79 6d 61 70 2d 70 61 72 | ......(parent-keymap.(keymap-par | 
| da00 | 65 6e 74 20 6b 65 79 6d 61 70 29 29 0a 20 20 20    20 20 20 20 20 20 28 70 61 72 65 6e 74 2d 6b 65 | ent.keymap))..........(parent-ke | 
| da20 | 79 63 6f 64 65 73 0a 20 20 20 20 20 20 20 20 20    20 28 77 68 65 6e 20 70 61 72 65 6e 74 2d 6b 65 | ycodes...........(when.parent-ke | 
| da40 | 79 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 77 68 65 72 65 2d 69 73 2d 69 6e 74 65 72 | ymap.............(where-is-inter | 
| da60 | 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 63 6f 6d 6d 61 6e 64 2d 73 79 6d 20 28 6c 69 | nal..............command-sym.(li | 
| da80 | 73 74 20 70 61 72 65 6e 74 2d 6b 65 79 6d 61 70    29 20 6e 69 6c 20 74 29 29 29 0a 20 20 20 20 20 | st.parent-keymap).nil.t)))...... | 
| daa0 | 20 20 20 20 3b 3b 20 4c 6f 6f 6b 20 75 70 20 74    68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 | ....;;.Look.up.this.command.in.t | 
| dac0 | 68 65 20 67 6c 6f 62 61 6c 20 6d 61 70 2e 0a 20    20 20 20 20 20 20 20 20 28 67 6c 6f 62 61 6c 2d | he.global.map...........(global- | 
| dae0 | 6b 65 79 63 6f 64 65 73 0a 20 20 20 20 20 20 20    20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 6b | keycodes...........(unless.(eq.k | 
| db00 | 65 79 6d 61 70 20 67 6c 6f 62 61 6c 2d 6d 61 70    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 6c | eymap.global-map).............gl | 
| db20 | 6f 62 61 6c 2d 6b 65 79 63 6f 64 65 73 29 29 29    0a 20 20 20 20 28 2d 3e 3e 20 6b 65 79 63 6f 64 | obal-keycodes))).....(->>.keycod | 
| db40 | 65 73 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 49    67 6e 6f 72 65 20 6b 65 79 62 69 6e 64 69 6e 67 | es..........;;.Ignore.keybinding | 
| db60 | 73 20 66 72 6f 6d 20 74 68 65 20 70 61 72 65 6e    74 20 6f 72 20 67 6c 6f 62 61 6c 20 6d 61 70 2e | s.from.the.parent.or.global.map. | 
| db80 | 0a 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 6d    6f 76 65 20 28 6f 72 20 28 2d 63 6f 6e 74 61 69 | ..........(--remove.(or.(-contai | 
| dba0 | 6e 73 2d 70 20 67 6c 6f 62 61 6c 2d 6b 65 79 63    6f 64 65 73 20 69 74 29 0a 20 20 20 20 20 20 20 | ns-p.global-keycodes.it)........ | 
| dbc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 2d 63 6f 6e 74 61 69 6e 73 2d 70 20 70 61 72 | ................(-contains-p.par | 
| dbe0 | 65 6e 74 2d 6b 65 79 63 6f 64 65 73 20 69 74 29    29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 43 | ent-keycodes.it)))..........;;.C | 
| dc00 | 6f 6e 76 65 72 74 20 72 61 77 20 6b 65 79 63 6f    64 65 20 76 65 63 74 6f 72 73 20 69 6e 74 6f 20 | onvert.raw.keycode.vectors.into. | 
| dc20 | 68 75 6d 61 6e 2d 72 65 61 64 61 62 6c 65 20 73    74 72 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 | human-readable.strings.......... | 
| dc40 | 20 28 2d 6d 61 70 20 23 27 6b 65 79 2d 64 65 73    63 72 69 70 74 69 6f 6e 29 29 29 29 0a 0a 28 64 | .(-map.#'key-description))))..(d | 
| dc60 | 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6b 65    79 6d 61 70 73 2d 63 6f 6e 74 61 69 6e 69 6e 67 | efun.helpful--keymaps-containing | 
| dc80 | 20 28 63 6f 6d 6d 61 6e 64 2d 73 79 6d 29 0a 20    20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 | .(command-sym)..."Return.a.list. | 
| dca0 | 6f 66 20 70 61 69 72 73 20 6c 69 73 74 69 6e 67    20 6b 65 79 6d 61 70 20 6e 61 6d 65 73 20 74 68 | of.pairs.listing.keymap.names.th | 
| dcc0 | 61 74 20 63 6f 6e 74 61 69 6e 20 43 4f 4d 4d 41    4e 44 2d 53 59 4d 2c 0a 61 6c 6f 6e 67 20 77 69 | at.contain.COMMAND-SYM,.along.wi | 
| dce0 | 74 68 20 74 68 65 20 6b 65 79 62 69 6e 64 69 6e    67 73 20 69 6e 20 65 61 63 68 20 6b 65 79 6d 61 | th.the.keybindings.in.each.keyma | 
| dd00 | 70 2e 0a 0a 4b 65 79 6d 61 70 20 6e 61 6d 65 73    20 61 72 65 20 74 79 70 69 63 61 6c 6c 79 20 76 | p...Keymap.names.are.typically.v | 
| dd20 | 61 72 69 61 62 6c 65 20 6e 61 6d 65 73 2c 20 62    75 74 20 6d 61 79 20 61 6c 73 6f 20 62 65 0a 64 | ariable.names,.but.may.also.be.d | 
| dd40 | 65 73 63 72 69 70 74 69 6f 6e 73 20 6f 66 20 76    61 6c 75 65 73 20 69 6e 20 60 6d 69 6e 6f 72 2d | escriptions.of.values.in.`minor- | 
| dd60 | 6d 6f 64 65 2d 6d 61 70 2d 61 6c 69 73 74 27 2e    0a 0a 57 65 20 69 67 6e 6f 72 65 20 6b 65 79 62 | mode-map-alist'...We.ignore.keyb | 
| dd80 | 69 6e 64 69 6e 67 73 20 74 68 61 74 20 61 72 65    20 6d 65 6e 75 20 69 74 65 6d 73 2c 20 61 6e 64 | indings.that.are.menu.items,.and | 
| dda0 | 20 69 67 6e 6f 72 65 20 6b 65 79 62 69 6e 64 69    6e 67 73 0a 66 72 6f 6d 20 70 61 72 65 6e 74 20 | .ignore.keybindings.from.parent. | 
| ddc0 | 6b 65 79 6d 61 70 73 2e 0a 0a 60 77 69 64 67 65    74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 27 20 69 73 | keymaps...`widget-global-map'.is | 
| dde0 | 20 61 6c 73 6f 20 69 67 6e 6f 72 65 64 20 61 73    20 69 74 20 67 65 6e 65 72 61 6c 6c 79 20 63 6f | .also.ignored.as.it.generally.co | 
| de00 | 6e 74 61 69 6e 73 20 74 68 65 0a 73 61 6d 65 20    62 69 6e 64 69 6e 67 73 20 61 73 20 60 67 6c 6f | ntains.the.same.bindings.as.`glo | 
| de20 | 62 61 6c 2d 6d 61 70 27 2e 22 0a 20 20 28 6c 65    74 2a 20 28 28 6b 65 79 6d 61 70 2d 73 79 6d 73 | bal-map'."...(let*.((keymap-syms | 
| de40 | 20 28 68 65 6c 70 66 75 6c 2d 2d 61 6c 6c 2d 6b    65 79 6d 61 70 2d 73 79 6d 73 29 29 0a 20 20 20 | .(helpful--all-keymap-syms)).... | 
| de60 | 20 20 20 20 20 20 28 6b 65 79 6d 61 70 2d 73 79    6d 2d 76 61 6c 73 20 28 2d 6d 61 70 20 23 27 73 | ......(keymap-sym-vals.(-map.#'s | 
| de80 | 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 6b 65 79 6d    61 70 2d 73 79 6d 73 29 29 0a 20 20 20 20 20 20 | ymbol-value.keymap-syms))....... | 
| dea0 | 20 20 20 28 67 6c 6f 62 61 6c 2d 6b 65 79 63 6f    64 65 73 20 28 77 68 65 72 65 2d 69 73 2d 69 6e | ...(global-keycodes.(where-is-in | 
| dec0 | 74 65 72 6e 61 6c 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ternal.......................... | 
| dee0 | 20 20 63 6f 6d 6d 61 6e 64 2d 73 79 6d 20 28 6c    69 73 74 20 67 6c 6f 62 61 6c 2d 6d 61 70 29 20 | ..command-sym.(list.global-map). | 
| df00 | 6e 69 6c 20 74 29 29 0a 20 20 20 20 20 20 20 20    20 6d 61 74 63 68 69 6e 67 2d 6b 65 79 6d 61 70 | nil.t))..........matching-keymap | 
| df20 | 73 29 0a 20 20 20 20 3b 3b 20 4c 6f 6f 6b 20 66    6f 72 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 | s).....;;.Look.for.this.command. | 
| df40 | 69 6e 20 61 6c 6c 20 6b 65 79 6d 61 70 73 20 62    6f 75 6e 64 20 74 6f 20 76 61 72 69 61 62 6c 65 | in.all.keymaps.bound.to.variable | 
| df60 | 73 2e 0a 20 20 20 20 28 2d 6d 61 70 0a 20 20 20    20 20 28 2d 6c 61 6d 62 64 61 20 28 28 6b 65 79 | s......(-map......(-lambda.((key | 
| df80 | 6d 61 70 2d 73 79 6d 20 2e 20 6b 65 79 6d 61 70    29 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 | map-sym...keymap))........(let.( | 
| dfa0 | 28 6b 65 79 2d 73 65 71 75 65 6e 63 65 73 20 28    68 65 6c 70 66 75 6c 2d 2d 6b 65 79 2d 73 65 71 | (key-sequences.(helpful--key-seq | 
| dfc0 | 75 65 6e 63 65 73 20 63 6f 6d 6d 61 6e 64 2d 73    79 6d 20 6b 65 79 6d 61 70 20 67 6c 6f 62 61 6c | uences.command-sym.keymap.global | 
| dfe0 | 2d 6b 65 79 63 6f 64 65 73 29 29 29 0a 20 20 20    20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 | -keycodes)))..........(when.(and | 
| e000 | 20 6b 65 79 2d 73 65 71 75 65 6e 63 65 73 20 28    6e 6f 74 20 28 65 71 20 6b 65 79 6d 61 70 2d 73 | .key-sequences.(not.(eq.keymap-s | 
| e020 | 79 6d 20 27 77 69 64 67 65 74 2d 67 6c 6f 62 61    6c 2d 6d 61 70 29 29 29 0a 20 20 20 20 20 20 20 | ym.'widget-global-map)))........ | 
| e040 | 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20    28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6b 65 79 | ....(push.(cons.(symbol-name.key | 
| e060 | 6d 61 70 2d 73 79 6d 29 20 6b 65 79 2d 73 65 71    75 65 6e 63 65 73 29 0a 20 20 20 20 20 20 20 20 | map-sym).key-sequences)......... | 
| e080 | 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 69 6e    67 2d 6b 65 79 6d 61 70 73 29 29 29 29 0a 20 20 | .........matching-keymaps))))... | 
| e0a0 | 20 20 20 28 2d 7a 69 70 2d 70 61 69 72 20 6b 65    79 6d 61 70 2d 73 79 6d 73 20 6b 65 79 6d 61 70 | ...(-zip-pair.keymap-syms.keymap | 
| e0c0 | 2d 73 79 6d 2d 76 61 6c 73 29 29 0a 0a 20 20 20    20 3b 3b 20 4c 6f 6f 6b 20 66 6f 72 20 74 68 69 | -sym-vals))......;;.Look.for.thi | 
| e0e0 | 73 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 6b 65 79    6d 61 70 73 20 75 73 65 64 20 62 79 20 6d 69 6e | s.command.in.keymaps.used.by.min | 
| e100 | 6f 72 20 6d 6f 64 65 73 20 74 68 61 74 0a 20 20    20 20 3b 3b 20 61 72 65 6e 27 74 20 62 6f 75 6e | or.modes.that.....;;.aren't.boun | 
| e120 | 64 20 74 6f 20 76 61 72 69 61 62 6c 65 73 2e 0a    20 20 20 20 28 2d 6d 61 70 0a 20 20 20 20 20 28 | d.to.variables......(-map......( | 
| e140 | 2d 6c 61 6d 62 64 61 20 28 28 6d 69 6e 6f 72 2d    6d 6f 64 65 20 2e 20 6b 65 79 6d 61 70 29 29 0a | -lambda.((minor-mode...keymap)). | 
| e160 | 20 20 20 20 20 20 20 3b 3b 20 4f 6e 6c 79 20 63    6f 6e 73 69 64 65 72 20 74 68 69 73 20 6b 65 79 | .......;;.Only.consider.this.key | 
| e180 | 6d 61 70 20 69 66 20 77 65 20 64 69 64 6e 27 74    20 66 69 6e 64 20 69 74 20 62 6f 75 6e 64 20 74 | map.if.we.didn't.find.it.bound.t | 
| e1a0 | 6f 20 61 20 76 61 72 69 61 62 6c 65 2e 0a 20 20    20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 | o.a.variable.........(when.(and. | 
| e1c0 | 28 6b 65 79 6d 61 70 70 20 6b 65 79 6d 61 70 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (keymapp.keymap)................ | 
| e1e0 | 20 20 20 28 6e 6f 74 20 28 6d 65 6d 71 20 6b 65    79 6d 61 70 20 6b 65 79 6d 61 70 2d 73 79 6d 2d | ...(not.(memq.keymap.keymap-sym- | 
| e200 | 76 61 6c 73 29 29 29 0a 20 20 20 20 20 20 20 20    20 28 6c 65 74 20 28 28 6b 65 79 2d 73 65 71 75 | vals)))..........(let.((key-sequ | 
| e220 | 65 6e 63 65 73 20 28 68 65 6c 70 66 75 6c 2d 2d    6b 65 79 2d 73 65 71 75 65 6e 63 65 73 20 63 6f | ences.(helpful--key-sequences.co | 
| e240 | 6d 6d 61 6e 64 2d 73 79 6d 20 6b 65 79 6d 61 70    20 67 6c 6f 62 61 6c 2d 6b 65 79 63 6f 64 65 73 | mmand-sym.keymap.global-keycodes | 
| e260 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28    77 68 65 6e 20 6b 65 79 2d 73 65 71 75 65 6e 63 | )))............(when.key-sequenc | 
| e280 | 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    28 70 75 73 68 20 28 63 6f 6e 73 20 28 66 6f 72 | es..............(push.(cons.(for | 
| e2a0 | 6d 61 74 20 22 6d 69 6e 6f 72 2d 6d 6f 64 65 2d    6d 61 70 2d 61 6c 69 73 74 20 28 25 73 29 22 20 | mat."minor-mode-map-alist.(%s)". | 
| e2c0 | 6d 69 6e 6f 72 2d 6d 6f 64 65 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | minor-mode)..................... | 
| e2e0 | 20 20 20 20 20 6b 65 79 2d 73 65 71 75 65 6e 63    65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .....key-sequences)............. | 
| e300 | 20 20 20 20 20 20 20 6d 61 74 63 68 69 6e 67 2d    6b 65 79 6d 61 70 73 29 29 29 29 29 0a 20 20 20 | .......matching-keymaps))))).... | 
| e320 | 20 20 3b 3b 20 54 4f 44 4f 3a 20 65 78 61 6d 69    6e 65 20 60 6d 69 6e 6f 72 2d 6d 6f 64 65 2d 6f | ..;;.TODO:.examine.`minor-mode-o | 
| e340 | 76 65 72 72 69 64 69 6e 67 2d 6d 61 70 2d 61 6c    69 73 74 27 20 74 6f 6f 2e 0a 20 20 20 20 20 6d | verriding-map-alist'.too.......m | 
| e360 | 69 6e 6f 72 2d 6d 6f 64 65 2d 6d 61 70 2d 61 6c    69 73 74 29 0a 0a 20 20 20 20 6d 61 74 63 68 69 | inor-mode-map-alist)......matchi | 
| e380 | 6e 67 2d 6b 65 79 6d 61 70 73 29 29 0a 0a 28 64    65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6d 65 | ng-keymaps))..(defun.helpful--me | 
| e3a0 | 72 67 65 2d 61 6c 69 73 74 73 20 28 6c 31 20 6c    32 29 0a 20 20 22 47 69 76 65 6e 20 74 77 6f 20 | rge-alists.(l1.l2)..."Given.two. | 
| e3c0 | 61 6c 69 73 74 73 20 6d 61 70 70 69 6e 67 20 73    79 6d 62 6f 6c 73 20 74 6f 20 6c 69 73 74 73 2c | alists.mapping.symbols.to.lists, | 
| e3e0 | 20 72 65 74 75 72 6e 20 61 20 73 69 6e 67 6c 65    0a 61 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 | .return.a.single.alist.with.the. | 
| e400 | 6c 69 73 74 73 20 63 6f 6e 63 61 74 65 6e 61 74    65 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6c | lists.concatenated."...(let*.((l | 
| e420 | 31 2d 6b 65 79 73 20 28 2d 6d 61 70 20 23 27 2d    66 69 72 73 74 2d 69 74 65 6d 20 6c 31 29 29 0a | 1-keys.(-map.#'-first-item.l1)). | 
| e440 | 20 20 20 20 20 20 20 20 20 28 6c 32 2d 6b 65 79    73 20 28 2d 6d 61 70 20 23 27 2d 66 69 72 73 74 | .........(l2-keys.(-map.#'-first | 
| e460 | 2d 69 74 65 6d 20 6c 32 29 29 0a 20 20 20 20 20    20 20 20 20 28 6c 32 2d 65 78 74 72 61 2d 6b 65 | -item.l2))..........(l2-extra-ke | 
| e480 | 79 73 20 28 2d 64 69 66 66 65 72 65 6e 63 65 20    6c 32 2d 6b 65 79 73 20 6c 31 2d 6b 65 79 73 29 | ys.(-difference.l2-keys.l1-keys) | 
| e4a0 | 29 0a 20 20 20 20 20 20 20 20 20 28 6c 32 2d 65    78 74 72 61 2d 76 61 6c 75 65 73 0a 20 20 20 20 | )..........(l2-extra-values..... | 
| e4c0 | 20 20 20 20 20 20 28 2d 2d 6d 61 70 20 28 61 73    73 6f 63 20 69 74 20 6c 32 29 20 6c 32 2d 65 78 | ......(--map.(assoc.it.l2).l2-ex | 
| e4e0 | 74 72 61 2d 6b 65 79 73 29 29 0a 20 20 20 20 20    20 20 20 20 28 6c 31 2d 77 69 74 68 2d 76 61 6c | tra-keys))..........(l1-with-val | 
| e500 | 75 65 73 0a 20 20 20 20 20 20 20 20 20 20 28 2d    6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 28 6b | ues...........(-map.(-lambda.((k | 
| e520 | 65 79 20 2e 20 76 61 6c 75 65 73 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ey...values))................... | 
| e540 | 28 63 6f 6e 73 20 6b 65 79 20 28 61 70 70 65 6e    64 20 76 61 6c 75 65 73 0a 20 20 20 20 20 20 20 | (cons.key.(append.values........ | 
| e560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 | .............................(cd | 
| e580 | 72 20 28 61 73 73 6f 63 20 6b 65 79 20 6c 32 29    29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | r.(assoc.key.l2)))))............ | 
| e5a0 | 20 20 20 20 20 6c 31 29 29 29 0a 20 20 20 20 28    61 70 70 65 6e 64 20 6c 31 2d 77 69 74 68 2d 76 | .....l1))).....(append.l1-with-v | 
| e5c0 | 61 6c 75 65 73 20 6c 32 2d 65 78 74 72 61 2d 76    61 6c 75 65 73 29 29 29 0a 0a 28 64 65 66 75 6e | alues.l2-extra-values)))..(defun | 
| e5e0 | 20 68 65 6c 70 66 75 6c 2d 2d 6b 65 79 6d 61 70    73 2d 63 6f 6e 74 61 69 6e 69 6e 67 2d 61 6c 69 | .helpful--keymaps-containing-ali | 
| e600 | 61 73 65 73 20 28 63 6f 6d 6d 61 6e 64 2d 73 79    6d 20 61 6c 69 61 73 65 73 29 0a 20 20 22 52 65 | ases.(command-sym.aliases)..."Re | 
| e620 | 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 70    61 69 72 73 20 6d 61 70 70 69 6e 67 20 6b 65 79 | turn.a.list.of.pairs.mapping.key | 
| e640 | 6d 61 70 20 73 79 6d 62 6f 6c 73 20 74 6f 20 74    68 65 0a 6b 65 79 62 69 6e 64 69 6e 67 73 20 66 | map.symbols.to.the.keybindings.f | 
| e660 | 6f 72 20 43 4f 4d 4d 41 4e 44 2d 53 59 4d 20 69    6e 20 65 61 63 68 20 6b 65 79 6d 61 70 2e 0a 0a | or.COMMAND-SYM.in.each.keymap... | 
| e680 | 49 6e 63 6c 75 64 65 73 20 6b 65 79 62 69 6e 64    69 6e 67 73 20 66 6f 72 20 61 6c 69 61 73 65 73 | Includes.keybindings.for.aliases | 
| e6a0 | 2c 20 75 6e 6c 69 6b 65 0a 60 68 65 6c 70 66 75    6c 2d 2d 6b 65 79 6d 61 70 73 2d 63 6f 6e 74 61 | ,.unlike.`helpful--keymaps-conta | 
| e6c0 | 69 6e 69 6e 67 27 2e 22 0a 20 20 28 6c 65 74 2a    20 28 28 73 79 6d 73 20 28 63 6f 6e 73 20 63 6f | ining'."...(let*.((syms.(cons.co | 
| e6e0 | 6d 6d 61 6e 64 2d 73 79 6d 20 61 6c 69 61 73 65    73 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 79 | mmand-sym.aliases))..........(sy | 
| e700 | 6d 73 2d 6b 65 79 6d 61 70 73 20 28 2d 6d 61 70    20 23 27 68 65 6c 70 66 75 6c 2d 2d 6b 65 79 6d | ms-keymaps.(-map.#'helpful--keym | 
| e720 | 61 70 73 2d 63 6f 6e 74 61 69 6e 69 6e 67 20 73    79 6d 73 29 29 29 0a 20 20 20 20 28 2d 72 65 64 | aps-containing.syms))).....(-red | 
| e740 | 75 63 65 20 23 27 68 65 6c 70 66 75 6c 2d 2d 6d    65 72 67 65 2d 61 6c 69 73 74 73 20 73 79 6d 73 | uce.#'helpful--merge-alists.syms | 
| e760 | 2d 6b 65 79 6d 61 70 73 29 29 29 0a 0a 28 64 65    66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 | -keymaps)))..(defun.helpful--for | 
| e780 | 6d 61 74 2d 6b 65 79 73 20 28 63 6f 6d 6d 61 6e    64 2d 73 79 6d 20 61 6c 69 61 73 65 73 29 0a 20 | mat-keys.(command-sym.aliases).. | 
| e7a0 | 20 22 44 65 73 63 72 69 62 65 20 61 6c 6c 20 74    68 65 20 6b 65 79 73 20 74 68 61 74 20 63 61 6c | ."Describe.all.the.keys.that.cal | 
| e7c0 | 6c 20 43 4f 4d 4d 41 4e 44 2d 53 59 4d 2e 22 0a    20 20 28 6c 65 74 20 28 6d 6f 64 65 2d 6c 69 6e | l.COMMAND-SYM."...(let.(mode-lin | 
| e7e0 | 65 73 0a 20 20 20 20 20 20 20 20 67 6c 6f 62 61    6c 2d 6c 69 6e 65 73 29 0a 20 20 20 20 28 2d 2d | es.........global-lines).....(-- | 
| e800 | 65 61 63 68 20 28 68 65 6c 70 66 75 6c 2d 2d 6b    65 79 6d 61 70 73 2d 63 6f 6e 74 61 69 6e 69 6e | each.(helpful--keymaps-containin | 
| e820 | 67 2d 61 6c 69 61 73 65 73 20 63 6f 6d 6d 61 6e    64 2d 73 79 6d 20 61 6c 69 61 73 65 73 29 0a 20 | g-aliases.command-sym.aliases).. | 
| e840 | 20 20 20 20 20 28 2d 6c 65 74 20 5b 28 6d 61 70    20 2e 20 6b 65 79 73 29 20 69 74 5d 0a 20 20 20 | .....(-let.[(map...keys).it].... | 
| e860 | 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6b 65    79 20 6b 65 79 73 29 0a 20 20 20 20 20 20 20 20 | .....(dolist.(key.keys)......... | 
| e880 | 20 20 28 70 75 73 68 0a 20 20 20 20 20 20 20 20    20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 20 25 | ..(push............(format."%s.% | 
| e8a0 | 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a | s"....................(propertiz | 
| e8c0 | 65 20 6d 61 70 20 27 66 61 63 65 20 27 66 6f 6e    74 2d 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65 2d | e.map.'face.'font-lock-variable- | 
| e8e0 | 6e 61 6d 65 2d 66 61 63 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 | name-face)....................(i | 
| e900 | 66 20 28 3e 3d 20 65 6d 61 63 73 2d 6d 61 6a 6f    72 2d 76 65 72 73 69 6f 6e 20 32 38 29 0a 20 20 | f.(>=.emacs-major-version.28)... | 
| e920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 | .....................(propertize | 
| e940 | 20 6b 65 79 20 27 66 61 63 65 20 27 68 65 6c 70    2d 6b 65 79 2d 62 69 6e 64 69 6e 67 29 0a 20 20 | .key.'face.'help-key-binding)... | 
| e960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 6b 65 79 29 29 0a 20 20 20 20 20 20 20 | ...................key))........ | 
| e980 | 20 20 20 20 28 69 66 20 28 65 71 20 6d 61 70 20    27 67 6c 6f 62 61 6c 2d 6d 61 70 29 20 67 6c 6f | ....(if.(eq.map.'global-map).glo | 
| e9a0 | 62 61 6c 2d 6c 69 6e 65 73 20 6d 6f 64 65 2d 6c    69 6e 65 73 29 29 29 29 29 0a 20 20 20 20 28 73 | bal-lines.mode-lines))))).....(s | 
| e9c0 | 65 74 71 20 67 6c 6f 62 61 6c 2d 6c 69 6e 65 73    20 28 2d 73 6f 72 74 20 23 27 73 74 72 69 6e 67 | etq.global-lines.(-sort.#'string | 
| e9e0 | 3c 20 67 6c 6f 62 61 6c 2d 6c 69 6e 65 73 29 29    0a 20 20 20 20 28 73 65 74 71 20 6d 6f 64 65 2d | <.global-lines)).....(setq.mode- | 
| ea00 | 6c 69 6e 65 73 20 28 2d 73 6f 72 74 20 23 27 73    74 72 69 6e 67 3c 20 6d 6f 64 65 2d 6c 69 6e 65 | lines.(-sort.#'string<.mode-line | 
| ea20 | 73 29 29 0a 20 20 20 20 28 2d 6c 65 74 20 5b 6c    69 6e 65 73 20 28 2d 63 6f 6e 63 61 74 20 67 6c | s)).....(-let.[lines.(-concat.gl | 
| ea40 | 6f 62 61 6c 2d 6c 69 6e 65 73 20 6d 6f 64 65 2d    6c 69 6e 65 73 29 5d 0a 20 20 20 20 20 20 28 69 | obal-lines.mode-lines)].......(i | 
| ea60 | 66 20 6c 69 6e 65 73 0a 20 20 20 20 20 20 20 20    20 20 28 73 2d 6a 6f 69 6e 20 22 5c 6e 22 20 6c | f.lines...........(s-join."\n".l | 
| ea80 | 69 6e 65 73 29 0a 20 20 20 20 20 20 20 20 22 54    68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6e | ines)........."This.command.is.n | 
| eaa0 | 6f 74 20 69 6e 20 61 6e 79 20 6b 65 79 6d 61 70    73 2e 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | ot.in.any.keymaps."))))..(defun. | 
| eac0 | 68 65 6c 70 66 75 6c 2d 2d 6f 75 74 65 72 2d 73    65 78 70 20 28 62 75 66 20 70 6f 73 29 0a 20 20 | helpful--outer-sexp.(buf.pos)... | 
| eae0 | 22 46 69 6e 64 20 70 6f 73 69 74 69 6f 6e 20 50    4f 53 20 69 6e 20 42 55 46 2c 20 61 6e 64 20 72 | "Find.position.POS.in.BUF,.and.r | 
| eb00 | 65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 20 6f    66 20 74 68 65 20 6f 75 74 65 72 20 73 65 78 70 | eturn.the.name.of.the.outer.sexp | 
| eb20 | 2c 0a 61 6c 6f 6e 67 20 77 69 74 68 20 69 74 73    20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 4d 6f 76 65 | ,.along.with.its.position...Move | 
| eb40 | 73 20 70 6f 69 6e 74 20 69 6e 20 42 55 46 2e 22    0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 | s.point.in.BUF."...(with-current | 
| eb60 | 2d 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20    28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 0a | -buffer.buf.....(goto-char.pos). | 
| eb80 | 20 20 20 20 28 6c 65 74 2a 20 28 28 70 70 73 73    20 28 73 79 6e 74 61 78 2d 70 70 73 73 29 29 0a | ....(let*.((ppss.(syntax-ppss)). | 
| eba0 | 20 20 20 20 20 20 20 20 20 20 20 28 6f 75 74 65    72 2d 73 65 78 70 2d 70 6f 73 6e 73 20 28 6e 74 | ...........(outer-sexp-posns.(nt | 
| ebc0 | 68 20 39 20 70 70 73 73 29 29 29 0a 20 20 20 20    20 20 28 77 68 65 6e 20 6f 75 74 65 72 2d 73 65 | h.9.ppss))).......(when.outer-se | 
| ebe0 | 78 70 2d 70 6f 73 6e 73 0a 20 20 20 20 20 20 20    20 28 67 6f 74 6f 2d 63 68 61 72 20 28 63 61 72 | xp-posns.........(goto-char.(car | 
| ec00 | 20 6f 75 74 65 72 2d 73 65 78 70 2d 70 6f 73 6e    73 29 29 29 29 0a 20 20 20 20 28 6c 69 73 74 20 | .outer-sexp-posns)))).....(list. | 
| ec20 | 28 70 6f 69 6e 74 29 20 28 2d 74 61 6b 65 20 32    20 28 72 65 61 64 20 62 75 66 29 29 29 29 29 0a | (point).(-take.2.(read.buf))))). | 
| ec40 | 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d    2d 63 6f 75 6e 74 2d 76 61 6c 75 65 73 20 28 69 | .(defun.helpful--count-values.(i | 
| ec60 | 74 65 6d 73 29 0a 20 20 22 52 65 74 75 72 6e 20    61 6e 20 61 6c 69 73 74 20 6f 66 20 74 68 65 20 | tems)..."Return.an.alist.of.the. | 
| ec80 | 63 6f 75 6e 74 20 6f 66 20 65 61 63 68 20 76 61    6c 75 65 20 69 6e 20 49 54 45 4d 53 2e 0a 45 2e | count.of.each.value.in.ITEMS..E. | 
| eca0 | 67 2e 20 28 78 20 78 20 79 20 7a 20 79 29 20 2d    3e 20 28 28 78 20 2e 20 32 29 20 28 79 20 2e 20 | g..(x.x.y.z.y).->.((x...2).(y... | 
| ecc0 | 32 29 20 28 7a 20 2e 20 31 29 29 22 0a 20 20 28    6c 65 74 20 28 63 6f 75 6e 74 73 29 0a 20 20 20 | 2).(z...1))"...(let.(counts).... | 
| ece0 | 20 28 64 6f 6c 69 73 74 20 28 69 74 65 6d 20 69    74 65 6d 73 20 28 6e 72 65 76 65 72 73 65 20 63 | .(dolist.(item.items.(nreverse.c | 
| ed00 | 6f 75 6e 74 73 29 29 0a 20 20 20 20 20 20 28 2d    69 66 2d 6c 65 74 20 28 69 74 65 6d 2d 61 6e 64 | ounts)).......(-if-let.(item-and | 
| ed20 | 2d 63 6f 75 6e 74 20 28 61 73 73 6f 63 20 69 74    65 6d 20 63 6f 75 6e 74 73 29 29 0a 20 20 20 20 | -count.(assoc.item.counts))..... | 
| ed40 | 20 20 20 20 20 20 28 73 65 74 63 64 72 20 69 74    65 6d 2d 61 6e 64 2d 63 6f 75 6e 74 20 28 31 2b | ......(setcdr.item-and-count.(1+ | 
| ed60 | 20 28 63 64 72 20 69 74 65 6d 2d 61 6e 64 2d 63    6f 75 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 | .(cdr.item-and-count)))......... | 
| ed80 | 28 70 75 73 68 20 28 63 6f 6e 73 20 69 74 65 6d    20 31 29 20 63 6f 75 6e 74 73 29 29 29 29 29 0a | (push.(cons.item.1).counts))))). | 
| eda0 | 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d    2d 77 69 74 68 6f 75 74 2d 61 64 76 69 63 65 20 | .(defun.helpful--without-advice. | 
| edc0 | 28 73 79 6d 29 0a 20 20 22 47 69 76 65 6e 20 61    64 76 69 73 65 64 20 66 75 6e 63 74 69 6f 6e 20 | (sym)..."Given.advised.function. | 
| ede0 | 53 59 4d 2c 20 72 65 74 75 72 6e 20 74 68 65 20    66 75 6e 63 74 69 6f 6e 20 6f 62 6a 65 63 74 0a | SYM,.return.the.function.object. | 
| ee00 | 77 69 74 68 6f 75 74 20 74 68 65 20 61 64 76 69    63 65 2e 20 41 73 73 75 6d 65 73 20 66 75 6e 63 | without.the.advice..Assumes.func | 
| ee20 | 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 6c 6f    61 64 65 64 2e 22 0a 20 20 28 61 64 76 69 63 65 | tion.has.been.loaded."...(advice | 
| ee40 | 2d 2d 63 64 2a 72 0a 20 20 20 28 61 64 76 69 63    65 2d 2d 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 | --cd*r....(advice--symbol-functi | 
| ee60 | 6f 6e 20 73 79 6d 29 29 29 0a 0a 28 64 65 66 75    6e 20 68 65 6c 70 66 75 6c 2d 2d 61 64 76 69 73 | on.sym)))..(defun.helpful--advis | 
| ee80 | 65 64 2d 70 20 28 73 79 6d 29 0a 20 20 22 44 6f    65 73 20 53 59 4d 20 68 61 76 65 20 61 64 76 69 | ed-p.(sym)..."Does.SYM.have.advi | 
| eea0 | 63 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69    74 68 20 69 74 3f 22 0a 20 20 28 61 6e 64 20 28 | ce.associated.with.it?"...(and.( | 
| eec0 | 73 79 6d 62 6f 6c 70 20 73 79 6d 29 0a 20 20 20    20 20 20 20 28 61 64 76 69 63 65 2d 2d 70 20 28 | symbolp.sym)........(advice--p.( | 
| eee0 | 61 64 76 69 63 65 2d 2d 73 79 6d 62 6f 6c 2d 66    75 6e 63 74 69 6f 6e 20 73 79 6d 29 29 29 29 0a | advice--symbol-function.sym)))). | 
| ef00 | 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d    2d 66 6f 72 6d 61 74 2d 68 65 61 64 20 28 68 65 | .(defun.helpful--format-head.(he | 
| ef20 | 61 64 29 0a 20 20 22 47 69 76 65 6e 20 61 20 27    68 65 61 64 27 20 28 74 68 65 20 66 69 72 73 74 | ad)..."Given.a.'head'.(the.first | 
| ef40 | 20 74 77 6f 20 73 79 6d 62 6f 6c 73 20 6f 66 20    61 20 73 65 78 70 29 20 66 6f 72 6d 61 74 20 61 | .two.symbols.of.a.sexp).format.a | 
| ef60 | 6e 64 0a 73 79 6e 74 61 78 20 68 69 67 68 6c 69    67 68 74 20 69 74 2e 22 0a 20 20 28 2d 6c 65 74 | nd.syntax.highlight.it."...(-let | 
| ef80 | 2a 20 28 28 28 64 65 66 20 6e 61 6d 65 29 20 68    65 61 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 | *.(((def.name).head)...........( | 
| efa0 | 66 6f 72 6d 61 74 74 65 64 2d 6e 61 6d 65 0a 20    20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 | formatted-name............(if.(a | 
| efc0 | 6e 64 20 28 63 6f 6e 73 70 20 6e 61 6d 65 29 20    28 65 71 20 28 63 61 72 20 6e 61 6d 65 29 20 27 | nd.(consp.name).(eq.(car.name).' | 
| efe0 | 71 75 6f 74 65 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 | quote))................(format." | 
| f000 | 27 25 53 22 20 28 63 61 64 72 20 6e 61 6d 65 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | '%S".(cadr.name))..............( | 
| f020 | 66 6f 72 6d 61 74 20 22 25 53 22 20 6e 61 6d 65    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 | format."%S".name)))...........(f | 
| f040 | 6f 72 6d 61 74 74 65 64 2d 64 65 66 0a 20 20 20    20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 | ormatted-def............(format. | 
| f060 | 22 28 25 73 20 25 73 20 2e 2e 2e 29 22 20 64 65    66 20 66 6f 72 6d 61 74 74 65 64 2d 6e 61 6d 65 | "(%s.%s....)".def.formatted-name | 
| f080 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 29 0a 20    20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 73 79 6e | ))...........).....(helpful--syn | 
| f0a0 | 74 61 78 2d 68 69 67 68 6c 69 67 68 74 20 66 6f    72 6d 61 74 74 65 64 2d 64 65 66 29 29 29 0a 0a | tax-highlight.formatted-def))).. | 
| f0c0 | 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d    66 6f 72 6d 61 74 2d 72 65 66 65 72 65 6e 63 65 | (defun.helpful--format-reference | 
| f0e0 | 20 28 68 65 61 64 20 6c 6f 6e 67 65 73 74 2d 68    65 61 64 20 72 65 66 2d 63 6f 75 6e 74 20 70 6f | .(head.longest-head.ref-count.po | 
| f100 | 73 69 74 69 6f 6e 20 70 61 74 68 29 0a 20 20 22    52 65 74 75 72 6e 20 61 20 73 79 6e 74 61 78 2d | sition.path)..."Return.a.syntax- | 
| f120 | 68 69 67 68 6c 69 67 68 74 65 64 20 76 65 72 73    69 6f 6e 20 6f 66 20 48 45 41 44 2c 20 77 69 74 | highlighted.version.of.HEAD,.wit | 
| f140 | 68 20 61 20 6c 69 6e 6b 0a 74 6f 20 69 74 73 20    73 6f 75 72 63 65 20 6c 6f 63 61 74 69 6f 6e 2e | h.a.link.to.its.source.location. | 
| f160 | 22 0a 20 20 28 6c 65 74 20 28 28 66 6f 72 6d 61    74 74 65 64 2d 63 6f 75 6e 74 0a 20 20 20 20 20 | "...(let.((formatted-count...... | 
| f180 | 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 64 20    72 65 66 65 72 65 6e 63 65 25 73 22 0a 20 20 20 | ....(format."%d.reference%s".... | 
| f1a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65    66 2d 63 6f 75 6e 74 20 28 69 66 20 28 3e 20 72 | ..............ref-count.(if.(>.r | 
| f1c0 | 65 66 2d 63 6f 75 6e 74 20 31 29 20 22 73 22 20    22 22 29 29 29 29 0a 20 20 20 20 28 70 72 6f 70 | ef-count.1)."s"."")))).....(prop | 
| f1e0 | 65 72 74 69 7a 65 0a 20 20 20 20 20 28 66 6f 72    6d 61 74 0a 20 20 20 20 20 20 22 25 73 20 25 73 | ertize......(format......."%s.%s | 
| f200 | 22 0a 20 20 20 20 20 20 28 73 2d 70 61 64 2d 72    69 67 68 74 20 6c 6f 6e 67 65 73 74 2d 68 65 61 | ".......(s-pad-right.longest-hea | 
| f220 | 64 20 22 20 22 20 28 68 65 6c 70 66 75 6c 2d 2d    66 6f 72 6d 61 74 2d 68 65 61 64 20 68 65 61 64 | d.".".(helpful--format-head.head | 
| f240 | 29 29 0a 20 20 20 20 20 20 28 70 72 6f 70 65 72    74 69 7a 65 20 66 6f 72 6d 61 74 74 65 64 2d 63 | )).......(propertize.formatted-c | 
| f260 | 6f 75 6e 74 20 27 66 61 63 65 20 27 66 6f 6e 74    2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 | ount.'face.'font-lock-comment-fa | 
| f280 | 63 65 29 29 0a 20 20 20 20 20 27 68 65 6c 70 66    75 6c 2d 70 61 74 68 20 70 61 74 68 0a 20 20 20 | ce))......'helpful-path.path.... | 
| f2a0 | 20 20 27 68 65 6c 70 66 75 6c 2d 70 6f 73 20 70    6f 73 69 74 69 6f 6e 29 29 29 0a 0a 28 64 65 66 | ..'helpful-pos.position)))..(def | 
| f2c0 | 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 6d    61 74 2d 70 6f 73 69 74 69 6f 6e 2d 68 65 61 64 | un.helpful--format-position-head | 
| f2e0 | 73 20 28 70 6f 73 69 74 69 6f 6e 2d 68 65 61 64    73 20 70 61 74 68 29 0a 20 20 22 47 69 76 65 6e | s.(position-heads.path)..."Given | 
| f300 | 20 61 20 6c 69 73 74 20 6f 66 20 6f 75 74 65 72    20 73 65 78 70 73 2c 20 66 6f 72 6d 61 74 20 74 | .a.list.of.outer.sexps,.format.t | 
| f320 | 68 65 6d 20 66 6f 72 20 64 69 73 70 6c 61 79 2e    0a 50 4f 53 49 54 49 4f 4e 2d 48 45 41 44 53 20 | hem.for.display..POSITION-HEADS. | 
| f340 | 74 61 6b 65 73 20 74 68 65 20 66 6f 72 6d 20 28    28 31 32 33 20 28 64 65 66 75 6e 20 66 6f 6f 29 | takes.the.form.((123.(defun.foo) | 
| f360 | 29 20 28 34 35 36 20 28 64 65 66 75 6e 20 62 61    72 29 29 29 2e 22 0a 20 20 28 6c 65 74 20 28 28 | ).(456.(defun.bar)))."...(let.(( | 
| f380 | 6c 6f 6e 67 65 73 74 2d 68 65 61 64 0a 20 20 20    20 20 20 20 20 20 28 2d 3e 3e 20 70 6f 73 69 74 | longest-head..........(->>.posit | 
| f3a0 | 69 6f 6e 2d 68 65 61 64 73 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 2d | ion-heads...............(-map.(- | 
| f3c0 | 6c 61 6d 62 64 61 20 28 28 5f 70 6f 73 20 68 65    61 64 29 29 20 28 68 65 6c 70 66 75 6c 2d 2d 66 | lambda.((_pos.head)).(helpful--f | 
| f3e0 | 6f 72 6d 61 74 2d 68 65 61 64 20 68 65 61 64 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ormat-head.head))).............. | 
| f400 | 20 28 2d 6d 61 70 20 23 27 6c 65 6e 67 74 68 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | .(-map.#'length)...............( | 
| f420 | 2d 6d 61 78 29 29 29 29 0a 20 20 20 20 28 2d 3e    3e 20 28 68 65 6c 70 66 75 6c 2d 2d 63 6f 75 6e | -max)))).....(->>.(helpful--coun | 
| f440 | 74 2d 76 61 6c 75 65 73 20 70 6f 73 69 74 69 6f    6e 2d 68 65 61 64 73 29 0a 20 20 20 20 20 20 20 | t-values.position-heads)........ | 
| f460 | 20 20 28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61    20 28 28 28 70 6f 73 20 68 65 61 64 29 20 2e 20 | ..(-map.(-lambda.(((pos.head)... | 
| f480 | 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 68 65 6c 70 66 75 | count))..................(helpfu | 
| f4a0 | 6c 2d 2d 66 6f 72 6d 61 74 2d 72 65 66 65 72 65    6e 63 65 20 68 65 61 64 20 6c 6f 6e 67 65 73 74 | l--format-reference.head.longest | 
| f4c0 | 2d 68 65 61 64 20 63 6f 75 6e 74 20 70 6f 73 20    70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 | -head.count.pos.path)))......... | 
| f4e0 | 20 28 73 2d 6a 6f 69 6e 20 22 5c 6e 22 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 | .(s-join."\n"))))..(defun.helpfu | 
| f500 | 6c 2d 2d 70 72 69 6d 69 74 69 76 65 2d 70 20 28    73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29 0a | l--primitive-p.(sym.callable-p). | 
| f520 | 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 53    59 4d 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e | .."Return.t.if.SYM.is.defined.in | 
| f540 | 20 43 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 75    62 72 70 20 28 69 66 20 28 66 62 6f 75 6e 64 70 | .C."...(let.((subrp.(if.(fboundp | 
| f560 | 20 27 73 75 62 72 2d 70 72 69 6d 69 74 69 76 65    2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .'subr-primitive-p)............. | 
| f580 | 20 20 20 20 20 20 20 23 27 73 75 62 72 2d 70 72    69 6d 69 74 69 76 65 2d 70 0a 20 20 20 20 20 20 | .......#'subr-primitive-p....... | 
| f5a0 | 20 20 20 20 20 20 20 20 20 20 20 23 27 73 75 62    72 70 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a | ...........#'subrp))).....(cond. | 
| f5c0 | 20 20 20 20 20 28 28 61 6e 64 20 63 61 6c 6c 61    62 6c 65 2d 70 20 28 68 65 6c 70 66 75 6c 2d 2d | .....((and.callable-p.(helpful-- | 
| f5e0 | 61 64 76 69 73 65 64 2d 70 20 73 79 6d 29 29 0a    20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 73 | advised-p.sym)).......(funcall.s | 
| f600 | 75 62 72 70 20 28 68 65 6c 70 66 75 6c 2d 2d 77    69 74 68 6f 75 74 2d 61 64 76 69 63 65 20 73 79 | ubrp.(helpful--without-advice.sy | 
| f620 | 6d 29 29 29 0a 20 20 20 20 20 28 63 61 6c 6c 61    62 6c 65 2d 70 0a 20 20 20 20 20 20 28 66 75 6e | m)))......(callable-p.......(fun | 
| f640 | 63 61 6c 6c 20 73 75 62 72 70 20 28 69 6e 64 69    72 65 63 74 2d 66 75 6e 63 74 69 6f 6e 20 73 79 | call.subrp.(indirect-function.sy | 
| f660 | 6d 29 29 29 0a 20 20 20 20 20 28 74 0a 20 20 20    20 20 20 28 6c 65 74 20 28 28 66 69 6c 65 6e 61 | m)))......(t.......(let.((filena | 
| f680 | 6d 65 20 28 66 69 6e 64 2d 6c 69 73 70 2d 6f 62    6a 65 63 74 2d 66 69 6c 65 2d 6e 61 6d 65 20 73 | me.(find-lisp-object-file-name.s | 
| f6a0 | 79 6d 20 27 64 65 66 76 61 72 29 29 29 0a 20 20    20 20 20 20 20 20 28 6f 72 20 28 65 71 20 66 69 | ym.'defvar))).........(or.(eq.fi | 
| f6c0 | 6c 65 6e 61 6d 65 20 27 43 2d 73 6f 75 72 63 65    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 | lename.'C-source).............(a | 
| f6e0 | 6e 64 20 28 73 74 72 69 6e 67 70 20 66 69 6c 65    6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 | nd.(stringp.filename)........... | 
| f700 | 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 78    74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 | .......(let.((ext.(file-name-ext | 
| f720 | 65 6e 73 69 6f 6e 20 66 69 6c 65 6e 61 6d 65 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ension.filename))).............. | 
| f740 | 20 20 20 20 20 20 28 6f 72 20 28 65 71 75 61 6c    20 65 78 74 20 22 63 22 29 0a 20 20 20 20 20 20 | ......(or.(equal.ext."c")....... | 
| f760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 65 71 75 61 6c 20 65 78 74 20 22 72 73 22 | .................(equal.ext."rs" | 
| f780 | 29 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 2d | ))))))))))..(defun.helpful--sym- | 
| f7a0 | 76 61 6c 75 65 20 28 73 79 6d 20 62 75 66 29 0a    20 20 22 52 65 74 75 72 6e 20 74 68 65 20 76 61 | value.(sym.buf)..."Return.the.va | 
| f7c0 | 6c 75 65 20 6f 66 20 53 59 4d 20 69 6e 20 42 55    46 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 3b | lue.of.SYM.in.BUF."...(cond....; | 
| f7e0 | 3b 20 49 66 20 77 65 27 72 65 20 67 69 76 65 6e    20 61 20 62 75 66 66 65 72 2c 20 6c 6f 6f 6b 20 | ;.If.we're.given.a.buffer,.look. | 
| f800 | 75 70 20 74 68 65 20 76 61 72 69 61 62 6c 65 20    69 6e 20 74 68 61 74 20 62 75 66 66 65 72 2e 0a | up.the.variable.in.that.buffer.. | 
| f820 | 20 20 20 28 62 75 66 0a 20 20 20 20 28 77 69 74    68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 | ...(buf.....(with-current-buffer | 
| f840 | 20 62 75 66 0a 20 20 20 20 20 20 28 73 79 6d 62    6f 6c 2d 76 61 6c 75 65 20 73 79 6d 29 29 29 0a | .buf.......(symbol-value.sym))). | 
| f860 | 20 20 20 3b 3b 20 49 66 20 77 65 20 64 6f 6e 27    74 20 68 61 76 65 20 61 20 62 75 66 66 65 72 2c | ...;;.If.we.don't.have.a.buffer, | 
| f880 | 20 61 6e 64 20 74 68 69 73 20 69 73 20 61 20 62    75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 72 69 | .and.this.is.a.buffer-local.vari | 
| f8a0 | 61 62 6c 65 2c 0a 20 20 20 3b 3b 20 65 6e 73 75    72 65 20 77 65 20 72 65 74 75 72 6e 20 74 68 65 | able,....;;.ensure.we.return.the | 
| f8c0 | 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 2e 0a    20 20 20 28 28 6c 6f 63 61 6c 2d 76 61 72 69 61 | .default.value.....((local-varia | 
| f8e0 | 62 6c 65 2d 69 66 2d 73 65 74 2d 70 20 73 79 6d    29 0a 20 20 20 20 28 64 65 66 61 75 6c 74 2d 76 | ble-if-set-p.sym).....(default-v | 
| f900 | 61 6c 75 65 20 73 79 6d 29 29 0a 20 20 20 3b 3b    20 4f 74 68 65 72 77 69 73 65 2c 20 6a 75 73 74 | alue.sym))....;;.Otherwise,.just | 
| f920 | 20 72 65 74 75 72 6e 20 74 68 65 20 76 61 6c 75    65 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 | .return.the.value.in.the.current | 
| f940 | 20 62 75 66 66 65 72 2c 20 77 68 69 63 68 20 69    73 0a 20 20 20 3b 3b 20 74 68 65 20 67 6c 6f 62 | .buffer,.which.is....;;.the.glob | 
| f960 | 61 6c 20 76 61 6c 75 65 2e 0a 20 20 20 28 74 0a    20 20 20 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 | al.value.....(t.....(symbol-valu | 
| f980 | 65 20 73 79 6d 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 68 65 6c 70 66 75 6c 2d 2d 69 6e 73 65 72 | e.sym))))..(defun.helpful--inser | 
| f9a0 | 74 2d 73 65 63 74 69 6f 6e 2d 62 72 65 61 6b 20    28 29 0a 20 20 22 49 6e 73 65 72 74 20 73 65 63 | t-section-break.()..."Insert.sec | 
| f9c0 | 74 69 6f 6e 20 62 72 65 61 6b 20 69 6e 74 6f 20    68 65 6c 70 66 75 6c 20 62 75 66 66 65 72 2e 22 | tion.break.into.helpful.buffer." | 
| f9e0 | 0a 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 5c 6e    22 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 | ...(insert."\n\n"))..(defun.help | 
| fa00 | 66 75 6c 2d 2d 69 6e 73 65 72 74 2d 69 6d 70 6c    65 6d 65 6e 74 61 74 69 6f 6e 73 20 28 29 0a 20 | ful--insert-implementations.().. | 
| fa20 | 20 22 57 68 65 6e 20 60 68 65 6c 70 66 75 6c 2d    2d 73 79 6d 27 20 69 73 20 61 20 67 65 6e 65 72 | ."When.`helpful--sym'.is.a.gener | 
| fa40 | 69 63 20 6d 65 74 68 6f 64 2c 20 69 6e 73 65 72    74 20 69 74 73 20 69 6d 70 6c 65 6d 65 6e 74 61 | ic.method,.insert.its.implementa | 
| fa60 | 74 69 6f 6e 73 2e 22 0a 20 20 28 6c 65 74 20 28    28 66 75 6e 63 20 68 65 6c 70 66 75 6c 2d 2d 73 | tions."...(let.((func.helpful--s | 
| fa80 | 79 6d 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e    74 65 6e 74 29 29 0a 20 20 20 20 28 77 68 65 6e | ym).........(content)).....(when | 
| faa0 | 20 28 66 62 6f 75 6e 64 70 20 23 27 63 6c 2d 2d    67 65 6e 65 72 69 63 2d 64 65 73 63 72 69 62 65 | .(fboundp.#'cl--generic-describe | 
| fac0 | 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 74 65    6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 | ).......(with-temp-buffer....... | 
| fae0 | 20 20 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74    69 6f 6e 20 63 6c 2d 2d 67 65 6e 65 72 69 63 2d | ..(declare-function.cl--generic- | 
| fb00 | 64 65 73 63 72 69 62 65 20 22 63 6c 2d 67 65 6e    65 72 69 63 22 20 28 66 75 6e 63 74 69 6f 6e 29 | describe."cl-generic".(function) | 
| fb20 | 29 0a 20 20 20 20 20 20 20 20 28 63 6c 2d 2d 67    65 6e 65 72 69 63 2d 64 65 73 63 72 69 62 65 20 | ).........(cl--generic-describe. | 
| fb40 | 66 75 6e 63 29 0a 20 20 20 20 20 20 20 20 28 67    6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d | func).........(goto-char.(point- | 
| fb60 | 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 28 77    68 65 6e 20 28 72 65 2d 73 65 61 72 63 68 2d 66 | min)).........(when.(re-search-f | 
| fb80 | 6f 72 77 61 72 64 20 22 5e 49 6d 70 6c 65 6d 65    6e 74 61 74 69 6f 6e 73 3a 24 22 20 6e 69 6c 20 | orward."^Implementations:$".nil. | 
| fba0 | 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 63 6f 6e 74 65 6e 74 20 28 62 75 66 66 | t)...........(setq.content.(buff | 
| fbc0 | 65 72 2d 73 75 62 73 74 72 69 6e 67 20 28 70 6f    69 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 | er-substring.(point).(point-max) | 
| fbe0 | 29 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e    20 63 6f 6e 74 65 6e 74 0a 20 20 20 20 20 20 20 | )))).......(when.content........ | 
| fc00 | 20 28 68 65 6c 70 66 75 6c 2d 2d 69 6e 73 65 72    74 2d 73 65 63 74 69 6f 6e 2d 62 72 65 61 6b 29 | .(helpful--insert-section-break) | 
| fc20 | 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74    20 28 68 65 6c 70 66 75 6c 2d 2d 68 65 61 64 69 | .........(insert.(helpful--headi | 
| fc40 | 6e 67 20 22 49 6d 70 6c 65 6d 65 6e 74 61 74 69    6f 6e 73 22 29 20 28 73 2d 74 72 69 6d 20 63 6f | ng."Implementations").(s-trim.co | 
| fc60 | 6e 74 65 6e 74 29 29 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 63 61 6c | ntent))))))..(defun.helpful--cal | 
| fc80 | 63 75 6c 61 74 65 2d 72 65 66 65 72 65 6e 63 65    73 20 28 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d | culate-references.(sym.callable- | 
| fca0 | 70 20 73 6f 75 72 63 65 2d 70 61 74 68 29 0a 20    20 22 43 61 6c 63 75 6c 61 74 65 20 72 65 66 65 | p.source-path)..."Calculate.refe | 
| fcc0 | 72 65 6e 63 65 73 20 66 6f 72 20 53 59 4d 20 69    6e 20 53 4f 55 52 43 45 2d 50 41 54 48 2e 22 0a | rences.for.SYM.in.SOURCE-PATH.". | 
| fce0 | 20 20 28 77 68 65 6e 20 73 6f 75 72 63 65 2d 70    61 74 68 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 | ..(when.source-path.....(let*.(( | 
| fd00 | 70 72 69 6d 69 74 69 76 65 2d 70 20 28 68 65 6c    70 66 75 6c 2d 2d 70 72 69 6d 69 74 69 76 65 2d | primitive-p.(helpful--primitive- | 
| fd20 | 70 20 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 | p.sym.callable-p))............(b | 
| fd40 | 75 66 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d    63 6f 6e 74 65 6e 74 73 2d 62 75 66 66 65 72 20 | uf.(elisp-refs--contents-buffer. | 
| fd60 | 73 6f 75 72 63 65 2d 70 61 74 68 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 28 70 6f 73 69 74 69 | source-path))............(positi | 
| fd80 | 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20    28 69 66 20 70 72 69 6d 69 74 69 76 65 2d 70 0a | ons.............(if.primitive-p. | 
| fda0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ................nil............. | 
| fdc0 | 20 20 28 68 65 6c 70 66 75 6c 2d 2d 72 65 66 65    72 65 6e 63 65 2d 70 6f 73 69 74 69 6f 6e 73 0a | ..(helpful--reference-positions. | 
| fde0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68    65 6c 70 66 75 6c 2d 2d 73 79 6d 20 68 65 6c 70 | ...............helpful--sym.help | 
| fe00 | 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c 65 2d 70 20    62 75 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 | ful--callable-p.buf))).......... | 
| fe20 | 20 20 28 72 65 74 75 72 6e 2d 76 61 6c 75 65 20    28 2d 2d 6d 61 70 20 28 68 65 6c 70 66 75 6c 2d | ..(return-value.(--map.(helpful- | 
| fe40 | 2d 6f 75 74 65 72 2d 73 65 78 70 20 62 75 66 20    69 74 29 20 70 6f 73 69 74 69 6f 6e 73 29 29 29 | -outer-sexp.buf.it).positions))) | 
| fe60 | 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66    66 65 72 20 62 75 66 29 0a 20 20 20 20 20 20 72 | .......(kill-buffer.buf).......r | 
| fe80 | 65 74 75 72 6e 2d 76 61 6c 75 65 29 29 29 0a 0a    28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d | eturn-value)))..(defun.helpful-- | 
| fea0 | 6d 61 6b 65 2d 73 68 6f 72 74 64 6f 63 2d 73 65    6e 74 65 6e 63 65 20 28 73 79 6d 29 0a 20 20 22 | make-shortdoc-sentence.(sym)..." | 
| fec0 | 4d 61 6b 65 20 61 20 6c 69 6e 65 20 66 6f 72 20    73 68 6f 72 74 64 6f 63 20 67 72 6f 75 70 73 20 | Make.a.line.for.shortdoc.groups. | 
| fee0 | 6f 66 20 53 59 4d 2e 22 0a 20 20 28 77 68 65 6e    20 28 66 65 61 74 75 72 65 70 20 27 73 68 6f 72 | of.SYM."...(when.(featurep.'shor | 
| ff00 | 74 64 6f 63 29 0a 20 20 20 20 28 2d 77 68 65 6e    2d 6c 65 74 20 28 67 72 6f 75 70 73 20 28 2d 2d | tdoc).....(-when-let.(groups.(-- | 
| ff20 | 6d 61 70 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75    74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 | map.(helpful--button............ | 
| ff40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 | ....................(symbol-name | 
| ff60 | 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .it)............................ | 
| ff80 | 20 20 20 20 27 68 65 6c 70 66 75 6c 2d 73 68 6f    72 74 64 6f 63 2d 62 75 74 74 6f 6e 0a 20 20 20 | ....'helpful-shortdoc-button.... | 
| ffa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 27 73 68 6f | ............................'sho | 
| ffc0 | 72 74 64 6f 63 2d 67 72 6f 75 70 20 69 74 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rtdoc-group.it)................. | 
| ffe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73    68 6f 72 74 64 6f 63 2d 66 75 6e 63 74 69 6f 6e | ..............(shortdoc-function | 
| 10000 | 2d 67 72 6f 75 70 73 20 73 79 6d 29 29 29 0a 20    20 20 20 20 20 28 69 66 20 28 3d 20 31 20 28 6c | -groups.sym))).......(if.(=.1.(l | 
| 10020 | 65 6e 67 74 68 20 67 72 6f 75 70 73 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 | ength.groups))...........(format | 
| 10040 | 20 22 4f 74 68 65 72 20 72 65 6c 65 76 61 6e 74    20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 64 | ."Other.relevant.functions.are.d | 
| 10060 | 6f 63 75 6d 65 6e 74 65 64 20 69 6e 20 74 68 65    20 25 73 20 67 72 6f 75 70 2e 22 0a 20 20 20 20 | ocumented.in.the.%s.group."..... | 
| 10080 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63    61 72 20 67 72 6f 75 70 73 29 29 0a 20 20 20 20 | ..............(car.groups))..... | 
| 100a0 | 20 20 20 20 28 66 6f 72 6d 61 74 20 22 4f 74 68    65 72 20 72 65 6c 65 76 61 6e 74 20 66 75 6e 63 | ....(format."Other.relevant.func | 
| 100c0 | 74 69 6f 6e 73 20 61 72 65 20 64 6f 63 75 6d 65    6e 74 65 64 20 69 6e 20 74 68 65 20 25 73 20 67 | tions.are.documented.in.the.%s.g | 
| 100e0 | 72 6f 75 70 73 2e 22 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 | roups.".................(concat. | 
| 10100 | 28 73 2d 6a 6f 69 6e 20 22 2c 20 22 20 28 62 75    74 6c 61 73 74 20 67 72 6f 75 70 73 29 29 0a 20 | (s-join.",.".(butlast.groups)).. | 
| 10120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 22 20 61 6e 64 20 22 20 28 | .......................".and.".( | 
| 10140 | 63 61 72 20 28 6c 61 73 74 20 67 72 6f 75 70 73    29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e | car.(last.groups))))))))..(defun | 
| 10160 | 20 68 65 6c 70 66 75 6c 2d 2d 6d 61 6b 65 2d 6d    61 6e 75 61 6c 2d 62 75 74 74 6f 6e 20 28 73 79 | .helpful--make-manual-button.(sy | 
| 10180 | 6d 29 0a 20 20 22 4d 61 6b 65 20 6d 61 6e 75 61    6c 20 62 75 74 74 6f 6e 20 66 6f 72 20 53 59 4d | m)..."Make.manual.button.for.SYM | 
| 101a0 | 2e 22 0a 20 20 28 68 65 6c 70 66 75 6c 2d 2d 62    75 74 74 6f 6e 0a 20 20 20 22 56 69 65 77 20 69 | ."...(helpful--button...."View.i | 
| 101c0 | 6e 20 6d 61 6e 75 61 6c 22 0a 20 20 20 27 68 65    6c 70 66 75 6c 2d 6d 61 6e 75 61 6c 2d 62 75 74 | n.manual"....'helpful-manual-but | 
| 101e0 | 74 6f 6e 0a 20 20 20 27 73 79 6d 62 6f 6c 20 73    79 6d 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c | ton....'symbol.sym))..(defun.hel | 
| 10200 | 70 66 75 6c 2d 2d 6d 61 6b 65 2d 74 6f 67 67 6c    65 2d 62 75 74 74 6f 6e 20 28 73 79 6d 20 62 75 | pful--make-toggle-button.(sym.bu | 
| 10220 | 66 66 65 72 29 0a 20 20 22 4d 61 6b 65 20 74 6f    67 67 6c 65 20 62 75 74 74 6f 6e 20 66 6f 72 20 | ffer)..."Make.toggle.button.for. | 
| 10240 | 53 59 4d 20 69 6e 20 42 55 46 46 45 52 2e 22 0a    20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 | SYM.in.BUFFER."...(helpful--butt | 
| 10260 | 6f 6e 0a 20 20 20 22 54 6f 67 67 6c 65 22 0a 20    20 20 27 68 65 6c 70 66 75 6c 2d 74 6f 67 67 6c | on...."Toggle"....'helpful-toggl | 
| 10280 | 65 2d 62 75 74 74 6f 6e 0a 20 20 20 27 73 79 6d    62 6f 6c 20 73 79 6d 0a 20 20 20 27 62 75 66 66 | e-button....'symbol.sym....'buff | 
| 102a0 | 65 72 20 62 75 66 66 65 72 29 29 0a 0a 28 64 65    66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6d 61 6b | er.buffer))..(defun.helpful--mak | 
| 102c0 | 65 2d 73 65 74 2d 62 75 74 74 6f 6e 20 28 73 79    6d 20 62 75 66 66 65 72 29 0a 20 20 22 4d 61 6b | e-set-button.(sym.buffer)..."Mak | 
| 102e0 | 65 20 73 65 74 20 62 75 74 74 6f 6e 20 66 6f 72    20 53 59 4d 20 69 6e 20 42 55 46 46 45 52 2e 22 | e.set.button.for.SYM.in.BUFFER." | 
| 10300 | 0a 20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74    74 6f 6e 0a 20 20 20 22 53 65 74 22 0a 20 20 20 | ...(helpful--button...."Set".... | 
| 10320 | 27 68 65 6c 70 66 75 6c 2d 73 65 74 2d 62 75 74    74 6f 6e 0a 20 20 20 27 73 79 6d 62 6f 6c 20 73 | 'helpful-set-button....'symbol.s | 
| 10340 | 79 6d 0a 20 20 20 27 62 75 66 66 65 72 20 62 75    66 66 65 72 29 29 0a 0a 28 64 65 66 75 6e 20 68 | ym....'buffer.buffer))..(defun.h | 
| 10360 | 65 6c 70 66 75 6c 2d 2d 6d 61 6b 65 2d 74 6f 67    67 6c 65 2d 6c 69 74 65 72 61 6c 2d 62 75 74 74 | elpful--make-toggle-literal-butt | 
| 10380 | 6f 6e 20 28 29 0a 20 20 22 4d 61 6b 65 20 73 65    74 20 62 75 74 74 6f 6e 20 66 6f 72 20 53 59 4d | on.()..."Make.set.button.for.SYM | 
| 103a0 | 20 69 6e 20 42 55 46 46 45 52 2e 22 0a 20 20 28    68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e 0a | .in.BUFFER."...(helpful--button. | 
| 103c0 | 20 20 20 28 69 66 20 68 65 6c 70 66 75 6c 2d 2d    76 69 65 77 2d 6c 69 74 65 72 61 6c 0a 20 20 20 | ...(if.helpful--view-literal.... | 
| 103e0 | 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 6f 6e 6c    79 20 6f 66 66 65 72 20 66 6f 72 20 73 74 72 69 | ....;;.TODO:.only.offer.for.stri | 
| 10400 | 6e 67 73 20 74 68 61 74 20 68 61 76 65 20 6e 65    77 6c 69 6e 65 73 2c 20 74 61 62 73 20 6f 72 0a | ngs.that.have.newlines,.tabs.or. | 
| 10420 | 20 20 20 20 20 20 20 3b 3b 20 70 72 6f 70 65 72    74 69 65 73 2e 0a 20 20 20 20 20 20 20 22 50 72 | .......;;.properties........."Pr | 
| 10440 | 65 74 74 79 20 76 69 65 77 22 0a 20 20 20 20 20    22 56 69 65 77 20 61 73 20 6c 69 74 65 72 61 6c | etty.view"......"View.as.literal | 
| 10460 | 22 29 0a 20 20 20 27 68 65 6c 70 66 75 6c 2d 76    69 65 77 2d 6c 69 74 65 72 61 6c 2d 62 75 74 74 | ")....'helpful-view-literal-butt | 
| 10480 | 6f 6e 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c    70 66 75 6c 2d 2d 6d 61 6b 65 2d 63 75 73 74 6f | on))..(defun.helpful--make-custo | 
| 104a0 | 6d 69 7a 65 2d 62 75 74 74 6f 6e 20 28 73 79 6d    29 0a 20 20 22 4d 61 6b 65 20 63 75 73 74 6f 6d | mize-button.(sym)..."Make.custom | 
| 104c0 | 69 7a 65 20 62 75 74 74 6f 6e 20 66 6f 72 20 53    59 4d 2e 22 0a 20 20 28 68 65 6c 70 66 75 6c 2d | ize.button.for.SYM."...(helpful- | 
| 104e0 | 2d 62 75 74 74 6f 6e 0a 20 20 20 22 43 75 73 74    6f 6d 69 7a 65 22 0a 20 20 20 27 68 65 6c 70 66 | -button...."Customize"....'helpf | 
| 10500 | 75 6c 2d 63 75 73 74 6f 6d 69 7a 65 2d 62 75 74    74 6f 6e 0a 20 20 20 27 73 79 6d 62 6f 6c 20 73 | ul-customize-button....'symbol.s | 
| 10520 | 79 6d 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c    70 66 75 6c 2d 2d 6d 61 6b 65 2d 72 65 66 65 72 | ym))..(defun.helpful--make-refer | 
| 10540 | 65 6e 63 65 73 2d 62 75 74 74 6f 6e 20 28 73 79    6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29 0a 20 20 | ences-button.(sym.callable-p)... | 
| 10560 | 22 4d 61 6b 65 20 72 65 66 65 72 65 6e 63 65 73    20 62 75 74 74 6f 6e 20 66 6f 72 20 53 59 4d 2e | "Make.references.button.for.SYM. | 
| 10580 | 22 0a 20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75    74 74 6f 6e 0a 20 20 20 22 46 69 6e 64 20 61 6c | "...(helpful--button...."Find.al | 
| 105a0 | 6c 20 72 65 66 65 72 65 6e 63 65 73 22 0a 20 20    20 27 68 65 6c 70 66 75 6c 2d 61 6c 6c 2d 72 65 | l.references"....'helpful-all-re | 
| 105c0 | 66 65 72 65 6e 63 65 73 2d 62 75 74 74 6f 6e 0a    20 20 20 27 73 79 6d 62 6f 6c 20 73 79 6d 0a 20 | ferences-button....'symbol.sym.. | 
| 105e0 | 20 20 27 63 61 6c 6c 61 62 6c 65 2d 70 20 63 61    6c 6c 61 62 6c 65 2d 70 29 29 0a 0a 28 64 65 66 | ..'callable-p.callable-p))..(def | 
| 10600 | 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6d 61 6b 65    2d 65 64 65 62 75 67 2d 62 75 74 74 6f 6e 20 28 | un.helpful--make-edebug-button.( | 
| 10620 | 73 79 6d 29 0a 20 20 22 4d 61 6b 65 20 65 64 65    62 75 67 20 62 75 74 74 6f 6e 20 66 6f 72 20 53 | sym)..."Make.edebug.button.for.S | 
| 10640 | 59 4d 2e 22 0a 20 20 28 68 65 6c 70 66 75 6c 2d    2d 62 75 74 74 6f 6e 0a 20 20 20 28 66 6f 72 6d | YM."...(helpful--button....(form | 
| 10660 | 61 74 20 22 25 73 20 65 64 65 62 75 67 22 0a 20    20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 68 | at."%s.edebug"............(if.(h | 
| 10680 | 65 6c 70 66 75 6c 2d 2d 65 64 65 62 75 67 2d 70    20 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 20 | elpful--edebug-p.sym)........... | 
| 106a0 | 20 20 20 20 20 22 44 69 73 61 62 6c 65 22 20 22    45 6e 61 62 6c 65 22 29 29 0a 20 20 20 27 68 65 | ....."Disable"."Enable"))....'he | 
| 106c0 | 6c 70 66 75 6c 2d 65 64 65 62 75 67 2d 62 75 74    74 6f 6e 0a 20 20 20 27 73 79 6d 62 6f 6c 20 73 | lpful-edebug-button....'symbol.s | 
| 106e0 | 79 6d 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c    70 66 75 6c 2d 2d 6d 61 6b 65 2d 74 72 61 63 69 | ym))..(defun.helpful--make-traci | 
| 10700 | 6e 67 2d 62 75 74 74 6f 6e 20 28 73 79 6d 29 0a    20 20 22 4d 61 6b 65 20 74 72 61 63 69 6e 67 20 | ng-button.(sym)..."Make.tracing. | 
| 10720 | 62 75 74 74 6f 6e 20 66 6f 72 20 53 59 4d 2e 22    0a 20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 | button.for.SYM."...(helpful--but | 
| 10740 | 74 6f 6e 0a 20 20 20 28 66 6f 72 6d 61 74 20 22    25 73 20 74 72 61 63 69 6e 67 22 0a 20 20 20 20 | ton....(format."%s.tracing"..... | 
| 10760 | 20 20 20 20 20 20 20 28 69 66 20 28 74 72 61 63    65 2d 69 73 2d 74 72 61 63 65 64 20 73 79 6d 29 | .......(if.(trace-is-traced.sym) | 
| 10780 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    22 44 69 73 61 62 6c 65 22 20 22 45 6e 61 62 6c | ................"Disable"."Enabl | 
| 107a0 | 65 22 29 29 0a 20 20 20 27 68 65 6c 70 66 75 6c    2d 74 72 61 63 65 2d 62 75 74 74 6f 6e 0a 20 20 | e"))....'helpful-trace-button... | 
| 107c0 | 20 27 73 79 6d 62 6f 6c 20 73 79 6d 29 29 0a 0a    28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d | .'symbol.sym))..(defun.helpful-- | 
| 107e0 | 6d 61 6b 65 2d 64 69 73 61 73 73 65 6d 62 6c 65    2d 62 75 74 74 6f 6e 20 28 6f 62 6a 29 0a 20 20 | make-disassemble-button.(obj)... | 
| 10800 | 22 4d 61 6b 65 20 64 69 73 61 73 73 65 6d 62 6c    65 20 62 75 74 74 6f 6e 20 66 6f 72 20 4f 42 4a | "Make.disassemble.button.for.OBJ | 
| 10820 | 2e 0a 4f 42 4a 20 6d 61 79 20 62 65 20 61 20 73    79 6d 62 6f 6c 20 6f 72 20 61 20 63 6f 6d 70 69 | ..OBJ.may.be.a.symbol.or.a.compi | 
| 10840 | 6c 65 64 20 66 75 6e 63 74 69 6f 6e 20 6f 62 6a    65 63 74 2e 22 0a 20 20 28 68 65 6c 70 66 75 6c | led.function.object."...(helpful | 
| 10860 | 2d 2d 62 75 74 74 6f 6e 0a 20 20 20 22 44 69 73    61 73 73 65 6d 62 6c 65 22 0a 20 20 20 27 68 65 | --button...."Disassemble"....'he | 
| 10880 | 6c 70 66 75 6c 2d 64 69 73 61 73 73 65 6d 62 6c    65 2d 62 75 74 74 6f 6e 0a 20 20 20 27 6f 62 6a | lpful-disassemble-button....'obj | 
| 108a0 | 65 63 74 20 6f 62 6a 29 29 0a 0a 28 64 65 66 75    6e 20 68 65 6c 70 66 75 6c 2d 2d 6d 61 6b 65 2d | ect.obj))..(defun.helpful--make- | 
| 108c0 | 72 75 6e 2d 74 65 73 74 2d 62 75 74 74 6f 6e 20    28 73 79 6d 29 0a 20 20 22 4d 61 6b 65 20 61 6e | run-test-button.(sym)..."Make.an | 
| 108e0 | 20 45 52 54 20 74 65 73 74 20 62 75 74 74 6f 6e    20 66 6f 72 20 53 59 4d 2e 22 0a 20 20 28 68 65 | .ERT.test.button.for.SYM."...(he | 
| 10900 | 6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e 0a 20 20    20 22 52 75 6e 20 74 65 73 74 22 0a 20 20 20 27 | lpful--button...."Run.test"....' | 
| 10920 | 68 65 6c 70 66 75 6c 2d 72 75 6e 2d 74 65 73 74    2d 62 75 74 74 6f 6e 0a 20 20 20 27 73 79 6d 62 | helpful-run-test-button....'symb | 
| 10940 | 6f 6c 20 73 79 6d 29 29 0a 0a 28 64 65 66 75 6e    20 68 65 6c 70 66 75 6c 2d 2d 6d 61 6b 65 2d 66 | ol.sym))..(defun.helpful--make-f | 
| 10960 | 6f 72 67 65 74 2d 62 75 74 74 6f 6e 20 28 73 79    6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29 0a 20 20 | orget-button.(sym.callable-p)... | 
| 10980 | 22 4d 61 6b 65 20 66 6f 72 67 65 74 20 62 75 74    74 6f 6e 20 66 6f 72 20 53 59 4d 2e 22 0a 20 20 | "Make.forget.button.for.SYM."... | 
| 109a0 | 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e    0a 20 20 20 22 46 6f 72 67 65 74 22 0a 20 20 20 | (helpful--button...."Forget".... | 
| 109c0 | 27 68 65 6c 70 66 75 6c 2d 66 6f 72 67 65 74 2d    62 75 74 74 6f 6e 0a 20 20 20 27 73 79 6d 62 6f | 'helpful-forget-button....'symbo | 
| 109e0 | 6c 20 73 79 6d 0a 20 20 20 27 63 61 6c 6c 61 62    6c 65 2d 70 20 63 61 6c 6c 61 62 6c 65 2d 70 29 | l.sym....'callable-p.callable-p) | 
| 10a00 | 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75    6c 2d 2d 6d 61 6b 65 2d 63 61 6c 6c 65 65 73 2d | )..(defun.helpful--make-callees- | 
| 10a20 | 62 75 74 74 6f 6e 20 28 73 79 6d 20 73 6f 75 72    63 65 29 0a 20 20 28 68 65 6c 70 66 75 6c 2d 2d | button.(sym.source)...(helpful-- | 
| 10a40 | 62 75 74 74 6f 6e 0a 20 20 20 28 66 6f 72 6d 61    74 20 22 46 75 6e 63 74 69 6f 6e 73 20 75 73 65 | button....(format."Functions.use | 
| 10a60 | 64 20 62 79 20 25 73 22 20 73 79 6d 29 0a 20 20    20 27 68 65 6c 70 66 75 6c 2d 63 61 6c 6c 65 65 | d.by.%s".sym)....'helpful-callee | 
| 10a80 | 73 2d 62 75 74 74 6f 6e 0a 20 20 20 27 73 79 6d    62 6f 6c 20 73 79 6d 0a 20 20 20 27 73 6f 75 72 | s-button....'symbol.sym....'sour | 
| 10aa0 | 63 65 20 73 6f 75 72 63 65 29 29 0a 0a 3b 3b 20    54 4f 44 4f 3a 20 74 68 69 73 20 6f 6e 6c 79 20 | ce.source))..;;.TODO:.this.only. | 
| 10ac0 | 72 65 70 6f 72 74 73 20 69 66 20 61 20 66 75 6e    63 74 69 6f 6e 20 69 73 20 61 75 74 6f 6c 6f 61 | reports.if.a.function.is.autoloa | 
| 10ae0 | 64 65 64 20 62 65 63 61 75 73 65 20 77 65 0a 3b    3b 20 61 75 74 6f 6c 6f 61 64 65 64 20 69 74 2e | ded.because.we.;;.autoloaded.it. | 
| 10b00 | 20 54 68 69 73 20 69 67 6e 6f 72 65 73 20 6e 65    77 6c 79 20 64 65 66 69 6e 65 64 20 66 75 6e 63 | .This.ignores.newly.defined.func | 
| 10b20 | 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 0a 3b    3b 20 61 75 74 6f 6c 6f 61 64 65 64 2e 20 42 75 | tions.that.are.;;.autoloaded..Bu | 
| 10b40 | 69 6c 74 2d 69 6e 20 68 65 6c 70 20 68 61 73 20    74 68 69 73 20 6c 69 6d 69 74 61 74 69 6f 6e 20 | ilt-in.help.has.this.limitation. | 
| 10b60 | 74 6f 6f 2c 20 62 75 74 20 69 66 20 77 65 20 63    61 6e 0a 3b 3b 20 66 69 6e 64 20 74 68 65 20 73 | too,.but.if.we.can.;;.find.the.s | 
| 10b80 | 6f 75 72 63 65 2c 20 77 65 20 73 68 6f 75 6c 64    20 69 6e 73 74 65 61 64 20 73 65 65 20 69 66 20 | ource,.we.should.instead.see.if. | 
| 10ba0 | 74 68 65 72 65 27 73 20 61 6e 20 61 75 74 6f 6c    6f 61 64 0a 3b 3b 20 63 6f 6f 6b 69 65 2e 0a 28 | there's.an.autoload.;;.cookie..( | 
| 10bc0 | 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 61    75 74 6f 6c 6f 61 64 65 64 2d 70 20 28 73 79 6d | defun.helpful--autoloaded-p.(sym | 
| 10be0 | 20 62 75 66 29 0a 20 20 22 52 65 74 75 72 6e 20    6e 6f 6e 2d 6e 69 6c 20 69 66 20 66 75 6e 63 74 | .buf)..."Return.non-nil.if.funct | 
| 10c00 | 69 6f 6e 20 53 59 4d 20 69 73 20 61 75 74 6f 6c    6f 61 64 65 64 2e 22 0a 20 20 28 2d 77 68 65 6e | ion.SYM.is.autoloaded."...(-when | 
| 10c20 | 2d 6c 65 74 20 28 66 69 6c 65 2d 6e 61 6d 65 20    28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d | -let.(file-name.(buffer-file-nam | 
| 10c40 | 65 20 62 75 66 29 29 0a 20 20 20 20 28 73 65 74    71 20 66 69 6c 65 2d 6e 61 6d 65 20 28 73 2d 63 | e.buf)).....(setq.file-name.(s-c | 
| 10c60 | 68 6f 70 2d 73 75 66 66 69 78 20 22 2e 67 7a 22    20 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 | hop-suffix.".gz".file-name)).... | 
| 10c80 | 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65    20 6e 69 6c 0a 20 20 20 20 20 20 20 20 28 68 65 | .(condition-case.nil.........(he | 
| 10ca0 | 6c 70 2d 66 6e 73 2d 2d 61 75 74 6f 6c 6f 61 64    65 64 2d 70 20 73 79 6d 20 66 69 6c 65 2d 6e 61 | lp-fns--autoloaded-p.sym.file-na | 
| 10cc0 | 6d 65 29 0a 20 20 20 20 20 20 3b 20 6e 65 77 20    69 6e 20 45 6d 61 63 73 20 32 39 2e 30 2e 35 30 | me).......;.new.in.Emacs.29.0.50 | 
| 10ce0 | 0a 20 20 20 20 20 20 3b 20 73 65 65 20 68 74 74    70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f | .......;.see.https://github.com/ | 
| 10d00 | 57 69 6c 66 72 65 64 2f 68 65 6c 70 66 75 6c 2f    70 75 6c 6c 2f 32 38 33 0a 20 20 20 20 20 20 28 | Wilfred/helpful/pull/283.......( | 
| 10d20 | 65 72 72 6f 72 20 28 68 65 6c 70 2d 66 6e 73 2d    2d 61 75 74 6f 6c 6f 61 64 65 64 2d 70 20 73 79 | error.(help-fns--autoloaded-p.sy | 
| 10d40 | 6d 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68    65 6c 70 66 75 6c 2d 2d 63 6f 6d 70 69 6c 65 64 | m)))))..(defun.helpful--compiled | 
| 10d60 | 2d 70 20 28 73 79 6d 29 0a 20 20 22 52 65 74 75    72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 66 75 | -p.(sym)..."Return.non-nil.if.fu | 
| 10d80 | 6e 63 74 69 6f 6e 20 53 59 4d 20 69 73 20 62 79    74 65 2d 63 6f 6d 70 69 6c 65 64 22 0a 20 20 28 | nction.SYM.is.byte-compiled"...( | 
| 10da0 | 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 73 79 6d    29 0a 20 20 20 20 20 20 20 28 62 79 74 65 2d 63 | and.(symbolp.sym)........(byte-c | 
| 10dc0 | 6f 64 65 2d 66 75 6e 63 74 69 6f 6e 2d 70 20 28    73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 | ode-function-p.(symbol-function. | 
| 10de0 | 73 79 6d 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    68 65 6c 70 66 75 6c 2d 2d 6e 61 74 69 76 65 2d | sym))))..(defun.helpful--native- | 
| 10e00 | 63 6f 6d 70 69 6c 65 64 2d 70 20 28 73 79 6d 29    0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e | compiled-p.(sym)..."Return.non-n | 
| 10e20 | 69 6c 20 69 66 20 66 75 6e 63 74 69 6f 6e 20 53    59 4d 20 69 73 20 6e 61 74 69 76 65 2d 63 6f 6d | il.if.function.SYM.is.native-com | 
| 10e40 | 70 69 6c 65 64 22 0a 20 20 28 61 6e 64 20 28 73    79 6d 62 6f 6c 70 20 73 79 6d 29 0a 20 20 20 20 | piled"...(and.(symbolp.sym)..... | 
| 10e60 | 20 20 20 28 66 62 6f 75 6e 64 70 20 27 73 75 62    72 2d 6e 61 74 69 76 65 2d 65 6c 69 73 70 2d 70 | ...(fboundp.'subr-native-elisp-p | 
| 10e80 | 29 0a 20 20 20 20 20 20 20 28 73 75 62 72 2d 6e    61 74 69 76 65 2d 65 6c 69 73 70 2d 70 20 28 73 | )........(subr-native-elisp-p.(s | 
| 10ea0 | 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 73    79 6d 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 | ymbol-function.sym))))..(defun.h | 
| 10ec0 | 65 6c 70 66 75 6c 2d 2d 6a 6f 69 6e 2d 61 6e 64    20 28 69 74 65 6d 73 29 0a 20 20 22 4a 6f 69 6e | elpful--join-and.(items)..."Join | 
| 10ee0 | 20 61 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e    67 73 20 77 69 74 68 20 63 6f 6d 6d 61 73 20 61 | .a.list.of.strings.with.commas.a | 
| 10f00 | 6e 64 20 5c 22 61 6e 64 5c 22 2e 22 0a 20 20 28    63 6f 6e 64 0a 20 20 20 28 28 3d 20 28 6c 65 6e | nd.\"and\"."...(cond....((=.(len | 
| 10f20 | 67 74 68 20 69 74 65 6d 73 29 20 30 29 0a 20 20    20 20 22 22 29 0a 20 20 20 28 28 3d 20 28 6c 65 | gth.items).0)....."")....((=.(le | 
| 10f40 | 6e 67 74 68 20 69 74 65 6d 73 29 20 31 29 0a 20    20 20 20 28 63 61 72 20 69 74 65 6d 73 29 29 0a | ngth.items).1).....(car.items)). | 
| 10f60 | 20 20 20 28 74 0a 20 20 20 20 28 66 6f 72 6d 61    74 20 22 25 73 20 61 6e 64 20 25 73 22 0a 20 20 | ...(t.....(format."%s.and.%s"... | 
| 10f80 | 20 20 20 20 20 20 20 20 20 20 28 73 2d 6a 6f 69    6e 20 22 2c 20 22 20 28 2d 64 72 6f 70 2d 6c 61 | ..........(s-join.",.".(-drop-la | 
| 10fa0 | 73 74 20 31 20 69 74 65 6d 73 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 74 2d | st.1.items)).............(-last- | 
| 10fc0 | 69 74 65 6d 20 69 74 65 6d 73 29 29 29 29 29 0a    0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d | item.items)))))..(defun.helpful- | 
| 10fe0 | 2d 73 75 6d 6d 61 72 79 20 28 73 79 6d 20 63 61    6c 6c 61 62 6c 65 2d 70 20 62 75 66 20 70 6f 73 | -summary.(sym.callable-p.buf.pos | 
| 11000 | 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6f 6e    65 20 73 65 6e 74 65 6e 63 65 20 73 75 6d 6d 61 | )..."Return.a.one.sentence.summa | 
| 11020 | 72 79 20 66 6f 72 20 53 59 4d 2e 22 0a 20 20 28    2d 6c 65 74 2a 20 28 28 70 72 69 6d 69 74 69 76 | ry.for.SYM."...(-let*.((primitiv | 
| 11040 | 65 2d 70 20 28 68 65 6c 70 66 75 6c 2d 2d 70 72    69 6d 69 74 69 76 65 2d 70 20 73 79 6d 20 63 61 | e-p.(helpful--primitive-p.sym.ca | 
| 11060 | 6c 6c 61 62 6c 65 2d 70 29 29 0a 20 20 20 20 20    20 20 20 20 20 28 63 61 6e 6f 6e 69 63 61 6c 2d | llable-p))...........(canonical- | 
| 11080 | 73 79 6d 20 28 68 65 6c 70 66 75 6c 2d 2d 63 61    6e 6f 6e 69 63 61 6c 2d 73 79 6d 62 6f 6c 20 73 | sym.(helpful--canonical-symbol.s | 
| 110a0 | 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29 29 0a    20 20 20 20 20 20 20 20 20 20 28 61 6c 69 61 73 | ym.callable-p))...........(alias | 
| 110c0 | 2d 70 20 28 6e 6f 74 20 28 65 71 20 63 61 6e 6f    6e 69 63 61 6c 2d 73 79 6d 20 73 79 6d 29 29 29 | -p.(not.(eq.canonical-sym.sym))) | 
| 110e0 | 0a 20 20 20 20 20 20 20 20 20 20 28 61 6c 69 61    73 2d 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 | ...........(alias-button........ | 
| 11100 | 20 20 20 20 28 69 66 20 63 61 6c 6c 61 62 6c 65    2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(if.callable-p.............. | 
| 11120 | 20 20 3b 3b 20 53 68 6f 77 20 61 20 6c 69 6e 6b    20 74 6f 20 27 64 65 66 61 6c 69 61 73 27 20 69 | ..;;.Show.a.link.to.'defalias'.i | 
| 11140 | 6e 20 74 68 65 20 6d 61 6e 75 61 6c 2e 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 | n.the.manual.................(he | 
| 11160 | 6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 | lpful--button................."f | 
| 11180 | 75 6e 63 74 69 6f 6e 20 61 6c 69 61 73 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 | unction.alias".................' | 
| 111a0 | 68 65 6c 70 66 75 6c 2d 6d 61 6e 75 61 6c 2d 62    75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 | helpful-manual-button........... | 
| 111c0 | 20 20 20 20 20 20 27 73 79 6d 62 6f 6c 20 27 64    65 66 61 6c 69 61 73 29 0a 20 20 20 20 20 20 20 | ......'symbol.'defalias)........ | 
| 111e0 | 20 20 20 20 20 20 3b 3b 20 53 68 6f 77 20 61 20    6c 69 6e 6b 20 74 6f 20 74 68 65 20 76 61 72 69 | ......;;.Show.a.link.to.the.vari | 
| 11200 | 61 62 6c 65 20 61 6c 69 61 73 65 73 20 73 65 63    74 69 6f 6e 20 69 6e 20 74 68 65 0a 20 20 20 20 | able.aliases.section.in.the..... | 
| 11220 | 20 20 20 20 20 20 20 20 20 3b 3b 20 6d 61 6e 75    61 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .........;;.manual.............. | 
| 11240 | 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f    6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(helpful--button............... | 
| 11260 | 22 61 6c 69 61 73 22 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 27 68 65 6c 70 66 75 6c 2d 69 | "alias"...............'helpful-i | 
| 11280 | 6e 66 6f 2d 62 75 74 74 6f 6e 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 27 69 6e 66 6f 2d 6e | nfo-button...............'info-n | 
| 112a0 | 6f 64 65 20 22 28 65 6c 69 73 70 29 56 61 72 69    61 62 6c 65 20 41 6c 69 61 73 65 73 22 29 29 29 | ode."(elisp)Variable.Aliases"))) | 
| 112c0 | 0a 20 20 20 20 20 20 20 20 20 20 28 73 70 65 63    69 61 6c 2d 66 6f 72 6d 2d 62 75 74 74 6f 6e 0a | ...........(special-form-button. | 
| 112e0 | 20 20 20 20 20 20 20 20 20 20 20 28 68 65 6c 70    66 75 6c 2d 2d 62 75 74 74 6f 6e 0a 20 20 20 20 | ...........(helpful--button..... | 
| 11300 | 20 20 20 20 20 20 20 20 22 73 70 65 63 69 61 6c    20 66 6f 72 6d 22 0a 20 20 20 20 20 20 20 20 20 | ........"special.form".......... | 
| 11320 | 20 20 20 27 68 65 6c 70 66 75 6c 2d 69 6e 66 6f    2d 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 | ...'helpful-info-button......... | 
| 11340 | 20 20 20 20 27 69 6e 66 6f 2d 6e 6f 64 65 20 22    28 65 6c 69 73 70 29 53 70 65 63 69 61 6c 20 46 | ....'info-node."(elisp)Special.F | 
| 11360 | 6f 72 6d 73 22 29 29 0a 20 20 20 20 20 20 20 20    20 20 28 75 73 65 72 2d 6f 70 74 69 6f 6e 2d 62 | orms"))...........(user-option-b | 
| 11380 | 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20    20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f | utton............(helpful--butto | 
| 113a0 | 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 63    75 73 74 6f 6d 69 7a 61 62 6c 65 22 0a 20 20 20 | n............."customizable".... | 
| 113c0 | 20 20 20 20 20 20 20 20 20 27 68 65 6c 70 66 75    6c 2d 69 6e 66 6f 2d 62 75 74 74 6f 6e 0a 20 20 | .........'helpful-info-button... | 
| 113e0 | 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 6f 2d    6e 6f 64 65 20 22 28 65 6c 69 73 70 29 56 61 72 | ..........'info-node."(elisp)Var | 
| 11400 | 69 61 62 6c 65 20 44 65 66 69 6e 69 74 69 6f 6e    73 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | iable.Definitions"))...........( | 
| 11420 | 6b 65 79 62 6f 61 72 64 2d 6d 61 63 72 6f 2d 62    75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 | keyboard-macro-button........... | 
| 11440 | 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f    6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 6b | .(helpful--button............."k | 
| 11460 | 65 79 62 6f 61 72 64 20 6d 61 63 72 6f 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c 70 | eyboard.macro".............'help | 
| 11480 | 66 75 6c 2d 69 6e 66 6f 2d 62 75 74 74 6f 6e 0a    20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 | ful-info-button.............'inf | 
| 114a0 | 6f 2d 6e 6f 64 65 20 22 28 65 6c 69 73 70 29 4b    65 79 62 6f 61 72 64 20 4d 61 63 72 6f 73 22 29 | o-node."(elisp)Keyboard.Macros") | 
| 114c0 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 74    65 72 61 63 74 69 76 65 2d 62 75 74 74 6f 6e 0a | )...........(interactive-button. | 
| 114e0 | 20 20 20 20 20 20 20 20 20 20 20 28 68 65 6c 70    66 75 6c 2d 2d 62 75 74 74 6f 6e 0a 20 20 20 20 | ...........(helpful--button..... | 
| 11500 | 20 20 20 20 20 20 20 20 22 69 6e 74 65 72 61 63    74 69 76 65 22 0a 20 20 20 20 20 20 20 20 20 20 | ........"interactive"........... | 
| 11520 | 20 20 27 68 65 6c 70 66 75 6c 2d 69 6e 66 6f 2d    62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 | ..'helpful-info-button.......... | 
| 11540 | 20 20 20 27 69 6e 66 6f 2d 6e 6f 64 65 20 22 28    65 6c 69 73 70 29 55 73 69 6e 67 20 49 6e 74 65 | ...'info-node."(elisp)Using.Inte | 
| 11560 | 72 61 63 74 69 76 65 22 29 29 0a 20 20 20 20 20    20 20 20 20 20 28 61 75 74 6f 6c 6f 61 64 2d 62 | ractive"))...........(autoload-b | 
| 11580 | 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20    20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f | utton............(helpful--butto | 
| 115a0 | 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61    75 74 6f 6c 6f 61 64 65 64 22 0a 20 20 20 20 20 | n............."autoloaded"...... | 
| 115c0 | 20 20 20 20 20 20 20 27 68 65 6c 70 66 75 6c 2d    69 6e 66 6f 2d 62 75 74 74 6f 6e 0a 20 20 20 20 | .......'helpful-info-button..... | 
| 115e0 | 20 20 20 20 20 20 20 20 27 69 6e 66 6f 2d 6e 6f    64 65 20 22 28 65 6c 69 73 70 29 41 75 74 6f 6c | ........'info-node."(elisp)Autol | 
| 11600 | 6f 61 64 22 29 29 0a 20 20 20 20 20 20 20 20 20    20 28 63 6f 6d 70 69 6c 65 64 2d 62 75 74 74 6f | oad"))...........(compiled-butto | 
| 11620 | 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 68 65    6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e 0a 20 20 | n............(helpful--button... | 
| 11640 | 20 20 20 20 20 20 20 20 20 20 22 62 79 74 65 2d    63 6f 6d 70 69 6c 65 64 22 0a 20 20 20 20 20 20 | .........."byte-compiled"....... | 
| 11660 | 20 20 20 20 20 20 27 68 65 6c 70 66 75 6c 2d 69    6e 66 6f 2d 62 75 74 74 6f 6e 0a 20 20 20 20 20 | ......'helpful-info-button...... | 
| 11680 | 20 20 20 20 20 20 20 27 69 6e 66 6f 2d 6e 6f 64    65 20 22 28 65 6c 69 73 70 29 42 79 74 65 20 43 | .......'info-node."(elisp)Byte.C | 
| 116a0 | 6f 6d 70 69 6c 61 74 69 6f 6e 22 29 29 0a 20 20    20 20 20 20 20 20 20 20 28 6e 61 74 69 76 65 2d | ompilation"))...........(native- | 
| 116c0 | 63 6f 6d 70 69 6c 65 64 2d 62 75 74 74 6f 6e 0a    20 20 20 20 20 20 20 20 20 20 20 28 68 65 6c 70 | compiled-button............(help | 
| 116e0 | 66 75 6c 2d 2d 62 75 74 74 6f 6e 0a 20 20 20 20    20 20 20 20 20 20 20 20 22 6e 61 74 69 76 65 6c | ful--button............."nativel | 
| 11700 | 79 20 63 6f 6d 70 69 6c 65 64 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 27 68 65 6c 70 66 75 6c | y.compiled".............'helpful | 
| 11720 | 2d 64 65 73 63 72 69 62 65 2d 62 75 74 74 6f 6e    0a 20 20 20 20 20 20 20 20 20 20 20 20 27 73 79 | -describe-button.............'sy | 
| 11740 | 6d 62 6f 6c 20 27 6e 61 74 69 76 65 2d 63 6f 6d    70 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 | mbol.'native-compile)).......... | 
| 11760 | 20 28 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 62    75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 | .(buffer-local-button........... | 
| 11780 | 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f    6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 62 | .(helpful--button............."b | 
| 117a0 | 75 66 66 65 72 2d 6c 6f 63 61 6c 22 0a 20 20 20    20 20 20 20 20 20 20 20 20 27 68 65 6c 70 66 75 | uffer-local".............'helpfu | 
| 117c0 | 6c 2d 69 6e 66 6f 2d 62 75 74 74 6f 6e 0a 20 20    20 20 20 20 20 20 20 20 20 20 27 69 6e 66 6f 2d | l-info-button.............'info- | 
| 117e0 | 6e 6f 64 65 20 22 28 65 6c 69 73 70 29 42 75 66    66 65 72 2d 4c 6f 63 61 6c 20 56 61 72 69 61 62 | node."(elisp)Buffer-Local.Variab | 
| 11800 | 6c 65 73 22 29 29 0a 20 20 20 20 20 20 20 20 20    20 28 61 75 74 6f 6c 6f 61 64 65 64 2d 70 0a 20 | les"))...........(autoloaded-p.. | 
| 11820 | 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 63    61 6c 6c 61 62 6c 65 2d 70 20 62 75 66 20 28 68 | ..........(and.callable-p.buf.(h | 
| 11840 | 65 6c 70 66 75 6c 2d 2d 61 75 74 6f 6c 6f 61 64    65 64 2d 70 20 73 79 6d 20 62 75 66 29 29 29 0a | elpful--autoloaded-p.sym.buf))). | 
| 11860 | 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 69    6c 65 64 2d 70 0a 20 20 20 20 20 20 20 20 20 20 | ..........(compiled-p........... | 
| 11880 | 20 28 61 6e 64 20 63 61 6c 6c 61 62 6c 65 2d 70    20 28 68 65 6c 70 66 75 6c 2d 2d 63 6f 6d 70 69 | .(and.callable-p.(helpful--compi | 
| 118a0 | 6c 65 64 2d 70 20 73 79 6d 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 28 6e 61 74 69 76 65 2d 63 | led-p.sym)))...........(native-c | 
| 118c0 | 6f 6d 70 69 6c 65 64 2d 70 0a 20 20 20 20 20 20    20 20 20 20 20 28 61 6e 64 20 63 61 6c 6c 61 62 | ompiled-p............(and.callab | 
| 118e0 | 6c 65 2d 70 20 28 68 65 6c 70 66 75 6c 2d 2d 6e    61 74 69 76 65 2d 63 6f 6d 70 69 6c 65 64 2d 70 | le-p.(helpful--native-compiled-p | 
| 11900 | 20 73 79 6d 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 28 62 75 74 74 6f 6e 73 0a 20 20 20 20 20 | .sym)))...........(buttons...... | 
| 11920 | 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20    20 20 20 20 20 20 20 20 28 69 66 20 61 6c 69 61 | ......(list.............(if.alia | 
| 11940 | 73 2d 70 20 61 6c 69 61 73 2d 62 75 74 74 6f 6e    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 | s-p.alias-button).............(i | 
| 11960 | 66 20 28 61 6e 64 20 63 61 6c 6c 61 62 6c 65 2d    70 20 61 75 74 6f 6c 6f 61 64 65 64 2d 70 29 20 | f.(and.callable-p.autoloaded-p). | 
| 11980 | 61 75 74 6f 6c 6f 61 64 2d 62 75 74 74 6f 6e 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 | autoload-button).............(if | 
| 119a0 | 20 28 61 6e 64 20 63 61 6c 6c 61 62 6c 65 2d 70    20 28 63 6f 6d 6d 61 6e 64 70 20 73 79 6d 29 29 | .(and.callable-p.(commandp.sym)) | 
| 119c0 | 20 69 6e 74 65 72 61 63 74 69 76 65 2d 62 75 74    74 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .interactive-button)............ | 
| 119e0 | 20 28 69 66 20 63 6f 6d 70 69 6c 65 64 2d 70 20    63 6f 6d 70 69 6c 65 64 2d 62 75 74 74 6f 6e 29 | .(if.compiled-p.compiled-button) | 
| 11a00 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66    20 6e 61 74 69 76 65 2d 63 6f 6d 70 69 6c 65 64 | .............(if.native-compiled | 
| 11a20 | 2d 70 20 6e 61 74 69 76 65 2d 63 6f 6d 70 69 6c    65 64 2d 62 75 74 74 6f 6e 29 0a 20 20 20 20 20 | -p.native-compiled-button)...... | 
| 11a40 | 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20    28 6e 6f 74 20 63 61 6c 6c 61 62 6c 65 2d 70 29 | .......(if.(and.(not.callable-p) | 
| 11a60 | 20 28 63 75 73 74 6f 6d 2d 76 61 72 69 61 62 6c    65 2d 70 20 73 79 6d 29 29 0a 20 20 20 20 20 20 | .(custom-variable-p.sym))....... | 
| 11a80 | 20 20 20 20 20 20 20 20 20 20 75 73 65 72 2d 6f    70 74 69 6f 6e 2d 62 75 74 74 6f 6e 29 0a 20 20 | ..........user-option-button)... | 
| 11aa0 | 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61    6e 64 20 28 6e 6f 74 20 63 61 6c 6c 61 62 6c 65 | ..........(if.(and.(not.callable | 
| 11ac0 | 2d 70 29 20 28 6c 6f 63 61 6c 2d 76 61 72 69 61    62 6c 65 2d 69 66 2d 73 65 74 2d 70 20 73 79 6d | -p).(local-variable-if-set-p.sym | 
| 11ae0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d | )).................buffer-local- | 
| 11b00 | 62 75 74 74 6f 6e 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 64 65 73 63 72 69 70 74 69 6f 6e | button)))...........(description | 
| 11b20 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 68 65 6c    70 66 75 6c 2d 2d 6a 6f 69 6e 2d 61 6e 64 20 28 | ............(helpful--join-and.( | 
| 11b40 | 2d 6e 6f 6e 2d 6e 69 6c 20 62 75 74 74 6f 6e 73    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6b | -non-nil.buttons)))...........(k | 
| 11b60 | 69 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 28    63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 | ind............(cond............ | 
| 11b80 | 20 28 28 73 70 65 63 69 61 6c 2d 66 6f 72 6d 2d    70 20 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 | .((special-form-p.sym).......... | 
| 11ba0 | 20 20 20 20 73 70 65 63 69 61 6c 2d 66 6f 72 6d    2d 62 75 74 74 6f 6e 29 0a 20 20 20 20 20 20 20 | ....special-form-button)........ | 
| 11bc0 | 20 20 20 20 20 28 61 6c 69 61 73 2d 70 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d | .....(alias-p..............(form | 
| 11be0 | 61 74 20 22 66 6f 72 20 25 73 2c 22 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | at."for.%s,".................... | 
| 11c00 | 20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74    6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..(helpful--button.............. | 
| 11c20 | 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c    2d 6e 61 6d 65 20 63 61 6e 6f 6e 69 63 61 6c 2d | .........(symbol-name.canonical- | 
| 11c40 | 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c 70 | sym).......................'help | 
| 11c60 | 66 75 6c 2d 64 65 73 63 72 69 62 65 2d 65 78 61    63 74 6c 79 2d 62 75 74 74 6f 6e 0a 20 20 20 20 | ful-describe-exactly-button..... | 
| 11c80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 27 73 79 6d 62 6f 6c 20 63 61 6e 6f 6e 69 | ..................'symbol.canoni | 
| 11ca0 | 63 61 6c 2d 73 79 6d 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 63 | cal-sym.......................'c | 
| 11cc0 | 61 6c 6c 61 62 6c 65 2d 70 20 63 61 6c 6c 61 62    6c 65 2d 70 29 29 29 0a 20 20 20 20 20 20 20 20 | allable-p.callable-p)))......... | 
| 11ce0 | 20 20 20 20 28 28 6e 6f 74 20 63 61 6c 6c 61 62    6c 65 2d 70 29 20 22 76 61 72 69 61 62 6c 65 22 | ....((not.callable-p)."variable" | 
| 11d00 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28    6d 61 63 72 6f 70 20 73 79 6d 29 20 22 6d 61 63 | ).............((macrop.sym)."mac | 
| 11d20 | 72 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 28 68 65 6c 70 66 75 6c 2d 2d 6b 62 64 2d | ro").............((helpful--kbd- | 
| 11d40 | 6d 61 63 72 6f 2d 70 20 73 79 6d 29 20 6b 65 79    62 6f 61 72 64 2d 6d 61 63 72 6f 2d 62 75 74 74 | macro-p.sym).keyboard-macro-butt | 
| 11d60 | 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    28 74 20 22 66 75 6e 63 74 69 6f 6e 22 29 29 29 | on).............(t."function"))) | 
| 11d80 | 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69    6e 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ...........(defined............. | 
| 11da0 | 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 28 62 75 66 0a 20 20 20 20 20 20 20 20 | (cond..............(buf......... | 
| 11dc0 | 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 61 74    68 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e | ......(let.((path.(buffer-file-n | 
| 11de0 | 61 6d 65 20 62 75 66 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 70 | ame.buf))).................(if.p | 
| 11e00 | 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 0a | ath.....................(format. | 
| 11e20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 22 64 65 66 69 6e 65 64 20 69 6e | ....................."defined.in | 
| 11e40 | 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 68 65 6c 70 66 | .%s"......................(helpf | 
| 11e60 | 75 6c 2d 2d 6e 61 76 69 67 61 74 65 2d 62 75 74    74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ul--navigate-button............. | 
| 11e80 | 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d    6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 | ..........(file-name-nondirector | 
| 11ea0 | 79 20 70 61 74 68 29 20 70 61 74 68 20 70 6f 73    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | y.path).path.pos)).............. | 
| 11ec0 | 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 64 65    66 69 6e 65 64 20 69 6e 20 62 75 66 66 65 72 20 | .....(format."defined.in.buffer. | 
| 11ee0 | 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 | %s"...........................(h | 
| 11f00 | 65 6c 70 66 75 6c 2d 2d 62 75 66 66 65 72 2d 62    75 74 74 6f 6e 20 62 75 66 20 70 6f 73 29 29 29 | elpful--buffer-button.buf.pos))) | 
| 11f20 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    28 70 72 69 6d 69 74 69 76 65 2d 70 0a 20 20 20 | ))..............(primitive-p.... | 
| 11f40 | 20 20 20 20 20 20 20 20 20 20 20 22 64 65 66 69    6e 65 64 20 69 6e 20 43 20 73 6f 75 72 63 65 20 | ..........."defined.in.C.source. | 
| 11f60 | 63 6f 64 65 22 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 28 68 65 6c 70 66 75 6c 2d 2d 6b | code")..............((helpful--k | 
| 11f80 | 62 64 2d 6d 61 63 72 6f 2d 70 20 73 79 6d 29 20    6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 | bd-macro-p.sym).nil)............ | 
| 11fa0 | 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 22 77 69 74 68 6f 75 74 20 61 20 73 6f | ..(t..............."without.a.so | 
| 11fc0 | 75 72 63 65 20 66 69 6c 65 22 29 29 29 29 0a 0a    20 20 20 20 28 73 2d 77 6f 72 64 2d 77 72 61 70 | urce.file"))))......(s-word-wrap | 
| 11fe0 | 0a 20 20 20 20 20 37 30 0a 20 20 20 20 20 28 66    6f 72 6d 61 74 20 22 25 73 20 69 73 20 25 73 20 | ......70......(format."%s.is.%s. | 
| 12000 | 25 73 20 25 73 25 73 2e 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 69 66 20 28 73 79 6d 62 | %s.%s%s."..............(if.(symb | 
| 12020 | 6f 6c 70 20 73 79 6d 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 68 65 6c 70 66 | olp.sym)..................(helpf | 
| 12040 | 75 6c 2d 2d 66 6f 72 6d 61 74 2d 73 79 6d 62 6f    6c 20 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 | ul--format-symbol.sym).......... | 
| 12060 | 20 20 20 20 20 20 22 54 68 69 73 20 6c 61 6d 62    64 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ......"This.lambda")............ | 
| 12080 | 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61    74 63 68 2d 70 0a 20 20 20 20 20 20 20 20 20 20 | ..(if.(string-match-p........... | 
| 120a0 | 20 20 20 20 20 20 20 20 28 72 78 20 62 6f 73 20    28 6f 72 20 22 61 22 20 22 65 22 20 22 69 22 20 | ........(rx.bos.(or."a"."e"."i". | 
| 120c0 | 22 6f 22 20 22 75 22 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 64 65 73 63 | "o"."u"))...................desc | 
| 120e0 | 72 69 70 74 69 6f 6e 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 22 61 6e 22 0a 20 | ription).................."an".. | 
| 12100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61    22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .............."a").............. | 
| 12120 | 64 65 73 63 72 69 70 74 69 6f 6e 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 6b 69 6e 64 0a 20 20 | description..............kind... | 
| 12140 | 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 64    65 66 69 6e 65 64 20 28 63 6f 6e 63 61 74 20 22 | ...........(if.defined.(concat." | 
| 12160 | 20 22 20 64 65 66 69 6e 65 64 29 20 22 22 29 29    29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 | .".defined)."")))))..(defun.help | 
| 12180 | 66 75 6c 2d 2d 63 61 6c 6c 65 65 73 20 28 66 6f    72 6d 29 0a 20 20 22 47 69 76 65 6e 20 73 6f 75 | ful--callees.(form)..."Given.sou | 
| 121a0 | 72 63 65 20 63 6f 64 65 20 46 4f 52 4d 2c 20 72    65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 | rce.code.FORM,.return.a.list.of. | 
| 121c0 | 61 6c 6c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e    73 20 63 61 6c 6c 65 64 2e 22 0a 20 20 28 6c 65 | all.the.functions.called."...(le | 
| 121e0 | 74 2a 20 28 28 65 78 70 61 6e 64 65 64 2d 66 6f    72 6d 20 28 6d 61 63 72 6f 65 78 70 61 6e 64 2d | t*.((expanded-form.(macroexpand- | 
| 12200 | 61 6c 6c 20 66 6f 72 6d 29 29 0a 20 20 20 20 20    20 20 20 20 3b 3b 20 46 69 6e 64 20 61 6c 6c 20 | all.form))..........;;.Find.all. | 
| 12220 | 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 61    6c 6c 65 64 20 61 66 74 65 72 20 6d 61 63 72 6f | the.functions.called.after.macro | 
| 12240 | 20 65 78 70 61 6e 73 69 6f 6e 2e 0a 20 20 20 20    20 20 20 20 20 28 61 6c 6c 2d 66 6e 73 20 28 68 | .expansion...........(all-fns.(h | 
| 12260 | 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 65 65 73 2d    31 20 65 78 70 61 6e 64 65 64 2d 66 6f 72 6d 29 | elpful--callees-1.expanded-form) | 
| 12280 | 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 4f 6e    6c 79 20 63 6f 6e 73 69 64 65 72 20 74 68 65 20 | )..........;;.Only.consider.the. | 
| 122a0 | 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 77    65 72 65 20 69 6e 20 74 68 65 20 6f 72 69 67 69 | functions.that.were.in.the.origi | 
| 122c0 | 6e 61 6c 20 63 6f 64 65 0a 20 20 20 20 20 20 20    20 20 3b 3b 20 62 65 66 6f 72 65 20 6d 61 63 72 | nal.code..........;;.before.macr | 
| 122e0 | 6f 20 65 78 70 61 6e 73 69 6f 6e 2e 0a 20 20 20    20 20 20 20 20 20 28 66 6f 72 6d 2d 73 79 6d 73 | o.expansion...........(form-syms | 
| 12300 | 20 28 2d 66 69 6c 74 65 72 20 23 27 73 79 6d 62    6f 6c 70 20 28 2d 66 6c 61 74 74 65 6e 20 66 6f | .(-filter.#'symbolp.(-flatten.fo | 
| 12320 | 72 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 28    66 6f 72 6d 2d 66 6e 73 20 28 2d 2d 66 69 6c 74 | rm)))..........(form-fns.(--filt | 
| 12340 | 65 72 20 28 6d 65 6d 71 20 69 74 20 66 6f 72 6d    2d 73 79 6d 73 29 20 61 6c 6c 2d 66 6e 73 29 29 | er.(memq.it.form-syms).all-fns)) | 
| 12360 | 29 0a 20 20 20 20 28 2d 64 69 73 74 69 6e 63 74    20 66 6f 72 6d 2d 66 6e 73 29 29 29 0a 0a 28 64 | ).....(-distinct.form-fns)))..(d | 
| 12380 | 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 63 61    6c 6c 65 65 73 2d 31 20 28 66 6f 72 6d 29 0a 20 | efun.helpful--callees-1.(form).. | 
| 123a0 | 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20    6f 66 20 61 6c 6c 20 74 68 65 20 66 75 6e 63 74 | ."Return.a.list.of.all.the.funct | 
| 123c0 | 69 6f 6e 73 20 63 61 6c 6c 65 64 20 69 6e 20 46    4f 52 4d 2e 0a 41 73 73 75 6d 65 73 20 46 4f 52 | ions.called.in.FORM..Assumes.FOR | 
| 123e0 | 4d 20 68 61 73 20 62 65 65 6e 20 6d 61 63 72 6f    20 65 78 70 61 6e 64 65 64 2e 20 54 68 65 20 72 | M.has.been.macro.expanded..The.r | 
| 12400 | 65 74 75 72 6e 65 64 20 6c 69 73 74 0a 6d 61 79    20 63 6f 6e 74 61 69 6e 20 64 75 70 6c 69 63 61 | eturned.list.may.contain.duplica | 
| 12420 | 74 65 73 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20    20 28 28 6e 6f 74 20 28 63 6f 6e 73 70 20 66 6f | tes."...(cond....((not.(consp.fo | 
| 12440 | 72 6d 29 29 0a 20 20 20 20 6e 69 6c 29 0a 20 20    20 3b 3b 20 53 65 65 20 60 28 65 6c 69 73 70 29 | rm)).....nil)....;;.See.`(elisp) | 
| 12460 | 53 70 65 63 69 61 6c 20 46 6f 72 6d 73 27 2e 20    46 6f 72 20 74 68 65 73 65 20 73 70 65 63 69 61 | Special.Forms'..For.these.specia | 
| 12480 | 6c 20 66 6f 72 6d 73 2c 20 77 65 20 72 65 63 75    72 73 65 0a 20 20 20 3b 3b 20 6a 75 73 74 20 6c | l.forms,.we.recurse....;;.just.l | 
| 124a0 | 69 6b 65 20 66 75 6e 63 74 69 6f 6e 73 20 62 75    74 20 69 67 6e 6f 72 65 20 74 68 65 20 63 61 72 | ike.functions.but.ignore.the.car | 
| 124c0 | 2e 0a 20 20 20 28 28 6d 65 6d 71 20 28 63 61 72    20 66 6f 72 6d 29 20 27 28 61 6e 64 20 63 61 74 | .....((memq.(car.form).'(and.cat | 
| 124e0 | 63 68 20 64 65 66 63 6f 6e 73 74 20 64 65 66 76    61 72 20 69 66 20 69 6e 74 65 72 61 63 74 69 76 | ch.defconst.defvar.if.interactiv | 
| 12500 | 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 | e............................or. | 
| 12520 | 70 72 6f 67 31 20 70 72 6f 67 32 20 70 72 6f 67    6e 20 73 61 76 65 2d 63 75 72 72 65 6e 74 2d 62 | prog1.prog2.progn.save-current-b | 
| 12540 | 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | uffer........................... | 
| 12560 | 20 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f    6e 20 73 65 74 71 20 73 65 74 71 2d 64 65 66 61 | .save-restriction.setq.setq-defa | 
| 12580 | 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 | ult............................t | 
| 125a0 | 72 61 63 6b 2d 6d 6f 75 73 65 20 75 6e 77 69 6e    64 2d 70 72 6f 74 65 63 74 20 77 68 69 6c 65 29 | rack-mouse.unwind-protect.while) | 
| 125c0 | 29 0a 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 0a    20 20 20 20 20 28 2d 6d 61 70 20 23 27 68 65 6c | ).....(-flatten......(-map.#'hel | 
| 125e0 | 70 66 75 6c 2d 2d 63 61 6c 6c 65 65 73 2d 31 20    28 63 64 72 20 66 6f 72 6d 29 29 29 29 0a 0a 20 | pful--callees-1.(cdr.form))))... | 
| 12600 | 20 20 28 28 65 71 20 28 63 61 72 20 66 6f 72 6d    29 20 27 63 6f 6e 64 29 0a 20 20 20 20 28 6c 65 | ..((eq.(car.form).'cond).....(le | 
| 12620 | 74 2a 20 28 28 63 6c 61 75 73 65 73 20 28 63 64    72 20 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 | t*.((clauses.(cdr.form))........ | 
| 12640 | 20 20 20 20 28 63 6c 61 75 73 65 2d 66 6e 73 0a    20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 45 | ....(clause-fns.............;;.E | 
| 12660 | 61 63 68 20 63 6c 61 75 73 65 20 69 73 20 61 20    6c 69 73 74 20 6f 66 20 66 6f 72 6d 73 2e 0a 20 | ach.clause.is.a.list.of.forms... | 
| 12680 | 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61    70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ...........(--map..............( | 
| 126a0 | 2d 6d 61 70 20 23 27 68 65 6c 70 66 75 6c 2d 2d    63 61 6c 6c 65 65 73 2d 31 20 69 74 29 20 63 6c | -map.#'helpful--callees-1.it).cl | 
| 126c0 | 61 75 73 65 73 29 29 29 0a 20 20 20 20 20 20 28    2d 66 6c 61 74 74 65 6e 20 63 6c 61 75 73 65 2d | auses))).......(-flatten.clause- | 
| 126e0 | 66 6e 73 29 29 29 0a 0a 20 20 20 28 28 65 71 20    28 63 61 72 20 66 6f 72 6d 29 20 27 63 6f 6e 64 | fns))).....((eq.(car.form).'cond | 
| 12700 | 69 74 69 6f 6e 2d 63 61 73 65 29 0a 20 20 20 20    28 6c 65 74 2a 20 28 28 70 72 6f 74 65 63 74 65 | ition-case).....(let*.((protecte | 
| 12720 | 64 2d 66 6f 72 6d 20 28 6e 74 68 20 32 20 66 6f    72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | d-form.(nth.2.form))............ | 
| 12740 | 28 70 72 6f 74 65 63 74 65 64 2d 66 6f 72 6d 2d    66 6e 73 20 28 68 65 6c 70 66 75 6c 2d 2d 63 61 | (protected-form-fns.(helpful--ca | 
| 12760 | 6c 6c 65 65 73 2d 31 20 70 72 6f 74 65 63 74 65    64 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 | llees-1.protected-form))........ | 
| 12780 | 20 20 20 20 28 68 61 6e 64 6c 65 72 73 20 28 2d    64 72 6f 70 20 33 20 66 6f 72 6d 29 29 0a 20 20 | ....(handlers.(-drop.3.form))... | 
| 127a0 | 20 20 20 20 20 20 20 20 20 28 68 61 6e 64 6c 65    72 2d 62 6f 64 69 65 73 20 28 2d 6d 61 70 20 23 | .........(handler-bodies.(-map.# | 
| 127c0 | 27 63 64 72 20 68 61 6e 64 6c 65 72 73 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 28 68 61 6e 64 | 'cdr.handlers))............(hand | 
| 127e0 | 6c 65 72 2d 66 6e 73 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 2d 2d 6d 61 70 0a 20 20 20 20 20 | ler-fns.............(--map...... | 
| 12800 | 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 23 27    68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 65 65 73 | ........(-map.#'helpful--callees | 
| 12820 | 2d 31 20 69 74 29 20 68 61 6e 64 6c 65 72 2d 62    6f 64 69 65 73 29 29 29 0a 20 20 20 20 20 20 28 | -1.it).handler-bodies))).......( | 
| 12840 | 61 70 70 65 6e 64 0a 20 20 20 20 20 20 20 70 72    6f 74 65 63 74 65 64 2d 66 6f 72 6d 2d 66 6e 73 | append........protected-form-fns | 
| 12860 | 0a 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65    6e 20 68 61 6e 64 6c 65 72 2d 66 6e 73 29 29 29 | ........(-flatten.handler-fns))) | 
| 12880 | 29 0a 0a 20 20 20 3b 3b 20 43 61 6c 6c 69 6e 67    20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 | ).....;;.Calling.a.function.with | 
| 128a0 | 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e 20 68 69    67 68 65 72 20 6f 72 64 65 72 20 66 75 6e 63 74 | .a.well.known.higher.order.funct | 
| 128c0 | 69 6f 6e 2c 20 66 6f 72 0a 20 20 20 3b 3b 20 65    78 61 6d 70 6c 65 20 28 66 75 6e 63 61 6c 6c 20 | ion,.for....;;.example.(funcall. | 
| 128e0 | 27 66 6f 6f 20 31 20 32 29 2e 0a 20 20 20 28 28    61 6e 64 0a 20 20 20 20 20 28 6d 65 6d 71 20 28 | 'foo.1.2).....((and......(memq.( | 
| 12900 | 63 61 72 20 66 6f 72 6d 29 20 27 28 66 75 6e 63    61 6c 6c 20 61 70 70 6c 79 20 63 61 6c 6c 2d 69 | car.form).'(funcall.apply.call-i | 
| 12920 | 6e 74 65 72 61 63 74 69 76 65 6c 79 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nteractively.................... | 
| 12940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70    63 61 72 20 6d 61 70 63 20 6d 61 70 63 6f 6e 63 | .............mapcar.mapc.mapconc | 
| 12960 | 61 74 20 2d 6d 61 70 29 29 0a 20 20 20 20 20 28    65 71 20 28 63 61 72 2d 73 61 66 65 20 28 6e 74 | at.-map))......(eq.(car-safe.(nt | 
| 12980 | 68 20 31 20 66 6f 72 6d 29 29 20 27 71 75 6f 74    65 29 29 0a 20 20 20 20 28 63 6f 6e 73 0a 20 20 | h.1.form)).'quote)).....(cons... | 
| 129a0 | 20 20 20 28 63 61 64 72 20 28 6e 74 68 20 31 20    66 6f 72 6d 29 29 0a 20 20 20 20 20 28 2d 66 6c | ...(cadr.(nth.1.form))......(-fl | 
| 129c0 | 61 74 74 65 6e 0a 20 20 20 20 20 20 28 2d 6d 61    70 20 23 27 68 65 6c 70 66 75 6c 2d 2d 63 61 6c | atten.......(-map.#'helpful--cal | 
| 129e0 | 6c 65 65 73 2d 31 20 28 63 64 72 20 66 6f 72 6d    29 29 29 29 29 0a 0a 20 20 20 28 28 65 71 20 28 | lees-1.(cdr.form))))).....((eq.( | 
| 12a00 | 63 61 72 20 66 6f 72 6d 29 20 27 66 75 6e 63 74    69 6f 6e 29 0a 20 20 20 20 28 6c 65 74 20 28 28 | car.form).'function).....(let.(( | 
| 12a20 | 61 72 67 20 28 6e 74 68 20 31 20 66 6f 72 6d 29    29 29 0a 20 20 20 20 20 20 28 69 66 20 28 73 79 | arg.(nth.1.form))).......(if.(sy | 
| 12a40 | 6d 62 6f 6c 70 20 61 72 67 29 0a 20 20 20 20 20    20 20 20 20 20 3b 3b 20 23 27 66 6f 6f 2c 20 77 | mbolp.arg)...........;;.#'foo,.w | 
| 12a60 | 68 69 63 68 20 69 73 20 74 68 65 20 73 61 6d 65    20 61 73 20 28 66 75 6e 63 74 69 6f 6e 20 66 6f | hich.is.the.same.as.(function.fo | 
| 12a80 | 6f 29 2c 20 69 73 20 61 20 66 75 6e 63 74 69 6f    6e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 | o),.is.a.function...........;;.r | 
| 12aa0 | 65 66 65 72 65 6e 63 65 2e 0a 20 20 20 20 20 20    20 20 20 20 28 6c 69 73 74 20 61 72 67 29 0a 20 | eference............(list.arg).. | 
| 12ac0 | 20 20 20 20 20 20 20 3b 3b 20 48 61 6e 64 6c 65    20 28 66 75 6e 63 74 69 6f 6e 20 28 6c 61 6d 62 | .......;;.Handle.(function.(lamb | 
| 12ae0 | 64 61 20 2e 2e 2e 29 29 2e 0a 20 20 20 20 20 20    20 20 28 68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c | da....))..........(helpful--call | 
| 12b00 | 65 65 73 2d 31 20 61 72 67 29 29 29 29 0a 0a 20    20 20 28 28 65 71 20 28 63 61 72 20 66 6f 72 6d | ees-1.arg)))).....((eq.(car.form | 
| 12b20 | 29 20 27 6c 61 6d 62 64 61 29 0a 20 20 20 20 3b    3b 20 4f 6e 6c 79 20 63 6f 6e 73 69 64 65 72 20 | ).'lambda).....;;.Only.consider. | 
| 12b40 | 74 68 65 20 62 6f 64 79 2c 20 6e 6f 74 20 74 68    65 20 70 61 72 61 6d 20 6c 69 73 74 2e 0a 20 20 | the.body,.not.the.param.list.... | 
| 12b60 | 20 20 28 2d 66 6c 61 74 74 65 6e 20 28 2d 6d 61    70 20 23 27 68 65 6c 70 66 75 6c 2d 2d 63 61 6c | ..(-flatten.(-map.#'helpful--cal | 
| 12b80 | 6c 65 65 73 2d 31 20 28 2d 64 72 6f 70 20 32 20    66 6f 72 6d 29 29 29 29 0a 0a 20 20 20 28 28 65 | lees-1.(-drop.2.form)))).....((e | 
| 12ba0 | 71 20 28 63 61 72 20 66 6f 72 6d 29 20 27 63 6c    6f 73 75 72 65 29 0a 20 20 20 20 3b 3b 20 53 61 | q.(car.form).'closure).....;;.Sa | 
| 12bc0 | 6d 65 20 61 73 20 6c 61 6d 62 64 61 2c 20 62 75    74 20 68 61 73 20 61 6e 20 61 64 64 69 74 69 6f | me.as.lambda,.but.has.an.additio | 
| 12be0 | 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 6f 66 20    74 68 65 0a 20 20 20 20 3b 3b 20 63 6c 6f 73 65 | nal.argument.of.the.....;;.close | 
| 12c00 | 64 2d 6f 76 65 72 20 76 61 72 69 61 62 6c 65 73    2e 0a 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 20 | d-over.variables......(-flatten. | 
| 12c20 | 28 2d 6d 61 70 20 23 27 68 65 6c 70 66 75 6c 2d    2d 63 61 6c 6c 65 65 73 2d 31 20 28 2d 64 72 6f | (-map.#'helpful--callees-1.(-dro | 
| 12c40 | 70 20 33 20 66 6f 72 6d 29 29 29 29 0a 0a 20 20    20 28 28 6d 65 6d 71 20 28 63 61 72 20 66 6f 72 | p.3.form)))).....((memq.(car.for | 
| 12c60 | 6d 29 20 27 28 6c 65 74 20 6c 65 74 2a 29 29 0a    20 20 20 20 3b 3b 20 45 78 74 72 61 63 74 20 66 | m).'(let.let*)).....;;.Extract.f | 
| 12c80 | 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 75 73    65 64 20 74 6f 20 73 65 74 20 74 68 65 20 6c 65 | unction.calls.used.to.set.the.le | 
| 12ca0 | 74 2d 62 6f 75 6e 64 20 76 61 72 69 61 62 6c 65    73 2e 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 76 | t-bound.variables......(let*.((v | 
| 12cc0 | 61 72 2d 76 61 6c 73 20 28 2d 73 65 63 6f 6e 64    2d 69 74 65 6d 20 66 6f 72 6d 29 29 0a 20 20 20 | ar-vals.(-second-item.form)).... | 
| 12ce0 | 20 20 20 20 20 20 20 20 28 76 61 72 2d 76 61 6c    2d 63 61 6c 6c 65 65 73 0a 20 20 20 20 20 20 20 | ........(var-val-callees........ | 
| 12d00 | 20 20 20 20 20 28 2d 2d 6d 61 70 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 28 69 66 20 28 63 6f | .....(--map..............(if.(co | 
| 12d20 | 6e 73 70 20 69 74 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 23 | nsp.it)..................(-map.# | 
| 12d40 | 27 68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 65 65    73 2d 31 20 69 74 29 0a 20 20 20 20 20 20 20 20 | 'helpful--callees-1.it)......... | 
| 12d60 | 20 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 76 61 72 2d 76 61 6c | .......nil)..............var-val | 
| 12d80 | 73 29 29 29 0a 20 20 20 20 20 20 28 61 70 70 65    6e 64 0a 20 20 20 20 20 20 20 28 2d 66 6c 61 74 | s))).......(append........(-flat | 
| 12da0 | 74 65 6e 20 76 61 72 2d 76 61 6c 2d 63 61 6c 6c    65 65 73 29 0a 20 20 20 20 20 20 20 3b 3b 20 46 | ten.var-val-callees)........;;.F | 
| 12dc0 | 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 69 6e    20 74 68 65 20 6c 65 74 20 62 6f 64 79 2e 0a 20 | unction.calls.in.the.let.body... | 
| 12de0 | 20 20 20 20 20 20 28 2d 6d 61 70 20 23 27 68 65    6c 70 66 75 6c 2d 2d 63 61 6c 6c 65 65 73 2d 31 | ......(-map.#'helpful--callees-1 | 
| 12e00 | 20 28 2d 64 72 6f 70 20 32 20 66 6f 72 6d 29 29    29 29 29 0a 0a 20 20 20 28 28 65 71 20 28 63 61 | .(-drop.2.form))))).....((eq.(ca | 
| 12e20 | 72 20 66 6f 72 6d 29 20 27 71 75 6f 74 65 29 0a    20 20 20 20 6e 69 6c 29 0a 20 20 20 28 74 0a 20 | r.form).'quote).....nil)....(t.. | 
| 12e40 | 20 20 20 28 63 6f 6e 73 0a 20 20 20 20 20 28 63    61 72 20 66 6f 72 6d 29 0a 20 20 20 20 20 28 2d | ...(cons......(car.form)......(- | 
| 12e60 | 66 6c 61 74 74 65 6e 0a 20 20 20 20 20 20 28 2d    6d 61 70 20 23 27 68 65 6c 70 66 75 6c 2d 2d 63 | flatten.......(-map.#'helpful--c | 
| 12e80 | 61 6c 6c 65 65 73 2d 31 20 28 63 64 72 20 66 6f    72 6d 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 | allees-1.(cdr.form)))))))..(defu | 
| 12ea0 | 6e 20 68 65 6c 70 66 75 6c 2d 2d 65 6e 73 75 72    65 2d 6c 6f 61 64 65 64 20 28 29 0a 20 20 22 45 | n.helpful--ensure-loaded.()..."E | 
| 12ec0 | 6e 73 75 72 65 20 74 68 65 20 73 79 6d 62 6f 6c    20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 | nsure.the.symbol.associated.with | 
| 12ee0 | 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66    66 65 72 20 68 61 73 20 62 65 65 6e 20 6c 6f 61 | .the.current.buffer.has.been.loa | 
| 12f00 | 64 65 64 2e 22 0a 20 20 28 77 68 65 6e 20 28 61    6e 64 20 68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c | ded."...(when.(and.helpful--call | 
| 12f20 | 61 62 6c 65 2d 70 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 79 6d 62 6f 6c 70 20 68 65 6c | able-p..............(symbolp.hel | 
| 12f40 | 70 66 75 6c 2d 2d 73 79 6d 29 29 0a 20 20 20 20    28 6c 65 74 20 28 28 66 6e 2d 6f 62 6a 20 28 73 | pful--sym)).....(let.((fn-obj.(s | 
| 12f60 | 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 68    65 6c 70 66 75 6c 2d 2d 73 79 6d 29 29 29 0a 20 | ymbol-function.helpful--sym))).. | 
| 12f80 | 20 20 20 20 20 28 77 68 65 6e 20 28 61 75 74 6f    6c 6f 61 64 70 20 66 6e 2d 6f 62 6a 29 0a 20 20 | .....(when.(autoloadp.fn-obj)... | 
| 12fa0 | 20 20 20 20 20 20 28 61 75 74 6f 6c 6f 61 64 2d    64 6f 2d 6c 6f 61 64 20 66 6e 2d 6f 62 6a 29 29 | ......(autoload-do-load.fn-obj)) | 
| 12fc0 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70    66 75 6c 2d 2d 68 6f 6f 6b 2d 70 20 28 73 79 6d | )))..(defun.helpful--hook-p.(sym | 
| 12fe0 | 62 6f 6c 20 76 61 6c 75 65 29 0a 20 20 22 44 6f    65 73 20 53 59 4d 42 4f 4c 20 6c 6f 6f 6b 20 6c | bol.value)..."Does.SYMBOL.look.l | 
| 13000 | 69 6b 65 20 61 20 68 6f 6f 6b 3f 22 0a 20 20 28    61 6e 64 0a 20 20 20 28 6f 72 0a 20 20 20 20 28 | ike.a.hook?"...(and....(or.....( | 
| 13020 | 73 2d 65 6e 64 73 2d 77 69 74 68 2d 70 20 22 2d    68 6f 6f 6b 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 | s-ends-with-p."-hook".(symbol-na | 
| 13040 | 6d 65 20 73 79 6d 62 6f 6c 29 29 0a 20 20 20 20    3b 3b 20 45 2e 67 2e 20 60 61 66 74 65 72 2d 63 | me.symbol)).....;;.E.g..`after-c | 
| 13060 | 68 61 6e 67 65 2d 66 75 6e 63 74 69 6f 6e 73 27    2c 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 75 | hange-functions',.which.can.be.u | 
| 13080 | 73 65 64 20 77 69 74 68 0a 20 20 20 20 3b 3b 20    60 61 64 64 2d 68 6f 6f 6b 27 2e 0a 20 20 20 20 | sed.with.....;;.`add-hook'...... | 
| 130a0 | 28 73 2d 65 6e 64 73 2d 77 69 74 68 2d 70 20 22    2d 66 75 6e 63 74 69 6f 6e 73 22 20 28 73 79 6d | (s-ends-with-p."-functions".(sym | 
| 130c0 | 62 6f 6c 2d 6e 61 6d 65 20 73 79 6d 62 6f 6c 29    29 29 0a 20 20 20 28 63 6f 6e 73 70 20 76 61 6c | bol-name.symbol)))....(consp.val | 
| 130e0 | 75 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65    6c 70 66 75 6c 2d 2d 66 6f 72 6d 61 74 2d 76 61 | ue)))..(defun.helpful--format-va | 
| 13100 | 6c 75 65 20 28 73 79 6d 20 76 61 6c 75 65 29 0a    20 20 22 46 6f 72 6d 61 74 20 56 41 4c 55 45 20 | lue.(sym.value)..."Format.VALUE. | 
| 13120 | 61 73 20 61 20 73 74 72 69 6e 67 2e 22 0a 20 20    28 63 6f 6e 64 0a 20 20 20 28 68 65 6c 70 66 75 | as.a.string."...(cond....(helpfu | 
| 13140 | 6c 2d 2d 76 69 65 77 2d 6c 69 74 65 72 61 6c 0a    20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 73 79 | l--view-literal.....(helpful--sy | 
| 13160 | 6e 74 61 78 2d 68 69 67 68 6c 69 67 68 74 20 28    68 65 6c 70 66 75 6c 2d 2d 70 72 65 74 74 79 2d | ntax-highlight.(helpful--pretty- | 
| 13180 | 70 72 69 6e 74 20 76 61 6c 75 65 29 29 29 0a 20    20 20 3b 3b 20 41 6c 6c 6f 77 20 73 74 72 69 6e | print.value)))....;;.Allow.strin | 
| 131a0 | 67 73 20 74 6f 20 62 65 20 76 69 65 77 65 64 20    77 69 74 68 20 70 72 6f 70 65 72 74 69 65 73 20 | gs.to.be.viewed.with.properties. | 
| 131c0 | 72 65 6e 64 65 72 65 64 20 69 6e 0a 20 20 20 3b    3b 20 45 6d 61 63 73 2c 20 72 61 74 68 65 72 20 | rendered.in....;;.Emacs,.rather. | 
| 131e0 | 74 68 61 6e 20 61 73 20 61 20 6c 69 74 65 72 61    6c 2e 0a 20 20 20 28 28 73 74 72 69 6e 67 70 20 | than.as.a.literal.....((stringp. | 
| 13200 | 76 61 6c 75 65 29 0a 20 20 20 20 76 61 6c 75 65    29 0a 20 20 20 3b 3b 20 41 6c 6c 6f 77 20 6b 65 | value).....value)....;;.Allow.ke | 
| 13220 | 79 6d 61 70 73 20 74 6f 20 62 65 20 76 69 65 77    65 64 20 77 69 74 68 20 6b 65 79 62 69 6e 64 69 | ymaps.to.be.viewed.with.keybindi | 
| 13240 | 6e 67 73 20 73 68 6f 77 6e 20 61 6e 64 0a 20 20    20 3b 3b 20 6c 69 6e 6b 73 20 74 6f 20 74 68 65 | ngs.shown.and....;;.links.to.the | 
| 13260 | 20 63 6f 6d 6d 61 6e 64 73 20 62 6f 75 6e 64 2e    0a 20 20 20 28 28 6b 65 79 6d 61 70 70 20 76 61 | .commands.bound.....((keymapp.va | 
| 13280 | 6c 75 65 29 0a 20 20 20 20 28 68 65 6c 70 66 75    6c 2d 2d 66 6f 72 6d 61 74 2d 6b 65 79 6d 61 70 | lue).....(helpful--format-keymap | 
| 132a0 | 20 76 61 6c 75 65 29 29 0a 20 20 20 28 28 68 65    6c 70 66 75 6c 2d 2d 68 6f 6f 6b 2d 70 20 73 79 | .value))....((helpful--hook-p.sy | 
| 132c0 | 6d 20 76 61 6c 75 65 29 0a 20 20 20 20 28 68 65    6c 70 66 75 6c 2d 2d 66 6f 72 6d 61 74 2d 68 6f | m.value).....(helpful--format-ho | 
| 132e0 | 6f 6b 20 76 61 6c 75 65 29 29 0a 20 20 20 28 74    0a 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 70 | ok.value))....(t.....(helpful--p | 
| 13300 | 72 65 74 74 79 2d 70 72 69 6e 74 20 76 61 6c 75    65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 | retty-print.value))))..(defun.he | 
| 13320 | 6c 70 66 75 6c 2d 2d 6f 72 69 67 69 6e 61 6c 2d    76 61 6c 75 65 20 28 73 79 6d 29 0a 20 20 22 52 | lpful--original-value.(sym)..."R | 
| 13340 | 65 74 75 72 6e 20 74 68 65 20 6f 72 69 67 69 6e    61 6c 20 76 61 6c 75 65 20 66 6f 72 20 53 59 4d | eturn.the.original.value.for.SYM | 
| 13360 | 2c 20 69 66 20 61 6e 79 2e 0a 0a 49 66 20 53 59    4d 20 68 61 73 20 61 6e 20 6f 72 69 67 69 6e 61 | ,.if.any...If.SYM.has.an.origina | 
| 13380 | 6c 20 76 61 6c 75 65 2c 20 72 65 74 75 72 6e 20    69 74 20 69 6e 20 61 20 6c 69 73 74 2e 20 52 65 | l.value,.return.it.in.a.list..Re | 
| 133a0 | 74 75 72 6e 20 6e 69 6c 0a 6f 74 68 65 72 77 69    73 65 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6f | turn.nil.otherwise."...(let*.((o | 
| 133c0 | 72 69 67 2d 76 61 6c 2d 65 78 70 72 20 28 67 65    74 20 73 79 6d 20 27 73 74 61 6e 64 61 72 64 2d | rig-val-expr.(get.sym.'standard- | 
| 133e0 | 76 61 6c 75 65 29 29 29 0a 20 20 20 20 28 77 68    65 6e 20 28 63 6f 6e 73 70 20 6f 72 69 67 2d 76 | value))).....(when.(consp.orig-v | 
| 13400 | 61 6c 2d 65 78 70 72 29 0a 20 20 20 20 20 20 28    69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 | al-expr).......(ignore-errors... | 
| 13420 | 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20    20 20 20 20 20 28 65 76 61 6c 20 28 63 61 72 20 | ......(list..........(eval.(car. | 
| 13440 | 6f 72 69 67 2d 76 61 6c 2d 65 78 70 72 29 29 29    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c | orig-val-expr)))))))..(defun.hel | 
| 13460 | 70 66 75 6c 2d 2d 6f 72 69 67 69 6e 61 6c 2d 76    61 6c 75 65 2d 64 69 66 66 65 72 73 2d 70 20 28 | pful--original-value-differs-p.( | 
| 13480 | 73 79 6d 29 0a 20 20 22 52 65 74 75 72 6e 20 74    20 69 66 20 53 59 4d 20 68 61 73 20 61 6e 20 6f | sym)..."Return.t.if.SYM.has.an.o | 
| 134a0 | 72 69 67 69 6e 61 6c 20 76 61 6c 75 65 2c 20 61    6e 64 20 69 74 73 20 63 75 72 72 65 6e 74 0a 76 | riginal.value,.and.its.current.v | 
| 134c0 | 61 6c 75 65 20 69 73 20 64 69 66 66 65 72 65 6e    74 2e 22 0a 20 20 28 6c 65 74 20 28 28 6f 72 69 | alue.is.different."...(let.((ori | 
| 134e0 | 67 2d 76 61 6c 2d 6c 69 73 74 20 28 68 65 6c 70    66 75 6c 2d 2d 6f 72 69 67 69 6e 61 6c 2d 76 61 | g-val-list.(helpful--original-va | 
| 13500 | 6c 75 65 20 73 79 6d 29 29 29 0a 20 20 20 20 28    61 6e 64 20 28 63 6f 6e 73 70 20 6f 72 69 67 2d | lue.sym))).....(and.(consp.orig- | 
| 13520 | 76 61 6c 2d 6c 69 73 74 29 0a 20 20 20 20 20 20    20 20 20 28 6e 6f 74 20 28 65 71 20 28 63 61 72 | val-list)..........(not.(eq.(car | 
| 13540 | 20 6f 72 69 67 2d 76 61 6c 2d 6c 69 73 74 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .orig-val-list)................. | 
| 13560 | 20 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20    73 79 6d 29 29 29 29 29 29 0a 0a 28 64 65 66 75 | ..(symbol-value.sym))))))..(defu | 
| 13580 | 6e 20 68 65 6c 70 66 75 6c 2d 75 70 64 61 74 65    20 28 29 0a 20 20 22 55 70 64 61 74 65 20 74 68 | n.helpful-update.()..."Update.th | 
| 135a0 | 65 20 63 75 72 72 65 6e 74 20 2a 48 65 6c 70 66    75 6c 2a 20 62 75 66 66 65 72 20 74 6f 20 74 68 | e.current.*Helpful*.buffer.to.th | 
| 135c0 | 65 20 6c 61 74 65 73 74 0a 73 74 61 74 65 20 6f    66 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 79 | e.latest.state.of.the.current.sy | 
| 135e0 | 6d 62 6f 6c 2e 22 0a 20 20 28 69 6e 74 65 72 61    63 74 69 76 65 29 0a 20 20 28 63 6c 2d 61 73 73 | mbol."...(interactive)...(cl-ass | 
| 13600 | 65 72 74 20 28 6e 6f 74 20 28 6e 75 6c 6c 20 68    65 6c 70 66 75 6c 2d 2d 73 79 6d 29 29 29 0a 20 | ert.(not.(null.helpful--sym))).. | 
| 13620 | 20 28 75 6e 6c 65 73 73 20 28 62 75 66 66 65 72    2d 6c 69 76 65 2d 70 20 68 65 6c 70 66 75 6c 2d | .(unless.(buffer-live-p.helpful- | 
| 13640 | 2d 61 73 73 6f 63 69 61 74 65 64 2d 62 75 66 66    65 72 29 0a 20 20 20 20 28 73 65 74 71 20 68 65 | -associated-buffer).....(setq.he | 
| 13660 | 6c 70 66 75 6c 2d 2d 61 73 73 6f 63 69 61 74 65    64 2d 62 75 66 66 65 72 20 6e 69 6c 29 29 0a 20 | lpful--associated-buffer.nil)).. | 
| 13680 | 20 28 68 65 6c 70 66 75 6c 2d 2d 65 6e 73 75 72    65 2d 6c 6f 61 64 65 64 29 0a 20 20 28 2d 6c 65 | .(helpful--ensure-loaded)...(-le | 
| 136a0 | 74 2a 20 28 28 76 61 6c 0a 20 20 20 20 20 20 20    20 20 20 20 3b 3b 20 4c 6f 6f 6b 20 61 74 20 74 | t*.((val............;;.Look.at.t | 
| 136c0 | 68 65 20 76 61 6c 75 65 20 62 65 66 6f 72 65 20    73 65 74 74 69 6e 67 20 60 69 6e 68 69 62 69 74 | he.value.before.setting.`inhibit | 
| 136e0 | 2d 72 65 61 64 2d 6f 6e 6c 79 27 2c 20 73 6f 0a    20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 75 73 | -read-only',.so............;;.us | 
| 13700 | 65 72 73 20 63 61 6e 20 73 65 65 20 74 68 65 20    63 6f 72 72 65 63 74 20 76 61 6c 75 65 20 6f 66 | ers.can.see.the.correct.value.of | 
| 13720 | 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 2e 0a    20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 | .that.variable.............(unle | 
| 13740 | 73 73 20 68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c    61 62 6c 65 2d 70 0a 20 20 20 20 20 20 20 20 20 | ss.helpful--callable-p.......... | 
| 13760 | 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 73 79    6d 2d 76 61 6c 75 65 20 68 65 6c 70 66 75 6c 2d | ....(helpful--sym-value.helpful- | 
| 13780 | 2d 73 79 6d 20 68 65 6c 70 66 75 6c 2d 2d 61 73    73 6f 63 69 61 74 65 64 2d 62 75 66 66 65 72 29 | -sym.helpful--associated-buffer) | 
| 137a0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e    68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 | ))...........(inhibit-read-only. | 
| 137c0 | 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 74    61 72 74 2d 6c 69 6e 65 20 28 6c 69 6e 65 2d 6e | t)...........(start-line.(line-n | 
| 137e0 | 75 6d 62 65 72 2d 61 74 2d 70 6f 73 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 73 74 61 72 74 2d | umber-at-pos))...........(start- | 
| 13800 | 63 6f 6c 75 6d 6e 20 28 63 75 72 72 65 6e 74 2d    63 6f 6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 20 | column.(current-column))........ | 
| 13820 | 20 20 20 28 70 72 69 6d 69 74 69 76 65 2d 70 20    28 68 65 6c 70 66 75 6c 2d 2d 70 72 69 6d 69 74 | ...(primitive-p.(helpful--primit | 
| 13840 | 69 76 65 2d 70 20 68 65 6c 70 66 75 6c 2d 2d 73    79 6d 20 68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c | ive-p.helpful--sym.helpful--call | 
| 13860 | 61 62 6c 65 2d 70 29 29 0a 20 20 20 20 20 20 20    20 20 20 28 63 61 6e 6f 6e 69 63 61 6c 2d 73 79 | able-p))...........(canonical-sy | 
| 13880 | 6d 20 28 68 65 6c 70 66 75 6c 2d 2d 63 61 6e 6f    6e 69 63 61 6c 2d 73 79 6d 62 6f 6c 20 68 65 6c | m.(helpful--canonical-symbol.hel | 
| 138a0 | 70 66 75 6c 2d 2d 73 79 6d 20 68 65 6c 70 66 75    6c 2d 2d 63 61 6c 6c 61 62 6c 65 2d 70 29 29 0a | pful--sym.helpful--callable-p)). | 
| 138c0 | 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 2d    66 6f 72 2d 73 72 63 20 28 6f 72 20 28 6e 6f 74 | ..........(look-for-src.(or.(not | 
| 138e0 | 20 70 72 69 6d 69 74 69 76 65 2d 70 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .primitive-p)................... | 
| 13900 | 20 20 20 20 20 20 20 20 20 20 66 69 6e 64 2d 66    75 6e 63 74 69 6f 6e 2d 43 2d 73 6f 75 72 63 65 | ..........find-function-C-source | 
| 13920 | 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20    20 20 20 20 20 20 20 28 28 62 75 66 20 70 6f 73 | -directory))...........((buf.pos | 
| 13940 | 20 6f 70 65 6e 65 64 29 0a 20 20 20 20 20 20 20    20 20 20 20 28 69 66 20 6c 6f 6f 6b 2d 66 6f 72 | .opened)............(if.look-for | 
| 13960 | 2d 73 72 63 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 64 65 | -src................(helpful--de | 
| 13980 | 66 69 6e 69 74 69 6f 6e 20 68 65 6c 70 66 75 6c    2d 2d 73 79 6d 20 68 65 6c 70 66 75 6c 2d 2d 63 | finition.helpful--sym.helpful--c | 
| 139a0 | 61 6c 6c 61 62 6c 65 2d 70 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 27 28 6e 69 6c 20 6e 69 | allable-p)..............'(nil.ni | 
| 139c0 | 6c 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 28 73 6f 75 72 63 65 20 28 77 68 65 6e | l.nil)))...........(source.(when | 
| 139e0 | 20 6c 6f 6f 6b 2d 66 6f 72 2d 73 72 63 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .look-for-src................... | 
| 13a00 | 20 20 28 68 65 6c 70 66 75 6c 2d 2d 73 6f 75 72    63 65 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 20 | ..(helpful--source.helpful--sym. | 
| 13a20 | 68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c    65 2d 70 20 62 75 66 20 70 6f 73 29 29 29 0a 20 | helpful--callable-p.buf.pos))).. | 
| 13a40 | 20 20 20 20 20 20 20 20 20 28 73 6f 75 72 63 65    2d 70 61 74 68 20 28 77 68 65 6e 20 62 75 66 0a | .........(source-path.(when.buf. | 
| 13a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 | .........................(buffer | 
| 13a80 | 2d 66 69 6c 65 2d 6e 61 6d 65 20 62 75 66 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 66 | -file-name.buf)))...........(ref | 
| 13aa0 | 65 72 65 6e 63 65 73 20 28 68 65 6c 70 66 75 6c    2d 2d 63 61 6c 63 75 6c 61 74 65 2d 72 65 66 65 | erences.(helpful--calculate-refe | 
| 13ac0 | 72 65 6e 63 65 73 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 | rences........................he | 
| 13ae0 | 6c 70 66 75 6c 2d 2d 73 79 6d 20 68 65 6c 70 66    75 6c 2d 2d 63 61 6c 6c 61 62 6c 65 2d 70 0a 20 | lpful--sym.helpful--callable-p.. | 
| 13b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 73 6f 75 72 63 65 2d 70 61 74 | ......................source-pat | 
| 13b20 | 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61    6c 69 61 73 65 73 20 28 68 65 6c 70 66 75 6c 2d | h))...........(aliases.(helpful- | 
| 13b40 | 2d 61 6c 69 61 73 65 73 20 68 65 6c 70 66 75 6c    2d 2d 73 79 6d 20 68 65 6c 70 66 75 6c 2d 2d 63 | -aliases.helpful--sym.helpful--c | 
| 13b60 | 61 6c 6c 61 62 6c 65 2d 70 29 29 29 0a 0a 20 20    20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 | allable-p)))......(erase-buffer) | 
| 13b80 | 0a 0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 68    65 6c 70 66 75 6c 2d 2d 73 75 6d 6d 61 72 79 20 | ......(insert.(helpful--summary. | 
| 13ba0 | 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 20 68 65 6c    70 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c 65 2d 70 | helpful--sym.helpful--callable-p | 
| 13bc0 | 20 62 75 66 20 70 6f 73 29 29 0a 0a 20 20 20 20    28 77 68 65 6e 20 28 68 65 6c 70 66 75 6c 2d 2d | .buf.pos))......(when.(helpful-- | 
| 13be0 | 6f 62 73 6f 6c 65 74 65 2d 69 6e 66 6f 20 68 65    6c 70 66 75 6c 2d 2d 73 79 6d 20 68 65 6c 70 66 | obsolete-info.helpful--sym.helpf | 
| 13c00 | 75 6c 2d 2d 63 61 6c 6c 61 62 6c 65 2d 70 29 0a    20 20 20 20 20 20 28 69 6e 73 65 72 74 0a 20 20 | ul--callable-p).......(insert... | 
| 13c20 | 20 20 20 20 20 22 5c 6e 5c 6e 22 0a 20 20 20 20    20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 | ....."\n\n"........(helpful--for | 
| 13c40 | 6d 61 74 2d 6f 62 73 6f 6c 65 74 65 2d 69 6e 66    6f 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 20 68 | mat-obsolete-info.helpful--sym.h | 
| 13c60 | 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c 65    2d 70 29 29 29 0a 0a 20 20 20 20 28 77 68 65 6e | elpful--callable-p)))......(when | 
| 13c80 | 20 28 61 6e 64 20 68 65 6c 70 66 75 6c 2d 2d 63    61 6c 6c 61 62 6c 65 2d 70 0a 20 20 20 20 20 20 | .(and.helpful--callable-p....... | 
| 13ca0 | 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 68    65 6c 70 66 75 6c 2d 2d 6b 62 64 2d 6d 61 63 72 | .........(not.(helpful--kbd-macr | 
| 13cc0 | 6f 2d 70 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d    29 29 29 0a 20 20 20 20 20 20 28 68 65 6c 70 66 | o-p.helpful--sym))).......(helpf | 
| 13ce0 | 75 6c 2d 2d 69 6e 73 65 72 74 2d 73 65 63 74 69    6f 6e 2d 62 72 65 61 6b 29 0a 20 20 20 20 20 20 | ul--insert-section-break)....... | 
| 13d00 | 28 69 6e 73 65 72 74 0a 20 20 20 20 20 20 20 28    68 65 6c 70 66 75 6c 2d 2d 68 65 61 64 69 6e 67 | (insert........(helpful--heading | 
| 13d20 | 20 22 53 69 67 6e 61 74 75 72 65 22 29 0a 20 20    20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 73 | ."Signature")........(helpful--s | 
| 13d40 | 79 6e 74 61 78 2d 68 69 67 68 6c 69 67 68 74 20    28 68 65 6c 70 66 75 6c 2d 2d 73 69 67 6e 61 74 | yntax-highlight.(helpful--signat | 
| 13d60 | 75 72 65 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d    29 29 29 29 0a 0a 20 20 20 20 28 77 68 65 6e 20 | ure.helpful--sym))))......(when. | 
| 13d80 | 28 6e 6f 74 20 68 65 6c 70 66 75 6c 2d 2d 63 61    6c 6c 61 62 6c 65 2d 70 29 0a 20 20 20 20 20 20 | (not.helpful--callable-p)....... | 
| 13da0 | 28 68 65 6c 70 66 75 6c 2d 2d 69 6e 73 65 72 74    2d 73 65 63 74 69 6f 6e 2d 62 72 65 61 6b 29 0a | (helpful--insert-section-break). | 
| 13dc0 | 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 73 79    6d 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 29 0a | ......(let*.((sym.helpful--sym). | 
| 13de0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 75    6c 74 69 70 6c 65 2d 76 69 65 77 73 2d 70 0a 20 | .............(multiple-views-p.. | 
| 13e00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72    20 28 73 74 72 69 6e 67 70 20 76 61 6c 29 0a 20 | .............(or.(stringp.val).. | 
| 13e20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6b 65 79 6d 61 70 70 20 76 61 6c 29 0a 20 | .................(keymapp.val).. | 
| 13e40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 68 65 6c 70 66 75 6c 2d 2d 68 6f 6f 6b 2d | .................(helpful--hook- | 
| 13e60 | 70 20 73 79 6d 20 76 61 6c 29 29 29 29 0a 20 20    20 20 20 20 20 20 28 77 68 65 6e 20 68 65 6c 70 | p.sym.val)))).........(when.help | 
| 13e80 | 66 75 6c 2d 2d 66 69 72 73 74 2d 64 69 73 70 6c    61 79 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 | ful--first-display...........(if | 
| 13ea0 | 20 28 73 74 72 69 6e 67 70 20 76 61 6c 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 | .(stringp.val)...............;;. | 
| 13ec0 | 46 6f 72 20 73 74 72 69 6e 67 73 2c 20 69 74 27    73 20 6d 6f 72 65 20 69 6e 74 75 69 74 69 76 65 | For.strings,.it's.more.intuitive | 
| 13ee0 | 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 65 6d    20 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .to.display.them.as............. | 
| 13f00 | 20 20 3b 3b 20 6c 69 74 65 72 61 6c 73 2c 20 73    6f 20 22 31 22 20 61 6e 64 20 31 20 61 72 65 20 | ..;;.literals,.so."1".and.1.are. | 
| 13f20 | 64 69 73 74 69 6e 63 74 2e 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 73 65 74 71 20 68 65 | distinct................(setq.he | 
| 13f40 | 6c 70 66 75 6c 2d 2d 76 69 65 77 2d 6c 69 74 65    72 61 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 | lpful--view-literal.t).......... | 
| 13f60 | 20 20 20 3b 3b 20 46 6f 72 20 65 76 65 72 79 74    68 69 6e 67 20 65 6c 73 65 2c 20 70 72 65 66 65 | ...;;.For.everything.else,.prefe | 
| 13f80 | 72 20 74 68 65 20 70 72 65 74 74 79 20 76 69 65    77 20 69 66 20 61 76 61 69 6c 61 62 6c 65 2e 0a | r.the.pretty.view.if.available.. | 
| 13fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74    71 20 68 65 6c 70 66 75 6c 2d 2d 76 69 65 77 2d | ............(setq.helpful--view- | 
| 13fc0 | 6c 69 74 65 72 61 6c 20 6e 69 6c 29 29 29 0a 20    20 20 20 20 20 20 20 28 69 6e 73 65 72 74 0a 20 | literal.nil))).........(insert.. | 
| 13fe0 | 20 20 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c    2d 2d 68 65 61 64 69 6e 67 0a 20 20 20 20 20 20 | ........(helpful--heading....... | 
| 14000 | 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20    20 20 20 20 20 3b 3b 20 42 75 66 66 65 72 2d 6c | ....(cond............;;.Buffer-l | 
| 14020 | 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 61 6e    64 20 77 65 27 72 65 20 6c 6f 6f 6b 69 6e 67 20 | ocal.variable.and.we're.looking. | 
| 14040 | 61 74 20 74 68 65 20 76 61 6c 75 65 20 69 6e 0a    20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 20 | at.the.value.in............;;.a. | 
| 14060 | 73 70 65 63 69 66 69 63 20 62 75 66 66 65 72 2e    0a 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e | specific.buffer.............((an | 
| 14080 | 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 68    65 6c 70 66 75 6c 2d 2d 61 73 73 6f 63 69 61 74 | d..............helpful--associat | 
| 140a0 | 65 64 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 76 61 | ed-buffer..............(local-va | 
| 140c0 | 72 69 61 62 6c 65 2d 70 20 73 79 6d 20 68 65 6c    70 66 75 6c 2d 2d 61 73 73 6f 63 69 61 74 65 64 | riable-p.sym.helpful--associated | 
| 140e0 | 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 56 | -buffer)).............(format."V | 
| 14100 | 61 6c 75 65 20 69 6e 20 25 73 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | alue.in.%s"..................... | 
| 14120 | 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (helpful--button................ | 
| 14140 | 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 23    3c 62 75 66 66 65 72 20 25 73 3e 22 20 28 62 75 | ......(format."#<buffer.%s>".(bu | 
| 14160 | 66 66 65 72 2d 6e 61 6d 65 20 68 65 6c 70 66 75    6c 2d 2d 61 73 73 6f 63 69 61 74 65 64 2d 62 75 | ffer-name.helpful--associated-bu | 
| 14180 | 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c | ffer))......................'hel | 
| 141a0 | 70 66 75 6c 2d 62 75 66 66 65 72 2d 62 75 74 74    6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | pful-buffer-button.............. | 
| 141c0 | 20 20 20 20 20 20 20 20 27 62 75 66 66 65 72 20    68 65 6c 70 66 75 6c 2d 2d 61 73 73 6f 63 69 61 | ........'buffer.helpful--associa | 
| 141e0 | 74 65 64 2d 62 75 66 66 65 72 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ted-buffer...................... | 
| 14200 | 27 70 6f 73 69 74 69 6f 6e 20 70 6f 73 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 42 | 'position.pos)))............;;.B | 
| 14220 | 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 72 69    61 62 6c 65 20 62 75 74 20 64 65 66 61 75 6c 74 | uffer-local.variable.but.default | 
| 14240 | 2f 67 6c 6f 62 61 6c 20 76 61 6c 75 65 2e 0a 20    20 20 20 20 20 20 20 20 20 20 28 28 6c 6f 63 61 | /global.value.............((loca | 
| 14260 | 6c 2d 76 61 72 69 61 62 6c 65 2d 69 66 2d 73 65    74 2d 70 20 73 79 6d 29 0a 20 20 20 20 20 20 20 | l-variable-if-set-p.sym)........ | 
| 14280 | 20 20 20 20 20 22 47 6c 6f 62 61 6c 20 56 61 6c    75 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ....."Global.Value")............ | 
| 142a0 | 3b 3b 20 54 68 69 73 20 76 61 72 69 61 62 6c 65    20 69 73 20 6e 6f 74 20 62 75 66 66 65 72 2d 6c | ;;.This.variable.is.not.buffer-l | 
| 142c0 | 6f 63 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 20    20 28 74 20 22 56 61 6c 75 65 22 29 29 29 0a 20 | ocal.............(t."Value"))).. | 
| 142e0 | 20 20 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c    2d 2d 66 6f 72 6d 61 74 2d 76 61 6c 75 65 20 73 | ........(helpful--format-value.s | 
| 14300 | 79 6d 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20    20 22 5c 6e 5c 6e 22 29 0a 20 20 20 20 20 20 20 | ym.val).........."\n\n")........ | 
| 14320 | 20 28 77 68 65 6e 20 28 68 65 6c 70 66 75 6c 2d    2d 6f 72 69 67 69 6e 61 6c 2d 76 61 6c 75 65 2d | .(when.(helpful--original-value- | 
| 14340 | 64 69 66 66 65 72 73 2d 70 20 73 79 6d 29 0a 20    20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 | differs-p.sym)...........(insert | 
| 14360 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 68 65 6c    70 66 75 6c 2d 2d 68 65 61 64 69 6e 67 20 22 4f | ............(helpful--heading."O | 
| 14380 | 72 69 67 69 6e 61 6c 20 56 61 6c 75 65 22 29 0a    20 20 20 20 20 20 20 20 20 20 20 28 68 65 6c 70 | riginal.Value")............(help | 
| 143a0 | 66 75 6c 2d 2d 66 6f 72 6d 61 74 2d 76 61 6c 75    65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 79 | ful--format-value.............sy | 
| 143c0 | 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63    61 72 20 28 68 65 6c 70 66 75 6c 2d 2d 6f 72 69 | m.............(car.(helpful--ori | 
| 143e0 | 67 69 6e 61 6c 2d 76 61 6c 75 65 20 73 79 6d 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 22 5c | ginal-value.sym)))............"\ | 
| 14400 | 6e 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 28    77 68 65 6e 20 6d 75 6c 74 69 70 6c 65 2d 76 69 | n\n")).........(when.multiple-vi | 
| 14420 | 65 77 73 2d 70 0a 20 20 20 20 20 20 20 20 20 20    28 69 6e 73 65 72 74 20 28 68 65 6c 70 66 75 6c | ews-p...........(insert.(helpful | 
| 14440 | 2d 2d 6d 61 6b 65 2d 74 6f 67 67 6c 65 2d 6c 69    74 65 72 61 6c 2d 62 75 74 74 6f 6e 29 20 22 20 | --make-toggle-literal-button).". | 
| 14460 | 22 29 29 0a 0a 20 20 20 20 20 20 20 20 28 77 68    65 6e 20 28 6c 6f 63 61 6c 2d 76 61 72 69 61 62 | "))..........(when.(local-variab | 
| 14480 | 6c 65 2d 69 66 2d 73 65 74 2d 70 20 73 79 6d 29    0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 | le-if-set-p.sym)...........(inse | 
| 144a0 | 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 68    65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e 0a 20 | rt............(helpful--button.. | 
| 144c0 | 20 20 20 20 20 20 20 20 20 20 20 22 42 75 66 66    65 72 20 76 61 6c 75 65 73 22 0a 20 20 20 20 20 | ..........."Buffer.values"...... | 
| 144e0 | 20 20 20 20 20 20 20 27 68 65 6c 70 66 75 6c 2d    61 73 73 6f 63 69 61 74 65 64 2d 62 75 66 66 65 | .......'helpful-associated-buffe | 
| 14500 | 72 2d 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20    20 20 20 20 20 27 73 79 6d 62 6f 6c 20 73 79 6d | r-button.............'symbol.sym | 
| 14520 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 72    6f 6d 70 74 2d 70 20 74 29 0a 20 20 20 20 20 20 | .............'prompt-p.t)....... | 
| 14540 | 20 20 20 20 20 22 20 22 0a 20 20 20 20 20 20 20    20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 | ....."."............(helpful--bu | 
| 14560 | 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20    20 22 47 6c 6f 62 61 6c 20 76 61 6c 75 65 22 0a | tton............."Global.value". | 
| 14580 | 20 20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c    70 66 75 6c 2d 61 73 73 6f 63 69 61 74 65 64 2d | ............'helpful-associated- | 
| 145a0 | 62 75 66 66 65 72 2d 62 75 74 74 6f 6e 0a 20 20    20 20 20 20 20 20 20 20 20 20 27 73 79 6d 62 6f | buffer-button.............'symbo | 
| 145c0 | 6c 20 73 79 6d 0a 20 20 20 20 20 20 20 20 20 20    20 20 27 70 72 6f 6d 70 74 2d 70 20 6e 69 6c 29 | l.sym.............'prompt-p.nil) | 
| 145e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 22 20 22 29    29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 | ............".")).........(when. | 
| 14600 | 28 6d 65 6d 71 20 28 68 65 6c 70 66 75 6c 2d 2d    73 79 6d 2d 76 61 6c 75 65 20 68 65 6c 70 66 75 | (memq.(helpful--sym-value.helpfu | 
| 14620 | 6c 2d 2d 73 79 6d 20 68 65 6c 70 66 75 6c 2d 2d    61 73 73 6f 63 69 61 74 65 64 2d 62 75 66 66 65 | l--sym.helpful--associated-buffe | 
| 14640 | 72 29 20 27 28 6e 69 6c 20 74 29 29 0a 20 20 20    20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 | r).'(nil.t))...........(insert.( | 
| 14660 | 68 65 6c 70 66 75 6c 2d 2d 6d 61 6b 65 2d 74 6f    67 67 6c 65 2d 62 75 74 74 6f 6e 20 68 65 6c 70 | helpful--make-toggle-button.help | 
| 14680 | 66 75 6c 2d 2d 73 79 6d 20 68 65 6c 70 66 75 6c    2d 2d 61 73 73 6f 63 69 61 74 65 64 2d 62 75 66 | ful--sym.helpful--associated-buf | 
| 146a0 | 66 65 72 29 20 22 20 22 29 29 0a 20 20 20 20 20    20 20 20 28 69 6e 73 65 72 74 20 28 68 65 6c 70 | fer).".")).........(insert.(help | 
| 146c0 | 66 75 6c 2d 2d 6d 61 6b 65 2d 73 65 74 2d 62 75    74 74 6f 6e 20 68 65 6c 70 66 75 6c 2d 2d 73 79 | ful--make-set-button.helpful--sy | 
| 146e0 | 6d 20 68 65 6c 70 66 75 6c 2d 2d 61 73 73 6f 63    69 61 74 65 64 2d 62 75 66 66 65 72 29 29 0a 20 | m.helpful--associated-buffer)).. | 
| 14700 | 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 63 75    73 74 6f 6d 2d 76 61 72 69 61 62 6c 65 2d 70 20 | .......(when.(custom-variable-p. | 
| 14720 | 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 29 0a 20 20    20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 | helpful--sym)...........(insert. | 
| 14740 | 22 20 22 20 28 68 65 6c 70 66 75 6c 2d 2d 6d 61    6b 65 2d 63 75 73 74 6f 6d 69 7a 65 2d 62 75 74 | ".".(helpful--make-customize-but | 
| 14760 | 74 6f 6e 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d    29 29 29 29 29 0a 0a 20 20 20 20 28 6c 65 74 20 | ton.helpful--sym)))))......(let. | 
| 14780 | 28 28 64 6f 63 73 74 72 69 6e 67 20 28 68 65 6c    70 66 75 6c 2d 2d 64 6f 63 73 74 72 69 6e 67 20 | ((docstring.(helpful--docstring. | 
| 147a0 | 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 20 68 65 6c    70 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c 65 2d 70 | helpful--sym.helpful--callable-p | 
| 147c0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 76 65    72 73 69 6f 6e 2d 69 6e 66 6f 20 28 75 6e 6c 65 | ))...........(version-info.(unle | 
| 147e0 | 73 73 20 68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c    61 62 6c 65 2d 70 0a 20 20 20 20 20 20 20 20 20 | ss.helpful--callable-p.......... | 
| 14800 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 68 65 6c 70 66 75 6c 2d 2d 76 65 72 73 69 | .................(helpful--versi | 
| 14820 | 6f 6e 2d 69 6e 66 6f 20 68 65 6c 70 66 75 6c 2d    2d 73 79 6d 29 29 29 29 0a 20 20 20 20 20 20 28 | on-info.helpful--sym)))).......( | 
| 14840 | 77 68 65 6e 20 28 6f 72 20 64 6f 63 73 74 72 69    6e 67 20 76 65 72 73 69 6f 6e 2d 69 6e 66 6f 29 | when.(or.docstring.version-info) | 
| 14860 | 0a 20 20 20 20 20 20 20 20 28 68 65 6c 70 66 75    6c 2d 2d 69 6e 73 65 72 74 2d 73 65 63 74 69 6f | .........(helpful--insert-sectio | 
| 14880 | 6e 2d 62 72 65 61 6b 29 0a 20 20 20 20 20 20 20    20 28 69 6e 73 65 72 74 0a 20 20 20 20 20 20 20 | n-break).........(insert........ | 
| 148a0 | 20 20 28 68 65 6c 70 66 75 6c 2d 2d 68 65 61 64    69 6e 67 20 22 44 6f 63 75 6d 65 6e 74 61 74 69 | ..(helpful--heading."Documentati | 
| 148c0 | 6f 6e 22 29 29 0a 20 20 20 20 20 20 20 20 28 77    68 65 6e 20 64 6f 63 73 74 72 69 6e 67 0a 20 20 | on")).........(when.docstring... | 
| 148e0 | 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20    28 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 6d 61 74 | ........(insert.(helpful--format | 
| 14900 | 2d 64 6f 63 73 74 72 69 6e 67 20 64 6f 63 73 74    72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 | -docstring.docstring)))......... | 
| 14920 | 28 77 68 65 6e 20 76 65 72 73 69 6f 6e 2d 69 6e    66 6f 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e | (when.version-info...........(in | 
| 14940 | 73 65 72 74 20 22 5c 6e 5c 6e 22 20 28 73 2d 77    6f 72 64 2d 77 72 61 70 20 37 30 20 76 65 72 73 | sert."\n\n".(s-word-wrap.70.vers | 
| 14960 | 69 6f 6e 2d 69 6e 66 6f 29 29 29 0a 20 20 20 20    20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 | ion-info))).........(when.(and.( | 
| 14980 | 73 79 6d 62 6f 6c 70 20 68 65 6c 70 66 75 6c 2d    2d 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 20 | symbolp.helpful--sym)........... | 
| 149a0 | 20 20 20 20 20 20 20 20 20 68 65 6c 70 66 75 6c    2d 2d 63 61 6c 6c 61 62 6c 65 2d 70 0a 20 20 20 | .........helpful--callable-p.... | 
| 149c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 68 65 6c 70 66 75 6c 2d 2d 68 61 73 2d 73 68 | ................(helpful--has-sh | 
| 149e0 | 6f 72 74 64 6f 63 2d 70 20 68 65 6c 70 66 75 6c    2d 2d 73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 | ortdoc-p.helpful--sym))......... | 
| 14a00 | 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 5c 6e 22    29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 | ..(insert."\n\n")...........(ins | 
| 14a20 | 65 72 74 20 28 68 65 6c 70 66 75 6c 2d 2d 6d 61    6b 65 2d 73 68 6f 72 74 64 6f 63 2d 73 65 6e 74 | ert.(helpful--make-shortdoc-sent | 
| 14a40 | 65 6e 63 65 20 68 65 6c 70 66 75 6c 2d 2d 73 79    6d 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 | ence.helpful--sym))).........(wh | 
| 14a60 | 65 6e 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70    20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 29 20 28 | en.(and.(symbolp.helpful--sym).( | 
| 14a80 | 68 65 6c 70 66 75 6c 2d 2d 69 6e 2d 6d 61 6e 75    61 6c 2d 70 20 68 65 6c 70 66 75 6c 2d 2d 73 79 | helpful--in-manual-p.helpful--sy | 
| 14aa0 | 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69    6e 73 65 72 74 20 22 5c 6e 5c 6e 22 29 0a 20 20 | m))...........(insert."\n\n")... | 
| 14ac0 | 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20    28 68 65 6c 70 66 75 6c 2d 2d 6d 61 6b 65 2d 6d | ........(insert.(helpful--make-m | 
| 14ae0 | 61 6e 75 61 6c 2d 62 75 74 74 6f 6e 20 68 65 6c    70 66 75 6c 2d 2d 73 79 6d 29 29 29 29 29 0a 0a | anual-button.helpful--sym))))).. | 
| 14b00 | 20 20 20 20 3b 3b 20 53 68 6f 77 20 6b 65 79 62    69 6e 64 69 6e 67 73 2e 0a 20 20 20 20 3b 3b 20 | ....;;.Show.keybindings......;;. | 
| 14b20 | 54 4f 44 4f 3a 20 61 6c 6c 6f 77 20 75 73 65 72    73 20 74 6f 20 63 6f 6e 76 65 6e 69 65 6e 74 6c | TODO:.allow.users.to.convenientl | 
| 14b40 | 79 20 61 64 64 20 61 6e 64 20 72 65 6d 6f 76 65    20 6b 65 79 62 69 6e 64 69 6e 67 73 2e 0a 20 20 | y.add.and.remove.keybindings.... | 
| 14b60 | 20 20 28 77 68 65 6e 20 28 63 6f 6d 6d 61 6e 64    70 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 29 0a | ..(when.(commandp.helpful--sym). | 
| 14b80 | 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d    69 6e 73 65 72 74 2d 73 65 63 74 69 6f 6e 2d 62 | ......(helpful--insert-section-b | 
| 14ba0 | 72 65 61 6b 29 0a 20 20 20 20 20 20 28 69 6e 73    65 72 74 0a 20 20 20 20 20 20 20 28 68 65 6c 70 | reak).......(insert........(help | 
| 14bc0 | 66 75 6c 2d 2d 68 65 61 64 69 6e 67 20 22 4b 65    79 20 42 69 6e 64 69 6e 67 73 22 29 0a 20 20 20 | ful--heading."Key.Bindings").... | 
| 14be0 | 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 66 6f    72 6d 61 74 2d 6b 65 79 73 20 68 65 6c 70 66 75 | ....(helpful--format-keys.helpfu | 
| 14c00 | 6c 2d 2d 73 79 6d 20 61 6c 69 61 73 65 73 29 29    29 0a 0a 20 20 20 20 28 68 65 6c 70 66 75 6c 2d | l--sym.aliases)))......(helpful- | 
| 14c20 | 2d 69 6e 73 65 72 74 2d 73 65 63 74 69 6f 6e 2d    62 72 65 61 6b 29 0a 0a 20 20 20 20 28 69 6e 73 | -insert-section-break)......(ins | 
| 14c40 | 65 72 74 0a 20 20 20 20 20 28 68 65 6c 70 66 75    6c 2d 2d 68 65 61 64 69 6e 67 20 22 52 65 66 65 | ert......(helpful--heading."Refe | 
| 14c60 | 72 65 6e 63 65 73 22 29 0a 20 20 20 20 20 28 6c    65 74 20 28 28 73 72 63 2d 62 75 74 74 6f 6e 0a | rences")......(let.((src-button. | 
| 14c80 | 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65    6e 20 73 6f 75 72 63 65 2d 70 61 74 68 0a 20 20 | ............(when.source-path... | 
| 14ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 6c    70 66 75 6c 2d 2d 6e 61 76 69 67 61 74 65 2d 62 | ............(helpful--navigate-b | 
| 14cc0 | 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d | utton................(file-name- | 
| 14ce0 | 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 73 6f 75    72 63 65 2d 70 61 74 68 29 0a 20 20 20 20 20 20 | nondirectory.source-path)....... | 
| 14d00 | 20 20 20 20 20 20 20 20 20 73 6f 75 72 63 65 2d    70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 | .........source-path............ | 
| 14d20 | 20 20 20 20 28 6f 72 20 70 6f 73 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 | ....(or.pos....................0 | 
| 14d40 | 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 63 6f    6e 64 0a 20 20 20 20 20 20 20 20 28 28 61 6e 64 | )))))........(cond.........((and | 
| 14d60 | 20 73 6f 75 72 63 65 2d 70 61 74 68 20 72 65 66    65 72 65 6e 63 65 73 29 0a 20 20 20 20 20 20 20 | .source-path.references)........ | 
| 14d80 | 20 20 28 66 6f 72 6d 61 74 20 22 52 65 66 65 72    65 6e 63 65 73 20 69 6e 20 25 73 3a 5c 6e 25 73 | ..(format."References.in.%s:\n%s | 
| 14da0 | 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 73 72 63 2d 62 75 74 74 6f 6e 0a 20 20 | "..................src-button... | 
| 14dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    68 65 6c 70 66 75 6c 2d 2d 66 6f 72 6d 61 74 2d | ...............(helpful--format- | 
| 14de0 | 70 6f 73 69 74 69 6f 6e 2d 68 65 61 64 73 20 72    65 66 65 72 65 6e 63 65 73 20 73 6f 75 72 63 65 | position-heads.references.source | 
| 14e00 | 2d 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20    20 28 28 61 6e 64 20 73 6f 75 72 63 65 2d 70 61 | -path))).........((and.source-pa | 
| 14e20 | 74 68 20 70 72 69 6d 69 74 69 76 65 2d 70 29 0a    20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 | th.primitive-p)..........(format | 
| 14e40 | 0a 20 20 20 20 20 20 20 20 20 20 22 46 69 6e 64    69 6e 67 20 72 65 66 65 72 65 6e 63 65 73 20 69 | ..........."Finding.references.i | 
| 14e60 | 6e 20 61 20 2e 25 73 20 66 69 6c 65 20 69 73 20    6e 6f 74 20 73 75 70 70 6f 72 74 65 64 2e 22 0a | n.a..%s.file.is.not.supported.". | 
| 14e80 | 20 20 20 20 20 20 20 20 20 20 28 66 2d 65 78 74    20 73 6f 75 72 63 65 2d 70 61 74 68 29 29 29 0a | ..........(f-ext.source-path))). | 
| 14ea0 | 20 20 20 20 20 20 20 20 28 73 6f 75 72 63 65 2d    70 61 74 68 0a 20 20 20 20 20 20 20 20 20 28 66 | ........(source-path..........(f | 
| 14ec0 | 6f 72 6d 61 74 20 22 25 73 20 69 73 20 75 6e 75    73 65 64 20 69 6e 20 25 73 2e 22 0a 20 20 20 20 | ormat."%s.is.unused.in.%s."..... | 
| 14ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 6c    70 66 75 6c 2d 2d 73 79 6d 0a 20 20 20 20 20 20 | .............helpful--sym....... | 
| 14f00 | 20 20 20 20 20 20 20 20 20 20 20 73 72 63 2d 62    75 74 74 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 | ...........src-button))......... | 
| 14f20 | 28 28 61 6e 64 20 70 72 69 6d 69 74 69 76 65 2d    70 20 28 6e 75 6c 6c 20 66 69 6e 64 2d 66 75 6e | ((and.primitive-p.(null.find-fun | 
| 14f40 | 63 74 69 6f 6e 2d 43 2d 73 6f 75 72 63 65 2d 64    69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 | ction-C-source-directory))...... | 
| 14f60 | 20 20 20 20 22 43 20 63 6f 64 65 20 69 73 20 6e    6f 74 20 79 65 74 20 6c 6f 61 64 65 64 2e 22 29 | ...."C.code.is.not.yet.loaded.") | 
| 14f80 | 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20    20 20 20 20 20 22 43 6f 75 6c 64 20 6e 6f 74 20 | .........(t.........."Could.not. | 
| 14fa0 | 66 69 6e 64 20 73 6f 75 72 63 65 20 66 69 6c 65    2e 22 29 29 29 0a 20 20 20 20 20 22 5c 6e 5c 6e | find.source.file.")))......"\n\n | 
| 14fc0 | 22 0a 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d    2d 6d 61 6b 65 2d 72 65 66 65 72 65 6e 63 65 73 | "......(helpful--make-references | 
| 14fe0 | 2d 62 75 74 74 6f 6e 20 68 65 6c 70 66 75 6c 2d    2d 73 79 6d 20 68 65 6c 70 66 75 6c 2d 2d 63 61 | -button.helpful--sym.helpful--ca | 
| 15000 | 6c 6c 61 62 6c 65 2d 70 29 29 0a 0a 20 20 20 20    28 77 68 65 6e 20 28 61 6e 64 0a 20 20 20 20 20 | llable-p))......(when.(and...... | 
| 15020 | 20 20 20 20 20 20 68 65 6c 70 66 75 6c 2d 2d 63    61 6c 6c 61 62 6c 65 2d 70 0a 20 20 20 20 20 20 | ......helpful--callable-p....... | 
| 15040 | 20 20 20 20 20 28 73 79 6d 62 6f 6c 70 20 68 65    6c 70 66 75 6c 2d 2d 73 79 6d 29 0a 20 20 20 20 | .....(symbolp.helpful--sym)..... | 
| 15060 | 20 20 20 20 20 20 20 73 6f 75 72 63 65 0a 20 20    20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 70 72 | .......source............(not.pr | 
| 15080 | 69 6d 69 74 69 76 65 2d 70 29 29 0a 20 20 20 20    20 20 28 69 6e 73 65 72 74 0a 20 20 20 20 20 20 | imitive-p)).......(insert....... | 
| 150a0 | 20 22 20 22 0a 20 20 20 20 20 20 20 28 68 65 6c    70 66 75 6c 2d 2d 6d 61 6b 65 2d 63 61 6c 6c 65 | ."."........(helpful--make-calle | 
| 150c0 | 65 73 2d 62 75 74 74 6f 6e 20 68 65 6c 70 66 75    6c 2d 2d 73 79 6d 20 73 6f 75 72 63 65 29 29 29 | es-button.helpful--sym.source))) | 
| 150e0 | 0a 0a 20 20 20 20 28 77 68 65 6e 20 28 68 65 6c    70 66 75 6c 2d 2d 61 64 76 69 73 65 64 2d 70 20 | ......(when.(helpful--advised-p. | 
| 15100 | 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 29 0a 20 20    20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 69 6e | helpful--sym).......(helpful--in | 
| 15120 | 73 65 72 74 2d 73 65 63 74 69 6f 6e 2d 62 72 65    61 6b 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 | sert-section-break).......(inser | 
| 15140 | 74 0a 20 20 20 20 20 20 20 28 68 65 6c 70 66 75    6c 2d 2d 68 65 61 64 69 6e 67 20 22 41 64 76 69 | t........(helpful--heading."Advi | 
| 15160 | 63 65 22 29 0a 20 20 20 20 20 20 20 28 66 6f 72    6d 61 74 20 22 54 68 69 73 20 25 73 20 69 73 20 | ce")........(format."This.%s.is. | 
| 15180 | 61 64 76 69 73 65 64 2e 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 69 66 20 28 6d 61 | advised."................(if.(ma | 
| 151a0 | 63 72 6f 70 20 68 65 6c 70 66 75 6c 2d 2d 73 79    6d 29 20 22 6d 61 63 72 6f 22 20 22 66 75 6e 63 | crop.helpful--sym)."macro"."func | 
| 151c0 | 74 69 6f 6e 22 29 29 29 29 0a 0a 20 20 20 20 28    6c 65 74 20 28 28 63 61 6e 2d 65 64 65 62 75 67 | tion"))))......(let.((can-edebug | 
| 151e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 68 65 6c    70 66 75 6c 2d 2d 63 61 6e 2d 65 64 65 62 75 67 | ............(helpful--can-edebug | 
| 15200 | 2d 70 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 20    68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c | -p.helpful--sym.helpful--callabl | 
| 15220 | 65 2d 70 20 62 75 66 20 70 6f 73 29 29 0a 20 20    20 20 20 20 20 20 20 20 28 63 61 6e 2d 74 72 61 | e-p.buf.pos))...........(can-tra | 
| 15240 | 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 61    6e 64 20 28 73 79 6d 62 6f 6c 70 20 68 65 6c 70 | ce............(and.(symbolp.help | 
| 15260 | 66 75 6c 2d 2d 73 79 6d 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 68 65 6c 70 66 75 | ful--sym).................helpfu | 
| 15280 | 6c 2d 2d 63 61 6c 6c 61 62 6c 65 2d 70 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b | l--callable-p.................;; | 
| 152a0 | 20 54 72 61 63 69 6e 67 20 75 73 65 73 20 61 64    76 69 63 65 2c 20 61 6e 64 20 79 6f 75 20 63 61 | .Tracing.uses.advice,.and.you.ca | 
| 152c0 | 6e 27 74 20 61 70 70 6c 79 20 61 64 76 69 63 65    20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 | n't.apply.advice.to............. | 
| 152e0 | 20 20 20 20 3b 3b 20 70 72 69 6d 69 74 69 76 65    20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 | ....;;.primitive.functions.that. | 
| 15300 | 61 72 65 20 72 65 70 6c 61 63 65 64 20 77 69 74    68 20 73 70 65 63 69 61 6c 0a 20 20 20 20 20 20 | are.replaced.with.special....... | 
| 15320 | 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 70 63    6f 64 65 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c | ..........;;.opcodes..For.exampl | 
| 15340 | 65 2c 20 60 6e 61 72 72 6f 77 2d 74 6f 2d 72 65    67 69 6f 6e 27 2e 0a 20 20 20 20 20 20 20 20 20 | e,.`narrow-to-region'........... | 
| 15360 | 20 20 20 20 20 20 20 28 6e 6f 74 20 28 70 6c 69    73 74 2d 67 65 74 20 28 73 79 6d 62 6f 6c 2d 70 | .......(not.(plist-get.(symbol-p | 
| 15380 | 6c 69 73 74 20 68 65 6c 70 66 75 6c 2d 2d 73 79    6d 29 20 27 62 79 74 65 2d 6f 70 63 6f 64 65 29 | list.helpful--sym).'byte-opcode) | 
| 153a0 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63    61 6e 2d 64 69 73 61 73 73 65 6d 62 6c 65 0a 20 | )))...........(can-disassemble.. | 
| 153c0 | 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 68    65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c 65 | ..........(and.helpful--callable | 
| 153e0 | 2d 70 20 28 6e 6f 74 20 70 72 69 6d 69 74 69 76    65 2d 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 | -p.(not.primitive-p))).......... | 
| 15400 | 20 28 63 61 6e 2d 66 6f 72 67 65 74 0a 20 20 20    20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f | .(can-forget............(and.(no | 
| 15420 | 74 20 28 73 70 65 63 69 61 6c 2d 66 6f 72 6d 2d    70 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 29 29 | t.(special-form-p.helpful--sym)) | 
| 15440 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6e 6f 74 20 70 72 69 6d 69 74 69 76 65 2d | .................(not.primitive- | 
| 15460 | 70 29 29 29 29 0a 20 20 20 20 20 20 28 77 68 65    6e 20 28 6f 72 20 63 61 6e 2d 65 64 65 62 75 67 | p)))).......(when.(or.can-edebug | 
| 15480 | 20 63 61 6e 2d 74 72 61 63 65 20 63 61 6e 2d 64    69 73 61 73 73 65 6d 62 6c 65 20 63 61 6e 2d 66 | .can-trace.can-disassemble.can-f | 
| 154a0 | 6f 72 67 65 74 29 0a 20 20 20 20 20 20 20 20 28    68 65 6c 70 66 75 6c 2d 2d 69 6e 73 65 72 74 2d | orget).........(helpful--insert- | 
| 154c0 | 73 65 63 74 69 6f 6e 2d 62 72 65 61 6b 29 0a 20    20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 | section-break).........(insert.( | 
| 154e0 | 68 65 6c 70 66 75 6c 2d 2d 68 65 61 64 69 6e 67    20 22 44 65 62 75 67 67 69 6e 67 22 29 29 29 0a | helpful--heading."Debugging"))). | 
| 15500 | 20 20 20 20 20 20 28 77 68 65 6e 20 63 61 6e 2d    65 64 65 62 75 67 0a 20 20 20 20 20 20 20 20 28 | ......(when.can-edebug.........( | 
| 15520 | 69 6e 73 65 72 74 0a 20 20 20 20 20 20 20 20 20    28 68 65 6c 70 66 75 6c 2d 2d 6d 61 6b 65 2d 65 | insert..........(helpful--make-e | 
| 15540 | 64 65 62 75 67 2d 62 75 74 74 6f 6e 20 68 65 6c    70 66 75 6c 2d 2d 73 79 6d 29 29 29 0a 20 20 20 | debug-button.helpful--sym))).... | 
| 15560 | 20 20 20 28 77 68 65 6e 20 63 61 6e 2d 74 72 61    63 65 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e | ...(when.can-trace.........(when | 
| 15580 | 20 63 61 6e 2d 65 64 65 62 75 67 0a 20 20 20 20    20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 | .can-edebug...........(insert.". | 
| 155a0 | 22 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73    65 72 74 0a 20 20 20 20 20 20 20 20 20 28 68 65 | ")).........(insert..........(he | 
| 155c0 | 6c 70 66 75 6c 2d 2d 6d 61 6b 65 2d 74 72 61 63    69 6e 67 2d 62 75 74 74 6f 6e 20 68 65 6c 70 66 | lpful--make-tracing-button.helpf | 
| 155e0 | 75 6c 2d 2d 73 79 6d 29 29 29 0a 0a 20 20 20 20    20 20 28 77 68 65 6e 20 28 61 6e 64 0a 20 20 20 | ul--sym)))........(when.(and.... | 
| 15600 | 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 63 61    6e 2d 65 64 65 62 75 67 20 63 61 6e 2d 74 72 61 | ..........(or.can-edebug.can-tra | 
| 15620 | 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6f 72 20 63 61 6e 2d 64 69 73 61 73 73 65 | ce)..............(or.can-disasse | 
| 15640 | 6d 62 6c 65 20 63 61 6e 2d 66 6f 72 67 65 74 29    29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 | mble.can-forget)).........(inser | 
| 15660 | 74 20 22 5c 6e 22 29 29 0a 0a 20 20 20 20 20 20    28 77 68 65 6e 20 63 61 6e 2d 64 69 73 61 73 73 | t."\n"))........(when.can-disass | 
| 15680 | 65 6d 62 6c 65 0a 20 20 20 20 20 20 20 20 28 69    6e 73 65 72 74 20 28 68 65 6c 70 66 75 6c 2d 2d | emble.........(insert.(helpful-- | 
| 156a0 | 6d 61 6b 65 2d 64 69 73 61 73 73 65 6d 62 6c 65    2d 62 75 74 74 6f 6e 20 68 65 6c 70 66 75 6c 2d | make-disassemble-button.helpful- | 
| 156c0 | 2d 73 79 6d 29 29 29 0a 0a 20 20 20 20 20 20 28    77 68 65 6e 20 63 61 6e 2d 66 6f 72 67 65 74 0a | -sym)))........(when.can-forget. | 
| 156e0 | 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 63 61    6e 2d 64 69 73 61 73 73 65 6d 62 6c 65 0a 20 20 | ........(when.can-disassemble... | 
| 15700 | 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20    22 20 22 29 29 0a 20 20 20 20 20 20 20 20 28 69 | ........(insert.".")).........(i | 
| 15720 | 6e 73 65 72 74 20 28 68 65 6c 70 66 75 6c 2d 2d    6d 61 6b 65 2d 66 6f 72 67 65 74 2d 62 75 74 74 | nsert.(helpful--make-forget-butt | 
| 15740 | 6f 6e 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 20    68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c | on.helpful--sym.helpful--callabl | 
| 15760 | 65 2d 70 29 29 29 29 0a 0a 20 20 20 20 28 77 68    65 6e 20 61 6c 69 61 73 65 73 0a 20 20 20 20 20 | e-p))))......(when.aliases...... | 
| 15780 | 20 28 68 65 6c 70 66 75 6c 2d 2d 69 6e 73 65 72    74 2d 73 65 63 74 69 6f 6e 2d 62 72 65 61 6b 29 | .(helpful--insert-section-break) | 
| 157a0 | 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 0a 20    20 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d | .......(insert........(helpful-- | 
| 157c0 | 68 65 61 64 69 6e 67 20 22 41 6c 69 61 73 65 73    22 29 0a 20 20 20 20 20 20 20 28 73 2d 6a 6f 69 | heading."Aliases")........(s-joi | 
| 157e0 | 6e 20 22 5c 6e 22 20 28 2d 2d 6d 61 70 20 28 68    65 6c 70 66 75 6c 2d 2d 66 6f 72 6d 61 74 2d 61 | n."\n".(--map.(helpful--format-a | 
| 15800 | 6c 69 61 73 20 69 74 20 68 65 6c 70 66 75 6c 2d    2d 63 61 6c 6c 61 62 6c 65 2d 70 29 0a 20 20 20 | lias.it.helpful--callable-p).... | 
| 15820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 61 6c 69 61 73 65 73 29 | ........................aliases) | 
| 15840 | 29 29 29 0a 0a 20 20 20 20 28 77 68 65 6e 20 68    65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c 65 | )))......(when.helpful--callable | 
| 15860 | 2d 70 0a 20 20 20 20 20 20 28 68 65 6c 70 66 75    6c 2d 2d 69 6e 73 65 72 74 2d 69 6d 70 6c 65 6d | -p.......(helpful--insert-implem | 
| 15880 | 65 6e 74 61 74 69 6f 6e 73 29 29 0a 0a 20 20 20    20 28 68 65 6c 70 66 75 6c 2d 2d 69 6e 73 65 72 | entations))......(helpful--inser | 
| 158a0 | 74 2d 73 65 63 74 69 6f 6e 2d 62 72 65 61 6b 29    0a 0a 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 | t-section-break)......(when.(or. | 
| 158c0 | 73 6f 75 72 63 65 2d 70 61 74 68 20 70 72 69 6d    69 74 69 76 65 2d 70 29 0a 20 20 20 20 20 20 28 | source-path.primitive-p).......( | 
| 158e0 | 69 6e 73 65 72 74 0a 20 20 20 20 20 20 20 28 68    65 6c 70 66 75 6c 2d 2d 68 65 61 64 69 6e 67 0a | insert........(helpful--heading. | 
| 15900 | 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20    68 65 6c 70 66 75 6c 2d 2d 73 79 6d 20 63 61 6e | ........(if.(eq.helpful--sym.can | 
| 15920 | 6f 6e 69 63 61 6c 2d 73 79 6d 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 22 53 6f 75 72 63 65 20 | onical-sym)............."Source. | 
| 15940 | 43 6f 64 65 22 0a 20 20 20 20 20 20 20 20 20 20    22 41 6c 69 61 73 20 53 6f 75 72 63 65 20 43 6f | Code"..........."Alias.Source.Co | 
| 15960 | 64 65 22 29 29 0a 20 20 20 20 20 20 20 28 63 6f    6e 64 0a 20 20 20 20 20 20 20 20 28 73 6f 75 72 | de"))........(cond.........(sour | 
| 15980 | 63 65 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20    20 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 | ce-path..........(concat........ | 
| 159a0 | 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28    66 6f 72 6d 61 74 20 22 25 73 20 44 65 66 69 6e | ...(propertize.(format."%s.Defin | 
| 159c0 | 65 64 20 69 6e 20 22 20 28 69 66 20 70 72 69 6d    69 74 69 76 65 2d 70 20 22 2f 2f 22 20 22 3b 3b | ed.in.".(if.primitive-p."//".";; | 
| 159e0 | 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 27 66 61 63 65 20 | ")).......................'face. | 
| 15a00 | 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65    6e 74 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 | 'font-lock-comment-face)........ | 
| 15a20 | 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 6e 61 76    69 67 61 74 65 2d 62 75 74 74 6f 6e 0a 20 20 20 | ...(helpful--navigate-button.... | 
| 15a40 | 20 20 20 20 20 20 20 20 28 66 2d 61 62 62 72 65    76 20 73 6f 75 72 63 65 2d 70 61 74 68 29 0a 20 | ........(f-abbrev.source-path).. | 
| 15a60 | 20 20 20 20 20 20 20 20 20 20 73 6f 75 72 63 65    2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 | ..........source-path........... | 
| 15a80 | 20 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20    22 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 28 | .pos)..........."\n")).........( | 
| 15aa0 | 70 72 69 6d 69 74 69 76 65 2d 70 0a 20 20 20 20    20 20 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 | primitive-p..........(concat.... | 
| 15ac0 | 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69    7a 65 0a 20 20 20 20 20 20 20 20 20 20 20 22 43 | .......(propertize............"C | 
| 15ae0 | 20 63 6f 64 65 20 69 73 20 6e 6f 74 20 79 65 74    20 6c 6f 61 64 65 64 2e 22 0a 20 20 20 20 20 20 | .code.is.not.yet.loaded."....... | 
| 15b00 | 20 20 20 20 20 27 66 61 63 65 20 27 66 6f 6e 74    2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 | .....'face.'font-lock-comment-fa | 
| 15b20 | 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 22 5c    6e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 28 | ce)..........."\n\n"...........( | 
| 15b40 | 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e 0a    20 20 20 20 20 20 20 20 20 20 20 22 53 65 74 20 | helpful--button............"Set. | 
| 15b60 | 43 20 73 6f 75 72 63 65 20 64 69 72 65 63 74 6f    72 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 27 | C.source.directory"............' | 
| 15b80 | 68 65 6c 70 66 75 6c 2d 63 2d 73 6f 75 72 63 65    2d 64 69 72 65 63 74 6f 72 79 29 29 29 29 29 29 | helpful-c-source-directory)))))) | 
| 15ba0 | 0a 20 20 20 20 28 77 68 65 6e 20 73 6f 75 72 63    65 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 0a | .....(when.source.......(insert. | 
| 15bc0 | 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20    20 20 20 20 20 28 28 73 74 72 69 6e 67 70 20 73 | .......(cond.........((stringp.s | 
| 15be0 | 6f 75 72 63 65 29 0a 20 20 20 20 20 20 20 20 20    28 6c 65 74 20 28 28 6d 6f 64 65 20 28 77 68 65 | ource)..........(let.((mode.(whe | 
| 15c00 | 6e 20 70 72 69 6d 69 74 69 76 65 2d 70 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | n.primitive-p................... | 
| 15c20 | 20 20 20 20 20 28 70 63 61 73 65 20 28 66 69 6c    65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e | .....(pcase.(file-name-extension | 
| 15c40 | 20 73 6f 75 72 63 65 2d 70 61 74 68 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .source-path)................... | 
| 15c60 | 20 20 20 20 20 20 20 28 22 63 22 20 27 63 2d 6d    6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .......("c".'c-mode)............ | 
| 15c80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22    72 73 22 20 28 77 68 65 6e 20 28 66 62 6f 75 6e | ..............("rs".(when.(fboun | 
| 15ca0 | 64 70 20 27 72 75 73 74 2d 6d 6f 64 65 29 20 27    72 75 73 74 2d 6d 6f 64 65 29 29 29 29 29 29 0a | dp.'rust-mode).'rust-mode)))))). | 
| 15cc0 | 20 20 20 20 20 20 20 20 20 20 20 28 68 65 6c 70    66 75 6c 2d 2d 73 79 6e 74 61 78 2d 68 69 67 68 | ...........(helpful--syntax-high | 
| 15ce0 | 6c 69 67 68 74 20 73 6f 75 72 63 65 20 6d 6f 64    65 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 61 | light.source.mode))).........((a | 
| 15d00 | 6e 64 20 28 63 6f 6e 73 70 20 73 6f 75 72 63 65    29 20 28 65 71 20 28 63 61 72 20 73 6f 75 72 63 | nd.(consp.source).(eq.(car.sourc | 
| 15d20 | 65 29 20 27 63 6c 6f 73 75 72 65 29 29 0a 20 20    20 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d | e).'closure))..........(helpful- | 
| 15d40 | 2d 73 79 6e 74 61 78 2d 68 69 67 68 6c 69 67 68    74 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e | -syntax-highlight...........(con | 
| 15d60 | 63 61 74 20 22 3b 3b 20 43 6c 6f 73 75 72 65 20    63 6f 6e 76 65 72 74 65 64 20 74 6f 20 64 65 66 | cat.";;.Closure.converted.to.def | 
| 15d80 | 75 6e 20 62 79 20 68 65 6c 70 66 75 6c 2e 5c 6e    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | un.by.helpful.\n"............... | 
| 15da0 | 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 70 72    65 74 74 79 2d 70 72 69 6e 74 0a 20 20 20 20 20 | ....(helpful--pretty-print...... | 
| 15dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68    65 6c 70 66 75 6c 2d 2d 66 6f 72 6d 61 74 2d 63 | ..............(helpful--format-c | 
| 15de0 | 6c 6f 73 75 72 65 20 68 65 6c 70 66 75 6c 2d 2d    73 79 6d 20 73 6f 75 72 63 65 29 29 29 29 29 0a | losure.helpful--sym.source))))). | 
| 15e00 | 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20    20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 73 79 | ........(t..........(helpful--sy | 
| 15e20 | 6e 74 61 78 2d 68 69 67 68 6c 69 67 68 74 0a 20    20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 | ntax-highlight...........(concat | 
| 15e40 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20    28 65 71 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d | ............(if.(eq.helpful--sym | 
| 15e60 | 20 63 61 6e 6f 6e 69 63 61 6c 2d 73 79 6d 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 | .canonical-sym)................" | 
| 15e80 | 3b 3b 20 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e    64 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 73 | ;;.Could.not.find.source.code,.s | 
| 15ea0 | 68 6f 77 69 6e 67 20 72 61 77 20 66 75 6e 63 74    69 6f 6e 20 6f 62 6a 65 63 74 2e 5c 6e 22 0a 20 | howing.raw.function.object.\n".. | 
| 15ec0 | 20 20 20 20 20 20 20 20 20 20 20 20 22 3b 3b 20    43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 | ............";;.Could.not.find.a | 
| 15ee0 | 6c 69 61 73 20 73 6f 75 72 63 65 20 63 6f 64 65    2c 20 73 68 6f 77 69 6e 67 20 72 61 77 20 66 75 | lias.source.code,.showing.raw.fu | 
| 15f00 | 6e 63 74 69 6f 6e 20 6f 62 6a 65 63 74 2e 5c 6e    22 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 68 | nction.object.\n")............(h | 
| 15f20 | 65 6c 70 66 75 6c 2d 2d 70 72 65 74 74 79 2d 70    72 69 6e 74 20 73 6f 75 72 63 65 29 29 29 29 29 | elpful--pretty-print.source))))) | 
| 15f40 | 29 29 0a 0a 20 20 20 20 28 68 65 6c 70 66 75 6c    2d 2d 69 6e 73 65 72 74 2d 73 65 63 74 69 6f 6e | ))......(helpful--insert-section | 
| 15f60 | 2d 62 72 65 61 6b 29 0a 0a 20 20 20 20 28 2d 77    68 65 6e 2d 6c 65 74 20 28 66 6f 72 6d 61 74 74 | -break)......(-when-let.(formatt | 
| 15f80 | 65 64 2d 70 72 6f 70 73 20 28 68 65 6c 70 66 75    6c 2d 2d 66 6f 72 6d 61 74 2d 70 72 6f 70 65 72 | ed-props.(helpful--format-proper | 
| 15fa0 | 74 69 65 73 20 68 65 6c 70 66 75 6c 2d 2d 73 79    6d 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 | ties.helpful--sym)).......(inser | 
| 15fc0 | 74 0a 20 20 20 20 20 20 20 28 68 65 6c 70 66 75    6c 2d 2d 68 65 61 64 69 6e 67 20 22 53 79 6d 62 | t........(helpful--heading."Symb | 
| 15fe0 | 6f 6c 20 50 72 6f 70 65 72 74 69 65 73 22 29 0a    20 20 20 20 20 20 20 66 6f 72 6d 61 74 74 65 64 | ol.Properties")........formatted | 
| 16000 | 2d 70 72 6f 70 73 29 29 0a 0a 20 20 20 20 28 67    6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d | -props))......(goto-char.(point- | 
| 16020 | 6d 69 6e 29 29 0a 20 20 20 20 28 66 6f 72 77 61    72 64 2d 6c 69 6e 65 20 28 31 2d 20 73 74 61 72 | min)).....(forward-line.(1-.star | 
| 16040 | 74 2d 6c 69 6e 65 29 29 0a 20 20 20 20 28 66 6f    72 77 61 72 64 2d 63 68 61 72 20 73 74 61 72 74 | t-line)).....(forward-char.start | 
| 16060 | 2d 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 28 73 65    74 71 20 68 65 6c 70 66 75 6c 2d 2d 66 69 72 73 | -column).....(setq.helpful--firs | 
| 16080 | 74 2d 64 69 73 70 6c 61 79 20 6e 69 6c 29 0a 0a    20 20 20 20 28 77 68 65 6e 20 6f 70 65 6e 65 64 | t-display.nil)......(when.opened | 
| 160a0 | 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66    66 65 72 20 62 75 66 29 29 29 29 0a 0a 3b 3b 20 | .......(kill-buffer.buf))))..;;. | 
| 160c0 | 54 4f 44 4f 3a 20 74 68 69 73 20 69 73 6e 27 74    20 73 75 66 66 69 63 69 65 6e 74 20 66 6f 72 20 | TODO:.this.isn't.sufficient.for. | 
| 160e0 | 60 65 64 65 62 75 67 2d 65 76 61 6c 2d 64 65 66    75 6e 27 2e 0a 28 64 65 66 75 6e 20 68 65 6c 70 | `edebug-eval-defun'..(defun.help | 
| 16100 | 66 75 6c 2d 2d 73 6b 69 70 2d 61 64 76 69 63 65    20 28 64 6f 63 73 74 72 69 6e 67 29 0a 20 20 22 | ful--skip-advice.(docstring)..." | 
| 16120 | 52 65 6d 6f 76 65 20 6d 65 6e 74 69 6f 6e 73 20    6f 66 20 61 64 76 69 63 65 20 66 72 6f 6d 20 44 | Remove.mentions.of.advice.from.D | 
| 16140 | 4f 43 53 54 52 49 4e 47 2e 22 0a 20 20 28 6c 65    74 2a 20 28 28 6c 69 6e 65 73 20 28 73 2d 6c 69 | OCSTRING."...(let*.((lines.(s-li | 
| 16160 | 6e 65 73 20 64 6f 63 73 74 72 69 6e 67 29 29 0a    20 20 20 20 20 20 20 20 20 28 72 65 6c 65 76 61 | nes.docstring))..........(releva | 
| 16180 | 6e 74 2d 6c 69 6e 65 73 0a 20 20 20 20 20 20 20    20 20 20 28 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 | nt-lines...........(--drop-while | 
| 161a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20    28 73 2d 73 74 61 72 74 73 2d 77 69 74 68 2d 70 | ............(or.(s-starts-with-p | 
| 161c0 | 20 22 3a 61 72 6f 75 6e 64 20 61 64 76 69 63 65    3a 22 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 | .":around.advice:".it).......... | 
| 161e0 | 20 20 20 20 20 20 28 73 2d 73 74 61 72 74 73 2d    77 69 74 68 2d 70 20 22 54 68 69 73 20 66 75 6e | ......(s-starts-with-p."This.fun | 
| 16200 | 63 74 69 6f 6e 20 68 61 73 20 3a 61 72 6f 75 6e    64 20 61 64 76 69 63 65 3a 22 20 69 74 29 29 0a | ction.has.:around.advice:".it)). | 
| 16220 | 20 20 20 20 20 20 20 20 20 20 20 6c 69 6e 65 73    29 29 29 0a 20 20 20 20 28 73 2d 74 72 69 6d 20 | ...........lines))).....(s-trim. | 
| 16240 | 28 73 2d 6a 6f 69 6e 20 22 5c 6e 22 20 72 65 6c    65 76 61 6e 74 2d 6c 69 6e 65 73 29 29 29 29 0a | (s-join."\n".relevant-lines)))). | 
| 16260 | 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d    2d 66 6f 72 6d 61 74 2d 61 72 67 75 6d 65 6e 74 | .(defun.helpful--format-argument | 
| 16280 | 20 28 61 72 67 29 0a 20 20 22 46 6f 72 6d 61 74    20 41 52 47 20 28 61 20 73 79 6d 62 6f 6c 29 20 | .(arg)..."Format.ARG.(a.symbol). | 
| 162a0 | 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 45 6d 61    63 73 20 68 65 6c 70 20 63 6f 6e 76 65 6e 74 69 | according.to.Emacs.help.conventi | 
| 162c0 | 6f 6e 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 61    72 67 2d 73 74 72 20 28 73 79 6d 62 6f 6c 2d 6e | ons."...(let.((arg-str.(symbol-n | 
| 162e0 | 61 6d 65 20 61 72 67 29 29 29 0a 20 20 20 20 28    69 66 20 28 73 2d 73 74 61 72 74 73 2d 77 69 74 | ame.arg))).....(if.(s-starts-wit | 
| 16300 | 68 2d 70 20 22 26 22 20 61 72 67 2d 73 74 72 29    0a 20 20 20 20 20 20 20 20 61 72 67 2d 73 74 72 | h-p."&".arg-str).........arg-str | 
| 16320 | 0a 20 20 20 20 20 20 28 73 2d 75 70 63 61 73 65    20 61 72 67 2d 73 74 72 29 29 29 29 0a 0a 28 64 | .......(s-upcase.arg-str))))..(d | 
| 16340 | 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 66 6f    72 6d 61 74 2d 73 79 6d 62 6f 6c 20 28 73 79 6d | efun.helpful--format-symbol.(sym | 
| 16360 | 29 0a 20 20 22 46 6f 72 6d 61 74 20 73 79 6d 62    6f 6c 20 61 73 20 61 20 73 74 72 69 6e 67 2c 20 | )..."Format.symbol.as.a.string,. | 
| 16380 | 65 73 63 61 70 69 6e 67 20 61 73 20 6e 65 63 65    73 73 61 72 79 2e 22 0a 20 20 3b 3b 20 41 72 67 | escaping.as.necessary."...;;.Arg | 
| 163a0 | 75 61 62 6c 79 20 74 68 69 73 20 69 73 20 61 6e    20 45 6d 61 63 73 20 62 75 67 2e 20 57 65 20 73 | uably.this.is.an.Emacs.bug..We.s | 
| 163c0 | 68 6f 75 6c 64 20 62 65 20 61 62 6c 65 20 74 6f    20 75 73 65 0a 20 20 3b 3b 20 28 66 6f 72 6d 61 | hould.be.able.to.use...;;.(forma | 
| 163e0 | 74 20 22 25 53 22 20 73 79 6d 29 0a 20 20 3b 3b    20 62 75 74 20 74 68 61 74 20 63 6f 6e 76 65 72 | t."%S".sym)...;;.but.that.conver | 
| 16400 | 74 73 20 66 6f 6f 3f 20 74 6f 20 22 66 6f 6f 5c    5c 3f 22 2e 20 59 6f 75 20 63 61 6e 20 73 65 65 | ts.foo?.to."foo\\?"..You.can.see | 
| 16420 | 20 74 68 69 73 20 69 6e 20 6f 74 68 65 72 0a 20    20 3b 3b 20 70 61 72 74 73 20 6f 66 20 74 68 65 | .this.in.other...;;.parts.of.the | 
| 16440 | 20 45 6d 61 63 73 20 55 49 2c 20 73 75 63 68 20    61 73 20 45 52 54 2e 0a 20 20 28 73 2d 72 65 70 | .Emacs.UI,.such.as.ERT....(s-rep | 
| 16460 | 6c 61 63 65 20 22 20 22 20 22 5c 5c 20 22 20 28    66 6f 72 6d 61 74 20 22 25 73 22 20 73 79 6d 29 | lace."."."\\.".(format."%s".sym) | 
| 16480 | 29 29 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 74 68 69    73 20 69 73 20 62 72 6f 6b 65 6e 20 66 6f 72 20 | ))..;;.TODO:.this.is.broken.for. | 
| 164a0 | 2d 61 6e 79 3f 2e 0a 28 64 65 66 75 6e 20 68 65    6c 70 66 75 6c 2d 2d 73 69 67 6e 61 74 75 72 65 | -any?..(defun.helpful--signature | 
| 164c0 | 20 28 73 79 6d 29 0a 20 20 22 47 65 74 20 74 68    65 20 73 69 67 6e 61 74 75 72 65 20 66 6f 72 20 | .(sym)..."Get.the.signature.for. | 
| 164e0 | 66 75 6e 63 74 69 6f 6e 20 53 59 4d 2c 20 61 73    20 61 20 73 74 72 69 6e 67 2e 0a 46 6f 72 20 65 | function.SYM,.as.a.string..For.e | 
| 16500 | 78 61 6d 70 6c 65 2c 20 5c 22 28 73 6f 6d 65 2d    66 75 6e 63 20 46 4f 4f 20 26 6f 70 74 69 6f 6e | xample,.\"(some-func.FOO.&option | 
| 16520 | 61 6c 20 42 41 52 29 5c 22 2e 22 0a 20 20 28 6c    65 74 20 28 64 6f 63 73 74 72 69 6e 67 2d 73 69 | al.BAR)\"."...(let.(docstring-si | 
| 16540 | 67 0a 20 20 20 20 20 20 20 20 73 6f 75 72 63 65    2d 73 69 67 0a 20 20 20 20 20 20 20 20 28 61 64 | g.........source-sig.........(ad | 
| 16560 | 76 65 72 74 69 73 65 64 2d 61 72 67 73 0a 20 20    20 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 79 | vertised-args..........(when.(sy | 
| 16580 | 6d 62 6f 6c 70 20 73 79 6d 29 0a 20 20 20 20 20    20 20 20 20 20 20 28 67 65 74 68 61 73 68 20 28 | mbolp.sym)............(gethash.( | 
| 165a0 | 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20    73 79 6d 29 20 61 64 76 65 72 74 69 73 65 64 2d | symbol-function.sym).advertised- | 
| 165c0 | 73 69 67 6e 61 74 75 72 65 2d 74 61 62 6c 65 29    29 29 29 0a 20 20 20 20 3b 3b 20 47 65 74 20 74 | signature-table)))).....;;.Get.t | 
| 165e0 | 68 65 20 75 73 61 67 65 20 66 72 6f 6d 20 74 68    65 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e | he.usage.from.the.function.defin | 
| 16600 | 69 74 69 6f 6e 2e 0a 20 20 20 20 28 6c 65 74 2a    20 28 28 66 75 6e 63 74 69 6f 6e 2d 61 72 67 73 | ition......(let*.((function-args | 
| 16620 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f    6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .............(cond.............. | 
| 16640 | 28 28 73 79 6d 62 6f 6c 70 20 73 79 6d 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 | ((symbolp.sym)...............(he | 
| 16660 | 6c 70 2d 66 75 6e 63 74 69 6f 6e 2d 61 72 67 6c    69 73 74 20 73 79 6d 29 29 0a 20 20 20 20 20 20 | lp-function-arglist.sym))....... | 
| 16680 | 20 20 20 20 20 20 20 28 28 62 79 74 65 2d 63 6f    64 65 2d 66 75 6e 63 74 69 6f 6e 2d 70 20 73 79 | .......((byte-code-function-p.sy | 
| 166a0 | 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3b 3b 20 61 72 67 64 65 73 63 20 63 61 6e 20 | m)...............;;.argdesc.can. | 
| 166c0 | 62 65 20 61 20 6c 69 73 74 20 6f 66 20 61 72 67    75 6d 65 6e 74 73 20 6f 72 20 61 6e 20 69 6e 74 | be.a.list.of.arguments.or.an.int | 
| 166e0 | 65 67 65 72 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3b 3b 20 65 6e 63 6f 64 69 6e 67 20 74 | eger...............;;.encoding.t | 
| 16700 | 68 65 20 6d 69 6e 2f 6d 61 78 20 6e 75 6d 62 65    72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2e 20 | he.min/max.number.of.arguments.. | 
| 16720 | 53 65 65 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3b 3b 20 42 79 74 65 2d 43 6f 64 65 20 46 | See...............;;.Byte-Code.F | 
| 16740 | 75 6e 63 74 69 6f 6e 20 4f 62 6a 65 63 74 73 20    69 6e 20 74 68 65 20 65 6c 69 73 70 20 6d 61 6e | unction.Objects.in.the.elisp.man | 
| 16760 | 75 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 6c 65 74 20 28 28 61 72 67 64 65 73 | ual................(let.((argdes | 
| 16780 | 63 20 28 61 72 65 66 20 73 79 6d 20 30 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | c.(aref.sym.0)))................ | 
| 167a0 | 20 28 69 66 20 28 63 6f 6e 73 70 20 61 72 67 64    65 73 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .(if.(consp.argdesc)............ | 
| 167c0 | 20 20 20 20 20 20 20 20 20 61 72 67 64 65 73 63    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........argdesc................ | 
| 167e0 | 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 70 72 6f 70    65 72 6c 79 20 68 61 6e 64 6c 65 20 61 72 67 64 | ...;;.TODO:.properly.handle.argd | 
| 16800 | 65 73 63 20 76 61 6c 75 65 73 2e 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 | esc.values....................ni | 
| 16820 | 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 | l)))..............(t............ | 
| 16840 | 20 20 20 3b 3b 20 49 6e 74 65 72 70 72 65 74 65    64 20 66 75 6e 63 74 69 6f 6e 20 28 6c 61 6d 62 | ...;;.Interpreted.function.(lamb | 
| 16860 | 64 61 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 63 61 64 72 20 73 79 6d 29 | da....)...............(cadr.sym) | 
| 16880 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28    66 6f 72 6d 61 74 74 65 64 2d 61 72 67 73 0a 20 | )))............(formatted-args.. | 
| 168a0 | 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 | ...........(cond..............(a | 
| 168c0 | 64 76 65 72 74 69 73 65 64 2d 61 72 67 73 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 6d | dvertised-args...............(-m | 
| 168e0 | 61 70 20 23 27 68 65 6c 70 66 75 6c 2d 2d 66 6f    72 6d 61 74 2d 61 72 67 75 6d 65 6e 74 20 61 64 | ap.#'helpful--format-argument.ad | 
| 16900 | 76 65 72 74 69 73 65 64 2d 61 72 67 73 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6c | vertised-args))..............((l | 
| 16920 | 69 73 74 70 20 66 75 6e 63 74 69 6f 6e 2d 61 72    67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | istp.function-args)............. | 
| 16940 | 20 20 28 2d 6d 61 70 20 23 27 68 65 6c 70 66 75    6c 2d 2d 66 6f 72 6d 61 74 2d 61 72 67 75 6d 65 | ..(-map.#'helpful--format-argume | 
| 16960 | 6e 74 20 66 75 6e 63 74 69 6f 6e 2d 61 72 67 73    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt.function-args)).............. | 
| 16980 | 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6c 69 73 74 20 66 75 6e 63 74 69 6f 6e 2d | (t...............(list.function- | 
| 169a0 | 61 72 67 73 29 29 29 29 29 0a 20 20 20 20 20 20    28 73 65 74 71 20 73 6f 75 72 63 65 2d 73 69 67 | args))))).......(setq.source-sig | 
| 169c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f    6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .............(cond.............. | 
| 169e0 | 3b 3b 20 49 66 20 69 74 27 73 20 61 20 66 75 6e    63 74 69 6f 6e 20 6f 62 6a 65 63 74 2c 20 6a 75 | ;;.If.it's.a.function.object,.ju | 
| 16a00 | 73 74 20 73 68 6f 77 20 74 68 65 20 61 72 67 75    6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 20 | st.show.the.arguments........... | 
| 16a20 | 20 20 20 20 28 28 6e 6f 74 20 28 73 79 6d 62 6f    6c 70 20 73 79 6d 29 29 0a 20 20 20 20 20 20 20 | ....((not.(symbolp.sym))........ | 
| 16a40 | 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22    28 25 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 | .......(format."(%s)"........... | 
| 16a60 | 20 20 20 20 20 20 20 20 20 20 20 20 28 73 2d 6a    6f 69 6e 20 22 20 22 20 66 6f 72 6d 61 74 74 65 | ............(s-join.".".formatte | 
| 16a80 | 64 2d 61 72 67 73 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 3b 3b 20 49 66 20 69 74 20 | d-args)))..............;;.If.it. | 
| 16aa0 | 68 61 73 20 6d 75 6c 74 69 70 6c 65 20 61 72 67    75 6d 65 6e 74 73 2c 20 6a 6f 69 6e 20 74 68 65 | has.multiple.arguments,.join.the | 
| 16ac0 | 6d 20 77 69 74 68 20 73 70 61 63 65 73 2e 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 | m.with.spaces...............(for | 
| 16ae0 | 6d 61 74 74 65 64 2d 61 72 67 73 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 | matted-args...............(forma | 
| 16b00 | 74 20 22 28 25 73 20 25 73 29 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t."(%s.%s)"..................... | 
| 16b20 | 20 20 28 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 6d    61 74 2d 73 79 6d 62 6f 6c 20 73 79 6d 29 0a 20 | ..(helpful--format-symbol.sym).. | 
| 16b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 73 2d 6a 6f 69 6e 20 22 20 22 | .....................(s-join."." | 
| 16b60 | 20 66 6f 72 6d 61 74 74 65 64 2d 61 72 67 73 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .formatted-args))).............. | 
| 16b80 | 3b 3b 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68    69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 | ;;.Otherwise,.this.function.take | 
| 16ba0 | 73 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 20 77    68 65 6e 20 63 61 6c 6c 65 64 2e 0a 20 20 20 20 | s.no.arguments.when.called...... | 
| 16bc0 | 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 | .........(t...............(forma | 
| 16be0 | 74 20 22 28 25 73 29 22 20 28 68 65 6c 70 66 75    6c 2d 2d 66 6f 72 6d 61 74 2d 73 79 6d 62 6f 6c | t."(%s)".(helpful--format-symbol | 
| 16c00 | 20 73 79 6d 29 29 29 29 29 29 0a 0a 20 20 20 20    3b 3b 20 49 66 20 74 68 65 20 64 6f 63 73 74 72 | .sym))))))......;;.If.the.docstr | 
| 16c20 | 69 6e 67 20 65 6e 64 73 20 77 69 74 68 20 28 66    6e 20 46 4f 4f 20 42 41 52 29 2c 20 65 78 74 72 | ing.ends.with.(fn.FOO.BAR),.extr | 
| 16c40 | 61 63 74 20 74 68 61 74 2e 0a 20 20 20 20 28 2d    77 68 65 6e 2d 6c 65 74 20 28 64 6f 63 73 74 72 | act.that......(-when-let.(docstr | 
| 16c60 | 69 6e 67 20 28 64 6f 63 75 6d 65 6e 74 61 74 69    6f 6e 20 73 79 6d 29 29 0a 20 20 20 20 20 20 28 | ing.(documentation.sym)).......( | 
| 16c80 | 2d 77 68 65 6e 2d 6c 65 74 20 28 64 6f 63 73 74    72 69 6e 67 2d 77 69 74 68 2d 75 73 61 67 65 20 | -when-let.(docstring-with-usage. | 
| 16ca0 | 28 68 65 6c 70 2d 73 70 6c 69 74 2d 66 75 6e 64    6f 63 20 64 6f 63 73 74 72 69 6e 67 20 73 79 6d | (help-split-fundoc.docstring.sym | 
| 16cc0 | 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71    20 64 6f 63 73 74 72 69 6e 67 2d 73 69 67 20 28 | )).........(setq.docstring-sig.( | 
| 16ce0 | 63 61 72 20 64 6f 63 73 74 72 69 6e 67 2d 77 69    74 68 2d 75 73 61 67 65 29 29 29 29 0a 0a 20 20 | car.docstring-with-usage)))).... | 
| 16d00 | 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20    41 64 76 65 72 74 69 73 65 64 20 73 69 67 6e 61 | ..(cond......;;.Advertised.signa | 
| 16d20 | 74 75 72 65 20 61 6c 77 61 79 73 20 77 69 6e 73    2e 0a 20 20 20 20 20 28 61 64 76 65 72 74 69 73 | ture.always.wins.......(advertis | 
| 16d40 | 65 64 2d 61 72 67 73 0a 20 20 20 20 20 20 73 6f    75 72 63 65 2d 73 69 67 29 0a 20 20 20 20 20 3b | ed-args.......source-sig)......; | 
| 16d60 | 3b 20 49 66 20 74 68 61 74 27 73 20 6e 6f 74 20    73 65 74 2c 20 75 73 65 20 74 68 65 20 75 73 61 | ;.If.that's.not.set,.use.the.usa | 
| 16d80 | 67 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e    20 69 6e 20 74 68 65 0a 20 20 20 20 20 3b 3b 20 | ge.specification.in.the......;;. | 
| 16da0 | 64 6f 63 73 74 72 69 6e 67 2c 20 69 66 20 70 72    65 73 65 6e 74 2e 0a 20 20 20 20 20 28 64 6f 63 | docstring,.if.present.......(doc | 
| 16dc0 | 73 74 72 69 6e 67 2d 73 69 67 0a 20 20 20 20 20    20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 | string-sig.......(replace-regexp | 
| 16de0 | 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5c 5c 5c 5c    3d 5c 5c 28 5b 27 5c 5c 60 e2 80 98 e2 80 99 5d | -in-string."\\\\=\\(['\\`......] | 
| 16e00 | 5c 5c 29 22 20 22 5c 5c 31 22 20 64 6f 63 73 74    72 69 6e 67 2d 73 69 67 20 74 29 29 0a 20 20 20 | \\)"."\\1".docstring-sig.t)).... | 
| 16e20 | 20 20 28 74 0a 20 20 20 20 20 20 3b 3b 20 4f 74    68 65 72 77 69 73 65 2c 20 6a 75 73 74 20 75 73 | ..(t.......;;.Otherwise,.just.us | 
| 16e40 | 65 20 74 68 65 20 73 69 67 6e 61 74 75 72 65 20    66 72 6f 6d 20 74 68 65 20 73 6f 75 72 63 65 20 | e.the.signature.from.the.source. | 
| 16e60 | 63 6f 64 65 2e 0a 20 20 20 20 20 20 73 6f 75 72    63 65 2d 73 69 67 29 29 29 29 0a 0a 28 64 65 66 | code........source-sig))))..(def | 
| 16e80 | 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 6d    61 74 2d 6f 62 73 6f 6c 65 74 65 2d 69 6e 66 6f | un.helpful--format-obsolete-info | 
| 16ea0 | 20 28 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70    29 0a 20 20 28 2d 6c 65 74 20 5b 28 75 73 65 20 | .(sym.callable-p)...(-let.[(use. | 
| 16ec0 | 5f 20 64 61 74 65 29 20 28 68 65 6c 70 66 75 6c    2d 2d 6f 62 73 6f 6c 65 74 65 2d 69 6e 66 6f 20 | _.date).(helpful--obsolete-info. | 
| 16ee0 | 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29 5d    0a 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 66 | sym.callable-p)].....(helpful--f | 
| 16f00 | 6f 72 6d 61 74 2d 64 6f 63 73 74 72 69 6e 67 0a    20 20 20 20 20 28 73 2d 77 6f 72 64 2d 77 72 61 | ormat-docstring......(s-word-wra | 
| 16f20 | 70 0a 20 20 20 20 20 20 37 30 0a 20 20 20 20 20    20 28 66 6f 72 6d 61 74 20 22 54 68 69 73 20 25 | p.......70.......(format."This.% | 
| 16f40 | 73 20 69 73 20 6f 62 73 6f 6c 65 74 65 25 73 25    73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | s.is.obsolete%s%s".............. | 
| 16f60 | 20 28 68 65 6c 70 66 75 6c 2d 2d 6b 69 6e 64 2d    6e 61 6d 65 20 73 79 6d 20 63 61 6c 6c 61 62 6c | .(helpful--kind-name.sym.callabl | 
| 16f80 | 65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 69 66 20 64 61 74 65 20 28 66 6f 72 | e-p)...............(if.date.(for | 
| 16fa0 | 6d 61 74 20 22 20 73 69 6e 63 65 20 25 73 22 20    64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 | mat.".since.%s".date)........... | 
| 16fc0 | 20 20 20 20 20 20 22 22 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 | ......"")...............(cond.(( | 
| 16fe0 | 73 74 72 69 6e 67 70 20 75 73 65 29 20 28 63 6f    6e 63 61 74 20 22 3b 20 22 20 75 73 65 29 29 0a | stringp.use).(concat.";.".use)). | 
| 17000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 75 73 65 20 28 66 6f 72 6d 61 74 | ....................(use.(format | 
| 17020 | 20 22 3b 20 75 73 65 20 60 25 73 27 20 69 6e 73    74 65 61 64 2e 22 20 75 73 65 29 29 0a 20 20 20 | .";.use.`%s'.instead.".use)).... | 
| 17040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 74 20 22 2e 22 29 29 29 29 29 29 29 0a 0a | .................(t."."))))))).. | 
| 17060 | 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d    64 6f 63 73 74 72 69 6e 67 20 28 73 79 6d 20 63 | (defun.helpful--docstring.(sym.c | 
| 17080 | 61 6c 6c 61 62 6c 65 2d 70 29 0a 20 20 22 47 65    74 20 74 68 65 20 64 6f 63 73 74 72 69 6e 67 20 | allable-p)..."Get.the.docstring. | 
| 170a0 | 66 6f 72 20 53 59 4d 2e 0a 4e 6f 74 65 20 74 68    61 74 20 74 68 69 73 20 72 65 74 75 72 6e 73 20 | for.SYM..Note.that.this.returns. | 
| 170c0 | 74 68 65 20 72 61 77 20 64 6f 63 73 74 72 69 6e    67 2c 20 69 6e 63 6c 75 64 69 6e 67 20 5c 5c 3d | the.raw.docstring,.including.\\= | 
| 170e0 | 5c 5c 3d 0a 65 73 63 61 70 65 73 20 74 68 61 74    20 61 72 65 20 75 73 65 64 20 62 79 20 60 73 75 | \\=.escapes.that.are.used.by.`su | 
| 17100 | 62 73 74 69 74 75 74 65 2d 63 6f 6d 6d 61 6e 64    2d 6b 65 79 73 27 2e 22 0a 20 20 28 6c 65 74 20 | bstitute-command-keys'."...(let. | 
| 17120 | 28 28 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73    74 79 6c 65 20 27 67 72 61 76 65 29 0a 20 20 20 | ((text-quoting-style.'grave).... | 
| 17140 | 20 20 20 20 20 64 6f 63 73 74 72 69 6e 67 29 0a    20 20 20 20 28 69 66 20 63 61 6c 6c 61 62 6c 65 | .....docstring).....(if.callable | 
| 17160 | 2d 70 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67    6e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 | -p.........(progn...........(set | 
| 17180 | 71 20 64 6f 63 73 74 72 69 6e 67 20 28 64 6f 63    75 6d 65 6e 74 61 74 69 6f 6e 20 73 79 6d 20 74 | q.docstring.(documentation.sym.t | 
| 171a0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 77    68 65 6e 2d 6c 65 74 20 28 64 6f 63 73 74 72 69 | ))...........(-when-let.(docstri | 
| 171c0 | 6e 67 2d 77 69 74 68 2d 75 73 61 67 65 20 28 68    65 6c 70 2d 73 70 6c 69 74 2d 66 75 6e 64 6f 63 | ng-with-usage.(help-split-fundoc | 
| 171e0 | 20 64 6f 63 73 74 72 69 6e 67 20 73 79 6d 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 | .docstring.sym)).............(se | 
| 17200 | 74 71 20 64 6f 63 73 74 72 69 6e 67 20 28 63 64    72 20 64 6f 63 73 74 72 69 6e 67 2d 77 69 74 68 | tq.docstring.(cdr.docstring-with | 
| 17220 | 2d 75 73 61 67 65 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 77 68 65 6e 20 64 6f 63 73 74 | -usage)).............(when.docst | 
| 17240 | 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3b 3b 20 41 64 76 69 63 65 20 6d 75 74 | ring...............;;.Advice.mut | 
| 17260 | 61 74 65 73 20 74 68 65 20 64 6f 63 73 74 72 69    6e 67 2c 20 73 65 65 0a 20 20 20 20 20 20 20 20 | ates.the.docstring,.see......... | 
| 17280 | 20 20 20 20 20 20 3b 3b 20 60 61 64 76 69 63 65    2d 2d 6d 61 6b 65 2d 64 6f 63 73 74 72 69 6e 67 | ......;;.`advice--make-docstring | 
| 172a0 | 27 2e 20 55 6e 64 6f 20 74 68 61 74 2e 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 | '..Undo.that................;;.T | 
| 172c0 | 4f 44 4f 3a 20 4f 6e 6c 79 20 64 6f 20 74 68 69    73 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f | ODO:.Only.do.this.if.the.functio | 
| 172e0 | 6e 20 69 73 20 61 64 76 69 73 65 64 2e 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 | n.is.advised................(set | 
| 17300 | 71 20 64 6f 63 73 74 72 69 6e 67 20 28 68 65 6c    70 66 75 6c 2d 2d 73 6b 69 70 2d 61 64 76 69 63 | q.docstring.(helpful--skip-advic | 
| 17320 | 65 20 64 6f 63 73 74 72 69 6e 67 29 29 29 29 29    0a 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 63 | e.docstring))))).......(setq.doc | 
| 17340 | 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 64 6f 63 75 6d 65 6e 74 61 74 69 6f | string.............(documentatio | 
| 17360 | 6e 2d 70 72 6f 70 65 72 74 79 20 73 79 6d 20 27    76 61 72 69 61 62 6c 65 2d 64 6f 63 75 6d 65 6e | n-property.sym.'variable-documen | 
| 17380 | 74 61 74 69 6f 6e 20 74 29 29 29 0a 20 20 20 20    64 6f 63 73 74 72 69 6e 67 29 29 0a 0a 28 64 65 | tation.t))).....docstring))..(de | 
| 173a0 | 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 72 65 61    64 2d 73 79 6d 62 6f 6c 20 28 70 72 6f 6d 70 74 | fun.helpful--read-symbol.(prompt | 
| 173c0 | 20 64 65 66 61 75 6c 74 2d 76 61 6c 20 70 72 65    64 69 63 61 74 65 29 0a 20 20 22 52 65 61 64 20 | .default-val.predicate)..."Read. | 
| 173e0 | 61 20 73 79 6d 62 6f 6c 20 66 72 6f 6d 20 74 68    65 20 6d 69 6e 69 62 75 66 66 65 72 2c 20 77 69 | a.symbol.from.the.minibuffer,.wi | 
| 17400 | 74 68 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e 0a 52    65 74 75 72 6e 73 20 74 68 65 20 73 79 6d 62 6f | th.completion..Returns.the.symbo | 
| 17420 | 6c 2e 22 0a 20 20 28 77 68 65 6e 20 28 61 6e 64    20 64 65 66 61 75 6c 74 2d 76 61 6c 0a 20 20 20 | l."...(when.(and.default-val.... | 
| 17440 | 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28    66 75 6e 63 61 6c 6c 20 70 72 65 64 69 63 61 74 | ..........(not.(funcall.predicat | 
| 17460 | 65 20 64 65 66 61 75 6c 74 2d 76 61 6c 29 29 29    0a 20 20 20 20 28 73 65 74 71 20 64 65 66 61 75 | e.default-val))).....(setq.defau | 
| 17480 | 6c 74 2d 76 61 6c 20 6e 69 6c 29 29 0a 20 20 28    77 68 65 6e 20 64 65 66 61 75 6c 74 2d 76 61 6c | lt-val.nil))...(when.default-val | 
| 174a0 | 0a 20 20 20 20 3b 3b 20 60 63 6f 6d 70 6c 65 74    69 6e 67 2d 72 65 61 64 27 20 65 78 70 65 63 74 | .....;;.`completing-read'.expect | 
| 174c0 | 73 20 61 20 73 74 72 69 6e 67 2e 0a 20 20 20 20    28 73 65 74 71 20 64 65 66 61 75 6c 74 2d 76 61 | s.a.string......(setq.default-va | 
| 174e0 | 6c 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 64    65 66 61 75 6c 74 2d 76 61 6c 29 29 0a 0a 20 20 | l.(symbol-name.default-val)).... | 
| 17500 | 20 20 3b 3b 20 54 4f 44 4f 3a 20 4f 6e 6c 79 20    6d 6f 64 69 66 79 20 74 68 65 20 70 72 6f 6d 70 | ..;;.TODO:.Only.modify.the.promp | 
| 17520 | 74 20 77 68 65 6e 20 77 65 20 64 6f 6e 27 74 20    68 61 76 65 20 69 64 6f 2f 69 76 79 2f 68 65 6c | t.when.we.don't.have.ido/ivy/hel | 
| 17540 | 6d 2c 0a 20 20 20 20 3b 3b 20 62 65 63 61 75 73    65 20 74 68 65 20 64 65 66 61 75 6c 74 20 69 73 | m,.....;;.because.the.default.is | 
| 17560 | 20 6f 62 76 69 6f 75 73 20 66 6f 72 20 74 68 65    6d 2e 0a 20 20 20 20 28 73 65 74 71 20 70 72 6f | .obvious.for.them......(setq.pro | 
| 17580 | 6d 70 74 0a 20 20 20 20 20 20 20 20 20 20 28 72    65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e | mpt...........(replace-regexp-in | 
| 175a0 | 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20    20 20 20 28 72 78 20 22 3a 20 22 20 65 6f 73 29 | -string............(rx.":.".eos) | 
| 175c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72    6d 61 74 20 22 20 28 64 65 66 61 75 6c 74 3a 20 | ............(format.".(default:. | 
| 175e0 | 25 73 29 3a 20 22 20 64 65 66 61 75 6c 74 2d 76    61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 70 | %s):.".default-val)............p | 
| 17600 | 72 6f 6d 70 74 29 29 29 0a 20 20 28 69 6e 74 65    72 6e 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 | rompt)))...(intern.(completing-r | 
| 17620 | 65 61 64 20 70 72 6f 6d 70 74 20 6f 62 61 72 72    61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ead.prompt.obarray.............. | 
| 17640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72    65 64 69 63 61 74 65 20 74 20 6e 69 6c 20 6e 69 | ..............predicate.t.nil.ni | 
| 17660 | 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 | l............................def | 
| 17680 | 61 75 6c 74 2d 76 61 6c 29 29 29 0a 0a 28 64 65    66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 75 70 64 | ault-val)))..(defun.helpful--upd | 
| 176a0 | 61 74 65 2d 61 6e 64 2d 73 77 69 74 63 68 2d 62    75 66 66 65 72 20 28 73 79 6d 62 6f 6c 20 63 61 | ate-and-switch-buffer.(symbol.ca | 
| 176c0 | 6c 6c 61 62 6c 65 2d 70 29 0a 20 20 22 55 70 64    61 74 65 20 61 6e 64 20 73 77 69 74 63 68 20 74 | llable-p)..."Update.and.switch.t | 
| 176e0 | 6f 20 68 65 6c 70 20 62 75 66 66 65 72 20 66 6f    72 20 53 59 4d 42 4f 4c 2e 22 0a 20 20 28 6c 65 | o.help.buffer.for.SYMBOL."...(le | 
| 17700 | 74 20 28 28 62 75 66 20 28 68 65 6c 70 66 75 6c    2d 2d 62 75 66 66 65 72 20 73 79 6d 62 6f 6c 20 | t.((buf.(helpful--buffer.symbol. | 
| 17720 | 63 61 6c 6c 61 62 6c 65 2d 70 29 29 29 0a 20 20    20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d | callable-p))).....(with-current- | 
| 17740 | 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 20    20 28 68 65 6c 70 66 75 6c 2d 75 70 64 61 74 65 | buffer.buf.......(helpful-update | 
| 17760 | 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20    68 65 6c 70 66 75 6c 2d 73 77 69 74 63 68 2d 62 | )).....(funcall.helpful-switch-b | 
| 17780 | 75 66 66 65 72 2d 66 75 6e 63 74 69 6f 6e 20 62    75 66 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 | uffer-function.buf)))..;;;###aut | 
| 177a0 | 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 68 65 6c    70 66 75 6c 2d 66 75 6e 63 74 69 6f 6e 20 28 73 | oload.(defun.helpful-function.(s | 
| 177c0 | 79 6d 62 6f 6c 29 0a 20 20 22 53 68 6f 77 20 68    65 6c 70 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e | ymbol)..."Show.help.for.function | 
| 177e0 | 20 6e 61 6d 65 64 20 53 59 4d 42 4f 4c 2e 0a 0a    53 65 65 20 61 6c 73 6f 20 60 68 65 6c 70 66 75 | .named.SYMBOL...See.also.`helpfu | 
| 17800 | 6c 2d 6d 61 63 72 6f 27 2c 20 60 68 65 6c 70 66    75 6c 2d 63 6f 6d 6d 61 6e 64 27 20 61 6e 64 20 | l-macro',.`helpful-command'.and. | 
| 17820 | 60 68 65 6c 70 66 75 6c 2d 63 61 6c 6c 61 62 6c    65 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 | `helpful-callable'."...(interact | 
| 17840 | 69 76 65 0a 20 20 20 28 6c 69 73 74 20 28 68 65    6c 70 66 75 6c 2d 2d 72 65 61 64 2d 73 79 6d 62 | ive....(list.(helpful--read-symb | 
| 17860 | 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 22 46 75    6e 63 74 69 6f 6e 3a 20 22 0a 20 20 20 20 20 20 | ol..........."Function:."....... | 
| 17880 | 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 63 61    6c 6c 61 62 6c 65 2d 61 74 2d 70 6f 69 6e 74 29 | ....(helpful--callable-at-point) | 
| 178a0 | 0a 20 20 20 20 20 20 20 20 20 20 23 27 66 75 6e    63 74 69 6f 6e 70 29 29 29 0a 20 20 28 68 65 6c | ...........#'functionp)))...(hel | 
| 178c0 | 70 66 75 6c 2d 2d 75 70 64 61 74 65 2d 61 6e 64    2d 73 77 69 74 63 68 2d 62 75 66 66 65 72 20 73 | pful--update-and-switch-buffer.s | 
| 178e0 | 79 6d 62 6f 6c 20 74 29 29 0a 0a 3b 3b 3b 23 23    23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e | ymbol.t))..;;;###autoload.(defun | 
| 17900 | 20 68 65 6c 70 66 75 6c 2d 63 6f 6d 6d 61 6e 64    20 28 73 79 6d 62 6f 6c 29 0a 20 20 22 53 68 6f | .helpful-command.(symbol)..."Sho | 
| 17920 | 77 20 68 65 6c 70 20 66 6f 72 20 69 6e 74 65 72    61 63 74 69 76 65 20 66 75 6e 63 74 69 6f 6e 20 | w.help.for.interactive.function. | 
| 17940 | 6e 61 6d 65 64 20 53 59 4d 42 4f 4c 2e 0a 0a 53    65 65 20 61 6c 73 6f 20 60 68 65 6c 70 66 75 6c | named.SYMBOL...See.also.`helpful | 
| 17960 | 2d 66 75 6e 63 74 69 6f 6e 27 2e 22 0a 20 20 28    69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 | -function'."...(interactive....( | 
| 17980 | 6c 69 73 74 20 28 68 65 6c 70 66 75 6c 2d 2d 72    65 61 64 2d 73 79 6d 62 6f 6c 0a 20 20 20 20 20 | list.(helpful--read-symbol...... | 
| 179a0 | 20 20 20 20 20 22 43 6f 6d 6d 61 6e 64 3a 20 22    0a 20 20 20 20 20 20 20 20 20 20 28 68 65 6c 70 | ....."Command:."...........(help | 
| 179c0 | 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c 65 2d 61 74    2d 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 | ful--callable-at-point)......... | 
| 179e0 | 20 20 23 27 63 6f 6d 6d 61 6e 64 70 29 29 29 0a    20 20 28 68 65 6c 70 66 75 6c 2d 2d 75 70 64 61 | ..#'commandp)))...(helpful--upda | 
| 17a00 | 74 65 2d 61 6e 64 2d 73 77 69 74 63 68 2d 62 75    66 66 65 72 20 73 79 6d 62 6f 6c 20 74 29 29 0a | te-and-switch-buffer.symbol.t)). | 
| 17a20 | 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a    28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 6b | .;;;###autoload.(defun.helpful-k | 
| 17a40 | 65 79 20 28 6b 65 79 2d 73 65 71 75 65 6e 63 65    29 0a 20 20 22 53 68 6f 77 20 68 65 6c 70 20 66 | ey.(key-sequence)..."Show.help.f | 
| 17a60 | 6f 72 20 69 6e 74 65 72 61 63 74 69 76 65 20 63    6f 6d 6d 61 6e 64 20 62 6f 75 6e 64 20 74 6f 20 | or.interactive.command.bound.to. | 
| 17a80 | 4b 45 59 2d 53 45 51 55 45 4e 43 45 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 | KEY-SEQUENCE."...(interactive... | 
| 17aa0 | 20 28 6c 69 73 74 20 28 72 65 61 64 2d 6b 65 79    2d 73 65 71 75 65 6e 63 65 20 22 50 72 65 73 73 | .(list.(read-key-sequence."Press | 
| 17ac0 | 20 6b 65 79 3a 20 22 29 29 29 0a 20 20 28 6c 65    74 20 28 28 73 79 6d 20 28 6b 65 79 2d 62 69 6e | .key:.")))...(let.((sym.(key-bin | 
| 17ae0 | 64 69 6e 67 20 6b 65 79 2d 73 65 71 75 65 6e 63    65 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 | ding.key-sequence))).....(cond.. | 
| 17b00 | 20 20 20 20 28 28 6e 75 6c 6c 20 73 79 6d 29 0a    20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f | ....((null.sym).......(user-erro | 
| 17b20 | 72 20 22 4e 6f 20 63 6f 6d 6d 61 6e 64 20 69 73    20 62 6f 75 6e 64 20 74 6f 20 25 73 22 0a 20 20 | r."No.command.is.bound.to.%s"... | 
| 17b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 6b 65 79 2d 64 65 73 63 72 69 70 74 69 6f 6e | ................(key-description | 
| 17b60 | 20 6b 65 79 2d 73 65 71 75 65 6e 63 65 29 29 29    0a 20 20 20 20 20 28 28 63 6f 6d 6d 61 6e 64 70 | .key-sequence)))......((commandp | 
| 17b80 | 20 73 79 6d 29 0a 20 20 20 20 20 20 28 68 65 6c    70 66 75 6c 2d 2d 75 70 64 61 74 65 2d 61 6e 64 | .sym).......(helpful--update-and | 
| 17ba0 | 2d 73 77 69 74 63 68 2d 62 75 66 66 65 72 20 73    79 6d 20 74 29 29 0a 20 20 20 20 20 28 74 0a 20 | -switch-buffer.sym.t))......(t.. | 
| 17bc0 | 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72    20 22 25 73 20 69 73 20 62 6f 75 6e 64 20 74 6f | .....(user-error."%s.is.bound.to | 
| 17be0 | 20 25 73 20 77 68 69 63 68 20 69 73 20 6e 6f 74    20 61 20 63 6f 6d 6d 61 6e 64 22 0a 20 20 20 20 | .%s.which.is.not.a.command"..... | 
| 17c00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b    65 79 2d 64 65 73 63 72 69 70 74 69 6f 6e 20 6b | ..............(key-description.k | 
| 17c20 | 65 79 2d 73 65 71 75 65 6e 63 65 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | ey-sequence)...................s | 
| 17c40 | 79 6d 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61    75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 68 | ym)))))..;;;###autoload.(defun.h | 
| 17c60 | 65 6c 70 66 75 6c 2d 6d 61 63 72 6f 20 28 73 79    6d 62 6f 6c 29 0a 20 20 22 53 68 6f 77 20 68 65 | elpful-macro.(symbol)..."Show.he | 
| 17c80 | 6c 70 20 66 6f 72 20 6d 61 63 72 6f 20 6e 61 6d    65 64 20 53 59 4d 42 4f 4c 2e 22 0a 20 20 28 69 | lp.for.macro.named.SYMBOL."...(i | 
| 17ca0 | 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c    69 73 74 20 28 68 65 6c 70 66 75 6c 2d 2d 72 65 | nteractive....(list.(helpful--re | 
| 17cc0 | 61 64 2d 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20    20 20 20 20 22 4d 61 63 72 6f 3a 20 22 0a 20 20 | ad-symbol..........."Macro:."... | 
| 17ce0 | 20 20 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c    2d 2d 63 61 6c 6c 61 62 6c 65 2d 61 74 2d 70 6f | ........(helpful--callable-at-po | 
| 17d00 | 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 23    27 6d 61 63 72 6f 70 29 29 29 0a 20 20 28 68 65 | int)...........#'macrop)))...(he | 
| 17d20 | 6c 70 66 75 6c 2d 2d 75 70 64 61 74 65 2d 61 6e    64 2d 73 77 69 74 63 68 2d 62 75 66 66 65 72 20 | lpful--update-and-switch-buffer. | 
| 17d40 | 73 79 6d 62 6f 6c 20 74 29 29 0a 0a 3b 3b 3b 23    23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 | symbol.t))..;;;###autoload.(defu | 
| 17d60 | 6e 20 68 65 6c 70 66 75 6c 2d 63 61 6c 6c 61 62    6c 65 20 28 73 79 6d 62 6f 6c 29 0a 20 20 22 53 | n.helpful-callable.(symbol)..."S | 
| 17d80 | 68 6f 77 20 68 65 6c 70 20 66 6f 72 20 66 75 6e    63 74 69 6f 6e 2c 20 6d 61 63 72 6f 20 6f 72 20 | how.help.for.function,.macro.or. | 
| 17da0 | 73 70 65 63 69 61 6c 20 66 6f 72 6d 20 6e 61 6d    65 64 20 53 59 4d 42 4f 4c 2e 0a 0a 53 65 65 20 | special.form.named.SYMBOL...See. | 
| 17dc0 | 61 6c 73 6f 20 60 68 65 6c 70 66 75 6c 2d 6d 61    63 72 6f 27 2c 20 60 68 65 6c 70 66 75 6c 2d 66 | also.`helpful-macro',.`helpful-f | 
| 17de0 | 75 6e 63 74 69 6f 6e 27 20 61 6e 64 20 60 68 65    6c 70 66 75 6c 2d 63 6f 6d 6d 61 6e 64 27 2e 22 | unction'.and.`helpful-command'." | 
| 17e00 | 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a    20 20 20 28 6c 69 73 74 20 28 68 65 6c 70 66 75 | ...(interactive....(list.(helpfu | 
| 17e20 | 6c 2d 2d 72 65 61 64 2d 73 79 6d 62 6f 6c 0a 20    20 20 20 20 20 20 20 20 20 22 43 61 6c 6c 61 62 | l--read-symbol..........."Callab | 
| 17e40 | 6c 65 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20    28 68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 61 62 | le:."...........(helpful--callab | 
| 17e60 | 6c 65 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 20    20 20 20 20 20 20 20 23 27 66 62 6f 75 6e 64 70 | le-at-point)...........#'fboundp | 
| 17e80 | 29 29 29 0a 20 20 28 68 65 6c 70 66 75 6c 2d 2d    75 70 64 61 74 65 2d 61 6e 64 2d 73 77 69 74 63 | )))...(helpful--update-and-switc | 
| 17ea0 | 68 2d 62 75 66 66 65 72 20 73 79 6d 62 6f 6c 20    74 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 | h-buffer.symbol.t))..(defun.help | 
| 17ec0 | 66 75 6c 2d 2d 76 61 72 69 61 62 6c 65 2d 70 20    28 73 79 6d 62 6f 6c 29 0a 20 20 22 52 65 74 75 | ful--variable-p.(symbol)..."Retu | 
| 17ee0 | 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 53 59    4d 42 4f 4c 20 69 73 20 61 20 76 61 72 69 61 62 | rn.non-nil.if.SYMBOL.is.a.variab | 
| 17f00 | 6c 65 2e 22 0a 20 20 28 6f 72 20 28 67 65 74 20    73 79 6d 62 6f 6c 20 27 76 61 72 69 61 62 6c 65 | le."...(or.(get.symbol.'variable | 
| 17f20 | 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 29 0a    20 20 20 20 20 20 28 61 6e 64 20 28 62 6f 75 6e | -documentation).......(and.(boun | 
| 17f40 | 64 70 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20    20 20 20 20 20 20 28 6e 6f 74 20 28 6b 65 79 77 | dp.symbol)............(not.(keyw | 
| 17f60 | 6f 72 64 70 20 73 79 6d 62 6f 6c 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 | ordp.symbol))............(not.(e | 
| 17f80 | 71 20 73 79 6d 62 6f 6c 20 6e 69 6c 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 | q.symbol.nil))............(not.( | 
| 17fa0 | 65 71 20 73 79 6d 62 6f 6c 20 74 29 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c | eq.symbol.t)))))..(defun.helpful | 
| 17fc0 | 2d 2d 62 6f 75 6e 64 2d 70 20 28 73 79 6d 62 6f    6c 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e | --bound-p.(symbol)..."Return.non | 
| 17fe0 | 2d 6e 69 6c 20 69 66 20 53 59 4d 42 4f 4c 20 69    73 20 61 20 76 61 72 69 61 62 6c 65 2c 20 63 61 | -nil.if.SYMBOL.is.a.variable,.ca | 
| 18000 | 6c 6c 61 62 6c 65 2c 20 6f 72 20 66 61 63 65 2e    0a 0a 54 68 69 73 20 64 69 66 66 65 72 73 20 66 | llable,.or.face...This.differs.f | 
| 18020 | 72 6f 6d 20 60 62 6f 75 6e 64 70 27 20 62 65 63    61 75 73 65 20 77 65 20 64 6f 20 6e 6f 74 20 63 | rom.`boundp'.because.we.do.not.c | 
| 18040 | 6f 6e 73 69 64 65 72 20 6e 69 6c 2c 20 74 0a 6f    72 20 3a 66 6f 6f 2e 22 0a 20 20 28 6f 72 20 28 | onsider.nil,.t.or.:foo."...(or.( | 
| 18060 | 66 62 6f 75 6e 64 70 20 73 79 6d 62 6f 6c 29 0a    20 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d | fboundp.symbol).......(helpful-- | 
| 18080 | 76 61 72 69 61 62 6c 65 2d 70 20 73 79 6d 62 6f    6c 29 0a 20 20 20 20 20 20 28 66 61 63 65 70 20 | variable-p.symbol).......(facep. | 
| 180a0 | 73 79 6d 62 6f 6c 29 29 29 0a 0a 28 64 65 66 75    6e 20 68 65 6c 70 66 75 6c 2d 2d 62 6f 6f 6b 6d | symbol)))..(defun.helpful--bookm | 
| 180c0 | 61 72 6b 2d 6a 75 6d 70 20 28 62 6f 6f 6b 6d 61    72 6b 29 0a 20 20 22 43 72 65 61 74 65 20 61 6e | ark-jump.(bookmark)..."Create.an | 
| 180e0 | 64 20 73 77 69 74 63 68 20 74 6f 20 68 65 6c 70    66 75 6c 20 62 6f 6f 6b 6d 61 72 6b 20 42 4f 4f | d.switch.to.helpful.bookmark.BOO | 
| 18100 | 4b 4d 41 52 4b 2e 22 0a 20 20 28 6c 65 74 20 28    28 63 61 6c 6c 61 62 6c 65 2d 70 20 28 62 6f 6f | KMARK."...(let.((callable-p.(boo | 
| 18120 | 6b 6d 61 72 6b 2d 70 72 6f 70 2d 67 65 74 20 62    6f 6f 6b 6d 61 72 6b 20 27 63 61 6c 6c 61 62 6c | kmark-prop-get.bookmark.'callabl | 
| 18140 | 65 2d 70 29 29 0a 20 20 20 20 20 20 20 20 28 73    79 6d 20 28 62 6f 6f 6b 6d 61 72 6b 2d 70 72 6f | e-p)).........(sym.(bookmark-pro | 
| 18160 | 70 2d 67 65 74 20 62 6f 6f 6b 6d 61 72 6b 20 27    73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 28 70 | p-get.bookmark.'sym)).........(p | 
| 18180 | 6f 73 69 74 69 6f 6e 20 28 62 6f 6f 6b 6d 61 72    6b 2d 70 72 6f 70 2d 67 65 74 20 62 6f 6f 6b 6d | osition.(bookmark-prop-get.bookm | 
| 181a0 | 61 72 6b 20 27 70 6f 73 69 74 69 6f 6e 29 29 29    0a 20 20 20 20 28 69 66 20 63 61 6c 6c 61 62 6c | ark.'position))).....(if.callabl | 
| 181c0 | 65 2d 70 0a 20 20 20 20 20 20 20 20 28 68 65 6c    70 66 75 6c 2d 63 61 6c 6c 61 62 6c 65 20 73 79 | e-p.........(helpful-callable.sy | 
| 181e0 | 6d 29 0a 20 20 20 20 20 20 28 68 65 6c 70 66 75    6c 2d 76 61 72 69 61 62 6c 65 20 73 79 6d 29 29 | m).......(helpful-variable.sym)) | 
| 18200 | 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20    70 6f 73 69 74 69 6f 6e 29 29 29 0a 0a 28 64 65 | .....(goto-char.position)))..(de | 
| 18220 | 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 62 6f 6f    6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 | fun.helpful--bookmark-make-recor | 
| 18240 | 64 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 61    20 62 6f 6f 6b 6d 61 72 6b 20 72 65 63 6f 72 64 | d.()..."Create.a.bookmark.record | 
| 18260 | 20 66 6f 72 20 68 65 6c 70 66 75 6c 20 62 75 66    66 65 72 73 2e 0a 0a 53 65 65 20 64 6f 63 73 20 | .for.helpful.buffers...See.docs. | 
| 18280 | 6f 66 20 60 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b    65 2d 72 65 63 6f 72 64 2d 66 75 6e 63 74 69 6f | of.`bookmark-make-record-functio | 
| 182a0 | 6e 27 2e 22 0a 20 20 60 28 28 73 79 6d 20 2e 20    2c 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 29 0a 20 | n'."...`((sym...,helpful--sym).. | 
| 182c0 | 20 20 20 28 63 61 6c 6c 61 62 6c 65 2d 70 20 2e    20 2c 68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 61 | ...(callable-p...,helpful--calla | 
| 182e0 | 62 6c 65 2d 70 29 0a 20 20 20 20 28 70 6f 73 69    74 69 6f 6e 20 20 20 20 2e 20 2c 28 70 6f 69 6e | ble-p).....(position......,(poin | 
| 18300 | 74 29 29 0a 20 20 20 20 28 68 61 6e 64 6c 65 72    20 20 20 20 20 2e 20 68 65 6c 70 66 75 6c 2d 2d | t)).....(handler.......helpful-- | 
| 18320 | 62 6f 6f 6b 6d 61 72 6b 2d 6a 75 6d 70 29 29 29    0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c | bookmark-jump)))..(defun.helpful | 
| 18340 | 2d 2d 63 6f 6e 76 65 72 74 2d 63 2d 6e 61 6d 65    20 28 73 79 6d 62 6f 6c 20 76 61 72 29 0a 20 20 | --convert-c-name.(symbol.var)... | 
| 18360 | 22 43 6f 6e 76 65 72 74 20 53 59 4d 42 4f 4c 20    66 72 6f 6d 20 61 20 43 20 6e 61 6d 65 20 74 6f | "Convert.SYMBOL.from.a.C.name.to | 
| 18380 | 20 61 6e 20 45 6c 69 73 70 20 6e 61 6d 65 2e 0a    45 2e 67 2e 20 63 6f 6e 76 65 72 74 20 60 46 6d | .an.Elisp.name..E.g..convert.`Fm | 
| 183a0 | 61 6b 65 5f 73 74 72 69 6e 67 27 20 74 6f 20 60    6d 61 6b 65 2d 73 74 72 69 6e 67 27 20 6f 72 0a | ake_string'.to.`make-string'.or. | 
| 183c0 | 60 56 67 63 5f 63 6f 6e 73 5f 70 65 72 63 65 6e    74 61 67 65 27 20 74 6f 20 60 67 63 2d 63 6f 6e | `Vgc_cons_percentage'.to.`gc-con | 
| 183e0 | 73 2d 70 65 72 63 65 6e 74 61 67 65 27 2e 20 49    6e 74 65 72 70 72 65 74 0a 53 59 4d 42 4f 4c 20 | s-percentage'..Interpret.SYMBOL. | 
| 18400 | 61 73 20 76 61 72 69 61 62 6c 65 20 6e 61 6d 65    20 69 66 20 56 41 52 2c 20 65 6c 73 65 20 61 20 | as.variable.name.if.VAR,.else.a. | 
| 18420 | 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 2e 20 52    65 74 75 72 6e 0a 6e 69 6c 20 69 66 20 53 59 4d | function.name..Return.nil.if.SYM | 
| 18440 | 42 4f 4c 20 64 6f 65 73 6e 27 74 20 62 65 67 69    6e 20 77 69 74 68 20 5c 22 46 5c 22 20 6f 72 20 | BOL.doesn't.begin.with.\"F\".or. | 
| 18460 | 5c 22 56 5c 22 2e 22 0a 20 20 28 6c 65 74 20 28    28 73 74 72 69 6e 67 20 28 73 79 6d 62 6f 6c 2d | \"V\"."...(let.((string.(symbol- | 
| 18480 | 6e 61 6d 65 20 73 79 6d 62 6f 6c 29 29 0a 20 20    20 20 20 20 20 20 28 70 72 65 66 69 78 20 28 69 | name.symbol)).........(prefix.(i | 
| 184a0 | 66 20 76 61 72 20 22 56 22 20 22 46 22 29 29 29    0a 20 20 20 20 28 77 68 65 6e 20 28 73 2d 73 74 | f.var."V"."F"))).....(when.(s-st | 
| 184c0 | 61 72 74 73 2d 77 69 74 68 2d 70 20 70 72 65 66    69 78 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 | arts-with-p.prefix.string)...... | 
| 184e0 | 20 28 69 6e 74 65 72 6e 0a 20 20 20 20 20 20 20    28 73 2d 63 68 6f 70 2d 70 72 65 66 69 78 0a 20 | .(intern........(s-chop-prefix.. | 
| 18500 | 20 20 20 20 20 20 20 70 72 65 66 69 78 0a 20 20    20 20 20 20 20 20 28 73 2d 72 65 70 6c 61 63 65 | .......prefix.........(s-replace | 
| 18520 | 20 22 5f 22 20 22 2d 22 20 73 74 72 69 6e 67 29    29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 | ."_"."-".string))))))..(defun.he | 
| 18540 | 6c 70 66 75 6c 2d 2d 64 69 73 61 6d 62 69 67 75    61 74 65 20 28 73 79 6d 20 63 68 6f 69 63 65 73 | lpful--disambiguate.(sym.choices | 
| 18560 | 29 0a 20 20 22 50 72 6f 6d 70 74 20 74 68 65 20    75 73 65 72 20 74 6f 20 64 69 73 61 6d 62 69 67 | )..."Prompt.the.user.to.disambig | 
| 18580 | 75 61 74 65 20 53 59 4d 20 76 69 61 20 61 20 60    72 65 61 64 2d 63 68 61 72 2d 63 68 6f 69 63 65 | uate.SYM.via.a.`read-char-choice | 
| 185a0 | 27 20 73 65 6c 65 63 74 69 6f 6e 2e 0a 0a 43 48    4f 49 43 45 53 20 69 73 20 61 20 6c 69 73 74 20 | '.selection...CHOICES.is.a.list. | 
| 185c0 | 6f 66 20 74 75 70 6c 65 73 20 6f 66 20 74 68 65    20 66 6f 72 6d 20 28 46 4e 20 44 45 53 43 20 43 | of.tuples.of.the.form.(FN.DESC.C | 
| 185e0 | 48 41 52 29 2c 20 77 68 65 72 65 0a 0a 20 20 43    48 41 52 20 69 73 20 74 68 65 20 69 6e 70 75 74 | HAR),.where....CHAR.is.the.input | 
| 18600 | 20 63 68 61 72 61 63 74 65 72 20 61 73 73 6f 63    69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 63 | .character.associated.with.the.c | 
| 18620 | 68 6f 69 63 65 0a 20 20 44 45 53 43 20 69 73 20    61 20 73 68 6f 72 74 20 64 65 73 63 72 69 70 74 | hoice...DESC.is.a.short.descript | 
| 18640 | 69 6f 6e 20 6f 66 20 74 68 65 20 63 68 6f 69 63    65 20 74 6f 20 64 69 73 70 6c 61 79 20 69 6e 20 | ion.of.the.choice.to.display.in. | 
| 18660 | 74 68 65 20 70 72 6f 6d 70 74 2e 0a 20 20 46 4e    20 69 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e | the.prompt....FN.is.the.function | 
| 18680 | 20 62 65 69 6e 67 20 63 68 6f 73 65 6e 2c 20 77    68 69 63 68 20 74 61 6b 65 73 20 53 59 4d 20 61 | .being.chosen,.which.takes.SYM.a | 
| 186a0 | 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 2e 0a 0a    46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 74 68 | s.an.argument...For.instance,.th | 
| 186c0 | 65 20 63 68 6f 69 63 65 20 28 23 27 68 65 6c 70    66 75 6c 2d 76 61 72 69 61 62 6c 65 20 5c 22 5b | e.choice.(#'helpful-variable.\"[ | 
| 186e0 | 76 5d 61 72 69 61 62 6c 65 5c 22 20 3f 76 29 0a    63 61 6c 6c 73 20 28 68 65 6c 70 66 75 6c 2d 76 | v]ariable\".?v).calls.(helpful-v | 
| 18700 | 61 72 69 61 62 6c 65 20 53 59 4d 29 20 77 68 65    6e 20 74 68 65 20 6b 65 79 20 60 76 27 20 69 73 | ariable.SYM).when.the.key.`v'.is | 
| 18720 | 20 70 72 65 73 73 65 64 20 69 6e 20 74 68 65 20    70 72 6f 6d 70 74 2e 22 0a 20 20 28 6c 65 74 2a | .pressed.in.the.prompt."...(let* | 
| 18740 | 20 28 28 70 72 6f 6d 70 74 20 28 66 6f 72 6d 61    74 20 22 25 73 20 69 73 20 61 6d 62 69 67 75 6f | .((prompt.(format."%s.is.ambiguo | 
| 18760 | 75 73 3a 20 64 65 73 63 72 69 62 65 20 25 73 20    3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | us:.describe.%s.?".............. | 
| 18780 | 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f    70 65 72 74 69 7a 65 20 28 73 79 6d 62 6f 6c 2d | ............(propertize.(symbol- | 
| 187a0 | 6e 61 6d 65 20 73 79 6d 29 20 27 66 61 63 65 20    66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 | name.sym).'face.font-lock-keywor | 
| 187c0 | 64 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | d-face)......................... | 
| 187e0 | 20 28 6d 61 70 63 6f 6e 63 61 74 20 28 2d 6c 61    6d 62 64 61 20 28 28 5f 20 64 65 73 63 20 5f 29 | .(mapconcat.(-lambda.((_.desc._) | 
| 18800 | 29 20 64 65 73 63 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).desc)......................... | 
| 18820 | 20 20 20 20 20 20 20 20 20 20 20 20 63 68 6f 69    63 65 73 20 22 20 2f 20 22 29 29 29 0a 20 20 20 | ............choices."./."))).... | 
| 18840 | 20 20 20 20 20 20 28 63 68 61 72 73 20 28 6d 61    70 63 61 72 20 28 2d 6c 61 6d 62 64 61 20 28 28 | ......(chars.(mapcar.(-lambda.(( | 
| 18860 | 5f 20 5f 20 63 68 61 72 29 29 20 63 68 61 72 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _._.char)).char)................ | 
| 18880 | 20 20 20 20 20 20 20 20 20 63 68 6f 69 63 65 73    29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 6f | .........choices))..........(loo | 
| 188a0 | 6b 75 70 20 28 6d 61 70 63 61 72 20 28 2d 6c 61    6d 62 64 61 20 28 28 66 6e 20 5f 20 63 68 61 72 | kup.(mapcar.(-lambda.((fn._.char | 
| 188c0 | 29 29 20 28 63 6f 6e 73 20 63 68 61 72 20 66 6e    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | )).(cons.char.fn)).............. | 
| 188e0 | 20 20 20 20 20 20 20 20 20 20 20 20 63 68 6f 69    63 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 | ............choices))..........( | 
| 18900 | 69 6e 70 75 74 20 28 72 65 61 64 2d 63 68 61 72    2d 63 68 6f 69 63 65 20 70 72 6f 6d 70 74 20 63 | input.(read-char-choice.prompt.c | 
| 18920 | 68 61 72 73 29 29 29 0a 20 20 20 20 28 66 75 6e    63 61 6c 6c 20 28 61 6c 69 73 74 2d 67 65 74 20 | hars))).....(funcall.(alist-get. | 
| 18940 | 69 6e 70 75 74 20 6c 6f 6f 6b 75 70 29 20 73 79    6d 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f | input.lookup).sym)))..;;;###auto | 
| 18960 | 6c 6f 61 64 0a 28 64 65 66 75 6e 20 68 65 6c 70    66 75 6c 2d 73 79 6d 62 6f 6c 20 28 73 79 6d 62 | load.(defun.helpful-symbol.(symb | 
| 18980 | 6f 6c 29 0a 20 20 22 53 68 6f 77 20 68 65 6c 70    20 66 6f 72 20 53 59 4d 42 4f 4c 2c 20 61 20 76 | ol)..."Show.help.for.SYMBOL,.a.v | 
| 189a0 | 61 72 69 61 62 6c 65 2c 20 66 75 6e 63 74 69 6f    6e 2c 20 6d 61 63 72 6f 2c 20 6f 72 20 66 61 63 | ariable,.function,.macro,.or.fac | 
| 189c0 | 65 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 68 65    6c 70 66 75 6c 2d 63 61 6c 6c 61 62 6c 65 27 20 | e...See.also.`helpful-callable'. | 
| 189e0 | 61 6e 64 20 60 68 65 6c 70 66 75 6c 2d 76 61 72    69 61 62 6c 65 27 2e 22 0a 20 20 28 69 6e 74 65 | and.`helpful-variable'."...(inte | 
| 18a00 | 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 73 74    20 28 68 65 6c 70 66 75 6c 2d 2d 72 65 61 64 2d | ractive....(list.(helpful--read- | 
| 18a20 | 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 20 20    20 22 53 79 6d 62 6f 6c 3a 20 22 0a 20 20 20 20 | symbol..........."Symbol:."..... | 
| 18a40 | 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d    73 79 6d 62 6f 6c 2d 61 74 2d 70 6f 69 6e 74 29 | ......(helpful--symbol-at-point) | 
| 18a60 | 0a 20 20 20 20 20 20 20 20 20 20 23 27 68 65 6c    70 66 75 6c 2d 2d 62 6f 75 6e 64 2d 70 29 29 29 | ...........#'helpful--bound-p))) | 
| 18a80 | 0a 20 20 28 6c 65 74 20 28 63 68 6f 69 63 65 73    29 0a 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 | ...(let.(choices).....(when-let. | 
| 18aa0 | 28 63 2d 76 61 72 2d 73 79 6d 20 28 68 65 6c 70    66 75 6c 2d 2d 63 6f 6e 76 65 72 74 2d 63 2d 6e | (c-var-sym.(helpful--convert-c-n | 
| 18ac0 | 61 6d 65 20 73 79 6d 62 6f 6c 20 74 29 29 0a 20    20 20 20 20 20 28 70 75 73 68 20 28 6c 69 73 74 | ame.symbol.t)).......(push.(list | 
| 18ae0 | 20 28 6c 61 6d 62 64 61 20 28 5f 29 20 28 68 65    6c 70 66 75 6c 2d 76 61 72 69 61 62 6c 65 20 63 | .(lambda.(_).(helpful-variable.c | 
| 18b00 | 2d 76 61 72 2d 73 79 6d 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 2d | -var-sym))..................."c- | 
| 18b20 | 73 74 79 6c 65 20 5b 56 5d 61 72 69 61 62 6c 65    22 20 3f 56 29 0a 20 20 20 20 20 20 20 20 20 20 | style.[V]ariable".?V)........... | 
| 18b40 | 20 20 63 68 6f 69 63 65 73 29 29 0a 20 20 20 20    28 77 68 65 6e 2d 6c 65 74 20 28 63 2d 66 6e 2d | ..choices)).....(when-let.(c-fn- | 
| 18b60 | 73 79 6d 20 28 68 65 6c 70 66 75 6c 2d 2d 63 6f    6e 76 65 72 74 2d 63 2d 6e 61 6d 65 20 73 79 6d | sym.(helpful--convert-c-name.sym | 
| 18b80 | 62 6f 6c 20 6e 69 6c 29 29 0a 20 20 20 20 20 20    28 70 75 73 68 20 28 6c 69 73 74 20 28 6c 61 6d | bol.nil)).......(push.(list.(lam | 
| 18ba0 | 62 64 61 20 28 5f 29 20 28 68 65 6c 70 66 75 6c    2d 63 61 6c 6c 61 62 6c 65 20 63 2d 66 6e 2d 73 | bda.(_).(helpful-callable.c-fn-s | 
| 18bc0 | 79 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 22 63 2d 73 74 79 6c 65 20 | ym))..................."c-style. | 
| 18be0 | 5b 46 5d 75 6e 63 74 69 6f 6e 22 20 3f 46 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 63 68 6f 69 | [F]unction".?F).............choi | 
| 18c00 | 63 65 73 29 29 0a 20 20 20 20 28 77 68 65 6e 20    28 66 62 6f 75 6e 64 70 20 73 79 6d 62 6f 6c 29 | ces)).....(when.(fboundp.symbol) | 
| 18c20 | 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 6c 69    73 74 20 23 27 68 65 6c 70 66 75 6c 2d 63 61 6c | .......(push.(list.#'helpful-cal | 
| 18c40 | 6c 61 62 6c 65 20 22 5b 63 5d 61 6c 6c 61 62 6c    65 22 20 3f 63 29 20 63 68 6f 69 63 65 73 29 29 | lable."[c]allable".?c).choices)) | 
| 18c60 | 0a 20 20 20 20 28 77 68 65 6e 20 28 62 6f 75 6e    64 70 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 | .....(when.(boundp.symbol)...... | 
| 18c80 | 20 28 70 75 73 68 20 28 6c 69 73 74 20 23 27 68    65 6c 70 66 75 6c 2d 76 61 72 69 61 62 6c 65 20 | .(push.(list.#'helpful-variable. | 
| 18ca0 | 22 5b 76 5d 61 72 69 61 62 6c 65 22 20 3f 76 29    20 63 68 6f 69 63 65 73 29 29 0a 20 20 20 20 28 | "[v]ariable".?v).choices)).....( | 
| 18cc0 | 77 68 65 6e 20 28 66 61 63 65 70 20 73 79 6d 62    6f 6c 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 | when.(facep.symbol).......(push. | 
| 18ce0 | 28 6c 69 73 74 20 28 6c 61 6d 62 64 61 20 28 66    61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 | (list.(lambda.(face)............ | 
| 18d00 | 20 20 20 20 20 20 20 20 20 28 64 65 73 63 72 69    62 65 2d 66 61 63 65 20 66 61 63 65 29 0a 20 20 | .........(describe-face.face)... | 
| 18d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 66 75 6e 63 61 6c 6c 20 68 65 6c 70 66 | ..................(funcall.helpf | 
| 18d40 | 75 6c 2d 73 77 69 74 63 68 2d 62 75 66 66 65 72    2d 66 75 6e 63 74 69 6f 6e 20 28 68 65 6c 70 2d | ul-switch-buffer-function.(help- | 
| 18d60 | 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 22 5b 66 5d | buffer)))..................."[f] | 
| 18d80 | 61 63 65 22 20 3f 66 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 63 68 6f 69 63 65 73 29 29 0a 20 | ace".?f).............choices)).. | 
| 18da0 | 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28    6e 75 6c 6c 20 63 68 6f 69 63 65 73 29 0a 20 20 | ...(cond......((null.choices)... | 
| 18dc0 | 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20    22 4e 6f 74 20 62 6f 75 6e 64 3a 20 25 53 22 20 | ....(user-error."Not.bound:.%S". | 
| 18de0 | 73 79 6d 62 6f 6c 29 29 0a 20 20 20 20 20 28 28    3d 20 31 20 28 6c 65 6e 67 74 68 20 63 68 6f 69 | symbol))......((=.1.(length.choi | 
| 18e00 | 63 65 73 29 29 0a 20 20 20 20 20 20 28 66 75 6e    63 61 6c 6c 20 28 63 61 61 72 20 63 68 6f 69 63 | ces)).......(funcall.(caar.choic | 
| 18e20 | 65 73 29 20 73 79 6d 62 6f 6c 29 29 0a 20 20 20    20 20 28 74 20 28 68 65 6c 70 66 75 6c 2d 2d 64 | es).symbol))......(t.(helpful--d | 
| 18e40 | 69 73 61 6d 62 69 67 75 61 74 65 20 73 79 6d 62    6f 6c 20 63 68 6f 69 63 65 73 29 29 29 29 29 0a | isambiguate.symbol.choices))))). | 
| 18e60 | 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a    28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 76 | .;;;###autoload.(defun.helpful-v | 
| 18e80 | 61 72 69 61 62 6c 65 20 28 73 79 6d 62 6f 6c 29    0a 20 20 22 53 68 6f 77 20 68 65 6c 70 20 66 6f | ariable.(symbol)..."Show.help.fo | 
| 18ea0 | 72 20 76 61 72 69 61 62 6c 65 20 6e 61 6d 65 64    20 53 59 4d 42 4f 4c 2e 22 0a 20 20 28 69 6e 74 | r.variable.named.SYMBOL."...(int | 
| 18ec0 | 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 73    74 20 28 68 65 6c 70 66 75 6c 2d 2d 72 65 61 64 | eractive....(list.(helpful--read | 
| 18ee0 | 2d 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 20    20 20 22 56 61 72 69 61 62 6c 65 3a 20 22 0a 20 | -symbol..........."Variable:.".. | 
| 18f00 | 20 20 20 20 20 20 20 20 20 28 68 65 6c 70 66 75    6c 2d 2d 76 61 72 69 61 62 6c 65 2d 61 74 2d 70 | .........(helpful--variable-at-p | 
| 18f20 | 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20    23 27 68 65 6c 70 66 75 6c 2d 2d 76 61 72 69 61 | oint)...........#'helpful--varia | 
| 18f40 | 62 6c 65 2d 70 29 29 29 0a 20 20 28 68 65 6c 70    66 75 6c 2d 2d 75 70 64 61 74 65 2d 61 6e 64 2d | ble-p)))...(helpful--update-and- | 
| 18f60 | 73 77 69 74 63 68 2d 62 75 66 66 65 72 20 73 79    6d 62 6f 6c 20 6e 69 6c 29 29 0a 0a 28 64 65 66 | switch-buffer.symbol.nil))..(def | 
| 18f80 | 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 76 61 72 69    61 62 6c 65 2d 61 74 2d 70 6f 69 6e 74 2d 65 78 | un.helpful--variable-at-point-ex | 
| 18fa0 | 61 63 74 6c 79 20 28 29 0a 20 20 22 52 65 74 75    72 6e 20 74 68 65 20 73 79 6d 62 6f 6c 20 61 74 | actly.()..."Return.the.symbol.at | 
| 18fc0 | 20 70 6f 69 6e 74 2c 20 69 66 20 69 74 27 73 20    61 20 62 6f 75 6e 64 20 76 61 72 69 61 62 6c 65 | .point,.if.it's.a.bound.variable | 
| 18fe0 | 2e 22 0a 20 20 28 6c 65 74 20 28 28 76 61 72 20    28 76 61 72 69 61 62 6c 65 2d 61 74 2d 70 6f 69 | ."...(let.((var.(variable-at-poi | 
| 19000 | 6e 74 29 29 29 0a 20 20 20 20 3b 3b 20 60 76 61    72 69 61 62 6c 65 2d 61 74 2d 70 6f 69 6e 74 27 | nt))).....;;.`variable-at-point' | 
| 19020 | 20 75 73 65 73 20 30 20 72 61 74 68 65 72 20 74    68 61 6e 20 6e 69 6c 20 74 6f 20 73 69 67 6e 69 | .uses.0.rather.than.nil.to.signi | 
| 19040 | 66 79 20 6e 6f 20 73 79 6d 62 6f 6c 0a 20 20 20    20 3b 3b 20 61 74 20 70 6f 69 6e 74 20 28 70 72 | fy.no.symbol.....;;.at.point.(pr | 
| 19060 | 65 73 75 6d 61 62 6c 79 20 62 65 63 61 75 73 65    20 27 6e 69 6c 20 69 73 20 61 20 73 79 6d 62 6f | esumably.because.'nil.is.a.symbo | 
| 19080 | 6c 29 2e 0a 20 20 20 20 28 75 6e 6c 65 73 73 20    28 73 79 6d 62 6f 6c 70 20 76 61 72 29 0a 20 20 | l)......(unless.(symbolp.var)... | 
| 190a0 | 20 20 20 20 28 73 65 74 71 20 76 61 72 20 6e 69    6c 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 68 | ....(setq.var.nil)).....(when.(h | 
| 190c0 | 65 6c 70 66 75 6c 2d 2d 76 61 72 69 61 62 6c 65    2d 70 20 76 61 72 29 0a 20 20 20 20 20 20 76 61 | elpful--variable-p.var).......va | 
| 190e0 | 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c    70 66 75 6c 2d 2d 76 61 72 69 61 62 6c 65 2d 64 | r)))..(defun.helpful--variable-d | 
| 19100 | 65 66 69 6e 65 64 2d 61 74 2d 70 6f 69 6e 74 20    28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 | efined-at-point.()..."Return.the | 
| 19120 | 20 76 61 72 69 61 62 6c 65 20 64 65 66 69 6e 65    64 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 65 6e | .variable.defined.in.the.form.en | 
| 19140 | 63 6c 6f 73 69 6e 67 20 70 6f 69 6e 74 2e 22 0a    20 20 3b 3b 20 54 4f 44 4f 3a 20 64 6f 20 74 68 | closing.point."...;;.TODO:.do.th | 
| 19160 | 65 20 73 61 6d 65 20 74 68 69 6e 67 20 69 66 20    70 6f 69 6e 74 20 69 73 20 6a 75 73 74 20 62 65 | e.same.thing.if.point.is.just.be | 
| 19180 | 66 6f 72 65 20 61 20 74 6f 70 2d 6c 65 76 65 6c    20 66 6f 72 6d 2e 0a 20 20 28 73 61 76 65 2d 65 | fore.a.top-level.form....(save-e | 
| 191a0 | 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 73 61    76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 | xcursion.....(save-restriction.. | 
| 191c0 | 20 20 20 20 20 28 77 69 64 65 6e 29 0a 20 20 20    20 20 20 28 6c 65 74 2a 20 28 28 70 70 73 73 20 | .....(widen).......(let*.((ppss. | 
| 191e0 | 28 73 79 6e 74 61 78 2d 70 70 73 73 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 78 | (syntax-ppss))..............(sex | 
| 19200 | 70 2d 73 74 61 72 74 20 28 6e 74 68 20 31 20 70    70 73 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 | p-start.(nth.1.ppss))........... | 
| 19220 | 20 20 20 73 65 78 70 29 0a 20 20 20 20 20 20 20    20 28 77 68 65 6e 20 73 65 78 70 2d 73 74 61 72 | ...sexp).........(when.sexp-star | 
| 19240 | 74 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74    6f 2d 63 68 61 72 20 73 65 78 70 2d 73 74 61 72 | t...........(goto-char.sexp-star | 
| 19260 | 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 73 65 78 70 20 28 63 6f 6e 64 69 74 69 | t)...........(setq.sexp.(conditi | 
| 19280 | 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | on-case.nil..................... | 
| 192a0 | 20 20 20 20 20 28 72 65 61 64 20 28 63 75 72 72    65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 | .....(read.(current-buffer)).... | 
| 192c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 65 72 72 6f 72 20 6e 69 6c 29 29 | ....................(error.nil)) | 
| 192e0 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65    6e 20 28 6d 65 6d 71 20 28 63 61 72 2d 73 61 66 | )...........(when.(memq.(car-saf | 
| 19300 | 65 20 73 65 78 70 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c | e.sexp).......................(l | 
| 19320 | 69 73 74 20 27 64 65 66 76 61 72 20 27 64 65 66    76 61 72 2d 6c 6f 63 61 6c 20 27 64 65 66 63 75 | ist.'defvar.'defvar-local.'defcu | 
| 19340 | 73 74 6f 6d 20 27 64 65 66 63 6f 6e 73 74 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 | stom.'defconst)).............(nt | 
| 19360 | 68 20 31 20 73 65 78 70 29 29 29 29 29 29 29 0a    0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d | h.1.sexp)))))))..(defun.helpful- | 
| 19380 | 2d 76 61 72 69 61 62 6c 65 2d 61 74 2d 70 6f 69    6e 74 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 | -variable-at-point.()..."Return. | 
| 193a0 | 74 68 65 20 76 61 72 69 61 62 6c 65 20 65 78 61    63 74 6c 79 20 75 6e 64 65 72 20 70 6f 69 6e 74 | the.variable.exactly.under.point | 
| 193c0 | 2c 20 6f 72 20 64 65 66 69 6e 65 64 20 61 74 20    70 6f 69 6e 74 2e 22 0a 20 20 28 6c 65 74 20 28 | ,.or.defined.at.point."...(let.( | 
| 193e0 | 28 76 61 72 20 28 68 65 6c 70 66 75 6c 2d 2d 76    61 72 69 61 62 6c 65 2d 61 74 2d 70 6f 69 6e 74 | (var.(helpful--variable-at-point | 
| 19400 | 2d 65 78 61 63 74 6c 79 29 29 29 0a 20 20 20 20    28 69 66 20 76 61 72 0a 20 20 20 20 20 20 20 20 | -exactly))).....(if.var......... | 
| 19420 | 76 61 72 0a 20 20 20 20 20 20 28 6c 65 74 20 28    28 76 61 72 20 28 68 65 6c 70 66 75 6c 2d 2d 76 | var.......(let.((var.(helpful--v | 
| 19440 | 61 72 69 61 62 6c 65 2d 64 65 66 69 6e 65 64 2d    61 74 2d 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 | ariable-defined-at-point)))..... | 
| 19460 | 20 20 20 20 28 77 68 65 6e 20 28 68 65 6c 70 66    75 6c 2d 2d 76 61 72 69 61 62 6c 65 2d 70 20 76 | ....(when.(helpful--variable-p.v | 
| 19480 | 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 76 61    72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 | ar)...........var)))))..(defun.h | 
| 194a0 | 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c 65    2d 61 74 2d 70 6f 69 6e 74 20 28 29 0a 20 20 28 | elpful--callable-at-point.()...( | 
| 194c0 | 6c 65 74 20 28 28 73 79 6d 20 28 73 79 6d 62 6f    6c 2d 61 74 2d 70 6f 69 6e 74 29 29 0a 20 20 20 | let.((sym.(symbol-at-point)).... | 
| 194e0 | 20 20 20 20 20 28 65 6e 63 6c 6f 73 69 6e 67 2d    73 79 6d 20 28 66 75 6e 63 74 69 6f 6e 2d 63 61 | .....(enclosing-sym.(function-ca | 
| 19500 | 6c 6c 65 64 2d 61 74 2d 70 6f 69 6e 74 29 29 29    0a 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 | lled-at-point))).....(if.(fbound | 
| 19520 | 70 20 73 79 6d 29 0a 20 20 20 20 20 20 20 20 73    79 6d 0a 20 20 20 20 20 20 65 6e 63 6c 6f 73 69 | p.sym).........sym.......enclosi | 
| 19540 | 6e 67 2d 73 79 6d 29 29 29 0a 0a 28 64 65 66 75    6e 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 62 6f | ng-sym)))..(defun.helpful--symbo | 
| 19560 | 6c 2d 61 74 2d 70 6f 69 6e 74 2d 65 78 61 63 74    6c 79 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 | l-at-point-exactly.()..."Return. | 
| 19580 | 74 68 65 20 73 79 6d 62 6f 6c 20 61 74 20 70 6f    69 6e 74 2c 20 69 66 20 69 74 27 73 20 62 6f 75 | the.symbol.at.point,.if.it's.bou | 
| 195a0 | 6e 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 79    6d 20 28 73 79 6d 62 6f 6c 2d 61 74 2d 70 6f 69 | nd."...(let.((sym.(symbol-at-poi | 
| 195c0 | 6e 74 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20    28 68 65 6c 70 66 75 6c 2d 2d 62 6f 75 6e 64 2d | nt))).....(when.(helpful--bound- | 
| 195e0 | 70 20 73 79 6d 29 0a 20 20 20 20 20 20 73 79 6d    29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 | p.sym).......sym)))..(defun.help | 
| 19600 | 66 75 6c 2d 2d 73 79 6d 62 6f 6c 2d 61 74 2d 70    6f 69 6e 74 20 28 29 0a 20 20 22 46 69 6e 64 20 | ful--symbol-at-point.()..."Find. | 
| 19620 | 74 68 65 20 6d 6f 73 74 20 72 65 6c 65 76 61 6e    74 20 73 79 6d 62 6f 6c 20 61 74 20 6f 72 20 61 | the.most.relevant.symbol.at.or.a | 
| 19640 | 72 6f 75 6e 64 20 70 6f 69 6e 74 2e 0a 52 65 74    75 72 6e 73 20 6e 69 6c 20 69 66 20 6e 6f 74 68 | round.point..Returns.nil.if.noth | 
| 19660 | 69 6e 67 20 66 6f 75 6e 64 2e 22 0a 20 20 28 6f    72 0a 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 73 | ing.found."...(or....(helpful--s | 
| 19680 | 79 6d 62 6f 6c 2d 61 74 2d 70 6f 69 6e 74 2d 65    78 61 63 74 6c 79 29 0a 20 20 20 28 68 65 6c 70 | ymbol-at-point-exactly)....(help | 
| 196a0 | 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c 65 2d 61 74    2d 70 6f 69 6e 74 29 0a 20 20 20 28 68 65 6c 70 | ful--callable-at-point)....(help | 
| 196c0 | 66 75 6c 2d 2d 76 61 72 69 61 62 6c 65 2d 61 74    2d 70 6f 69 6e 74 29 29 29 0a 0a 3b 3b 3b 23 23 | ful--variable-at-point)))..;;;## | 
| 196e0 | 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e    20 68 65 6c 70 66 75 6c 2d 61 74 2d 70 6f 69 6e | #autoload.(defun.helpful-at-poin | 
| 19700 | 74 20 28 29 0a 20 20 22 53 68 6f 77 20 68 65 6c    70 20 66 6f 72 20 74 68 65 20 73 79 6d 62 6f 6c | t.()..."Show.help.for.the.symbol | 
| 19720 | 20 61 74 20 70 6f 69 6e 74 2e 22 0a 20 20 28 69    6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 2d | .at.point."...(interactive)...(- | 
| 19740 | 69 66 2d 6c 65 74 20 28 73 79 6d 62 6f 6c 20 28    68 65 6c 70 66 75 6c 2d 2d 73 79 6d 62 6f 6c 2d | if-let.(symbol.(helpful--symbol- | 
| 19760 | 61 74 2d 70 6f 69 6e 74 29 29 0a 20 20 20 20 20    20 28 68 65 6c 70 66 75 6c 2d 73 79 6d 62 6f 6c | at-point)).......(helpful-symbol | 
| 19780 | 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 28 75 73    65 72 2d 65 72 72 6f 72 20 22 54 68 65 72 65 20 | .symbol).....(user-error."There. | 
| 197a0 | 69 73 20 6e 6f 20 73 79 6d 62 6f 6c 20 61 74 20    70 6f 69 6e 74 2e 22 29 29 29 0a 0a 28 64 65 66 | is.no.symbol.at.point.")))..(def | 
| 197c0 | 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 69 6d 65 6e    75 2d 69 6e 64 65 78 20 28 29 0a 20 20 22 52 65 | un.helpful--imenu-index.()..."Re | 
| 197e0 | 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 68    65 61 64 69 6e 67 73 20 69 6e 20 74 68 65 20 63 | turn.a.list.of.headings.in.the.c | 
| 19800 | 75 72 72 65 6e 74 20 62 75 66 66 65 72 2c 20 73    75 69 74 61 62 6c 65 20 66 6f 72 0a 69 6d 65 6e | urrent.buffer,.suitable.for.imen | 
| 19820 | 75 2e 22 0a 20 20 28 6c 65 74 20 28 68 65 61 64    69 6e 67 73 29 0a 20 20 20 20 28 67 6f 74 6f 2d | u."...(let.(headings).....(goto- | 
| 19840 | 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29    29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f | char.(point-min)).....(while.(no | 
| 19860 | 74 20 28 65 6f 62 70 29 29 0a 20 20 20 20 20 20    28 77 68 65 6e 20 28 65 71 20 28 67 65 74 2d 74 | t.(eobp)).......(when.(eq.(get-t | 
| 19880 | 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f    69 6e 74 29 20 27 66 61 63 65 29 0a 20 20 20 20 | ext-property.(point).'face)..... | 
| 198a0 | 20 20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c    70 66 75 6c 2d 68 65 61 64 69 6e 67 29 0a 20 20 | ............'helpful-heading)... | 
| 198c0 | 20 20 20 20 20 20 28 70 75 73 68 0a 20 20 20 20    20 20 20 20 20 28 63 6f 6e 73 0a 20 20 20 20 20 | ......(push..........(cons...... | 
| 198e0 | 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62    73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 | .....(buffer-substring-no-proper | 
| 19900 | 74 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20    28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d | ties............(line-beginning- | 
| 19920 | 70 6f 73 69 74 69 6f 6e 29 20 28 6c 69 6e 65 2d    65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 | position).(line-end-position)).. | 
| 19940 | 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 2d 62    65 67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f | .........(line-beginning-positio | 
| 19960 | 6e 29 29 0a 20 20 20 20 20 20 20 20 20 68 65 61    64 69 6e 67 73 29 29 0a 20 20 20 20 20 20 28 66 | n))..........headings)).......(f | 
| 19980 | 6f 72 77 61 72 64 2d 6c 69 6e 65 29 29 0a 20 20    20 20 28 6e 72 65 76 65 72 73 65 20 68 65 61 64 | orward-line)).....(nreverse.head | 
| 199a0 | 69 6e 67 73 29 29 29 0a 0a 28 64 65 66 75 6e 20    68 65 6c 70 66 75 6c 2d 2d 66 6c 61 73 68 2d 72 | ings)))..(defun.helpful--flash-r | 
| 199c0 | 65 67 69 6f 6e 20 28 73 74 61 72 74 20 65 6e 64    29 0a 20 20 22 54 65 6d 70 6f 72 61 72 69 6c 79 | egion.(start.end)..."Temporarily | 
| 199e0 | 20 68 69 67 68 6c 69 67 68 74 20 72 65 67 69 6f    6e 20 66 72 6f 6d 20 53 54 41 52 54 20 74 6f 20 | .highlight.region.from.START.to. | 
| 19a00 | 45 4e 44 2e 22 0a 20 20 28 6c 65 74 20 28 28 6f    76 65 72 6c 61 79 20 28 6d 61 6b 65 2d 6f 76 65 | END."...(let.((overlay.(make-ove | 
| 19a20 | 72 6c 61 79 20 73 74 61 72 74 20 65 6e 64 29 29    29 0a 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 | rlay.start.end))).....(overlay-p | 
| 19a40 | 75 74 20 6f 76 65 72 6c 61 79 20 27 66 61 63 65    20 27 68 69 67 68 6c 69 67 68 74 29 0a 20 20 20 | ut.overlay.'face.'highlight).... | 
| 19a60 | 20 28 72 75 6e 2d 77 69 74 68 2d 74 69 6d 65 72    20 31 2e 35 20 6e 69 6c 20 27 64 65 6c 65 74 65 | .(run-with-timer.1.5.nil.'delete | 
| 19a80 | 2d 6f 76 65 72 6c 61 79 20 6f 76 65 72 6c 61 79    29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 | -overlay.overlay)))..(defun.help | 
| 19aa0 | 66 75 6c 2d 76 69 73 69 74 2d 72 65 66 65 72 65    6e 63 65 20 28 29 0a 20 20 22 47 6f 20 74 6f 20 | ful-visit-reference.()..."Go.to. | 
| 19ac0 | 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 61 74    20 70 6f 69 6e 74 2e 22 0a 20 20 28 69 6e 74 65 | the.reference.at.point."...(inte | 
| 19ae0 | 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a    20 28 28 73 79 6d 20 68 65 6c 70 66 75 6c 2d 2d | ractive)...(let*.((sym.helpful-- | 
| 19b00 | 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 28 70    61 74 68 20 28 67 65 74 2d 74 65 78 74 2d 70 72 | sym)..........(path.(get-text-pr | 
| 19b20 | 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27    68 65 6c 70 66 75 6c 2d 70 61 74 68 29 29 0a 20 | operty.(point).'helpful-path)).. | 
| 19b40 | 20 20 20 20 20 20 20 20 28 70 6f 73 20 28 67 65    74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 | ........(pos.(get-text-property. | 
| 19b60 | 28 70 6f 69 6e 74 29 20 27 68 65 6c 70 66 75 6c    2d 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 | (point).'helpful-pos)).......... | 
| 19b80 | 28 70 6f 73 2d 69 73 2d 73 74 61 72 74 20 28 67    65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 | (pos-is-start.(get-text-property | 
| 19ba0 | 20 28 70 6f 69 6e 74 29 20 27 68 65 6c 70 66 75    6c 2d 70 6f 73 2d 69 73 2d 73 74 61 72 74 29 29 | .(point).'helpful-pos-is-start)) | 
| 19bc0 | 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64    20 70 61 74 68 20 70 6f 73 29 0a 20 20 20 20 20 | ).....(when.(and.path.pos)...... | 
| 19be0 | 20 3b 3b 20 49 66 20 77 65 27 72 65 20 6c 6f 6f    6b 69 6e 67 20 61 74 20 61 20 73 6f 75 72 63 65 | .;;.If.we're.looking.at.a.source | 
| 19c00 | 20 65 78 63 65 72 70 74 2c 20 63 61 6c 63 75 6c    61 74 65 20 74 68 65 20 6f 66 66 73 65 74 20 6f | .excerpt,.calculate.the.offset.o | 
| 19c20 | 66 0a 20 20 20 20 20 20 3b 3b 20 70 6f 69 6e 74    2c 20 73 6f 20 77 65 20 64 6f 6e 27 74 20 6a 75 | f.......;;.point,.so.we.don't.ju | 
| 19c40 | 73 74 20 67 6f 20 74 68 65 20 73 74 61 72 74 20    6f 66 20 74 68 65 20 65 78 63 65 72 70 74 2e 0a | st.go.the.start.of.the.excerpt.. | 
| 19c60 | 20 20 20 20 20 20 28 77 68 65 6e 20 70 6f 73 2d    69 73 2d 73 74 61 72 74 0a 20 20 20 20 20 20 20 | ......(when.pos-is-start........ | 
| 19c80 | 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e    0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 | .(save-excursion...........(let. | 
| 19ca0 | 28 28 6f 66 66 73 65 74 20 30 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 | ((offset.0)).............(while. | 
| 19cc0 | 28 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 67 65 74 2d 74 65 | (and.....................(get-te | 
| 19ce0 | 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69    6e 74 29 20 27 68 65 6c 70 66 75 6c 2d 70 6f 73 | xt-property.(point).'helpful-pos | 
| 19d00 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6e 6f 74 20 28 65 6f 62 70 | ).....................(not.(eobp | 
| 19d20 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 62 61 63 6b 77 61 72 64 2d 63 68 61 72 | )))...............(backward-char | 
| 19d40 | 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 73 65 74 71 20 6f 66 66 73 65 74 20 28 | .1)...............(setq.offset.( | 
| 19d60 | 31 2b 20 6f 66 66 73 65 74 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 3b 3b 20 4f 6e 20 74 | 1+.offset))).............;;.On.t | 
| 19d80 | 68 65 20 6c 61 73 74 20 69 74 65 72 61 74 69 6f    6e 20 77 65 20 6d 6f 76 65 64 20 6f 75 74 73 69 | he.last.iteration.we.moved.outsi | 
| 19da0 | 64 65 20 74 68 65 20 73 6f 75 72 63 65 0a 20 20    20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 78 63 | de.the.source.............;;.exc | 
| 19dc0 | 65 72 70 74 2c 20 73 6f 20 77 65 20 6f 76 65 72    63 6f 75 6e 74 65 64 20 62 79 20 6f 6e 65 20 63 | erpt,.so.we.overcounted.by.one.c | 
| 19de0 | 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 73 65 74 71 20 6f 66 66 73 | haracter..............(setq.offs | 
| 19e00 | 65 74 20 28 31 2d 20 6f 66 66 73 65 74 29 29 0a    0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 | et.(1-.offset))..............;;. | 
| 19e20 | 53 65 74 20 50 4f 53 20 73 6f 20 77 65 20 67 6f    20 74 6f 20 65 78 61 63 74 6c 79 20 74 68 65 20 | Set.POS.so.we.go.to.exactly.the. | 
| 19e40 | 70 6c 61 63 65 20 69 6e 20 74 68 65 20 73 6f 75    72 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | place.in.the.source............. | 
| 19e60 | 3b 3b 20 63 6f 64 65 20 77 68 65 72 65 20 70 6f    69 6e 74 20 77 61 73 20 69 6e 20 74 68 65 20 68 | ;;.code.where.point.was.in.the.h | 
| 19e80 | 65 6c 70 66 75 6c 20 65 78 63 65 72 70 74 2e 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 | elpful.excerpt..............(set | 
| 19ea0 | 71 20 70 6f 73 20 28 2b 20 70 6f 73 20 6f 66 66    73 65 74 29 29 29 29 29 0a 0a 20 20 20 20 20 20 | q.pos.(+.pos.offset)))))........ | 
| 19ec0 | 28 66 69 6e 64 2d 66 69 6c 65 20 70 61 74 68 29    0a 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d | (find-file.path).......(helpful- | 
| 19ee0 | 2d 67 6f 74 6f 2d 63 68 61 72 2d 77 69 64 65 6e    20 70 6f 73 29 0a 20 20 20 20 20 20 28 72 65 63 | -goto-char-widen.pos).......(rec | 
| 19f00 | 65 6e 74 65 72 20 30 29 0a 20 20 20 20 20 20 28    73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 | enter.0).......(save-excursion.. | 
| 19f20 | 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65    66 75 6e 2d 65 6e 64 20 28 73 63 61 6e 2d 73 65 | .......(let.((defun-end.(scan-se | 
| 19f40 | 78 70 73 20 28 70 6f 69 6e 74 29 20 31 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c | xps.(point).1)))...........(whil | 
| 19f60 | 65 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72    77 61 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 | e.(re-search-forward............ | 
| 19f80 | 20 20 20 20 20 20 20 28 72 78 2d 74 6f 2d 73 74    72 69 6e 67 20 60 28 73 65 71 20 73 79 6d 62 6f | .......(rx-to-string.`(seq.symbo | 
| 19fa0 | 6c 2d 73 74 61 72 74 20 2c 28 73 79 6d 62 6f 6c    2d 6e 61 6d 65 20 73 79 6d 29 20 73 79 6d 62 6f | l-start.,(symbol-name.sym).symbo | 
| 19fc0 | 6c 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 64 65 66 75 6e 2d | l-end))...................defun- | 
| 19fe0 | 65 6e 64 20 74 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 66 6c 61 | end.t).............(helpful--fla | 
| 1a000 | 73 68 2d 72 65 67 69 6f 6e 20 28 6d 61 74 63 68    2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 20 28 6d | sh-region.(match-beginning.0).(m | 
| 1a020 | 61 74 63 68 2d 65 6e 64 20 30 29 29 29 29 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 | atch-end.0))))))))..(defun.helpf | 
| 1a040 | 75 6c 2d 6b 69 6c 6c 2d 62 75 66 66 65 72 73 20    28 29 0a 20 20 22 4b 69 6c 6c 20 61 6c 6c 20 60 | ul-kill-buffers.()..."Kill.all.` | 
| 1a060 | 68 65 6c 70 66 75 6c 2d 6d 6f 64 65 27 20 62 75    66 66 65 72 73 2e 0a 0a 53 65 65 20 61 6c 73 6f | helpful-mode'.buffers...See.also | 
| 1a080 | 20 60 68 65 6c 70 66 75 6c 2d 6d 61 78 2d 62 75    66 66 65 72 73 27 2e 22 0a 20 20 28 69 6e 74 65 | .`helpful-max-buffers'."...(inte | 
| 1a0a0 | 72 61 63 74 69 76 65 29 0a 20 20 28 64 6f 6c 69    73 74 20 28 62 75 66 66 65 72 20 28 62 75 66 66 | ractive)...(dolist.(buffer.(buff | 
| 1a0c0 | 65 72 2d 6c 69 73 74 29 29 0a 20 20 20 20 28 77    68 65 6e 20 28 65 71 20 28 62 75 66 66 65 72 2d | er-list)).....(when.(eq.(buffer- | 
| 1a0e0 | 6c 6f 63 61 6c 2d 76 61 6c 75 65 20 27 6d 61 6a    6f 72 2d 6d 6f 64 65 20 62 75 66 66 65 72 29 20 | local-value.'major-mode.buffer). | 
| 1a100 | 27 68 65 6c 70 66 75 6c 2d 6d 6f 64 65 29 0a 20    20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 | 'helpful-mode).......(kill-buffe | 
| 1a120 | 72 20 62 75 66 66 65 72 29 29 29 29 0a 0a 28 64    65 66 76 61 72 20 68 65 6c 70 66 75 6c 2d 6d 6f | r.buffer))))..(defvar.helpful-mo | 
| 1a140 | 64 65 2d 6d 61 70 0a 20 20 28 6c 65 74 2a 20 28    28 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 | de-map...(let*.((map.(make-spars | 
| 1a160 | 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20    28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 | e-keymap))).....(define-key.map. | 
| 1a180 | 28 6b 62 64 20 22 67 22 29 20 23 27 68 65 6c 70    66 75 6c 2d 75 70 64 61 74 65 29 0a 20 20 20 20 | (kbd."g").#'helpful-update)..... | 
| 1a1a0 | 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20    5b 72 65 6d 61 70 20 72 65 76 65 72 74 2d 62 75 | (define-key.map.[remap.revert-bu | 
| 1a1c0 | 66 66 65 72 5d 20 23 27 68 65 6c 70 66 75 6c 2d    75 70 64 61 74 65 29 0a 20 20 20 20 28 77 68 65 | ffer].#'helpful-update).....(whe | 
| 1a1e0 | 6e 20 28 66 62 6f 75 6e 64 70 20 27 72 65 76 65    72 74 2d 62 75 66 66 65 72 2d 71 75 69 63 6b 29 | n.(fboundp.'revert-buffer-quick) | 
| 1a200 | 0a 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b    65 79 20 6d 61 70 20 5b 72 65 6d 61 70 20 72 65 | .......(define-key.map.[remap.re | 
| 1a220 | 76 65 72 74 2d 62 75 66 66 65 72 2d 71 75 69 63    6b 5d 20 23 27 68 65 6c 70 66 75 6c 2d 75 70 64 | vert-buffer-quick].#'helpful-upd | 
| 1a240 | 61 74 65 29 29 0a 0a 20 20 20 20 28 64 65 66 69    6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 | ate))......(define-key.map.(kbd. | 
| 1a260 | 22 52 45 54 22 29 20 23 27 68 65 6c 70 66 75 6c    2d 76 69 73 69 74 2d 72 65 66 65 72 65 6e 63 65 | "RET").#'helpful-visit-reference | 
| 1a280 | 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b    65 79 20 6d 61 70 20 28 6b 62 64 20 22 54 41 42 | )......(define-key.map.(kbd."TAB | 
| 1a2a0 | 22 29 20 23 27 66 6f 72 77 61 72 64 2d 62 75 74    74 6f 6e 29 0a 20 20 20 20 28 64 65 66 69 6e 65 | ").#'forward-button).....(define | 
| 1a2c0 | 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 3c    62 61 63 6b 74 61 62 3e 22 29 20 23 27 62 61 63 | -key.map.(kbd."<backtab>").#'bac | 
| 1a2e0 | 6b 77 61 72 64 2d 62 75 74 74 6f 6e 29 0a 0a 20    20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d | kward-button)......(define-key.m | 
| 1a300 | 61 70 20 28 6b 62 64 20 22 6e 22 29 20 23 27 66    6f 72 77 61 72 64 2d 62 75 74 74 6f 6e 29 0a 20 | ap.(kbd."n").#'forward-button).. | 
| 1a320 | 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d    61 70 20 28 6b 62 64 20 22 70 22 29 20 23 27 62 | ...(define-key.map.(kbd."p").#'b | 
| 1a340 | 61 63 6b 77 61 72 64 2d 62 75 74 74 6f 6e 29 0a    20 20 20 20 6d 61 70 29 0a 20 20 22 4b 65 79 6d | ackward-button).....map)..."Keym | 
| 1a360 | 61 70 20 66 6f 72 20 60 68 65 6c 70 66 75 6c 2d    6d 6f 64 65 27 2e 22 29 0a 0a 28 64 65 63 6c 61 | ap.for.`helpful-mode'.")..(decla | 
| 1a380 | 72 65 2d 66 75 6e 63 74 69 6f 6e 20 62 6f 6f 6b    6d 61 72 6b 2d 70 72 6f 70 2d 67 65 74 20 22 62 | re-function.bookmark-prop-get."b | 
| 1a3a0 | 6f 6f 6b 6d 61 72 6b 22 20 28 62 6f 6f 6b 6d 61    72 6b 20 70 72 6f 70 29 29 0a 28 64 65 63 6c 61 | ookmark".(bookmark.prop)).(decla | 
| 1a3c0 | 72 65 2d 66 75 6e 63 74 69 6f 6e 20 62 6f 6f 6b    6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 | re-function.bookmark-make-record | 
| 1a3e0 | 2d 64 65 66 61 75 6c 74 20 22 62 6f 6f 6b 6d 61    72 6b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | -default."bookmark"............. | 
| 1a400 | 20 20 20 20 20 20 28 26 6f 70 74 69 6f 6e 61 6c    20 6e 6f 2d 66 69 6c 65 20 6e 6f 2d 63 6f 6e 74 | ......(&optional.no-file.no-cont | 
| 1a420 | 65 78 74 20 70 6f 73 6e 29 29 0a 3b 3b 20 45 6e    73 75 72 65 20 74 68 69 73 20 76 61 72 69 61 62 | ext.posn)).;;.Ensure.this.variab | 
| 1a440 | 6c 65 20 69 73 20 64 65 66 69 6e 65 64 20 65 76    65 6e 20 69 66 20 62 6f 6f 6b 6d 61 72 6b 2e 65 | le.is.defined.even.if.bookmark.e | 
| 1a460 | 6c 20 69 73 6e 27 74 20 6c 6f 61 64 65 64 0a 3b    3b 20 79 65 74 2e 20 54 68 69 73 20 66 6f 6c 6c | l.isn't.loaded.;;.yet..This.foll | 
| 1a480 | 6f 77 73 20 74 68 65 20 70 61 74 74 65 72 6e 20    69 6e 20 68 65 6c 70 2d 6d 6f 64 65 2e 65 6c 2e | ows.the.pattern.in.help-mode.el. | 
| 1a4a0 | 67 7a 2e 0a 3b 3b 20 54 4f 44 4f 3a 20 66 69 6e    64 20 61 20 63 6c 65 61 6e 65 72 20 73 6f 6c 75 | gz..;;.TODO:.find.a.cleaner.solu | 
| 1a4c0 | 74 69 6f 6e 2e 0a 28 64 65 66 76 61 72 20 62 6f    6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f | tion..(defvar.bookmark-make-reco | 
| 1a4e0 | 72 64 2d 66 75 6e 63 74 69 6f 6e 29 0a 0a 28 64    65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 61 64 | rd-function)..(defun.helpful--ad | 
| 1a500 | 64 2d 73 75 70 70 6f 72 74 2d 66 6f 72 2d 6f 72    67 2d 6c 69 6e 6b 73 20 28 29 0a 20 20 22 49 6d | d-support-for-org-links.()..."Im | 
| 1a520 | 70 72 6f 76 65 20 73 75 70 70 6f 72 74 20 66 6f    72 20 6f 72 67 20 5c 22 68 65 6c 70 5c 22 20 6c | prove.support.for.org.\"help\".l | 
| 1a540 | 69 6e 6b 73 20 74 68 72 6f 75 67 68 20 68 65 6c    70 66 75 6c 2e 22 0a 20 20 28 68 65 6c 70 66 75 | inks.through.helpful."...(helpfu | 
| 1a560 | 6c 2d 2d 73 75 70 70 6f 72 74 2d 73 74 6f 72 69    6e 67 2d 6f 72 67 2d 6c 69 6e 6b 73 29 0a 20 20 | l--support-storing-org-links)... | 
| 1a580 | 28 68 65 6c 70 66 75 6c 2d 2d 70 72 65 66 65 72    2d 68 65 6c 70 66 75 6c 2d 77 68 65 6e 2d 66 6f | (helpful--prefer-helpful-when-fo | 
| 1a5a0 | 6c 6c 6f 77 69 6e 67 2d 6f 72 67 2d 6c 69 6e 6b    29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 | llowing-org-link))..(defun.helpf | 
| 1a5c0 | 75 6c 2d 2d 73 75 70 70 6f 72 74 2d 73 74 6f 72    69 6e 67 2d 6f 72 67 2d 6c 69 6e 6b 73 20 28 29 | ul--support-storing-org-links.() | 
| 1a5e0 | 0a 20 20 22 4d 61 6b 65 20 60 6f 72 67 2d 73 74    6f 72 65 2d 6c 69 6e 6b 27 20 69 6e 20 61 20 68 | ..."Make.`org-store-link'.in.a.h | 
| 1a600 | 65 6c 70 66 75 6c 20 62 75 66 66 65 72 20 72 65    74 75 72 6e 20 61 20 5c 22 68 65 6c 70 5c 22 20 | elpful.buffer.return.a.\"help\". | 
| 1a620 | 6c 69 6e 6b 2e 22 0a 20 20 28 77 68 65 6e 20 28    61 6e 64 20 28 66 62 6f 75 6e 64 70 20 27 6f 72 | link."...(when.(and.(fboundp.'or | 
| 1a640 | 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 61 72 61 6d    65 74 65 72 73 29 0a 20 20 20 20 20 20 20 20 20 | g-link-set-parameters).......... | 
| 1a660 | 20 20 20 20 28 6e 6f 74 20 28 2d 63 6f 6e 74 61    69 6e 73 2d 70 20 28 6f 72 67 2d 6c 69 6e 6b 2d | ....(not.(-contains-p.(org-link- | 
| 1a680 | 74 79 70 65 73 29 20 22 68 65 6c 70 66 75 6c 22    29 29 29 0a 20 20 20 20 28 6f 72 67 2d 6c 69 6e | types)."helpful"))).....(org-lin | 
| 1a6a0 | 6b 2d 73 65 74 2d 70 61 72 61 6d 65 74 65 72 73    20 22 68 65 6c 70 66 75 6c 22 0a 20 20 20 20 20 | k-set-parameters."helpful"...... | 
| 1a6c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3a 73 74 6f 72 65 20 23 | ........................:store.# | 
| 1a6e0 | 27 68 65 6c 70 66 75 6c 2d 2d 6f 72 67 2d 6c 69    6e 6b 2d 73 74 6f 72 65 29 29 29 0a 0a 28 64 65 | 'helpful--org-link-store)))..(de | 
| 1a700 | 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6f 72 67    2d 6c 69 6e 6b 2d 73 74 6f 72 65 20 28 29 0a 20 | fun.helpful--org-link-store.().. | 
| 1a720 | 20 22 53 74 6f 72 65 20 5c 22 68 65 6c 70 5c 22    20 74 79 70 65 20 6c 69 6e 6b 20 77 68 65 6e 20 | ."Store.\"help\".type.link.when. | 
| 1a740 | 69 6e 20 61 20 68 65 6c 70 66 75 6c 20 62 75 66    66 65 72 2e 22 0a 20 20 28 77 68 65 6e 20 28 64 | in.a.helpful.buffer."...(when.(d | 
| 1a760 | 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 27 68    65 6c 70 66 75 6c 2d 6d 6f 64 65 29 0a 20 20 20 | erived-mode-p.'helpful-mode).... | 
| 1a780 | 20 3b 3b 20 43 72 65 61 74 65 20 61 20 22 68 65    6c 70 22 20 6c 69 6e 6b 20 69 6e 73 74 65 61 64 | .;;.Create.a."help".link.instead | 
| 1a7a0 | 20 6f 66 20 61 20 64 65 64 69 63 61 74 65 64 20    22 68 65 6c 70 66 75 6c 22 20 6c 69 6e 6b 3a 20 | .of.a.dedicated."helpful".link:. | 
| 1a7c0 | 74 68 65 0a 20 20 20 20 3b 3b 20 61 75 74 68 6f    72 20 6f 66 20 74 68 65 20 4f 72 67 20 64 6f 63 | the.....;;.author.of.the.Org.doc | 
| 1a7e0 | 75 6d 65 6e 74 20 75 73 65 73 20 68 65 6c 66 75    6c 2c 20 62 75 74 20 74 68 69 73 20 69 73 20 6e | ument.uses.helful,.but.this.is.n | 
| 1a800 | 6f 74 0a 20 20 20 20 3b 3b 20 6e 65 63 65 73 73    61 72 69 6c 79 20 74 68 65 20 63 61 73 65 20 6f | ot.....;;.necessarily.the.case.o | 
| 1a820 | 66 20 74 68 65 20 72 65 61 64 65 72 20 6f 66 20    74 68 65 20 64 6f 63 75 6d 65 6e 74 2e 0a 20 20 | f.the.reader.of.the.document.... | 
| 1a840 | 20 20 28 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f 72    65 2d 70 72 6f 70 73 20 3a 74 79 70 65 20 22 68 | ..(org-link-store-props.:type."h | 
| 1a860 | 65 6c 70 22 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a | elp"...........................: | 
| 1a880 | 6c 69 6e 6b 20 28 66 6f 72 6d 61 74 20 22 68 65    6c 70 3a 25 73 22 20 68 65 6c 70 66 75 6c 2d 2d | link.(format."help:%s".helpful-- | 
| 1a8a0 | 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a | sym)...........................: | 
| 1a8c0 | 64 65 73 63 72 69 70 74 69 6f 6e 20 6e 69 6c 29    29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 | description.nil)))..(defun.helpf | 
| 1a8e0 | 75 6c 2d 2d 70 72 65 66 65 72 2d 68 65 6c 70 66    75 6c 2d 77 68 65 6e 2d 66 6f 6c 6c 6f 77 69 6e | ul--prefer-helpful-when-followin | 
| 1a900 | 67 2d 6f 72 67 2d 6c 69 6e 6b 20 28 29 0a 20 20    22 50 72 65 66 65 72 20 68 65 6c 70 66 75 6c 20 | g-org-link.()..."Prefer.helpful. | 
| 1a920 | 77 68 65 6e 20 75 73 69 6e 67 20 60 6f 72 67 2d    6f 70 65 6e 2d 61 74 2d 70 6f 69 6e 74 27 20 6f | when.using.`org-open-at-point'.o | 
| 1a940 | 6e 20 61 20 5c 22 68 65 6c 70 5c 22 20 6c 69 6e    6b 2e 22 0a 20 20 28 77 68 65 6e 20 28 66 62 6f | n.a.\"help\".link."...(when.(fbo | 
| 1a960 | 75 6e 64 70 20 27 6f 72 67 2d 6c 69 6e 6b 2d 73    65 74 2d 70 61 72 61 6d 65 74 65 72 73 29 0a 20 | undp.'org-link-set-parameters).. | 
| 1a980 | 20 20 20 28 6c 65 74 20 28 28 66 6f 6c 6c 6f 77    2d 66 75 6e 63 74 69 6f 6e 20 28 6f 72 67 2d 6c | ...(let.((follow-function.(org-l | 
| 1a9a0 | 69 6e 6b 2d 67 65 74 2d 70 61 72 61 6d 65 74 65    72 20 22 68 65 6c 70 22 20 3a 66 6f 6c 6c 6f 77 | ink-get-parameter."help".:follow | 
| 1a9c0 | 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20    28 6e 6f 74 20 28 65 71 75 61 6c 20 66 6f 6c 6c | ))).......(when.(not.(equal.foll | 
| 1a9e0 | 6f 77 2d 66 75 6e 63 74 69 6f 6e 20 23 27 68 65    6c 70 66 75 6c 2d 2d 6f 72 67 2d 6c 69 6e 6b 2d | ow-function.#'helpful--org-link- | 
| 1aa00 | 66 6f 6c 6c 6f 77 29 29 0a 20 20 20 20 20 20 20    20 28 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 | follow)).........(org-link-set-p | 
| 1aa20 | 61 72 61 6d 65 74 65 72 73 20 22 68 65 6c 70 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | arameters."help"................ | 
| 1aa40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 66 6f 6c 6c 6f 77 20 23 27 68 65 6c 70 | ..................:follow.#'help | 
| 1aa60 | 66 75 6c 2d 2d 6f 72 67 2d 6c 69 6e 6b 2d 66 6f    6c 6c 6f 77 29 29 29 29 29 0a 0a 28 64 65 66 75 | ful--org-link-follow)))))..(defu | 
| 1aa80 | 6e 20 68 65 6c 70 66 75 6c 2d 2d 6f 72 67 2d 6c    69 6e 6b 2d 66 6f 6c 6c 6f 77 20 28 6c 69 6e 6b | n.helpful--org-link-follow.(link | 
| 1aaa0 | 20 5f 29 0a 20 20 28 68 65 6c 70 66 75 6c 2d 73    79 6d 62 6f 6c 20 28 69 6e 74 65 72 6e 20 6c 69 | ._)...(helpful-symbol.(intern.li | 
| 1aac0 | 6e 6b 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65    6c 70 66 75 6c 2d 2d 6f 75 74 6c 69 6e 65 2d 66 | nk)))..(defun.helpful--outline-f | 
| 1aae0 | 75 6e 63 74 69 6f 6e 20 28 26 6f 70 74 69 6f 6e    61 6c 20 62 6f 75 6e 64 20 6d 6f 76 65 20 62 61 | unction.(&optional.bound.move.ba | 
| 1ab00 | 63 6b 77 61 72 64 20 6c 6f 6f 6b 69 6e 67 2d 61    74 29 0a 20 20 22 60 6f 75 74 6c 69 6e 65 2d 73 | ckward.looking-at)..."`outline-s | 
| 1ab20 | 65 61 72 63 68 2d 66 75 6e 63 74 69 6f 6e 27 20    66 6f 72 20 60 68 65 6c 70 66 75 6c 2d 6d 6f 64 | earch-function'.for.`helpful-mod | 
| 1ab40 | 65 60 2e 0a 53 65 65 20 64 6f 63 75 6d 65 6e 74    61 74 69 6f 6e 20 6f 66 20 60 6f 75 74 6c 69 6e | e`..See.documentation.of.`outlin | 
| 1ab60 | 65 2d 73 65 61 72 63 68 2d 66 75 6e 63 74 69 6f    6e 27 20 66 6f 72 20 42 4f 55 4e 44 2c 20 4d 4f | e-search-function'.for.BOUND,.MO | 
| 1ab80 | 56 45 2c 0a 42 41 43 4b 57 41 52 44 20 61 6e 64    20 4c 4f 4f 4b 49 4e 47 2d 41 54 2e 22 0a 20 20 | VE,.BACKWARD.and.LOOKING-AT."... | 
| 1aba0 | 28 69 66 20 6c 6f 6f 6b 69 6e 67 2d 61 74 0a 20    20 20 20 20 20 28 65 71 20 27 68 65 6c 70 66 75 | (if.looking-at.......(eq.'helpfu | 
| 1abc0 | 6c 2d 68 65 61 64 69 6e 67 20 28 67 65 74 2d 74    65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f | l-heading.(get-text-property.(po | 
| 1abe0 | 69 6e 74 29 20 27 66 61 63 65 29 29 0a 20 20 20    20 28 6c 65 74 20 28 28 68 65 61 64 69 6e 67 2d | int).'face)).....(let.((heading- | 
| 1ac00 | 66 6f 75 6e 64 20 6e 69 6c 29 0a 20 20 20 20 20    20 20 20 20 20 28 62 6f 75 6e 64 20 28 69 66 20 | found.nil)...........(bound.(if. | 
| 1ac20 | 62 6f 75 6e 64 20 62 6f 75 6e 64 20 28 69 66 20    62 61 63 6b 77 61 72 64 20 28 70 6f 69 6e 74 2d | bound.bound.(if.backward.(point- | 
| 1ac40 | 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29    29 29 29 29 0a 20 20 20 20 20 20 28 73 61 76 65 | min).(point-max))))).......(save | 
| 1ac60 | 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20    20 20 20 28 77 68 65 6e 20 28 65 71 20 27 68 65 | -excursion.........(when.(eq.'he | 
| 1ac80 | 6c 70 66 75 6c 2d 68 65 61 64 69 6e 67 20 28 67    65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 | lpful-heading.(get-text-property | 
| 1aca0 | 20 28 70 6f 69 6e 74 29 20 27 66 61 63 65 29 29    0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 | .(point).'face))...........(forw | 
| 1acc0 | 61 72 64 2d 6c 69 6e 65 20 28 69 66 20 62 61 63    6b 77 61 72 64 20 2d 31 20 31 29 29 29 0a 20 20 | ard-line.(if.backward.-1.1)))... | 
| 1ace0 | 20 20 20 20 20 20 28 69 66 20 62 61 63 6b 77 61    72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 | ......(if.backward.............( | 
| 1ad00 | 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28    65 71 20 28 70 6f 69 6e 74 29 20 62 6f 75 6e 64 | while.(not.(or.(eq.(point).bound | 
| 1ad20 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 | ).............................(e | 
| 1ad40 | 71 20 27 68 65 6c 70 66 75 6c 2d 68 65 61 64 69    6e 67 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f | q.'helpful-heading.(get-text-pro | 
| 1ad60 | 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 66    61 63 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 | perty.(point).'face))))......... | 
| 1ad80 | 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72    20 28 6f 72 20 28 70 72 65 76 69 6f 75 73 2d 73 | ......(goto-char.(or.(previous-s | 
| 1ada0 | 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63    68 61 6e 67 65 20 28 70 6f 69 6e 74 29 20 27 66 | ingle-property-change.(point).'f | 
| 1adc0 | 61 63 65 20 6e 69 6c 20 62 6f 75 6e 64 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ace.nil.bound).................. | 
| 1ade0 | 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 75 6e    64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | ............bound)))...........( | 
| 1ae00 | 67 6f 74 6f 2d 63 68 61 72 20 28 6f 72 20 28 74    65 78 74 2d 70 72 6f 70 65 72 74 79 2d 61 6e 79 | goto-char.(or.(text-property-any | 
| 1ae20 | 20 28 70 6f 69 6e 74 29 20 62 6f 75 6e 64 20 27    66 61 63 65 20 27 68 65 6c 70 66 75 6c 2d 68 65 | .(point).bound.'face.'helpful-he | 
| 1ae40 | 61 64 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ading).......................... | 
| 1ae60 | 62 6f 75 6e 64 29 29 29 0a 20 20 20 20 20 20 20    20 28 77 68 65 6e 20 28 65 71 20 27 68 65 6c 70 | bound))).........(when.(eq.'help | 
| 1ae80 | 66 75 6c 2d 68 65 61 64 69 6e 67 20 28 67 65 74    2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 | ful-heading.(get-text-property.( | 
| 1aea0 | 70 6f 69 6e 74 29 20 27 66 61 63 65 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 68 | point).'face))...........(setq.h | 
| 1aec0 | 65 61 64 69 6e 67 2d 66 6f 75 6e 64 20 28 70 6f    69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 28 69 | eading-found.(point)))).......(i | 
| 1aee0 | 66 20 68 65 61 64 69 6e 67 2d 66 6f 75 6e 64 0a    20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e | f.heading-found...........(progn | 
| 1af00 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f    74 6f 2d 63 68 61 72 20 68 65 61 64 69 6e 67 2d | .............(goto-char.heading- | 
| 1af20 | 66 6f 75 6e 64 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 73 65 74 2d 6d 61 74 63 68 2d 64 61 | found).............(set-match-da | 
| 1af40 | 74 61 20 28 6c 69 73 74 20 68 65 61 64 69 6e 67    2d 66 6f 75 6e 64 20 68 65 61 64 69 6e 67 2d 66 | ta.(list.heading-found.heading-f | 
| 1af60 | 6f 75 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20    28 77 68 65 6e 20 6d 6f 76 65 0a 20 20 20 20 20 | ound))).........(when.move...... | 
| 1af80 | 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20    62 6f 75 6e 64 29 20 6e 69 6c 29 29 29 29 29 0a | .....(goto-char.bound).nil))))). | 
| 1afa0 | 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64    2d 6d 6f 64 65 20 68 65 6c 70 66 75 6c 2d 6d 6f | .(define-derived-mode.helpful-mo | 
| 1afc0 | 64 65 20 73 70 65 63 69 61 6c 2d 6d 6f 64 65 20    22 48 65 6c 70 66 75 6c 22 0a 20 20 22 4d 61 6a | de.special-mode."Helpful"..."Maj | 
| 1afe0 | 6f 72 20 6d 6f 64 65 20 66 6f 72 20 2a 48 65 6c    70 66 75 6c 2a 20 62 75 66 66 65 72 73 2e 22 0a | or.mode.for.*Helpful*.buffers.". | 
| 1b000 | 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 78 72 65    66 2d 62 61 63 6b 65 6e 64 2d 66 75 6e 63 74 69 | ..(add-hook.'xref-backend-functi | 
| 1b020 | 6f 6e 73 20 23 27 65 6c 69 73 70 2d 2d 78 72 65    66 2d 62 61 63 6b 65 6e 64 20 6e 69 6c 20 74 29 | ons.#'elisp--xref-backend.nil.t) | 
| 1b040 | 0a 0a 20 20 28 73 65 74 71 20 69 6d 65 6e 75 2d    63 72 65 61 74 65 2d 69 6e 64 65 78 2d 66 75 6e | ....(setq.imenu-create-index-fun | 
| 1b060 | 63 74 69 6f 6e 20 23 27 68 65 6c 70 66 75 6c 2d    2d 69 6d 65 6e 75 2d 69 6e 64 65 78 29 0a 20 20 | ction.#'helpful--imenu-index)... | 
| 1b080 | 3b 3b 20 50 72 65 76 65 6e 74 20 69 6d 65 6e 75    20 63 6f 6e 76 65 72 74 69 6e 67 20 22 53 6f 75 | ;;.Prevent.imenu.converting."Sou | 
| 1b0a0 | 72 63 65 20 43 6f 64 65 22 20 74 6f 20 22 53 6f    75 72 63 65 2e 43 6f 64 65 22 2e 0a 20 20 28 73 | rce.Code".to."Source.Code"....(s | 
| 1b0c0 | 65 74 71 2d 6c 6f 63 61 6c 20 69 6d 65 6e 75 2d    73 70 61 63 65 2d 72 65 70 6c 61 63 65 6d 65 6e | etq-local.imenu-space-replacemen | 
| 1b0e0 | 74 20 22 20 22 29 0a 0a 20 20 3b 3b 20 45 6e 61    62 6c 65 20 75 73 65 72 73 20 74 6f 20 62 6f 6f | t.".")....;;.Enable.users.to.boo | 
| 1b100 | 6b 6d 61 72 6b 20 68 65 6c 70 66 75 6c 20 62 75    66 66 65 72 73 2e 0a 20 20 28 73 65 74 20 28 6d | kmark.helpful.buffers....(set.(m | 
| 1b120 | 61 6b 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62    6c 65 20 27 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b | ake-local-variable.'bookmark-mak | 
| 1b140 | 65 2d 72 65 63 6f 72 64 2d 66 75 6e 63 74 69 6f    6e 29 0a 20 20 20 20 20 20 20 23 27 68 65 6c 70 | e-record-function)........#'help | 
| 1b160 | 66 75 6c 2d 2d 62 6f 6f 6b 6d 61 72 6b 2d 6d 61    6b 65 2d 72 65 63 6f 72 64 29 0a 0a 20 20 3b 3b | ful--bookmark-make-record)....;; | 
| 1b180 | 20 45 6e 61 62 6c 65 20 6f 75 74 6c 69 6e 65 20    73 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 | .Enable.outline.support.for.Emac | 
| 1b1a0 | 73 20 32 39 20 61 6e 64 20 6e 65 77 65 72 0a 20    20 28 75 6e 6c 65 73 73 20 28 3c 20 65 6d 61 63 | s.29.and.newer...(unless.(<.emac | 
| 1b1c0 | 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20    32 39 29 0a 20 20 20 20 28 73 65 74 71 2d 6c 6f | s-major-version.29).....(setq-lo | 
| 1b1e0 | 63 61 6c 20 6f 75 74 6c 69 6e 65 2d 73 65 61 72    63 68 2d 66 75 6e 63 74 69 6f 6e 20 23 27 68 65 | cal.outline-search-function.#'he | 
| 1b200 | 6c 70 66 75 6c 2d 2d 6f 75 74 6c 69 6e 65 2d 66    75 6e 63 74 69 6f 6e 29 29 0a 0a 20 20 3b 3b 20 | lpful--outline-function))....;;. | 
| 1b220 | 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 68    6f 75 6c 64 20 6e 6f 72 6d 61 6c 6c 79 20 6f 6e | This.function.should.normally.on | 
| 1b240 | 6c 79 20 62 65 20 63 61 6c 6c 65 64 20 6f 6e 63    65 20 61 66 74 65 72 20 4f 72 67 20 61 6e 64 0a | ly.be.called.once.after.Org.and. | 
| 1b260 | 20 20 3b 3b 20 68 65 6c 70 66 75 6c 20 61 72 65    20 6c 6f 61 64 65 64 2e 20 54 6f 20 61 76 6f 69 | ..;;.helpful.are.loaded..To.avoi | 
| 1b280 | 64 20 75 73 69 6e 67 20 60 65 76 61 6c 2d 61 66    74 65 72 2d 6c 6f 61 64 27 20 28 77 68 69 63 68 | d.using.`eval-after-load'.(which | 
| 1b2a0 | 20 69 73 0a 20 20 3b 3b 20 6f 6e 6c 79 20 72 65    63 6f 6d 6d 65 6e 64 65 64 20 69 6e 20 75 73 65 | .is...;;.only.recommended.in.use | 
| 1b2c0 | 72 20 69 6e 69 74 20 66 69 6c 65 73 29 2c 20 74    68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 | r.init.files),.the.function.is.c | 
| 1b2e0 | 61 6c 6c 65 64 20 65 61 63 68 0a 20 20 3b 3b 20    74 69 6d 65 20 74 68 65 20 6d 61 6a 6f 72 20 6d | alled.each...;;.time.the.major.m | 
| 1b300 | 6f 64 65 20 69 73 20 75 73 65 64 2e 0a 20 20 28    68 65 6c 70 66 75 6c 2d 2d 61 64 64 2d 73 75 70 | ode.is.used....(helpful--add-sup | 
| 1b320 | 70 6f 72 74 2d 66 6f 72 2d 6f 72 67 2d 6c 69 6e    6b 73 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 | port-for-org-links))..(provide.' | 
| 1b340 | 68 65 6c 70 66 75 6c 29 0a 3b 3b 3b 20 68 65 6c    70 66 75 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 | helpful).;;;.helpful.el.ends.her | 
| 1b360 | 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | e............................... | 
| 1b380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b400 | 68 65 6c 70 66 75 6c 2d 32 30 32 33 31 30 32 38    2e 35 31 36 2f 68 65 6c 70 66 75 6c 2d 70 6b 67 | helpful-20231028.516/helpful-pkg | 
| 1b420 | 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .el............................. | 
| 1b440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b460 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 | 
| 1b480 | 30 30 30 30 37 37 37 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 35 31 34 30 00 20 30 00 00 00 | 0000777.00000000000.015140..0... | 
| 1b4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b500 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... | 
| 1b520 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... | 
| 1b540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b600 | 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20    22 68 65 6c 70 66 75 6c 22 20 22 32 30 32 33 31 | (define-package."helpful"."20231 | 
| 1b620 | 30 32 38 2e 35 31 36 22 20 22 41 20 62 65 74 74    65 72 20 2a 68 65 6c 70 2a 20 62 75 66 66 65 72 | 028.516"."A.better.*help*.buffer | 
| 1b640 | 22 0a 20 20 27 28 28 65 6d 61 63 73 20 22 32 35    22 29 0a 20 20 20 20 28 64 61 73 68 20 22 32 2e | "...'((emacs."25").....(dash."2. | 
| 1b660 | 31 38 2e 30 22 29 0a 20 20 20 20 28 73 20 22 31    2e 31 31 2e 30 22 29 0a 20 20 20 20 28 66 20 22 | 18.0").....(s."1.11.0").....(f." | 
| 1b680 | 30 2e 32 30 2e 30 22 29 0a 20 20 20 20 28 65 6c    69 73 70 2d 72 65 66 73 20 22 31 2e 32 22 29 29 | 0.20.0").....(elisp-refs."1.2")) | 
| 1b6a0 | 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 61 33 32 61    35 62 33 64 39 35 39 61 37 66 63 63 66 30 39 61 | ...:commit."a32a5b3d959a7fccf09a | 
| 1b6c0 | 37 31 64 39 37 62 33 64 37 63 38 38 38 61 63 33    31 63 36 39 22 20 3a 61 75 74 68 6f 72 73 0a 20 | 71d97b3d7c888ac31c69".:authors.. | 
| 1b6e0 | 20 27 28 28 22 57 69 6c 66 72 65 64 20 48 75 67    68 65 73 22 20 2e 20 22 6d 65 40 77 69 6c 66 72 | .'(("Wilfred.Hughes"..."me@wilfr | 
| 1b700 | 65 64 2e 6d 65 2e 75 6b 22 29 29 0a 20 20 3a 6d    61 69 6e 74 61 69 6e 65 72 73 0a 20 20 27 28 28 | ed.me.uk"))...:maintainers...'(( | 
| 1b720 | 22 57 69 6c 66 72 65 64 20 48 75 67 68 65 73 22    20 2e 20 22 6d 65 40 77 69 6c 66 72 65 64 2e 6d | "Wilfred.Hughes"..."me@wilfred.m | 
| 1b740 | 65 2e 75 6b 22 29 29 0a 20 20 3a 6d 61 69 6e 74    61 69 6e 65 72 0a 20 20 27 28 22 57 69 6c 66 72 | e.uk"))...:maintainer...'("Wilfr | 
| 1b760 | 65 64 20 48 75 67 68 65 73 22 20 2e 20 22 6d 65    40 77 69 6c 66 72 65 64 2e 6d 65 2e 75 6b 22 29 | ed.Hughes"..."me@wilfred.me.uk") | 
| 1b780 | 0a 20 20 3a 6b 65 79 77 6f 72 64 73 0a 20 20 27    28 22 68 65 6c 70 22 20 22 6c 69 73 70 22 29 0a | ...:keywords...'("help"."lisp"). | 
| 1b7a0 | 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f    67 69 74 68 75 62 2e 63 6f 6d 2f 57 69 6c 66 72 | ..:url."https://github.com/Wilfr | 
| 1b7c0 | 65 64 2f 68 65 6c 70 66 75 6c 22 29 0a 3b 3b 20    4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a | ed/helpful").;;.Local.Variables: | 
| 1b7e0 | 0a 3b 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70    69 6c 65 3a 20 74 0a 3b 3b 20 45 6e 64 3a 0a 00 | .;;.no-byte-compile:.t.;;.End:.. | 
| 1b800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1b9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ba00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ba20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ba40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ba60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ba80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1baa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bbc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bbe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bc00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bc20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bc40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bc60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bc80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bcc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bd00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1be00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1be20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1be40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1be60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1be80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bf00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bf20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bf40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bf60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bf80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bfa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bfc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1bfe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1c9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ca00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ca20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ca40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ca60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ca80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1caa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cbc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cbe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cc00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cc20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cc40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cc60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cc80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ccc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cd00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ce00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ce20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ce40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ce60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ce80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cf00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cf20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cf40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cf60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cf80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cfa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cfc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1cfe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1d9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1da00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1da20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1da40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1da60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1da80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1daa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1db00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1db20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1db40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1db60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1db80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dbc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dbe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dc00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dc20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dc40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dc60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dc80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dcc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dd00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ddc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1de00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1de20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1de40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1de60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1de80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1df00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1df20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1df40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1df60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1df80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dfa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dfc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1dfe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |