| 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  | ................................ |