| ofs | hex dump | ascii | 
|---|
| 0000 |  68 65 6c 70 66 75 6c 2d 32 30 32 35 30 34 30 38    2e 33 33 34 2f 00 00 00 00 00 00 00 00 00 00 00  | helpful-20250408.334/........... | 
| 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 36 00 20 35 00 00 00  | 0000000.00000000000.012366..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 35 30 34 30 38    2e 33 33 34 2f 68 65 6c 70 66 75 6c 2d 70 6b 67  | helpful-20250408.334/helpful-pkg | 
| 0220 |  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............................. | 
| 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 30 30 30 37 37 36 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  | 0000776.00000000000.015140..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 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63    6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63  | ;;.-*-.no-byte-compile:.t;.lexic | 
| 0420 |  61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20    2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b  | al-binding:.nil.-*-.(define-pack | 
| 0440 |  61 67 65 20 22 68 65 6c 70 66 75 6c 22 20 22 32    30 32 35 30 34 30 38 2e 33 33 34 22 0a 20 20 22  | age."helpful"."20250408.334"..." | 
| 0460 |  41 20 62 65 74 74 65 72 20 2a 68 65 6c 70 2a 20    62 75 66 66 65 72 2e 22 0a 20 20 27 28 28 65 6d  | A.better.*help*.buffer."...'((em | 
| 0480 |  61 63 73 20 20 20 20 20 20 22 32 35 22 29 0a 20    20 20 20 28 64 61 73 68 20 20 20 20 20 20 20 22  | acs......"25").....(dash......." | 
| 04a0 |  32 2e 31 38 2e 30 22 29 0a 20 20 20 20 28 73 20    20 20 20 20 20 20 20 20 20 22 31 2e 31 31 2e 30  | 2.18.0").....(s.........."1.11.0 | 
| 04c0 |  22 29 0a 20 20 20 20 28 66 20 20 20 20 20 20 20    20 20 20 22 30 2e 32 30 2e 30 22 29 0a 20 20 20  | ").....(f.........."0.20.0").... | 
| 04e0 |  20 28 65 6c 69 73 70 2d 72 65 66 73 20 22 31 2e    32 22 29 29 0a 20 20 3a 75 72 6c 20 22 68 74 74  | .(elisp-refs."1.2"))...:url."htt | 
| 0500 |  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 65 6c 70 66 75 6c 22  | ps://github.com/Wilfred/helpful" | 
| 0520 |  0a 20 20 3a 63 6f 6d 6d 69 74 20 22 30 33 37 35    36 66 61 36 61 64 34 64 63 63 61 35 65 30 39 32  | ...:commit."03756fa6ad4dcca5e092 | 
| 0540 |  30 36 32 32 62 31 65 65 33 66 37 30 61 62 66 63    34 65 33 39 22 0a 20 20 3a 72 65 76 64 65 73 63  | 0622b1ee3f70abfc4e39"...:revdesc | 
| 0560 |  20 22 30 33 37 35 36 66 61 36 61 64 34 64 22 0a    20 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 68  | ."03756fa6ad4d"...:keywords.'("h | 
| 0580 |  65 6c 70 22 20 22 6c 69 73 70 22 29 0a 20 20 3a    61 75 74 68 6f 72 73 20 27 28 28 22 57 69 6c 66  | elp"."lisp")...:authors.'(("Wilf | 
| 05a0 |  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 65 2e 75 6b 22  | red.Hughes"..."me@wilfred.me.uk" | 
| 05c0 |  29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72    73 20 27 28 28 22 57 69 6c 66 72 65 64 20 48 75  | ))...:maintainers.'(("Wilfred.Hu | 
| 05e0 |  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 29 29 0a 00 00  | ghes"..."me@wilfred.me.uk")))... | 
| 0600 |  68 65 6c 70 66 75 6c 2d 32 30 32 35 30 34 30 38    2e 33 33 34 2f 68 65 6c 70 66 75 6c 2e 65 6c 00  | helpful-20250408.334/helpful.el. | 
| 0620 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0640 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0660 |  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 | 
| 0680 |  30 33 33 30 35 35 31 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 33 35 36 00 20 30 00 00 00  | 0330551.00000000000.014356..0... | 
| 06a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 06c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 06e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0700 |  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................... | 
| 0720 |  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................... | 
| 0740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 07a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 07c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 07e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0800 |  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 | 
| 0820 |  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 | 
| 0840 |  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.( | 
| 0860 |  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..;; | 
| 0880 |  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 | 
| 08a0 |  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 | 
| 08c0 |  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 | 
| 08e0 |  73 3a 20 68 65 6c 70 2c 20 6c 69 73 70 0a 3b 3b    20 50 61 63 6b 61 67 65 2d 56 65 72 73 69 6f 6e  | s:.help,.lisp.;;.Package-Version | 
| 0900 |  3a 20 32 30 32 35 30 34 30 38 2e 33 33 34 0a 3b    3b 20 50 61 63 6b 61 67 65 2d 52 65 76 69 73 69  | :.20250408.334.;;.Package-Revisi | 
| 0920 |  6f 6e 3a 20 30 33 37 35 36 66 61 36 61 64 34 64    0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75  | on:.03756fa6ad4d.;;.Package-Requ | 
| 0940 |  69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32    35 22 29 20 28 64 61 73 68 20 22 32 2e 31 38 2e  | ires:.((emacs."25").(dash."2.18. | 
| 0960 |  30 22 29 20 28 73 20 22 31 2e 31 31 2e 30 22 29    20 28 66 20 22 30 2e 32 30 2e 30 22 29 20 28 65  | 0").(s."1.11.0").(f."0.20.0").(e | 
| 0980 |  6c 69 73 70 2d 72 65 66 73 20 22 31 2e 32 22 29    29 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72  | lisp-refs."1.2"))..;;.This.progr | 
| 09a0 |  61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77    61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64  | am.is.free.software;.you.can.red | 
| 09c0 |  69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64    2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74  | istribute.it.and/or.modify.;;.it | 
| 09e0 |  20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73    20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65  | .under.the.terms.of.the.GNU.Gene | 
| 0a00 |  72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e    73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20  | ral.Public.License.as.published. | 
| 0a20 |  62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53    6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69  | by.;;.the.Free.Software.Foundati | 
| 0a40 |  6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69    6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65  | on,.either.version.3.of.the.Lice | 
| 0a60 |  6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79    6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20  | nse,.or.;;.(at.your.option).any. | 
| 0a80 |  6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a    3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20  | later.version...;;.This.program. | 
| 0aa0 |  69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69    6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20  | is.distributed.in.the.hope.that. | 
| 0ac0 |  69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75    6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55  | it.will.be.useful,.;;.but.WITHOU | 
| 0ae0 |  54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20    77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65  | T.ANY.WARRANTY;.without.even.the | 
| 0b00 |  20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74    79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54  | .implied.warranty.of.;;.MERCHANT | 
| 0b20 |  41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45    53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55  | ABILITY.or.FITNESS.FOR.A.PARTICU | 
| 0b40 |  4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65    65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e  | LAR.PURPOSE...See.the.;;.GNU.Gen | 
| 0b60 |  65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65    6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74  | eral.Public.License.for.more.det | 
| 0b80 |  61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68    6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76  | ails...;;.You.should.have.receiv | 
| 0ba0 |  65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65    20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62  | ed.a.copy.of.the.GNU.General.Pub | 
| 0bc0 |  6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61    6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70  | lic.License.;;.along.with.this.p | 
| 0be0 |  72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c    20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77  | rogram...If.not,.see.<http://www | 
| 0c00 |  2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65    73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e  | .gnu.org/licenses/>...;;;.Commen | 
| 0c20 |  74 61 72 79 3a 0a 0a 3b 3b 20 48 65 6c 70 66 75    6c 20 69 73 20 61 20 72 65 70 6c 61 63 65 6d 65  | tary:..;;.Helpful.is.a.replaceme | 
| 0c40 |  6e 74 20 66 6f 72 20 2a 68 65 6c 70 2a 20 62 75    66 66 65 72 73 20 74 68 61 74 20 70 72 6f 76 69  | nt.for.*help*.buffers.that.provi | 
| 0c60 |  64 65 73 20 6d 75 63 68 20 6d 6f 72 65 0a 3b 3b    20 63 6f 6e 74 65 78 74 75 61 6c 20 69 6e 66 6f  | des.much.more.;;.contextual.info | 
| 0c80 |  72 6d 61 74 69 6f 6e 2e 20 20 54 6f 20 67 65 74    20 73 74 61 72 74 65 64 2c 20 74 72 79 3a 0a 3b  | rmation...To.get.started,.try:.; | 
| 0ca0 |  3b 20 60 4d 2d 78 20 68 65 6c 70 66 75 6c 2d 66    75 6e 63 74 69 6f 6e 20 52 45 54 20 68 65 6c 70  | ;.`M-x.helpful-function.RET.help | 
| 0cc0 |  66 75 6c 2d 66 75 6e 63 74 69 6f 6e 0a 3b 3b 0a    3b 3b 20 54 68 65 20 66 75 6c 6c 20 73 65 74 20  | ful-function.;;.;;.The.full.set. | 
| 0ce0 |  6f 66 20 63 6f 6d 6d 61 6e 64 73 20 79 6f 75 20    63 61 6e 20 74 72 79 20 69 73 3a 0a 3b 3b 0a 3b  | of.commands.you.can.try.is:.;;.; | 
| 0d00 |  3b 20 2a 20 68 65 6c 70 66 75 6c 2d 66 75 6e 63    74 69 6f 6e 0a 3b 3b 20 2a 20 68 65 6c 70 66 75  | ;.*.helpful-function.;;.*.helpfu | 
| 0d20 |  6c 2d 63 6f 6d 6d 61 6e 64 0a 3b 3b 20 2a 20 68    65 6c 70 66 75 6c 2d 6b 65 79 0a 3b 3b 20 2a 20  | l-command.;;.*.helpful-key.;;.*. | 
| 0d40 |  68 65 6c 70 66 75 6c 2d 6d 61 63 72 6f 0a 3b 3b    20 2a 20 68 65 6c 70 66 75 6c 2d 63 61 6c 6c 61  | helpful-macro.;;.*.helpful-calla | 
| 0d60 |  62 6c 65 0a 3b 3b 20 2a 20 68 65 6c 70 66 75 6c    2d 76 61 72 69 61 62 6c 65 0a 3b 3b 20 2a 20 68  | ble.;;.*.helpful-variable.;;.*.h | 
| 0d80 |  65 6c 70 66 75 6c 2d 61 74 2d 70 6f 69 6e 74 0a    3b 3b 0a 3b 3b 20 46 6f 72 20 6d 6f 72 65 20 69  | elpful-at-point.;;.;;.For.more.i | 
| 0da0 |  6e 66 6f 72 6d 61 74 69 6f 6e 20 61 6e 64 20 73    63 72 65 65 6e 73 68 6f 74 73 2c 20 73 65 65 0a  | nformation.and.screenshots,.see. | 
| 0dc0 |  3b 3b 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75    62 2e 63 6f 6d 2f 77 69 6c 66 72 65 64 2f 68 65  | ;;.https://github.com/wilfred/he | 
| 0de0 |  6c 70 66 75 6c 0a 0a 3b 3b 3b 20 43 6f 64 65 3a    0a 0a 28 72 65 71 75 69 72 65 20 27 65 6c 69 73  | lpful..;;;.Code:..(require.'elis | 
| 0e00 |  70 2d 72 65 66 73 29 0a 28 72 65 71 75 69 72 65    20 27 68 65 6c 70 29 0a 28 72 65 71 75 69 72 65  | p-refs).(require.'help).(require | 
| 0e20 |  20 27 68 65 6c 70 2d 66 6e 73 29 0a 28 72 65 71    75 69 72 65 20 27 64 61 73 68 29 0a 28 72 65 71  | .'help-fns).(require.'dash).(req | 
| 0e40 |  75 69 72 65 20 27 73 29 0a 28 72 65 71 75 69 72    65 20 27 66 29 0a 28 72 65 71 75 69 72 65 20 27  | uire.'s).(require.'f).(require.' | 
| 0e60 |  66 69 6e 64 2d 66 75 6e 63 29 0a 28 72 65 71 75    69 72 65 20 27 6e 61 64 76 69 63 65 29 0a 28 72  | find-func).(require.'nadvice).(r | 
| 0e80 |  65 71 75 69 72 65 20 27 69 6e 66 6f 2d 6c 6f 6f    6b 29 0a 28 72 65 71 75 69 72 65 20 27 65 64 65  | equire.'info-look).(require.'ede | 
| 0ea0 |  62 75 67 29 0a 28 72 65 71 75 69 72 65 20 27 74    72 61 63 65 29 0a 28 72 65 71 75 69 72 65 20 27  | bug).(require.'trace).(require.' | 
| 0ec0 |  69 6d 65 6e 75 29 0a 28 72 65 71 75 69 72 65 20    27 63 63 2d 6c 61 6e 67 73 29 0a 0a 28 64 65 63  | imenu).(require.'cc-langs)..(dec | 
| 0ee0 |  6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 6f 72    67 2d 6c 69 6e 6b 2d 74 79 70 65 73 20 22 6f 6c  | lare-function.org-link-types."ol | 
| 0f00 |  22 20 28 29 29 0a 28 64 65 63 6c 61 72 65 2d 66    75 6e 63 74 69 6f 6e 20 6f 72 67 2d 6c 69 6e 6b  | ".()).(declare-function.org-link | 
| 0f20 |  2d 73 74 6f 72 65 2d 70 72 6f 70 73 20 22 6f 6c    22 20 28 26 72 65 73 74 20 70 6c 69 73 74 29 29  | -store-props."ol".(&rest.plist)) | 
| 0f40 |  0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69    6f 6e 20 6f 72 67 2d 6c 69 6e 6b 2d 67 65 74 2d  | .(declare-function.org-link-get- | 
| 0f60 |  70 61 72 61 6d 65 74 65 72 20 22 6f 6c 22 20 28    74 79 70 65 20 6b 65 79 29 29 0a 0a 28 64 65 66  | parameter."ol".(type.key))..(def | 
| 0f80 |  76 61 72 2d 6c 6f 63 61 6c 20 68 65 6c 70 66 75    6c 2d 2d 73 79 6d 20 6e 69 6c 29 0a 28 64 65 66  | var-local.helpful--sym.nil).(def | 
| 0fa0 |  76 61 72 2d 6c 6f 63 61 6c 20 68 65 6c 70 66 75    6c 2d 2d 63 61 6c 6c 61 62 6c 65 2d 70 20 6e 69  | var-local.helpful--callable-p.ni | 
| 0fc0 |  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 2d 61 73 73 6f 63 69  | l).(defvar-local.helpful--associ | 
| 0fe0 |  61 74 65 64 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 62 65  | ated-buffer.nil..."The.buffer.be | 
| 1000 |  69 6e 67 20 75 73 65 64 20 77 68 65 6e 20 73 68    6f 77 69 6e 67 20 69 6e 73 70 65 63 74 69 6e 67  | ing.used.when.showing.inspecting | 
| 1020 |  0a 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61    72 69 61 62 6c 65 73 2e 22 29 0a 28 64 65 66 76  | .buffer-local.variables.").(defv | 
| 1040 |  61 72 2d 6c 6f 63 61 6c 20 68 65 6c 70 66 75 6c    2d 2d 73 74 61 72 74 2d 62 75 66 66 65 72 20 6e  | ar-local.helpful--start-buffer.n | 
| 1060 |  69 6c 0a 20 20 22 54 68 65 20 62 75 66 66 65 72    20 77 65 20 77 65 72 65 20 6f 72 69 67 69 6e 61  | il..."The.buffer.we.were.origina | 
| 1080 |  6c 6c 79 20 63 61 6c 6c 65 64 20 66 72 6f 6d 2e    22 29 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c  | lly.called.from.").(defvar-local | 
| 10a0 |  20 68 65 6c 70 66 75 6c 2d 2d 76 69 65 77 2d 6c    69 74 65 72 61 6c 20 6e 69 6c 0a 20 20 22 57 68  | .helpful--view-literal.nil..."Wh | 
| 10c0 |  65 74 68 65 72 20 74 6f 20 73 68 6f 77 20 61 20    76 61 6c 75 65 20 61 73 20 61 20 6c 69 74 65 72  | ether.to.show.a.value.as.a.liter | 
| 10e0 |  61 6c 2c 20 6f 72 20 61 20 70 72 65 74 74 79 20    69 6e 74 65 72 61 63 74 69 76 65 0a 76 69 65 77  | al,.or.a.pretty.interactive.view | 
| 1100 |  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 66 69 72 73 74  | .").(defvar-local.helpful--first | 
| 1120 |  2d 64 69 73 70 6c 61 79 20 74 0a 20 20 22 57 68    65 74 68 65 72 20 74 68 69 73 20 69 73 20 74 68  | -display.t..."Whether.this.is.th | 
| 1140 |  65 20 66 69 72 73 74 20 74 69 6d 65 20 74 68 69    73 20 72 65 73 75 6c 74 73 20 62 75 66 66 65 72  | e.first.time.this.results.buffer | 
| 1160 |  20 68 61 73 20 62 65 65 6e 0a 64 69 73 70 6c 61    79 65 64 2e 0a 0a 4e 69 6c 20 6d 65 61 6e 73 20  | .has.been.displayed...Nil.means. | 
| 1180 |  74 68 61 74 20 77 65 27 72 65 20 72 65 66 72 65    73 68 69 6e 67 2c 20 73 6f 20 77 65 20 64 6f 6e  | that.we're.refreshing,.so.we.don | 
| 11a0 |  27 74 20 77 61 6e 74 20 74 6f 20 63 6c 6f 62 62    65 72 20 61 6e 79 0a 73 65 74 74 69 6e 67 73 20  | 't.want.to.clobber.any.settings. | 
| 11c0 |  63 68 61 6e 67 65 64 20 62 79 20 74 68 65 20 75    73 65 72 2e 22 29 0a 0a 28 64 65 66 67 72 6f 75  | changed.by.the.user.")..(defgrou | 
| 11e0 |  70 20 68 65 6c 70 66 75 6c 20 6e 69 6c 0a 20 20    22 41 20 72 69 63 68 20 68 65 6c 70 20 73 79 73  | p.helpful.nil..."A.rich.help.sys | 
| 1200 |  74 65 6d 20 77 69 74 68 20 63 6f 6e 74 65 78 74    75 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e  | tem.with.contextual.information. | 
| 1220 |  22 0a 20 20 3a 6c 69 6e 6b 20 27 28 75 72 6c 2d    6c 69 6e 6b 20 22 68 74 74 70 73 3a 2f 2f 67 69  | "...:link.'(url-link."https://gi | 
| 1240 |  74 68 75 62 2e 63 6f 6d 2f 57 69 6c 66 72 65 64    2f 68 65 6c 70 66 75 6c 22 29 0a 20 20 3a 67 72  | thub.com/Wilfred/helpful")...:gr | 
| 1260 |  6f 75 70 20 27 68 65 6c 70 29 0a 0a 28 64 65 66    63 75 73 74 6f 6d 20 68 65 6c 70 66 75 6c 2d 6d  | oup.'help)..(defcustom.helpful-m | 
| 1280 |  61 78 2d 62 75 66 66 65 72 73 0a 20 20 35 0a 20    20 22 48 65 6c 70 66 75 6c 20 77 69 6c 6c 20 6b  | ax-buffers...5..."Helpful.will.k | 
| 12a0 |  69 6c 6c 20 74 68 65 20 6c 65 61 73 74 20 72 65    63 65 6e 74 6c 79 20 75 73 65 64 20 48 65 6c 70  | ill.the.least.recently.used.Help | 
| 12c0 |  66 75 6c 20 62 75 66 66 65 72 0a 69 66 20 74 68    65 72 65 20 61 72 65 20 6d 6f 72 65 20 74 68 61  | ful.buffer.if.there.are.more.tha | 
| 12e0 |  6e 20 74 68 69 73 20 6d 61 6e 79 2e 0a 0a 54 6f    20 64 69 73 61 62 6c 65 20 63 6c 65 61 6e 75 70  | n.this.many...To.disable.cleanup | 
| 1300 |  20 65 6e 74 69 72 65 6c 79 2c 20 73 65 74 20 74    68 69 73 20 76 61 72 69 61 62 6c 65 20 74 6f 20  | .entirely,.set.this.variable.to. | 
| 1320 |  6e 69 6c 2e 20 53 65 65 20 61 6c 73 6f 0a 60 68    65 6c 70 66 75 6c 2d 6b 69 6c 6c 2d 62 75 66 66  | nil..See.also.`helpful-kill-buff | 
| 1340 |  65 72 73 27 20 66 6f 72 20 61 20 6f 6e 65 2d 6f    66 66 20 63 6c 65 61 6e 75 70 2e 22 0a 20 20 3a  | ers'.for.a.one-off.cleanup."...: | 
| 1360 |  74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 63    6f 6e 73 74 20 6e 69 6c 29 20 6e 75 6d 62 65 72  | type.'(choice.(const.nil).number | 
| 1380 |  29 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 75 73 74 6f 6d  | )...:group.'helpful)..(defcustom | 
| 13a0 |  20 68 65 6c 70 66 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 0a  | .helpful-switch-buffer-function. | 
| 13c0 |  20 20 23 27 70 6f 70 2d 74 6f 2d 62 75 66 66 65    72 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 63 61  | ..#'pop-to-buffer..."Function.ca | 
| 13e0 |  6c 6c 65 64 20 74 6f 20 64 69 73 70 6c 61 79 20    74 68 65 20 2a 48 65 6c 70 66 75 6c 2a 20 62 75  | lled.to.display.the.*Helpful*.bu | 
| 1400 |  66 66 65 72 2e 22 0a 20 20 3a 74 79 70 65 20 27    66 75 6e 63 74 69 6f 6e 0a 20 20 3a 67 72 6f 75  | ffer."...:type.'function...:grou | 
| 1420 |  70 20 27 68 65 6c 70 66 75 6c 29 0a 0a 28 64 65    66 63 75 73 74 6f 6d 20 68 65 6c 70 66 75 6c 2d  | p.'helpful)..(defcustom.helpful- | 
| 1440 |  73 65 74 2d 76 61 72 69 61 62 6c 65 2d 66 75 6e    63 74 69 6f 6e 0a 20 20 28 69 66 20 28 3c 20 32  | set-variable-function...(if.(<.2 | 
| 1460 |  39 20 65 6d 61 63 73 2d 6d 61 6a 6f 72 2d 76 65    72 73 69 6f 6e 29 20 23 27 73 65 74 6f 70 74 20  | 9.emacs-major-version).#'setopt. | 
| 1480 |  23 27 73 65 74 71 29 0a 20 20 22 46 75 6e 63 74    69 6f 6e 20 75 73 65 64 20 62 79 20 60 68 65 6c  | #'setq)..."Function.used.by.`hel | 
| 14a0 |  70 66 75 6c 2d 2d 73 65 74 27 20 74 6f 20 69 6e    74 65 72 61 63 74 69 76 65 6c 79 20 73 65 74 20  | pful--set'.to.interactively.set. | 
| 14c0 |  76 61 72 69 61 62 6c 65 73 2e 22 0a 20 20 3a 74    79 70 65 20 27 66 75 6e 63 74 69 6f 6e 0a 20 20  | variables."...:type.'function... | 
| 14e0 |  3a 67 72 6f 75 70 20 27 68 65 6c 70 66 75 6c 29    0a 0a 3b 3b 20 54 4f 44 4f 3a 20 65 78 70 6c 6f  | :group.'helpful)..;;.TODO:.explo | 
| 1500 |  72 65 20 77 68 65 74 68 65 72 20 6d 6f 72 65 20    62 61 73 69 63 20 68 69 67 68 6c 69 67 68 74 69  | re.whether.more.basic.highlighti | 
| 1520 |  6e 67 20 69 73 20 66 61 73 74 20 65 6e 6f 75 67    68 20 74 6f 0a 3b 3b 20 68 61 6e 64 6c 65 20 6c  | ng.is.fast.enough.to.;;.handle.l | 
| 1540 |  61 72 67 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e    20 53 65 65 20 60 63 2d 66 6f 6e 74 2d 6c 6f 63  | arger.functions..See.`c-font-loc | 
| 1560 |  6b 2d 69 6e 69 74 27 20 61 6e 64 20 69 74 73 20    75 73 65 20 6f 66 0a 3b 3b 20 66 6f 6e 74 2d 6c  | k-init'.and.its.use.of.;;.font-l | 
| 1580 |  6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 31 2e 0a    28 64 65 66 63 6f 6e 73 74 20 68 65 6c 70 66 75  | ock-keywords-1..(defconst.helpfu | 
| 15a0 |  6c 2d 6d 61 78 2d 68 69 67 68 6c 69 67 68 74 20    35 30 30 30 0a 20 20 22 44 6f 6e 27 74 20 68 69  | l-max-highlight.5000..."Don't.hi | 
| 15c0 |  67 68 6c 69 67 68 74 20 63 6f 64 65 20 77 69 74    68 20 6d 6f 72 65 20 74 68 61 6e 20 74 68 69 73  | ghlight.code.with.more.than.this | 
| 15e0 |  20 6d 61 6e 79 20 63 68 61 72 61 63 74 65 72 73    2e 0a 0a 54 68 69 73 20 69 73 20 63 75 72 72 65  | .many.characters...This.is.curre | 
| 1600 |  6e 74 6c 79 20 6f 6e 6c 79 20 75 73 65 64 20 66    6f 72 20 43 20 63 6f 64 65 2c 20 61 73 20 6c 69  | ntly.only.used.for.C.code,.as.li | 
| 1620 |  73 70 20 68 69 67 68 6c 69 67 68 74 69 6e 67 0a    73 65 65 6d 73 20 74 6f 20 62 65 20 6d 6f 72 65  | sp.highlighting.seems.to.be.more | 
| 1640 |  20 65 66 66 69 63 69 65 6e 74 2e 20 54 68 69 73    20 6d 61 79 20 63 68 61 6e 67 65 20 61 67 61 69  | .efficient..This.may.change.agai | 
| 1660 |  6e 20 69 6e 20 66 75 74 75 72 65 2e 0a 0a 53 65    65 20 60 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 27  | n.in.future...See.`this-command' | 
| 1680 |  20 61 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f    66 20 61 20 6c 61 72 67 65 20 70 69 65 63 65 20  | .as.an.example.of.a.large.piece. | 
| 16a0 |  6f 66 20 43 20 63 6f 64 65 20 74 68 61 74 0a 63    61 6e 20 6d 61 6b 65 20 48 65 6c 70 66 75 6c 20  | of.C.code.that.can.make.Helpful. | 
| 16c0 |  76 65 72 79 20 73 6c 6f 77 2e 22 29 0a 0a 28 64    65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6b 69  | very.slow.")..(defun.helpful--ki | 
| 16e0 |  6e 64 2d 6e 61 6d 65 20 28 73 79 6d 62 6f 6c 20    63 61 6c 6c 61 62 6c 65 2d 70 29 0a 20 20 22 44  | nd-name.(symbol.callable-p)..."D | 
| 1700 |  65 73 63 72 69 62 65 20 77 68 61 74 20 6b 69 6e    64 20 6f 66 20 73 79 6d 62 6f 6c 20 74 68 69 73  | escribe.what.kind.of.symbol.this | 
| 1720 |  20 69 73 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20    20 28 28 6e 6f 74 20 63 61 6c 6c 61 62 6c 65 2d  | .is."...(cond....((not.callable- | 
| 1740 |  70 29 20 22 76 61 72 69 61 62 6c 65 22 29 0a 20    20 20 28 28 63 6f 6d 6d 61 6e 64 70 20 73 79 6d  | p)."variable")....((commandp.sym | 
| 1760 |  62 6f 6c 29 20 22 63 6f 6d 6d 61 6e 64 22 29 0a    20 20 20 28 28 6d 61 63 72 6f 70 20 73 79 6d 62  | bol)."command")....((macrop.symb | 
| 1780 |  6f 6c 29 20 22 6d 61 63 72 6f 22 29 0a 20 20 20    28 28 66 75 6e 63 74 69 6f 6e 70 20 73 79 6d 62  | ol)."macro")....((functionp.symb | 
| 17a0 |  6f 6c 29 20 22 66 75 6e 63 74 69 6f 6e 22 29 0a    20 20 20 28 28 73 70 65 63 69 61 6c 2d 66 6f 72  | ol)."function")....((special-for | 
| 17c0 |  6d 2d 70 20 73 79 6d 62 6f 6c 29 20 22 73 70 65    63 69 61 6c 20 66 6f 72 6d 22 29 29 29 0a 0a 28  | m-p.symbol)."special.form")))..( | 
| 17e0 |  64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 62    75 66 66 65 72 20 28 73 79 6d 62 6f 6c 20 63 61  | defun.helpful--buffer.(symbol.ca | 
| 1800 |  6c 6c 61 62 6c 65 2d 70 29 0a 20 20 22 52 65 74    75 72 6e 20 61 20 62 75 66 66 65 72 20 74 6f 20  | llable-p)..."Return.a.buffer.to. | 
| 1820 |  73 68 6f 77 20 68 65 6c 70 20 66 6f 72 20 53 59    4d 42 4f 4c 20 69 6e 2e 22 0a 20 20 28 6c 65 74  | show.help.for.SYMBOL.in."...(let | 
| 1840 |  2a 20 28 28 63 75 72 72 65 6e 74 2d 62 75 66 66    65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66  | *.((current-buffer.(current-buff | 
| 1860 |  65 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 62    75 66 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20  | er))..........(buf-name......... | 
| 1880 |  20 20 28 66 6f 72 6d 61 74 20 22 2a 68 65 6c 70    66 75 6c 20 25 73 2a 22 0a 20 20 20 20 20 20 20  | ..(format."*helpful.%s*"........ | 
| 18a0 |  20 20 20 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 29 0a  | ...........(if.(symbolp.symbol). | 
| 18c0 |  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 72 6d 61 74 20 22 25  | ......................(format."% | 
| 18e0 |  73 3a 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 20 20 20 20  | s:.%s".......................... | 
| 1900 |  20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 6b    69 6e 64 2d 6e 61 6d 65 20 73 79 6d 62 6f 6c 20  | .....(helpful--kind-name.symbol. | 
| 1920 |  63 61 6c 6c 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  | callable-p)..................... | 
| 1940 |  20 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..........symbol)............... | 
| 1960 |  20 20 20 20 20 20 22 6c 61 6d 62 64 61 22 29 29    29 0a 20 20 20 20 20 20 20 20 20 28 62 75 66 20  | ......"lambda")))..........(buf. | 
| 1980 |  28 67 65 74 2d 62 75 66 66 65 72 20 62 75 66 2d    6e 61 6d 65 29 29 29 0a 20 20 20 20 28 75 6e 6c  | (get-buffer.buf-name))).....(unl | 
| 19a0 |  65 73 73 20 62 75 66 0a 20 20 20 20 20 20 3b 3b    20 49 66 20 77 65 20 6e 65 65 64 20 74 6f 20 63  | ess.buf.......;;.If.we.need.to.c | 
| 19c0 |  72 65 61 74 65 20 74 68 65 20 62 75 66 66 65 72    2c 20 65 6e 73 75 72 65 20 77 65 20 64 6f 6e 27  | reate.the.buffer,.ensure.we.don' | 
| 19e0 |  74 20 65 78 63 65 65 64 0a 20 20 20 20 20 20 3b    3b 20 60 68 65 6c 70 66 75 6c 2d 6d 61 78 2d 62  | t.exceed.......;;.`helpful-max-b | 
| 1a00 |  75 66 66 65 72 73 27 20 62 79 20 6b 69 6c 6c 69    6e 67 20 74 68 65 20 6c 65 61 73 74 20 72 65 63  | uffers'.by.killing.the.least.rec | 
| 1a20 |  65 6e 74 6c 79 20 75 73 65 64 2e 0a 20 20 20 20    20 20 28 77 68 65 6e 20 28 6e 75 6d 62 65 72 70  | ently.used........(when.(numberp | 
| 1a40 |  20 68 65 6c 70 66 75 6c 2d 6d 61 78 2d 62 75 66    66 65 72 73 29 0a 20 20 20 20 20 20 20 20 28 6c  | .helpful-max-buffers).........(l | 
| 1a60 |  65 74 2a 20 28 28 62 75 66 66 65 72 73 20 28 62    75 66 66 65 72 2d 6c 69 73 74 29 29 0a 20 20 20  | et*.((buffers.(buffer-list)).... | 
| 1a80 |  20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 6c    70 66 75 6c 2d 62 75 66 73 20 28 2d 2d 66 69 6c  | ............(helpful-bufs.(--fil | 
| 1aa0 |  74 65 72 20 28 77 69 74 68 2d 63 75 72 72 65 6e    74 2d 62 75 66 66 65 72 20 69 74 0a 20 20 20 20  | ter.(with-current-buffer.it..... | 
| 1ac0 |  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  | ................................ | 
| 1ae0 |  20 20 20 20 20 28 65 71 20 6d 61 6a 6f 72 2d 6d    6f 64 65 20 27 68 65 6c 70 66 75 6c 2d 6d 6f 64  | .....(eq.major-mode.'helpful-mod | 
| 1b00 |  65 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 20  | e))............................. | 
| 1b20 |  20 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65    72 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ...........buffers))............ | 
| 1b40 |  20 20 20 20 3b 3b 20 60 62 75 66 66 65 72 2d 6c    69 73 74 27 20 73 65 65 6d 73 20 74 6f 20 62 65  | ....;;.`buffer-list'.seems.to.be | 
| 1b60 |  20 6f 72 64 65 72 65 64 20 62 79 20 6d 6f 73 74    20 72 65 63 65 6e 74 6c 79 0a 20 20 20 20 20 20  | .ordered.by.most.recently....... | 
| 1b80 |  20 20 20 20 20 20 20 20 20 3b 3b 20 76 69 73 69    74 65 64 20 66 69 72 73 74 2c 20 73 6f 20 6b 65  | .........;;.visited.first,.so.ke | 
| 1ba0 |  65 70 20 74 68 6f 73 65 2e 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 65 78 63 65 73 73  | ep.those.................(excess | 
| 1bc0 |  2d 62 75 66 66 65 72 73 20 28 2d 64 72 6f 70 20    28 31 2d 20 68 65 6c 70 66 75 6c 2d 6d 61 78 2d  | -buffers.(-drop.(1-.helpful-max- | 
| 1be0 |  62 75 66 66 65 72 73 29 20 68 65 6c 70 66 75 6c    2d 62 75 66 73 29 29 29 0a 20 20 20 20 20 20 20  | buffers).helpful-bufs)))........ | 
| 1c00 |  20 20 20 3b 3b 20 4b 69 6c 6c 20 62 75 66 66 65    72 73 20 73 6f 20 77 65 20 68 61 76 65 20 6f 6e  | ...;;.Kill.buffers.so.we.have.on | 
| 1c20 |  65 20 62 75 66 66 65 72 20 6c 65 73 73 20 74 68    61 6e 20 74 68 65 20 6d 61 78 69 6d 75 6d 0a 20  | e.buffer.less.than.the.maximum.. | 
| 1c40 |  20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 66 6f    72 65 20 77 65 20 63 72 65 61 74 65 20 61 20 6e  | .........;;.before.we.create.a.n | 
| 1c60 |  65 77 20 6f 6e 65 2e 0a 20 20 20 20 20 20 20 20    20 20 28 2d 65 61 63 68 20 65 78 63 65 73 73 2d  | ew.one............(-each.excess- | 
| 1c80 |  62 75 66 66 65 72 73 20 23 27 6b 69 6c 6c 2d 62    75 66 66 65 72 29 29 29 0a 0a 20 20 20 20 20 20  | buffers.#'kill-buffer)))........ | 
| 1ca0 |  28 73 65 74 71 20 62 75 66 20 28 67 65 74 2d 62    75 66 66 65 72 2d 63 72 65 61 74 65 20 62 75 66  | (setq.buf.(get-buffer-create.buf | 
| 1cc0 |  2d 6e 61 6d 65 29 29 29 0a 0a 20 20 20 20 3b 3b    20 49 6e 69 74 69 61 6c 69 73 65 20 74 68 65 20  | -name)))......;;.Initialise.the. | 
| 1ce0 |  62 75 66 66 65 72 20 77 69 74 68 20 74 68 65 20    73 79 6d 62 6f 6c 20 61 6e 64 20 61 73 73 6f 63  | buffer.with.the.symbol.and.assoc | 
| 1d00 |  69 61 74 65 64 20 64 61 74 61 2e 0a 20 20 20 20    28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75  | iated.data......(with-current-bu | 
| 1d20 |  66 66 65 72 20 62 75 66 0a 20 20 20 20 20 20 28    68 65 6c 70 66 75 6c 2d 6d 6f 64 65 29 0a 20 20  | ffer.buf.......(helpful-mode)... | 
| 1d40 |  20 20 20 20 28 73 65 74 71 20 68 65 6c 70 66 75    6c 2d 2d 73 79 6d 20 73 79 6d 62 6f 6c 29 0a 20  | ....(setq.helpful--sym.symbol).. | 
| 1d60 |  20 20 20 20 20 28 73 65 74 71 20 68 65 6c 70 66    75 6c 2d 2d 63 61 6c 6c 61 62 6c 65 2d 70 20 63  | .....(setq.helpful--callable-p.c | 
| 1d80 |  61 6c 6c 61 62 6c 65 2d 70 29 0a 20 20 20 20 20    20 28 73 65 74 71 20 68 65 6c 70 66 75 6c 2d 2d  | allable-p).......(setq.helpful-- | 
| 1da0 |  73 74 61 72 74 2d 62 75 66 66 65 72 20 63 75 72    72 65 6e 74 2d 62 75 66 66 65 72 29 0a 20 20 20  | start-buffer.current-buffer).... | 
| 1dc0 |  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 64 2d 62 75 66  | ...(setq.helpful--associated-buf | 
| 1de0 |  66 65 72 20 63 75 72 72 65 6e 74 2d 62 75 66 66    65 72 29 0a 20 20 20 20 20 20 28 73 65 74 71 20  | fer.current-buffer).......(setq. | 
| 1e00 |  6c 69 73 74 2d 62 75 66 66 65 72 73 2d 64 69 72    65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 28  | list-buffers-directory.........( | 
| 1e20 |  69 66 20 28 73 79 6d 62 6f 6c 70 20 73 79 6d 62    6f 6c 29 20 28 66 6f 72 6d 61 74 20 22 25 73 3a  | if.(symbolp.symbol).(format."%s: | 
| 1e40 |  20 25 73 22 20 28 68 65 6c 70 66 75 6c 2d 2d 6b    69 6e 64 2d 6e 61 6d 65 20 73 79 6d 62 6f 6c 20  | .%s".(helpful--kind-name.symbol. | 
| 1e60 |  63 61 6c 6c 61 62 6c 65 2d 70 29 20 73 79 6d 62    6f 6c 29 20 22 6c 61 6d 62 64 61 22 29 29 0a 20  | callable-p).symbol)."lambda")).. | 
| 1e80 |  20 20 20 20 20 28 69 66 20 28 68 65 6c 70 66 75    6c 2d 2d 70 72 69 6d 69 74 69 76 65 2d 70 20 73  | .....(if.(helpful--primitive-p.s | 
| 1ea0 |  79 6d 62 6f 6c 20 63 61 6c 6c 61 62 6c 65 2d 70    29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74  | ymbol.callable-p)...........(set | 
| 1ec0 |  71 2d 6c 6f 63 61 6c 20 63 6f 6d 6d 65 6e 74 2d    73 74 61 72 74 20 22 2f 2f 22 29 0a 20 20 20 20  | q-local.comment-start."//")..... | 
| 1ee0 |  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 61 72 74 20 22 3b  | ....(setq-local.comment-start."; | 
| 1f00 |  22 29 29 29 0a 20 20 20 20 62 75 66 29 29 0a 0a    28 64 65 66 66 61 63 65 20 68 65 6c 70 66 75 6c  | "))).....buf))..(defface.helpful | 
| 1f20 |  2d 68 65 61 64 69 6e 67 0a 20 20 27 28 28 74 20    28 3a 77 65 69 67 68 74 20 62 6f 6c 64 29 29 29  | -heading...'((t.(:weight.bold))) | 
| 1f40 |  0a 20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f    72 20 68 65 61 64 69 6e 67 73 20 69 6e 20 48 65  | ..."Face.used.for.headings.in.He | 
| 1f60 |  6c 70 66 75 6c 20 62 75 66 66 65 72 73 2e 22 29    0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c  | lpful.buffers.")..(defun.helpful | 
| 1f80 |  2d 2d 68 65 61 64 69 6e 67 20 28 74 65 78 74 29    0a 20 20 22 50 72 6f 70 65 72 74 69 7a 65 20 54  | --heading.(text)..."Propertize.T | 
| 1fa0 |  45 58 54 20 61 73 20 61 20 68 65 61 64 69 6e 67    2e 22 0a 20 20 28 70 72 6f 70 65 72 74 69 7a 65  | EXT.as.a.heading."...(propertize | 
| 1fc0 |  20 28 63 6f 6e 63 61 74 20 74 65 78 74 20 22 5c    6e 22 29 20 27 66 61 63 65 20 27 68 65 6c 70 66  | .(concat.text."\n").'face.'helpf | 
| 1fe0 |  75 6c 2d 68 65 61 64 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  | ul-heading))..(defun.helpful--fo | 
| 2000 |  72 6d 61 74 2d 63 6c 6f 73 75 72 65 20 28 73 79    6d 20 66 6f 72 6d 29 0a 20 20 22 47 69 76 65 6e  | rmat-closure.(sym.form)..."Given | 
| 2020 |  20 61 20 63 6c 6f 73 75 72 65 2c 20 72 65 74 75    72 6e 20 61 6e 20 65 71 75 69 76 61 6c 65 6e 74  | .a.closure,.return.an.equivalent | 
| 2040 |  20 64 65 66 75 6e 20 66 6f 72 6d 2e 22 0a 20 20    28 2d 6c 65 74 20 28 28 28 5f 6b 65 79 77 6f 72  | .defun.form."...(-let.(((_keywor | 
| 2060 |  64 20 5f 65 6e 76 20 61 72 67 73 20 2e 20 62 6f    64 79 29 20 66 6f 72 6d 29 0a 20 20 20 20 20 20  | d._env.args...body).form)....... | 
| 2080 |  20 20 20 28 64 6f 63 73 74 72 69 6e 67 20 6e 69    6c 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73  | ...(docstring.nil)).....(when.(s | 
| 20a0 |  74 72 69 6e 67 70 20 28 63 61 72 20 62 6f 64 79    29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 64  | tringp.(car.body)).......(setq.d | 
| 20c0 |  6f 63 73 74 72 69 6e 67 20 28 63 61 72 20 62 6f    64 79 29 29 0a 20 20 20 20 20 20 28 73 65 74 71  | ocstring.(car.body)).......(setq | 
| 20e0 |  20 62 6f 64 79 20 28 63 64 72 20 62 6f 64 79 29    29 0a 20 20 20 20 20 20 3b 3b 20 45 6e 73 75 72  | .body.(cdr.body)).......;;.Ensur | 
| 2100 |  65 20 74 68 61 74 20 74 68 65 20 64 6f 63 73 74    72 69 6e 67 20 64 6f 65 73 6e 27 74 20 68 61 76  | e.that.the.docstring.doesn't.hav | 
| 2120 |  65 20 6c 69 6e 65 73 20 73 74 61 72 74 69 6e 67    20 77 69 74 68 20 28 2c 0a 20 20 20 20 20 20 3b  | e.lines.starting.with.(,.......; | 
| 2140 |  3b 20 6f 72 20 69 74 20 62 72 65 61 6b 73 20 69    6e 64 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20  | ;.or.it.breaks.indentation...... | 
| 2160 |  20 20 28 73 65 74 71 20 64 6f 63 73 74 72 69 6e    67 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73  | ..(setq.docstring.............(s | 
| 2180 |  2d 72 65 70 6c 61 63 65 20 22 5c 6e 28 22 20 22    5c 6e 5c 5c 28 22 20 64 6f 63 73 74 72 69 6e 67  | -replace."\n("."\n\\(".docstring | 
| 21a0 |  29 29 29 0a 20 20 20 20 28 69 66 20 64 6f 63 73    74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 60 28  | ))).....(if.docstring.........`( | 
| 21c0 |  64 65 66 75 6e 20 2c 73 79 6d 20 2c 61 72 67 73    20 2c 64 6f 63 73 74 72 69 6e 67 20 2c 40 62 6f  | defun.,sym.,args.,docstring.,@bo | 
| 21e0 |  64 79 29 0a 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 40 62  | dy).......`(defun.,sym.,args.,@b | 
| 2200 |  6f 64 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    68 65 6c 70 66 75 6c 2d 2d 70 72 65 74 74 79 2d  | ody))))..(defun.helpful--pretty- | 
| 2220 |  70 72 69 6e 74 20 28 76 61 6c 75 65 29 0a 20 20    22 50 72 65 74 74 79 2d 70 72 69 6e 74 20 56 41  | print.(value)..."Pretty-print.VA | 
| 2240 |  4c 55 45 2e 0a 0a 49 66 20 56 41 4c 55 45 20 69    73 20 76 65 72 79 20 62 69 67 2c 20 74 68 65 20  | LUE...If.VALUE.is.very.big,.the. | 
| 2260 |  75 73 65 72 20 6d 61 79 20 70 72 65 73 73 20 5c    5c 5b 6b 65 79 62 6f 61 72 64 2d 71 75 69 74 5d  | user.may.press.\\[keyboard-quit] | 
| 2280 |  20 74 6f 0a 67 72 61 63 65 66 75 6c 6c 79 20 73    74 6f 70 20 74 68 65 20 70 72 69 6e 74 69 6e 67  | .to.gracefully.stop.the.printing | 
| 22a0 |  2e 20 49 66 20 56 41 4c 55 45 20 69 73 20 73 65    6c 66 2d 72 65 66 65 72 65 6e 74 69 61 6c 2c 20  | ..If.VALUE.is.self-referential,. | 
| 22c0 |  74 68 65 0a 65 72 72 6f 72 20 77 69 6c 6c 20 62    65 20 63 61 75 67 68 74 20 61 6e 64 20 64 69 73  | the.error.will.be.caught.and.dis | 
| 22e0 |  70 6c 61 79 65 64 2e 22 0a 20 20 3b 3b 20 49 6e    73 70 69 72 65 64 20 62 79 20 60 69 65 6c 6d 2d  | played."...;;.Inspired.by.`ielm- | 
| 2300 |  65 76 61 6c 2d 69 6e 70 75 74 27 2e 0a 20 20 28    63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65  | eval-input'....(condition-case.e | 
| 2320 |  72 72 0a 20 20 20 20 20 20 28 73 2d 74 72 69 6d    2d 72 69 67 68 74 20 28 70 70 2d 74 6f 2d 73 74  | rr.......(s-trim-right.(pp-to-st | 
| 2340 |  72 69 6e 67 20 76 61 6c 75 65 29 29 0a 20 20 20    20 28 65 72 72 6f 72 0a 20 20 20 20 20 28 70 72  | ring.value)).....(error......(pr | 
| 2360 |  6f 70 65 72 74 69 7a 65 20 28 66 6f 72 6d 61 74    20 22 28 44 69 73 70 6c 61 79 20 65 72 72 6f 72  | opertize.(format."(Display.error | 
| 2380 |  3a 20 25 73 29 22 20 28 63 61 64 72 20 65 72 72    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | :.%s)".(cadr.err)).............. | 
| 23a0 |  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 | 
| 23c0 |  65 29 29 0a 20 20 20 20 28 71 75 69 74 0a 20 20    20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22  | e)).....(quit......(propertize." | 
| 23e0 |  28 55 73 65 72 20 71 75 69 74 20 64 75 72 69 6e    67 20 70 72 65 74 74 79 2d 70 72 69 6e 74 69 6e  | (User.quit.during.pretty-printin | 
| 2400 |  67 2e 29 22 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  | g.)"..................'face.'fon | 
| 2420 |  74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66    61 63 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20  | t-lock-comment-face))))..(defun. | 
| 2440 |  68 65 6c 70 66 75 6c 2d 2d 73 6f 72 74 2d 73 79    6d 62 6f 6c 73 20 28 73 79 6d 2d 6c 69 73 74 29  | helpful--sort-symbols.(sym-list) | 
| 2460 |  0a 20 20 22 53 6f 72 74 20 73 79 6d 62 6f 6c 73    20 69 6e 20 53 59 4d 2d 4c 49 53 54 20 61 6c 70  | ..."Sort.symbols.in.SYM-LIST.alp | 
| 2480 |  68 61 62 65 74 69 63 61 6c 6c 79 2e 22 0a 20 20    28 2d 2d 73 6f 72 74 0a 20 20 20 28 73 74 72 69  | habetically."...(--sort....(stri | 
| 24a0 |  6e 67 3c 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65    20 69 74 29 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d  | ng<.(symbol-name.it).(symbol-nam | 
| 24c0 |  65 20 6f 74 68 65 72 29 29 0a 20 20 20 73 79 6d    2d 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20  | e.other))....sym-list))..(defun. | 
| 24e0 |  68 65 6c 70 66 75 6c 2d 2d 62 75 74 74 6f 6e 20    28 74 65 78 74 20 74 79 70 65 20 26 72 65 73 74  | helpful--button.(text.type.&rest | 
| 2500 |  20 70 72 6f 70 65 72 74 69 65 73 29 0a 20 20 3b    3b 20 60 6d 61 6b 65 2d 74 65 78 74 2d 62 75 74  | .properties)...;;.`make-text-but | 
| 2520 |  74 6f 6e 27 20 6d 75 74 61 74 65 73 20 6f 75 72    20 73 74 72 69 6e 67 20 74 6f 20 61 64 64 20 70  | ton'.mutates.our.string.to.add.p | 
| 2540 |  72 6f 70 65 72 74 69 65 73 2e 20 43 6f 70 79 0a    20 20 3b 3b 20 54 45 58 54 20 74 6f 20 70 72 65  | roperties..Copy...;;.TEXT.to.pre | 
| 2560 |  76 65 6e 74 20 6d 75 74 61 74 69 6e 67 20 6f 75    72 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e 64  | vent.mutating.our.arguments,.and | 
| 2580 |  20 74 6f 20 73 75 70 70 6f 72 74 20 27 70 75 72    65 27 0a 20 20 3b 3b 20 73 74 72 69 6e 67 73 2c  | .to.support.'pure'...;;.strings, | 
| 25a0 |  20 77 68 69 63 68 20 61 72 65 20 72 65 61 64 2d    6f 6e 6c 79 2e 0a 20 20 28 73 65 74 71 20 74 65  | .which.are.read-only....(setq.te | 
| 25c0 |  78 74 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f    2d 70 72 6f 70 65 72 74 69 65 73 20 74 65 78 74  | xt.(substring-no-properties.text | 
| 25e0 |  29 29 0a 20 20 28 61 70 70 6c 79 20 23 27 6d 61    6b 65 2d 74 65 78 74 2d 62 75 74 74 6f 6e 0a 20  | ))...(apply.#'make-text-button.. | 
| 2600 |  20 20 20 20 20 20 20 20 74 65 78 74 20 6e 69 6c    0a 20 20 20 20 20 20 20 20 20 3a 74 79 70 65 20  | ........text.nil..........:type. | 
| 2620 |  74 79 70 65 0a 20 20 20 20 20 20 20 20 20 70 72    6f 70 65 72 74 69 65 73 29 29 0a 0a 28 64 65 66  | type..........properties))..(def | 
| 2640 |  75 6e 20 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 28 73 79  | un.helpful--canonical-symbol.(sy | 
| 2660 |  6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29 0a 20 20    22 49 66 20 53 59 4d 20 69 73 20 61 6e 20 61 6c  | m.callable-p)..."If.SYM.is.an.al | 
| 2680 |  69 61 73 2c 20 72 65 74 75 72 6e 20 74 68 65 20    75 6e 64 65 72 6c 79 69 6e 67 20 73 79 6d 62 6f  | ias,.return.the.underlying.symbo | 
| 26a0 |  6c 2e 0a 52 65 74 75 72 6e 20 53 59 4d 20 6f 74    68 65 72 77 69 73 65 2e 22 0a 20 20 28 6c 65 74  | l..Return.SYM.otherwise."...(let | 
| 26c0 |  20 28 28 64 65 70 74 68 20 30 29 29 0a 20 20 20    20 28 69 66 20 28 61 6e 64 20 28 73 79 6d 62 6f  | .((depth.0)).....(if.(and.(symbo | 
| 26e0 |  6c 70 20 73 79 6d 29 20 63 61 6c 6c 61 62 6c 65    2d 70 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f  | lp.sym).callable-p).........(pro | 
| 2700 |  67 6e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20    46 6f 6c 6c 6f 77 20 74 68 65 20 63 68 61 69 6e  | gn...........;;.Follow.the.chain | 
| 2720 |  20 6f 66 20 73 79 6d 62 6f 6c 73 20 75 6e 74 69    6c 20 77 65 20 66 69 6e 64 20 61 20 73 79 6d 62  | .of.symbols.until.we.find.a.symb | 
| 2740 |  6f 6c 20 74 68 61 74 0a 20 20 20 20 20 20 20 20    20 20 3b 3b 20 69 73 6e 27 74 20 70 6f 69 6e 74  | ol.that...........;;.isn't.point | 
| 2760 |  69 6e 67 20 74 6f 20 61 20 73 79 6d 62 6f 6c 2e    0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c  | ing.to.a.symbol............(whil | 
| 2780 |  65 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20    28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e  | e.(and.(symbolp.(symbol-function | 
| 27a0 |  20 73 79 6d 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 28 3c 20  | .sym)).......................(<. | 
| 27c0 |  64 65 70 74 68 20 31 30 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 28 73 65 74 71 20 73 79 6d  | depth.10)).............(setq.sym | 
| 27e0 |  20 28 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  | .(symbol-function.sym))......... | 
| 2800 |  20 20 20 20 28 73 65 74 71 20 64 65 70 74 68 20    28 31 2b 20 64 65 70 74 68 29 29 29 0a 20 20 20  | ....(setq.depth.(1+.depth))).... | 
| 2820 |  20 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 69    73 20 69 73 20 61 6e 20 61 6c 69 61 73 20 74 6f  | .......;;.If.this.is.an.alias.to | 
| 2840 |  20 61 20 70 72 69 6d 69 74 69 76 65 2c 20 72 65    74 75 72 6e 20 74 68 65 0a 20 20 20 20 20 20 20  | .a.primitive,.return.the........ | 
| 2860 |  20 20 20 3b 3b 20 70 72 69 6d 69 74 69 76 65 27    73 20 73 79 6d 62 6f 6c 2e 0a 20 20 20 20 20 20  | ...;;.primitive's.symbol........ | 
| 2880 |  20 20 20 20 28 77 68 65 6e 20 28 73 75 62 72 70    20 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f  | ....(when.(subrp.(symbol-functio | 
| 28a0 |  6e 20 73 79 6d 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 73 79 6d 20 28 69  | n.sym)).............(setq.sym.(i | 
| 28c0 |  6e 74 65 72 6e 20 28 73 75 62 72 2d 6e 61 6d 65    20 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f  | ntern.(subr-name.(symbol-functio | 
| 28e0 |  6e 20 73 79 6d 29 29 29 29 29 29 0a 20 20 20 20    20 20 28 73 65 74 71 20 73 79 6d 20 28 69 6e 64  | n.sym)))))).......(setq.sym.(ind | 
| 2900 |  69 72 65 63 74 2d 76 61 72 69 61 62 6c 65 20 73    79 6d 29 29 29 29 0a 20 20 73 79 6d 29 0a 0a 28  | irect-variable.sym))))...sym)..( | 
| 2920 |  64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 61    6c 69 61 73 65 73 20 28 73 79 6d 20 63 61 6c 6c  | defun.helpful--aliases.(sym.call | 
| 2940 |  61 62 6c 65 2d 70 29 0a 20 20 22 52 65 74 75 72    6e 20 61 6c 6c 20 74 68 65 20 61 6c 69 61 73 65  | able-p)..."Return.all.the.aliase | 
| 2960 |  73 20 66 6f 72 20 53 59 4d 2e 22 0a 20 20 28 6c    65 74 20 28 28 63 61 6e 6f 6e 69 63 61 6c 20 28  | s.for.SYM."...(let.((canonical.( | 
| 2980 |  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 79 6d 20 63 61  | helpful--canonical-symbol.sym.ca | 
| 29a0 |  6c 6c 61 62 6c 65 2d 70 29 29 0a 20 20 20 20 20    20 20 20 61 6c 69 61 73 65 73 29 0a 20 20 20 20  | llable-p)).........aliases)..... | 
| 29c0 |  28 6d 61 70 61 74 6f 6d 73 0a 20 20 20 20 20 28    6c 61 6d 62 64 61 20 28 73 29 0a 20 20 20 20 20  | (mapatoms......(lambda.(s)...... | 
| 29e0 |  20 20 28 77 68 65 6e 20 28 61 6e 64 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 6b  | ..(when.(and...............;;.Sk | 
| 2a00 |  69 70 20 76 61 72 69 61 62 6c 65 73 20 74 68 61    74 20 61 72 65 6e 27 74 20 62 6f 75 6e 64 2c 20  | ip.variables.that.aren't.bound,. | 
| 2a20 |  73 6f 20 77 65 27 72 65 20 66 61 73 74 65 72 2e    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | so.we're.faster................( | 
| 2a40 |  69 66 20 63 61 6c 6c 61 62 6c 65 2d 70 20 28 66    62 6f 75 6e 64 70 20 73 29 20 28 62 6f 75 6e 64  | if.callable-p.(fboundp.s).(bound | 
| 2a60 |  70 20 73 29 29 0a 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3b 3b 20 49 66 20 74 68 69 73 20  | p.s))................;;.If.this. | 
| 2a80 |  73 79 6d 62 6f 6c 20 69 73 20 61 20 6e 65 77 20    61 6c 69 61 73 20 66 6f 72 20 6f 75 72 20 74 61  | symbol.is.a.new.alias.for.our.ta | 
| 2aa0 |  72 67 65 74 20 73 79 6d 2c 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3b 3b 20 61 64 64 20 69  | rget.sym,...............;;.add.i | 
| 2ac0 |  74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 65 71 20 63 61 6e 6f 6e 69 63 61 6c 20 28  | t................(eq.canonical.( | 
| 2ae0 |  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 20 63 61 6c 6c  | helpful--canonical-symbol.s.call | 
| 2b00 |  61 62 6c 65 2d 70 29 29 0a 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3b 3b 20 44 6f 6e 27 74  | able-p))................;;.Don't | 
| 2b20 |  20 69 6e 63 6c 75 64 65 20 53 59 4d 2e 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74  | .include.SYM................(not | 
| 2b40 |  20 28 65 71 20 73 79 6d 20 73 29 29 29 0a 20 20    20 20 20 20 20 20 20 28 70 75 73 68 20 73 20 61  | .(eq.sym.s)))..........(push.s.a | 
| 2b60 |  6c 69 61 73 65 73 29 29 29 29 0a 20 20 20 20 28    68 65 6c 70 66 75 6c 2d 2d 73 6f 72 74 2d 73 79  | liases)))).....(helpful--sort-sy | 
| 2b80 |  6d 62 6f 6c 73 20 61 6c 69 61 73 65 73 29 29 29    0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c  | mbols.aliases)))..(defun.helpful | 
| 2ba0 |  2d 2d 6f 62 73 6f 6c 65 74 65 2d 69 6e 66 6f 20    28 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29  | --obsolete-info.(sym.callable-p) | 
| 2bc0 |  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 67 65 74 20  | ...(when.(symbolp.sym).....(get. | 
| 2be0 |  73 79 6d 20 28 69 66 20 63 61 6c 6c 61 62 6c 65    2d 70 20 27 62 79 74 65 2d 6f 62 73 6f 6c 65 74  | sym.(if.callable-p.'byte-obsolet | 
| 2c00 |  65 2d 69 6e 66 6f 20 27 62 79 74 65 2d 6f 62 73    6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65 29 29  | e-info.'byte-obsolete-variable)) | 
| 2c20 |  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 61 6c 69 61 73  | ))..(defun.helpful--format-alias | 
| 2c40 |  20 28 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70    29 0a 20 20 28 6c 65 74 20 28 28 6f 62 73 6f 6c  | .(sym.callable-p)...(let.((obsol | 
| 2c60 |  65 74 65 2d 69 6e 66 6f 20 28 68 65 6c 70 66 75    6c 2d 2d 6f 62 73 6f 6c 65 74 65 2d 69 6e 66 6f  | ete-info.(helpful--obsolete-info | 
| 2c80 |  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 28 73 79 6d 2d 62  | .sym.callable-p)).........(sym-b | 
| 2ca0 |  75 74 74 6f 6e 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  | utton.(helpful--button.......... | 
| 2cc0 |  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 20  | ............(symbol-name.sym)... | 
| 2ce0 |  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 64 65 73 63  | ...................'helpful-desc | 
| 2d00 |  72 69 62 65 2d 65 78 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  | ribe-exactly-button............. | 
| 2d20 |  20 20 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 20 20 20 20  | .........'symbol.sym............ | 
| 2d40 |  20 20 20 20 20 20 20 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  | ..........'callable-p.callable-p | 
| 2d60 |  29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20    20 20 20 28 6f 62 73 6f 6c 65 74 65 2d 69 6e 66  | ))).....(cond......(obsolete-inf | 
| 2d80 |  6f 0a 20 20 20 20 20 20 28 2d 69 66 2d 6c 65 74    20 28 76 65 72 73 69 6f 6e 20 28 2d 6c 61 73 74  | o.......(-if-let.(version.(-last | 
| 2da0 |  2d 69 74 65 6d 20 6f 62 73 6f 6c 65 74 65 2d 69    6e 66 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20  | -item.obsolete-info))........... | 
| 2dc0 |  28 66 6f 72 6d 61 74 20 22 25 73 20 28 6f 62 73    6f 6c 65 74 65 20 73 69 6e 63 65 20 25 73 29 22  | (format."%s.(obsolete.since.%s)" | 
| 2de0 |  20 73 79 6d 2d 62 75 74 74 6f 6e 20 76 65 72 73    69 6f 6e 29 0a 20 20 20 20 20 20 20 20 28 66 6f  | .sym-button.version).........(fo | 
| 2e00 |  72 6d 61 74 20 22 25 73 20 28 6f 62 73 6f 6c 65    74 65 29 22 20 73 79 6d 2d 62 75 74 74 6f 6e 29  | rmat."%s.(obsolete)".sym-button) | 
| 2e20 |  29 29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20    20 73 79 6d 2d 62 75 74 74 6f 6e 29 29 29 29 0a  | ))......(t.......sym-button)))). | 
| 2e40 |  0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d    2d 69 6e 64 65 6e 74 2d 72 69 67 69 64 6c 79 20  | .(defun.helpful--indent-rigidly. | 
| 2e60 |  28 73 20 61 6d 6f 75 6e 74 29 0a 20 20 22 49 6e    64 65 6e 74 20 73 74 72 69 6e 67 20 53 20 62 79  | (s.amount)..."Indent.string.S.by | 
| 2e80 |  20 61 64 64 69 6e 67 20 41 4d 4f 55 4e 54 20 73    70 61 63 65 73 20 74 6f 20 65 61 63 68 20 6c 69  | .adding.AMOUNT.spaces.to.each.li | 
| 2ea0 |  6e 65 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d    70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 69 6e  | ne."...(with-temp-buffer.....(in | 
| 2ec0 |  73 65 72 74 20 73 29 0a 20 20 20 20 28 69 6e 64    65 6e 74 2d 72 69 67 69 64 6c 79 20 28 70 6f 69  | sert.s).....(indent-rigidly.(poi | 
| 2ee0 |  6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d    61 78 29 20 61 6d 6f 75 6e 74 29 0a 20 20 20 20  | nt-min).(point-max).amount)..... | 
| 2f00 |  28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29    29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75  | (buffer-string)))..(defun.helpfu | 
| 2f20 |  6c 2d 2d 66 6f 72 6d 61 74 2d 70 72 6f 70 65 72    74 69 65 73 20 28 73 79 6d 62 6f 6c 29 0a 20 20  | l--format-properties.(symbol)... | 
| 2f40 |  22 52 65 74 75 72 6e 20 61 20 73 74 72 69 6e 67    20 64 65 73 63 72 69 62 69 6e 67 20 61 6c 6c 20  | "Return.a.string.describing.all. | 
| 2f60 |  74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 6f    66 20 53 59 4d 42 4f 4c 2e 22 0a 20 20 28 6c 65  | the.properties.of.SYMBOL."...(le | 
| 2f80 |  74 2a 20 28 28 73 79 6d 73 2d 61 6e 64 2d 76 61    6c 73 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70  | t*.((syms-and-vals...........(-p | 
| 2fa0 |  61 72 74 69 74 69 6f 6e 20 32 20 28 61 6e 64 20    28 73 79 6d 62 6f 6c 70 20 73 79 6d 62 6f 6c 29  | artition.2.(and.(symbolp.symbol) | 
| 2fc0 |  20 28 73 79 6d 62 6f 6c 2d 70 6c 69 73 74 20 73    79 6d 62 6f 6c 29 29 29 29 0a 20 20 20 20 20 20  | .(symbol-plist.symbol))))....... | 
| 2fe0 |  20 20 20 28 73 79 6d 73 2d 61 6e 64 2d 76 61 6c    73 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f  | ...(syms-and-vals...........(-so | 
| 3000 |  72 74 20 28 2d 6c 61 6d 62 64 61 20 28 28 73 79    6d 31 20 5f 29 20 28 73 79 6d 32 20 5f 29 29 0a  | rt.(-lambda.((sym1._).(sym2._)). | 
| 3020 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 73 74 72 69 6e 67 2d 6c 65 73 73 70  | ...................(string-lessp | 
| 3040 |  20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 73 79    6d 31 29 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65  | .(symbol-name.sym1).(symbol-name | 
| 3060 |  20 73 79 6d 32 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 73 79 6d 73 2d 61  | .sym2)))..................syms-a | 
| 3080 |  6e 64 2d 76 61 6c 73 29 29 0a 20 20 20 20 20 20    20 20 20 28 6c 69 6e 65 73 0a 20 20 20 20 20 20  | nd-vals))..........(lines....... | 
| 30a0 |  20 20 20 20 28 2d 2d 6d 61 70 0a 20 20 20 20 20    20 20 20 20 20 20 28 2d 6c 65 74 2a 20 28 28 28  | ....(--map............(-let*.((( | 
| 30c0 |  73 79 6d 20 76 61 6c 29 20 69 74 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | sym.val).it).................... | 
| 30e0 |  28 70 72 65 74 74 79 2d 76 61 6c 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | (pretty-val..................... | 
| 3100 |  28 68 65 6c 70 66 75 6c 2d 2d 70 72 65 74 74 79    2d 70 72 69 6e 74 20 76 61 6c 29 29 29 0a 20 20  | (helpful--pretty-print.val)))... | 
| 3120 |  20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d    61 74 20 22 25 73 5c 6e 25 73 25 73 22 0a 20 20  | ...........(format."%s\n%s%s"... | 
| 3140 |  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 20 28  | ...................(propertize.( | 
| 3160 |  73 79 6d 62 6f 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  | symbol-name.sym)................ | 
| 3180 |  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 6e 74 2d 6c 6f  | ..................'face.'font-lo | 
| 31a0 |  63 6b 2d 63 6f 6e 73 74 61 6e 74 2d 66 61 63 65    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ck-constant-face)............... | 
| 31c0 |  20 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d    2d 69 6e 64 65 6e 74 2d 72 69 67 69 64 6c 79 20  | .......(helpful--indent-rigidly. | 
| 31e0 |  70 72 65 74 74 79 2d 76 61 6c 20 32 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | pretty-val.2)................... | 
| 3200 |  20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b  | ...(cond.......................; | 
| 3220 |  3b 20 41 6c 73 6f 20 6f 66 66 65 72 20 74 6f 20    64 69 73 61 73 73 65 6d 62 6c 65 20 62 79 74 65  | ;.Also.offer.to.disassemble.byte | 
| 3240 |  2d 63 6f 64 65 0a 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 70  | -code.......................;;.p | 
| 3260 |  72 6f 70 65 72 74 69 65 73 2e 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | roperties....................... | 
| 3280 |  20 28 28 62 79 74 65 2d 63 6f 64 65 2d 66 75 6e    63 74 69 6f 6e 2d 70 20 76 61 6c 29 0a 20 20 20  | .((byte-code-function-p.val).... | 
| 32a0 |  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 20 22 5c 6e 20  | ....................(format."\n. | 
| 32c0 |  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 20 20 20 20 20 20  | .%s"............................ | 
| 32e0 |  20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 6d 61    6b 65 2d 64 69 73 61 73 73 65 6d 62 6c 65 2d 62  | ....(helpful--make-disassemble-b | 
| 3300 |  75 74 74 6f 6e 20 76 61 6c 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | utton.val))).................... | 
| 3320 |  20 20 20 28 28 65 71 20 73 79 6d 20 27 65 72 74    2d 2d 74 65 73 74 29 0a 20 20 20 20 20 20 20 20  | ...((eq.sym.'ert--test)......... | 
| 3340 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    66 6f 72 6d 61 74 20 22 5c 6e 20 20 25 73 22 0a  | ...............(format."\n..%s". | 
| 3360 |  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 28  | ...............................( | 
| 3380 |  68 65 6c 70 66 75 6c 2d 2d 6d 61 6b 65 2d 72 75    6e 2d 74 65 73 74 2d 62 75 74 74 6f 6e 20 73 79  | helpful--make-run-test-button.sy | 
| 33a0 |  6d 62 6f 6c 29 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 28 74  | mbol))).......................(t | 
| 33c0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 22 22 29 29 29 29 0a 20  | ........................"")))).. | 
| 33e0 |  20 20 20 20 20 20 20 20 20 20 73 79 6d 73 2d 61    6e 64 2d 76 61 6c 73 29 29 29 0a 20 20 20 20 28  | ..........syms-and-vals))).....( | 
| 3400 |  77 68 65 6e 20 6c 69 6e 65 73 0a 20 20 20 20 20    20 28 73 2d 6a 6f 69 6e 20 22 5c 6e 22 20 6c 69  | when.lines.......(s-join."\n".li | 
| 3420 |  6e 65 73 29 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  | nes))))..(define-button-type.'he | 
| 3440 |  6c 70 66 75 6c 2d 66 6f 72 67 65 74 2d 62 75 74    74 6f 6e 0a 20 20 27 61 63 74 69 6f 6e 20 23 27  | lpful-forget-button...'action.#' | 
| 3460 |  68 65 6c 70 66 75 6c 2d 2d 66 6f 72 67 65 74 0a    20 20 27 73 79 6d 62 6f 6c 20 6e 69 6c 0a 20 20  | helpful--forget...'symbol.nil... | 
| 3480 |  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 74  | 'callable-p.nil...'follow-link.t | 
| 34a0 |  0a 20 20 27 68 65 6c 70 2d 65 63 68 6f 20 22 55    6e 62 69 6e 64 20 74 68 69 73 20 66 75 6e 63 74  | ...'help-echo."Unbind.this.funct | 
| 34c0 |  69 6f 6e 22 29 0a 0a 3b 3b 20 54 4f 44 4f 3a 20    69 74 20 77 6f 75 6c 64 20 62 65 20 6e 69 63 65  | ion")..;;.TODO:.it.would.be.nice | 
| 34e0 |  20 74 6f 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 64    65 6c 65 74 65 20 74 68 65 20 73 6f 75 72 63 65  | .to.optionally.delete.the.source | 
| 3500 |  20 63 6f 64 65 20 74 6f 6f 2e 0a 28 64 65 66 75    6e 20 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 67 65  | .code.too..(defun.helpful--forge | 
| 3520 |  74 20 28 62 75 74 74 6f 6e 29 0a 20 20 22 55 6e    62 69 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74  | t.(button)..."Unbind.the.current | 
| 3540 |  20 73 79 6d 62 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  | .symbol."...(let*.((sym.(button- | 
| 3560 |  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 20 20 20 20 28 63  | get.button.'symbol))..........(c | 
| 3580 |  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 6e 20 27 63 61  | allable-p.(button-get.button.'ca | 
| 35a0 |  6c 6c 61 62 6c 65 2d 70 29 29 0a 20 20 20 20 20    20 20 20 20 28 6b 69 6e 64 20 28 68 65 6c 70 66  | llable-p))..........(kind.(helpf | 
| 35c0 |  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 65 2d 70 29 29 29 0a  | ul--kind-name.sym.callable-p))). | 
| 35e0 |  20 20 20 20 28 77 68 65 6e 20 28 79 65 73 2d 6f    72 2d 6e 6f 2d 70 20 28 66 6f 72 6d 61 74 20 22  | ....(when.(yes-or-no-p.(format." | 
| 3600 |  46 6f 72 67 65 74 20 25 73 20 25 73 3f 22 20 6b    69 6e 64 20 73 79 6d 29 29 0a 20 20 20 20 20 20  | Forget.%s.%s?".kind.sym))....... | 
| 3620 |  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 28 66 6d 61 6b 75 6e  | (if.callable-p...........(fmakun | 
| 3640 |  62 6f 75 6e 64 20 73 79 6d 29 0a 20 20 20 20 20    20 20 20 28 6d 61 6b 75 6e 62 6f 75 6e 64 20 73  | bound.sym).........(makunbound.s | 
| 3660 |  79 6d 29 29 0a 20 20 20 20 20 20 28 6d 65 73 73    61 67 65 20 22 46 6f 72 67 6f 74 20 25 73 20 25  | ym)).......(message."Forgot.%s.% | 
| 3680 |  73 2e 22 20 6b 69 6e 64 20 73 79 6d 29 0a 20 20    20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72  | s.".kind.sym).......(kill-buffer | 
| 36a0 |  20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72    29 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 62  | .(current-buffer)))))..(define-b | 
| 36c0 |  75 74 74 6f 6e 2d 74 79 70 65 20 27 68 65 6c 70    66 75 6c 2d 63 2d 73 6f 75 72 63 65 2d 64 69 72  | utton-type.'helpful-c-source-dir | 
| 36e0 |  65 63 74 6f 72 79 0a 20 20 27 61 63 74 69 6f 6e    20 23 27 68 65 6c 70 66 75 6c 2d 2d 63 2d 73 6f  | ectory...'action.#'helpful--c-so | 
| 3700 |  75 72 63 65 2d 64 69 72 65 63 74 6f 72 79 0a 20    20 27 66 6f 6c 6c 6f 77 2d 6c 69 6e 6b 20 74 0a  | urce-directory...'follow-link.t. | 
| 3720 |  20 20 27 68 65 6c 70 2d 65 63 68 6f 20 22 53 65    74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 45  | ..'help-echo."Set.directory.to.E | 
| 3740 |  6d 61 63 73 20 43 20 73 6f 75 72 63 65 20 63 6f    64 65 22 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c  | macs.C.source.code")..(defun.hel | 
| 3760 |  70 66 75 6c 2d 2d 63 2d 73 6f 75 72 63 65 2d 64    69 72 65 63 74 6f 72 79 20 28 5f 62 75 74 74 6f  | pful--c-source-directory.(_butto | 
| 3780 |  6e 29 0a 20 20 22 53 65 74 20 60 66 69 6e 64 2d    66 75 6e 63 74 69 6f 6e 2d 43 2d 73 6f 75 72 63  | n)..."Set.`find-function-C-sourc | 
| 37a0 |  65 2d 64 69 72 65 63 74 6f 72 79 27 20 73 6f 20    77 65 20 63 61 6e 20 73 68 6f 77 20 74 68 65 0a  | e-directory'.so.we.can.show.the. | 
| 37c0 |  73 6f 75 72 63 65 20 63 6f 64 65 20 74 6f 20 70    72 69 6d 69 74 69 76 65 73 2e 22 0a 20 20 28 6c  | source.code.to.primitives."...(l | 
| 37e0 |  65 74 20 28 28 65 6d 61 63 73 2d 73 72 63 2d 64    69 72 20 28 72 65 61 64 2d 64 69 72 65 63 74 6f  | et.((emacs-src-dir.(read-directo | 
| 3800 |  72 79 2d 6e 61 6d 65 20 22 50 61 74 68 20 74 6f    20 45 6d 61 63 73 20 73 6f 75 72 63 65 20 63 6f  | ry-name."Path.to.Emacs.source.co | 
| 3820 |  64 65 3a 20 22 29 29 29 0a 20 20 20 20 3b 3b 20    4c 65 74 20 74 68 65 20 75 73 65 72 20 73 70 65  | de:."))).....;;.Let.the.user.spe | 
| 3840 |  63 69 66 79 20 74 68 65 20 73 6f 75 72 63 65 20    70 61 74 68 20 77 69 74 68 20 6f 72 20 77 69 74  | cify.the.source.path.with.or.wit | 
| 3860 |  68 6f 75 74 20 73 72 63 2f 2c 0a 20 20 20 20 3b    3b 20 77 68 69 63 68 20 69 73 20 61 20 73 75 62  | hout.src/,.....;;.which.is.a.sub | 
| 3880 |  64 69 72 65 63 74 6f 72 79 20 69 6e 20 74 68 65    20 45 6d 61 63 73 20 74 72 65 65 2e 0a 20 20 20  | directory.in.the.Emacs.tree..... | 
| 38a0 |  20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20    28 66 2d 66 69 6c 65 6e 61 6d 65 20 65 6d 61 63  | .(unless.(equal.(f-filename.emac | 
| 38c0 |  73 2d 73 72 63 2d 64 69 72 29 20 22 73 72 63 22    29 0a 20 20 20 20 20 20 28 73 65 74 71 20 65 6d  | s-src-dir)."src").......(setq.em | 
| 38e0 |  61 63 73 2d 73 72 63 2d 64 69 72 20 28 66 2d 6a    6f 69 6e 20 65 6d 61 63 73 2d 73 72 63 2d 64 69  | acs-src-dir.(f-join.emacs-src-di | 
| 3900 |  72 20 22 73 72 63 22 29 29 29 0a 20 20 20 20 28    73 65 74 71 20 66 69 6e 64 2d 66 75 6e 63 74 69  | r."src"))).....(setq.find-functi | 
| 3920 |  6f 6e 2d 43 2d 73 6f 75 72 63 65 2d 64 69 72 65    63 74 6f 72 79 20 65 6d 61 63 73 2d 73 72 63 2d  | on-C-source-directory.emacs-src- | 
| 3940 |  64 69 72 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  | dir))...(helpful-update))..(defi | 
| 3960 |  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 69 73 61 73 73 65 6d  | ne-button-type.'helpful-disassem | 
| 3980 |  62 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 66 75 6c 2d 2d  | ble-button...'action.#'helpful-- | 
| 39a0 |  64 69 73 61 73 73 65 6d 62 6c 65 0a 20 20 27 66    6f 6c 6c 6f 77 2d 6c 69 6e 6b 20 74 0a 20 20 27  | disassemble...'follow-link.t...' | 
| 39c0 |  6f 62 6a 65 63 74 20 6e 69 6c 0a 20 20 27 68 65    6c 70 2d 65 63 68 6f 20 22 53 68 6f 77 20 64 69  | object.nil...'help-echo."Show.di | 
| 39e0 |  73 61 73 73 65 6d 62 6c 65 64 20 62 79 74 65 63    6f 64 65 22 29 0a 0a 28 64 65 66 75 6e 20 68 65  | sassembled.bytecode")..(defun.he | 
| 3a00 |  6c 70 66 75 6c 2d 2d 64 69 73 61 73 73 65 6d 62    6c 65 20 28 62 75 74 74 6f 6e 29 0a 20 20 22 44  | lpful--disassemble.(button)..."D | 
| 3a20 |  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 22 0a  | isassemble.the.current.symbol.". | 
| 3a40 |  20 20 3b 3b 20 60 64 69 73 61 73 73 65 6d 62 6c    65 27 20 63 61 6e 20 68 61 6e 64 6c 65 20 62 6f  | ..;;.`disassemble'.can.handle.bo | 
| 3a60 |  74 68 20 73 79 6d 62 6f 6c 73 20 28 65 2e 67 2e    20 27 77 68 65 6e 29 20 61 6e 64 20 72 61 77 0a  | th.symbols.(e.g..'when).and.raw. | 
| 3a80 |  20 20 3b 3b 20 62 79 74 65 2d 63 6f 64 65 20 6f    62 6a 65 63 74 73 2e 0a 20 20 28 64 69 73 61 73  | ..;;.byte-code.objects....(disas | 
| 3aa0 |  73 65 6d 62 6c 65 20 28 62 75 74 74 6f 6e 2d 67    65 74 20 62 75 74 74 6f 6e 20 27 6f 62 6a 65 63  | semble.(button-get.button.'objec | 
| 3ac0 |  74 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  | t)))..(define-button-type.'helpf | 
| 3ae0 |  75 6c 2d 72 75 6e 2d 74 65 73 74 2d 62 75 74 74    6f 6e 0a 20 20 27 61 63 74 69 6f 6e 20 23 27 68  | ul-run-test-button...'action.#'h | 
| 3b00 |  65 6c 70 66 75 6c 2d 2d 72 75 6e 2d 74 65 73 74    0a 20 20 27 66 6f 6c 6c 6f 77 2d 6c 69 6e 6b 20  | elpful--run-test...'follow-link. | 
| 3b20 |  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 52 75  | t...'symbol.nil...'help-echo."Ru | 
| 3b40 |  6e 20 45 52 54 20 74 65 73 74 22 29 0a 0a 28 64    65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 72 75  | n.ERT.test")..(defun.helpful--ru | 
| 3b60 |  6e 2d 74 65 73 74 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  | n-test.(button)..."Disassemble.t | 
| 3b80 |  68 65 20 63 75 72 72 65 6e 74 20 73 79 6d 62 6f    6c 2e 22 0a 20 20 28 65 72 74 20 28 62 75 74 74  | he.current.symbol."...(ert.(butt | 
| 3ba0 |  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 0a 28 64 65 66 69 6e  | on-get.button.'symbol)))..(defin | 
| 3bc0 |  65 2d 62 75 74 74 6f 6e 2d 74 79 70 65 20 27 68    65 6c 70 66 75 6c 2d 65 64 65 62 75 67 2d 62 75  | e-button-type.'helpful-edebug-bu | 
| 3be0 |  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 65 64 65 62 75 67  | tton...'action.#'helpful--edebug | 
| 3c00 |  0a 20 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  | ...'follow-link.t...'symbol.nil. | 
| 3c20 |  20 20 27 68 65 6c 70 2d 65 63 68 6f 20 22 54 6f    67 67 6c 65 20 65 64 65 62 75 67 20 28 72 65 2d  | ..'help-echo."Toggle.edebug.(re- | 
| 3c40 |  65 76 61 6c 75 61 74 65 73 20 64 65 66 69 6e 69    74 69 6f 6e 29 22 29 0a 0a 28 64 65 66 75 6e 20  | evaluates.definition)")..(defun. | 
| 3c60 |  68 65 6c 70 66 75 6c 2d 2d 6b 62 64 2d 6d 61 63    72 6f 2d 70 20 28 73 79 6d 29 0a 20 20 22 49 73  | helpful--kbd-macro-p.(sym)..."Is | 
| 3c80 |  20 53 59 4d 20 61 20 6b 65 79 62 6f 61 72 64 20    6d 61 63 72 6f 3f 22 0a 20 20 28 61 6e 64 20 28  | .SYM.a.keyboard.macro?"...(and.( | 
| 3ca0 |  73 79 6d 62 6f 6c 70 20 73 79 6d 29 0a 20 20 20    20 20 20 20 28 6c 65 74 20 28 28 66 75 6e 63 20  | symbolp.sym)........(let.((func. | 
| 3cc0 |  28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e    20 73 79 6d 29 29 29 0a 20 20 20 20 20 20 20 20  | (symbol-function.sym)))......... | 
| 3ce0 |  20 28 6f 72 20 28 73 74 72 69 6e 67 70 20 66 75    6e 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | .(or.(stringp.func)............. | 
| 3d00 |  20 28 76 65 63 74 6f 72 70 20 66 75 6e 63 29 29    29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70  | .(vectorp.func)))))..(defun.help | 
| 3d20 |  66 75 6c 2d 2d 65 64 65 62 75 67 2d 70 20 28 73    79 6d 29 0a 20 20 22 44 6f 65 73 20 66 75 6e 63  | ful--edebug-p.(sym)..."Does.func | 
| 3d40 |  74 69 6f 6e 20 53 59 4d 20 68 61 76 65 20 69 74    73 20 64 65 66 69 6e 69 74 69 6f 6e 20 70 61 74  | tion.SYM.have.its.definition.pat | 
| 3d60 |  63 68 65 64 20 62 79 20 65 64 65 62 75 67 3f 22    0a 20 20 28 6c 65 74 20 28 28 66 6e 2d 64 65 66  | ched.by.edebug?"...(let.((fn-def | 
| 3d80 |  20 28 69 6e 64 69 72 65 63 74 2d 66 75 6e 63 74    69 6f 6e 20 73 79 6d 29 29 29 0a 20 20 20 20 3b  | .(indirect-function.sym))).....; | 
| 3da0 |  3b 20 45 64 65 62 75 67 20 72 65 70 6c 61 63 65    73 20 66 75 6e 63 74 69 6f 6e 20 73 6f 75 72 63  | ;.Edebug.replaces.function.sourc | 
| 3dc0 |  65 20 63 6f 64 65 20 77 69 74 68 20 61 20 73 65    78 70 20 74 68 61 74 20 68 61 73 0a 20 20 20 20  | e.code.with.a.sexp.that.has..... | 
| 3de0 |  3b 3b 20 60 65 64 65 62 75 67 2d 65 6e 74 65 72    27 2c 20 60 65 64 65 62 75 67 2d 61 66 74 65 72  | ;;.`edebug-enter',.`edebug-after | 
| 3e00 |  27 20 65 74 63 20 69 6e 74 65 72 6c 65 61 76 65    64 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68  | '.etc.interleaved..This.means.th | 
| 3e20 |  65 0a 20 20 20 20 3b 3b 20 66 75 6e 63 74 69 6f    6e 20 69 73 20 69 6e 74 65 72 70 72 65 74 65 64  | e.....;;.function.is.interpreted | 
| 3e40 |  2c 20 73 6f 20 60 69 6e 64 69 72 65 63 74 2d 66    75 6e 63 74 69 6f 6e 27 20 72 65 74 75 72 6e 73  | ,.so.`indirect-function'.returns | 
| 3e60 |  20 61 20 6c 69 73 74 2e 0a 20 20 20 20 28 77 68    65 6e 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 66  | .a.list......(when.(and.(consp.f | 
| 3e80 |  6e 2d 64 65 66 29 20 28 63 6f 6e 73 70 20 28 63    64 72 20 66 6e 2d 64 65 66 29 29 29 0a 20 20 20  | n-def).(consp.(cdr.fn-def))).... | 
| 3ea0 |  20 20 20 28 2d 6c 65 74 20 5b 66 6e 2d 65 6e 64    20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 66 6e 2d  | ...(-let.[fn-end.(-last-item.fn- | 
| 3ec0 |  64 65 66 29 5d 0a 20 20 20 20 20 20 20 20 28 61    6e 64 20 28 63 6f 6e 73 70 20 66 6e 2d 65 6e 64  | def)].........(and.(consp.fn-end | 
| 3ee0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28    65 71 20 28 63 61 72 20 66 6e 2d 65 6e 64 29 20  | )..............(eq.(car.fn-end). | 
| 3f00 |  27 65 64 65 62 75 67 2d 65 6e 74 65 72 29 29 29    29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70  | 'edebug-enter))))))..(defun.help | 
| 3f20 |  66 75 6c 2d 2d 63 61 6e 2d 65 64 65 62 75 67 2d    70 20 28 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d  | ful--can-edebug-p.(sym.callable- | 
| 3f40 |  70 20 62 75 66 20 70 6f 73 29 0a 20 20 22 43 61    6e 20 77 65 20 75 73 65 20 65 64 65 62 75 67 20  | p.buf.pos)..."Can.we.use.edebug. | 
| 3f60 |  77 69 74 68 20 53 59 4d 3f 22 0a 20 20 28 61 6e    64 0a 20 20 20 3b 3b 20 53 59 4d 20 6d 75 73 74  | with.SYM?"...(and....;;.SYM.must | 
| 3f80 |  20 62 65 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a    20 20 20 63 61 6c 6c 61 62 6c 65 2d 70 0a 20 20  | .be.a.function.....callable-p... | 
| 3fa0 |  20 3b 3b 20 54 68 65 20 66 75 6e 63 74 69 6f 6e    20 63 61 6e 6e 6f 74 20 62 65 20 61 20 70 72 69  | .;;.The.function.cannot.be.a.pri | 
| 3fc0 |  6d 69 74 69 76 65 2c 20 69 74 20 6d 75 73 74 20    62 65 20 64 65 66 69 6e 65 64 20 69 6e 20 65 6c  | mitive,.it.must.be.defined.in.el | 
| 3fe0 |  69 73 70 2e 0a 20 20 20 28 6e 6f 74 20 28 68 65    6c 70 66 75 6c 2d 2d 70 72 69 6d 69 74 69 76 65  | isp.....(not.(helpful--primitive | 
| 4000 |  2d 70 20 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d    70 29 29 0a 20 20 20 3b 3b 20 57 65 20 6e 65 65  | -p.sym.callable-p))....;;.We.nee | 
| 4020 |  64 20 74 6f 20 62 65 20 61 62 6c 65 20 74 6f 20    66 69 6e 64 20 69 74 73 20 64 65 66 69 6e 69 74  | d.to.be.able.to.find.its.definit | 
| 4040 |  69 6f 6e 2c 20 6f 72 20 77 65 20 63 61 6e 27 74    20 73 74 65 70 0a 20 20 20 3b 3b 20 74 68 72 6f  | ion,.or.we.can't.step....;;.thro | 
| 4060 |  75 67 68 20 74 68 65 20 73 6f 75 72 63 65 2e 0a    20 20 20 62 75 66 20 70 6f 73 29 29 0a 0a 28 64  | ugh.the.source.....buf.pos))..(d | 
| 4080 |  65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 74 6f    67 67 6c 65 2d 65 64 65 62 75 67 20 28 73 79 6d  | efun.helpful--toggle-edebug.(sym | 
| 40a0 |  29 0a 20 20 22 45 6e 61 62 6c 65 20 65 64 65 62    75 67 20 77 68 65 6e 20 66 75 6e 63 74 69 6f 6e  | )..."Enable.edebug.when.function | 
| 40c0 |  20 53 59 4d 20 69 73 20 63 61 6c 6c 65 64 2c 0a    6f 72 20 64 69 73 61 62 6c 65 20 69 66 20 61 6c  | .SYM.is.called,.or.disable.if.al | 
| 40e0 |  72 65 61 64 79 20 65 6e 61 62 6c 65 64 2e 22 0a    20 20 28 2d 6c 65 74 20 28 28 73 68 6f 75 6c 64  | ready.enabled."...(-let.((should | 
| 4100 |  2d 65 64 65 62 75 67 20 28 6e 6f 74 20 28 68 65    6c 70 66 75 6c 2d 2d 65 64 65 62 75 67 2d 70 20  | -edebug.(not.(helpful--edebug-p. | 
| 4120 |  73 79 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20    28 28 62 75 66 20 70 6f 73 20 63 72 65 61 74 65  | sym)))..........((buf.pos.create | 
| 4140 |  64 29 20 28 68 65 6c 70 66 75 6c 2d 2d 64 65 66    69 6e 69 74 69 6f 6e 20 73 79 6d 20 74 29 29 29  | d).(helpful--definition.sym.t))) | 
| 4160 |  0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 62 75    66 20 70 6f 73 29 0a 20 20 20 20 20 20 20 20 28  | .....(if.(and.buf.pos).........( | 
| 4180 |  70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20    28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75  | progn...........(with-current-bu | 
| 41a0 |  66 66 65 72 20 62 75 66 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72  | ffer.buf.............(save-excur | 
| 41c0 |  73 69 6f 6e 0a 20 20 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  | sion...............(save-restric | 
| 41e0 |  74 69 6f 6e 0a 20 20 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  | tion.................(widen).... | 
| 4200 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f    74 6f 2d 63 68 61 72 20 70 6f 73 29 0a 0a 20 20  | .............(goto-char.pos).... | 
| 4220 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c    65 74 2a 20 28 28 65 64 65 62 75 67 2d 61 6c 6c  | ..............(let*.((edebug-all | 
| 4240 |  2d 66 6f 72 6d 73 20 73 68 6f 75 6c 64 2d 65 64    65 62 75 67 29 0a 20 20 20 20 20 20 20 20 20 20  | -forms.should-edebug)........... | 
| 4260 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 64    65 62 75 67 2d 61 6c 6c 2d 64 65 66 73 20 73 68  | .............(edebug-all-defs.sh | 
| 4280 |  6f 75 6c 64 2d 65 64 65 62 75 67 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ould-edebug).................... | 
| 42a0 |  20 20 20 20 28 66 6f 72 6d 20 28 65 64 65 62 75    67 2d 72 65 61 64 2d 74 6f 70 2d 6c 65 76 65 6c  | ....(form.(edebug-read-top-level | 
| 42c0 |  2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 42 61  | -form)))...................;;.Ba | 
| 42e0 |  73 65 64 20 6f 6e 20 60 65 64 65 62 75 67 2d 65    76 61 6c 2d 64 65 66 75 6e 27 2e 0a 20 20 20 20  | sed.on.`edebug-eval-defun'...... | 
| 4300 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65    76 61 6c 20 28 65 76 61 6c 2d 73 65 78 70 2d 61  | ..............(eval.(eval-sexp-a | 
| 4320 |  64 64 2d 64 65 66 76 61 72 73 20 66 6f 72 6d 29    20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67  | dd-defvars.form).lexical-binding | 
| 4340 |  29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    3b 3b 20 49 66 20 77 65 27 72 65 20 65 6e 61 62  | )))))...........;;.If.we're.enab | 
| 4360 |  6c 69 6e 67 20 65 64 65 62 75 67 2c 20 77 65 20    6e 65 65 64 20 74 68 65 20 73 6f 75 72 63 65 20  | ling.edebug,.we.need.the.source. | 
| 4380 |  62 75 66 66 65 72 20 74 6f 0a 20 20 20 20 20 20    20 20 20 20 3b 3b 20 65 78 69 73 74 2e 20 4f 74  | buffer.to...........;;.exist..Ot | 
| 43a0 |  68 65 72 77 69 73 65 2c 20 77 65 20 63 61 6e 20    63 6c 65 61 6e 20 69 74 20 75 70 2e 0a 20 20 20  | herwise,.we.can.clean.it.up..... | 
| 43c0 |  20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e    64 20 63 72 65 61 74 65 64 20 28 6e 6f 74 20 73  | .......(when.(and.created.(not.s | 
| 43e0 |  68 6f 75 6c 64 2d 65 64 65 62 75 67 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c  | hould-edebug)).............(kill | 
| 4400 |  2d 62 75 66 66 65 72 20 62 75 66 29 29 29 0a 0a    20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f  | -buffer.buf)))........(user-erro | 
| 4420 |  72 20 22 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e    64 20 73 6f 75 72 63 65 20 66 6f 72 20 65 64 65  | r."Could.not.find.source.for.ede | 
| 4440 |  62 75 67 22 29 29 29 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  | bug"))))..(defun.helpful--edebug | 
| 4460 |  20 28 62 75 74 74 6f 6e 29 0a 20 20 22 54 6f 67    67 6c 65 20 65 64 65 62 75 67 20 66 6f 72 20 74  | .(button)..."Toggle.edebug.for.t | 
| 4480 |  68 65 20 63 75 72 72 65 6e 74 20 73 79 6d 62 6f    6c 2e 22 0a 20 20 28 68 65 6c 70 66 75 6c 2d 2d  | he.current.symbol."...(helpful-- | 
| 44a0 |  74 6f 67 67 6c 65 2d 65 64 65 62 75 67 20 28 62    75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f 6e  | toggle-edebug.(button-get.button | 
| 44c0 |  20 27 73 79 6d 62 6f 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  | .'symbol))...(helpful-update)).. | 
| 44e0 |  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 74 72 61  | (define-button-type.'helpful-tra | 
| 4500 |  63 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 2d 74  | ce-button...'action.#'helpful--t | 
| 4520 |  72 61 63 65 0a 20 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  | race...'follow-link.t...'symbol. | 
| 4540 |  6e 69 6c 0a 20 20 27 68 65 6c 70 2d 65 63 68 6f    20 22 54 6f 67 67 6c 65 20 66 75 6e 63 74 69 6f  | nil...'help-echo."Toggle.functio | 
| 4560 |  6e 20 74 72 61 63 69 6e 67 22 29 0a 0a 28 64 65    66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 74 72 61  | n.tracing")..(defun.helpful--tra | 
| 4580 |  63 65 20 28 62 75 74 74 6f 6e 29 0a 20 20 22 54    6f 67 67 6c 65 20 74 72 61 63 69 6e 67 20 66 6f  | ce.(button)..."Toggle.tracing.fo | 
| 45a0 |  72 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 20 28 28  | r.the.current.symbol."...(let.(( | 
| 45c0 |  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 29  | sym.(button-get.button.'symbol)) | 
| 45e0 |  29 0a 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 0a  | ).....(if.(trace-is-traced.sym). | 
| 4600 |  20 20 20 20 20 20 20 20 28 75 6e 74 72 61 63 65    2d 66 75 6e 63 74 69 6f 6e 20 73 79 6d 29 0a 20  | ........(untrace-function.sym).. | 
| 4620 |  20 20 20 20 20 28 74 72 61 63 65 2d 66 75 6e 63    74 69 6f 6e 20 73 79 6d 29 29 29 0a 20 20 28 68  | .....(trace-function.sym)))...(h | 
| 4640 |  65 6c 70 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  | elpful-update))..(define-button- | 
| 4660 |  74 79 70 65 20 27 68 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  | type.'helpful-navigate-button... | 
| 4680 |  27 61 63 74 69 6f 6e 20 23 27 68 65 6c 70 66 75    6c 2d 2d 6e 61 76 69 67 61 74 65 0a 20 20 27 70  | 'action.#'helpful--navigate...'p | 
| 46a0 |  61 74 68 20 6e 69 6c 0a 20 20 27 70 6f 73 69 74    69 6f 6e 20 6e 69 6c 0a 20 20 27 66 6f 6c 6c 6f  | ath.nil...'position.nil...'follo | 
| 46c0 |  77 2d 6c 69 6e 6b 20 74 0a 20 20 27 68 65 6c 70    2d 65 63 68 6f 20 22 4e 61 76 69 67 61 74 65 20  | w-link.t...'help-echo."Navigate. | 
| 46e0 |  74 6f 20 64 65 66 69 6e 69 74 69 6f 6e 22 29 0a    0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d  | to.definition")..(defun.helpful- | 
| 4700 |  2d 67 6f 74 6f 2d 63 68 61 72 2d 77 69 64 65 6e    20 28 70 6f 73 29 0a 20 20 22 4d 6f 76 65 20 70  | -goto-char-widen.(pos)..."Move.p | 
| 4720 |  6f 69 6e 74 20 74 6f 20 50 4f 53 20 69 6e 20 74    68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65  | oint.to.POS.in.the.current.buffe | 
| 4740 |  72 2e 0a 49 66 20 6e 61 72 72 6f 77 69 6e 67 20    69 73 20 69 6e 20 65 66 66 65 63 74 2c 20 77 69  | r..If.narrowing.is.in.effect,.wi | 
| 4760 |  64 65 6e 20 69 66 20 50 4f 53 20 69 73 6e 27 74    20 69 6e 20 74 68 65 20 6e 61 72 72 6f 77 65 64  | den.if.POS.isn't.in.the.narrowed | 
| 4780 |  20 61 72 65 61 2e 22 0a 20 20 28 77 68 65 6e 20    28 6f 72 20 28 3c 20 70 6f 73 20 28 70 6f 69 6e  | .area."...(when.(or.(<.pos.(poin | 
| 47a0 |  74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 3e 20 70 6f 73 20 28 70 6f 69 6e  | t-min)).............(>.pos.(poin | 
| 47c0 |  74 2d 6d 61 78 29 29 29 0a 20 20 20 20 28 77 69    64 65 6e 29 29 0a 20 20 28 67 6f 74 6f 2d 63 68  | t-max))).....(widen))...(goto-ch | 
| 47e0 |  61 72 20 70 6f 73 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 61  | ar.pos))..(defun.helpful--naviga | 
| 4800 |  74 65 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 70  | te.(button)..."Navigate.to.the.p | 
| 4820 |  61 74 68 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  | ath.this.BUTTON.represents."...( | 
| 4840 |  66 69 6e 64 2d 66 69 6c 65 20 28 73 75 62 73 74    72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69  | find-file.(substring-no-properti | 
| 4860 |  65 73 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62    75 74 74 6f 6e 20 27 70 61 74 68 29 29 29 0a 20  | es.(button-get.button.'path))).. | 
| 4880 |  20 3b 3b 20 57 65 20 75 73 65 20 60 67 65 74 2d    74 65 78 74 2d 70 72 6f 70 65 72 74 79 27 20 74  | .;;.We.use.`get-text-property'.t | 
| 48a0 |  6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20 61 6e    20 45 6d 61 63 73 20 32 35 20 62 75 67 3a 0a 20  | o.work.around.an.Emacs.25.bug:.. | 
| 48c0 |  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/ | 
| 48e0 |  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 66 37 63 34 62 61  | cgit/emacs.git/commit/?id=f7c4ba | 
| 4900 |  64 31 37 64 38 33 32 39 37 65 65 39 61 31 62 35    37 35 35 32 62 31 39 34 34 30 32 30 66 32 33 61  | d17d83297ee9a1b57552b1944020f23a | 
| 4920 |  65 61 0a 20 20 28 2d 77 68 65 6e 2d 6c 65 74 20    28 70 6f 73 20 28 67 65 74 2d 74 65 78 74 2d 70  | ea...(-when-let.(pos.(get-text-p | 
| 4940 |  72 6f 70 65 72 74 79 20 62 75 74 74 6f 6e 20 27    70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 20 20  | roperty.button.'position........ | 
| 4960 |  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 28 6d  | ..............................(m | 
| 4980 |  61 72 6b 65 72 2d 62 75 66 66 65 72 20 62 75 74    74 6f 6e 29 29 29 0a 20 20 20 20 28 68 65 6c 70  | arker-buffer.button))).....(help | 
| 49a0 |  66 75 6c 2d 2d 67 6f 74 6f 2d 63 68 61 72 2d 77    69 64 65 6e 20 70 6f 73 29 29 29 0a 0a 28 64 65  | ful--goto-char-widen.pos)))..(de | 
| 49c0 |  66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6e 61 76    69 67 61 74 65 2d 62 75 74 74 6f 6e 20 28 74 65  | fun.helpful--navigate-button.(te | 
| 49e0 |  78 74 20 70 61 74 68 20 26 6f 70 74 69 6f 6e 61    6c 20 70 6f 73 29 0a 20 20 22 52 65 74 75 72 6e  | xt.path.&optional.pos)..."Return | 
| 4a00 |  20 61 20 62 75 74 74 6f 6e 20 74 68 61 74 20 6f    70 65 6e 73 20 50 41 54 48 20 61 6e 64 20 70 75  | .a.button.that.opens.PATH.and.pu | 
| 4a20 |  74 73 20 70 6f 69 6e 74 20 61 74 20 50 4f 53 2e    22 0a 20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75  | ts.point.at.POS."...(helpful--bu | 
| 4a40 |  74 74 6f 6e 0a 20 20 20 74 65 78 74 0a 20 20 20    27 68 65 6c 70 66 75 6c 2d 6e 61 76 69 67 61 74  | tton....text....'helpful-navigat | 
| 4a60 |  65 2d 62 75 74 74 6f 6e 0a 20 20 20 27 70 61 74    68 20 70 61 74 68 0a 20 20 20 27 70 6f 73 69 74  | e-button....'path.path....'posit | 
| 4a80 |  69 6f 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  | ion.pos))..(define-button-type.' | 
| 4aa0 |  68 65 6c 70 66 75 6c 2d 62 75 66 66 65 72 2d 62    75 74 74 6f 6e 0a 20 20 27 61 63 74 69 6f 6e 20  | helpful-buffer-button...'action. | 
| 4ac0 |  23 27 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 0a 20 20 27 62  | #'helpful--switch-to-buffer...'b | 
| 4ae0 |  75 66 66 65 72 20 6e 69 6c 0a 20 20 27 70 6f 73    69 74 69 6f 6e 20 6e 69 6c 0a 20 20 27 66 6f 6c  | uffer.nil...'position.nil...'fol | 
| 4b00 |  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 77 69 74 63 68 20  | low-link.t...'help-echo."Switch. | 
| 4b20 |  74 6f 20 74 68 69 73 20 62 75 66 66 65 72 22 29    0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c  | to.this.buffer")..(defun.helpful | 
| 4b40 |  2d 2d 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66    65 72 20 28 62 75 74 74 6f 6e 29 0a 20 20 22 4e  | --switch-to-buffer.(button)..."N | 
| 4b60 |  61 76 69 67 61 74 65 20 74 6f 20 74 68 65 20 62    75 66 66 65 72 20 74 68 69 73 20 42 55 54 54 4f  | avigate.to.the.buffer.this.BUTTO | 
| 4b80 |  4e 20 72 65 70 72 65 73 65 6e 74 73 2e 22 0a 20    20 28 6c 65 74 20 28 28 62 75 66 20 28 62 75 74  | N.represents."...(let.((buf.(but | 
| 4ba0 |  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 20 20  | ton-get.button.'buffer))........ | 
| 4bc0 |  20 28 70 6f 73 20 28 62 75 74 74 6f 6e 2d 67 65    74 20 62 75 74 74 6f 6e 20 27 70 6f 73 69 74 69  | .(pos.(button-get.button.'positi | 
| 4be0 |  6f 6e 29 29 29 0a 20 20 20 20 28 73 77 69 74 63    68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 29  | on))).....(switch-to-buffer.buf) | 
| 4c00 |  0a 20 20 20 20 28 77 68 65 6e 20 70 6f 73 0a 20    20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 67  | .....(when.pos.......(helpful--g | 
| 4c20 |  6f 74 6f 2d 63 68 61 72 2d 77 69 64 65 6e 20 70    6f 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68  | oto-char-widen.pos))))..(defun.h | 
| 4c40 |  65 6c 70 66 75 6c 2d 2d 62 75 66 66 65 72 2d 62    75 74 74 6f 6e 20 28 62 75 66 66 65 72 20 26 6f  | elpful--buffer-button.(buffer.&o | 
| 4c60 |  70 74 69 6f 6e 61 6c 20 70 6f 73 29 0a 20 20 22    52 65 74 75 72 6e 20 61 20 62 75 74 74 6f 6e 20  | ptional.pos)..."Return.a.button. | 
| 4c80 |  74 68 61 74 20 73 77 69 74 63 68 65 73 20 74 6f    20 42 55 46 46 45 52 20 61 6e 64 20 70 75 74 73  | that.switches.to.BUFFER.and.puts | 
| 4ca0 |  20 70 6f 69 6e 74 20 61 74 20 50 4f 53 2e 22 0a    20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74  | .point.at.POS."...(helpful--butt | 
| 4cc0 |  6f 6e 0a 20 20 20 28 62 75 66 66 65 72 2d 6e 61    6d 65 20 62 75 66 66 65 72 29 0a 20 20 20 27 68  | on....(buffer-name.buffer)....'h | 
| 4ce0 |  65 6c 70 66 75 6c 2d 62 75 66 66 65 72 2d 62 75    74 74 6f 6e 0a 20 20 20 27 62 75 66 66 65 72 20  | elpful-buffer-button....'buffer. | 
| 4d00 |  62 75 66 66 65 72 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  | buffer....'position.pos))..(defi | 
| 4d20 |  6e 65 2d 62 75 74 74 6f 6e 2d 74 79 70 65 20 27    68 65 6c 70 66 75 6c 2d 63 75 73 74 6f 6d 69 7a  | ne-button-type.'helpful-customiz | 
| 4d40 |  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 2d 63 75  | e-button...'action.#'helpful--cu | 
| 4d60 |  73 74 6f 6d 69 7a 65 0a 20 20 27 73 79 6d 62 6f    6c 20 6e 69 6c 0a 20 20 27 66 6f 6c 6c 6f 77 2d  | stomize...'symbol.nil...'follow- | 
| 4d80 |  6c 69 6e 6b 20 74 0a 20 20 27 68 65 6c 70 2d 65    63 68 6f 20 22 4f 70 65 6e 20 43 75 73 74 6f 6d  | link.t...'help-echo."Open.Custom | 
| 4da0 |  69 7a 65 20 66 6f 72 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  | ize.for.this.symbol")..(defun.he | 
| 4dc0 |  6c 70 66 75 6c 2d 2d 63 75 73 74 6f 6d 69 7a 65    20 28 62 75 74 74 6f 6e 29 0a 20 20 22 4f 70 65  | lpful--customize.(button)..."Ope | 
| 4de0 |  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 6c 2e 22 0a 20 20  | n.Customize.for.this.symbol."... | 
| 4e00 |  28 63 75 73 74 6f 6d 69 7a 65 2d 76 61 72 69 61    62 6c 65 20 28 62 75 74 74 6f 6e 2d 67 65 74 20  | (customize-variable.(button-get. | 
| 4e20 |  62 75 74 74 6f 6e 20 27 73 79 6d 62 6f 6c 29 29    29 0a 0a 28 64 65 66 69 6e 65 2d 62 75 74 74 6f  | button.'symbol)))..(define-butto | 
| 4e40 |  6e 2d 74 79 70 65 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  | n-type.'helpful-associated-buffe | 
| 4e60 |  72 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 61 73  | r-button...'action.#'helpful--as | 
| 4e80 |  73 6f 63 69 61 74 65 64 2d 62 75 66 66 65 72 0a    20 20 27 73 79 6d 62 6f 6c 20 6e 69 6c 0a 20 20  | sociated-buffer...'symbol.nil... | 
| 4ea0 |  27 70 72 6f 6d 70 74 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  | 'prompt-p.nil...'follow-link.t.. | 
| 4ec0 |  20 27 68 65 6c 70 2d 65 63 68 6f 20 22 43 68 61    6e 67 65 20 61 73 73 6f 63 69 61 74 65 64 20 62  | .'help-echo."Change.associated.b | 
| 4ee0 |  75 66 66 65 72 22 29 0a 0a 28 64 65 66 75 6e 20    68 65 6c 70 66 75 6c 2d 2d 72 65 61 64 2d 6c 69  | uffer")..(defun.helpful--read-li | 
| 4f00 |  76 65 2d 62 75 66 66 65 72 20 28 70 72 6f 6d 70    74 20 70 72 65 64 69 63 61 74 65 29 0a 20 20 22  | ve-buffer.(prompt.predicate)..." | 
| 4f20 |  52 65 61 64 20 61 20 6c 69 76 65 20 62 75 66 66    65 72 20 6e 61 6d 65 2c 20 61 6e 64 20 72 65 74  | Read.a.live.buffer.name,.and.ret | 
| 4f40 |  75 72 6e 20 74 68 65 20 62 75 66 66 65 72 20 6f    62 6a 65 63 74 2e 0a 0a 54 68 69 73 20 69 73 20  | urn.the.buffer.object...This.is. | 
| 4f60 |  6c 61 72 67 65 6c 79 20 65 71 75 69 76 61 6c 65    6e 74 20 74 6f 20 60 72 65 61 64 2d 62 75 66 66  | largely.equivalent.to.`read-buff | 
| 4f80 |  65 72 27 2c 20 62 75 74 20 63 6f 75 6e 73 65 6c    2e 65 6c 0a 6f 76 65 72 72 69 64 65 73 20 74 68  | er',.but.counsel.el.overrides.th | 
| 4fa0 |  61 74 20 74 6f 20 69 6e 63 6c 75 64 65 20 70 72    65 76 69 6f 75 73 6c 79 20 6f 70 65 6e 65 64 20  | at.to.include.previously.opened. | 
| 4fc0 |  62 75 66 66 65 72 73 2e 22 0a 20 20 28 6c 65 74    2a 20 28 28 6e 61 6d 65 73 20 28 2d 6d 61 70 20  | buffers."...(let*.((names.(-map. | 
| 4fe0 |  23 27 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 62    75 66 66 65 72 2d 6c 69 73 74 29 29 29 0a 20 20  | #'buffer-name.(buffer-list)))... | 
| 5000 |  20 20 20 20 20 20 20 28 64 65 66 61 75 6c 74 0a    20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64  | .......(default............(cond | 
| 5020 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20    49 66 20 77 65 27 72 65 20 61 6c 72 65 61 64 79  | .............;;.If.we're.already | 
| 5040 |  20 6c 6f 6f 6b 69 6e 67 20 61 74 20 61 20 62 75    66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 6c 75 65  | .looking.at.a.buffer-local.value | 
| 5060 |  2c 20 73 74 61 72 74 0a 20 20 20 20 20 20 20 20    20 20 20 20 3b 3b 20 74 68 65 20 70 72 6f 6d 70  | ,.start.............;;.the.promp | 
| 5080 |  74 20 66 72 6f 6d 20 74 68 65 20 72 65 6c 65 76    61 6e 74 20 62 75 66 66 65 72 2e 0a 20 20 20 20  | t.from.the.relevant.buffer...... | 
| 50a0 |  20 20 20 20 20 20 20 20 28 28 61 6e 64 20 68 65    6c 70 66 75 6c 2d 2d 61 73 73 6f 63 69 61 74 65  | ........((and.helpful--associate | 
| 50c0 |  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 28 62 75 66 66  | d-buffer...................(buff | 
| 50e0 |  65 72 2d 6c 69 76 65 2d 70 20 68 65 6c 70 66 75    6c 2d 2d 61 73 73 6f 63 69 61 74 65 64 2d 62 75  | er-live-p.helpful--associated-bu | 
| 5100 |  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 6e 61 6d 65  | ffer))..............(buffer-name | 
| 5120 |  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 20  | .helpful--associated-buffer))... | 
| 5140 |  20 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  | ..........;;.If.we're.looking.at | 
| 5160 |  20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 6c 75    65 2c 20 6f 66 66 65 72 20 74 68 65 20 69 6e 69  | .the.global.value,.offer.the.ini | 
| 5180 |  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 2e 0a 20 20 20 20  | tial.............;;.buffer...... | 
| 51a0 |  20 20 20 20 20 20 20 20 28 28 61 6e 64 20 68 65    6c 70 66 75 6c 2d 2d 73 74 61 72 74 2d 62 75 66  | ........((and.helpful--start-buf | 
| 51c0 |  66 65 72 0a 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 2d 6c 69  | fer...................(buffer-li | 
| 51e0 |  76 65 2d 70 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  | ve-p.helpful--start-buffer)).... | 
| 5200 |  20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65    72 2d 6e 61 6d 65 20 68 65 6c 70 66 75 6c 2d 2d  | ..........(buffer-name.helpful-- | 
| 5220 |  73 74 61 72 74 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  | start-buffer)).............;;.If | 
| 5240 |  20 77 65 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  | .we're.looking.at.the.global.val | 
| 5260 |  75 65 20 61 6e 64 20 68 61 76 65 20 6e 6f 20 69    6e 69 74 69 61 6c 0a 20 20 20 20 20 20 20 20 20  | ue.and.have.no.initial.......... | 
| 5280 |  20 20 20 3b 3b 20 62 75 66 66 65 72 2c 20 63 68    6f 6f 73 65 20 74 68 65 20 66 69 72 73 74 20 6e  | ...;;.buffer,.choose.the.first.n | 
| 52a0 |  6f 72 6d 61 6c 20 62 75 66 66 65 72 2e 0a 20 20    20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20  | ormal.buffer..............(t.... | 
| 52c0 |  20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 72    73 74 20 28 61 6e 64 20 28 6e 6f 74 20 28 73 2d  | ..........(--first.(and.(not.(s- | 
| 52e0 |  73 74 61 72 74 73 2d 77 69 74 68 2d 70 20 22 20    22 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20  | starts-with-p.".".it)).......... | 
| 5300 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 6e 6f 74 20 28 73 2d 73 74 61 72 74 73  | ..................(not.(s-starts | 
| 5320 |  2d 77 69 74 68 2d 70 20 22 2a 22 20 69 74 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -with-p."*".it)))............... | 
| 5340 |  20 20 20 20 20 20 20 20 6e 61 6d 65 73 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 29 29 29 0a  | ........names)).............))). | 
| 5360 |  20 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 0a    20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67  | ....(get-buffer......(completing | 
| 5380 |  2d 72 65 61 64 0a 20 20 20 20 20 20 70 72 6f 6d    70 74 0a 20 20 20 20 20 20 6e 61 6d 65 73 0a 20  | -read.......prompt.......names.. | 
| 53a0 |  20 20 20 20 20 70 72 65 64 69 63 61 74 65 0a 20    20 20 20 20 20 74 0a 20 20 20 20 20 20 6e 69 6c  | .....predicate.......t.......nil | 
| 53c0 |  0a 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20    20 64 65 66 61 75 6c 74 29 29 29 29 0a 0a 28 64  | .......nil.......default))))..(d | 
| 53e0 |  65 66 75 6e 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 20  | efun.helpful--associated-buffer. | 
| 5400 |  28 62 75 74 74 6f 6e 29 0a 20 20 22 43 68 61 6e    67 65 20 74 68 65 20 61 73 73 6f 63 69 61 74 65  | (button)..."Change.the.associate | 
| 5420 |  64 20 62 75 66 66 65 72 2c 20 73 6f 20 77 65 20    63 61 6e 20 73 65 65 20 62 75 66 66 65 72 2d 6c  | d.buffer,.so.we.can.see.buffer-l | 
| 5440 |  6f 63 61 6c 20 76 61 6c 75 65 73 2e 22 0a 20 20    28 6c 65 74 20 28 28 73 79 6d 20 28 62 75 74 74  | ocal.values."...(let.((sym.(butt | 
| 5460 |  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 20 20 20  | on-get.button.'symbol))......... | 
| 5480 |  28 70 72 6f 6d 70 74 2d 70 20 28 62 75 74 74 6f    6e 2d 67 65 74 20 62 75 74 74 6f 6e 20 27 70 72  | (prompt-p.(button-get.button.'pr | 
| 54a0 |  6f 6d 70 74 2d 70 29 29 29 0a 20 20 20 20 28 69    66 20 70 72 6f 6d 70 74 2d 70 0a 20 20 20 20 20  | ompt-p))).....(if.prompt-p...... | 
| 54c0 |  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 64 2d 62 75 66  | ...(setq.helpful--associated-buf | 
| 54e0 |  66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 68 65 6c 70 66 75 6c 2d 2d 72 65 61 64  | fer...............(helpful--read | 
| 5500 |  2d 6c 69 76 65 2d 62 75 66 66 65 72 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 22 56 69 65  | -live-buffer................"Vie | 
| 5520 |  77 20 76 61 72 69 61 62 6c 65 20 69 6e 3a 20 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | w.variable.in:."................ | 
| 5540 |  28 6c 61 6d 62 64 61 20 28 62 75 66 2d 6e 61 6d    65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | (lambda.(buf-name).............. | 
| 5560 |  20 20 20 20 28 6c 6f 63 61 6c 2d 76 61 72 69 61    62 6c 65 2d 70 20 73 79 6d 20 28 67 65 74 2d 62  | ....(local-variable-p.sym.(get-b | 
| 5580 |  75 66 66 65 72 20 62 75 66 2d 6e 61 6d 65 29 29    29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20  | uffer.buf-name))))).......(setq. | 
| 55a0 |  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 20 6e 69 6c 29 29  | helpful--associated-buffer.nil)) | 
| 55c0 |  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 65 2d 62  | )...(helpful-update))..(define-b | 
| 55e0 |  75 74 74 6f 6e 2d 74 79 70 65 20 27 68 65 6c 70    66 75 6c 2d 74 6f 67 67 6c 65 2d 62 75 74 74 6f  | utton-type.'helpful-toggle-butto | 
| 5600 |  6e 0a 20 20 27 61 63 74 69 6f 6e 20 23 27 68 65    6c 70 66 75 6c 2d 2d 74 6f 67 67 6c 65 0a 20 20  | n...'action.#'helpful--toggle... | 
| 5620 |  27 73 79 6d 62 6f 6c 20 6e 69 6c 0a 20 20 27 62    75 66 66 65 72 20 6e 69 6c 0a 20 20 27 66 6f 6c  | 'symbol.nil...'buffer.nil...'fol | 
| 5640 |  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 54 6f 67 67 6c 65 20  | low-link.t...'help-echo."Toggle. | 
| 5660 |  74 68 69 73 20 73 79 6d 62 6f 6c 20 62 65 74 77    65 65 6e 20 74 20 61 6e 64 20 6e 69 6c 22 29 0a  | this.symbol.between.t.and.nil"). | 
| 5680 |  0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d    2d 74 6f 67 67 6c 65 20 28 62 75 74 74 6f 6e 29  | .(defun.helpful--toggle.(button) | 
| 56a0 |  0a 20 20 22 54 6f 67 67 6c 65 20 74 68 65 20 73    79 6d 62 6f 6c 20 62 65 74 77 65 65 6e 20 6e 69  | ..."Toggle.the.symbol.between.ni | 
| 56c0 |  6c 20 61 6e 64 20 74 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  | l.and.t."...(let.((sym.(button-g | 
| 56e0 |  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 20 20 20 28 62 75 66  | et.button.'symbol)).........(buf | 
| 5700 |  20 28 62 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 29 0a 20  | .(button-get.button.'buffer))).. | 
| 5720 |  20 20 20 28 73 61 76 65 2d 63 75 72 72 65 6e 74    2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 3b 3b  | ...(save-current-buffer.......;; | 
| 5740 |  20 49 66 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 61  | .If.this.is.a.buffer-local.varia | 
| 5760 |  62 6c 65 2c 20 65 6e 73 75 72 65 20 77 65 27 72    65 20 69 6e 20 74 68 65 20 72 69 67 68 74 0a 20  | ble,.ensure.we're.in.the.right.. | 
| 5780 |  20 20 20 20 20 3b 3b 20 62 75 66 66 65 72 2e 0a    20 20 20 20 20 20 28 77 68 65 6e 20 62 75 66 0a  | .....;;.buffer........(when.buf. | 
| 57a0 |  20 20 20 20 20 20 20 20 28 73 65 74 2d 62 75 66    66 65 72 20 62 75 66 29 29 0a 20 20 20 20 20 20  | ........(set-buffer.buf))....... | 
| 57c0 |  28 73 65 74 20 73 79 6d 20 28 6e 6f 74 20 28 73    79 6d 62 6f 6c 2d 76 61 6c 75 65 20 73 79 6d 29  | (set.sym.(not.(symbol-value.sym) | 
| 57e0 |  29 29 29 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  | ))).....(helpful-update)))..(def | 
| 5800 |  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 73 65 74 2d 62 75 74  | ine-button-type.'helpful-set-but | 
| 5820 |  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 65 74 0a 20 20 27  | ton...'action.#'helpful--set...' | 
| 5840 |  73 79 6d 62 6f 6c 20 6e 69 6c 0a 20 20 27 62 75    66 66 65 72 20 6e 69 6c 0a 20 20 27 66 6f 6c 6c  | symbol.nil...'buffer.nil...'foll | 
| 5860 |  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 74 68 65 20  | ow-link.t...'help-echo."Set.the. | 
| 5880 |  76 61 6c 75 65 20 6f 66 20 74 68 69 73 20 73 79    6d 62 6f 6c 22 29 0a 0a 28 64 65 66 75 6e 20 68  | value.of.this.symbol")..(defun.h | 
| 58a0 |  65 6c 70 66 75 6c 2d 2d 73 65 74 20 28 62 75 74    74 6f 6e 29 0a 20 20 22 53 65 74 20 74 68 65 20  | elpful--set.(button)..."Set.the. | 
| 58c0 |  76 61 6c 75 65 20 6f 66 20 74 68 69 73 20 73 79    6d 62 6f 6c 2e 22 0a 20 20 28 6c 65 74 2a 20 28  | value.of.this.symbol."...(let*.( | 
| 58e0 |  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) | 
| 5900 |  29 0a 20 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  | )..........(buf.(button-get.butt | 
| 5920 |  6f 6e 20 27 62 75 66 66 65 72 29 29 0a 20 20 20    20 20 20 20 20 20 28 73 79 6d 2d 76 61 6c 75 65  | on.'buffer))..........(sym-value | 
| 5940 |  20 28 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 2d 76    61 6c 75 65 20 73 79 6d 20 62 75 66 29 29 0a 20  | .(helpful--sym-value.sym.buf)).. | 
| 5960 |  20 20 20 20 20 20 20 20 28 73 65 74 2d 66 75 6e    63 20 28 69 66 20 28 6c 6f 63 61 6c 2d 76 61 72  | ........(set-func.(if.(local-var | 
| 5980 |  69 61 62 6c 65 2d 70 20 73 79 6d 20 62 75 66 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | iable-p.sym.buf)................ | 
| 59a0 |  20 20 20 20 20 20 20 20 22 73 65 74 71 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ........"setq".................. | 
| 59c0 |  20 20 20 20 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  | ....(symbol-name.helpful-set-var | 
| 59e0 |  69 61 62 6c 65 2d 66 75 6e 63 74 69 6f 6e 29 29    29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e  | iable-function)))..........;;.In | 
| 5a00 |  73 70 69 72 65 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  | spired.by.`counsel-read-setq-exp | 
| 5a20 |  72 65 73 73 69 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  | ression'...........(expr........ | 
| 5a40 |  20 20 20 28 6d 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  | ...(minibuffer-with-setup-hook.. | 
| 5a60 |  20 20 20 20 20 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  | .............(lambda.()......... | 
| 5a80 |  20 20 20 20 20 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  | ........(add-function.:before-un | 
| 5aa0 |  74 69 6c 20 28 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  | til.(local.'eldoc-documentation- | 
| 5ac0 |  66 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 20 20 20 20 20 20  | function)....................... | 
| 5ae0 |  20 20 20 20 20 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  | ........#'elisp-eldoc-documentat | 
| 5b00 |  69 6f 6e 2d 66 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  | ion-function).................(r | 
| 5b20 |  75 6e 2d 68 6f 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  | un-hooks.'eval-expression-minibu | 
| 5b40 |  66 66 65 72 2d 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  | ffer-setup-hook)................ | 
| 5b60 |  20 28 67 6f 74 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  | .(goto-char.(minibuffer-prompt-e | 
| 5b80 |  6e 64 29 29 0a 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  | nd)).................(forward-ch | 
| 5ba0 |  61 72 20 28 6c 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  | ar.(length.(format."(%s.%S.".set | 
| 5bc0 |  2d 66 75 6e 63 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  | -func.sym)))).............(read- | 
| 5be0 |  66 72 6f 6d 2d 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  | from-minibuffer.............."Ev | 
| 5c00 |  61 6c 3a 20 22 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  | al:."..............(format...... | 
| 5c20 |  20 20 20 20 20 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  | .........(if.(or.(consp.sym-valu | 
| 5c40 |  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 28 61 6e 64 20 28 73  | e).......................(and.(s | 
| 5c60 |  79 6d 62 6f 6c 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  | ymbolp.sym-value)............... | 
| 5c80 |  20 20 20 20 20 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  | .............(not.(null.sym-valu | 
| 5ca0 |  65 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 28  | e))............................( | 
| 5cc0 |  6e 6f 74 20 28 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  | not.(keywordp.sym-value))))..... | 
| 5ce0 |  20 20 20 20 20 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  | .............."(%s.%s.'%S)"..... | 
| 5d00 |  20 20 20 20 20 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  | ............"(%s.%s.%S)")....... | 
| 5d20 |  20 20 20 20 20 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  | ........set-func.sym.sym-value). | 
| 5d40 |  20 20 20 20 20 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  | .............read-expression-map | 
| 5d60 |  20 74 0a 20 20 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  | .t..............'read-expression | 
| 5d80 |  2d 68 69 73 74 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  | -history)))).....(save-current-b | 
| 5da0 |  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 | 
| 5dc0 |  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. | 
| 5de0 |  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.... | 
| 5e00 |  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 | 
| 5e20 |  72 20 62 75 66 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  | r.buf)).......(eval-expression.e | 
| 5e40 |  78 70 72 29 29 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  | xpr)).....(helpful-update)))..(d | 
| 5e60 |  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 76 69 65 77 2d  | efine-button-type.'helpful-view- | 
| 5e80 |  6c 69 74 65 72 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  | literal-button...'action.#'helpf | 
| 5ea0 |  75 6c 2d 2d 76 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  | ul--view-literal...'help-echo."T | 
| 5ec0 |  6f 67 67 6c 65 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  | oggle.viewing.as.a.literal")..(d | 
| 5ee0 |  65 66 75 6e 20 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  | efun.helpful--view-literal.(_but | 
| 5f00 |  74 6f 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  | ton)..."Set.the.value.of.this.sy | 
| 5f20 |  6d 62 6f 6c 2e 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  | mbol."...(setq.helpful--view-lit | 
| 5f40 |  65 72 61 6c 0a 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  | eral.........(not.helpful--view- | 
| 5f60 |  6c 69 74 65 72 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  | literal))...(helpful-update))..( | 
| 5f80 |  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 6c 6c 2d  | define-button-type.'helpful-all- | 
| 5fa0 |  72 65 66 65 72 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  | references-button...'action.#'he | 
| 5fc0 |  6c 70 66 75 6c 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  | lpful--all-references...'symbol. | 
| 5fe0 |  6e 69 6c 0a 20 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  | nil...'callable-p.nil...'follow- | 
| 6000 |  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 20 61 6c 6c 20 72 65  | link.t...'help-echo."Find.all.re | 
| 6020 |  66 65 72 65 6e 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  | ferences.to.this.symbol")..(defu | 
| 6040 |  6e 20 68 65 6c 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  | n.helpful--all-references.(butto | 
| 6060 |  6e 29 0a 20 20 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  | n)..."Find.all.the.references.to | 
| 6080 |  20 74 68 65 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  | .the.symbol.that.this.BUTTON.rep | 
| 60a0 |  72 65 73 65 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  | resents."...(let.((sym.(button-g | 
| 60c0 |  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 20 20 20 28 63 61 6c  | et.button.'symbol)).........(cal | 
| 60e0 |  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 6e 20 27 63 61 6c 6c  | lable-p.(button-get.button.'call | 
| 6100 |  61 62 6c 65 2d 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  | able-p))).....(cond......((not.c | 
| 6120 |  61 6c 6c 61 62 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  | allable-p).......(elisp-refs-var | 
| 6140 |  69 61 62 6c 65 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  | iable.sym))......((functionp.sym | 
| 6160 |  29 0a 20 20 20 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  | ).......(elisp-refs-function.sym | 
| 6180 |  29 29 0a 20 20 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  | ))......((macrop.sym).......(eli | 
| 61a0 |  73 70 2d 72 65 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  | sp-refs-macro.sym)))))..(define- | 
| 61c0 |  62 75 74 74 6f 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  | button-type.'helpful-callees-but | 
| 61e0 |  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 68 6f 77 2d 63 61  | ton...'action.#'helpful--show-ca | 
| 6200 |  6c 6c 65 65 73 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  | llees...'symbol.nil...'source.ni | 
| 6220 |  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 6f 20  | l...'follow-link.t...'help-echo. | 
| 6240 |  22 46 69 6e 64 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  | "Find.the.functions.called.by.th | 
| 6260 |  69 73 20 66 75 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  | is.function/macro")..(defun.help | 
| 6280 |  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 28 63 61 6c 6c 65  | ful--display-callee-group.(calle | 
| 62a0 |  65 73 29 0a 20 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  | es)..."Insert.every.entry.in.CAL | 
| 62c0 |  4c 45 45 53 2e 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  | LEES."...(dolist.(sym.(helpful-- | 
| 62e0 |  73 6f 72 74 2d 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  | sort-symbols.callees)).....(inse | 
| 6300 |  72 74 20 22 20 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  | rt."..".............(helpful--bu | 
| 6320 |  74 74 6f 6e 0a 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  | tton..............(symbol-name.s | 
| 6340 |  79 6d 29 0a 20 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  | ym)..............'helpful-descri | 
| 6360 |  62 65 2d 65 78 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  | be-exactly-button..............' | 
| 6380 |  73 79 6d 62 6f 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  | symbol.sym..............'callabl | 
| 63a0 |  65 2d 70 20 74 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  | e-p.t)............."\n")))..(def | 
| 63c0 |  75 6e 20 68 65 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  | un.helpful--show-callees.(button | 
| 63e0 |  29 0a 20 20 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  | )..."Find.all.the.references.to. | 
| 6400 |  74 68 65 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  | the.symbol.that.this.BUTTON.repr | 
| 6420 |  65 73 65 6e 74 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  | esents."...(let*.((buf.(get-buff | 
| 6440 |  65 72 2d 63 72 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  | er-create."*helpful.callees*")). | 
| 6460 |  20 20 20 20 20 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  | .........(sym.(button-get.button | 
| 6480 |  20 27 73 79 6d 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  | .'symbol))..........(raw-source. | 
| 64a0 |  28 62 75 74 74 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  | (button-get.button.'source)).... | 
| 64c0 |  20 20 20 20 20 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  | ......(source...........(if.(str | 
| 64e0 |  69 6e 67 70 20 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  | ingp.raw-source)...............( | 
| 6500 |  72 65 61 64 20 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  | read.raw-source).............raw | 
| 6520 |  2d 73 6f 75 72 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  | -source))..........(syms.(helpfu | 
| 6540 |  6c 2d 2d 63 61 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  | l--callees.source))..........(pr | 
| 6560 |  69 6d 69 74 69 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  | imitives.(-filter.(lambda.(sym). | 
| 6580 |  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 74 29 29 20 73 79  | (helpful--primitive-p.sym.t)).sy | 
| 65a0 |  6d 73 29 29 0a 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  | ms))..........(compounds.(-remov | 
| 65c0 |  65 20 28 6c 61 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  | e.(lambda.(sym).(helpful--primit | 
| 65e0 |  69 76 65 2d 70 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  | ive-p.sym.t)).syms)))......(pop- | 
| 6600 |  74 6f 2d 62 75 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  | to-buffer.buf).....(let.((inhibi | 
| 6620 |  74 2d 72 65 61 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  | t-read-only.t)).......(erase-buf | 
| 6640 |  66 65 72 29 0a 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  | fer)........;;.TODO:.Macros.used | 
| 6660 |  2c 20 73 70 65 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  | ,.special.forms.used,.global.var | 
| 6680 |  73 20 75 73 65 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  | s.used........(insert.(format."F | 
| 66a0 |  75 6e 63 74 69 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  | unctions.called.by.%s:\n\n".sym) | 
| 66c0 |  29 0a 20 20 20 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  | ).......(helpful--display-callee | 
| 66e0 |  2d 67 72 6f 75 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  | -group.compounds)........(when.p | 
| 6700 |  72 69 6d 69 74 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  | rimitives.........(insert."\n"). | 
| 6720 |  20 20 20 20 20 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  | ........(insert.(format."Primiti | 
| 6740 |  76 65 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  | ves.called.by.%s:\n\n".sym)).... | 
| 6760 |  20 20 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  | .....(helpful--display-callee-gr | 
| 6780 |  6f 75 70 20 70 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  | oup.primitives))........(goto-ch | 
| 67a0 |  61 72 20 28 70 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  | ar.(point-min))........(helpful- | 
| 67c0 |  6d 6f 64 65 29 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  | mode))))..(define-button-type.'h | 
| 67e0 |  65 6c 70 66 75 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  | elpful-manual-button...'action.# | 
| 6800 |  27 68 65 6c 70 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  | 'helpful--manual...'symbol.nil.. | 
| 6820 |  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 6f 20 22 56 69  | .'follow-link.t...'help-echo."Vi | 
| 6840 |  65 77 20 74 68 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  | ew.this.symbol.in.the.Emacs.manu | 
| 6860 |  61 6c 22 29 0a 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  | al")..(defun.helpful--manual.(bu | 
| 6880 |  74 74 6f 6e 29 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  | tton)..."Open.the.manual.for.the | 
| 68a0 |  20 73 79 73 74 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  | .system.that.this.BUTTON.represe | 
| 68c0 |  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 | 
| 68e0 |  75 74 74 6f 6e 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  | utton.'symbol))).....(info-looku | 
| 6900 |  70 20 27 73 79 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  | p.'symbol.sym.#'emacs-lisp-mode) | 
| 6920 |  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 | 
| 6940 |  2d 64 65 73 63 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  | -describe-button...'action.#'hel | 
| 6960 |  70 66 75 6c 2d 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  | pful--describe...'symbol.nil...' | 
| 6980 |  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 44 65 73 63  | follow-link.t...'help-echo."Desc | 
| 69a0 |  72 69 62 65 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 70 66  | ribe.this.symbol")..(defun.helpf | 
| 69c0 |  75 6c 2d 2d 64 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  | ul--describe.(button)..."Describ | 
| 69e0 |  65 20 74 68 65 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  | e.the.symbol.that.this.BUTTON.re | 
| 6a00 |  70 72 65 73 65 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  | presents."...(let.((sym.(button- | 
| 6a20 |  67 65 74 20 62 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  | get.button.'symbol))).....(helpf | 
| 6a40 |  75 6c 2d 73 79 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  | ul-symbol.sym)))..(define-button | 
| 6a60 |  2d 74 79 70 65 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  | -type.'helpful-describe-exactly- | 
| 6a80 |  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 64 65 73 63  | button...'action.#'helpful--desc | 
| 6aa0 |  72 69 62 65 2d 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  | ribe-exactly...'symbol.nil...'ca | 
| 6ac0 |  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 74 0a 20 20  | llable-p.nil...'follow-link.t... | 
| 6ae0 |  27 68 65 6c 70 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  | 'help-echo."Describe.this.symbol | 
| 6b00 |  22 29 0a 0a 28 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  | ")..(defun.helpful--describe-exa | 
| 6b20 |  63 74 6c 79 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  | ctly.(button)..."Describe.the.sy | 
| 6b40 |  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 73  | mbol.that.this.BUTTON.represents | 
| 6b60 |  2e 0a 54 68 69 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  | ..This.differs.from.`helpful--de | 
| 6b80 |  73 63 72 69 62 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  | scribe'.because.here.we.know.whe | 
| 6ba0 |  74 68 65 72 20 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  | ther.the.symbol.represents.a.var | 
| 6bc0 |  69 61 62 6c 65 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  | iable.or.a.callable."...(let.((s | 
| 6be0 |  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 29 0a  | ym.(button-get.button.'symbol)). | 
| 6c00 |  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 67 65 74 20  | ........(callable-p.(button-get. | 
| 6c20 |  62 75 74 74 6f 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  | button.'callable-p))).....(if.ca | 
| 6c40 |  6c 6c 61 62 6c 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  | llable-p.........(helpful-callab | 
| 6c60 |  6c 65 20 73 79 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  | le.sym).......(helpful-variable. | 
| 6c80 |  73 79 6d 29 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  | sym))))..(define-button-type.'he | 
| 6ca0 |  6c 70 66 75 6c 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  | lpful-info-button...'action.#'he | 
| 6cc0 |  6c 70 66 75 6c 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  | lpful--info...'info-node.nil...' | 
| 6ce0 |  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 56 69 65 77  | follow-link.t...'help-echo."View | 
| 6d00 |  20 74 68 69 73 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  | .this.Info.node")..(defun.helpfu | 
| 6d20 |  6c 2d 2d 69 6e 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  | l--info.(button)..."Describe.the | 
| 6d40 |  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 | 
| 6d60 |  6e 74 73 2e 22 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  | nts."...(info.(button-get.button | 
| 6d80 |  20 27 69 6e 66 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  | .'info-node)))..(define-button-t | 
| 6da0 |  79 70 65 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 27  | ype.'helpful-shortdoc-button...' | 
| 6dc0 |  61 63 74 69 6f 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  | action.#'helpful--shortdoc...'in | 
| 6de0 |  66 6f 2d 6e 6f 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  | fo-node.nil...'follow-link.t...' | 
| 6e00 |  68 65 6c 70 2d 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  | help-echo."View.this.Shortdoc.gr | 
| 6e20 |  6f 75 70 22 29 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  | oup")..(defun.helpful--shortdoc. | 
| 6e40 |  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. | 
| 6e60 |  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 0a 20 20  | that.this.BUTTON.represents."... | 
| 6e80 |  28 73 68 6f 72 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  | (shortdoc-display-group.(button- | 
| 6ea0 |  67 65 74 20 62 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  | get.button.'shortdoc-group)..... | 
| 6ec0 |  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 74 74 6f 6e 2d 67 65  | ......................(button-ge | 
| 6ee0 |  74 20 62 75 74 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  | t.button.'symbol)))..(defun.help | 
| 6f00 |  66 75 6c 2d 2d 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  | ful--split-first-line.(docstring | 
| 6f20 |  29 0a 20 20 22 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  | )..."If.the.first.line.is.a.stan | 
| 6f40 |  64 61 6c 6f 6e 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  | dalone.sentence,.ensure.we.have. | 
| 6f60 |  61 0a 62 6c 61 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  | a.blank.line.afterwards."...(let | 
| 6f80 |  2a 20 28 28 6c 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  | *.((lines.(s-lines.docstring)).. | 
| 6fa0 |  20 20 20 20 20 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  | ........(first-line.(-first-item | 
| 6fc0 |  20 6c 69 6e 65 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  | .lines))..........(second-line.( | 
| 6fe0 |  77 68 65 6e 20 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  | when.(>.(length.lines).1).(nth.1 | 
| 7000 |  20 6c 69 6e 65 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  | .lines)))).....(if.(and.(s-ends- | 
| 7020 |  77 69 74 68 2d 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  | with-p.".".first-line).......... | 
| 7040 |  20 20 20 20 28 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  | ....(stringp.second-line)....... | 
| 7060 |  20 20 20 20 20 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  | .......(not.(equal.second-line." | 
| 7080 |  22 29 29 29 0a 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  | "))).........(s-join."\n"....... | 
| 70a0 |  20 20 20 20 20 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  | ..........(-cons*.first-line."". | 
| 70c0 |  28 63 64 72 20 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  | (cdr.lines))).......docstring))) | 
| 70e0 |  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 2d 73 79 6d  | ..(defun.helpful--propertize-sym | 
| 7100 |  2d 72 65 66 20 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  | -ref.(sym-name.before-txt.after- | 
| 7120 |  74 78 74 29 0a 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  | txt)..."Given.a.symbol.name.from | 
| 7140 |  20 61 20 64 6f 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  | .a.docstring,.convert.to.a.butto | 
| 7160 |  6e 20 28 69 66 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  | n.(if.bound).or.else.highlight." | 
| 7180 |  0a 20 20 28 6c 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  | ...(let*.((sym.(intern.sym-name) | 
| 71a0 |  29 29 0a 20 20 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  | )).....(cond......;;.Highlight.k | 
| 71c0 |  65 79 77 6f 72 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  | eywords.......((s-matches-p..... | 
| 71e0 |  20 20 20 28 72 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  | ...(rx.":"............symbol-sta | 
| 7200 |  72 74 0a 20 20 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  | rt............(+?.(or.(syntax.wo | 
| 7220 |  72 64 29 20 28 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  | rd).(syntax.symbol)))........... | 
| 7240 |  20 73 79 6d 62 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  | .symbol-end)........sym-name)... | 
| 7260 |  20 20 20 20 28 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  | ....(propertize.sym-name........ | 
| 7280 |  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 63 6b 2d 62 75 69 6c  | ...........'face.'font-lock-buil | 
| 72a0 |  74 69 6e 2d 66 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  | tin-face))......((and.(boundp.sy | 
| 72c0 |  6d 29 20 28 73 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  | m).(s-ends-with-p."variable.".(d | 
| 72e0 |  6f 77 6e 63 61 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  | owncase.before-txt))).......(hel | 
| 7300 |  70 66 75 6c 2d 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  | pful--button........sym-name.... | 
| 7320 |  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 62 75  | ....'helpful-describe-exactly-bu | 
| 7340 |  74 74 6f 6e 0a 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  | tton........'symbol.sym........' | 
| 7360 |  63 61 6c 6c 61 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  | callable-p.nil))......((and.(fbo | 
| 7380 |  75 6e 64 70 20 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  | undp.sym)............(or........ | 
| 73a0 |  20 20 20 20 20 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  | .....(s-starts-with-p.".command" | 
| 73c0 |  20 28 64 6f 77 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  | .(downcase.after-txt)).......... | 
| 73e0 |  20 20 20 28 73 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  | ...(s-ends-with-p."command.".(do | 
| 7400 |  77 6e 63 61 73 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  | wncase.before-txt))............. | 
| 7420 |  28 73 2d 65 6e 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  | (s-ends-with-p."function.".(down | 
| 7440 |  63 61 73 65 20 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  | case.before-txt)))).......(helpf | 
| 7460 |  75 6c 2d 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  | ul--button........sym-name...... | 
| 7480 |  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 62 75 74 74  | ..'helpful-describe-exactly-butt | 
| 74a0 |  6f 6e 0a 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  | on........'symbol.sym........'ca | 
| 74c0 |  6c 6c 61 62 6c 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  | llable-p.t))......;;.Only.create | 
| 74e0 |  20 61 20 6c 69 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  | .a.link.if.this.is.a.symbol.that | 
| 7500 |  20 69 73 20 62 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  | .is.bound.as.a......;;.variable. | 
| 7520 |  6f 72 20 63 61 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  | or.callable.......((or.(boundp.s | 
| 7540 |  79 6d 29 20 28 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  | ym).(fboundp.sym)).......(helpfu | 
| 7560 |  6c 2d 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  | l--button........sym-name....... | 
| 7580 |  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 20 20 20 20 20  | .'helpful-describe-button....... | 
| 75a0 |  20 27 73 79 6d 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  | .'symbol.sym))......;;.If.this.i | 
| 75c0 |  73 20 61 6c 72 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  | s.already.a.button,.don't.modify | 
| 75e0 |  20 69 74 2e 0a 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  | .it.......((get-text-property.0. | 
| 7600 |  27 62 75 74 74 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  | 'button.sym-name).......sym-name | 
| 7620 |  29 0a 20 20 20 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  | )......;;.Highlight.the.quoted.s | 
| 7640 |  74 72 69 6e 67 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  | tring.......(t.......(propertize | 
| 7660 |  20 73 79 6d 2d 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  | .sym-name...................'fac | 
| 7680 |  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 29 29 29 29 0a  | e.'font-lock-constant-face))))). | 
| 76a0 |  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 2d 69 6e 66 6f  | .(defun.helpful--propertize-info | 
| 76c0 |  20 28 64 6f 63 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  | .(docstring)..."Convert.info.ref | 
| 76e0 |  65 72 65 6e 63 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  | erences.in.DOCSTRING.to.buttons. | 
| 7700 |  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... | 
| 7720 |  20 3b 3b 20 52 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  | .;;.Replace.all.text.that.looks. | 
| 7740 |  6c 69 6b 65 20 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  | like.a.link.to.an.Info.page..... | 
| 7760 |  28 72 78 20 28 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  | (rx.(seq.(group..............bow | 
| 7780 |  0a 20 20 20 20 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  | ..............(any."Ii")........ | 
| 77a0 |  20 20 20 20 20 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  | ......"nfo"..............(one-or | 
| 77c0 |  2d 6d 6f 72 65 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  | -more.whitespace)).............( | 
| 77e0 |  67 72 6f 75 70 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  | group..............(or."node"."a | 
| 7800 |  6e 63 68 6f 72 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  | nchor")..............(one-or-mor | 
| 7820 |  65 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 61 6e 79 20  | e.whitespace)).............(any. | 
| 7840 |  22 27 60 e2 80 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  | "'`...").............(group..... | 
| 7860 |  20 20 20 20 20 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  | .........(one-or-more........... | 
| 7880 |  20 20 20 20 28 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  | ....(not.(any."'..."))))........ | 
| 78a0 |  20 20 20 20 20 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  | .....(any."'...")))....(lambda.( | 
| 78c0 |  69 74 29 0a 20 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  | it)......;;.info-name.matches."[ | 
| 78e0 |  49 69 5d 6e 66 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  | Ii]nfo.".......;;.space.matches. | 
| 7900 |  22 6e 6f 64 65 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  | "node.".or."anchor.".......;;.in | 
| 7920 |  66 6f 2d 6e 6f 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  | fo-node.has.the.form."(cl)Loop.F | 
| 7940 |  61 63 69 6c 69 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  | acility".......(let.((info-name. | 
| 7960 |  28 6d 61 74 63 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  | (match-string.1.it))............ | 
| 7980 |  28 73 70 61 63 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  | (space.(match-string.2.it))..... | 
| 79a0 |  20 20 20 20 20 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  | .......(info-node.(match-string. | 
| 79c0 |  33 20 69 74 29 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  | 3.it)))........;;.If.the.docstri | 
| 79e0 |  6e 67 20 64 6f 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  | ng.doesn't.specify.a.manual,.ass | 
| 7a00 |  75 6d 65 20 74 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  | ume.the.Emacs.manual.........(sa | 
| 7a20 |  76 65 2d 6d 61 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  | ve-match-data..........(unless.( | 
| 7a40 |  73 74 72 69 6e 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  | string-match."^([^)]+)".info-nod | 
| 7a60 |  65 29 0a 20 20 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  | e)............(setq.info-node.(c | 
| 7a80 |  6f 6e 63 61 74 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  | oncat."(emacs)".info-node))))... | 
| 7aa0 |  20 20 20 20 20 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  | .....(concat.........info-name.. | 
| 7ac0 |  20 20 20 20 20 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  | .......space.........(helpful--b | 
| 7ae0 |  75 74 74 6f 6e 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  | utton..........info-node........ | 
| 7b00 |  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.......... | 
| 7b20 |  27 69 6e 66 6f 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  | 'info-node.info-node))))....docs | 
| 7b40 |  74 72 69 6e 67 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  | tring....t.t))..(defun.helpful-- | 
| 7b60 |  6b 65 79 6d 61 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  | keymap-keys.(keymap)..."Return.a | 
| 7b80 |  6c 6c 20 74 68 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  | ll.the.keys.and.commands.in.KEYM | 
| 7ba0 |  41 50 2e 0a 46 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  | AP..Flattens.nested.keymaps.and. | 
| 7bc0 |  66 6f 6c 6c 6f 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  | follows.remapped.commands...Retu | 
| 7be0 |  72 6e 73 20 61 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  | rns.a.list.of.pairs.(KEYCODES.CO | 
| 7c00 |  4d 4d 41 4e 44 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  | MMAND),.where.KEYCODES.is.a.vect | 
| 7c20 |  6f 72 20 73 75 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  | or.suitable.for.`key-description | 
| 7c40 |  27 2c 20 61 6e 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  | ',.and.COMMAND.is.a.smbol."...(c | 
| 7c60 |  6f 6e 64 0a 20 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  | ond....;;.Prefix.keys.....((and. | 
| 7c80 |  20 20 20 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 62 6f 75  | .....(symbolp.keymap)......(fbou | 
| 7ca0 |  6e 64 70 20 6b 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  | ndp.keymap)......;;.Prefix.keys. | 
| 7cc0 |  75 73 65 20 61 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  | use.a.keymap.in.the.function.slo | 
| 7ce0 |  74 20 6f 66 20 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  | t.of.a.symbol.......(keymapp.(sy | 
| 7d00 |  6d 62 6f 6c 2d 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  | mbol-function.keymap))).....(hel | 
| 7d20 |  70 66 75 6c 2d 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  | pful--keymap-keys.(symbol-functi | 
| 7d40 |  6f 6e 20 6b 65 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  | on.keymap)))....;;.Other.symbols | 
| 7d60 |  20 6f 72 20 63 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  | .or.compiled.functions.mean.we'v | 
| 7d80 |  65 20 72 65 61 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  | e.reached.a.leaf,....;;.so.this. | 
| 7da0 |  69 73 20 61 20 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  | is.a.command.we.can.call.....((o | 
| 7dc0 |  72 0a 20 20 20 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  | r......(symbolp.keymap)......(fu | 
| 7de0 |  6e 63 74 69 6f 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  | nctionp.keymap)......;;.Strings. | 
| 7e00 |  6f 72 20 76 65 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  | or.vectors.mean.a.keyboard.macro | 
| 7e20 |  2e 0a 20 20 20 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  | .......(stringp.keymap)......(ve | 
| 7e40 |  63 74 6f 72 70 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  | ctorp.keymap)).....`(([].,keymap | 
| 7e60 |  29 29 29 0a 20 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  | )))....((stringp.(car.keymap)).. | 
| 7e80 |  20 20 20 28 68 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  | ...(helpful--keymap-keys.(cdr.ke | 
| 7ea0 |  79 6d 61 70 29 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  | ymap)))....;;.Otherwise,.recurse | 
| 7ec0 |  20 6f 6e 20 74 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  | .on.the.keys.at.this.level.of.th | 
| 7ee0 |  65 20 6b 65 79 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  | e.keymap.....(t.....(let.(result | 
| 7f00 |  29 0a 20 20 20 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  | ).......(dolist.(item.(cdr.keyma | 
| 7f20 |  70 29 29 0a 20 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  | p)).........(cond..........((and | 
| 7f40 |  20 28 63 6f 6e 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  | .(consp.item)................(eq | 
| 7f60 |  20 28 63 61 72 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  | .(car.item).'menu-bar))......... | 
| 7f80 |  20 20 3b 3b 20 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  | ..;;.Skip.menu.bar.items........ | 
| 7fa0 |  20 20 20 20 6e 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  | ....nil)..........;;.Sparse.keym | 
| 7fc0 |  61 70 73 20 61 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  | aps.are.lists...........((consp. | 
| 7fe0 |  69 74 65 6d 29 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  | item)...........(-let.[(keycode. | 
| 8000 |  2e 20 76 61 6c 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  | ..value).item].............(-eac | 
| 8020 |  68 20 28 68 65 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  | h.(helpful--keymap-keys.value).. | 
| 8040 |  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 79 63 6f 64 65 73  | .............(-lambda.((keycodes | 
| 8060 |  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 70 75 73 68  | .command)).................(push | 
| 8080 |  20 28 6c 69 73 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  | .(list.(vconcat.(vector.keycode) | 
| 80a0 |  20 6b 65 79 63 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  | .keycodes).command)............. | 
| 80c0 |  20 20 20 20 20 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  | ..........result)))))..........; | 
| 80e0 |  3b 20 44 65 6e 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  | ;.Dense.keymaps.are.char-tables. | 
| 8100 |  0a 20 20 20 20 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  | ..........((char-table-p.item).. | 
| 8120 |  20 20 20 20 20 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  | .........(map-char-table........ | 
| 8140 |  20 20 20 20 28 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  | ....(lambda.(keycode.value)..... | 
| 8160 |  20 20 20 20 20 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  | .........(-each.(helpful--keymap | 
| 8180 |  2d 6b 65 79 73 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  | -keys.value)................(-la | 
| 81a0 |  6d 62 64 61 20 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  | mbda.((keycodes.command))....... | 
| 81c0 |  20 20 20 20 20 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  | ...........(push.(list.(vconcat. | 
| 81e0 |  28 76 65 63 74 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  | (vector.keycode).keycodes).comma | 
| 8200 |  6e 64 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 72 65 73 75 6c  | nd)........................resul | 
| 8220 |  74 29 29 29 29 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  | t))))............item))))....... | 
| 8240 |  3b 3b 20 46 6f 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  | ;;.For.every.command.`new-func'. | 
| 8260 |  6d 61 70 70 65 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  | mapped.to.a.command.`orig-func', | 
| 8280 |  20 73 68 6f 77 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  | .show.`new-func'.with.......;;.t | 
| 82a0 |  68 65 20 6b 65 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  | he.key.sequence.for.`orig-func'. | 
| 82c0 |  0a 20 20 20 20 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  | .......(setq.result............. | 
| 82e0 |  28 2d 6d 61 70 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  | (-map-when..............(-lambda | 
| 8300 |  20 28 28 6b 65 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  | .((keycodes._))................( | 
| 8320 |  61 6e 64 20 28 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  | and.(>.(length.keycodes).1)..... | 
| 8340 |  20 20 20 20 20 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  | ................(eq.(elt.keycode | 
| 8360 |  73 20 30 29 20 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  | s.0).'remap)))..............(-la | 
| 8380 |  6d 62 64 61 20 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  | mbda.((keycodes.command))....... | 
| 83a0 |  20 20 20 20 20 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  | .........(list.................( | 
| 83c0 |  77 68 65 72 65 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  | where-is-internal.(elt.keycodes. | 
| 83e0 |  31 29 20 67 6c 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  | 1).global-map.t)................ | 
| 8400 |  20 63 6f 6d 6d 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  | .command))..............result)) | 
| 8420 |  0a 20 20 20 20 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  | .......;;.Preserve.the.original. | 
| 8440 |  6f 72 64 65 72 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  | order.of.the.keymap........(nrev | 
| 8460 |  65 72 73 65 20 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  | erse.result)))))..(defun.helpful | 
| 8480 |  2d 2d 66 6f 72 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  | --format-hook.(hook-val)..."Give | 
| 84a0 |  6e 20 61 20 6c 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  | n.a.list.value.assigned.to.a.hoo | 
| 84c0 |  6b 2c 20 66 6f 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  | k,.format.it.with.links.to.funct | 
| 84e0 |  69 6f 6e 73 2e 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  | ions."...(let.((lines..........( | 
| 8500 |  2d 2d 6d 61 70 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  | --map...........(if.(and.(symbol | 
| 8520 |  70 20 69 74 29 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  | p.it).(fboundp.it))............. | 
| 8540 |  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.............. | 
| 8560 |  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 20 20 20 20 20  | ..(symbol-name.it).............. | 
| 8580 |  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 62 75 74 74  | ..'helpful-describe-exactly-butt | 
| 85a0 |  6f 6e 0a 20 20 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  | on................'symbol.it.... | 
| 85c0 |  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 29 0a 20 20 20 20 20  | ............'callable-p.t)...... | 
| 85e0 |  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 6c 69 67 68  | .......(helpful--syntax-highligh | 
| 8600 |  74 20 28 68 65 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  | t.(helpful--pretty-print.it))).. | 
| 8620 |  20 20 20 20 20 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  | .........hook-val))).....(format | 
| 8640 |  20 22 28 25 73 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  | ."(%s)".............(s-join."\n. | 
| 8660 |  22 20 6c 69 6e 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  | ".lines))))..;;.TODO:.unlike.`su | 
| 8680 |  62 73 74 69 74 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  | bstitute-command-keys',.this.sho | 
| 86a0 |  77 73 20 6b 65 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  | ws.keybindings.;;.which.are.curr | 
| 86c0 |  65 6e 74 6c 79 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  | ently.shadowed.(e.g..a.global.mi | 
| 86e0 |  6e 6f 72 20 6d 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  | nor.mode.map)..(defun.helpful--f | 
| 8700 |  6f 72 6d 61 74 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  | ormat-keymap.(keymap)..."Format. | 
| 8720 |  4b 45 59 4d 41 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  | KEYMAP."...(let*.((keys-and-comm | 
| 8740 |  61 6e 64 73 20 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  | ands.(helpful--keymap-keys.keyma | 
| 8760 |  70 29 29 0a 20 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  | p))..........;;.Convert.keycodes | 
| 8780 |  20 5b 32 37 20 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  | .[27.i].to."C-M-i"...........(ke | 
| 87a0 |  79 73 20 28 2d 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  | ys.(-map.#'-first-item.keys-and- | 
| 87c0 |  63 6f 6d 6d 61 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  | commands))..........;;.Add.paddi | 
| 87e0 |  6e 67 20 73 6f 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  | ng.so.all.our.strings.are.the.sa | 
| 8800 |  6d 65 20 6c 65 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  | me.length...........(formatted-k | 
| 8820 |  65 79 73 20 28 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  | eys.(-map.#'key-description.keys | 
| 8840 |  29 29 0a 20 20 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  | ))..........(max-formatted-lengt | 
| 8860 |  68 20 28 2d 6d 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  | h.(-max.(cons.0.(-map.#'length.f | 
| 8880 |  6f 72 6d 61 74 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  | ormatted-keys))))..........(alig | 
| 88a0 |  6e 65 64 2d 6b 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  | ned-keys.(--map.(s-pad-right.(1+ | 
| 88c0 |  20 6d 61 78 2d 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  | .max-formatted-length).......... | 
| 88e0 |  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  | ................................ | 
| 8900 |  20 20 22 20 22 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  | ..".".it)....................... | 
| 8920 |  20 20 20 20 20 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  | ........formatted-keys))........ | 
| 8940 |  20 20 3b 3b 20 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  | ..;;.Format.commands.as.buttons. | 
| 8960 |  0a 20 20 20 20 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  | ..........(commands.(-map.(-lamb | 
| 8980 |  64 61 20 28 28 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  | da.((_.command)).command)....... | 
| 89a0 |  20 20 20 20 20 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  | ...................keys-and-comm | 
| 89c0 |  61 6e 64 73 29 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  | ands))..........(formatted-comma | 
| 89e0 |  6e 64 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 20 20 20 20  | nds...........(--map............ | 
| 8a00 |  28 63 6f 6e 64 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  | (cond.............((symbolp.it). | 
| 8a20 |  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 20 20  | .............(helpful--button... | 
| 8a40 |  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 69 74 29 0a 20 20 20  | ............(symbol-name.it).... | 
| 8a60 |  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 62 75 74  | ...........'helpful-describe-but | 
| 8a80 |  74 6f 6e 0a 20 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  | ton...............'symbol.it)).. | 
| 8aa0 |  20 20 20 20 20 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  | ...........((or.(stringp.it).(ve | 
| 8ac0 |  63 74 6f 72 70 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  | ctorp.it)).............."Keyboar | 
| 8ae0 |  64 20 4d 61 63 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  | d.Macro").............(t........ | 
| 8b00 |  20 20 20 20 20 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  | ......"#<anonymous-function>")). | 
| 8b20 |  20 20 20 20 20 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  | ...........commands))..........; | 
| 8b40 |  3b 20 42 75 69 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  | ;.Build.lines.for.display....... | 
| 8b60 |  20 20 20 20 28 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  | ....(lines...........(-map.(-lam | 
| 8b80 |  62 64 61 20 28 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  | bda.((key...command)).(format."% | 
| 8ba0 |  73 20 25 73 22 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  | s.%s".key.command))............. | 
| 8bc0 |  20 20 20 20 28 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  | ....(-zip-pair.aligned-keys.form | 
| 8be0 |  61 74 74 65 64 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  | atted-commands)))).....;;.The.fl | 
| 8c00 |  61 74 74 65 6e 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  | attened.keymap.will.have.normal. | 
| 8c20 |  62 69 6e 64 69 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  | bindings.first,.and.....;;.inher | 
| 8c40 |  69 74 65 64 20 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  | ited.bindings.last..Sort.so.that | 
| 8c60 |  20 77 65 20 67 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  | .we.group.by.prefix......(s-join | 
| 8c80 |  20 22 5c 6e 22 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  | ."\n".(-sort.#'string<.lines)))) | 
| 8ca0 |  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 63 6f 6d 6d 61 6e 64  | ..(defun.helpful--format-command | 
| 8cc0 |  73 20 28 73 74 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  | s.(str.keymap)..."Replace.all.th | 
| 8ce0 |  65 20 5c 5c 5b 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  | e.\\[.references.in.STR.with.but | 
| 8d00 |  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 69  | tons."...(replace-regexp-in-stri | 
| 8d20 |  6e 67 0a 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 5b 66 6f 6f  | ng....;;.Text.of.the.form.\\[foo | 
| 8d40 |  2d 63 6f 6d 6d 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  | -command]....(rx."\\[".(group.(+ | 
| 8d60 |  20 28 6e 6f 74 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  | .(not.(in."]"))))."]")....(lambd | 
| 8d80 |  61 20 28 69 74 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  | a.(it)......(let*.((button-face. | 
| 8da0 |  28 69 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 20  | (if.(>=.emacs-major-version.28). | 
| 8dc0 |  27 68 65 6c 70 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  | 'help-key-binding.'button))..... | 
| 8de0 |  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 2d 73 74 72 69  | ........(symbol-name.(match-stri | 
| 8e00 |  6e 67 20 31 20 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  | ng.1.it)).............(symbol.(i | 
| 8e20 |  6e 74 65 72 6e 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  | ntern.symbol-name))............. | 
| 8e40 |  28 6b 65 79 20 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  | (key.(where-is-internal.symbol.k | 
| 8e60 |  65 79 6d 61 70 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  | eymap.t)).............(key-descr | 
| 8e80 |  69 70 74 69 6f 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  | iption..............(if.key..... | 
| 8ea0 |  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 65  | .............(key-description.ke | 
| 8ec0 |  79 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 4d 2d 78 20 25  | y)................(format."M-x.% | 
| 8ee0 |  73 22 20 73 79 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  | s".symbol-name))))........(helpf | 
| 8f00 |  75 6c 2d 2d 62 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  | ul--button.........key-descripti | 
| 8f20 |  6f 6e 0a 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 61  | on.........'helpful-describe-exa | 
| 8f40 |  63 74 6c 79 2d 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  | ctly-button.........'symbol.symb | 
| 8f60 |  6f 6c 0a 20 20 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  | ol.........'callable-p.t........ | 
| 8f80 |  20 27 66 61 63 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  | .'face.button-face)))....str.... | 
| 8fa0 |  74 0a 20 20 20 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  | t....t))..(defun.helpful--chars- | 
| 8fc0 |  62 65 66 6f 72 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  | before.(pos.n)..."Return.up.to.N | 
| 8fe0 |  20 63 68 61 72 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  | .chars.before.POS.in.the.current | 
| 9000 |  20 62 75 66 66 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  | .buffer..The.string.may.be.short | 
| 9020 |  65 72 20 74 68 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  | er.than.N.or.empty.if.out-of-ran | 
| 9040 |  67 65 2e 22 0a 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  | ge."...(buffer-substring....(max | 
| 9060 |  20 28 70 6f 69 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  | .(point-min).(-.pos.n))....pos)) | 
| 9080 |  0a 0a 28 64 65 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  | ..(defun.helpful--chars-after.(p | 
| 90a0 |  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 73 20 61 66  | os.n)..."Return.up.to.N.chars.af | 
| 90c0 |  74 65 72 20 50 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  | ter.POS.in.the.current.buffer..T | 
| 90e0 |  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 61 6e 20 4e 20  | he.string.may.be.shorter.than.N. | 
| 9100 |  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 20 20 28 62 75  | or.empty.if.out-of-range."...(bu | 
| 9120 |  66 66 65 72 2d 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  | ffer-substring....pos....(min.(p | 
| 9140 |  6f 69 6e 74 2d 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  | oint-max).(+.pos.n))))..(defun.h | 
| 9160 |  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 20 28 64 6f 63  | elpful--format-command-keys.(doc | 
| 9180 |  73 74 72 69 6e 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  | string)..."Convert.command.key.r | 
| 91a0 |  65 66 65 72 65 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  | eferences.and.keymap.references. | 
| 91c0 |  69 6e 20 44 4f 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  | in.DOCSTRING.to.buttons...Emacs. | 
| 91e0 |  75 73 65 73 20 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  | uses.\\=.to.escape.\\[.reference | 
| 9200 |  73 2c 20 73 6f 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  | s,.so.replace.that.unescaping.to | 
| 9220 |  6f 2e 22 0a 20 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  | o."...;;.Loosely.based.on.`subst | 
| 9240 |  69 74 75 74 65 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  | itute-command-keys',.but.convert | 
| 9260 |  73 0a 20 20 3b 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  | s...;;.references.to.buttons.... | 
| 9280 |  28 6c 65 74 20 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  | (let.((keymap.nil)).....(with-te | 
| 92a0 |  6d 70 2d 62 75 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  | mp-buffer.......(insert.docstrin | 
| 92c0 |  67 29 0a 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 6e 29 29  | g).......(goto-char.(point-min)) | 
| 92e0 |  0a 20 20 20 20 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  | .......(while.(not.(eobp))...... | 
| 9300 |  20 20 20 28 63 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  | ...(cond..........((looking-at.. | 
| 9320 |  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 22 66  | ..........;;.Text.of.the.form."f | 
| 9340 |  6f 6f 22 0a 20 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  | oo"............(rx."\""))....... | 
| 9360 |  20 20 20 20 3b 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  | ....;;.For.literal.strings,.esca | 
| 9380 |  70 65 20 62 61 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  | pe.backslashes.so.our.output.... | 
| 93a0 |  20 20 20 20 20 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  | .......;;.shows.copy-pasteable.l | 
| 93c0 |  69 74 65 72 61 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  | iterals............(let*.((start | 
| 93e0 |  2d 70 6f 73 20 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  | -pos.(point))..................( | 
| 9400 |  65 6e 64 2d 70 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  | end-pos.(progn.(forward-char).(s | 
| 9420 |  65 61 72 63 68 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  | earch-forward."\"".nil.t)))..... | 
| 9440 |  20 20 20 20 20 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  | .............contents).......... | 
| 9460 |  20 20 20 28 69 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  | ...(if.end-pos.................( | 
| 9480 |  70 72 6f 67 6e 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  | progn...................(setq.co | 
| 94a0 |  6e 74 65 6e 74 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  | ntents.(buffer-substring.start-p | 
| 94c0 |  6f 73 20 65 6e 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  | os.end-pos))...................( | 
| 94e0 |  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 6e 64 2d 70 6f 73 29  | delete-region.start-pos.end-pos) | 
| 9500 |  0a 20 20 20 20 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  | ...................(insert.(s-re | 
| 9520 |  70 6c 61 63 65 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  | place."\\"."\\\\".contents)))... | 
| 9540 |  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 31 29 29 29 29 0a  | ............(forward-char.1)))). | 
| 9560 |  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 20 20 20 20  | .........((looking-at........... | 
| 9580 |  20 3b 3b 20 54 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  | .;;.Text.of.the.form.\=X........ | 
| 95a0 |  20 20 20 20 28 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  | ....(rx."\\="))...........;;.Rem | 
| 95c0 |  6f 76 65 20 74 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  | ove.the.escaping,.then.step.over | 
| 95e0 |  20 74 68 65 20 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  | .the.escaped.char............;;. | 
| 9600 |  53 74 65 70 20 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  | Step.over.the.escaped.character. | 
| 9620 |  0a 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 | 
| 9640 |  29 20 28 2b 20 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  | ).(+.(point).2))...........(forw | 
| 9660 |  61 72 64 2d 63 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  | ard-char.1))..........((looking- | 
| 9680 |  61 74 0a 20 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  | at............;;.Text.of.the.for | 
| 96a0 |  6d 20 60 66 6f 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  | m.`foo'............(rx."`")).... | 
| 96c0 |  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 28 70 6f 69 6e 74 29  | .......(let*.((start-pos.(point) | 
| 96e0 |  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 6f 73 20 28 73 65 61  | )..................(end-pos.(sea | 
| 9700 |  72 63 68 2d 66 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  | rch-forward."'".nil.t))......... | 
| 9720 |  20 20 20 20 20 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  | .........(contents.............. | 
| 9740 |  20 20 20 20 20 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  | .....(when.end-pos.............. | 
| 9760 |  20 20 20 20 20 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  | .......(buffer-substring.(1+.sta | 
| 9780 |  72 74 2d 70 6f 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  | rt-pos).(1-.end-pos)))))........ | 
| 97a0 |  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 28 6e 75 6c 6c 20 63  | .....(cond..............((null.c | 
| 97c0 |  6f 6e 74 65 6e 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  | ontents)...............;;.If.the | 
| 97e0 |  72 65 27 73 20 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  | re's.no.closing.'.to.match.the.o | 
| 9800 |  70 65 6e 69 6e 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  | pening.`,.just...............;;. | 
| 9820 |  6c 65 61 76 65 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  | leave.it................(goto-ch | 
| 9840 |  61 72 20 28 31 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  | ar.(1+.start-pos)))............. | 
| 9860 |  20 28 28 73 2d 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  | .((s-contains-p."`".contents)... | 
| 9880 |  20 20 20 20 20 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  | ............;;.If.we.have.repeat | 
| 98a0 |  65 64 20 62 61 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  | ed.backticks.`foo.`bar',.leave.t | 
| 98c0 |  68 65 0a 20 20 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  | he...............;;.first.one... | 
| 98e0 |  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 2b 20 73 74 61 72  | .............(goto-char.(1+.star | 
| 9900 |  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 63 6f 6e 74 61 69  | t-pos)))..............((s-contai | 
| 9920 |  6e 73 2d 70 20 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  | ns-p."\\[".contents)............ | 
| 9940 |  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 6e 64 2d  | ...(delete-region.start-pos.end- | 
| 9960 |  70 6f 73 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 68 65 6c 70  | pos)...............(insert.(help | 
| 9980 |  66 75 6c 2d 2d 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  | ful--format-commands.contents.ke | 
| 99a0 |  79 6d 61 70 29 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  | ymap)))..............;;.Highligh | 
| 99c0 |  74 20 61 20 6e 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  | t.a.normal.`foo',.extracting.the | 
| 99e0 |  20 73 75 72 72 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  | .surrounding..............;;.tex | 
| 9a00 |  74 20 73 6f 20 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  | t.so.we.can.detect.e.g.."functio | 
| 9a20 |  6e 20 60 66 6f 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  | n.`foo'"...............(t....... | 
| 9a40 |  20 20 20 20 20 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  | ........(let.((before.(helpful-- | 
| 9a60 |  63 68 61 72 73 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  | chars-before.start-pos.10))..... | 
| 9a80 |  20 20 20 20 20 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  | ................(after.(helpful- | 
| 9aa0 |  2d 63 68 61 72 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  | -chars-after.end-pos.10)))...... | 
| 9ac0 |  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 73 74 61 72 74 2d  | ...........(delete-region.start- | 
| 9ae0 |  70 6f 73 20 65 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  | pos.end-pos).................(in | 
| 9b00 |  73 65 72 74 20 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  | sert.(helpful--propertize-sym-re | 
| 9b20 |  66 20 63 6f 6e 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  | f.contents.before.after))))))).. | 
| 9b40 |  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 20 20 20 20 20  | ........((looking-at............ | 
| 9b60 |  3b 3b 20 54 65 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  | ;;.Text.of.the.form.\\<foo-keyma | 
| 9b80 |  70 3e 0a 20 20 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  | p>............(rx."\\<".(group.( | 
| 9ba0 |  2b 20 28 6e 6f 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  | +.(not.(in.">")))).">".......... | 
| 9bc0 |  20 20 20 20 20 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  | ......(?."\n")))...........(let* | 
| 9be0 |  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 2d 73 74 72  | .((symbol-with-parens.(match-str | 
| 9c00 |  69 6e 67 20 30 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  | ing.0))..................(symbol | 
| 9c20 |  2d 6e 61 6d 65 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  | -name.(match-string.1)))........ | 
| 9c40 |  20 20 20 20 20 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  | .....;;.Remove.the.original.stri | 
| 9c60 |  6e 67 2e 0a 20 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  | ng..............(delete-region.( | 
| 9c80 |  70 6f 69 6e 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  | point).......................... | 
| 9ca0 |  20 20 28 2b 20 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  | ..(+.(point).(length.symbol-with | 
| 9cc0 |  2d 70 61 72 65 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  | -parens))).............;;.Set.th | 
| 9ce0 |  65 20 6e 65 77 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  | e.new.keymap..............(setq. | 
| 9d00 |  6b 65 79 6d 61 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  | keymap.(symbol-value.(intern.sym | 
| 9d20 |  62 6f 6c 2d 6e 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  | bol-name)))))..........((looking | 
| 9d40 |  2d 61 74 0a 20 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  | -at............;;.Text.of.the.fo | 
| 9d60 |  72 6d 20 5c 5c 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  | rm.\\{foo-mode-map}............( | 
| 9d80 |  72 78 20 22 5c 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  | rx."\\{".(group.(+.(not.(in."}") | 
| 9da0 |  29 29 29 20 22 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  | )))."}"))...........(let*.((symb | 
| 9dc0 |  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 29 29  | ol-with-parens.(match-string.0)) | 
| 9de0 |  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 20 28  | ..................(symbol-name.( | 
| 9e00 |  6d 61 74 63 68 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  | match-string.1))................ | 
| 9e20 |  20 20 28 6b 65 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  | ..(keymap...................;;.G | 
| 9e40 |  72 61 63 65 66 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  | racefully.handle.variables.not.b | 
| 9e60 |  65 69 6e 67 20 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  | eing.defined.................... | 
| 9e80 |  28 69 67 6e 6f 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  | (ignore-errors.................. | 
| 9ea0 |  20 20 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  | ...(symbol-value.(intern.symbol- | 
| 9ec0 |  6e 61 6d 65 29 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  | name))))).............;;.Remove. | 
| 9ee0 |  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 20 20 20  | the.original.string............. | 
| 9f00 |  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 20 20 20  | .(delete-region.(point)......... | 
| 9f20 |  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 20 28 6c  | ...................(+.(point).(l | 
| 9f40 |  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 20 20 20  | ength.symbol-with-parens)))..... | 
| 9f60 |  20 20 20 20 20 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  | ........(if.keymap.............. | 
| 9f80 |  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 2d 6b 65 79 6d  | ...(insert.(helpful--format-keym | 
| 9fa0 |  61 70 20 6b 65 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  | ap.keymap))...............(inser | 
| 9fc0 |  74 20 28 66 6f 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  | t.(format."Keymap.%s.is.not.curr | 
| 9fe0 |  65 6e 74 6c 79 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  | ently.defined."................. | 
| a000 |  20 20 20 20 20 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  | ..............symbol-name))))).. | 
| a020 |  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 20 20 20 20 20  | ........((looking-at............ | 
| a040 |  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 61  | ;;.Text.of.the.form.\\[foo-comma | 
| a060 |  6e 64 5d 0a 20 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  | nd]............(rx."\\[".(group. | 
| a080 |  28 2b 20 28 6e 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  | (+.(not.(in."]"))))."]"))....... | 
| a0a0 |  20 20 20 20 28 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  | ....(let*.((symbol-with-parens.( | 
| a0c0 |  6d 61 74 63 68 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  | match-string.0))).............;; | 
| a0e0 |  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 20 20  | .Remove.the.original.string..... | 
| a100 |  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 29 0a  | .........(delete-region.(point). | 
| a120 |  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 28 70  | ...........................(+.(p | 
| a140 |  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 6e 73  | oint).(length.symbol-with-parens | 
| a160 |  29 29 29 0a 20 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  | ))).............;;.Add.a.button. | 
| a180 |  0a 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 66  | .............(insert.(helpful--f | 
| a1a0 |  6f 72 6d 61 74 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  | ormat-commands.symbol-with-paren | 
| a1c0 |  73 20 6b 65 79 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  | s.keymap))))..........;;.Don't.m | 
| a1e0 |  6f 64 69 66 79 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  | odify.other.characters.......... | 
| a200 |  20 28 74 0a 20 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  | .(t...........(forward-char.1))) | 
| a220 |  29 0a 20 20 20 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  | ).......(buffer-string))))..;;.T | 
| a240 |  4f 44 4f 3a 20 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  | ODO:.fix.upstream.Emacs.bug.that | 
| a260 |  20 6d 65 61 6e 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  | .means.`-map'.is.not.highlighted | 
| a280 |  0a 3b 3b 20 69 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  | .;;.in.the.docstring.for.`--map' | 
| a2a0 |  2e 0a 28 64 65 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  | ..(defun.helpful--format-docstri | 
| a2c0 |  6e 67 20 28 64 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  | ng.(docstring)..."Replace.cross- | 
| a2e0 |  72 65 66 65 72 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  | references.with.links.in.DOCSTRI | 
| a300 |  4e 47 2e 22 0a 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  | NG."...(->.docstring.......(help | 
| a320 |  66 75 6c 2d 2d 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  | ful--split-first-line).......(he | 
| a340 |  6c 70 66 75 6c 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  | lpful--propertize-info).......(h | 
| a360 |  65 6c 70 66 75 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  | elpful--propertize-links)....... | 
| a380 |  28 68 65 6c 70 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  | (helpful--propertize-bare-links) | 
| a3a0 |  0a 20 20 20 20 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  | .......(helpful--format-command- | 
| a3c0 |  6b 65 79 73 29 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  | keys).......(s-trim)))..(define- | 
| a3e0 |  62 75 74 74 6f 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  | button-type.'helpful-link-button | 
| a400 |  0a 20 20 27 61 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  | ...'action.#'helpful--follow-lin | 
| a420 |  6b 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 6f 20  | k...'follow-link.t...'help-echo. | 
| a440 |  22 46 6f 6c 6c 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  | "Follow.this.link")..(defun.help | 
| a460 |  66 75 6c 2d 2d 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  | ful--propertize-links.(docstring | 
| a480 |  29 0a 20 20 22 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  | )..."Convert.URL.links.in.docstr | 
| a4a0 |  69 6e 67 73 20 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  | ings.to.buttons."...(replace-reg | 
| a4c0 |  65 78 70 2d 69 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  | exp-in-string....(rx."URL.`".(gr | 
| a4e0 |  6f 75 70 20 28 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  | oup.(*?.any))."'")....(lambda.(m | 
| a500 |  61 74 63 68 29 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  | atch)......(let.((url.(match-str | 
| a520 |  69 6e 67 20 31 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  | ing.1.match)))........(concat."U | 
| a540 |  52 4c 20 22 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 62 75  | RL."................(helpful--bu | 
| a560 |  74 74 6f 6e 0a 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  | tton.................url........ | 
| a580 |  20 20 20 20 20 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  | .........'helpful-link-button... | 
| a5a0 |  20 20 20 20 20 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  | ..............'url.url))))....do | 
| a5c0 |  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 70 72 6f 70 65  | cstring))..(defun.helpful--prope | 
| a5e0 |  72 74 69 7a 65 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  | rtize-bare-links.(docstring)..." | 
| a600 |  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. | 
| a620 |  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 | 
| a640 |  6e 2d 73 74 72 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  | n-string....(rx.(group.(or.strin | 
| a660 |  67 2d 73 74 61 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  | g-start.space."<"))........(grou | 
| a680 |  70 20 22 68 74 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  | p."http".(?."s")."://".(+?.(not. | 
| a6a0 |  28 61 6e 79 20 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  | (any.space))))........(group.(?. | 
| a6c0 |  28 61 6e 79 20 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  | (any.".".">".")")).............. | 
| a6e0 |  20 28 6f 72 20 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  | .(or.space.string-end.">"))).... | 
| a700 |  28 6c 61 6d 62 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  | (lambda.(match)......(let.((spac | 
| a720 |  65 2d 62 65 66 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  | e-before.(match-string.1.match)) | 
| a740 |  0a 20 20 20 20 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  | ............(url.(match-string.2 | 
| a760 |  20 6d 61 74 63 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  | .match))............(after.(matc | 
| a780 |  68 2d 73 74 72 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  | h-string.3.match)))........(conc | 
| a7a0 |  61 74 0a 20 20 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  | at.........space-before......... | 
| a7c0 |  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 75 72 6c 0a 20 20  | (helpful--button..........url... | 
| a7e0 |  20 20 20 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  | .......'helpful-link-button..... | 
| a800 |  20 20 20 20 20 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  | .....'url.url).........after))). | 
| a820 |  20 20 20 64 6f 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  | ...docstring))..(defun.helpful-- | 
| a840 |  66 6f 6c 6c 6f 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  | follow-link.(button)..."Follow.t | 
| a860 |  68 65 20 55 52 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  | he.URL.specified.by.BUTTON."...( | 
| a880 |  62 72 6f 77 73 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  | browse-url.(button-get.button.'u | 
| a8a0 |  72 6c 29 29 29 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  | rl)))..(defconst.helpful--highli | 
| a8c0 |  67 68 74 69 6e 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  | ghting-funcs...'(ert--activate-f | 
| a8e0 |  6f 6e 74 2d 6c 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  | ont-lock-keywords.....highlight- | 
| a900 |  71 75 6f 74 65 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  | quoted-mode.....rainbow-delimite | 
| a920 |  72 73 2d 6d 6f 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  | rs-mode)..."Highlighting.functio | 
| a940 |  6e 73 20 74 68 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  | ns.that.are.safe.to.run.in.a.tem | 
| a960 |  70 6f 72 61 72 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  | porary.buffer..This.is.used.in.` | 
| a980 |  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 27 20 74 6f 20 73 75  | helpful--syntax-highlight'.to.su | 
| a9a0 |  70 70 6f 72 74 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  | pport.extra.highlighting.that.th | 
| a9c0 |  65 20 75 73 65 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  | e.user.may.have.configured.in.th | 
| a9e0 |  65 69 72 20 6d 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  | eir.mode.hooks.")..;;.TODO:.cras | 
| aa00 |  68 65 73 20 6f 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  | hes.on.`backtrace-frame'.on.a.re | 
| aa20 |  63 65 6e 74 20 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  | cent.checkout...(defun.helpful-- | 
| aa40 |  73 79 6e 74 61 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  | syntax-highlight.(source.&option | 
| aa60 |  61 6c 20 6d 6f 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  | al.mode)..."Return.a.propertized | 
| aa80 |  20 76 65 72 73 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  | .version.of.SOURCE.in.MODE."...( | 
| aaa0 |  75 6e 6c 65 73 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  | unless.mode.....(setq.mode.#'ema | 
| aac0 |  63 73 2d 6c 69 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  | cs-lisp-mode))...(if.(or........ | 
| aae0 |  28 3c 20 28 6c 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  | (<.(length.source).helpful-max-h | 
| ab00 |  69 67 68 6c 69 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  | ighlight)........(eq.mode.'emacs | 
| ab20 |  2d 6c 69 73 70 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  | -lisp-mode)).......(with-temp-bu | 
| ab40 |  66 66 65 72 0a 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  | ffer.........(insert.source).... | 
| ab60 |  20 20 20 20 20 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  | ......;;.Switch.to.major-mode.MO | 
| ab80 |  44 45 2c 20 62 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  | DE,.but.don't.run.any.hooks..... | 
| aba0 |  20 20 20 20 20 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  | .....(delay-mode-hooks.(funcall. | 
| abc0 |  6d 6f 64 65 29 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  | mode))..........;;.`delayed-mode | 
| abe0 |  2d 68 6f 6f 6b 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  | -hooks'.contains.mode.hooks.like | 
| ac00 |  0a 20 20 20 20 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  | .........;;.`emacs-lisp-mode-hoo | 
| ac20 |  6b 27 2e 20 42 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  | k'..Build.a.list.of.functions.th | 
| ac40 |  61 74 20 61 72 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  | at.are.run.........;;.when.the.m | 
| ac60 |  6f 64 65 20 68 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  | ode.hooks.run..........(let.(hoo | 
| ac80 |  6b 2d 66 75 6e 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  | k-funcs)...........(dolist.(hook | 
| aca0 |  20 64 65 6c 61 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  | .delayed-mode-hooks)............ | 
| acc0 |  20 28 6c 65 74 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  | .(let.((funcs.(symbol-value.hook | 
| ace0 |  29 29 29 0a 20 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  | )))...............(setq.hook-fun | 
| ad00 |  63 73 20 28 61 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  | cs.(append.hook-funcs.funcs)))). | 
| ad20 |  0a 20 20 20 20 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  | ...........;;.Filter.hooks.to.th | 
| ad40 |  6f 73 65 20 74 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  | ose.that.relate.to.highlighting, | 
| ad60 |  20 61 6e 64 20 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  | .and.run.them............(setq.h | 
| ad80 |  6f 6f 6b 2d 66 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  | ook-funcs.(-intersection.hook-fu | 
| ada0 |  6e 63 73 20 68 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  | ncs.helpful--highlighting-funcs) | 
| adc0 |  29 0a 20 20 20 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  | )...........(-map.#'funcall.hook | 
| ade0 |  2d 66 75 6e 63 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  | -funcs))..........(if.(fboundp.' | 
| ae00 |  66 6f 6e 74 2d 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  | font-lock-ensure).............(f | 
| ae20 |  6f 6e 74 2d 6c 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  | ont-lock-ensure)...........(with | 
| ae40 |  2d 6e 6f 2d 77 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  | -no-warnings.............(font-l | 
| ae60 |  6f 63 6b 2d 66 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  | ock-fontify-buffer))).........(b | 
| ae80 |  75 66 66 65 72 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  | uffer-string)).....;;.SOURCE.was | 
| aea0 |  20 74 6f 6f 20 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  | .too.long.to.highlight.in.a.reas | 
| aec0 |  6f 6e 61 62 6c 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  | onable.amount.of.....;;.time.... | 
| aee0 |  20 20 28 63 6f 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  | ..(concat......(propertize...... | 
| af00 |  20 22 2f 2f 20 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  | ."//.Skipping.highlighting.due.t | 
| af20 |  6f 20 22 0a 20 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  | o.".......'face.'font-lock-comme | 
| af40 |  6e 74 2d 66 61 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  | nt-face)......(helpful--button.. | 
| af60 |  20 20 20 20 20 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  | ....."helpful-max-highlight".... | 
| af80 |  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 62 75 74  | ...'helpful-describe-exactly-but | 
| afa0 |  74 6f 6e 0a 20 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  | ton.......'symbol.'helpful-max-h | 
| afc0 |  69 67 68 6c 69 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  | ighlight.......'callable-p.nil). | 
| afe0 |  20 20 20 20 20 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  | .....(propertize.......".\n".... | 
| b000 |  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 65  | ...'face.'font-lock-comment-face | 
| b020 |  29 0a 20 20 20 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  | )......source)))..(defun.helpful | 
| b040 |  2d 2d 73 6f 75 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  | --source.(sym.callable-p.buf.pos | 
| b060 |  29 0a 20 20 22 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  | )..."Return.the.source.code.of.S | 
| b080 |  59 4d 2e 0a 49 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  | YM..If.the.source.code.cannot.be | 
| b0a0 |  20 66 6f 75 6e 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  | .found,.return.the.sexp.used.".. | 
| b0c0 |  20 28 63 61 74 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  | .(catch.'source.....(unless.(sym | 
| b0e0 |  62 6f 6c 70 20 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  | bolp.sym).......(throw.'source.s | 
| b100 |  79 6d 29 29 0a 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  | ym))......(let.((source.nil))... | 
| b120 |  20 20 20 20 28 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  | ....(when.(and.buf.pos)......... | 
| b140 |  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 20 20  | (with-current-buffer.buf........ | 
| b160 |  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 28  | ...(save-excursion.............( | 
| b180 |  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 20 28  | save-restriction...............( | 
| b1a0 |  67 6f 74 6f 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 28 69  | goto-char.pos)................(i | 
| b1c0 |  66 20 28 61 6e 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  | f.(and.(helpful--primitive-p.sym | 
| b1e0 |  20 63 61 6c 6c 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  | .callable-p).................... | 
| b200 |  20 20 20 20 28 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  | ....(not.callable-p))........... | 
| b220 |  20 20 20 20 20 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  | ........;;.For.variables.defined | 
| b240 |  20 69 6e 20 2e 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  | .in..c.files,.only.show.the..... | 
| b260 |  20 20 20 20 20 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  | ..............;;.DEFVAR.expressi | 
| b280 |  6f 6e 20 72 61 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  | on.rather.than.the.huge.containi | 
| b2a0 |  6e 67 0a 20 20 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  | ng...................;;.function | 
| b2c0 |  2e 0a 20 20 20 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  | ....................(progn...... | 
| b2e0 |  20 20 20 20 20 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  | ...............(setq.pos.(line-b | 
| b300 |  65 67 69 6e 6e 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  | eginning-position))............. | 
| b320 |  20 20 20 20 20 20 20 20 3b 3b 20 48 41 43 4b 20    55 73 65 20 74 68 65 20 65 6c 69 73 70 20 73 79  | ........;;.HACK.Use.the.elisp.sy | 
| b340 |  6e 74 61 78 20 74 61 62 6c 65 20 65 76 65 6e 20    74 68 6f 75 67 68 20 74 68 65 20 66 69 6c 65 20  | ntax.table.even.though.the.file. | 
| b360 |  69 73 20 61 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 3b 3b 20 43 20 66 69  | is.a.....................;;.C.fi | 
| b380 |  6c 65 2e 20 54 68 69 73 20 69 73 20 61 20 74 65    6d 70 6f 72 61 72 79 20 77 6f 72 6b 61 72 6f 75  | le..This.is.a.temporary.workarou | 
| b3a0 |  6e 64 20 66 6f 72 20 69 73 73 75 65 20 23 33 32    39 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | nd.for.issue.#329............... | 
| b3c0 |  20 20 20 20 20 20 20 28 77 69 74 68 2d 73 79 6e    74 61 78 2d 74 61 62 6c 65 20 65 6d 61 63 73 2d  | .......(with-syntax-table.emacs- | 
| b3e0 |  6c 69 73 70 2d 6d 6f 64 65 2d 73 79 6e 74 61 78    2d 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20  | lisp-mode-syntax-table.......... | 
| b400 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f    72 77 61 72 64 2d 6c 69 73 74 29 29 0a 20 20 20  | .............(forward-list)).... | 
| b420 |  20 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 29 0a  | .................(forward-char). | 
| b440 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72  | ....................(narrow-to-r | 
| b460 |  65 67 69 6f 6e 20 70 6f 73 20 28 70 6f 69 6e 74    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | egion.pos.(point)))............. | 
| b480 |  20 20 20 20 3b 3b 20 4e 61 72 72 6f 77 20 74 6f    20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 64  | ....;;.Narrow.to.the.top-level.d | 
| b4a0 |  65 66 69 6e 69 74 69 6f 6e 2e 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20  | efinition..................(let. | 
| b4c0 |  28 28 70 61 72 73 65 2d 73 65 78 70 2d 69 67 6e    6f 72 65 2d 63 6f 6d 6d 65 6e 74 73 20 74 29 29  | ((parse-sexp-ignore-comments.t)) | 
| b4e0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 64 65  | ...................(narrow-to-de | 
| b500 |  66 75 6e 20 74 29 29 29 0a 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68  | fun.t)))................;;.If.th | 
| b520 |  65 72 65 20 77 61 73 20 61 20 70 72 65 63 65 64    69 6e 67 20 63 6f 6d 6d 65 6e 74 2c 20 50 4f 53  | ere.was.a.preceding.comment,.POS | 
| b540 |  20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3b 3b 20 61 66 74 65 72 20  | .will.be...............;;.after. | 
| b560 |  74 68 61 74 20 63 6f 6d 6d 65 6e 74 2e 20 4d 6f    76 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20  | that.comment..Move.the.position. | 
| b580 |  74 6f 20 69 6e 63 6c 75 64 65 20 74 68 61 74 20    63 6f 6d 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20  | to.include.that.comment......... | 
| b5a0 |  20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f 73    20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 0a 20  | .......(setq.pos.(point-min))... | 
| b5c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 73 6f 75 72 63 65 20 28 62 75 66 66 65  | .............(setq.source.(buffe | 
| b5e0 |  72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70    72 6f 70 65 72 74 69 65 73 20 28 70 6f 69 6e 74  | r-substring-no-properties.(point | 
| b600 |  2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78    29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28  | -min).(point-max)))))).........( | 
| b620 |  73 65 74 71 20 73 6f 75 72 63 65 20 28 73 2d 74    72 69 6d 2d 72 69 67 68 74 20 73 6f 75 72 63 65  | setq.source.(s-trim-right.source | 
| b640 |  29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e    20 28 61 6e 64 20 73 6f 75 72 63 65 20 28 62 75  | )).........(when.(and.source.(bu | 
| b660 |  66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 20 62    75 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 28  | ffer-file-name.buf))...........( | 
| b680 |  73 65 74 71 20 73 6f 75 72 63 65 20 28 70 72 6f    70 65 72 74 69 7a 65 20 73 6f 75 72 63 65 0a 20  | setq.source.(propertize.source.. | 
| b6a0 |  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  | ................................ | 
| b6c0 |  20 20 27 68 65 6c 70 66 75 6c 2d 70 61 74 68 20    28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d  | ..'helpful-path.(buffer-file-nam | 
| b6e0 |  65 20 62 75 66 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  | e.buf).......................... | 
| b700 |  20 20 20 20 20 20 20 20 20 20 27 68 65 6c 70 66    75 6c 2d 70 6f 73 20 70 6f 73 0a 20 20 20 20 20  | ..........'helpful-pos.pos...... | 
| b720 |  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 68  | ..............................'h | 
| b740 |  65 6c 70 66 75 6c 2d 70 6f 73 2d 69 73 2d 73 74    61 72 74 20 74 29 29 29 0a 20 20 20 20 20 20 20  | elpful-pos-is-start.t)))........ | 
| b760 |  20 28 74 68 72 6f 77 20 27 73 6f 75 72 63 65 20    73 6f 75 72 63 65 29 29 29 0a 0a 20 20 20 20 28  | .(throw.'source.source)))......( | 
| b780 |  77 68 65 6e 20 63 61 6c 6c 61 62 6c 65 2d 70 0a    20 20 20 20 20 20 3b 3b 20 43 6f 75 6c 64 20 6e  | when.callable-p.......;;.Could.n | 
| b7a0 |  6f 74 20 66 69 6e 64 20 73 6f 75 72 63 65 20 2d    2d 20 70 72 6f 62 61 62 6c 79 20 64 65 66 69 6e  | ot.find.source.--.probably.defin | 
| b7c0 |  65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79    2c 20 6f 72 20 76 69 61 0a 20 20 20 20 20 20 3b  | ed.interactively,.or.via.......; | 
| b7e0 |  3b 20 61 20 6d 61 63 72 6f 2c 20 6f 72 20 66 69    6c 65 20 68 61 73 20 63 68 61 6e 67 65 64 2e 0a  | ;.a.macro,.or.file.has.changed.. | 
| b800 |  20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 76    65 72 69 66 79 20 74 68 61 74 20 74 68 65 20 73  | ......;;.TODO:.verify.that.the.s | 
| b820 |  6f 75 72 63 65 20 68 61 73 6e 27 74 20 63 68 61    6e 67 65 64 20 62 65 66 6f 72 65 20 73 68 6f 77  | ource.hasn't.changed.before.show | 
| b840 |  69 6e 67 2e 0a 20 20 20 20 20 20 3b 3b 20 54 4f    44 4f 3a 20 6f 66 66 65 72 20 74 6f 20 64 6f 77  | ing........;;.TODO:.offer.to.dow | 
| b860 |  6e 6c 6f 61 64 20 43 20 73 6f 75 72 63 65 73 20    66 6f 72 20 63 75 72 72 65 6e 74 20 76 65 72 73  | nload.C.sources.for.current.vers | 
| b880 |  69 6f 6e 2e 0a 20 20 20 20 20 20 28 74 68 72 6f    77 20 27 73 6f 75 72 63 65 20 28 69 6e 64 69 72  | ion........(throw.'source.(indir | 
| b8a0 |  65 63 74 2d 66 75 6e 63 74 69 6f 6e 20 73 79 6d    29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65  | ect-function.sym)))))..(defun.he | 
| b8c0 |  6c 70 66 75 6c 2d 2d 68 61 73 2d 73 68 6f 72 74    64 6f 63 2d 70 20 28 73 79 6d 29 0a 20 20 22 52  | lpful--has-shortdoc-p.(sym)..."R | 
| b8e0 |  65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66    20 73 68 6f 72 74 64 6f 63 2e 65 6c 20 69 73 20  | eturn.non-nil.if.shortdoc.el.is. | 
| b900 |  61 76 61 69 6c 61 62 6c 65 20 61 6e 64 20 53 59    4d 20 69 73 20 69 6e 20 61 20 73 68 6f 72 74 64  | available.and.SYM.is.in.a.shortd | 
| b920 |  6f 63 20 67 72 6f 75 70 2e 22 0a 20 20 28 61 6e    64 20 28 66 65 61 74 75 72 65 70 20 27 73 68 6f  | oc.group."...(and.(featurep.'sho | 
| b940 |  72 74 64 6f 63 29 0a 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  | rtdoc)........(shortdoc-function | 
| b960 |  2d 67 72 6f 75 70 73 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  | -groups.sym)))..(defun.helpful-- | 
| b980 |  69 6e 2d 6d 61 6e 75 61 6c 2d 70 20 28 73 79 6d    29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d  | in-manual-p.(sym)..."Return.non- | 
| b9a0 |  6e 69 6c 20 69 66 20 53 59 4d 20 69 73 20 69 6e    20 61 6e 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 2e  | nil.if.SYM.is.in.an.Info.manual. | 
| b9c0 |  22 0a 20 20 28 6c 65 74 20 28 28 63 6f 6d 70 6c    65 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20  | "...(let.((completions.......... | 
| b9e0 |  28 63 6c 2d 6c 65 74 66 20 28 28 28 73 79 6d 62    6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 23 27 6d 65  | (cl-letf.(((symbol-function.#'me | 
| ba00 |  73 73 61 67 65 29 0a 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  | ssage).....................(lamb | 
| ba20 |  64 61 20 28 5f 66 6f 72 6d 61 74 2d 73 74 72 69    6e 67 20 26 72 65 73 74 20 5f 61 72 67 73 29 29  | da.(_format-string.&rest._args)) | 
| ba40 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69    6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 3e 63 6f 6d 70  | ))............(info-lookup->comp | 
| ba60 |  6c 65 74 69 6f 6e 73 20 27 73 79 6d 62 6f 6c 20    27 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65  | letions.'symbol.'emacs-lisp-mode | 
| ba80 |  29 29 29 29 0a 20 20 20 20 28 2d 77 68 65 6e 2d    6c 65 74 20 28 62 75 66 20 28 67 65 74 2d 62 75  | )))).....(-when-let.(buf.(get-bu | 
| baa0 |  66 66 65 72 20 22 20 74 65 6d 70 2d 69 6e 66 6f    2d 6c 6f 6f 6b 22 29 29 0a 20 20 20 20 20 20 28  | ffer.".temp-info-look")).......( | 
| bac0 |  6b 69 6c 6c 2d 62 75 66 66 65 72 20 62 75 66 29    29 0a 20 20 20 20 28 6f 72 20 28 61 73 73 6f 63  | kill-buffer.buf)).....(or.(assoc | 
| bae0 |  20 73 79 6d 20 63 6f 6d 70 6c 65 74 69 6f 6e 73    29 0a 20 20 20 20 20 20 20 20 28 61 73 73 6f 63  | .sym.completions).........(assoc | 
| bb00 |  2d 73 74 72 69 6e 67 20 73 79 6d 20 63 6f 6d 70    6c 65 74 69 6f 6e 73 29 29 29 29 0a 0a 28 64 65  | -string.sym.completions))))..(de | 
| bb20 |  66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 76 65 72    73 69 6f 6e 2d 69 6e 66 6f 20 28 73 79 6d 29 0a  | fun.helpful--version-info.(sym). | 
| bb40 |  20 20 22 49 66 20 53 59 4d 20 68 61 73 20 76 65    72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f  | .."If.SYM.has.version.informatio | 
| bb60 |  6e 2c 20 66 6f 72 6d 61 74 20 61 6e 64 20 72 65    74 75 72 6e 20 69 74 2e 0a 52 65 74 75 72 6e 20  | n,.format.and.return.it..Return. | 
| bb80 |  6e 69 6c 20 6f 74 68 65 72 77 69 73 65 2e 22 0a    20 20 28 77 68 65 6e 20 28 73 79 6d 62 6f 6c 70  | nil.otherwise."...(when.(symbolp | 
| bba0 |  20 73 79 6d 29 0a 20 20 20 20 28 6c 65 74 20 28    28 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e  | .sym).....(let.((package-version | 
| bbc0 |  0a 20 20 20 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 70 61 63  | ............(get.sym.'custom-pac | 
| bbe0 |  6b 61 67 65 2d 76 65 72 73 69 6f 6e 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 65 6d 61 63 73 2d  | kage-version))...........(emacs- | 
| bc00 |  76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20    20 20 20 28 67 65 74 20 73 79 6d 20 27 63 75 73  | version............(get.sym.'cus | 
| bc20 |  74 6f 6d 2d 76 65 72 73 69 6f 6e 29 29 29 0a 20    20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20  | tom-version))).......(cond...... | 
| bc40 |  20 20 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 28 66 6f 72 6d  | ..(package-version.........(form | 
| bc60 |  61 74 0a 20 20 20 20 20 20 20 20 20 22 54 68 69    73 20 76 61 72 69 61 62 6c 65 20 77 61 73 20 61  | at.........."This.variable.was.a | 
| bc80 |  64 64 65 64 2c 20 6f 72 20 69 74 73 20 64 65 66    61 75 6c 74 20 76 61 6c 75 65 20 63 68 61 6e 67  | dded,.or.its.default.value.chang | 
| bca0 |  65 64 2c 20 69 6e 20 25 73 20 76 65 72 73 69 6f    6e 20 25 73 2e 22 0a 20 20 20 20 20 20 20 20 20  | ed,.in.%s.version.%s.".......... | 
| bcc0 |  28 6f 72 20 28 63 61 72 2d 73 61 66 65 20 70 61    63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 29 20 22  | (or.(car-safe.package-version)." | 
| bce0 |  75 6e 6b 6e 6f 77 6e 22 29 0a 20 20 20 20 20 20    20 20 20 28 6f 72 20 28 63 64 72 2d 73 61 66 65  | unknown")..........(or.(cdr-safe | 
| bd00 |  20 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e    29 20 22 75 6e 6b 6e 6f 77 6e 22 29 29 29 0a 20  | .package-version)."unknown"))).. | 
| bd20 |  20 20 20 20 20 20 28 65 6d 61 63 73 2d 76 65 72    73 69 6f 6e 0a 20 20 20 20 20 20 20 20 28 66 6f  | ......(emacs-version.........(fo | 
| bd40 |  72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 22 54    68 69 73 20 76 61 72 69 61 62 6c 65 20 77 61 73  | rmat.........."This.variable.was | 
| bd60 |  20 61 64 64 65 64 2c 20 6f 72 20 69 74 73 20 64    65 66 61 75 6c 74 20 76 61 6c 75 65 20 63 68 61  | .added,.or.its.default.value.cha | 
| bd80 |  6e 67 65 64 2c 20 69 6e 20 45 6d 61 63 73 20 25    73 2e 22 0a 20 20 20 20 20 20 20 20 20 65 6d 61  | nged,.in.Emacs.%s."..........ema | 
| bda0 |  63 73 2d 76 65 72 73 69 6f 6e 29 29 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c  | cs-version))))))..(defun.helpful | 
| bdc0 |  2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 28    6c 69 62 72 61 72 79 2d 6e 61 6d 65 29 0a 20 20  | --library-path.(library-name)... | 
| bde0 |  22 46 69 6e 64 20 74 68 65 20 61 62 73 6f 6c 75    74 65 20 70 61 74 68 20 66 6f 72 20 74 68 65 20  | "Find.the.absolute.path.for.the. | 
| be00 |  73 6f 75 72 63 65 20 6f 66 20 4c 49 42 52 41 52    59 2d 4e 41 4d 45 2e 0a 0a 4c 49 42 52 41 52 59  | source.of.LIBRARY-NAME...LIBRARY | 
| be20 |  2d 4e 41 4d 45 20 74 61 6b 65 73 20 74 68 65 20    66 6f 72 6d 20 5c 22 66 6f 6f 2e 65 6c 5c 22 20  | -NAME.takes.the.form.\"foo.el\". | 
| be40 |  2c 20 5c 22 66 6f 6f 2e 65 6c 5c 22 20 6f 72 0a    5c 22 73 72 63 2f 66 6f 6f 2e 63 5c 22 2e 0a 0a  | ,.\"foo.el\".or.\"src/foo.c\"... | 
| be60 |  49 66 20 2e 65 6c 63 20 66 69 6c 65 73 20 65 78    69 73 74 20 77 69 74 68 6f 75 74 20 74 68 65 20  | If..elc.files.exist.without.the. | 
| be80 |  63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 2e 65    6c 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 22 0a  | corresponding..el,.return.nil.". | 
| bea0 |  20 20 28 77 68 65 6e 20 28 6d 65 6d 62 65 72 20    28 66 2d 65 78 74 20 6c 69 62 72 61 72 79 2d 6e  | ..(when.(member.(f-ext.library-n | 
| bec0 |  61 6d 65 29 20 27 28 22 63 22 20 22 72 73 22 29    29 0a 20 20 20 20 28 73 65 74 71 20 6c 69 62 72  | ame).'("c"."rs")).....(setq.libr | 
| bee0 |  61 72 79 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20    20 20 20 28 66 2d 65 78 70 61 6e 64 20 6c 69 62  | ary-name...........(f-expand.lib | 
| bf00 |  72 61 72 79 2d 6e 61 6d 65 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66  | rary-name.....................(f | 
| bf20 |  2d 70 61 72 65 6e 74 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  | -parent.find-function-C-source-d | 
| bf40 |  69 72 65 63 74 6f 72 79 29 29 29 29 0a 20 20 28    63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e  | irectory))))...(condition-case.n | 
| bf60 |  69 6c 0a 20 20 20 20 20 20 28 66 69 6e 64 2d 6c    69 62 72 61 72 79 2d 6e 61 6d 65 20 6c 69 62 72  | il.......(find-library-name.libr | 
| bf80 |  61 72 79 2d 6e 61 6d 65 29 0a 20 20 20 20 28 65    72 72 6f 72 20 6e 69 6c 29 29 29 0a 0a 28 64 65  | ary-name).....(error.nil)))..(de | 
| bfa0 |  66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6d 61 63    72 6f 65 78 70 61 6e 64 2d 74 72 79 20 28 66 6f  | fun.helpful--macroexpand-try.(fo | 
| bfc0 |  72 6d 29 0a 20 20 22 54 72 79 20 74 6f 20 66 75    6c 6c 79 20 6d 61 63 72 6f 65 78 70 61 6e 64 20  | rm)..."Try.to.fully.macroexpand. | 
| bfe0 |  46 4f 52 4d 2e 0a 49 66 20 69 74 20 66 61 69 6c    73 2c 20 61 74 74 65 6d 70 74 20 74 6f 20 70 61  | FORM..If.it.fails,.attempt.to.pa | 
| c000 |  72 74 69 61 6c 6c 79 20 6d 61 63 72 6f 65 78 70    61 6e 64 20 46 4f 52 4d 2e 22 0a 20 20 28 63 61  | rtially.macroexpand.FORM."...(ca | 
| c020 |  74 63 68 20 27 72 65 73 75 6c 74 0a 20 20 20 20    28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20  | tch.'result.....(ignore-errors.. | 
| c040 |  20 20 20 20 20 3b 3b 20 48 61 70 70 79 20 70 61    74 68 3a 20 77 65 20 63 61 6e 20 66 75 6c 6c 79  | .....;;.Happy.path:.we.can.fully | 
| c060 |  20 65 78 70 61 6e 64 20 74 68 65 20 66 6f 72 6d    2e 0a 20 20 20 20 20 20 28 74 68 72 6f 77 20 27  | .expand.the.form........(throw.' | 
| c080 |  72 65 73 75 6c 74 20 28 6d 61 63 72 6f 65 78 70    61 6e 64 2d 61 6c 6c 20 66 6f 72 6d 29 29 29 0a  | result.(macroexpand-all.form))). | 
| c0a0 |  20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f    72 73 0a 20 20 20 20 20 20 3b 3b 20 41 74 74 65  | ....(ignore-errors.......;;.Atte | 
| c0c0 |  6d 70 74 20 6f 6e 65 20 6c 65 76 65 6c 20 6f 66    20 6d 61 63 72 6f 65 78 70 61 6e 73 69 6f 6e 2e  | mpt.one.level.of.macroexpansion. | 
| c0e0 |  0a 20 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  | .......(throw.'result.(macroexpa | 
| c100 |  6e 64 2d 31 20 66 6f 72 6d 29 29 29 0a 20 20 20    20 3b 3b 20 46 61 6c 6c 62 61 63 6b 3a 20 6a 75  | nd-1.form))).....;;.Fallback:.ju | 
| c120 |  73 74 20 72 65 74 75 72 6e 20 74 68 65 20 6f 72    69 67 69 6e 61 6c 20 66 6f 72 6d 2e 0a 20 20 20  | st.return.the.original.form..... | 
| c140 |  20 66 6f 72 6d 29 29 0a 0a 28 64 65 66 75 6e 20    68 65 6c 70 66 75 6c 2d 2d 74 72 65 65 2d 61 6e  | .form))..(defun.helpful--tree-an | 
| c160 |  79 2d 70 20 28 70 72 65 64 20 74 72 65 65 29 0a    20 20 22 57 61 6c 6b 20 54 52 45 45 2c 20 61 70  | y-p.(pred.tree)..."Walk.TREE,.ap | 
| c180 |  70 6c 79 69 6e 67 20 50 52 45 44 20 74 6f 20 65    76 65 72 79 20 73 75 62 74 72 65 65 2e 0a 52 65  | plying.PRED.to.every.subtree..Re | 
| c1a0 |  74 75 72 6e 20 74 20 69 66 20 50 52 45 44 20 65    76 65 72 20 72 65 74 75 72 6e 73 20 74 2e 22 0a  | turn.t.if.PRED.ever.returns.t.". | 
| c1c0 |  20 20 28 63 61 74 63 68 20 27 66 6f 75 6e 64 0a    20 20 20 20 28 6c 65 74 20 28 28 73 74 61 63 6b  | ..(catch.'found.....(let.((stack | 
| c1e0 |  20 28 6c 69 73 74 20 74 72 65 65 29 29 29 0a 20    20 20 20 20 20 28 77 68 69 6c 65 20 73 74 61 63  | .(list.tree))).......(while.stac | 
| c200 |  6b 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28    28 6e 65 78 74 20 28 70 6f 70 20 73 74 61 63 6b  | k.........(let.((next.(pop.stack | 
| c220 |  29 29 29 0a 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 28  | )))...........(cond............( | 
| c240 |  28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 6e 65    78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | (funcall.pred.next)............. | 
| c260 |  28 74 68 72 6f 77 20 27 66 6f 75 6e 64 20 74 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 63  | (throw.'found.t))............((c | 
| c280 |  6f 6e 73 70 20 6e 65 78 74 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61  | onsp.next).............(push.(ca | 
| c2a0 |  72 20 6e 65 78 74 29 20 73 74 61 63 6b 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68  | r.next).stack).............(push | 
| c2c0 |  20 28 63 64 72 20 6e 65 78 74 29 20 73 74 61 63    6b 29 29 29 29 29 29 0a 20 20 20 20 6e 69 6c 29  | .(cdr.next).stack)))))).....nil) | 
| c2e0 |  29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75    6c 2d 2d 66 69 6e 64 2d 62 79 2d 6d 61 63 72 6f  | )..(defun.helpful--find-by-macro | 
| c300 |  65 78 70 61 6e 64 69 6e 67 20 28 62 75 66 20 73    79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29 0a 20  | expanding.(buf.sym.callable-p).. | 
| c320 |  20 22 53 65 61 72 63 68 20 42 55 46 20 66 6f 72    20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20  | ."Search.BUF.for.the.definition. | 
| c340 |  6f 66 20 53 59 4d 20 62 79 20 6d 61 63 72 6f 65    78 70 61 6e 64 69 6e 67 0a 69 6e 74 65 72 65 73  | of.SYM.by.macroexpanding.interes | 
| c360 |  74 69 6e 67 20 66 6f 72 6d 73 20 69 6e 20 42 55    46 2e 22 0a 20 20 28 63 61 74 63 68 20 27 66 6f  | ting.forms.in.BUF."...(catch.'fo | 
| c380 |  75 6e 64 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 20 62 75 66  | und.....(with-current-buffer.buf | 
| c3a0 |  0a 20 20 20 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 28  | .......(save-excursion.........( | 
| c3c0 |  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 20 20 20 20 28  | goto-char.(point-min)).........( | 
| c3e0 |  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 20 20 20 20 28  | condition-case.nil.............( | 
| c400 |  77 68 69 6c 65 20 74 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6c 65 74 20 28 28 66 6f 72  | while.t...............(let.((for | 
| c420 |  6d 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74    2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20  | m.(read.(current-buffer)))...... | 
| c440 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    76 61 72 2d 64 65 66 2d 70 0a 20 20 20 20 20 20  | ...............(var-def-p....... | 
| c460 |  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 78 70 29 0a 20 20  | ...............(lambda.(sexp)... | 
| c480 |  20 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 65 71 20 28 63  | .....................(and.(eq.(c | 
| c4a0 |  61 72 2d 73 61 66 65 20 73 65 78 70 29 20 27 64    65 66 76 61 72 29 0a 20 20 20 20 20 20 20 20 20  | ar-safe.sexp).'defvar).......... | 
| c4c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 65 71 20 28 63 61 72 2d 73 61 66 65  | ...................(eq.(car-safe | 
| c4e0 |  20 28 63 64 72 20 73 65 78 70 29 29 20 73 79 6d    29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | .(cdr.sexp)).sym))))............ | 
| c500 |  20 20 20 20 20 20 20 20 20 28 66 6e 2d 64 65 66    2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | .........(fn-def-p.............. | 
| c520 |  20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20    28 73 65 78 70 29 0a 20 20 20 20 20 20 20 20 20  | ........(lambda.(sexp).......... | 
| c540 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b    20 60 64 65 66 75 6e 27 20 75 6c 74 69 6d 61 74  | ..............;;.`defun'.ultimat | 
| c560 |  65 6c 79 20 65 78 70 61 6e 64 73 20 74 6f 20 60    64 65 66 61 6c 69 61 73 27 2e 0a 20 20 20 20 20  | ely.expands.to.`defalias'....... | 
| c580 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 61 6e 64 20 28 65 71 20 28 63 61 72 2d  | ..................(and.(eq.(car- | 
| c5a0 |  73 61 66 65 20 73 65 78 70 29 20 27 64 65 66 61    6c 69 61 73 29 0a 20 20 20 20 20 20 20 20 20 20  | safe.sexp).'defalias)........... | 
| c5c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 65 71 75 61 6c 20 28 63 61 72 2d 73 61  | ..................(equal.(car-sa | 
| c5e0 |  66 65 20 28 63 64 72 20 73 65 78 70 29 29 20 60    28 71 75 6f 74 65 20 2c 73 79 6d 29 29 29 29 29  | fe.(cdr.sexp)).`(quote.,sym))))) | 
| c600 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 73 65 74 71 20 66 6f 72 6d 20 28 68 65  | ).................(setq.form.(he | 
| c620 |  6c 70 66 75 6c 2d 2d 6d 61 63 72 6f 65 78 70 61    6e 64 2d 74 72 79 20 66 6f 72 6d 29 29 0a 0a 20  | lpful--macroexpand-try.form))... | 
| c640 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    77 68 65 6e 20 28 68 65 6c 70 66 75 6c 2d 2d 74  | ...............(when.(helpful--t | 
| c660 |  72 65 65 2d 61 6e 79 2d 70 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ree-any-p....................... | 
| c680 |  20 28 69 66 20 63 61 6c 6c 61 62 6c 65 2d 70 20    66 6e 2d 64 65 66 2d 70 20 76 61 72 2d 64 65 66  | .(if.callable-p.fn-def-p.var-def | 
| c6a0 |  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 66 6f 72 6d 29  | -p)........................form) | 
| c6c0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3b 3b 20 60 72 65 61 64 27 20 70 75 74  | ...................;;.`read'.put | 
| c6e0 |  73 20 70 6f 69 6e 74 20 61 74 20 74 68 65 20 65    6e 64 20 6f 66 20 74 68 65 20 66 6f 72 6d 2c 20  | s.point.at.the.end.of.the.form,. | 
| c700 |  73 6f 20 67 6f 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3b 3b 20 62 61 63 6b 20  | so.go...................;;.back. | 
| c720 |  74 6f 20 74 68 65 20 73 74 61 72 74 2e 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | to.the.start.................... | 
| c740 |  28 74 68 72 6f 77 20 27 66 6f 75 6e 64 20 28 73    63 61 6e 2d 73 65 78 70 73 20 28 70 6f 69 6e 74  | (throw.'found.(scan-sexps.(point | 
| c760 |  29 20 2d 31 29 29 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 65 6e 64 2d 6f 66 2d 66 69 6c 65  | ).-1)))))...........(end-of-file | 
| c780 |  20 6e 69 6c 29 29 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6f 70 65 6e  | .nil))))))..(defun.helpful--open | 
| c7a0 |  2d 69 66 2d 6e 65 65 64 65 64 20 28 70 61 74 68    29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69  | -if-needed.(path)..."Return.a.li | 
| c7c0 |  73 74 20 28 42 55 46 20 4f 50 45 4e 45 44 29 20    77 68 65 72 65 20 42 55 46 20 69 73 20 61 20 62  | st.(BUF.OPENED).where.BUF.is.a.b | 
| c7e0 |  75 66 66 65 72 20 76 69 73 69 74 69 6e 67 20 50    41 54 48 2e 0a 49 66 20 61 20 62 75 66 66 65 72  | uffer.visiting.PATH..If.a.buffer | 
| c800 |  20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2c    20 72 65 74 75 72 6e 20 74 68 61 74 2e 20 49 66  | .already.exists,.return.that..If | 
| c820 |  20 6e 6f 74 2c 20 6f 70 65 6e 20 50 41 54 48 20    77 69 74 68 0a 74 68 65 20 60 65 6d 61 63 73 2d  | .not,.open.PATH.with.the.`emacs- | 
| c840 |  6c 69 73 70 2d 6d 6f 64 65 27 20 73 79 6e 74 61    78 20 74 61 62 6c 65 20 61 63 74 69 76 65 20 62  | lisp-mode'.syntax.table.active.b | 
| c860 |  75 74 20 73 6b 69 70 20 61 6e 79 20 68 6f 6f 6b    73 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 6e 69  | ut.skip.any.hooks."...(let.((ini | 
| c880 |  74 69 61 6c 2d 62 75 66 66 65 72 73 20 28 62 75    66 66 65 72 2d 6c 69 73 74 29 29 0a 20 20 20 20  | tial-buffers.(buffer-list))..... | 
| c8a0 |  20 20 20 20 28 62 75 66 20 6e 69 6c 29 0a 20 20    20 20 20 20 20 20 28 6f 70 65 6e 65 64 20 6e 69  | ....(buf.nil).........(opened.ni | 
| c8c0 |  6c 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 53 6b    69 70 20 72 75 6e 6e 69 6e 67 20 68 6f 6f 6b 73  | l).........;;.Skip.running.hooks | 
| c8e0 |  20 74 68 61 74 20 6d 61 79 20 70 72 6f 6d 70 74    20 74 68 65 20 75 73 65 72 2e 0a 20 20 20 20 20  | .that.may.prompt.the.user....... | 
| c900 |  20 20 20 28 66 69 6e 64 2d 66 69 6c 65 2d 68 6f    6f 6b 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20  | ...(find-file-hook.nil)......... | 
| c920 |  3b 3b 20 49 66 20 77 65 20 65 6e 64 20 75 70 20    6f 70 65 6e 69 6e 67 20 61 20 62 75 66 66 65 72  | ;;.If.we.end.up.opening.a.buffer | 
| c940 |  2c 20 64 6f 6e 27 74 20 62 6f 74 68 65 72 20 77    69 74 68 20 66 69 6c 65 0a 20 20 20 20 20 20 20  | ,.don't.bother.with.file........ | 
| c960 |  20 3b 3b 20 76 61 72 69 61 62 6c 65 73 2e 20 49    74 20 70 72 6f 6d 70 74 73 20 74 68 65 20 75 73  | .;;.variables..It.prompts.the.us | 
| c980 |  65 72 2c 20 61 6e 64 20 77 65 20 64 69 73 63 61    72 64 20 74 68 65 20 62 75 66 66 65 72 0a 20 20  | er,.and.we.discard.the.buffer... | 
| c9a0 |  20 20 20 20 20 20 3b 3b 20 61 66 74 65 72 77 61    72 64 73 20 61 6e 79 77 61 79 2e 0a 20 20 20 20  | ......;;.afterwards.anyway...... | 
| c9c0 |  20 20 20 20 28 65 6e 61 62 6c 65 2d 6c 6f 63 61    6c 2d 76 61 72 69 61 62 6c 65 73 20 6e 69 6c 29  | ....(enable-local-variables.nil) | 
| c9e0 |  29 0a 20 20 20 20 3b 3b 20 4f 70 65 6e 69 6e 67    20 6c 61 72 67 65 20 2e 63 20 66 69 6c 65 73 20  | ).....;;.Opening.large..c.files. | 
| ca00 |  63 61 6e 20 62 65 20 73 6c 6f 77 20 28 65 2e 67    2e 20 77 68 65 6e 20 6c 6f 6f 6b 69 6e 67 20 61  | can.be.slow.(e.g..when.looking.a | 
| ca20 |  74 0a 20 20 20 20 3b 3b 20 60 64 65 66 61 6c 69    61 73 27 29 2c 20 65 73 70 65 63 69 61 6c 6c 79  | t.....;;.`defalias'),.especially | 
| ca40 |  20 69 66 20 74 68 65 20 75 73 65 72 20 68 61 73    20 63 6f 6e 66 69 67 75 72 65 64 20 6d 6f 64 65  | .if.the.user.has.configured.mode | 
| ca60 |  20 68 6f 6f 6b 73 2e 0a 20 20 20 20 3b 3b 0a 20    20 20 20 3b 3b 20 42 69 6e 64 20 60 61 75 74 6f  | .hooks......;;.....;;.Bind.`auto | 
| ca80 |  2d 6d 6f 64 65 2d 61 6c 69 73 74 27 20 74 6f 20    6e 69 6c 2c 20 73 6f 20 77 65 20 6f 70 65 6e 20  | -mode-alist'.to.nil,.so.we.open. | 
| caa0 |  74 68 65 20 62 75 66 66 65 72 20 69 6e 0a 20 20    20 20 3b 3b 20 60 66 75 6e 64 61 6d 65 6e 74 61  | the.buffer.in.....;;.`fundamenta | 
| cac0 |  6c 2d 6d 6f 64 65 27 20 69 66 20 69 74 20 69 73    6e 27 74 20 61 6c 72 65 61 64 79 20 6f 70 65 6e  | l-mode'.if.it.isn't.already.open | 
| cae0 |  2e 0a 20 20 20 20 28 6c 65 74 20 28 28 61 75 74    6f 2d 6d 6f 64 65 2d 61 6c 69 73 74 20 6e 69 6c  | ......(let.((auto-mode-alist.nil | 
| cb00 |  29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62    75 66 20 28 66 69 6e 64 2d 66 69 6c 65 2d 6e 6f  | )).......(setq.buf.(find-file-no | 
| cb20 |  73 65 6c 65 63 74 20 70 61 74 68 29 29 29 0a 0a    20 20 20 20 28 75 6e 6c 65 73 73 20 28 2d 63 6f  | select.path)))......(unless.(-co | 
| cb40 |  6e 74 61 69 6e 73 2d 70 20 69 6e 69 74 69 61 6c    2d 62 75 66 66 65 72 73 20 62 75 66 29 0a 20 20  | ntains-p.initial-buffers.buf)... | 
| cb60 |  20 20 20 20 28 73 65 74 71 20 6f 70 65 6e 65 64    20 74 29 0a 0a 20 20 20 20 20 20 28 6c 65 74 20  | ....(setq.opened.t)........(let. | 
| cb80 |  28 28 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 65    6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 2d 73  | ((syntax-table.emacs-lisp-mode-s | 
| cba0 |  79 6e 74 61 78 2d 74 61 62 6c 65 29 29 0a 20 20    20 20 20 20 20 20 28 77 68 65 6e 20 28 73 2d 65  | yntax-table)).........(when.(s-e | 
| cbc0 |  6e 64 73 2d 77 69 74 68 2d 70 20 22 2e 63 22 20    70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20  | nds-with-p.".c".path)........... | 
| cbe0 |  28 73 65 74 71 20 73 79 6e 74 61 78 2d 74 61 62    6c 65 20 28 6d 61 6b 65 2d 73 79 6e 74 61 78 2d  | (setq.syntax-table.(make-syntax- | 
| cc00 |  74 61 62 6c 65 29 29 0a 20 20 20 20 20 20 20 20    20 20 28 63 2d 70 6f 70 75 6c 61 74 65 2d 73 79  | table))...........(c-populate-sy | 
| cc20 |  6e 74 61 78 2d 74 61 62 6c 65 20 73 79 6e 74 61    78 2d 74 61 62 6c 65 29 29 0a 0a 20 20 20 20 20  | ntax-table.syntax-table))....... | 
| cc40 |  20 20 20 3b 3b 20 49 66 20 69 74 27 73 20 61 20    66 72 65 73 68 6c 79 20 6f 70 65 6e 65 64 20 62  | ...;;.If.it's.a.freshly.opened.b | 
| cc60 |  75 66 66 65 72 2c 20 77 65 20 6e 65 65 64 20 74    6f 20 73 65 74 20 74 68 65 20 73 79 6e 74 61 78  | uffer,.we.need.to.set.the.syntax | 
| cc80 |  0a 20 20 20 20 20 20 20 20 3b 3b 20 74 61 62 6c    65 20 73 6f 20 77 65 20 63 61 6e 20 73 65 61 72  | .........;;.table.so.we.can.sear | 
| cca0 |  63 68 20 63 6f 72 72 65 63 74 6c 79 2e 0a 20 20    20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72  | ch.correctly..........(with-curr | 
| ccc0 |  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 65 74 2d 73 79  | ent-buffer.buf...........(set-sy | 
| cce0 |  6e 74 61 78 2d 74 61 62 6c 65 20 73 79 6e 74 61    78 2d 74 61 62 6c 65 29 29 29 29 0a 0a 20 20 20  | ntax-table.syntax-table))))..... | 
| cd00 |  20 28 6c 69 73 74 20 62 75 66 20 6f 70 65 6e 65    64 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c  | .(list.buf.opened)))..(defun.hel | 
| cd20 |  70 66 75 6c 2d 2d 64 65 66 69 6e 69 74 69 6f 6e    20 28 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70  | pful--definition.(sym.callable-p | 
| cd40 |  29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69    73 74 20 28 42 55 46 20 50 4f 53 20 4f 50 45 4e  | )..."Return.a.list.(BUF.POS.OPEN | 
| cd60 |  45 44 29 20 77 68 65 72 65 20 53 59 4d 20 69 73    20 64 65 66 69 6e 65 64 2e 0a 0a 42 55 46 20 69  | ED).where.SYM.is.defined...BUF.i | 
| cd80 |  73 20 74 68 65 20 62 75 66 66 65 72 20 63 6f 6e    74 61 69 6e 69 6e 67 20 74 68 65 20 64 65 66 69  | s.the.buffer.containing.the.defi | 
| cda0 |  6e 69 74 69 6f 6e 2e 20 49 66 20 74 68 65 20 75    73 65 72 20 77 61 73 6e 27 74 0a 61 6c 72 65 61  | nition..If.the.user.wasn't.alrea | 
| cdc0 |  64 79 20 76 69 73 69 74 69 6e 67 20 74 68 69 73    20 62 75 66 66 65 72 2c 20 4f 50 45 4e 45 44 20  | dy.visiting.this.buffer,.OPENED. | 
| cde0 |  69 73 20 74 20 61 6e 64 20 63 61 6c 6c 65 72 73    20 73 68 6f 75 6c 64 20 6b 69 6c 6c 0a 74 68 65  | is.t.and.callers.should.kill.the | 
| ce00 |  20 62 75 66 66 65 72 20 77 68 65 6e 20 64 6f 6e    65 2e 0a 0a 50 4f 53 20 69 73 20 74 68 65 20 70  | .buffer.when.done...POS.is.the.p | 
| ce20 |  6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 73    74 61 72 74 20 6f 66 20 74 68 65 20 64 65 66 69  | osition.of.the.start.of.the.defi | 
| ce40 |  6e 69 74 69 6f 6e 20 77 69 74 68 69 6e 20 74 68    65 0a 62 75 66 66 65 72 2e 22 0a 20 20 28 6c 65  | nition.within.the.buffer."...(le | 
| ce60 |  74 20 28 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  | t.((primitive-p.(helpful--primit | 
| ce80 |  69 76 65 2d 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 28  | ive-p.sym.callable-p)).........( | 
| cea0 |  6c 69 62 72 61 72 79 2d 6e 61 6d 65 20 6e 69 6c    29 0a 20 20 20 20 20 20 20 20 28 73 72 63 2d 70  | library-name.nil).........(src-p | 
| cec0 |  61 74 68 20 6e 69 6c 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  | ath.nil).........(buf.nil)...... | 
| cee0 |  20 20 20 28 70 6f 73 20 6e 69 6c 29 0a 20 20 20    20 20 20 20 20 28 6f 70 65 6e 65 64 20 6e 69 6c  | ...(pos.nil).........(opened.nil | 
| cf00 |  29 29 0a 20 20 20 20 3b 3b 20 57 65 20 73 68 6f    75 6c 64 6e 27 74 20 62 65 20 63 61 6c 6c 65 64  | )).....;;.We.shouldn't.be.called | 
| cf20 |  20 6f 6e 20 70 72 69 6d 69 74 69 76 65 20 66 75    6e 63 74 69 6f 6e 73 20 69 66 20 77 65 20 64 6f  | .on.primitive.functions.if.we.do | 
| cf40 |  6e 27 74 20 68 61 76 65 0a 20 20 20 20 3b 3b 20    61 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 45  | n't.have.....;;.a.directory.of.E | 
| cf60 |  6d 61 63 73 20 43 20 73 6f 75 72 63 65 63 6f 64    65 2e 0a 20 20 20 20 28 63 6c 2d 61 73 73 65 72  | macs.C.sourcecode......(cl-asser | 
| cf80 |  74 0a 20 20 20 20 20 28 6f 72 20 66 69 6e 64 2d    66 75 6e 63 74 69 6f 6e 2d 43 2d 73 6f 75 72 63  | t......(or.find-function-C-sourc | 
| cfa0 |  65 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20    20 20 20 20 20 28 6e 6f 74 20 70 72 69 6d 69 74  | e-directory..........(not.primit | 
| cfc0 |  69 76 65 2d 70 29 29 29 0a 0a 20 20 20 20 28 77    68 65 6e 20 28 73 79 6d 62 6f 6c 70 20 73 79 6d  | ive-p)))......(when.(symbolp.sym | 
| cfe0 |  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 20 20 20 20 20 20  | ).......(if.callable-p.......... | 
| d000 |  20 28 73 65 74 71 20 6c 69 62 72 61 72 79 2d 6e    61 6d 65 20 28 63 64 72 20 28 66 69 6e 64 2d 66  | .(setq.library-name.(cdr.(find-f | 
| d020 |  75 6e 63 74 69 6f 6e 2d 6c 69 62 72 61 72 79 20    73 79 6d 29 29 29 0a 20 20 20 20 20 20 20 20 3b  | unction-library.sym))).........; | 
| d040 |  3b 20 42 61 73 65 64 20 6f 6e 20 60 66 69 6e 64    2d 76 61 72 69 61 62 6c 65 2d 6e 6f 73 65 6c 65  | ;.Based.on.`find-variable-nosele | 
| d060 |  63 74 27 2e 0a 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 0a  | ct'..........(setq.library-name. | 
| d080 |  20 20 20 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 20 20  | ..............(or............... | 
| d0a0 |  20 28 73 79 6d 62 6f 6c 2d 66 69 6c 65 20 73 79    6d 20 27 64 65 66 76 61 72 29 0a 20 20 20 20 20  | .(symbol-file.sym.'defvar)...... | 
| d0c0 |  20 20 20 20 20 20 20 20 20 20 28 68 65 6c 70 2d    43 2d 66 69 6c 65 2d 6e 61 6d 65 20 73 79 6d 20  | ..........(help-C-file-name.sym. | 
| d0e0 |  27 76 61 72 29 29 29 29 29 0a 0a 20 20 20 20 28    77 68 65 6e 20 6c 69 62 72 61 72 79 2d 6e 61 6d  | 'var)))))......(when.library-nam | 
| d100 |  65 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 72    63 2d 70 61 74 68 20 28 68 65 6c 70 66 75 6c 2d  | e.......(setq.src-path.(helpful- | 
| d120 |  2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 6c 69    62 72 61 72 79 2d 6e 61 6d 65 29 29 29 0a 0a 20  | -library-path.library-name)))... | 
| d140 |  20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28    61 6e 64 20 28 6e 6f 74 20 28 73 79 6d 62 6f 6c  | ...(cond......((and.(not.(symbol | 
| d160 |  70 20 73 79 6d 29 29 20 28 66 75 6e 63 74 69 6f    6e 70 20 73 79 6d 29 29 0a 20 20 20 20 20 20 28  | p.sym)).(functionp.sym)).......( | 
| d180 |  6c 69 73 74 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c    29 29 0a 20 20 20 20 20 28 28 61 6e 64 20 63 61  | list.nil.nil.nil))......((and.ca | 
| d1a0 |  6c 6c 61 62 6c 65 2d 70 20 6c 69 62 72 61 72 79    2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 77 68  | llable-p.library-name).......(wh | 
| d1c0 |  65 6e 20 73 72 63 2d 70 61 74 68 0a 20 20 20 20    20 20 20 20 28 2d 6c 65 74 20 5b 28 73 72 63 2d  | en.src-path.........(-let.[(src- | 
| d1e0 |  62 75 66 20 73 72 63 2d 6f 70 65 6e 65 64 29 20    28 68 65 6c 70 66 75 6c 2d 2d 6f 70 65 6e 2d 69  | buf.src-opened).(helpful--open-i | 
| d200 |  66 2d 6e 65 65 64 65 64 20 73 72 63 2d 70 61 74    68 29 5d 0a 20 20 20 20 20 20 20 20 20 20 28 73  | f-needed.src-path)]...........(s | 
| d220 |  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 20 20 28 73 65 74 71  | etq.buf.src-buf)...........(setq | 
| d240 |  20 6f 70 65 6e 65 64 20 73 72 63 2d 6f 70 65 6e    65 64 29 29 0a 0a 20 20 20 20 20 20 20 20 3b 3b  | .opened.src-opened))..........;; | 
| d260 |  20 42 61 73 65 64 20 6f 6e 20 60 66 69 6e 64 2d    66 75 6e 63 74 69 6f 6e 2d 6e 6f 73 65 6c 65 63  | .Based.on.`find-function-noselec | 
| d280 |  74 27 2e 0a 20 20 20 20 20 20 20 20 28 77 69 74    68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72  | t'..........(with-current-buffer | 
| d2a0 |  20 62 75 66 0a 20 20 20 20 20 20 20 20 20 20 3b    3b 20 60 66 69 6e 64 2d 66 75 6e 63 74 69 6f 6e  | .buf...........;;.`find-function | 
| d2c0 |  2d 73 65 61 72 63 68 2d 66 6f 72 2d 73 79 6d 62    6f 6c 27 20 6d 6f 76 65 73 20 70 6f 69 6e 74 2e  | -search-for-symbol'.moves.point. | 
| d2e0 |  20 50 72 65 76 65 6e 74 0a 20 20 20 20 20 20 20    20 20 20 3b 3b 20 74 68 61 74 2e 0a 20 20 20 20  | .Prevent...........;;.that...... | 
| d300 |  20 20 20 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  | ......(save-excursion........... | 
| d320 |  20 20 3b 3b 20 4e 61 72 72 6f 77 69 6e 67 20 68    61 73 20 62 65 65 6e 20 66 69 78 65 64 20 75 70  | ..;;.Narrowing.has.been.fixed.up | 
| d340 |  73 74 72 65 61 6d 3a 0a 20 20 20 20 20 20 20 20    20 20 20 20 3b 3b 20 68 74 74 70 3a 2f 2f 67 69  | stream:.............;;.http://gi | 
| d360 |  74 2e 73 61 76 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  | t.savannah.gnu.org/cgit/emacs.gi | 
| d380 |  74 2f 63 6f 6d 6d 69 74 2f 3f 69 64 3d 61 62 64    31 38 32 35 34 61 65 63 37 36 62 32 36 65 38 36  | t/commit/?id=abd18254aec76b26e86 | 
| d3a0 |  61 65 32 37 65 39 31 64 32 63 39 31 36 65 63 32    30 63 63 34 36 0a 20 20 20 20 20 20 20 20 20 20  | ae27e91d2c916ec20cc46........... | 
| d3c0 |  20 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  | ..(save-restriction............. | 
| d3e0 |  20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f  | ..(widen)...............(setq.po | 
| d400 |  73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 63 64 72 20 28 66 69 6e 64  | s.....................(cdr.(find | 
| d420 |  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 20 73 79 6d 20  | -function-search-for-symbol.sym. | 
| d440 |  6e 69 6c 20 6c 69 62 72 61 72 79 2d 6e 61 6d 65    29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 3b  | nil.library-name)))))).........; | 
| d460 |  3b 20 49 66 20 77 65 20 66 6f 75 6e 64 20 74 68    65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 62 75 66  | ;.If.we.found.the.containing.buf | 
| d480 |  66 65 72 2c 20 62 75 74 20 6e 6f 74 20 74 68 65    20 73 79 6d 62 6f 6c 2c 20 61 74 74 65 6d 70 74  | fer,.but.not.the.symbol,.attempt | 
| d4a0 |  0a 20 20 20 20 20 20 20 20 3b 3b 20 74 6f 20 66    69 6e 64 20 69 74 20 62 79 20 6d 61 63 72 6f 65  | .........;;.to.find.it.by.macroe | 
| d4c0 |  78 70 61 6e 64 69 6e 67 20 69 6e 74 65 72 65 73    74 69 6e 67 20 66 6f 72 6d 73 2e 0a 20 20 20 20  | xpanding.interesting.forms...... | 
| d4e0 |  20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 62    75 66 20 28 6e 6f 74 20 70 6f 73 29 29 0a 20 20  | ....(when.(and.buf.(not.pos))... | 
| d500 |  20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f    73 20 28 68 65 6c 70 66 75 6c 2d 2d 66 69 6e 64  | ........(setq.pos.(helpful--find | 
| d520 |  2d 62 79 2d 6d 61 63 72 6f 65 78 70 61 6e 64 69    6e 67 20 62 75 66 20 73 79 6d 20 74 29 29 29 29  | -by-macroexpanding.buf.sym.t)))) | 
| d540 |  29 0a 20 20 20 20 20 3b 3b 20 41 20 66 75 6e 63    74 69 6f 6e 2c 20 62 75 74 20 6e 6f 20 66 69 6c  | )......;;.A.function,.but.no.fil | 
| d560 |  65 20 66 6f 75 6e 64 2e 0a 20 20 20 20 20 28 63    61 6c 6c 61 62 6c 65 2d 70 0a 20 20 20 20 20 20  | e.found.......(callable-p....... | 
| d580 |  3b 3b 20 46 75 6e 63 74 69 6f 6e 73 20 64 65 66    69 6e 65 64 20 69 6e 74 65 72 61 63 74 69 76 65  | ;;.Functions.defined.interactive | 
| d5a0 |  6c 79 20 6d 61 79 20 68 61 76 65 20 61 6e 20 65    64 65 62 75 67 20 70 72 6f 70 65 72 74 79 0a 20  | ly.may.have.an.edebug.property.. | 
| d5c0 |  20 20 20 20 20 3b 3b 20 74 68 61 74 20 63 6f 6e    74 61 69 6e 73 20 74 68 65 20 6c 6f 63 61 74 69  | .....;;.that.contains.the.locati | 
| d5e0 |  6f 6e 20 6f 66 20 74 68 65 20 64 65 66 69 6e 69    74 69 6f 6e 2e 0a 20 20 20 20 20 20 28 2d 77 68  | on.of.the.definition........(-wh | 
| d600 |  65 6e 2d 6c 65 74 20 28 65 64 65 62 75 67 2d 69    6e 66 6f 20 28 67 65 74 20 73 79 6d 20 27 65 64  | en-let.(edebug-info.(get.sym.'ed | 
| d620 |  65 62 75 67 29 29 0a 20 20 20 20 20 20 20 20 28    2d 6c 65 74 20 5b 6d 61 72 6b 65 72 20 28 69 66  | ebug)).........(-let.[marker.(if | 
| d640 |  20 28 63 6f 6e 73 70 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  | .(consp.edebug-info)............ | 
| d660 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    63 61 72 20 65 64 65 62 75 67 2d 69 6e 66 6f 29  | ...............(car.edebug-info) | 
| d680 |  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 65 64 65 62 75 67 2d  | .........................edebug- | 
| d6a0 |  69 6e 66 6f 29 5d 0a 20 20 20 20 20 20 20 20 20    20 28 73 65 74 71 20 62 75 66 20 28 6d 61 72 6b  | info)]...........(setq.buf.(mark | 
| d6c0 |  65 72 2d 62 75 66 66 65 72 20 6d 61 72 6b 65 72    29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65  | er-buffer.marker))...........(se | 
| d6e0 |  74 71 20 70 6f 73 20 28 6d 61 72 6b 65 72 2d 70    6f 73 69 74 69 6f 6e 20 6d 61 72 6b 65 72 29 29  | tq.pos.(marker-position.marker)) | 
| d700 |  29 29 29 0a 20 20 20 20 20 28 28 61 6e 64 20 28    6e 6f 74 20 63 61 6c 6c 61 62 6c 65 2d 70 29 20  | )))......((and.(not.callable-p). | 
| d720 |  73 72 63 2d 70 61 74 68 29 0a 20 20 20 20 20 20    28 2d 6c 65 74 20 5b 28 73 72 63 2d 62 75 66 20  | src-path).......(-let.[(src-buf. | 
| d740 |  73 72 63 2d 6f 70 65 6e 65 64 29 20 28 68 65 6c    70 66 75 6c 2d 2d 6f 70 65 6e 2d 69 66 2d 6e 65  | src-opened).(helpful--open-if-ne | 
| d760 |  65 64 65 64 20 73 72 63 2d 70 61 74 68 29 5d 0a    20 20 20 20 20 20 20 20 28 73 65 74 71 20 62 75  | eded.src-path)].........(setq.bu | 
| d780 |  66 20 73 72 63 2d 62 75 66 29 0a 20 20 20 20 20    20 20 20 28 73 65 74 71 20 6f 70 65 6e 65 64 20  | f.src-buf).........(setq.opened. | 
| d7a0 |  73 72 63 2d 6f 70 65 6e 65 64 29 0a 0a 20 20 20    20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65  | src-opened)..........(with-curre | 
| d7c0 |  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 66 69 6e 64  | nt-buffer.buf...........;;.`find | 
| d7e0 |  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 20 6d 6f 76  | -function-search-for-symbol'.mov | 
| d800 |  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 3b 3b 20 74  | es.point..Prevent...........;;.t | 
| d820 |  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 6f 6e 0a 20  | hat............(save-excursion.. | 
| d840 |  20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64    69 74 69 6f 6e 2d 63 61 73 65 20 5f 65 72 72 0a  | ...........(condition-case._err. | 
| d860 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 73 65 74 71 20 70 6f 73 20 28 63 64 72 20 28  | ................(setq.pos.(cdr.( | 
| d880 |  66 69 6e 64 2d 76 61 72 69 61 62 6c 65 2d 6e 6f    73 65 6c 65 63 74 20 73 79 6d 20 6c 69 62 72 61  | find-variable-noselect.sym.libra | 
| d8a0 |  72 79 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 73 65 61 72 63 68  | ry-name)))...............(search | 
| d8c0 |  2d 66 61 69 6c 65 64 20 6e 69 6c 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66  | -failed.nil)...............;;.If | 
| d8e0 |  20 79 6f 75 72 20 63 75 72 72 65 6e 74 20 45 6d    61 63 73 20 69 6e 73 74 61 6e 63 65 20 64 6f 65  | .your.current.Emacs.instance.doe | 
| d900 |  73 6e 27 74 20 6d 61 74 63 68 20 74 68 65 20 73    6f 75 72 63 65 0a 20 20 20 20 20 20 20 20 20 20  | sn't.match.the.source........... | 
| d920 |  20 20 20 20 3b 3b 20 63 6f 64 65 20 63 6f 6e 66    69 67 75 72 65 64 20 69 6e 20 66 69 6e 64 2d 66  | ....;;.code.configured.in.find-f | 
| d940 |  75 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 2c 20 77 65 20 63  | unction-C-source-directory,.we.c | 
| d960 |  61 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3b 3b 20 67 65 74 20 61 6e 20 65 72 72 6f 72  | an...............;;.get.an.error | 
| d980 |  20 61 62 6f 75 74 20 6e 6f 74 20 66 69 6e 64 69    6e 67 20 73 6f 75 72 63 65 2e 20 54 72 79 0a 20  | .about.not.finding.source..Try.. | 
| d9a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20    60 64 65 66 61 75 6c 74 2d 74 61 62 2d 77 69 64  | .............;;.`default-tab-wid | 
| d9c0 |  74 68 27 20 61 67 61 69 6e 73 74 20 45 6d 61 63    73 20 74 72 75 6e 6b 2e 0a 20 20 20 20 20 20 20  | th'.against.Emacs.trunk......... | 
| d9e0 |  20 20 20 20 20 20 20 28 65 72 72 6f 72 20 6e 69    6c 29 29 29 29 29 29 29 0a 0a 20 20 20 20 28 6c  | .......(error.nil)))))))......(l | 
| da00 |  69 73 74 20 62 75 66 20 70 6f 73 20 6f 70 65 6e    65 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65  | ist.buf.pos.opened)))..(defun.he | 
| da20 |  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 20 28 73 79 6d 20  | lpful--reference-positions.(sym. | 
| da40 |  63 61 6c 6c 61 62 6c 65 2d 70 20 62 75 66 29 0a    20 20 22 52 65 74 75 72 6e 20 61 6c 6c 20 74 68  | callable-p.buf)..."Return.all.th | 
| da60 |  65 20 62 75 66 66 65 72 20 70 6f 73 69 74 69 6f    6e 73 20 6f 66 20 72 65 66 65 72 65 6e 63 65 73  | e.buffer.positions.of.references | 
| da80 |  20 74 6f 20 53 59 4d 20 69 6e 20 42 55 46 2e 22    0a 20 20 28 2d 6c 65 74 2a 20 28 28 66 6f 72 6d  | .to.SYM.in.BUF."...(-let*.((form | 
| daa0 |  73 2d 61 6e 64 2d 62 75 66 73 0a 20 20 20 20 20    20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66  | s-and-bufs............(elisp-ref | 
| dac0 |  73 2d 2d 73 65 61 72 63 68 2d 31 0a 20 20 20 20    20 20 20 20 20 20 20 20 28 6c 69 73 74 20 62 75  | s--search-1.............(list.bu | 
| dae0 |  66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28    6c 61 6d 62 64 61 20 28 62 75 66 29 0a 20 20 20  | f).............(lambda.(buf).... | 
| db00 |  20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 73    70 2d 72 65 66 73 2d 2d 72 65 61 64 2d 61 6e 64  | ...........(elisp-refs--read-and | 
| db20 |  2d 66 69 6e 64 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 62 75 66 20 73 79 6d 0a 20 20 20  | -find................buf.sym.... | 
| db40 |  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 0a 20 20 20 20 20  | ............(if.callable-p...... | 
| db60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27    65 6c 69 73 70 2d 72 65 66 73 2d 2d 66 75 6e 63  | ..............#'elisp-refs--func | 
| db80 |  74 69 6f 6e 2d 70 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 23 27 65 6c 69 73 70 2d  | tion-p..................#'elisp- | 
| dba0 |  72 65 66 73 2d 2d 76 61 72 69 61 62 6c 65 2d 70    29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  | refs--variable-p)))))........... | 
| dbc0 |  3b 3b 20 53 69 6e 63 65 20 77 65 20 6f 6e 6c 79    20 73 65 61 72 63 68 65 64 20 6f 6e 65 20 62 75  | ;;.Since.we.only.searched.one.bu | 
| dbe0 |  66 66 65 72 2c 20 77 65 20 6b 6e 6f 77 20 74 68    61 74 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20  | ffer,.we.know.that...........;;. | 
| dc00 |  66 6f 72 6d 73 2d 61 6e 64 2d 62 75 66 73 20 68    61 73 20 6f 6e 6c 79 20 6f 6e 65 20 69 74 65 6d  | forms-and-bufs.has.only.one.item | 
| dc20 |  2e 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72    6d 73 2d 61 6e 64 2d 62 75 66 20 28 2d 66 69 72  | ............(forms-and-buf.(-fir | 
| dc40 |  73 74 2d 69 74 65 6d 20 66 6f 72 6d 73 2d 61 6e    64 2d 62 75 66 73 29 29 0a 20 20 20 20 20 20 20  | st-item.forms-and-bufs))........ | 
| dc60 |  20 20 20 28 28 66 6f 72 6d 73 20 2e 20 5f 62 75    66 29 20 66 6f 72 6d 73 2d 61 6e 64 2d 62 75 66  | ...((forms..._buf).forms-and-buf | 
| dc80 |  29 29 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 5f 63 6f  | )).....(-map......(-lambda.((_co | 
| dca0 |  64 65 20 73 74 61 72 74 2d 70 6f 73 20 5f 65 6e    64 2d 70 6f 73 29 29 20 73 74 61 72 74 2d 70 6f  | de.start-pos._end-pos)).start-po | 
| dcc0 |  73 29 0a 20 20 20 20 20 66 6f 72 6d 73 29 29 29    0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c  | s)......forms)))..(defun.helpful | 
| dce0 |  2d 2d 61 6c 6c 2d 6b 65 79 6d 61 70 2d 73 79 6d    73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61  | --all-keymap-syms.()..."Return.a | 
| dd00 |  6c 6c 20 6b 65 79 6d 61 70 73 20 64 65 66 69 6e    65 64 20 69 6e 20 74 68 69 73 20 45 6d 61 63 73  | ll.keymaps.defined.in.this.Emacs | 
| dd20 |  20 69 6e 73 74 61 6e 63 65 2e 22 0a 20 20 28 6c    65 74 20 28 6b 65 79 6d 61 70 73 29 0a 20 20 20  | .instance."...(let.(keymaps).... | 
| dd40 |  20 28 6d 61 70 61 74 6f 6d 73 0a 20 20 20 20 20    28 6c 61 6d 62 64 61 20 28 73 79 6d 29 0a 20 20  | .(mapatoms......(lambda.(sym)... | 
| dd60 |  20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20    28 62 6f 75 6e 64 70 20 73 79 6d 29 20 28 6b 65  | .....(when.(and.(boundp.sym).(ke | 
| dd80 |  79 6d 61 70 70 20 28 73 79 6d 62 6f 6c 2d 76 61    6c 75 65 20 73 79 6d 29 29 29 0a 20 20 20 20 20  | ymapp.(symbol-value.sym)))...... | 
| dda0 |  20 20 20 20 28 70 75 73 68 20 73 79 6d 20 6b 65    79 6d 61 70 73 29 29 29 29 0a 20 20 20 20 6b 65  | ....(push.sym.keymaps)))).....ke | 
| ddc0 |  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 6b 65 79 2d 73 65 71  | ymaps))..(defun.helpful--key-seq | 
| dde0 |  75 65 6e 63 65 73 20 28 63 6f 6d 6d 61 6e 64 2d    73 79 6d 20 6b 65 79 6d 61 70 20 67 6c 6f 62 61  | uences.(command-sym.keymap.globa | 
| de00 |  6c 2d 6b 65 79 63 6f 64 65 73 29 0a 20 20 22 52    65 74 75 72 6e 20 61 6c 6c 20 74 68 65 20 6b 65  | l-keycodes)..."Return.all.the.ke | 
| de20 |  79 20 73 65 71 75 65 6e 63 65 73 20 6f 66 20 43    4f 4d 4d 41 4e 44 2d 53 59 4d 20 69 6e 20 4b 45  | y.sequences.of.COMMAND-SYM.in.KE | 
| de40 |  59 4d 41 50 2e 22 0a 20 20 28 6c 65 74 2a 20 28    28 6b 65 79 63 6f 64 65 73 0a 20 20 20 20 20 20  | YMAP."...(let*.((keycodes....... | 
| de60 |  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 | 
| de80 |  68 65 20 6b 65 79 6d 61 70 2c 20 69 74 73 20 70    61 72 65 6e 74 20 61 6e 64 20 74 68 65 0a 20 20  | he.keymap,.its.parent.and.the... | 
| dea0 |  20 20 20 20 20 20 20 20 3b 3b 20 67 6c 6f 62 61    6c 20 6d 61 70 2e 20 57 65 20 6e 65 65 64 20 74  | ........;;.global.map..We.need.t | 
| dec0 |  6f 20 69 6e 63 6c 75 64 65 20 74 68 65 20 67 6c    6f 62 61 6c 20 6d 61 70 20 74 6f 20 66 69 6e 64  | o.include.the.global.map.to.find | 
| dee0 |  0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65    6d 61 70 70 65 64 20 63 6f 6d 6d 61 6e 64 73 2e  | ...........;;.remapped.commands. | 
| df00 |  0a 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 6e 61 6c 20 63 6f  | ...........(where-is-internal.co | 
| df20 |  6d 6d 61 6e 64 2d 73 79 6d 20 6b 65 79 6d 61 70    20 6e 69 6c 20 74 29 29 0a 20 20 20 20 20 20 20  | mmand-sym.keymap.nil.t))........ | 
| df40 |  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 68 65  | ..;;.Look.up.this.command.in.the | 
| df60 |  20 70 61 72 65 6e 74 20 6b 65 79 6d 61 70 2e 0a    20 20 20 20 20 20 20 20 20 28 70 61 72 65 6e 74  | .parent.keymap...........(parent | 
| df80 |  2d 6b 65 79 6d 61 70 20 28 6b 65 79 6d 61 70 2d    70 61 72 65 6e 74 20 6b 65 79 6d 61 70 29 29 0a  | -keymap.(keymap-parent.keymap)). | 
| dfa0 |  20 20 20 20 20 20 20 20 20 28 70 61 72 65 6e 74    2d 6b 65 79 63 6f 64 65 73 0a 20 20 20 20 20 20  | .........(parent-keycodes....... | 
| dfc0 |  20 20 20 20 28 77 68 65 6e 20 70 61 72 65 6e 74    2d 6b 65 79 6d 61 70 0a 20 20 20 20 20 20 20 20  | ....(when.parent-keymap......... | 
| dfe0 |  20 20 20 20 28 77 68 65 72 65 2d 69 73 2d 69 6e    74 65 72 6e 61 6c 0a 20 20 20 20 20 20 20 20 20  | ....(where-is-internal.......... | 
| e000 |  20 20 20 20 63 6f 6d 6d 61 6e 64 2d 73 79 6d 20    28 6c 69 73 74 20 70 61 72 65 6e 74 2d 6b 65 79  | ....command-sym.(list.parent-key | 
| e020 |  6d 61 70 29 20 6e 69 6c 20 74 29 29 29 0a 20 20    20 20 20 20 20 20 20 3b 3b 20 4c 6f 6f 6b 20 75  | map).nil.t)))..........;;.Look.u | 
| e040 |  70 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69    6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 6d 61 70  | p.this.command.in.the.global.map | 
| e060 |  2e 0a 20 20 20 20 20 20 20 20 20 28 67 6c 6f 62    61 6c 2d 6b 65 79 63 6f 64 65 73 0a 20 20 20 20  | ...........(global-keycodes..... | 
| e080 |  20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65    71 20 6b 65 79 6d 61 70 20 67 6c 6f 62 61 6c 2d  | ......(unless.(eq.keymap.global- | 
| e0a0 |  6d 61 70 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 67 6c 6f 62 61 6c 2d 6b 65 79 63 6f 64 65 73  | map).............global-keycodes | 
| e0c0 |  29 29 29 0a 20 20 20 20 28 2d 3e 3e 20 6b 65 79    63 6f 64 65 73 0a 20 20 20 20 20 20 20 20 20 3b  | ))).....(->>.keycodes..........; | 
| e0e0 |  3b 20 49 67 6e 6f 72 65 20 6b 65 79 62 69 6e 64    69 6e 67 73 20 66 72 6f 6d 20 74 68 65 20 70 61  | ;.Ignore.keybindings.from.the.pa | 
| e100 |  72 65 6e 74 20 6f 72 20 67 6c 6f 62 61 6c 20 6d    61 70 2e 0a 20 20 20 20 20 20 20 20 20 28 2d 2d  | rent.or.global.map...........(-- | 
| e120 |  72 65 6d 6f 76 65 20 28 6f 72 20 28 2d 63 6f 6e    74 61 69 6e 73 2d 70 20 67 6c 6f 62 61 6c 2d 6b  | remove.(or.(-contains-p.global-k | 
| e140 |  65 79 63 6f 64 65 73 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  | eycodes.it)..................... | 
| e160 |  20 20 20 28 2d 63 6f 6e 74 61 69 6e 73 2d 70 20    70 61 72 65 6e 74 2d 6b 65 79 63 6f 64 65 73 20  | ...(-contains-p.parent-keycodes. | 
| e180 |  69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b    3b 20 43 6f 6e 76 65 72 74 20 72 61 77 20 6b 65  | it)))..........;;.Convert.raw.ke | 
| e1a0 |  79 63 6f 64 65 20 76 65 63 74 6f 72 73 20 69 6e    74 6f 20 68 75 6d 61 6e 2d 72 65 61 64 61 62 6c  | ycode.vectors.into.human-readabl | 
| e1c0 |  65 20 73 74 72 69 6e 67 73 2e 0a 20 20 20 20 20    20 20 20 20 28 2d 6d 61 70 20 23 27 6b 65 79 2d  | e.strings...........(-map.#'key- | 
| e1e0 |  64 65 73 63 72 69 70 74 69 6f 6e 29 29 29 29 0a    0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d  | description))))..(defun.helpful- | 
| e200 |  2d 6b 65 79 6d 61 70 73 2d 63 6f 6e 74 61 69 6e    69 6e 67 20 28 63 6f 6d 6d 61 6e 64 2d 73 79 6d  | -keymaps-containing.(command-sym | 
| e220 |  29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69    73 74 20 6f 66 20 70 61 69 72 73 20 6c 69 73 74  | )..."Return.a.list.of.pairs.list | 
| e240 |  69 6e 67 20 6b 65 79 6d 61 70 20 6e 61 6d 65 73    20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 43 4f  | ing.keymap.names.that.contain.CO | 
| e260 |  4d 4d 41 4e 44 2d 53 59 4d 2c 0a 61 6c 6f 6e 67    20 77 69 74 68 20 74 68 65 20 6b 65 79 62 69 6e  | MMAND-SYM,.along.with.the.keybin | 
| e280 |  64 69 6e 67 73 20 69 6e 20 65 61 63 68 20 6b 65    79 6d 61 70 2e 0a 0a 4b 65 79 6d 61 70 20 6e 61  | dings.in.each.keymap...Keymap.na | 
| e2a0 |  6d 65 73 20 61 72 65 20 74 79 70 69 63 61 6c 6c    79 20 76 61 72 69 61 62 6c 65 20 6e 61 6d 65 73  | mes.are.typically.variable.names | 
| e2c0 |  2c 20 62 75 74 20 6d 61 79 20 61 6c 73 6f 20 62    65 0a 64 65 73 63 72 69 70 74 69 6f 6e 73 20 6f  | ,.but.may.also.be.descriptions.o | 
| e2e0 |  66 20 76 61 6c 75 65 73 20 69 6e 20 60 6d 69 6e    6f 72 2d 6d 6f 64 65 2d 6d 61 70 2d 61 6c 69 73  | f.values.in.`minor-mode-map-alis | 
| e300 |  74 27 2e 0a 0a 57 65 20 69 67 6e 6f 72 65 20 6b    65 79 62 69 6e 64 69 6e 67 73 20 74 68 61 74 20  | t'...We.ignore.keybindings.that. | 
| e320 |  61 72 65 20 6d 65 6e 75 20 69 74 65 6d 73 2c 20    61 6e 64 20 69 67 6e 6f 72 65 20 6b 65 79 62 69  | are.menu.items,.and.ignore.keybi | 
| e340 |  6e 64 69 6e 67 73 0a 66 72 6f 6d 20 70 61 72 65    6e 74 20 6b 65 79 6d 61 70 73 2e 0a 0a 60 77 69  | ndings.from.parent.keymaps...`wi | 
| e360 |  64 67 65 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 27    20 69 73 20 61 6c 73 6f 20 69 67 6e 6f 72 65 64  | dget-global-map'.is.also.ignored | 
| e380 |  20 61 73 20 69 74 20 67 65 6e 65 72 61 6c 6c 79    20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 73 61  | .as.it.generally.contains.the.sa | 
| e3a0 |  6d 65 20 62 69 6e 64 69 6e 67 73 20 61 73 20 60    67 6c 6f 62 61 6c 2d 6d 61 70 27 2e 22 0a 20 20  | me.bindings.as.`global-map'."... | 
| e3c0 |  28 6c 65 74 2a 20 28 28 6b 65 79 6d 61 70 2d 73    79 6d 73 20 28 68 65 6c 70 66 75 6c 2d 2d 61 6c  | (let*.((keymap-syms.(helpful--al | 
| e3e0 |  6c 2d 6b 65 79 6d 61 70 2d 73 79 6d 73 29 29 0a    20 20 20 20 20 20 20 20 20 28 6b 65 79 6d 61 70  | l-keymap-syms))..........(keymap | 
| e400 |  2d 73 79 6d 2d 76 61 6c 73 20 28 2d 6d 61 70 20    23 27 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 6b  | -sym-vals.(-map.#'symbol-value.k | 
| e420 |  65 79 6d 61 70 2d 73 79 6d 73 29 29 0a 20 20 20    20 20 20 20 20 20 28 67 6c 6f 62 61 6c 2d 6b 65  | eymap-syms))..........(global-ke | 
| e440 |  79 63 6f 64 65 73 20 28 77 68 65 72 65 2d 69 73    2d 69 6e 74 65 72 6e 61 6c 0a 20 20 20 20 20 20  | ycodes.(where-is-internal....... | 
| e460 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 63 6f 6d 6d 61 6e 64 2d 73 79 6d  | .....................command-sym | 
| e480 |  20 28 6c 69 73 74 20 67 6c 6f 62 61 6c 2d 6d 61    70 29 20 6e 69 6c 20 74 29 29 0a 20 20 20 20 20  | .(list.global-map).nil.t))...... | 
| e4a0 |  20 20 20 20 6d 61 74 63 68 69 6e 67 2d 6b 65 79    6d 61 70 73 29 0a 20 20 20 20 3b 3b 20 4c 6f 6f  | ....matching-keymaps).....;;.Loo | 
| e4c0 |  6b 20 66 6f 72 20 74 68 69 73 20 63 6f 6d 6d 61    6e 64 20 69 6e 20 61 6c 6c 20 6b 65 79 6d 61 70  | k.for.this.command.in.all.keymap | 
| e4e0 |  73 20 62 6f 75 6e 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  | s.bound.to.variables......(-map. | 
| e500 |  20 20 20 20 20 28 2d 6c 61 6d 62 64 61 20 28 28    6b 65 79 6d 61 70 2d 73 79 6d 20 2e 20 6b 65 79  | .....(-lambda.((keymap-sym...key | 
| e520 |  6d 61 70 29 29 0a 20 20 20 20 20 20 20 28 6c 65    74 20 28 28 6b 65 79 2d 73 65 71 75 65 6e 63 65  | map))........(let.((key-sequence | 
| e540 |  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 6d 6d 61 6e  | s.(helpful--key-sequences.comman | 
| e560 |  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 29 29 29 0a  | d-sym.keymap.global-keycodes))). | 
| e580 |  20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28    61 6e 64 20 6b 65 79 2d 73 65 71 75 65 6e 63 65  | .........(when.(and.key-sequence | 
| e5a0 |  73 20 28 6e 6f 74 20 28 65 71 20 6b 65 79 6d 61    70 2d 73 79 6d 20 27 77 69 64 67 65 74 2d 67 6c  | s.(not.(eq.keymap-sym.'widget-gl | 
| e5c0 |  6f 62 61 6c 2d 6d 61 70 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f  | obal-map)))............(push.(co | 
| e5e0 |  6e 73 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20    6b 65 79 6d 61 70 2d 73 79 6d 29 20 6b 65 79 2d  | ns.(symbol-name.keymap-sym).key- | 
| e600 |  73 65 71 75 65 6e 63 65 73 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63  | sequences)..................matc | 
| e620 |  68 69 6e 67 2d 6b 65 79 6d 61 70 73 29 29 29 29    0a 20 20 20 20 20 28 2d 7a 69 70 2d 70 61 69 72  | hing-keymaps))))......(-zip-pair | 
| e640 |  20 6b 65 79 6d 61 70 2d 73 79 6d 73 20 6b 65 79    6d 61 70 2d 73 79 6d 2d 76 61 6c 73 29 29 0a 0a  | .keymap-syms.keymap-sym-vals)).. | 
| e660 |  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 69 6e 20  | ....;;.Look.for.this.command.in. | 
| e680 |  6b 65 79 6d 61 70 73 20 75 73 65 64 20 62 79 20    6d 69 6e 6f 72 20 6d 6f 64 65 73 20 74 68 61 74  | keymaps.used.by.minor.modes.that | 
| e6a0 |  0a 20 20 20 20 3b 3b 20 61 72 65 6e 27 74 20 62    6f 75 6e 64 20 74 6f 20 76 61 72 69 61 62 6c 65  | .....;;.aren't.bound.to.variable | 
| e6c0 |  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 6d 69 6e  | s......(-map......(-lambda.((min | 
| e6e0 |  6f 72 2d 6d 6f 64 65 20 2e 20 6b 65 79 6d 61 70    29 29 0a 20 20 20 20 20 20 20 3b 3b 20 4f 6e 6c  | or-mode...keymap))........;;.Onl | 
| e700 |  79 20 63 6f 6e 73 69 64 65 72 20 74 68 69 73 20    6b 65 79 6d 61 70 20 69 66 20 77 65 20 64 69 64  | y.consider.this.keymap.if.we.did | 
| e720 |  6e 27 74 20 66 69 6e 64 20 69 74 20 62 6f 75 6e    64 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 2e  | n't.find.it.bound.to.a.variable. | 
| e740 |  0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61    6e 64 20 28 6b 65 79 6d 61 70 70 20 6b 65 79 6d  | ........(when.(and.(keymapp.keym | 
| e760 |  61 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6e 6f 74 20 28 6d 65 6d 71  | ap)...................(not.(memq | 
| e780 |  20 6b 65 79 6d 61 70 20 6b 65 79 6d 61 70 2d 73    79 6d 2d 76 61 6c 73 29 29 29 0a 20 20 20 20 20  | .keymap.keymap-sym-vals)))...... | 
| e7a0 |  20 20 20 20 28 6c 65 74 20 28 28 6b 65 79 2d 73    65 71 75 65 6e 63 65 73 20 28 68 65 6c 70 66 75  | ....(let.((key-sequences.(helpfu | 
| e7c0 |  6c 2d 2d 6b 65 79 2d 73 65 71 75 65 6e 63 65 73    20 63 6f 6d 6d 61 6e 64 2d 73 79 6d 20 6b 65 79  | l--key-sequences.command-sym.key | 
| e7e0 |  6d 61 70 20 67 6c 6f 62 61 6c 2d 6b 65 79 63 6f    64 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20  | map.global-keycodes))).......... | 
| e800 |  20 20 28 77 68 65 6e 20 6b 65 79 2d 73 65 71 75    65 6e 63 65 73 0a 20 20 20 20 20 20 20 20 20 20  | ..(when.key-sequences........... | 
| e820 |  20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 28    66 6f 72 6d 61 74 20 22 6d 69 6e 6f 72 2d 6d 6f  | ...(push.(cons.(format."minor-mo | 
| e840 |  64 65 2d 6d 61 70 2d 61 6c 69 73 74 20 28 25 73    29 22 20 6d 69 6e 6f 72 2d 6d 6f 64 65 29 0a 20  | de-map-alist.(%s)".minor-mode).. | 
| e860 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 6b 65 79 2d 73 65 71 75  | ........................key-sequ | 
| e880 |  65 6e 63 65 73 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 69  | ences)....................matchi | 
| e8a0 |  6e 67 2d 6b 65 79 6d 61 70 73 29 29 29 29 29 0a    20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 65 78  | ng-keymaps)))))......;;.TODO:.ex | 
| e8c0 |  61 6d 69 6e 65 20 60 6d 69 6e 6f 72 2d 6d 6f 64    65 2d 6f 76 65 72 72 69 64 69 6e 67 2d 6d 61 70  | amine.`minor-mode-overriding-map | 
| e8e0 |  2d 61 6c 69 73 74 27 20 74 6f 6f 2e 0a 20 20 20    20 20 6d 69 6e 6f 72 2d 6d 6f 64 65 2d 6d 61 70  | -alist'.too.......minor-mode-map | 
| e900 |  2d 61 6c 69 73 74 29 0a 0a 20 20 20 20 6d 61 74    63 68 69 6e 67 2d 6b 65 79 6d 61 70 73 29 29 0a  | -alist)......matching-keymaps)). | 
| e920 |  0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d    2d 6d 65 72 67 65 2d 61 6c 69 73 74 73 20 28 6c  | .(defun.helpful--merge-alists.(l | 
| e940 |  31 20 6c 32 29 0a 20 20 22 47 69 76 65 6e 20 74    77 6f 20 61 6c 69 73 74 73 20 6d 61 70 70 69 6e  | 1.l2)..."Given.two.alists.mappin | 
| e960 |  67 20 73 79 6d 62 6f 6c 73 20 74 6f 20 6c 69 73    74 73 2c 20 72 65 74 75 72 6e 20 61 20 73 69 6e  | g.symbols.to.lists,.return.a.sin | 
| e980 |  67 6c 65 0a 61 6c 69 73 74 20 77 69 74 68 20 74    68 65 20 6c 69 73 74 73 20 63 6f 6e 63 61 74 65  | gle.alist.with.the.lists.concate | 
| e9a0 |  6e 61 74 65 64 2e 22 0a 20 20 28 6c 65 74 2a 20    28 28 6c 31 2d 6b 65 79 73 20 28 2d 6d 61 70 20  | nated."...(let*.((l1-keys.(-map. | 
| e9c0 |  23 27 2d 66 69 72 73 74 2d 69 74 65 6d 20 6c 31    29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 32 2d  | #'-first-item.l1))..........(l2- | 
| e9e0 |  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 32 29 29 0a 20 20  | keys.(-map.#'-first-item.l2))... | 
| ea00 |  20 20 20 20 20 20 20 28 6c 32 2d 65 78 74 72 61    2d 6b 65 79 73 20 28 2d 64 69 66 66 65 72 65 6e  | .......(l2-extra-keys.(-differen | 
| ea20 |  63 65 20 6c 32 2d 6b 65 79 73 20 6c 31 2d 6b 65    79 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c  | ce.l2-keys.l1-keys))..........(l | 
| ea40 |  32 2d 65 78 74 72 61 2d 76 61 6c 75 65 73 0a 20    20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 20  | 2-extra-values...........(--map. | 
| ea60 |  28 61 73 73 6f 63 20 69 74 20 6c 32 29 20 6c 32    2d 65 78 74 72 61 2d 6b 65 79 73 29 29 0a 20 20  | (assoc.it.l2).l2-extra-keys))... | 
| ea80 |  20 20 20 20 20 20 20 28 6c 31 2d 77 69 74 68 2d    76 61 6c 75 65 73 0a 20 20 20 20 20 20 20 20 20  | .......(l1-with-values.......... | 
| eaa0 |  20 28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20    28 28 6b 65 79 20 2e 20 76 61 6c 75 65 73 29 29  | .(-map.(-lambda.((key...values)) | 
| eac0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 6f 6e 73 20 6b 65 79 20 28 61 70  | ...................(cons.key.(ap | 
| eae0 |  70 65 6e 64 20 76 61 6c 75 65 73 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | pend.values..................... | 
| eb00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 63 64 72 20 28 61 73 73 6f 63 20 6b 65 79 20  | ................(cdr.(assoc.key. | 
| eb20 |  6c 32 29 29 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 6c 31 29 29 29 0a 20 20  | l2))))).................l1)))... | 
| eb40 |  20 20 28 61 70 70 65 6e 64 20 6c 31 2d 77 69 74    68 2d 76 61 6c 75 65 73 20 6c 32 2d 65 78 74 72  | ..(append.l1-with-values.l2-extr | 
| eb60 |  61 2d 76 61 6c 75 65 73 29 29 29 0a 0a 28 64 65    66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6b 65 79  | a-values)))..(defun.helpful--key | 
| eb80 |  6d 61 70 73 2d 63 6f 6e 74 61 69 6e 69 6e 67 2d    61 6c 69 61 73 65 73 20 28 63 6f 6d 6d 61 6e 64  | maps-containing-aliases.(command | 
| eba0 |  2d 73 79 6d 20 61 6c 69 61 73 65 73 29 0a 20 20    22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f  | -sym.aliases)..."Return.a.list.o | 
| ebc0 |  66 20 70 61 69 72 73 20 6d 61 70 70 69 6e 67 20    6b 65 79 6d 61 70 20 73 79 6d 62 6f 6c 73 20 74  | f.pairs.mapping.keymap.symbols.t | 
| ebe0 |  6f 20 74 68 65 0a 6b 65 79 62 69 6e 64 69 6e 67    73 20 66 6f 72 20 43 4f 4d 4d 41 4e 44 2d 53 59  | o.the.keybindings.for.COMMAND-SY | 
| ec00 |  4d 20 69 6e 20 65 61 63 68 20 6b 65 79 6d 61 70    2e 0a 0a 49 6e 63 6c 75 64 65 73 20 6b 65 79 62  | M.in.each.keymap...Includes.keyb | 
| ec20 |  69 6e 64 69 6e 67 73 20 66 6f 72 20 61 6c 69 61    73 65 73 2c 20 75 6e 6c 69 6b 65 0a 60 68 65 6c  | indings.for.aliases,.unlike.`hel | 
| ec40 |  70 66 75 6c 2d 2d 6b 65 79 6d 61 70 73 2d 63 6f    6e 74 61 69 6e 69 6e 67 27 2e 22 0a 20 20 28 6c  | pful--keymaps-containing'."...(l | 
| ec60 |  65 74 2a 20 28 28 73 79 6d 73 20 28 63 6f 6e 73    20 63 6f 6d 6d 61 6e 64 2d 73 79 6d 20 61 6c 69  | et*.((syms.(cons.command-sym.ali | 
| ec80 |  61 73 65 73 29 29 0a 20 20 20 20 20 20 20 20 20    28 73 79 6d 73 2d 6b 65 79 6d 61 70 73 20 28 2d  | ases))..........(syms-keymaps.(- | 
| eca0 |  6d 61 70 20 23 27 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  | map.#'helpful--keymaps-containin | 
| ecc0 |  67 20 73 79 6d 73 29 29 29 0a 20 20 20 20 28 2d    72 65 64 75 63 65 20 23 27 68 65 6c 70 66 75 6c  | g.syms))).....(-reduce.#'helpful | 
| ece0 |  2d 2d 6d 65 72 67 65 2d 61 6c 69 73 74 73 20 73    79 6d 73 2d 6b 65 79 6d 61 70 73 29 29 29 0a 0a  | --merge-alists.syms-keymaps))).. | 
| ed00 |  28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d    66 6f 72 6d 61 74 2d 6b 65 79 73 20 28 63 6f 6d  | (defun.helpful--format-keys.(com | 
| ed20 |  6d 61 6e 64 2d 73 79 6d 20 61 6c 69 61 73 65 73    29 0a 20 20 22 44 65 73 63 72 69 62 65 20 61 6c  | mand-sym.aliases)..."Describe.al | 
| ed40 |  6c 20 74 68 65 20 6b 65 79 73 20 74 68 61 74 20    63 61 6c 6c 20 43 4f 4d 4d 41 4e 44 2d 53 59 4d  | l.the.keys.that.call.COMMAND-SYM | 
| ed60 |  2e 22 0a 20 20 28 6c 65 74 20 28 6d 6f 64 65 2d    6c 69 6e 65 73 0a 20 20 20 20 20 20 20 20 67 6c  | ."...(let.(mode-lines.........gl | 
| ed80 |  6f 62 61 6c 2d 6c 69 6e 65 73 29 0a 20 20 20 20    28 2d 2d 65 61 63 68 20 28 68 65 6c 70 66 75 6c  | obal-lines).....(--each.(helpful | 
| eda0 |  2d 2d 6b 65 79 6d 61 70 73 2d 63 6f 6e 74 61 69    6e 69 6e 67 2d 61 6c 69 61 73 65 73 20 63 6f 6d  | --keymaps-containing-aliases.com | 
| edc0 |  6d 61 6e 64 2d 73 79 6d 20 61 6c 69 61 73 65 73    29 0a 20 20 20 20 20 20 28 2d 6c 65 74 20 5b 28  | mand-sym.aliases).......(-let.[( | 
| ede0 |  6d 61 70 20 2e 20 6b 65 79 73 29 20 69 74 5d 0a    20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20  | map...keys).it].........(dolist. | 
| ee00 |  28 6b 65 79 20 6b 65 79 73 29 0a 20 20 20 20 20    20 20 20 20 20 28 70 75 73 68 0a 20 20 20 20 20  | (key.keys)...........(push...... | 
| ee20 |  20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25    73 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20  | ......(format."%s.%s"........... | 
| ee40 |  20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72    74 69 7a 65 20 6d 61 70 20 27 66 61 63 65 20 27  | .........(propertize.map.'face.' | 
| ee60 |  66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 61 62    6c 65 2d 6e 61 6d 65 2d 66 61 63 65 29 0a 20 20  | font-lock-variable-name-face)... | 
| ee80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 69 66 20 28 3e 3d 20 65 6d 61 63 73 2d 6d  | .................(if.(>=.emacs-m | 
| eea0 |  61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 38 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ajor-version.28)................ | 
| eec0 |  20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74    69 7a 65 20 6b 65 79 20 27 66 61 63 65 20 27 68  | ........(propertize.key.'face.'h | 
| eee0 |  65 6c 70 2d 6b 65 79 2d 62 69 6e 64 69 6e 67 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | elp-key-binding)................ | 
| ef00 |  20 20 20 20 20 20 6b 65 79 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 6d  | ......key))............(if.(eq.m | 
| ef20 |  61 70 20 27 67 6c 6f 62 61 6c 2d 6d 61 70 29 20    67 6c 6f 62 61 6c 2d 6c 69 6e 65 73 20 6d 6f 64  | ap.'global-map).global-lines.mod | 
| ef40 |  65 2d 6c 69 6e 65 73 29 29 29 29 29 0a 20 20 20    20 28 73 65 74 71 20 67 6c 6f 62 61 6c 2d 6c 69  | e-lines))))).....(setq.global-li | 
| ef60 |  6e 65 73 20 28 2d 73 6f 72 74 20 23 27 73 74 72    69 6e 67 3c 20 67 6c 6f 62 61 6c 2d 6c 69 6e 65  | nes.(-sort.#'string<.global-line | 
| ef80 |  73 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 6f    64 65 2d 6c 69 6e 65 73 20 28 2d 73 6f 72 74 20  | s)).....(setq.mode-lines.(-sort. | 
| efa0 |  23 27 73 74 72 69 6e 67 3c 20 6d 6f 64 65 2d 6c    69 6e 65 73 29 29 0a 20 20 20 20 28 2d 6c 65 74  | #'string<.mode-lines)).....(-let | 
| efc0 |  20 5b 6c 69 6e 65 73 20 28 2d 63 6f 6e 63 61 74    20 67 6c 6f 62 61 6c 2d 6c 69 6e 65 73 20 6d 6f  | .[lines.(-concat.global-lines.mo | 
| efe0 |  64 65 2d 6c 69 6e 65 73 29 5d 0a 20 20 20 20 20    20 28 69 66 20 6c 69 6e 65 73 0a 20 20 20 20 20  | de-lines)].......(if.lines...... | 
| f000 |  20 20 20 20 20 28 73 2d 6a 6f 69 6e 20 22 5c 6e    22 20 6c 69 6e 65 73 29 0a 20 20 20 20 20 20 20  | .....(s-join."\n".lines)........ | 
| f020 |  20 22 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69    73 20 6e 6f 74 20 69 6e 20 61 6e 79 20 6b 65 79  | ."This.command.is.not.in.any.key | 
| f040 |  6d 61 70 73 2e 22 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6f 75 74 65  | maps."))))..(defun.helpful--oute | 
| f060 |  72 2d 73 65 78 70 20 28 62 75 66 20 70 6f 73 29    0a 20 20 22 46 69 6e 64 20 70 6f 73 69 74 69 6f  | r-sexp.(buf.pos)..."Find.positio | 
| f080 |  6e 20 50 4f 53 20 69 6e 20 42 55 46 2c 20 61 6e    64 20 72 65 74 75 72 6e 20 74 68 65 20 6e 61 6d  | n.POS.in.BUF,.and.return.the.nam | 
| f0a0 |  65 20 6f 66 20 74 68 65 20 6f 75 74 65 72 20 73    65 78 70 2c 0a 61 6c 6f 6e 67 20 77 69 74 68 20  | e.of.the.outer.sexp,.along.with. | 
| f0c0 |  69 74 73 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 4d    6f 76 65 73 20 70 6f 69 6e 74 20 69 6e 20 42 55  | its.position...Moves.point.in.BU | 
| f0e0 |  46 2e 22 0a 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  | F."...(with-current-buffer.buf.. | 
| f100 |  20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f    73 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 70  | ...(goto-char.pos).....(let*.((p | 
| f120 |  70 73 73 20 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 28 6f  | pss.(syntax-ppss))............(o | 
| f140 |  75 74 65 72 2d 73 65 78 70 2d 70 6f 73 6e 73 20    28 6e 74 68 20 39 20 70 70 73 73 29 29 29 0a 20  | uter-sexp-posns.(nth.9.ppss))).. | 
| f160 |  20 20 20 20 20 28 77 68 65 6e 20 6f 75 74 65 72    2d 73 65 78 70 2d 70 6f 73 6e 73 0a 20 20 20 20  | .....(when.outer-sexp-posns..... | 
| f180 |  20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28    63 61 72 20 6f 75 74 65 72 2d 73 65 78 70 2d 70  | ....(goto-char.(car.outer-sexp-p | 
| f1a0 |  6f 73 6e 73 29 29 29 29 0a 20 20 20 20 28 6c 69    73 74 20 28 70 6f 69 6e 74 29 20 28 2d 74 61 6b  | osns)))).....(list.(point).(-tak | 
| f1c0 |  65 20 32 20 28 72 65 61 64 20 62 75 66 29 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66  | e.2.(read.buf)))))..(defun.helpf | 
| f1e0 |  75 6c 2d 2d 63 6f 75 6e 74 2d 76 61 6c 75 65 73    20 28 69 74 65 6d 73 29 0a 20 20 22 52 65 74 75  | ul--count-values.(items)..."Retu | 
| f200 |  72 6e 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 74    68 65 20 63 6f 75 6e 74 20 6f 66 20 65 61 63 68  | rn.an.alist.of.the.count.of.each | 
| f220 |  20 76 61 6c 75 65 20 69 6e 20 49 54 45 4d 53 2e    0a 45 2e 67 2e 20 28 78 20 78 20 79 20 7a 20 79  | .value.in.ITEMS..E.g..(x.x.y.z.y | 
| f240 |  29 20 2d 3e 20 28 28 78 20 2e 20 32 29 20 28 79    20 2e 20 32 29 20 28 7a 20 2e 20 31 29 29 22 0a  | ).->.((x...2).(y...2).(z...1))". | 
| f260 |  20 20 28 6c 65 74 20 28 63 6f 75 6e 74 73 29 0a    20 20 20 20 28 64 6f 6c 69 73 74 20 28 69 74 65  | ..(let.(counts).....(dolist.(ite | 
| f280 |  6d 20 69 74 65 6d 73 20 28 6e 72 65 76 65 72 73    65 20 63 6f 75 6e 74 73 29 29 0a 20 20 20 20 20  | m.items.(nreverse.counts))...... | 
| f2a0 |  20 28 2d 69 66 2d 6c 65 74 20 28 69 74 65 6d 2d    61 6e 64 2d 63 6f 75 6e 74 20 28 61 73 73 6f 63  | .(-if-let.(item-and-count.(assoc | 
| f2c0 |  20 69 74 65 6d 20 63 6f 75 6e 74 73 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72  | .item.counts))...........(setcdr | 
| f2e0 |  20 69 74 65 6d 2d 61 6e 64 2d 63 6f 75 6e 74 20    28 31 2b 20 28 63 64 72 20 69 74 65 6d 2d 61 6e  | .item-and-count.(1+.(cdr.item-an | 
| f300 |  64 2d 63 6f 75 6e 74 29 29 29 0a 20 20 20 20 20    20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 69  | d-count))).........(push.(cons.i | 
| f320 |  74 65 6d 20 31 29 20 63 6f 75 6e 74 73 29 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66  | tem.1).counts)))))..(defun.helpf | 
| f340 |  75 6c 2d 2d 77 69 74 68 6f 75 74 2d 61 64 76 69    63 65 20 28 73 79 6d 29 0a 20 20 22 47 69 76 65  | ul--without-advice.(sym)..."Give | 
| f360 |  6e 20 61 64 76 69 73 65 64 20 66 75 6e 63 74 69    6f 6e 20 53 59 4d 2c 20 72 65 74 75 72 6e 20 74  | n.advised.function.SYM,.return.t | 
| f380 |  68 65 20 66 75 6e 63 74 69 6f 6e 20 6f 62 6a 65    63 74 0a 77 69 74 68 6f 75 74 20 74 68 65 20 61  | he.function.object.without.the.a | 
| f3a0 |  64 76 69 63 65 2e 20 41 73 73 75 6d 65 73 20 66    75 6e 63 74 69 6f 6e 20 68 61 73 20 62 65 65 6e  | dvice..Assumes.function.has.been | 
| f3c0 |  20 6c 6f 61 64 65 64 2e 22 0a 20 20 28 61 64 76    69 63 65 2d 2d 63 64 2a 72 0a 20 20 20 28 61 64  | .loaded."...(advice--cd*r....(ad | 
| f3e0 |  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 0a 0a 28 64  | vice--symbol-function.sym)))..(d | 
| f400 |  65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 61 64    76 69 73 65 64 2d 70 20 28 73 79 6d 29 0a 20 20  | efun.helpful--advised-p.(sym)... | 
| f420 |  22 44 6f 65 73 20 53 59 4d 20 68 61 76 65 20 61    64 76 69 63 65 20 61 73 73 6f 63 69 61 74 65 64  | "Does.SYM.have.advice.associated | 
| f440 |  20 77 69 74 68 20 69 74 3f 22 0a 20 20 28 61 6e    64 20 28 73 79 6d 62 6f 6c 70 20 73 79 6d 29 0a  | .with.it?"...(and.(symbolp.sym). | 
| f460 |  20 20 20 20 20 20 20 28 61 64 76 69 63 65 2d 2d    70 20 28 61 64 76 69 63 65 2d 2d 73 79 6d 62 6f  | .......(advice--p.(advice--symbo | 
| f480 |  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 65 6c 70 66  | l-function.sym))))..(defun.helpf | 
| f4a0 |  75 6c 2d 2d 66 6f 72 6d 61 74 2d 68 65 61 64 20    28 68 65 61 64 29 0a 20 20 22 47 69 76 65 6e 20  | ul--format-head.(head)..."Given. | 
| f4c0 |  61 20 27 68 65 61 64 27 20 28 74 68 65 20 66 69    72 73 74 20 74 77 6f 20 73 79 6d 62 6f 6c 73 20  | a.'head'.(the.first.two.symbols. | 
| f4e0 |  6f 66 20 61 20 73 65 78 70 29 20 66 6f 72 6d 61    74 20 61 6e 64 0a 73 79 6e 74 61 78 20 68 69 67  | of.a.sexp).format.and.syntax.hig | 
| f500 |  68 6c 69 67 68 74 20 69 74 2e 22 0a 20 20 28 2d    6c 65 74 2a 20 28 28 28 64 65 66 20 6e 61 6d 65  | hlight.it."...(-let*.(((def.name | 
| f520 |  29 20 68 65 61 64 29 0a 20 20 20 20 20 20 20 20    20 20 28 66 6f 72 6d 61 74 74 65 64 2d 6e 61 6d  | ).head)...........(formatted-nam | 
| f540 |  65 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66    20 28 61 6e 64 20 28 63 6f 6e 73 70 20 6e 61 6d  | e............(if.(and.(consp.nam | 
| f560 |  65 29 20 28 65 71 20 28 63 61 72 20 6e 61 6d 65    29 20 27 71 75 6f 74 65 29 29 0a 20 20 20 20 20  | e).(eq.(car.name).'quote))...... | 
| f580 |  20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61    74 20 22 27 25 53 22 20 28 63 61 64 72 20 6e 61  | ..........(format."'%S".(cadr.na | 
| f5a0 |  6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 66 6f 72 6d 61 74 20 22 25 53 22 20 6e  | me))..............(format."%S".n | 
| f5c0 |  61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 28 66 6f 72 6d 61 74 74 65 64 2d 64 65 66 0a  | ame)))...........(formatted-def. | 
| f5e0 |  20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d    61 74 20 22 28 25 73 20 25 73 20 2e 2e 2e 29 22  | ...........(format."(%s.%s....)" | 
| f600 |  20 64 65 66 20 66 6f 72 6d 61 74 74 65 64 2d 6e    61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20  | .def.formatted-name))........... | 
| f620 |  29 0a 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 6c 69 67 68 74  | ).....(helpful--syntax-highlight | 
| f640 |  20 66 6f 72 6d 61 74 74 65 64 2d 64 65 66 29 29    29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75  | .formatted-def)))..(defun.helpfu | 
| f660 |  6c 2d 2d 66 6f 72 6d 61 74 2d 72 65 66 65 72 65    6e 63 65 20 28 68 65 61 64 20 6c 6f 6e 67 65 73  | l--format-reference.(head.longes | 
| f680 |  74 2d 68 65 61 64 20 72 65 66 2d 63 6f 75 6e 74    20 70 6f 73 69 74 69 6f 6e 20 70 61 74 68 29 0a  | t-head.ref-count.position.path). | 
| f6a0 |  20 20 22 52 65 74 75 72 6e 20 61 20 73 79 6e 74    61 78 2d 68 69 67 68 6c 69 67 68 74 65 64 20 76  | .."Return.a.syntax-highlighted.v | 
| f6c0 |  65 72 73 69 6f 6e 20 6f 66 20 48 45 41 44 2c 20    77 69 74 68 20 61 20 6c 69 6e 6b 0a 74 6f 20 69  | ersion.of.HEAD,.with.a.link.to.i | 
| f6e0 |  74 73 20 73 6f 75 72 63 65 20 6c 6f 63 61 74 69    6f 6e 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 6f  | ts.source.location."...(let.((fo | 
| f700 |  72 6d 61 74 74 65 64 2d 63 6f 75 6e 74 0a 20 20    20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22  | rmatted-count..........(format." | 
| f720 |  25 64 20 72 65 66 65 72 65 6e 63 65 25 73 22 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | %d.reference%s"................. | 
| f740 |  20 72 65 66 2d 63 6f 75 6e 74 20 28 69 66 20 28    3e 20 72 65 66 2d 63 6f 75 6e 74 20 31 29 20 22  | .ref-count.(if.(>.ref-count.1)." | 
| f760 |  73 22 20 22 22 29 29 29 29 0a 20 20 20 20 28 70    72 6f 70 65 72 74 69 7a 65 0a 20 20 20 20 20 28  | s"."")))).....(propertize......( | 
| f780 |  66 6f 72 6d 61 74 0a 20 20 20 20 20 20 22 25 73    20 25 73 22 0a 20 20 20 20 20 20 28 73 2d 70 61  | format......."%s.%s".......(s-pa | 
| f7a0 |  64 2d 72 69 67 68 74 20 6c 6f 6e 67 65 73 74 2d    68 65 61 64 20 22 20 22 20 28 68 65 6c 70 66 75  | d-right.longest-head.".".(helpfu | 
| f7c0 |  6c 2d 2d 66 6f 72 6d 61 74 2d 68 65 61 64 20 68    65 61 64 29 29 0a 20 20 20 20 20 20 28 70 72 6f  | l--format-head.head)).......(pro | 
| f7e0 |  70 65 72 74 69 7a 65 20 66 6f 72 6d 61 74 74 65    64 2d 63 6f 75 6e 74 20 27 66 61 63 65 20 27 66  | pertize.formatted-count.'face.'f | 
| f800 |  6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74    2d 66 61 63 65 29 29 0a 20 20 20 20 20 27 68 65  | ont-lock-comment-face))......'he | 
| f820 |  6c 70 66 75 6c 2d 70 61 74 68 20 70 61 74 68 0a    20 20 20 20 20 27 68 65 6c 70 66 75 6c 2d 70 6f  | lpful-path.path......'helpful-po | 
| f840 |  73 20 70 6f 73 69 74 69 6f 6e 29 29 29 0a 0a 28    64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 66  | s.position)))..(defun.helpful--f | 
| f860 |  6f 72 6d 61 74 2d 70 6f 73 69 74 69 6f 6e 2d 68    65 61 64 73 20 28 70 6f 73 69 74 69 6f 6e 2d 68  | ormat-position-heads.(position-h | 
| f880 |  65 61 64 73 20 70 61 74 68 29 0a 20 20 22 47 69    76 65 6e 20 61 20 6c 69 73 74 20 6f 66 20 6f 75  | eads.path)..."Given.a.list.of.ou | 
| f8a0 |  74 65 72 20 73 65 78 70 73 2c 20 66 6f 72 6d 61    74 20 74 68 65 6d 20 66 6f 72 20 64 69 73 70 6c  | ter.sexps,.format.them.for.displ | 
| f8c0 |  61 79 2e 0a 50 4f 53 49 54 49 4f 4e 2d 48 45 41    44 53 20 74 61 6b 65 73 20 74 68 65 20 66 6f 72  | ay..POSITION-HEADS.takes.the.for | 
| f8e0 |  6d 20 28 28 31 32 33 20 28 64 65 66 75 6e 20 66    6f 6f 29 29 20 28 34 35 36 20 28 64 65 66 75 6e  | m.((123.(defun.foo)).(456.(defun | 
| f900 |  20 62 61 72 29 29 29 2e 22 0a 20 20 28 6c 65 74    20 28 28 6c 6f 6e 67 65 73 74 2d 68 65 61 64 0a  | .bar)))."...(let.((longest-head. | 
| f920 |  20 20 20 20 20 20 20 20 20 28 2d 3e 3e 20 70 6f    73 69 74 69 6f 6e 2d 68 65 61 64 73 0a 20 20 20  | .........(->>.position-heads.... | 
| f940 |  20 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 5f 70 6f 73  | ...........(-map.(-lambda.((_pos | 
| f960 |  20 68 65 61 64 29 29 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  | .head)).(helpful--format-head.he | 
| f980 |  61 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 2d 6d 61 70 20 23 27 6c 65 6e 67  | ad)))...............(-map.#'leng | 
| f9a0 |  74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 2d 6d 61 78 29 29 29 29 0a 20 20 20 20  | th)...............(-max))))..... | 
| f9c0 |  28 2d 3e 3e 20 28 68 65 6c 70 66 75 6c 2d 2d 63    6f 75 6e 74 2d 76 61 6c 75 65 73 20 70 6f 73 69  | (->>.(helpful--count-values.posi | 
| f9e0 |  74 69 6f 6e 2d 68 65 61 64 73 29 0a 20 20 20 20    20 20 20 20 20 28 2d 6d 61 70 20 28 2d 6c 61 6d  | tion-heads)..........(-map.(-lam | 
| fa00 |  62 64 61 20 28 28 28 70 6f 73 20 68 65 61 64 29    20 2e 20 63 6f 75 6e 74 29 29 0a 20 20 20 20 20  | bda.(((pos.head)...count))...... | 
| fa20 |  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 72 65 66  | ............(helpful--format-ref | 
| fa40 |  65 72 65 6e 63 65 20 68 65 61 64 20 6c 6f 6e 67    65 73 74 2d 68 65 61 64 20 63 6f 75 6e 74 20 70  | erence.head.longest-head.count.p | 
| fa60 |  6f 73 20 70 61 74 68 29 29 29 0a 20 20 20 20 20    20 20 20 20 28 73 2d 6a 6f 69 6e 20 22 5c 6e 22  | os.path)))..........(s-join."\n" | 
| fa80 |  29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c    70 66 75 6c 2d 2d 70 72 69 6d 69 74 69 76 65 2d  | ))))..(defun.helpful--primitive- | 
| faa0 |  70 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 74 20 69  | p.(sym.callable-p)..."Return.t.i | 
| fac0 |  66 20 53 59 4d 20 69 73 20 64 65 66 69 6e 65 64    20 69 6e 20 43 2e 22 0a 20 20 28 6c 65 74 20 28  | f.SYM.is.defined.in.C."...(let.( | 
| fae0 |  28 73 75 62 72 70 20 28 69 66 20 28 66 62 6f 75    6e 64 70 20 27 73 75 62 72 2d 70 72 69 6d 69 74  | (subrp.(if.(fboundp.'subr-primit | 
| fb00 |  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 20 23 27 73 75 62 72  | ive-p)....................#'subr | 
| fb20 |  2d 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 23 27  | -primitive-p..................#' | 
| fb40 |  73 75 62 72 70 29 29 29 0a 20 20 20 20 28 63 6f    6e 64 0a 20 20 20 20 20 28 28 61 6e 64 20 63 61  | subrp))).....(cond......((and.ca | 
| fb60 |  6c 6c 61 62 6c 65 2d 70 20 28 68 65 6c 70 66 75    6c 2d 2d 61 64 76 69 73 65 64 2d 70 20 73 79 6d  | llable-p.(helpful--advised-p.sym | 
| fb80 |  29 29 0a 20 20 20 20 20 20 28 66 75 6e 63 61 6c    6c 20 73 75 62 72 70 20 28 68 65 6c 70 66 75 6c  | )).......(funcall.subrp.(helpful | 
| fba0 |  2d 2d 77 69 74 68 6f 75 74 2d 61 64 76 69 63 65    20 73 79 6d 29 29 29 0a 20 20 20 20 20 28 63 61  | --without-advice.sym)))......(ca | 
| fbc0 |  6c 6c 61 62 6c 65 2d 70 0a 20 20 20 20 20 20 28    66 75 6e 63 61 6c 6c 20 73 75 62 72 70 20 28 69  | llable-p.......(funcall.subrp.(i | 
| fbe0 |  6e 64 69 72 65 63 74 2d 66 75 6e 63 74 69 6f 6e    20 73 79 6d 29 29 29 0a 20 20 20 20 20 28 74 0a  | ndirect-function.sym)))......(t. | 
| fc00 |  20 20 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c    65 6e 61 6d 65 20 28 66 69 6e 64 2d 6c 69 73 70  | ......(let.((filename.(find-lisp | 
| fc20 |  2d 6f 62 6a 65 63 74 2d 66 69 6c 65 2d 6e 61 6d    65 20 73 79 6d 20 27 64 65 66 76 61 72 29 29 29  | -object-file-name.sym.'defvar))) | 
| fc40 |  0a 20 20 20 20 20 20 20 20 28 6f 72 20 28 65 71    20 66 69 6c 65 6e 61 6d 65 20 27 43 2d 73 6f 75  | .........(or.(eq.filename.'C-sou | 
| fc60 |  72 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 61 6e 64 20 28 73 74 72 69 6e 67 70 20 66  | rce).............(and.(stringp.f | 
| fc80 |  69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28  | ilename)..................(let.( | 
| fca0 |  28 65 78 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d    65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 6e 61  | (ext.(file-name-extension.filena | 
| fcc0 |  6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 6f 72 20 28 65 71  | me)))....................(or.(eq | 
| fce0 |  75 61 6c 20 65 78 74 20 22 63 22 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ual.ext."c").................... | 
| fd00 |  20 20 20 20 28 65 71 75 61 6c 20 65 78 74 20 22    72 73 22 29 29 29 29 29 29 29 29 29 29 0a 0a 28  | ....(equal.ext."rs"))))))))))..( | 
| fd20 |  64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 73    79 6d 2d 76 61 6c 75 65 20 28 73 79 6d 20 62 75  | defun.helpful--sym-value.(sym.bu | 
| fd40 |  66 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65    20 76 61 6c 75 65 20 6f 66 20 53 59 4d 20 69 6e  | f)..."Return.the.value.of.SYM.in | 
| fd60 |  20 42 55 46 2e 22 0a 20 20 28 63 6f 6e 64 0a 20    20 20 3b 3b 20 49 66 20 77 65 27 72 65 20 67 69  | .BUF."...(cond....;;.If.we're.gi | 
| fd80 |  76 65 6e 20 61 20 62 75 66 66 65 72 2c 20 6c 6f    6f 6b 20 75 70 20 74 68 65 20 76 61 72 69 61 62  | ven.a.buffer,.look.up.the.variab | 
| fda0 |  6c 65 20 69 6e 20 74 68 61 74 20 62 75 66 66 65    72 2e 0a 20 20 20 28 62 75 66 0a 20 20 20 20 28  | le.in.that.buffer.....(buf.....( | 
| fdc0 |  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 20 28 73  | with-current-buffer.buf.......(s | 
| fde0 |  79 6d 62 6f 6c 2d 76 61 6c 75 65 20 73 79 6d 29    29 29 0a 20 20 20 3b 3b 20 49 66 20 77 65 20 64  | ymbol-value.sym)))....;;.If.we.d | 
| fe00 |  6f 6e 27 74 20 68 61 76 65 20 61 20 62 75 66 66    65 72 2c 20 61 6e 64 20 74 68 69 73 20 69 73 20  | on't.have.a.buffer,.and.this.is. | 
| fe20 |  61 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76    61 72 69 61 62 6c 65 2c 0a 20 20 20 3b 3b 20 65  | a.buffer-local.variable,....;;.e | 
| fe40 |  6e 73 75 72 65 20 77 65 20 72 65 74 75 72 6e 20    74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75  | nsure.we.return.the.default.valu | 
| fe60 |  65 2e 0a 20 20 20 28 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  | e.....((local-variable-if-set-p. | 
| fe80 |  73 79 6d 29 0a 20 20 20 20 28 64 65 66 61 75 6c    74 2d 76 61 6c 75 65 20 73 79 6d 29 29 0a 20 20  | sym).....(default-value.sym))... | 
| fea0 |  20 3b 3b 20 4f 74 68 65 72 77 69 73 65 2c 20 6a    75 73 74 20 72 65 74 75 72 6e 20 74 68 65 20 76  | .;;.Otherwise,.just.return.the.v | 
| fec0 |  61 6c 75 65 20 69 6e 20 74 68 65 20 63 75 72 72    65 6e 74 20 62 75 66 66 65 72 2c 20 77 68 69 63  | alue.in.the.current.buffer,.whic | 
| fee0 |  68 20 69 73 0a 20 20 20 3b 3b 20 74 68 65 20 67    6c 6f 62 61 6c 20 76 61 6c 75 65 2e 0a 20 20 20  | h.is....;;.the.global.value..... | 
| ff00 |  28 74 0a 20 20 20 20 28 73 79 6d 62 6f 6c 2d 76    61 6c 75 65 20 73 79 6d 29 29 29 29 0a 0a 28 64  | (t.....(symbol-value.sym))))..(d | 
| ff20 |  65 66 75 6e 20 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  | efun.helpful--insert-section-bre | 
| ff40 |  61 6b 20 28 29 0a 20 20 22 49 6e 73 65 72 74 20    73 65 63 74 69 6f 6e 20 62 72 65 61 6b 20 69 6e  | ak.()..."Insert.section.break.in | 
| ff60 |  74 6f 20 68 65 6c 70 66 75 6c 20 62 75 66 66 65    72 2e 22 0a 20 20 28 69 6e 73 65 72 74 20 22 5c  | to.helpful.buffer."...(insert."\ | 
| ff80 |  6e 5c 6e 22 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 74 2d 69  | n\n"))..(defun.helpful--insert-i | 
| ffa0 |  6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 28    29 0a 20 20 22 57 68 65 6e 20 60 68 65 6c 70 66  | mplementations.()..."When.`helpf | 
| ffc0 |  75 6c 2d 2d 73 79 6d 27 20 69 73 20 61 20 67 65    6e 65 72 69 63 20 6d 65 74 68 6f 64 2c 20 69 6e  | ul--sym'.is.a.generic.method,.in | 
| ffe0 |  73 65 72 74 20 69 74 73 20 69 6d 70 6c 65 6d 65    6e 74 61 74 69 6f 6e 73 2e 22 0a 20 20 28 6c 65  | sert.its.implementations."...(le | 
| 10000 |  74 20 28 28 66 75 6e 63 20 68 65 6c 70 66 75 6c    2d 2d 73 79 6d 29 0a 20 20 20 20 20 20 20 20 28  | t.((func.helpful--sym).........( | 
| 10020 |  63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 28 77    68 65 6e 20 28 66 62 6f 75 6e 64 70 20 23 27 63  | content)).....(when.(fboundp.#'c | 
| 10040 |  6c 2d 2d 67 65 6e 65 72 69 63 2d 64 65 73 63 72    69 62 65 29 0a 20 20 20 20 20 20 28 77 69 74 68  | l--generic-describe).......(with | 
| 10060 |  2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20    20 20 20 20 20 28 64 65 63 6c 61 72 65 2d 66 75  | -temp-buffer.........(declare-fu | 
| 10080 |  6e 63 74 69 6f 6e 20 63 6c 2d 2d 67 65 6e 65 72    69 63 2d 64 65 73 63 72 69 62 65 20 22 63 6c 2d  | nction.cl--generic-describe."cl- | 
| 100a0 |  67 65 6e 65 72 69 63 22 20 28 66 75 6e 63 74 69    6f 6e 29 29 0a 20 20 20 20 20 20 20 20 28 63 6c  | generic".(function)).........(cl | 
| 100c0 |  2d 2d 67 65 6e 65 72 69 63 2d 64 65 73 63 72 69    62 65 20 66 75 6e 63 29 0a 20 20 20 20 20 20 20  | --generic-describe.func)........ | 
| 100e0 |  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 20 20 20  | .(goto-char.(point-min))........ | 
| 10100 |  20 28 77 68 65 6e 20 28 72 65 2d 73 65 61 72 63    68 2d 66 6f 72 77 61 72 64 20 22 5e 49 6d 70 6c  | .(when.(re-search-forward."^Impl | 
| 10120 |  65 6d 65 6e 74 61 74 69 6f 6e 73 3a 24 22 20 6e    69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20  | ementations:$".nil.t)........... | 
| 10140 |  28 73 65 74 71 20 63 6f 6e 74 65 6e 74 20 28 62    75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20  | (setq.content.(buffer-substring. | 
| 10160 |  28 70 6f 69 6e 74 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 77  | (point).(point-max))))).......(w | 
| 10180 |  68 65 6e 20 63 6f 6e 74 65 6e 74 0a 20 20 20 20    20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 69 6e  | hen.content.........(helpful--in | 
| 101a0 |  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 20 20 28 69 6e 73  | sert-section-break).........(ins | 
| 101c0 |  65 72 74 20 28 68 65 6c 70 66 75 6c 2d 2d 68 65    61 64 69 6e 67 20 22 49 6d 70 6c 65 6d 65 6e 74  | ert.(helpful--heading."Implement | 
| 101e0 |  61 74 69 6f 6e 73 22 29 20 28 73 2d 74 72 69 6d    20 63 6f 6e 74 65 6e 74 29 29 29 29 29 29 0a 0a  | ations").(s-trim.content)))))).. | 
| 10200 |  28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d    63 61 6c 63 75 6c 61 74 65 2d 72 65 66 65 72 65  | (defun.helpful--calculate-refere | 
| 10220 |  6e 63 65 73 20 28 73 79 6d 20 63 61 6c 6c 61 62    6c 65 2d 70 20 73 6f 75 72 63 65 2d 70 61 74 68  | nces.(sym.callable-p.source-path | 
| 10240 |  29 0a 20 20 22 43 61 6c 63 75 6c 61 74 65 20 72    65 66 65 72 65 6e 63 65 73 20 66 6f 72 20 53 59  | )..."Calculate.references.for.SY | 
| 10260 |  4d 20 69 6e 20 53 4f 55 52 43 45 2d 50 41 54 48    2e 22 0a 20 20 28 77 68 65 6e 20 73 6f 75 72 63  | M.in.SOURCE-PATH."...(when.sourc | 
| 10280 |  65 2d 70 61 74 68 0a 20 20 20 20 28 6c 65 74 2a    20 28 28 70 72 69 6d 69 74 69 76 65 2d 70 20 28  | e-path.....(let*.((primitive-p.( | 
| 102a0 |  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 61 62 6c  | helpful--primitive-p.sym.callabl | 
| 102c0 |  65 2d 70 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 28 62 75 66 20 28 65 6c 69 73 70 2d 72 65 66  | e-p))............(buf.(elisp-ref | 
| 102e0 |  73 2d 2d 63 6f 6e 74 65 6e 74 73 2d 62 75 66 66    65 72 20 73 6f 75 72 63 65 2d 70 61 74 68 29 29  | s--contents-buffer.source-path)) | 
| 10300 |  0a 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 73    69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20  | ............(positions.......... | 
| 10320 |  20 20 20 28 69 66 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  | ...(if.primitive-p.............. | 
| 10340 |  20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 72  | ...nil...............(helpful--r | 
| 10360 |  65 66 65 72 65 6e 63 65 2d 70 6f 73 69 74 69 6f    6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | eference-positions.............. | 
| 10380 |  20 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 65  | ..helpful--sym.helpful--callable | 
| 103a0 |  2d 70 20 62 75 66 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 28 72 65 74 75 72 6e 2d 76 61 6c  | -p.buf)))............(return-val | 
| 103c0 |  75 65 20 28 2d 2d 6d 61 70 20 28 68 65 6c 70 66    75 6c 2d 2d 6f 75 74 65 72 2d 73 65 78 70 20 62  | ue.(--map.(helpful--outer-sexp.b | 
| 103e0 |  75 66 20 69 74 29 20 70 6f 73 69 74 69 6f 6e 73    29 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d  | uf.it).positions))).......(kill- | 
| 10400 |  62 75 66 66 65 72 20 62 75 66 29 0a 20 20 20 20    20 20 72 65 74 75 72 6e 2d 76 61 6c 75 65 29 29  | buffer.buf).......return-value)) | 
| 10420 |  29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75    6c 2d 2d 6d 61 6b 65 2d 73 68 6f 72 74 64 6f 63  | )..(defun.helpful--make-shortdoc | 
| 10440 |  2d 73 65 6e 74 65 6e 63 65 20 28 73 79 6d 29 0a    20 20 22 4d 61 6b 65 20 61 20 6c 69 6e 65 20 66  | -sentence.(sym)..."Make.a.line.f | 
| 10460 |  6f 72 20 73 68 6f 72 74 64 6f 63 20 67 72 6f 75    70 73 20 6f 66 20 53 59 4d 2e 22 0a 20 20 28 77  | or.shortdoc.groups.of.SYM."...(w | 
| 10480 |  68 65 6e 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 28 2d 77  | hen.(featurep.'shortdoc).....(-w | 
| 104a0 |  68 65 6e 2d 6c 65 74 20 28 67 72 6f 75 70 73 20    28 2d 2d 6d 61 70 20 28 68 65 6c 70 66 75 6c 2d  | hen-let.(groups.(--map.(helpful- | 
| 104c0 |  2d 62 75 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 20 20 20  | -button......................... | 
| 104e0 |  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)......... | 
| 10500 |  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- | 
| 10520 |  73 68 6f 72 74 64 6f 63 2d 62 75 74 74 6f 6e 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | shortdoc-button................. | 
| 10540 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27    73 68 6f 72 74 64 6f 63 2d 67 72 6f 75 70 20 69  | ...............'shortdoc-group.i | 
| 10560 |  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 20 20  | t).............................. | 
| 10580 |  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 29 29  | .(shortdoc-function-groups.sym)) | 
| 105a0 |  29 0a 20 20 20 20 20 20 28 69 66 20 28 3d 20 31    20 28 6c 65 6e 67 74 68 20 67 72 6f 75 70 73 29  | ).......(if.(=.1.(length.groups) | 
| 105c0 |  29 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72    6d 61 74 20 22 4f 74 68 65 72 20 72 65 6c 65 76  | )...........(format."Other.relev | 
| 105e0 |  61 6e 74 20 66 75 6e 63 74 69 6f 6e 73 20 61 72    65 20 64 6f 63 75 6d 65 6e 74 65 64 20 69 6e 20  | ant.functions.are.documented.in. | 
| 10600 |  74 68 65 20 25 73 20 67 72 6f 75 70 2e 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | the.%s.group.".................. | 
| 10620 |  20 28 63 61 72 20 67 72 6f 75 70 73 29 29 0a 20    20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22  | .(car.groups)).........(format." | 
| 10640 |  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 6f 63  | Other.relevant.functions.are.doc | 
| 10660 |  75 6d 65 6e 74 65 64 20 69 6e 20 74 68 65 20 25    73 20 67 72 6f 75 70 73 2e 22 0a 20 20 20 20 20  | umented.in.the.%s.groups."...... | 
| 10680 |  20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63    61 74 20 28 73 2d 6a 6f 69 6e 20 22 2c 20 22 20  | ...........(concat.(s-join.",.". | 
| 106a0 |  28 62 75 74 6c 61 73 74 20 67 72 6f 75 70 73 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | (butlast.groups))............... | 
| 106c0 |  20 20 20 20 20 20 20 20 20 20 22 20 61 6e 64 20    22 20 28 63 61 72 20 28 6c 61 73 74 20 67 72 6f  | ..........".and.".(car.(last.gro | 
| 106e0 |  75 70 73 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 6d 61 6b  | ups))))))))..(defun.helpful--mak | 
| 10700 |  65 2d 6d 61 6e 75 61 6c 2d 62 75 74 74 6f 6e 20    28 73 79 6d 29 0a 20 20 22 4d 61 6b 65 20 6d 61  | e-manual-button.(sym)..."Make.ma | 
| 10720 |  6e 75 61 6c 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  | nual.button.for.SYM."...(helpful | 
| 10740 |  2d 2d 62 75 74 74 6f 6e 0a 20 20 20 22 56 69 65    77 20 69 6e 20 6d 61 6e 75 61 6c 22 0a 20 20 20  | --button...."View.in.manual".... | 
| 10760 |  27 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 27 73 79 6d 62 6f  | 'helpful-manual-button....'symbo | 
| 10780 |  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 74 6f  | l.sym))..(defun.helpful--make-to | 
| 107a0 |  67 67 6c 65 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 65  | ggle-button.(sym.buffer)..."Make | 
| 107c0 |  20 74 6f 67 67 6c 65 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  | .toggle.button.for.SYM.in.BUFFER | 
| 107e0 |  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 54 6f 67 67 6c 65  | ."...(helpful--button...."Toggle | 
| 10800 |  22 0a 20 20 20 27 68 65 6c 70 66 75 6c 2d 74 6f    67 67 6c 65 2d 62 75 74 74 6f 6e 0a 20 20 20 27  | "....'helpful-toggle-button....' | 
| 10820 |  73 79 6d 62 6f 6c 20 73 79 6d 0a 20 20 20 27 62    75 66 66 65 72 20 62 75 66 66 65 72 29 29 0a 0a  | symbol.sym....'buffer.buffer)).. | 
| 10840 |  28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d    6d 61 6b 65 2d 73 65 74 2d 62 75 74 74 6f 6e 20  | (defun.helpful--make-set-button. | 
| 10860 |  28 73 79 6d 20 62 75 66 66 65 72 29 0a 20 20 22    4d 61 6b 65 20 73 65 74 20 62 75 74 74 6f 6e 20  | (sym.buffer)..."Make.set.button. | 
| 10880 |  66 6f 72 20 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  | for.SYM.in.BUFFER."...(helpful-- | 
| 108a0 |  62 75 74 74 6f 6e 0a 20 20 20 22 53 65 74 22 0a    20 20 20 27 68 65 6c 70 66 75 6c 2d 73 65 74 2d  | button...."Set"....'helpful-set- | 
| 108c0 |  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 65 72  | button....'symbol.sym....'buffer | 
| 108e0 |  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 65 2d  | .buffer))..(defun.helpful--make- | 
| 10900 |  74 6f 67 67 6c 65 2d 6c 69 74 65 72 61 6c 2d 62    75 74 74 6f 6e 20 28 29 0a 20 20 22 4d 61 6b 65  | toggle-literal-button.()..."Make | 
| 10920 |  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 0a  | .set.button.for.SYM.in.BUFFER.". | 
| 10940 |  20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74    6f 6e 0a 20 20 20 28 69 66 20 68 65 6c 70 66 75  | ..(helpful--button....(if.helpfu | 
| 10960 |  6c 2d 2d 76 69 65 77 2d 6c 69 74 65 72 61 6c 0a    20 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20  | l--view-literal........;;.TODO:. | 
| 10980 |  6f 6e 6c 79 20 6f 66 66 65 72 20 66 6f 72 20 73    74 72 69 6e 67 73 20 74 68 61 74 20 68 61 76 65  | only.offer.for.strings.that.have | 
| 109a0 |  20 6e 65 77 6c 69 6e 65 73 2c 20 74 61 62 73 20    6f 72 0a 20 20 20 20 20 20 20 3b 3b 20 70 72 6f  | .newlines,.tabs.or........;;.pro | 
| 109c0 |  70 65 72 74 69 65 73 2e 0a 20 20 20 20 20 20 20    22 50 72 65 74 74 79 20 76 69 65 77 22 0a 20 20  | perties........."Pretty.view"... | 
| 109e0 |  20 20 20 22 56 69 65 77 20 61 73 20 6c 69 74 65    72 61 6c 22 29 0a 20 20 20 27 68 65 6c 70 66 75  | ..."View.as.literal")....'helpfu | 
| 10a00 |  6c 2d 76 69 65 77 2d 6c 69 74 65 72 61 6c 2d 62    75 74 74 6f 6e 29 29 0a 0a 28 64 65 66 75 6e 20  | l-view-literal-button))..(defun. | 
| 10a20 |  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 74 6f 6e 20 28  | helpful--make-customize-button.( | 
| 10a40 |  73 79 6d 29 0a 20 20 22 4d 61 6b 65 20 63 75 73    74 6f 6d 69 7a 65 20 62 75 74 74 6f 6e 20 66 6f  | sym)..."Make.customize.button.fo | 
| 10a60 |  72 20 53 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 22 43  | r.SYM."...(helpful--button...."C | 
| 10a80 |  75 73 74 6f 6d 69 7a 65 22 0a 20 20 20 27 68 65    6c 70 66 75 6c 2d 63 75 73 74 6f 6d 69 7a 65 2d  | ustomize"....'helpful-customize- | 
| 10aa0 |  62 75 74 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  | button....'symbol.sym))..(defun. | 
| 10ac0 |  68 65 6c 70 66 75 6c 2d 2d 6d 61 6b 65 2d 72 65    66 65 72 65 6e 63 65 73 2d 62 75 74 74 6f 6e 20  | helpful--make-references-button. | 
| 10ae0 |  28 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29    0a 20 20 22 4d 61 6b 65 20 72 65 66 65 72 65 6e  | (sym.callable-p)..."Make.referen | 
| 10b00 |  63 65 73 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  | ces.button.for.SYM."...(helpful- | 
| 10b20 |  2d 62 75 74 74 6f 6e 0a 20 20 20 22 46 69 6e 64    20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 73 22  | -button...."Find.all.references" | 
| 10b40 |  0a 20 20 20 27 68 65 6c 70 66 75 6c 2d 61 6c 6c    2d 72 65 66 65 72 65 6e 63 65 73 2d 62 75 74 74  | ....'helpful-all-references-butt | 
| 10b60 |  6f 6e 0a 20 20 20 27 73 79 6d 62 6f 6c 20 73 79    6d 0a 20 20 20 27 63 61 6c 6c 61 62 6c 65 2d 70  | on....'symbol.sym....'callable-p | 
| 10b80 |  20 63 61 6c 6c 61 62 6c 65 2d 70 29 29 0a 0a 28    64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6d  | .callable-p))..(defun.helpful--m | 
| 10ba0 |  61 6b 65 2d 65 64 65 62 75 67 2d 62 75 74 74 6f    6e 20 28 73 79 6d 29 0a 20 20 22 4d 61 6b 65 20  | ake-edebug-button.(sym)..."Make. | 
| 10bc0 |  65 64 65 62 75 67 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  | edebug.button.for.SYM."...(helpf | 
| 10be0 |  75 6c 2d 2d 62 75 74 74 6f 6e 0a 20 20 20 28 66    6f 72 6d 61 74 20 22 25 73 20 65 64 65 62 75 67  | ul--button....(format."%s.edebug | 
| 10c00 |  22 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66    20 28 68 65 6c 70 66 75 6c 2d 2d 65 64 65 62 75  | "............(if.(helpful--edebu | 
| 10c20 |  67 2d 70 20 73 79 6d 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 22 44 69 73 61 62 6c 65  | g-p.sym)................"Disable | 
| 10c40 |  22 20 22 45 6e 61 62 6c 65 22 29 29 0a 20 20 20    27 68 65 6c 70 66 75 6c 2d 65 64 65 62 75 67 2d  | "."Enable"))....'helpful-edebug- | 
| 10c60 |  62 75 74 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  | button....'symbol.sym))..(defun. | 
| 10c80 |  68 65 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 28 73 79  | helpful--make-tracing-button.(sy | 
| 10ca0 |  6d 29 0a 20 20 22 4d 61 6b 65 20 74 72 61 63 69    6e 67 20 62 75 74 74 6f 6e 20 66 6f 72 20 53 59  | m)..."Make.tracing.button.for.SY | 
| 10cc0 |  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 61  | M."...(helpful--button....(forma | 
| 10ce0 |  74 20 22 25 73 20 74 72 61 63 69 6e 67 22 0a 20    20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 74  | t."%s.tracing"............(if.(t | 
| 10d00 |  72 61 63 65 2d 69 73 2d 74 72 61 63 65 64 20 73    79 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | race-is-traced.sym)............. | 
| 10d20 |  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 6c 70  | ..."Disable"."Enable"))....'help | 
| 10d40 |  66 75 6c 2d 74 72 61 63 65 2d 62 75 74 74 6f 6e    0a 20 20 20 27 73 79 6d 62 6f 6c 20 73 79 6d 29  | ful-trace-button....'symbol.sym) | 
| 10d60 |  29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75    6c 2d 2d 6d 61 6b 65 2d 64 69 73 61 73 73 65 6d  | )..(defun.helpful--make-disassem | 
| 10d80 |  62 6c 65 2d 62 75 74 74 6f 6e 20 28 6f 62 6a 29    0a 20 20 22 4d 61 6b 65 20 64 69 73 61 73 73 65  | ble-button.(obj)..."Make.disasse | 
| 10da0 |  6d 62 6c 65 20 62 75 74 74 6f 6e 20 66 6f 72 20    4f 42 4a 2e 0a 4f 42 4a 20 6d 61 79 20 62 65 20  | mble.button.for.OBJ..OBJ.may.be. | 
| 10dc0 |  61 20 73 79 6d 62 6f 6c 20 6f 72 20 61 20 63 6f    6d 70 69 6c 65 64 20 66 75 6e 63 74 69 6f 6e 20  | a.symbol.or.a.compiled.function. | 
| 10de0 |  6f 62 6a 65 63 74 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  | object."...(helpful--button...." | 
| 10e00 |  44 69 73 61 73 73 65 6d 62 6c 65 22 0a 20 20 20    27 68 65 6c 70 66 75 6c 2d 64 69 73 61 73 73 65  | Disassemble"....'helpful-disasse | 
| 10e20 |  6d 62 6c 65 2d 62 75 74 74 6f 6e 0a 20 20 20 27    6f 62 6a 65 63 74 20 6f 62 6a 29 29 0a 0a 28 64  | mble-button....'object.obj))..(d | 
| 10e40 |  65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 2d 6d 61    6b 65 2d 72 75 6e 2d 74 65 73 74 2d 62 75 74 74  | efun.helpful--make-run-test-butt | 
| 10e60 |  6f 6e 20 28 73 79 6d 29 0a 20 20 22 4d 61 6b 65    20 61 6e 20 45 52 54 20 74 65 73 74 20 62 75 74  | on.(sym)..."Make.an.ERT.test.but | 
| 10e80 |  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 74 6f 6e  | ton.for.SYM."...(helpful--button | 
| 10ea0 |  0a 20 20 20 22 52 75 6e 20 74 65 73 74 22 0a 20    20 20 27 68 65 6c 70 66 75 6c 2d 72 75 6e 2d 74  | ...."Run.test"....'helpful-run-t | 
| 10ec0 |  65 73 74 2d 62 75 74 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  | est-button....'symbol.sym))..(de | 
| 10ee0 |  66 75 6e 20 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 6f 6e 20  | fun.helpful--make-forget-button. | 
| 10f00 |  28 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70 29    0a 20 20 22 4d 61 6b 65 20 66 6f 72 67 65 74 20  | (sym.callable-p)..."Make.forget. | 
| 10f20 |  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 | 
| 10f40 |  74 6f 6e 0a 20 20 20 22 46 6f 72 67 65 74 22 0a    20 20 20 27 68 65 6c 70 66 75 6c 2d 66 6f 72 67  | ton...."Forget"....'helpful-forg | 
| 10f60 |  65 74 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 63 61 6c  | et-button....'symbol.sym....'cal | 
| 10f80 |  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 75 6e 20 68 65 6c  | lable-p.callable-p))..(defun.hel | 
| 10fa0 |  70 66 75 6c 2d 2d 6d 61 6b 65 2d 63 61 6c 6c 65    65 73 2d 62 75 74 74 6f 6e 20 28 73 79 6d 20 73  | pful--make-callees-button.(sym.s | 
| 10fc0 |  6f 75 72 63 65 29 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  | ource)...(helpful--button....(fo | 
| 10fe0 |  72 6d 61 74 20 22 46 75 6e 63 74 69 6f 6e 73 20    75 73 65 64 20 62 79 20 25 73 22 20 73 79 6d 29  | rmat."Functions.used.by.%s".sym) | 
| 11000 |  0a 20 20 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 20 20 27  | ....'helpful-callees-button....' | 
| 11020 |  73 79 6d 62 6f 6c 20 73 79 6d 0a 20 20 20 27 73    6f 75 72 63 65 20 73 6f 75 72 63 65 29 29 0a 0a  | symbol.sym....'source.source)).. | 
| 11040 |  3b 3b 20 54 4f 44 4f 3a 20 74 68 69 73 20 6f 6e    6c 79 20 72 65 70 6f 72 74 73 20 69 66 20 61 20  | ;;.TODO:.this.only.reports.if.a. | 
| 11060 |  66 75 6e 63 74 69 6f 6e 20 69 73 20 61 75 74 6f    6c 6f 61 64 65 64 20 62 65 63 61 75 73 65 20 77  | function.is.autoloaded.because.w | 
| 11080 |  65 0a 3b 3b 20 61 75 74 6f 6c 6f 61 64 65 64 20    69 74 2e 20 54 68 69 73 20 69 67 6e 6f 72 65 73  | e.;;.autoloaded.it..This.ignores | 
| 110a0 |  20 6e 65 77 6c 79 20 64 65 66 69 6e 65 64 20 66    75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 61 72  | .newly.defined.functions.that.ar | 
| 110c0 |  65 0a 3b 3b 20 61 75 74 6f 6c 6f 61 64 65 64 2e    20 42 75 69 6c 74 2d 69 6e 20 68 65 6c 70 20 68  | e.;;.autoloaded..Built-in.help.h | 
| 110e0 |  61 73 20 74 68 69 73 20 6c 69 6d 69 74 61 74 69    6f 6e 20 74 6f 6f 2c 20 62 75 74 20 69 66 20 77  | as.this.limitation.too,.but.if.w | 
| 11100 |  65 20 63 61 6e 0a 3b 3b 20 66 69 6e 64 20 74 68    65 20 73 6f 75 72 63 65 2c 20 77 65 20 73 68 6f  | e.can.;;.find.the.source,.we.sho | 
| 11120 |  75 6c 64 20 69 6e 73 74 65 61 64 20 73 65 65 20    69 66 20 74 68 65 72 65 27 73 20 61 6e 20 61 75  | uld.instead.see.if.there's.an.au | 
| 11140 |  74 6f 6c 6f 61 64 0a 3b 3b 20 63 6f 6f 6b 69 65    2e 0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c  | toload.;;.cookie..(defun.helpful | 
| 11160 |  2d 2d 61 75 74 6f 6c 6f 61 64 65 64 2d 70 20 28    73 79 6d 20 62 75 66 29 0a 20 20 22 52 65 74 75  | --autoloaded-p.(sym.buf)..."Retu | 
| 11180 |  72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 66 75    6e 63 74 69 6f 6e 20 53 59 4d 20 69 73 20 61 75  | rn.non-nil.if.function.SYM.is.au | 
| 111a0 |  74 6f 6c 6f 61 64 65 64 2e 22 0a 20 20 28 2d 77    68 65 6e 2d 6c 65 74 20 28 66 69 6c 65 2d 6e 61  | toloaded."...(-when-let.(file-na | 
| 111c0 |  6d 65 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d    6e 61 6d 65 20 62 75 66 29 29 0a 20 20 20 20 28  | me.(buffer-file-name.buf)).....( | 
| 111e0 |  73 65 74 71 20 66 69 6c 65 2d 6e 61 6d 65 20 28    73 2d 63 68 6f 70 2d 73 75 66 66 69 78 20 22 2e  | setq.file-name.(s-chop-suffix.". | 
| 11200 |  67 7a 22 20 66 69 6c 65 2d 6e 61 6d 65 29 29 0a    20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63  | gz".file-name)).....(condition-c | 
| 11220 |  61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20    28 68 65 6c 70 2d 66 6e 73 2d 2d 61 75 74 6f 6c  | ase.nil.........(help-fns--autol | 
| 11240 |  6f 61 64 65 64 2d 70 20 73 79 6d 20 66 69 6c 65    2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 3b 20 6e  | oaded-p.sym.file-name).......;.n | 
| 11260 |  65 77 20 69 6e 20 45 6d 61 63 73 20 32 39 2e 30    2e 35 30 0a 20 20 20 20 20 20 3b 20 73 65 65 20  | ew.in.Emacs.29.0.50.......;.see. | 
| 11280 |  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 65 6c 70 66  | https://github.com/Wilfred/helpf | 
| 112a0 |  75 6c 2f 70 75 6c 6c 2f 32 38 33 0a 20 20 20 20    20 20 28 65 72 72 6f 72 20 28 68 65 6c 70 2d 66  | ul/pull/283.......(error.(help-f | 
| 112c0 |  6e 73 2d 2d 61 75 74 6f 6c 6f 61 64 65 64 2d 70    20 73 79 6d 29 29 29 29 29 0a 0a 28 64 65 66 75  | ns--autoloaded-p.sym)))))..(defu | 
| 112e0 |  6e 20 68 65 6c 70 66 75 6c 2d 2d 63 6f 6d 70 69    6c 65 64 2d 70 20 28 73 79 6d 29 0a 20 20 22 52  | n.helpful--compiled-p.(sym)..."R | 
| 11300 |  65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66    20 66 75 6e 63 74 69 6f 6e 20 53 59 4d 20 69 73  | eturn.non-nil.if.function.SYM.is | 
| 11320 |  20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 64 22 0a    20 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20  | .byte-compiled"...(and.(symbolp. | 
| 11340 |  73 79 6d 29 0a 20 20 20 20 20 20 20 28 62 79 74    65 2d 63 6f 64 65 2d 66 75 6e 63 74 69 6f 6e 2d  | sym)........(byte-code-function- | 
| 11360 |  70 20 28 73 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  | p.(symbol-function.sym))))..(def | 
| 11380 |  75 6e 20 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 20 28 73  | un.helpful--native-compiled-p.(s | 
| 113a0 |  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 6e 63 74 69 6f  | ym)..."Return.non-nil.if.functio | 
| 113c0 |  6e 20 53 59 4d 20 69 73 20 6e 61 74 69 76 65 2d    63 6f 6d 70 69 6c 65 64 22 0a 20 20 28 61 6e 64  | n.SYM.is.native-compiled"...(and | 
| 113e0 |  20 28 73 79 6d 62 6f 6c 70 20 73 79 6d 29 0a 20    20 20 20 20 20 20 28 66 62 6f 75 6e 64 70 20 27  | .(symbolp.sym)........(fboundp.' | 
| 11400 |  73 75 62 72 2d 6e 61 74 69 76 65 2d 65 6c 69 73    70 2d 70 29 0a 20 20 20 20 20 20 20 28 73 75 62  | subr-native-elisp-p)........(sub | 
| 11420 |  72 2d 6e 61 74 69 76 65 2d 65 6c 69 73 70 2d 70    20 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f  | r-native-elisp-p.(symbol-functio | 
| 11440 |  6e 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 6a 6f 69 6e 2d  | n.sym))))..(defun.helpful--join- | 
| 11460 |  61 6e 64 20 28 69 74 65 6d 73 29 0a 20 20 22 4a    6f 69 6e 20 61 20 6c 69 73 74 20 6f 66 20 73 74  | and.(items)..."Join.a.list.of.st | 
| 11480 |  72 69 6e 67 73 20 77 69 74 68 20 63 6f 6d 6d 61    73 20 61 6e 64 20 5c 22 61 6e 64 5c 22 2e 22 0a  | rings.with.commas.and.\"and\".". | 
| 114a0 |  20 20 28 63 6f 6e 64 0a 20 20 20 28 28 3d 20 28    6c 65 6e 67 74 68 20 69 74 65 6d 73 29 20 30 29  | ..(cond....((=.(length.items).0) | 
| 114c0 |  0a 20 20 20 20 22 22 29 0a 20 20 20 28 28 3d 20    28 6c 65 6e 67 74 68 20 69 74 65 6d 73 29 20 31  | ....."")....((=.(length.items).1 | 
| 114e0 |  29 0a 20 20 20 20 28 63 61 72 20 69 74 65 6d 73    29 29 0a 20 20 20 28 74 0a 20 20 20 20 28 66 6f  | ).....(car.items))....(t.....(fo | 
| 11500 |  72 6d 61 74 20 22 25 73 20 61 6e 64 20 25 73 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 2d  | rmat."%s.and.%s".............(s- | 
| 11520 |  6a 6f 69 6e 20 22 2c 20 22 20 28 2d 64 72 6f 70    2d 6c 61 73 74 20 31 20 69 74 65 6d 73 29 29 0a  | join.",.".(-drop-last.1.items)). | 
| 11540 |  20 20 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61    73 74 2d 69 74 65 6d 20 69 74 65 6d 73 29 29 29  | ............(-last-item.items))) | 
| 11560 |  29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66    75 6c 2d 2d 73 75 6d 6d 61 72 79 20 28 73 79 6d  | ))..(defun.helpful--summary.(sym | 
| 11580 |  20 63 61 6c 6c 61 62 6c 65 2d 70 20 62 75 66 20    70 6f 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61  | .callable-p.buf.pos)..."Return.a | 
| 115a0 |  20 6f 6e 65 20 73 65 6e 74 65 6e 63 65 20 73 75    6d 6d 61 72 79 20 66 6f 72 20 53 59 4d 2e 22 0a  | .one.sentence.summary.for.SYM.". | 
| 115c0 |  20 20 28 2d 6c 65 74 2a 20 28 28 70 72 69 6d 69    74 69 76 65 2d 70 20 28 68 65 6c 70 66 75 6c 2d  | ..(-let*.((primitive-p.(helpful- | 
| 115e0 |  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 29 0a 20 20  | -primitive-p.sym.callable-p))... | 
| 11600 |  20 20 20 20 20 20 20 20 28 63 61 6e 6f 6e 69 63    61 6c 2d 73 79 6d 20 28 68 65 6c 70 66 75 6c 2d  | ........(canonical-sym.(helpful- | 
| 11620 |  2d 63 61 6e 6f 6e 69 63 61 6c 2d 73 79 6d 62 6f    6c 20 73 79 6d 20 63 61 6c 6c 61 62 6c 65 2d 70  | -canonical-symbol.sym.callable-p | 
| 11640 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 6c    69 61 73 2d 70 20 28 6e 6f 74 20 28 65 71 20 63  | ))...........(alias-p.(not.(eq.c | 
| 11660 |  61 6e 6f 6e 69 63 61 6c 2d 73 79 6d 20 73 79 6d    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61  | anonical-sym.sym)))...........(a | 
| 11680 |  6c 69 61 73 2d 62 75 74 74 6f 6e 0a 20 20 20 20    20 20 20 20 20 20 20 28 69 66 20 63 61 6c 6c 61  | lias-button............(if.calla | 
| 116a0 |  62 6c 65 2d 70 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3b 3b 20 53 68 6f 77 20 61 20 6c  | ble-p................;;.Show.a.l | 
| 116c0 |  69 6e 6b 20 74 6f 20 27 64 65 66 61 6c 69 61 73    27 20 69 6e 20 74 68 65 20 6d 61 6e 75 61 6c 2e  | ink.to.'defalias'.in.the.manual. | 
| 116e0 |  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 62 75 74 74 6f 6e  | ................(helpful--button | 
| 11700 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 22 66 75 6e 63 74 69 6f 6e 20 61 6c 69 61 73  | ................."function.alias | 
| 11720 |  22 0a 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 6d 61 6e 75 61  | ".................'helpful-manua | 
| 11740 |  6c 2d 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 27 73 79 6d 62 6f 6c  | l-button.................'symbol | 
| 11760 |  20 27 64 65 66 61 6c 69 61 73 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 3b 3b 20 53 68 6f 77  | .'defalias)..............;;.Show | 
| 11780 |  20 61 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 76    61 72 69 61 62 6c 65 20 61 6c 69 61 73 65 73 20  | .a.link.to.the.variable.aliases. | 
| 117a0 |  73 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6d  | section.in.the..............;;.m | 
| 117c0 |  61 6e 75 61 6c 2e 0a 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  | anual...............(helpful--bu | 
| 117e0 |  74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 22 61 6c 69 61 73 22 0a 20 20 20 20 20  | tton..............."alias"...... | 
| 11800 |  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... | 
| 11820 |  20 20 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  | ............'info-node."(elisp)V | 
| 11840 |  61 72 69 61 62 6c 65 20 41 6c 69 61 73 65 73 22    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73  | ariable.Aliases")))...........(s | 
| 11860 |  70 65 63 69 61 6c 2d 66 6f 72 6d 2d 62 75 74 74    6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 68  | pecial-form-button............(h | 
| 11880 |  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 73 70 65 63  | elpful--button............."spec | 
| 118a0 |  69 61 6c 20 66 6f 72 6d 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 27 68 65 6c 70 66 75 6c 2d 69  | ial.form".............'helpful-i | 
| 118c0 |  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 6e 6f 64  | nfo-button.............'info-nod | 
| 118e0 |  65 20 22 28 65 6c 69 73 70 29 53 70 65 63 69 61    6c 20 46 6f 72 6d 73 22 29 29 0a 20 20 20 20 20  | e."(elisp)Special.Forms"))...... | 
| 11900 |  20 20 20 20 20 28 75 73 65 72 2d 6f 70 74 69 6f    6e 2d 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20  | .....(user-option-button........ | 
| 11920 |  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 20 20 20 20  | ....(helpful--button............ | 
| 11940 |  20 22 63 75 73 74 6f 6d 69 7a 61 62 6c 65 22 0a    20 20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c  | ."customizable".............'hel | 
| 11960 |  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 20 20 20 27 69 6e  | pful-info-button.............'in | 
| 11980 |  66 6f 2d 6e 6f 64 65 20 22 28 65 6c 69 73 70 29    56 61 72 69 61 62 6c 65 20 44 65 66 69 6e 69 74  | fo-node."(elisp)Variable.Definit | 
| 119a0 |  69 6f 6e 73 22 29 29 0a 20 20 20 20 20 20 20 20    20 20 28 6b 65 79 62 6f 61 72 64 2d 6d 61 63 72  | ions"))...........(keyboard-macr | 
| 119c0 |  6f 2d 62 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  | o-button............(helpful--bu | 
| 119e0 |  74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20    20 22 6b 65 79 62 6f 61 72 64 20 6d 61 63 72 6f  | tton............."keyboard.macro | 
| 11a00 |  22 0a 20 20 20 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  | ".............'helpful-info-butt | 
| 11a20 |  6f 6e 0a 20 20 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  | on.............'info-node."(elis | 
| 11a40 |  70 29 4b 65 79 62 6f 61 72 64 20 4d 61 63 72 6f    73 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28  | p)Keyboard.Macros"))...........( | 
| 11a60 |  69 6e 74 65 72 61 63 74 69 76 65 2d 62 75 74 74    6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 68  | interactive-button............(h | 
| 11a80 |  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 69 6e 74 65  | elpful--button............."inte | 
| 11aa0 |  72 61 63 74 69 76 65 22 0a 20 20 20 20 20 20 20    20 20 20 20 20 27 68 65 6c 70 66 75 6c 2d 69 6e  | ractive".............'helpful-in | 
| 11ac0 |  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 6e 6f 64 65  | fo-button.............'info-node | 
| 11ae0 |  20 22 28 65 6c 69 73 70 29 55 73 69 6e 67 20 49    6e 74 65 72 61 63 74 69 76 65 22 29 29 0a 20 20  | ."(elisp)Using.Interactive"))... | 
| 11b00 |  20 20 20 20 20 20 20 20 28 61 75 74 6f 6c 6f 61    64 2d 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20  | ........(autoload-button........ | 
| 11b20 |  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 20 20 20 20  | ....(helpful--button............ | 
| 11b40 |  20 22 61 75 74 6f 6c 6f 61 64 65 64 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 27 68 65 6c 70 66  | ."autoloaded".............'helpf | 
| 11b60 |  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 6f  | ul-info-button.............'info | 
| 11b80 |  2d 6e 6f 64 65 20 22 28 65 6c 69 73 70 29 41 75    74 6f 6c 6f 61 64 22 29 29 0a 20 20 20 20 20 20  | -node."(elisp)Autoload"))....... | 
| 11ba0 |  20 20 20 20 28 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  | ....(compiled-button............ | 
| 11bc0 |  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 79  | (helpful--button............."by | 
| 11be0 |  74 65 2d 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  | te-compiled".............'helpfu | 
| 11c00 |  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- | 
| 11c20 |  6e 6f 64 65 20 22 28 65 6c 69 73 70 29 42 79 74    65 20 43 6f 6d 70 69 6c 61 74 69 6f 6e 22 29 29  | node."(elisp)Byte.Compilation")) | 
| 11c40 |  0a 20 20 20 20 20 20 20 20 20 20 28 6e 61 74 69    76 65 2d 63 6f 6d 70 69 6c 65 64 2d 62 75 74 74  | ...........(native-compiled-butt | 
| 11c60 |  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 6e 0a 20  | on............(helpful--button.. | 
| 11c80 |  20 20 20 20 20 20 20 20 20 20 20 22 6e 61 74 69    76 65 6c 79 20 63 6f 6d 70 69 6c 65 64 22 0a 20  | ..........."natively.compiled".. | 
| 11ca0 |  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 62 75 74  | ...........'helpful-describe-but | 
| 11cc0 |  74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20    27 73 79 6d 62 6f 6c 20 27 6e 61 74 69 76 65 2d  | ton.............'symbol.'native- | 
| 11ce0 |  63 6f 6d 70 69 6c 65 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 62 75 66 66 65 72 2d 6c 6f 63 61  | compile))...........(buffer-loca | 
| 11d00 |  6c 2d 62 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  | l-button............(helpful--bu | 
| 11d20 |  74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20    20 22 62 75 66 66 65 72 2d 6c 6f 63 61 6c 22 0a  | tton............."buffer-local". | 
| 11d40 |  20 20 20 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  | ............'helpful-info-button | 
| 11d60 |  0a 20 20 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  | .............'info-node."(elisp) | 
| 11d80 |  42 75 66 66 65 72 2d 4c 6f 63 61 6c 20 56 61 72    69 61 62 6c 65 73 22 29 29 0a 20 20 20 20 20 20  | Buffer-Local.Variables"))....... | 
| 11da0 |  20 20 20 20 28 61 75 74 6f 6c 6f 61 64 65 64 2d    70 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 6e  | ....(autoloaded-p............(an | 
| 11dc0 |  64 20 63 61 6c 6c 61 62 6c 65 2d 70 20 62 75 66    20 28 68 65 6c 70 66 75 6c 2d 2d 61 75 74 6f 6c  | d.callable-p.buf.(helpful--autol | 
| 11de0 |  6f 61 64 65 64 2d 70 20 73 79 6d 20 62 75 66 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f  | oaded-p.sym.buf)))...........(co | 
| 11e00 |  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 6c  | mpiled-p............(and.callabl | 
| 11e20 |  65 2d 70 20 28 68 65 6c 70 66 75 6c 2d 2d 63 6f    6d 70 69 6c 65 64 2d 70 20 73 79 6d 29 29 29 0a  | e-p.(helpful--compiled-p.sym))). | 
| 11e40 |  20 20 20 20 20 20 20 20 20 20 28 6e 61 74 69 76    65 2d 63 6f 6d 70 69 6c 65 64 2d 70 0a 20 20 20  | ..........(native-compiled-p.... | 
| 11e60 |  20 20 20 20 20 20 20 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  | ........(and.callable-p.(helpful | 
| 11e80 |  2d 2d 6e 61 74 69 76 65 2d 63 6f 6d 70 69 6c 65    64 2d 70 20 73 79 6d 29 29 29 0a 20 20 20 20 20  | --native-compiled-p.sym)))...... | 
| 11ea0 |  20 20 20 20 20 28 62 75 74 74 6f 6e 73 0a 20 20    20 20 20 20 20 20 20 20 20 28 6c 69 73 74 0a 20  | .....(buttons............(list.. | 
| 11ec0 |  20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 61    6c 69 61 73 2d 70 20 61 6c 69 61 73 2d 62 75 74  | ...........(if.alias-p.alias-but | 
| 11ee0 |  74 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 69 66 20 28 61 6e 64 20 63 61 6c 6c 61 62  | ton).............(if.(and.callab | 
| 11f00 |  6c 65 2d 70 20 61 75 74 6f 6c 6f 61 64 65 64 2d    70 29 20 61 75 74 6f 6c 6f 61 64 2d 62 75 74 74  | le-p.autoloaded-p).autoload-butt | 
| 11f20 |  6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    28 69 66 20 28 61 6e 64 20 63 61 6c 6c 61 62 6c  | on).............(if.(and.callabl | 
| 11f40 |  65 2d 70 20 28 63 6f 6d 6d 61 6e 64 70 20 73 79    6d 29 29 20 69 6e 74 65 72 61 63 74 69 76 65 2d  | e-p.(commandp.sym)).interactive- | 
| 11f60 |  62 75 74 74 6f 6e 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 69 66 20 63 6f 6d 70 69 6c 65 64  | button).............(if.compiled | 
| 11f80 |  2d 70 20 63 6f 6d 70 69 6c 65 64 2d 62 75 74 74    6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | -p.compiled-button)............. | 
| 11fa0 |  28 69 66 20 6e 61 74 69 76 65 2d 63 6f 6d 70 69    6c 65 64 2d 70 20 6e 61 74 69 76 65 2d 63 6f 6d  | (if.native-compiled-p.native-com | 
| 11fc0 |  70 69 6c 65 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 20 28 61  | piled-button).............(if.(a | 
| 11fe0 |  6e 64 20 28 6e 6f 74 20 63 61 6c 6c 61 62 6c 65    2d 70 29 20 28 63 75 73 74 6f 6d 2d 76 61 72 69  | nd.(not.callable-p).(custom-vari | 
| 12000 |  61 62 6c 65 2d 70 20 73 79 6d 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65  | able-p.sym)).................use | 
| 12020 |  72 2d 6f 70 74 69 6f 6e 2d 62 75 74 74 6f 6e 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66  | r-option-button).............(if | 
| 12040 |  20 28 61 6e 64 20 28 6e 6f 74 20 63 61 6c 6c 61    62 6c 65 2d 70 29 20 28 6c 6f 63 61 6c 2d 76 61  | .(and.(not.callable-p).(local-va | 
| 12060 |  72 69 61 62 6c 65 2d 69 66 2d 73 65 74 2d 70 20    73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20  | riable-if-set-p.sym))........... | 
| 12080 |  20 20 20 20 20 20 62 75 66 66 65 72 2d 6c 6f 63    61 6c 2d 62 75 74 74 6f 6e 29 29 29 0a 20 20 20  | ......buffer-local-button))).... | 
| 120a0 |  20 20 20 20 20 20 20 28 64 65 73 63 72 69 70 74    69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28  | .......(description............( | 
| 120c0 |  68 65 6c 70 66 75 6c 2d 2d 6a 6f 69 6e 2d 61 6e    64 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 62 75 74 74  | helpful--join-and.(-non-nil.butt | 
| 120e0 |  6f 6e 73 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 28 6b 69 6e 64 0a 20 20 20 20 20 20 20 20 20  | ons)))...........(kind.......... | 
| 12100 |  20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 28 73 70 65 63 69 61 6c 2d 66 6f  | ..(cond.............((special-fo | 
| 12120 |  72 6d 2d 70 20 73 79 6d 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 73 70 65 63 69 61 6c 2d 66  | rm-p.sym)..............special-f | 
| 12140 |  6f 72 6d 2d 62 75 74 74 6f 6e 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 28 61 6c 69 61 73 2d 70  | orm-button).............(alias-p | 
| 12160 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66    6f 72 6d 61 74 20 22 66 6f 72 20 25 73 2c 22 0a  | ..............(format."for.%s,". | 
| 12180 |  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 62  | .....................(helpful--b | 
| 121a0 |  75 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 20 28 73 79 6d  | utton.......................(sym | 
| 121c0 |  62 6f 6c 2d 6e 61 6d 65 20 63 61 6e 6f 6e 69 63    61 6c 2d 73 79 6d 29 0a 20 20 20 20 20 20 20 20  | bol-name.canonical-sym)......... | 
| 121e0 |  20 20 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  | ..............'helpful-describe- | 
| 12200 |  65 78 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 20 20 20 20  | exactly-button.................. | 
| 12220 |  20 20 20 20 20 27 73 79 6d 62 6f 6c 20 63 61 6e    6f 6e 69 63 61 6c 2d 73 79 6d 0a 20 20 20 20 20  | .....'symbol.canonical-sym...... | 
| 12240 |  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 65 2d 70 20 63 61 6c  | .................'callable-p.cal | 
| 12260 |  6c 61 62 6c 65 2d 70 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 28 28 6e 6f 74 20 63 61 6c  | lable-p))).............((not.cal | 
| 12280 |  6c 61 62 6c 65 2d 70 29 20 22 76 61 72 69 61 62    6c 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20  | lable-p)."variable")............ | 
| 122a0 |  20 28 28 6d 61 63 72 6f 70 20 73 79 6d 29 20 22    6d 61 63 72 6f 22 29 0a 20 20 20 20 20 20 20 20  | .((macrop.sym)."macro")......... | 
| 122c0 |  20 20 20 20 28 28 68 65 6c 70 66 75 6c 2d 2d 6b    62 64 2d 6d 61 63 72 6f 2d 70 20 73 79 6d 29 20  | ....((helpful--kbd-macro-p.sym). | 
| 122e0 |  6b 65 79 62 6f 61 72 64 2d 6d 61 63 72 6f 2d 62    75 74 74 6f 6e 29 0a 20 20 20 20 20 20 20 20 20  | keyboard-macro-button).......... | 
| 12300 |  20 20 20 28 74 20 22 66 75 6e 63 74 69 6f 6e 22    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64  | ...(t."function")))...........(d | 
| 12320 |  65 66 69 6e 65 64 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  | efined.............(cond........ | 
| 12340 |  20 20 20 20 20 20 28 62 75 66 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28  | ......(buf...............(let.(( | 
| 12360 |  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 29 29 0a 20 20  | path.(buffer-file-name.buf)))... | 
| 12380 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69    66 20 70 61 74 68 0a 20 20 20 20 20 20 20 20 20  | ..............(if.path.......... | 
| 123a0 |  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 20 20 20  | ...........(format.............. | 
| 123c0 |  20 20 20 20 20 20 20 20 22 64 65 66 69 6e 65 64    20 69 6e 20 25 73 22 0a 20 20 20 20 20 20 20 20  | ........"defined.in.%s"......... | 
| 123e0 |  20 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  | .............(helpful--navigate- | 
| 12400 |  62 75 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 20 28 66 69  | button.......................(fi | 
| 12420 |  6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63    74 6f 72 79 20 70 61 74 68 29 20 70 61 74 68 20  | le-name-nondirectory.path).path. | 
| 12440 |  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 66 6f 72 6d 61 74 20  | pos))...................(format. | 
| 12460 |  22 64 65 66 69 6e 65 64 20 69 6e 20 62 75 66 66    65 72 20 25 73 22 0a 20 20 20 20 20 20 20 20 20  | "defined.in.buffer.%s".......... | 
| 12480 |  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 62 75 66 66 65  | .................(helpful--buffe | 
| 124a0 |  72 2d 62 75 74 74 6f 6e 20 62 75 66 20 70 6f 73    29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  | r-button.buf.pos)))))........... | 
| 124c0 |  20 20 20 28 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 22 64  | ...(primitive-p..............."d | 
| 124e0 |  65 66 69 6e 65 64 20 69 6e 20 43 20 73 6f 75 72    63 65 20 63 6f 64 65 22 29 0a 20 20 20 20 20 20  | efined.in.C.source.code")....... | 
| 12500 |  20 20 20 20 20 20 20 28 28 68 65 6c 70 66 75 6c    2d 2d 6b 62 64 2d 6d 61 63 72 6f 2d 70 20 73 79  | .......((helpful--kbd-macro-p.sy | 
| 12520 |  6d 29 20 6e 69 6c 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  | m).nil)..............(t......... | 
| 12540 |  20 20 20 20 20 20 22 77 69 74 68 6f 75 74 20 61    20 73 6f 75 72 63 65 20 66 69 6c 65 22 29 29 29  | ......"without.a.source.file"))) | 
| 12560 |  29 0a 0a 20 20 20 20 28 73 2d 77 6f 72 64 2d 77    72 61 70 0a 20 20 20 20 20 37 30 0a 20 20 20 20  | )......(s-word-wrap......70..... | 
| 12580 |  20 28 66 6f 72 6d 61 74 20 22 25 73 20 69 73 20    25 73 20 25 73 20 25 73 25 73 2e 22 0a 20 20 20  | .(format."%s.is.%s.%s.%s%s.".... | 
| 125a0 |  20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73    79 6d 62 6f 6c 70 20 73 79 6d 29 0a 20 20 20 20  | ..........(if.(symbolp.sym)..... | 
| 125c0 |  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 73 79  | .............(helpful--format-sy | 
| 125e0 |  6d 62 6f 6c 20 73 79 6d 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 22 54 68 69 73 20 6c  | mbol.sym)................"This.l | 
| 12600 |  61 6d 62 64 61 22 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67  | ambda")..............(if.(string | 
| 12620 |  2d 6d 61 74 63 68 2d 70 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 72 78 20 62  | -match-p...................(rx.b | 
| 12640 |  6f 73 20 28 6f 72 20 22 61 22 20 22 65 22 20 22    69 22 20 22 6f 22 20 22 75 22 29 29 0a 20 20 20  | os.(or."a"."e"."i"."o"."u")).... | 
| 12660 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64    65 73 63 72 69 70 74 69 6f 6e 29 0a 20 20 20 20  | ...............description)..... | 
| 12680 |  20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 6e    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ............."an"............... | 
| 126a0 |  20 22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 64 65 73 63 72 69 70 74 69 6f 6e 0a 20  | ."a")..............description.. | 
| 126c0 |  20 20 20 20 20 20 20 20 20 20 20 20 6b 69 6e 64    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69  | ............kind..............(i | 
| 126e0 |  66 20 64 65 66 69 6e 65 64 20 28 63 6f 6e 63 61    74 20 22 20 22 20 64 65 66 69 6e 65 64 29 20 22  | f.defined.(concat.".".defined)." | 
| 12700 |  22 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 6c 65 65 73 20  | ")))))..(defun.helpful--callees. | 
| 12720 |  28 66 6f 72 6d 29 0a 20 20 22 47 69 76 65 6e 20    73 6f 75 72 63 65 20 63 6f 64 65 20 46 4f 52 4d  | (form)..."Given.source.code.FORM | 
| 12740 |  2c 20 72 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 | 
| 12760 |  69 6f 6e 73 20 63 61 6c 6c 65 64 2e 22 0a 20 20    28 6c 65 74 2a 20 28 28 65 78 70 61 6e 64 65 64  | ions.called."...(let*.((expanded | 
| 12780 |  2d 66 6f 72 6d 20 28 6d 61 63 72 6f 65 78 70 61    6e 64 2d 61 6c 6c 20 66 6f 72 6d 29 29 0a 20 20  | -form.(macroexpand-all.form))... | 
| 127a0 |  20 20 20 20 20 20 20 3b 3b 20 46 69 6e 64 20 61    6c 6c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73  | .......;;.Find.all.the.functions | 
| 127c0 |  20 63 61 6c 6c 65 64 20 61 66 74 65 72 20 6d 61    63 72 6f 20 65 78 70 61 6e 73 69 6f 6e 2e 0a 20  | .called.after.macro.expansion... | 
| 127e0 |  20 20 20 20 20 20 20 20 28 61 6c 6c 2d 66 6e 73    20 28 68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 65  | ........(all-fns.(helpful--calle | 
| 12800 |  65 73 2d 31 20 65 78 70 61 6e 64 65 64 2d 66 6f    72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b  | es-1.expanded-form))..........;; | 
| 12820 |  20 4f 6e 6c 79 20 63 6f 6e 73 69 64 65 72 20 74    68 65 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61  | .Only.consider.the.functions.tha | 
| 12840 |  74 20 77 65 72 65 20 69 6e 20 74 68 65 20 6f 72    69 67 69 6e 61 6c 20 63 6f 64 65 0a 20 20 20 20  | t.were.in.the.original.code..... | 
| 12860 |  20 20 20 20 20 3b 3b 20 62 65 66 6f 72 65 20 6d    61 63 72 6f 20 65 78 70 61 6e 73 69 6f 6e 2e 0a  | .....;;.before.macro.expansion.. | 
| 12880 |  20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 2d 73    79 6d 73 20 28 2d 66 69 6c 74 65 72 20 23 27 73  | .........(form-syms.(-filter.#'s | 
| 128a0 |  79 6d 62 6f 6c 70 20 28 2d 66 6c 61 74 74 65 6e    20 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 20  | ymbolp.(-flatten.form)))........ | 
| 128c0 |  20 20 28 66 6f 72 6d 2d 66 6e 73 20 28 2d 2d 66    69 6c 74 65 72 20 28 6d 65 6d 71 20 69 74 20 66  | ..(form-fns.(--filter.(memq.it.f | 
| 128e0 |  6f 72 6d 2d 73 79 6d 73 29 20 61 6c 6c 2d 66 6e    73 29 29 29 0a 20 20 20 20 28 2d 64 69 73 74 69  | orm-syms).all-fns))).....(-disti | 
| 12900 |  6e 63 74 20 66 6f 72 6d 2d 66 6e 73 29 29 29 0a    0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d  | nct.form-fns)))..(defun.helpful- | 
| 12920 |  2d 63 61 6c 6c 65 65 73 2d 31 20 28 66 6f 72 6d    29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69  | -callees-1.(form)..."Return.a.li | 
| 12940 |  73 74 20 6f 66 20 61 6c 6c 20 74 68 65 20 66 75    6e 63 74 69 6f 6e 73 20 63 61 6c 6c 65 64 20 69  | st.of.all.the.functions.called.i | 
| 12960 |  6e 20 46 4f 52 4d 2e 0a 41 73 73 75 6d 65 73 20    46 4f 52 4d 20 68 61 73 20 62 65 65 6e 20 6d 61  | n.FORM..Assumes.FORM.has.been.ma | 
| 12980 |  63 72 6f 20 65 78 70 61 6e 64 65 64 2e 20 54 68    65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 0a  | cro.expanded..The.returned.list. | 
| 129a0 |  6d 61 79 20 63 6f 6e 74 61 69 6e 20 64 75 70 6c    69 63 61 74 65 73 2e 22 0a 20 20 28 63 6f 6e 64  | may.contain.duplicates."...(cond | 
| 129c0 |  0a 20 20 20 28 28 6e 6f 74 20 28 63 6f 6e 73 70    20 66 6f 72 6d 29 29 0a 20 20 20 20 6e 69 6c 29  | ....((not.(consp.form)).....nil) | 
| 129e0 |  0a 20 20 20 3b 3b 20 53 65 65 20 60 28 65 6c 69    73 70 29 53 70 65 63 69 61 6c 20 46 6f 72 6d 73  | ....;;.See.`(elisp)Special.Forms | 
| 12a00 |  27 2e 20 46 6f 72 20 74 68 65 73 65 20 73 70 65    63 69 61 6c 20 66 6f 72 6d 73 2c 20 77 65 20 72  | '..For.these.special.forms,.we.r | 
| 12a20 |  65 63 75 72 73 65 0a 20 20 20 3b 3b 20 6a 75 73    74 20 6c 69 6b 65 20 66 75 6e 63 74 69 6f 6e 73  | ecurse....;;.just.like.functions | 
| 12a40 |  20 62 75 74 20 69 67 6e 6f 72 65 20 74 68 65 20    63 61 72 2e 0a 20 20 20 28 28 6d 65 6d 71 20 28  | .but.ignore.the.car.....((memq.( | 
| 12a60 |  63 61 72 20 66 6f 72 6d 29 20 27 28 61 6e 64 20    63 61 74 63 68 20 64 65 66 63 6f 6e 73 74 20 64  | car.form).'(and.catch.defconst.d | 
| 12a80 |  65 66 76 61 72 20 69 66 20 69 6e 74 65 72 61 63    74 69 76 65 0a 20 20 20 20 20 20 20 20 20 20 20  | efvar.if.interactive............ | 
| 12aa0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    6f 72 20 70 72 6f 67 31 20 70 72 6f 67 32 20 70  | ................or.prog1.prog2.p | 
| 12ac0 |  72 6f 67 6e 20 73 61 76 65 2d 63 75 72 72 65 6e    74 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20  | rogn.save-current-buffer........ | 
| 12ae0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 73 61 76 65 2d 72 65 73 74 72 69 63  | ....................save-restric | 
| 12b00 |  74 69 6f 6e 20 73 65 74 71 20 73 65 74 71 2d 64    65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20  | tion.setq.setq-default.......... | 
| 12b20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 74 72 61 63 6b 2d 6d 6f 75 73 65 20 75 6e  | ..................track-mouse.un | 
| 12b40 |  77 69 6e 64 2d 70 72 6f 74 65 63 74 20 77 68 69    6c 65 29 29 0a 20 20 20 20 28 2d 66 6c 61 74 74  | wind-protect.while)).....(-flatt | 
| 12b60 |  65 6e 0a 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  | en......(-map.#'helpful--callees | 
| 12b80 |  2d 31 20 28 63 64 72 20 66 6f 72 6d 29 29 29 29    0a 0a 20 20 20 28 28 65 71 20 28 63 61 72 20 66  | -1.(cdr.form)))).....((eq.(car.f | 
| 12ba0 |  6f 72 6d 29 20 27 63 6f 6e 64 29 0a 20 20 20 20    28 6c 65 74 2a 20 28 28 63 6c 61 75 73 65 73 20  | orm).'cond).....(let*.((clauses. | 
| 12bc0 |  28 63 64 72 20 66 6f 72 6d 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 28 63 6c 61 75 73 65 2d 66  | (cdr.form))............(clause-f | 
| 12be0 |  6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b    3b 20 45 61 63 68 20 63 6c 61 75 73 65 20 69 73  | ns.............;;.Each.clause.is | 
| 12c00 |  20 61 20 6c 69 73 74 20 6f 66 20 66 6f 72 6d 73    2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2d  | .a.list.of.forms..............(- | 
| 12c20 |  2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 2d 6d 61 70 20 23 27 68 65 6c 70 66 75  | -map..............(-map.#'helpfu | 
| 12c40 |  6c 2d 2d 63 61 6c 6c 65 65 73 2d 31 20 69 74 29    20 63 6c 61 75 73 65 73 29 29 29 0a 20 20 20 20  | l--callees-1.it).clauses)))..... | 
| 12c60 |  20 20 28 2d 66 6c 61 74 74 65 6e 20 63 6c 61 75    73 65 2d 66 6e 73 29 29 29 0a 0a 20 20 20 28 28  | ..(-flatten.clause-fns))).....(( | 
| 12c80 |  65 71 20 28 63 61 72 20 66 6f 72 6d 29 20 27 63    6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 29 0a 20  | eq.(car.form).'condition-case).. | 
| 12ca0 |  20 20 20 28 6c 65 74 2a 20 28 28 70 72 6f 74 65    63 74 65 64 2d 66 6f 72 6d 20 28 6e 74 68 20 32  | ...(let*.((protected-form.(nth.2 | 
| 12cc0 |  20 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 28 70 72 6f 74 65 63 74 65 64 2d 66 6f  | .form))............(protected-fo | 
| 12ce0 |  72 6d 2d 66 6e 73 20 28 68 65 6c 70 66 75 6c 2d    2d 63 61 6c 6c 65 65 73 2d 31 20 70 72 6f 74 65  | rm-fns.(helpful--callees-1.prote | 
| 12d00 |  63 74 65 64 2d 66 6f 72 6d 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 28 68 61 6e 64 6c 65 72 73  | cted-form))............(handlers | 
| 12d20 |  20 28 2d 64 72 6f 70 20 33 20 66 6f 72 6d 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 28 68 61 6e  | .(-drop.3.form))............(han | 
| 12d40 |  64 6c 65 72 2d 62 6f 64 69 65 73 20 28 2d 6d 61    70 20 23 27 63 64 72 20 68 61 6e 64 6c 65 72 73  | dler-bodies.(-map.#'cdr.handlers | 
| 12d60 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 68    61 6e 64 6c 65 72 2d 66 6e 73 0a 20 20 20 20 20  | ))............(handler-fns...... | 
| 12d80 |  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 2d 6d 61 70  | .......(--map..............(-map | 
| 12da0 |  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 68 61 6e 64 6c 65  | .#'helpful--callees-1.it).handle | 
| 12dc0 |  72 2d 62 6f 64 69 65 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  | r-bodies))).......(append....... | 
| 12de0 |  20 70 72 6f 74 65 63 74 65 64 2d 66 6f 72 6d 2d    66 6e 73 0a 20 20 20 20 20 20 20 28 2d 66 6c 61  | .protected-form-fns........(-fla | 
| 12e00 |  74 74 65 6e 20 68 61 6e 64 6c 65 72 2d 66 6e 73    29 29 29 29 0a 0a 20 20 20 3b 3b 20 43 61 6c 6c  | tten.handler-fns)))).....;;.Call | 
| 12e20 |  69 6e 67 20 61 20 66 75 6e 63 74 69 6f 6e 20 77    69 74 68 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e  | ing.a.function.with.a.well.known | 
| 12e40 |  20 68 69 67 68 65 72 20 6f 72 64 65 72 20 66 75    6e 63 74 69 6f 6e 2c 20 66 6f 72 0a 20 20 20 3b  | .higher.order.function,.for....; | 
| 12e60 |  3b 20 65 78 61 6d 70 6c 65 20 28 66 75 6e 63 61    6c 6c 20 27 66 6f 6f 20 31 20 32 29 2e 0a 20 20  | ;.example.(funcall.'foo.1.2).... | 
| 12e80 |  20 28 28 61 6e 64 0a 20 20 20 20 20 28 6d 65 6d    71 20 28 63 61 72 20 66 6f 72 6d 29 20 27 28 66  | .((and......(memq.(car.form).'(f | 
| 12ea0 |  75 6e 63 61 6c 6c 20 61 70 70 6c 79 20 63 61 6c    6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 0a  | uncall.apply.call-interactively. | 
| 12ec0 |  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  | ................................ | 
| 12ee0 |  6d 61 70 63 61 72 20 6d 61 70 63 20 6d 61 70 63    6f 6e 63 61 74 20 2d 6d 61 70 29 29 0a 20 20 20  | mapcar.mapc.mapconcat.-map)).... | 
| 12f00 |  20 20 28 65 71 20 28 63 61 72 2d 73 61 66 65 20    28 6e 74 68 20 31 20 66 6f 72 6d 29 29 20 27 71  | ..(eq.(car-safe.(nth.1.form)).'q | 
| 12f20 |  75 6f 74 65 29 29 0a 20 20 20 20 28 63 6f 6e 73    0a 20 20 20 20 20 28 63 61 64 72 20 28 6e 74 68  | uote)).....(cons......(cadr.(nth | 
| 12f40 |  20 31 20 66 6f 72 6d 29 29 0a 20 20 20 20 20 28    2d 66 6c 61 74 74 65 6e 0a 20 20 20 20 20 20 28  | .1.form))......(-flatten.......( | 
| 12f60 |  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 63 64 72 20 66  | -map.#'helpful--callees-1.(cdr.f | 
| 12f80 |  6f 72 6d 29 29 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 66 75  | orm))))).....((eq.(car.form).'fu | 
| 12fa0 |  6e 63 74 69 6f 6e 29 0a 20 20 20 20 28 6c 65 74    20 28 28 61 72 67 20 28 6e 74 68 20 31 20 66 6f  | nction).....(let.((arg.(nth.1.fo | 
| 12fc0 |  72 6d 29 29 29 0a 20 20 20 20 20 20 28 69 66 20    28 73 79 6d 62 6f 6c 70 20 61 72 67 29 0a 20 20  | rm))).......(if.(symbolp.arg)... | 
| 12fe0 |  20 20 20 20 20 20 20 20 3b 3b 20 23 27 66 6f 6f    2c 20 77 68 69 63 68 20 69 73 20 74 68 65 20 73  | ........;;.#'foo,.which.is.the.s | 
| 13000 |  61 6d 65 20 61 73 20 28 66 75 6e 63 74 69 6f 6e    20 66 6f 6f 29 2c 20 69 73 20 61 20 66 75 6e 63  | ame.as.(function.foo),.is.a.func | 
| 13020 |  74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 3b    3b 20 72 65 66 65 72 65 6e 63 65 2e 0a 20 20 20  | tion...........;;.reference..... | 
| 13040 |  20 20 20 20 20 20 20 28 6c 69 73 74 20 61 72 67    29 0a 20 20 20 20 20 20 20 20 3b 3b 20 48 61 6e  | .......(list.arg).........;;.Han | 
| 13060 |  64 6c 65 20 28 66 75 6e 63 74 69 6f 6e 20 28 6c    61 6d 62 64 61 20 2e 2e 2e 29 29 2e 0a 20 20 20  | dle.(function.(lambda....))..... | 
| 13080 |  20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 63    61 6c 6c 65 65 73 2d 31 20 61 72 67 29 29 29 29  | .....(helpful--callees-1.arg)))) | 
| 130a0 |  0a 0a 20 20 20 28 28 65 71 20 28 63 61 72 20 66    6f 72 6d 29 20 27 6c 61 6d 62 64 61 29 0a 20 20  | .....((eq.(car.form).'lambda)... | 
| 130c0 |  20 20 3b 3b 20 4f 6e 6c 79 20 63 6f 6e 73 69 64    65 72 20 74 68 65 20 62 6f 64 79 2c 20 6e 6f 74  | ..;;.Only.consider.the.body,.not | 
| 130e0 |  20 74 68 65 20 70 61 72 61 6d 20 6c 69 73 74 2e    0a 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 20 28  | .the.param.list......(-flatten.( | 
| 13100 |  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 70  | -map.#'helpful--callees-1.(-drop | 
| 13120 |  20 32 20 66 6f 72 6d 29 29 29 29 0a 0a 20 20 20    28 28 65 71 20 28 63 61 72 20 66 6f 72 6d 29 20  | .2.form)))).....((eq.(car.form). | 
| 13140 |  27 63 6c 6f 73 75 72 65 29 0a 20 20 20 20 3b 3b    20 53 61 6d 65 20 61 73 20 6c 61 6d 62 64 61 2c  | 'closure).....;;.Same.as.lambda, | 
| 13160 |  20 62 75 74 20 68 61 73 20 61 6e 20 61 64 64 69    74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20  | .but.has.an.additional.argument. | 
| 13180 |  6f 66 20 74 68 65 0a 20 20 20 20 3b 3b 20 63 6c    6f 73 65 64 2d 6f 76 65 72 20 76 61 72 69 61 62  | of.the.....;;.closed-over.variab | 
| 131a0 |  6c 65 73 2e 0a 20 20 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  | les......(-flatten.(-map.#'helpf | 
| 131c0 |  75 6c 2d 2d 63 61 6c 6c 65 65 73 2d 31 20 28 2d    64 72 6f 70 20 33 20 66 6f 72 6d 29 29 29 29 0a  | ul--callees-1.(-drop.3.form)))). | 
| 131e0 |  0a 20 20 20 28 28 6d 65 6d 71 20 28 63 61 72 20    66 6f 72 6d 29 20 27 28 6c 65 74 20 6c 65 74 2a  | ....((memq.(car.form).'(let.let* | 
| 13200 |  29 29 0a 20 20 20 20 3b 3b 20 45 78 74 72 61 63    74 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73  | )).....;;.Extract.function.calls | 
| 13220 |  20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65    20 6c 65 74 2d 62 6f 75 6e 64 20 76 61 72 69 61  | .used.to.set.the.let-bound.varia | 
| 13240 |  62 6c 65 73 2e 0a 20 20 20 20 28 6c 65 74 2a 20    28 28 76 61 72 2d 76 61 6c 73 20 28 2d 73 65 63  | bles......(let*.((var-vals.(-sec | 
| 13260 |  6f 6e 64 2d 69 74 65 6d 20 66 6f 72 6d 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 28 76 61 72 2d  | ond-item.form))............(var- | 
| 13280 |  76 61 6c 2d 63 61 6c 6c 65 65 73 0a 20 20 20 20    20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 0a 20  | val-callees.............(--map.. | 
| 132a0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20    28 63 6f 6e 73 70 20 69 74 29 0a 20 20 20 20 20  | ............(if.(consp.it)...... | 
| 132c0 |  20 20 20 20 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  | ............(-map.#'helpful--cal | 
| 132e0 |  6c 65 65 73 2d 31 20 69 74 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 0a 20  | lees-1.it)................nil).. | 
| 13300 |  20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 2d    76 61 6c 73 29 29 29 0a 20 20 20 20 20 20 28 61  | ............var-vals))).......(a | 
| 13320 |  70 70 65 6e 64 0a 20 20 20 20 20 20 20 28 2d 66    6c 61 74 74 65 6e 20 76 61 72 2d 76 61 6c 2d 63  | ppend........(-flatten.var-val-c | 
| 13340 |  61 6c 6c 65 65 73 29 0a 20 20 20 20 20 20 20 3b    3b 20 46 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73  | allees)........;;.Function.calls | 
| 13360 |  20 69 6e 20 74 68 65 20 6c 65 74 20 62 6f 64 79    2e 0a 20 20 20 20 20 20 20 28 2d 6d 61 70 20 23  | .in.the.let.body.........(-map.# | 
| 13380 |  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 70 20 32 20 66 6f 72  | 'helpful--callees-1.(-drop.2.for | 
| 133a0 |  6d 29 29 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 71 75 6f 74  | m))))).....((eq.(car.form).'quot | 
| 133c0 |  65 29 0a 20 20 20 20 6e 69 6c 29 0a 20 20 20 28    74 0a 20 20 20 20 28 63 6f 6e 73 0a 20 20 20 20  | e).....nil)....(t.....(cons..... | 
| 133e0 |  20 28 63 61 72 20 66 6f 72 6d 29 0a 20 20 20 20    20 28 2d 66 6c 61 74 74 65 6e 0a 20 20 20 20 20  | .(car.form)......(-flatten...... | 
| 13400 |  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 20 28 63 64 72  | .(-map.#'helpful--callees-1.(cdr | 
| 13420 |  20 66 6f 72 6d 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 65 6e  | .form)))))))..(defun.helpful--en | 
| 13440 |  73 75 72 65 2d 6c 6f 61 64 65 64 20 28 29 0a 20    20 22 45 6e 73 75 72 65 20 74 68 65 20 73 79 6d  | sure-loaded.()..."Ensure.the.sym | 
| 13460 |  62 6f 6c 20 61 73 73 6f 63 69 61 74 65 64 20 77    69 74 68 20 74 68 65 20 63 75 72 72 65 6e 74 20  | bol.associated.with.the.current. | 
| 13480 |  62 75 66 66 65 72 20 68 61 73 20 62 65 65 6e 20    6c 6f 61 64 65 64 2e 22 0a 20 20 28 77 68 65 6e  | buffer.has.been.loaded."...(when | 
| 134a0 |  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....... | 
| 134c0 |  20 20 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 29 0a 20  | .......(symbolp.helpful--sym)).. | 
| 134e0 |  20 20 20 28 6c 65 74 20 28 28 66 6e 2d 6f 62 6a    20 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f  | ...(let.((fn-obj.(symbol-functio | 
| 13500 |  6e 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 29 29    29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 61  | n.helpful--sym))).......(when.(a | 
| 13520 |  75 74 6f 6c 6f 61 64 70 20 66 6e 2d 6f 62 6a 29    0a 20 20 20 20 20 20 20 20 28 61 75 74 6f 6c 6f  | utoloadp.fn-obj).........(autolo | 
| 13540 |  61 64 2d 64 6f 2d 6c 6f 61 64 20 66 6e 2d 6f 62    6a 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68  | ad-do-load.fn-obj)))))..(defun.h | 
| 13560 |  65 6c 70 66 75 6c 2d 2d 68 6f 6f 6b 2d 70 20 28    73 79 6d 62 6f 6c 20 76 61 6c 75 65 29 0a 20 20  | elpful--hook-p.(symbol.value)... | 
| 13580 |  22 44 6f 65 73 20 53 59 4d 42 4f 4c 20 6c 6f 6f    6b 20 6c 69 6b 65 20 61 20 68 6f 6f 6b 3f 22 0a  | "Does.SYMBOL.look.like.a.hook?". | 
| 135a0 |  20 20 28 61 6e 64 0a 20 20 20 28 6f 72 0a 20 20    20 20 28 73 2d 65 6e 64 73 2d 77 69 74 68 2d 70  | ..(and....(or.....(s-ends-with-p | 
| 135c0 |  20 22 2d 68 6f 6f 6b 22 20 28 73 79 6d 62 6f 6c    2d 6e 61 6d 65 20 73 79 6d 62 6f 6c 29 29 0a 20  | ."-hook".(symbol-name.symbol)).. | 
| 135e0 |  20 20 20 3b 3b 20 45 2e 67 2e 20 60 61 66 74 65    72 2d 63 68 61 6e 67 65 2d 66 75 6e 63 74 69 6f  | ...;;.E.g..`after-change-functio | 
| 13600 |  6e 73 27 2c 20 77 68 69 63 68 20 63 61 6e 20 62    65 20 75 73 65 64 20 77 69 74 68 0a 20 20 20 20  | ns',.which.can.be.used.with..... | 
| 13620 |  3b 3b 20 60 61 64 64 2d 68 6f 6f 6b 27 2e 0a 20    20 20 20 28 73 2d 65 6e 64 73 2d 77 69 74 68 2d  | ;;.`add-hook'......(s-ends-with- | 
| 13640 |  70 20 22 2d 66 75 6e 63 74 69 6f 6e 73 22 20 28    73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 73 79 6d 62  | p."-functions".(symbol-name.symb | 
| 13660 |  6f 6c 29 29 29 0a 20 20 20 28 63 6f 6e 73 70 20    76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 75 6e  | ol)))....(consp.value)))..(defun | 
| 13680 |  20 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 6d 61 74    2d 76 61 6c 75 65 20 28 73 79 6d 20 76 61 6c 75  | .helpful--format-value.(sym.valu | 
| 136a0 |  65 29 0a 20 20 22 46 6f 72 6d 61 74 20 56 41 4c    55 45 20 61 73 20 61 20 73 74 72 69 6e 67 2e 22  | e)..."Format.VALUE.as.a.string." | 
| 136c0 |  0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 68 65 6c    70 66 75 6c 2d 2d 76 69 65 77 2d 6c 69 74 65 72  | ...(cond....(helpful--view-liter | 
| 136e0 |  61 6c 0a 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 6c 69 67 68  | al.....(helpful--syntax-highligh | 
| 13700 |  74 20 28 68 65 6c 70 66 75 6c 2d 2d 70 72 65 74    74 79 2d 70 72 69 6e 74 20 76 61 6c 75 65 29 29  | t.(helpful--pretty-print.value)) | 
| 13720 |  29 0a 20 20 20 3b 3b 20 41 6c 6c 6f 77 20 73 74    72 69 6e 67 73 20 74 6f 20 62 65 20 76 69 65 77  | )....;;.Allow.strings.to.be.view | 
| 13740 |  65 64 20 77 69 74 68 20 70 72 6f 70 65 72 74 69    65 73 20 72 65 6e 64 65 72 65 64 20 69 6e 0a 20  | ed.with.properties.rendered.in.. | 
| 13760 |  20 20 3b 3b 20 45 6d 61 63 73 2c 20 72 61 74 68    65 72 20 74 68 61 6e 20 61 73 20 61 20 6c 69 74  | ..;;.Emacs,.rather.than.as.a.lit | 
| 13780 |  65 72 61 6c 2e 0a 20 20 20 28 28 73 74 72 69 6e    67 70 20 76 61 6c 75 65 29 0a 20 20 20 20 76 61  | eral.....((stringp.value).....va | 
| 137a0 |  6c 75 65 29 0a 20 20 20 3b 3b 20 41 6c 6c 6f 77    20 6b 65 79 6d 61 70 73 20 74 6f 20 62 65 20 76  | lue)....;;.Allow.keymaps.to.be.v | 
| 137c0 |  69 65 77 65 64 20 77 69 74 68 20 6b 65 79 62 69    6e 64 69 6e 67 73 20 73 68 6f 77 6e 20 61 6e 64  | iewed.with.keybindings.shown.and | 
| 137e0 |  0a 20 20 20 3b 3b 20 6c 69 6e 6b 73 20 74 6f 20    74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 62 6f 75  | ....;;.links.to.the.commands.bou | 
| 13800 |  6e 64 2e 0a 20 20 20 28 28 6b 65 79 6d 61 70 70    20 76 61 6c 75 65 29 0a 20 20 20 20 28 68 65 6c  | nd.....((keymapp.value).....(hel | 
| 13820 |  70 66 75 6c 2d 2d 66 6f 72 6d 61 74 2d 6b 65 79    6d 61 70 20 76 61 6c 75 65 29 29 0a 20 20 20 28  | pful--format-keymap.value))....( | 
| 13840 |  28 68 65 6c 70 66 75 6c 2d 2d 68 6f 6f 6b 2d 70    20 73 79 6d 20 76 61 6c 75 65 29 0a 20 20 20 20  | (helpful--hook-p.sym.value)..... | 
| 13860 |  28 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 6d 61 74    2d 68 6f 6f 6b 20 76 61 6c 75 65 29 29 0a 20 20  | (helpful--format-hook.value))... | 
| 13880 |  20 28 74 0a 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 20 76  | .(t.....(helpful--pretty-print.v | 
| 138a0 |  61 6c 75 65 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 68 65 6c 70 66 75 6c 2d 2d 6f 72 69 67 69 6e  | alue))))..(defun.helpful--origin | 
| 138c0 |  61 6c 2d 76 61 6c 75 65 20 28 73 79 6d 29 0a 20    20 22 52 65 74 75 72 6e 20 74 68 65 20 6f 72 69  | al-value.(sym)..."Return.the.ori | 
| 138e0 |  67 69 6e 61 6c 20 76 61 6c 75 65 20 66 6f 72 20    53 59 4d 2c 20 69 66 20 61 6e 79 2e 0a 0a 49 66  | ginal.value.for.SYM,.if.any...If | 
| 13900 |  20 53 59 4d 20 68 61 73 20 61 6e 20 6f 72 69 67    69 6e 61 6c 20 76 61 6c 75 65 2c 20 72 65 74 75  | .SYM.has.an.original.value,.retu | 
| 13920 |  72 6e 20 69 74 20 69 6e 20 61 20 6c 69 73 74 2e    20 52 65 74 75 72 6e 20 6e 69 6c 0a 6f 74 68 65  | rn.it.in.a.list..Return.nil.othe | 
| 13940 |  72 77 69 73 65 2e 22 0a 20 20 28 6c 65 74 2a 20    28 28 6f 72 69 67 2d 76 61 6c 2d 65 78 70 72 20  | rwise."...(let*.((orig-val-expr. | 
| 13960 |  28 67 65 74 20 73 79 6d 20 27 73 74 61 6e 64 61    72 64 2d 76 61 6c 75 65 29 29 29 0a 20 20 20 20  | (get.sym.'standard-value)))..... | 
| 13980 |  28 77 68 65 6e 20 28 63 6f 6e 73 70 20 6f 72 69    67 2d 76 61 6c 2d 65 78 70 72 29 0a 20 20 20 20  | (when.(consp.orig-val-expr)..... | 
| 139a0 |  20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73    0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 0a 20  | ..(ignore-errors.........(list.. | 
| 139c0 |  20 20 20 20 20 20 20 20 28 65 76 61 6c 20 28 63    61 72 20 6f 72 69 67 2d 76 61 6c 2d 65 78 70 72  | ........(eval.(car.orig-val-expr | 
| 139e0 |  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 6f 72 69 67 69 6e 61  | )))))))..(defun.helpful--origina | 
| 13a00 |  6c 2d 76 61 6c 75 65 2d 64 69 66 66 65 72 73 2d    70 20 28 73 79 6d 29 0a 20 20 22 52 65 74 75 72  | l-value-differs-p.(sym)..."Retur | 
| 13a20 |  6e 20 74 20 69 66 20 53 59 4d 20 68 61 73 20 61    6e 20 6f 72 69 67 69 6e 61 6c 20 76 61 6c 75 65  | n.t.if.SYM.has.an.original.value | 
| 13a40 |  2c 20 61 6e 64 20 69 74 73 20 63 75 72 72 65 6e    74 0a 76 61 6c 75 65 20 69 73 20 64 69 66 66 65  | ,.and.its.current.value.is.diffe | 
| 13a60 |  72 65 6e 74 2e 22 0a 20 20 28 6c 65 74 20 28 28    6f 72 69 67 2d 76 61 6c 2d 6c 69 73 74 20 28 68  | rent."...(let.((orig-val-list.(h | 
| 13a80 |  65 6c 70 66 75 6c 2d 2d 6f 72 69 67 69 6e 61 6c    2d 76 61 6c 75 65 20 73 79 6d 29 29 29 0a 20 20  | elpful--original-value.sym)))... | 
| 13aa0 |  20 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 6f 72    69 67 2d 76 61 6c 2d 6c 69 73 74 29 0a 20 20 20  | ..(and.(consp.orig-val-list).... | 
| 13ac0 |  20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 28    63 61 72 20 6f 72 69 67 2d 76 61 6c 2d 6c 69 73  | ......(not.(eq.(car.orig-val-lis | 
| 13ae0 |  74 29 0a 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 76 61 6c  | t)...................(symbol-val | 
| 13b00 |  75 65 20 73 79 6d 29 29 29 29 29 29 0a 0a 28 64    65 66 75 6e 20 68 65 6c 70 66 75 6c 2d 75 70 64  | ue.sym))))))..(defun.helpful-upd | 
| 13b20 |  61 74 65 20 28 29 0a 20 20 22 55 70 64 61 74 65    20 74 68 65 20 63 75 72 72 65 6e 74 20 2a 48 65  | ate.()..."Update.the.current.*He | 
| 13b40 |  6c 70 66 75 6c 2a 20 62 75 66 66 65 72 20 74 6f    20 74 68 65 20 6c 61 74 65 73 74 0a 73 74 61 74  | lpful*.buffer.to.the.latest.stat | 
| 13b60 |  65 20 6f 66 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 69 6e 74  | e.of.the.current.symbol."...(int | 
| 13b80 |  65 72 61 63 74 69 76 65 29 0a 20 20 28 63 6c 2d    61 73 73 65 72 74 20 28 6e 6f 74 20 28 6e 75 6c  | eractive)...(cl-assert.(not.(nul | 
| 13ba0 |  6c 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 29 29    29 0a 20 20 28 75 6e 6c 65 73 73 20 28 62 75 66  | l.helpful--sym)))...(unless.(buf | 
| 13bc0 |  66 65 72 2d 6c 69 76 65 2d 70 20 68 65 6c 70 66    75 6c 2d 2d 61 73 73 6f 63 69 61 74 65 64 2d 62  | fer-live-p.helpful--associated-b | 
| 13be0 |  75 66 66 65 72 29 0a 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  | uffer).....(setq.helpful--associ | 
| 13c00 |  61 74 65 64 2d 62 75 66 66 65 72 20 6e 69 6c 29    29 0a 20 20 28 68 65 6c 70 66 75 6c 2d 2d 65 6e  | ated-buffer.nil))...(helpful--en | 
| 13c20 |  73 75 72 65 2d 6c 6f 61 64 65 64 29 0a 20 20 28    2d 6c 65 74 2a 20 28 28 76 61 6c 0a 20 20 20 20  | sure-loaded)...(-let*.((val..... | 
| 13c40 |  20 20 20 20 20 20 20 3b 3b 20 4c 6f 6f 6b 20 61    74 20 74 68 65 20 76 61 6c 75 65 20 62 65 66 6f  | .......;;.Look.at.the.value.befo | 
| 13c60 |  72 65 20 73 65 74 74 69 6e 67 20 60 69 6e 68 69    62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 27 2c 20  | re.setting.`inhibit-read-only',. | 
| 13c80 |  73 6f 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b    20 75 73 65 72 73 20 63 61 6e 20 73 65 65 20 74  | so............;;.users.can.see.t | 
| 13ca0 |  68 65 20 63 6f 72 72 65 63 74 20 76 61 6c 75 65    20 6f 66 20 74 68 61 74 20 76 61 72 69 61 62 6c  | he.correct.value.of.that.variabl | 
| 13cc0 |  65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 75    6e 6c 65 73 73 20 68 65 6c 70 66 75 6c 2d 2d 63  | e.............(unless.helpful--c | 
| 13ce0 |  61 6c 6c 61 62 6c 65 2d 70 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d  | allable-p..............(helpful- | 
| 13d00 |  2d 73 79 6d 2d 76 61 6c 75 65 20 68 65 6c 70 66    75 6c 2d 2d 73 79 6d 20 68 65 6c 70 66 75 6c 2d  | -sym-value.helpful--sym.helpful- | 
| 13d20 |  2d 61 73 73 6f 63 69 61 74 65 64 2d 62 75 66 66    65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  | -associated-buffer)))........... | 
| 13d40 |  28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e    6c 79 20 74 29 0a 20 20 20 20 20 20 20 20 20 20  | (inhibit-read-only.t)........... | 
| 13d60 |  28 73 74 61 72 74 2d 6c 69 6e 65 20 28 6c 69 6e    65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 29  | (start-line.(line-number-at-pos) | 
| 13d80 |  29 0a 20 20 20 20 20 20 20 20 20 20 28 73 74 61    72 74 2d 63 6f 6c 75 6d 6e 20 28 63 75 72 72 65  | )...........(start-column.(curre | 
| 13da0 |  6e 74 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20 20 20    20 20 20 20 20 20 28 70 72 69 6d 69 74 69 76 65  | nt-column))...........(primitive | 
| 13dc0 |  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 68 65 6c 70 66 75 6c  | -p.(helpful--primitive-p.helpful | 
| 13de0 |  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 20 20 20 20  | --sym.helpful--callable-p))..... | 
| 13e00 |  20 20 20 20 20 20 28 63 61 6e 6f 6e 69 63 61 6c    2d 73 79 6d 20 28 68 65 6c 70 66 75 6c 2d 2d 63  | ......(canonical-sym.(helpful--c | 
| 13e20 |  61 6e 6f 6e 69 63 61 6c 2d 73 79 6d 62 6f 6c 20    68 65 6c 70 66 75 6c 2d 2d 73 79 6d 20 68 65 6c  | anonical-symbol.helpful--sym.hel | 
| 13e40 |  70 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c 65 2d 70    29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 6f  | pful--callable-p))...........(lo | 
| 13e60 |  6f 6b 2d 66 6f 72 2d 73 72 63 20 28 6f 72 20 28    6e 6f 74 20 70 72 69 6d 69 74 69 76 65 2d 70 29  | ok-for-src.(or.(not.primitive-p) | 
| 13e80 |  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 66 69 6e  | .............................fin | 
| 13ea0 |  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 6f 72 79 29 29 0a  | d-function-C-source-directory)). | 
| 13ec0 |  20 20 20 20 20 20 20 20 20 20 28 28 62 75 66 20    70 6f 73 20 6f 70 65 6e 65 64 29 0a 20 20 20 20  | ..........((buf.pos.opened)..... | 
| 13ee0 |  20 20 20 20 20 20 20 28 69 66 20 6c 6f 6f 6b 2d    66 6f 72 2d 73 72 63 0a 20 20 20 20 20 20 20 20  | .......(if.look-for-src......... | 
| 13f00 |  20 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d    2d 64 65 66 69 6e 69 74 69 6f 6e 20 68 65 6c 70  | .......(helpful--definition.help | 
| 13f20 |  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 0a 20 20  | ful--sym.helpful--callable-p)... | 
| 13f40 |  20 20 20 20 20 20 20 20 20 20 20 27 28 6e 69 6c    20 6e 69 6c 20 6e 69 6c 29 29 29 0a 20 20 20 20  | ...........'(nil.nil.nil)))..... | 
| 13f60 |  20 20 20 20 20 20 28 73 6f 75 72 63 65 20 28 77    68 65 6e 20 6c 6f 6f 6b 2d 66 6f 72 2d 73 72 63  | ......(source.(when.look-for-src | 
| 13f80 |  0a 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 73  | .....................(helpful--s | 
| 13fa0 |  6f 75 72 63 65 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  | ource.helpful--sym.helpful--call | 
| 13fc0 |  61 62 6c 65 2d 70 20 62 75 66 20 70 6f 73 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 28 73 6f 75  | able-p.buf.pos)))...........(sou | 
| 13fe0 |  72 63 65 2d 70 61 74 68 20 28 77 68 65 6e 20 62    75 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | rce-path.(when.buf.............. | 
| 14000 |  20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66    66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 20 62 75  | ............(buffer-file-name.bu | 
| 14020 |  66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28    72 65 66 65 72 65 6e 63 65 73 20 28 68 65 6c 70  | f)))...........(references.(help | 
| 14040 |  66 75 6c 2d 2d 63 61 6c 63 75 6c 61 74 65 2d 72    65 66 65 72 65 6e 63 65 73 0a 20 20 20 20 20 20  | ful--calculate-references....... | 
| 14060 |  20 20 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  | .................helpful--sym.he | 
| 14080 |  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 20 20 20 20 20  | lpful--callable-p............... | 
| 140a0 |  20 20 20 20 20 20 20 20 20 73 6f 75 72 63 65 2d    70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20  | .........source-path)).......... | 
| 140c0 |  20 28 61 6c 69 61 73 65 73 20 28 68 65 6c 70 66    75 6c 2d 2d 61 6c 69 61 73 65 73 20 68 65 6c 70  | .(aliases.(helpful--aliases.help | 
| 140e0 |  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 29 0a  | ful--sym.helpful--callable-p))). | 
| 14100 |  0a 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66    65 72 29 0a 0a 20 20 20 20 28 69 6e 73 65 72 74  | .....(erase-buffer)......(insert | 
| 14120 |  20 28 68 65 6c 70 66 75 6c 2d 2d 73 75 6d 6d 61    72 79 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 20  | .(helpful--summary.helpful--sym. | 
| 14140 |  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 0a 0a 20  | helpful--callable-p.buf.pos))... | 
| 14160 |  20 20 20 28 77 68 65 6e 20 28 68 65 6c 70 66 75    6c 2d 2d 6f 62 73 6f 6c 65 74 65 2d 69 6e 66 6f  | ...(when.(helpful--obsolete-info | 
| 14180 |  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 65 2d  | .helpful--sym.helpful--callable- | 
| 141a0 |  70 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74    0a 20 20 20 20 20 20 20 22 5c 6e 5c 6e 22 0a 20  | p).......(insert........"\n\n".. | 
| 141c0 |  20 20 20 20 20 20 28 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  | ......(helpful--format-obsolete- | 
| 141e0 |  69 6e 66 6f 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  | info.helpful--sym.helpful--calla | 
| 14200 |  62 6c 65 2d 70 29 29 29 0a 0a 20 20 20 20 28 77    68 65 6e 20 28 61 6e 64 20 68 65 6c 70 66 75 6c  | ble-p)))......(when.(and.helpful | 
| 14220 |  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 28 6e 6f 74  | --callable-p................(not | 
| 14240 |  20 28 68 65 6c 70 66 75 6c 2d 2d 6b 62 64 2d 6d    61 63 72 6f 2d 70 20 68 65 6c 70 66 75 6c 2d 2d  | .(helpful--kbd-macro-p.helpful-- | 
| 14260 |  73 79 6d 29 29 29 0a 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  | sym))).......(helpful--insert-se | 
| 14280 |  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 74 0a 20 20 20 20 20  | ction-break).......(insert...... | 
| 142a0 |  20 20 28 68 65 6c 70 66 75 6c 2d 2d 68 65 61 64    69 6e 67 20 22 53 69 67 6e 61 74 75 72 65 22 29  | ..(helpful--heading."Signature") | 
| 142c0 |  0a 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 6c 69 67  | ........(helpful--syntax-highlig | 
| 142e0 |  68 74 20 28 68 65 6c 70 66 75 6c 2d 2d 73 69 67    6e 61 74 75 72 65 20 68 65 6c 70 66 75 6c 2d 2d  | ht.(helpful--signature.helpful-- | 
| 14300 |  73 79 6d 29 29 29 29 0a 0a 20 20 20 20 28 77 68    65 6e 20 28 6e 6f 74 20 68 65 6c 70 66 75 6c 2d  | sym))))......(when.(not.helpful- | 
| 14320 |  2d 63 61 6c 6c 61 62 6c 65 2d 70 29 0a 20 20 20    20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 69 6e 73  | -callable-p).......(helpful--ins | 
| 14340 |  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 6c 65 74 2a 20 28  | ert-section-break).......(let*.( | 
| 14360 |  28 73 79 6d 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 20 20 20  | (sym.helpful--sym).............. | 
| 14380 |  28 6d 75 6c 74 69 70 6c 65 2d 76 69 65 77 73 2d    70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | (multiple-views-p............... | 
| 143a0 |  28 6f 72 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  | (or.(stringp.val)............... | 
| 143c0 |  20 20 20 20 28 6b 65 79 6d 61 70 70 20 76 61 6c    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ....(keymapp.val)............... | 
| 143e0 |  20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 68 6f    6f 6b 2d 70 20 73 79 6d 20 76 61 6c 29 29 29 29  | ....(helpful--hook-p.sym.val)))) | 
| 14400 |  0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 68    65 6c 70 66 75 6c 2d 2d 66 69 72 73 74 2d 64 69  | .........(when.helpful--first-di | 
| 14420 |  73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20    28 69 66 20 28 73 74 72 69 6e 67 70 20 76 61 6c  | splay...........(if.(stringp.val | 
| 14440 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3b 3b 20 46 6f 72 20 73 74 72 69 6e 67 73 2c 20  | )...............;;.For.strings,. | 
| 14460 |  69 74 27 73 20 6d 6f 72 65 20 69 6e 74 75 69 74    69 76 65 20 74 6f 20 64 69 73 70 6c 61 79 20 74  | it's.more.intuitive.to.display.t | 
| 14480 |  68 65 6d 20 61 73 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3b 3b 20 6c 69 74 65 72 61 6c 73  | hem.as...............;;.literals | 
| 144a0 |  2c 20 73 6f 20 22 31 22 20 61 6e 64 20 31 20 61    72 65 20 64 69 73 74 69 6e 63 74 2e 0a 20 20 20  | ,.so."1".and.1.are.distinct..... | 
| 144c0 |  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 6c  | ...........(setq.helpful--view-l | 
| 144e0 |  69 74 65 72 61 6c 20 74 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 3b 3b 20 46 6f 72 20 65 76 65  | iteral.t).............;;.For.eve | 
| 14500 |  72 79 74 68 69 6e 67 20 65 6c 73 65 2c 20 70 72    65 66 65 72 20 74 68 65 20 70 72 65 74 74 79 20  | rything.else,.prefer.the.pretty. | 
| 14520 |  76 69 65 77 20 69 66 20 61 76 61 69 6c 61 62 6c    65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28  | view.if.available..............( | 
| 14540 |  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 20 6e 69 6c 29 29  | setq.helpful--view-literal.nil)) | 
| 14560 |  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 6c 70  | ).........(insert..........(help | 
| 14580 |  66 75 6c 2d 2d 68 65 61 64 69 6e 67 0a 20 20 20    20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20  | ful--heading...........(cond.... | 
| 145a0 |  20 20 20 20 20 20 20 20 3b 3b 20 42 75 66 66 65    72 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65  | ........;;.Buffer-local.variable | 
| 145c0 |  20 61 6e 64 20 77 65 27 72 65 20 6c 6f 6f 6b 69    6e 67 20 61 74 20 74 68 65 20 76 61 6c 75 65 20  | .and.we're.looking.at.the.value. | 
| 145e0 |  69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b    20 61 20 73 70 65 63 69 66 69 63 20 62 75 66 66  | in............;;.a.specific.buff | 
| 14600 |  65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28    28 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20  | er.............((and............ | 
| 14620 |  20 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 0a 20 20 20  | ..helpful--associated-buffer.... | 
| 14640 |  20 20 20 20 20 20 20 20 20 20 28 6c 6f 63 61 6c    2d 76 61 72 69 61 62 6c 65 2d 70 20 73 79 6d 20  | ..........(local-variable-p.sym. | 
| 14660 |  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 20 20  | helpful--associated-buffer)).... | 
| 14680 |  20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74    20 22 56 61 6c 75 65 20 69 6e 20 25 73 22 0a 20  | .........(format."Value.in.%s".. | 
| 146a0 |  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 62 75 74  | ...................(helpful--but | 
| 146c0 |  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 66 6f 72 6d 61 74  | ton......................(format | 
| 146e0 |  20 22 23 3c 62 75 66 66 65 72 20 25 73 3e 22 20    28 62 75 66 66 65 72 2d 6e 61 6d 65 20 68 65 6c  | ."#<buffer.%s>".(buffer-name.hel | 
| 14700 |  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 20 20 20 20 20  | pful--associated-buffer))....... | 
| 14720 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27    68 65 6c 70 66 75 6c 2d 62 75 66 66 65 72 2d 62  | ...............'helpful-buffer-b | 
| 14740 |  75 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 27 62 75 66 66  | utton......................'buff | 
| 14760 |  65 72 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 0a 20 20  | er.helpful--associated-buffer... | 
| 14780 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 27 70 6f 73 69 74 69 6f 6e 20 70 6f 73  | ...................'position.pos | 
| 147a0 |  29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b    3b 20 42 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76  | )))............;;.Buffer-local.v | 
| 147c0 |  61 72 69 61 62 6c 65 20 62 75 74 20 64 65 66 61    75 6c 74 2f 67 6c 6f 62 61 6c 20 76 61 6c 75 65  | ariable.but.default/global.value | 
| 147e0 |  2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 6c    6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 2d 69 66  | .............((local-variable-if | 
| 14800 |  2d 73 65 74 2d 70 20 73 79 6d 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 22 47 6c 6f 62 61 6c 20  | -set-p.sym)............."Global. | 
| 14820 |  56 61 6c 75 65 22 29 0a 20 20 20 20 20 20 20 20    20 20 20 3b 3b 20 54 68 69 73 20 76 61 72 69 61  | Value")............;;.This.varia | 
| 14840 |  62 6c 65 20 69 73 20 6e 6f 74 20 62 75 66 66 65    72 2d 6c 6f 63 61 6c 2e 0a 20 20 20 20 20 20 20  | ble.is.not.buffer-local......... | 
| 14860 |  20 20 20 20 28 74 20 22 56 61 6c 75 65 22 29 29    29 0a 20 20 20 20 20 20 20 20 20 28 68 65 6c 70  | ....(t."Value")))..........(help | 
| 14880 |  66 75 6c 2d 2d 66 6f 72 6d 61 74 2d 76 61 6c 75    65 20 73 79 6d 20 76 61 6c 29 0a 20 20 20 20 20  | ful--format-value.sym.val)...... | 
| 148a0 |  20 20 20 20 22 5c 6e 5c 6e 22 29 0a 20 20 20 20    20 20 20 20 28 77 68 65 6e 20 28 68 65 6c 70 66  | ...."\n\n").........(when.(helpf | 
| 148c0 |  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 73 79 6d  | ul--original-value-differs-p.sym | 
| 148e0 |  29 0a 20 20 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 20 20 28  | )...........(insert............( | 
| 14900 |  68 65 6c 70 66 75 6c 2d 2d 68 65 61 64 69 6e 67    20 22 4f 72 69 67 69 6e 61 6c 20 56 61 6c 75 65  | helpful--heading."Original.Value | 
| 14920 |  22 29 0a 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 76  | ")............(helpful--format-v | 
| 14940 |  61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20    20 73 79 6d 0a 20 20 20 20 20 20 20 20 20 20 20  | alue.............sym............ | 
| 14960 |  20 28 63 61 72 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 20 73  | .(car.(helpful--original-value.s | 
| 14980 |  79 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 22 5c 6e 5c 6e 22 29 29 0a 20 20 20 20 20 20  | ym)))............"\n\n"))....... | 
| 149a0 |  20 20 28 77 68 65 6e 20 6d 75 6c 74 69 70 6c 65    2d 76 69 65 77 73 2d 70 0a 20 20 20 20 20 20 20  | ..(when.multiple-views-p........ | 
| 149c0 |  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 74 6f 67 67 6c 65  | ...(insert.(helpful--make-toggle | 
| 149e0 |  2d 6c 69 74 65 72 61 6c 2d 62 75 74 74 6f 6e 29    20 22 20 22 29 29 0a 0a 20 20 20 20 20 20 20 20  | -literal-button).".")).......... | 
| 14a00 |  28 77 68 65 6e 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  | (when.(local-variable-if-set-p.s | 
| 14a20 |  79 6d 29 0a 20 20 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 20  | ym)...........(insert........... | 
| 14a40 |  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 42  | .(helpful--button............."B | 
| 14a60 |  75 66 66 65 72 20 76 61 6c 75 65 73 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 27 68 65 6c 70 66  | uffer.values".............'helpf | 
| 14a80 |  75 6c 2d 61 73 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 20 20  | ul-associated-buffer-button..... | 
| 14aa0 |  20 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 20 20 20 20 20  | ........'symbol.sym............. | 
| 14ac0 |  27 70 72 6f 6d 70 74 2d 70 20 74 29 0a 20 20 20    20 20 20 20 20 20 20 20 22 20 22 0a 20 20 20 20  | 'prompt-p.t)............"."..... | 
| 14ae0 |  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 20  | .......(helpful--button......... | 
| 14b00 |  20 20 20 20 22 47 6c 6f 62 61 6c 20 76 61 6c 75    65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 27  | ...."Global.value".............' | 
| 14b20 |  68 65 6c 70 66 75 6c 2d 61 73 73 6f 63 69 61 74    65 64 2d 62 75 66 66 65 72 2d 62 75 74 74 6f 6e  | helpful-associated-buffer-button | 
| 14b40 |  0a 20 20 20 20 20 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  | .............'symbol.sym........ | 
| 14b60 |  20 20 20 20 20 27 70 72 6f 6d 70 74 2d 70 20 6e    69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 22  | .....'prompt-p.nil)............" | 
| 14b80 |  20 22 29 29 0a 20 20 20 20 20 20 20 20 28 77 68    65 6e 20 28 6d 65 6d 71 20 28 68 65 6c 70 66 75  | .")).........(when.(memq.(helpfu | 
| 14ba0 |  6c 2d 2d 73 79 6d 2d 76 61 6c 75 65 20 68 65 6c    70 66 75 6c 2d 2d 73 79 6d 20 68 65 6c 70 66 75  | l--sym-value.helpful--sym.helpfu | 
| 14bc0 |  6c 2d 2d 61 73 73 6f 63 69 61 74 65 64 2d 62 75    66 66 65 72 29 20 27 28 6e 69 6c 20 74 29 29 0a  | l--associated-buffer).'(nil.t)). | 
| 14be0 |  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 6d 61 6b 65  | ..........(insert.(helpful--make | 
| 14c00 |  2d 74 6f 67 67 6c 65 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  | -toggle-button.helpful--sym.help | 
| 14c20 |  66 75 6c 2d 2d 61 73 73 6f 63 69 61 74 65 64 2d    62 75 66 66 65 72 29 20 22 20 22 29 29 0a 20 20  | ful--associated-buffer)."."))... | 
| 14c40 |  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 73 65 74  | ......(insert.(helpful--make-set | 
| 14c60 |  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 61 73  | -button.helpful--sym.helpful--as | 
| 14c80 |  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 28 77 68 65 6e 20  | sociated-buffer)).........(when. | 
| 14ca0 |  28 63 75 73 74 6f 6d 2d 76 61 72 69 61 62 6c 65    2d 70 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 29  | (custom-variable-p.helpful--sym) | 
| 14cc0 |  0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65    72 74 20 22 20 22 20 28 68 65 6c 70 66 75 6c 2d  | ...........(insert.".".(helpful- | 
| 14ce0 |  2d 6d 61 6b 65 2d 63 75 73 74 6f 6d 69 7a 65 2d    62 75 74 74 6f 6e 20 68 65 6c 70 66 75 6c 2d 2d  | -make-customize-button.helpful-- | 
| 14d00 |  73 79 6d 29 29 29 29 29 0a 0a 20 20 20 20 28 6c    65 74 20 28 28 64 6f 63 73 74 72 69 6e 67 20 28  | sym)))))......(let.((docstring.( | 
| 14d20 |  68 65 6c 70 66 75 6c 2d 2d 64 6f 63 73 74 72 69    6e 67 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 20  | helpful--docstring.helpful--sym. | 
| 14d40 |  68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 61 62 6c    65 2d 70 29 29 0a 20 20 20 20 20 20 20 20 20 20  | helpful--callable-p))........... | 
| 14d60 |  28 76 65 72 73 69 6f 6e 2d 69 6e 66 6f 20 28 75    6e 6c 65 73 73 20 68 65 6c 70 66 75 6c 2d 2d 63  | (version-info.(unless.helpful--c | 
| 14d80 |  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 20 20 20 20 20 20  | allable-p....................... | 
| 14da0 |  20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 76 65    72 73 69 6f 6e 2d 69 6e 66 6f 20 68 65 6c 70 66  | ....(helpful--version-info.helpf | 
| 14dc0 |  75 6c 2d 2d 73 79 6d 29 29 29 29 0a 20 20 20 20    20 20 28 77 68 65 6e 20 28 6f 72 20 64 6f 63 73  | ul--sym)))).......(when.(or.docs | 
| 14de0 |  74 72 69 6e 67 20 76 65 72 73 69 6f 6e 2d 69 6e    66 6f 29 0a 20 20 20 20 20 20 20 20 28 68 65 6c  | tring.version-info).........(hel | 
| 14e00 |  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 20 20 20 20  | pful--insert-section-break)..... | 
| 14e20 |  20 20 20 20 28 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 68  | ....(insert..........(helpful--h | 
| 14e40 |  65 61 64 69 6e 67 20 22 44 6f 63 75 6d 65 6e 74    61 74 69 6f 6e 22 29 29 0a 20 20 20 20 20 20 20  | eading."Documentation"))........ | 
| 14e60 |  20 28 77 68 65 6e 20 64 6f 63 73 74 72 69 6e 67    0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65  | .(when.docstring...........(inse | 
| 14e80 |  72 74 20 28 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 64 6f  | rt.(helpful--format-docstring.do | 
| 14ea0 |  63 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20    20 20 20 28 77 68 65 6e 20 76 65 72 73 69 6f 6e  | cstring))).........(when.version | 
| 14ec0 |  2d 69 6e 66 6f 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 20 28  | -info...........(insert."\n\n".( | 
| 14ee0 |  73 2d 77 6f 72 64 2d 77 72 61 70 20 37 30 20 76    65 72 73 69 6f 6e 2d 69 6e 66 6f 29 29 29 0a 20  | s-word-wrap.70.version-info))).. | 
| 14f00 |  20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e    64 20 28 73 79 6d 62 6f 6c 70 20 68 65 6c 70 66  | .......(when.(and.(symbolp.helpf | 
| 14f20 |  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 20 20 20 68 65 6c 70  | ul--sym)....................help | 
| 14f40 |  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 20 20 20 20 20 20 20  | ful--callable-p................. | 
| 14f60 |  20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 68 61 73    2d 73 68 6f 72 74 64 6f 63 2d 70 20 68 65 6c 70  | ...(helpful--has-shortdoc-p.help | 
| 14f80 |  66 75 6c 2d 2d 73 79 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  | ful--sym))...........(insert."\n | 
| 14fa0 |  5c 6e 22 29 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 2d  | \n")...........(insert.(helpful- | 
| 14fc0 |  2d 6d 61 6b 65 2d 73 68 6f 72 74 64 6f 63 2d 73    65 6e 74 65 6e 63 65 20 68 65 6c 70 66 75 6c 2d  | -make-shortdoc-sentence.helpful- | 
| 14fe0 |  2d 73 79 6d 29 29 29 0a 20 20 20 20 20 20 20 20    28 77 68 65 6e 20 28 61 6e 64 20 28 73 79 6d 62  | -sym))).........(when.(and.(symb | 
| 15000 |  6f 6c 70 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d    29 20 28 68 65 6c 70 66 75 6c 2d 2d 69 6e 2d 6d  | olp.helpful--sym).(helpful--in-m | 
| 15020 |  61 6e 75 61 6c 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 20  | anual-p.helpful--sym)).......... | 
| 15040 |  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 65  | .(insert."\n\n")...........(inse | 
| 15060 |  72 74 20 28 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  | rt.(helpful--make-manual-button. | 
| 15080 |  68 65 6c 70 66 75 6c 2d 2d 73 79 6d 29 29 29 29    29 0a 0a 20 20 20 20 3b 3b 20 53 68 6f 77 20 6b  | helpful--sym)))))......;;.Show.k | 
| 150a0 |  65 79 62 69 6e 64 69 6e 67 73 2e 0a 20 20 20 20    3b 3b 20 54 4f 44 4f 3a 20 61 6c 6c 6f 77 20 75  | eybindings......;;.TODO:.allow.u | 
| 150c0 |  73 65 72 73 20 74 6f 20 63 6f 6e 76 65 6e 69 65    6e 74 6c 79 20 61 64 64 20 61 6e 64 20 72 65 6d  | sers.to.conveniently.add.and.rem | 
| 150e0 |  6f 76 65 20 6b 65 79 62 69 6e 64 69 6e 67 73 2e    0a 20 20 20 20 28 77 68 65 6e 20 28 63 6f 6d 6d  | ove.keybindings......(when.(comm | 
| 15100 |  61 6e 64 70 20 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  | andp.helpful--sym).......(helpfu | 
| 15120 |  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 28  | l--insert-section-break).......( | 
| 15140 |  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 20  | insert........(helpful--heading. | 
| 15160 |  22 4b 65 79 20 42 69 6e 64 69 6e 67 73 22 29 0a    20 20 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d  | "Key.Bindings")........(helpful- | 
| 15180 |  2d 66 6f 72 6d 61 74 2d 6b 65 79 73 20 68 65 6c    70 66 75 6c 2d 2d 73 79 6d 20 61 6c 69 61 73 65  | -format-keys.helpful--sym.aliase | 
| 151a0 |  73 29 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  | s)))......(helpful--insert-secti | 
| 151c0 |  6f 6e 2d 62 72 65 61 6b 29 0a 0a 20 20 20 20 28    69 6e 73 65 72 74 0a 20 20 20 20 20 28 68 65 6c  | on-break)......(insert......(hel | 
| 151e0 |  70 66 75 6c 2d 2d 68 65 61 64 69 6e 67 20 22 52    65 66 65 72 65 6e 63 65 73 22 29 0a 20 20 20 20  | pful--heading."References")..... | 
| 15200 |  20 28 6c 65 74 20 28 28 73 72 63 2d 62 75 74 74    6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28  | .(let.((src-button.............( | 
| 15220 |  77 68 65 6e 20 73 6f 75 72 63 65 2d 70 61 74 68    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | when.source-path...............( | 
| 15240 |  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 20 20 20 20  | helpful--navigate-button........ | 
| 15260 |  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 79 20  | ........(file-name-nondirectory. | 
| 15280 |  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 73 6f 75 72  | source-path)................sour | 
| 152a0 |  63 65 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 6f 72 20 70 6f 73 0a 20  | ce-path................(or.pos.. | 
| 152c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 30 29 29 29 29 29 0a 20 20 20 20 20 20 20  | ..................0)))))........ | 
| 152e0 |  28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 28 28    61 6e 64 20 73 6f 75 72 63 65 2d 70 61 74 68 20  | (cond.........((and.source-path. | 
| 15300 |  72 65 66 65 72 65 6e 63 65 73 29 0a 20 20 20 20    20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 52 65  | references)..........(format."Re | 
| 15320 |  66 65 72 65 6e 63 65 73 20 69 6e 20 25 73 3a 5c    6e 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20  | ferences.in.%s:\n%s"............ | 
| 15340 |  20 20 20 20 20 20 73 72 63 2d 62 75 74 74 6f 6e    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ......src-button................ | 
| 15360 |  20 20 28 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  | ..(helpful--format-position-head | 
| 15380 |  73 20 72 65 66 65 72 65 6e 63 65 73 20 73 6f 75    72 63 65 2d 70 61 74 68 29 29 29 0a 20 20 20 20  | s.references.source-path)))..... | 
| 153a0 |  20 20 20 20 28 28 61 6e 64 20 73 6f 75 72 63 65    2d 70 61 74 68 20 70 72 69 6d 69 74 69 76 65 2d  | ....((and.source-path.primitive- | 
| 153c0 |  70 29 0a 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 22 46  | p)..........(format..........."F | 
| 153e0 |  69 6e 64 69 6e 67 20 72 65 66 65 72 65 6e 63 65    73 20 69 6e 20 61 20 2e 25 73 20 66 69 6c 65 20  | inding.references.in.a..%s.file. | 
| 15400 |  69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64    2e 22 0a 20 20 20 20 20 20 20 20 20 20 28 66 2d  | is.not.supported."...........(f- | 
| 15420 |  65 78 74 20 73 6f 75 72 63 65 2d 70 61 74 68 29    29 29 0a 20 20 20 20 20 20 20 20 28 73 6f 75 72  | ext.source-path))).........(sour | 
| 15440 |  63 65 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20    20 28 66 6f 72 6d 61 74 20 22 25 73 20 69 73 20  | ce-path..........(format."%s.is. | 
| 15460 |  75 6e 75 73 65 64 20 69 6e 20 25 73 2e 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | unused.in.%s.".................. | 
| 15480 |  68 65 6c 70 66 75 6c 2d 2d 73 79 6d 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 72  | helpful--sym..................sr | 
| 154a0 |  63 2d 62 75 74 74 6f 6e 29 29 0a 20 20 20 20 20    20 20 20 28 28 61 6e 64 20 70 72 69 6d 69 74 69  | c-button)).........((and.primiti | 
| 154c0 |  76 65 2d 70 20 28 6e 75 6c 6c 20 66 69 6e 64 2d    66 75 6e 63 74 69 6f 6e 2d 43 2d 73 6f 75 72 63  | ve-p.(null.find-function-C-sourc | 
| 154e0 |  65 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20    20 20 20 20 20 20 20 22 43 20 63 6f 64 65 20 69  | e-directory)).........."C.code.i | 
| 15500 |  73 20 6e 6f 74 20 79 65 74 20 6c 6f 61 64 65 64    2e 22 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20  | s.not.yet.loaded.").........(t.. | 
| 15520 |  20 20 20 20 20 20 20 20 22 43 6f 75 6c 64 20 6e    6f 74 20 66 69 6e 64 20 73 6f 75 72 63 65 20 66  | ........"Could.not.find.source.f | 
| 15540 |  69 6c 65 2e 22 29 29 29 0a 20 20 20 20 20 22 5c    6e 5c 6e 22 0a 20 20 20 20 20 28 68 65 6c 70 66  | ile.")))......"\n\n"......(helpf | 
| 15560 |  75 6c 2d 2d 6d 61 6b 65 2d 72 65 66 65 72 65 6e    63 65 73 2d 62 75 74 74 6f 6e 20 68 65 6c 70 66  | ul--make-references-button.helpf | 
| 15580 |  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 0a 20  | ul--sym.helpful--callable-p))... | 
| 155a0 |  20 20 20 28 77 68 65 6e 20 28 61 6e 64 0a 20 20    20 20 20 20 20 20 20 20 20 68 65 6c 70 66 75 6c  | ...(when.(and............helpful | 
| 155c0 |  2d 2d 63 61 6c 6c 61 62 6c 65 2d 70 0a 20 20 20    20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 70  | --callable-p............(symbolp | 
| 155e0 |  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 20 73 6f 75 72 63 65  | .helpful--sym)............source | 
| 15600 |  0a 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 70 29 29 0a 20  | ............(not.primitive-p)).. | 
| 15620 |  20 20 20 20 20 28 69 6e 73 65 72 74 0a 20 20 20    20 20 20 20 22 20 22 0a 20 20 20 20 20 20 20 28  | .....(insert........"."........( | 
| 15640 |  68 65 6c 70 66 75 6c 2d 2d 6d 61 6b 65 2d 63 61    6c 6c 65 65 73 2d 62 75 74 74 6f 6e 20 68 65 6c  | helpful--make-callees-button.hel | 
| 15660 |  70 66 75 6c 2d 2d 73 79 6d 20 73 6f 75 72 63 65    29 29 29 0a 0a 20 20 20 20 28 77 68 65 6e 20 28  | pful--sym.source)))......(when.( | 
| 15680 |  68 65 6c 70 66 75 6c 2d 2d 61 64 76 69 73 65 64    2d 70 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 29  | helpful--advised-p.helpful--sym) | 
| 156a0 |  0a 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  | .......(helpful--insert-section- | 
| 156c0 |  62 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  | break).......(insert........(hel | 
| 156e0 |  70 66 75 6c 2d 2d 68 65 61 64 69 6e 67 20 22 41    64 76 69 63 65 22 29 0a 20 20 20 20 20 20 20 28  | pful--heading."Advice")........( | 
| 15700 |  66 6f 72 6d 61 74 20 22 54 68 69 73 20 25 73 20    69 73 20 61 64 76 69 73 65 64 2e 22 0a 20 20 20  | format."This.%s.is.advised.".... | 
| 15720 |  20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20    28 6d 61 63 72 6f 70 20 68 65 6c 70 66 75 6c 2d  | ............(if.(macrop.helpful- | 
| 15740 |  2d 73 79 6d 29 20 22 6d 61 63 72 6f 22 20 22 66    75 6e 63 74 69 6f 6e 22 29 29 29 29 0a 0a 20 20  | -sym)."macro"."function")))).... | 
| 15760 |  20 20 28 6c 65 74 20 28 28 63 61 6e 2d 65 64 65    62 75 67 0a 20 20 20 20 20 20 20 20 20 20 20 28  | ..(let.((can-edebug............( | 
| 15780 |  68 65 6c 70 66 75 6c 2d 2d 63 61 6e 2d 65 64 65    62 75 67 2d 70 20 68 65 6c 70 66 75 6c 2d 2d 73  | helpful--can-edebug-p.helpful--s | 
| 157a0 |  79 6d 20 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  | ym.helpful--callable-p.buf.pos)) | 
| 157c0 |  0a 20 20 20 20 20 20 20 20 20 20 28 63 61 6e 2d    74 72 61 63 65 0a 20 20 20 20 20 20 20 20 20 20  | ...........(can-trace........... | 
| 157e0 |  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 0a 20 20 20  | .(and.(symbolp.helpful--sym).... | 
| 15800 |  20 20 20 20 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  | .............helpful--callable-p | 
| 15820 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3b 3b 20 54 72 61 63 69 6e 67 20 75 73 65 73  | .................;;.Tracing.uses | 
| 15840 |  20 61 64 76 69 63 65 2c 20 61 6e 64 20 79 6f 75    20 63 61 6e 27 74 20 61 70 70 6c 79 20 61 64 76  | .advice,.and.you.can't.apply.adv | 
| 15860 |  69 63 65 20 74 6f 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3b 3b 20 70 72 69 6d 69 74  | ice.to.................;;.primit | 
| 15880 |  69 76 65 20 66 75 6e 63 74 69 6f 6e 73 20 74 68    61 74 20 61 72 65 20 72 65 70 6c 61 63 65 64 20  | ive.functions.that.are.replaced. | 
| 158a0 |  77 69 74 68 20 73 70 65 63 69 61 6c 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20  | with.special.................;;. | 
| 158c0 |  6f 70 63 6f 64 65 73 2e 20 46 6f 72 20 65 78 61    6d 70 6c 65 2c 20 60 6e 61 72 72 6f 77 2d 74 6f  | opcodes..For.example,.`narrow-to | 
| 158e0 |  2d 72 65 67 69 6f 6e 27 2e 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28  | -region'..................(not.( | 
| 15900 |  70 6c 69 73 74 2d 67 65 74 20 28 73 79 6d 62 6f    6c 2d 70 6c 69 73 74 20 68 65 6c 70 66 75 6c 2d  | plist-get.(symbol-plist.helpful- | 
| 15920 |  2d 73 79 6d 29 20 27 62 79 74 65 2d 6f 70 63 6f    64 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20  | -sym).'byte-opcode)))).......... | 
| 15940 |  20 28 63 61 6e 2d 64 69 73 61 73 73 65 6d 62 6c    65 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 6e  | .(can-disassemble............(an | 
| 15960 |  64 20 68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c 61    62 6c 65 2d 70 20 28 6e 6f 74 20 70 72 69 6d 69  | d.helpful--callable-p.(not.primi | 
| 15980 |  74 69 76 65 2d 70 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 63 61 6e 2d 66 6f 72 67 65 74 0a  | tive-p)))...........(can-forget. | 
| 159a0 |  20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20    28 6e 6f 74 20 28 73 70 65 63 69 61 6c 2d 66 6f  | ...........(and.(not.(special-fo | 
| 159c0 |  72 6d 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 20 20 20 20  | rm-p.helpful--sym))............. | 
| 159e0 |  20 20 20 20 28 6e 6f 74 20 70 72 69 6d 69 74 69    76 65 2d 70 29 29 29 29 0a 20 20 20 20 20 20 28  | ....(not.primitive-p)))).......( | 
| 15a00 |  77 68 65 6e 20 28 6f 72 20 63 61 6e 2d 65 64 65    62 75 67 20 63 61 6e 2d 74 72 61 63 65 20 63 61  | when.(or.can-edebug.can-trace.ca | 
| 15a20 |  6e 2d 64 69 73 61 73 73 65 6d 62 6c 65 20 63 61    6e 2d 66 6f 72 67 65 74 29 0a 20 20 20 20 20 20  | n-disassemble.can-forget)....... | 
| 15a40 |  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 72 65 61 6b  | ..(helpful--insert-section-break | 
| 15a60 |  29 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  | ).........(insert.(helpful--head | 
| 15a80 |  69 6e 67 20 22 44 65 62 75 67 67 69 6e 67 22 29    29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 63  | ing."Debugging"))).......(when.c | 
| 15aa0 |  61 6e 2d 65 64 65 62 75 67 0a 20 20 20 20 20 20    20 20 28 69 6e 73 65 72 74 0a 20 20 20 20 20 20  | an-edebug.........(insert....... | 
| 15ac0 |  20 20 20 28 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  | ...(helpful--make-edebug-button. | 
| 15ae0 |  68 65 6c 70 66 75 6c 2d 2d 73 79 6d 29 29 29 0a    20 20 20 20 20 20 28 77 68 65 6e 20 63 61 6e 2d  | helpful--sym))).......(when.can- | 
| 15b00 |  74 72 61 63 65 0a 20 20 20 20 20 20 20 20 28 77    68 65 6e 20 63 61 6e 2d 65 64 65 62 75 67 0a 20  | trace.........(when.can-edebug.. | 
| 15b20 |  20 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  | .........(insert.".")).........( | 
| 15b40 |  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 74  | insert..........(helpful--make-t | 
| 15b60 |  72 61 63 69 6e 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 0a 20  | racing-button.helpful--sym)))... | 
| 15b80 |  20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72  | .....(when.(and..............(or | 
| 15ba0 |  20 63 61 6e 2d 65 64 65 62 75 67 20 63 61 6e 2d    74 72 61 63 65 29 0a 20 20 20 20 20 20 20 20 20  | .can-edebug.can-trace).......... | 
| 15bc0 |  20 20 20 20 28 6f 72 20 63 61 6e 2d 64 69 73 61    73 73 65 6d 62 6c 65 20 63 61 6e 2d 66 6f 72 67  | ....(or.can-disassemble.can-forg | 
| 15be0 |  65 74 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e    73 65 72 74 20 22 5c 6e 22 29 29 0a 0a 20 20 20  | et)).........(insert."\n"))..... | 
| 15c00 |  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 20 20 20 20 20  | ...(when.can-disassemble........ | 
| 15c20 |  20 28 69 6e 73 65 72 74 20 28 68 65 6c 70 66 75    6c 2d 2d 6d 61 6b 65 2d 64 69 73 61 73 73 65 6d  | .(insert.(helpful--make-disassem | 
| 15c40 |  62 6c 65 2d 62 75 74 74 6f 6e 20 68 65 6c 70 66    75 6c 2d 2d 73 79 6d 29 29 29 0a 0a 20 20 20 20  | ble-button.helpful--sym)))...... | 
| 15c60 |  20 20 28 77 68 65 6e 20 63 61 6e 2d 66 6f 72 67    65 74 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e  | ..(when.can-forget.........(when | 
| 15c80 |  20 63 61 6e 2d 64 69 73 61 73 73 65 6d 62 6c 65    0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65  | .can-disassemble...........(inse | 
| 15ca0 |  72 74 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 66 75  | rt.".")).........(insert.(helpfu | 
| 15cc0 |  6c 2d 2d 6d 61 6b 65 2d 66 6f 72 67 65 74 2d 62    75 74 74 6f 6e 20 68 65 6c 70 66 75 6c 2d 2d 73  | l--make-forget-button.helpful--s | 
| 15ce0 |  79 6d 20 68 65 6c 70 66 75 6c 2d 2d 63 61 6c 6c    61 62 6c 65 2d 70 29 29 29 29 0a 0a 20 20 20 20  | ym.helpful--callable-p))))...... | 
| 15d00 |  28 77 68 65 6e 20 61 6c 69 61 73 65 73 0a 20 20    20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d 69 6e  | (when.aliases.......(helpful--in | 
| 15d20 |  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 | 
| 15d40 |  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 6c 69 61  | t........(helpful--heading."Alia | 
| 15d60 |  73 65 73 22 29 0a 20 20 20 20 20 20 20 28 73 2d    6a 6f 69 6e 20 22 5c 6e 22 20 28 2d 2d 6d 61 70  | ses")........(s-join."\n".(--map | 
| 15d80 |  20 28 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 6d 61    74 2d 61 6c 69 61 73 20 69 74 20 68 65 6c 70 66  | .(helpful--format-alias.it.helpf | 
| 15da0 |  75 6c 2d 2d 63 61 6c 6c 61 62 6c 65 2d 70 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ul--callable-p)................. | 
| 15dc0 |  20 20 20 20 20 20 20 20 20 20 20 61 6c 69 61 73    65 73 29 29 29 29 0a 0a 20 20 20 20 28 77 68 65  | ...........aliases))))......(whe | 
| 15de0 |  6e 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 28 68 65 6c  | n.helpful--callable-p.......(hel | 
| 15e00 |  70 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 29 29 0a 0a  | pful--insert-implementations)).. | 
| 15e20 |  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 72 65  | ....(helpful--insert-section-bre | 
| 15e40 |  61 6b 29 0a 0a 20 20 20 20 28 77 68 65 6e 20 28    6f 72 20 73 6f 75 72 63 65 2d 70 61 74 68 20 70  | ak)......(when.(or.source-path.p | 
| 15e60 |  72 69 6d 69 74 69 76 65 2d 70 29 0a 20 20 20 20    20 20 28 69 6e 73 65 72 74 0a 20 20 20 20 20 20  | rimitive-p).......(insert....... | 
| 15e80 |  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 20 20 28 69 66 20 28  | .(helpful--heading.........(if.( | 
| 15ea0 |  65 71 20 68 65 6c 70 66 75 6c 2d 2d 73 79 6d 20    63 61 6e 6f 6e 69 63 61 6c 2d 73 79 6d 29 0a 20  | eq.helpful--sym.canonical-sym).. | 
| 15ec0 |  20 20 20 20 20 20 20 20 20 20 20 22 53 6f 75 72    63 65 20 43 6f 64 65 22 0a 20 20 20 20 20 20 20  | ..........."Source.Code"........ | 
| 15ee0 |  20 20 20 22 41 6c 69 61 73 20 53 6f 75 72 63 65    20 43 6f 64 65 22 29 29 0a 20 20 20 20 20 20 20  | ..."Alias.Source.Code"))........ | 
| 15f00 |  28 63 6f 6e 64 0a 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  | (cond.........(source-path...... | 
| 15f20 |  20 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 20    20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a  | ....(concat...........(propertiz | 
| 15f40 |  65 20 28 66 6f 72 6d 61 74 20 22 25 73 20 44 65    66 69 6e 65 64 20 69 6e 20 22 20 28 69 66 20 70  | e.(format."%s.Defined.in.".(if.p | 
| 15f60 |  72 69 6d 69 74 69 76 65 2d 70 20 22 2f 2f 22 20    22 3b 3b 22 29 29 0a 20 20 20 20 20 20 20 20 20  | rimitive-p."//".";;")).......... | 
| 15f80 |  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 63 6b 2d 63 6f  | .............'face.'font-lock-co | 
| 15fa0 |  6d 6d 65 6e 74 2d 66 61 63 65 29 0a 20 20 20 20    20 20 20 20 20 20 28 68 65 6c 70 66 75 6c 2d 2d  | mment-face)...........(helpful-- | 
| 15fc0 |  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 28 66 2d 61 62  | navigate-button............(f-ab | 
| 15fe0 |  62 72 65 76 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 73 6f 75  | brev.source-path)............sou | 
| 16000 |  72 63 65 2d 70 61 74 68 0a 20 20 20 20 20 20 20    20 20 20 20 70 6f 73 29 0a 20 20 20 20 20 20 20  | rce-path............pos)........ | 
| 16020 |  20 20 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20    20 20 28 70 72 69 6d 69 74 69 76 65 2d 70 0a 20  | ..."\n")).........(primitive-p.. | 
| 16040 |  20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 0a    20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65  | ........(concat...........(prope | 
| 16060 |  72 74 69 7a 65 0a 20 20 20 20 20 20 20 20 20 20    20 22 43 20 63 6f 64 65 20 69 73 20 6e 6f 74 20  | rtize............"C.code.is.not. | 
| 16080 |  79 65 74 20 6c 6f 61 64 65 64 2e 22 0a 20 20 20    20 20 20 20 20 20 20 20 27 66 61 63 65 20 27 66  | yet.loaded."............'face.'f | 
| 160a0 |  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 20 20  | ont-lock-comment-face).......... | 
| 160c0 |  20 22 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 20 20    20 20 28 68 65 6c 70 66 75 6c 2d 2d 62 75 74 74  | ."\n\n"...........(helpful--butt | 
| 160e0 |  6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 22 53    65 74 20 43 20 73 6f 75 72 63 65 20 64 69 72 65  | on............"Set.C.source.dire | 
| 16100 |  63 74 6f 72 79 22 0a 20 20 20 20 20 20 20 20 20    20 20 27 68 65 6c 70 66 75 6c 2d 63 2d 73 6f 75  | ctory"............'helpful-c-sou | 
| 16120 |  72 63 65 2d 64 69 72 65 63 74 6f 72 79 29 29 29    29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 73 6f  | rce-directory)))))).....(when.so | 
| 16140 |  75 72 63 65 0a 20 20 20 20 20 20 28 69 6e 73 65    72 74 0a 20 20 20 20 20 20 20 28 63 6f 6e 64 0a  | urce.......(insert........(cond. | 
| 16160 |  20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67    70 20 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20  | ........((stringp.source)....... | 
| 16180 |  20 20 20 28 6c 65 74 20 28 28 6d 6f 64 65 20 28    77 68 65 6e 20 70 72 69 6d 69 74 69 76 65 2d 70  | ...(let.((mode.(when.primitive-p | 
| 161a0 |  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 70 63 61 73 65 20 28  | ........................(pcase.( | 
| 161c0 |  66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73    69 6f 6e 20 73 6f 75 72 63 65 2d 70 61 74 68 29  | file-name-extension.source-path) | 
| 161e0 |  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 28 22 63 22 20 27  | ..........................("c".' | 
| 16200 |  63 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 20 20 20 20  | c-mode)......................... | 
| 16220 |  20 28 22 72 73 22 20 28 77 68 65 6e 20 28 66 62    6f 75 6e 64 70 20 27 72 75 73 74 2d 6d 6f 64 65  | .("rs".(when.(fboundp.'rust-mode | 
| 16240 |  29 20 27 72 75 73 74 2d 6d 6f 64 65 29 29 29 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 68  | ).'rust-mode))))))............(h | 
| 16260 |  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 73 6f 75 72 63 65 20  | elpful--syntax-highlight.source. | 
| 16280 |  6d 6f 64 65 29 29 29 0a 20 20 20 20 20 20 20 20    28 28 61 6e 64 20 28 63 6f 6e 73 70 20 73 6f 75  | mode))).........((and.(consp.sou | 
| 162a0 |  72 63 65 29 20 28 65 71 20 28 63 61 72 20 73 6f    75 72 63 65 29 20 27 63 6c 6f 73 75 72 65 29 29  | rce).(eq.(car.source).'closure)) | 
| 162c0 |  0a 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 6c  | ..........(helpful--syntax-highl | 
| 162e0 |  69 67 68 74 0a 20 20 20 20 20 20 20 20 20 20 28    63 6f 6e 63 61 74 20 22 3b 3b 20 43 6c 6f 73 75  | ight...........(concat.";;.Closu | 
| 16300 |  72 65 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20    64 65 66 75 6e 20 62 79 20 68 65 6c 70 66 75 6c  | re.converted.to.defun.by.helpful | 
| 16320 |  2e 5c 6e 22 0a 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  | .\n"...................(helpful- | 
| 16340 |  2d 70 72 65 74 74 79 2d 70 72 69 6e 74 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -pretty-print................... | 
| 16360 |  20 28 68 65 6c 70 66 75 6c 2d 2d 66 6f 72 6d 61    74 2d 63 6c 6f 73 75 72 65 20 68 65 6c 70 66 75  | .(helpful--format-closure.helpfu | 
| 16380 |  6c 2d 2d 73 79 6d 20 73 6f 75 72 63 65 29 29 29    29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20  | l--sym.source))))).........(t... | 
| 163a0 |  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 6c 69 67 68  | .......(helpful--syntax-highligh | 
| 163c0 |  74 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e    63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 28  | t...........(concat............( | 
| 163e0 |  69 66 20 28 65 71 20 68 65 6c 70 66 75 6c 2d 2d    73 79 6d 20 63 61 6e 6f 6e 69 63 61 6c 2d 73 79  | if.(eq.helpful--sym.canonical-sy | 
| 16400 |  6d 29 0a 20 20 20 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  | m)................";;.Could.not. | 
| 16420 |  66 69 6e 64 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  | find.source.code,.showing.raw.fu | 
| 16440 |  6e 63 74 69 6f 6e 20 6f 62 6a 65 63 74 2e 5c 6e    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 22  | nction.object.\n".............." | 
| 16460 |  3b 3b 20 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e    64 20 61 6c 69 61 73 20 73 6f 75 72 63 65 20 63  | ;;.Could.not.find.alias.source.c | 
| 16480 |  6f 64 65 2c 20 73 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  | ode,.showing.raw.function.object | 
| 164a0 |  2e 5c 6e 22 29 0a 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  | .\n")............(helpful--prett | 
| 164c0 |  79 2d 70 72 69 6e 74 20 73 6f 75 72 63 65 29 29    29 29 29 29 29 0a 0a 20 20 20 20 28 68 65 6c 70  | y-print.source)))))))......(help | 
| 164e0 |  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 0a 20 20 20 20  | ful--insert-section-break)...... | 
| 16500 |  28 2d 77 68 65 6e 2d 6c 65 74 20 28 66 6f 72 6d    61 74 74 65 64 2d 70 72 6f 70 73 20 28 68 65 6c  | (-when-let.(formatted-props.(hel | 
| 16520 |  70 66 75 6c 2d 2d 66 6f 72 6d 61 74 2d 70 72 6f    70 65 72 74 69 65 73 20 68 65 6c 70 66 75 6c 2d  | pful--format-properties.helpful- | 
| 16540 |  2d 73 79 6d 29 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  | -sym)).......(insert........(hel | 
| 16560 |  70 66 75 6c 2d 2d 68 65 61 64 69 6e 67 20 22 53    79 6d 62 6f 6c 20 50 72 6f 70 65 72 74 69 65 73  | pful--heading."Symbol.Properties | 
| 16580 |  22 29 0a 20 20 20 20 20 20 20 66 6f 72 6d 61 74    74 65 64 2d 70 72 6f 70 73 29 29 0a 0a 20 20 20  | ")........formatted-props))..... | 
| 165a0 |  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 28 66 6f  | .(goto-char.(point-min)).....(fo | 
| 165c0 |  72 77 61 72 64 2d 6c 69 6e 65 20 28 31 2d 20 73    74 61 72 74 2d 6c 69 6e 65 29 29 0a 20 20 20 20  | rward-line.(1-.start-line))..... | 
| 165e0 |  28 66 6f 72 77 61 72 64 2d 63 68 61 72 20 73 74    61 72 74 2d 63 6f 6c 75 6d 6e 29 0a 20 20 20 20  | (forward-char.start-column)..... | 
| 16600 |  28 73 65 74 71 20 68 65 6c 70 66 75 6c 2d 2d 66    69 72 73 74 2d 64 69 73 70 6c 61 79 20 6e 69 6c  | (setq.helpful--first-display.nil | 
| 16620 |  29 0a 0a 20 20 20 20 28 77 68 65 6e 20 6f 70 65    6e 65 64 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d  | )......(when.opened.......(kill- | 
| 16640 |  62 75 66 66 65 72 20 62 75 66 29 29 29 29 0a 0a    3b 3b 20 54 4f 44 4f 3a 20 74 68 69 73 20 69 73  | buffer.buf))))..;;.TODO:.this.is | 
| 16660 |  6e 27 74 20 73 75 66 66 69 63 69 65 6e 74 20 66    6f 72 20 60 65 64 65 62 75 67 2d 65 76 61 6c 2d  | n't.sufficient.for.`edebug-eval- | 
| 16680 |  64 65 66 75 6e 27 2e 0a 28 64 65 66 75 6e 20 68    65 6c 70 66 75 6c 2d 2d 73 6b 69 70 2d 61 64 76  | defun'..(defun.helpful--skip-adv | 
| 166a0 |  69 63 65 20 28 64 6f 63 73 74 72 69 6e 67 29 0a    20 20 22 52 65 6d 6f 76 65 20 6d 65 6e 74 69 6f  | ice.(docstring)..."Remove.mentio | 
| 166c0 |  6e 73 20 6f 66 20 61 64 76 69 63 65 20 66 72 6f    6d 20 44 4f 43 53 54 52 49 4e 47 2e 22 0a 20 20  | ns.of.advice.from.DOCSTRING."... | 
| 166e0 |  28 6c 65 74 2a 20 28 28 6c 69 6e 65 73 20 28 73    2d 6c 69 6e 65 73 20 64 6f 63 73 74 72 69 6e 67  | (let*.((lines.(s-lines.docstring | 
| 16700 |  29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 6c    65 76 61 6e 74 2d 6c 69 6e 65 73 0a 20 20 20 20  | ))..........(relevant-lines..... | 
| 16720 |  20 20 20 20 20 20 28 2d 2d 64 72 6f 70 2d 77 68    69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 28  | ......(--drop-while............( | 
| 16740 |  6f 72 20 28 73 2d 73 74 61 72 74 73 2d 77 69 74    68 2d 70 20 22 3a 61 72 6f 75 6e 64 20 61 64 76  | or.(s-starts-with-p.":around.adv | 
| 16760 |  69 63 65 3a 22 20 69 74 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 73 2d 73 74 61 72  | ice:".it)................(s-star | 
| 16780 |  74 73 2d 77 69 74 68 2d 70 20 22 54 68 69 73 20    66 75 6e 63 74 69 6f 6e 20 68 61 73 20 3a 61 72  | ts-with-p."This.function.has.:ar | 
| 167a0 |  6f 75 6e 64 20 61 64 76 69 63 65 3a 22 20 69 74    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 6c 69  | ound.advice:".it))............li | 
| 167c0 |  6e 65 73 29 29 29 0a 20 20 20 20 28 73 2d 74 72    69 6d 20 28 73 2d 6a 6f 69 6e 20 22 5c 6e 22 20  | nes))).....(s-trim.(s-join."\n". | 
| 167e0 |  72 65 6c 65 76 61 6e 74 2d 6c 69 6e 65 73 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 68 65 6c 70 66  | relevant-lines))))..(defun.helpf | 
| 16800 |  75 6c 2d 2d 66 6f 72 6d 61 74 2d 61 72 67 75 6d    65 6e 74 20 28 61 72 67 29 0a 20 20 22 46 6f 72  | ul--format-argument.(arg)..."For | 
| 16820 |  6d 61 74 20 41 52 47 20 28 61 20 73 79 6d 62 6f    6c 29 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20  | mat.ARG.(a.symbol).according.to. | 
| 16840 |  45 6d 61 63 73 20 68 65 6c 70 20 63 6f 6e 76 65    6e 74 69 6f 6e 73 2e 22 0a 20 20 28 6c 65 74 20  | Emacs.help.conventions."...(let. | 
| 16860 |  28 28 61 72 67 2d 73 74 72 20 28 73 79 6d 62 6f    6c 2d 6e 61 6d 65 20 61 72 67 29 29 29 0a 20 20  | ((arg-str.(symbol-name.arg)))... | 
| 16880 |  20 20 28 69 66 20 28 73 2d 73 74 61 72 74 73 2d    77 69 74 68 2d 70 20 22 26 22 20 61 72 67 2d 73  | ..(if.(s-starts-with-p."&".arg-s | 
| 168a0 |  74 72 29 0a 20 20 20 20 20 20 20 20 61 72 67 2d    73 74 72 0a 20 20 20 20 20 20 28 73 2d 75 70 63  | tr).........arg-str.......(s-upc | 
| 168c0 |  61 73 65 20 61 72 67 2d 73 74 72 29 29 29 29 0a    0a 28 64 65 66 75 6e 20 68 65 6c 70 66 75 6c 2d  | ase.arg-str))))..(defun.helpful- | 
| 168e0 |  2d 66 6f 72 6d 61 74 2d 73 79 6d 62 6f 6c 20 28    73 79 6d 29 0a 20 20 22 46 6f 72 6d 61 74 20 73  | -format-symbol.(sym)..."Format.s | 
| 16900 |  79 6d 62 6f 6c 20 61 73 20 61 20 73 74 72 69 6e    67 2c 20 65 73 63 61 70 69 6e 67 20 61 73 20 6e  | ymbol.as.a.string,.escaping.as.n | 
| 16920 |  65 63 65 73 73 61 72 79 2e 22 0a 20 20 3b 3b 20    41 72 67 75 61 62 6c 79 20 74 68 69 73 20 69 73  | ecessary."...;;.Arguably.this.is | 
| 16940 |  20 61 6e 20 45 6d 61 63 73 20 62 75 67 2e 20 57    65 20 73 68 6f 75 6c 64 20 62 65 20 61 62 6c 65  | .an.Emacs.bug..We.should.be.able | 
| 16960 |  20 74 6f 20 75 73 65 0a 20 20 3b 3b 20 28 66 6f    72 6d 61 74 20 22 25 53 22 20 73 79 6d 29 0a 20  | .to.use...;;.(format."%S".sym).. | 
| 16980 |  20 3b 3b 20 62 75 74 20 74 68 61 74 20 63 6f 6e    76 65 72 74 73 20 66 6f 6f 3f 20 74 6f 20 22 66  | .;;.but.that.converts.foo?.to."f | 
| 169a0 |  6f 6f 5c 5c 3f 22 2e 20 59 6f 75 20 63 61 6e 20    73 65 65 20 74 68 69 73 20 69 6e 20 6f 74 68 65  | oo\\?"..You.can.see.this.in.othe | 
| 169c0 |  72 0a 20 20 3b 3b 20 70 61 72 74 73 20 6f 66 20    74 68 65 20 45 6d 61 63 73 20 55 49 2c 20 73 75  | r...;;.parts.of.the.Emacs.UI,.su | 
| 169e0 |  63 68 20 61 73 20 45 52 54 2e 0a 20 20 28 73 2d    72 65 70 6c 61 63 65 20 22 20 22 20 22 5c 5c 20  | ch.as.ERT....(s-replace."."."\\. | 
| 16a00 |  22 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 73    79 6d 29 29 29 0a 0a 3b 3b 20 54 4f 44 4f 3a 20  | ".(format."%s".sym)))..;;.TODO:. | 
| 16a20 |  74 68 69 73 20 69 73 20 62 72 6f 6b 65 6e 20 66    6f 72 20 2d 61 6e 79 3f 2e 0a 28 64 65 66 75 6e  | this.is.broken.for.-any?..(defun | 
| 16a40 |  20 68 65 6c 70 66 75 6c 2d 2d 73 69 67 6e 61 74    75 72 65 20 28 73 79 6d 29 0a 20 20 22 47 65 74  | .helpful--signature.(sym)..."Get | 
| 16a60 |  20 74 68 65 20 73 69 67 6e 61 74 75 72 65 20 66    6f 72 20 66 75 6e 63 74 69 6f 6e 20 53 59 4d 2c  | .the.signature.for.function.SYM, | 
| 16a80 |  20 61 73 20 61 20 73 74 72 69 6e 67 2e 0a 46 6f    72 20 65 78 61 6d 70 6c 65 2c 20 5c 22 28 73 6f  | .as.a.string..For.example,.\"(so | 
| 16aa0 |  6d 65 2d 66 75 6e 63 20 46 4f 4f 20 26 6f 70 74    69 6f 6e 61 6c 20 42 41 52 29 5c 22 2e 22 0a 20  | me-func.FOO.&optional.BAR)\".".. | 
| 16ac0 |  20 28 6c 65 74 20 28 64 6f 63 73 74 72 69 6e 67    2d 73 69 67 0a 20 20 20 20 20 20 20 20 73 6f 75  | .(let.(docstring-sig.........sou | 
| 16ae0 |  72 63 65 2d 73 69 67 0a 20 20 20 20 20 20 20 20    28 61 64 76 65 72 74 69 73 65 64 2d 61 72 67 73  | rce-sig.........(advertised-args | 
| 16b00 |  0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20    28 73 79 6d 62 6f 6c 70 20 73 79 6d 29 0a 20 20  | ..........(when.(symbolp.sym)... | 
| 16b20 |  20 20 20 20 20 20 20 20 20 28 67 65 74 68 61 73    68 20 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69  | .........(gethash.(symbol-functi | 
| 16b40 |  6f 6e 20 73 79 6d 29 20 61 64 76 65 72 74 69 73    65 64 2d 73 69 67 6e 61 74 75 72 65 2d 74 61 62  | on.sym).advertised-signature-tab | 
| 16b60 |  6c 65 29 29 29 29 0a 20 20 20 20 3b 3b 20 47 65    74 20 74 68 65 20 75 73 61 67 65 20 66 72 6f 6d  | le)))).....;;.Get.the.usage.from | 
| 16b80 |  20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 65    66 69 6e 69 74 69 6f 6e 2e 0a 20 20 20 20 28 6c  | .the.function.definition......(l | 
| 16ba0 |  65 74 2a 20 28 28 66 75 6e 63 74 69 6f 6e 2d 61    72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20  | et*.((function-args............. | 
| 16bc0 |  28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 28 28 73 79 6d 62 6f 6c 70 20 73 79 6d  | (cond..............((symbolp.sym | 
| 16be0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 68 65 6c 70 2d 66 75 6e 63 74 69 6f 6e 2d 61  | )...............(help-function-a | 
| 16c00 |  72 67 6c 69 73 74 20 73 79 6d 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 28 28 6f 72 20 28  | rglist.sym))..............((or.( | 
| 16c20 |  62 79 74 65 2d 63 6f 64 65 2d 66 75 6e 63 74 69    6f 6e 2d 70 20 73 79 6d 29 0a 20 20 20 20 20 20  | byte-code-function-p.sym)....... | 
| 16c40 |  20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20    28 66 62 6f 75 6e 64 70 20 27 69 6e 74 65 72 70  | ............(if.(fboundp.'interp | 
| 16c60 |  72 65 74 65 64 2d 66 75 6e 63 74 69 6f 6e 2d 70    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | reted-function-p)............... | 
| 16c80 |  20 20 20 20 20 20 20 20 28 69 6e 74 65 72 70 72    65 74 65 64 2d 66 75 6e 63 74 69 6f 6e 2d 70 20  | ........(interpreted-function-p. | 
| 16ca0 |  73 79 6d 29 29 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  | sym)))...............;;.argdesc. | 
| 16cc0 |  63 61 6e 20 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  | can.be.a.list.of.arguments.or.an | 
| 16ce0 |  20 69 6e 74 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  | .integer...............;;.encodi | 
| 16d00 |  6e 67 20 74 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  | ng.the.min/max.number.of.argumen | 
| 16d20 |  74 73 2e 20 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  | ts..See...............;;.Byte-Co | 
| 16d40 |  64 65 20 46 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  | de.Function.Objects.in.the.elisp | 
| 16d60 |  20 6d 61 6e 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  | .manual................(let.((ar | 
| 16d80 |  67 64 65 73 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  | gdesc.(aref.sym.0)))............ | 
| 16da0 |  20 20 20 20 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  | .....(if.(consp.argdesc)........ | 
| 16dc0 |  20 20 20 20 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  | .............argdesc............ | 
| 16de0 |  20 20 20 20 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  | .......;;.TODO:.properly.handle. | 
| 16e00 |  61 72 67 64 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  | argdesc.values.................. | 
| 16e20 |  20 20 6e 69 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  | ..nil)))..............(t........ | 
| 16e40 |  20 20 20 20 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  | .......;;.Interpreted.function.( | 
| 16e60 |  6c 61 6d 62 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  | lambda....)...............(cadr. | 
| 16e80 |  73 79 6d 29 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  | sym))))............(formatted-ar | 
| 16ea0 |  67 73 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  | gs.............(cond............ | 
| 16ec0 |  20 20 28 61 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  | ..(advertised-args.............. | 
| 16ee0 |  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 6e  | .(-map.#'helpful--format-argumen | 
| 16f00 |  74 20 61 64 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  | t.advertised-args))............. | 
| 16f20 |  20 28 28 6c 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  | .((listp.function-args)......... | 
| 16f40 |  20 20 20 20 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  | ......(-map.#'helpful--format-ar | 
| 16f60 |  67 75 6d 65 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  | gument.function-args)).......... | 
| 16f80 |  20 20 20 20 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  | ....(t...............(list.funct | 
| 16fa0 |  69 6f 6e 2d 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  | ion-args))))).......(setq.source | 
| 16fc0 |  2d 73 69 67 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  | -sig.............(cond.......... | 
| 16fe0 |  20 20 20 20 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  | ....;;.If.it's.a.function.object | 
| 17000 |  2c 20 6a 75 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  | ,.just.show.the.arguments....... | 
| 17020 |  20 20 20 20 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  | ........((not.(symbolp.sym)).... | 
| 17040 |  20 20 20 20 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  | ...........(format."(%s)"....... | 
| 17060 |  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 20 66 6f 72 6d  | ................(s-join.".".form | 
| 17080 |  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 3b 3b 20 49 66  | atted-args)))..............;;.If | 
| 170a0 |  20 69 74 20 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  | .it.has.multiple.arguments,.join | 
| 170c0 |  20 74 68 65 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  | .them.with.spaces............... | 
| 170e0 |  28 66 6f 72 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  | (formatted-args...............(f | 
| 17100 |  6f 72 6d 61 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  | ormat."(%s.%s)"................. | 
| 17120 |  20 20 20 20 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  | ......(helpful--format-symbol.sy | 
| 17140 |  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 28 73 2d 6a 6f 69 6e  | m).......................(s-join | 
| 17160 |  20 22 20 22 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  | .".".formatted-args))).......... | 
| 17180 |  20 20 20 20 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  | ....;;.Otherwise,.this.function. | 
| 171a0 |  74 61 6b 65 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  | takes.no.arguments.when.called.. | 
| 171c0 |  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 20 20 20 28 66  | .............(t...............(f | 
| 171e0 |  6f 72 6d 61 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  | ormat."(%s)".(helpful--format-sy | 
| 17200 |  6d 62 6f 6c 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  | mbol.sym))))))......;;.If.the.do | 
| 17220 |  63 73 74 72 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  | cstring.ends.with.(fn.FOO.BAR),. | 
| 17240 |  65 78 74 72 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  | extract.that......(-when-let.(do | 
| 17260 |  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 29 29 0a 20 20 20  | cstring.(documentation.sym)).... | 
| 17280 |  20 20 20 28 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  | ...(-when-let.(docstring-with-us | 
| 172a0 |  61 67 65 20 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  | age.(help-split-fundoc.docstring | 
| 172c0 |  20 73 79 6d 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  | .sym)).........(setq.docstring-s | 
| 172e0 |  69 67 20 28 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  | ig.(car.docstring-with-usage)))) | 
| 17300 |  0a 0a 20 20 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  | ......(cond......;;.Advertised.s | 
| 17320 |  69 67 6e 61 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  | ignature.always.wins.......(adve | 
| 17340 |  72 74 69 73 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  | rtised-args.......source-sig)... | 
| 17360 |  20 20 20 3b 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  | ...;;.If.that's.not.set,.use.the | 
| 17380 |  20 75 73 61 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  | .usage.specification.in.the..... | 
| 173a0 |  20 3b 3b 20 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  | .;;.docstring,.if.present....... | 
| 173c0 |  28 64 6f 63 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  | (docstring-sig.......(replace-re | 
| 173e0 |  67 65 78 70 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  | gexp-in-string."\\\\=\\(['\\`... | 
| 17400 |  e2 80 99 5d 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  | ...]\\)"."\\1".docstring-sig.t)) | 
| 17420 |  0a 20 20 20 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  | ......(t.......;;.Otherwise,.jus | 
| 17440 |  74 20 75 73 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  | t.use.the.signature.from.the.sou | 
| 17460 |  72 63 65 20 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  | rce.code........source-sig)))).. | 
| 17480 |  28 64 65 66 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  | (defun.helpful--format-obsolete- | 
| 174a0 |  69 6e 66 6f 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  | info.(sym.callable-p)...(-let.[( | 
| 174c0 |  75 73 65 20 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  | use._.date).(helpful--obsolete-i | 
| 174e0 |  6e 66 6f 20 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  | nfo.sym.callable-p)].....(helpfu | 
| 17500 |  6c 2d 2d 66 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  | l--format-docstring......(s-word | 
| 17520 |  2d 77 72 61 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  | -wrap.......70.......(format."Th | 
| 17540 |  69 73 20 25 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  | is.%s.is.obsolete%s%s".......... | 
| 17560 |  20 20 20 20 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  | .....(helpful--kind-name.sym.cal | 
| 17580 |  6c 61 62 6c 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  | lable-p)...............(if.date. | 
| 175a0 |  28 66 6f 72 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  | (format.".since.%s".date)....... | 
| 175c0 |  20 20 20 20 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  | .........."")...............(con | 
| 175e0 |  64 20 28 28 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  | d.((stringp.use).(concat.";.".us | 
| 17600 |  65 29 29 0a 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  | e)).....................(use.(fo | 
| 17620 |  72 6d 61 74 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  | rmat.";.use.`%s'.instead.".use)) | 
| 17640 |  0a 20 20 20 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  | .....................(t."."))))) | 
| 17660 |  29 29 0a 0a 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  | ))..(defun.helpful--docstring.(s | 
| 17680 |  79 6d 20 63 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  | ym.callable-p)..."Get.the.docstr | 
| 176a0 |  69 6e 67 20 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  | ing.for.SYM..Note.that.this.retu | 
| 176c0 |  72 6e 73 20 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  | rns.the.raw.docstring,.including | 
| 176e0 |  20 5c 5c 3d 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  | .\\=\\=.escapes.that.are.used.by | 
| 17700 |  20 60 73 75 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  | .`substitute-command-keys'."...( | 
| 17720 |  6c 65 74 20 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  | let.((text-quoting-style.'grave) | 
| 17740 |  0a 20 20 20 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  | .........docstring).....(if.call | 
| 17760 |  61 62 6c 65 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  | able-p.........(progn........... | 
| 17780 |  28 73 65 74 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  | (setq.docstring.(documentation.s | 
| 177a0 |  79 6d 20 74 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  | ym.t))...........(-when-let.(doc | 
| 177c0 |  73 74 72 69 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  | string-with-usage.(help-split-fu | 
| 177e0 |  6e 64 6f 63 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  | ndoc.docstring.sym))............ | 
| 17800 |  20 28 73 65 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  | .(setq.docstring.(cdr.docstring- | 
| 17820 |  77 69 74 68 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  | with-usage)).............(when.d | 
| 17840 |  6f 63 73 74 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  | ocstring...............;;.Advice | 
| 17860 |  20 6d 75 74 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  | .mutates.the.docstring,.see..... | 
| 17880 |  20 20 20 20 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  | ..........;;.`advice--make-docst | 
| 178a0 |  72 69 6e 67 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  | ring'..Undo.that................ | 
| 178c0 |  3b 3b 20 54 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  | ;;.TODO:.Only.do.this.if.the.fun | 
| 178e0 |  63 74 69 6f 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  | ction.is.advised................ | 
| 17900 |  28 73 65 74 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  | (setq.docstring.(helpful--skip-a | 
| 17920 |  64 76 69 63 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  | dvice.docstring))))).......(setq | 
| 17940 |  20 64 6f 63 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  | .docstring.............(document | 
| 17960 |  61 74 69 6f 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  | ation-property.sym.'variable-doc | 
| 17980 |  75 6d 65 6e 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  | umentation.t))).....docstring)). | 
| 179a0 |  0a 28 64 65 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  | .(defun.helpful--read-symbol.(pr | 
| 179c0 |  6f 6d 70 74 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  | ompt.default-val.predicate)..."R | 
| 179e0 |  65 61 64 20 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  | ead.a.symbol.from.the.minibuffer | 
| 17a00 |  2c 20 77 69 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  | ,.with.completion..Returns.the.s | 
| 17a20 |  79 6d 62 6f 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  | ymbol."...(when.(and.default-val | 
| 17a40 |  0a 20 20 20 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  | ..............(not.(funcall.pred | 
| 17a60 |  69 63 61 74 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  | icate.default-val))).....(setq.d | 
| 17a80 |  65 66 61 75 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  | efault-val.nil))...(when.default | 
| 17aa0 |  2d 76 61 6c 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  | -val.....;;.`completing-read'.ex | 
| 17ac0 |  70 65 63 74 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  | pects.a.string......(setq.defaul | 
| 17ae0 |  74 2d 76 61 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  | t-val.(symbol-name.default-val)) | 
| 17b00 |  0a 0a 20 20 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  | ......;;.TODO:.Only.modify.the.p | 
| 17b20 |  72 6f 6d 70 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  | rompt.when.we.don't.have.ido/ivy | 
| 17b40 |  2f 68 65 6c 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  | /helm,.....;;.because.the.defaul | 
| 17b60 |  74 20 69 73 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  | t.is.obvious.for.them......(setq | 
| 17b80 |  20 70 72 6f 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  | .prompt...........(replace-regex | 
| 17ba0 |  70 2d 69 6e 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  | p-in-string............(rx.":.". | 
| 17bc0 |  65 6f 73 29 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  | eos)............(format.".(defau | 
| 17be0 |  6c 74 3a 20 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  | lt:.%s):.".default-val)......... | 
| 17c00 |  20 20 20 70 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  | ...prompt)))...(intern.(completi | 
| 17c20 |  6e 67 2d 72 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  | ng-read.prompt.obarray.......... | 
| 17c40 |  20 20 20 20 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  | ..................predicate.t.ni | 
| 17c60 |  6c 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 20 20 20 20 20 20  | l.nil........................... | 
| 17c80 |  20 64 65 66 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  | .default-val)))..(defun.helpful- | 
| 17ca0 |  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 28 73 79 6d 62 6f  | -update-and-switch-buffer.(symbo | 
| 17cc0 |  6c 20 63 61 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  | l.callable-p)..."Update.and.swit | 
| 17ce0 |  63 68 20 74 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  | ch.to.help.buffer.for.SYMBOL.".. | 
| 17d00 |  20 28 6c 65 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  | .(let.((buf.(helpful--buffer.sym | 
| 17d20 |  62 6f 6c 20 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  | bol.callable-p))).....(with-curr | 
| 17d40 |  65 6e 74 2d 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  | ent-buffer.buf.......(helpful-up | 
| 17d60 |  64 61 74 65 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  | date)).....(funcall.helpful-swit | 
| 17d80 |  63 68 2d 62 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  | ch-buffer-function.buf)))..;;;## | 
| 17da0 |  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 66 75 6e 63 74 69 6f  | #autoload.(defun.helpful-functio | 
| 17dc0 |  6e 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 72 20 66 75 6e 63  | n.(symbol)..."Show.help.for.func | 
| 17de0 |  74 69 6f 6e 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  | tion.named.SYMBOL...See.also.`he | 
| 17e00 |  6c 70 66 75 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  | lpful-macro',.`helpful-command'. | 
| 17e20 |  61 6e 64 20 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  | and.`helpful-callable'."...(inte | 
| 17e40 |  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- | 
| 17e60 |  73 79 6d 62 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  | symbol..........."Function:."... | 
| 17e80 |  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 | 
| 17ea0 |  69 6e 74 29 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  | int)...........#'functionp)))... | 
| 17ec0 |  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 68 2d 62 75 66 66  | (helpful--update-and-switch-buff | 
| 17ee0 |  65 72 20 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  | er.symbol.t))..;;;###autoload.(d | 
| 17f00 |  65 66 75 6e 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  | efun.helpful-command.(symbol)... | 
| 17f20 |  22 53 68 6f 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  | "Show.help.for.interactive.funct | 
| 17f40 |  69 6f 6e 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  | ion.named.SYMBOL...See.also.`hel | 
| 17f60 |  70 66 75 6c 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  | pful-function'."...(interactive. | 
| 17f80 |  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 6f 6c 0a 20  | ...(list.(helpful--read-symbol.. | 
| 17fa0 |  20 20 20 20 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  | ........."Command:."...........( | 
| 17fc0 |  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 0a 20 20 20 20  | helpful--callable-at-point)..... | 
| 17fe0 |  20 20 20 20 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  | ......#'commandp)))...(helpful-- | 
| 18000 |  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 79 6d 62 6f 6c 20  | update-and-switch-buffer.symbol. | 
| 18020 |  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 20 68 65 6c 70 66  | t))..;;;###autoload.(defun.helpf | 
| 18040 |  75 6c 2d 6b 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  | ul-key.(key-sequence)..."Show.he | 
| 18060 |  6c 70 20 66 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  | lp.for.interactive.command.bound | 
| 18080 |  20 74 6f 20 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  | .to.KEY-SEQUENCE."...(interactiv | 
| 180a0 |  65 0a 20 20 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  | e....(list.(read-key-sequence."P | 
| 180c0 |  72 65 73 73 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  | ress.key:.")))...(let.((sym.(key | 
| 180e0 |  2d 62 69 6e 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  | -binding.key-sequence))).....(co | 
| 18100 |  6e 64 0a 20 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  | nd......((null.sym).......(user- | 
| 18120 |  65 72 72 6f 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  | error."No.command.is.bound.to.%s | 
| 18140 |  22 0a 20 20 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  | "...................(key-descrip | 
| 18160 |  74 69 6f 6e 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  | tion.key-sequence)))......((comm | 
| 18180 |  61 6e 64 70 20 73 79 6d 20 74 29 0a 20 20 20 20    20 20 28 68 65 6c 70 66 75 6c 2d 2d 75 70 64 61  | andp.sym.t).......(helpful--upda | 
| 181a0 |  74 65 2d 61 6e 64 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  | te-and-switch-buffer.sym.t)).... | 
| 181c0 |  20 20 28 74 0a 20 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  | ..(t.......(user-error."%s.is.bo | 
| 181e0 |  75 6e 64 20 74 6f 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  | und.to.%s.which.is.not.a.command | 
| 18200 |  22 0a 20 20 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  | "...................(key-descrip | 
| 18220 |  74 69 6f 6e 20 6b 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  | tion.key-sequence).............. | 
| 18240 |  20 20 20 20 20 73 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  | .....sym)))))..;;;###autoload.(d | 
| 18260 |  65 66 75 6e 20 68 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  | efun.helpful-macro.(symbol)..."S | 
| 18280 |  68 6f 77 20 68 65 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  | how.help.for.macro.named.SYMBOL. | 
| 182a0 |  22 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  | "...(interactive....(list.(helpf | 
| 182c0 |  75 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 4d 61 63 72 6f  | ul--read-symbol..........."Macro | 
| 182e0 |  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 6c 65  | :."...........(helpful--callable | 
| 18300 |  2d 61 74 2d 70 6f 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  | -at-point)...........#'macrop))) | 
| 18320 |  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 68 2d 62  | ...(helpful--update-and-switch-b | 
| 18340 |  75 66 66 65 72 20 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  | uffer.symbol.t))..;;;###autoload | 
| 18360 |  0a 28 64 65 66 75 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  | .(defun.helpful-callable.(symbol | 
| 18380 |  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 2c 20 6d 61 63  | )..."Show.help.for.function,.mac | 
| 183a0 |  72 6f 20 6f 72 20 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  | ro.or.special.form.named.SYMBOL. | 
| 183c0 |  0a 0a 53 65 65 20 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  | ..See.also.`helpful-macro',.`hel | 
| 183e0 |  70 66 75 6c 2d 66 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  | pful-function'.and.`helpful-comm | 
| 18400 |  61 6e 64 27 2e 22 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  | and'."...(interactive....(list.( | 
| 18420 |  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 20 20 20 20 20 22  | helpful--read-symbol..........." | 
| 18440 |  43 61 6c 6c 61 62 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  | Callable:."...........(helpful-- | 
| 18460 |  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 20 20 23 27 66  | callable-at-point)...........#'f | 
| 18480 |  62 6f 75 6e 64 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  | boundp)))...(helpful--update-and | 
| 184a0 |  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 0a 28 64 65 66 75  | -switch-buffer.symbol.t))..(defu | 
| 184c0 |  6e 20 68 65 6c 70 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  | n.helpful--variable-p.(symbol).. | 
| 184e0 |  20 22 52 65 74 75 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  | ."Return.non-nil.if.SYMBOL.is.a. | 
| 18500 |  76 61 72 69 61 62 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  | variable."...(or.(get.symbol.'va | 
| 18520 |  72 69 61 62 6c 65 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  | riable-documentation).......(and | 
| 18540 |  20 28 62 6f 75 6e 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  | .(boundp.symbol)............(not | 
| 18560 |  20 28 6b 65 79 77 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  | .(keywordp.symbol))............( | 
| 18580 |  6e 6f 74 20 28 65 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  | not.(eq.symbol.nil))............ | 
| 185a0 |  28 6e 6f 74 20 28 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  | (not.(eq.symbol.t)))))..(defun.h | 
| 185c0 |  65 6c 70 66 75 6c 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  | elpful--bound-p.(symbol)..."Retu | 
| 185e0 |  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 | 
| 18600 |  6c 65 2c 20 63 61 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  | le,.callable,.or.face...This.dif | 
| 18620 |  66 65 72 73 20 66 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  | fers.from.`boundp'.because.we.do | 
| 18640 |  20 6e 6f 74 20 63 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  | .not.consider.nil,.t.or.:foo.".. | 
| 18660 |  20 28 6f 72 20 28 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  | .(or.(fboundp.symbol).......(hel | 
| 18680 |  70 66 75 6c 2d 2d 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  | pful--variable-p.symbol).......( | 
| 186a0 |  66 61 63 65 70 20 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  | facep.symbol)))..(defun.helpful- | 
| 186c0 |  2d 62 6f 6f 6b 6d 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  | -bookmark-jump.(bookmark)..."Cre | 
| 186e0 |  61 74 65 20 61 6e 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  | ate.and.switch.to.helpful.bookma | 
| 18700 |  72 6b 20 42 4f 4f 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  | rk.BOOKMARK."...(let.((callable- | 
| 18720 |  70 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 61 72 6b 20 27 63  | p.(bookmark-prop-get.bookmark.'c | 
| 18740 |  61 6c 6c 61 62 6c 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  | allable-p)).........(sym.(bookma | 
| 18760 |  72 6b 2d 70 72 6f 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  | rk-prop-get.bookmark.'sym))..... | 
| 18780 |  20 20 20 20 28 70 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  | ....(position.(bookmark-prop-get | 
| 187a0 |  20 62 6f 6f 6b 6d 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  | .bookmark.'position))).....(if.c | 
| 187c0 |  61 6c 6c 61 62 6c 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  | allable-p.........(helpful-calla | 
| 187e0 |  62 6c 65 20 73 79 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  | ble.sym).......(helpful-variable | 
| 18800 |  20 73 79 6d 29 29 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  | .sym)).....(goto-char.position)) | 
| 18820 |  29 0a 0a 28 64 65 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  | )..(defun.helpful--bookmark-make | 
| 18840 |  2d 72 65 63 6f 72 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  | -record.()..."Create.a.bookmark. | 
| 18860 |  72 65 63 6f 72 64 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  | record.for.helpful.buffers...See | 
| 18880 |  20 64 6f 63 73 20 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  | .docs.of.`bookmark-make-record-f | 
| 188a0 |  75 6e 63 74 69 6f 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  | unction'."...`((sym...,helpful-- | 
| 188c0 |  73 79 6d 29 0a 20 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  | sym).....(callable-p...,helpful- | 
| 188e0 |  2d 63 61 6c 6c 61 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  | -callable-p).....(position...... | 
| 18900 |  2c 28 70 6f 69 6e 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  | ,(point)).....(handler.......hel | 
| 18920 |  70 66 75 6c 2d 2d 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  | pful--bookmark-jump)))..(defun.h | 
| 18940 |  65 6c 70 66 75 6c 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  | elpful--convert-c-name.(symbol.v | 
| 18960 |  61 72 29 0a 20 20 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  | ar)..."Convert.SYMBOL.from.a.C.n | 
| 18980 |  61 6d 65 20 74 6f 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  | ame.to.an.Elisp.name..E.g..conve | 
| 189a0 |  72 74 20 60 46 6d 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  | rt.`Fmake_string'.to.`make-strin | 
| 189c0 |  67 27 20 6f 72 0a 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  | g'.or.`Vgc_cons_percentage'.to.` | 
| 189e0 |  67 63 2d 63 6f 6e 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  | gc-cons-percentage'..Interpret.S | 
| 18a00 |  59 4d 42 4f 4c 20 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  | YMBOL.as.variable.name.if.VAR,.e | 
| 18a20 |  6c 73 65 20 61 20 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  | lse.a.function.name..Return.nil. | 
| 18a40 |  69 66 20 53 59 4d 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  | if.SYMBOL.doesn't.begin.with.\"F | 
| 18a60 |  5c 22 20 6f 72 20 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  | \".or.\"V\"."...(let.((string.(s | 
| 18a80 |  79 6d 62 6f 6c 2d 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  | ymbol-name.symbol)).........(pre | 
| 18aa0 |  66 69 78 20 28 69 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  | fix.(if.var."V"."F"))).....(when | 
| 18ac0 |  20 28 73 2d 73 74 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  | .(s-starts-with-p.prefix.string) | 
| 18ae0 |  0a 20 20 20 20 20 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  | .......(intern........(s-chop-pr | 
| 18b00 |  65 66 69 78 0a 20 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  | efix.........prefix.........(s-r | 
| 18b20 |  65 70 6c 61 63 65 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  | eplace."_"."-".string))))))..(de | 
| 18b40 |  66 75 6e 20 68 65 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  | fun.helpful--disambiguate.(sym.c | 
| 18b60 |  68 6f 69 63 65 73 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  | hoices)..."Prompt.the.user.to.di | 
| 18b80 |  73 61 6d 62 69 67 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  | sambiguate.SYM.via.a.`read-char- | 
| 18ba0 |  63 68 6f 69 63 65 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  | choice'.selection...CHOICES.is.a | 
| 18bc0 |  20 6c 69 73 74 20 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  | .list.of.tuples.of.the.form.(FN. | 
| 18be0 |  44 45 53 43 20 43 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  | DESC.CHAR),.where....CHAR.is.the | 
| 18c00 |  20 69 6e 70 75 74 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  | .input.character.associated.with | 
| 18c20 |  20 74 68 65 20 63 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  | .the.choice...DESC.is.a.short.de | 
| 18c40 |  73 63 72 69 70 74 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  | scription.of.the.choice.to.displ | 
| 18c60 |  61 79 20 69 6e 20 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  | ay.in.the.prompt....FN.is.the.fu | 
| 18c80 |  6e 63 74 69 6f 6e 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  | nction.being.chosen,.which.takes | 
| 18ca0 |  20 53 59 4d 20 61 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  | .SYM.as.an.argument...For.instan | 
| 18cc0 |  63 65 2c 20 74 68 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  | ce,.the.choice.(#'helpful-variab | 
| 18ce0 |  6c 65 20 5c 22 5b 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  | le.\"[v]ariable\".?v).calls.(hel | 
| 18d00 |  70 66 75 6c 2d 76 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  | pful-variable.SYM).when.the.key. | 
| 18d20 |  60 76 27 20 69 73 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  | `v'.is.pressed.in.the.prompt.".. | 
| 18d40 |  20 28 6c 65 74 2a 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  | .(let*.((prompt.(format."%s.is.a | 
| 18d60 |  6d 62 69 67 75 6f 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  | mbiguous:.describe.%s.?"........ | 
| 18d80 |  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 20 28 73  | ..................(propertize.(s | 
| 18da0 |  79 6d 62 6f 6c 2d 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  | ymbol-name.sym).'face.font-lock- | 
| 18dc0 |  6b 65 79 77 6f 72 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  | keyword-face)................... | 
| 18de0 |  20 20 20 20 20 20 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  | .......(mapconcat.(-lambda.((_.d | 
| 18e00 |  65 73 63 20 5f 29 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  | esc._)).desc)................... | 
| 18e20 |  20 20 20 20 20 20 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  | ..................choices."./.") | 
| 18e40 |  29 29 0a 20 20 20 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  | ))..........(chars.(mapcar.(-lam | 
| 18e60 |  62 64 61 20 28 28 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  | bda.((_._.char)).char).......... | 
| 18e80 |  20 20 20 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  | ...............choices))........ | 
| 18ea0 |  20 20 28 6c 6f 6f 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  | ..(lookup.(mapcar.(-lambda.((fn. | 
| 18ec0 |  5f 20 63 68 61 72 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  | _.char)).(cons.char.fn))........ | 
| 18ee0 |  20 20 20 20 20 20 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  | ..................choices))..... | 
| 18f00 |  20 20 20 20 20 28 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  | .....(input.(read-char-choice.pr | 
| 18f20 |  6f 6d 70 74 20 63 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  | ompt.chars))).....(funcall.(alis | 
| 18f40 |  74 2d 67 65 74 20 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  | t-get.input.lookup).sym)))..;;;# | 
| 18f60 |  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 73 79 6d 62 6f 6c  | ##autoload.(defun.helpful-symbol | 
| 18f80 |  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 72 20 53 59 4d 42 4f  | .(symbol)..."Show.help.for.SYMBO | 
| 18fa0 |  4c 2c 20 61 20 76 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  | L,.a.variable,.function,.macro,. | 
| 18fc0 |  6f 72 20 66 61 63 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  | or.face...See.also.`helpful-call | 
| 18fe0 |  61 62 6c 65 27 20 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  | able'.and.`helpful-variable'.".. | 
| 19000 |  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 6c 2d  | .(interactive....(list.(helpful- | 
| 19020 |  2d 72 65 61 64 2d 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  | -read-symbol..........."Symbol:. | 
| 19040 |  22 0a 20 20 20 20 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  | "...........(helpful--symbol-at- | 
| 19060 |  70 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 62 6f 75 6e  | point)...........#'helpful--boun | 
| 19080 |  64 2d 70 29 29 29 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  | d-p)))...(let.(choices).....(whe | 
| 190a0 |  6e 2d 6c 65 74 20 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  | n-let.(c-var-sym.(helpful--conve | 
| 190c0 |  72 74 2d 63 2d 6e 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  | rt-c-name.symbol.t)).......(push | 
| 190e0 |  20 28 6c 69 73 74 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  | .(list.(lambda.(_).(helpful-vari | 
| 19100 |  61 62 6c 65 20 63 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  | able.c-var-sym))................ | 
| 19120 |  20 20 20 22 63 2d 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  | ..."c-style.[V]ariable".?V)..... | 
| 19140 |  20 20 20 20 20 20 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  | ........choices)).....(when-let. | 
| 19160 |  28 63 2d 66 6e 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 61  | (c-fn-sym.(helpful--convert-c-na | 
| 19180 |  6d 65 20 73 79 6d 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  | me.symbol.nil)).......(push.(lis | 
| 191a0 |  74 20 28 6c 61 6d 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  | t.(lambda.(_).(helpful-callable. | 
| 191c0 |  63 2d 66 6e 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  | c-fn-sym))..................."c- | 
| 191e0 |  73 74 79 6c 65 20 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  | style.[F]unction".?F)........... | 
| 19200 |  20 20 63 68 6f 69 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  | ..choices)).....(when.(fboundp.s | 
| 19220 |  79 6d 62 6f 6c 29 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  | ymbol).......(push.(list.#'helpf | 
| 19240 |  75 6c 2d 63 61 6c 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  | ul-callable."[c]allable".?c).cho | 
| 19260 |  69 63 65 73 29 29 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  | ices)).....(when.(boundp.symbol) | 
| 19280 |  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 76 61 72  | .......(push.(list.#'helpful-var | 
| 192a0 |  69 61 62 6c 65 20 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  | iable."[v]ariable".?v).choices)) | 
| 192c0 |  0a 20 20 20 20 28 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  | .....(when.(facep.symbol)....... | 
| 192e0 |  28 70 75 73 68 20 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  | (push.(list.(lambda.(face)...... | 
| 19300 |  20 20 20 20 20 20 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  | ...............(describe-face.fa | 
| 19320 |  63 65 29 0a 20 20 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  | ce).....................(funcall | 
| 19340 |  20 68 65 6c 70 66 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  | .helpful-switch-buffer-function. | 
| 19360 |  28 68 65 6c 70 2d 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  | (help-buffer)))................. | 
| 19380 |  20 20 22 5b 66 5d 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  | .."[f]ace".?f).............choic | 
| 193a0 |  65 73 29 29 0a 20 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  | es)).....(cond......((null.choic | 
| 193c0 |  65 73 29 0a 20 20 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  | es).......(user-error."Not.bound | 
| 193e0 |  3a 20 25 53 22 20 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  | :.%S".symbol))......((=.1.(lengt | 
| 19400 |  68 20 63 68 6f 69 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  | h.choices)).......(funcall.(caar | 
| 19420 |  20 63 68 6f 69 63 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  | .choices).symbol))......(t.(help | 
| 19440 |  66 75 6c 2d 2d 64 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  | ful--disambiguate.symbol.choices | 
| 19460 |  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 65 6c  | )))))..;;;###autoload.(defun.hel | 
| 19480 |  70 66 75 6c 2d 76 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  | pful-variable.(symbol)..."Show.h | 
| 194a0 |  65 6c 70 20 66 6f 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  | elp.for.variable.named.SYMBOL.". | 
| 194c0 |  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 6c  | ..(interactive....(list.(helpful | 
| 194e0 |  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 56 61 72 69 61 62 6c  | --read-symbol..........."Variabl | 
| 19500 |  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 76 61 72 69 61 62 6c  | e:."...........(helpful--variabl | 
| 19520 |  65 2d 61 74 2d 70 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  | e-at-point)...........#'helpful- | 
| 19540 |  2d 76 61 72 69 61 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  | -variable-p)))...(helpful--updat | 
| 19560 |  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 6e 69 6c 29 29  | e-and-switch-buffer.symbol.nil)) | 
| 19580 |  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 61 74 2d 70 6f  | ..(defun.helpful--variable-at-po | 
| 195a0 |  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 74 68 65 20 73 79 6d  | int-exactly.()..."Return.the.sym | 
| 195c0 |  62 6f 6c 20 61 74 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  | bol.at.point,.if.it's.a.bound.va | 
| 195e0 |  72 69 61 62 6c 65 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  | riable."...(let.((var.(variable- | 
| 19600 |  61 74 2d 70 6f 69 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  | at-point))).....;;.`variable-at- | 
| 19620 |  70 6f 69 6e 74 27 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  | point'.uses.0.rather.than.nil.to | 
| 19640 |  20 73 69 67 6e 69 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  | .signify.no.symbol.....;;.at.poi | 
| 19660 |  6e 74 20 28 70 72 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  | nt.(presumably.because.'nil.is.a | 
| 19680 |  20 73 79 6d 62 6f 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  | .symbol)......(unless.(symbolp.v | 
| 196a0 |  61 72 29 0a 20 20 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  | ar).......(setq.var.nil)).....(w | 
| 196c0 |  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 61 72 29 0a 20 20  | hen.(helpful--variable-p.var)... | 
| 196e0 |  20 20 20 20 76 61 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  | ....var)))..(defun.helpful--vari | 
| 19700 |  61 62 6c 65 2d 64 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  | able-defined-at-point.()..."Retu | 
| 19720 |  72 6e 20 74 68 65 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  | rn.the.variable.defined.in.the.f | 
| 19740 |  6f 72 6d 20 65 6e 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  | orm.enclosing.point."...;;.TODO: | 
| 19760 |  20 64 6f 20 74 68 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  | .do.the.same.thing.if.point.is.j | 
| 19780 |  75 73 74 20 62 65 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  | ust.before.a.top-level.form....( | 
| 197a0 |  73 61 76 65 2d 65 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  | save-excursion.....(save-restric | 
| 197c0 |  74 69 6f 6e 0a 20 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  | tion.......(widen).......(let*.( | 
| 197e0 |  28 70 70 73 73 20 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  | (ppss.(syntax-ppss))............ | 
| 19800 |  20 20 28 73 65 78 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  | ..(sexp-start.(nth.1.ppss))..... | 
| 19820 |  20 20 20 20 20 20 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  | .........sexp).........(when.sex | 
| 19840 |  70 2d 73 74 61 72 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  | p-start...........(goto-char.sex | 
| 19860 |  70 2d 73 74 61 72 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  | p-start)...........(setq.sexp.(c | 
| 19880 |  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 20 20 20 20 20 20  | ondition-case.nil............... | 
| 198a0 |  20 20 20 20 20 20 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  | ...........(read.(current-buffer | 
| 198c0 |  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 28 65 72 72 6f 72  | ))........................(error | 
| 198e0 |  20 6e 69 6c 29 29 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  | .nil)))...........(when.(memq.(c | 
| 19900 |  61 72 2d 73 61 66 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  | ar-safe.sexp)................... | 
| 19920 |  20 20 20 20 28 6c 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  | ....(list.'defvar.'defvar-local. | 
| 19940 |  27 64 65 66 63 75 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  | 'defcustom.'defconst)).......... | 
| 19960 |  20 20 20 28 6e 74 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  | ...(nth.1.sexp)))))))..(defun.he | 
| 19980 |  6c 70 66 75 6c 2d 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  | lpful--variable-at-point.()..."R | 
| 199a0 |  65 74 75 72 6e 20 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  | eturn.the.variable.exactly.under | 
| 199c0 |  20 70 6f 69 6e 74 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  | .point,.or.defined.at.point."... | 
| 199e0 |  28 6c 65 74 20 28 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  | (let.((var.(helpful--variable-at | 
| 19a00 |  2d 70 6f 69 6e 74 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  | -point-exactly))).....(if.var... | 
| 19a20 |  20 20 20 20 20 20 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  | ......var.......(let.((var.(help | 
| 19a40 |  66 75 6c 2d 2d 76 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  | ful--variable-defined-at-point)) | 
| 19a60 |  29 0a 20 20 20 20 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  | ).........(when.(helpful--variab | 
| 19a80 |  6c 65 2d 70 20 76 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  | le-p.var)...........var)))))..(d | 
| 19aa0 |  65 66 75 6e 20 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 20  | efun.helpful--callable-at-point. | 
| 19ac0 |  28 29 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 6e 74  | ()...(let.((sym.(symbol-at-point | 
| 19ae0 |  29 29 0a 20 20 20 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  | )).........(enclosing-sym.(funct | 
| 19b00 |  69 6f 6e 2d 63 61 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  | ion-called-at-point))).....(if.( | 
| 19b20 |  66 62 6f 75 6e 64 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  | fboundp.sym).........sym.......e | 
| 19b40 |  6e 63 6c 6f 73 69 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  | nclosing-sym)))..(defun.helpful- | 
| 19b60 |  2d 73 79 6d 62 6f 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  | -symbol-at-point-exactly.()..."R | 
| 19b80 |  65 74 75 72 6e 20 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  | eturn.the.symbol.at.point,.if.it | 
| 19ba0 |  27 73 20 62 6f 75 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  | 's.bound."...(let.((sym.(symbol- | 
| 19bc0 |  61 74 2d 70 6f 69 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  | at-point))).....(when.(helpful-- | 
| 19be0 |  62 6f 75 6e 64 2d 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  | bound-p.sym).......sym)))..(defu | 
| 19c00 |  6e 20 68 65 6c 70 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  | n.helpful--symbol-at-point.()... | 
| 19c20 |  22 46 69 6e 64 20 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  | "Find.the.most.relevant.symbol.a | 
| 19c40 |  74 20 6f 72 20 61 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  | t.or.around.point..Returns.nil.i | 
| 19c60 |  66 20 6e 6f 74 68 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  | f.nothing.found."...(or....(help | 
| 19c80 |  66 75 6c 2d 2d 73 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  | ful--symbol-at-point-exactly)... | 
| 19ca0 |  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 0a 20 20  | .(helpful--callable-at-point)... | 
| 19cc0 |  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 29 29 29 0a  | .(helpful--variable-at-point))). | 
| 19ce0 |  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 61  | .;;;###autoload.(defun.helpful-a | 
| 19d00 |  74 2d 70 6f 69 6e 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  | t-point.()..."Show.help.for.the. | 
| 19d20 |  73 79 6d 62 6f 6c 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  | symbol.at.point."...(interactive | 
| 19d40 |  29 0a 20 20 28 2d 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  | )...(-if-let.(symbol.(helpful--s | 
| 19d60 |  79 6d 62 6f 6c 2d 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  | ymbol-at-point)).......(helpful- | 
| 19d80 |  73 79 6d 62 6f 6c 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  | symbol.symbol).....(user-error." | 
| 19da0 |  54 68 65 72 65 20 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  | There.is.no.symbol.at.point."))) | 
| 19dc0 |  0a 0a 28 64 65 66 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  | ..(defun.helpful--imenu-index.() | 
| 19de0 |  0a 20 20 22 52 65 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  | ..."Return.a.list.of.headings.in | 
| 19e00 |  20 74 68 65 20 63 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  | .the.current.buffer,.suitable.fo | 
| 19e20 |  72 0a 69 6d 65 6e 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  | r.imenu."...(let.(headings)..... | 
| 19e40 |  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 28 77 68 69  | (goto-char.(point-min)).....(whi | 
| 19e60 |  6c 65 20 28 6e 6f 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  | le.(not.(eobp)).......(when.(eq. | 
| 19e80 |  28 67 65 74 2d 74 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  | (get-text-property.(point).'face | 
| 19ea0 |  29 0a 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 68 65 61 64 69  | ).................'helpful-headi | 
| 19ec0 |  6e 67 29 0a 20 20 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  | ng).........(push..........(cons | 
| 19ee0 |  0a 20 20 20 20 20 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  | ...........(buffer-substring-no- | 
| 19f00 |  70 72 6f 70 65 72 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  | properties............(line-begi | 
| 19f20 |  6e 6e 69 6e 67 2d 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  | nning-position).(line-end-positi | 
| 19f40 |  6f 6e 29 29 0a 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 70  | on))...........(line-beginning-p | 
| 19f60 |  6f 73 69 74 69 6f 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  | osition))..........headings))... | 
| 19f80 |  20 20 20 20 28 66 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  | ....(forward-line)).....(nrevers | 
| 19fa0 |  65 20 68 65 61 64 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  | e.headings)))..(defun.helpful--f | 
| 19fc0 |  6c 61 73 68 2d 72 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  | lash-region.(start.end)..."Tempo | 
| 19fe0 |  72 61 72 69 6c 79 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  | rarily.highlight.region.from.STA | 
| 1a000 |  52 54 20 74 6f 20 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  | RT.to.END."...(let.((overlay.(ma | 
| 1a020 |  6b 65 2d 6f 76 65 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  | ke-overlay.start.end))).....(ove | 
| 1a040 |  72 6c 61 79 2d 70 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  | rlay-put.overlay.'face.'highligh | 
| 1a060 |  74 29 0a 20 20 20 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  | t).....(run-with-timer.1.5.nil.' | 
| 1a080 |  64 65 6c 65 74 65 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  | delete-overlay.overlay)))..(defu | 
| 1a0a0 |  6e 20 68 65 6c 70 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  | n.helpful-visit-reference.()..." | 
| 1a0c0 |  47 6f 20 74 6f 20 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  | Go.to.the.reference.at.point.".. | 
| 1a0e0 |  20 28 69 6e 74 65 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  | .(interactive)...(let*.((sym.hel | 
| 1a100 |  70 66 75 6c 2d 2d 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  | pful--sym)..........(path.(get-t | 
| 1a120 |  65 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 61  | ext-property.(point).'helpful-pa | 
| 1a140 |  74 68 29 29 0a 20 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  | th))..........(pos.(get-text-pro | 
| 1a160 |  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 29 29 0a 20 20 20  | perty.(point).'helpful-pos)).... | 
| 1a180 |  20 20 20 20 20 20 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  | ......(pos-is-start.(get-text-pr | 
| 1a1a0 |  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 2d 69 73 2d 73  | operty.(point).'helpful-pos-is-s | 
| 1a1c0 |  74 61 72 74 29 29 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  | tart))).....(when.(and.path.pos) | 
| 1a1e0 |  0a 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 61 20  | .......;;.If.we're.looking.at.a. | 
| 1a200 |  73 6f 75 72 63 65 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  | source.excerpt,.calculate.the.of | 
| 1a220 |  66 73 65 74 20 6f 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  | fset.of.......;;.point,.so.we.do | 
| 1a240 |  6e 27 74 20 6a 75 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  | n't.just.go.the.start.of.the.exc | 
| 1a260 |  65 72 70 74 2e 0a 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  | erpt........(when.pos-is-start.. | 
| 1a280 |  20 20 20 20 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  | .......(save-excursion.......... | 
| 1a2a0 |  20 28 6c 65 74 20 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  | .(let.((offset.0)).............( | 
| 1a2c0 |  77 68 69 6c 65 20 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  | while.(and.....................( | 
| 1a2e0 |  67 65 74 2d 74 65 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  | get-text-property.(point).'helpf | 
| 1a300 |  75 6c 2d 70 6f 73 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  | ul-pos).....................(not | 
| 1a320 |  20 28 65 6f 62 70 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  | .(eobp)))...............(backwar | 
| 1a340 |  64 2d 63 68 61 72 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  | d-char.1)...............(setq.of | 
| 1a360 |  66 73 65 74 20 28 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  | fset.(1+.offset))).............; | 
| 1a380 |  3b 20 4f 6e 20 74 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  | ;.On.the.last.iteration.we.moved | 
| 1a3a0 |  20 6f 75 74 73 69 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  | .outside.the.source............. | 
| 1a3c0 |  3b 3b 20 65 78 63 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  | ;;.excerpt,.so.we.overcounted.by | 
| 1a3e0 |  20 6f 6e 65 20 63 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  | .one.character..............(set | 
| 1a400 |  71 20 6f 66 66 73 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  | q.offset.(1-.offset))........... | 
| 1a420 |  20 20 20 3b 3b 20 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  | ...;;.Set.POS.so.we.go.to.exactl | 
| 1a440 |  79 20 74 68 65 20 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  | y.the.place.in.the.source....... | 
| 1a460 |  20 20 20 20 20 20 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  | ......;;.code.where.point.was.in | 
| 1a480 |  20 74 68 65 20 68 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  | .the.helpful.excerpt............ | 
| 1a4a0 |  20 20 28 73 65 74 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  | ..(setq.pos.(+.pos.offset))))).. | 
| 1a4c0 |  20 20 20 20 20 20 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  | ......(find-file.path).......(he | 
| 1a4e0 |  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 29 0a 20 20 20 20  | lpful--goto-char-widen.pos)..... | 
| 1a500 |  20 20 28 72 65 63 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  | ..(recenter.0).......(save-excur | 
| 1a520 |  73 69 6f 6e 0a 20 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  | sion.........(let.((defun-end.(s | 
| 1a540 |  63 61 6e 2d 73 65 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  | can-sexps.(point).1))).......... | 
| 1a560 |  20 28 77 68 69 6c 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  | .(while.(re-search-forward...... | 
| 1a580 |  20 20 20 20 20 20 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  | .............(rx-to-string.`(seq | 
| 1a5a0 |  20 73 79 6d 62 6f 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  | .symbol-start.,(symbol-name.sym) | 
| 1a5c0 |  20 73 79 6d 62 6f 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  | .symbol-end))................... | 
| 1a5e0 |  64 65 66 75 6e 2d 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  | defun-end.t).............(helpfu | 
| 1a600 |  6c 2d 2d 66 6c 61 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  | l--flash-region.(match-beginning | 
| 1a620 |  20 30 29 20 28 6d 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  | .0).(match-end.0))))))))..(defun | 
| 1a640 |  20 68 65 6c 70 66 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  | .helpful-kill-buffers.()..."Kill | 
| 1a660 |  20 61 6c 6c 20 60 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  | .all.`helpful-mode'.buffers...Se | 
| 1a680 |  65 20 61 6c 73 6f 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  | e.also.`helpful-max-buffers'.".. | 
| 1a6a0 |  20 28 69 6e 74 65 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  | .(interactive)...(dolist.(buffer | 
| 1a6c0 |  20 28 62 75 66 66 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  | .(buffer-list)).....(when.(eq.(b | 
| 1a6e0 |  75 66 66 65 72 2d 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  | uffer-local-value.'major-mode.bu | 
| 1a700 |  66 66 65 72 29 20 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  | ffer).'helpful-mode).......(kill | 
| 1a720 |  2d 62 75 66 66 65 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  | -buffer.buffer))))..(defvar.help | 
| 1a740 |  66 75 6c 2d 6d 6f 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  | ful-mode-map...(let*.((map.(make | 
| 1a760 |  2d 73 70 61 72 73 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  | -sparse-keymap))).....(define-ke | 
| 1a780 |  79 20 6d 61 70 20 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  | y.map.(kbd."g").#'helpful-update | 
| 1a7a0 |  29 0a 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 76  | ).....(define-key.map.[remap.rev | 
| 1a7c0 |  65 72 74 2d 62 75 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  | ert-buffer].#'helpful-update)... | 
| 1a7e0 |  20 20 28 77 68 65 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  | ..(when.(fboundp.'revert-buffer- | 
| 1a800 |  71 75 69 63 6b 29 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  | quick).......(define-key.map.[re | 
| 1a820 |  6d 61 70 20 72 65 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  | map.revert-buffer-quick].#'helpf | 
| 1a840 |  75 6c 2d 75 70 64 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  | ul-update))......(define-key.map | 
| 1a860 |  20 28 6b 62 64 20 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  | .(kbd."RET").#'helpful-visit-ref | 
| 1a880 |  65 72 65 6e 63 65 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  | erence)......(define-key.map.(kb | 
| 1a8a0 |  64 20 22 54 41 42 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  | d."TAB").#'forward-button).....( | 
| 1a8c0 |  64 65 66 69 6e 65 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  | define-key.map.(kbd."<backtab>") | 
| 1a8e0 |  20 23 27 62 61 63 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  | .#'backward-button)......(define | 
| 1a900 |  2d 6b 65 79 20 6d 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  | -key.map.(kbd."n").#'forward-but | 
| 1a920 |  74 6f 6e 29 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 70  | ton).....(define-key.map.(kbd."p | 
| 1a940 |  22 29 20 23 27 62 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  | ").#'backward-button).....map).. | 
| 1a960 |  20 22 4b 65 79 6d 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  | ."Keymap.for.`helpful-mode'.").. | 
| 1a980 |  28 64 65 63 6c 61 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  | (declare-function.bookmark-prop- | 
| 1a9a0 |  67 65 74 20 22 62 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  | get."bookmark".(bookmark.prop)). | 
| 1a9c0 |  28 64 65 63 6c 61 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  | (declare-function.bookmark-make- | 
| 1a9e0 |  72 65 63 6f 72 64 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  | record-default."bookmark"....... | 
| 1aa00 |  20 20 20 20 20 20 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  | ............(&optional.no-file.n | 
| 1aa20 |  6f 2d 63 6f 6e 74 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  | o-context.posn)).;;.Ensure.this. | 
| 1aa40 |  76 61 72 69 61 62 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  | variable.is.defined.even.if.book | 
| 1aa60 |  6d 61 72 6b 2e 65 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  | mark.el.isn't.loaded.;;.yet..Thi | 
| 1aa80 |  73 20 66 6f 6c 6c 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  | s.follows.the.pattern.in.help-mo | 
| 1aaa0 |  64 65 2e 65 6c 2e 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  | de.el.gz..;;.TODO:.find.a.cleane | 
| 1aac0 |  72 20 73 6f 6c 75 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  | r.solution..(defvar.bookmark-mak | 
| 1aae0 |  65 2d 72 65 63 6f 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  | e-record-function)..(defun.helpf | 
| 1ab00 |  75 6c 2d 2d 61 64 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  | ul--add-support-for-org-links.() | 
| 1ab20 |  0a 20 20 22 49 6d 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  | ..."Improve.support.for.org.\"he | 
| 1ab40 |  6c 70 5c 22 20 6c 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  | lp\".links.through.helpful."...( | 
| 1ab60 |  68 65 6c 70 66 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  | helpful--support-storing-org-lin | 
| 1ab80 |  6b 73 29 0a 20 20 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  | ks)...(helpful--prefer-helpful-w | 
| 1aba0 |  68 65 6e 2d 66 6f 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  | hen-following-org-link))..(defun | 
| 1abc0 |  20 68 65 6c 70 66 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  | .helpful--support-storing-org-li | 
| 1abe0 |  6e 6b 73 20 28 29 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  | nks.()..."Make.`org-store-link'. | 
| 1ac00 |  69 6e 20 61 20 68 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  | in.a.helpful.buffer.return.a.\"h | 
| 1ac20 |  65 6c 70 5c 22 20 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  | elp\".link."...(when.(and.(fboun | 
| 1ac40 |  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 20 20  | dp.'org-link-set-parameters).... | 
| 1ac60 |  20 20 20 20 20 20 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  | ..........(not.(-contains-p.(org | 
| 1ac80 |  2d 6c 69 6e 6b 2d 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  | -link-types)."helpful"))).....(o | 
| 1aca0 |  72 67 2d 6c 69 6e 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  | rg-link-set-parameters."helpful" | 
| 1acc0 |  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 20 3a 73  | ..............................:s | 
| 1ace0 |  74 6f 72 65 20 23 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  | tore.#'helpful--org-link-store)) | 
| 1ad00 |  29 0a 0a 28 64 65 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  | )..(defun.helpful--org-link-stor | 
| 1ad20 |  65 20 28 29 0a 20 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  | e.()..."Store.\"help\".type.link | 
| 1ad40 |  20 77 68 65 6e 20 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  | .when.in.a.helpful.buffer."...(w | 
| 1ad60 |  68 65 6e 20 28 64 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  | hen.(derived-mode-p.'helpful-mod | 
| 1ad80 |  65 29 0a 20 20 20 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  | e).....;;.Create.a."help".link.i | 
| 1ada0 |  6e 73 74 65 61 64 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  | nstead.of.a.dedicated."helpful". | 
| 1adc0 |  6c 69 6e 6b 3a 20 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  | link:.the.....;;.author.of.the.O | 
| 1ade0 |  72 67 20 64 6f 63 75 6d 65 6e 74 20 75 73 65 73    20 68 65 6c 70 66 75 6c 2c 20 62 75 74 20 74 68  | rg.document.uses.helpful,.but.th | 
| 1ae00 |  69 73 20 69 73 20 6e 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  | is.is.not.....;;.necessarily.the | 
| 1ae20 |  20 63 61 73 65 20 6f 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  | .case.of.the.reader.of.the.docum | 
| 1ae40 |  65 6e 74 2e 0a 20 20 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  | ent......(org-link-store-props.: | 
| 1ae60 |  74 79 70 65 20 22 68 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  | type."help"..................... | 
| 1ae80 |  20 20 20 20 20 20 3a 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  | ......:link.(format."help:%s".he | 
| 1aea0 |  6c 70 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 20 20 20 20  | lpful--sym)..................... | 
| 1aec0 |  20 20 20 20 20 20 3a 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  | ......:description.nil)))..(defu | 
| 1aee0 |  6e 20 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  | n.helpful--prefer-helpful-when-f | 
| 1af00 |  6f 6c 6c 6f 77 69 6e 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  | ollowing-org-link.()..."Prefer.h | 
| 1af20 |  65 6c 70 66 75 6c 20 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  | elpful.when.using.`org-open-at-p | 
| 1af40 |  6f 69 6e 74 27 20 6f 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  | oint'.on.a.\"help\".link."...(wh | 
| 1af60 |  65 6e 20 28 66 62 6f 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  | en.(fboundp.'org-link-set-parame | 
| 1af80 |  74 65 72 73 29 0a 20 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  | ters).....(let.((follow-function | 
| 1afa0 |  20 28 6f 72 67 2d 6c 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  | .(org-link-get-parameter."help". | 
| 1afc0 |  3a 66 6f 6c 6c 6f 77 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  | :follow))).......(when.(not.(equ | 
| 1afe0 |  61 6c 20 66 6f 6c 6c 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  | al.follow-function.#'helpful--or | 
| 1b000 |  67 2d 6c 69 6e 6b 2d 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  | g-link-follow)).........(org-lin | 
| 1b020 |  6b 2d 73 65 74 2d 70 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  | k-set-parameters."help"......... | 
| 1b040 |  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 66 6f 6c 6c 6f 77  | .........................:follow | 
| 1b060 |  20 23 27 68 65 6c 70 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  | .#'helpful--org-link-follow))))) | 
| 1b080 |  0a 0a 28 64 65 66 75 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  | ..(defun.helpful--org-link-follo | 
| 1b0a0 |  77 20 28 6c 69 6e 6b 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  | w.(link._)...(helpful-symbol.(in | 
| 1b0c0 |  74 65 72 6e 20 6c 69 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  | tern.link)))..(defun.helpful--ou | 
| 1b0e0 |  74 6c 69 6e 65 2d 66 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  | tline-function.(&optional.bound. | 
| 1b100 |  6d 6f 76 65 20 62 61 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  | move.backward.looking-at)..."`ou | 
| 1b120 |  74 6c 69 6e 65 2d 73 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  | tline-search-function'.for.`help | 
| 1b140 |  66 75 6c 2d 6d 6f 64 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  | ful-mode`..See.documentation.of. | 
| 1b160 |  60 6f 75 74 6c 69 6e 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  | `outline-search-function'.for.BO | 
| 1b180 |  55 4e 44 2c 20 4d 4f 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  | UND,.MOVE,.BACKWARD.and.LOOKING- | 
| 1b1a0 |  41 54 2e 22 0a 20 20 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  | AT."...(if.looking-at.......(eq. | 
| 1b1c0 |  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 70 65  | 'helpful-heading.(get-text-prope | 
| 1b1e0 |  72 74 79 20 28 70 6f 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  | rty.(point).'face)).....(let.((h | 
| 1b200 |  65 61 64 69 6e 67 2d 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  | eading-found.nil)...........(bou | 
| 1b220 |  6e 64 20 28 69 66 20 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  | nd.(if.bound.bound.(if.backward. | 
| 1b240 |  28 70 6f 69 6e 74 2d 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  | (point-min).(point-max)))))..... | 
| 1b260 |  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 28 77 68 65 6e 20  | ..(save-excursion.........(when. | 
| 1b280 |  28 65 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  | (eq.'helpful-heading.(get-text-p | 
| 1b2a0 |  72 6f 70 65 72 74 79 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  | roperty.(point).'face))......... | 
| 1b2c0 |  20 20 28 66 6f 72 77 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  | ..(forward-line.(if.backward.-1. | 
| 1b2e0 |  31 29 29 29 0a 20 20 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  | 1))).........(if.backward....... | 
| 1b300 |  20 20 20 20 20 20 28 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  | ......(while.(not.(or.(eq.(point | 
| 1b320 |  29 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 20 20 20 20 20 20  | ).bound)........................ | 
| 1b340 |  20 20 20 20 20 28 65 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  | .....(eq.'helpful-heading.(get-t | 
| 1b360 |  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 29 29 29 0a 20  | ext-property.(point).'face)))).. | 
| 1b380 |  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 6f 72 20 28 70 72 65  | .............(goto-char.(or.(pre | 
| 1b3a0 |  76 69 6f 75 73 2d 73 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  | vious-single-property-change.(po | 
| 1b3c0 |  69 6e 74 29 20 27 66 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  | int).'face.nil.bound)........... | 
| 1b3e0 |  20 20 20 20 20 20 20 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  | ...................bound)))..... | 
| 1b400 |  20 20 20 20 20 20 28 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  | ......(goto-char.(or.(text-prope | 
| 1b420 |  72 74 79 2d 61 6e 79 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  | rty-any.(point).bound.'face.'hel | 
| 1b440 |  70 66 75 6c 2d 68 65 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  | pful-heading)................... | 
| 1b460 |  20 20 20 20 20 20 20 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  | .......bound))).........(when.(e | 
| 1b480 |  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 | 
| 1b4a0 |  70 65 72 74 79 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  | perty.(point).'face))........... | 
| 1b4c0 |  28 73 65 74 71 20 68 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  | (setq.heading-found.(point)))).. | 
| 1b4e0 |  20 20 20 20 20 28 69 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  | .....(if.heading-found.......... | 
| 1b500 |  20 28 70 72 6f 67 6e 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  | .(progn.............(goto-char.h | 
| 1b520 |  65 61 64 69 6e 67 2d 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  | eading-found).............(set-m | 
| 1b540 |  61 74 63 68 2d 64 61 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  | atch-data.(list.heading-found.he | 
| 1b560 |  61 64 69 6e 67 2d 66 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  | ading-found))).........(when.mov | 
| 1b580 |  65 0a 20 20 20 20 20 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  | e...........(goto-char.bound).ni | 
| 1b5a0 |  6c 29 29 29 29 29 0a 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  | l)))))..(define-derived-mode.hel | 
| 1b5c0 |  70 66 75 6c 2d 6d 6f 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  | pful-mode.special-mode."Helpful" | 
| 1b5e0 |  0a 20 20 22 4d 61 6a 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  | ..."Major.mode.for.*Helpful*.buf | 
| 1b600 |  66 65 72 73 2e 22 0a 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  | fers."...(add-hook.'xref-backend | 
| 1b620 |  2d 66 75 6e 63 74 69 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  | -functions.#'elisp--xref-backend | 
| 1b640 |  20 6e 69 6c 20 74 29 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  | .nil.t)....(setq.imenu-create-in | 
| 1b660 |  64 65 78 2d 66 75 6e 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  | dex-function.#'helpful--imenu-in | 
| 1b680 |  64 65 78 29 0a 20 20 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  | dex)...;;.Prevent.imenu.converti | 
| 1b6a0 |  6e 67 20 22 53 6f 75 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  | ng."Source.Code".to."Source.Code | 
| 1b6c0 |  22 2e 0a 20 20 28 73 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  | "....(setq-local.imenu-space-rep | 
| 1b6e0 |  6c 61 63 65 6d 65 6e 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  | lacement.".")....;;.Enable.users | 
| 1b700 |  20 74 6f 20 62 6f 6f 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  | .to.bookmark.helpful.buffers.... | 
| 1b720 |  28 73 65 74 20 28 6d 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  | (set.(make-local-variable.'bookm | 
| 1b740 |  61 72 6b 2d 6d 61 6b 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  | ark-make-record-function)....... | 
| 1b760 |  20 23 27 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 64  | .#'helpful--bookmark-make-record | 
| 1b780 |  29 0a 0a 20 20 3b 3b 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  | )....;;.Enable.outline.support.f | 
| 1b7a0 |  6f 72 20 45 6d 61 63 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  | or.Emacs.29.and.newer...(unless. | 
| 1b7c0 |  28 3c 20 65 6d 61 63 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  | (<.emacs-major-version.29).....( | 
| 1b7e0 |  73 65 74 71 2d 6c 6f 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  | setq-local.outline-search-functi | 
| 1b800 |  6f 6e 20 23 27 68 65 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  | on.#'helpful--outline-function)) | 
| 1b820 |  0a 0a 20 20 3b 3b 20 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  | ....;;.This.function.should.norm | 
| 1b840 |  61 6c 6c 79 20 6f 6e 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  | ally.only.be.called.once.after.O | 
| 1b860 |  72 67 20 61 6e 64 0a 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  | rg.and...;;.helpful.are.loaded.. | 
| 1b880 |  54 6f 20 61 76 6f 69 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  | To.avoid.using.`eval-after-load' | 
| 1b8a0 |  20 28 77 68 69 63 68 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  | .(which.is...;;.only.recommended | 
| 1b8c0 |  20 69 6e 20 75 73 65 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  | .in.user.init.files),.the.functi | 
| 1b8e0 |  6f 6e 20 69 73 20 63 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  | on.is.called.each...;;.time.the. | 
| 1b900 |  6d 61 6a 6f 72 20 6d 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  | major.mode.is.used....(helpful-- | 
| 1b920 |  61 64 64 2d 73 75 70 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  | add-support-for-org-links))..(pr | 
| 1b940 |  6f 76 69 64 65 20 27 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  | ovide.'helpful).;;;.helpful.el.e | 
| 1b960 |  6e 64 73 20 68 65 72 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  | nds.here........................ | 
| 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  | ................................ |