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