summaryrefslogtreecommitdiff
path: root/localrepo/elisp-refs-20230920.201.tar
blob: e08b7fc5e1a44ee150fc294a139a6f79623f62cc (plain)
ofshex dumpascii
0000 65 6c 69 73 70 2d 72 65 66 73 2d 32 30 32 33 30 39 32 30 2e 32 30 31 2f 00 00 00 00 00 00 00 00 elisp-refs-20230920.201/........
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 37 36 36 00 20 35 00 00 00 0000000.00000000000.012766..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 65 6c 69 73 70 2d 72 65 66 73 2d 32 30 32 33 30 39 32 30 2e 32 30 31 2f 65 6c 69 73 70 2d 72 65 elisp-refs-20230920.201/elisp-re
0220 66 73 2d 70 6b 67 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 fs-pkg.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 36 35 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 31 34 32 00 20 30 00 00 00 0000651.00000000000.016142..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 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 65 6c 69 73 70 2d 72 65 66 73 22 20 22 32 30 (define-package."elisp-refs"."20
0420 32 33 30 39 32 30 2e 32 30 31 22 20 22 66 69 6e 64 20 63 61 6c 6c 65 72 73 20 6f 66 20 65 6c 69 230920.201"."find.callers.of.eli
0440 73 70 20 66 75 6e 63 74 69 6f 6e 73 20 6f 72 20 6d 61 63 72 6f 73 22 0a 20 20 27 28 28 64 61 73 sp.functions.or.macros"...'((das
0460 68 20 22 32 2e 31 32 2e 30 22 29 0a 20 20 20 20 28 73 20 22 31 2e 31 31 2e 30 22 29 29 0a 20 20 h."2.12.0").....(s."1.11.0"))...
0480 3a 63 6f 6d 6d 69 74 20 22 35 34 31 61 30 36 34 63 33 63 65 32 37 38 36 37 38 37 32 63 66 37 30 :commit."541a064c3ce27867872cf70
04a0 38 33 35 34 61 36 35 64 38 33 62 61 66 32 61 36 64 22 20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 8354a65d83baf2a6d".:authors...'(
04c0 28 22 57 69 6c 66 72 65 64 20 48 75 67 68 65 73 22 20 2e 20 22 6d 65 40 77 69 6c 66 72 65 64 2e ("Wilfred.Hughes"..."me@wilfred.
04e0 6d 65 2e 75 6b 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 0a 20 20 27 28 28 22 57 69 me.uk"))...:maintainers...'(("Wi
0500 6c 66 72 65 64 20 48 75 67 68 65 73 22 20 2e 20 22 6d 65 40 77 69 6c 66 72 65 64 2e 6d 65 2e 75 lfred.Hughes"..."me@wilfred.me.u
0520 6b 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20 27 28 22 57 69 6c 66 72 65 64 20 k"))...:maintainer...'("Wilfred.
0540 48 75 67 68 65 73 22 20 2e 20 22 6d 65 40 77 69 6c 66 72 65 64 2e 6d 65 2e 75 6b 22 29 0a 20 20 Hughes"..."me@wilfred.me.uk")...
0560 3a 6b 65 79 77 6f 72 64 73 0a 20 20 27 28 22 6c 69 73 70 22 29 29 0a 3b 3b 20 4c 6f 63 61 6c 20 :keywords...'("lisp")).;;.Local.
0580 56 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 Variables:.;;.no-byte-compile:.t
05a0 0a 3b 3b 20 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .;;.End:........................
05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0600 65 6c 69 73 70 2d 72 65 66 73 2d 32 30 32 33 30 39 32 30 2e 32 30 31 2f 65 6c 69 73 70 2d 72 65 elisp-refs-20230920.201/elisp-re
0620 66 73 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 fs.el...........................
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 31 30 36 30 33 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 33 36 33 00 20 30 00 00 00 0106032.00000000000.015363..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 65 6c 69 73 70 2d 72 65 66 73 2e 65 6c 20 2d 2d 2d 20 66 69 6e 64 20 63 61 6c 6c 65 ;;;.elisp-refs.el.---.find.calle
0820 72 73 20 6f 66 20 65 6c 69 73 70 20 66 75 6e 63 74 69 6f 6e 73 20 6f 72 20 6d 61 63 72 6f 73 20 rs.of.elisp.functions.or.macros.
0840 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 -*-.lexical-binding:.t;.-*-..;;.
0860 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 36 2d 32 30 32 30 20 20 57 69 6c 66 72 65 64 Copyright.(C).2016-2020..Wilfred
0880 20 48 75 67 68 65 73 20 3c 6d 65 40 77 69 6c 66 72 65 64 2e 6d 65 2e 75 6b 3e 0a 0a 3b 3b 20 41 .Hughes.<me@wilfred.me.uk>..;;.A
08a0 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 72 65 uthor:.Wilfred.Hughes.<me@wilfre
08c0 64 2e 6d 65 2e 75 6b 3e 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 31 2e 36 0a 3b 3b 20 4b 65 79 77 d.me.uk>.;;.Version:.1.6.;;.Keyw
08e0 6f 72 64 73 3a 20 6c 69 73 70 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 ords:.lisp.;;.Package-Requires:.
0900 28 28 64 61 73 68 20 22 32 2e 31 32 2e 30 22 29 20 28 73 20 22 31 2e 31 31 2e 30 22 29 29 0a 0a ((dash."2.12.0").(s."1.11.0"))..
0920 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 ;;.This.program.is.free.software
0940 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 ;.you.can.redistribute.it.and/or
0960 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 .modify.;;.it.under.the.terms.of
0980 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 .the.GNU.General.Public.License.
09a0 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 as.published.by.;;.the.Free.Soft
09c0 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 ware.Foundation,.either.version.
09e0 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 3.of.the.License,.or.;;.(at.your
0a00 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 .option).any.later.version...;;.
0a20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 This.program.is.distributed.in.t
0a40 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a he.hope.that.it.will.be.useful,.
0a60 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 ;;.but.WITHOUT.ANY.WARRANTY;.wit
0a80 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f hout.even.the.implied.warranty.o
0aa0 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 f.;;.MERCHANTABILITY.or.FITNESS.
0ac0 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
0ae0 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 he.;;.GNU.General.Public.License
0b00 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c .for.more.details...;;.You.shoul
0b20 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e d.have.received.a.copy.of.the.GN
0b40 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e U.General.Public.License.;;.alon
0b60 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 g.with.this.program...If.not,.se
0b80 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e e.<http://www.gnu.org/licenses/>
0ba0 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 65 6c 69 73 70 2d 72 65 66 ...;;;.Commentary:..;;.elisp-ref
0bc0 73 2e 65 6c 20 69 73 20 61 6e 20 45 6d 61 63 73 20 70 61 63 6b 61 67 65 20 66 6f 72 20 66 69 6e s.el.is.an.Emacs.package.for.fin
0be0 64 69 6e 67 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 0a 3b 3b 20 66 75 6e 63 74 69 6f 6e 73 2c ding.references.to.;;.functions,
0c00 20 6d 61 63 72 6f 73 20 6f 72 20 76 61 72 69 61 62 6c 65 73 2e 20 55 6e 6c 69 6b 65 20 61 20 64 .macros.or.variables..Unlike.a.d
0c20 75 6d 62 20 74 65 78 74 20 73 65 61 72 63 68 2c 0a 3b 3b 20 65 6c 69 73 70 2d 72 65 66 73 2e 65 umb.text.search,.;;.elisp-refs.e
0c40 6c 20 61 63 74 75 61 6c 6c 79 20 70 61 72 73 65 73 20 74 68 65 20 63 6f 64 65 2c 20 73 6f 20 69 l.actually.parses.the.code,.so.i
0c60 74 27 73 20 6e 65 76 65 72 20 63 6f 6e 66 75 73 65 64 20 62 79 0a 3b 3b 20 63 6f 6d 6d 65 6e 74 t's.never.confused.by.;;.comment
0c80 73 20 6f 72 20 60 66 6f 6f 2d 62 61 72 27 20 6d 61 74 63 68 69 6e 67 20 60 66 6f 6f 27 2e 0a 3b s.or.`foo-bar'.matching.`foo'..;
0ca0 3b 0a 3b 3b 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 57 69 6c 66 ;.;;.See.https://github.com/Wilf
0cc0 72 65 64 2f 72 65 66 73 2e 65 6c 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f 52 45 41 44 4d 45 2e 6d red/refs.el/blob/master/README.m
0ce0 64 20 66 6f 72 0a 3b 3b 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 0a 3b 3b 3b 20 d.for.;;.more.information...;;;.
0d00 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 64 61 73 68 29 0a 28 72 65 71 75 69 72 65 20 Code:..(require.'dash).(require.
0d20 27 73 29 0a 28 72 65 71 75 69 72 65 20 27 66 6f 72 6d 61 74 29 0a 28 65 76 61 6c 2d 77 68 65 6e 's).(require.'format).(eval-when
0d40 2d 63 6f 6d 70 69 6c 65 20 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 29 0a 0a 28 64 65 -compile.(require.'cl-lib))..(de
0d60 66 76 61 72 20 73 79 6d 62 6f 6c 73 2d 77 69 74 68 2d 70 6f 73 2d 65 6e 61 62 6c 65 64 29 0a 28 fvar.symbols-with-pos-enabled).(
0d80 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 73 79 6d 62 6f 6c 2d 77 69 74 68 2d 70 6f 73 declare-function.symbol-with-pos
0da0 2d 70 20 6e 69 6c 20 28 6f 62 6a 65 63 74 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 -p.nil.(object)).(declare-functi
0dc0 6f 6e 20 73 79 6d 62 6f 6c 2d 77 69 74 68 2d 70 6f 73 2d 70 6f 73 20 6e 69 6c 20 28 6c 73 29 29 on.symbol-with-pos-pos.nil.(ls))
0de0 0a 0a 3b 3b 3b 20 49 6e 74 65 72 6e 61 6c 0a 0a 28 64 65 66 76 61 72 20 65 6c 69 73 70 2d 72 65 ..;;;.Internal..(defvar.elisp-re
0e00 66 73 2d 76 65 72 62 6f 73 65 20 74 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 fs-verbose.t)..(defun.elisp-refs
0e20 2d 2d 66 6f 72 6d 61 74 2d 69 6e 74 20 28 69 6e 74 65 67 65 72 29 0a 20 20 22 46 6f 72 6d 61 74 --format-int.(integer)..."Format
0e40 20 49 4e 54 45 47 45 52 20 61 73 20 61 20 73 74 72 69 6e 67 2c 20 77 69 74 68 20 2c 20 73 65 70 .INTEGER.as.a.string,.with.,.sep
0e60 61 72 61 74 69 6e 67 20 74 68 6f 75 73 61 6e 64 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 6e 75 6d arating.thousands."...(let.((num
0e80 62 65 72 20 28 61 62 73 20 69 6e 74 65 67 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 70 61 72 74 ber.(abs.integer)).........(part
0ea0 73 20 6e 69 6c 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 6e 75 6d 62 65 72 20 39 39 39 s.nil)).....(while.(>.number.999
0ec0 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 20 22 25 30 33 64 22 20 28 6d 6f ).......(push.(format."%03d".(mo
0ee0 64 20 6e 75 6d 62 65 72 20 31 30 30 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 74 d.number.1000)).............part
0f00 73 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 75 6d 62 65 72 20 28 2f 20 6e 75 6d 62 65 72 20 s).......(setq.number.(/.number.
0f20 31 30 30 30 29 29 29 0a 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 20 22 25 64 22 20 6e 1000))).....(push.(format."%d".n
0f40 75 6d 62 65 72 29 20 70 61 72 74 73 29 0a 20 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 28 umber).parts).....(concat......(
0f60 69 66 20 28 3c 20 69 6e 74 65 67 65 72 20 30 29 20 22 2d 22 20 22 22 29 0a 20 20 20 20 20 28 73 if.(<.integer.0)."-"."")......(s
0f80 2d 6a 6f 69 6e 20 22 2c 22 20 70 61 72 74 73 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 65 -join.",".parts))))..(defsubst.e
0fa0 6c 69 73 70 2d 72 65 66 73 2d 2d 73 74 61 72 74 2d 70 6f 73 20 28 65 6e 64 2d 70 6f 73 29 0a 20 lisp-refs--start-pos.(end-pos)..
0fc0 20 22 46 69 6e 64 20 74 68 65 20 73 74 61 72 74 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 66 6f 72 ."Find.the.start.position.of.for
0fe0 6d 20 65 6e 64 69 6e 67 20 61 74 20 45 4e 44 2d 50 4f 53 0a 69 6e 20 74 68 65 20 63 75 72 72 65 m.ending.at.END-POS.in.the.curre
1000 6e 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 61 72 73 65 2d 73 65 78 70 2d nt.buffer."...(let.((parse-sexp-
1020 69 67 6e 6f 72 65 2d 63 6f 6d 6d 65 6e 74 73 20 74 29 29 0a 20 20 20 20 28 73 63 61 6e 2d 73 65 ignore-comments.t)).....(scan-se
1040 78 70 73 20 65 6e 64 2d 70 6f 73 20 2d 31 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d xps.end-pos.-1)))..(defun.elisp-
1060 72 65 66 73 2d 2d 73 65 78 70 2d 70 6f 73 69 74 69 6f 6e 73 20 28 62 75 66 66 65 72 20 73 74 61 refs--sexp-positions.(buffer.sta
1080 72 74 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 rt-pos.end-pos)..."Return.a.list
10a0 20 6f 66 20 73 74 61 72 74 20 61 6e 64 20 65 6e 64 20 70 6f 73 69 74 69 6f 6e 73 20 6f 66 20 61 .of.start.and.end.positions.of.a
10c0 6c 6c 20 74 68 65 20 73 65 78 70 73 0a 62 65 74 77 65 65 6e 20 53 54 41 52 54 2d 50 4f 53 20 61 ll.the.sexps.between.START-POS.a
10e0 6e 64 20 45 4e 44 2d 50 4f 53 20 28 69 6e 63 6c 75 73 69 76 65 29 20 69 6e 20 42 55 46 46 45 52 nd.END-POS.(inclusive).in.BUFFER
1100 2e 0a 0a 50 6f 73 69 74 69 6f 6e 73 20 65 78 63 6c 75 64 65 20 71 75 6f 74 65 20 63 68 61 72 61 ...Positions.exclude.quote.chara
1120 63 74 65 72 73 2c 20 73 6f 20 67 69 76 65 6e 20 27 66 6f 6f 20 6f 72 20 60 66 6f 6f 2c 20 77 65 cters,.so.given.'foo.or.`foo,.we
1140 0a 72 65 70 6f 72 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 79 6d 62 .report.the.position.of.the.symb
1160 6f 6c 20 66 6f 6f 2e 0a 0a 4e 6f 74 20 72 65 63 75 72 73 69 76 65 2c 20 73 6f 20 77 65 20 64 6f ol.foo...Not.recursive,.so.we.do
1180 6e 27 74 20 63 6f 6e 73 69 64 65 72 20 73 75 62 65 6c 65 6d 65 6e 74 73 20 6f 66 20 6e 65 73 74 n't.consider.subelements.of.nest
11a0 65 64 20 73 65 78 70 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 6f 73 69 74 69 6f 6e 73 20 6e 69 ed.sexps."...(let.((positions.ni
11c0 6c 29 29 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 l)).....(with-current-buffer.buf
11e0 66 65 72 0a 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 20 fer.......(condition-case._err..
1200 20 20 20 20 20 20 20 20 20 28 63 61 74 63 68 20 27 64 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 .........(catch.'done...........
1220 20 20 28 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 2a 20 28 ..(while.t...............(let*.(
1240 28 73 65 78 70 2d 65 6e 64 2d 70 6f 73 20 28 6c 65 74 20 28 28 70 61 72 73 65 2d 73 65 78 70 2d (sexp-end-pos.(let.((parse-sexp-
1260 69 67 6e 6f 72 65 2d 63 6f 6d 6d 65 6e 74 73 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ignore-comments.t)).............
1280 20 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 73 63 61 6e 2d 73 .........................(scan-s
12a0 65 78 70 73 20 73 74 61 72 74 2d 70 6f 73 20 31 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 exps.start-pos.1))))............
12c0 20 20 20 20 20 3b 3b 20 49 66 20 77 65 27 76 65 20 72 65 61 63 68 65 64 20 61 20 73 65 78 70 20 .....;;.If.we've.reached.a.sexp.
12e0 62 65 79 6f 6e 64 20 74 68 65 20 72 61 6e 67 65 20 72 65 71 75 65 73 74 65 64 2c 0a 20 20 20 20 beyond.the.range.requested,.....
1300 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 72 20 69 66 20 74 68 65 72 65 20 61 72 65 20 6e ............;;.or.if.there.are.n
1320 6f 20 73 65 78 70 73 20 6c 65 66 74 2c 20 77 65 27 72 65 20 64 6f 6e 65 2e 0a 20 20 20 20 20 20 o.sexps.left,.we're.done........
1340 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 6e 75 6c 6c 20 73 65 78 70 2d 65 ..........(when.(or.(null.sexp-e
1360 6e 64 2d 70 6f 73 29 20 28 3e 20 73 65 78 70 2d 65 6e 64 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 29 nd-pos).(>.sexp-end-pos.end-pos)
1380 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 27 64 6f 6e 65 )...................(throw.'done
13a0 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4f 74 68 65 72 77 .nil)).................;;.Otherw
13c0 69 73 65 2c 20 74 68 69 73 20 73 65 78 70 20 69 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 72 ise,.this.sexp.is.in.the.range.r
13e0 65 71 75 65 73 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 equested..................(push.
1400 28 6c 69 73 74 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 73 74 61 72 74 2d 70 6f 73 20 73 65 78 (list.(elisp-refs--start-pos.sex
1420 70 2d 65 6e 64 2d 70 6f 73 29 20 73 65 78 70 2d 65 6e 64 2d 70 6f 73 29 0a 20 20 20 20 20 20 20 p-end-pos).sexp-end-pos)........
1440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 ...............positions).......
1460 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 72 74 2d 70 6f 73 20 73 65 78 70 2d 65 ..........(setq.start-pos.sexp-e
1480 6e 64 2d 70 6f 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 54 65 72 6d 69 6e 61 74 65 20 nd-pos)))).........;;.Terminate.
14a0 77 68 65 6e 20 77 65 20 73 65 65 20 22 43 6f 6e 74 61 69 6e 69 6e 67 20 65 78 70 72 65 73 73 69 when.we.see."Containing.expressi
14c0 6f 6e 20 65 6e 64 73 20 70 72 65 6d 61 74 75 72 65 6c 79 22 0a 20 20 20 20 20 20 20 20 28 73 63 on.ends.prematurely".........(sc
14e0 61 6e 2d 65 72 72 6f 72 20 6e 69 6c 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 70 6f an-error.nil))).....(nreverse.po
1500 73 69 74 69 6f 6e 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 72 sitions)))..(defun.elisp-refs--r
1520 65 61 64 2d 62 75 66 66 65 72 2d 66 6f 72 6d 20 28 73 79 6d 62 6f 6c 73 2d 77 69 74 68 2d 70 6f ead-buffer-form.(symbols-with-po
1540 73 29 0a 20 20 22 52 65 61 64 20 61 20 66 6f 72 6d 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 s)..."Read.a.form.from.the.curre
1560 6e 74 20 62 75 66 66 65 72 2c 20 73 74 61 72 74 69 6e 67 20 61 74 20 70 6f 69 6e 74 2e 0a 52 65 nt.buffer,.starting.at.point..Re
1580 74 75 72 6e 73 20 61 20 6c 69 73 74 3a 0a 5c 28 66 6f 72 6d 20 66 6f 72 6d 2d 73 74 61 72 74 2d turns.a.list:.\(form.form-start-
15a0 70 6f 73 20 66 6f 72 6d 2d 65 6e 64 2d 70 6f 73 20 73 79 6d 62 6f 6c 2d 70 6f 73 69 74 69 6f 6e pos.form-end-pos.symbol-position
15c0 73 20 72 65 61 64 2d 73 74 61 72 74 2d 70 6f 73 29 0a 0a 49 6e 20 45 6d 61 63 73 20 32 38 20 61 s.read-start-pos)..In.Emacs.28.a
15e0 6e 64 20 65 61 72 6c 69 65 72 2c 20 53 59 4d 42 4f 4c 2d 50 4f 53 49 54 49 4f 4e 53 20 69 73 20 nd.earlier,.SYMBOL-POSITIONS.is.
1600 61 20 6c 69 73 74 20 6f 66 20 30 2d 69 6e 64 65 78 65 64 0a 73 79 6d 62 6f 6c 20 70 6f 73 69 74 a.list.of.0-indexed.symbol.posit
1620 69 6f 6e 73 20 72 65 6c 61 74 69 76 65 20 74 6f 20 52 45 41 44 2d 53 54 41 52 54 2d 50 4f 53 2c ions.relative.to.READ-START-POS,
1640 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 0a 60 72 65 61 64 2d 73 79 6d 62 6f 6c 2d 70 6f 73 69 74 .according.to.`read-symbol-posit
1660 69 6f 6e 73 2d 6c 69 73 74 27 2e 0a 0a 49 6e 20 45 6d 61 63 73 20 32 39 2b 2c 20 53 59 4d 42 4f ions-list'...In.Emacs.29+,.SYMBO
1680 4c 2d 50 4f 53 49 54 49 4f 4e 53 20 69 73 20 6e 69 6c 2e 20 49 66 20 53 59 4d 42 4f 4c 53 2d 57 L-POSITIONS.is.nil..If.SYMBOLS-W
16a0 49 54 48 2d 50 4f 53 20 69 73 0a 6e 6f 6e 2d 6e 69 6c 2c 20 66 6f 72 6d 73 20 61 72 65 20 72 65 ITH-POS.is.non-nil,.forms.are.re
16c0 61 64 20 77 69 74 68 20 60 72 65 61 64 2d 70 6f 73 69 74 69 6f 6e 69 6e 67 2d 73 79 6d 62 6f 6c ad.with.`read-positioning-symbol
16e0 73 27 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 72 65 61 64 2d 77 69 74 68 2d 73 79 6d 62 6f 6c 2d s'."...(let*.((read-with-symbol-
1700 70 6f 73 69 74 69 6f 6e 73 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 73 74 61 72 positions.t)..........(read-star
1720 74 2d 70 6f 73 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 20 28 69 t-pos.(point))..........(form.(i
1740 66 20 28 61 6e 64 20 73 79 6d 62 6f 6c 73 2d 77 69 74 68 2d 70 6f 73 20 28 66 62 6f 75 6e 64 70 f.(and.symbols-with-pos.(fboundp
1760 20 27 72 65 61 64 2d 70 6f 73 69 74 69 6f 6e 69 6e 67 2d 73 79 6d 62 6f 6c 73 29 29 0a 20 20 20 .'read-positioning-symbols))....
1780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 70 6f 73 69 74 69 6f 6e 69 6e ................(read-positionin
17a0 67 2d 73 79 6d 62 6f 6c 73 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 g-symbols.(current-buffer)).....
17c0 20 20 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 .............(read.(current-buff
17e0 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 73 20 28 69 66 20 28 62 6f er))))..........(symbols.(if.(bo
1800 75 6e 64 70 20 27 72 65 61 64 2d 73 79 6d 62 6f 6c 2d 70 6f 73 69 74 69 6f 6e 73 2d 6c 69 73 74 undp.'read-symbol-positions-list
1820 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 64 2d 73 79 6d ).......................read-sym
1840 62 6f 6c 2d 70 6f 73 69 74 69 6f 6e 73 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 bol-positions-list..............
1860 20 20 20 20 20 20 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 64 2d 70 6f 73 20 28 .......nil))..........(end-pos.(
1880 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74 2d 70 6f 73 20 28 65 6c 69 point))..........(start-pos.(eli
18a0 73 70 2d 72 65 66 73 2d 2d 73 74 61 72 74 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 29 29 29 0a 20 20 sp-refs--start-pos.end-pos)))...
18c0 20 20 28 6c 69 73 74 20 66 6f 72 6d 20 73 74 61 72 74 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 20 73 ..(list.form.start-pos.end-pos.s
18e0 79 6d 62 6f 6c 73 20 72 65 61 64 2d 73 74 61 72 74 2d 70 6f 73 29 29 29 0a 0a 28 64 65 66 76 61 ymbols.read-start-pos)))..(defva
1900 72 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 70 61 74 68 20 6e 69 6c 0a 20 20 22 41 20 62 75 66 66 r.elisp-refs--path.nil..."A.buff
1920 65 72 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 75 73 65 64 20 62 79 20 60 65 6c 69 73 70 er-local.variable.used.by.`elisp
1940 2d 72 65 66 73 2d 2d 63 6f 6e 74 65 6e 74 73 2d 62 75 66 66 65 72 27 2e 0a 49 6e 74 65 72 6e 61 -refs--contents-buffer'..Interna
1960 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64 65 74 61 69 6c 2e 22 29 0a 0a 28 64 65 66 l.implementation.detail.")..(def
1980 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 72 65 61 64 2d 61 6c 6c 2d 62 75 66 66 65 72 2d 66 un.elisp-refs--read-all-buffer-f
19a0 6f 72 6d 73 20 28 62 75 66 66 65 72 20 73 79 6d 62 6f 6c 73 2d 77 69 74 68 2d 70 6f 73 29 0a 20 orms.(buffer.symbols-with-pos)..
19c0 20 22 52 65 61 64 20 61 6c 6c 20 74 68 65 20 66 6f 72 6d 73 20 69 6e 20 42 55 46 46 45 52 2c 20 ."Read.all.the.forms.in.BUFFER,.
19e0 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 69 72 20 70 6f 73 69 74 69 6f 6e 73 2e 22 0a 20 20 28 along.with.their.positions."...(
1a00 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 28 with-current-buffer.buffer.....(
1a20 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 6c 65 74 20 goto-char.(point-min)).....(let.
1a40 28 28 66 6f 72 6d 73 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 ((forms.nil)).......(condition-c
1a60 61 73 65 20 65 72 72 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 74 0a 20 20 20 20 20 ase.err...........(while.t......
1a80 20 20 20 20 20 20 20 28 70 75 73 68 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 72 65 61 64 2d 62 .......(push.(elisp-refs--read-b
1aa0 75 66 66 65 72 2d 66 6f 72 6d 20 73 79 6d 62 6f 6c 73 2d 77 69 74 68 2d 70 6f 73 29 20 66 6f 72 uffer-form.symbols-with-pos).for
1ac0 6d 73 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 28 69 66 ms)).........(error..........(if
1ae0 20 28 6f 72 20 28 65 71 75 61 6c 20 28 63 61 72 20 65 72 72 29 20 27 65 6e 64 2d 6f 66 2d 66 69 .(or.(equal.(car.err).'end-of-fi
1b00 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 74 68 le)..................;;.TODO:.th
1b20 69 73 20 73 68 6f 75 6c 64 6e 27 74 20 6f 63 63 75 72 20 69 6e 20 76 61 6c 69 64 20 65 6c 69 73 is.shouldn't.occur.in.valid.elis
1b40 70 20 66 69 6c 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 75 74 p.files,..................;;.but
1b60 20 69 74 27 73 20 68 61 70 70 65 6e 69 6e 67 20 69 6e 20 68 65 6c 6d 2d 75 74 69 6c 73 2e 65 6c .it's.happening.in.helm-utils.el
1b80 2e 0a 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 20 65 ...................(equal.(car.e
1ba0 72 72 29 20 27 73 63 61 6e 2d 65 72 72 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b rr).'scan-error))..............;
1bc0 3b 20 52 65 61 63 68 65 64 20 65 6e 64 20 6f 66 20 66 69 6c 65 2c 20 77 65 27 72 65 20 64 6f 6e ;.Reached.end.of.file,.we're.don
1be0 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 66 6f 72 6d 73 29 e...............(nreverse.forms)
1c00 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 6f 6d 65 20 75 6e 65 78 70 65 63 74 65 64 20 65 ............;;.Some.unexpected.e
1c20 72 72 6f 72 2c 20 70 72 6f 70 61 67 61 74 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 rror,.propagate.............(err
1c40 6f 72 20 22 55 6e 65 78 70 65 63 74 65 64 20 65 72 72 6f 72 20 77 68 69 6c 73 74 20 72 65 61 64 or."Unexpected.error.whilst.read
1c60 69 6e 67 20 25 73 20 70 6f 73 69 74 69 6f 6e 20 25 73 3a 20 25 73 22 0a 20 20 20 20 20 20 20 20 ing.%s.position.%s:.%s".........
1c80 20 20 20 20 20 20 20 20 20 20 28 61 62 62 72 65 76 69 61 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 20 ..........(abbreviate-file-name.
1ca0 65 6c 69 73 70 2d 72 65 66 73 2d 2d 70 61 74 68 29 20 28 70 6f 69 6e 74 29 20 65 72 72 29 29 29 elisp-refs--path).(point).err)))
1cc0 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 70 72 6f 70 65 72 2d ))))..(defun.elisp-refs--proper-
1ce0 6c 69 73 74 2d 70 20 28 76 61 6c 29 0a 20 20 22 49 73 20 56 41 4c 20 61 20 70 72 6f 70 65 72 20 list-p.(val)..."Is.VAL.a.proper.
1d00 6c 69 73 74 3f 22 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 70 72 6f 70 65 72 2d 6c 69 list?"...(if.(fboundp.'proper-li
1d20 73 74 2d 70 29 0a 20 20 20 20 20 20 3b 3b 20 60 70 72 6f 70 65 72 2d 6c 69 73 74 2d 70 27 20 77 st-p).......;;.`proper-list-p'.w
1d40 61 73 20 61 64 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 37 2e 31 2e 0a 20 20 20 20 20 20 3b 3b as.added.in.Emacs.27.1........;;
1d60 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 63 67 69 .http://git.savannah.gnu.org/cgi
1d80 74 2f 65 6d 61 63 73 2e 67 69 74 2f 63 6f 6d 6d 69 74 2f 3f 69 64 3d 32 66 64 65 36 32 37 35 62 t/emacs.git/commit/?id=2fde6275b
1da0 36 39 66 64 31 31 33 65 37 38 32 34 33 37 39 30 62 66 31 31 32 62 62 64 64 32 66 65 32 62 66 0a 69fd113e78243790bf112bbdd2fe2bf.
1dc0 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 20 28 70 72 6f 70 65 72 2d ......(with-no-warnings.(proper-
1de0 6c 69 73 74 2d 70 20 76 61 6c 29 29 0a 20 20 20 20 3b 3b 20 45 61 72 6c 69 65 72 20 45 6d 61 63 list-p.val)).....;;.Earlier.Emac
1e00 73 20 76 65 72 73 69 6f 6e 73 20 6f 6e 6c 79 20 68 61 64 20 66 6f 72 6d 61 74 2d 70 72 6f 70 65 s.versions.only.had.format-prope
1e20 72 2d 6c 69 73 74 2d 70 2e 0a 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 20 r-list-p......(with-no-warnings.
1e40 28 66 6f 72 6d 61 74 2d 70 72 6f 70 65 72 2d 6c 69 73 74 2d 70 20 76 61 6c 29 29 29 29 0a 0a 28 (format-proper-list-p.val))))..(
1e60 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 77 61 6c 6b 20 28 62 75 66 66 65 72 20 66 defun.elisp-refs--walk.(buffer.f
1e80 6f 72 6d 20 73 74 61 72 74 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 20 73 79 6d 62 6f 6c 20 6d 61 74 orm.start-pos.end-pos.symbol.mat
1ea0 63 68 2d 70 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 74 68 29 0a 20 20 22 57 61 6c 6b 20 46 4f 52 ch-p.&optional.path)..."Walk.FOR
1ec0 4d 2c 20 61 20 6e 65 73 74 65 64 20 6c 69 73 74 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 6c M,.a.nested.list,.and.return.a.l
1ee0 69 73 74 20 6f 66 20 73 75 62 6c 69 73 74 73 20 28 77 69 74 68 0a 74 68 65 69 72 20 70 6f 73 69 ist.of.sublists.(with.their.posi
1f00 74 69 6f 6e 73 29 20 77 68 65 72 65 20 4d 41 54 43 48 2d 50 20 72 65 74 75 72 6e 73 20 74 2e 20 tions).where.MATCH-P.returns.t..
1f20 46 4f 52 4d 20 69 73 20 74 72 61 76 65 72 73 65 64 0a 64 65 70 74 68 2d 66 69 72 73 74 20 28 70 FORM.is.traversed.depth-first.(p
1f40 72 65 2d 6f 72 64 65 72 20 74 72 61 76 65 72 73 61 6c 2c 20 6c 65 66 74 2d 74 6f 2d 72 69 67 68 re-order.traversal,.left-to-righ
1f60 74 29 2e 0a 0a 4d 41 54 43 48 2d 50 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 72 65 t)...MATCH-P.is.called.with.thre
1f80 65 20 61 72 67 75 6d 65 6e 74 73 3a 0a 5c 28 53 59 4d 42 4f 4c 20 43 55 52 52 45 4e 54 2d 46 4f e.arguments:.\(SYMBOL.CURRENT-FO
1fa0 52 4d 20 50 41 54 48 29 2e 0a 0a 50 41 54 48 20 69 73 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 RM.PATH)...PATH.is.the.first.ele
1fc0 6d 65 6e 74 20 6f 66 20 61 6c 6c 20 74 68 65 20 65 6e 63 6c 6f 73 69 6e 67 20 66 6f 72 6d 73 20 ment.of.all.the.enclosing.forms.
1fe0 6f 66 0a 43 55 52 52 45 4e 54 2d 46 4f 52 4d 2c 20 69 6e 6e 65 72 6d 6f 73 74 20 66 69 72 73 74 of.CURRENT-FORM,.innermost.first
2000 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 63 75 ,.along.with.the.index.of.the.cu
2020 72 72 65 6e 74 20 66 6f 72 6d 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 20 69 66 20 77 65 20 61 rrent.form...For.example.if.we.a
2040 72 65 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 68 20 69 6e 20 28 65 20 66 20 28 67 20 68 29 29 2c 20 re.looking.at.h.in.(e.f.(g.h)),.
2060 50 41 54 48 20 74 61 6b 65 73 20 74 68 65 0a 76 61 6c 75 65 20 28 28 67 20 2e 20 31 29 20 28 65 PATH.takes.the.value.((g...1).(e
2080 20 2e 20 32 29 29 2e 0a 0a 53 54 41 52 54 2d 50 4f 53 20 61 6e 64 20 45 4e 44 2d 50 4f 53 20 73 ...2))...START-POS.and.END-POS.s
20a0 68 6f 75 6c 64 20 62 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 46 4f 52 4d 20 77 69 hould.be.the.position.of.FORM.wi
20c0 74 68 69 6e 20 42 55 46 46 45 52 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 66 75 6e 63 61 thin.BUFFER."...(cond....((funca
20e0 6c 6c 20 6d 61 74 63 68 2d 70 20 73 79 6d 62 6f 6c 20 66 6f 72 6d 20 70 61 74 68 29 0a 20 20 20 ll.match-p.symbol.form.path)....
2100 20 3b 3b 20 49 66 20 74 68 69 73 20 66 6f 72 6d 20 6d 61 74 63 68 65 73 2c 20 6a 75 73 74 20 72 .;;.If.this.form.matches,.just.r
2120 65 74 75 72 6e 20 69 74 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 70 6f 73 69 74 69 6f eturn.it,.along.with.the.positio
2140 6e 2e 0a 20 20 20 20 28 6c 69 73 74 20 28 6c 69 73 74 20 66 6f 72 6d 20 73 74 61 72 74 2d 70 6f n......(list.(list.form.start-po
2160 73 20 65 6e 64 2d 70 6f 73 29 29 29 0a 20 20 20 3b 3b 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 s.end-pos)))....;;.Otherwise,.re
2180 63 75 72 73 65 20 6f 6e 20 74 68 65 20 73 75 62 66 6f 72 6d 73 2e 0a 20 20 20 28 28 63 6f 6e 73 curse.on.the.subforms.....((cons
21a0 70 20 66 6f 72 6d 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 65 73 20 6e 69 6c 29 0a p.form).....(let.((matches.nil).
21c0 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 69 6e 64 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 73 20 ..........;;.Find.the.positions.
21e0 6f 66 20 74 68 65 20 73 75 62 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 20 20 20 20 28 73 75 62 66 of.the.subforms............(subf
2200 6f 72 6d 73 2d 70 6f 73 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 orms-positions............(if.(e
2220 71 20 28 63 61 72 2d 73 61 66 65 20 66 6f 72 6d 29 20 27 5c 60 29 0a 20 20 20 20 20 20 20 20 20 q.(car-safe.form).'\`)..........
2240 20 20 20 20 20 20 3b 3b 20 4b 6c 75 64 67 65 3a 20 60 65 6c 69 73 70 2d 72 65 66 73 2d 2d 73 65 ......;;.Kludge:.`elisp-refs--se
2260 78 70 2d 70 6f 73 69 74 69 6f 6e 73 27 20 65 78 63 6c 75 64 65 73 20 74 68 65 20 60 20 77 68 65 xp-positions'.excludes.the.`.whe
2280 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 61 6c 63 75 6c 61 74 69 6e 67 20 n................;;.calculating.
22a0 70 6f 73 69 74 69 6f 6e 73 2e 20 53 6f 2c 20 74 6f 20 66 69 6e 64 20 74 68 65 20 69 6e 6e 65 72 positions..So,.to.find.the.inner
22c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70 6f 73 69 74 69 6f 6e 73 20 77 68 65 ................;;.positions.whe
22e0 6e 20 77 61 6c 6b 69 6e 67 20 66 72 6f 6d 20 60 28 2e 2e 2e 29 20 74 6f 20 28 2e 2e 2e 29 2c 20 n.walking.from.`(...).to.(...),.
2300 77 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 6f 6e 27 74 20 6e 65 65 64 20 we................;;.don't.need.
2320 74 6f 20 69 6e 63 72 65 6d 65 6e 74 20 74 68 65 20 73 74 61 72 74 20 70 6f 73 69 74 69 6f 6e 2e to.increment.the.start.position.
2340 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 6e 69 6c 20 28 65 6c 69 73 70 ................(cons.nil.(elisp
2360 2d 72 65 66 73 2d 2d 73 65 78 70 2d 70 6f 73 69 74 69 6f 6e 73 20 62 75 66 66 65 72 20 73 74 61 -refs--sexp-positions.buffer.sta
2380 72 74 2d 70 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 3b 3b rt-pos.end-pos))..............;;
23a0 20 43 61 6c 63 75 6c 61 74 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 73 20 61 66 74 65 72 20 74 .Calculate.the.positions.after.t
23c0 68 65 20 6f 70 65 6e 69 6e 67 20 70 61 72 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 he.opening.paren...............(
23e0 65 6c 69 73 70 2d 72 65 66 73 2d 2d 73 65 78 70 2d 70 6f 73 69 74 69 6f 6e 73 20 62 75 66 66 65 elisp-refs--sexp-positions.buffe
2400 72 20 28 31 2b 20 73 74 61 72 74 2d 70 6f 73 29 20 65 6e 64 2d 70 6f 73 29 29 29 29 0a 20 20 20 r.(1+.start-pos).end-pos))))....
2420 20 20 20 3b 3b 20 46 6f 72 20 65 61 63 68 20 73 75 62 66 6f 72 6d 2c 20 72 65 63 75 72 73 65 20 ...;;.For.each.subform,.recurse.
2440 69 66 20 69 74 27 73 20 61 20 6c 69 73 74 2c 20 6f 72 20 61 20 6d 61 74 63 68 69 6e 67 20 73 79 if.it's.a.list,.or.a.matching.sy
2460 6d 62 6f 6c 2e 0a 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 28 2d 7a 69 70 2d 70 61 69 72 20 66 mbol........(--each.(-zip-pair.f
2480 6f 72 6d 20 73 75 62 66 6f 72 6d 73 2d 70 6f 73 69 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 orm.subforms-positions).........
24a0 28 2d 6c 65 74 20 5b 28 73 75 62 66 6f 72 6d 20 73 75 62 66 6f 72 6d 2d 73 74 61 72 74 20 73 75 (-let.[(subform.subform-start.su
24c0 62 66 6f 72 6d 2d 65 6e 64 29 20 69 74 5d 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 bform-end).it]...........(when.(
24e0 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 or..................(and.(consp.
2500 73 75 62 66 6f 72 6d 29 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 70 72 6f 70 65 72 2d 6c 69 73 subform).(elisp-refs--proper-lis
2520 74 2d 70 20 73 75 62 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 t-p.subform))..................(
2540 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 73 75 62 66 6f 72 6d 29 20 28 65 71 20 73 75 62 66 6f 72 and.(symbolp.subform).(eq.subfor
2560 6d 20 73 79 6d 62 6f 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e 2d 6c m.symbol))).............(-when-l
2580 65 74 20 28 73 75 62 66 6f 72 6d 2d 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 et.(subform-matches.............
25a0 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 77 61 6c 6b 0a 20 20 ............(elisp-refs--walk...
25c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 20 73 75 .......................buffer.su
25e0 62 66 6f 72 6d 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 73 bform..........................s
2600 75 62 66 6f 72 6d 2d 73 74 61 72 74 20 73 75 62 66 6f 72 6d 2d 65 6e 64 0a 20 20 20 20 20 20 20 ubform-start.subform-end........
2620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 6d 61 74 63 68 2d 70 ..................symbol.match-p
2640 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 63 6f 6e 73 20 ..........................(cons.
2660 28 63 6f 6e 73 20 28 63 61 72 2d 73 61 66 65 20 66 6f 72 6d 29 20 69 74 2d 69 6e 64 65 78 29 20 (cons.(car-safe.form).it-index).
2680 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 73 75 62 66 path)))...............(push.subf
26a0 6f 72 6d 2d 6d 61 74 63 68 65 73 20 6d 61 74 63 68 65 73 29 29 29 29 29 0a 0a 20 20 20 20 20 20 orm-matches.matches)))))........
26c0 3b 3b 20 43 6f 6e 63 61 74 20 74 68 65 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 61 6c 6c 20 74 ;;.Concat.the.results.from.all.t
26e0 68 65 20 73 75 62 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 61 70 70 65 he.subforms........(apply.#'appe
2700 6e 64 20 28 6e 72 65 76 65 72 73 65 20 6d 61 74 63 68 65 73 29 29 29 29 29 29 0a 0a 3b 3b 20 54 nd.(nreverse.matches))))))..;;.T
2720 4f 44 4f 3a 20 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 ODO:.condition-case.(condition-c
2740 61 73 65 20 2e 2e 2e 20 28 65 72 72 6f 72 20 2e 2e 2e 29 29 20 69 73 20 6e 6f 74 20 61 20 63 61 ase.....(error....)).is.not.a.ca
2760 6c 6c 0a 3b 3b 20 54 4f 44 4f 3a 20 28 63 6c 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 2d 62 69 ll.;;.TODO:.(cl-destructuring-bi
2780 6e 64 20 28 66 6f 6f 20 26 72 65 73 74 20 62 61 72 29 20 2e 2e 2e 29 20 69 73 20 6e 6f 74 20 61 nd.(foo.&rest.bar)....).is.not.a
27a0 20 63 61 6c 6c 0a 3b 3b 20 54 4f 44 4f 3a 20 6c 65 74 66 2c 20 63 6c 2d 6c 65 74 66 2c 20 2d 6c .call.;;.TODO:.letf,.cl-letf,.-l
27c0 65 74 2c 20 2d 6c 65 74 2a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 66 75 6e et,.-let*.(defun.elisp-refs--fun
27e0 63 74 69 6f 6e 2d 70 20 28 73 79 6d 62 6f 6c 20 66 6f 72 6d 20 70 61 74 68 29 0a 20 20 22 52 65 ction-p.(symbol.form.path)..."Re
2800 74 75 72 6e 20 74 20 69 66 20 46 4f 52 4d 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 61 20 66 75 6e 63 turn.t.if.FORM.looks.like.a.func
2820 74 69 6f 6e 20 63 61 6c 6c 20 74 6f 20 53 59 4d 42 4f 4c 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 tion.call.to.SYMBOL."...(cond...
2840 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 0a 20 20 .((not.(consp.form)).....nil)...
2860 20 3b 3b 20 49 67 6e 6f 72 65 20 28 64 65 66 75 6e 20 5f 20 28 53 59 4d 42 4f 4c 20 2e 2e 2e 29 .;;.Ignore.(defun._.(SYMBOL....)
2880 20 2e 2e 2e 29 0a 20 20 20 28 28 6f 72 20 28 65 71 75 61 6c 20 28 63 61 72 20 70 61 74 68 29 20 ....)....((or.(equal.(car.path).
28a0 27 28 64 65 66 73 75 62 73 74 20 2e 20 32 29 29 0a 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 '(defsubst...2)).........(equal.
28c0 28 63 61 72 20 70 61 74 68 29 20 27 28 64 65 66 75 6e 20 2e 20 32 29 29 0a 20 20 20 20 20 20 20 (car.path).'(defun...2))........
28e0 20 28 65 71 75 61 6c 20 28 63 61 72 20 70 61 74 68 29 20 27 28 64 65 66 6d 61 63 72 6f 20 2e 20 .(equal.(car.path).'(defmacro...
2900 32 29 29 0a 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 28 63 61 72 20 70 61 74 68 29 20 27 28 2)).........(equal.(car.path).'(
2920 63 6c 2d 64 65 66 75 6e 20 2e 20 32 29 29 29 0a 20 20 20 20 6e 69 6c 29 0a 20 20 20 3b 3b 20 49 cl-defun...2))).....nil)....;;.I
2940 67 6e 6f 72 65 20 28 6c 61 6d 62 64 61 20 28 53 59 4d 42 4f 4c 20 2e 2e 2e 29 20 2e 2e 2e 29 0a gnore.(lambda.(SYMBOL....)....).
2960 20 20 20 28 28 65 71 75 61 6c 20 28 63 61 72 20 70 61 74 68 29 20 27 28 6c 61 6d 62 64 61 20 2e ...((equal.(car.path).'(lambda..
2980 20 31 29 29 0a 20 20 20 20 6e 69 6c 29 0a 20 20 20 3b 3b 20 49 67 6e 6f 72 65 20 28 6c 65 74 20 .1)).....nil)....;;.Ignore.(let.
29a0 28 53 59 4d 42 4f 4c 20 2e 2e 2e 29 20 2e 2e 2e 29 0a 20 20 20 3b 3b 20 61 6e 64 20 28 6c 65 74 (SYMBOL....)....)....;;.and.(let
29c0 2a 20 28 53 59 4d 42 4f 4c 20 2e 2e 2e 29 20 2e 2e 2e 29 0a 20 20 20 28 28 6f 72 0a 20 20 20 20 *.(SYMBOL....)....)....((or.....
29e0 20 28 65 71 75 61 6c 20 28 63 61 72 20 70 61 74 68 29 20 27 28 6c 65 74 20 2e 20 31 29 29 0a 20 .(equal.(car.path).'(let...1))..
2a00 20 20 20 20 28 65 71 75 61 6c 20 28 63 61 72 20 70 61 74 68 29 20 27 28 6c 65 74 2a 20 2e 20 31 ....(equal.(car.path).'(let*...1
2a20 29 29 29 0a 20 20 20 20 6e 69 6c 29 0a 20 20 20 3b 3b 20 49 67 6e 6f 72 65 20 28 6c 65 74 20 28 ))).....nil)....;;.Ignore.(let.(
2a40 28 53 59 4d 42 4f 4c 20 2e 2e 2e 29 29 20 2e 2e 2e 29 0a 20 20 20 28 28 6f 72 0a 20 20 20 20 20 (SYMBOL....))....)....((or......
2a60 28 65 71 75 61 6c 20 28 63 6c 2d 73 65 63 6f 6e 64 20 70 61 74 68 29 20 27 28 6c 65 74 20 2e 20 (equal.(cl-second.path).'(let...
2a80 31 29 29 0a 20 20 20 20 20 28 65 71 75 61 6c 20 28 63 6c 2d 73 65 63 6f 6e 64 20 70 61 74 68 29 1))......(equal.(cl-second.path)
2aa0 20 27 28 6c 65 74 2a 20 2e 20 31 29 29 29 0a 20 20 20 20 6e 69 6c 29 0a 20 20 20 3b 3b 20 49 67 .'(let*...1))).....nil)....;;.Ig
2ac0 6e 6f 72 65 20 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 4e 41 4d 45 20 20 28 41 52 nore.(declare-function.NAME..(AR
2ae0 47 53 2e 2e 2e 29 29 0a 20 20 20 28 28 65 71 75 61 6c 20 28 63 61 72 20 70 61 74 68 29 20 27 28 GS...))....((equal.(car.path).'(
2b00 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 2e 20 33 29 29 0a 20 20 20 20 6e 69 6c 29 0a declare-function...3)).....nil).
2b20 20 20 20 3b 3b 20 28 53 59 4d 42 4f 4c 20 2e 2e 2e 29 0a 20 20 20 28 28 65 71 20 28 63 61 72 20 ...;;.(SYMBOL....)....((eq.(car.
2b40 66 6f 72 6d 29 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 74 29 0a 20 20 20 3b 3b 20 28 66 6f 6f 20 form).symbol).....t)....;;.(foo.
2b60 2e 2e 2e 20 23 27 53 59 4d 42 4f 4c 20 2e 2e 2e 29 0a 20 20 20 28 28 2d 2d 61 6e 79 2d 70 20 28 ....#'SYMBOL....)....((--any-p.(
2b80 65 71 75 61 6c 20 69 74 20 28 6c 69 73 74 20 27 66 75 6e 63 74 69 6f 6e 20 73 79 6d 62 6f 6c 29 equal.it.(list.'function.symbol)
2ba0 29 20 66 6f 72 6d 29 0a 20 20 20 20 74 29 0a 20 20 20 3b 3b 20 28 66 75 6e 63 61 6c 6c 20 27 53 ).form).....t)....;;.(funcall.'S
2bc0 59 4d 42 4f 4c 20 2e 2e 2e 29 0a 20 20 20 28 28 61 6e 64 20 28 65 71 20 28 63 61 72 20 66 6f 72 YMBOL....)....((and.(eq.(car.for
2be0 6d 29 20 27 66 75 6e 63 61 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 60 27 2c m).'funcall)..........(equal.`',
2c00 73 79 6d 62 6f 6c 20 28 63 6c 2d 73 65 63 6f 6e 64 20 66 6f 72 6d 29 29 29 0a 20 20 20 20 74 29 symbol.(cl-second.form))).....t)
2c20 0a 20 20 20 3b 3b 20 28 61 70 70 6c 79 20 27 53 59 4d 42 4f 4c 20 2e 2e 2e 29 0a 20 20 20 28 28 ....;;.(apply.'SYMBOL....)....((
2c40 61 6e 64 20 28 65 71 20 28 63 61 72 20 66 6f 72 6d 29 20 27 61 70 70 6c 79 29 0a 20 20 20 20 20 and.(eq.(car.form).'apply)......
2c60 20 20 20 20 28 65 71 75 61 6c 20 60 27 2c 73 79 6d 62 6f 6c 20 28 63 6c 2d 73 65 63 6f 6e 64 20 ....(equal.`',symbol.(cl-second.
2c80 66 6f 72 6d 29 29 29 0a 20 20 20 20 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 form))).....t)))..(defun.elisp-r
2ca0 65 66 73 2d 2d 6d 61 63 72 6f 2d 70 20 28 73 79 6d 62 6f 6c 20 66 6f 72 6d 20 70 61 74 68 29 0a efs--macro-p.(symbol.form.path).
2cc0 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 46 4f 52 4d 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 61 .."Return.t.if.FORM.looks.like.a
2ce0 20 6d 61 63 72 6f 20 63 61 6c 6c 20 74 6f 20 53 59 4d 42 4f 4c 2e 22 0a 20 20 28 63 6f 6e 64 0a .macro.call.to.SYMBOL."...(cond.
2d00 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 0a ...((not.(consp.form)).....nil).
2d20 20 20 20 3b 3b 20 49 67 6e 6f 72 65 20 28 64 65 66 75 6e 20 5f 20 28 53 59 4d 42 4f 4c 20 2e 2e ...;;.Ignore.(defun._.(SYMBOL...
2d40 2e 29 20 2e 2e 2e 29 0a 20 20 20 28 28 6f 72 20 28 65 71 75 61 6c 20 28 63 61 72 20 70 61 74 68 .)....)....((or.(equal.(car.path
2d60 29 20 27 28 64 65 66 73 75 62 73 74 20 2e 20 32 29 29 0a 20 20 20 20 20 20 20 20 28 65 71 75 61 ).'(defsubst...2)).........(equa
2d80 6c 20 28 63 61 72 20 70 61 74 68 29 20 27 28 64 65 66 75 6e 20 2e 20 32 29 29 0a 20 20 20 20 20 l.(car.path).'(defun...2))......
2da0 20 20 20 28 65 71 75 61 6c 20 28 63 61 72 20 70 61 74 68 29 20 27 28 64 65 66 6d 61 63 72 6f 20 ...(equal.(car.path).'(defmacro.
2dc0 2e 20 32 29 29 29 0a 20 20 20 20 6e 69 6c 29 0a 20 20 20 3b 3b 20 49 67 6e 6f 72 65 20 28 6c 61 ..2))).....nil)....;;.Ignore.(la
2de0 6d 62 64 61 20 28 53 59 4d 42 4f 4c 20 2e 2e 2e 29 20 2e 2e 2e 29 0a 20 20 20 28 28 65 71 75 61 mbda.(SYMBOL....)....)....((equa
2e00 6c 20 28 63 61 72 20 70 61 74 68 29 20 27 28 6c 61 6d 62 64 61 20 2e 20 31 29 29 0a 20 20 20 20 l.(car.path).'(lambda...1)).....
2e20 6e 69 6c 29 0a 20 20 20 3b 3b 20 49 67 6e 6f 72 65 20 28 6c 65 74 20 28 53 59 4d 42 4f 4c 20 2e nil)....;;.Ignore.(let.(SYMBOL..
2e40 2e 2e 29 20 2e 2e 2e 29 0a 20 20 20 3b 3b 20 61 6e 64 20 28 6c 65 74 2a 20 28 53 59 4d 42 4f 4c ..)....)....;;.and.(let*.(SYMBOL
2e60 20 2e 2e 2e 29 20 2e 2e 2e 29 0a 20 20 20 28 28 6f 72 0a 20 20 20 20 20 28 65 71 75 61 6c 20 28 ....)....)....((or......(equal.(
2e80 63 61 72 20 70 61 74 68 29 20 27 28 6c 65 74 20 2e 20 31 29 29 0a 20 20 20 20 20 28 65 71 75 61 car.path).'(let...1))......(equa
2ea0 6c 20 28 63 61 72 20 70 61 74 68 29 20 27 28 6c 65 74 2a 20 2e 20 31 29 29 29 0a 20 20 20 20 6e l.(car.path).'(let*...1))).....n
2ec0 69 6c 29 0a 20 20 20 3b 3b 20 49 67 6e 6f 72 65 20 28 6c 65 74 20 28 28 53 59 4d 42 4f 4c 20 2e il)....;;.Ignore.(let.((SYMBOL..
2ee0 2e 2e 29 29 20 2e 2e 2e 29 0a 20 20 20 28 28 6f 72 0a 20 20 20 20 20 28 65 71 75 61 6c 20 28 63 ..))....)....((or......(equal.(c
2f00 6c 2d 73 65 63 6f 6e 64 20 70 61 74 68 29 20 27 28 6c 65 74 20 2e 20 31 29 29 0a 20 20 20 20 20 l-second.path).'(let...1))......
2f20 28 65 71 75 61 6c 20 28 63 6c 2d 73 65 63 6f 6e 64 20 70 61 74 68 29 20 27 28 6c 65 74 2a 20 2e (equal.(cl-second.path).'(let*..
2f40 20 31 29 29 29 0a 20 20 20 20 6e 69 6c 29 0a 20 20 20 3b 3b 20 28 53 59 4d 42 4f 4c 20 2e 2e 2e .1))).....nil)....;;.(SYMBOL....
2f60 29 0a 20 20 20 28 28 65 71 20 28 63 61 72 20 66 6f 72 6d 29 20 73 79 6d 62 6f 6c 29 0a 20 20 20 )....((eq.(car.form).symbol)....
2f80 20 74 29 29 29 0a 0a 3b 3b 20 4c 6f 6f 6b 69 6e 67 20 66 6f 72 20 61 20 73 70 65 63 69 61 6c 20 .t)))..;;.Looking.for.a.special.
2fa0 66 6f 72 6d 20 69 73 20 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 6c 6f 6f 6b form.is.exactly.the.same.as.look
2fc0 69 6e 67 20 66 6f 72 20 61 0a 3b 3b 20 6d 61 63 72 6f 2e 0a 28 64 65 66 61 6c 69 61 73 20 27 65 ing.for.a.;;.macro..(defalias.'e
2fe0 6c 69 73 70 2d 72 65 66 73 2d 2d 73 70 65 63 69 61 6c 2d 70 20 27 65 6c 69 73 70 2d 72 65 66 73 lisp-refs--special-p.'elisp-refs
3000 2d 2d 6d 61 63 72 6f 2d 70 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 76 --macro-p)..(defun.elisp-refs--v
3020 61 72 69 61 62 6c 65 2d 70 20 28 73 79 6d 62 6f 6c 20 66 6f 72 6d 20 70 61 74 68 29 0a 20 20 22 ariable-p.(symbol.form.path)..."
3040 52 65 74 75 72 6e 20 74 20 69 66 20 74 68 69 73 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 61 20 76 61 Return.t.if.this.looks.like.a.va
3060 72 69 61 62 6c 65 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 53 59 4d 42 4f 4c 2e 0a 57 65 20 63 riable.reference.to.SYMBOL..We.c
3080 6f 6e 73 69 64 65 72 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 62 65 20 76 61 72 69 61 62 6c onsider.parameters.to.be.variabl
30a0 65 73 20 74 6f 6f 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 63 6f 6e 73 70 20 66 6f 72 6d es.too."...(cond....((consp.form
30c0 29 0a 20 20 20 20 6e 69 6c 29 0a 20 20 20 3b 3b 20 49 67 6e 6f 72 65 20 28 64 65 66 75 6e 20 5f ).....nil)....;;.Ignore.(defun._
30e0 20 28 53 59 4d 42 4f 4c 20 2e 2e 2e 29 20 2e 2e 2e 29 0a 20 20 20 28 28 6f 72 20 28 65 71 75 61 .(SYMBOL....)....)....((or.(equa
3100 6c 20 28 63 61 72 20 70 61 74 68 29 20 27 28 64 65 66 73 75 62 73 74 20 2e 20 31 29 29 0a 20 20 l.(car.path).'(defsubst...1))...
3120 20 20 20 20 20 20 28 65 71 75 61 6c 20 28 63 61 72 20 70 61 74 68 29 20 27 28 64 65 66 75 6e 20 ......(equal.(car.path).'(defun.
3140 2e 20 31 29 29 0a 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 28 63 61 72 20 70 61 74 68 29 20 ..1)).........(equal.(car.path).
3160 27 28 64 65 66 6d 61 63 72 6f 20 2e 20 31 29 29 0a 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 '(defmacro...1)).........(equal.
3180 28 63 61 72 20 70 61 74 68 29 20 27 28 63 6c 2d 64 65 66 75 6e 20 2e 20 31 29 29 29 0a 20 20 20 (car.path).'(cl-defun...1)))....
31a0 20 6e 69 6c 29 0a 20 20 20 3b 3b 20 28 6c 65 74 20 28 53 59 4d 42 4f 4c 20 2e 2e 2e 29 20 2e 2e .nil)....;;.(let.(SYMBOL....)...
31c0 2e 29 20 69 73 20 61 20 76 61 72 69 61 62 6c 65 2c 20 6e 6f 74 20 61 20 66 75 6e 63 74 69 6f 6e .).is.a.variable,.not.a.function
31e0 20 63 61 6c 6c 2e 0a 20 20 20 28 28 6f 72 0a 20 20 20 20 20 28 65 71 75 61 6c 20 28 63 6c 2d 73 .call.....((or......(equal.(cl-s
3200 65 63 6f 6e 64 20 70 61 74 68 29 20 27 28 6c 65 74 20 2e 20 31 29 29 0a 20 20 20 20 20 28 65 71 econd.path).'(let...1))......(eq
3220 75 61 6c 20 28 63 6c 2d 73 65 63 6f 6e 64 20 70 61 74 68 29 20 27 28 6c 65 74 2a 20 2e 20 31 29 ual.(cl-second.path).'(let*...1)
3240 29 29 0a 20 20 20 20 74 29 0a 20 20 20 3b 3b 20 28 6c 61 6d 62 64 61 20 28 53 59 4d 42 4f 4c 20 )).....t)....;;.(lambda.(SYMBOL.
3260 2e 2e 2e 29 20 2e 2e 2e 29 20 69 73 20 61 20 76 61 72 69 61 62 6c 65 0a 20 20 20 28 28 65 71 75 ...)....).is.a.variable....((equ
3280 61 6c 20 28 63 6c 2d 73 65 63 6f 6e 64 20 70 61 74 68 29 20 27 28 6c 61 6d 62 64 61 20 2e 20 31 al.(cl-second.path).'(lambda...1
32a0 29 29 0a 20 20 20 20 74 29 0a 20 20 20 3b 3b 20 28 6c 65 74 20 28 28 53 59 4d 42 4f 4c 20 2e 2e )).....t)....;;.(let.((SYMBOL...
32c0 2e 29 29 20 2e 2e 2e 29 20 69 73 20 61 6c 73 6f 20 61 20 76 61 72 69 61 62 6c 65 2e 0a 20 20 20 .))....).is.also.a.variable.....
32e0 28 28 6f 72 0a 20 20 20 20 20 28 65 71 75 61 6c 20 28 63 6c 2d 74 68 69 72 64 20 70 61 74 68 29 ((or......(equal.(cl-third.path)
3300 20 27 28 6c 65 74 20 2e 20 31 29 29 0a 20 20 20 20 20 28 65 71 75 61 6c 20 28 63 6c 2d 74 68 69 .'(let...1))......(equal.(cl-thi
3320 72 64 20 70 61 74 68 29 20 27 28 6c 65 74 2a 20 2e 20 31 29 29 29 0a 20 20 20 20 74 29 0a 20 20 rd.path).'(let*...1))).....t)...
3340 20 3b 3b 20 49 67 6e 6f 72 65 20 28 53 59 4d 42 4f 4c 20 2e 2e 2e 29 20 6f 74 68 65 72 77 69 73 .;;.Ignore.(SYMBOL....).otherwis
3360 65 2c 20 77 65 20 61 73 73 75 6d 65 20 69 74 27 73 20 61 20 66 75 6e 63 74 69 6f 6e 2f 6d 61 63 e,.we.assume.it's.a.function/mac
3380 72 6f 0a 20 20 20 3b 3b 20 63 61 6c 6c 2e 0a 20 20 20 28 28 65 71 75 61 6c 20 28 63 61 72 20 70 ro....;;.call.....((equal.(car.p
33a0 61 74 68 29 20 28 63 6f 6e 73 20 73 79 6d 62 6f 6c 20 30 29 29 0a 20 20 20 20 6e 69 6c 29 0a 20 ath).(cons.symbol.0)).....nil)..
33c0 20 20 28 28 65 71 20 66 6f 72 6d 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 74 29 29 29 0a 0a 3b 3b ..((eq.form.symbol).....t)))..;;
33e0 20 54 4f 44 4f 3a 20 62 65 6e 63 68 6d 61 72 6b 20 62 75 69 6c 64 69 6e 67 20 61 20 6c 69 73 74 .TODO:.benchmark.building.a.list
3400 20 77 69 74 68 20 60 70 75 73 68 27 20 72 61 74 68 65 72 20 74 68 61 6e 20 75 73 69 6e 67 0a 3b .with.`push'.rather.than.using.;
3420 3b 20 6d 61 70 63 61 74 2e 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 72 65 61 ;.mapcat..(defun.elisp-refs--rea
3440 64 2d 61 6e 64 2d 66 69 6e 64 20 28 62 75 66 66 65 72 20 73 79 6d 62 6f 6c 20 6d 61 74 63 68 2d d-and-find.(buffer.symbol.match-
3460 70 29 0a 20 20 22 52 65 61 64 20 61 6c 6c 20 74 68 65 20 66 6f 72 6d 73 20 69 6e 20 42 55 46 46 p)..."Read.all.the.forms.in.BUFF
3480 45 52 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 66 6f 72 ER,.and.return.a.list.of.all.for
34a0 6d 73 20 74 68 61 74 0a 63 6f 6e 74 61 69 6e 20 53 59 4d 42 4f 4c 20 77 68 65 72 65 20 4d 41 54 ms.that.contain.SYMBOL.where.MAT
34c0 43 48 2d 50 20 72 65 74 75 72 6e 73 20 74 2e 0a 0a 46 6f 72 20 65 76 65 72 79 20 6d 61 74 63 68 CH-P.returns.t...For.every.match
34e0 69 6e 67 20 66 6f 72 6d 20 66 6f 75 6e 64 2c 20 77 65 20 72 65 74 75 72 6e 20 74 68 65 20 66 6f ing.form.found,.we.return.the.fo
3500 72 6d 20 69 74 73 65 6c 66 20 61 6c 6f 6e 67 0a 77 69 74 68 20 69 74 73 20 73 74 61 72 74 20 61 rm.itself.along.with.its.start.a
3520 6e 64 20 65 6e 64 20 70 6f 73 69 74 69 6f 6e 2e 22 0a 20 20 28 2d 6e 6f 6e 2d 6e 69 6c 0a 20 20 nd.end.position."...(-non-nil...
3540 20 28 2d 2d 6d 61 70 63 61 74 0a 20 20 20 20 28 2d 6c 65 74 20 5b 28 66 6f 72 6d 20 73 74 61 72 .(--mapcat.....(-let.[(form.star
3560 74 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 20 73 79 6d 62 6f 6c 2d 70 6f 73 69 74 69 6f 6e 73 20 5f t-pos.end-pos.symbol-positions._
3580 72 65 61 64 2d 73 74 61 72 74 2d 70 6f 73 29 20 69 74 5d 0a 20 20 20 20 20 20 3b 3b 20 4f 70 74 read-start-pos).it].......;;.Opt
35a0 69 6d 69 73 61 74 69 6f 6e 3a 20 69 66 20 77 65 20 68 61 76 65 20 61 20 6c 69 73 74 20 6f 66 20 imisation:.if.we.have.a.list.of.
35c0 70 6f 73 69 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 0a 20 20 20 20 20 20 positions.for.the.current.......
35e0 3b 3b 20 66 6f 72 6d 20 28 45 6d 61 63 73 20 32 38 20 61 6e 64 20 65 61 72 6c 69 65 72 29 2c 20 ;;.form.(Emacs.28.and.earlier),.
3600 61 6e 64 20 69 74 20 64 6f 65 73 6e 27 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 0a 20 20 20 20 20 and.it.doesn't.contain.the......
3620 20 3b 3b 20 73 79 6d 62 6f 6c 20 77 65 27 72 65 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 2c 20 64 6f .;;.symbol.we're.looking.for,.do
3640 6e 27 74 20 62 6f 74 68 65 72 20 77 61 6c 6b 69 6e 67 20 74 68 65 20 66 6f 72 6d 2e 0a 20 20 20 n't.bother.walking.the.form.....
3660 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 6e 75 6c 6c 20 73 79 6d 62 6f 6c 2d 70 6f 73 69 74 69 ...(when.(or.(null.symbol-positi
3680 6f 6e 73 29 20 28 61 73 73 71 20 73 79 6d 62 6f 6c 20 73 79 6d 62 6f 6c 2d 70 6f 73 69 74 69 6f ons).(assq.symbol.symbol-positio
36a0 6e 73 29 29 0a 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 77 61 6c 6b 20 62 ns)).........(elisp-refs--walk.b
36c0 75 66 66 65 72 20 66 6f 72 6d 20 73 74 61 72 74 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 20 73 79 6d uffer.form.start-pos.end-pos.sym
36e0 62 6f 6c 20 6d 61 74 63 68 2d 70 29 29 29 0a 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d bol.match-p))).....(elisp-refs--
3700 72 65 61 64 2d 61 6c 6c 2d 62 75 66 66 65 72 2d 66 6f 72 6d 73 20 62 75 66 66 65 72 20 6e 69 6c read-all-buffer-forms.buffer.nil
3720 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 77 61 6c 6b 2d 70 6f ))))..(defun.elisp-refs--walk-po
3740 73 69 74 69 6f 6e 65 64 2d 73 79 6d 62 6f 6c 73 20 28 66 6f 72 6d 73 20 73 79 6d 62 6f 6c 29 0a sitioned-symbols.(forms.symbol).
3760 20 20 22 47 69 76 65 6e 20 61 20 6e 65 73 74 65 64 20 6c 69 73 74 20 6f 66 20 46 4f 52 4d 53 2c .."Given.a.nested.list.of.FORMS,
3780 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 70 6f 73 69 74 69 6f 6e 73 20 .return.a.list.of.all.positions.
37a0 6f 66 20 53 59 4d 42 4f 4c 2e 0a 41 73 73 75 6d 65 73 20 60 73 79 6d 62 6f 6c 2d 77 69 74 68 2d of.SYMBOL..Assumes.`symbol-with-
37c0 70 6f 73 2d 70 6f 73 27 20 69 73 20 64 65 66 69 6e 65 64 20 28 45 6d 61 63 73 20 32 39 2b 29 2e pos-pos'.is.defined.(Emacs.29+).
37e0 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 73 79 6d 62 6f 6c 2d 77 69 74 68 2d 70 6f 73 2d 70 "...(cond....((symbol-with-pos-p
3800 20 66 6f 72 6d 73 29 0a 20 20 20 20 28 6c 65 74 20 28 28 73 79 6d 62 6f 6c 73 2d 77 69 74 68 2d .forms).....(let.((symbols-with-
3820 70 6f 73 2d 65 6e 61 62 6c 65 64 20 74 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 65 71 20 66 6f pos-enabled.t)).......(if.(eq.fo
3840 72 6d 73 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 6c 69 73 rms.symbol)...........(list.(lis
3860 74 20 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 t.symbol.......................(
3880 73 79 6d 62 6f 6c 2d 77 69 74 68 2d 70 6f 73 2d 70 6f 73 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 symbol-with-pos-pos.forms)......
38a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 73 79 6d 62 6f 6c 2d 77 69 74 68 .................(+.(symbol-with
38c0 2d 70 6f 73 2d 70 6f 73 20 66 6f 72 6d 73 29 20 28 6c 65 6e 67 74 68 20 28 73 79 6d 62 6f 6c 2d -pos-pos.forms).(length.(symbol-
38e0 6e 61 6d 65 20 73 79 6d 62 6f 6c 29 29 29 29 29 29 29 29 0a 20 20 20 28 28 65 6c 69 73 70 2d 72 name.symbol))))))))....((elisp-r
3900 65 66 73 2d 2d 70 72 6f 70 65 72 2d 6c 69 73 74 2d 70 20 66 6f 72 6d 73 29 0a 20 20 20 20 3b 3b efs--proper-list-p.forms).....;;
3920 20 50 72 6f 70 65 72 20 6c 69 73 74 2c 20 75 73 65 20 60 2d 2d 6d 61 70 63 61 74 60 20 74 6f 20 .Proper.list,.use.`--mapcat`.to.
3940 72 65 64 75 63 65 20 68 6f 77 20 6d 75 63 68 20 77 65 20 72 65 63 75 72 73 65 2e 0a 20 20 20 20 reduce.how.much.we.recurse......
3960 28 2d 2d 6d 61 70 63 61 74 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 77 61 6c 6b 2d 70 6f 73 69 (--mapcat.(elisp-refs--walk-posi
3980 74 69 6f 6e 65 64 2d 73 79 6d 62 6f 6c 73 20 69 74 20 73 79 6d 62 6f 6c 29 20 66 6f 72 6d 73 29 tioned-symbols.it.symbol).forms)
39a0 29 0a 20 20 20 28 28 63 6f 6e 73 70 20 66 6f 72 6d 73 29 0a 20 20 20 20 3b 3b 20 49 6d 70 72 6f )....((consp.forms).....;;.Impro
39c0 70 65 72 20 6c 69 73 74 2c 20 77 65 20 68 61 76 65 20 74 6f 20 72 65 63 75 72 73 65 20 6f 6e 20 per.list,.we.have.to.recurse.on.
39e0 68 65 61 64 20 61 6e 64 20 74 61 69 6c 2e 0a 20 20 20 20 28 61 70 70 65 6e 64 20 28 65 6c 69 73 head.and.tail......(append.(elis
3a00 70 2d 72 65 66 73 2d 2d 77 61 6c 6b 2d 70 6f 73 69 74 69 6f 6e 65 64 2d 73 79 6d 62 6f 6c 73 20 p-refs--walk-positioned-symbols.
3a20 28 63 61 72 20 66 6f 72 6d 73 29 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (car.forms).symbol).............
3a40 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 77 61 6c 6b 2d 70 6f 73 69 74 69 6f 6e 65 64 2d 73 79 6d (elisp-refs--walk-positioned-sym
3a60 62 6f 6c 73 20 28 63 64 72 20 66 6f 72 6d 73 29 20 73 79 6d 62 6f 6c 29 29 29 0a 20 20 20 28 28 bols.(cdr.forms).symbol)))....((
3a80 76 65 63 74 6f 72 70 20 66 6f 72 6d 73 29 0a 20 20 20 20 28 2d 2d 6d 61 70 63 61 74 20 28 65 6c vectorp.forms).....(--mapcat.(el
3aa0 69 73 70 2d 72 65 66 73 2d 2d 77 61 6c 6b 2d 70 6f 73 69 74 69 6f 6e 65 64 2d 73 79 6d 62 6f 6c isp-refs--walk-positioned-symbol
3ac0 73 20 69 74 20 73 79 6d 62 6f 6c 29 20 66 6f 72 6d 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 s.it.symbol).forms))))..(defun.e
3ae0 6c 69 73 70 2d 72 65 66 73 2d 2d 72 65 61 64 2d 61 6e 64 2d 66 69 6e 64 2d 73 79 6d 62 6f 6c 20 lisp-refs--read-and-find-symbol.
3b00 28 62 75 66 66 65 72 20 73 79 6d 62 6f 6c 29 0a 20 20 22 52 65 61 64 20 61 6c 6c 20 74 68 65 20 (buffer.symbol)..."Read.all.the.
3b20 66 6f 72 6d 73 20 69 6e 20 42 55 46 46 45 52 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 6c 69 forms.in.BUFFER,.and.return.a.li
3b40 73 74 20 6f 66 20 61 6c 6c 0a 70 6f 73 69 74 69 6f 6e 73 20 6f 66 20 53 59 4d 42 4f 4c 2e 22 0a st.of.all.positions.of.SYMBOL.".
3b60 20 20 28 6c 65 74 2a 20 28 28 73 79 6d 62 6f 6c 73 2d 77 69 74 68 2d 70 6f 73 20 28 66 62 6f 75 ..(let*.((symbols-with-pos.(fbou
3b80 6e 64 70 20 27 73 79 6d 62 6f 6c 2d 77 69 74 68 2d 70 6f 73 2d 70 6f 73 29 29 0a 20 20 20 20 20 ndp.'symbol-with-pos-pos))......
3ba0 20 20 20 20 28 66 6f 72 6d 73 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 72 65 61 64 2d 61 6c 6c ....(forms.(elisp-refs--read-all
3bc0 2d 62 75 66 66 65 72 2d 66 6f 72 6d 73 20 62 75 66 66 65 72 20 73 79 6d 62 6f 6c 73 2d 77 69 74 -buffer-forms.buffer.symbols-wit
3be0 68 2d 70 6f 73 29 29 29 0a 0a 20 20 20 20 28 69 66 20 73 79 6d 62 6f 6c 73 2d 77 69 74 68 2d 70 h-pos)))......(if.symbols-with-p
3c00 6f 73 0a 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 77 61 6c 6b 2d 70 6f 73 os.........(elisp-refs--walk-pos
3c20 69 74 69 6f 6e 65 64 2d 73 79 6d 62 6f 6c 73 20 66 6f 72 6d 73 20 73 79 6d 62 6f 6c 29 0a 20 20 itioned-symbols.forms.symbol)...
3c40 20 20 20 20 28 2d 6e 6f 6e 2d 6e 69 6c 0a 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 63 61 74 0a 20 ....(-non-nil........(--mapcat..
3c60 20 20 20 20 20 20 20 28 2d 6c 65 74 20 5b 28 5f 20 5f 20 5f 20 73 79 6d 62 6f 6c 2d 70 6f 73 69 .......(-let.[(_._._.symbol-posi
3c80 74 69 6f 6e 73 20 72 65 61 64 2d 73 74 61 72 74 2d 70 6f 73 29 20 69 74 5d 0a 20 20 20 20 20 20 tions.read-start-pos).it].......
3ca0 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 20 5b 28 73 79 ....(--map............(-let.[(sy
3cc0 6d 20 2e 20 6f 66 66 73 65 74 29 20 69 74 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 m...offset).it]..............(wh
3ce0 65 6e 20 28 65 71 20 73 79 6d 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 en.(eq.sym.symbol)..............
3d00 20 20 28 2d 6c 65 74 2a 20 28 28 73 74 61 72 74 2d 70 6f 73 20 28 2b 20 72 65 61 64 2d 73 74 61 ..(-let*.((start-pos.(+.read-sta
3d20 72 74 2d 70 6f 73 20 6f 66 66 73 65 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rt-pos.offset)).................
3d40 20 20 20 20 20 20 20 28 65 6e 64 2d 70 6f 73 20 28 2b 20 73 74 61 72 74 2d 70 6f 73 20 28 6c 65 .......(end-pos.(+.start-pos.(le
3d60 6e 67 74 68 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 73 79 6d 29 29 29 29 29 0a 20 20 20 20 20 ngth.(symbol-name.sym)))))......
3d80 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 73 79 6d 20 73 74 61 72 74 2d 70 6f 73 20 ............(list.sym.start-pos.
3da0 65 6e 64 2d 70 6f 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 2d 70 6f end-pos))))............symbol-po
3dc0 73 69 74 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 20 20 66 6f 72 6d 73 29 29 29 29 29 0a 0a 28 64 sitions)).........forms)))))..(d
3de0 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 66 69 6c 74 65 72 2d 6f 62 61 72 72 61 79 20 efun.elisp-refs--filter-obarray.
3e00 28 70 72 65 64 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 74 (pred)..."Return.a.list.of.all.t
3e20 68 65 20 69 74 65 6d 73 20 69 6e 20 60 6f 62 61 72 72 61 79 27 20 77 68 65 72 65 20 50 52 45 44 he.items.in.`obarray'.where.PRED
3e40 20 72 65 74 75 72 6e 73 20 74 2e 22 0a 20 20 28 6c 65 74 20 28 73 79 6d 62 6f 6c 73 29 0a 20 20 .returns.t."...(let.(symbols)...
3e60 20 20 28 6d 61 70 61 74 6f 6d 73 20 28 6c 61 6d 62 64 61 20 28 73 79 6d 62 6f 6c 29 0a 20 20 20 ..(mapatoms.(lambda.(symbol)....
3e80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 66 75 6e 63 61 6c 6c .............(when.(and.(funcall
3ea0 20 70 72 65 64 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .pred.symbol)...................
3ec0 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d .........(not.(equal.(symbol-nam
3ee0 65 20 73 79 6d 62 6f 6c 29 20 22 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.symbol).""))).................
3f00 20 20 28 70 75 73 68 20 73 79 6d 62 6f 6c 20 73 79 6d 62 6f 6c 73 29 29 29 29 0a 20 20 20 20 73 ..(push.symbol.symbols)))).....s
3f20 79 6d 62 6f 6c 73 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 6c 6f 61 ymbols))..(defun.elisp-refs--loa
3f40 64 65 64 2d 70 61 74 68 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 ded-paths.()..."Return.a.list.of
3f60 20 61 6c 6c 20 66 69 6c 65 73 20 74 68 61 74 20 68 61 76 65 20 62 65 65 6e 20 6c 6f 61 64 65 64 .all.files.that.have.been.loaded
3f80 20 69 6e 20 45 6d 61 63 73 2e 0a 57 68 65 72 65 20 74 68 65 20 66 69 6c 65 20 77 61 73 20 61 20 .in.Emacs..Where.the.file.was.a.
3fa0 2e 65 6c 63 2c 20 72 65 74 75 72 6e 20 74 68 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 2e 65 6c .elc,.return.the.path.to.the..el
3fc0 20 66 69 6c 65 20 69 6e 73 74 65 61 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 65 6c 63 2d 70 61 74 .file.instead."...(let.((elc-pat
3fe0 68 73 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 28 6d 61 70 63 61 72 20 23 27 2d 66 69 72 73 74 2d 69 74 hs.(-non-nil.(mapcar.#'-first-it
4000 65 6d 20 6c 6f 61 64 2d 68 69 73 74 6f 72 79 29 29 29 29 0a 20 20 20 20 28 2d 6e 6f 6e 2d 6e 69 em.load-history)))).....(-non-ni
4020 6c 0a 20 20 20 20 20 28 2d 2d 6d 61 70 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6c 2d 6e 61 l......(--map.......(let.((el-na
4040 6d 65 20 28 66 6f 72 6d 61 74 20 22 25 73 2e 65 6c 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 me.(format."%s.el".(file-name-sa
4060 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 ns-extension.it))).............(
4080 65 6c 2d 67 7a 2d 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 25 73 2e 65 6c 2e 67 7a 22 20 28 66 el-gz-name.(format."%s.el.gz".(f
40a0 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20 69 74 29 29 29 29 0a 20 ile-name-sans-extension.it))))..
40c0 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 65 6c 2d .......(cond.((file-exists-p.el-
40e0 6e 61 6d 65 29 20 65 6c 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 66 name).el-name)...............((f
4100 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 65 6c 2d 67 7a 2d 6e 61 6d 65 29 20 65 6c 2d 67 7a 2d 6e ile-exists-p.el-gz-name).el-gz-n
4120 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 67 6e 6f 72 65 20 66 69 6c ame)...............;;.Ignore.fil
4140 65 73 20 77 68 65 72 65 20 77 65 20 63 61 6e 27 74 20 66 69 6e 64 20 61 20 2e 65 6c 20 66 69 6c es.where.we.can't.find.a..el.fil
4160 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 e................(t.nil)))......
4180 20 65 6c 63 2d 70 61 74 68 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 .elc-paths))))..(defun.elisp-ref
41a0 73 2d 2d 63 6f 6e 74 65 6e 74 73 2d 62 75 66 66 65 72 20 28 70 61 74 68 29 0a 20 20 22 52 65 61 s--contents-buffer.(path)..."Rea
41c0 64 20 50 41 54 48 20 69 6e 74 6f 20 61 20 64 69 73 70 6f 73 61 62 6c 65 20 62 75 66 66 65 72 2c d.PATH.into.a.disposable.buffer,
41e0 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 2e 0a 57 6f 72 6b 73 20 61 72 6f 75 6e 64 20 74 68 65 .and.return.it..Works.around.the
4200 20 66 61 63 74 20 74 68 61 74 20 45 6d 61 63 73 20 77 6f 6e 27 74 20 61 6c 6c 6f 77 20 6d 75 6c .fact.that.Emacs.won't.allow.mul
4220 74 69 70 6c 65 20 62 75 66 66 65 72 73 0a 76 69 73 69 74 69 6e 67 20 74 68 65 20 73 61 6d 65 20 tiple.buffers.visiting.the.same.
4240 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 72 65 73 68 2d 62 75 66 66 65 72 20 28 67 65 file."...(let.((fresh-buffer.(ge
4260 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 28 66 6f 72 6d 61 74 20 22 20 2a 72 65 66 nerate-new-buffer.(format.".*ref
4280 73 2d 25 73 2a 22 20 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 42 65 20 64 65 66 s-%s*".path))).........;;.Be.def
42a0 65 6e 73 69 76 65 20 61 67 61 69 6e 73 74 20 75 73 65 72 73 20 6f 76 65 72 72 69 64 69 6e 67 20 ensive.against.users.overriding.
42c0 65 6e 63 6f 64 69 6e 67 0a 20 20 20 20 20 20 20 20 3b 3b 20 63 6f 6e 66 69 67 75 72 61 74 69 6f encoding.........;;.configuratio
42e0 6e 73 20 28 48 65 6c 70 66 75 6c 20 62 75 67 73 20 23 37 35 20 61 6e 64 20 23 31 34 37 29 2e 0a ns.(Helpful.bugs.#75.and.#147)..
4300 20 20 20 20 20 20 20 20 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f 72 2d 72 65 61 64 20 ........(coding-system-for-read.
4320 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 68 61 6e 64 6c 65 72 2d nil).........(file-name-handler-
4340 61 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 27 28 28 22 5c 5c 28 3f 3a 5c 5c 2e 64 7a 5c 5c 7c alist..........'(("\\(?:\\.dz\\|
4360 5c 5c 2e 74 78 7a 5c 5c 7c 5c 5c 2e 78 7a 5c 5c 7c 5c 5c 2e 6c 7a 6d 61 5c 5c 7c 5c 5c 2e 6c 7a \\.txz\\|\\.xz\\|\\.lzma\\|\\.lz
4380 5c 5c 7c 5c 5c 2e 67 3f 7a 5c 5c 7c 5c 5c 2e 5c 5c 28 3f 3a 74 67 7a 5c 5c 7c 73 76 67 7a 5c 5c \\|\\.g?z\\|\\.\\(?:tgz\\|svgz\\
43a0 7c 73 69 66 7a 5c 5c 29 5c 5c 7c 5c 5c 2e 74 62 7a 32 3f 5c 5c 7c 5c 5c 2e 62 7a 32 5c 5c 7c 5c |sifz\\)\\|\\.tbz2?\\|\\.bz2\\|\
43c0 5c 2e 5a 5c 5c 29 5c 5c 28 3f 3a 7e 5c 5c 7c 5c 5c 2e 7e 5b 2d 5b 3a 61 6c 6e 75 6d 3a 5d 3a 23 \.Z\\)\\(?:~\\|\\.~[-[:alnum:]:#
43e0 40 5e 2e 5f 5d 2b 5c 5c 28 3f 3a 7e 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 29 3f 7e 5c 5c 29 @^._]+\\(?:~[[:digit:]]+\\)?~\\)
4400 3f 5c 5c 27 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 6a 6b 61 2d 63 6f 6d 70 72 2d 68 61 ?\\'"...............jka-compr-ha
4420 6e 64 6c 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 22 5c 5c 28 3f 3a 5e 2f 5c 5c 29 5c 5c ndler)............("\\(?:^/\\)\\
4440 28 5c 5c 28 3f 3a 5c 5c 28 3f 3a 5c 5c 28 2d 5c 5c 7c 5b 5b 3a 61 6c 6e 75 6d 3a 5d 5d 5c 5c 7b (\\(?:\\(?:\\(-\\|[[:alnum:]]\\{
4460 32 2c 5c 5c 7d 5c 5c 29 5c 5c 28 3f 3a 3a 5c 5c 29 5c 5c 28 3f 3a 5c 5c 28 5b 5e 2f 3a 7c 5b 3a 2,\\}\\)\\(?::\\)\\(?:\\([^/:|[:
4480 62 6c 61 6e 6b 3a 5d 5d 2b 5c 5c 29 5c 5c 28 3f 3a 40 5c 5c 29 5c 5c 29 3f 5c 5c 28 5c 5c 28 3f blank:]]+\\)\\(?:@\\)\\)?\\(\\(?
44a0 3a 5b 25 2e 5f 5b 3a 61 6c 6e 75 6d 3a 5d 2d 5d 2b 5c 5c 7c 5c 5c 28 3f 3a 5c 5c 5b 5c 5c 29 5c :[%._[:alnum:]-]+\\|\\(?:\\[\\)\
44c0 5c 28 3f 3a 5c 5c 28 3f 3a 5b 5b 3a 61 6c 6e 75 6d 3a 5d 5d 2a 3a 5c 5c 29 2b 5b 2e 5b 3a 61 6c \(?:\\(?:[[:alnum:]]*:\\)+[.[:al
44e0 6e 75 6d 3a 5d 5d 2a 5c 5c 29 3f 5c 5c 28 3f 3a 5d 5c 5c 29 5c 5c 29 5c 5c 28 3f 3a 5c 5c 28 3f num:]]*\\)?\\(?:]\\)\\)\\(?:\\(?
4500 3a 23 5c 5c 29 5c 5c 28 3f 3a 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 29 5c 5c 29 3f 5c 5c 29 :#\\)\\(?:[[:digit:]]+\\)\\)?\\)
4520 3f 5c 5c 29 5c 5c 28 3f 3a 7c 5c 5c 29 5c 5c 29 2b 5c 5c 29 3f 5c 5c 28 3f 3a 5c 5c 28 2d 5c 5c ?\\)\\(?:|\\)\\)+\\)?\\(?:\\(-\\
4540 7c 5b 5b 3a 61 6c 6e 75 6d 3a 5d 5d 5c 5c 7b 32 2c 5c 5c 7d 5c 5c 29 5c 5c 28 3f 3a 3a 5c 5c 29 |[[:alnum:]]\\{2,\\}\\)\\(?::\\)
4560 5c 5c 28 3f 3a 5c 5c 28 5b 5e 2f 3a 7c 5b 3a 62 6c 61 6e 6b 3a 5d 5d 2b 5c 5c 29 5c 5c 28 3f 3a \\(?:\\([^/:|[:blank:]]+\\)\\(?:
4580 40 5c 5c 29 5c 5c 29 3f 5c 5c 28 5c 5c 28 3f 3a 5b 25 2e 5f 5b 3a 61 6c 6e 75 6d 3a 5d 2d 5d 2b @\\)\\)?\\(\\(?:[%._[:alnum:]-]+
45a0 5c 5c 7c 5c 5c 28 3f 3a 5c 5c 5b 5c 5c 29 5c 5c 28 3f 3a 5c 5c 28 3f 3a 5b 5b 3a 61 6c 6e 75 6d \\|\\(?:\\[\\)\\(?:\\(?:[[:alnum
45c0 3a 5d 5d 2a 3a 5c 5c 29 2b 5b 2e 5b 3a 61 6c 6e 75 6d 3a 5d 5d 2a 5c 5c 29 3f 5c 5c 28 3f 3a 5d :]]*:\\)+[.[:alnum:]]*\\)?\\(?:]
45e0 5c 5c 29 5c 5c 29 5c 5c 28 3f 3a 5c 5c 28 3f 3a 23 5c 5c 29 5c 5c 28 3f 3a 5b 5b 3a 64 69 67 69 \\)\\)\\(?:\\(?:#\\)\\(?:[[:digi
4600 74 3a 5d 5d 2b 5c 5c 29 5c 5c 29 3f 5c 5c 29 3f 5c 5c 29 5c 5c 28 3f 3a 3a 5c 5c 29 5c 5c 28 5b t:]]+\\)\\)?\\)?\\)\\(?::\\)\\([
4620 5e 5c 6e 0d 5d 2a 5c 5c 27 5c 5c 29 22 20 2e 20 74 72 61 6d 70 2d 66 69 6c 65 2d 6e 61 6d 65 2d ^\n.]*\\'\\)"...tramp-file-name-
4640 68 61 6e 64 6c 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 22 5c 5c 60 2f 3a 22 20 2e 20 66 handler)............("\\`/:"...f
4660 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 2d 73 70 65 63 69 61 6c 29 29 29 29 0a 20 20 20 20 28 77 69 ile-name-non-special)))).....(wi
4680 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 66 72 65 73 68 2d 62 75 66 66 65 72 0a 20 th-current-buffer.fresh-buffer..
46a0 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 70 61 74 .....(setq-local.elisp-refs--pat
46c0 68 20 70 61 74 68 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 h.path).......(insert-file-conte
46e0 6e 74 73 20 70 61 74 68 29 0a 20 20 20 20 20 20 3b 3b 20 57 65 20 64 6f 6e 27 74 20 65 6e 61 62 nts.path).......;;.We.don't.enab
4700 6c 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 20 62 65 63 61 75 73 65 20 69 74 20 73 6c le.emacs-lisp-mode.because.it.sl
4720 6f 77 73 20 64 6f 77 6e 20 74 68 69 73 0a 20 20 20 20 20 20 3b 3b 20 66 75 6e 63 74 69 6f 6e 20 ows.down.this.......;;.function.
4740 73 69 67 6e 69 66 69 63 61 6e 74 6c 79 2e 20 57 65 20 6a 75 73 74 20 6e 65 65 64 20 74 68 65 20 significantly..We.just.need.the.
4760 73 79 6e 74 61 78 20 74 61 62 6c 65 20 66 6f 72 0a 20 20 20 20 20 20 3b 3b 20 73 63 61 6e 2d 73 syntax.table.for.......;;.scan-s
4780 65 78 70 73 20 74 6f 20 64 6f 20 74 68 65 20 72 69 67 68 74 20 74 68 69 6e 67 20 77 69 74 68 20 exps.to.do.the.right.thing.with.
47a0 63 6f 6d 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 28 73 65 74 2d 73 79 6e 74 61 78 2d 74 61 62 6c comments........(set-syntax-tabl
47c0 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 29 e.emacs-lisp-mode-syntax-table))
47e0 0a 20 20 20 20 66 72 65 73 68 2d 62 75 66 66 65 72 29 29 0a 0a 28 64 65 66 76 61 72 20 65 6c 69 .....fresh-buffer))..(defvar.eli
4800 73 70 2d 72 65 66 73 2d 2d 68 69 67 68 6c 69 67 68 74 69 6e 67 2d 62 75 66 66 65 72 0a 20 20 6e sp-refs--highlighting-buffer...n
4820 69 6c 0a 20 20 22 41 20 74 65 6d 70 6f 72 61 72 79 20 62 75 66 66 65 72 20 75 73 65 64 20 66 6f il..."A.temporary.buffer.used.fo
4840 72 20 68 69 67 68 6c 69 67 68 74 69 6e 67 2e 0a 53 69 6e 63 65 20 60 65 6c 69 73 70 2d 72 65 66 r.highlighting..Since.`elisp-ref
4860 73 2d 2d 73 79 6e 74 61 78 2d 68 69 67 68 6c 69 67 68 74 27 20 69 73 20 61 20 68 6f 74 20 66 75 s--syntax-highlight'.is.a.hot.fu
4880 6e 63 74 69 6f 6e 2c 20 77 65 0a 64 6f 6e 27 74 20 77 61 6e 74 20 74 6f 20 63 72 65 61 74 65 20 nction,.we.don't.want.to.create.
48a0 6c 6f 74 73 20 6f 66 20 74 65 6d 70 6f 72 61 72 79 20 62 75 66 66 65 72 73 2e 22 29 0a 0a 28 64 lots.of.temporary.buffers.")..(d
48c0 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 73 79 6e 74 61 78 2d 68 69 67 68 6c 69 67 68 efun.elisp-refs--syntax-highligh
48e0 74 20 28 73 74 72 29 0a 20 20 22 41 70 70 6c 79 20 66 6f 6e 74 2d 6c 6f 63 6b 20 70 72 6f 70 65 t.(str)..."Apply.font-lock.prope
4900 72 74 69 65 73 20 74 6f 20 61 20 73 74 72 69 6e 67 20 53 54 52 20 6f 66 20 45 6d 61 63 73 20 6c rties.to.a.string.STR.of.Emacs.l
4920 69 73 70 20 63 6f 64 65 2e 22 0a 20 20 3b 3b 20 45 6e 73 75 72 65 20 77 65 20 68 61 76 65 20 61 isp.code."...;;.Ensure.we.have.a
4940 20 68 69 67 68 6c 69 67 68 74 69 6e 67 20 62 75 66 66 65 72 20 74 6f 20 77 6f 72 6b 20 77 69 74 .highlighting.buffer.to.work.wit
4960 68 2e 0a 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 68 69 h....(unless.(and.elisp-refs--hi
4980 67 68 6c 69 67 68 74 69 6e 67 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ghlighting-buffer...............
49a0 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 68 69 67 68 .(buffer-live-p.elisp-refs--high
49c0 6c 69 67 68 74 69 6e 67 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 28 73 65 74 71 20 65 6c 69 73 lighting-buffer)).....(setq.elis
49e0 70 2d 72 65 66 73 2d 2d 68 69 67 68 6c 69 67 68 74 69 6e 67 2d 62 75 66 66 65 72 0a 20 20 20 20 p-refs--highlighting-buffer.....
4a00 20 20 20 20 20 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 22 20 2a 72 65 ......(generate-new-buffer.".*re
4a20 66 73 2d 68 69 67 68 6c 69 67 68 74 69 6e 67 2a 22 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 fs-highlighting*")).....(with-cu
4a40 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 68 69 67 68 6c 69 67 rrent-buffer.elisp-refs--highlig
4a60 68 74 69 6e 67 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 64 65 6c 61 79 2d 6d 6f 64 65 2d 68 hting-buffer.......(delay-mode-h
4a80 6f 6f 6b 73 20 28 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 29 29 0a 0a 20 20 28 77 69 ooks.(emacs-lisp-mode))))....(wi
4aa0 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 68 69 th-current-buffer.elisp-refs--hi
4ac0 67 68 6c 69 67 68 74 69 6e 67 2d 62 75 66 66 65 72 0a 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 ghlighting-buffer.....(erase-buf
4ae0 66 65 72 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 73 74 72 29 0a 20 20 20 20 28 69 66 20 28 66 fer).....(insert.str).....(if.(f
4b00 62 6f 75 6e 64 70 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 65 6e 73 75 72 65 29 0a 20 20 20 20 20 20 boundp.'font-lock-ensure).......
4b20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 65 6e 73 75 72 65 29 0a 20 20 20 20 20 20 28 77 69 74 68 ..(font-lock-ensure).......(with
4b40 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d -no-warnings.........(font-lock-
4b60 66 6f 6e 74 69 66 79 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 fontify-buffer))).....(buffer-st
4b80 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 72 65 70 6c ring)))..(defun.elisp-refs--repl
4ba0 61 63 65 2d 74 61 62 73 20 28 73 74 72 69 6e 67 29 0a 20 20 22 52 65 70 6c 61 63 65 20 74 61 62 ace-tabs.(string)..."Replace.tab
4bc0 73 20 69 6e 20 53 54 52 49 4e 47 20 77 69 74 68 20 73 70 61 63 65 73 2e 22 0a 20 20 3b 3b 20 54 s.in.STRING.with.spaces."...;;.T
4be0 68 69 73 20 69 73 20 69 6d 70 6f 72 74 61 6e 74 20 66 6f 72 20 75 6e 69 6e 64 65 6e 74 69 6e 67 his.is.important.for.unindenting
4c00 2c 20 61 73 20 77 65 20 6d 61 79 20 75 6e 69 6e 64 65 6e 74 20 62 79 20 6c 65 73 73 0a 20 20 3b ,.as.we.may.unindent.by.less...;
4c20 3b 20 74 68 61 6e 20 6f 6e 65 20 77 68 6f 6c 65 20 74 61 62 2e 0a 20 20 28 73 2d 72 65 70 6c 61 ;.than.one.whole.tab....(s-repla
4c40 63 65 20 22 5c 74 22 20 28 73 2d 72 65 70 65 61 74 20 74 61 62 2d 77 69 64 74 68 20 22 20 22 29 ce."\t".(s-repeat.tab-width.".")
4c60 20 73 74 72 69 6e 67 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 6c 69 .string))..(defun.elisp-refs--li
4c80 6e 65 73 20 28 73 74 72 69 6e 67 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 nes.(string)..."Return.a.list.of
4ca0 20 61 6c 6c 20 74 68 65 20 6c 69 6e 65 73 20 69 6e 20 53 54 52 49 4e 47 2e 0a 27 61 5c 6e 62 27 .all.the.lines.in.STRING..'a\nb'
4cc0 20 2d 3e 20 28 27 61 5c 6e 27 20 27 62 27 29 22 0a 20 20 28 6c 65 74 20 28 28 6c 69 6e 65 73 20 .->.('a\n'.'b')"...(let.((lines.
4ce0 6e 69 6c 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 28 6c 65 6e 67 74 68 20 73 74 72 69 nil)).....(while.(>.(length.stri
4d00 6e 67 29 20 30 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 6e 64 65 78 20 28 73 2d 69 6e 64 ng).0).......(let.((index.(s-ind
4d20 65 78 2d 6f 66 20 22 5c 6e 22 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 ex-of."\n".string))).........(if
4d40 20 69 6e 64 65 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 .index.............(progn.......
4d60 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 ........(push.(substring.string.
4d80 30 20 28 31 2b 20 69 6e 64 65 78 29 29 20 6c 69 6e 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 0.(1+.index)).lines)............
4da0 20 20 20 28 73 65 74 71 20 73 74 72 69 6e 67 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e ...(setq.string.(substring.strin
4dc0 67 20 28 31 2b 20 69 6e 64 65 78 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 g.(1+.index))))...........(push.
4de0 73 74 72 69 6e 67 20 6c 69 6e 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 74 string.lines)...........(setq.st
4e00 72 69 6e 67 20 22 22 29 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6c 69 6e 65 73 29 ring."")))).....(nreverse.lines)
4e20 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 6d 61 70 2d 6c 69 6e 65 73 ))..(defun.elisp-refs--map-lines
4e40 20 28 73 74 72 69 6e 67 20 66 6e 29 0a 20 20 22 45 78 65 63 75 74 65 20 46 4e 20 66 6f 72 20 65 .(string.fn)..."Execute.FN.for.e
4e60 61 63 68 20 6c 69 6e 65 20 69 6e 20 73 74 72 69 6e 67 2c 20 61 6e 64 20 6a 6f 69 6e 20 74 68 65 ach.line.in.string,.and.join.the
4e80 20 72 65 73 75 6c 74 20 74 6f 67 65 74 68 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 73 75 .result.together."...(let.((resu
4ea0 6c 74 20 6e 69 6c 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6c 69 6e 65 20 28 65 6c 69 73 lt.nil)).....(dolist.(line.(elis
4ec0 70 2d 72 65 66 73 2d 2d 6c 69 6e 65 73 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 28 70 75 p-refs--lines.string)).......(pu
4ee0 73 68 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 6c 69 6e 65 29 20 72 65 73 75 6c 74 29 29 0a 20 20 sh.(funcall.fn.line).result))...
4f00 20 20 28 61 70 70 6c 79 20 23 27 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 ..(apply.#'concat.(nreverse.resu
4f20 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 75 6e 69 6e 64 lt))))..(defun.elisp-refs--unind
4f40 65 6e 74 2d 72 69 67 69 64 6c 79 20 28 73 74 72 69 6e 67 29 0a 20 20 22 47 69 76 65 6e 20 61 6e ent-rigidly.(string)..."Given.an
4f60 20 69 6e 64 65 6e 74 65 64 20 53 54 52 49 4e 47 2c 20 75 6e 69 6e 64 65 6e 74 20 72 69 67 69 64 .indented.STRING,.unindent.rigid
4f80 6c 79 20 75 6e 74 69 6c 0a 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6c 69 6e 65 20 68 61 73 20 6e ly.until.at.least.one.line.has.n
4fa0 6f 20 69 6e 64 65 6e 74 2e 0a 0a 53 54 52 49 4e 47 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 o.indent...STRING.should.have.a.
4fc0 27 65 6c 69 73 70 2d 72 65 66 73 2d 73 74 61 72 74 2d 70 6f 73 20 70 72 6f 70 65 72 74 79 2e 20 'elisp-refs-start-pos.property..
4fe0 54 68 65 20 72 65 74 75 72 6e 65 64 0a 73 74 72 69 6e 67 20 77 69 6c 6c 20 68 61 76 65 20 74 68 The.returned.string.will.have.th
5000 69 73 20 70 72 6f 70 65 72 74 79 20 75 70 64 61 74 65 64 20 74 6f 20 72 65 66 6c 65 63 74 20 74 is.property.updated.to.reflect.t
5020 68 65 20 75 6e 69 6e 64 65 6e 74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6c 69 6e 65 73 20 28 73 he.unindent."...(let*.((lines.(s
5040 2d 6c 69 6e 65 73 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 47 65 74 20 -lines.string))..........;;.Get.
5060 74 68 65 20 6c 65 61 64 69 6e 67 20 77 68 69 74 65 73 70 61 63 65 20 66 6f 72 20 65 61 63 68 20 the.leading.whitespace.for.each.
5080 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 73 20 28 2d 2d 6d 61 70 20 28 line...........(indents.(--map.(
50a0 63 61 72 20 28 73 2d 6d 61 74 63 68 20 28 72 78 20 62 6f 73 20 28 2b 20 77 68 69 74 65 73 70 61 car.(s-match.(rx.bos.(+.whitespa
50c0 63 65 29 29 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce)).it)).......................
50e0 20 20 20 6c 69 6e 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 69 6e 2d 69 6e 64 65 6e 74 20 ...lines))..........(min-indent.
5100 28 2d 6d 69 6e 20 28 2d 2d 6d 61 70 20 28 6c 65 6e 67 74 68 20 69 74 29 20 69 6e 64 65 6e 74 73 (-min.(--map.(length.it).indents
5120 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 65 6c 69 73 70 )))).....(propertize......(elisp
5140 2d 72 65 66 73 2d 2d 6d 61 70 2d 6c 69 6e 65 73 0a 20 20 20 20 20 20 73 74 72 69 6e 67 0a 20 20 -refs--map-lines.......string...
5160 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6c 69 6e 65 29 20 28 73 75 62 73 74 72 69 6e 67 20 6c 69 ....(lambda.(line).(substring.li
5180 6e 65 20 6d 69 6e 2d 69 6e 64 65 6e 74 29 29 29 0a 20 20 20 20 20 27 65 6c 69 73 70 2d 72 65 66 ne.min-indent)))......'elisp-ref
51a0 73 2d 75 6e 69 6e 64 65 6e 74 65 64 20 6d 69 6e 2d 69 6e 64 65 6e 74 29 29 29 0a 0a 28 64 65 66 s-unindented.min-indent)))..(def
51c0 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 63 6f 6e 74 61 69 6e 69 6e 67 2d 6c 69 6e 65 73 20 un.elisp-refs--containing-lines.
51e0 28 62 75 66 66 65 72 20 73 74 61 72 74 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 29 0a 20 20 22 52 65 (buffer.start-pos.end-pos)..."Re
5200 74 75 72 6e 20 61 20 73 74 72 69 6e 67 2c 20 61 6c 6c 20 74 68 65 20 6c 69 6e 65 73 20 69 6e 20 turn.a.string,.all.the.lines.in.
5220 42 55 46 46 45 52 20 74 68 61 74 20 61 72 65 20 62 65 74 77 65 65 6e 0a 53 54 41 52 54 2d 50 4f BUFFER.that.are.between.START-PO
5240 53 20 61 6e 64 20 45 4e 44 2d 50 4f 53 20 28 69 6e 63 6c 75 73 69 76 65 29 2e 0a 0a 46 6f 72 20 S.and.END-POS.(inclusive)...For.
5260 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 61 72 65 20 62 65 74 77 65 65 6e 20 the.characters.that.are.between.
5280 53 54 41 52 54 2d 50 4f 53 20 61 6e 64 20 45 4e 44 2d 50 4f 53 2c 0a 70 72 6f 70 65 72 74 69 7a START-POS.and.END-POS,.propertiz
52a0 65 20 74 68 65 6d 2e 22 0a 20 20 28 6c 65 74 20 28 65 78 70 61 6e 64 65 64 2d 73 74 61 72 74 2d e.them."...(let.(expanded-start-
52c0 70 6f 73 20 65 78 70 61 6e 64 65 64 2d 65 6e 64 2d 70 6f 73 29 0a 20 20 20 20 28 77 69 74 68 2d pos.expanded-end-pos).....(with-
52e0 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 3b 3b 20 45 current-buffer.buffer.......;;.E
5300 78 70 61 6e 64 20 53 54 41 52 54 2d 50 4f 53 20 61 6e 64 20 45 4e 44 2d 50 4f 53 20 74 6f 20 6c xpand.START-POS.and.END-POS.to.l
5320 69 6e 65 20 62 6f 75 6e 64 61 72 69 65 73 2e 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 ine.boundaries........(goto-char
5340 20 73 74 61 72 74 2d 70 6f 73 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d .start-pos).......(beginning-of-
5360 6c 69 6e 65 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 65 78 70 61 6e 64 65 64 2d 73 74 61 72 74 line).......(setq.expanded-start
5380 2d 70 6f 73 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 65 -pos.(point)).......(goto-char.e
53a0 6e 64 2d 70 6f 73 29 0a 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 nd-pos).......(end-of-line).....
53c0 20 20 28 73 65 74 71 20 65 78 70 61 6e 64 65 64 2d 65 6e 64 2d 70 6f 73 20 28 70 6f 69 6e 74 29 ..(setq.expanded-end-pos.(point)
53e0 29 0a 0a 20 20 20 20 20 20 3b 3b 20 45 78 74 72 61 63 74 20 74 68 65 20 72 65 73 74 20 6f 66 20 )........;;.Extract.the.rest.of.
5400 74 68 65 20 6c 69 6e 65 20 62 65 66 6f 72 65 20 61 6e 64 20 61 66 74 65 72 20 74 68 65 20 73 65 the.line.before.and.after.the.se
5420 63 74 69 6f 6e 20 77 65 27 72 65 20 69 6e 74 65 72 65 73 74 65 64 20 69 6e 2e 0a 20 20 20 20 20 ction.we're.interested.in.......
5440 20 28 6c 65 74 2a 20 28 28 62 65 66 6f 72 65 2d 6d 61 74 63 68 20 28 62 75 66 66 65 72 2d 73 75 .(let*.((before-match.(buffer-su
5460 62 73 74 72 69 6e 67 20 65 78 70 61 6e 64 65 64 2d 73 74 61 72 74 2d 70 6f 73 20 73 74 61 72 74 bstring.expanded-start-pos.start
5480 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 66 74 65 72 2d 6d 61 74 63 68 -pos))..............(after-match
54a0 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 65 6e 64 2d 70 6f 73 20 65 78 70 61 6e .(buffer-substring.end-pos.expan
54c0 64 65 64 2d 65 6e 64 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 6f ded-end-pos))..............;;.Co
54e0 6e 63 61 74 20 74 68 65 20 65 78 74 72 61 20 74 65 78 74 20 77 69 74 68 20 74 68 65 20 61 63 74 ncat.the.extra.text.with.the.act
5500 75 61 6c 20 6d 61 74 63 68 2c 20 65 6e 73 75 72 69 6e 67 20 77 65 0a 20 20 20 20 20 20 20 20 20 ual.match,.ensuring.we..........
5520 20 20 20 20 3b 3b 20 68 69 67 68 6c 69 67 68 74 20 74 68 65 20 6d 61 74 63 68 20 61 73 20 63 6f ....;;.highlight.the.match.as.co
5540 64 65 2c 20 62 75 74 20 68 69 67 68 6c 69 67 68 74 20 74 68 65 20 72 65 73 74 20 61 73 20 61 73 de,.but.highlight.the.rest.as.as
5560 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 6f 6d 6d 65 6e 74 73 2e 0a 20 20 20 20 20 ..............;;.comments.......
5580 20 20 20 20 20 20 20 20 28 74 65 78 74 20 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 ........(text.(concat...........
55a0 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 62 65 66 6f 72 65 2d 6d 61 74 ..........(propertize.before-mat
55c0 63 68 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 ch..............................
55e0 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
5600 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 ).....................(elisp-ref
5620 73 2d 2d 73 79 6e 74 61 78 2d 68 69 67 68 6c 69 67 68 74 20 28 62 75 66 66 65 72 2d 73 75 62 73 s--syntax-highlight.(buffer-subs
5640 74 72 69 6e 67 20 73 74 61 72 74 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 tring.start-pos.end-pos)).......
5660 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 61 66 74 65 72 2d ..............(propertize.after-
5680 6d 61 74 63 68 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 match...........................
56a0 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 6e 74 2d 66 ......'face.'font-lock-comment-f
56c0 61 63 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 2d 3e 20 74 65 78 74 0a 20 20 20 20 20 20 20 ace)))).........(->.text........
56e0 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 72 65 70 6c 61 63 65 2d 74 61 62 73 29 0a 20 20 ...(elisp-refs--replace-tabs)...
5700 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 75 6e 69 6e 64 65 6e 74 2d 72 69 ........(elisp-refs--unindent-ri
5720 67 69 64 6c 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 27 65 6c gidly)...........(propertize.'el
5740 69 73 70 2d 72 65 66 73 2d 73 74 61 72 74 2d 70 6f 73 20 65 78 70 61 6e 64 65 64 2d 73 74 61 72 isp-refs-start-pos.expanded-star
5760 74 2d 70 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 65 6c 69 t-pos.......................'eli
5780 73 70 2d 72 65 66 73 2d 70 61 74 68 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 70 61 74 68 29 29 29 sp-refs-path.elisp-refs--path)))
57a0 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 66 69 6e 64 2d 66 69 6c )))..(defun.elisp-refs--find-fil
57c0 65 20 28 62 75 74 74 6f 6e 29 0a 20 20 22 4f 70 65 6e 20 74 68 65 20 66 69 6c 65 20 72 65 66 65 e.(button)..."Open.the.file.refe
57e0 72 65 6e 63 65 64 20 62 79 20 42 55 54 54 4f 4e 2e 22 0a 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 renced.by.BUTTON."...(find-file.
5800 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 0a 20 20 28 67 6f (button-get.button.'path))...(go
5820 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 62 to-char.(point-min)))..(define-b
5840 75 74 74 6f 6e 2d 74 79 70 65 20 27 65 6c 69 73 70 2d 72 65 66 73 2d 70 61 74 68 2d 62 75 74 74 utton-type.'elisp-refs-path-butt
5860 6f 6e 0a 20 20 27 61 63 74 69 6f 6e 20 27 65 6c 69 73 70 2d 72 65 66 73 2d 2d 66 69 6e 64 2d 66 on...'action.'elisp-refs--find-f
5880 69 6c 65 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 ile...'follow-link.t...'help-ech
58a0 6f 20 22 4f 70 65 6e 20 66 69 6c 65 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 o."Open.file")..(defun.elisp-ref
58c0 73 2d 2d 70 61 74 68 2d 62 75 74 74 6f 6e 20 28 70 61 74 68 29 0a 20 20 22 52 65 74 75 72 6e 20 s--path-button.(path)..."Return.
58e0 61 20 62 75 74 74 6f 6e 20 74 68 61 74 20 6e 61 76 69 67 61 74 65 73 20 74 6f 20 50 41 54 48 2e a.button.that.navigates.to.PATH.
5900 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 73 65 72 "...(with-temp-buffer.....(inser
5920 74 2d 74 65 78 74 2d 62 75 74 74 6f 6e 0a 20 20 20 20 20 28 61 62 62 72 65 76 69 61 74 65 2d 66 t-text-button......(abbreviate-f
5940 69 6c 65 2d 6e 61 6d 65 20 70 61 74 68 29 0a 20 20 20 20 20 3a 74 79 70 65 20 27 65 6c 69 73 70 ile-name.path)......:type.'elisp
5960 2d 72 65 66 73 2d 70 61 74 68 2d 62 75 74 74 6f 6e 0a 20 20 20 20 20 27 70 61 74 68 20 70 61 74 -refs-path-button......'path.pat
5980 68 29 0a 20 20 20 20 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 h).....(buffer-string)))..(defun
59a0 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 64 65 73 63 72 69 62 65 20 28 62 75 74 74 6f 6e 29 0a 20 .elisp-refs--describe.(button)..
59c0 20 22 53 68 6f 77 20 2a 48 65 6c 70 2a 20 66 6f 72 20 74 68 65 20 73 79 6d 62 6f 6c 20 72 65 66 ."Show.*Help*.for.the.symbol.ref
59e0 65 72 65 6e 63 65 64 20 62 79 20 42 55 54 54 4f 4e 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 79 6d erenced.by.BUTTON."...(let.((sym
5a00 62 6f 6c 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 bol.(button-get.button.'symbol))
5a20 0a 20 20 20 20 20 20 20 20 28 6b 69 6e 64 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f .........(kind.(button-get.butto
5a40 6e 20 27 6b 69 6e 64 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 6b 69 6e 64 20 27 n.'kind))).....(cond.((eq.kind.'
5a60 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 65 73 63 72 69 62 65 2d 73 79 6d symbol)............(describe-sym
5a80 62 6f 6c 20 73 79 6d 62 6f 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 6b 69 6e 64 bol.symbol))...........((eq.kind
5aa0 20 27 76 61 72 69 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 65 73 63 72 69 62 65 .'variable)............(describe
5ac0 2d 76 61 72 69 61 62 6c 65 20 73 79 6d 62 6f 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 0a -variable.symbol))...........(t.
5ae0 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 45 6d 61 63 73 20 75 73 65 73 20 60 64 65 73 63 72 69 ...........;;.Emacs.uses.`descri
5b00 62 65 2d 66 75 6e 63 74 69 6f 6e 27 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 2c 20 6d 61 63 72 be-function'.for.functions,.macr
5b20 6f 73 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 70 65 63 69 61 6c 20 66 6f 72 os.and............;;.special.for
5b40 6d 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 65 73 63 72 69 62 65 2d 66 75 6e 63 74 69 6f ms.............(describe-functio
5b60 6e 20 73 79 6d 62 6f 6c 29 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 62 75 74 74 6f 6e 2d 74 79 n.symbol)))))..(define-button-ty
5b80 70 65 20 27 65 6c 69 73 70 2d 72 65 66 73 2d 64 65 73 63 72 69 62 65 2d 62 75 74 74 6f 6e 0a 20 pe.'elisp-refs-describe-button..
5ba0 20 27 61 63 74 69 6f 6e 20 27 65 6c 69 73 70 2d 72 65 66 73 2d 2d 64 65 73 63 72 69 62 65 0a 20 .'action.'elisp-refs--describe..
5bc0 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 44 65 .'follow-link.t...'help-echo."De
5be0 73 63 72 69 62 65 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 64 65 73 scribe")..(defun.elisp-refs--des
5c00 63 72 69 62 65 2d 62 75 74 74 6f 6e 20 28 73 79 6d 62 6f 6c 20 6b 69 6e 64 29 0a 20 20 22 52 65 cribe-button.(symbol.kind)..."Re
5c20 74 75 72 6e 20 61 20 62 75 74 74 6f 6e 20 74 68 61 74 20 73 68 6f 77 73 20 2a 48 65 6c 70 2a 20 turn.a.button.that.shows.*Help*.
5c40 66 6f 72 20 53 59 4d 42 4f 4c 2e 0a 4b 49 4e 44 20 73 68 6f 75 6c 64 20 62 65 20 27 66 75 6e 63 for.SYMBOL..KIND.should.be.'func
5c60 74 69 6f 6e 2c 20 27 6d 61 63 72 6f 2c 20 27 76 61 72 69 61 62 6c 65 2c 20 27 73 70 65 63 69 61 tion,.'macro,.'variable,.'specia
5c80 6c 20 6f 72 20 27 73 79 6d 62 6f 6c 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 l.or.'symbol."...(with-temp-buff
5ca0 65 72 0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6b 69 6e 64 er.....(insert.(symbol-name.kind
5cc0 29 20 22 20 22 29 0a 20 20 20 20 28 69 6e 73 65 72 74 2d 74 65 78 74 2d 62 75 74 74 6f 6e 0a 20 ).".").....(insert-text-button..
5ce0 20 20 20 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 3a 74 ....(symbol-name.symbol)......:t
5d00 79 70 65 20 27 65 6c 69 73 70 2d 72 65 66 73 2d 64 65 73 63 72 69 62 65 2d 62 75 74 74 6f 6e 0a ype.'elisp-refs-describe-button.
5d20 20 20 20 20 20 27 73 79 6d 62 6f 6c 20 73 79 6d 62 6f 6c 0a 20 20 20 20 20 27 6b 69 6e 64 20 6b .....'symbol.symbol......'kind.k
5d40 69 6e 64 29 0a 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 ind).....(buffer-string)))..(def
5d60 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 70 6c 75 72 61 6c 69 7a 65 20 28 6e 75 6d 62 65 72 un.elisp-refs--pluralize.(number
5d80 20 74 68 69 6e 67 29 0a 20 20 22 48 75 6d 61 6e 2d 66 72 69 65 6e 64 6c 79 20 64 65 73 63 72 69 .thing)..."Human-friendly.descri
5da0 70 74 69 6f 6e 20 6f 66 20 4e 55 4d 42 45 52 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 54 ption.of.NUMBER.occurrences.of.T
5dc0 48 49 4e 47 2e 22 0a 20 20 28 66 6f 72 6d 61 74 20 22 25 73 20 25 73 25 73 22 0a 20 20 20 20 20 HING."...(format."%s.%s%s"......
5de0 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 66 6f 72 6d 61 74 2d 69 6e 74 20 6e 75 6d .....(elisp-refs--format-int.num
5e00 62 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 74 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 28 ber)...........thing...........(
5e20 69 66 20 28 65 71 75 61 6c 20 6e 75 6d 62 65 72 20 31 29 20 22 22 20 22 73 22 29 29 29 0a 0a 28 if.(equal.number.1).""."s")))..(
5e40 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 66 6f 72 6d 61 74 2d 63 6f 75 6e 74 20 28 defun.elisp-refs--format-count.(
5e60 73 79 6d 62 6f 6c 20 72 65 66 2d 63 6f 75 6e 74 20 66 69 6c 65 2d 63 6f 75 6e 74 0a 20 20 20 20 symbol.ref-count.file-count.....
5e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5ea0 20 20 20 20 73 65 61 72 63 68 65 64 2d 66 69 6c 65 2d 63 6f 75 6e 74 20 70 72 65 66 69 78 29 0a ....searched-file-count.prefix).
5ec0 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 65 2d 73 74 72 20 28 69 66 20 28 7a 65 72 6f 70 20 66 69 ..(let*.((file-str.(if.(zerop.fi
5ee0 6c 65 2d 63 6f 75 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 le-count).......................
5f00 20 22 22 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 .""......................(format
5f20 20 22 20 69 6e 20 25 73 22 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 70 6c 75 72 61 6c 69 7a 65 .".in.%s".(elisp-refs--pluralize
5f40 20 66 69 6c 65 2d 63 6f 75 6e 74 20 22 66 69 6c 65 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 .file-count."file"))))..........
5f60 28 66 6f 75 6e 64 2d 73 74 72 20 28 66 6f 72 6d 61 74 20 22 46 6f 75 6e 64 20 25 73 20 74 6f 20 (found-str.(format."Found.%s.to.
5f80 25 73 25 73 2e 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."..........................
5fa0 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 70 6c 75 72 61 6c 69 7a 65 20 72 65 66 2d 63 6f ...(elisp-refs--pluralize.ref-co
5fc0 75 6e 74 20 22 72 65 66 65 72 65 6e 63 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 unt."reference")................
5fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............symbol.............
6000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 2d 73 74 72 29 29 0a 20 20 20 20 20 ................file-str))......
6020 20 20 20 20 28 73 65 61 72 63 68 65 64 2d 73 74 72 20 28 69 66 20 70 72 65 66 69 78 0a 20 20 20 ....(searched-str.(if.prefix....
6040 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 66 6f 72 6d 61 74 20 ........................(format.
6060 22 53 65 61 72 63 68 65 64 20 25 73 20 69 6e 20 25 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 "Searched.%s.in.%s."............
6080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 ........................(elisp-r
60a0 65 66 73 2d 2d 70 6c 75 72 61 6c 69 7a 65 20 73 65 61 72 63 68 65 64 2d 66 69 6c 65 2d 63 6f 75 efs--pluralize.searched-file-cou
60c0 6e 74 20 22 6c 6f 61 64 65 64 20 66 69 6c 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt."loaded.file")...............
60e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 .....................(elisp-refs
6100 2d 2d 70 61 74 68 2d 62 75 74 74 6f 6e 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 --path-button.(file-name-as-dire
6120 63 74 6f 72 79 20 70 72 65 66 69 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ctory.prefix))).................
6140 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 53 65 61 72 63 68 65 64 20 61 6c 6c 20 25 .........(format."Searched.all.%
6160 73 20 6c 6f 61 64 65 64 20 69 6e 20 45 6d 61 63 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 s.loaded.in.Emacs.".............
6180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 .....................(elisp-refs
61a0 2d 2d 70 6c 75 72 61 6c 69 7a 65 20 73 65 61 72 63 68 65 64 2d 66 69 6c 65 2d 63 6f 75 6e 74 20 --pluralize.searched-file-count.
61c0 22 66 69 6c 65 22 29 29 29 29 29 0a 20 20 20 20 28 73 2d 77 6f 72 64 2d 77 72 61 70 20 37 30 20 "file"))))).....(s-word-wrap.70.
61e0 28 66 6f 72 6d 61 74 20 22 25 73 20 25 73 22 20 66 6f 75 6e 64 2d 73 74 72 20 73 65 61 72 63 68 (format."%s.%s".found-str.search
6200 65 64 2d 73 74 72 29 29 29 29 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 69 66 20 77 65 20 68 61 76 65 20 ed-str))))..;;.TODO:.if.we.have.
6220 6d 75 6c 74 69 70 6c 65 20 6d 61 74 63 68 65 73 20 6f 6e 20 6f 6e 65 20 6c 69 6e 65 2c 20 77 65 multiple.matches.on.one.line,.we
6240 20 72 65 70 65 61 74 65 64 6c 79 20 73 68 6f 77 0a 3b 3b 20 74 68 61 74 20 6c 69 6e 65 2e 20 54 .repeatedly.show.;;.that.line..T
6260 68 61 74 27 73 20 73 6c 69 67 68 74 6c 79 20 63 6f 6e 66 75 73 69 6e 67 2e 0a 28 64 65 66 75 6e hat's.slightly.confusing..(defun
6280 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 73 68 6f 77 2d 72 65 73 75 6c 74 73 20 28 73 79 6d 62 6f .elisp-refs--show-results.(symbo
62a0 6c 20 64 65 73 63 72 69 70 74 69 6f 6e 20 72 65 73 75 6c 74 73 0a 20 20 20 20 20 20 20 20 20 20 l.description.results...........
62c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 ..............................se
62e0 61 72 63 68 65 64 2d 66 69 6c 65 2d 63 6f 75 6e 74 20 70 72 65 66 69 78 29 0a 20 20 22 47 69 76 arched-file-count.prefix)..."Giv
6300 65 6e 20 61 20 52 45 53 55 4c 54 53 20 6c 69 73 74 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 en.a.RESULTS.list.where.each.ele
6320 6d 65 6e 74 20 74 61 6b 65 73 20 74 68 65 20 66 6f 72 6d 20 5c 28 66 6f 72 6d 73 20 2e 20 62 75 ment.takes.the.form.\(forms...bu
6340 66 66 65 72 5c 29 2c 0a 72 65 6e 64 65 72 20 61 20 66 72 69 65 6e 64 6c 79 20 72 65 73 75 6c 74 ffer\),.render.a.friendly.result
6360 73 20 62 75 66 66 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 75 66 20 28 67 65 74 2d 62 75 66 s.buffer."...(let.((buf.(get-buf
6380 66 65 72 2d 63 72 65 61 74 65 20 28 66 6f 72 6d 61 74 20 22 2a 72 65 66 73 3a 20 25 73 2a 22 20 fer-create.(format."*refs:.%s*".
63a0 73 79 6d 62 6f 6c 29 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 symbol)))).....(switch-to-buffer
63c0 20 62 75 66 29 0a 20 20 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e .buf).....(let.((inhibit-read-on
63e0 6c 79 20 74 29 29 0a 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 ly.t)).......(erase-buffer).....
6400 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 3b 3b 20 49 6e 73 ..(save-excursion.........;;.Ins
6420 65 72 74 20 74 68 65 20 68 65 61 64 65 72 2e 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 0a ert.the.header..........(insert.
6440 20 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 66 6f 72 6d 61 74 2d 63 6f 75 .........(elisp-refs--format-cou
6460 6e 74 0a 20 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 69 6f 6e 0a 20 20 20 20 20 20 20 nt...........description........
6480 20 20 20 28 2d 73 75 6d 20 28 2d 2d 6d 61 70 20 28 6c 65 6e 67 74 68 20 28 63 61 72 20 69 74 29 ...(-sum.(--map.(length.(car.it)
64a0 29 20 72 65 73 75 6c 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 72 65 ).results))...........(length.re
64c0 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 73 65 61 72 63 68 65 64 2d 66 69 6c 65 2d 63 sults)...........searched-file-c
64e0 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 66 69 78 29 0a 20 20 20 20 20 20 20 20 20 ount...........prefix)..........
6500 22 5c 6e 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 73 65 72 74 20 74 68 65 20 72 65 "\n\n").........;;.Insert.the.re
6520 73 75 6c 74 73 2e 0a 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 72 65 73 75 6c 74 73 0a 20 sults..........(--each.results..
6540 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 2a 20 28 28 28 66 6f 72 6d 73 20 2e 20 62 75 66 29 20 .........(-let*.(((forms...buf).
6560 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 74 68 20 28 77 69 74 it)...................(path.(wit
6580 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 20 65 6c 69 73 70 2d 72 65 66 73 2d h-current-buffer.buf.elisp-refs-
65a0 2d 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 0a 20 20 20 -path))).............(insert....
65c0 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 46 69 6c 65 3a 20 22 20 27 ..........(propertize."File:.".'
65e0 66 61 63 65 20 27 62 6f 6c 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d face.'bold)..............(elisp-
6600 72 65 66 73 2d 2d 70 61 74 68 2d 62 75 74 74 6f 6e 20 70 61 74 68 29 20 22 5c 6e 22 29 0a 20 20 refs--path-button.path)."\n")...
6620 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 66 6f 72 6d 73 0a 20 20 20 20 20 20 20 20 ..........(--each.forms.........
6640 20 20 20 20 20 20 28 2d 6c 65 74 20 5b 28 5f 20 73 74 61 72 74 2d 70 6f 73 20 65 6e 64 2d 70 6f ......(-let.[(_.start-pos.end-po
6660 73 29 20 69 74 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 s).it].................(insert.(
6680 65 6c 69 73 70 2d 72 65 66 73 2d 2d 63 6f 6e 74 61 69 6e 69 6e 67 2d 6c 69 6e 65 73 20 62 75 66 elisp-refs--containing-lines.buf
66a0 20 73 74 61 72 74 2d 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 .start-pos.end-pos).............
66c0 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ............"\n"))).............
66e0 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 50 72 65 70 61 (insert."\n"))).........;;.Prepa
6700 72 65 20 74 68 65 20 62 75 66 66 65 72 20 66 6f 72 20 74 68 65 20 75 73 65 72 2e 0a 20 20 20 20 re.the.buffer.for.the.user......
6720 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 6d 6f 64 65 29 29 29 0a 20 20 20 20 3b 3b 20 43 ....(elisp-refs-mode))).....;;.C
6740 6c 65 61 6e 75 70 20 62 75 66 66 65 72 73 20 63 72 65 61 74 65 64 20 77 68 65 6e 20 68 69 67 68 leanup.buffers.created.when.high
6760 6c 69 67 68 74 69 6e 67 20 72 65 73 75 6c 74 73 2e 0a 20 20 20 20 28 77 68 65 6e 20 65 6c 69 73 lighting.results......(when.elis
6780 70 2d 72 65 66 73 2d 2d 68 69 67 68 6c 69 67 68 74 69 6e 67 2d 62 75 66 66 65 72 0a 20 20 20 20 p-refs--highlighting-buffer.....
67a0 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 68 69 67 68 6c ..(kill-buffer.elisp-refs--highl
67c0 69 67 68 74 69 6e 67 2d 62 75 66 66 65 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 ighting-buffer))))..(defun.elisp
67e0 2d 72 65 66 73 2d 2d 6c 6f 61 64 65 64 2d 62 75 66 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 -refs--loaded-bufs.()..."Return.
6800 61 20 6c 69 73 74 20 6f 66 20 6f 70 65 6e 20 62 75 66 66 65 72 73 2c 20 6f 6e 65 20 66 6f 72 20 a.list.of.open.buffers,.one.for.
6820 65 61 63 68 20 70 61 74 68 20 69 6e 20 60 6c 6f 61 64 2d 70 61 74 68 27 2e 22 0a 20 20 28 6d 61 each.path.in.`load-path'."...(ma
6840 70 63 61 72 20 23 27 65 6c 69 73 70 2d 72 65 66 73 2d 2d 63 6f 6e 74 65 6e 74 73 2d 62 75 66 66 pcar.#'elisp-refs--contents-buff
6860 65 72 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 6c 6f 61 64 65 64 2d 70 61 74 68 73 29 29 29 0a er.(elisp-refs--loaded-paths))).
6880 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 73 65 61 72 63 68 2d 31 20 28 62 75 .(defun.elisp-refs--search-1.(bu
68a0 66 73 20 6d 61 74 63 68 2d 66 6e 29 0a 20 20 22 43 61 6c 6c 20 4d 41 54 43 48 2d 46 4e 20 6f 6e fs.match-fn)..."Call.MATCH-FN.on
68c0 20 65 61 63 68 20 62 75 66 66 65 72 20 69 6e 20 42 55 46 53 2c 20 72 65 70 6f 72 74 69 6e 67 20 .each.buffer.in.BUFS,.reporting.
68e0 70 72 6f 67 72 65 73 73 0a 61 6e 64 20 61 63 63 75 6d 75 6c 61 74 69 6e 67 20 72 65 73 75 6c 74 progress.and.accumulating.result
6900 73 2e 0a 0a 42 55 46 53 20 73 68 6f 75 6c 64 20 62 65 20 64 69 73 70 6f 73 61 62 6c 65 3a 20 77 s...BUFS.should.be.disposable:.w
6920 65 20 6d 61 6b 65 20 6e 6f 20 65 66 66 6f 72 74 20 74 6f 20 70 72 65 73 65 72 76 65 20 74 68 65 e.make.no.effort.to.preserve.the
6940 69 72 0a 73 74 61 74 65 20 64 75 72 69 6e 67 20 73 65 61 72 63 68 69 6e 67 2e 0a 0a 4d 41 54 43 ir.state.during.searching...MATC
6960 48 2d 46 4e 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 68 65 72 65 20 H-FN.should.return.a.list.where.
6980 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 74 61 6b 65 73 20 74 68 65 20 66 6f 72 6d 3a 0a 5c 28 66 each.element.takes.the.form:.\(f
69a0 6f 72 6d 20 73 74 61 72 74 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 29 2e 22 0a 20 20 28 6c 65 74 2a orm.start-pos.end-pos)."...(let*
69c0 20 28 3b 3b 20 4f 75 72 20 62 65 6e 63 68 6d 61 72 6b 20 73 75 67 67 65 73 74 73 20 77 65 20 73 .(;;.Our.benchmark.suggests.we.s
69e0 70 65 6e 64 20 61 20 6c 6f 74 20 6f 66 20 74 69 6d 65 20 69 6e 20 47 43 2c 20 61 6e 64 0a 20 20 pend.a.lot.of.time.in.GC,.and...
6a00 20 20 20 20 20 20 20 3b 3b 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 69 6d 70 72 6f 76 65 73 20 69 .......;;.performance.improves.i
6a20 66 20 77 65 20 47 43 20 6c 65 73 73 20 66 72 65 71 75 65 6e 74 6c 79 2e 0a 20 20 20 20 20 20 20 f.we.GC.less.frequently.........
6a40 20 20 28 67 63 2d 63 6f 6e 73 2d 70 65 72 63 65 6e 74 61 67 65 20 30 2e 38 29 0a 20 20 20 20 20 ..(gc-cons-percentage.0.8)......
6a60 20 20 20 20 28 74 6f 74 61 6c 2d 62 75 66 73 20 28 6c 65 6e 67 74 68 20 62 75 66 73 29 29 29 0a ....(total-bufs.(length.bufs))).
6a80 20 20 20 20 28 6c 65 74 20 28 28 73 65 61 72 63 68 65 64 20 30 29 0a 20 20 20 20 20 20 20 20 20 ....(let.((searched.0)..........
6aa0 20 28 66 6f 72 6d 73 2d 61 6e 64 2d 62 75 66 73 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 64 6f .(forms-and-bufs.nil)).......(do
6ac0 6c 69 73 74 20 28 62 75 66 20 62 75 66 73 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 list.(buf.bufs).........(let*.((
6ae0 6d 61 74 63 68 69 6e 67 2d 66 6f 72 6d 73 20 28 66 75 6e 63 61 6c 6c 20 6d 61 74 63 68 2d 66 6e matching-forms.(funcall.match-fn
6b00 20 62 75 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 65 72 65 20 77 65 .buf)))...........;;.If.there.we
6b20 72 65 20 61 6e 79 20 6d 61 74 63 68 65 73 20 69 6e 20 74 68 69 73 20 62 75 66 66 65 72 2c 20 70 re.any.matches.in.this.buffer,.p
6b40 75 73 68 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6d 61 74 63 68 65 73 20 61 6c 6f ush.the...........;;.matches.alo
6b60 6e 67 20 77 69 74 68 20 74 68 65 20 62 75 66 66 65 72 20 69 6e 74 6f 20 6f 75 72 20 72 65 73 75 ng.with.the.buffer.into.our.resu
6b80 6c 74 73 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6c 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 lts...........;;.list...........
6ba0 20 28 77 68 65 6e 20 6d 61 74 63 68 69 6e 67 2d 66 6f 72 6d 73 0a 20 20 20 20 20 20 20 20 20 20 .(when.matching-forms...........
6bc0 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 6d 61 74 63 68 69 6e 67 2d 66 6f 72 6d 73 20 62 75 66 ..(push.(cons.matching-forms.buf
6be0 29 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 20 20 20 3b 3b 20 ).forms-and-bufs))...........;;.
6c00 47 69 76 65 20 66 65 65 64 62 61 63 6b 20 74 6f 20 74 68 65 20 75 73 65 72 20 6f 6e 20 6f 75 72 Give.feedback.to.the.user.on.our
6c20 20 70 72 6f 67 72 65 73 73 2c 20 62 65 63 61 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 .progress,.because...........;;.
6c40 73 65 61 72 63 68 69 6e 67 20 74 61 6b 65 73 20 73 65 76 65 72 61 6c 20 73 65 63 6f 6e 64 73 2e searching.takes.several.seconds.
6c60 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 7a 65 72 6f 70 20 28 6d 6f ...........(when.(and.(zerop.(mo
6c80 64 20 73 65 61 72 63 68 65 64 20 31 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.searched.10)).................
6ca0 20 20 20 20 20 65 6c 69 73 70 2d 72 65 66 73 2d 76 65 72 62 6f 73 65 29 0a 20 20 20 20 20 20 20 .....elisp-refs-verbose)........
6cc0 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 53 65 61 72 63 68 65 64 20 25 73 2f 25 73 20 66 69 .....(message."Searched.%s/%s.fi
6ce0 6c 65 73 22 20 73 65 61 72 63 68 65 64 20 74 6f 74 61 6c 2d 62 75 66 73 29 29 0a 20 20 20 20 20 les".searched.total-bufs))......
6d00 20 20 20 20 20 28 63 6c 2d 69 6e 63 66 20 73 65 61 72 63 68 65 64 29 29 29 0a 20 20 20 20 20 20 .....(cl-incf.searched))).......
6d20 28 77 68 65 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 76 65 72 62 6f 73 65 0a 20 20 20 20 20 20 20 (when.elisp-refs-verbose........
6d40 20 28 6d 65 73 73 61 67 65 20 22 53 65 61 72 63 68 65 64 20 25 73 2f 25 73 20 66 69 6c 65 73 22 .(message."Searched.%s/%s.files"
6d60 20 74 6f 74 61 6c 2d 62 75 66 73 20 74 6f 74 61 6c 2d 62 75 66 73 29 29 0a 20 20 20 20 20 20 66 .total-bufs.total-bufs)).......f
6d80 6f 72 6d 73 2d 61 6e 64 2d 62 75 66 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 orms-and-bufs)))..(defun.elisp-r
6da0 65 66 73 2d 2d 73 65 61 72 63 68 20 28 73 79 6d 62 6f 6c 20 64 65 73 63 72 69 70 74 69 6f 6e 20 efs--search.(symbol.description.
6dc0 6d 61 74 63 68 2d 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 74 68 2d 70 72 65 66 69 78 29 0a match-fn.&optional.path-prefix).
6de0 20 20 22 46 69 6e 64 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 53 59 4d 42 4f 4c 20 69 6e 20 .."Find.references.to.SYMBOL.in.
6e00 61 6c 6c 20 6c 6f 61 64 65 64 20 66 69 6c 65 73 3b 20 63 61 6c 6c 20 4d 41 54 43 48 2d 46 4e 20 all.loaded.files;.call.MATCH-FN.
6e20 6f 6e 20 65 61 63 68 20 62 75 66 66 65 72 2e 0a 57 68 65 6e 20 50 41 54 48 2d 50 52 45 46 49 58 on.each.buffer..When.PATH-PREFIX
6e40 2c 20 6c 69 6d 69 74 20 74 6f 20 6c 6f 61 64 65 64 20 66 69 6c 65 73 20 77 68 6f 73 65 20 70 61 ,.limit.to.loaded.files.whose.pa
6e60 74 68 20 73 74 61 72 74 73 20 77 69 74 68 20 74 68 61 74 20 70 72 65 66 69 78 2e 0a 0a 44 69 73 th.starts.with.that.prefix...Dis
6e80 70 6c 61 79 20 74 68 65 20 72 65 73 75 6c 74 73 20 69 6e 20 61 20 68 79 70 65 72 6c 69 6e 6b 65 play.the.results.in.a.hyperlinke
6ea0 64 20 62 75 66 66 65 72 2e 0a 0a 4d 41 54 43 48 2d 46 4e 20 73 68 6f 75 6c 64 20 72 65 74 75 72 d.buffer...MATCH-FN.should.retur
6ec0 6e 20 61 20 6c 69 73 74 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 74 61 6b 65 n.a.list.where.each.element.take
6ee0 73 20 74 68 65 20 66 6f 72 6d 3a 0a 5c 28 66 6f 72 6d 20 73 74 61 72 74 2d 70 6f 73 20 65 6e 64 s.the.form:.\(form.start-pos.end
6f00 2d 70 6f 73 29 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6c 6f 61 64 65 64 2d 70 61 74 68 73 20 28 -pos)."...(let*.((loaded-paths.(
6f20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 6c 6f 61 64 65 64 2d 70 61 74 68 73 29 29 0a 20 20 20 20 20 elisp-refs--loaded-paths))......
6f40 20 20 20 20 28 6d 61 74 63 68 69 6e 67 2d 70 61 74 68 73 20 28 69 66 20 70 61 74 68 2d 70 72 65 ....(matching-paths.(if.path-pre
6f60 66 69 78 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 fix.............................
6f80 20 28 2d 2d 66 69 6c 74 65 72 20 28 73 2d 73 74 61 72 74 73 2d 77 69 74 68 3f 20 70 61 74 68 2d .(--filter.(s-starts-with?.path-
6fa0 70 72 65 66 69 78 20 69 74 29 20 6c 6f 61 64 65 64 2d 70 61 74 68 73 29 0a 20 20 20 20 20 20 20 prefix.it).loaded-paths)........
6fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 61 64 65 64 2d 70 61 74 68 73 ....................loaded-paths
6fe0 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 61 64 65 64 2d 73 72 63 2d 62 75 66 73 20 28 6d 61 ))..........(loaded-src-bufs.(ma
7000 70 63 61 72 20 23 27 65 6c 69 73 70 2d 72 65 66 73 2d 2d 63 6f 6e 74 65 6e 74 73 2d 62 75 66 66 pcar.#'elisp-refs--contents-buff
7020 65 72 20 6d 61 74 63 68 69 6e 67 2d 70 61 74 68 73 29 29 29 0a 20 20 20 20 3b 3b 20 55 73 65 20 er.matching-paths))).....;;.Use.
7040 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 20 74 6f 20 65 6e 73 75 72 65 20 77 65 20 61 6c 77 61 unwind-protect.to.ensure.we.alwa
7060 79 73 20 63 6c 65 61 6e 75 70 20 74 65 6d 70 6f 72 61 72 79 0a 20 20 20 20 3b 3b 20 62 75 66 66 ys.cleanup.temporary.....;;.buff
7080 65 72 73 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 75 73 65 72 20 68 69 74 73 20 43 2d 67 2e 0a ers,.even.if.the.user.hits.C-g..
70a0 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 28 70 72 6f ....(unwind-protect.........(pro
70c0 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 6f 72 6d 73 2d 61 6e 64 2d 62 75 gn...........(let.((forms-and-bu
70e0 66 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d fs..................(elisp-refs-
7100 2d 73 65 61 72 63 68 2d 31 20 6c 6f 61 64 65 64 2d 73 72 63 2d 62 75 66 73 20 6d 61 74 63 68 2d -search-1.loaded-src-bufs.match-
7120 66 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 73 fn))).............(elisp-refs--s
7140 68 6f 77 2d 72 65 73 75 6c 74 73 20 73 79 6d 62 6f 6c 20 64 65 73 63 72 69 70 74 69 6f 6e 20 66 how-results.symbol.description.f
7160 6f 72 6d 73 2d 61 6e 64 2d 62 75 66 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 orms-and-bufs...................
7180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 6c 6f 61 64 ....................(length.load
71a0 65 64 2d 73 72 63 2d 62 75 66 73 29 20 70 61 74 68 2d 70 72 65 66 69 78 29 29 29 0a 20 20 20 20 ed-src-bufs).path-prefix))).....
71c0 20 20 3b 3b 20 43 6c 65 61 6e 20 75 70 20 74 65 6d 70 6f 72 61 72 79 20 62 75 66 66 65 72 73 2e ..;;.Clean.up.temporary.buffers.
71e0 0a 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 6f 61 64 65 64 2d 73 72 63 2d 62 75 66 73 20 28 .......(--each.loaded-src-bufs.(
7200 6b 69 6c 6c 2d 62 75 66 66 65 72 20 69 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 kill-buffer.it)))))..(defun.elis
7220 70 2d 72 65 66 73 2d 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 2d 73 79 6d 62 6f 6c 20 28 p-refs--completing-read-symbol.(
7240 70 72 6f 6d 70 74 20 26 6f 70 74 69 6f 6e 61 6c 20 66 69 6c 74 65 72 29 0a 20 20 22 52 65 61 64 prompt.&optional.filter)..."Read
7260 20 61 6e 20 69 6e 74 65 72 6e 65 64 20 73 79 6d 62 6f 6c 20 66 72 6f 6d 20 74 68 65 20 6d 69 6e .an.interned.symbol.from.the.min
7280 69 62 75 66 66 65 72 2c 0a 64 65 66 61 75 6c 74 69 6e 67 20 74 6f 20 74 68 65 20 73 79 6d 62 6f ibuffer,.defaulting.to.the.symbo
72a0 6c 20 61 74 20 70 6f 69 6e 74 2e 20 50 52 4f 4d 50 54 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 l.at.point..PROMPT.is.the.string
72c0 20 74 6f 20 70 72 6f 6d 70 74 0a 77 69 74 68 2e 0a 0a 49 66 20 46 49 4c 54 45 52 20 69 73 20 67 .to.prompt.with...If.FILTER.is.g
72e0 69 76 65 6e 2c 20 6f 6e 6c 79 20 6f 66 66 65 72 20 73 79 6d 62 6f 6c 73 20 77 68 65 72 65 20 28 iven,.only.offer.symbols.where.(
7300 46 49 4c 54 45 52 20 73 79 6d 29 20 72 65 74 75 72 6e 73 0a 74 2e 22 0a 20 20 28 6c 65 74 20 28 FILTER.sym).returns.t."...(let.(
7320 28 66 69 6c 74 65 72 20 28 6f 72 20 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 5f 29 20 74 (filter.(or.filter.(lambda.(_).t
7340 29 29 29 29 0a 20 20 20 20 28 72 65 61 64 0a 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d )))).....(read......(completing-
7360 72 65 61 64 20 70 72 6f 6d 70 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 read.prompt.....................
7380 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 66 69 6c 74 65 72 2d 6f 62 61 72 72 61 79 20 66 69 ..(elisp-refs--filter-obarray.fi
73a0 6c 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 lter).......................nil.
73c0 6e 69 6c 20 6e 69 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 nil.nil.nil.....................
73e0 20 20 28 2d 69 66 2d 6c 65 74 20 28 73 79 6d 20 28 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 20 ..(-if-let.(sym.(thing-at-point.
7400 27 73 79 6d 62 6f 6c 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 'symbol)).......................
7420 20 20 20 20 28 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 66 69 6c 74 65 72 20 28 72 65 61 64 20 ....(when.(funcall.filter.(read.
7440 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 20 20 20 20 sym))...........................
7460 20 20 73 79 6d 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 43 6f 6d 6d 61 6e 64 73 0a 0a 3b 3b 3b 23 23 ..sym))))))..;;;.Commands..;;;##
7480 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 66 75 6e 63 #autoload.(defun.elisp-refs-func
74a0 74 69 6f 6e 20 28 73 79 6d 62 6f 6c 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 74 68 2d 70 72 65 66 tion.(symbol.&optional.path-pref
74c0 69 78 29 0a 20 20 22 44 69 73 70 6c 61 79 20 61 6c 6c 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 ix)..."Display.all.the.reference
74e0 73 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 53 59 4d 42 4f 4c 2c 20 69 6e 20 61 6c 6c 20 6c 6f 61 s.to.function.SYMBOL,.in.all.loa
7500 64 65 64 0a 65 6c 69 73 70 20 66 69 6c 65 73 2e 0a 0a 49 66 20 63 61 6c 6c 65 64 20 77 69 74 68 ded.elisp.files...If.called.with
7520 20 61 20 70 72 65 66 69 78 2c 20 70 72 6f 6d 70 74 20 66 6f 72 20 61 20 64 69 72 65 63 74 6f 72 .a.prefix,.prompt.for.a.director
7540 79 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 73 65 61 72 63 68 2e 0a 0a 54 68 69 73 20 73 65 61 y.to.limit.the.search...This.sea
7560 72 63 68 65 73 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 2c 20 6e 6f 74 20 6d 61 63 72 6f 73 2e rches.for.functions,.not.macros.
7580 20 46 6f 72 20 74 68 61 74 2c 20 73 65 65 0a 60 65 6c 69 73 70 2d 72 65 66 73 2d 6d 61 63 72 6f .For.that,.see.`elisp-refs-macro
75a0 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 65 6c 69 '."...(interactive....(list.(eli
75c0 73 70 2d 72 65 66 73 2d 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 2d 73 79 6d 62 6f 6c 20 sp-refs--completing-read-symbol.
75e0 22 46 75 6e 63 74 69 6f 6e 3a 20 22 20 23 27 66 75 6e 63 74 69 6f 6e 70 29 0a 20 20 20 20 20 20 "Function:.".#'functionp).......
7600 20 20 20 28 77 68 65 6e 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 0a 20 20 20 20 ...(when.current-prefix-arg.....
7620 20 20 20 20 20 20 20 28 72 65 61 64 2d 64 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 20 22 4c 69 6d .......(read-directory-name."Lim
7640 69 74 20 73 65 61 72 63 68 20 74 6f 20 6c 6f 61 64 65 64 20 66 69 6c 65 73 20 69 6e 3a 20 22 29 it.search.to.loaded.files.in:.")
7660 29 29 29 0a 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 66 75 6e 63 74 69 6f 6e 70 20 73 79 6d 62 )))...(when.(not.(functionp.symb
7680 6f 6c 29 29 0a 20 20 20 20 28 69 66 20 28 6d 61 63 72 6f 70 20 73 79 6d 62 6f 6c 29 0a 20 20 20 ol)).....(if.(macrop.symbol)....
76a0 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 25 73 20 69 73 20 61 20 6d 61 63 72 6f 2e .....(user-error."%s.is.a.macro.
76c0 20 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 6d 61 63 72 6f 3f 22 .Did.you.mean.elisp-refs-macro?"
76e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 29 0a 20 20 20 .....................symbol)....
7700 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 25 73 20 69 73 20 6e 6f 74 20 61 20 66 75 6e 63 ...(user-error."%s.is.not.a.func
7720 74 69 6f 6e 2e 20 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 73 79 tion..Did.you.mean.elisp-refs-sy
7740 6d 62 6f 6c 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 29 mbol?"...................symbol)
7760 29 29 0a 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 73 65 61 72 63 68 20 73 79 6d 62 6f 6c 0a ))...(elisp-refs--search.symbol.
7780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 ......................(elisp-ref
77a0 73 2d 2d 64 65 73 63 72 69 62 65 2d 62 75 74 74 6f 6e 20 73 79 6d 62 6f 6c 20 27 66 75 6e 63 74 s--describe-button.symbol.'funct
77c0 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 28 6c 61 6d 62 ion).......................(lamb
77e0 64 61 20 28 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 da.(buf)........................
7800 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 72 65 61 64 2d 61 6e 64 2d 66 69 6e 64 20 62 75 66 20 .(elisp-refs--read-and-find.buf.
7820 73 79 6d 62 6f 6c 20 23 27 65 6c 69 73 70 2d 72 65 66 73 2d 2d 66 75 6e 63 74 69 6f 6e 2d 70 29 symbol.#'elisp-refs--function-p)
7840 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 2d 70 72 65 ).......................path-pre
7860 66 69 78 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 65 6c 69 fix))..;;;###autoload.(defun.eli
7880 73 70 2d 72 65 66 73 2d 6d 61 63 72 6f 20 28 73 79 6d 62 6f 6c 20 26 6f 70 74 69 6f 6e 61 6c 20 sp-refs-macro.(symbol.&optional.
78a0 70 61 74 68 2d 70 72 65 66 69 78 29 0a 20 20 22 44 69 73 70 6c 61 79 20 61 6c 6c 20 74 68 65 20 path-prefix)..."Display.all.the.
78c0 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 6d 61 63 72 6f 20 53 59 4d 42 4f 4c 2c 20 69 6e 20 61 references.to.macro.SYMBOL,.in.a
78e0 6c 6c 20 6c 6f 61 64 65 64 0a 65 6c 69 73 70 20 66 69 6c 65 73 2e 0a 0a 49 66 20 63 61 6c 6c 65 ll.loaded.elisp.files...If.calle
7900 64 20 77 69 74 68 20 61 20 70 72 65 66 69 78 2c 20 70 72 6f 6d 70 74 20 66 6f 72 20 61 20 64 69 d.with.a.prefix,.prompt.for.a.di
7920 72 65 63 74 6f 72 79 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 73 65 61 72 63 68 2e 0a 0a 54 68 rectory.to.limit.the.search...Th
7940 69 73 20 73 65 61 72 63 68 65 73 20 66 6f 72 20 6d 61 63 72 6f 73 2c 20 6e 6f 74 20 66 75 6e 63 is.searches.for.macros,.not.func
7960 74 69 6f 6e 73 2e 20 46 6f 72 20 74 68 61 74 2c 20 73 65 65 0a 60 65 6c 69 73 70 2d 72 65 66 73 tions..For.that,.see.`elisp-refs
7980 2d 66 75 6e 63 74 69 6f 6e 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 -function'."...(interactive....(
79a0 6c 69 73 74 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 list.(elisp-refs--completing-rea
79c0 64 2d 73 79 6d 62 6f 6c 20 22 4d 61 63 72 6f 3a 20 22 20 23 27 6d 61 63 72 6f 70 29 0a 20 20 20 d-symbol."Macro:.".#'macrop)....
79e0 20 20 20 20 20 20 28 77 68 65 6e 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 0a 20 ......(when.current-prefix-arg..
7a00 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 64 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 20 22 ..........(read-directory-name."
7a20 4c 69 6d 69 74 20 73 65 61 72 63 68 20 74 6f 20 6c 6f 61 64 65 64 20 66 69 6c 65 73 20 69 6e 3a Limit.search.to.loaded.files.in:
7a40 20 22 29 29 29 29 0a 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 6d 61 63 72 6f 70 20 73 79 6d 62 ."))))...(when.(not.(macrop.symb
7a60 6f 6c 29 29 0a 20 20 20 20 28 69 66 20 28 66 75 6e 63 74 69 6f 6e 70 20 73 79 6d 62 6f 6c 29 0a ol)).....(if.(functionp.symbol).
7a80 20 20 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 61 20 66 75 6e ........(user-error."%s.is.a.fun
7aa0 63 74 69 6f 6e 2e 20 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 66 ction..Did.you.mean.elisp-refs-f
7ac0 75 6e 63 74 69 6f 6e 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 79 unction?".....................sy
7ae0 6d 62 6f 6c 29 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 6e mbol).......(user-error."%s.is.n
7b00 6f 74 20 61 20 66 75 6e 63 74 69 6f 6e 2e 20 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 65 6c 69 73 ot.a.function..Did.you.mean.elis
7b20 70 2d 72 65 66 73 2d 73 79 6d 62 6f 6c 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p-refs-symbol?".................
7b40 20 20 73 79 6d 62 6f 6c 29 29 29 0a 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 73 65 61 72 63 ..symbol)))...(elisp-refs--searc
7b60 68 20 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 h.symbol.......................(
7b80 65 6c 69 73 70 2d 72 65 66 73 2d 2d 64 65 73 63 72 69 62 65 2d 62 75 74 74 6f 6e 20 73 79 6d 62 elisp-refs--describe-button.symb
7ba0 6f 6c 20 27 6d 61 63 72 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ol.'macro)......................
7bc0 20 28 6c 61 6d 62 64 61 20 28 62 75 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(lambda.(buf)..................
7be0 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 2d 66 69 6e .......(elisp-refs--read-and-fin
7c00 64 20 62 75 66 20 73 79 6d 62 6f 6c 20 23 27 65 6c 69 73 70 2d 72 65 66 73 2d 2d 6d 61 63 72 6f d.buf.symbol.#'elisp-refs--macro
7c20 2d 70 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 70 61 74 68 2d -p)).......................path-
7c40 70 72 65 66 69 78 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 prefix))..;;;###autoload.(defun.
7c60 65 6c 69 73 70 2d 72 65 66 73 2d 73 70 65 63 69 61 6c 20 28 73 79 6d 62 6f 6c 20 26 6f 70 74 69 elisp-refs-special.(symbol.&opti
7c80 6f 6e 61 6c 20 70 61 74 68 2d 70 72 65 66 69 78 29 0a 20 20 22 44 69 73 70 6c 61 79 20 61 6c 6c onal.path-prefix)..."Display.all
7ca0 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 73 70 65 63 69 61 6c 20 66 6f 72 6d 20 .the.references.to.special.form.
7cc0 53 59 4d 42 4f 4c 2c 20 69 6e 20 61 6c 6c 20 6c 6f 61 64 65 64 0a 65 6c 69 73 70 20 66 69 6c 65 SYMBOL,.in.all.loaded.elisp.file
7ce0 73 2e 0a 0a 49 66 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 70 72 65 66 69 78 2c 20 70 72 6f s...If.called.with.a.prefix,.pro
7d00 6d 70 74 20 66 6f 72 20 61 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 mpt.for.a.directory.to.limit.the
7d20 20 73 65 61 72 63 68 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 .search."...(interactive....(lis
7d40 74 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 2d 73 t.(elisp-refs--completing-read-s
7d60 79 6d 62 6f 6c 20 22 53 70 65 63 69 61 6c 20 66 6f 72 6d 3a 20 22 20 23 27 73 70 65 63 69 61 6c ymbol."Special.form:.".#'special
7d80 2d 66 6f 72 6d 2d 70 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 63 75 72 72 65 6e 74 2d -form-p)..........(when.current-
7da0 70 72 65 66 69 78 2d 61 72 67 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 64 69 72 65 prefix-arg............(read-dire
7dc0 63 74 6f 72 79 2d 6e 61 6d 65 20 22 4c 69 6d 69 74 20 73 65 61 72 63 68 20 74 6f 20 6c 6f 61 64 ctory-name."Limit.search.to.load
7de0 65 64 20 66 69 6c 65 73 20 69 6e 3a 20 22 29 29 29 29 0a 20 20 28 65 6c 69 73 70 2d 72 65 66 73 ed.files.in:."))))...(elisp-refs
7e00 2d 2d 73 65 61 72 63 68 20 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --search.symbol.................
7e20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 64 65 73 63 72 69 62 65 2d 62 75 74 74 ......(elisp-refs--describe-butt
7e40 6f 6e 20 73 79 6d 62 6f 6c 20 27 73 70 65 63 69 61 6c 2d 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 on.symbol.'special-form)........
7e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 62 75 66 29 0a 20 20 20 ...............(lambda.(buf)....
7e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 .....................(elisp-refs
7ea0 2d 2d 72 65 61 64 2d 61 6e 64 2d 66 69 6e 64 20 62 75 66 20 73 79 6d 62 6f 6c 20 23 27 65 6c 69 --read-and-find.buf.symbol.#'eli
7ec0 73 70 2d 72 65 66 73 2d 2d 73 70 65 63 69 61 6c 2d 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 sp-refs--special-p))............
7ee0 20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 2d 70 72 65 66 69 78 29 29 0a 0a 3b 3b 3b 23 23 23 ...........path-prefix))..;;;###
7f00 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 76 61 72 69 61 autoload.(defun.elisp-refs-varia
7f20 62 6c 65 20 28 73 79 6d 62 6f 6c 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 74 68 2d 70 72 65 66 69 ble.(symbol.&optional.path-prefi
7f40 78 29 0a 20 20 22 44 69 73 70 6c 61 79 20 61 6c 6c 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 73 x)..."Display.all.the.references
7f60 20 74 6f 20 76 61 72 69 61 62 6c 65 20 53 59 4d 42 4f 4c 2c 20 69 6e 20 61 6c 6c 20 6c 6f 61 64 .to.variable.SYMBOL,.in.all.load
7f80 65 64 0a 65 6c 69 73 70 20 66 69 6c 65 73 2e 0a 0a 49 66 20 63 61 6c 6c 65 64 20 77 69 74 68 20 ed.elisp.files...If.called.with.
7fa0 61 20 70 72 65 66 69 78 2c 20 70 72 6f 6d 70 74 20 66 6f 72 20 61 20 64 69 72 65 63 74 6f 72 79 a.prefix,.prompt.for.a.directory
7fc0 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 73 65 61 72 63 68 2e 22 0a 20 20 28 69 6e 74 65 72 61 .to.limit.the.search."...(intera
7fe0 63 74 69 76 65 0a 20 20 20 3b 3b 20 54 68 69 73 20 69 73 20 61 77 6b 77 61 72 64 2e 20 57 65 20 ctive....;;.This.is.awkward..We.
8000 64 6f 6e 27 74 20 77 61 6e 74 20 74 6f 20 6a 75 73 74 20 6f 66 66 65 72 20 64 65 66 76 61 72 20 don't.want.to.just.offer.defvar.
8020 76 61 72 69 61 62 6c 65 73 2c 0a 20 20 20 3b 3b 20 62 65 63 61 75 73 65 20 74 68 65 6e 20 77 65 variables,....;;.because.then.we
8040 20 63 61 6e 27 74 20 73 65 61 72 63 68 20 66 6f 72 20 63 6f 64 65 20 77 68 69 63 68 20 75 73 65 .can't.search.for.code.which.use
8060 73 20 60 6c 65 74 27 20 74 6f 20 62 69 6e 64 0a 20 20 20 3b 3b 20 73 79 6d 62 6f 6c 73 2e 20 54 s.`let'.to.bind....;;.symbols..T
8080 68 65 72 65 20 64 6f 65 73 6e 27 74 20 73 65 65 6d 20 74 6f 20 62 65 20 61 20 67 6f 6f 64 20 77 here.doesn't.seem.to.be.a.good.w
80a0 61 79 20 74 6f 20 6f 6e 6c 79 20 6f 66 66 65 72 0a 20 20 20 3b 3b 20 76 61 72 69 61 62 6c 65 73 ay.to.only.offer....;;.variables
80c0 20 74 68 61 74 20 68 61 76 65 20 62 65 65 6e 20 62 6f 75 6e 64 20 61 74 20 73 6f 6d 65 20 70 6f .that.have.been.bound.at.some.po
80e0 69 6e 74 2e 0a 20 20 20 28 6c 69 73 74 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 63 6f 6d 70 6c int.....(list.(elisp-refs--compl
8100 65 74 69 6e 67 2d 72 65 61 64 2d 73 79 6d 62 6f 6c 20 22 56 61 72 69 61 62 6c 65 3a 20 22 20 29 eting-read-symbol."Variable:.".)
8120 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 ..........(when.current-prefix-a
8140 72 67 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 64 69 72 65 63 74 6f 72 79 2d 6e 61 rg............(read-directory-na
8160 6d 65 20 22 4c 69 6d 69 74 20 73 65 61 72 63 68 20 74 6f 20 6c 6f 61 64 65 64 20 66 69 6c 65 73 me."Limit.search.to.loaded.files
8180 20 69 6e 3a 20 22 29 29 29 29 0a 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 73 65 61 72 63 68 .in:."))))...(elisp-refs--search
81a0 20 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 .symbol.......................(e
81c0 6c 69 73 70 2d 72 65 66 73 2d 2d 64 65 73 63 72 69 62 65 2d 62 75 74 74 6f 6e 20 73 79 6d 62 6f lisp-refs--describe-button.symbo
81e0 6c 20 27 76 61 72 69 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l.'variable)....................
8200 20 20 20 28 6c 61 6d 62 64 61 20 28 62 75 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(lambda.(buf)................
8220 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 2d 66 .........(elisp-refs--read-and-f
8240 69 6e 64 20 62 75 66 20 73 79 6d 62 6f 6c 20 23 27 65 6c 69 73 70 2d 72 65 66 73 2d 2d 76 61 72 ind.buf.symbol.#'elisp-refs--var
8260 69 61 62 6c 65 2d 70 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 iable-p)).......................
8280 70 61 74 68 2d 70 72 65 66 69 78 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 path-prefix))..;;;###autoload.(d
82a0 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 73 79 6d 62 6f 6c 20 28 73 79 6d 62 6f 6c 20 26 efun.elisp-refs-symbol.(symbol.&
82c0 6f 70 74 69 6f 6e 61 6c 20 70 61 74 68 2d 70 72 65 66 69 78 29 0a 20 20 22 44 69 73 70 6c 61 79 optional.path-prefix)..."Display
82e0 20 61 6c 6c 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 53 59 4d 42 4f 4c 20 69 6e .all.the.references.to.SYMBOL.in
8300 20 61 6c 6c 20 6c 6f 61 64 65 64 20 65 6c 69 73 70 20 66 69 6c 65 73 2e 0a 0a 49 66 20 63 61 6c .all.loaded.elisp.files...If.cal
8320 6c 65 64 20 77 69 74 68 20 61 20 70 72 65 66 69 78 2c 20 70 72 6f 6d 70 74 20 66 6f 72 20 61 20 led.with.a.prefix,.prompt.for.a.
8340 64 69 72 65 63 74 6f 72 79 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 0a 73 65 61 72 63 68 2e 22 0a directory.to.limit.the.search.".
8360 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 65 6c 69 73 70 2d 72 ..(interactive....(list.(elisp-r
8380 65 66 73 2d 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 2d 73 79 6d 62 6f 6c 20 22 53 79 6d efs--completing-read-symbol."Sym
83a0 62 6f 6c 3a 20 22 20 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 63 75 72 72 65 6e 74 2d bol:.".)..........(when.current-
83c0 70 72 65 66 69 78 2d 61 72 67 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 64 69 72 65 prefix-arg............(read-dire
83e0 63 74 6f 72 79 2d 6e 61 6d 65 20 22 4c 69 6d 69 74 20 73 65 61 72 63 68 20 74 6f 20 6c 6f 61 64 ctory-name."Limit.search.to.load
8400 65 64 20 66 69 6c 65 73 20 69 6e 3a 20 22 29 29 29 29 0a 20 20 28 65 6c 69 73 70 2d 72 65 66 73 ed.files.in:."))))...(elisp-refs
8420 2d 2d 73 65 61 72 63 68 20 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --search.symbol.................
8440 20 20 20 20 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 64 65 73 63 72 69 62 65 2d 62 75 74 74 ......(elisp-refs--describe-butt
8460 6f 6e 20 73 79 6d 62 6f 6c 20 27 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 on.symbol.'symbol)..............
8480 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 20 20 20 20 20 20 .........(lambda.(buf)..........
84a0 20 20 20 20 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 ...............(elisp-refs--read
84c0 2d 61 6e 64 2d 66 69 6e 64 2d 73 79 6d 62 6f 6c 20 62 75 66 20 73 79 6d 62 6f 6c 29 29 0a 20 20 -and-find-symbol.buf.symbol))...
84e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 2d 70 72 65 66 69 78 29 ....................path-prefix)
8500 29 0a 0a 3b 3b 3b 20 4d 6f 64 65 0a 0a 28 64 65 66 76 61 72 20 65 6c 69 73 70 2d 72 65 66 73 2d )..;;;.Mode..(defvar.elisp-refs-
8520 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 mode-map...(let.((map.(make-spar
8540 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 69 74 20 77 6f 75 se-keymap))).....;;.TODO:.it.wou
8560 6c 64 20 62 65 20 6e 69 63 65 20 66 6f 72 20 54 41 42 20 74 6f 20 6e 61 76 69 67 61 74 65 20 74 ld.be.nice.for.TAB.to.navigate.t
8580 6f 20 66 69 6c 65 20 62 75 74 74 6f 6e 73 20 74 6f 6f 2c 0a 20 20 20 20 3b 3b 20 6c 69 6b 65 20 o.file.buttons.too,.....;;.like.
85a0 2a 48 65 6c 70 2a 20 64 6f 65 73 2e 0a 20 20 20 20 28 73 65 74 2d 6b 65 79 6d 61 70 2d 70 61 72 *Help*.does......(set-keymap-par
85c0 65 6e 74 20 6d 61 70 20 73 70 65 63 69 61 6c 2d 6d 6f 64 65 2d 6d 61 70 29 0a 20 20 20 20 28 64 ent.map.special-mode-map).....(d
85e0 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 3c 74 61 62 3e 22 29 20 23 27 65 6c efine-key.map.(kbd."<tab>").#'el
8600 69 73 70 2d 72 65 66 73 2d 6e 65 78 74 2d 6d 61 74 63 68 29 0a 20 20 20 20 28 64 65 66 69 6e 65 isp-refs-next-match).....(define
8620 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 3c 62 61 63 6b 74 61 62 3e 22 29 20 23 27 65 6c 69 -key.map.(kbd."<backtab>").#'eli
8640 73 70 2d 72 65 66 73 2d 70 72 65 76 2d 6d 61 74 63 68 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d sp-refs-prev-match).....(define-
8660 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 6e 22 29 20 23 27 65 6c 69 73 70 2d 72 65 66 73 2d 6e key.map.(kbd."n").#'elisp-refs-n
8680 65 78 74 2d 6d 61 74 63 68 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 ext-match).....(define-key.map.(
86a0 6b 62 64 20 22 70 22 29 20 23 27 65 6c 69 73 70 2d 72 65 66 73 2d 70 72 65 76 2d 6d 61 74 63 68 kbd."p").#'elisp-refs-prev-match
86c0 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 52 45 54 22 ).....(define-key.map.(kbd."RET"
86e0 29 20 23 27 65 6c 69 73 70 2d 72 65 66 73 2d 76 69 73 69 74 2d 6d 61 74 63 68 29 0a 20 20 20 20 ).#'elisp-refs-visit-match).....
8700 6d 61 70 29 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 60 65 6c 69 73 70 2d 72 65 66 73 2d 6d map)..."Keymap.for.`elisp-refs-m
8720 6f 64 65 27 2e 22 29 0a 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 20 65 6c ode'.")..(define-derived-mode.el
8740 69 73 70 2d 72 65 66 73 2d 6d 6f 64 65 20 73 70 65 63 69 61 6c 2d 6d 6f 64 65 20 22 52 65 66 73 isp-refs-mode.special-mode."Refs
8760 22 0a 20 20 22 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 72 65 66 73 20 72 65 73 75 6c 74 73 "..."Major.mode.for.refs.results
8780 20 62 75 66 66 65 72 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 2d 72 65 66 73 2d .buffers.")..(defun.elisp--refs-
87a0 76 69 73 69 74 2d 6d 61 74 63 68 20 28 6f 70 65 6e 2d 66 6e 29 0a 20 20 22 47 6f 20 74 6f 20 74 visit-match.(open-fn)..."Go.to.t
87c0 68 65 20 73 65 61 72 63 68 20 72 65 73 75 6c 74 20 61 74 20 70 6f 69 6e 74 2e 0a 4f 70 65 6e 20 he.search.result.at.point..Open.
87e0 66 69 6c 65 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 4f 50 45 4e 5f 46 4e 2e 20 60 66 69 6e file.with.function.OPEN_FN..`fin
8800 64 2d 66 69 6c 65 60 20 6f 72 20 60 66 69 6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 77 69 6e 64 d-file`.or.`find-file-other-wind
8820 6f 77 60 22 0a 20 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 70 ow`"...(interactive)...(let*.((p
8840 61 74 68 20 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 ath.(get-text-property.(point).'
8860 65 6c 69 73 70 2d 72 65 66 73 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 6f 73 20 elisp-refs-path))..........(pos.
8880 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 65 6c 69 73 (get-text-property.(point).'elis
88a0 70 2d 72 65 66 73 2d 73 74 61 72 74 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 6e 69 p-refs-start-pos))..........(uni
88c0 6e 64 65 6e 74 20 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 ndent.(get-text-property.(point)
88e0 20 27 65 6c 69 73 70 2d 72 65 66 73 2d 75 6e 69 6e 64 65 6e 74 65 64 29 29 0a 20 20 20 20 20 20 .'elisp-refs-unindented)).......
8900 20 20 20 28 63 6f 6c 75 6d 6e 2d 6f 66 66 73 65 74 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d ...(column-offset.(current-colum
8920 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 2d 6f 66 66 73 65 74 20 2d 31 29 29 0a 20 n))..........(line-offset.-1))..
8940 20 20 20 28 77 68 65 6e 20 28 6e 75 6c 6c 20 70 61 74 68 29 0a 20 20 20 20 20 20 28 75 73 65 72 ...(when.(null.path).......(user
8960 2d 65 72 72 6f 72 20 22 4e 6f 20 6d 61 74 63 68 20 68 65 72 65 22 29 29 0a 0a 20 20 20 20 3b 3b -error."No.match.here"))......;;
8980 20 49 66 20 70 6f 69 6e 74 20 69 73 20 6e 6f 74 20 6f 6e 20 74 68 65 20 66 69 72 73 74 20 6c 69 .If.point.is.not.on.the.first.li
89a0 6e 65 20 6f 66 20 74 68 65 20 6d 61 74 63 68 2c 20 77 6f 72 6b 20 6f 75 74 20 68 6f 77 0a 20 20 ne.of.the.match,.work.out.how...
89c0 20 20 3b 3b 20 66 61 72 20 61 77 61 79 20 74 68 65 20 66 69 72 73 74 20 6c 69 6e 65 20 69 73 2e ..;;.far.away.the.first.line.is.
89e0 0a 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 28 77 68 69 6c .....(save-excursion.......(whil
8a00 65 20 28 65 71 75 61 6c 20 70 6f 73 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 e.(equal.pos.(get-text-property.
8a20 28 70 6f 69 6e 74 29 20 27 65 6c 69 73 70 2d 72 65 66 73 2d 73 74 61 72 74 2d 70 6f 73 29 29 0a (point).'elisp-refs-start-pos)).
8a40 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 2d 31 29 0a 20 20 20 20 20 20 ........(forward-line.-1).......
8a60 20 20 28 63 6c 2d 69 6e 63 66 20 6c 69 6e 65 2d 6f 66 66 73 65 74 29 29 29 0a 0a 20 20 20 20 28 ..(cl-incf.line-offset)))......(
8a80 66 75 6e 63 61 6c 6c 20 6f 70 65 6e 2d 66 6e 20 70 61 74 68 29 0a 20 20 20 20 28 67 6f 74 6f 2d funcall.open-fn.path).....(goto-
8aa0 63 68 61 72 20 70 6f 73 29 0a 20 20 20 20 3b 3b 20 4d 6f 76 65 20 70 6f 69 6e 74 20 73 6f 20 77 char.pos).....;;.Move.point.so.w
8ac0 65 27 72 65 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 63 68 61 72 20 69 6e 20 74 68 65 20 62 75 66 e're.on.the.same.char.in.the.buf
8ae0 66 65 72 20 74 68 61 74 20 77 65 20 77 65 72 65 0a 20 20 20 20 3b 3b 20 6f 6e 20 69 6e 20 74 68 fer.that.we.were.....;;.on.in.th
8b00 65 20 72 65 73 75 6c 74 73 20 62 75 66 66 65 72 2e 0a 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c e.results.buffer......(forward-l
8b20 69 6e 65 20 6c 69 6e 65 2d 6f 66 66 73 65 74 29 0a 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d ine.line-offset).....(beginning-
8b40 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 28 6c 65 74 20 28 28 74 61 72 67 65 74 2d 6f 66 66 73 65 of-line).....(let.((target-offse
8b60 74 20 28 2b 20 63 6f 6c 75 6d 6e 2d 6f 66 66 73 65 74 20 75 6e 69 6e 64 65 6e 74 29 29 0a 20 20 t.(+.column-offset.unindent))...
8b80 20 20 20 20 20 20 20 20 28 69 20 30 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 ........(i.0)).......(while.(<.i
8ba0 20 74 61 72 67 65 74 2d 6f 66 66 73 65 74 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 6c 6f 6f .target-offset).........(if.(loo
8bc0 6b 69 6e 67 2d 61 74 20 22 5c 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 69 6e king-at."\t").............(cl-in
8be0 63 66 20 69 20 74 61 62 2d 77 69 64 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 69 6e cf.i.tab-width)...........(cl-in
8c00 63 66 20 69 29 29 0a 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 cf.i)).........(forward-char.1))
8c20 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 76 69 73 69 74 2d 6d 61 74 )))..(defun.elisp-refs-visit-mat
8c40 63 68 20 28 29 0a 20 20 22 47 6f 74 6f 20 74 68 65 20 73 65 61 72 63 68 20 72 65 73 75 6c 74 20 ch.()..."Goto.the.search.result.
8c60 61 74 20 70 6f 69 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 65 6c at.point."...(interactive)...(el
8c80 69 73 70 2d 2d 72 65 66 73 2d 76 69 73 69 74 2d 6d 61 74 63 68 20 23 27 66 69 6e 64 2d 66 69 6c isp--refs-visit-match.#'find-fil
8ca0 65 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 76 69 73 69 74 2d 6d 61 74 e))..(defun.elisp-refs-visit-mat
8cc0 63 68 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 28 29 0a 20 20 22 47 6f 74 6f 20 74 68 65 20 73 ch-other-window.()..."Goto.the.s
8ce0 65 61 72 63 68 20 72 65 73 75 6c 74 20 61 74 20 70 6f 69 6e 74 2c 20 6f 70 65 6e 69 6e 67 20 69 earch.result.at.point,.opening.i
8d00 6e 20 61 6e 6f 74 68 65 72 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 n.another.window."...(interactiv
8d20 65 29 0a 20 20 28 65 6c 69 73 70 2d 2d 72 65 66 73 2d 76 69 73 69 74 2d 6d 61 74 63 68 20 23 27 e)...(elisp--refs-visit-match.#'
8d40 66 69 6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 29 29 0a 0a 0a 28 64 65 66 75 find-file-other-window))...(defu
8d60 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 2d 6d 6f 76 65 2d 74 6f 2d 6d 61 74 63 68 20 28 64 69 72 n.elisp-refs--move-to-match.(dir
8d80 65 63 74 69 6f 6e 29 0a 20 20 22 4d 6f 76 65 20 70 6f 69 6e 74 20 6f 6e 65 20 6d 61 74 63 68 20 ection)..."Move.point.one.match.
8da0 66 6f 72 77 61 72 64 73 2e 0a 49 66 20 44 49 52 45 43 54 49 4f 4e 20 69 73 20 2d 31 2c 20 6d 6f forwards..If.DIRECTION.is.-1,.mo
8dc0 76 65 73 20 62 61 63 6b 77 61 72 64 73 20 69 6e 73 74 65 61 64 2e 22 0a 20 20 28 6c 65 74 2a 20 ves.backwards.instead."...(let*.
8de0 28 28 73 74 61 72 74 2d 70 6f 73 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d ((start-pos.(point))..........(m
8e00 61 74 63 68 2d 70 6f 73 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 73 74 61 72 atch-pos.(get-text-property.star
8e20 74 2d 70 6f 73 20 27 65 6c 69 73 70 2d 72 65 66 73 2d 73 74 61 72 74 2d 70 6f 73 29 29 0a 20 20 t-pos.'elisp-refs-start-pos))...
8e40 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 2d 6d 61 74 63 68 2d 70 6f 73 29 0a 20 20 20 20 28 63 .......current-match-pos).....(c
8e60 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 65 72 72 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 ondition-case._err.........(prog
8e80 6e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4d 6f 76 65 20 66 6f 72 77 61 72 64 2f 62 61 63 6b n...........;;.Move.forward/back
8ea0 77 61 72 64 73 20 75 6e 74 69 6c 20 77 65 27 72 65 20 6f 6e 20 74 68 65 20 6e 65 78 74 2f 70 72 wards.until.we're.on.the.next/pr
8ec0 65 76 69 6f 75 73 20 6d 61 74 63 68 2e 0a 20 20 20 20 20 20 20 20 20 20 28 63 61 74 63 68 20 27 evious.match............(catch.'
8ee0 64 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 74 0a 20 20 20 20 20 20 done.............(while.t.......
8f00 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 75 72 72 65 6e 74 2d 6d 61 74 63 68 2d 70 6f 73 0a ........(setq.current-match-pos.
8f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 74 65 78 74 2d 70 72 ....................(get-text-pr
8f40 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 65 6c 69 73 70 2d 72 65 66 73 2d 73 74 61 72 74 operty.(point).'elisp-refs-start
8f60 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 -pos))...............(when.(and.
8f80 63 75 72 72 65 6e 74 2d 6d 61 74 63 68 2d 70 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 current-match-pos...............
8fa0 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 6d 61 74 63 68 2d 70 6f 73 ...........(not.(equal.match-pos
8fc0 20 63 75 72 72 65 6e 74 2d 6d 61 74 63 68 2d 70 6f 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .current-match-pos)))...........
8fe0 20 20 20 20 20 20 28 74 68 72 6f 77 20 27 64 6f 6e 65 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 ......(throw.'done.nil))........
9000 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 63 68 61 72 20 64 69 72 65 63 74 69 6f 6e 29 29 .......(forward-char.direction))
9020 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4d 6f 76 65 20 74 6f 20 74 68 65 20 62 65 67 69 6e )...........;;.Move.to.the.begin
9040 6e 69 6e 67 20 6f 66 20 74 68 61 74 20 6d 61 74 63 68 2e 0a 20 20 20 20 20 20 20 20 20 20 28 77 ning.of.that.match............(w
9060 68 69 6c 65 20 28 65 71 75 61 6c 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 hile.(equal.(get-text-property.(
9080 70 6f 69 6e 74 29 20 27 65 6c 69 73 70 2d 72 65 66 73 2d 73 74 61 72 74 2d 70 6f 73 29 0a 20 20 point).'elisp-refs-start-pos)...
90a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 74 65 78 74 2d ......................(get-text-
90c0 70 72 6f 70 65 72 74 79 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 20 27 65 6c 69 73 70 2d 72 65 66 property.(1-.(point)).'elisp-ref
90e0 73 2d 73 74 61 72 74 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 s-start-pos)).............(forwa
9100 72 64 2d 63 68 61 72 20 2d 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4d 6f 76 65 20 66 rd-char.-1))...........;;.Move.f
9120 6f 72 77 61 72 64 20 75 6e 74 69 6c 20 77 65 27 72 65 20 6f 6e 20 74 68 65 20 66 69 72 73 74 20 orward.until.we're.on.the.first.
9140 63 68 61 72 20 6f 66 20 6d 61 74 63 68 20 77 69 74 68 69 6e 20 74 68 61 74 0a 20 20 20 20 20 20 char.of.match.within.that.......
9160 20 20 20 20 3b 3b 20 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6f ....;;.line............(while.(o
9180 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 r...................(looking-at.
91a0 22 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 67 65 74 2d ".")...................(eq.(get-
91c0 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 29 0a 20 20 20 text-property.(point).'face)....
91e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f ...................'font-lock-co
9200 6d 6d 65 6e 74 2d 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 mment-face)).............(forwar
9220 64 2d 63 68 61 72 20 31 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 49 66 20 77 65 27 72 65 20 61 74 d-char.1))).......;;.If.we're.at
9240 20 74 68 65 20 6c 61 73 74 20 72 65 73 75 6c 74 2c 20 64 6f 6e 27 74 20 6d 6f 76 65 20 70 6f 69 .the.last.result,.don't.move.poi
9260 6e 74 2e 0a 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 nt........(end-of-buffer........
9280 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 73 74 61 72 74 (progn..........(goto-char.start
92a0 2d 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 65 6e 64 2d 6f 66 2d 62 -pos)..........(signal.'end-of-b
92c0 75 66 66 65 72 20 6e 69 6c 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 uffer.nil))))))..(defun.elisp-re
92e0 66 73 2d 70 72 65 76 2d 6d 61 74 63 68 20 28 29 0a 20 20 22 4d 6f 76 65 20 74 6f 20 74 68 65 20 fs-prev-match.()..."Move.to.the.
9300 70 72 65 76 69 6f 75 73 20 73 65 61 72 63 68 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 52 65 previous.search.result.in.the.Re
9320 66 73 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 65 fs.buffer."...(interactive)...(e
9340 6c 69 73 70 2d 72 65 66 73 2d 2d 6d 6f 76 65 2d 74 6f 2d 6d 61 74 63 68 20 2d 31 29 29 0a 0a 28 lisp-refs--move-to-match.-1))..(
9360 64 65 66 75 6e 20 65 6c 69 73 70 2d 72 65 66 73 2d 6e 65 78 74 2d 6d 61 74 63 68 20 28 29 0a 20 defun.elisp-refs-next-match.()..
9380 20 22 4d 6f 76 65 20 74 6f 20 74 68 65 20 6e 65 78 74 20 73 65 61 72 63 68 20 72 65 73 75 6c 74 ."Move.to.the.next.search.result
93a0 20 69 6e 20 74 68 65 20 52 65 66 73 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 .in.the.Refs.buffer."...(interac
93c0 74 69 76 65 29 0a 20 20 28 65 6c 69 73 70 2d 72 65 66 73 2d 2d 6d 6f 76 65 2d 74 6f 2d 6d 61 74 tive)...(elisp-refs--move-to-mat
93e0 63 68 20 31 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 6c 69 73 70 2d 72 65 66 73 29 0a 3b 3b ch.1))..(provide.'elisp-refs).;;
9400 3b 20 65 6c 69 73 70 2d 72 65 66 73 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 ;.elisp-refs.el.ends.here.......
9420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
94a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
94c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
94e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
95a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
95c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
95e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
96a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
96c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
96e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
98a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
98c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
98e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................